From 9b0762f1e9c9c8e29af1cfbd23b1eb2bac6ccf75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B1=E5=8D=9A=E4=BA=9E?= Date: Fri, 23 Jun 2023 18:25:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=87=BA=E7=89=88=E5=93=81?= =?UTF-8?q?=E6=A8=A1=E7=B5=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../publications/locale/ach/viewer.properties | 199 + .../publications/locale/af/viewer.properties | 176 + .../publications/locale/an/viewer.properties | 242 + .../publications/locale/ar/viewer.properties | 246 + .../publications/locale/ast/viewer.properties | 207 + .../publications/locale/az/viewer.properties | 242 + .../publications/locale/be/viewer.properties | 250 + .../publications/locale/bg/viewer.properties | 234 + .../publications/locale/bn/viewer.properties | 236 + .../publications/locale/bo/viewer.properties | 237 + .../publications/locale/br/viewer.properties | 246 + .../publications/locale/brx/viewer.properties | 204 + .../publications/locale/bs/viewer.properties | 193 + .../publications/locale/ca/viewer.properties | 250 + .../publications/locale/cak/viewer.properties | 248 + .../publications/locale/ckb/viewer.properties | 233 + .../publications/locale/cs/viewer.properties | 251 + .../publications/locale/cy/viewer.properties | 251 + .../publications/locale/da/viewer.properties | 250 + .../publications/locale/de/viewer.properties | 250 + .../publications/locale/dsb/viewer.properties | 251 + .../publications/locale/el/viewer.properties | 250 + .../locale/en-CA/viewer.properties | 250 + .../locale/en-GB/viewer.properties | 251 + .../locale/en-US/viewer.properties | 251 + .../publications/locale/eo/viewer.properties | 250 + .../locale/es-AR/viewer.properties | 251 + .../locale/es-CL/viewer.properties | 251 + .../locale/es-ES/viewer.properties | 250 + .../locale/es-MX/viewer.properties | 251 + .../publications/locale/et/viewer.properties | 250 + .../publications/locale/eu/viewer.properties | 250 + .../publications/locale/fa/viewer.properties | 215 + .../publications/locale/ff/viewer.properties | 234 + .../publications/locale/fi/viewer.properties | 250 + .../publications/locale/fr/viewer.properties | 250 + .../locale/fy-NL/viewer.properties | 251 + .../locale/ga-IE/viewer.properties | 201 + .../publications/locale/gd/viewer.properties | 248 + .../publications/locale/gl/viewer.properties | 248 + .../publications/locale/gn/viewer.properties | 250 + .../locale/gu-IN/viewer.properties | 234 + .../publications/locale/he/viewer.properties | 250 + .../locale/hi-IN/viewer.properties | 234 + .../publications/locale/hr/viewer.properties | 248 + .../publications/locale/hsb/viewer.properties | 251 + .../publications/locale/hu/viewer.properties | 251 + .../locale/hy-AM/viewer.properties | 238 + .../publications/locale/hye/viewer.properties | 250 + .../publications/locale/ia/viewer.properties | 251 + .../publications/locale/id/viewer.properties | 250 + .../publications/locale/is/viewer.properties | 251 + .../publications/locale/it/viewer.properties | 193 + .../publications/locale/ja/viewer.properties | 250 + .../publications/locale/ka/viewer.properties | 250 + .../publications/locale/kab/viewer.properties | 248 + .../publications/locale/kk/viewer.properties | 250 + .../publications/locale/km/viewer.properties | 209 + .../publications/locale/kn/viewer.properties | 186 + .../publications/locale/ko/viewer.properties | 251 + .../publications/locale/lij/viewer.properties | 234 + .../publications/locale/lo/viewer.properties | 145 + .../publications/locale/locale.properties | 327 + .../publications/locale/lt/viewer.properties | 250 + .../publications/locale/ltg/viewer.properties | 212 + .../publications/locale/lv/viewer.properties | 234 + .../publications/locale/meh/viewer.properties | 111 + .../publications/locale/mk/viewer.properties | 138 + .../publications/locale/mr/viewer.properties | 230 + .../publications/locale/ms/viewer.properties | 234 + .../publications/locale/my/viewer.properties | 190 + .../locale/nb-NO/viewer.properties | 250 + .../locale/ne-NP/viewer.properties | 217 + .../publications/locale/nl/viewer.properties | 251 + .../locale/nn-NO/viewer.properties | 250 + .../publications/locale/oc/viewer.properties | 250 + .../locale/pa-IN/viewer.properties | 250 + .../publications/locale/pl/viewer.properties | 250 + .../locale/pt-BR/viewer.properties | 250 + .../locale/pt-PT/viewer.properties | 251 + .../publications/locale/rm/viewer.properties | 250 + .../publications/locale/ro/viewer.properties | 240 + .../publications/locale/ru/viewer.properties | 250 + .../publications/locale/sat/viewer.properties | 197 + .../publications/locale/sc/viewer.properties | 119 + .../publications/locale/scn/viewer.properties | 101 + .../publications/locale/sco/viewer.properties | 248 + .../publications/locale/si/viewer.properties | 201 + .../publications/locale/sk/viewer.properties | 251 + .../publications/locale/sl/viewer.properties | 250 + .../publications/locale/son/viewer.properties | 172 + .../publications/locale/sq/viewer.properties | 244 + .../publications/locale/sr/viewer.properties | 250 + .../locale/sv-SE/viewer.properties | 251 + .../publications/locale/szl/viewer.properties | 244 + .../publications/locale/ta/viewer.properties | 193 + .../publications/locale/te/viewer.properties | 217 + .../publications/locale/tg/viewer.properties | 139 + .../publications/locale/th/viewer.properties | 250 + .../publications/locale/tl/viewer.properties | 242 + .../publications/locale/tr/viewer.properties | 250 + .../publications/locale/trs/viewer.properties | 206 + .../publications/locale/uk/viewer.properties | 251 + .../publications/locale/ur/viewer.properties | 238 + .../publications/locale/uz/viewer.properties | 162 + .../publications/locale/vi/viewer.properties | 250 + .../publications/locale/wo/viewer.properties | 122 + .../publications/locale/xh/viewer.properties | 176 + .../locale/zh-CN/viewer.properties | 251 + .../locale/zh-TW/viewer.properties | 251 + .../javascripts/publications/pdf-turn.js | 205 + .../publications/pdf/bcmaps/.gitattributes | 1 + .../publications/pdf/bcmaps/78-EUC-H.bcmap | Bin 0 -> 2404 bytes .../publications/pdf/bcmaps/78-EUC-V.bcmap | Bin 0 -> 173 bytes .../publications/pdf/bcmaps/78-H.bcmap | Bin 0 -> 2379 bytes .../publications/pdf/bcmaps/78-RKSJ-H.bcmap | Bin 0 -> 2398 bytes .../publications/pdf/bcmaps/78-RKSJ-V.bcmap | Bin 0 -> 173 bytes .../publications/pdf/bcmaps/78-V.bcmap | Bin 0 -> 169 bytes .../publications/pdf/bcmaps/78ms-RKSJ-H.bcmap | Bin 0 -> 2651 bytes .../publications/pdf/bcmaps/78ms-RKSJ-V.bcmap | Bin 0 -> 290 bytes .../publications/pdf/bcmaps/83pv-RKSJ-H.bcmap | Bin 0 -> 905 bytes .../publications/pdf/bcmaps/90ms-RKSJ-H.bcmap | Bin 0 -> 721 bytes .../publications/pdf/bcmaps/90ms-RKSJ-V.bcmap | Bin 0 -> 290 bytes .../pdf/bcmaps/90msp-RKSJ-H.bcmap | Bin 0 -> 715 bytes .../pdf/bcmaps/90msp-RKSJ-V.bcmap | Bin 0 -> 291 bytes .../publications/pdf/bcmaps/90pv-RKSJ-H.bcmap | Bin 0 -> 982 bytes .../publications/pdf/bcmaps/90pv-RKSJ-V.bcmap | Bin 0 -> 260 bytes .../publications/pdf/bcmaps/Add-H.bcmap | Bin 0 -> 2419 bytes .../publications/pdf/bcmaps/Add-RKSJ-H.bcmap | Bin 0 -> 2413 bytes .../publications/pdf/bcmaps/Add-RKSJ-V.bcmap | Bin 0 -> 287 bytes .../publications/pdf/bcmaps/Add-V.bcmap | Bin 0 -> 282 bytes .../pdf/bcmaps/Adobe-CNS1-0.bcmap | Bin 0 -> 317 bytes .../pdf/bcmaps/Adobe-CNS1-1.bcmap | Bin 0 -> 371 bytes .../pdf/bcmaps/Adobe-CNS1-2.bcmap | Bin 0 -> 376 bytes .../pdf/bcmaps/Adobe-CNS1-3.bcmap | Bin 0 -> 401 bytes .../pdf/bcmaps/Adobe-CNS1-4.bcmap | Bin 0 -> 405 bytes .../pdf/bcmaps/Adobe-CNS1-5.bcmap | Bin 0 -> 406 bytes .../pdf/bcmaps/Adobe-CNS1-6.bcmap | Bin 0 -> 406 bytes .../pdf/bcmaps/Adobe-CNS1-UCS2.bcmap | Bin 0 -> 41193 bytes .../publications/pdf/bcmaps/Adobe-GB1-0.bcmap | Bin 0 -> 217 bytes .../publications/pdf/bcmaps/Adobe-GB1-1.bcmap | Bin 0 -> 250 bytes .../publications/pdf/bcmaps/Adobe-GB1-2.bcmap | Bin 0 -> 465 bytes .../publications/pdf/bcmaps/Adobe-GB1-3.bcmap | Bin 0 -> 470 bytes .../publications/pdf/bcmaps/Adobe-GB1-4.bcmap | Bin 0 -> 601 bytes .../publications/pdf/bcmaps/Adobe-GB1-5.bcmap | Bin 0 -> 625 bytes .../pdf/bcmaps/Adobe-GB1-UCS2.bcmap | Bin 0 -> 33974 bytes .../pdf/bcmaps/Adobe-Japan1-0.bcmap | Bin 0 -> 225 bytes .../pdf/bcmaps/Adobe-Japan1-1.bcmap | Bin 0 -> 226 bytes .../pdf/bcmaps/Adobe-Japan1-2.bcmap | Bin 0 -> 233 bytes .../pdf/bcmaps/Adobe-Japan1-3.bcmap | Bin 0 -> 242 bytes .../pdf/bcmaps/Adobe-Japan1-4.bcmap | Bin 0 -> 337 bytes .../pdf/bcmaps/Adobe-Japan1-5.bcmap | Bin 0 -> 430 bytes .../pdf/bcmaps/Adobe-Japan1-6.bcmap | Bin 0 -> 485 bytes .../pdf/bcmaps/Adobe-Japan1-UCS2.bcmap | Bin 0 -> 40951 bytes .../pdf/bcmaps/Adobe-Korea1-0.bcmap | Bin 0 -> 241 bytes .../pdf/bcmaps/Adobe-Korea1-1.bcmap | Bin 0 -> 386 bytes .../pdf/bcmaps/Adobe-Korea1-2.bcmap | Bin 0 -> 391 bytes .../pdf/bcmaps/Adobe-Korea1-UCS2.bcmap | Bin 0 -> 23293 bytes .../publications/pdf/bcmaps/B5-H.bcmap | Bin 0 -> 1086 bytes .../publications/pdf/bcmaps/B5-V.bcmap | Bin 0 -> 142 bytes .../publications/pdf/bcmaps/B5pc-H.bcmap | Bin 0 -> 1099 bytes .../publications/pdf/bcmaps/B5pc-V.bcmap | Bin 0 -> 144 bytes .../publications/pdf/bcmaps/CNS-EUC-H.bcmap | Bin 0 -> 1780 bytes .../publications/pdf/bcmaps/CNS-EUC-V.bcmap | Bin 0 -> 1920 bytes .../publications/pdf/bcmaps/CNS1-H.bcmap | Bin 0 -> 706 bytes .../publications/pdf/bcmaps/CNS1-V.bcmap | Bin 0 -> 143 bytes .../publications/pdf/bcmaps/CNS2-H.bcmap | Bin 0 -> 504 bytes .../publications/pdf/bcmaps/CNS2-V.bcmap | 3 + .../publications/pdf/bcmaps/ETHK-B5-H.bcmap | Bin 0 -> 4426 bytes .../publications/pdf/bcmaps/ETHK-B5-V.bcmap | Bin 0 -> 158 bytes .../publications/pdf/bcmaps/ETen-B5-H.bcmap | Bin 0 -> 1125 bytes .../publications/pdf/bcmaps/ETen-B5-V.bcmap | Bin 0 -> 158 bytes .../publications/pdf/bcmaps/ETenms-B5-H.bcmap | 3 + .../publications/pdf/bcmaps/ETenms-B5-V.bcmap | Bin 0 -> 172 bytes .../publications/pdf/bcmaps/EUC-H.bcmap | Bin 0 -> 578 bytes .../publications/pdf/bcmaps/EUC-V.bcmap | Bin 0 -> 170 bytes .../publications/pdf/bcmaps/Ext-H.bcmap | Bin 0 -> 2536 bytes .../publications/pdf/bcmaps/Ext-RKSJ-H.bcmap | Bin 0 -> 2542 bytes .../publications/pdf/bcmaps/Ext-RKSJ-V.bcmap | Bin 0 -> 218 bytes .../publications/pdf/bcmaps/Ext-V.bcmap | Bin 0 -> 215 bytes .../publications/pdf/bcmaps/GB-EUC-H.bcmap | Bin 0 -> 549 bytes .../publications/pdf/bcmaps/GB-EUC-V.bcmap | Bin 0 -> 179 bytes .../publications/pdf/bcmaps/GB-H.bcmap | 4 + .../publications/pdf/bcmaps/GB-V.bcmap | Bin 0 -> 175 bytes .../publications/pdf/bcmaps/GBK-EUC-H.bcmap | Bin 0 -> 14692 bytes .../publications/pdf/bcmaps/GBK-EUC-V.bcmap | Bin 0 -> 180 bytes .../publications/pdf/bcmaps/GBK2K-H.bcmap | Bin 0 -> 19662 bytes .../publications/pdf/bcmaps/GBK2K-V.bcmap | Bin 0 -> 219 bytes .../publications/pdf/bcmaps/GBKp-EUC-H.bcmap | Bin 0 -> 14686 bytes .../publications/pdf/bcmaps/GBKp-EUC-V.bcmap | Bin 0 -> 181 bytes .../publications/pdf/bcmaps/GBT-EUC-H.bcmap | Bin 0 -> 7290 bytes .../publications/pdf/bcmaps/GBT-EUC-V.bcmap | Bin 0 -> 180 bytes .../publications/pdf/bcmaps/GBT-H.bcmap | Bin 0 -> 7269 bytes .../publications/pdf/bcmaps/GBT-V.bcmap | Bin 0 -> 176 bytes .../publications/pdf/bcmaps/GBTpc-EUC-H.bcmap | Bin 0 -> 7298 bytes .../publications/pdf/bcmaps/GBTpc-EUC-V.bcmap | Bin 0 -> 182 bytes .../publications/pdf/bcmaps/GBpc-EUC-H.bcmap | Bin 0 -> 557 bytes .../publications/pdf/bcmaps/GBpc-EUC-V.bcmap | Bin 0 -> 181 bytes .../publications/pdf/bcmaps/H.bcmap | Bin 0 -> 553 bytes .../publications/pdf/bcmaps/HKdla-B5-H.bcmap | Bin 0 -> 2654 bytes .../publications/pdf/bcmaps/HKdla-B5-V.bcmap | Bin 0 -> 148 bytes .../publications/pdf/bcmaps/HKdlb-B5-H.bcmap | Bin 0 -> 2414 bytes .../publications/pdf/bcmaps/HKdlb-B5-V.bcmap | Bin 0 -> 148 bytes .../publications/pdf/bcmaps/HKgccs-B5-H.bcmap | Bin 0 -> 2292 bytes .../publications/pdf/bcmaps/HKgccs-B5-V.bcmap | Bin 0 -> 149 bytes .../publications/pdf/bcmaps/HKm314-B5-H.bcmap | Bin 0 -> 1772 bytes .../publications/pdf/bcmaps/HKm314-B5-V.bcmap | Bin 0 -> 149 bytes .../publications/pdf/bcmaps/HKm471-B5-H.bcmap | Bin 0 -> 2171 bytes .../publications/pdf/bcmaps/HKm471-B5-V.bcmap | Bin 0 -> 149 bytes .../publications/pdf/bcmaps/HKscs-B5-H.bcmap | Bin 0 -> 4437 bytes .../publications/pdf/bcmaps/HKscs-B5-V.bcmap | Bin 0 -> 159 bytes .../publications/pdf/bcmaps/Hankaku.bcmap | Bin 0 -> 132 bytes .../publications/pdf/bcmaps/Hiragana.bcmap | Bin 0 -> 124 bytes .../publications/pdf/bcmaps/KSC-EUC-H.bcmap | Bin 0 -> 1848 bytes .../publications/pdf/bcmaps/KSC-EUC-V.bcmap | Bin 0 -> 164 bytes .../publications/pdf/bcmaps/KSC-H.bcmap | Bin 0 -> 1831 bytes .../publications/pdf/bcmaps/KSC-Johab-H.bcmap | Bin 0 -> 16791 bytes .../publications/pdf/bcmaps/KSC-Johab-V.bcmap | Bin 0 -> 166 bytes .../publications/pdf/bcmaps/KSC-V.bcmap | Bin 0 -> 160 bytes .../publications/pdf/bcmaps/KSCms-UHC-H.bcmap | Bin 0 -> 2787 bytes .../pdf/bcmaps/KSCms-UHC-HW-H.bcmap | Bin 0 -> 2789 bytes .../pdf/bcmaps/KSCms-UHC-HW-V.bcmap | Bin 0 -> 169 bytes .../publications/pdf/bcmaps/KSCms-UHC-V.bcmap | Bin 0 -> 166 bytes .../publications/pdf/bcmaps/KSCpc-EUC-H.bcmap | Bin 0 -> 2024 bytes .../publications/pdf/bcmaps/KSCpc-EUC-V.bcmap | Bin 0 -> 166 bytes .../publications/pdf/bcmaps/Katakana.bcmap | Bin 0 -> 100 bytes .../publications/pdf/bcmaps/LICENSE | 36 + .../publications/pdf/bcmaps/NWP-H.bcmap | Bin 0 -> 2765 bytes .../publications/pdf/bcmaps/NWP-V.bcmap | Bin 0 -> 252 bytes .../publications/pdf/bcmaps/RKSJ-H.bcmap | Bin 0 -> 534 bytes .../publications/pdf/bcmaps/RKSJ-V.bcmap | Bin 0 -> 170 bytes .../publications/pdf/bcmaps/Roman.bcmap | Bin 0 -> 96 bytes .../pdf/bcmaps/UniCNS-UCS2-H.bcmap | Bin 0 -> 48280 bytes .../pdf/bcmaps/UniCNS-UCS2-V.bcmap | Bin 0 -> 156 bytes .../pdf/bcmaps/UniCNS-UTF16-H.bcmap | Bin 0 -> 50419 bytes .../pdf/bcmaps/UniCNS-UTF16-V.bcmap | Bin 0 -> 156 bytes .../pdf/bcmaps/UniCNS-UTF32-H.bcmap | Bin 0 -> 52679 bytes .../pdf/bcmaps/UniCNS-UTF32-V.bcmap | Bin 0 -> 160 bytes .../pdf/bcmaps/UniCNS-UTF8-H.bcmap | Bin 0 -> 53629 bytes .../pdf/bcmaps/UniCNS-UTF8-V.bcmap | Bin 0 -> 157 bytes .../pdf/bcmaps/UniGB-UCS2-H.bcmap | Bin 0 -> 43366 bytes .../pdf/bcmaps/UniGB-UCS2-V.bcmap | Bin 0 -> 193 bytes .../pdf/bcmaps/UniGB-UTF16-H.bcmap | Bin 0 -> 44086 bytes .../pdf/bcmaps/UniGB-UTF16-V.bcmap | Bin 0 -> 178 bytes .../pdf/bcmaps/UniGB-UTF32-H.bcmap | Bin 0 -> 45738 bytes .../pdf/bcmaps/UniGB-UTF32-V.bcmap | Bin 0 -> 182 bytes .../pdf/bcmaps/UniGB-UTF8-H.bcmap | Bin 0 -> 46837 bytes .../pdf/bcmaps/UniGB-UTF8-V.bcmap | Bin 0 -> 181 bytes .../pdf/bcmaps/UniJIS-UCS2-H.bcmap | Bin 0 -> 25439 bytes .../pdf/bcmaps/UniJIS-UCS2-HW-H.bcmap | Bin 0 -> 119 bytes .../pdf/bcmaps/UniJIS-UCS2-HW-V.bcmap | Bin 0 -> 680 bytes .../pdf/bcmaps/UniJIS-UCS2-V.bcmap | Bin 0 -> 664 bytes .../pdf/bcmaps/UniJIS-UTF16-H.bcmap | Bin 0 -> 39443 bytes .../pdf/bcmaps/UniJIS-UTF16-V.bcmap | Bin 0 -> 643 bytes .../pdf/bcmaps/UniJIS-UTF32-H.bcmap | Bin 0 -> 40539 bytes .../pdf/bcmaps/UniJIS-UTF32-V.bcmap | Bin 0 -> 677 bytes .../pdf/bcmaps/UniJIS-UTF8-H.bcmap | Bin 0 -> 41695 bytes .../pdf/bcmaps/UniJIS-UTF8-V.bcmap | Bin 0 -> 678 bytes .../pdf/bcmaps/UniJIS2004-UTF16-H.bcmap | Bin 0 -> 39534 bytes .../pdf/bcmaps/UniJIS2004-UTF16-V.bcmap | Bin 0 -> 647 bytes .../pdf/bcmaps/UniJIS2004-UTF32-H.bcmap | Bin 0 -> 40630 bytes .../pdf/bcmaps/UniJIS2004-UTF32-V.bcmap | Bin 0 -> 681 bytes .../pdf/bcmaps/UniJIS2004-UTF8-H.bcmap | Bin 0 -> 41779 bytes .../pdf/bcmaps/UniJIS2004-UTF8-V.bcmap | Bin 0 -> 682 bytes .../pdf/bcmaps/UniJISPro-UCS2-HW-V.bcmap | Bin 0 -> 705 bytes .../pdf/bcmaps/UniJISPro-UCS2-V.bcmap | Bin 0 -> 689 bytes .../pdf/bcmaps/UniJISPro-UTF8-V.bcmap | Bin 0 -> 726 bytes .../pdf/bcmaps/UniJISX0213-UTF32-H.bcmap | Bin 0 -> 40517 bytes .../pdf/bcmaps/UniJISX0213-UTF32-V.bcmap | Bin 0 -> 684 bytes .../pdf/bcmaps/UniJISX02132004-UTF32-H.bcmap | Bin 0 -> 40608 bytes .../pdf/bcmaps/UniJISX02132004-UTF32-V.bcmap | Bin 0 -> 688 bytes .../pdf/bcmaps/UniKS-UCS2-H.bcmap | Bin 0 -> 25783 bytes .../pdf/bcmaps/UniKS-UCS2-V.bcmap | Bin 0 -> 178 bytes .../pdf/bcmaps/UniKS-UTF16-H.bcmap | Bin 0 -> 26327 bytes .../pdf/bcmaps/UniKS-UTF16-V.bcmap | Bin 0 -> 164 bytes .../pdf/bcmaps/UniKS-UTF32-H.bcmap | Bin 0 -> 26451 bytes .../pdf/bcmaps/UniKS-UTF32-V.bcmap | Bin 0 -> 168 bytes .../pdf/bcmaps/UniKS-UTF8-H.bcmap | Bin 0 -> 27790 bytes .../pdf/bcmaps/UniKS-UTF8-V.bcmap | Bin 0 -> 169 bytes .../publications/pdf/bcmaps/V.bcmap | Bin 0 -> 166 bytes .../publications/pdf/bcmaps/WP-Symbol.bcmap | Bin 0 -> 179 bytes .../pdf/compressed.tracemonkey-pldi-09.pdf | Bin 0 -> 1016315 bytes .../pdf/images/annotation-check.svg | 11 + .../pdf/images/annotation-comment.svg | 16 + .../pdf/images/annotation-help.svg | 26 + .../pdf/images/annotation-insert.svg | 10 + .../pdf/images/annotation-key.svg | 11 + .../pdf/images/annotation-newparagraph.svg | 11 + .../pdf/images/annotation-noicon.svg | 7 + .../pdf/images/annotation-note.svg | 42 + .../pdf/images/annotation-paragraph.svg | 16 + .../pdf/images/findbarButton-next-rtl.png | Bin 0 -> 199 bytes .../pdf/images/findbarButton-next-rtl@2x.png | Bin 0 -> 304 bytes .../pdf/images/findbarButton-next.png | Bin 0 -> 193 bytes .../pdf/images/findbarButton-next.svg | 4 + .../pdf/images/findbarButton-next@2x.png | Bin 0 -> 296 bytes .../pdf/images/findbarButton-previous-rtl.png | Bin 0 -> 193 bytes .../images/findbarButton-previous-rtl@2x.png | Bin 0 -> 296 bytes .../pdf/images/findbarButton-previous.png | Bin 0 -> 199 bytes .../pdf/images/findbarButton-previous.svg | 4 + .../pdf/images/findbarButton-previous@2x.png | Bin 0 -> 304 bytes .../publications/pdf/images/grab.cur | Bin 0 -> 326 bytes .../publications/pdf/images/grabbing.cur | Bin 0 -> 326 bytes .../publications/pdf/images/loading-dark.svg | 24 + .../publications/pdf/images/loading-icon.gif | Bin 0 -> 2545 bytes .../publications/pdf/images/loading-small.png | Bin 0 -> 7402 bytes .../pdf/images/loading-small@2x.png | Bin 0 -> 16131 bytes .../publications/pdf/images/loading.svg | 1 + ...ondaryToolbarButton-documentProperties.png | Bin 0 -> 403 bytes ...ondaryToolbarButton-documentProperties.svg | 15 + ...aryToolbarButton-documentProperties@2x.png | Bin 0 -> 933 bytes .../secondaryToolbarButton-firstPage.png | Bin 0 -> 179 bytes .../secondaryToolbarButton-firstPage.svg | 1 + .../secondaryToolbarButton-firstPage@2x.png | Bin 0 -> 266 bytes .../secondaryToolbarButton-handTool.png | Bin 0 -> 301 bytes .../secondaryToolbarButton-handTool.svg | 1 + .../secondaryToolbarButton-handTool@2x.png | Bin 0 -> 583 bytes .../secondaryToolbarButton-lastPage.png | Bin 0 -> 175 bytes .../secondaryToolbarButton-lastPage.svg | 1 + .../secondaryToolbarButton-lastPage@2x.png | Bin 0 -> 276 bytes .../secondaryToolbarButton-rotateCcw.png | Bin 0 -> 360 bytes .../secondaryToolbarButton-rotateCcw.svg | 1 + .../secondaryToolbarButton-rotateCcw@2x.png | Bin 0 -> 731 bytes .../secondaryToolbarButton-rotateCw.png | Bin 0 -> 359 bytes .../secondaryToolbarButton-rotateCw.svg | 4 + .../secondaryToolbarButton-rotateCw@2x.png | Bin 0 -> 714 bytes ...econdaryToolbarButton-scrollHorizontal.png | Bin 0 -> 218 bytes ...econdaryToolbarButton-scrollHorizontal.svg | 1 + ...ndaryToolbarButton-scrollHorizontal@2x.png | Bin 0 -> 332 bytes .../secondaryToolbarButton-scrollPage.svg | 1 + .../secondaryToolbarButton-scrollVertical.png | Bin 0 -> 228 bytes .../secondaryToolbarButton-scrollVertical.svg | 1 + ...condaryToolbarButton-scrollVertical@2x.png | Bin 0 -> 349 bytes .../secondaryToolbarButton-scrollWrapped.png | Bin 0 -> 297 bytes .../secondaryToolbarButton-scrollWrapped.svg | 1 + ...econdaryToolbarButton-scrollWrapped@2x.png | Bin 0 -> 490 bytes .../secondaryToolbarButton-selectTool.png | Bin 0 -> 461 bytes .../secondaryToolbarButton-selectTool.svg | 4 + .../secondaryToolbarButton-selectTool@2x.png | Bin 0 -> 1067 bytes .../secondaryToolbarButton-spreadEven.png | Bin 0 -> 347 bytes .../secondaryToolbarButton-spreadEven.svg | 1 + .../secondaryToolbarButton-spreadEven@2x.png | Bin 0 -> 694 bytes .../secondaryToolbarButton-spreadNone.png | Bin 0 -> 179 bytes .../secondaryToolbarButton-spreadNone.svg | 1 + .../secondaryToolbarButton-spreadNone@2x.png | Bin 0 -> 261 bytes .../secondaryToolbarButton-spreadOdd.png | Bin 0 -> 344 bytes .../secondaryToolbarButton-spreadOdd.svg | 1 + .../secondaryToolbarButton-spreadOdd@2x.png | Bin 0 -> 621 bytes .../publications/pdf/images/shadow.png | Bin 0 -> 269 bytes .../publications/pdf/images/texture.png | Bin 0 -> 2417 bytes .../pdf/images/toolbarButton-bookmark.png | Bin 0 -> 174 bytes .../pdf/images/toolbarButton-bookmark.svg | 1 + .../pdf/images/toolbarButton-bookmark@2x.png | Bin 0 -> 260 bytes .../toolbarButton-currentOutlineItem.svg | 1 + .../pdf/images/toolbarButton-download.png | Bin 0 -> 259 bytes .../pdf/images/toolbarButton-download.svg | 4 + .../pdf/images/toolbarButton-download@2x.png | Bin 0 -> 425 bytes .../pdf/images/toolbarButton-menuArrow.svg | 1 + .../pdf/images/toolbarButton-menuArrows.png | Bin 0 -> 107 bytes .../images/toolbarButton-menuArrows@2x.png | Bin 0 -> 152 bytes .../pdf/images/toolbarButton-openFile.png | Bin 0 -> 295 bytes .../pdf/images/toolbarButton-openFile.svg | 4 + .../pdf/images/toolbarButton-openFile@2x.png | Bin 0 -> 550 bytes .../pdf/images/toolbarButton-pageDown-rtl.png | Bin 0 -> 242 bytes .../images/toolbarButton-pageDown-rtl@2x.png | Bin 0 -> 398 bytes .../pdf/images/toolbarButton-pageDown.png | Bin 0 -> 238 bytes .../pdf/images/toolbarButton-pageDown.svg | 7 + .../pdf/images/toolbarButton-pageDown@2x.png | Bin 0 -> 396 bytes .../pdf/images/toolbarButton-pageUp-rtl.png | Bin 0 -> 245 bytes .../images/toolbarButton-pageUp-rtl@2x.png | Bin 0 -> 405 bytes .../pdf/images/toolbarButton-pageUp.png | Bin 0 -> 246 bytes .../pdf/images/toolbarButton-pageUp.svg | 12 + .../pdf/images/toolbarButton-pageUp@2x.png | Bin 0 -> 403 bytes .../images/toolbarButton-presentationMode.png | Bin 0 -> 321 bytes .../images/toolbarButton-presentationMode.svg | 1 + .../toolbarButton-presentationMode@2x.png | Bin 0 -> 586 bytes .../pdf/images/toolbarButton-print.png | Bin 0 -> 257 bytes .../pdf/images/toolbarButton-print.svg | 4 + .../pdf/images/toolbarButton-print@2x.png | Bin 0 -> 464 bytes .../pdf/images/toolbarButton-search.png | Bin 0 -> 309 bytes .../pdf/images/toolbarButton-search.svg | 4 + .../pdf/images/toolbarButton-search@2x.png | Bin 0 -> 653 bytes ...olbarButton-secondaryToolbarToggle-rtl.png | Bin 0 -> 246 bytes ...arButton-secondaryToolbarToggle-rtl@2x.png | Bin 0 -> 456 bytes .../toolbarButton-secondaryToolbarToggle.png | Bin 0 -> 243 bytes .../toolbarButton-secondaryToolbarToggle.svg | 4 + ...oolbarButton-secondaryToolbarToggle@2x.png | Bin 0 -> 458 bytes .../toolbarButton-sidebarToggle-rtl.png | Bin 0 -> 225 bytes .../toolbarButton-sidebarToggle-rtl@2x.png | Bin 0 -> 344 bytes .../images/toolbarButton-sidebarToggle.png | Bin 0 -> 225 bytes .../images/toolbarButton-sidebarToggle.svg | 4 + .../images/toolbarButton-sidebarToggle@2x.png | Bin 0 -> 331 bytes .../images/toolbarButton-viewAttachments.png | Bin 0 -> 384 bytes .../images/toolbarButton-viewAttachments.svg | 1 + .../toolbarButton-viewAttachments@2x.png | Bin 0 -> 859 bytes .../pdf/images/toolbarButton-viewLayers.svg | 1 + .../images/toolbarButton-viewOutline-rtl.png | Bin 0 -> 177 bytes .../toolbarButton-viewOutline-rtl@2x.png | Bin 0 -> 394 bytes .../pdf/images/toolbarButton-viewOutline.png | Bin 0 -> 178 bytes .../pdf/images/toolbarButton-viewOutline.svg | 1 + .../images/toolbarButton-viewOutline@2x.png | Bin 0 -> 331 bytes .../images/toolbarButton-viewThumbnail.png | Bin 0 -> 185 bytes .../images/toolbarButton-viewThumbnail.svg | 4 + .../images/toolbarButton-viewThumbnail@2x.png | Bin 0 -> 219 bytes .../pdf/images/toolbarButton-zoomIn.png | Bin 0 -> 136 bytes .../pdf/images/toolbarButton-zoomIn.svg | 4 + .../pdf/images/toolbarButton-zoomIn@2x.png | Bin 0 -> 160 bytes .../pdf/images/toolbarButton-zoomOut.png | Bin 0 -> 88 bytes .../pdf/images/toolbarButton-zoomOut.svg | 4 + .../pdf/images/toolbarButton-zoomOut@2x.png | Bin 0 -> 109 bytes .../pdf/images/treeitem-collapsed-rtl.png | Bin 0 -> 143 bytes .../pdf/images/treeitem-collapsed-rtl@2x.png | Bin 0 -> 167 bytes .../pdf/images/treeitem-collapsed.png | Bin 0 -> 128 bytes .../pdf/images/treeitem-collapsed.svg | 1 + .../pdf/images/treeitem-collapsed@2x.png | Bin 0 -> 149 bytes .../pdf/images/treeitem-expanded.png | Bin 0 -> 125 bytes .../pdf/images/treeitem-expanded.svg | 1 + .../pdf/images/treeitem-expanded@2x.png | Bin 0 -> 172 bytes .../javascripts/publications/pdf/pdf.js | 24493 ++++ .../javascripts/publications/pdf/pdf.js.map | 1 + .../publications/pdf/pdf.sandbox.js | 416 + .../publications/pdf/pdf.sandbox.js.map | 1 + .../publications/pdf/pdf.worker.js | 92163 ++++++++++++++++ .../publications/pdf/pdf.worker.js.map | 1 + .../pdf/standard_fonts/FoxitDingbats.pfb | Bin 0 -> 29513 bytes .../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 .../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 .../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 .../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 .../javascripts/publications/pdf/viewer.css | 2733 + .../javascripts/publications/pdf/viewer.js | 21327 ++++ .../publications/pdf/viewer.js.map | 1 + .../javascripts/publications/turn.min.js | 68 + .../publications/download_file.css | 30 + .../stylesheets/publications/pdf-turn.css | 21 + app/controllers/admin/chapters_controller.rb | 6 +- .../admin/publications_controller.rb | 13 +- app/controllers/publications_controller.rb | 261 +- app/models/chapter.rb | 15 +- app/models/chapter_file.rb | 30 + app/models/publication.rb | 15 + app/models/publication_file.rb | 30 + app/models/publication_link.rb | 26 + app/views/admin/chapters/_form.html.erb | 72 +- app/views/admin/publications/_form.html.erb | 73 + .../admin/publications/_form_file.html.erb | 50 + .../admin/publications/_form_link.html.erb | 37 + app/views/admin/publications/_index.html.erb | 6 +- .../admin/publications/_module_tag.html.erb | 7 + app/views/admin/publications/show.html.erb | 60 +- app/views/publications/_viewer.html.erb | 181 + app/views/publications/chapter.html.erb | 1 + app/views/publications/download_file.html.erb | 1 + app/views/publications/index.html.erb | 10 +- .../publications/online_read_chapter.html.erb | 2 + .../online_read_publication.html.erb | 2 + app/views/publications/show.html.erb | 11 +- config/locales/en.yml | 21 +- config/locales/zh_tw.yml | 21 +- lib/publications/engine.rb | 36 +- modules/publication/index.html.erb | 33 + modules/publication/info.json | 30 + .../publication/publications_index1.html.erb | 23 + .../publication/publications_index2.html.erb | 30 + .../publication/publications_index3.html.erb | 82 + .../show_chapter_accordion.html.erb | 57 + .../publication/show_chapter_table.html.erb | 26 + modules/publication/show_detail.html.erb | 34 + modules/publication/show_journal.html.erb | 83 + modules/publication/show_publication.html.erb | 42 + .../publication/show_search_fields.html.erb | 7 + .../thumbs/publications_index1_thumbs.png | Bin 0 -> 2130 bytes .../thumbs/publications_index2_thumbs.png | Bin 0 -> 2812 bytes .../thumbs/publications_index3_thumbs.png | Bin 0 -> 3379 bytes publications.gemspec | 17 +- 490 files changed, 168513 insertions(+), 188 deletions(-) create mode 100644 app/assets/javascripts/publications/locale/ach/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/af/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/an/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/ar/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/ast/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/az/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/be/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/bg/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/bn/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/bo/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/br/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/brx/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/bs/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/ca/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/cak/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/ckb/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/cs/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/cy/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/da/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/de/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/dsb/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/el/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/en-CA/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/en-GB/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/en-US/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/eo/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/es-AR/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/es-CL/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/es-ES/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/es-MX/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/et/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/eu/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/fa/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/ff/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/fi/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/fr/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/fy-NL/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/ga-IE/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/gd/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/gl/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/gn/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/gu-IN/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/he/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/hi-IN/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/hr/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/hsb/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/hu/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/hy-AM/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/hye/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/ia/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/id/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/is/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/it/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/ja/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/ka/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/kab/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/kk/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/km/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/kn/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/ko/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/lij/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/lo/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/locale.properties create mode 100644 app/assets/javascripts/publications/locale/lt/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/ltg/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/lv/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/meh/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/mk/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/mr/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/ms/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/my/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/nb-NO/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/ne-NP/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/nl/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/nn-NO/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/oc/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/pa-IN/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/pl/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/pt-BR/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/pt-PT/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/rm/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/ro/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/ru/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/sat/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/sc/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/scn/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/sco/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/si/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/sk/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/sl/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/son/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/sq/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/sr/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/sv-SE/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/szl/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/ta/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/te/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/tg/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/th/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/tl/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/tr/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/trs/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/uk/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/ur/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/uz/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/vi/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/wo/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/xh/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/zh-CN/viewer.properties create mode 100644 app/assets/javascripts/publications/locale/zh-TW/viewer.properties create mode 100644 app/assets/javascripts/publications/pdf-turn.js create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/.gitattributes create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/78-EUC-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/78-EUC-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/78-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/78-RKSJ-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/78-RKSJ-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/78-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/78ms-RKSJ-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/78ms-RKSJ-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/83pv-RKSJ-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/90ms-RKSJ-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/90ms-RKSJ-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/90msp-RKSJ-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/90msp-RKSJ-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/90pv-RKSJ-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/90pv-RKSJ-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Add-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Add-RKSJ-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Add-RKSJ-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Add-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-0.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-1.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-2.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-3.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-4.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-5.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-6.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-UCS2.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-0.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-1.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-2.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-3.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-4.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-5.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-UCS2.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-0.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-1.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-2.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-3.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-4.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-5.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-6.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-UCS2.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Adobe-Korea1-0.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Adobe-Korea1-1.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Adobe-Korea1-2.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Adobe-Korea1-UCS2.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/B5-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/B5-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/B5pc-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/B5pc-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/CNS-EUC-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/CNS-EUC-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/CNS1-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/CNS1-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/CNS2-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/CNS2-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/ETHK-B5-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/ETHK-B5-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/ETen-B5-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/ETen-B5-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/ETenms-B5-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/ETenms-B5-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/EUC-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/EUC-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Ext-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Ext-RKSJ-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Ext-RKSJ-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Ext-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/GB-EUC-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/GB-EUC-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/GB-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/GB-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/GBK-EUC-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/GBK-EUC-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/GBK2K-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/GBK2K-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/GBKp-EUC-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/GBKp-EUC-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/GBT-EUC-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/GBT-EUC-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/GBT-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/GBT-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/GBTpc-EUC-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/GBTpc-EUC-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/GBpc-EUC-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/GBpc-EUC-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/HKdla-B5-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/HKdla-B5-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/HKdlb-B5-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/HKdlb-B5-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/HKgccs-B5-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/HKgccs-B5-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/HKm314-B5-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/HKm314-B5-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/HKm471-B5-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/HKm471-B5-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/HKscs-B5-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/HKscs-B5-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Hankaku.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Hiragana.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/KSC-EUC-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/KSC-EUC-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/KSC-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/KSC-Johab-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/KSC-Johab-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/KSC-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/KSCms-UHC-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/KSCms-UHC-HW-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/KSCms-UHC-HW-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/KSCms-UHC-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/KSCpc-EUC-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/KSCpc-EUC-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Katakana.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/LICENSE create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/NWP-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/NWP-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/RKSJ-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/RKSJ-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/Roman.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UCS2-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UCS2-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UTF16-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UTF16-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UTF32-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UTF32-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UTF8-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UTF8-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniGB-UCS2-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniGB-UCS2-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF16-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF16-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF32-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF32-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF8-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF8-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UCS2-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UCS2-HW-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UCS2-HW-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UCS2-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF16-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF16-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF32-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF32-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF8-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF8-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF16-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF16-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF32-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF32-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF8-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF8-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniJISPro-UCS2-HW-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniJISPro-UCS2-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniJISPro-UTF8-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniJISX0213-UTF32-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniJISX0213-UTF32-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniJISX02132004-UTF32-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniJISX02132004-UTF32-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniKS-UCS2-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniKS-UCS2-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF16-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF16-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF32-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF32-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF8-H.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF8-V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/V.bcmap create mode 100644 app/assets/javascripts/publications/pdf/bcmaps/WP-Symbol.bcmap create mode 100644 app/assets/javascripts/publications/pdf/compressed.tracemonkey-pldi-09.pdf create mode 100644 app/assets/javascripts/publications/pdf/images/annotation-check.svg create mode 100644 app/assets/javascripts/publications/pdf/images/annotation-comment.svg create mode 100644 app/assets/javascripts/publications/pdf/images/annotation-help.svg create mode 100644 app/assets/javascripts/publications/pdf/images/annotation-insert.svg create mode 100644 app/assets/javascripts/publications/pdf/images/annotation-key.svg create mode 100644 app/assets/javascripts/publications/pdf/images/annotation-newparagraph.svg create mode 100644 app/assets/javascripts/publications/pdf/images/annotation-noicon.svg create mode 100644 app/assets/javascripts/publications/pdf/images/annotation-note.svg create mode 100644 app/assets/javascripts/publications/pdf/images/annotation-paragraph.svg create mode 100644 app/assets/javascripts/publications/pdf/images/findbarButton-next-rtl.png create mode 100644 app/assets/javascripts/publications/pdf/images/findbarButton-next-rtl@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/findbarButton-next.png create mode 100644 app/assets/javascripts/publications/pdf/images/findbarButton-next.svg create mode 100644 app/assets/javascripts/publications/pdf/images/findbarButton-next@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/findbarButton-previous-rtl.png create mode 100644 app/assets/javascripts/publications/pdf/images/findbarButton-previous-rtl@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/findbarButton-previous.png create mode 100644 app/assets/javascripts/publications/pdf/images/findbarButton-previous.svg create mode 100644 app/assets/javascripts/publications/pdf/images/findbarButton-previous@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/grab.cur create mode 100644 app/assets/javascripts/publications/pdf/images/grabbing.cur create mode 100644 app/assets/javascripts/publications/pdf/images/loading-dark.svg create mode 100644 app/assets/javascripts/publications/pdf/images/loading-icon.gif create mode 100644 app/assets/javascripts/publications/pdf/images/loading-small.png create mode 100644 app/assets/javascripts/publications/pdf/images/loading-small@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/loading.svg create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-documentProperties.png create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-documentProperties.svg create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-documentProperties@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-firstPage.png create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-firstPage.svg create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-firstPage@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-handTool.png create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-handTool.svg create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-handTool@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-lastPage.png create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-lastPage.svg create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-lastPage@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCcw.png create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCcw.svg create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCcw@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCw.png create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCw.svg create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCw@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollHorizontal.png create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollHorizontal.svg create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollHorizontal@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollPage.svg create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollVertical.png create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollVertical.svg create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollVertical@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollWrapped.png create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollWrapped.svg create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollWrapped@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-selectTool.png create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-selectTool.svg create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-selectTool@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadEven.png create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadEven.svg create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadEven@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadNone.png create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadNone.svg create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadNone@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadOdd.png create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadOdd.svg create mode 100644 app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadOdd@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/shadow.png create mode 100644 app/assets/javascripts/publications/pdf/images/texture.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-bookmark.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-bookmark.svg create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-bookmark@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-currentOutlineItem.svg create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-download.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-download.svg create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-download@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-menuArrow.svg create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-menuArrows.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-menuArrows@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-openFile.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-openFile.svg create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-openFile@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-pageDown-rtl.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-pageDown-rtl@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-pageDown.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-pageDown.svg create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-pageDown@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-pageUp-rtl.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-pageUp-rtl@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-pageUp.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-pageUp.svg create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-pageUp@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-presentationMode.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-presentationMode.svg create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-presentationMode@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-print.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-print.svg create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-print@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-search.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-search.svg create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-search@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-secondaryToolbarToggle-rtl.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-secondaryToolbarToggle-rtl@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-secondaryToolbarToggle.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-secondaryToolbarToggle.svg create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-secondaryToolbarToggle@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-sidebarToggle-rtl.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-sidebarToggle-rtl@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-sidebarToggle.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-sidebarToggle.svg create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-sidebarToggle@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-viewAttachments.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-viewAttachments.svg create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-viewAttachments@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-viewLayers.svg create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-viewOutline-rtl.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-viewOutline-rtl@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-viewOutline.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-viewOutline.svg create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-viewOutline@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-viewThumbnail.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-viewThumbnail.svg create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-viewThumbnail@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-zoomIn.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-zoomIn.svg create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-zoomIn@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-zoomOut.png create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-zoomOut.svg create mode 100644 app/assets/javascripts/publications/pdf/images/toolbarButton-zoomOut@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/treeitem-collapsed-rtl.png create mode 100644 app/assets/javascripts/publications/pdf/images/treeitem-collapsed-rtl@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/treeitem-collapsed.png create mode 100644 app/assets/javascripts/publications/pdf/images/treeitem-collapsed.svg create mode 100644 app/assets/javascripts/publications/pdf/images/treeitem-collapsed@2x.png create mode 100644 app/assets/javascripts/publications/pdf/images/treeitem-expanded.png create mode 100644 app/assets/javascripts/publications/pdf/images/treeitem-expanded.svg create mode 100644 app/assets/javascripts/publications/pdf/images/treeitem-expanded@2x.png create mode 100644 app/assets/javascripts/publications/pdf/pdf.js create mode 100644 app/assets/javascripts/publications/pdf/pdf.js.map create mode 100644 app/assets/javascripts/publications/pdf/pdf.sandbox.js create mode 100644 app/assets/javascripts/publications/pdf/pdf.sandbox.js.map create mode 100644 app/assets/javascripts/publications/pdf/pdf.worker.js create mode 100644 app/assets/javascripts/publications/pdf/pdf.worker.js.map create mode 100644 app/assets/javascripts/publications/pdf/standard_fonts/FoxitDingbats.pfb create mode 100644 app/assets/javascripts/publications/pdf/standard_fonts/FoxitFixed.pfb create mode 100644 app/assets/javascripts/publications/pdf/standard_fonts/FoxitFixedBold.pfb create mode 100644 app/assets/javascripts/publications/pdf/standard_fonts/FoxitFixedBoldItalic.pfb create mode 100644 app/assets/javascripts/publications/pdf/standard_fonts/FoxitFixedItalic.pfb create mode 100644 app/assets/javascripts/publications/pdf/standard_fonts/FoxitSans.pfb create mode 100644 app/assets/javascripts/publications/pdf/standard_fonts/FoxitSansBold.pfb create mode 100644 app/assets/javascripts/publications/pdf/standard_fonts/FoxitSansBoldItalic.pfb create mode 100644 app/assets/javascripts/publications/pdf/standard_fonts/FoxitSansItalic.pfb create mode 100644 app/assets/javascripts/publications/pdf/standard_fonts/FoxitSerif.pfb create mode 100644 app/assets/javascripts/publications/pdf/standard_fonts/FoxitSerifBold.pfb create mode 100644 app/assets/javascripts/publications/pdf/standard_fonts/FoxitSerifBoldItalic.pfb create mode 100644 app/assets/javascripts/publications/pdf/standard_fonts/FoxitSerifItalic.pfb create mode 100644 app/assets/javascripts/publications/pdf/standard_fonts/FoxitSymbol.pfb create mode 100644 app/assets/javascripts/publications/pdf/standard_fonts/LICENSE_FOXIT create mode 100644 app/assets/javascripts/publications/pdf/standard_fonts/LICENSE_LIBERATION create mode 100644 app/assets/javascripts/publications/pdf/standard_fonts/LiberationSans-Bold.ttf create mode 100644 app/assets/javascripts/publications/pdf/standard_fonts/LiberationSans-BoldItalic.ttf create mode 100644 app/assets/javascripts/publications/pdf/standard_fonts/LiberationSans-Italic.ttf create mode 100644 app/assets/javascripts/publications/pdf/standard_fonts/LiberationSans-Regular.ttf create mode 100644 app/assets/javascripts/publications/pdf/viewer.css create mode 100644 app/assets/javascripts/publications/pdf/viewer.js create mode 100644 app/assets/javascripts/publications/pdf/viewer.js.map create mode 100644 app/assets/javascripts/publications/turn.min.js create mode 100644 app/assets/stylesheets/publications/download_file.css create mode 100644 app/assets/stylesheets/publications/pdf-turn.css create mode 100644 app/models/chapter_file.rb create mode 100644 app/models/publication_file.rb create mode 100644 app/models/publication_link.rb create mode 100644 app/views/admin/publications/_form_file.html.erb create mode 100644 app/views/admin/publications/_form_link.html.erb create mode 100644 app/views/publications/_viewer.html.erb create mode 100644 app/views/publications/chapter.html.erb create mode 100644 app/views/publications/download_file.html.erb create mode 100644 app/views/publications/online_read_chapter.html.erb create mode 100644 app/views/publications/online_read_publication.html.erb create mode 100644 modules/publication/index.html.erb create mode 100644 modules/publication/info.json create mode 100644 modules/publication/publications_index1.html.erb create mode 100644 modules/publication/publications_index2.html.erb create mode 100644 modules/publication/publications_index3.html.erb create mode 100644 modules/publication/show_chapter_accordion.html.erb create mode 100644 modules/publication/show_chapter_table.html.erb create mode 100644 modules/publication/show_detail.html.erb create mode 100644 modules/publication/show_journal.html.erb create mode 100644 modules/publication/show_publication.html.erb create mode 100644 modules/publication/show_search_fields.html.erb create mode 100644 modules/publication/thumbs/publications_index1_thumbs.png create mode 100644 modules/publication/thumbs/publications_index2_thumbs.png create mode 100644 modules/publication/thumbs/publications_index3_thumbs.png diff --git a/app/assets/javascripts/publications/locale/ach/viewer.properties b/app/assets/javascripts/publications/locale/ach/viewer.properties new file mode 100644 index 0000000..3a74d76 --- /dev/null +++ b/app/assets/javascripts/publications/locale/ach/viewer.properties @@ -0,0 +1,199 @@ +# 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=Pot buk mukato +previous_label=Mukato +next.title=Pot buk malubo +next_label=Malubo + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Pot buk +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=pi {{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}} me {{pagesCount}}) + +zoom_out.title=Jwik Matidi +zoom_out_label=Jwik Matidi +zoom_in.title=Kwot Madit +zoom_in_label=Kwot Madit +zoom.title=Kwoti +presentation_mode.title=Lokke i kit me tyer +presentation_mode_label=Kit me tyer +open_file.title=Yab Pwail +open_file_label=Yab +print.title=Go +print_label=Go +download.title=Gam +download_label=Gam +bookmark.title=Neno ma kombedi (lok onyo yab i dirica manyen) +bookmark_label=Neno ma kombedi + +# Secondary toolbar and context menu +tools.title=Gintic +tools_label=Gintic +first_page.title=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 +page_rotate_cw.title=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 + +cursor_text_select_tool.title=Cak gitic me yero coc +cursor_text_select_tool_label=Gitic me yero coc +cursor_hand_tool.title=Cak gitic me cing +cursor_hand_tool_label=Gitic cing + + + +# Document properties dialog box +document_properties.title=Jami me gin acoya… +document_properties_label=Jami me gin acoya… +document_properties_file_name=Nying pwail: +document_properties_file_size=Dit pa pwail: +# 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=Wiye: +document_properties_author=Ngat mucoyo: +document_properties_subject=Subjek: +document_properties_keywords=Lok mapire tek: +document_properties_creation_date=Nino dwe me cwec: +document_properties_modification_date=Nino dwe me yub: +# 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=Lacwec: +document_properties_producer=Layub PDF: +document_properties_version=Kit PDF: +document_properties_page_count=Kwan me pot buk: +document_properties_page_size=Dit pa potbuk: +document_properties_page_size_unit_inches=i +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=atir +document_properties_page_size_orientation_landscape=arii +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Waraga +document_properties_page_size_name_legal=Cik +# 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=Eyo +document_properties_linearized_no=Pe +document_properties_close=Lor + +print_progress_message=Yubo coc me agoya… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Juki + +# 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=Lok gintic ma inget +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 +attachments.title=Nyut twec +attachments_label=Twec +thumbs.title=Nyut cal +thumbs_label=Cal +findbar.title=Nong iye gin acoya +findbar_label=Nong + +# 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=Pot buk {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Cal me pot buk {{page}} + +# Find panel button title and messages +find_input.title=Nong +find_input.placeholder=Nong i dokumen… +find_previous.title=Nong timme pa lok mukato +find_previous_label=Mukato +find_next.title=Nong timme pa lok malubo +find_next_label=Malubo +find_highlight=Wer weng +find_match_case_label=Lok marwate +find_reached_top=Oo iwi gin acoya, omede ki i tere +find_reached_bottom=Oo i agiki me gin acoya, omede ki iwiye +find_not_found=Lok pe ononge + +# Error panel labels +error_more_info=Ngec Mukene +error_less_info=Ngec Manok +error_close=Lor +# 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=Kwena: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Can kikore {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Pwail: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Rek: {{line}} +rendering_error=Bal otime i kare me nyuto pot buk. + +# Predefined zoom values +page_scale_width=Lac me iye pot buk +page_scale_fit=Porre me pot buk +page_scale_auto=Kwot pire kene +page_scale_actual=Dite kikome +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +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. +unexpected_response_error=Lagam mape kigeno pa lapok tic. + +# 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}} Lok angea manok] +password_label=Ket mung me donyo me yabo pwail me PDF man. +password_invalid=Mung me donyo pe atir. Tim ber i tem doki. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/af/viewer.properties b/app/assets/javascripts/publications/locale/af/viewer.properties new file mode 100644 index 0000000..9bd5476 --- /dev/null +++ b/app/assets/javascripts/publications/locale/af/viewer.properties @@ -0,0 +1,176 @@ +# 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=Vorige bladsy +previous_label=Vorige +next.title=Volgende bladsy +next_label=Volgende + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Bladsy +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=van {{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}} van {{pagesCount}}) + +zoom_out.title=Zoem uit +zoom_out_label=Zoem uit +zoom_in.title=Zoem in +zoom_in_label=Zoem in +zoom.title=Zoem +presentation_mode.title=Wissel na voorleggingsmodus +presentation_mode_label=Voorleggingsmodus +open_file.title=Open lêer +open_file_label=Open +print.title=Druk +print_label=Druk +download.title=Laai af +download_label=Laai af +bookmark.title=Huidige aansig (kopieer of open in nuwe venster) +bookmark_label=Huidige aansig + +# Secondary toolbar and context menu +tools.title=Nutsgoed +tools_label=Nutsgoed +first_page.title=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 +page_rotate_cw.title=Roteer kloksgewys +page_rotate_cw_label=Roteer kloksgewys +page_rotate_ccw.title=Roteer anti-kloksgewys +page_rotate_ccw_label=Roteer anti-kloksgewys + +cursor_text_select_tool.title=Aktiveer gereedskap om teks te merk +cursor_text_select_tool_label=Teksmerkgereedskap +cursor_hand_tool.title=Aktiveer handjie +cursor_hand_tool_label=Handjie + +# Document properties dialog box +document_properties.title=Dokumenteienskappe… +document_properties_label=Dokumenteienskappe… +document_properties_file_name=Lêernaam: +document_properties_file_size=Lêergrootte: +# 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}} kG ({{size_b}} grepe) +# 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}} MG ({{size_b}} grepe) +document_properties_title=Titel: +document_properties_author=Outeur: +document_properties_subject=Onderwerp: +document_properties_keywords=Sleutelwoorde: +document_properties_creation_date=Skeppingsdatum: +document_properties_modification_date=Wysigingsdatum: +# 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=Skepper: +document_properties_producer=PDF-vervaardiger: +document_properties_version=PDF-weergawe: +document_properties_page_count=Aantal bladsye: +document_properties_close=Sluit + +print_progress_message=Berei tans dokument voor om te druk… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Kanselleer + +# 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=Sypaneel aan/af +toggle_sidebar_label=Sypaneel aan/af +document_outline.title=Wys dokumentskema (dubbelklik om alle items oop/toe te vou) +document_outline_label=Dokumentoorsig +attachments.title=Wys aanhegsels +attachments_label=Aanhegsels +thumbs.title=Wys duimnaels +thumbs_label=Duimnaels +findbar.title=Soek in dokument +findbar_label=Vind + +# 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=Bladsy {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Duimnael van bladsy {{page}} + +# Find panel button title and messages +find_input.title=Vind +find_input.placeholder=Soek in dokument… +find_previous.title=Vind die vorige voorkoms van die frase +find_previous_label=Vorige +find_next.title=Vind die volgende voorkoms van die frase +find_next_label=Volgende +find_highlight=Verlig almal +find_match_case_label=Kassensitief +find_reached_top=Bokant van dokument is bereik; gaan voort van onder af +find_reached_bottom=Einde van dokument is bereik; gaan voort van bo af +find_not_found=Frase nie gevind nie + +# Error panel labels +error_more_info=Meer inligting +error_less_info=Minder inligting +error_close=Sluit +# 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}} (ID: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Boodskap: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stapel: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Lêer: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Lyn: {{line}} +rendering_error='n Fout het voorgekom toe die bladsy weergegee is. + +# Predefined zoom values +page_scale_width=Bladsywydte +page_scale_fit=Pas bladsy +page_scale_auto=Outomatiese zoem +page_scale_actual=Werklike grootte +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +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. +unexpected_response_error=Onverwagse antwoord van bediener. + +# 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}}-annotasie] +password_label=Gee die wagwoord om dié PDF-lêer mee te open. +password_invalid=Ongeldige wagwoord. Probeer gerus weer. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/an/viewer.properties b/app/assets/javascripts/publications/locale/an/viewer.properties new file mode 100644 index 0000000..16028f3 --- /dev/null +++ b/app/assets/javascripts/publications/locale/an/viewer.properties @@ -0,0 +1,242 @@ +# 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=Pachina anterior +previous_label=Anterior +next.title=Pachina siguient +next_label=Siguient + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Pachina +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=de {{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}} de {{pagesCount}}) + +zoom_out.title=Achiquir +zoom_out_label=Achiquir +zoom_in.title=Agrandir +zoom_in_label=Agrandir +zoom.title=Grandaria +presentation_mode.title=Cambear t'o modo de presentación +presentation_mode_label=Modo de presentación +open_file.title=Ubrir o fichero +open_file_label=Ubrir +print.title=Imprentar +print_label=Imprentar +download.title=Descargar +download_label=Descargar +bookmark.title=Vista actual (copiar u ubrir en una nueva finestra) +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 +last_page.title=Ir ta la zaguer pachina +last_page_label=Ir ta la zaguer pachina +page_rotate_cw.title=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 enta la zurda + +cursor_text_select_tool.title=Activar la ferramienta de selección de texto +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... +document_properties_file_name=Nombre de fichero: +document_properties_file_size=Grandaria d'o fichero: +# 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=Titol: +document_properties_author=Autor: +document_properties_subject=Afer: +document_properties_keywords=Parolas clau: +document_properties_creation_date=Calendata de creyación: +document_properties_modification_date=Calendata 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=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… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +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=Amostrar u amagar a barra lateral +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. +thumb_page_title=Pachina {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura d'a pachina {{page}} + +# Find panel button title and messages +find_input.title=Trobar +find_input.placeholder=Trobar en o documento… +find_previous.title=Trobar l'anterior coincidencia d'a frase +find_previous_label=Anterior +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 +error_more_info=Mas 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}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Mensache: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Pila: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Fichero: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Linia: {{line}} +rendering_error=Ha ocurriu una error en renderizar a pachina. + +# Predefined zoom values +page_scale_width=Amplaria d'a pachina +page_scale_fit=Achuste d'a pachina +page_scale_auto=Grandaria automatica +page_scale_actual=Grandaria actual +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +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). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Anotación {{type}}] +password_label=Introduzca a clau ta ubrir iste fichero PDF. +password_invalid=Clau invalida. Torna a intentar-lo. +password_ok=Acceptar +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. diff --git a/app/assets/javascripts/publications/locale/ar/viewer.properties b/app/assets/javascripts/publications/locale/ar/viewer.properties new file mode 100644 index 0000000..082816f --- /dev/null +++ b/app/assets/javascripts/publications/locale/ar/viewer.properties @@ -0,0 +1,246 @@ +# 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=التمرير الملتف + +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=ملم +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=مُصغّرات +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}} من أصل مطابقة واحدة +find_match_count[two]={{current}} من أصل مطابقتين +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]=فقط +find_match_count_limit[one]=أكثر من مطابقة واحدة +find_match_count_limit[two]=أكثر من مطابقتين +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 ن{{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=أدخل لكلمة السر لفتح هذا الملف. +password_invalid=كلمة سر خطأ. من فضلك أعد المحاولة. +password_ok=حسنا +password_cancel=ألغِ + +printing_not_supported=تحذير: لا يدعم هذا المتصفح الطباعة بشكل كامل. +printing_not_ready=تحذير: ملف PDF لم يُحمّل كاملًا للطباعة. +web_fonts_disabled=خطوط الوب مُعطّلة: تعذّر استخدام خطوط PDF المُضمّنة. diff --git a/app/assets/javascripts/publications/locale/ast/viewer.properties b/app/assets/javascripts/publications/locale/ast/viewer.properties new file mode 100644 index 0000000..1f8bb2e --- /dev/null +++ b/app/assets/javascripts/publications/locale/ast/viewer.properties @@ -0,0 +1,207 @@ +# 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áxina anterior +previous_label=Anterior +next.title=Páxina siguiente +next_label=Siguiente + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Páxina +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=de {{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}} de {{pagesCount}}) + +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=Baxar +download_label=Baxar +bookmark_label=Vista actual + +# Secondary toolbar and context menu +tools.title=Ferramientes +tools_label=Ferramientes +first_page_label=Dir a la primer páxina +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 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) +# 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=Títulu: +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_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): +# "{{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=Vista web rápida: +document_properties_linearized_yes=Sí +document_properties_linearized_no=Non +document_properties_close=Zarrar + +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +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=Alternar la barra llateral +attachments.title=Amosar los axuntos +attachments_label=Axuntos +layers_label=Capes +thumbs.title=Amosar les miniatures +thumbs_label=Miniatures +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. + +# Find panel button title and messages +find_previous_label=Anterior +find_next_label=Siguiente +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_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 +# 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}} (compilación: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Mensaxe: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Pila: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Ficheru: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Llinia: {{line}} + +# Predefined zoom values +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=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" +password_ok=Aceptar +password_cancel=Encaboxar + +# LOCALIZATION NOTE (unsupported_feature_signatures): Should contain the same +# exact string as in the `chrome.properties` file. + diff --git a/app/assets/javascripts/publications/locale/az/viewer.properties b/app/assets/javascripts/publications/locale/az/viewer.properties new file mode 100644 index 0000000..bdc0ce6 --- /dev/null +++ b/app/assets/javascripts/publications/locale/az/viewer.properties @@ -0,0 +1,242 @@ +# 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=Əvvəlki səhifə +previous_label=Əvvəlkini tap +next.title=Növbəti səhifə +next_label=İrəli + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Səhifə +# 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=Uzaqlaş +zoom_out_label=Uzaqlaş +zoom_in.title=Yaxınlaş +zoom_in_label=Yaxınlaş +zoom.title=Yaxınlaşdırma +presentation_mode.title=Təqdimat Rejiminə Keç +presentation_mode_label=Təqdimat Rejimi +open_file.title=Fayl Aç +open_file_label=Aç +print.title=Yazdır +print_label=Yazdır +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üş + +# Secondary toolbar and context menu +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 +last_page.title=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_ccw.title=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 +cursor_text_select_tool_label=Yazı seçmə aləti +cursor_hand_tool.title=Əl alətini aktivləşdir +cursor_hand_tool_label=Əl aləti + +scroll_vertical.title=Şaquli sürüşdürmə işlət +scroll_vertical_label=Şaquli sürüşdürmə +scroll_horizontal.title=Üfüqi sürüşdürmə işlət +scroll_horizontal_label=Üfüqi sürüşdürmə +scroll_wrapped.title=Bükülü sürüşdürmə işlət +scroll_wrapped_label=Bükülü sürüşdürmə + +spread_none.title=Yan-yana birləşdirilmiş səhifələri işlətmə +spread_none_label=Birləşdirmə +spread_odd.title=Yan-yana birləşdirilmiş səhifələri tək nömrəli səhifələrdən başlat +spread_odd_label=Tək nömrəli +spread_even.title=Yan-yana birləşdirilmiş səhifələri cüt nömrəli səhifələrdən başlat +spread_even_label=Cüt nömrəli + +# Document properties dialog box +document_properties.title=Sənəd xüsusiyyətləri… +document_properties_label=Sənəd xüsusiyyətləri… +document_properties_file_name=Fayl adı: +document_properties_file_size=Fayl ölçüsü: +# 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}} bayt) +# 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}} bayt) +document_properties_title=Başlık: +document_properties_author=Müəllif: +document_properties_subject=Mövzu: +document_properties_keywords=Açar sözlər: +document_properties_creation_date=Yaradılış Tarixi : +document_properties_modification_date=Dəyişdirilmə Tarixi : +# 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=Yaradan: +document_properties_producer=PDF yaradıcısı: +document_properties_version=PDF versiyası: +document_properties_page_count=Səhifə sayı: +document_properties_page_size=Səhifə Ölçüsü: +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=albom +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Məktub +document_properties_page_size_name_legal=Hüquqi +# 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 Web View: +document_properties_linearized_yes=Bəli +document_properties_linearized_no=Xeyr +document_properties_close=Qapat + +print_progress_message=Sənəd çap üçün hazırlanır… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Ləğv et + +# 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=Yan Paneli Aç/Bağla +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 + +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. +thumb_page_title=Səhifə{{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas={{page}} səhifəsinin kiçik vəziyyəti + +# Find panel button title and messages +find_input.title=Tap +find_input.placeholder=Sənəddə tap… +find_previous.title=Bir öncəki uyğun gələn sözü tapır +find_previous_label=Geri +find_next.title=Bir sonrakı uyğun gələn sözü tapır +find_next_label=İrəli +find_highlight=İşarələ +find_match_case_label=Böyük/kiçik hərfə həssaslıq +find_entire_word_label=Tam sözlər +find_reached_top=Sənədin yuxarısına çatdı, aşağıdan davam edir +find_reached_bottom=Sənədin sonuna çatdı, yuxarıdan davam edir +# 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}} uyğunluq +find_match_count[two]={{current}} / {{total}} uyğunluq +find_match_count[few]={{current}} / {{total}} uyğunluq +find_match_count[many]={{current}} / {{total}} uyğunluq +find_match_count[other]={{current}} / {{total}} uyğunluq +# 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}}-dan çox uyğunluq +find_match_count_limit[one]={{limit}}-dən çox uyğunluq +find_match_count_limit[two]={{limit}}-dən çox uyğunluq +find_match_count_limit[few]={{limit}} uyğunluqdan daha çox +find_match_count_limit[many]={{limit}} uyğunluqdan daha çox +find_match_count_limit[other]={{limit}} uyğunluqdan daha çox +find_not_found=Uyğunlaşma tapılmadı + +# Error panel labels +error_more_info=Daha çox məlumati +error_less_info=Daha az məlumat +error_close=Qapat +# 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}} (yığma: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=İsmarıc: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stek: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Fayl: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Sətir: {{line}} +rendering_error=Səhifə göstərilərkən səhv yarandı. + +# Predefined zoom values +page_scale_width=Səhifə genişliyi +page_scale_fit=Səhifəni sığdır +page_scale_auto=Avtomatik yaxınlaşdır +page_scale_actual=Hazırkı Həcm +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +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. +unexpected_response_error=Gözlənilməz server cavabı. + +# 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}} Annotasiyası] +password_label=Bu PDF faylı açmaq üçün parolu daxil edin. +password_invalid=Parol səhvdir. Bir daha yoxlayın. +password_ok=Tamam +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. diff --git a/app/assets/javascripts/publications/locale/be/viewer.properties b/app/assets/javascripts/publications/locale/be/viewer.properties new file mode 100644 index 0000000..ec3002c --- /dev/null +++ b/app/assets/javascripts/publications/locale/be/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}} +# 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=Выкарыстоўваць пракрутку старонкi +scroll_page_label=Пракрутка старонкi +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=мм +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=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=Хуткі прагляд у Інтэрнэце: +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 в{{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}} Annotation] +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/publications/locale/bg/viewer.properties b/app/assets/javascripts/publications/locale/bg/viewer.properties new file mode 100644 index 0000000..0ec7649 --- /dev/null +++ b/app/assets/javascripts/publications/locale/bg/viewer.properties @@ -0,0 +1,234 @@ +# 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=Мащабируемо плъзгане + +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=мм +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=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.title=Показване на структурата на документа (двукратно щракване за свиване/разгъване на всичко) +document_outline_label=Структура на документа +attachments.title=Показване на притурките +attachments_label=Притурки +thumbs.title=Показване на миниатюрите +thumbs_label=Миниатюри +findbar.title=Намиране в документа +findbar_label=Търсене + +# 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 {{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 (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/publications/locale/bn/viewer.properties b/app/assets/javascripts/publications/locale/bn/viewer.properties new file mode 100644 index 0000000..93f4c7b --- /dev/null +++ b/app/assets/javascripts/publications/locale/bn/viewer.properties @@ -0,0 +1,236 @@ +# 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=({{pagesCount}} এর {{pageNumber}}) + +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=Wrapped স্ক্রোলিং ব্যবহার করুন +scroll_wrapped_label=Wrapped স্ক্রোলিং + +spread_none.title=পেজ স্প্রেডগুলোতে যোগদান করবেন না +spread_none_label=Spreads নেই +spread_odd_label=বিজোড় Spreads +spread_even_label=জোড় Spreads + +# 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=পিডিএফ প্রস্তুতকারক: +document_properties_version=পিডিএফ সংষ্করণ: +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=Fast Web View: +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.title=নথির আউটলাইন দেখাও (সব আইটেম প্রসারিত/সঙ্কুচিত করতে ডবল ক্লিক করুন) +document_outline_label=নথির রূপরেখা +attachments.title=সংযুক্তি দেখাও +attachments_label=সংযুক্তি +thumbs.title=থাম্বনেইল সমূহ প্রদর্শন করুন +thumbs_label=থাম্বনেইল সমূহ +findbar.title=নথির মধ্যে খুঁজুন +findbar_label=খুঁজুন + +# 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]={{total}} এর {{current}} মিল +find_match_count[two]={{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(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: {{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=পিডিএফ লোড করার সময় ত্রুটি দেখা দিয়েছে। +invalid_file_error=অকার্যকর অথবা ক্ষতিগ্রস্ত পিডিএফ ফাইল। +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=পিডিএফ ফাইলটি ওপেন করতে পাসওয়ার্ড দিন। +password_invalid=ভুল পাসওয়ার্ড। অনুগ্রহ করে আবার চেষ্টা করুন। +password_ok=ঠিক আছে +password_cancel=বাতিল + +printing_not_supported=সতর্কতা: এই ব্রাউজারে মুদ্রণ সম্পূর্ণভাবে সমর্থিত নয়। +printing_not_ready=সতর্কীকরণ: পিডিএফটি মুদ্রণের জন্য সম্পূর্ণ লোড হয়নি। +web_fonts_disabled=ওয়েব ফন্ট নিষ্ক্রিয়: সংযুক্ত পিডিএফ ফন্ট ব্যবহার করা যাচ্ছে না। diff --git a/app/assets/javascripts/publications/locale/bo/viewer.properties b/app/assets/javascripts/publications/locale/bo/viewer.properties new file mode 100644 index 0000000..bba0490 --- /dev/null +++ b/app/assets/javascripts/publications/locale/bo/viewer.properties @@ -0,0 +1,237 @@ +# 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=of {{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}} of {{pagesCount}}) + +zoom_out.title=Zoom Out +zoom_out_label=Zoom Out +zoom_in.title=Zoom In +zoom_in_label=Zoom In +zoom.title=Zoom +presentation_mode.title=Switch to Presentation Mode +presentation_mode_label=Presentation Mode +open_file.title=Open File +open_file_label=Open +print.title=Print +print_label=Print +download.title=Download +download_label=Download +bookmark.title=Current view (copy or open in new window) +bookmark_label=Current View + +# Secondary toolbar and context menu +tools.title=Tools +tools_label=Tools +first_page.title=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 +page_rotate_cw.title=Rotate Clockwise +page_rotate_cw_label=Rotate 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_vertical.title=Use Vertical Scrolling +scroll_vertical_label=Vertical Scrolling +scroll_horizontal.title=Use Horizontal Scrolling +scroll_horizontal_label=Horizontal Scrolling +scroll_wrapped.title=Use Wrapped Scrolling +scroll_wrapped_label=Wrapped Scrolling + +spread_none.title=Do not join page spreads +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 + +# Document properties dialog box +document_properties.title=Document Properties… +document_properties_label=Document Properties… +document_properties_file_name=File name: +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=Subject: +document_properties_keywords=Keywords: +document_properties_creation_date=Creation Date: +document_properties_modification_date=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=Creator: +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_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 Web View: +document_properties_linearized_yes=Yes +document_properties_linearized_no=No +document_properties_close=Close + +print_progress_message=Preparing document for printing… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Cancel + +# 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_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=Show Thumbnails +thumbs_label=Thumbnails +findbar.title=Find in Document +findbar_label=Find + +# 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 of Page {{page}} + +# Find panel button title and messages +find_input.title=Find +find_input.placeholder=Find in document… +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_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 +# [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 +# 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=Phrase not found + +# Error panel labels +error_more_info=More Information +error_less_info=Less Information +error_close=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: {{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=An error occurred while rendering 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_error=An error occurred while loading the PDF. +invalid_file_error=Invalid or corrupted PDF file. +missing_file_error=Missing PDF file. +unexpected_response_error=Unexpected server response. + +# 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}} Annotation] +password_label=Enter the password to open this PDF file. +password_invalid=Invalid password. Please try again. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/br/viewer.properties b/app/assets/javascripts/publications/locale/br/viewer.properties new file mode 100644 index 0000000..c26ca68 --- /dev/null +++ b/app/assets/javascripts/publications/locale/br/viewer.properties @@ -0,0 +1,246 @@ +# 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=Pajenn a-raok +previous_label=A-raok +next.title=Pajenn war-lerc'h +next_label=War-lerc'h + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Pajenn +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=eus {{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}} war {{pagesCount}}) + +zoom_out.title=Zoum bihanaat +zoom_out_label=Zoum bihanaat +zoom_in.title=Zoum brasaat +zoom_in_label=Zoum brasaat +zoom.title=Zoum +presentation_mode.title=Trec'haoliñ etrezek ar mod kinnigadenn +presentation_mode_label=Mod kinnigadenn +open_file.title=Digeriñ ur restr +open_file_label=Digeriñ ur restr +print.title=Moullañ +print_label=Moullañ +download.title=Pellgargañ +download_label=Pellgargañ +bookmark.title=Gwel bremanel (eilañ pe zigeriñ e-barzh ur prenestr nevez) +bookmark_label=Gwel bremanel + +# Secondary toolbar and context menu +tools.title=Ostilhoù +tools_label=Ostilhoù +first_page.title=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ñ +page_rotate_cw.title=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 + +cursor_text_select_tool.title=Gweredekaat an ostilh diuzañ testenn +cursor_text_select_tool_label=Ostilh diuzañ testenn +cursor_hand_tool.title=Gweredekaat an ostilh dorn +cursor_hand_tool_label=Ostilh dorn + +scroll_vertical.title=Arverañ an dibunañ a-blom +scroll_vertical_label=Dibunañ a-serzh +scroll_horizontal.title=Arverañ an dibunañ a-blaen +scroll_horizontal_label=Dibunañ a-blaen +scroll_wrapped.title=Arverañ an dibunañ paket +scroll_wrapped_label=Dibunañ paket + +spread_none.title=Chom hep stagañ ar skignadurioù +spread_none_label=Skignadenn ebet +spread_odd.title=Lakaat ar pajennadoù en ur gregiñ gant ar pajennoù ampar +spread_odd_label=Pajennoù ampar +spread_even.title=Lakaat ar pajennadoù en ur gregiñ gant ar pajennoù par +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: +# 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ñ: +# 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_page_size=Ment ar bajenn: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=poltred +document_properties_page_size_orientation_landscape=gweledva +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Lizher +document_properties_page_size_name_legal=Lezennel +# 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=Gwel Web Herrek: +document_properties_linearized_yes=Ya +document_properties_linearized_no=Ket +document_properties_close=Serriñ + +print_progress_message=O prientiñ an teul evit moullañ... +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Nullañ + +# 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=Diskouez/kuzhat ar varrenn gostez +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. +thumb_page_title=Pajenn {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Melvenn ar bajenn {{page}} + +# Find panel button title and messages +find_input.title=Klask +find_input.placeholder=Klask e-barzh an teuliad +find_previous.title=Kavout an tamm frazenn kent o klotañ ganti +find_previous_label=Kent +find_next.title=Kavout an tamm frazenn war-lerc'h o klotañ ganti +find_next_label=War-lerc'h +find_highlight=Usskediñ pep tra +find_match_case_label=Teurel evezh ouzh ar pennlizherennoù +find_entire_word_label=Gerioù a-bezh +find_reached_top=Tizhet eo bet derou ar bajenn, kenderc'hel diouzh an diaz +find_reached_bottom=Tizhet eo bet dibenn ar bajenn, kenderc'hel diouzh ar c'hrec'h +# 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]=Klotadenn {{current}} war {{total}} +find_match_count[two]=Klotadenn {{current}} war {{total}} +find_match_count[few]=Klotadenn {{current}} war {{total}} +find_match_count[many]=Klotadenn {{current}} war {{total}} +find_match_count[other]=Klotadenn {{current}} war {{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]=Muioc'h eget {{limit}} a glotadennoù +find_match_count_limit[one]=Muioc'h eget {{limit}} a glotadennoù +find_match_count_limit[two]=Muioc'h eget {{limit}} a glotadennoù +find_match_count_limit[few]=Muioc'h eget {{limit}} a glotadennoù +find_match_count_limit[many]=Muioc'h eget {{limit}} a glotadennoù +find_match_count_limit[other]=Muioc'h eget {{limit}} a glotadennoù +find_not_found=N'haller ket kavout ar frazenn + +# Error panel labels +error_more_info=Muioc'h a ditouroù +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}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Kemennadenn: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Torn: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Restr: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Linenn: {{line}} +rendering_error=Degouezhet ez eus bet ur fazi e-pad skrammañ ar bajennad. + +# Predefined zoom values +page_scale_width=Led ar bajenn +page_scale_fit=Pajenn a-bezh +page_scale_auto=Zoum emgefreek +page_scale_actual=Ment wir +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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. +unexpected_response_error=Respont dic'hortoz a-berzh an dafariad + +# 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}} Notennañ] +password_label=Enankit ar ger-tremen evit digeriñ ar restr PDF-mañ. +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. diff --git a/app/assets/javascripts/publications/locale/brx/viewer.properties b/app/assets/javascripts/publications/locale/brx/viewer.properties new file mode 100644 index 0000000..3d1c92d --- /dev/null +++ b/app/assets/javascripts/publications/locale/brx/viewer.properties @@ -0,0 +1,204 @@ +# 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=({{pagesCount}} नि {{pageNumber}}) + +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=घरि गिदिंनाय उल्था फार्से फिदिं + + + + +# 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}} 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_unit_inches=in +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=लायजाम +# 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=बन्द खालाम + +# 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=नांजाब होनाय +thumbs.title=थामनेइलखौ दिन्थि +thumbs_label=थामनेइल +findbar.title=फोरमान बिलाइआव नागिरना दिहुन +findbar_label=नायगिरना दिहुन + +# 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_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_match_count_limit={[ plural(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=OK +password_cancel=नेवसि + +printing_not_supported=सांग्रांथि: साफायनाया बे ब्राउजारजों आबुङै हेफाजाब होजाया। +printing_not_ready=सांग्रांथि: PDF खौ साफायनायनि थाखाय फुरायै ल'ड खालामाखै। +web_fonts_disabled=वेब फन्टखौ लोरबां खालामबाय: अरजाबहोनाय PDF फन्टखौ बाहायनो हायाखै। diff --git a/app/assets/javascripts/publications/locale/bs/viewer.properties b/app/assets/javascripts/publications/locale/bs/viewer.properties new file mode 100644 index 0000000..ec115d0 --- /dev/null +++ b/app/assets/javascripts/publications/locale/bs/viewer.properties @@ -0,0 +1,193 @@ +# 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=Prethodna strana +previous_label=Prethodna +next.title=Sljedeća strna +next_label=Sljedeća + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Strana +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=od {{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}} od {{pagesCount}}) + +zoom_out.title=Umanji +zoom_out_label=Umanji +zoom_in.title=Uvećaj +zoom_in_label=Uvećaj +zoom.title=Uvećanje +presentation_mode.title=Prebaci se u prezentacijski režim +presentation_mode_label=Prezentacijski režim +open_file.title=Otvori fajl +open_file_label=Otvori +print.title=Štampaj +print_label=Štampaj +download.title=Preuzmi +download_label=Preuzmi +bookmark.title=Trenutni prikaz (kopiraj ili otvori u novom prozoru) +bookmark_label=Trenutni prikaz + +# Secondary toolbar and context menu +tools.title=Alati +tools_label=Alati +first_page.title=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 +page_rotate_cw.title=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 + +cursor_text_select_tool.title=Omogući alat za označavanje teksta +cursor_text_select_tool_label=Alat za označavanje teksta +cursor_hand_tool.title=Omogući ručni alat +cursor_hand_tool_label=Ručni alat + +# Document properties dialog box +document_properties.title=Svojstva dokumenta... +document_properties_label=Svojstva dokumenta... +document_properties_file_name=Naziv fajla: +document_properties_file_size=Veličina fajla: +# 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}} bajta) +# 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}} bajta) +document_properties_title=Naslov: +document_properties_author=Autor: +document_properties_subject=Predmet: +document_properties_keywords=Ključne riječi: +document_properties_creation_date=Datum kreiranja: +document_properties_modification_date=Datum promjene: +# 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=Kreator: +document_properties_producer=PDF stvaratelj: +document_properties_version=PDF verzija: +document_properties_page_count=Broj stranica: +document_properties_page_size=Veličina stranice: +document_properties_page_size_unit_inches=u +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=uspravno +document_properties_page_size_orientation_landscape=vodoravno +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Pismo +document_properties_page_size_name_legal=Pravni +# 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}}) +document_properties_close=Zatvori + +print_progress_message=Pripremam dokument za štampu… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Otkaži + +# 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=Uključi/isključi bočnu traku +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 +attachments.title=Prikaži priloge +attachments_label=Prilozi +thumbs.title=Prikaži thumbnailove +thumbs_label=Thumbnailovi +findbar.title=Pronađi u dokumentu +findbar_label=Pronađi + +# 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=Strana {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Thumbnail strane {{page}} + +# Find panel button title and messages +find_input.title=Pronađi +find_input.placeholder=Pronađi u dokumentu… +find_previous.title=Pronađi prethodno pojavljivanje fraze +find_previous_label=Prethodno +find_next.title=Pronađi sljedeće pojavljivanje fraze +find_next_label=Sljedeće +find_highlight=Označi sve +find_match_case_label=Osjetljivost na karaktere +find_reached_top=Dostigao sam vrh dokumenta, nastavljam sa dna +find_reached_bottom=Dostigao sam kraj dokumenta, nastavljam sa vrha +find_not_found=Fraza nije pronađena + +# Error panel labels +error_more_info=Više informacija +error_less_info=Manje informacija +error_close=Zatvori +# 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=Poruka: {{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=Fajl: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Linija: {{line}} +rendering_error=Došlo je do greške prilikom renderiranja strane. + +# Predefined zoom values +page_scale_width=Širina strane +page_scale_fit=Uklopi stranu +page_scale_auto=Automatsko uvećanje +page_scale_actual=Stvarna veličina +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +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. +unexpected_response_error=Neočekivani odgovor servera. + +# 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}} pribilješka] +password_label=Upišite lozinku da biste otvorili ovaj PDF fajl. +password_invalid=Pogrešna lozinka. Pokušajte ponovo. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/ca/viewer.properties b/app/assets/javascripts/publications/locale/ca/viewer.properties new file mode 100644 index 0000000..21e7dff --- /dev/null +++ b/app/assets/javascripts/publications/locale/ca/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=Pàgina anterior +previous_label=Anterior +next.title=Pàgina següent +next_label=Següent + +# 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. +of_pages=de {{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}} de {{pagesCount}}) + +zoom_out.title=Redueix +zoom_out_label=Redueix +zoom_in.title=Amplia +zoom_in_label=Amplia +zoom.title=Escala +presentation_mode.title=Canvia al mode de presentació +presentation_mode_label=Mode de presentació +open_file.title=Obre el fitxer +open_file_label=Obre +print.title=Imprimeix +print_label=Imprimeix +download.title=Baixa +download_label=Baixa +bookmark.title=Vista actual (copia o obre en una finestra nova) +bookmark_label=Vista actual + +# Secondary toolbar and context menu +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 +last_page.title=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_ccw.title=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 +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 +scroll_horizontal_label=Desplaçament horitzontal +scroll_wrapped.title=Activa el desplaçament continu +scroll_wrapped_label=Desplaçament continu + +spread_none.title=No agrupis les pàgines de dues en dues +spread_none_label=Una sola pàgina +spread_odd.title=Mostra dues pàgines començant per les pàgines de numeració senar +spread_odd_label=Doble pàgina (senar) +spread_even.title=Mostra dues pàgines començant per les pàgines de numeració parell +spread_even_label=Doble pàgina (parell) + +# Document properties dialog box +document_properties.title=Propietats del document… +document_properties_label=Propietats del document… +document_properties_file_name=Nom del fitxer: +document_properties_file_size=Mida del fitxer: +# 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=Títol: +document_properties_author=Autor: +document_properties_subject=Assumpte: +document_properties_keywords=Paraules clau: +document_properties_creation_date=Data de creació: +document_properties_modification_date=Data de modificació: +# 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=Generador de PDF: +document_properties_version=Versió de PDF: +document_properties_page_count=Nombre de pàgines: +document_properties_page_size=Mida de la pàgina: +document_properties_page_size_unit_inches=polzades +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=vertical +document_properties_page_size_orientation_landscape=apaïsat +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}} × {{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=Vista web ràpida: +document_properties_linearized_yes=Sí +document_properties_linearized_no=No +document_properties_close=Tanca + +print_progress_message=S'està preparant la impressió del document… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Cancel·la + +# 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=Mostra/amaga la barra lateral +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=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 + +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. +thumb_page_title=Pàgina {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura de la pàgina {{page}} + +# Find panel button title and messages +find_input.title=Cerca +find_input.placeholder=Cerca al document… +find_previous.title=Cerca l'anterior coincidència de l'expressió +find_previous_label=Anterior +find_next.title=Cerca la següent coincidència de l'expressió +find_next_label=Següent +find_highlight=Ressalta-ho tot +find_match_case_label=Distingeix entre majúscules i minúscules +find_entire_word_label=Paraules senceres +find_reached_top=S'ha arribat al principi del document, es continua pel final +find_reached_bottom=S'ha arribat al final del document, es continua pel principi +# 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}} coincidència +find_match_count[two]={{current}} de {{total}} coincidències +find_match_count[few]={{current}} de {{total}} coincidències +find_match_count[many]={{current}} de {{total}} coincidències +find_match_count[other]={{current}} de {{total}} coincidències +# 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]=Més de {{limit}} coincidències +find_match_count_limit[one]=Més d'{{limit}} coincidència +find_match_count_limit[two]=Més de {{limit}} coincidències +find_match_count_limit[few]=Més de {{limit}} coincidències +find_match_count_limit[many]=Més de {{limit}} coincidències +find_match_count_limit[other]=Més de {{limit}} coincidències +find_not_found=No s'ha trobat l'expressió + +# Error panel labels +error_more_info=Més informació +error_less_info=Menys informació +error_close=Tanca +# 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}} (muntatge: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Missatge: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Pila: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Fitxer: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +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=Amplada de la pàgina +page_scale_fit=Ajusta la pàgina +page_scale_auto=Zoom automàtic +page_scale_actual=Mida real +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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. +unexpected_response_error=Resposta inesperada del 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). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Anotació {{type}}] +password_label=Introduïu la contrasenya per obrir aquest fitxer PDF. +password_invalid=La contrasenya no és vàlida. Torneu-ho a provar. +password_ok=D'acord +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. diff --git a/app/assets/javascripts/publications/locale/cak/viewer.properties b/app/assets/javascripts/publications/locale/cak/viewer.properties new file mode 100644 index 0000000..1828641 --- /dev/null +++ b/app/assets/javascripts/publications/locale/cak/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=Jun kan ruxaq +previous_label=Jun kan +next.title=Jun chik ruxaq +next_label=Jun chik + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Ruxaq +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=richin {{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}} richin {{pagesCount}}) + +zoom_out.title=Tich'utinirisäx +zoom_out_label=Tich'utinirisäx +zoom_in.title=Tinimirisäx +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_label=Tijaq +print.title=Titz'ajb'äx +print_label=Titz'ajb'äx +download.title=Tiqasäx +download_label=Tiqasäx +bookmark.title=Rutz'etik wakami (tiwachib'ëx o tijaq pa jun k'ak'a' tzuwäch) +bookmark_label=Rutzub'al wakami + +# Secondary toolbar and context menu +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 +last_page.title=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_ccw.title=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 +cursor_text_select_tool_label=Rusamajib'al Rucha'ik Rucholajem Tzij +cursor_hand_tool.title=Titzij ri q'ab'aj samajib'äl +cursor_hand_tool_label=Q'ab'aj Samajib'äl + +scroll_vertical.title=Tokisäx Pa'äl Q'axanem +scroll_vertical_label=Pa'äl Q'axanem +scroll_horizontal.title=Tokisäx Kotz'öl Q'axanem +scroll_horizontal_label=Kotz'öl Q'axanem +scroll_wrapped.title=Tokisäx Tzub'aj Q'axanem +scroll_wrapped_label=Tzub'aj Q'axanem + +spread_none.title=Man ketun taq ruxaq pa rub'eyal wuj +spread_none_label=Majun Rub'eyal +spread_odd.title=Ke'atunu' ri taq ruxaq rik'in natikirisaj rik'in jun man k'ulaj ta rajilab'al +spread_odd_label=Man K'ulaj Ta Rub'eyal +spread_even.title=Ke'atunu' ri taq ruxaq rik'in natikirisaj rik'in jun k'ulaj rajilab'al +spread_even_label=K'ulaj Rub'eyal + +# Document properties dialog box +document_properties.title=Taq richinil wuj… +document_properties_label=Taq richinil wuj… +document_properties_file_name=Rub'i' yakb'äl: +document_properties_file_size=Runimilem yakb'äl: +# 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=B'i'aj: +document_properties_author=B'anel: +document_properties_subject=Taqikil: +document_properties_keywords=Kixe'el taq tzij: +document_properties_creation_date=Ruq'ijul xtz'uk: +document_properties_modification_date=Ruq'ijul xjalwachïx: +# 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=Q'inonel: +document_properties_producer=PDF b'anöy: +document_properties_version=PDF ruwäch: +document_properties_page_count=Jarupe' ruxaq: +document_properties_page_size=Runimilem ri Ruxaq: +document_properties_page_size_unit_inches=pa +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=rupalem +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=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. +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=Anin Rutz'etik Ajk'amaya'l: +document_properties_linearized_yes=Ja' +document_properties_linearized_no=Mani +document_properties_close=Titz'apïx + +print_progress_message=Ruchojmirisaxik wuj richin nitz'ajb'äx… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Tiq'at + +# 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=Tijal ri ajxikin kajtz'ik +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 + +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. +thumb_page_title=Ruxaq {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Ruch'utinirisaxik ruxaq {{page}} + +# Find panel button title and messages +find_input.title=Tikanöx +find_input.placeholder=Tikanöx pa wuj… +find_previous.title=Tib'an b'enam pa ri jun kan q'aptzij xilitäj +find_previous_label=Jun kan +find_next.title=Tib'e pa ri jun chik pajtzij xilitäj +find_next_label=Jun chik +find_highlight=Tiya' retal ronojel +find_match_case_label=Tuk'äm ri' kik'in taq nimatz'ib' chuqa' taq ch'utitz'ib' +find_entire_word_label=Tz'aqät taq tzij +find_reached_top=Xb'eq'i' ri rutikirib'al wuj, xtikanöx k'a pa ruk'isib'äl +find_reached_bottom=Xb'eq'i' ri ruk'isib'äl wuj, xtikanöx pa rutikirib'al +# 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}} richin {{total}} nuk'äm ri' +find_match_count[two]={{current}} richin {{total}} nikik'äm ki' +find_match_count[few]={{current}} richin {{total}} nikik'äm ki' +find_match_count[many]={{current}} richin {{total}} nikik'äm ki' +find_match_count[other]={{current}} richin {{total}} nikik'äm ki' +# 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]=K'ïy chi re {{limit}} nikik'äm ki' +find_match_count_limit[one]=K'ïy chi re {{limit}} nuk'äm ri' +find_match_count_limit[two]=K'ïy chi re {{limit}} nikik'äm ki' +find_match_count_limit[few]=K'ïy chi re {{limit}} nikik'äm ki' +find_match_count_limit[many]=K'ïy chi re {{limit}} nikik'äm ki' +find_match_count_limit[other]=K'ïy chi re {{limit}} nikik'äm ki' +find_not_found=Man xilitäj ta ri pajtzij + +# Error panel labels +error_more_info=Ch'aqa' chik rutzijol +error_less_info=Jub'a' ok rutzijol +error_close=Titz'apïx +# 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=Uqxa'n: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Tzub'aj: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Yakb'äl: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=B'ey: {{line}} +rendering_error=Xk'ulwachitäj jun sachoj toq ninuk'wachij ri ruxaq. + +# Predefined zoom values +page_scale_width=Ruwa ruxaq +page_scale_fit=Tinuk' ruxaq +page_scale_auto=Yonil chi nimilem +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=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. +unexpected_response_error=Man oyob'en ta tz'olin rutzij ruk'u'x samaj. + +# 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}} Tz'ib'anïk] +password_label=Tatz'ib'aj ri ewan tzij richin najäq re yakb'äl re' pa PDF. +password_invalid=Man okel ta ri ewan tzij: Tatojtob'ej chik. +password_ok=Ütz +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 diff --git a/app/assets/javascripts/publications/locale/ckb/viewer.properties b/app/assets/javascripts/publications/locale/ckb/viewer.properties new file mode 100644 index 0000000..b30cb76 --- /dev/null +++ b/app/assets/javascripts/publications/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/publications/locale/cs/viewer.properties b/app/assets/javascripts/publications/locale/cs/viewer.properties new file mode 100644 index 0000000..73bffe7 --- /dev/null +++ b/app/assets/javascripts/publications/locale/cs/viewer.properties @@ -0,0 +1,251 @@ +# 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řejde na předchozí stránku +previous_label=Předchozí +next.title=Přejde na následující stránku +next_label=Další + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Stránka +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=z {{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}} z {{pagesCount}}) + +zoom_out.title=Zmenší velikost +zoom_out_label=Zmenšit +zoom_in.title=Zvětší velikost +zoom_in_label=Zvětšit +zoom.title=Nastaví velikost +presentation_mode.title=Přepne do režimu prezentace +presentation_mode_label=Režim prezentace +open_file.title=Otevře soubor +open_file_label=Otevřít +print.title=Vytiskne dokument +print_label=Vytisknout +download.title=Stáhne dokument +download_label=Stáhnout +bookmark.title=Současný pohled (kopírovat nebo otevřít v novém okně) +bookmark_label=Současný pohled + +# Secondary toolbar and context menu +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 +last_page.title=Přejde 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_ccw.title=Otočí proti směru hodin +page_rotate_ccw_label=Otočit proti směru hodin + +cursor_text_select_tool.title=Povolí výběr textu +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í +scroll_horizontal_label=Vodorovné posouvání +scroll_wrapped.title=Použít postupné posouvání +scroll_wrapped_label=Postupné posouvání + +spread_none.title=Nesdružovat stránky +spread_none_label=Žádné sdružení +spread_odd.title=Sdruží stránky s umístěním lichých vlevo +spread_odd_label=Sdružení stránek (liché vlevo) +spread_even.title=Sdruží stránky s umístěním sudých vlevo +spread_even_label=Sdružení stránek (sudé vlevo) + +# Document properties dialog box +document_properties.title=Vlastnosti dokumentu… +document_properties_label=Vlastnosti dokumentu… +document_properties_file_name=Název souboru: +document_properties_file_size=Velikost souboru: +# 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}} bajtů) +# 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}} bajtů) +document_properties_title=Název stránky: +document_properties_author=Autor: +document_properties_subject=Předmět: +document_properties_keywords=Klíčová slova: +document_properties_creation_date=Datum vytvoření: +document_properties_modification_date=Datum úpravy: +# 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=Vytvořil: +document_properties_producer=Tvůrce PDF: +document_properties_version=Verze PDF: +document_properties_page_count=Počet stránek: +document_properties_page_size=Velikost stránky: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=na výšku +document_properties_page_size_orientation_landscape=na šířku +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Dopis +document_properties_page_size_name_legal=Právní dokument +# 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=Rychlé zobrazování z webu: +document_properties_linearized_yes=Ano +document_properties_linearized_no=Ne +document_properties_close=Zavřít + +print_progress_message=Příprava dokumentu pro tisk… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}} % +print_progress_close=Zrušit + +# 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=Postranní lišta +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 + +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. +thumb_page_title=Strana {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Náhled strany {{page}} + +# Find panel button title and messages +find_input.title=Najít +find_input.placeholder=Najít v dokumentu… +find_previous.title=Najde předchozí výskyt hledaného textu +find_previous_label=Předchozí +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 +# 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}}. z {{total}} výskytu +find_match_count[two]={{current}}. z {{total}} výskytů +find_match_count[few]={{current}}. z {{total}} výskytů +find_match_count[many]={{current}}. z {{total}} výskytů +find_match_count[other]={{current}}. z {{total}} výskytů +# 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]=Více než {{limit}} výskytů +find_match_count_limit[one]=Více než {{limit}} výskyt +find_match_count_limit[two]=Více než {{limit}} výskyty +find_match_count_limit[few]=Více než {{limit}} výskyty +find_match_count_limit[many]=Více než {{limit}} výskytů +find_match_count_limit[other]=Více než {{limit}} výskytů +find_not_found=Hledaný text nenalezen + +# Error panel labels +error_more_info=Více informací +error_less_info=Méně informací +error_close=Zavřít +# 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}} (sestavení: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Zpráva: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Zásobník: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Soubor: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Řádek: {{line}} +rendering_error=Při vykreslování stránky nastala chyba. + +# Predefined zoom values +page_scale_width=Podle šířky +page_scale_fit=Podle výšky +page_scale_auto=Automatická velikost +page_scale_actual=Skutečná velikost +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}} % + +# Loading indicator messages +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. +unexpected_response_error=Neočekávaná odpověď serveru. + +# 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=[Anotace typu {{type}}] +password_label=Pro otevření PDF souboru vložte heslo. +password_invalid=Neplatné heslo. Zkuste to znovu. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/cy/viewer.properties b/app/assets/javascripts/publications/locale/cy/viewer.properties new file mode 100644 index 0000000..9ede32a --- /dev/null +++ b/app/assets/javascripts/publications/locale/cy/viewer.properties @@ -0,0 +1,251 @@ +# 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=Tudalen Flaenorol +previous_label=Blaenorol +next.title=Tudalen Nesaf +next_label=Nesaf + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Tudalen +# 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=Chwyddo Allan +zoom_out_label=Chwyddo Allan +zoom_in.title=Chwyddo Mewn +zoom_in_label=Chwyddo Mewn +zoom.title=Chwyddo +presentation_mode.title=Newid i'r Modd Cyflwyno +presentation_mode_label=Modd Cyflwyno +open_file.title=Agor Ffeil +open_file_label=Agor +print.title=Argraffu +print_label=Argraffu +download.title=Llwyth +download_label=Llwytho i Lawr +bookmark.title=Golwg cyfredol (copïo neu agor ffenestr newydd) +bookmark_label=Golwg Gyfredol + +# Secondary toolbar and context menu +tools.title=Offer +tools_label=Offer +first_page.title=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 +page_rotate_cw.title=Cylchdroi Clocwedd +page_rotate_cw_label=Cylchdroi Clocwedd +page_rotate_ccw.title=Cylchdroi Gwrthglocwedd +page_rotate_ccw_label=Cylchdroi Gwrthglocwedd + +cursor_text_select_tool.title=Galluogi Dewis Offeryn Testun +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 Llorweddol +scroll_horizontal_label=Sgrolio Llorweddol +scroll_wrapped.title=Defnyddio Sgrolio Amlapio +scroll_wrapped_label=Sgrolio Amlapio + +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… +document_properties_label=Priodweddau Dogfen… +document_properties_file_name=Enw ffeil: +document_properties_file_size=Maint ffeil: +# 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}} beit) +# 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}} beit) +document_properties_title=Teitl: +document_properties_author=Awdur: +document_properties_subject=Pwnc: +document_properties_keywords=Allweddair: +document_properties_creation_date=Dyddiad Creu: +document_properties_modification_date=Dyddiad Addasu: +# 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=Crewr: +document_properties_producer=Cynhyrchydd PDF: +document_properties_version=Fersiwn PDF: +document_properties_page_count=Cyfrif Tudalen: +document_properties_page_size=Maint Tudalen: +document_properties_page_size_unit_inches=o fewn +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=portread +document_properties_page_size_orientation_landscape=tirlun +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Llythyr +document_properties_page_size_name_legal=Cyfreithiol +# 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=Golwg Gwe Cyflym: +document_properties_linearized_yes=Iawn +document_properties_linearized_no=Na +document_properties_close=Cau + +print_progress_message=Paratoi dogfen ar gyfer ei hargraffu… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Diddymu + +# 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=Toglo'r Bar Ochr +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 + +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. +thumb_page_title=Tudalen {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Llun Bach Tudalen {{page}} + +# Find panel button title and messages +find_input.title=Canfod +find_input.placeholder=Canfod yn y ddogfen… +find_previous.title=Canfod enghraifft flaenorol o'r ymadrodd +find_previous_label=Blaenorol +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 +# 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}} cydweddiad +find_match_count[two]={{current}} o {{total}} cydweddiad +find_match_count[few]={{current}} o {{total}} cydweddiad +find_match_count[many]={{current}} o {{total}} cydweddiad +find_match_count[other]={{current}} o {{total}} cydweddiad +# 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]=Mwy na {{limit}} cydweddiad +find_match_count_limit[one]=Mwy na {{limit}} cydweddiad +find_match_count_limit[two]=Mwy na {{limit}} cydweddiad +find_match_count_limit[few]=Mwy na {{limit}} cydweddiad +find_match_count_limit[many]=Mwy na {{limit}} cydweddiad +find_match_count_limit[other]=Mwy na {{limit}} cydweddiad +find_not_found=Heb ganfod ymadrodd + +# Error panel labels +error_more_info=Rhagor o Wybodaeth +error_less_info=Llai o wybodaeth +error_close=Cau +# 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=Neges: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stac: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Ffeil: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Llinell: {{line}} +rendering_error=Digwyddodd gwall wrth adeiladu'r dudalen. + +# Predefined zoom values +page_scale_width=Lled Tudalen +page_scale_fit=Ffit Tudalen +page_scale_auto=Chwyddo Awtomatig +page_scale_actual=Maint Gwirioneddol +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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. +unexpected_response_error=Ymateb annisgwyl gan y gweinydd. + +# 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=[Anodiad {{type}} ] +password_label=Rhowch gyfrinair i agor y PDF. +password_invalid=Cyfrinair annilys. Ceisiwch eto. +password_ok=Iawn +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. diff --git a/app/assets/javascripts/publications/locale/da/viewer.properties b/app/assets/javascripts/publications/locale/da/viewer.properties new file mode 100644 index 0000000..a67fedc --- /dev/null +++ b/app/assets/javascripts/publications/locale/da/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=Forrige side +previous_label=Forrige +next.title=Næste side +next_label=Næste + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +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=af {{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}} af {{pagesCount}}) + +zoom_out.title=Zoom ud +zoom_out_label=Zoom ud +zoom_in.title=Zoom ind +zoom_in_label=Zoom ind +zoom.title=Zoom +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) +bookmark_label=Aktuel visning + +# Secondary toolbar and context menu +tools.title=Funktioner +tools_label=Funktioner +first_page.title=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 +page_rotate_cw.title=Roter med uret +page_rotate_cw_label=Roter med uret +page_rotate_ccw.title=Roter mod uret +page_rotate_ccw_label=Roter mod uret + +cursor_text_select_tool.title=Aktiver markeringsværktøj +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 +scroll_horizontal_label=Horisontal scrolling +scroll_wrapped.title=Brug ombrudt scrolling +scroll_wrapped_label=Ombrudt scrolling + +spread_none.title=Vis enkeltsider +spread_none_label=Enkeltsider +spread_odd.title=Vis opslag med ulige sidenumre til venstre +spread_odd_label=Opslag med forside +spread_even.title=Vis opslag med lige sidenumre til venstre +spread_even_label=Opslag uden forside + +# Document properties dialog box +document_properties.title=Dokumentegenskaber… +document_properties_label=Dokumentegenskaber… +document_properties_file_name=Filnavn: +document_properties_file_size=Filstørrelse: +# 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=Titel: +document_properties_author=Forfatter: +document_properties_subject=Emne: +document_properties_keywords=Nøgleord: +document_properties_creation_date=Oprettet: +document_properties_modification_date=Redigeret: +# 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=Program: +document_properties_producer=PDF-producent: +document_properties_version=PDF-version: +document_properties_page_count=Antal sider: +document_properties_page_size=Sidestørrelse: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=stående +document_properties_page_size_orientation_landscape=liggende +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=Hurtig web-visning: +document_properties_linearized_yes=Ja +document_properties_linearized_no=Nej +document_properties_close=Luk + +print_progress_message=Forbereder dokument til udskrivning… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Annuller + +# 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=Slå sidepanel til eller fra +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 + +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. +thumb_page_title=Side {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniature af side {{page}} + +# Find panel button title and messages +find_input.title=Find +find_input.placeholder=Find i dokument… +find_previous.title=Find den forrige forekomst +find_previous_label=Forrige +find_next.title=Find den næste forekomst +find_next_label=Næste +find_highlight=Fremhæv alle +find_match_case_label=Forskel på store og små bogstaver +find_entire_word_label=Hele ord +find_reached_top=Toppen af siden blev nået, fortsatte fra bunden +find_reached_bottom=Bunden af siden blev nået, fortsatte fra toppen +# 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}} af {{total}} forekomst +find_match_count[two]={{current}} af {{total}} forekomster +find_match_count[few]={{current}} af {{total}} forekomster +find_match_count[many]={{current}} af {{total}} forekomster +find_match_count[other]={{current}} af {{total}} forekomster +# 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]=Mere end {{limit}} forekomster +find_match_count_limit[one]=Mere end {{limit}} forekomst +find_match_count_limit[two]=Mere end {{limit}} forekomster +find_match_count_limit[few]=Mere end {{limit}} forekomster +find_match_count_limit[many]=Mere end {{limit}} forekomster +find_match_count_limit[other]=Mere end {{limit}} forekomster +find_not_found=Der blev ikke fundet noget + +# Error panel labels +error_more_info=Mere information +error_less_info=Mindre information +error_close=Luk +# 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=Fejlmeddelelse: {{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=Fil: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Linje: {{line}} +rendering_error=Der opstod en fejl ved generering af siden. + +# Predefined zoom values +page_scale_width=Sidebredde +page_scale_fit=Tilpas til side +page_scale_auto=Automatisk zoom +page_scale_actual=Faktisk størrelse +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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. +unexpected_response_error=Uventet svar fra serveren. + +# 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}}kommentar] +password_label=Angiv adgangskode til at åbne denne PDF-fil. +password_invalid=Ugyldig adgangskode. Prøv igen. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/de/viewer.properties b/app/assets/javascripts/publications/locale/de/viewer.properties new file mode 100644 index 0000000..1cda13f --- /dev/null +++ b/app/assets/javascripts/publications/locale/de/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=Eine Seite zurück +previous_label=Zurück +next.title=Eine Seite vor +next_label=Vor + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Seite +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=von {{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}} von {{pagesCount}}) + +zoom_out.title=Verkleinern +zoom_out_label=Verkleinern +zoom_in.title=Vergrößern +zoom_in_label=Vergrößern +zoom.title=Zoom +presentation_mode.title=In Präsentationsmodus wechseln +presentation_mode_label=Präsentationsmodus +open_file.title=Datei öffnen +open_file_label=Öffnen +print.title=Drucken +print_label=Drucken +download.title=Dokument speichern +download_label=Speichern +bookmark.title=Aktuelle Ansicht (zum Kopieren oder Öffnen in einem neuen Fenster) +bookmark_label=Aktuelle Ansicht + +# Secondary toolbar and context menu +tools.title=Werkzeuge +tools_label=Werkzeuge +first_page.title=Erste Seite anzeigen +first_page_label=Erste Seite anzeigen +last_page.title=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_ccw.title=Gegen Uhrzeigersinn drehen +page_rotate_ccw_label=Gegen Uhrzeigersinn drehen + +cursor_text_select_tool.title=Textauswahl-Werkzeug aktivieren +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, abhängig vom Platz +scroll_wrapped_label=Kombinierte Seitenanordnung + +spread_none.title=Seiten nicht nebeneinander anzeigen +spread_none_label=Einzelne Seiten +spread_odd.title=Jeweils eine ungerade und eine gerade Seite nebeneinander anzeigen +spread_odd_label=Ungerade + gerade Seite +spread_even.title=Jeweils eine gerade und eine ungerade Seite nebeneinander anzeigen +spread_even_label=Gerade + ungerade Seite + +# Document properties dialog box +document_properties.title=Dokumenteigenschaften +document_properties_label=Dokumenteigenschaften… +document_properties_file_name=Dateiname: +document_properties_file_size=Dateigröße: +# 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=Titel: +document_properties_author=Autor: +document_properties_subject=Thema: +document_properties_keywords=Stichwörter: +document_properties_creation_date=Erstelldatum: +document_properties_modification_date=Bearbeitungsdatum: +# 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=Anwendung: +document_properties_producer=PDF erstellt mit: +document_properties_version=PDF-Version: +document_properties_page_count=Seitenzahl: +document_properties_page_size=Seitengröße: +document_properties_page_size_unit_inches=Zoll +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=Hochformat +document_properties_page_size_orientation_landscape=Querformat +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=Schnelle Webanzeige: +document_properties_linearized_yes=Ja +document_properties_linearized_no=Nein +document_properties_close=Schließen + +print_progress_message=Dokument wird für Drucken vorbereitet… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}} % +print_progress_close=Abbrechen + +# 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=Sidebar umschalten +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 + +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. +thumb_page_title=Seite {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniaturansicht von Seite {{page}} + +# Find panel button title and messages +find_input.title=Suchen +find_input.placeholder=Im Dokument suchen… +find_previous.title=Vorheriges Vorkommen des Suchbegriffs finden +find_previous_label=Zurück +find_next.title=Nächstes Vorkommen des Suchbegriffs finden +find_next_label=Weiter +find_highlight=Alle hervorheben +find_match_case_label=Groß-/Kleinschreibung beachten +find_entire_word_label=Ganze Wörter +find_reached_top=Anfang des Dokuments erreicht, fahre am Ende fort +find_reached_bottom=Ende des Dokuments erreicht, fahre am Anfang fort +# 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}} von {{total}} Übereinstimmung +find_match_count[two]={{current}} von {{total}} Übereinstimmungen +find_match_count[few]={{current}} von {{total}} Übereinstimmungen +find_match_count[many]={{current}} von {{total}} Übereinstimmungen +find_match_count[other]={{current}} von {{total}} Übereinstimmungen +# 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]=Mehr als {{limit}} Übereinstimmungen +find_match_count_limit[one]=Mehr als {{limit}} Übereinstimmung +find_match_count_limit[two]=Mehr als {{limit}} Übereinstimmungen +find_match_count_limit[few]=Mehr als {{limit}} Übereinstimmungen +find_match_count_limit[many]=Mehr als {{limit}} Übereinstimmungen +find_match_count_limit[other]=Mehr als {{limit}} Übereinstimmungen +find_not_found=Suchbegriff nicht gefunden + +# Error panel labels +error_more_info=Mehr Informationen +error_less_info=Weniger Informationen +error_close=Schließen +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js Version {{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Nachricht: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Aufrufliste: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Datei: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Zeile: {{line}} +rendering_error=Beim Darstellen der Seite trat ein Fehler auf. + +# Predefined zoom values +page_scale_width=Seitenbreite +page_scale_fit=Seitengröße +page_scale_auto=Automatischer Zoom +page_scale_actual=Originalgröße +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}} % + +# Loading indicator messages +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 +unexpected_response_error=Unerwartete Antwort des Servers + +# 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=[Anlage: {{type}}] +password_label=Geben Sie zum Öffnen der PDF-Datei deren Passwort ein. +password_invalid=Falsches Passwort. Bitte versuchen Sie es erneut. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/dsb/viewer.properties b/app/assets/javascripts/publications/locale/dsb/viewer.properties new file mode 100644 index 0000000..6eecd63 --- /dev/null +++ b/app/assets/javascripts/publications/locale/dsb/viewer.properties @@ -0,0 +1,251 @@ +# 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=Pjerwjejšny bok +previous_label=Slědk +next.title=Pśiducy bok +next_label=Dalej + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Bok +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=z {{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}} z {{pagesCount}}) + +zoom_out.title=Pómjeńšyś +zoom_out_label=Pómjeńšyś +zoom_in.title=Pówětšyś +zoom_in_label=Pówětšyś +zoom.title=Skalěrowanje +presentation_mode.title=Do prezentaciskego modusa pśejś +presentation_mode_label=Prezentaciski modus +open_file.title=Dataju wócyniś +open_file_label=Wócyniś +print.title=Śišćaś +print_label=Śišćaś +download.title=Ześěgnuś +download_label=Ześěgnuś +bookmark.title=Aktualny naglěd (kopěrowaś abo w nowem woknje wócyniś) +bookmark_label=Aktualny naglěd + +# Secondary toolbar and context menu +tools.title=Rědy +tools_label=Rědy +first_page.title=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 +page_rotate_cw.title=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 + +cursor_text_select_tool.title=Rěd za wuběranje teksta zmóžniś +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=Wertikalne suwanje +scroll_horizontal.title=Horicontalne suwanje wužywaś +scroll_horizontal_label=Horicontalne suwanje +scroll_wrapped.title=Pózlažke suwanje wužywaś +scroll_wrapped_label=Pózlažke suwanje + +spread_none.title=Boki njezwězaś +spread_none_label=Žeden dwójny bok +spread_odd.title=Boki zachopinajucy z njerownymi bokami zwězaś +spread_odd_label=Njerowne boki +spread_even.title=Boki zachopinajucy z rownymi bokami zwězaś +spread_even_label=Rowne boki + +# Document properties dialog box +document_properties.title=Dokumentowe kakosći… +document_properties_label=Dokumentowe kakosći… +document_properties_file_name=Mě dataje: +document_properties_file_size=Wjelikosć dataje: +# 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}} bajtow) +# 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}} bajtow) +document_properties_title=Titel: +document_properties_author=Awtor: +document_properties_subject=Tema: +document_properties_keywords=Klucowe słowa: +document_properties_creation_date=Datum napóranja: +document_properties_modification_date=Datum změny: +# 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=Awtor: +document_properties_producer=PDF-gótowaŕ: +document_properties_version=PDF-wersija: +document_properties_page_count=Licba bokow: +document_properties_page_size=Wjelikosć boka: +document_properties_page_size_unit_inches=col +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=wusoki format +document_properties_page_size_orientation_landscape=prěcny format +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 Web View: +document_properties_linearized_yes=Jo +document_properties_linearized_no=Ně +document_properties_close=Zacyniś + +print_progress_message=Dokument pśigótujo se za śišćanje… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Pśetergnuś + +# 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=Bócnicu pokazaś/schowaś +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ś + +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. +thumb_page_title=Bok {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura boka {{page}} + +# Find panel button title and messages +find_input.title=Pytaś +find_input.placeholder=W dokumenśe pytaś… +find_previous.title=Pjerwjejšne wustupowanje pytańskego wuraza pytaś +find_previous_label=Slědk +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 +# 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}} z {{total}} wótpowědnika +find_match_count[two]={{current}} z {{total}} wótpowědnikowu +find_match_count[few]={{current}} z {{total}} wótpowědnikow +find_match_count[many]={{current}} z {{total}} wótpowědnikow +find_match_count[other]={{current}} z {{total}} wótpowědnikow +# 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]=Wěcej ako {{limit}} wótpowědnikow +find_match_count_limit[one]=Wěcej ako {{limit}} wótpowědnik +find_match_count_limit[two]=Wěcej ako {{limit}} wótpowědnika +find_match_count_limit[few]=Wěcej ako {{limit}} wótpowědniki +find_match_count_limit[many]=Wěcej ako {{limit}} wótpowědnikow +find_match_count_limit[other]=Wěcej ako {{limit}} wótpowědnikow +find_not_found=Pytański wuraz njejo se namakał + +# Error panel labels +error_more_info=Wěcej informacijow +error_less_info=Mjenjej informacijow +error_close=Zacyniś +# 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=Powěźenka: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Lisćina zawołanjow: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Dataja: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Smužka: {{line}} +rendering_error=Pśi zwobraznjanju boka jo zmólka nastała. + +# Predefined zoom values +page_scale_width=Šyrokosć boka +page_scale_fit=Wjelikosć boka +page_scale_auto=Awtomatiske skalěrowanje +page_scale_actual=Aktualna wjelikosć +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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. +unexpected_response_error=Njewócakane serwerowe wótegrono. + +# 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=[Typ pśipiskow: {{type}}] +password_label=Zapódajśo gronidło, aby PDF-dataju wócynił. +password_invalid=Njepłaśiwe gronidło. Pšosym wopytajśo hyšći raz. +password_ok=W pórěźe +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ś. diff --git a/app/assets/javascripts/publications/locale/el/viewer.properties b/app/assets/javascripts/publications/locale/el/viewer.properties new file mode 100644 index 0000000..2525b3b --- /dev/null +++ b/app/assets/javascripts/publications/locale/el/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}} +# 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}} 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=Τίτλος: +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=Τύπου 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=OK +password_cancel=Ακύρωση + +printing_not_supported=Προειδοποίηση: Η εκτύπωση δεν υποστηρίζεται πλήρως από το πρόγραμμα περιήγησης. +printing_not_ready=Προειδοποίηση: Το PDF δεν φορτώθηκε πλήρως για εκτύπωση. +web_fonts_disabled=Οι γραμματοσειρές ιστού είναι ανενεργές: δεν είναι δυνατή η χρήση των ενσωματωμένων γραμματοσειρών PDF. diff --git a/app/assets/javascripts/publications/locale/en-CA/viewer.properties b/app/assets/javascripts/publications/locale/en-CA/viewer.properties new file mode 100644 index 0000000..08db294 --- /dev/null +++ b/app/assets/javascripts/publications/locale/en-CA/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 Page +previous_label=Previous +next.title=Next Page +next_label=Next + +# 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=of {{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}} of {{pagesCount}}) + +zoom_out.title=Zoom Out +zoom_out_label=Zoom Out +zoom_in.title=Zoom In +zoom_in_label=Zoom In +zoom.title=Zoom +presentation_mode.title=Switch to Presentation Mode +presentation_mode_label=Presentation Mode +open_file.title=Open File +open_file_label=Open +print.title=Print +print_label=Print +download.title=Download +download_label=Download +bookmark.title=Current view (copy or open in new window) +bookmark_label=Current View + +# Secondary toolbar and context menu +tools.title=Tools +tools_label=Tools +first_page.title=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 +page_rotate_cw.title=Rotate Clockwise +page_rotate_cw_label=Rotate 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 +scroll_horizontal_label=Horizontal Scrolling +scroll_wrapped.title=Use Wrapped Scrolling +scroll_wrapped_label=Wrapped Scrolling + +spread_none.title=Do not join page spreads +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 + +# Document properties dialog box +document_properties.title=Document Properties… +document_properties_label=Document Properties… +document_properties_file_name=File name: +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=Subject: +document_properties_keywords=Keywords: +document_properties_creation_date=Creation Date: +document_properties_modification_date=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=Creator: +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_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 Web View: +document_properties_linearized_yes=Yes +document_properties_linearized_no=No +document_properties_close=Close + +print_progress_message=Preparing document for printing… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Cancel + +# 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_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 + +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. +thumb_page_title=Page {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Thumbnail of Page {{page}} + +# Find panel button title and messages +find_input.title=Find +find_input.placeholder=Find in document… +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_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 +# [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 +# 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=Phrase not found + +# Error panel labels +error_more_info=More Information +error_less_info=Less Information +error_close=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: {{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=An error occurred while rendering 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=Loading… +loading_error=An error occurred while loading the PDF. +invalid_file_error=Invalid or corrupted PDF file. +missing_file_error=Missing PDF file. +unexpected_response_error=Unexpected server response. + +# 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=Enter the password to open this PDF file. +password_invalid=Invalid password. Please try again. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/en-GB/viewer.properties b/app/assets/javascripts/publications/locale/en-GB/viewer.properties new file mode 100644 index 0000000..2cfdda6 --- /dev/null +++ b/app/assets/javascripts/publications/locale/en-GB/viewer.properties @@ -0,0 +1,251 @@ +# 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 Page +previous_label=Previous +next.title=Next Page +next_label=Next + +# 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=of {{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}} of {{pagesCount}}) + +zoom_out.title=Zoom Out +zoom_out_label=Zoom Out +zoom_in.title=Zoom In +zoom_in_label=Zoom In +zoom.title=Zoom +presentation_mode.title=Switch to Presentation Mode +presentation_mode_label=Presentation Mode +open_file.title=Open File +open_file_label=Open +print.title=Print +print_label=Print +download.title=Download +download_label=Download +bookmark.title=Current view (copy or open in new window) +bookmark_label=Current View + +# Secondary toolbar and context menu +tools.title=Tools +tools_label=Tools +first_page.title=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 +page_rotate_cw.title=Rotate Clockwise +page_rotate_cw_label=Rotate Clockwise +page_rotate_ccw.title=Rotate Anti-Clockwise +page_rotate_ccw_label=Rotate Anti-Clockwise + +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 +scroll_horizontal_label=Horizontal Scrolling +scroll_wrapped.title=Use Wrapped Scrolling +scroll_wrapped_label=Wrapped Scrolling + +spread_none.title=Do not join page spreads +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 + +# Document properties dialog box +document_properties.title=Document Properties… +document_properties_label=Document Properties… +document_properties_file_name=File name: +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=Subject: +document_properties_keywords=Keywords: +document_properties_creation_date=Creation Date: +document_properties_modification_date=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=Creator: +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_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 Web View: +document_properties_linearized_yes=Yes +document_properties_linearized_no=No +document_properties_close=Close + +print_progress_message=Preparing document for printing… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Cancel + +# 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_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 + +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. +thumb_page_title=Page {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Thumbnail of Page {{page}} + +# Find panel button title and messages +find_input.title=Find +find_input.placeholder=Find in document… +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_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 +# [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 +# 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=Phrase not found + +# Error panel labels +error_more_info=More Information +error_less_info=Less Information +error_close=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: {{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=An error occurred while rendering 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=Loading… +loading_error=An error occurred while loading the PDF. +invalid_file_error=Invalid or corrupted PDF file. +missing_file_error=Missing PDF file. +unexpected_response_error=Unexpected server response. + +# 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=Enter the password to open this PDF file. +password_invalid=Invalid password. Please try again. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/en-US/viewer.properties b/app/assets/javascripts/publications/locale/en-US/viewer.properties new file mode 100644 index 0000000..2eb5a8d --- /dev/null +++ b/app/assets/javascripts/publications/locale/en-US/viewer.properties @@ -0,0 +1,251 @@ +# 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 Page +previous_label=Previous +next.title=Next Page +next_label=Next + +# 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=of {{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}} of {{pagesCount}}) + +zoom_out.title=Zoom Out +zoom_out_label=Zoom Out +zoom_in.title=Zoom In +zoom_in_label=Zoom In +zoom.title=Zoom +presentation_mode.title=Switch to Presentation Mode +presentation_mode_label=Presentation Mode +open_file.title=Open File +open_file_label=Open +print.title=Print +print_label=Print +download.title=Download +download_label=Download +bookmark.title=Current view (copy or open in new window) +bookmark_label=Current View + +# Secondary toolbar and context menu +tools.title=Tools +tools_label=Tools +first_page.title=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 +page_rotate_cw.title=Rotate Clockwise +page_rotate_cw_label=Rotate 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 +scroll_horizontal_label=Horizontal Scrolling +scroll_wrapped.title=Use Wrapped Scrolling +scroll_wrapped_label=Wrapped Scrolling + +spread_none.title=Do not join page spreads +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 + +# Document properties dialog box +document_properties.title=Document Properties… +document_properties_label=Document Properties… +document_properties_file_name=File name: +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=Subject: +document_properties_keywords=Keywords: +document_properties_creation_date=Creation Date: +document_properties_modification_date=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=Creator: +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_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 Web View: +document_properties_linearized_yes=Yes +document_properties_linearized_no=No +document_properties_close=Close + +print_progress_message=Preparing document for printing… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Cancel + +# 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_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 + +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. +thumb_page_title=Page {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Thumbnail of Page {{page}} + +# Find panel button title and messages +find_input.title=Find +find_input.placeholder=Find in document… +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_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 +# [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 +# 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=Phrase not found + +# Error panel labels +error_more_info=More Information +error_less_info=Less Information +error_close=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: {{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=An error occurred while rendering 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=Loading… +loading_error=An error occurred while loading the PDF. +invalid_file_error=Invalid or corrupted PDF file. +missing_file_error=Missing PDF file. +unexpected_response_error=Unexpected server response. + +# 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=Enter the password to open this PDF file. +password_invalid=Invalid password. Please try again. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/eo/viewer.properties b/app/assets/javascripts/publications/locale/eo/viewer.properties new file mode 100644 index 0000000..004307e --- /dev/null +++ b/app/assets/javascripts/publications/locale/eo/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=Antaŭa paĝo +previous_label=Malantaŭen +next.title=Venonta paĝo +next_label=Antaŭen + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Paĝo +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=el {{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}} el {{pagesCount}}) + +zoom_out.title=Malpligrandigi +zoom_out_label=Malpligrandigi +zoom_in.title=Pligrandigi +zoom_in_label=Pligrandigi +zoom.title=Pligrandigilo +presentation_mode.title=Iri al prezenta reĝimo +presentation_mode_label=Prezenta reĝimo +open_file.title=Malfermi dosieron +open_file_label=Malfermi +print.title=Presi +print_label=Presi +download.title=Elŝuti +download_label=Elŝuti +bookmark.title=Nuna vido (kopii aŭ malfermi en nova fenestro) +bookmark_label=Nuna vido + +# Secondary toolbar and context menu +tools.title=Iloj +tools_label=Iloj +first_page.title=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 +page_rotate_cw.title=Rotaciigi dekstrume +page_rotate_cw_label=Rotaciigi dekstrume +page_rotate_ccw.title=Rotaciigi maldekstrume +page_rotate_ccw_label=Rotaciigi maldekstrume + +cursor_text_select_tool.title=Aktivigi tekstan elektilon +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 +scroll_horizontal_label=Horizontala ŝovado +scroll_wrapped.title=Uzi ambaŭdirektan ŝovadon +scroll_wrapped_label=Ambaŭdirekta ŝovado + +spread_none.title=Ne montri paĝojn po du +spread_none_label=Unupaĝa vido +spread_odd.title=Kunigi paĝojn komencante per nepara paĝo +spread_odd_label=Po du paĝoj, neparaj maldekstre +spread_even.title=Kunigi paĝojn komencante per para paĝo +spread_even_label=Po du paĝoj, paraj maldekstre + +# Document properties dialog box +document_properties.title=Atributoj de dokumento… +document_properties_label=Atributoj de dokumento… +document_properties_file_name=Nomo de dosiero: +document_properties_file_size=Grando de dosiero: +# 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}} KO ({{size_b}} oktetoj) +# 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}} MO ({{size_b}} oktetoj) +document_properties_title=Titolo: +document_properties_author=Aŭtoro: +document_properties_subject=Temo: +document_properties_keywords=Ŝlosilvorto: +document_properties_creation_date=Dato de kreado: +document_properties_modification_date=Dato de modifo: +# 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=Kreinto: +document_properties_producer=Produktinto de PDF: +document_properties_version=Versio de PDF: +document_properties_page_count=Nombro de paĝoj: +document_properties_page_size=Grando de paĝo: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=vertikala +document_properties_page_size_orientation_landscape=horizontala +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letera +document_properties_page_size_name_legal=Jura +# 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=Rapida tekstaĵa vido: +document_properties_linearized_yes=Jes +document_properties_linearized_no=Ne +document_properties_close=Fermi + +print_progress_message=Preparo de dokumento por presi ĝin … +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Nuligi + +# 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=Montri/kaŝi flankan strion +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 + +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. +thumb_page_title=Paĝo {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniaturo de paĝo {{page}} + +# Find panel button title and messages +find_input.title=Serĉi +find_input.placeholder=Serĉi en dokumento… +find_previous.title=Serĉi la antaŭan aperon de la frazo +find_previous_label=Malantaŭen +find_next.title=Serĉi la venontan aperon de la frazo +find_next_label=Antaŭen +find_highlight=Elstarigi ĉiujn +find_match_case_label=Distingi inter majuskloj kaj minuskloj +find_entire_word_label=Tutaj vortoj +find_reached_top=Komenco de la dokumento atingita, daŭrigado ekde la fino +find_reached_bottom=Fino de la dokumento atingita, daŭrigado ekde la komenco +# 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}} el {{total}} kongruo +find_match_count[two]={{current}} el {{total}} kongruoj +find_match_count[few]={{current}} el {{total}} kongruoj +find_match_count[many]={{current}} el {{total}} kongruoj +find_match_count[other]={{current}} el {{total}} kongruoj +# 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]=Pli ol {{limit}} kongruoj +find_match_count_limit[one]=Pli ol {{limit}} kongruo +find_match_count_limit[two]=Pli ol {{limit}} kongruoj +find_match_count_limit[few]=Pli ol {{limit}} kongruoj +find_match_count_limit[many]=Pli ol {{limit}} kongruoj +find_match_count_limit[other]=Pli ol {{limit}} kongruoj +find_not_found=Frazo ne trovita + +# Error panel labels +error_more_info=Pli da informo +error_less_info=Malpli da informo +error_close=Fermi +# 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=Mesaĝo: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stako: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Dosiero: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Linio: {{line}} +rendering_error=Okazis eraro dum la montro de la paĝo. + +# Predefined zoom values +page_scale_width=Larĝo de paĝo +page_scale_fit=Adapti paĝon +page_scale_auto=Aŭtomata skalo +page_scale_actual=Reala grando +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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. +unexpected_response_error=Neatendita respondo de servilo. + +# 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=[Prinoto: {{type}}] +password_label=Tajpu pasvorton por malfermi tiun ĉi dosieron PDF. +password_invalid=Nevalida pasvorto. Bonvolu provi denove. +password_ok=Akcepti +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. diff --git a/app/assets/javascripts/publications/locale/es-AR/viewer.properties b/app/assets/javascripts/publications/locale/es-AR/viewer.properties new file mode 100644 index 0000000..044b9ea --- /dev/null +++ b/app/assets/javascripts/publications/locale/es-AR/viewer.properties @@ -0,0 +1,251 @@ +# 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 anterior +previous_label=Anterior +next.title=Página siguiente +next_label=Siguiente + +# 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. +of_pages=de {{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}} de {{pagesCount}} ) + +zoom_out.title=Alejar +zoom_out_label=Alejar +zoom_in.title=Acercar +zoom_in_label=Acercar +zoom.title=Zoom +presentation_mode.title=Cambiar a modo presentación +presentation_mode_label=Modo presentación +open_file.title=Abrir archivo +open_file_label=Abrir +print.title=Imprimir +print_label=Imprimir +download.title=Descargar +download_label=Descargar +bookmark.title=Vista actual (copiar o abrir en nueva ventana) +bookmark_label=Vista actual + +# Secondary toolbar and context menu +tools.title=Herramientas +tools_label=Herramientas +first_page.title=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 +page_rotate_cw.title=Rotar horario +page_rotate_cw_label=Rotar horario +page_rotate_ccw.title=Rotar antihorario +page_rotate_ccw_label=Rotar antihorario + +cursor_text_select_tool.title=Habilitar herramienta de selección de texto +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 +scroll_horizontal_label=Desplazamiento horizontal +scroll_wrapped.title=Usar desplazamiento encapsulado +scroll_wrapped_label=Desplazamiento encapsulado + +spread_none.title=No unir páginas dobles +spread_none_label=Sin dobles +spread_odd.title=Unir páginas dobles comenzando con las impares +spread_odd_label=Dobles impares +spread_even.title=Unir páginas dobles comenzando con las pares +spread_even_label=Dobles pares + +# Document properties dialog box +document_properties.title=Propiedades del documento… +document_properties_label=Propiedades del documento… +document_properties_file_name=Nombre de archivo: +document_properties_file_size=Tamaño de archovo: +# 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=Título: +document_properties_author=Autor: +document_properties_subject=Asunto: +document_properties_keywords=Palabras clave: +document_properties_creation_date=Fecha de creación: +document_properties_modification_date=Fecha 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=PDF Productor: +document_properties_version=Versión de PDF: +document_properties_page_count=Cantidad de páginas: +document_properties_page_size=Tamaño de página: +document_properties_page_size_unit_inches=en +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=normal +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=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}} × {{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=Vista rápida de la Web: +document_properties_linearized_yes=Sí +document_properties_linearized_no=No +document_properties_close=Cerrar + +print_progress_message=Preparando documento para imprimir… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +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 barra lateral +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 + +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. +thumb_page_title=Página {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura de página {{page}} + +# Find panel button title and messages +find_input.title=Buscar +find_input.placeholder=Buscar en documento… +find_previous.title=Buscar la aparición anterior de la frase +find_previous_label=Anterior +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 +# 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}} coincidencias +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]=Más de {{limit}} coincidencias +find_match_count_limit[one]=Más de {{limit}} coinciden +find_match_count_limit[two]=Más de {{limit}} coincidencias +find_match_count_limit[few]=Más de {{limit}} coincidencias +find_match_count_limit[many]=Más de {{limit}} coincidencias +find_match_count_limit[other]=Más de {{limit}} coincidencias +find_not_found=Frase no encontrada + +# Error panel labels +error_more_info=Más información +error_less_info=Menos información +error_close=Cerrar +# 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=Mensaje: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Pila: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Archivo: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Línea: {{line}} +rendering_error=Ocurrió un error al dibujar la página. + +# Predefined zoom values +page_scale_width=Ancho de página +page_scale_fit=Ajustar página +page_scale_auto=Zoom automático +page_scale_actual=Tamaño real +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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. +unexpected_response_error=Respuesta del servidor inesperada. + +# 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}} Anotación] +password_label=Ingrese la contraseña para abrir este archivo PDF +password_invalid=Contraseña inválida. Intente nuevamente. +password_ok=Aceptar +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. diff --git a/app/assets/javascripts/publications/locale/es-CL/viewer.properties b/app/assets/javascripts/publications/locale/es-CL/viewer.properties new file mode 100644 index 0000000..0d23f2e --- /dev/null +++ b/app/assets/javascripts/publications/locale/es-CL/viewer.properties @@ -0,0 +1,251 @@ +# 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 anterior +previous_label=Anterior +next.title=Página siguiente +next_label=Siguiente + +# 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. +of_pages=de {{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}} de {{pagesCount}}) + +zoom_out.title=Alejar +zoom_out_label=Alejar +zoom_in.title=Acercar +zoom_in_label=Acercar +zoom.title=Ampliación +presentation_mode.title=Cambiar al modo de presentación +presentation_mode_label=Modo de presentación +open_file.title=Abrir archivo +open_file_label=Abrir +print.title=Imprimir +print_label=Imprimir +download.title=Descargar +download_label=Descargar +bookmark.title=Vista actual (copiar o abrir en nueva ventana) +bookmark_label=Vista actual + +# Secondary toolbar and context menu +tools.title=Herramientas +tools_label=Herramientas +first_page.title=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 +page_rotate_cw.title=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 + +cursor_text_select_tool.title=Activar la herramienta de selección de texto +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 +scroll_horizontal_label=Desplazamiento horizontal +scroll_wrapped.title=Usar desplazamiento en bloque +scroll_wrapped_label=Desplazamiento en bloque + +spread_none.title=No juntar páginas a modo de libro +spread_none_label=Vista de una página +spread_odd.title=Junta las páginas partiendo con una de número impar +spread_odd_label=Vista de libro impar +spread_even.title=Junta las páginas partiendo con una de número par +spread_even_label=Vista de libro par + +# Document properties dialog box +document_properties.title=Propiedades del documento… +document_properties_label=Propiedades del documento… +document_properties_file_name=Nombre de archivo: +document_properties_file_size=Tamaño del archivo: +# 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=Título: +document_properties_author=Autor: +document_properties_subject=Asunto: +document_properties_keywords=Palabras clave: +document_properties_creation_date=Fecha de creación: +document_properties_modification_date=Fecha 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 del PDF: +document_properties_version=Versión de PDF: +document_properties_page_count=Cantidad de páginas: +document_properties_page_size=Tamaño de la página: +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 +document_properties_page_size_name_letter=Carta +document_properties_page_size_name_legal=Oficio +# 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=Vista rápida en Web: +document_properties_linearized_yes=Sí +document_properties_linearized_no=No +document_properties_close=Cerrar + +print_progress_message=Preparando documento para impresión… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +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=Barra lateral +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 + +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. +thumb_page_title=Página {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura de la página {{page}} + +# Find panel button title and messages +find_input.title=Encontrar +find_input.placeholder=Encontrar en el documento… +find_previous.title=Buscar la aparición anterior de la frase +find_previous_label=Previo +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 +# 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]=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. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Más de {{limit}} coincidencias +find_match_count_limit[one]=Más de {{limit}} coincidencia +find_match_count_limit[two]=Más de {{limit}} coincidencias +find_match_count_limit[few]=Más de {{limit}} coincidencias +find_match_count_limit[many]=Más de {{limit}} coincidencias +find_match_count_limit[other]=Más de {{limit}} coincidencias +find_not_found=Frase no encontrada + +# Error panel labels +error_more_info=Más información +error_less_info=Menos información +error_close=Cerrar +# 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}} (compilación: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Mensaje: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Pila: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Archivo: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Línea: {{line}} +rendering_error=Ocurrió un error al renderizar la página. + +# Predefined zoom values +page_scale_width=Ancho de página +page_scale_fit=Ajuste de página +page_scale_auto=Aumento automático +page_scale_actual=Tamaño actual +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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. + +# 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}} Anotación] +password_label=Ingrese la contraseña para abrir este archivo PDF. +password_invalid=Contraseña inválida. Por favor, vuelve a intentarlo. +password_ok=Aceptar +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. diff --git a/app/assets/javascripts/publications/locale/es-ES/viewer.properties b/app/assets/javascripts/publications/locale/es-ES/viewer.properties new file mode 100644 index 0000000..de4bbdf --- /dev/null +++ b/app/assets/javascripts/publications/locale/es-ES/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=Página anterior +previous_label=Anterior +next.title=Página siguiente +next_label=Siguiente + +# 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. +of_pages=de {{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}} de {{pagesCount}}) + +zoom_out.title=Reducir +zoom_out_label=Reducir +zoom_in.title=Aumentar +zoom_in_label=Aumentar +zoom.title=Tamaño +presentation_mode.title=Cambiar al modo presentación +presentation_mode_label=Modo presentación +open_file.title=Abrir archivo +open_file_label=Abrir +print.title=Imprimir +print_label=Imprimir +download.title=Descargar +download_label=Descargar +bookmark.title=Vista actual (copiar o abrir en una nueva ventana) +bookmark_label=Vista actual + +# Secondary toolbar and context menu +tools.title=Herramientas +tools_label=Herramientas +first_page.title=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 +page_rotate_cw.title=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 + +cursor_text_select_tool.title=Activar herramienta de selección de texto +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 +scroll_horizontal_label=Desplazamiento horizontal +scroll_wrapped.title=Usar desplazamiento en bloque +scroll_wrapped_label=Desplazamiento en bloque + +spread_none.title=No juntar páginas en vista de libro +spread_none_label=Vista de libro +spread_odd.title=Juntar las páginas partiendo de una con número impar +spread_odd_label=Vista de libro impar +spread_even.title=Juntar las páginas partiendo de una con número par +spread_even_label=Vista de libro par + +# Document properties dialog box +document_properties.title=Propiedades del documento… +document_properties_label=Propiedades del documento… +document_properties_file_name=Nombre de archivo: +document_properties_file_size=Tamaño de archivo: +# 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=Título: +document_properties_author=Autor: +document_properties_subject=Asunto: +document_properties_keywords=Palabras clave: +document_properties_creation_date=Fecha de creación: +document_properties_modification_date=Fecha 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_page_count=Número de páginas: +document_properties_page_size=Tamaño de la página: +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 +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}} × {{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=Vista rápida de la web: +document_properties_linearized_yes=Sí +document_properties_linearized_no=No +document_properties_close=Cerrar + +print_progress_message=Preparando documento para impresión… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +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=Cambiar barra lateral +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 + +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. +thumb_page_title=Página {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura de la página {{page}} + +# Find panel button title and messages +find_input.title=Buscar +find_input.placeholder=Buscar en el documento… +find_previous.title=Encontrar la anterior aparición de la frase +find_previous_label=Anterior +find_next.title=Encontrar la siguiente aparición de esta frase +find_next_label=Siguiente +find_highlight=Resaltar todos +find_match_case_label=Coincidencia de mayús./minús. +find_entire_word_label=Palabras completas +find_reached_top=Se alcanzó el inicio del documento, se continúa desde el final +find_reached_bottom=Se alcanzó el final del documento, se continúa desde el inicio +# 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]=Más de {{limit}} coincidencias +find_match_count_limit[one]=Más de {{limit}} coincidencia +find_match_count_limit[two]=Más de {{limit}} coincidencias +find_match_count_limit[few]=Más de {{limit}} coincidencias +find_match_count_limit[many]=Más de {{limit}} coincidencias +find_match_count_limit[other]=Más de {{limit}} coincidencias +find_not_found=Frase no encontrada + +# Error panel labels +error_more_info=Más información +error_less_info=Menos información +error_close=Cerrar +# 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=Mensaje: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Pila: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Archivo: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Línea: {{line}} +rendering_error=Ocurrió un error al renderizar la página. + +# Predefined zoom values +page_scale_width=Anchura de la página +page_scale_fit=Ajuste de la página +page_scale_auto=Tamaño automático +page_scale_actual=Tamaño real +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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. +unexpected_response_error=Respuesta inesperada del 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). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Anotación {{type}}] +password_label=Introduzca la contraseña para abrir este archivo PDF. +password_invalid=Contraseña no válida. Vuelva a intentarlo. +password_ok=Aceptar +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. diff --git a/app/assets/javascripts/publications/locale/es-MX/viewer.properties b/app/assets/javascripts/publications/locale/es-MX/viewer.properties new file mode 100644 index 0000000..dc0ce0d --- /dev/null +++ b/app/assets/javascripts/publications/locale/es-MX/viewer.properties @@ -0,0 +1,251 @@ +# 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 anterior +previous_label=Anterior +next.title=Página siguiente +next_label=Siguiente + +# 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. +of_pages=de {{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}} de {{pagesCount}}) + +zoom_out.title=Reducir +zoom_out_label=Reducir +zoom_in.title=Aumentar +zoom_in_label=Aumentar +zoom.title=Zoom +presentation_mode.title=Cambiar al modo presentación +presentation_mode_label=Modo presentación +open_file.title=Abrir archivo +open_file_label=Abrir +print.title=Imprimir +print_label=Imprimir +download.title=Descargar +download_label=Descargar +bookmark.title=Vista actual (copiar o abrir en una nueva ventana) +bookmark_label=Vista actual + +# Secondary toolbar and context menu +tools.title=Herramientas +tools_label=Herramientas +first_page.title=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 +page_rotate_cw.title=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 + +cursor_text_select_tool.title=Activar la herramienta de selección de texto +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 +scroll_horizontal_label=Desplazamiento horizontal +scroll_wrapped.title=Usar desplazamiento encapsulado +scroll_wrapped_label=Desplazamiento encapsulado + +spread_none.title=No unir páginas separadas +spread_none_label=Vista de una página +spread_odd.title=Unir las páginas partiendo con una de número impar +spread_odd_label=Vista de libro impar +spread_even.title=Juntar las páginas partiendo con una de número par +spread_even_label=Vista de libro par + +# Document properties dialog box +document_properties.title=Propiedades del documento… +document_properties_label=Propiedades del documento… +document_properties_file_name=Nombre del archivo: +document_properties_file_size=Tamaño del archivo: +# 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=Título: +document_properties_author=Autor: +document_properties_subject=Asunto: +document_properties_keywords=Palabras claves: +document_properties_creation_date=Fecha de creación: +document_properties_modification_date=Fecha 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_page_count=Número de páginas: +document_properties_page_size=Tamaño de la página: +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 +document_properties_page_size_name_letter=Carta +document_properties_page_size_name_legal=Oficio +# 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=Vista rápida de la web: +document_properties_linearized_yes=Sí +document_properties_linearized_no=No +document_properties_close=Cerrar + +print_progress_message=Preparando documento para impresión… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +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=Cambiar barra lateral +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 + +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. +thumb_page_title=Página {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura de la página {{page}} + +# Find panel button title and messages +find_input.title=Buscar +find_input.placeholder=Buscar en el documento… +find_previous.title=Ir a la anterior frase encontrada +find_previous_label=Anterior +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 +# 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]=Más de {{limit}} coincidencias +find_match_count_limit[one]=Más de {{limit}} coinciden +find_match_count_limit[two]=Más de {{limit}} coincidencias +find_match_count_limit[few]=Más de {{limit}} coincidencias +find_match_count_limit[many]=Más de {{limit}} coincidencias +find_match_count_limit[other]=Más de {{limit}} coincidencias +find_not_found=No se encontró la frase + +# Error panel labels +error_more_info=Más información +error_less_info=Menos información +error_close=Cerrar +# 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=Mensaje: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Pila: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Archivo: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Línea: {{line}} +rendering_error=Un error ocurrió al renderizar la página. + +# Predefined zoom values +page_scale_width=Ancho de página +page_scale_fit=Ajustar página +page_scale_auto=Zoom automático +page_scale_actual=Tamaño real +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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. +unexpected_response_error=Respuesta inesperada del 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). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} anotación] +password_label=Ingresa la contraseña para abrir este archivo PDF. +password_invalid=Contraseña inválida. Por favor intenta de nuevo. +password_ok=Aceptar +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. diff --git a/app/assets/javascripts/publications/locale/et/viewer.properties b/app/assets/javascripts/publications/locale/et/viewer.properties new file mode 100644 index 0000000..17bf0e4 --- /dev/null +++ b/app/assets/javascripts/publications/locale/et/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=Eelmine lehekülg +previous_label=Eelmine +next.title=Järgmine lehekülg +next_label=Järgmine + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Leht +# 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=Vähenda +zoom_out_label=Vähenda +zoom_in.title=Suurenda +zoom_in_label=Suurenda +zoom.title=Suurendamine +presentation_mode.title=Lülitu esitlusrežiimi +presentation_mode_label=Esitlusrežiim +open_file.title=Ava fail +open_file_label=Ava +print.title=Prindi +print_label=Prindi +download.title=Laadi alla +download_label=Laadi alla +bookmark.title=Praegune vaade (kopeeri või ava uues aknas) +bookmark_label=Praegune vaade + +# Secondary toolbar and context menu +tools.title=Tööriistad +tools_label=Tööriistad +first_page.title=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 +page_rotate_cw.title=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 + +cursor_text_select_tool.title=Luba teksti valimise tööriist +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 +scroll_horizontal_label=Horisontaalne kerimine +scroll_wrapped.title=Kasuta rohkem mahutavat kerimist +scroll_wrapped_label=Rohkem mahutav kerimine + +spread_none.title=Ära kõrvuta lehekülgi +spread_none_label=Lehtede kõrvutamine puudub +spread_odd.title=Kõrvuta leheküljed, alustades paaritute numbritega lehekülgedega +spread_odd_label=Kõrvutamine paaritute numbritega alustades +spread_even.title=Kõrvuta leheküljed, alustades paarisnumbritega lehekülgedega +spread_even_label=Kõrvutamine paarisnumbritega alustades + +# Document properties dialog box +document_properties.title=Dokumendi omadused… +document_properties_label=Dokumendi omadused… +document_properties_file_name=Faili nimi: +document_properties_file_size=Faili suurus: +# 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}} KiB ({{size_b}} baiti) +# 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}} MiB ({{size_b}} baiti) +document_properties_title=Pealkiri: +document_properties_author=Autor: +document_properties_subject=Teema: +document_properties_keywords=Märksõnad: +document_properties_creation_date=Loodud: +document_properties_modification_date=Muudetud: +# 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=Looja: +document_properties_producer=Generaator: +document_properties_version=Generaatori versioon: +document_properties_page_count=Lehekülgi: +document_properties_page_size=Lehe suurus: +document_properties_page_size_unit_inches=tolli +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=vertikaalpaigutus +document_properties_page_size_orientation_landscape=rõhtpaigutus +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 Web View" tugi: +document_properties_linearized_yes=Jah +document_properties_linearized_no=Ei +document_properties_close=Sulge + +print_progress_message=Dokumendi ettevalmistamine printimiseks… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Loobu + +# 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=Näita külgriba +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. +thumb_page_title={{page}}. lehekülg +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas={{page}}. lehekülje pisipilt + +# Find panel button title and messages +find_input.title=Otsi +find_input.placeholder=Otsi dokumendist… +find_previous.title=Otsi fraasi eelmine esinemiskoht +find_previous_label=Eelmine +find_next.title=Otsi fraasi järgmine esinemiskoht +find_next_label=Järgmine +find_highlight=Too kõik esile +find_match_case_label=Tõstutundlik +find_entire_word_label=Täissõnad +find_reached_top=Jõuti dokumendi algusesse, jätkati lõpust +find_reached_bottom=Jõuti dokumendi lõppu, jätkati algusest +# 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]=vaste {{current}}/{{total}} +find_match_count[two]=vaste {{current}}/{{total}} +find_match_count[few]=vaste {{current}}/{{total}} +find_match_count[many]=vaste {{current}}/{{total}} +find_match_count[other]=vaste {{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]=Rohkem kui {{limit}} vastet +find_match_count_limit[one]=Rohkem kui {{limit}} vaste +find_match_count_limit[two]=Rohkem kui {{limit}} vastet +find_match_count_limit[few]=Rohkem kui {{limit}} vastet +find_match_count_limit[many]=Rohkem kui {{limit}} vastet +find_match_count_limit[other]=Rohkem kui {{limit}} vastet +find_not_found=Fraasi ei leitud + +# Error panel labels +error_more_info=Rohkem teavet +error_less_info=Vähem teavet +error_close=Sulge +# 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=Teade: {{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=Fail: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Rida: {{line}} +rendering_error=Lehe renderdamisel esines viga. + +# Predefined zoom values +page_scale_width=Mahuta laiusele +page_scale_fit=Mahuta leheküljele +page_scale_auto=Automaatne suurendamine +page_scale_actual=Tegelik suurus +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading=Laadimine… +loading_error=PDFi laadimisel esines viga. +invalid_file_error=Vigane või rikutud PDF-fail. +missing_file_error=PDF-fail puudub. +unexpected_response_error=Ootamatu vastus serverilt. + +# 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=PDF-faili avamiseks sisesta parool. +password_invalid=Vigane parool. Palun proovi uuesti. +password_ok=Sobib +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. diff --git a/app/assets/javascripts/publications/locale/eu/viewer.properties b/app/assets/javascripts/publications/locale/eu/viewer.properties new file mode 100644 index 0000000..aa2bef7 --- /dev/null +++ b/app/assets/javascripts/publications/locale/eu/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=Aurreko orria +previous_label=Aurrekoa +next.title=Hurrengo orria +next_label=Hurrengoa + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Orria +# 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={{pagesCount}}/{{pageNumber}} + +zoom_out.title=Urrundu zooma +zoom_out_label=Urrundu zooma +zoom_in.title=Gerturatu zooma +zoom_in_label=Gerturatu zooma +zoom.title=Zooma +presentation_mode.title=Aldatu aurkezpen modura +presentation_mode_label=Arkezpen modua +open_file.title=Ireki fitxategia +open_file_label=Ireki +print.title=Inprimatu +print_label=Inprimatu +download.title=Deskargatu +download_label=Deskargatu +bookmark.title=Uneko ikuspegia (kopiatu edo ireki leiho berrian) +bookmark_label=Uneko ikuspegia + +# Secondary toolbar and context menu +tools.title=Tresnak +tools_label=Tresnak +first_page.title=Joan lehen orrira +first_page_label=Joan lehen orrira +last_page.title=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_ccw.title=Biratu erlojuaren aurkako norantzan +page_rotate_ccw_label=Biratu erlojuaren aurkako norantzan + +cursor_text_select_tool.title=Gaitu testuaren hautapen tresna +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 +scroll_horizontal_label=Korritze horizontala +scroll_wrapped.title=Erabili korritze egokitua +scroll_wrapped_label=Korritze egokitua + +spread_none.title=Ez elkartu barreiatutako orriak +spread_none_label=Barreiatzerik ez +spread_odd.title=Elkartu barreiatutako orriak bakoiti zenbakidunekin hasita +spread_odd_label=Barreiatze bakoitia +spread_even.title=Elkartu barreiatutako orriak bikoiti zenbakidunekin hasita +spread_even_label=Barreiatze bikoitia + +# Document properties dialog box +document_properties.title=Dokumentuaren propietateak… +document_properties_label=Dokumentuaren propietateak… +document_properties_file_name=Fitxategi-izena: +document_properties_file_size=Fitxategiaren tamaina: +# 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}} byte) +# 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}} byte) +document_properties_title=Izenburua: +document_properties_author=Egilea: +document_properties_subject=Gaia: +document_properties_keywords=Gako-hitzak: +document_properties_creation_date=Sortze-data: +document_properties_modification_date=Aldatze-data: +# 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=Sortzailea: +document_properties_producer=PDFaren ekoizlea: +document_properties_version=PDF bertsioa: +document_properties_page_count=Orrialde kopurua: +document_properties_page_size=Orriaren tamaina: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=bertikala +document_properties_page_size_orientation_landscape=horizontala +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Gutuna +document_properties_page_size_name_legal=Legala +# 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=Webeko ikuspegi bizkorra: +document_properties_linearized_yes=Bai +document_properties_linearized_no=Ez +document_properties_close=Itxi + +print_progress_message=Dokumentua inprimatzeko prestatzen… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent=%{{progress}} +print_progress_close=Utzi + +# 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=Txandakatu alboko barra +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 + +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. +thumb_page_title={{page}}. orria +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas={{page}}. orriaren koadro txikia + +# Find panel button title and messages +find_input.title=Bilatu +find_input.placeholder=Bilatu dokumentuan… +find_previous.title=Bilatu esaldiaren aurreko parekatzea +find_previous_label=Aurrekoa +find_next.title=Bilatu esaldiaren hurrengo parekatzea +find_next_label=Hurrengoa +find_highlight=Nabarmendu guztia +find_match_case_label=Bat etorri maiuskulekin/minuskulekin +find_entire_word_label=Hitz osoak +find_reached_top=Dokumentuaren hasierara heldu da, bukaeratik jarraitzen +find_reached_bottom=Dokumentuaren bukaerara heldu da, hasieratik jarraitzen +# 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]={{total}}/{{current}}. bat etortzea +find_match_count[two]={{total}}/{{current}}. bat etortzea +find_match_count[few]={{total}}/{{current}}. bat etortzea +find_match_count[many]={{total}}/{{current}}. bat etortzea +find_match_count[other]={{total}}/{{current}}. bat etortzea +# 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}} bat-etortze baino gehiago +find_match_count_limit[one]=Bat-etortze {{limit}} baino gehiago +find_match_count_limit[two]={{limit}} bat-etortze baino gehiago +find_match_count_limit[few]={{limit}} bat-etortze baino gehiago +find_match_count_limit[many]={{limit}} bat-etortze baino gehiago +find_match_count_limit[other]={{limit}} bat-etortze baino gehiago +find_not_found=Esaldia ez da aurkitu + +# Error panel labels +error_more_info=Informazio gehiago +error_less_info=Informazio gutxiago +error_close=Itxi +# 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}} (eraikuntza: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Mezua: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Pila: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Fitxategia: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Lerroa: {{line}} +rendering_error=Errorea gertatu da orria errendatzean. + +# Predefined zoom values +page_scale_width=Orriaren zabalera +page_scale_fit=Doitu orrira +page_scale_auto=Zoom automatikoa +page_scale_actual=Benetako tamaina +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent=%{{scale}} + +# Loading indicator messages +loading=Kargatzen… +loading_error=Errorea gertatu da PDFa kargatzean. +invalid_file_error=PDF fitxategi baliogabe edo hondatua. +missing_file_error=PDF fitxategia falta da. +unexpected_response_error=Espero gabeko zerbitzariaren erantzuna. + +# 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}} ohartarazpena] +password_label=Idatzi PDF fitxategi hau irekitzeko pasahitza. +password_invalid=Pasahitz baliogabea. Saiatu berriro mesedez. +password_ok=Ados +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. diff --git a/app/assets/javascripts/publications/locale/fa/viewer.properties b/app/assets/javascripts/publications/locale/fa/viewer.properties new file mode 100644 index 0000000..2c28f01 --- /dev/null +++ b/app/assets/javascripts/publications/locale/fa/viewer.properties @@ -0,0 +1,215 @@ +# 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=پیمایش افقی + + +# 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_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_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.title=نمایش رئوس مطالب مدارک(برای بازشدن/جمع شدن همه موارد دوبار کلیک کنید) +document_outline_label=طرح نوشتار +attachments.title=نمایش پیوست‌ها +attachments_label=پیوست‌ها +thumbs.title=نمایش تصاویر بندانگشتی +thumbs_label=تصاویر بندانگشتی +findbar.title=جستجو در سند +findbar_label=پیدا کردن + +# 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[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_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 ورژن{{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_error=هنگام بارگیری پرونده PDF خطایی رخ داد. +invalid_file_error=پرونده PDF نامعتبر یامعیوب می‌باشد. +missing_file_error=پرونده PDF یافت نشد. +unexpected_response_error=پاسخ پیش بینی نشده سرور + +# 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=جهت باز کردن پرونده PDF گذرواژه را وارد نمائید. +password_invalid=گذرواژه نامعتبر. لطفا مجددا تلاش کنید. +password_ok=تأیید +password_cancel=لغو + +printing_not_supported=هشدار: قابلیت چاپ به‌طور کامل در این مرورگر پشتیبانی نمی‌شود. +printing_not_ready=اخطار: پرونده PDF بطور کامل بارگیری نشده و امکان چاپ وجود ندارد. +web_fonts_disabled=فونت های تحت وب غیر فعال شده اند: امکان استفاده از نمایش دهنده داخلی PDF وجود ندارد. diff --git a/app/assets/javascripts/publications/locale/ff/viewer.properties b/app/assets/javascripts/publications/locale/ff/viewer.properties new file mode 100644 index 0000000..bc95457 --- /dev/null +++ b/app/assets/javascripts/publications/locale/ff/viewer.properties @@ -0,0 +1,234 @@ +# 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=Hello Ɓennungo +previous_label=Ɓennuɗo +next.title=Hello faango +next_label=Yeeso + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Hello +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=e nder {{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}} of {{pagesCount}}) + +zoom_out.title=Lonngo Woɗɗa +zoom_out_label=Lonngo Woɗɗa +zoom_in.title=Lonngo Ara +zoom_in_label=Lonngo Ara +zoom.title=Lonngo +presentation_mode.title=Faytu to Presentation Mode +presentation_mode_label=Presentation Mode +open_file.title=Uddit Fiilde +open_file_label=Uddit +print.title=Winndito +print_label=Winndito +download.title=Aawto +download_label=Aawto +bookmark.title=Jiytol gonangol (natto walla uddit e henorde) +bookmark_label=Jiytol Gonangol + +# Secondary toolbar and context menu +tools.title=Kuutorɗe +tools_label=Kuutorɗe +first_page.title=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 +page_rotate_cw.title=Yiiltu Faya Ñaamo +page_rotate_cw_label=Yiiltu Faya Ñaamo +page_rotate_ccw.title=Yiiltu Faya Nano +page_rotate_ccw_label=Yiiltu Faya Nano + +cursor_text_select_tool.title=Gollin kaɓirgel cuɓirgel binndi +cursor_text_select_tool_label=Kaɓirgel cuɓirgel binndi +cursor_hand_tool.title=Hurmin kuutorgal junngo +cursor_hand_tool_label=Kaɓirgel junngo + +scroll_vertical.title=Huutoro gorwitol daringol +scroll_vertical_label=Gorwitol daringol +scroll_horizontal.title=Huutoro gorwitol lelingol +scroll_horizontal_label=Gorwitol daringol +scroll_wrapped.title=Huutoro gorwitol coomingol +scroll_wrapped_label=Gorwitol coomingol + +spread_none.title=Hoto tawtu kelle kelle +spread_none_label=Alaa Spreads +spread_odd.title=Tawtu kelle puɗɗortooɗe kelle teelɗe +spread_odd_label=Kelle teelɗe +spread_even.title=Tawtu ɗereeji kelle puɗɗoriiɗi kelle teeltuɗe +spread_even_label=Kelle teeltuɗe + +# Document properties dialog box +document_properties.title=Keeroraaɗi Winndannde… +document_properties_label=Keeroraaɗi Winndannde… +document_properties_file_name=Innde fiilde: +document_properties_file_size=Ɓetol fiilde: +# 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}} bite) +# 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}} bite) +document_properties_title=Tiitoonde: +document_properties_author=Binnduɗo: +document_properties_subject=Toɓɓere: +document_properties_keywords=Kelmekele jiytirɗe: +document_properties_creation_date=Ñalnde Sosaa: +document_properties_modification_date=Ñalnde Waylaa: +# 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=Cosɗo: +document_properties_producer=Paggiiɗo PDF: +document_properties_version=Yamre PDF: +document_properties_page_count=Limoore Kelle: +document_properties_page_size=Ɓeto Hello: +document_properties_page_size_unit_inches=nder +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=dariingo +document_properties_page_size_orientation_landscape=wertiingo +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Ɓataake +document_properties_page_size_name_legal=Laawol +# 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=Ɗisngo geese yaawngo: +document_properties_linearized_yes=Eey +document_properties_linearized_no=Alaa +document_properties_close=Uddu + +print_progress_message=Nana heboo winnditaade fiilannde… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Haaytu + +# 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=Toggilo Palal Sawndo +toggle_sidebar_label=Toggilo Palal Sawndo +document_outline.title=Hollu Ƴiyal Fiilannde (dobdobo ngam wertude/taggude teme fof) +document_outline_label=Toɓɓe Fiilannde +attachments.title=Hollu Ɗisanɗe +attachments_label=Ɗisanɗe +thumbs.title=Hollu Dooɓe +thumbs_label=Dooɓe +findbar.title=Yiylo e fiilannde +findbar_label=Yiytu + +# 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=Hello {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Dooɓre Hello {{page}} + +# Find panel button title and messages +find_input.title=Yiytu +find_input.placeholder=Yiylo nder dokimaa +find_previous.title=Yiylo cilol ɓennugol konngol ngol +find_previous_label=Ɓennuɗo +find_next.title=Yiylo cilol garowol konngol ngol +find_next_label=Yeeso +find_highlight=Jalbin fof +find_match_case_label=Jaaɓnu darnde +find_entire_word_label=Kelme timmuɗe tan +find_reached_top=Heɓii fuɗɗorde fiilannde, jokku faya les +find_reached_bottom=Heɓii hoore fiilannde, jokku faya les +# 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}} wonande laabi {{total}} +find_match_count[two]={{current}} wonande laabi {{total}} +find_match_count[few]={{current}} wonande laabi {{total}} +find_match_count[many]={{current}} wonande laabi {{total}} +find_match_count[other]={{current}} wonande laabi {{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]=Ko ɓuri laabi {{limit}} +find_match_count_limit[one]=Ko ɓuri laani {{limit}} +find_match_count_limit[two]=Ko ɓuri laabi {{limit}} +find_match_count_limit[few]=Ko ɓuri laabi {{limit}} +find_match_count_limit[many]=Ko ɓuri laabi {{limit}} +find_match_count_limit[other]=Ko ɓuri laabi {{limit}} +find_not_found=Konngi njiyataa + +# Error panel labels +error_more_info=Ɓeydu Humpito +error_less_info=Ustu Humpito +error_close=Uddu +# 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=Ɓatakuure: {{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=Fiilde: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Gorol: {{line}} +rendering_error=Juumre waɗii tuma nde yoŋkittoo hello. + +# Predefined zoom values +page_scale_width=Njaajeendi Hello +page_scale_fit=Keƴeendi Hello +page_scale_auto=Loongorde Jaajol +page_scale_actual=Ɓetol Jaati +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +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. +unexpected_response_error=Jaabtol sarworde tijjinooka. + +# 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}} Siiftannde] +password_label=Naatu finnde ngam uddite ndee fiilde PDF. +password_invalid=Finnde moƴƴaani. Tiiɗno eto kadi. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/fi/viewer.properties b/app/assets/javascripts/publications/locale/fi/viewer.properties new file mode 100644 index 0000000..23496e9 --- /dev/null +++ b/app/assets/javascripts/publications/locale/fi/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=Edellinen sivu +previous_label=Edellinen +next.title=Seuraava sivu +next_label=Seuraava + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Sivu +# 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=Loitonna +zoom_out_label=Loitonna +zoom_in.title=Lähennä +zoom_in_label=Lähennä +zoom.title=Suurennus +presentation_mode.title=Siirry esitystilaan +presentation_mode_label=Esitystila +open_file.title=Avaa tiedosto +open_file_label=Avaa +print.title=Tulosta +print_label=Tulosta +download.title=Lataa +download_label=Lataa +bookmark.title=Avoin ikkuna (kopioi tai avaa uuteen ikkunaan) +bookmark_label=Avoin ikkuna + +# Secondary toolbar and context menu +tools.title=Tools +tools_label=Tools +first_page.title=Siirry ensimmäiselle sivulle +first_page_label=Siirry ensimmäiselle sivulle +last_page.title=Siirry viimeiselle sivulle +last_page_label=Siirry viimeiselle sivulle +page_rotate_cw.title=Kierrä oikealle +page_rotate_cw_label=Kierrä oikealle +page_rotate_ccw.title=Kierrä vasemmalle +page_rotate_ccw_label=Kierrä vasemmalle + +cursor_text_select_tool.title=Käytä tekstinvalintatyökalua +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ä +scroll_horizontal_label=Vaakasuuntainen vieritys +scroll_wrapped.title=Käytä rivittyvää vieritystä +scroll_wrapped_label=Rivittyvä vieritys + +spread_none.title=Älä yhdistä sivuja aukeamiksi +spread_none_label=Ei aukeamia +spread_odd.title=Yhdistä sivut aukeamiksi alkaen parittomalta sivulta +spread_odd_label=Parittomalta alkavat aukeamat +spread_even.title=Yhdistä sivut aukeamiksi alkaen parilliselta sivulta +spread_even_label=Parilliselta alkavat aukeamat + +# Document properties dialog box +document_properties.title=Dokumentin ominaisuudet… +document_properties_label=Dokumentin ominaisuudet… +document_properties_file_name=Tiedostonimi: +document_properties_file_size=Tiedoston koko: +# 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}} kt ({{size_b}} tavua) +# 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}} Mt ({{size_b}} tavua) +document_properties_title=Otsikko: +document_properties_author=Tekijä: +document_properties_subject=Aihe: +document_properties_keywords=Avainsanat: +document_properties_creation_date=Luomispäivämäärä: +document_properties_modification_date=Muokkauspäivämäärä: +# 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=Luoja: +document_properties_producer=PDF-tuottaja: +document_properties_version=PDF-versio: +document_properties_page_count=Sivujen määrä: +document_properties_page_size=Sivun koko: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=pysty +document_properties_page_size_orientation_landscape=vaaka +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=Nopea web-katselu: +document_properties_linearized_yes=Kyllä +document_properties_linearized_no=Ei +document_properties_close=Sulje + +print_progress_message=Valmistellaan dokumenttia tulostamista varten… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}} % +print_progress_close=Peruuta + +# 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=Näytä/piilota sivupaneeli +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 + +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. +thumb_page_title=Sivu {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Pienoiskuva sivusta {{page}} + +# Find panel button title and messages +find_input.title=Etsi +find_input.placeholder=Etsi dokumentista… +find_previous.title=Etsi hakusanan edellinen osuma +find_previous_label=Edellinen +find_next.title=Etsi hakusanan seuraava osuma +find_next_label=Seuraava +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 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 +# 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}} osuma +find_match_count[two]={{current}} / {{total}} osumaa +find_match_count[few]={{current}} / {{total}} osumaa +find_match_count[many]={{current}} / {{total}} osumaa +find_match_count[other]={{current}} / {{total}} osumaa +# 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]=Enemmän kuin {{limit}} osumaa +find_match_count_limit[one]=Enemmän kuin {{limit}} osuma +find_match_count_limit[two]=Enemmän kuin {{limit}} osumaa +find_match_count_limit[few]=Enemmän kuin {{limit}} osumaa +find_match_count_limit[many]=Enemmän kuin {{limit}} osumaa +find_match_count_limit[other]=Enemmän kuin {{limit}} osumaa +find_not_found=Hakusanaa ei löytynyt + +# Error panel labels +error_more_info=Lisätietoja +error_less_info=Lisätietoja +error_close=Sulje +# 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}} (kooste: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Virheilmoitus: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Pino: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Tiedosto: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Rivi: {{line}} +rendering_error=Tapahtui virhe piirrettäessä sivua. + +# Predefined zoom values +page_scale_width=Sivun leveys +page_scale_fit=Koko sivu +page_scale_auto=Automaattinen suurennus +page_scale_actual=Todellinen koko +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}} % + +# Loading indicator messages +loading=Ladataan… +loading_error=Tapahtui virhe ladattaessa PDF-tiedostoa. +invalid_file_error=Virheellinen tai vioittunut PDF-tiedosto. +missing_file_error=Puuttuva PDF-tiedosto. +unexpected_response_error=Odottamaton vastaus palvelimelta. + +# 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=Kirjoita PDF-tiedoston salasana. +password_invalid=Virheellinen salasana. Yritä uudestaan. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/fr/viewer.properties b/app/assets/javascripts/publications/locale/fr/viewer.properties new file mode 100644 index 0000000..54d8033 --- /dev/null +++ b/app/assets/javascripts/publications/locale/fr/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=Page précédente +previous_label=Précédent +next.title=Page suivante +next_label=Suivant + +# 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=sur {{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}} sur {{pagesCount}}) + +zoom_out.title=Zoom arrière +zoom_out_label=Zoom arrière +zoom_in.title=Zoom avant +zoom_in_label=Zoom avant +zoom.title=Zoom +presentation_mode.title=Basculer en mode présentation +presentation_mode_label=Mode présentation +open_file.title=Ouvrir le fichier +open_file_label=Ouvrir le fichier +print.title=Imprimer +print_label=Imprimer +download.title=Télécharger +download_label=Télécharger +bookmark.title=Affichage courant (copier ou ouvrir dans une nouvelle fenêtre) +bookmark_label=Affichage actuel + +# Secondary toolbar and context menu +tools.title=Outils +tools_label=Outils +first_page.title=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 +page_rotate_cw.title=Rotation horaire +page_rotate_cw_label=Rotation horaire +page_rotate_ccw.title=Rotation antihoraire +page_rotate_ccw_label=Rotation antihoraire + +cursor_text_select_tool.title=Activer l’outil de sélection de texte +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 +scroll_horizontal_label=Défilement horizontal +scroll_wrapped.title=Utiliser le défilement par bloc +scroll_wrapped_label=Défilement par bloc + +spread_none.title=Ne pas afficher les pages deux à deux +spread_none_label=Pas de double affichage +spread_odd.title=Afficher les pages par deux, impaires à gauche +spread_odd_label=Doubles pages, impaires à gauche +spread_even.title=Afficher les pages par deux, paires à gauche +spread_even_label=Doubles pages, paires à gauche + +# Document properties dialog box +document_properties.title=Propriétés du document… +document_properties_label=Propriétés du document… +document_properties_file_name=Nom du fichier : +document_properties_file_size=Taille du fichier : +# 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}} Ko ({{size_b}} octets) +# 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}} Mo ({{size_b}} octets) +document_properties_title=Titre : +document_properties_author=Auteur : +document_properties_subject=Sujet : +document_properties_keywords=Mots-clés : +document_properties_creation_date=Date de création : +document_properties_modification_date=Modifié le : +# 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=Créé par : +document_properties_producer=Outil de conversion PDF : +document_properties_version=Version PDF : +document_properties_page_count=Nombre de pages : +document_properties_page_size=Taille de la page : +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=paysage +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=lettre +document_properties_page_size_name_legal=document juridique +# 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=Affichage rapide des pages web : +document_properties_linearized_yes=Oui +document_properties_linearized_no=Non +document_properties_close=Fermer + +print_progress_message=Préparation du document pour l’impression… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}} % +print_progress_close=Annuler + +# 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=Afficher/Masquer le panneau latéral +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 + +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. +thumb_page_title=Page {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Vignette de la page {{page}} + +# Find panel button title and messages +find_input.title=Rechercher +find_input.placeholder=Rechercher dans le document… +find_previous.title=Trouver l’occurrence précédente de l’expression +find_previous_label=Précédent +find_next.title=Trouver la prochaine occurrence de l’expression +find_next_label=Suivant +find_highlight=Tout surligner +find_match_case_label=Respecter la casse +find_entire_word_label=Mots entiers +find_reached_top=Haut de la page atteint, poursuite depuis la fin +find_reached_bottom=Bas de la page atteint, poursuite au début +# 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]=Occurrence {{current}} sur {{total}} +find_match_count[two]=Occurrence {{current}} sur {{total}} +find_match_count[few]=Occurrence {{current}} sur {{total}} +find_match_count[many]=Occurrence {{current}} sur {{total}} +find_match_count[other]=Occurrence {{current}} sur {{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]=Plus de {{limit}} correspondances +find_match_count_limit[one]=Plus de {{limit}} correspondance +find_match_count_limit[two]=Plus de {{limit}} correspondances +find_match_count_limit[few]=Plus de {{limit}} correspondances +find_match_count_limit[many]=Plus de {{limit}} correspondances +find_match_count_limit[other]=Plus de {{limit}} correspondances +find_not_found=Expression non trouvée + +# Error panel labels +error_more_info=Plus d’informations +error_less_info=Moins d’informations +error_close=Fermer +# 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}} (identifiant de compilation : {{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=Pile : {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Fichier : {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Ligne : {{line}} +rendering_error=Une erreur s’est produite lors de l’affichage de la page. + +# Predefined zoom values +page_scale_width=Pleine largeur +page_scale_fit=Page entière +page_scale_auto=Zoom automatique +page_scale_actual=Taille réelle +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}} % + +# Loading indicator messages +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. +unexpected_response_error=Réponse inattendue du serveur. + +# 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=[Annotation {{type}}] +password_label=Veuillez saisir le mot de passe pour ouvrir ce fichier PDF. +password_invalid=Mot de passe incorrect. Veuillez réessayer. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/fy-NL/viewer.properties b/app/assets/javascripts/publications/locale/fy-NL/viewer.properties new file mode 100644 index 0000000..09064e9 --- /dev/null +++ b/app/assets/javascripts/publications/locale/fy-NL/viewer.properties @@ -0,0 +1,251 @@ +# 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=Foarige side +previous_label=Foarige +next.title=Folgjende side +next_label=Folgjende + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +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=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. +page_of_pages=({{pageNumber}} fan {{pagesCount}}) + +zoom_out.title=Utzoome +zoom_out_label=Utzoome +zoom_in.title=Ynzoome +zoom_in_label=Ynzoome +zoom.title=Zoome +presentation_mode.title=Wikselje nei presintaasjemodus +presentation_mode_label=Presintaasjemodus +open_file.title=Bestân iepenje +open_file_label=Iepenje +print.title=Ofdrukke +print_label=Ofdrukke +download.title=Downloade +download_label=Downloade +bookmark.title=Aktuele finster (kopiearje of iepenje yn nij finster) +bookmark_label=Aktuele finster + +# Secondary toolbar and context menu +tools.title=Ark +tools_label=Ark +first_page.title=Gean nei earste side +first_page_label=Gean nei earste side +last_page.title=Gean nei lêste side +last_page_label=Gean nei lêste side +page_rotate_cw.title=Rjochtsom draaie +page_rotate_cw_label=Rjochtsom draaie +page_rotate_ccw.title=Loftsom draaie +page_rotate_ccw_label=Loftsom draaie + +cursor_text_select_tool.title=Tekstseleksjehelpmiddel ynskeakelje +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 +scroll_horizontal_label=Horizontaal skowe +scroll_wrapped.title=Skowe mei oersjoch brûke +scroll_wrapped_label=Skowe mei oersjoch + +spread_none.title=Sidesprieding net gearfetsje +spread_none_label=Gjin sprieding +spread_odd.title=Sidesprieding gearfetsje te starten mei ûneven nûmers +spread_odd_label=Uneven sprieding +spread_even.title=Sidesprieding gearfetsje te starten mei even nûmers +spread_even_label=Even sprieding + +# Document properties dialog box +document_properties.title=Dokuminteigenskippen… +document_properties_label=Dokuminteigenskippen… +document_properties_file_name=Bestânsnamme: +document_properties_file_size=Bestânsgrutte: +# 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=Titel: +document_properties_author=Auteur: +document_properties_subject=Underwerp: +document_properties_keywords=Kaaiwurden: +document_properties_creation_date=Oanmaakdatum: +document_properties_modification_date=Bewurkingsdatum: +# 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-makker: +document_properties_version=PDF-ferzje: +document_properties_page_count=Siden: +document_properties_page_size=Sideformaat: +document_properties_page_size_unit_inches=yn +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=steand +document_properties_page_size_orientation_landscape=lizzend +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=Juridysk +# 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=Flugge webwerjefte: +document_properties_linearized_yes=Ja +document_properties_linearized_no=Nee +document_properties_close=Slute + +print_progress_message=Dokumint tariede oar ôfdrukken… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Annulearje + +# 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=Sidebalke yn-/útskeakelje +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 + +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. +thumb_page_title=Side {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Foarbyld fan side {{page}} + +# Find panel button title and messages +find_input.title=Sykje +find_input.placeholder=Sykje yn dokumint… +find_previous.title=It foarige foarkommen fan de tekst sykje +find_previous_label=Foarige +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 +# 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}} fan {{total}} oerienkomst +find_match_count[two]={{current}} fan {{total}} oerienkomsten +find_match_count[few]={{current}} fan {{total}} oerienkomsten +find_match_count[many]={{current}} fan {{total}} oerienkomsten +find_match_count[other]={{current}} fan {{total}} oerienkomsten +# 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]=Mear as {{limit}} oerienkomsten +find_match_count_limit[one]=Mear as {{limit}} oerienkomst +find_match_count_limit[two]=Mear as {{limit}} oerienkomsten +find_match_count_limit[few]=Mear as {{limit}} oerienkomsten +find_match_count_limit[many]=Mear as {{limit}} oerienkomsten +find_match_count_limit[other]=Mear as {{limit}} oerienkomsten +find_not_found=Tekst net fûn + +# Error panel labels +error_more_info=Mear ynformaasje +error_less_info=Minder ynformaasje +error_close=Slute +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js f{{version}} (build: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Berjocht: {{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=Bestân: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Rigel: {{line}} +rendering_error=Der is in flater bard by it renderjen fan de side. + +# Predefined zoom values +page_scale_width=Sidebreedte +page_scale_fit=Hiele side +page_scale_auto=Automatysk zoome +page_scale_actual=Werklike grutte +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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. +unexpected_response_error=Unferwacht serverantwurd. + +# 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}}-annotaasje] +password_label=Jou it wachtwurd om dit PDF-bestân te iepenjen. +password_invalid=Ferkeard wachtwurd. Probearje opnij. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/ga-IE/viewer.properties b/app/assets/javascripts/publications/locale/ga-IE/viewer.properties new file mode 100644 index 0000000..e82e55b --- /dev/null +++ b/app/assets/javascripts/publications/locale/ga-IE/viewer.properties @@ -0,0 +1,201 @@ +# 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=An Leathanach Roimhe Seo +previous_label=Roimhe Seo +next.title=An Chéad Leathanach Eile +next_label=Ar Aghaidh + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Leathanach +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=as {{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}} as {{pagesCount}}) + +zoom_out.title=Súmáil Amach +zoom_out_label=Súmáil Amach +zoom_in.title=Súmáil Isteach +zoom_in_label=Súmáil Isteach +zoom.title=Súmáil +presentation_mode.title=Úsáid an Mód Láithreoireachta +presentation_mode_label=Mód Láithreoireachta +open_file.title=Oscail Comhad +open_file_label=Oscail +print.title=Priontáil +print_label=Priontáil +download.title=Íoslódáil +download_label=Íoslódáil +bookmark.title=An t-amharc reatha (cóipeáil nó oscail i bhfuinneog nua) +bookmark_label=An tAmharc Reatha + +# Secondary toolbar and context menu +tools.title=Uirlisí +tools_label=Uirlisí +first_page.title=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 +page_rotate_cw.title=Rothlaigh ar deiseal +page_rotate_cw_label=Rothlaigh ar deiseal +page_rotate_ccw.title=Rothlaigh ar tuathal +page_rotate_ccw_label=Rothlaigh ar tuathal + +cursor_text_select_tool.title=Cumasaigh an Uirlis Roghnaithe Téacs +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… +document_properties_file_name=Ainm an chomhaid: +document_properties_file_size=Méid an chomhaid: +# 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}} beart) +# 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}} beart) +document_properties_title=Teideal: +document_properties_author=Údar: +document_properties_subject=Ábhar: +document_properties_keywords=Eochairfhocail: +document_properties_creation_date=Dáta Cruthaithe: +document_properties_modification_date=Dáta Athraithe: +# 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=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… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Cealaigh + +# 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=Scoránaigh an Barra Taoibh +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 +attachments.title=Taispeáin Iatáin +attachments_label=Iatáin +thumbs.title=Taispeáin Mionsamhlacha +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. +thumb_page_title=Leathanach {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Mionsamhail Leathanaigh {{page}} + +# Find panel button title and messages +find_input.title=Aimsigh +find_input.placeholder=Aimsigh sa cháipéis… +find_previous.title=Aimsigh an sampla roimhe seo den nath seo +find_previous_label=Roimhe seo +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 +error_more_info=Tuilleadh Eolais +error_less_info=Níos Lú Eolais +error_close=Dún +# 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=Teachtaireacht: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Cruach: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Comhad: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Líne: {{line}} +rendering_error=Tharla earráid agus an leathanach á leagan amach. + +# Predefined zoom values +page_scale_width=Leithead Leathanaigh +page_scale_fit=Laghdaigh go dtí an Leathanach +page_scale_auto=Súmáil Uathoibríoch +page_scale_actual=Fíormhéid +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Anótáil {{type}}] +password_label=Cuir an focal faire isteach chun an comhad PDF seo a oscailt. +password_invalid=Focal faire mícheart. Déan iarracht eile. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/gd/viewer.properties b/app/assets/javascripts/publications/locale/gd/viewer.properties new file mode 100644 index 0000000..4f056b1 --- /dev/null +++ b/app/assets/javascripts/publications/locale/gd/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=An duilleag roimhe +previous_label=Air ais +next.title=An ath-dhuilleag +next_label=Air adhart + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Duilleag +# 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=Sùm a-mach +zoom_out_label=Sùm a-mach +zoom_in.title=Sùm a-steach +zoom_in_label=Sùm a-steach +zoom.title=Sùm +presentation_mode.title=Gearr leum dhan mhodh taisbeanaidh +presentation_mode_label=Am modh taisbeanaidh +open_file.title=Fosgail faidhle +open_file_label=Fosgail +print.title=Clò-bhuail +print_label=Clò-bhuail +download.title=Luchdaich a-nuas +download_label=Luchdaich a-nuas +bookmark.title=An sealladh làithreach (dèan lethbhreac no fosgail e ann an uinneag ùr) +bookmark_label=An sealladh làithreach + +# Secondary toolbar and context menu +tools.title=Innealan +tools_label=Innealan +first_page.title=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 +page_rotate_cw.title=Cuairtich gu deiseil +page_rotate_cw_label=Cuairtich gu deiseil +page_rotate_ccw.title=Cuairtich gu tuathail +page_rotate_ccw_label=Cuairtich gu tuathail + +cursor_text_select_tool.title=Cuir an comas inneal taghadh an teacsa +cursor_text_select_tool_label=Inneal taghadh an teacsa +cursor_hand_tool.title=Cuir inneal na làimhe an comas +cursor_hand_tool_label=Inneal na làimhe + +scroll_vertical.title=Cleachd sgroladh inghearach +scroll_vertical_label=Sgroladh inghearach +scroll_horizontal.title=Cleachd sgroladh còmhnard +scroll_horizontal_label=Sgroladh còmhnard +scroll_wrapped.title=Cleachd sgroladh paisgte +scroll_wrapped_label=Sgroladh paisgte + +spread_none.title=Na cuir còmhla sgoileadh dhuilleagan +spread_none_label=Gun sgaoileadh dhuilleagan +spread_odd.title=Cuir còmhla duilleagan sgaoilte a thòisicheas le duilleagan aig a bheil àireamh chorr +spread_odd_label=Sgaoileadh dhuilleagan corra +spread_even.title=Cuir còmhla duilleagan sgaoilte a thòisicheas le duilleagan aig a bheil àireamh chothrom +spread_even_label=Sgaoileadh dhuilleagan cothrom + +# Document properties dialog box +document_properties.title=Roghainnean na sgrìobhainne… +document_properties_label=Roghainnean na sgrìobhainne… +document_properties_file_name=Ainm an fhaidhle: +document_properties_file_size=Meud an fhaidhle: +# 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=Tiotal: +document_properties_author=Ùghdar: +document_properties_subject=Cuspair: +document_properties_keywords=Faclan-luirg: +document_properties_creation_date=Latha a chruthachaidh: +document_properties_modification_date=Latha atharrachaidh: +# 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=Cruthadair: +document_properties_producer=Saothraiche a' PDF: +document_properties_version=Tionndadh a' PDF: +document_properties_page_count=Àireamh de dhuilleagan: +document_properties_page_size=Meud na duilleige: +document_properties_page_size_unit_inches=ann an +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=portraid +document_properties_page_size_orientation_landscape=dreach-tìre +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Litir +document_properties_page_size_name_legal=Laghail +# 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=Grad shealladh-lìn: +document_properties_linearized_yes=Tha +document_properties_linearized_no=Chan eil +document_properties_close=Dùin + +print_progress_message=Ag ullachadh na sgrìobhainn airson clò-bhualadh… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Sguir dheth + +# 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=Toglaich am bàr-taoibh +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. +thumb_page_title=Duilleag a {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Dealbhag duilleag a {{page}} + +# Find panel button title and messages +find_input.title=Lorg +find_input.placeholder=Lorg san sgrìobhainn... +find_previous.title=Lorg làthair roimhe na h-abairt seo +find_previous_label=Air ais +find_next.title=Lorg ath-làthair na h-abairt seo +find_next_label=Air adhart +find_highlight=Soillsich a h-uile +find_match_case_label=Aire do litrichean mòra is beaga +find_entire_word_label=Faclan-slàna +find_reached_top=Ràinig sinn barr na duilleige, a' leantainn air adhart o bhonn na duilleige +find_reached_bottom=Ràinig sinn bonn na duilleige, a' leantainn air adhart o bharr na duilleige +# 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}} mhaids +find_match_count[two]={{current}} à {{total}} mhaids +find_match_count[few]={{current}} à {{total}} maidsichean +find_match_count[many]={{current}} à {{total}} maids +find_match_count[other]={{current}} à {{total}} maids +# 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]=Barrachd air {{limit}} maids +find_match_count_limit[one]=Barrachd air {{limit}} mhaids +find_match_count_limit[two]=Barrachd air {{limit}} mhaids +find_match_count_limit[few]=Barrachd air {{limit}} maidsichean +find_match_count_limit[many]=Barrachd air {{limit}} maids +find_match_count_limit[other]=Barrachd air {{limit}} maids +find_not_found=Cha deach an abairt a lorg + +# Error panel labels +error_more_info=Barrachd fiosrachaidh +error_less_info=Nas lugha de dh'fhiosrachadh +error_close=Dùin +# 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=Teachdaireachd: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stac: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Faidhle: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Loidhne: {{line}} +rendering_error=Thachair mearachd rè reandaradh na duilleige. + +# Predefined zoom values +page_scale_width=Leud na duilleige +page_scale_fit=Freagair ri meud na duilleige +page_scale_auto=Sùm fèin-obrachail +page_scale_actual=Am fìor-mheud +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +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-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. diff --git a/app/assets/javascripts/publications/locale/gl/viewer.properties b/app/assets/javascripts/publications/locale/gl/viewer.properties new file mode 100644 index 0000000..d4ea817 --- /dev/null +++ b/app/assets/javascripts/publications/locale/gl/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=Páxina anterior +previous_label=Anterior +next.title=Seguinte páxina +next_label=Seguinte + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Páxina +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=de {{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}} de {{pagesCount}}) + +zoom_out.title=Reducir +zoom_out_label=Reducir +zoom_in.title=Ampliar +zoom_in_label=Ampliar +zoom.title=Zoom +presentation_mode.title=Cambiar ao modo presentación +presentation_mode_label=Modo presentación +open_file.title=Abrir ficheiro +open_file_label=Abrir +print.title=Imprimir +print_label=Imprimir +download.title=Descargar +download_label=Descargar +bookmark.title=Vista actual (copiar ou abrir nunha nova xanela) +bookmark_label=Vista actual + +# Secondary toolbar and context menu +tools.title=Ferramentas +tools_label=Ferramentas +first_page.title=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 +page_rotate_cw.title=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 + +cursor_text_select_tool.title=Activar a ferramenta de selección de texto +cursor_text_select_tool_label=Ferramenta de selección de texto +cursor_hand_tool.title=Activar a ferramenta man +cursor_hand_tool_label=Ferramenta man + +scroll_vertical.title=Usar o desprazamento vertical +scroll_vertical_label=Desprazamento vertical +scroll_horizontal.title=Usar o desprazamento horizontal +scroll_horizontal_label=Desprazamento horizontal +scroll_wrapped.title=Usar desprazamento en bloque +scroll_wrapped_label=Desprazamento en bloque + +spread_none.title=Non agrupar páxinas +spread_none_label=Ningún agrupamento +spread_odd.title=Crea grupo de páxinas que comezan con números de páxina impares +spread_odd_label=Agrupamento impar +spread_even.title=Crea grupo de páxinas que comezan con números de páxina pares +spread_even_label=Agrupamento par + +# Document properties dialog box +document_properties.title=Propiedades do documento… +document_properties_label=Propiedades do documento… +document_properties_file_name=Nome do ficheiro: +document_properties_file_size=Tamaño do ficheiro: +# 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=Título: +document_properties_author=Autor: +document_properties_subject=Asunto: +document_properties_keywords=Palabras 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=Creado por: +document_properties_producer=Xenerador do PDF: +document_properties_version=Versión de PDF: +document_properties_page_count=Número de páxinas: +document_properties_page_size=Tamaño da 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 +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}} × {{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=Visualización rápida das páxinas web: +document_properties_linearized_yes=Si +document_properties_linearized_no=Non +document_properties_close=Pechar + +print_progress_message=Preparando documento para imprimir… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +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=Amosar/agochar a barra lateral +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. +thumb_page_title=Páxina {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura da páxina {{page}} + +# Find panel button title and messages +find_input.title=Atopar +find_input.placeholder=Atopar no documento… +find_previous.title=Atopar a anterior aparición da frase +find_previous_label=Anterior +find_next.title=Atopar a seguinte aparición da frase +find_next_label=Seguinte +find_highlight=Realzar todo +find_match_case_label=Diferenciar maiúsculas de minúsculas +find_entire_word_label=Palabras completas +find_reached_top=Chegouse ao inicio do documento, continuar desde o final +find_reached_bottom=Chegouse ao final do documento, continuar desde o inicio +# 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]=Máis de {{limit}} coincidencias +find_match_count_limit[one]=Máis de {{limit}} coincidencia +find_match_count_limit[two]=Máis de {{limit}} coincidencias +find_match_count_limit[few]=Máis de {{limit}} coincidencias +find_match_count_limit[many]=Máis de {{limit}} coincidencias +find_match_count_limit[other]=Máis de {{limit}} coincidencias +find_not_found=Non se atopou a frase + +# Error panel labels +error_more_info=Máis información +error_less_info=Menos información +error_close=Pechar +# 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}} (Identificador da compilación: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Mensaxe: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Pila: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Ficheiro: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Liña: {{line}} +rendering_error=Produciuse un erro ao representar a páxina. + +# Predefined zoom values +page_scale_width=Largura da páxina +page_scale_fit=Axuste de páxina +page_scale_auto=Zoom automático +page_scale_actual=Tamaño actual +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Anotación {{type}}] +password_label=Escriba o contrasinal para abrir este ficheiro PDF. +password_invalid=Contrasinal incorrecto. Tente de novo. +password_ok=Aceptar +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. diff --git a/app/assets/javascripts/publications/locale/gn/viewer.properties b/app/assets/javascripts/publications/locale/gn/viewer.properties new file mode 100644 index 0000000..e443df9 --- /dev/null +++ b/app/assets/javascripts/publications/locale/gn/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=Kuatiarogue mboyvegua +previous_label=Mboyvegua +next.title=Kuatiarogue upeigua +next_label=Upeigua + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Kuatiarogue +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages={{pagesCount}} gui +# 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}} of {{pagesCount}}) + +zoom_out.title=Momichĩ +zoom_out_label=Momichĩ +zoom_in.title=Mbotuicha +zoom_in_label=Mbotuicha +zoom.title=Tuichakue +presentation_mode.title=Jehechauka reko moambue +presentation_mode_label=Jehechauka reko +open_file.title=Marandurendápe jeike +open_file_label=Jeike +print.title=Monguatia +print_label=Monguatia +download.title=Mboguejy +download_label=Mboguejy +bookmark.title=Ag̃agua jehecha (mbohasarã térã eike peteĩ ovetã pyahúpe) +bookmark_label=Ag̃agua jehecha + +# Secondary toolbar and context menu +tools.title=Tembipuru +tools_label=Tembipuru +first_page.title=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 +page_rotate_cw.title=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 + +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 +scroll_horizontal_label=Jeku’e yvate gotyo +scroll_wrapped.title=Eipuru jeku’e mbohyrupyre +scroll_wrapped_label=Jeku’e mbohyrupyre + +spread_none.title=Ani ejuaju spreads kuatiarogue ndive +spread_none_label=Spreads ỹre +spread_odd.title=Embojuaju kuatiarogue jepysokue eñepyrũvo kuatiarogue impar-vagui +spread_odd_label=Spreads impar +spread_even.title=Embojuaju kuatiarogue jepysokue eñepyrũvo kuatiarogue par-vagui +spread_even_label=Ipukuve uvei + +# Document properties dialog box +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}}" +# 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=Teratee: +document_properties_author=Apohára: +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_version=PDF mbojuehegua: +document_properties_page_count=Kuatiarogue papapy: +document_properties_page_size=Kuatiarogue tuichakue: +document_properties_page_size_unit_inches=Amo +document_properties_page_size_unit_millimeters=mm +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_legal=Tee +# 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=Ñanduti jahecha pya’e: +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… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Heja + +# 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=Tenda yke moambue +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_label=Kuatia apopyre +attachments.title=Moirũha jehechauka +attachments_label=Moirũha +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 + +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}} + +# 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_label=Mboyvegua +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 +# 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}} ojojoguáva +find_match_count[two]={{current}} {{total}} ojojoguáva +find_match_count[few]={{current}} {{total}} ojojoguáva +find_match_count[many]={{current}} {{total}} ojojoguáva +find_match_count[other]={{current}} {{total}} ojojoguáva +# 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]=Hetave {{limit}} ojojoguáva +find_match_count_limit[one]=Hetave {{limit}} ojojogua +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 + +# Error panel labels +error_more_info=Maranduve +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}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +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 +error_line=Tairenda: {{line}} +rendering_error=Oiko jejavy ehechaukasévo kuatiarogue. + +# Predefined zoom values +page_scale_width=Kuatiarogue pekue +page_scale_fit=Kuatiarogue ñemoĩporã +page_scale_auto=Tuichakue ijeheguíva +page_scale_actual=Tuichakue ag̃agua +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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. + +# 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=[Jehaipy {{type}}] +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. diff --git a/app/assets/javascripts/publications/locale/gu-IN/viewer.properties b/app/assets/javascripts/publications/locale/gu-IN/viewer.properties new file mode 100644 index 0000000..174d464 --- /dev/null +++ b/app/assets/javascripts/publications/locale/gu-IN/viewer.properties @@ -0,0 +1,234 @@ +# 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=આવરિત સ્ક્રોલિંગ + +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}} 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. +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.title=દસ્તાવેજની રૂપરેખા બતાવો(બધી આઇટમ્સને વિસ્તૃત/સંકુચિત કરવા માટે ડબલ-ક્લિક કરો) +document_outline_label=દસ્તાવેજ રૂપરેખા +attachments.title=જોડાણોને બતાવો +attachments_label=જોડાણો +thumbs.title=થંબનેલ્સ બતાવો +thumbs_label=થંબનેલ્સ +findbar.title=દસ્તાવેજમાં શોધો +findbar_label=શોધો + +# 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]={{total}} માંથી {{current}} સરખું મળ્યું +find_match_count[two]={{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(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 (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=આ PDF ફાઇલને ખોલવા પાસવર્ડને દાખલ કરો. +password_invalid=અયોગ્ય પાસવર્ડ. મહેરબાની કરીને ફરી પ્રયત્ન કરો. +password_ok=બરાબર +password_cancel=રદ કરો + +printing_not_supported=ચેતવણી: છાપવાનું આ બ્રાઉઝર દ્દારા સંપૂર્ણપણે આધારભૂત નથી. +printing_not_ready=Warning: PDF એ છાપવા માટે સંપૂર્ણપણે લાવેલ છે. +web_fonts_disabled=વેબ ફોન્ટ નિષ્ક્રિય થયેલ છે: ઍમ્બેડ થયેલ PDF ફોન્ટને વાપરવાનું અસમર્થ. diff --git a/app/assets/javascripts/publications/locale/he/viewer.properties b/app/assets/javascripts/publications/locale/he/viewer.properties new file mode 100644 index 0000000..e8ed3f0 --- /dev/null +++ b/app/assets/javascripts/publications/locale/he/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}} +# 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=מ״מ +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]=יותר מתוצאה אחת +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 גרסה {{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/publications/locale/hi-IN/viewer.properties b/app/assets/javascripts/publications/locale/hi-IN/viewer.properties new file mode 100644 index 0000000..27064ee --- /dev/null +++ b/app/assets/javascripts/publications/locale/hi-IN/viewer.properties @@ -0,0 +1,234 @@ +# 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}} of {{pagesCount}}) + +zoom_out.title=\u0020छोटा करें +zoom_out_label=\u0020छोटा करें +zoom_in.title=बड़ा करें +zoom_in_label=बड़ा करें +zoom.title=बड़ा-छोटा करें +presentation_mode.title=प्रस्तुति अवस्था में जाएँ +presentation_mode_label=\u0020प्रस्तुति अवस्था +open_file.title=फ़ाइल खोलें +open_file_label=\u0020खोलें +print.title=छापें +print_label=\u0020छापें +download.title=डाउनलोड +download_label=डाउनलोड +bookmark.title=मौजूदा दृश्य (नए विंडो में नक़ल लें या खोलें) +bookmark_label=\u0020मौजूदा दृश्य + +# Secondary toolbar and context menu +tools.title=औज़ार +tools_label=औज़ार +first_page.title=प्रथम पृष्ठ पर जाएँ +first_page_label=प्रथम पृष्ठ पर जाएँ +last_page.title=अंतिम पृष्ठ पर जाएँ +last_page_label=\u0020अंतिम पृष्ठ पर जाएँ +page_rotate_cw.title=घड़ी की दिशा में घुमाएँ +page_rotate_cw_label=घड़ी की दिशा में घुमाएँ +page_rotate_ccw.title=घड़ी की दिशा से उल्टा घुमाएँ +page_rotate_ccw_label=\u0020घड़ी की दिशा से उल्टा घुमाएँ + +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=व्राप्पेड स्क्रॉलिंग का उपयोग करें + +spread_none_label=कोई स्प्रेड उपलब्ध नहीं +spread_odd.title=विषम-क्रमांकित पृष्ठों से प्रारंभ होने वाले पृष्ठ स्प्रेड में शामिल हों +spread_odd_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}} 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=शीर्षक: +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=\u0020स्लाइडर टॉगल करें +toggle_sidebar_label=स्लाइडर टॉगल करें +document_outline.title=दस्तावेज़ की रूपरेखा दिखाइए (सारी वस्तुओं को फलने अथवा समेटने के लिए दो बार क्लिक करें) +document_outline_label=दस्तावेज़ आउटलाइन +attachments.title=संलग्नक दिखायें +attachments_label=संलग्नक +thumbs.title=लघुछवियाँ दिखाएँ +thumbs_label=लघु छवि +findbar.title=\u0020दस्तावेज़ में ढूँढ़ें +findbar_label=ढूँढें + +# 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=\u0020सभी आलोकित करें +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]={{total}} में {{current}} मेल +find_match_count[two]={{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(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=\u0020संदेश: {{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=\u0020पृष्ठ चौड़ाई +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=\u0020अनुपस्थित 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=\u0020[{{type}} Annotation] +password_label=इस PDF फ़ाइल को खोलने के लिए कृपया कूटशब्द भरें. +password_invalid=अवैध कूटशब्द, कृपया फिर कोशिश करें. +password_ok=OK +password_cancel=रद्द करें + +printing_not_supported=चेतावनी: इस ब्राउज़र पर छपाई पूरी तरह से समर्थित नहीं है. +printing_not_ready=चेतावनी: PDF छपाई के लिए पूरी तरह से लोड नहीं है. +web_fonts_disabled=वेब फॉन्ट्स निष्क्रिय हैं: अंतःस्थापित PDF फॉन्टस के उपयोग में असमर्थ. diff --git a/app/assets/javascripts/publications/locale/hr/viewer.properties b/app/assets/javascripts/publications/locale/hr/viewer.properties new file mode 100644 index 0000000..1ccf441 --- /dev/null +++ b/app/assets/javascripts/publications/locale/hr/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=Prethodna stranica +previous_label=Prethodna +next.title=Sljedeća stranica +next_label=Sljedeća + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Stranica +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=od {{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}} od {{pagesCount}}) + +zoom_out.title=Umanji +zoom_out_label=Umanji +zoom_in.title=Uvećaj +zoom_in_label=Uvećaj +zoom.title=Zumiranje +presentation_mode.title=Prebaci u prezentacijski način rada +presentation_mode_label=Prezentacijski način rada +open_file.title=Otvori datoteku +open_file_label=Otvori +print.title=Ispiši +print_label=Ispiši +download.title=Preuzmi +download_label=Preuzmi +bookmark.title=Trenutačni prikaz (kopiraj ili otvori u novom prozoru) +bookmark_label=Trenutačni prikaz + +# Secondary toolbar and context menu +tools.title=Alati +tools_label=Alati +first_page.title=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 +page_rotate_cw.title=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 + +cursor_text_select_tool.title=Omogući alat za označavanje teksta +cursor_text_select_tool_label=Alat za označavanje teksta +cursor_hand_tool.title=Omogući ručni alat +cursor_hand_tool_label=Ručni alat + +scroll_vertical.title=Koristi okomito pomicanje +scroll_vertical_label=Okomito pomicanje +scroll_horizontal.title=Koristi vodoravno pomicanje +scroll_horizontal_label=Vodoravno pomicanje +scroll_wrapped.title=Koristi kontinuirani raspored stranica +scroll_wrapped_label=Kontinuirani raspored stranica + +spread_none.title=Ne izrađuj duplerice +spread_none_label=Pojedinačne stranice +spread_odd.title=Izradi duplerice koje počinju s neparnim stranicama +spread_odd_label=Neparne duplerice +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_file_name=Naziv datoteke: +document_properties_file_size=Veličina datoteke: +# 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}} bajtova) +# 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}} bajtova) +document_properties_title=Naslov: +document_properties_author=Autor: +document_properties_subject=Predmet: +document_properties_keywords=Ključne riječi: +document_properties_creation_date=Datum stvaranja: +document_properties_modification_date=Datum promjene: +# 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=Stvaratelj: +document_properties_producer=PDF stvaratelj: +document_properties_version=PDF verzija: +document_properties_page_count=Broj stranica: +document_properties_page_size=Dimenzije stranice: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=uspravno +document_properties_page_size_orientation_landscape=položeno +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=Brzi web pregled: +document_properties_linearized_yes=Da +document_properties_linearized_no=Ne +document_properties_close=Zatvori + +print_progress_message=Pripremanje dokumenta za ispis… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Odustani + +# 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=Prikaži/sakrij bočnu traku +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 +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 + +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. +thumb_page_title=Stranica {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Minijatura stranice {{page}} + +# Find panel button title and messages +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=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 +find_entire_word_label=Cijele riječi +find_reached_top=Dosegnut početak dokumenta, nastavak s kraja +find_reached_bottom=Dosegnut kraj dokumenta, nastavak s početka +# 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}} od {{total}} se podudara +find_match_count[two]={{current}} od {{total}} se podudara +find_match_count[few]={{current}} od {{total}} se podudara +find_match_count[many]={{current}} od {{total}} se podudara +find_match_count[other]={{current}} od {{total}} se podudara +# 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]=Više od {{limit}} podudaranja +find_match_count_limit[one]=Više od {{limit}} podudaranja +find_match_count_limit[two]=Više od {{limit}} podudaranja +find_match_count_limit[few]=Više od {{limit}} podudaranja +find_match_count_limit[many]=Više od {{limit}} podudaranja +find_match_count_limit[other]=Više od {{limit}} podudaranja +find_not_found=Izraz nije pronađen + +# Error panel labels +error_more_info=Više informacija +error_less_info=Manje informacija +error_close=Zatvori +# 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=Poruka: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stog: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Datoteka: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Redak: {{line}} +rendering_error=Došlo je do greške prilikom iscrtavanja stranice. + +# Predefined zoom values +page_scale_width=Prilagodi širini prozora +page_scale_fit=Prilagodi veličini prozora +page_scale_auto=Automatsko zumiranje +page_scale_actual=Stvarna veličina +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}} % + +# Loading indicator messages +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. +unexpected_response_error=Neočekivani odgovor poslužitelja. + +# 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}} Bilješka] +password_label=Za otvoranje ove PDF datoteku upiši lozinku. +password_invalid=Neispravna lozinka. Pokušaj ponovo. +password_ok=U redu +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 deaktivirani: nije moguće koristiti ugrađene PDF fontove. diff --git a/app/assets/javascripts/publications/locale/hsb/viewer.properties b/app/assets/javascripts/publications/locale/hsb/viewer.properties new file mode 100644 index 0000000..ec01124 --- /dev/null +++ b/app/assets/javascripts/publications/locale/hsb/viewer.properties @@ -0,0 +1,251 @@ +# 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ředchadna strona +previous_label=Wróćo +next.title=Přichodna strona +next_label=Dale + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Strona +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=z {{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}} z {{pagesCount}}) + +zoom_out.title=Pomjeńšić +zoom_out_label=Pomjeńšić +zoom_in.title=Powjetšić +zoom_in_label=Powjetšić +zoom.title=Skalowanje +presentation_mode.title=Do prezentaciskeho modusa přeńć +presentation_mode_label=Prezentaciski modus +open_file.title=Dataju wočinić +open_file_label=Wočinić +print.title=Ćišćeć +print_label=Ćišćeć +download.title=Sćahnyć +download_label=Sćahnyć +bookmark.title=Aktualny napohlad (kopěrować abo w nowym woknje wočinić) +bookmark_label=Aktualny napohlad + +# Secondary toolbar and context menu +tools.title=Nastroje +tools_label=Nastroje +first_page.title=K prěnjej stronje +first_page_label=K prěnjej stronje +last_page.title=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_ccw.title=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ć +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=Wertikalne suwanje +scroll_horizontal.title=Horicontalne suwanje wužiwać +scroll_horizontal_label=Horicontalne suwanje +scroll_wrapped.title=Postupne suwanje wužiwać +scroll_wrapped_label=Postupne suwanje + +spread_none.title=Strony njezwjazać +spread_none_label=Žana dwójna strona +spread_odd.title=Strony započinajo z njerunymi stronami zwjazać +spread_odd_label=Njerune strony +spread_even.title=Strony započinajo z runymi stronami zwjazać +spread_even_label=Rune strony + +# Document properties dialog box +document_properties.title=Dokumentowe kajkosće… +document_properties_label=Dokumentowe kajkosće… +document_properties_file_name=Mjeno dataje: +document_properties_file_size=Wulkosć dataje: +# 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}} bajtow) +# 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}} bajtow) +document_properties_title=Titul: +document_properties_author=Awtor: +document_properties_subject=Předmjet: +document_properties_keywords=Klučowe słowa: +document_properties_creation_date=Datum wutworjenja: +document_properties_modification_date=Datum změny: +# 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=Awtor: +document_properties_producer=PDF-zhotowjer: +document_properties_version=PDF-wersija: +document_properties_page_count=Ličba stronow: +document_properties_page_size=Wulkosć strony: +document_properties_page_size_unit_inches=cól +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=wysoki format +document_properties_page_size_orientation_landscape=prěčny format +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 Web View: +document_properties_linearized_yes=Haj +document_properties_linearized_no=Ně +document_properties_close=Začinić + +print_progress_message=Dokument so za ćišćenje přihotuje… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Přetorhnyć + +# 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=Bóčnicu pokazać/schować +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ć + +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. +thumb_page_title=Strona {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura strony {{page}} + +# Find panel button title and messages +find_input.title=Pytać +find_input.placeholder=W dokumenće pytać… +find_previous.title=Předchadne wustupowanje pytanskeho wuraza pytać +find_previous_label=Wróćo +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 +# 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}} z {{total}} wotpowědnika +find_match_count[two]={{current}} z {{total}} wotpowědnikow +find_match_count[few]={{current}} z {{total}} wotpowědnikow +find_match_count[many]={{current}} z {{total}} wotpowědnikow +find_match_count[other]={{current}} z {{total}} wotpowědnikow +# 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]=Wjace hač {{limit}} wotpowědnikow +find_match_count_limit[one]=Wjace hač {{limit}} wotpowědnik +find_match_count_limit[two]=Wjace hač {{limit}} wotpowědnikaj +find_match_count_limit[few]=Wjace hač {{limit}} wotpowědniki +find_match_count_limit[many]=Wjace hač {{limit}} wotpowědnikow +find_match_count_limit[other]=Wjace hač {{limit}} wotpowědnikow +find_not_found=Pytanski wuraz njeje so namakał + +# Error panel labels +error_more_info=Wjace informacijow +error_less_info=Mjenje informacijow +error_close=Začinić +# 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=Zdźělenka: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Lisćina zawołanjow: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Dataja: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Linka: {{line}} +rendering_error=Při zwobraznjenju strony je zmylk wustupił. + +# Predefined zoom values +page_scale_width=Šěrokosć strony +page_scale_fit=Wulkosć strony +page_scale_auto=Awtomatiske skalowanje +page_scale_actual=Aktualna wulkosć +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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. +unexpected_response_error=Njewočakowana serwerowa wotmołwa. + +# 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=[Typ přispomnjenki: {{type}}] +password_label=Zapodajće hesło, zo byšće PDF-dataju wočinił. +password_invalid=Njepłaćiwe hesło. Prošu spytajće hišće raz. +password_ok=W porjadku +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ć. diff --git a/app/assets/javascripts/publications/locale/hu/viewer.properties b/app/assets/javascripts/publications/locale/hu/viewer.properties new file mode 100644 index 0000000..ab6bd55 --- /dev/null +++ b/app/assets/javascripts/publications/locale/hu/viewer.properties @@ -0,0 +1,251 @@ +# 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=Előző oldal +previous_label=Előző +next.title=Következő oldal +next_label=Tovább + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Oldal +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=összesen: {{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=Kicsinyítés +zoom_out_label=Kicsinyítés +zoom_in.title=Nagyítás +zoom_in_label=Nagyítás +zoom.title=Nagyítás +presentation_mode.title=Váltás bemutató módba +presentation_mode_label=Bemutató mód +open_file.title=Fájl megnyitása +open_file_label=Megnyitás +print.title=Nyomtatás +print_label=Nyomtatás +download.title=Letöltés +download_label=Letöltés +bookmark.title=Jelenlegi nézet (másolás vagy megnyitás új ablakban) +bookmark_label=Aktuális nézet + +# Secondary toolbar and context menu +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 +last_page.title=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_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 + +cursor_text_select_tool.title=Szövegkijelölő eszköz bekapcsolása +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 +scroll_horizontal_label=Vízszintes görgetés +scroll_wrapped.title=Rácsos elrendezés használata +scroll_wrapped_label=Rácsos elrendezés + +spread_none.title=Ne tapassza össze az oldalakat +spread_none_label=Nincs összetapasztás +spread_odd.title=Lapok összetapasztása, a páratlan számú oldalakkal kezdve +spread_odd_label=Összetapasztás: páratlan +spread_even.title=Lapok összetapasztása, a páros számú oldalakkal kezdve +spread_even_label=Összetapasztás: páros + +# Document properties dialog box +document_properties.title=Dokumentum tulajdonságai… +document_properties_label=Dokumentum tulajdonságai… +document_properties_file_name=Fájlnév: +document_properties_file_size=Fájlméret: +# 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ájt) +# 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ájt) +document_properties_title=Cím: +document_properties_author=Szerző: +document_properties_subject=Tárgy: +document_properties_keywords=Kulcsszavak: +document_properties_creation_date=Létrehozás dátuma: +document_properties_modification_date=Módosítás dátuma: +# 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=Létrehozta: +document_properties_producer=PDF előállító: +document_properties_version=PDF verzió: +document_properties_page_count=Oldalszám: +document_properties_page_size=Lapméret: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=álló +document_properties_page_size_orientation_landscape=fekvő +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=Jogi információk +# 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=Gyors webes nézet: +document_properties_linearized_yes=Igen +document_properties_linearized_no=Nem +document_properties_close=Bezárás + +print_progress_message=Dokumentum előkészítése nyomtatáshoz… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Mégse + +# 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=Oldalsáv be/ki +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 + +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. +thumb_page_title={{page}}. oldal +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas={{page}}. oldal bélyegképe + +# Find panel button title and messages +find_input.title=Keresés +find_input.placeholder=Keresés a dokumentumban… +find_previous.title=A kifejezés előző előfordulásának keresése +find_previous_label=Előző +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 +# 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}} találat +find_match_count[two]={{current}} / {{total}} találat +find_match_count[few]={{current}} / {{total}} találat +find_match_count[many]={{current}} / {{total}} találat +find_match_count[other]={{current}} / {{total}} találat +# 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]=Több mint {{limit}} találat +find_match_count_limit[one]=Több mint {{limit}} találat +find_match_count_limit[two]=Több mint {{limit}} találat +find_match_count_limit[few]=Több mint {{limit}} találat +find_match_count_limit[many]=Több mint {{limit}} találat +find_match_count_limit[other]=Több mint {{limit}} találat +find_not_found=A kifejezés nem található + +# Error panel labels +error_more_info=További tudnivalók +error_less_info=Kevesebb információ +error_close=Bezárás +# 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=Üzenet: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Verem: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Fájl: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Sor: {{line}} +rendering_error=Hiba történt az oldal feldolgozása közben. + +# Predefined zoom values +page_scale_width=Oldalszélesség +page_scale_fit=Teljes oldal +page_scale_auto=Automatikus nagyítás +page_scale_actual=Valódi méret +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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. +unexpected_response_error=Váratlan kiszolgálóválasz. + +# 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}} megjegyzés] +password_label=Adja meg a jelszót a PDF fájl megnyitásához. +password_invalid=Helytelen jelszó. Próbálja újra. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/hy-AM/viewer.properties b/app/assets/javascripts/publications/locale/hy-AM/viewer.properties new file mode 100644 index 0000000..a97ae3c --- /dev/null +++ b/app/assets/javascripts/publications/locale/hy-AM/viewer.properties @@ -0,0 +1,238 @@ +# 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=Մասշտաբը\u0020 +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=Փաթաթված ոլորում + +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=մմ +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.title=Ցուցադրել փաստաթղթի ուրվագիծը (կրկնակի սեղմեք՝ միավորները ընդարձակելու/կոծկելու համար) +document_outline_label=Փաստաթղթի բովանդակությունը +attachments.title=Ցուցադրել կցորդները +attachments_label=Կցորդներ +thumbs.title=Ցուցադրել Մանրապատկերը +thumbs_label=Մանրապատկերը +findbar.title=Գտնել փաստաթղթում +findbar_label=Որոնում + +# 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={[ հոգնակի(ընդհանուր) ]} +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={[ հոգնակի (սահմանը) ]} +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_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/publications/locale/hye/viewer.properties b/app/assets/javascripts/publications/locale/hye/viewer.properties new file mode 100644 index 0000000..6af5982 --- /dev/null +++ b/app/assets/javascripts/publications/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/publications/locale/ia/viewer.properties b/app/assets/javascripts/publications/locale/ia/viewer.properties new file mode 100644 index 0000000..0b2cf95 --- /dev/null +++ b/app/assets/javascripts/publications/locale/ia/viewer.properties @@ -0,0 +1,251 @@ +# 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=Pagina previe +previous_label=Previe +next.title=Pagina sequente +next_label=Sequente + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Pagina +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=de {{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}} de {{pagesCount}}) + +zoom_out.title=Distantiar +zoom_out_label=Distantiar +zoom_in.title=Approximar +zoom_in_label=Approximar +zoom.title=Zoom +presentation_mode.title=Excambiar a modo presentation +presentation_mode_label=Modo presentation +open_file.title=Aperir le file +open_file_label=Aperir +print.title=Imprimer +print_label=Imprimer +download.title=Discargar +download_label=Discargar +bookmark.title=Vista actual (copiar o aperir in un nove fenestra) +bookmark_label=Vista actual + +# Secondary toolbar and context menu +tools.title=Instrumentos +tools_label=Instrumentos +first_page.title=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 +page_rotate_cw.title=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 + +cursor_text_select_tool.title=Activar le instrumento de selection de texto +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 +scroll_horizontal_label=Rolamento horizontal +scroll_wrapped.title=Usar rolamento incapsulate +scroll_wrapped_label=Rolamento incapsulate + +spread_none.title=Non junger paginas dual +spread_none_label=Sin paginas dual +spread_odd.title=Junger paginas dual a partir de paginas con numeros impar +spread_odd_label=Paginas dual impar +spread_even.title=Junger paginas dual a partir de paginas con numeros par +spread_even_label=Paginas dual par + +# Document properties dialog box +document_properties.title=Proprietates del documento… +document_properties_label=Proprietates del documento… +document_properties_file_name=Nomine del file: +document_properties_file_size=Dimension de file: +# 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=Titulo: +document_properties_author=Autor: +document_properties_subject=Subjecto: +document_properties_keywords=Parolas clave: +document_properties_creation_date=Data de creation: +document_properties_modification_date=Data de modification: +# 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_producer=Productor PDF: +document_properties_version=Version PDF: +document_properties_page_count=Numero de paginas: +document_properties_page_size=Dimension del pagina: +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 +document_properties_page_size_name_letter=Littera +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=Vista web rapide: +document_properties_linearized_yes=Si +document_properties_linearized_no=No +document_properties_close=Clauder + +print_progress_message=Preparation del documento pro le impression… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Cancellar + +# 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=Monstrar/celar le barra lateral +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 + +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. +thumb_page_title=Pagina {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Vignette del pagina {{page}} + +# Find panel button title and messages +find_input.title=Cercar +find_input.placeholder=Cercar in le documento… +find_previous.title=Trovar le previe occurrentia del phrase +find_previous_label=Previe +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 +# 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}} concordantia +find_match_count[two]={{current}} de {{total}} concordantias +find_match_count[few]={{current}} de {{total}} concordantias +find_match_count[many]={{current}} de {{total}} concordantias +find_match_count[other]={{current}} de {{total}} concordantias +# 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]=Plus de {{limit}} concordantias +find_match_count_limit[one]=Plus de {{limit}} concordantia +find_match_count_limit[two]=Plus de {{limit}} concordantias +find_match_count_limit[few]=Plus de {{limit}} concordantias +find_match_count_limit[many]=Plus de {{limit}} correspondentias +find_match_count_limit[other]=Plus de {{limit}} concordantias +find_not_found=Phrase non trovate + +# Error panel labels +error_more_info=Plus de informationes +error_less_info=Minus de informationes +error_close=Clauder +# 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=Pila: {{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=Linea: {{line}} +rendering_error=Un error occurreva durante que on processava le pagina. + +# Predefined zoom values +page_scale_width=Plen largor del pagina +page_scale_fit=Pagina integre +page_scale_auto=Zoom automatic +page_scale_actual=Dimension actual +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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. +unexpected_response_error=Responsa del servitor inexpectate. + +# 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=Insere le contrasigno pro aperir iste file PDF. +password_invalid=Contrasigno invalide. Per favor retenta. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/id/viewer.properties b/app/assets/javascripts/publications/locale/id/viewer.properties new file mode 100644 index 0000000..8bfffde --- /dev/null +++ b/app/assets/javascripts/publications/locale/id/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=Laman Sebelumnya +previous_label=Sebelumnya +next.title=Laman Selanjutnya +next_label=Selanjutnya + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Halaman +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=dari {{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}} dari {{pagesCount}}) + +zoom_out.title=Perkecil +zoom_out_label=Perkecil +zoom_in.title=Perbesar +zoom_in_label=Perbesar +zoom.title=Perbesaran +presentation_mode.title=Ganti ke Mode Presentasi +presentation_mode_label=Mode Presentasi +open_file.title=Buka Berkas +open_file_label=Buka +print.title=Cetak +print_label=Cetak +download.title=Unduh +download_label=Unduh +bookmark.title=Tampilan Sekarang (salin atau buka di jendela baru) +bookmark_label=Tampilan Sekarang + +# Secondary toolbar and context menu +tools.title=Alat +tools_label=Alat +first_page.title=Buka Halaman Pertama +first_page_label=Buka Halaman Pertama +last_page.title=Buka 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_ccw.title=Putar Berlawanan Arah Jarum Jam +page_rotate_ccw_label=Putar Berlawanan Arah Jarum Jam + +cursor_text_select_tool.title=Aktifkan Alat Seleksi Teks +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 +scroll_horizontal_label=Penggeseran Horizontal +scroll_wrapped.title=Gunakan Penggeseran Terapit +scroll_wrapped_label=Penggeseran Terapit + +spread_none.title=Jangan gabungkan lembar halaman +spread_none_label=Tidak Ada Lembaran +spread_odd.title=Gabungkan lembar lamanan mulai dengan halaman ganjil +spread_odd_label=Lembaran Ganjil +spread_even.title=Gabungkan lembar halaman dimulai dengan halaman genap +spread_even_label=Lembaran Genap + +# Document properties dialog box +document_properties.title=Properti Dokumen… +document_properties_label=Properti Dokumen… +document_properties_file_name=Nama berkas: +document_properties_file_size=Ukuran berkas: +# 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}} byte) +# 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}} byte) +document_properties_title=Judul: +document_properties_author=Penyusun: +document_properties_subject=Subjek: +document_properties_keywords=Kata Kunci: +document_properties_creation_date=Tanggal Dibuat: +document_properties_modification_date=Tanggal Dimodifikasi: +# 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=Pembuat: +document_properties_producer=Pemroduksi PDF: +document_properties_version=Versi PDF: +document_properties_page_count=Jumlah Halaman: +document_properties_page_size=Ukuran Laman: +document_properties_page_size_unit_inches=inci +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=tegak +document_properties_page_size_orientation_landscape=mendatar +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=Tampilan Web Kilat: +document_properties_linearized_yes=Ya +document_properties_linearized_no=Tidak +document_properties_close=Tutup + +print_progress_message=Menyiapkan dokumen untuk pencetakan… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Batalkan + +# 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=Aktif/Nonaktifkan Bilah Samping +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 + +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. +thumb_page_title=Laman {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatur Laman {{page}} + +# Find panel button title and messages +find_input.title=Temukan +find_input.placeholder=Temukan di dokumen… +find_previous.title=Temukan kata sebelumnya +find_previous_label=Sebelumnya +find_next.title=Temukan lebih lanjut +find_next_label=Selanjutnya +find_highlight=Sorot semuanya +find_match_case_label=Cocokkan BESAR/kecil +find_entire_word_label=Seluruh teks +find_reached_top=Sampai di awal dokumen, dilanjutkan dari bawah +find_reached_bottom=Sampai di akhir dokumen, dilanjutkan dari atas +# 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}} dari {{total}} hasil +find_match_count[two]={{current}} dari {{total}} hasil +find_match_count[few]={{current}} dari {{total}} hasil +find_match_count[many]={{current}} dari {{total}} hasil +find_match_count[other]={{current}} dari {{total}} hasil +# 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]=Ditemukan lebih dari {{limit}} +find_match_count_limit[one]=Ditemukan lebih dari {{limit}} +find_match_count_limit[two]=Ditemukan lebih dari {{limit}} +find_match_count_limit[few]=Ditemukan lebih dari {{limit}} +find_match_count_limit[many]=Ditemukan lebih dari {{limit}} +find_match_count_limit[other]=Ditemukan lebih dari {{limit}} +find_not_found=Frasa tidak ditemukan + +# Error panel labels +error_more_info=Lebih Banyak Informasi +error_less_info=Lebih Sedikit Informasi +error_close=Tutup +# 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=Pesan: {{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=Berkas: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Baris: {{line}} +rendering_error=Galat terjadi saat merender laman. + +# Predefined zoom values +page_scale_width=Lebar Laman +page_scale_fit=Muat Laman +page_scale_auto=Perbesaran Otomatis +page_scale_actual=Ukuran Asli +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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. +unexpected_response_error=Balasan server yang tidak diharapkan. + +# 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=[Anotasi {{type}}] +password_label=Masukkan sandi untuk membuka berkas PDF ini. +password_invalid=Sandi tidak valid. Silakan coba lagi. +password_ok=Oke +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. diff --git a/app/assets/javascripts/publications/locale/is/viewer.properties b/app/assets/javascripts/publications/locale/is/viewer.properties new file mode 100644 index 0000000..0d1dea8 --- /dev/null +++ b/app/assets/javascripts/publications/locale/is/viewer.properties @@ -0,0 +1,251 @@ +# 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=Fyrri síða +previous_label=Fyrri +next.title=Næsta síða +next_label=Næsti + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Síða +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=af {{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}} af {{pagesCount}}) + +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 +open_file.title=Opna skrá +open_file_label=Opna +print.title=Prenta +print_label=Prenta +download.title=Hala niður +download_label=Hala niður +bookmark.title=Núverandi sýn (afritaðu eða opnaðu í nýjum glugga) +bookmark_label=Núverandi sýn + +# Secondary toolbar and context menu +tools.title=Verkfæri +tools_label=Verkfæri +first_page.title=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 +page_rotate_cw.title=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 + +cursor_text_select_tool.title=Virkja textavalsáhald +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 +spread_odd.title=Taka þátt í dreifingu síðna með oddatölum +spread_odd_label=Oddatöludreifing +spread_even.title=Taktu þátt í dreifingu síðna með jöfnuntölum +spread_even_label=Jafnatöludreifing + +# Document properties dialog box +document_properties.title=Eiginleikar skjals… +document_properties_label=Eiginleikar skjals… +document_properties_file_name=Skráarnafn: +document_properties_file_size=Skrárstærð: +# 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=Titill: +document_properties_author=Hönnuður: +document_properties_subject=Efni: +document_properties_keywords=Stikkorð: +document_properties_creation_date=Búið til: +document_properties_modification_date=Dags breytingar: +# 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=Höfundur: +document_properties_producer=PDF framleiðandi: +document_properties_version=PDF útgáfa: +document_properties_page_count=Blaðsíðufjöldi: +document_properties_page_size=Stærð síðu: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=skammsnið +document_properties_page_size_orientation_landscape=langsnið +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=Fljótleg vefskoðun: +document_properties_linearized_yes=Já +document_properties_linearized_no=Nei +document_properties_close=Loka + +print_progress_message=Undirbý skjal fyrir prentun… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +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ð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. +thumb_page_title=Síða {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Smámynd af síðu {{page}} + +# Find panel button title and messages +find_input.title=Leita +find_input.placeholder=Leita í skjali… +find_previous.title=Leita að fyrra tilfelli þessara orða +find_previous_label=Fyrri +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 +# 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}} af {{total}} niðurstöðu +find_match_count[two]={{current}} af {{total}} niðurstöðum +find_match_count[few]={{current}} af {{total}} niðurstöðum +find_match_count[many]={{current}} af {{total}} niðurstöðum +find_match_count[other]={{current}} af {{total}} niðurstöðum +# 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]=Fleiri en {{limit}} niðurstöður +find_match_count_limit[one]=Fleiri en {{limit}} niðurstaða +find_match_count_limit[two]=Fleiri en {{limit}} niðurstöður +find_match_count_limit[few]=Fleiri en {{limit}} niðurstöður +find_match_count_limit[many]=Fleiri en {{limit}} niðurstöður +find_match_count_limit[other]=Fleiri en {{limit}} niðurstöður +find_not_found=Fann ekki orðið + +# Error panel labels +error_more_info=Meiri upplýsingar +error_less_info=Minni upplýsingar +error_close=Loka +# 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=Skilaboð: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stafli: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Skrá: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Lína: {{line}} +rendering_error=Upp kom villa við að birta síðuna. + +# Predefined zoom values +page_scale_width=Síðubreidd +page_scale_fit=Passa á síðu +page_scale_auto=Sjálfvirkur aðdráttur +page_scale_actual=Raunstærð +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Skýring] +password_label=Sláðu inn lykilorð til að opna þessa PDF skrá. +password_invalid=Ógilt lykilorð. Reyndu aftur. +password_ok=Í lagi +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. diff --git a/app/assets/javascripts/publications/locale/it/viewer.properties b/app/assets/javascripts/publications/locale/it/viewer.properties new file mode 100644 index 0000000..6db5f12 --- /dev/null +++ b/app/assets/javascripts/publications/locale/it/viewer.properties @@ -0,0 +1,193 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# 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 +zoom_in_label = Aumenta zoom +zoom.title = Zoom +presentation_mode.title = Passa alla modalità presentazione +presentation_mode_label = Modalità presentazione +open_file.title = Apri file +open_file_label = Apri +print.title = Stampa +print_label = Stampa +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 +last_page.title = 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_ccw.title = 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: +document_properties_file_size = Dimensione file: +document_properties_kb = {{size_kb}} kB ({{size_b}} byte) +document_properties_mb = {{size_mb}} MB ({{size_b}} byte) +document_properties_title = Titolo: +document_properties_author = Autore: +document_properties_subject = Oggetto: +document_properties_keywords = Parole chiave: +document_properties_creation_date = Data creazione: +document_properties_modification_date = Data modifica: +document_properties_date_string = {{date}}, {{time}} +document_properties_creator = Autore originale: +document_properties_producer = Produttore PDF: +document_properties_version = Versione PDF: +document_properties_page_count = Conteggio pagine: +document_properties_page_size = Dimensioni pagina: +document_properties_page_size_unit_inches = in +document_properties_page_size_unit_millimeters = mm +document_properties_page_size_orientation_portrait = verticale +document_properties_page_size_orientation_landscape = orizzontale +document_properties_page_size_name_a3 = A3 +document_properties_page_size_name_a4 = A4 +document_properties_page_size_name_letter = Lettera +document_properties_page_size_name_legal = Legale +document_properties_page_size_dimension_string = {{width}} × {{height}} {{unit}} ({{orientation}}) +document_properties_page_size_dimension_name_string = {{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +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_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 + +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 +find_previous_label = Precedente +find_next.title = Trova l’occorrenza successiva del testo da cercare +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) ]} +find_match_count[one] = {{current}} di {{total}} corrispondenza +find_match_count[two] = {{current}} di {{total}} corrispondenze +find_match_count[few] = {{current}} di {{total}} corrispondenze +find_match_count[many] = {{current}} di {{total}} corrispondenze +find_match_count[other] = {{current}} di {{total}} corrispondenze +find_match_count_limit = {[ plural(limit) ]} +find_match_count_limit[zero] = Più di {{limit}} corrispondenze +find_match_count_limit[one] = Più di {{limit}} corrispondenza +find_match_count_limit[two] = Più di {{limit}} corrispondenze +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 +error_version_info = PDF.js v{{version}} (build: {{build}}) +error_message = Messaggio: {{message}} +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 = 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. diff --git a/app/assets/javascripts/publications/locale/ja/viewer.properties b/app/assets/javascripts/publications/locale/ja/viewer.properties new file mode 100644 index 0000000..6fbabca --- /dev/null +++ b/app/assets/javascripts/publications/locale/ja/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}} +# 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=現在のビューの URL です (コピーまたは新しいウィンドウに開く) +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}} 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=in +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]={{total}} 件中 {{current}} 件目 +find_match_count[two]={{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(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=OK +password_cancel=キャンセル + +printing_not_supported=警告: このブラウザーでは印刷が完全にサポートされていません。 +printing_not_ready=警告: PDF を印刷するための読み込みが終了していません。 +web_fonts_disabled=ウェブフォントが無効になっています: 埋め込まれた PDF のフォントを使用できません。 diff --git a/app/assets/javascripts/publications/locale/ka/viewer.properties b/app/assets/javascripts/publications/locale/ka/viewer.properties new file mode 100644 index 0000000..2144a11 --- /dev/null +++ b/app/assets/javascripts/publications/locale/ka/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}}-დან +# 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=მმ +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=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=მსუბუქი ვებჩვენება: +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: {{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/publications/locale/kab/viewer.properties b/app/assets/javascripts/publications/locale/kab/viewer.properties new file mode 100644 index 0000000..bb249d0 --- /dev/null +++ b/app/assets/javascripts/publications/locale/kab/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=Asebter azewwar +previous_label=Azewwar +next.title=Asebter d-iteddun +next_label=Ddu ɣer zdat + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Asebter +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=ɣef {{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}} n {{pagesCount}}) + +zoom_out.title=Semẓi +zoom_out_label=Semẓi +zoom_in.title=Semɣeṛ +zoom_in_label=Semɣeṛ +zoom.title=Semɣeṛ/Semẓi +presentation_mode.title=Uɣal ɣer Uskar Tihawt +presentation_mode_label=Askar Tihawt +open_file.title=Ldi Afaylu +open_file_label=Ldi +print.title=Siggez +print_label=Siggez +download.title=Sader +download_label=Azdam +bookmark.title=Timeẓri tamirant (nɣel neɣ ldi ɣef usfaylu amaynut) +bookmark_label=Askan amiran + +# Secondary toolbar and context menu +tools.title=Ifecka +tools_label=Ifecka +first_page.title=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 +page_rotate_cw.title=Tuzzya tusrigt +page_rotate_cw_label=Tuzzya tusrigt +page_rotate_ccw.title=Tuzzya amgal-usrig +page_rotate_ccw_label=Tuzzya amgal-usrig + +cursor_text_select_tool.title=Rmed afecku n tefrant n uḍris +cursor_text_select_tool_label=Afecku n tefrant n uḍris +cursor_hand_tool.title=Rmed afecku afus +cursor_hand_tool_label=Afecku afus + +scroll_vertical.title=Seqdec adrurem ubdid +scroll_vertical_label=Adrurem ubdid +scroll_horizontal.title=Seqdec adrurem aglawan +scroll_horizontal_label=Adrurem aglawan +scroll_wrapped.title=Seqdec adrurem yuẓen +scroll_wrapped_label=Adrurem yuẓen + +spread_none.title=Ur sedday ara isiɣzaf n usebter +spread_none_label=Ulac isiɣzaf +spread_odd.title=Seddu isiɣzaf n usebter ibeddun s yisebtar irayuganen +spread_odd_label=Isiɣzaf irayuganen +spread_even.title=Seddu isiɣzaf n usebter ibeddun s yisebtar iyuganen +spread_even_label=Isiɣzaf iyuganen + +# Document properties dialog box +document_properties.title=Taɣaṛa n isemli… +document_properties_label=Taɣaṛa n isemli… +document_properties_file_name=Isem n ufaylu: +document_properties_file_size=Teɣzi n ufaylu: +# 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}} KAṬ ({{size_b}} ibiten) +# 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}} MAṬ ({{size_b}} iṭamḍanen) +document_properties_title=Azwel: +document_properties_author=Ameskar: +document_properties_subject=Amgay: +document_properties_keywords=Awalen n tsaruţ +document_properties_creation_date=Azemz n tmerna: +document_properties_modification_date=Azemz n usnifel: +# 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=Yerna-t: +document_properties_producer=Afecku n uselket PDF: +document_properties_version=Lqem PDF: +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 +document_properties_page_size_orientation_portrait=s teɣzi +document_properties_page_size_orientation_landscape=s tehri +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Asekkil +document_properties_page_size_name_legal=Usḍif +# 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=Taskant Web taruradt: +document_properties_linearized_yes=Ih +document_properties_linearized_no=Ala +document_properties_close=Mdel + +print_progress_message=Aheggi i usiggez n isemli… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Sefsex + +# 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=Sken/Fer agalis adisan +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 + +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. +thumb_page_title=Asebter {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Tanfult n usebter {{page}} + +# Find panel button title and messages +find_input.title=Nadi +find_input.placeholder=Nadi deg isemli… +find_previous.title=Aff-d tamseḍriwt n twinest n deffir +find_previous_label=Azewwar +find_next.title=Aff-d timseḍriwt n twinest d-iteddun +find_next_label=Ddu ɣer zdat +find_highlight=Err izirig imaṛṛa +find_match_case_label=Qadeṛ amasal n isekkilen +find_entire_word_label=Awalen iččuranen +find_reached_top=Yabbeḍ s afella n usebter, tuɣalin s wadda +find_reached_bottom=Tebḍeḍ s adda n usebter, tuɣalin s afella +# 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}} seg {{total}} n tmeɣṛuḍin +find_match_count[two]={{current}} seg {{total}} n tmeɣṛuḍin +find_match_count[few]={{current}} seg {{total}} n tmeɣṛuḍin +find_match_count[many]={{current}} seg {{total}} n tmeɣṛuḍin +find_match_count[other]={{current}} seg {{total}} n tmeɣṛuḍin +# 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]=Ugar n {{limit}} n tmeɣṛuḍin +find_match_count_limit[one]=Ugar n {{limit}} n tmeɣṛuḍin +find_match_count_limit[two]=Ugar n {{limit}} n tmeɣṛuḍin +find_match_count_limit[few]=Ugar n {{limit}} n tmeɣṛuḍin +find_match_count_limit[many]=Ugar n {{limit}} n tmeɣṛuḍin +find_match_count_limit[other]=Ugar n {{limit}} n tmeɣṛuḍin +find_not_found=Ulac tawinest + +# Error panel labels +error_more_info=Ugar n telɣut +error_less_info=Drus n isalen +error_close=Mdel +# 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=Izen: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Tanebdant: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Afaylu: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Izirig: {{line}} +rendering_error=Teḍra-d tuccḍa deg uskan n usebter. + +# Predefined zoom values +page_scale_width=Tehri n usebter +page_scale_fit=Asebter imaṛṛa +page_scale_auto=Asemɣeṛ/Asemẓi awurman +page_scale_actual=Teɣzi tilawt +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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. +unexpected_response_error=Aqeddac yerra-d yir tiririt ur nettwaṛǧi ara. + +# 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=[Tabzimt {{type}}] +password_label=Sekcem awal uffir akken ad ldiḍ afaylu-yagi PDF +password_invalid=Awal uffir mačči d ameɣtu, Ɛreḍ tikelt-nniḍen. +password_ok=IH +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. diff --git a/app/assets/javascripts/publications/locale/kk/viewer.properties b/app/assets/javascripts/publications/locale/kk/viewer.properties new file mode 100644 index 0000000..4565044 --- /dev/null +++ b/app/assets/javascripts/publications/locale/kk/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}} ішінен +# 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=мм +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=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=Жылдам Web көрінісі: +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/publications/locale/km/viewer.properties b/app/assets/javascripts/publications/locale/km/viewer.properties new file mode 100644 index 0000000..3dcac78 --- /dev/null +++ b/app/assets/javascripts/publications/locale/km/viewer.properties @@ -0,0 +1,209 @@ +# 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=ឧបករណ៍​ដៃ + + + +# 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}} 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_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=កំពុង​រៀបចំ​ឯកសារ​សម្រាប់​បោះពុម្ព… +# 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.title=បង្ហាញ​គ្រោង​ឯកសារ (ចុច​ទ្វេ​ដង​ដើម្បី​ពង្រីក/បង្រួម​ធាតុ​ទាំងអស់) +document_outline_label=គ្រោង​ឯកសារ +attachments.title=បង្ហាញ​ឯកសារ​ភ្ជាប់ +attachments_label=ឯកសារ​ភ្ជាប់ +thumbs.title=បង្ហាញ​រូបភាព​តូចៗ +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. +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_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=ព័ត៌មាន​តិចតួច +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. + +# 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/publications/locale/kn/viewer.properties b/app/assets/javascripts/publications/locale/kn/viewer.properties new file mode 100644 index 0000000..79c0437 --- /dev/null +++ b/app/assets/javascripts/publications/locale/kn/viewer.properties @@ -0,0 +1,186 @@ +# 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=({{pagesCount}} ರಲ್ಲಿ {{pageNumber}}) + +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=ಕೈ ಉಪಕರಣ + + + +# 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}} 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_unit_inches=ಇದರಲ್ಲಿ +document_properties_page_size_orientation_portrait=ಭಾವಚಿತ್ರ +document_properties_page_size_orientation_landscape=ಪ್ರಕೃತಿ ಚಿತ್ರ +# 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_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=ಲಗತ್ತುಗಳು +thumbs.title=ಚಿಕ್ಕಚಿತ್ರದಂತೆ ತೋರಿಸು +thumbs_label=ಚಿಕ್ಕಚಿತ್ರಗಳು +findbar.title=ದಸ್ತಾವೇಜಿನಲ್ಲಿ ಹುಡುಕು +findbar_label=ಹುಡುಕು + +# 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_reached_top=ದಸ್ತಾವೇಜಿನ ಮೇಲ್ಭಾಗವನ್ನು ತಲುಪಿದೆ, ಕೆಳಗಿನಿಂದ ಆರಂಭಿಸು +find_reached_bottom=ದಸ್ತಾವೇಜಿನ ಕೊನೆಯನ್ನು ತಲುಪಿದೆ, ಮೇಲಿನಿಂದ ಆರಂಭಿಸು +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 (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=OK +password_cancel=ರದ್ದು ಮಾಡು + +printing_not_supported=ಎಚ್ಚರಿಕೆ: ಈ ಜಾಲವೀಕ್ಷಕದಲ್ಲಿ ಮುದ್ರಣಕ್ಕೆ ಸಂಪೂರ್ಣ ಬೆಂಬಲವಿಲ್ಲ. +printing_not_ready=ಎಚ್ಚರಿಕೆ: PDF ಕಡತವು ಮುದ್ರಿಸಲು ಸಂಪೂರ್ಣವಾಗಿ ಲೋಡ್ ಆಗಿಲ್ಲ. +web_fonts_disabled=ಜಾಲ ಅಕ್ಷರಶೈಲಿಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ: ಅಡಕಗೊಳಿಸಿದ PDF ಅಕ್ಷರಶೈಲಿಗಳನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ. diff --git a/app/assets/javascripts/publications/locale/ko/viewer.properties b/app/assets/javascripts/publications/locale/ko/viewer.properties new file mode 100644 index 0000000..6812ae6 --- /dev/null +++ b/app/assets/javascripts/publications/locale/ko/viewer.properties @@ -0,0 +1,251 @@ +# 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=가로 스크롤 사용 +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}} 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=in +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=지정 문자열에 일치하는 1개 부분을 검색 +find_previous_label=이전 +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=문서 끝까지 검색하고 앞으로 돌아와 검색했습니다. +# 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]={{total}} 중 {{current}} 일치 +find_match_count[two]={{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(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/publications/locale/lij/viewer.properties b/app/assets/javascripts/publications/locale/lij/viewer.properties new file mode 100644 index 0000000..b89981c --- /dev/null +++ b/app/assets/javascripts/publications/locale/lij/viewer.properties @@ -0,0 +1,234 @@ +# 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=Pagina primma +previous_label=Precedente +next.title=Pagina dòppo +next_label=Pròscima + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Pagina +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=de {{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}} de {{pagesCount}}) + +zoom_out.title=Diminoisci zoom +zoom_out_label=Diminoisci zoom +zoom_in.title=Aomenta zoom +zoom_in_label=Aomenta zoom +zoom.title=Zoom +presentation_mode.title=Vanni into mòddo de prezentaçion +presentation_mode_label=Mòddo de prezentaçion +open_file.title=Arvi file +open_file_label=Arvi +print.title=Stanpa +print_label=Stanpa +download.title=Descaregamento +download_label=Descaregamento +bookmark.title=Vixon corente (còpia ò arvi inte 'n neuvo barcon) +bookmark_label=Vixon corente + +# Secondary toolbar and context menu +tools.title=Atressi +tools_label=Atressi +first_page.title=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 +page_rotate_cw.title=Gia into verso oraio +page_rotate_cw_label=Gia into verso oraio +page_rotate_ccw.title=Gia into verso antioraio +page_rotate_ccw_label=Gia into verso antioraio + +cursor_text_select_tool.title=Abilita strumento de seleçion do testo +cursor_text_select_tool_label=Strumento de seleçion do testo +cursor_hand_tool.title=Abilita strumento man +cursor_hand_tool_label=Strumento man + +scroll_vertical.title=Deuvia rebelamento verticale +scroll_vertical_label=Rebelamento verticale +scroll_horizontal.title=Deuvia rebelamento orizontâ +scroll_horizontal_label=Rebelamento orizontâ +scroll_wrapped.title=Deuvia rebelamento incapsolou +scroll_wrapped_label=Rebelamento incapsolou + +spread_none.title=No unite a-a difuxon de pagina +spread_none_label=No difuxon +spread_odd.title=Uniscite a-a difuxon de pagina co-o numero dèspa +spread_odd_label=Difuxon dèspa +spread_even.title=Uniscite a-a difuxon de pagina co-o numero pari +spread_even_label=Difuxon pari + +# Document properties dialog box +document_properties.title=Propietæ do documento… +document_properties_label=Propietæ do documento… +document_properties_file_name=Nomme schedaio: +document_properties_file_size=Dimenscion schedaio: +# 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}} byte) +# 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}} byte) +document_properties_title=Titolo: +document_properties_author=Aoto: +document_properties_subject=Ogetto: +document_properties_keywords=Paròlle ciave: +document_properties_creation_date=Dæta creaçion: +document_properties_modification_date=Dæta cangiamento: +# 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=Aotô originale: +document_properties_producer=Produtô PDF: +document_properties_version=Verscion PDF: +document_properties_page_count=Contezzo pagine: +document_properties_page_size=Dimenscion da pagina: +document_properties_page_size_unit_inches=dii gròsci +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=drito +document_properties_page_size_orientation_landscape=desteizo +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letia +document_properties_page_size_name_legal=Lezze +# 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=Vista veloce do Web: +document_properties_linearized_yes=Sci +document_properties_linearized_no=No +document_properties_close=Særa + +print_progress_message=Praparo o documento pe-a stanpa… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Anulla + +# 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=Ativa/dizativa bara de scianco +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 +attachments.title=Fanni vedde alegæ +attachments_label=Alegæ +thumbs.title=Mostra miniatue +thumbs_label=Miniatue +findbar.title=Treuva into documento +findbar_label=Treuva + +# 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=Pagina {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatua da pagina {{page}} + +# Find panel button title and messages +find_input.title=Treuva +find_input.placeholder=Treuva into documento… +find_previous.title=Treuva a ripetiçion precedente do testo da çercâ +find_previous_label=Precedente +find_next.title=Treuva a ripetiçion dòppo do testo da çercâ +find_next_label=Segoente +find_highlight=Evidençia +find_match_case_label=Maioscole/minoscole +find_entire_word_label=Poula intrega +find_reached_top=Razonto a fin da pagina, continoa da l'iniçio +find_reached_bottom=Razonto l'iniçio da pagina, continoa da-a fin +# 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}} corispondensa +find_match_count[two]={{current}} de {{total}} corispondense +find_match_count[few]={{current}} de {{total}} corispondense +find_match_count[many]={{current}} de {{total}} corispondense +find_match_count[other]={{current}} de {{total}} corispondense +# 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]=Ciù de {{limit}} corispondense +find_match_count_limit[one]=Ciù de {{limit}} corispondensa +find_match_count_limit[two]=Ciù de {{limit}} corispondense +find_match_count_limit[few]=Ciù de {{limit}} corispondense +find_match_count_limit[many]=Ciù de {{limit}} corispondense +find_match_count_limit[other]=Ciù de {{limit}} corispondense +find_not_found=Testo no trovou + +# Error panel labels +error_more_info=Ciù informaçioin +error_less_info=Meno informaçioin +error_close=Særa +# 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=Mesaggio: {{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=Schedaio: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Linia: {{line}} +rendering_error=Gh'é stæto 'n'erô itno rendering da pagina. + +# Predefined zoom values +page_scale_width=Larghessa pagina +page_scale_fit=Adatta a una pagina +page_scale_auto=Zoom aotomatico +page_scale_actual=Dimenscioin efetive +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +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'é. +unexpected_response_error=Risposta inprevista do-u server + +# 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=[Anotaçion: {{type}}] +password_label=Dimme a paròlla segreta pe arvî sto schedaio PDF. +password_invalid=Paròlla segreta sbalia. Preuva torna. +password_ok=Va ben +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. diff --git a/app/assets/javascripts/publications/locale/lo/viewer.properties b/app/assets/javascripts/publications/locale/lo/viewer.properties new file mode 100644 index 0000000..8b877d0 --- /dev/null +++ b/app/assets/javascripts/publications/locale/lo/viewer.properties @@ -0,0 +1,145 @@ +# 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=ຫມູນທວນເຂັມໂມງ + + + + +# 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. +# 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_page_size_unit_inches=in +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. +# 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=ປິດ + +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +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=ເຄົ້າຮ່າງເອກະສານ +findbar_label=ຄົ້ນຫາ + +# 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=ຄົ້ນຫາ +# 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_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. +# 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 +rendering_error=ມີຂໍ້ຜິດພາດເກີດຂື້ນຂະນະທີ່ກຳລັງເຣັນເດີຫນ້າ. + +# Predefined zoom values +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. + +loading_error=ມີຂໍ້ຜິດພາດເກີດຂື້ນຂະນະທີ່ກຳລັງໂຫລດ PDF. +invalid_file_error=ໄຟລ໌ PDF ບໍ່ຖືກຕ້ອງຫລືເສຍຫາຍ. + +# 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_ok=ຕົກລົງ +password_cancel=ຍົກເລີກ + diff --git a/app/assets/javascripts/publications/locale/locale.properties b/app/assets/javascripts/publications/locale/locale.properties new file mode 100644 index 0000000..ae79f47 --- /dev/null +++ b/app/assets/javascripts/publications/locale/locale.properties @@ -0,0 +1,327 @@ +[ach] +@import url(ach/viewer.properties) + +[af] +@import url(af/viewer.properties) + +[an] +@import url(an/viewer.properties) + +[ar] +@import url(ar/viewer.properties) + +[ast] +@import url(ast/viewer.properties) + +[az] +@import url(az/viewer.properties) + +[be] +@import url(be/viewer.properties) + +[bg] +@import url(bg/viewer.properties) + +[bn] +@import url(bn/viewer.properties) + +[bo] +@import url(bo/viewer.properties) + +[br] +@import url(br/viewer.properties) + +[brx] +@import url(brx/viewer.properties) + +[bs] +@import url(bs/viewer.properties) + +[ca] +@import url(ca/viewer.properties) + +[cak] +@import url(cak/viewer.properties) + +[ckb] +@import url(ckb/viewer.properties) + +[cs] +@import url(cs/viewer.properties) + +[cy] +@import url(cy/viewer.properties) + +[da] +@import url(da/viewer.properties) + +[de] +@import url(de/viewer.properties) + +[dsb] +@import url(dsb/viewer.properties) + +[el] +@import url(el/viewer.properties) + +[en-CA] +@import url(en-CA/viewer.properties) + +[en-GB] +@import url(en-GB/viewer.properties) + +[en-US] +@import url(en-US/viewer.properties) + +[eo] +@import url(eo/viewer.properties) + +[es-AR] +@import url(es-AR/viewer.properties) + +[es-CL] +@import url(es-CL/viewer.properties) + +[es-ES] +@import url(es-ES/viewer.properties) + +[es-MX] +@import url(es-MX/viewer.properties) + +[et] +@import url(et/viewer.properties) + +[eu] +@import url(eu/viewer.properties) + +[fa] +@import url(fa/viewer.properties) + +[ff] +@import url(ff/viewer.properties) + +[fi] +@import url(fi/viewer.properties) + +[fr] +@import url(fr/viewer.properties) + +[fy-NL] +@import url(fy-NL/viewer.properties) + +[ga-IE] +@import url(ga-IE/viewer.properties) + +[gd] +@import url(gd/viewer.properties) + +[gl] +@import url(gl/viewer.properties) + +[gn] +@import url(gn/viewer.properties) + +[gu-IN] +@import url(gu-IN/viewer.properties) + +[he] +@import url(he/viewer.properties) + +[hi-IN] +@import url(hi-IN/viewer.properties) + +[hr] +@import url(hr/viewer.properties) + +[hsb] +@import url(hsb/viewer.properties) + +[hu] +@import url(hu/viewer.properties) + +[hy-AM] +@import url(hy-AM/viewer.properties) + +[hye] +@import url(hye/viewer.properties) + +[ia] +@import url(ia/viewer.properties) + +[id] +@import url(id/viewer.properties) + +[is] +@import url(is/viewer.properties) + +[it] +@import url(it/viewer.properties) + +[ja] +@import url(ja/viewer.properties) + +[ka] +@import url(ka/viewer.properties) + +[kab] +@import url(kab/viewer.properties) + +[kk] +@import url(kk/viewer.properties) + +[km] +@import url(km/viewer.properties) + +[kn] +@import url(kn/viewer.properties) + +[ko] +@import url(ko/viewer.properties) + +[lij] +@import url(lij/viewer.properties) + +[lo] +@import url(lo/viewer.properties) + +[lt] +@import url(lt/viewer.properties) + +[ltg] +@import url(ltg/viewer.properties) + +[lv] +@import url(lv/viewer.properties) + +[meh] +@import url(meh/viewer.properties) + +[mk] +@import url(mk/viewer.properties) + +[mr] +@import url(mr/viewer.properties) + +[ms] +@import url(ms/viewer.properties) + +[my] +@import url(my/viewer.properties) + +[nb-NO] +@import url(nb-NO/viewer.properties) + +[ne-NP] +@import url(ne-NP/viewer.properties) + +[nl] +@import url(nl/viewer.properties) + +[nn-NO] +@import url(nn-NO/viewer.properties) + +[oc] +@import url(oc/viewer.properties) + +[pa-IN] +@import url(pa-IN/viewer.properties) + +[pl] +@import url(pl/viewer.properties) + +[pt-BR] +@import url(pt-BR/viewer.properties) + +[pt-PT] +@import url(pt-PT/viewer.properties) + +[rm] +@import url(rm/viewer.properties) + +[ro] +@import url(ro/viewer.properties) + +[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) + +[sk] +@import url(sk/viewer.properties) + +[sl] +@import url(sl/viewer.properties) + +[son] +@import url(son/viewer.properties) + +[sq] +@import url(sq/viewer.properties) + +[sr] +@import url(sr/viewer.properties) + +[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) + +[tl] +@import url(tl/viewer.properties) + +[tr] +@import url(tr/viewer.properties) + +[trs] +@import url(trs/viewer.properties) + +[uk] +@import url(uk/viewer.properties) + +[ur] +@import url(ur/viewer.properties) + +[uz] +@import url(uz/viewer.properties) + +[vi] +@import url(vi/viewer.properties) + +[wo] +@import url(wo/viewer.properties) + +[xh] +@import url(xh/viewer.properties) + +[zh-CN] +@import url(zh-CN/viewer.properties) + +[zh-TW] +@import url(zh-TW/viewer.properties) + diff --git a/app/assets/javascripts/publications/locale/lt/viewer.properties b/app/assets/javascripts/publications/locale/lt/viewer.properties new file mode 100644 index 0000000..6188a92 --- /dev/null +++ b/app/assets/javascripts/publications/locale/lt/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=Ankstesnis puslapis +previous_label=Ankstesnis +next.title=Kitas puslapis +next_label=Kitas + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Puslapis +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=iš {{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}} iš {{pagesCount}}) + +zoom_out.title=Sumažinti +zoom_out_label=Sumažinti +zoom_in.title=Padidinti +zoom_in_label=Padidinti +zoom.title=Mastelis +presentation_mode.title=Pereiti į pateikties veikseną +presentation_mode_label=Pateikties veiksena +open_file.title=Atverti failą +open_file_label=Atverti +print.title=Spausdinti +print_label=Spausdinti +download.title=Parsiųsti +download_label=Parsiųsti +bookmark.title=Esamojo rodinio saitas (kopijavimui ar atvėrimui kitame lange) +bookmark_label=Esamasis rodinys + +# Secondary toolbar and context menu +tools.title=Priemonės +tools_label=Priemonės +first_page.title=Eiti į pirmą puslapį +first_page_label=Eiti į pirmą puslapį +last_page.title=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_ccw.title=Pasukti prieš laikrodžio rodyklę +page_rotate_ccw_label=Pasukti prieš laikrodžio rodyklę + +cursor_text_select_tool.title=Įjungti teksto žymėjimo įrankį +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ą +scroll_horizontal_label=Horizontalus slinkimas +scroll_wrapped.title=Naudoti išklotą slinkimą +scroll_wrapped_label=Išklotas slinkimas + +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… +document_properties_label=Dokumento savybės… +document_properties_file_name=Failo vardas: +document_properties_file_size=Failo dydis: +# 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=Antraštė: +document_properties_author=Autorius: +document_properties_subject=Tema: +document_properties_keywords=Reikšminiai žodžiai: +document_properties_creation_date=Sukūrimo data: +document_properties_modification_date=Modifikavimo data: +# 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=Kūrėjas: +document_properties_producer=PDF generatorius: +document_properties_version=PDF versija: +document_properties_page_count=Puslapių skaičius: +document_properties_page_size=Puslapio dydis: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=stačias +document_properties_page_size_orientation_landscape=gulsčias +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Laiškas +document_properties_page_size_name_legal=Dokumentas +# 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=Spartus žiniatinklio rodinys: +document_properties_linearized_yes=Taip +document_properties_linearized_no=Ne +document_properties_close=Užverti + +print_progress_message=Dokumentas ruošiamas spausdinimui… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Atsisakyti + +# 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=Rodyti / slėpti šoninį polangį +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 + +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. +thumb_page_title={{page}} puslapis +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas={{page}} puslapio miniatiūra + +# Find panel button title and messages +find_input.title=Rasti +find_input.placeholder=Rasti dokumente… +find_previous.title=Ieškoti ankstesnio frazės egzemplioriaus +find_previous_label=Ankstesnis +find_next.title=Ieškoti tolesnio frazės egzemplioriaus +find_next_label=Tolesnis +find_highlight=Viską paryškinti +find_match_case_label=Skirti didžiąsias ir mažąsias raides +find_entire_word_label=Ištisi žodžiai +find_reached_top=Pasiekus dokumento pradžią, paieška pratęsta nuo pabaigos +find_reached_bottom=Pasiekus dokumento pabaigą, paieška pratęsta nuo pradžios +# 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}} iš {{total}} atitikmens +find_match_count[two]={{current}} iš {{total}} atitikmenų +find_match_count[few]={{current}} iš {{total}} atitikmenų +find_match_count[many]={{current}} iš {{total}} atitikmenų +find_match_count[other]={{current}} iš {{total}} atitikmens +# 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]=Daugiau nei {{limit}} atitikmenų +find_match_count_limit[one]=Daugiau nei {{limit}} atitikmuo +find_match_count_limit[two]=Daugiau nei {{limit}} atitikmenys +find_match_count_limit[few]=Daugiau nei {{limit}} atitikmenys +find_match_count_limit[many]=Daugiau nei {{limit}} atitikmenų +find_match_count_limit[other]=Daugiau nei {{limit}} atitikmuo +find_not_found=Ieškoma frazė nerasta + +# Error panel labels +error_more_info=Išsamiau +error_less_info=Glausčiau +error_close=Užverti +# 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}} (darinys: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Pranešimas: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Dėklas: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Failas: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Eilutė: {{line}} +rendering_error=Atvaizduojant puslapį įvyko klaida. + +# Predefined zoom values +page_scale_width=Priderinti prie lapo pločio +page_scale_fit=Pritaikyti prie lapo dydžio +page_scale_auto=Automatinis mastelis +page_scale_actual=Tikras dydis +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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. +unexpected_response_error=Netikėtas serverio atsakas. + +# 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}}“ tipo anotacija] +password_label=Įveskite slaptažodį šiam PDF failui atverti. +password_invalid=Slaptažodis neteisingas. Bandykite dar kartą. +password_ok=Gerai +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. diff --git a/app/assets/javascripts/publications/locale/ltg/viewer.properties b/app/assets/javascripts/publications/locale/ltg/viewer.properties new file mode 100644 index 0000000..b0e202d --- /dev/null +++ b/app/assets/javascripts/publications/locale/ltg/viewer.properties @@ -0,0 +1,212 @@ +# 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=Īprīkšejā lopa +previous_label=Īprīkšejā +next.title=Nuokomuo lopa +next_label=Nuokomuo + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Lopa +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=nu {{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}} nu {{pagesCount}}) + +zoom_out.title=Attuolynuot +zoom_out_label=Attuolynuot +zoom_in.title=Pītuvynuot +zoom_in_label=Pītuvynuot +zoom.title=Palelynuojums +presentation_mode.title=Puorslēgtīs iz Prezentacejis režymu +presentation_mode_label=Prezentacejis režyms +open_file.title=Attaiseit failu +open_file_label=Attaiseit +print.title=Drukuošona +print_label=Drukōt +download.title=Lejupīluode +download_label=Lejupīluodeit +bookmark.title=Pošreizejais skots (kopēt voi attaiseit jaunā lūgā) +bookmark_label=Pošreizejais skots + +# Secondary toolbar and context menu +tools.title=Reiki +tools_label=Reiki +first_page.title=Ī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 +page_rotate_cw.title=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 + +cursor_text_select_tool.title=Aktivizēt teksta izvieles reiku +cursor_text_select_tool_label=Teksta izvieles reiks +cursor_hand_tool.title=Aktivēt rūkys reiku +cursor_hand_tool_label=Rūkys reiks + +scroll_vertical.title=Izmontōt vertikalū ritinōšonu +scroll_vertical_label=Vertikalō ritinōšona +scroll_horizontal.title=Izmontōt horizontalū ritinōšonu +scroll_horizontal_label=Horizontalō ritinōšona +scroll_wrapped.title=Izmontōt mārūgojamū ritinōšonu +scroll_wrapped_label=Mārūgojamō ritinōšona + +spread_none.title=Naizmontōt lopu atvāruma režimu +spread_none_label=Bez atvārumim +spread_odd.title=Izmontōt lopu atvārumus sōkut nu napōra numeru lopom +spread_odd_label=Napōra lopys pa kreisi +spread_even.title=Izmontōt lopu atvārumus sōkut nu pōra numeru lopom +spread_even_label=Pōra lopys pa kreisi + +# Document properties dialog box +document_properties.title=Dokumenta īstatiejumi… +document_properties_label=Dokumenta īstatiejumi… +document_properties_file_name=Faila nūsaukums: +document_properties_file_size=Faila izmārs: +# 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}} biti) +# 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}} biti) +document_properties_title=Nūsaukums: +document_properties_author=Autors: +document_properties_subject=Tema: +document_properties_keywords=Atslāgi vuordi: +document_properties_creation_date=Izveides datums: +document_properties_modification_date=lobuošonys datums: +# 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=Radeituojs: +document_properties_producer=PDF producents: +document_properties_version=PDF verseja: +document_properties_page_count=Lopu skaits: +document_properties_page_size=Lopas izmārs: +document_properties_page_size_unit_inches=collas +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=portreta orientaceja +document_properties_page_size_orientation_landscape=ainovys orientaceja +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 Web View: +document_properties_linearized_yes=Jā +document_properties_linearized_no=Nā +document_properties_close=Aiztaiseit + +print_progress_message=Preparing document for printing… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Atceļt + +# 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=Puorslēgt suonu jūslu +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 +attachments.title=Show Attachments +attachments_label=Attachments +thumbs.title=Paruodeit seiktālus +thumbs_label=Seiktāli +findbar.title=Mekleit dokumentā +findbar_label=Mekleit + +# 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=Lopa {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Lopys {{page}} seiktāls + +# Find panel button title and messages +find_input.title=Mekleit +find_input.placeholder=Mekleit dokumentā… +find_previous.title=Atrast īprīkšejū +find_previous_label=Īprīkšejā +find_next.title=Atrast nuokamū +find_next_label=Nuokomuo +find_highlight=Īkruosuot vysys +find_match_case_label=Lelū, mozū burtu jiuteigs +find_reached_top=Sasnīgts dokumenta suokums, turpynojom nu beigom +find_reached_bottom=Sasnīgtys dokumenta beigys, turpynojom nu suokuma +find_not_found=Frāze nav atrosta + +# Error panel labels +error_more_info=Vairuok informacejis +error_less_info=mozuok informacejis +error_close=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=Ziņuojums: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Steks: {{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=Ryndeņa: {{line}} +rendering_error=Attālojūt lopu rodās klaida + +# Predefined zoom values +page_scale_width=Lopys plotumā +page_scale_fit=Ītylpynūt lopu +page_scale_auto=Automatiskais izmārs +page_scale_actual=Patīsais izmārs +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=Īluodejūt PDF nūtyka klaida. +invalid_file_error=Nadereigs voi būjuots PDF fails. +missing_file_error=PDF fails nav atrosts. +unexpected_response_error=Unexpected server response. + +# 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=Īvodit paroli, kab attaiseitu PDF failu. +password_invalid=Napareiza parole, raugit vēļreiz. +password_ok=Labi +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. diff --git a/app/assets/javascripts/publications/locale/lv/viewer.properties b/app/assets/javascripts/publications/locale/lv/viewer.properties new file mode 100644 index 0000000..b9b5c03 --- /dev/null +++ b/app/assets/javascripts/publications/locale/lv/viewer.properties @@ -0,0 +1,234 @@ +# 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=Iepriekšējā lapa +previous_label=Iepriekšējā +next.title=Nākamā lapa +next_label=Nākamā + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Lapa +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=no {{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}} no {{pagesCount}}) + +zoom_out.title=Attālināt\u0020 +zoom_out_label=Attālināt +zoom_in.title=Pietuvināt +zoom_in_label=Pietuvināt +zoom.title=Palielinājums +presentation_mode.title=Pārslēgties uz Prezentācijas režīmu +presentation_mode_label=Prezentācijas režīms +open_file.title=Atvērt failu +open_file_label=Atvērt +print.title=Drukāšana +print_label=Drukāt +download.title=Lejupielāde +download_label=Lejupielādēt +bookmark.title=Pašreizējais skats (kopēt vai atvērt jaunā logā) +bookmark_label=Pašreizējais skats + +# Secondary toolbar and context menu +tools.title=Rīki +tools_label=Rīki +first_page.title=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 +page_rotate_cw.title=Pagriezt pa pulksteni +page_rotate_cw_label=Pagriezt pa pulksteni +page_rotate_ccw.title=Pagriezt pret pulksteni +page_rotate_ccw_label=Pagriezt pret pulksteni + +cursor_text_select_tool.title=Aktivizēt teksta izvēles rīku +cursor_text_select_tool_label=Teksta izvēles rīks +cursor_hand_tool.title=Aktivēt rokas rīku +cursor_hand_tool_label=Rokas rīks + +scroll_vertical.title=Izmantot vertikālo ritināšanu +scroll_vertical_label=Vertikālā ritināšana +scroll_horizontal.title=Izmantot horizontālo ritināšanu +scroll_horizontal_label=Horizontālā ritināšana +scroll_wrapped.title=Izmantot apkļauto ritināšanu +scroll_wrapped_label=Apkļautā ritināšana + +spread_none.title=Nepievienoties lapu izpletumiem +spread_none_label=Neizmantot izpletumus +spread_odd.title=Izmantot lapu izpletumus sākot ar nepāra numuru lapām +spread_odd_label=Nepāra izpletumi +spread_even.title=Izmantot lapu izpletumus sākot ar pāra numuru lapām +spread_even_label=Pāra izpletumi + +# Document properties dialog box +document_properties.title=Dokumenta iestatījumi… +document_properties_label=Dokumenta iestatījumi… +document_properties_file_name=Faila nosaukums: +document_properties_file_size=Faila izmērs: +# 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}} biti) +# 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}} biti) +document_properties_title=Nosaukums: +document_properties_author=Autors: +document_properties_subject=Tēma: +document_properties_keywords=Atslēgas vārdi: +document_properties_creation_date=Izveides datums: +document_properties_modification_date=LAbošanas datums: +# 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=Radītājs: +document_properties_producer=PDF producents: +document_properties_version=PDF versija: +document_properties_page_count=Lapu skaits: +document_properties_page_size=Papīra izmērs: +document_properties_page_size_unit_inches=collas +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=portretorientācija +document_properties_page_size_orientation_landscape=ainavorientācija +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Vēstule +document_properties_page_size_name_legal=Juridiskie teksti +# 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=Ātrā tīmekļa skats: +document_properties_linearized_yes=Jā +document_properties_linearized_no=Nē +document_properties_close=Aizvērt + +print_progress_message=Gatavo dokumentu drukāšanai... +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Atcelt + +# 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=Pārslēgt sānu joslu +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 +attachments.title=Rādīt pielikumus +attachments_label=Pielikumi +thumbs.title=Parādīt sīktēlus +thumbs_label=Sīktēli +findbar.title=Meklēt dokumentā +findbar_label=Meklēt + +# 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=Lapa {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Lapas {{page}} sīktēls + +# Find panel button title and messages +find_input.title=Meklēt +find_input.placeholder=Meklēt dokumentā… +find_previous.title=Atrast iepriekšējo +find_previous_label=Iepriekšējā +find_next.title=Atrast nākamo +find_next_label=Nākamā +find_highlight=Iekrāsot visas +find_match_case_label=Lielo, mazo burtu jutīgs +find_entire_word_label=Veselus vārdus +find_reached_top=Sasniegts dokumenta sākums, turpinām no beigām +find_reached_bottom=Sasniegtas dokumenta beigas, turpinām no sākuma +# 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}} no {{total}} rezultāta +find_match_count[two]={{current}} no {{total}} rezultātiem +find_match_count[few]={{current}} no {{total}} rezultātiem +find_match_count[many]={{current}} no {{total}} rezultātiem +find_match_count[other]={{current}} no {{total}} rezultātiem +# 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]=Vairāk nekā {{limit}} rezultāti +find_match_count_limit[one]=Vairāk nekā {{limit}} rezultāti +find_match_count_limit[two]=Vairāk nekā {{limit}} rezultāti +find_match_count_limit[few]=Vairāk nekā {{limit}} rezultāti +find_match_count_limit[many]=Vairāk nekā {{limit}} rezultāti +find_match_count_limit[other]=Vairāk nekā {{limit}} rezultāti +find_not_found=Frāze nav atrasta + +# Error panel labels +error_more_info=Vairāk informācijas +error_less_info=MAzāk informācijas +error_close=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=Ziņojums: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Steks: {{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=Rindiņa: {{line}} +rendering_error=Attēlojot lapu radās kļūda + +# Predefined zoom values +page_scale_width=Lapas platumā +page_scale_fit=Ietilpinot lapu +page_scale_auto=Automātiskais izmērs +page_scale_actual=Patiesais izmērs +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +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. +unexpected_response_error=Negaidīa servera atbilde. + +# 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}} anotācija] +password_label=Ievadiet paroli, lai atvērtu PDF failu. +password_invalid=Nepareiza parole, mēģiniet vēlreiz. +password_ok=Labi +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. diff --git a/app/assets/javascripts/publications/locale/meh/viewer.properties b/app/assets/javascripts/publications/locale/meh/viewer.properties new file mode 100644 index 0000000..7a1bf04 --- /dev/null +++ b/app/assets/javascripts/publications/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/publications/locale/mk/viewer.properties b/app/assets/javascripts/publications/locale/mk/viewer.properties new file mode 100644 index 0000000..24ff730 --- /dev/null +++ b/app/assets/javascripts/publications/locale/mk/viewer.properties @@ -0,0 +1,138 @@ +# 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. +# 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=Променување на големина +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=Алатки + + + + +# 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. +# 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. + +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +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=Вклучи странична лента +thumbs.title=Прикажување на икони +thumbs_label=Икони +findbar.title=Најди во документот +findbar_label=Најди + +# 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_previous_label=Претходно +find_next.title=Најди ја следната појава на фразата +find_next_label=Следно +find_highlight=Означи сѐ +find_match_case_label=Токму така +find_reached_top=Барањето стигна до почетокот на документот и почнува од крајот +find_reached_bottom=Барањето стигна до крајот на документот и почнува од почеток +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: {{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_error=Настана грешка при вчитувањето на PDF-от. +invalid_file_error=Невалидна или корумпирана PDF датотека. +missing_file_error=Недостасува PDF документ. + +# 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=Откажи + +printing_not_supported=Предупредување: Печатењето не е целосно поддржано во овој прелистувач. +printing_not_ready=Предупредување: PDF документот не е целосно вчитан за печатење. +web_fonts_disabled=Интернет фонтовите се оневозможени: не може да се користат вградените PDF фонтови. diff --git a/app/assets/javascripts/publications/locale/mr/viewer.properties b/app/assets/javascripts/publications/locale/mr/viewer.properties new file mode 100644 index 0000000..697c2a3 --- /dev/null +++ b/app/assets/javascripts/publications/locale/mr/viewer.properties @@ -0,0 +1,230 @@ +# 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=({{pagesCount}} पैकी {{pageNumber}}) + +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=क्षैतिज स्क्रोलिंग + + +# 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}} 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=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=जलद वेब दृष्य: +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.title=दस्तऐवज बाह्यरेखा दर्शवा (विस्तृत करण्यासाठी दोनवेळा क्लिक करा /सर्व घटक दाखवा) +document_outline_label=दस्तऐवज रूपरेषा +attachments.title=जोडपत्र दाखवा +attachments_label=जोडपत्र +thumbs.title=थंबनेल्स् दाखवा +thumbs_label=थंबनेल्स् +findbar.title=दस्तऐवजात शोधा +findbar_label=शोधा + +# 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]={{total}} पैकी {{current}} सुसंगत +find_match_count[two]={{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(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/publications/locale/ms/viewer.properties b/app/assets/javascripts/publications/locale/ms/viewer.properties new file mode 100644 index 0000000..a6d4ce8 --- /dev/null +++ b/app/assets/javascripts/publications/locale/ms/viewer.properties @@ -0,0 +1,234 @@ +# 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=Halaman Dahulu +previous_label=Dahulu +next.title=Halaman Berikut +next_label=Berikut + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Halaman +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=daripada {{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}} daripada {{pagesCount}}) + +zoom_out.title=Zum Keluar +zoom_out_label=Zum Keluar +zoom_in.title=Zum Masuk +zoom_in_label=Zum Masuk +zoom.title=Zum +presentation_mode.title=Tukar ke Mod Persembahan +presentation_mode_label=Mod Persembahan +open_file.title=Buka Fail +open_file_label=Buka +print.title=Cetak +print_label=Cetak +download.title=Muat turun +download_label=Muat turun +bookmark.title=Paparan semasa (salin atau buka dalam tetingkap baru) +bookmark_label=Paparan Semasa + +# Secondary toolbar and context menu +tools.title=Alatan +tools_label=Alatan +first_page.title=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 +page_rotate_cw.title=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 + +cursor_text_select_tool.title=Dayakan Alatan Pilihan Teks +cursor_text_select_tool_label=Alatan Pilihan Teks +cursor_hand_tool.title=Dayakan Alatan Tangan +cursor_hand_tool_label=Alatan Tangan + +scroll_vertical.title=Guna Skrol Menegak +scroll_vertical_label=Skrol Menegak +scroll_horizontal.title=Guna Skrol Mengufuk +scroll_horizontal_label=Skrol Mengufuk +scroll_wrapped.title=Guna Skrol Berbalut +scroll_wrapped_label=Skrol Berbalut + +spread_none.title=Jangan hubungkan hamparan halaman +spread_none_label=Tanpa Hamparan +spread_odd.title=Hubungkan hamparan halaman dengan halaman nombor ganjil +spread_odd_label=Hamparan Ganjil +spread_even.title=Hubungkan hamparan halaman dengan halaman nombor genap +spread_even_label=Hamparan Seimbang + +# Document properties dialog box +document_properties.title=Sifat Dokumen… +document_properties_label=Sifat Dokumen… +document_properties_file_name=Nama fail: +document_properties_file_size=Saiz fail: +# 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}} bait) +# 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}} bait) +document_properties_title=Tajuk: +document_properties_author=Pengarang: +document_properties_subject=Subjek: +document_properties_keywords=Kata kunci: +document_properties_creation_date=Masa Dicipta: +document_properties_modification_date=Tarikh Ubahsuai: +# 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=Pencipta: +document_properties_producer=Pengeluar PDF: +document_properties_version=Versi PDF: +document_properties_page_count=Kiraan Laman: +document_properties_page_size=Saiz Halaman: +document_properties_page_size_unit_inches=dalam +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=potret +document_properties_page_size_orientation_landscape=landskap +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=Paparan Web Pantas: +document_properties_linearized_yes=Ya +document_properties_linearized_no=Tidak +document_properties_close=Tutup + +print_progress_message=Menyediakan dokumen untuk dicetak… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Batal + +# 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=Togol Bar Sisi +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 +attachments.title=Papar Lampiran +attachments_label=Lampiran +thumbs.title=Papar Thumbnails +thumbs_label=Imej kecil +findbar.title=Cari didalam Dokumen +findbar_label=Cari + +# 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=Halaman {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Halaman Imej kecil {{page}} + +# Find panel button title and messages +find_input.title=Cari +find_input.placeholder=Cari dalam dokumen… +find_previous.title=Cari teks frasa berkenaan yang terdahulu +find_previous_label=Dahulu +find_next.title=Cari teks frasa berkenaan yang berikut +find_next_label=Berikut +find_highlight=Serlahkan semua +find_match_case_label=Huruf sepadan +find_entire_word_label=Seluruh perkataan +find_reached_top=Mencapai teratas daripada dokumen, sambungan daripada bawah +find_reached_bottom=Mencapai terakhir daripada dokumen, sambungan daripada atas +# 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}} daripada {{total}} padanan +find_match_count[two]={{current}} daripada {{total}} padanan +find_match_count[few]={{current}} daripada {{total}} padanan +find_match_count[many]={{current}} daripada {{total}} padanan +find_match_count[other]={{current}} daripada {{total}} padanan +# 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]=Lebih daripada {{limit}} padanan +find_match_count_limit[one]=Lebih daripada {{limit}} padanan +find_match_count_limit[two]=Lebih daripada {{limit}} padanan +find_match_count_limit[few]=Lebih daripada {{limit}} padanan +find_match_count_limit[many]=Lebih daripada {{limit}} padanan +find_match_count_limit[other]=Lebih daripada {{limit}} padanan +find_not_found=Frasa tidak ditemui + +# Error panel labels +error_more_info=Maklumat Lanjut +error_less_info=Kurang Informasi +error_close=Tutup +# 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=Mesej: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Timbun: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Fail: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Garis: {{line}} +rendering_error=Ralat berlaku ketika memberikan halaman. + +# Predefined zoom values +page_scale_width=Lebar Halaman +page_scale_fit=Muat Halaman +page_scale_auto=Zoom Automatik +page_scale_actual=Saiz Sebenar +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=Masalah berlaku semasa menuatkan sebuah PDF. +invalid_file_error=Tidak sah atau fail PDF rosak. +missing_file_error=Fail PDF Hilang. +unexpected_response_error=Respon pelayan yang tidak dijangka. + +# 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}} Anotasi] +password_label=Masukan kata kunci untuk membuka fail PDF ini. +password_invalid=Kata laluan salah. Cuba lagi. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/my/viewer.properties b/app/assets/javascripts/publications/locale/my/viewer.properties new file mode 100644 index 0000000..39944cd --- /dev/null +++ b/app/assets/javascripts/publications/locale/my/viewer.properties @@ -0,0 +1,190 @@ +# 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=({{pagesCount}} ၏ {{pageNumber}}) + +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=နာရီလက်တံ ပြောင်းပြန် + + + + +# 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}} MB ({{size_b}} bytes) +document_properties_title=ခေါင်းစဉ်‌ - +document_properties_author=ရေးသားသူ: +document_properties_subject=အကြောင်းအရာ:\u0020 +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=စာမျက်နှာအရေအတွက်: +# 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=ပိတ် + +print_progress_message=Preparing document for printing… +# 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.title=စာတမ်းအကျဉ်းချုပ်ကို ပြပါ (စာရင်းအားလုံးကို ချုံ့/ချဲ့ရန် ကလစ်နှစ်ချက်နှိပ်ပါ) +document_outline_label=စာတမ်းအကျဉ်းချုပ် +attachments.title=တွဲချက်များ ပြပါ +attachments_label=တွဲထားချက်များ +thumbs.title=ပုံရိပ်ငယ်များကို ပြပါ +thumbs_label=ပုံရိပ်ငယ်များ +findbar.title=Find in Document +findbar_label=ရှာဖွေပါ + +# 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_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=အနည်းငယ်မျှသော သတင်းအချက်အလက် +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 (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=OK +password_cancel=ပယ်​ဖျက်ပါ + +printing_not_supported=သတိပေးချက်၊ပရင့်ထုတ်ခြင်းကိုဤဘယောက်ဆာသည် ပြည့်ဝစွာထောက်ပံ့မထားပါ ။ +printing_not_ready=သတိပေးချက်: ယခု PDF ဖိုင်သည် ပုံနှိပ်ရန် မပြည့်စုံပါ +web_fonts_disabled=Web fonts are disabled: unable to use embedded PDF fonts. diff --git a/app/assets/javascripts/publications/locale/nb-NO/viewer.properties b/app/assets/javascripts/publications/locale/nb-NO/viewer.properties new file mode 100644 index 0000000..0bb9958 --- /dev/null +++ b/app/assets/javascripts/publications/locale/nb-NO/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=Forrige side +previous_label=Forrige +next.title=Neste side +next_label=Neste + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +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=av {{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}} av {{pagesCount}}) + +zoom_out.title=Zoom ut +zoom_out_label=Zoom ut +zoom_in.title=Zoom inn +zoom_in_label=Zoom inn +zoom.title=Zoom +presentation_mode.title=Bytt til presentasjonsmodus +presentation_mode_label=Presentasjonsmodus +open_file.title=Åpne fil +open_file_label=Åpne +print.title=Skriv ut +print_label=Skriv ut +download.title=Last ned +download_label=Last ned +bookmark.title=Nåværende visning (kopier eller åpne i et nytt vindu) +bookmark_label=Nåværende visning + +# Secondary toolbar and context menu +tools.title=Verktøy +tools_label=Verktøy +first_page.title=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 +page_rotate_cw.title=Roter med klokken +page_rotate_cw_label=Roter med klokken +page_rotate_ccw.title=Roter mot klokken +page_rotate_ccw_label=Roter mot klokken + +cursor_text_select_tool.title=Aktiver tekstmarkeringsverktøy +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 +scroll_horizontal_label=Horisontal rulling +scroll_wrapped.title=Bruk flersiderulling +scroll_wrapped_label=Flersiderulling + +spread_none.title=Vis enkeltsider +spread_none_label=Enkeltsider +spread_odd.title=Vis oppslag med ulike sidenumre til venstre +spread_odd_label=Oppslag med forside +spread_even.title=Vis oppslag med like sidenumre til venstre +spread_even_label=Oppslag uten forside + +# Document properties dialog box +document_properties.title=Dokumentegenskaper … +document_properties_label=Dokumentegenskaper … +document_properties_file_name=Filnavn: +document_properties_file_size=Filstørrelse: +# 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=Dokumentegenskaper … +document_properties_author=Forfatter: +document_properties_subject=Emne: +document_properties_keywords=Nøkkelord: +document_properties_creation_date=Opprettet dato: +document_properties_modification_date=Endret dato: +# 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=Opprettet av: +document_properties_producer=PDF-verktøy: +document_properties_version=PDF-versjon: +document_properties_page_count=Sideantall: +document_properties_page_size=Sidestørrelse: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=stående +document_properties_page_size_orientation_landscape=liggende +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=Hurtig nettvisning: +document_properties_linearized_yes=Ja +document_properties_linearized_no=Nei +document_properties_close=Lukk + +print_progress_message=Forbereder dokument for utskrift … +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Avbryt + +# 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=Slå av/på sidestolpe +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 + +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. +thumb_page_title=Side {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatyrbilde av side {{page}} + +# Find panel button title and messages +find_input.title=Søk +find_input.placeholder=Søk i dokument… +find_previous.title=Finn forrige forekomst av frasen +find_previous_label=Forrige +find_next.title=Finn neste forekomst av frasen +find_next_label=Neste +find_highlight=Uthev alle +find_match_case_label=Skill store/små bokstaver +find_entire_word_label=Hele ord +find_reached_top=Nådde toppen av dokumentet, fortsetter fra bunnen +find_reached_bottom=Nådde bunnen av dokumentet, fortsetter fra toppen +# 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}} av {{total}} treff +find_match_count[two]={{current}} av {{total}} treff +find_match_count[few]={{current}} av {{total}} treff +find_match_count[many]={{current}} av {{total}} treff +find_match_count[other]={{current}} av {{total}} treff +# 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]=Mer enn {{limit}} treff +find_match_count_limit[one]=Mer enn {{limit}} treff +find_match_count_limit[two]=Mer enn {{limit}} treff +find_match_count_limit[few]=Mer enn {{limit}} treff +find_match_count_limit[many]=Mer enn {{limit}} treff +find_match_count_limit[other]=Mer enn {{limit}} treff +find_not_found=Fant ikke teksten + +# Error panel labels +error_more_info=Mer info +error_less_info=Mindre info +error_close=Lukk +# 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}} (bygg: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Melding: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stakk: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Fil: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Linje: {{line}} +rendering_error=En feil oppstod ved opptegning av siden. + +# Predefined zoom values +page_scale_width=Sidebredde +page_scale_fit=Tilpass til siden +page_scale_auto=Automatisk zoom +page_scale_actual=Virkelig størrelse +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}} % + +# Loading indicator messages +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. +unexpected_response_error=Uventet serverrespons. + +# 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}} annotasjon] +password_label=Skriv inn passordet for å åpne denne PDF-filen. +password_invalid=Ugyldig passord. Prøv igjen. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/ne-NP/viewer.properties b/app/assets/javascripts/publications/locale/ne-NP/viewer.properties new file mode 100644 index 0000000..0044167 --- /dev/null +++ b/app/assets/javascripts/publications/locale/ne-NP/viewer.properties @@ -0,0 +1,217 @@ +# 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=({{pagesCount}} को {{pageNumber}}) + +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=लिपि स्क्रोलिङ्ग + +spread_none.title=पृष्ठ स्प्रेडमा सामेल हुनुहुन्न +spread_none_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}} 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=शीर्षक: +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_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=मुद्रणका लागि कागजात तयारी गरिदै… +# 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.title=कागजातको रूपरेखा देखाउनुहोस् (सबै वस्तुहरू विस्तार/पतन गर्न डबल-क्लिक गर्नुहोस्) +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_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. +# 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=कम जानकारी +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 indicator messages +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). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[{{type}} Annotation] +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/publications/locale/nl/viewer.properties b/app/assets/javascripts/publications/locale/nl/viewer.properties new file mode 100644 index 0000000..028b498 --- /dev/null +++ b/app/assets/javascripts/publications/locale/nl/viewer.properties @@ -0,0 +1,251 @@ +# 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=Vorige pagina +previous_label=Vorige +next.title=Volgende pagina +next_label=Volgende + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Pagina +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=van {{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}} van {{pagesCount}}) + +zoom_out.title=Uitzoomen +zoom_out_label=Uitzoomen +zoom_in.title=Inzoomen +zoom_in_label=Inzoomen +zoom.title=Zoomen +presentation_mode.title=Wisselen naar presentatiemodus +presentation_mode_label=Presentatiemodus +open_file.title=Bestand openen +open_file_label=Openen +print.title=Afdrukken +print_label=Afdrukken +download.title=Downloaden +download_label=Downloaden +bookmark.title=Huidige weergave (kopiëren of openen in nieuw venster) +bookmark_label=Huidige weergave + +# Secondary toolbar and context menu +tools.title=Hulpmiddelen +tools_label=Hulpmiddelen +first_page.title=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 +page_rotate_cw.title=Rechtsom draaien +page_rotate_cw_label=Rechtsom draaien +page_rotate_ccw.title=Linksom draaien +page_rotate_ccw_label=Linksom draaien + +cursor_text_select_tool.title=Tekstselectiehulpmiddel inschakelen +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 +scroll_horizontal_label=Horizontaal scrollen +scroll_wrapped.title=Scrollen met terugloop gebruiken +scroll_wrapped_label=Scrollen met terugloop + +spread_none.title=Dubbele pagina’s niet samenvoegen +spread_none_label=Geen dubbele pagina’s +spread_odd.title=Dubbele pagina’s samenvoegen vanaf oneven pagina’s +spread_odd_label=Oneven dubbele pagina’s +spread_even.title=Dubbele pagina’s samenvoegen vanaf even pagina’s +spread_even_label=Even dubbele pagina’s + +# Document properties dialog box +document_properties.title=Documenteigenschappen… +document_properties_label=Documenteigenschappen… +document_properties_file_name=Bestandsnaam: +document_properties_file_size=Bestandsgrootte: +# 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=Titel: +document_properties_author=Auteur: +document_properties_subject=Onderwerp: +document_properties_keywords=Sleutelwoorden: +document_properties_creation_date=Aanmaakdatum: +document_properties_modification_date=Wijzigingsdatum: +# 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=Maker: +document_properties_producer=PDF-producent: +document_properties_version=PDF-versie: +document_properties_page_count=Aantal pagina’s: +document_properties_page_size=Paginagrootte: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=staand +document_properties_page_size_orientation_landscape=liggend +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=Snelle webweergave: +document_properties_linearized_yes=Ja +document_properties_linearized_no=Nee +document_properties_close=Sluiten + +print_progress_message=Document voorbereiden voor afdrukken… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Annuleren + +# 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=Zijbalk in-/uitschakelen +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 + +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. +thumb_page_title=Pagina {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatuur van pagina {{page}} + +# Find panel button title and messages +find_input.title=Zoeken +find_input.placeholder=Zoeken in document… +find_previous.title=De vorige overeenkomst van de tekst zoeken +find_previous_label=Vorige +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 +# 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}} van {{total}} overeenkomst +find_match_count[two]={{current}} van {{total}} overeenkomsten +find_match_count[few]={{current}} van {{total}} overeenkomsten +find_match_count[many]={{current}} van {{total}} overeenkomsten +find_match_count[other]={{current}} van {{total}} overeenkomsten +# 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]=Meer dan {{limit}} overeenkomsten +find_match_count_limit[one]=Meer dan {{limit}} overeenkomst +find_match_count_limit[two]=Meer dan {{limit}} overeenkomsten +find_match_count_limit[few]=Meer dan {{limit}} overeenkomsten +find_match_count_limit[many]=Meer dan {{limit}} overeenkomsten +find_match_count_limit[other]=Meer dan {{limit}} overeenkomsten +find_not_found=Tekst niet gevonden + +# Error panel labels +error_more_info=Meer informatie +error_less_info=Minder informatie +error_close=Sluiten +# 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=Bericht: {{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=Bestand: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Regel: {{line}} +rendering_error=Er is een fout opgetreden bij het weergeven van de pagina. + +# Predefined zoom values +page_scale_width=Paginabreedte +page_scale_fit=Hele pagina +page_scale_auto=Automatisch zoomen +page_scale_actual=Werkelijke grootte +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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. +unexpected_response_error=Onverwacht serverantwoord. + +# 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}}-aantekening] +password_label=Voer het wachtwoord in om dit PDF-bestand te openen. +password_invalid=Ongeldig wachtwoord. Probeer het opnieuw. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/nn-NO/viewer.properties b/app/assets/javascripts/publications/locale/nn-NO/viewer.properties new file mode 100644 index 0000000..2feff78 --- /dev/null +++ b/app/assets/javascripts/publications/locale/nn-NO/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=Føregåande side +previous_label=Føregåande +next.title=Neste side +next_label=Neste + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +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=av {{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}} av {{pagesCount}}) + +zoom_out.title=Zoom ut +zoom_out_label=Zoom ut +zoom_in.title=Zoom inn +zoom_in_label=Zoom inn +zoom.title=Zoom +presentation_mode.title=Byt til presentasjonsmodus +presentation_mode_label=Presentasjonsmodus +open_file.title=Opne fil +open_file_label=Opne +print.title=Skriv ut +print_label=Skriv ut +download.title=Last ned +download_label=Last ned +bookmark.title=Gjeldande vising (kopier eller opne i nytt vindauge) +bookmark_label=Gjeldande vising + +# Secondary toolbar and context menu +tools.title=Verktøy +tools_label=Verktøy +first_page.title=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 +page_rotate_cw.title=Roter med klokka +page_rotate_cw_label=Roter med klokka +page_rotate_ccw.title=Roter mot klokka +page_rotate_ccw_label=Roter mot klokka + +cursor_text_select_tool.title=Aktiver tekstmarkeringsverktøy +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 +scroll_horizontal_label=Horisontal rulling +scroll_wrapped.title=Bruk fleirsiderulling +scroll_wrapped_label=Fleirsiderulling + +spread_none.title=Vis enkeltsider +spread_none_label=Enkeltside +spread_odd.title=Vis oppslag med ulike sidenummer til venstre +spread_odd_label=Oppslag med framside +spread_even.title=Vis oppslag med like sidenummmer til venstre +spread_even_label=Oppslag utan framside + +# Document properties dialog box +document_properties.title=Dokumenteigenskapar… +document_properties_label=Dokumenteigenskapar… +document_properties_file_name=Filnamn: +document_properties_file_size=Filstorleik: +# 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=Tittel: +document_properties_author=Forfattar: +document_properties_subject=Emne: +document_properties_keywords=Stikkord: +document_properties_creation_date=Dato oppretta: +document_properties_modification_date=Dato endra: +# 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=Oppretta av: +document_properties_producer=PDF-verktøy: +document_properties_version=PDF-versjon: +document_properties_page_count=Sidetal: +document_properties_page_size=Sidestørrelse: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=ståande +document_properties_page_size_orientation_landscape=liggande +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Brev +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=Rask nettvising: +document_properties_linearized_yes=Ja +document_properties_linearized_no=Nei +document_properties_close=Lat att + +print_progress_message=Førebur dokumentet for utskrift… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Avbryt + +# 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=Slå av/på sidestolpe +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 + +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. +thumb_page_title=Side {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatyrbilde av side {{page}} + +# Find panel button title and messages +find_input.title=Søk +find_input.placeholder=Søk i dokument… +find_previous.title=Finn førre førekomst av frasen +find_previous_label=Førre +find_next.title=Finn neste førekomst av frasen +find_next_label=Neste +find_highlight=Uthev alle +find_match_case_label=Skil store/små bokstavar +find_entire_word_label=Heile ord +find_reached_top=Nådde toppen av dokumentet, fortset frå botnen +find_reached_bottom=Nådde botnen av dokumentet, fortset frå toppen +# 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}} av {{total}} treff +find_match_count[two]={{current}} av {{total}} treff +find_match_count[few]={{current}} av {{total}} treff +find_match_count[many]={{current}} av {{total}} treff +find_match_count[other]={{current}} av {{total}} treff +# 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]=Meir enn {{limit}} treff +find_match_count_limit[one]=Meir enn {{limit}} treff +find_match_count_limit[two]=Meir enn {{limit}} treff +find_match_count_limit[few]=Meir enn {{limit}} treff +find_match_count_limit[many]=Meir enn {{limit}} treff +find_match_count_limit[other]=Meir enn {{limit}} treff +find_not_found=Fann ikkje teksten + +# Error panel labels +error_more_info=Meir info +error_less_info=Mindre info +error_close=Lat att +# 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}} (bygg: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Melding: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stakk: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Fil: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Linje: {{line}} +rendering_error=Ein feil oppstod under vising av sida. + +# Predefined zoom values +page_scale_width=Sidebreidde +page_scale_fit=Tilpass til sida +page_scale_auto=Automatisk skalering +page_scale_actual=Verkeleg storleik +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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. +unexpected_response_error=Uventa tenarrespons. + +# 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}} annotasjon] +password_label=Skriv inn passordet for å opne denne PDF-fila. +password_invalid=Ugyldig passord. Prøv igjen. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/oc/viewer.properties b/app/assets/javascripts/publications/locale/oc/viewer.properties new file mode 100644 index 0000000..219de4d --- /dev/null +++ b/app/assets/javascripts/publications/locale/oc/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=Pagina precedenta +previous_label=Precedent +next.title=Pagina seguenta +next_label=Seguent + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Pagina +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +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}} de {{pagesCount}}) + +zoom_out.title=Zoom arrièr +zoom_out_label=Zoom arrièr +zoom_in.title=Zoom avant +zoom_in_label=Zoom avant +zoom.title=Zoom +presentation_mode.title=Bascular en mòde presentacion +presentation_mode_label=Mòde Presentacion +open_file.title=Dobrir lo fichièr +open_file_label=Dobrir +print.title=Imprimir +print_label=Imprimir +download.title=Telecargar +download_label=Telecargar +bookmark.title=Afichatge corrent (copiar o dobrir dins una fenèstra novèla) +bookmark_label=Afichatge actual + +# Secondary toolbar and context menu +tools.title=Aisinas +tools_label=Aisinas +first_page.title=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 +page_rotate_cw.title=Rotacion orària +page_rotate_cw_label=Rotacion orària +page_rotate_ccw.title=Rotacion antiorària +page_rotate_ccw_label=Rotacion antiorària + +cursor_text_select_tool.title=Activar l'aisina de seleccion de tèxte +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 +scroll_horizontal_label=Desfilament orizontal +scroll_wrapped.title=Activar lo desfilament continú +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çant per las paginas imparas a esquèrra +spread_odd_label=Dobla pagina, impara a drecha +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 +document_properties.title=Proprietats del document… +document_properties_label=Proprietats del document… +document_properties_file_name=Nom del fichièr : +document_properties_file_size=Talha del fichièr : +# 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}} Ko ({{size_b}} octets) +# 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}} Mo ({{size_b}} octets) +document_properties_title=Títol : +document_properties_author=Autor : +document_properties_subject=Subjècte : +document_properties_keywords=Mots claus : +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}}, 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=retrach +document_properties_page_size_orientation_landscape=païsatge +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Letra +document_properties_page_size_name_legal=Document juridic +# 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=Vista web rapida : +document_properties_linearized_yes=Òc +document_properties_linearized_no=Non +document_properties_close=Tampar + +print_progress_message=Preparacion del document per l’impression… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Anullar + +# 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=Afichar/amagar lo panèl lateral +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 +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 + +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. +thumb_page_title=Pagina {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Vinheta de la pagina {{page}} + +# Find panel button title and messages +find_input.title=Recercar +find_input.placeholder=Cercar dins lo document… +find_previous.title=Tròba l'ocurréncia precedenta de la frasa +find_previous_label=Precedent +find_next.title=Tròba l'ocurréncia venenta de la frasa +find_next_label=Seguent +find_highlight=Suslinhar tot +find_match_case_label=Respectar la cassa +find_entire_word_label=Mots entièrs +find_reached_top=Naut de la pagina atenh, perseguida del bas +find_reached_bottom=Bas de la pagina atench, perseguida al començament +# 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]=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}} 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 +error_more_info=Mai de detalhs +error_less_info=Mens d'informacions +error_close=Tampar +# 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}} (identificant de compilacion : {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Messatge : {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Pila : {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +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 producha pendent l'afichatge de la pagina. + +# Predefined zoom values +page_scale_width=Largor plena +page_scale_fit=Pagina entièra +page_scale_auto=Zoom automatic +page_scale_actual=Talha vertadièra +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}} a {{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=[Anotacion {{type}}] +password_label=Picatz lo senhal per dobrir aqueste fichièr PDF. +password_invalid=Senhal incorrècte. Tornatz ensajar. +password_ok=D'acòrdi +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. diff --git a/app/assets/javascripts/publications/locale/pa-IN/viewer.properties b/app/assets/javascripts/publications/locale/pa-IN/viewer.properties new file mode 100644 index 0000000..61215db --- /dev/null +++ b/app/assets/javascripts/publications/locale/pa-IN/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}} ਵਿੱਚੋਂ +# 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={{pagesCount}}) ਵਿੱਚੋਂ ({{pageNumber}} + +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}} 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. +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]={{total}} ਵਿੱਚੋਂ {{current}} ਮੇਲ +find_match_count[two]={{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(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/publications/locale/pl/viewer.properties b/app/assets/javascripts/publications/locale/pl/viewer.properties new file mode 100644 index 0000000..e841f13 --- /dev/null +++ b/app/assets/javascripts/publications/locale/pl/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=Poprzednia strona +previous_label=Poprzednia +next.title=Następna strona +next_label=Następna + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Strona +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=z {{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}} z {{pagesCount}}) + +zoom_out.title=Pomniejsz +zoom_out_label=Pomniejsz +zoom_in.title=Powiększ +zoom_in_label=Powiększ +zoom.title=Skala +presentation_mode.title=Przełącz na tryb prezentacji +presentation_mode_label=Tryb prezentacji +open_file.title=Otwórz plik +open_file_label=Otwórz +print.title=Drukuj +print_label=Drukuj +download.title=Pobierz +download_label=Pobierz +bookmark.title=Bieżąca pozycja (skopiuj lub otwórz jako odnośnik w nowym oknie) +bookmark_label=Bieżąca pozycja + +# Secondary toolbar and context menu +tools.title=Narzędzia +tools_label=Narzędzia +first_page.title=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 +page_rotate_cw.title=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 + +cursor_text_select_tool.title=Włącz narzędzie zaznaczania tekstu +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 +scroll_horizontal_label=Przewijanie poziome +scroll_wrapped.title=Strony dokumentu wyświetlaj i przewijaj w kolumnach +scroll_wrapped_label=Widok dwóch stron + +spread_none.title=Nie ustawiaj stron obok siebie +spread_none_label=Brak kolumn +spread_odd.title=Strony nieparzyste ustawiaj na lewo od parzystych +spread_odd_label=Nieparzyste po lewej +spread_even.title=Strony parzyste ustawiaj na lewo od nieparzystych +spread_even_label=Parzyste po lewej + +# Document properties dialog box +document_properties.title=Właściwości dokumentu… +document_properties_label=Właściwości dokumentu… +document_properties_file_name=Nazwa pliku: +document_properties_file_size=Rozmiar pliku: +# 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=Autor: +document_properties_subject=Temat: +document_properties_keywords=Słowa kluczowe: +document_properties_creation_date=Data utworzenia: +document_properties_modification_date=Data modyfikacji: +# 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=Utworzony przez: +document_properties_producer=PDF wyprodukowany przez: +document_properties_version=Wersja PDF: +document_properties_page_count=Liczba stron: +document_properties_page_size=Wymiary strony: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=pionowa +document_properties_page_size_orientation_landscape=pozioma +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=US Letter +document_properties_page_size_name_legal=US 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}} (orientacja {{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}}, orientacja {{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=Szybki podgląd w Internecie: +document_properties_linearized_yes=tak +document_properties_linearized_no=nie +document_properties_close=Zamknij + +print_progress_message=Przygotowywanie dokumentu do druku… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Anuluj + +# 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łącz panel boczny +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ź + +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. +thumb_page_title={{page}}. strona +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura {{page}}. strony + +# Find panel button title and messages +find_input.title=Znajdź +find_input.placeholder=Znajdź w dokumencie… +find_previous.title=Znajdź poprzednie wystąpienie tekstu +find_previous_label=Poprzednie +find_next.title=Znajdź następne wystąpienie tekstu +find_next_label=Następne +find_highlight=Wyróżnianie wszystkich +find_match_case_label=Rozróżnianie wielkości liter +find_entire_word_label=Całe słowa +find_reached_top=Początek dokumentu. Wyszukiwanie od końca. +find_reached_bottom=Koniec dokumentu. Wyszukiwanie od początku. +# 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]=Pierwsze z {{total}} trafień +find_match_count[two]=Drugie z {{total}} trafień +find_match_count[few]={{current}}. z {{total}} trafień +find_match_count[many]={{current}}. z {{total}} trafień +find_match_count[other]={{current}}. z {{total}} trafień +# 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]=Brak trafień. +find_match_count_limit[one]=Więcej niż jedno trafienie. +find_match_count_limit[two]=Więcej niż dwa trafienia. +find_match_count_limit[few]=Więcej niż {{limit}} trafienia. +find_match_count_limit[many]=Więcej niż {{limit}} trafień. +find_match_count_limit[other]=Więcej niż {{limit}} trafień. +find_not_found=Nie znaleziono tekstu + +# Error panel labels +error_more_info=Więcej informacji +error_less_info=Mniej informacji +error_close=Zamknij +# 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}} (kompilacja: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Komunikat: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stos: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Plik: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Wiersz: {{line}} +rendering_error=Podczas renderowania strony wystąpił błąd. + +# Predefined zoom values +page_scale_width=Szerokość strony +page_scale_fit=Dopasowanie strony +page_scale_auto=Skala automatyczna +page_scale_actual=Rozmiar oryginalny +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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. +unexpected_response_error=Nieoczekiwana odpowiedź 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=[Adnotacja: {{type}}] +password_label=Wprowadź hasło, aby otworzyć ten dokument PDF. +password_invalid=Nieprawidłowe hasło. Proszę spróbować ponownie. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/pt-BR/viewer.properties b/app/assets/javascripts/publications/locale/pt-BR/viewer.properties new file mode 100644 index 0000000..f91b2aa --- /dev/null +++ b/app/assets/javascripts/publications/locale/pt-BR/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=Página anterior +previous_label=Anterior +next.title=Próxima página +next_label=Próxima + +# 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. +of_pages=de {{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}} de {{pagesCount}}) + +zoom_out.title=Reduzir +zoom_out_label=Reduzir +zoom_in.title=Ampliar +zoom_in_label=Ampliar +zoom.title=Zoom +presentation_mode.title=Alternar para o modo de apresentação +presentation_mode_label=Modo de apresentação +open_file.title=Abrir arquivo +open_file_label=Abrir +print.title=Imprimir +print_label=Imprimir +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 +last_page.title=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_ccw.title=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 deslocamento +cursor_hand_tool_label=Ferramenta de deslocamento + +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 +spread_odd.title=Agrupar páginas começando em páginas com números ímpares +spread_odd_label=Estender ímpares +spread_even.title=Agrupar páginas começando em páginas com números pares +spread_even_label=Estender pares + +# Document properties dialog box +document_properties.title=Propriedades do documento… +document_properties_label=Propriedades do documento… +document_properties_file_name=Nome do arquivo: +document_properties_file_size=Tamanho do arquivo: +# 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=Título: +document_properties_author=Autor: +document_properties_subject=Assunto: +document_properties_keywords=Palavras-chave: +document_properties_creation_date=Data da criação: +document_properties_modification_date=Data da modificação: +# 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=Criação: +document_properties_producer=Criador do PDF: +document_properties_version=Versão do PDF: +document_properties_page_count=Número de páginas: +document_properties_page_size=Tamanho da página: +document_properties_page_size_unit_inches=pol. +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=retrato +document_properties_page_size_orientation_landscape=paisagem +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=Jurídico +# 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=Exibição web rápida: +document_properties_linearized_yes=Sim +document_properties_linearized_no=Não +document_properties_close=Fechar + +print_progress_message=Preparando documento para impressão… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}} % +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=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 + +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. +thumb_page_title=Página {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura da página {{page}} + +# Find panel button title and messages +find_input.title=Procurar +find_input.placeholder=Procurar no documento… +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=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 +find_reached_bottom=Fim do documento alcançado, continuando do início +# 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}} ocorrência +find_match_count[two]={{current}} de {{total}} ocorrências +find_match_count[few]={{current}} de {{total}} ocorrências +find_match_count[many]={{current}} de {{total}} ocorrências +find_match_count[other]={{current}} de {{total}} ocorrências +# 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]=Mais de {{limit}} ocorrências +find_match_count_limit[one]=Mais de {{limit}} ocorrência +find_match_count_limit[two]=Mais de {{limit}} ocorrências +find_match_count_limit[few]=Mais de {{limit}} ocorrências +find_match_count_limit[many]=Mais de {{limit}} ocorrências +find_match_count_limit[other]=Mais de {{limit}} ocorrências +find_not_found=Frase não encontrada + +# Error panel labels +error_more_info=Mais informações +error_less_info=Menos informações +error_close=Fechar +# 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}} (compilação: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Mensagem: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Pilha: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Arquivo: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Linha: {{line}} +rendering_error=Ocorreu um erro ao renderizar a página. + +# Predefined zoom values +page_scale_width=Largura da página +page_scale_fit=Ajustar à janela +page_scale_auto=Zoom automático +page_scale_actual=Tamanho real +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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. +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). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Anotação {{type}}] +password_label=Forneça a senha para abrir este arquivo PDF. +password_invalid=Senha inválida. Tente novamente. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/pt-PT/viewer.properties b/app/assets/javascripts/publications/locale/pt-PT/viewer.properties new file mode 100644 index 0000000..fed3147 --- /dev/null +++ b/app/assets/javascripts/publications/locale/pt-PT/viewer.properties @@ -0,0 +1,251 @@ +# 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 anterior +previous_label=Anterior +next.title=Página seguinte +next_label=Seguinte + +# 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. +of_pages=de {{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}} de {{pagesCount}}) + +zoom_out.title=Reduzir +zoom_out_label=Reduzir +zoom_in.title=Ampliar +zoom_in_label=Ampliar +zoom.title=Zoom +presentation_mode.title=Trocar para o modo de apresentação +presentation_mode_label=Modo de apresentação +open_file.title=Abrir ficheiro +open_file_label=Abrir +print.title=Imprimir +print_label=Imprimir +download.title=Transferir +download_label=Transferir +bookmark.title=Vista atual (copiar ou abrir numa nova janela) +bookmark_label=Visã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 +last_page.title=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_ccw.title=Rodar à esquerda +page_rotate_ccw_label=Rodar à esquerda + +cursor_text_select_tool.title=Ativar 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 + +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 +scroll_horizontal_label=Deslocação horizontal +scroll_wrapped.title=Utilizar deslocação encapsulada +scroll_wrapped_label=Deslocação encapsulada + +spread_none.title=Não juntar páginas dispersas +spread_none_label=Sem spreads +spread_odd.title=Juntar páginas dispersas a partir de páginas com números ímpares +spread_odd_label=Spreads ímpares +spread_even.title=Juntar páginas dispersas a partir de páginas com números pares +spread_even_label=Spreads pares + +# Document properties dialog box +document_properties.title=Propriedades do documento… +document_properties_label=Propriedades do documento… +document_properties_file_name=Nome do ficheiro: +document_properties_file_size=Tamanho do ficheiro: +# 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=Título: +document_properties_author=Autor: +document_properties_subject=Assunto: +document_properties_keywords=Palavras-chave: +document_properties_creation_date=Data de criação: +document_properties_modification_date=Data de modificação: +# 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=Criador: +document_properties_producer=Produtor de PDF: +document_properties_version=Versão do PDF: +document_properties_page_count=N.º de páginas: +document_properties_page_size=Tamanho da página: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=retrato +document_properties_page_size_orientation_landscape=paisagem +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}} × {{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=Vista rápida web: +document_properties_linearized_yes=Sim +document_properties_linearized_no=Não +document_properties_close=Fechar + +print_progress_message=A preparar o documento para impressão… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +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 barra lateral +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 + +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. +thumb_page_title=Página {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura da página {{page}} + +# Find panel button title and messages +find_input.title=Localizar +find_input.placeholder=Localizar em documento… +find_previous.title=Localizar ocorrência anterior da frase +find_previous_label=Anterior +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 +# 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}} correspondência +find_match_count[two]={{current}} de {{total}} correspondências +find_match_count[few]={{current}} de {{total}} correspondências +find_match_count[many]={{current}} de {{total}} correspondências +find_match_count[other]={{current}} de {{total}} correspondências +# 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]=Mais de {{limit}} correspondências +find_match_count_limit[one]=Mais de {{limit}} correspondência +find_match_count_limit[two]=Mais de {{limit}} correspondências +find_match_count_limit[few]=Mais de {{limit}} correspondências +find_match_count_limit[many]=Mais de {{limit}} correspondências +find_match_count_limit[other]=Mais de {{limit}} correspondências +find_not_found=Frase não encontrada + +# Error panel labels +error_more_info=Mais informação +error_less_info=Menos informação +error_close=Fechar +# 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}} (compilação: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Mensagem: {{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=Ficheiro: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Linha: {{line}} +rendering_error=Ocorreu um erro ao processar a página. + +# Predefined zoom values +page_scale_width=Ajustar à largura +page_scale_fit=Ajustar à página +page_scale_auto=Zoom automático +page_scale_actual=Tamanho real +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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. +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). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Anotação {{type}}] +password_label=Introduza a palavra-passe para abrir este ficheiro PDF. +password_invalid=Palavra-passe inválida. Por favor, tente novamente. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/rm/viewer.properties b/app/assets/javascripts/publications/locale/rm/viewer.properties new file mode 100644 index 0000000..85d4e86 --- /dev/null +++ b/app/assets/javascripts/publications/locale/rm/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=Pagina precedenta +previous_label=Enavos +next.title=Proxima pagina +next_label=Enavant + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Pagina +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=da {{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}} da {{pagesCount}}) + +zoom_out.title=Empitschnir +zoom_out_label=Empitschnir +zoom_in.title=Engrondir +zoom_in_label=Engrondir +zoom.title=Zoom +presentation_mode.title=Midar en il modus da preschentaziun +presentation_mode_label=Modus da preschentaziun +open_file.title=Avrir datoteca +open_file_label=Avrir +print.title=Stampar +print_label=Stampar +download.title=Telechargiar +download_label=Telechargiar +bookmark.title=Vista actuala (copiar u avrir en ina nova fanestra) +bookmark_label=Vista actuala + +# Secondary toolbar and context menu +tools.title=Utensils +tools_label=Utensils +first_page.title=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 +page_rotate_cw.title=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 + +cursor_text_select_tool.title=Activar l'utensil per selecziunar text +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 +scroll_horizontal_label=Defilar orizontal +scroll_wrapped.title=Utilisar il defilar en colonnas +scroll_wrapped_label=Defilar en colonnas + +spread_none.title=Betg parallelisar las paginas +spread_none_label=Betg parallel +spread_odd.title=Parallelisar las paginas cun cumenzar cun paginas spèras +spread_odd_label=Parallel spèr +spread_even.title=Parallelisar las paginas cun cumenzar cun paginas pèras +spread_even_label=Parallel pèr + +# Document properties dialog box +document_properties.title=Caracteristicas dal document… +document_properties_label=Caracteristicas dal document… +document_properties_file_name=Num da la datoteca: +document_properties_file_size=Grondezza da la datoteca: +# 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=Titel: +document_properties_author=Autur: +document_properties_subject=Tema: +document_properties_keywords=Chavazzins: +document_properties_creation_date=Data da creaziun: +document_properties_modification_date=Data da modificaziun: +# 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=Creà da: +document_properties_producer=Creà il PDF cun: +document_properties_version=Versiun da PDF: +document_properties_page_count=Dumber da paginas: +document_properties_page_size=Grondezza da la pagina: +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=orizontal +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 Web View: +document_properties_linearized_yes=Gea +document_properties_linearized_no=Na +document_properties_close=Serrar + +print_progress_message=Preparar il document per stampar… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Interrumper + +# 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=Activar/deactivar la trav laterala +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 + +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. +thumb_page_title=Pagina {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatura da la pagina {{page}} + +# Find panel button title and messages +find_input.title=Tschertgar +find_input.placeholder=Tschertgar en il document… +find_previous.title=Tschertgar la posiziun precedenta da l'expressiun +find_previous_label=Enavos +find_next.title=Tschertgar la proxima posiziun da l'expressiun +find_next_label=Enavant +find_highlight=Relevar tuts +find_match_case_label=Resguardar maiusclas/minusclas +find_entire_word_label=Pleds entirs +find_reached_top=Il cumenzament dal document è cuntanschì, la tschertga cuntinuescha a la fin dal document +find_reached_bottom=La fin dal document è cuntanschì, la tschertga cuntinuescha al cumenzament dal document +# 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}} dad {{total}} correspundenza +find_match_count[two]={{current}} da {{total}} correspundenzas +find_match_count[few]={{current}} da {{total}} correspundenzas +find_match_count[many]={{current}} da {{total}} correspundenzas +find_match_count[other]={{current}} da {{total}} correspundenzas +# 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]=Dapli che {{limit}} correspundenzas +find_match_count_limit[one]=Dapli che {{limit}} correspundenza +find_match_count_limit[two]=Dapli che {{limit}} correspundenzas +find_match_count_limit[few]=Dapli che {{limit}} correspundenzas +find_match_count_limit[many]=Dapli che {{limit}} correspundenzas +find_match_count_limit[other]=Dapli che {{limit}} correspundenzas +find_not_found=Impussibel da chattar l'expressiun + +# Error panel labels +error_more_info=Dapli infurmaziuns +error_less_info=Damain infurmaziuns +error_close=Serrar +# 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=Messadi: {{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=Datoteca: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Lingia: {{line}} +rendering_error=Ina errur è cumparida cun visualisar questa pagina. + +# Predefined zoom values +page_scale_width=Ladezza da la pagina +page_scale_fit=Entira pagina +page_scale_auto=Zoom automatic +page_scale_actual=Grondezza actuala +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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. +unexpected_response_error=Resposta nunspetgada dal server. + +# 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=[Annotaziun da {{type}}] +password_label=Endatescha il pled-clav per avrir questa datoteca da PDF. +password_invalid=Pled-clav nunvalid. Emprova anc ina giada. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/ro/viewer.properties b/app/assets/javascripts/publications/locale/ro/viewer.properties new file mode 100644 index 0000000..7c4ed28 --- /dev/null +++ b/app/assets/javascripts/publications/locale/ro/viewer.properties @@ -0,0 +1,240 @@ +# 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=Pagina precedentă +previous_label=Înapoi +next.title=Pagina următoare +next_label=Înainte + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Pagina +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=din {{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}} din {{pagesCount}}) + +zoom_out.title=Micșorează +zoom_out_label=Micșorează +zoom_in.title=Mărește +zoom_in_label=Mărește +zoom.title=Zoom +presentation_mode.title=Comută la modul de prezentare +presentation_mode_label=Mod de prezentare +open_file.title=Deschide un fișier +open_file_label=Deschide +print.title=Tipărește +print_label=Tipărește +download.title=Descarcă +download_label=Descarcă +bookmark.title=Vizualizare actuală (copiază sau deschide într-o fereastră nouă) +bookmark_label=Vizualizare actuală + +# Secondary toolbar and context menu +tools.title=Instrumente +tools_label=Instrumente +first_page.title=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ă +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 +cursor_hand_tool.title=Activează instrumentul mână +cursor_hand_tool_label=Unealta mână + +scroll_vertical.title=Folosește derularea verticală +scroll_vertical_label=Derulare verticală +scroll_horizontal.title=Folosește derularea orizontală +scroll_horizontal_label=Derulare orizontală +scroll_wrapped.title=Folosește derularea încadrată +scroll_wrapped_label=Derulare încadrată + +spread_none.title=Nu uni paginile broșate +spread_none_label=Fără pagini broșate +spread_odd.title=Unește paginile broșate începând cu cele impare +spread_odd_label=Broșare pagini impare +spread_even.title=Unește paginile broșate începând cu cele pare +spread_even_label=Broșare pagini pare + +# Document properties dialog box +document_properties.title=Proprietățile documentului… +document_properties_label=Proprietățile documentului… +document_properties_file_name=Numele fișierului: +document_properties_file_size=Mărimea fișierului: +# 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}} byți) +# 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}} byți) +document_properties_title=Titlu: +document_properties_author=Autor: +document_properties_subject=Subiect: +document_properties_keywords=Cuvinte cheie: +document_properties_creation_date=Data creării: +document_properties_modification_date=Data modificării: +# 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=Autor: +document_properties_producer=Producător PDF: +document_properties_version=Versiune PDF: +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=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ă +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=Vizualizare web rapidă: +document_properties_linearized_yes=Da +document_properties_linearized_no=Nu +document_properties_close=Închide + +print_progress_message=Se pregătește documentul pentru tipărire… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Renunță + +# 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=Comută bara laterală +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 +attachments.title=Afișează atașamentele +attachments_label=Atașamente +thumbs.title=Afișează miniaturi +thumbs_label=Miniaturi +findbar.title=Caută în document +findbar_label=Caută + +# 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=Pagina {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +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=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=Ț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 +# 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}} din {{total}} rezultat +find_match_count[two]={{current}} din {{total}} rezultate +find_match_count[few]={{current}} din {{total}} rezultate +find_match_count[many]={{current}} din {{total}} de rezultate +find_match_count[other]={{current}} din {{total}} de rezultate +# 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]=Peste {{limit}} rezultate +find_match_count_limit[one]=Peste {{limit}} rezultat +find_match_count_limit[two]=Peste {{limit}} rezultate +find_match_count_limit[few]=Peste {{limit}} rezultate +find_match_count_limit[many]=Peste {{limit}} de rezultate +find_match_count_limit[other]=Peste {{limit}} de rezultate +find_not_found=Nu s-a găsit textul + +# Error panel labels +error_more_info=Mai multe informații +error_less_info=Mai puține informații +error_close=Închide +# 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}} (versiunea compilată: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Mesaj: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Stivă: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Fișier: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Rând: {{line}} +rendering_error=A intervenit o eroare la randarea paginii. + +# Predefined zoom values +page_scale_width=Lățime pagină +page_scale_fit=Potrivire la pagină +page_scale_auto=Zoom automat +page_scale_actual=Mărime reală +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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ă. +unexpected_response_error=Răspuns neașteptat de la server. + +# 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=[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_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. diff --git a/app/assets/javascripts/publications/locale/ru/viewer.properties b/app/assets/javascripts/publications/locale/ru/viewer.properties new file mode 100644 index 0000000..8f817bd --- /dev/null +++ b/app/assets/javascripts/publications/locale/ru/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}} +# 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=мм +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=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=Быстрый просмотр в Web: +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=Стeк: {{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=OK +password_cancel=Отмена + +printing_not_supported=Предупреждение: В этом браузере не полностью поддерживается печать. +printing_not_ready=Предупреждение: PDF не полностью загружен для печати. +web_fonts_disabled=Веб-шрифты отключены: не удалось задействовать встроенные PDF-шрифты. diff --git a/app/assets/javascripts/publications/locale/sat/viewer.properties b/app/assets/javascripts/publications/locale/sat/viewer.properties new file mode 100644 index 0000000..9cfa1f5 --- /dev/null +++ b/app/assets/javascripts/publications/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/publications/locale/sc/viewer.properties b/app/assets/javascripts/publications/locale/sc/viewer.properties new file mode 100644 index 0000000..0070222 --- /dev/null +++ b/app/assets/javascripts/publications/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/publications/locale/scn/viewer.properties b/app/assets/javascripts/publications/locale/scn/viewer.properties new file mode 100644 index 0000000..e9a650a --- /dev/null +++ b/app/assets/javascripts/publications/locale/scn/viewer.properties @@ -0,0 +1,101 @@ +# 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) + +# 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=Cchiù nicu +zoom_out_label=Cchiù nicu +zoom_in.title=Cchiù granni +zoom_in_label=Cchiù granni + +# 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. +# 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=Vista web lesta: +document_properties_linearized_yes=Se + +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_close=Sfai + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) + +# 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. + +# Error panel labels +# 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 +page_scale_width=Larghizza dâ pàggina +# 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_cancel=Sfai + diff --git a/app/assets/javascripts/publications/locale/sco/viewer.properties b/app/assets/javascripts/publications/locale/sco/viewer.properties new file mode 100644 index 0000000..656f995 --- /dev/null +++ b/app/assets/javascripts/publications/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/publications/locale/si/viewer.properties b/app/assets/javascripts/publications/locale/si/viewer.properties new file mode 100644 index 0000000..d4514c1 --- /dev/null +++ b/app/assets/javascripts/publications/locale/si/viewer.properties @@ -0,0 +1,201 @@ +# 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. +# 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=විශාලණය +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_hand_tool_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}} 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 +# 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=ඇමිණුම් +thumbs.title=සිඟිති රූ පෙන්වන්න +thumbs_label=සිඟිති රූ +findbar.title=ලේඛනය තුළ සොයන්න +findbar_label=සොයන්න + +# 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_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. +# 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_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: {{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 (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/publications/locale/sk/viewer.properties b/app/assets/javascripts/publications/locale/sk/viewer.properties new file mode 100644 index 0000000..d412d4b --- /dev/null +++ b/app/assets/javascripts/publications/locale/sk/viewer.properties @@ -0,0 +1,251 @@ +# 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=Predchádzajúca strana +previous_label=Predchádzajúca +next.title=Nasledujúca strana +next_label=Nasledujúca + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Strana +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=z {{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}} z {{pagesCount}}) + +zoom_out.title=Zmenšiť veľkosť +zoom_out_label=Zmenšiť veľkosť +zoom_in.title=Zväčšiť veľkosť +zoom_in_label=Zväčšiť veľkosť +zoom.title=Nastavenie veľkosti +presentation_mode.title=Prepnúť na režim prezentácie +presentation_mode_label=Režim prezentácie +open_file.title=Otvoriť súbor +open_file_label=Otvoriť +print.title=Tlačiť +print_label=Tlačiť +download.title=Stiahnuť +download_label=Stiahnuť +bookmark.title=Aktuálne zobrazenie (kopírovať alebo otvoriť v novom okne) +bookmark_label=Aktuálne zobrazenie + +# Secondary toolbar and context menu +tools.title=Nástroje +tools_label=Nástroje +first_page.title=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 +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_ccw.title=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 +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 +scroll_horizontal_label=Vodorovné posúvanie +scroll_wrapped.title=Použiť postupné posúvanie +scroll_wrapped_label=Postupné posúvanie + +spread_none.title=Nezdružovať stránky +spread_none_label=Žiadne združovanie +spread_odd.title=Združí stránky a umiestni nepárne stránky vľavo +spread_odd_label=Združiť stránky (nepárne vľavo) +spread_even.title=Združí stránky a umiestni párne stránky vľavo +spread_even_label=Združiť stránky (párne vľavo) + +# Document properties dialog box +document_properties.title=Vlastnosti dokumentu… +document_properties_label=Vlastnosti dokumentu… +document_properties_file_name=Názov súboru: +document_properties_file_size=Veľkosť súboru: +# 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}} bajtov) +# 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}} bajtov) +document_properties_title=Názov: +document_properties_author=Autor: +document_properties_subject=Predmet: +document_properties_keywords=Kľúčové slová: +document_properties_creation_date=Dátum vytvorenia: +document_properties_modification_date=Dátum úpravy: +# 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=Vytvoril: +document_properties_producer=Tvorca PDF: +document_properties_version=Verzia PDF: +document_properties_page_count=Počet strán: +document_properties_page_size=Veľkosť stránky: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=na výšku +document_properties_page_size_orientation_landscape=na šírku +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=List +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=Rýchle Web View: +document_properties_linearized_yes=Áno +document_properties_linearized_no=Nie +document_properties_close=Zavrieť + +print_progress_message=Príprava dokumentu na tlač… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Zrušiť + +# 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=Prepnúť bočný panel +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ť + +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. +thumb_page_title=Strana {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatúra strany {{page}} + +# Find panel button title and messages +find_input.title=Hľadať +find_input.placeholder=Hľadať v dokumente… +find_previous.title=Vyhľadať predchádzajúci výskyt reťazca +find_previous_label=Predchádzajúce +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 +# 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}}. z {{total}} výsledku +find_match_count[two]={{current}}. z {{total}} výsledkov +find_match_count[few]={{current}}. z {{total}} výsledkov +find_match_count[many]={{current}}. z {{total}} výsledkov +find_match_count[other]={{current}}. z {{total}} výsledkov +# 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]=Viac než {{limit}} výsledkov +find_match_count_limit[one]=Viac než {{limit}} výsledok +find_match_count_limit[two]=Viac než {{limit}} výsledky +find_match_count_limit[few]=Viac než {{limit}} výsledky +find_match_count_limit[many]=Viac než {{limit}} výsledkov +find_match_count_limit[other]=Viac než {{limit}} výsledkov +find_not_found=Výraz nebol nájdený + +# Error panel labels +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 +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js v{{version}} (zostavenie: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Správa: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Zásobník: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Súbor: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Riadok: {{line}} +rendering_error=Pri vykresľovaní stránky sa vyskytla chyba. + +# Predefined zoom values +page_scale_width=Na šírku strany +page_scale_fit=Na veľkosť strany +page_scale_auto=Automatická veľkosť +page_scale_actual=Skutočná veľkosť +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}} % + +# Loading indicator messages +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. +unexpected_response_error=Neočakávaná odpoveď zo servera. + +# 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=[Anotácia typu {{type}}] +password_label=Ak chcete otvoriť tento súbor PDF, zadajte jeho heslo. +password_invalid=Heslo nie je platné. Skúste to znova. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/sl/viewer.properties b/app/assets/javascripts/publications/locale/sl/viewer.properties new file mode 100644 index 0000000..723f75d --- /dev/null +++ b/app/assets/javascripts/publications/locale/sl/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=Prejšnja stran +previous_label=Nazaj +next.title=Naslednja stran +next_label=Naprej + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Stran +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=od {{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}} od {{pagesCount}}) + +zoom_out.title=Pomanjšaj +zoom_out_label=Pomanjšaj +zoom_in.title=Povečaj +zoom_in_label=Povečaj +zoom.title=Povečava +presentation_mode.title=Preklopi v način predstavitve +presentation_mode_label=Način predstavitve +open_file.title=Odpri datoteko +open_file_label=Odpri +print.title=Natisni +print_label=Natisni +download.title=Prenesi +download_label=Prenesi +bookmark.title=Trenutni pogled (kopiraj ali odpri v novem oknu) +bookmark_label=Trenutni pogled + +# Secondary toolbar and context menu +tools.title=Orodja +tools_label=Orodja +first_page.title=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 +page_rotate_cw.title=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 + +cursor_text_select_tool.title=Omogoči orodje za izbor besedila +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 +scroll_horizontal_label=Vodoravno drsenje +scroll_wrapped.title=Uporabi ovito drsenje +scroll_wrapped_label=Ovito drsenje + +spread_none.title=Ne združuj razponov strani +spread_none_label=Brez razponov +spread_odd.title=Združuj razpone strani z začetkom pri lihih straneh +spread_odd_label=Lihi razponi +spread_even.title=Združuj razpone strani z začetkom pri sodih straneh +spread_even_label=Sodi razponi + +# Document properties dialog box +document_properties.title=Lastnosti dokumenta … +document_properties_label=Lastnosti dokumenta … +document_properties_file_name=Ime datoteke: +document_properties_file_size=Velikost datoteke: +# 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}} bajtov) +# 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}} bajtov) +document_properties_title=Ime: +document_properties_author=Avtor: +document_properties_subject=Tema: +document_properties_keywords=Ključne besede: +document_properties_creation_date=Datum nastanka: +document_properties_modification_date=Datum spremembe: +# 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=Ustvaril: +document_properties_producer=Izdelovalec PDF: +document_properties_version=Različica PDF: +document_properties_page_count=Število strani: +document_properties_page_size=Velikost strani: +document_properties_page_size_unit_inches=palcev +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=pokončno +document_properties_page_size_orientation_landscape=ležeče +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Pismo +document_properties_page_size_name_legal=Pravno +# 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=Hitri spletni ogled: +document_properties_linearized_yes=Da +document_properties_linearized_no=Ne +document_properties_close=Zapri + +print_progress_message=Priprava dokumenta na tiskanje … +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}} % +print_progress_close=Prekliči + +# 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=Preklopi stransko vrstico +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 + +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. +thumb_page_title=Stran {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Sličica strani {{page}} + +# Find panel button title and messages +find_input.title=Najdi +find_input.placeholder=Najdi v dokumentu … +find_previous.title=Najdi prejšnjo ponovitev iskanega +find_previous_label=Najdi nazaj +find_next.title=Najdi naslednjo ponovitev iskanega +find_next_label=Najdi naprej +find_highlight=Označi vse +find_match_case_label=Razlikuj velike/male črke +find_entire_word_label=Cele besede +find_reached_top=Dosežen začetek dokumenta iz smeri konca +find_reached_bottom=Doseženo konec dokumenta iz smeri začetka +# 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]=Zadetek {{current}} od {{total}} +find_match_count[two]=Zadetek {{current}} od {{total}} +find_match_count[few]=Zadetek {{current}} od {{total}} +find_match_count[many]=Zadetek {{current}} od {{total}} +find_match_count[other]=Zadetek {{current}} od {{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]=Več kot {{limit}} zadetkov +find_match_count_limit[one]=Več kot {{limit}} zadetek +find_match_count_limit[two]=Več kot {{limit}} zadetka +find_match_count_limit[few]=Več kot {{limit}} zadetki +find_match_count_limit[many]=Več kot {{limit}} zadetkov +find_match_count_limit[other]=Več kot {{limit}} zadetkov +find_not_found=Iskanega ni mogoče najti + +# Error panel labels +error_more_info=Več informacij +error_less_info=Manj informacij +error_close=Zapri +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js r{{version}} (graditev: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Sporočilo: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Sklad: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Datoteka: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Vrstica: {{line}} +rendering_error=Med pripravljanjem strani je prišlo do napake! + +# Predefined zoom values +page_scale_width=Širina strani +page_scale_fit=Prilagodi stran +page_scale_auto=Samodejno +page_scale_actual=Dejanska velikost +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}} % + +# Loading indicator messages +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. +unexpected_response_error=Nepričakovan odgovor strežnika. + +# 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=[Opomba vrste {{type}}] +password_label=Vnesite geslo za odpiranje te datoteke PDF. +password_invalid=Neveljavno geslo. Poskusite znova. +password_ok=V redu +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. diff --git a/app/assets/javascripts/publications/locale/son/viewer.properties b/app/assets/javascripts/publications/locale/son/viewer.properties new file mode 100644 index 0000000..bd5e5ac --- /dev/null +++ b/app/assets/javascripts/publications/locale/son/viewer.properties @@ -0,0 +1,172 @@ +# 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=Moo bisante +previous_label=Bisante +next.title=Jinehere moo +next_label=Jine + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Moo +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages={{pagesCount}} ra +# 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}} ka hun {{pagesCount}}) ra + +zoom_out.title=Nakasandi +zoom_out_label=Nakasandi +zoom_in.title=Bebbeerandi +zoom_in_label=Bebbeerandi +zoom.title=Bebbeerandi +presentation_mode.title=Bere cebeyan alhaali +presentation_mode_label=Cebeyan alhaali +open_file.title=Tuku feeri +open_file_label=Feeri +print.title=Kar +print_label=Kar +download.title=Zumandi +download_label=Zumandi +bookmark.title=Sohõ gunarro (bere wala feeri zanfun taaga ra) +bookmark_label=Sohõ gunaroo + +# Secondary toolbar and context menu +tools.title=Goyjinawey +tools_label=Goyjinawey +first_page.title=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 +page_rotate_cw.title=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 + + +# Document properties dialog box +document_properties.title=Takadda mayrawey… +document_properties_label=Takadda mayrawey… +document_properties_file_name=Tuku maa: +document_properties_file_size=Tuku adadu: +# 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=KB {{size_kb}} (cebsu-ize {{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=MB {{size_mb}} (cebsu-ize {{size_b}}) +document_properties_title=Tiiramaa: +document_properties_author=Hantumkaw: +document_properties_subject=Dalil: +document_properties_keywords=Kufalkalimawey: +document_properties_creation_date=Teeyan han: +document_properties_modification_date=Barmayan han: +# 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=Teekaw: +document_properties_producer=PDF berandikaw: +document_properties_version=PDF dumi: +document_properties_page_count=Moo hinna: +document_properties_close=Daabu + +print_progress_message=Goo ma takaddaa soolu k'a kar se… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Naŋ + +# 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=Kanjari ceraw zuu +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ŋ +attachments.title=Hangarey cebe +attachments_label=Hangarey +thumbs.title=Kabeboy biyey cebe +thumbs_label=Kabeboy biyey +findbar.title=Ceeci takaddaa ra +findbar_label=Ceeci + +# 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}} moo +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Kabeboy bii {{page}} moo še + +# Find panel button title and messages +find_input.title=Ceeci +find_input.placeholder=Ceeci takaddaa ra… +find_previous.title=Kalimaɲaŋoo bangayri bisantaa ceeci +find_previous_label=Bisante +find_next.title=Kalimaɲaŋoo hiino bangayroo ceeci +find_next_label=Jine +find_highlight=Ikul šilbay +find_match_case_label=Harfu-beeriyan hawgay +find_reached_top=A too moŋoo boŋoo, koy jine ka šinitin nda cewoo +find_reached_bottom=A too moɲoo cewoo, koy jine šintioo ga +find_not_found=Kalimaɲaa mana duwandi + +# Error panel labels +error_more_info=Alhabar tontoni +error_less_info=Alhabar tontoni +error_close=Daabu +# 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=Alhabar: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Dekeri: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Tuku: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Žeeri: {{line}} +rendering_error=Firka bangay kaŋ moɲoo goo ma willandi. + +# Predefined zoom values +page_scale_width=Mooo hayyan +page_scale_fit=Moo sawayan +page_scale_auto=Boŋše azzaati barmayyan +page_scale_actual=Adadu cimi +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=Firka bangay kaŋ PDF goo ma zumandi. +invalid_file_error=PDF tuku laala wala laybante. +missing_file_error=PDF tuku kumante. +unexpected_response_error=Manti feršikaw tuuruyan maatante. + +# 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}} maasa-caw] +password_label=Šennikufal dam ka PDF tukoo woo feeri. +password_invalid=Šennikufal laalo. Ceeci koyne taare. +password_ok=Ayyo +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. diff --git a/app/assets/javascripts/publications/locale/sq/viewer.properties b/app/assets/javascripts/publications/locale/sq/viewer.properties new file mode 100644 index 0000000..3ff4e4d --- /dev/null +++ b/app/assets/javascripts/publications/locale/sq/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=Faqja e Mëparshme +previous_label=E mëparshmja +next.title=Faqja Pasuese +next_label=Pasuesja + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Faqe +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=nga {{pagesCount}} gjithsej +# 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}} nga {{pagesCount}}) + +zoom_out.title=Zvogëlojeni +zoom_out_label=Zvogëlojeni +zoom_in.title=Zmadhojeni +zoom_in_label=Zmadhojini +zoom.title=Zoom +presentation_mode.title=Kalo te Mënyra Paraqitje +presentation_mode_label=Mënyra Paraqitje +open_file.title=Hapni Kartelë +open_file_label=Hape +print.title=Shtypje +print_label=Shtype +download.title=Shkarkim +download_label=Shkarkoje +bookmark.title=Pamja e tanishme (kopjojeni ose hapeni në dritare të re) +bookmark_label=Pamja e Tanishme + +# Secondary toolbar and context menu +tools.title=Mjete +tools_label=Mjete +first_page.title=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 +page_rotate_cw.title=Rrotullojeni 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 + +cursor_text_select_tool.title=Aktivizo Mjet Përzgjedhjeje Teksti +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 +scroll_horizontal_label=Rrëshqitje Horizontale +scroll_wrapped.title=Përdor Rrëshqitje Me Mbështjellje +scroll_wrapped_label=Rrëshqitje Me Mbështjellje + + +# Document properties dialog box +document_properties.title=Veti Dokumenti… +document_properties_label=Veti Dokumenti… +document_properties_file_name=Emër kartele: +document_properties_file_size=Madhësi kartele: +# 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}} bajte) +# 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}} bajte) +document_properties_title=Titull: +document_properties_author=Autor: +document_properties_subject=Subjekt: +document_properties_keywords=Fjalëkyçe: +document_properties_creation_date=Datë Krijimi: +document_properties_modification_date=Datë Ndryshimi: +# 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=Krijues: +document_properties_producer=Prodhues PDF-je: +document_properties_version=Version PDF-je: +document_properties_page_count=Numër Faqesh: +document_properties_page_size=Madhësi Faqeje: +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=së gjeri +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=Parje e Shpjetë në Web: +document_properties_linearized_yes=Po +document_properties_linearized_no=Jo +document_properties_close=Mbylleni + +print_progress_message=Po përgatitet dokumenti për shtypje… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Anuloje + +# 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=Shfaqni/Fshihni Anështyllën +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. +thumb_page_title=Faqja {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniaturë e Faqes {{page}} + +# Find panel button title and messages +find_input.title=Gjej +find_input.placeholder=Gjeni në dokument… +find_previous.title=Gjeni hasjen e mëparshme të togfjalëshit +find_previous_label=E mëparshmja +find_next.title=Gjeni hasjen pasuese të togfjalëshit +find_next_label=Pasuesja +find_highlight=Theksoji të tëra +find_match_case_label=Siç është shkruar +find_entire_word_label=Krejt fjalët +find_reached_top=U mbërrit në krye të dokumentit, vazhduar prej fundit +find_reached_bottom=U mbërrit në fund të dokumentit, vazhduar prej kreut +# 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}} nga {{total}} përputhje gjithsej +find_match_count[two]={{current}} nga {{total}} përputhje gjithsej +find_match_count[few]={{current}} nga {{total}} përputhje gjithsej +find_match_count[many]={{current}} nga {{total}} përputhje gjithsej +find_match_count[other]={{current}} nga {{total}} përputhje gjithsej +# 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]=Më shumë se {{limit}} përputhje +find_match_count_limit[one]=Më shumë se {{limit}} përputhje +find_match_count_limit[two]=Më shumë se {{limit}} përputhje +find_match_count_limit[few]=Më shumë se {{limit}} përputhje +find_match_count_limit[many]=Më shumë se {{limit}} përputhje +find_match_count_limit[other]=Më shumë se {{limit}} përputhje +find_not_found=Togfjalësh që s’gjendet + +# Error panel labels +error_more_info=Më Tepër të Dhëna +error_less_info=Më Pak të Dhëna +error_close=Mbylleni +# 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=Mesazh: {{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=Kartelë: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Rresht: {{line}} +rendering_error=Ndodhi një gabim gjatë riprodhimit të faqes. + +# Predefined zoom values +page_scale_width=Gjerësi Faqeje +page_scale_fit=Sa Nxë Faqja +page_scale_auto=Zoom i Vetvetishëm +page_scale_actual=Madhësia Faktike +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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. +unexpected_response_error=Përgjigje shërbyesi e papritur. + +# 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=[Nënvizim {{type}}] +password_label=Jepni fjalëkalimin që të hapet kjo kartelë PDF. +password_invalid=Fjalëkalim i pavlefshëm. Ju lutemi, riprovoni. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/sr/viewer.properties b/app/assets/javascripts/publications/locale/sr/viewer.properties new file mode 100644 index 0000000..9f997f9 --- /dev/null +++ b/app/assets/javascripts/publications/locale/sr/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}} +# 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=Скроловање по омоту + +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}} 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=Наслов: +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=А3 +document_properties_page_size_name_a4=А4 +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: {{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 фонтове. +# LOCALIZATION NOTE (unsupported_feature_signatures): Should contain the same +# exact string as in the `chrome.properties` file. diff --git a/app/assets/javascripts/publications/locale/sv-SE/viewer.properties b/app/assets/javascripts/publications/locale/sv-SE/viewer.properties new file mode 100644 index 0000000..dc4f480 --- /dev/null +++ b/app/assets/javascripts/publications/locale/sv-SE/viewer.properties @@ -0,0 +1,251 @@ +# 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=Föregående sida +previous_label=Föregående +next.title=Nästa sida +next_label=Nästa + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Sida +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=av {{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}} av {{pagesCount}}) + +zoom_out.title=Zooma ut +zoom_out_label=Zooma ut +zoom_in.title=Zooma in +zoom_in_label=Zooma in +zoom.title=Zoom +presentation_mode.title=Byt till presentationsläge +presentation_mode_label=Presentationsläge +open_file.title=Öppna fil +open_file_label=Öppna +print.title=Skriv ut +print_label=Skriv ut +download.title=Hämta +download_label=Hämta +bookmark.title=Aktuell vy (kopiera eller öppna i nytt fönster) +bookmark_label=Aktuell vy + +# Secondary toolbar and context menu +tools.title=Verktyg +tools_label=Verktyg +first_page.title=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 +page_rotate_cw.title=Rotera medurs +page_rotate_cw_label=Rotera medurs +page_rotate_ccw.title=Rotera moturs +page_rotate_ccw_label=Rotera moturs + +cursor_text_select_tool.title=Aktivera textmarkeringsverktyg +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 +scroll_horizontal_label=Horisontell rullning +scroll_wrapped.title=Använd överlappande rullning +scroll_wrapped_label=Överlappande rullning + +spread_none.title=Visa enkelsidor +spread_none_label=Enkelsidor +spread_odd.title=Visa uppslag med olika sidnummer till vänster +spread_odd_label=Uppslag med framsida +spread_even.title=Visa uppslag med lika sidnummer till vänster +spread_even_label=Uppslag utan framsida + +# Document properties dialog box +document_properties.title=Dokumentegenskaper… +document_properties_label=Dokumentegenskaper… +document_properties_file_name=Filnamn: +document_properties_file_size=Filstorlek: +# 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}} byte) +# 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}} byte) +document_properties_title=Titel: +document_properties_author=Författare: +document_properties_subject=Ämne: +document_properties_keywords=Nyckelord: +document_properties_creation_date=Skapades: +document_properties_modification_date=Ändrades: +# 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=Skapare: +document_properties_producer=PDF-producent: +document_properties_version=PDF-version: +document_properties_page_count=Sidantal: +document_properties_page_size=Pappersstorlek: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=porträtt +document_properties_page_size_orientation_landscape=landskap +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=Snabb webbvisning: +document_properties_linearized_yes=Ja +document_properties_linearized_no=Nej +document_properties_close=Stäng + +print_progress_message=Förbereder sidor för utskrift… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Avbryt + +# 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=Visa/dölj sidofält +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 + +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. +thumb_page_title=Sida {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Miniatyr av sida {{page}} + +# Find panel button title and messages +find_input.title=Sök +find_input.placeholder=Sök i dokument… +find_previous.title=Hitta föregående förekomst av frasen +find_previous_label=Föregående +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 +# 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}} av {{total}} träff +find_match_count[two]={{current}} av {{total}} träffar +find_match_count[few]={{current}} av {{total}} träffar +find_match_count[many]={{current}} av {{total}} träffar +find_match_count[other]={{current}} av {{total}} träffar +# 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]=Mer än {{limit}} träffar +find_match_count_limit[one]=Mer än {{limit}} träff +find_match_count_limit[two]=Mer än {{limit}} träffar +find_match_count_limit[few]=Mer än {{limit}} träffar +find_match_count_limit[many]=Mer än {{limit}} träffar +find_match_count_limit[other]=Mer än {{limit}} träffar +find_not_found=Frasen hittades inte + +# Error panel labels +error_more_info=Mer information +error_less_info=Mindre information +error_close=Stäng +# 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=Meddelande: {{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=Fil: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Rad: {{line}} +rendering_error=Ett fel uppstod vid visning av sidan. + +# Predefined zoom values +page_scale_width=Sidbredd +page_scale_fit=Anpassa sida +page_scale_auto=Automatisk zoom +page_scale_actual=Verklig storlek +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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. +unexpected_response_error=Oväntat svar från servern. + +# 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}}-annotering] +password_label=Skriv in lösenordet för att öppna PDF-filen. +password_invalid=Ogiltigt lösenord. Försök igen. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/szl/viewer.properties b/app/assets/javascripts/publications/locale/szl/viewer.properties new file mode 100644 index 0000000..1af405d --- /dev/null +++ b/app/assets/javascripts/publications/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/publications/locale/ta/viewer.properties b/app/assets/javascripts/publications/locale/ta/viewer.properties new file mode 100644 index 0000000..d07a337 --- /dev/null +++ b/app/assets/javascripts/publications/locale/ta/viewer.properties @@ -0,0 +1,193 @@ +# 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={{pagesCount}}) இல் ({{pageNumber}} + +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=கைக்குருவி + +# 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=பிடிஎஃப் தயாரிப்பாளர்: +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}}) +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.title=ஆவண அடக்கத்தைக் காட்டு (இருமுறைச் சொடுக்கி அனைத்து உறுப்பிடிகளையும் விரி/சேர்) +document_outline_label=ஆவண வெளிவரை +attachments.title=இணைப்புகளை காண்பி +attachments_label=இணைப்புகள் +thumbs.title=சிறுபடங்களைக் காண்பி +thumbs_label=சிறுபடங்கள் +findbar.title=ஆவணத்தில் கண்டறி +findbar_label=தேடு + +# 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_reached_top=ஆவணத்தின் மேல் பகுதியை அடைந்தது, அடிப்பக்கத்திலிருந்து தொடர்ந்தது +find_reached_bottom=ஆவணத்தின் முடிவை அடைந்தது, மேலிருந்து தொடர்ந்தது +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 (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/publications/locale/te/viewer.properties b/app/assets/javascripts/publications/locale/te/viewer.properties new file mode 100644 index 0000000..6cd691a --- /dev/null +++ b/app/assets/javascripts/publications/locale/te/viewer.properties @@ -0,0 +1,217 @@ +# 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=(మొత్తం {{pagesCount}} లో {{pageNumber}}వది) + +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_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}} 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=శీర్షిక: +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_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.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. +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) ]} +# 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_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/publications/locale/tg/viewer.properties b/app/assets/javascripts/publications/locale/tg/viewer.properties new file mode 100644 index 0000000..24ab96e --- /dev/null +++ b/app/assets/javascripts/publications/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/publications/locale/th/viewer.properties b/app/assets/javascripts/publications/locale/th/viewer.properties new file mode 100644 index 0000000..c48a711 --- /dev/null +++ b/app/assets/javascripts/publications/locale/th/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}} +# 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}} 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=in +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: {{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/publications/locale/tl/viewer.properties b/app/assets/javascripts/publications/locale/tl/viewer.properties new file mode 100644 index 0000000..1e988e7 --- /dev/null +++ b/app/assets/javascripts/publications/locale/tl/viewer.properties @@ -0,0 +1,242 @@ +# 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=Naunang Pahina +previous_label=Nakaraan +next.title=Sunod na Pahina +next_label=Sunod + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Pahina +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=ng {{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}} ng {{pagesCount}}) + +zoom_out.title=Paliitin +zoom_out_label=Paliitin +zoom_in.title=Palakihin +zoom_in_label=Palakihin +zoom.title=Mag-zoom +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=i-Download +download_label=i-Download +bookmark.title=Kasalukuyang tingin (kopyahin o buksan sa bagong window) +bookmark_label=Kasalukuyang tingin + +# Secondary toolbar and context menu +tools.title=Mga Kagamitan +tools_label=Mga Kagamitan +first_page.title=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 +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=I-enable ang Text Selection Tool +cursor_text_select_tool_label=Text Selection Tool +cursor_hand_tool.title=I-enable ang Hand Tool +cursor_hand_tool_label=Hand Tool + +scroll_vertical.title=Gumamit ng Vertical Scrolling +scroll_vertical_label=Vertical Scrolling +scroll_horizontal.title=Gumamit ng Horizontal Scrolling +scroll_horizontal_label=Horizontal Scrolling +scroll_wrapped.title=Gumamit ng Wrapped Scrolling +scroll_wrapped_label=Wrapped Scrolling + +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=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=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}}" +# 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=Pamagat: +document_properties_author=May-akda: +document_properties_subject=Paksa: +document_properties_keywords=Mga keyword: +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=Tagalikha: +document_properties_producer=PDF Producer: +document_properties_version=PDF Version: +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=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 +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 Web View: +document_properties_linearized_yes=Oo +document_properties_linearized_no=Hindi +document_properties_close=Isara + +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}}% +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=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 + +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. +thumb_page_title=Pahina {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Thumbnail ng Pahina {{page}} + +# Find panel button title and messages +find_input.title=Hanapin +find_input.placeholder=Hanapin sa dokumento… +find_previous.title=Hanapin ang nakaraang pangyayari ng parirala +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=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}} 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]=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=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}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Mensahe: {{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=Linya: {{line}} +rendering_error=Nagkaproblema habang nirerender ang pahina. + +# Predefined zoom values +page_scale_width=Lapad ng Pahina +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_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. + +# 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=Ipasok ang password upang buksan ang PDF file na ito. +password_invalid=Maling password. Subukan uli. +password_ok=OK +password_cancel=Kanselahin + +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/publications/locale/tr/viewer.properties b/app/assets/javascripts/publications/locale/tr/viewer.properties new file mode 100644 index 0000000..5d725d5 --- /dev/null +++ b/app/assets/javascripts/publications/locale/tr/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=Önceki sayfa +previous_label=Önceki +next.title=Sonraki sayfa +next_label=Sonraki + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Sayfa +# 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=Uzaklaştır +zoom_out_label=Uzaklaştır +zoom_in.title=Yaklaştır +zoom_in_label=Yaklaştır +zoom.title=Yakınlaştırma +presentation_mode.title=Sunum moduna geç +presentation_mode_label=Sunum Modu +open_file.title=Dosya aç +open_file_label=Aç +print.title=Yazdır +print_label=Yazdır +download.title=İndir +download_label=İndir +bookmark.title=Geçerli görünüm (kopyala veya yeni pencerede aç) +bookmark_label=Geçerli görünüm + +# Secondary toolbar and context menu +tools.title=Araçlar +tools_label=Araçlar +first_page.title=İlk sayfaya git +first_page_label=İlk sayfaya git +last_page.title=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_ccw.title=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 +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 +scroll_horizontal_label=Yatay kaydırma +scroll_wrapped.title=Yan yana kaydırmayı kullan +scroll_wrapped_label=Yan yana kaydırma + +spread_none.title=Yan yana sayfaları birleştirme +spread_none_label=Birleştirme +spread_odd.title=Yan yana sayfaları tek numaralı sayfalardan başlayarak birleştir +spread_odd_label=Tek numaralı +spread_even.title=Yan yana sayfaları çift numaralı sayfalardan başlayarak birleştir +spread_even_label=Çift numaralı + +# Document properties dialog box +document_properties.title=Belge özellikleri… +document_properties_label=Belge özellikleri… +document_properties_file_name=Dosya adı: +document_properties_file_size=Dosya boyutu: +# 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}} bayt) +# 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}} bayt) +document_properties_title=Başlık: +document_properties_author=Yazar: +document_properties_subject=Konu: +document_properties_keywords=Anahtar kelimeler: +document_properties_creation_date=Oluturma tarihi: +document_properties_modification_date=Değiştirme tarihi: +# 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=Oluşturan: +document_properties_producer=PDF üreticisi: +document_properties_version=PDF sürümü: +document_properties_page_count=Sayfa sayısı: +document_properties_page_size=Sayfa boyutu: +document_properties_page_size_unit_inches=inç +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=dikey +document_properties_page_size_orientation_landscape=yatay +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=Hızlı web görünümü: +document_properties_linearized_yes=Evet +document_properties_linearized_no=Hayır +document_properties_close=Kapat + +print_progress_message=Belge yazdırılmaya hazırlanıyor… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent=%{{progress}} +print_progress_close=İptal + +# 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=Kenar çubuğunu aç/kapat +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 + +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. +thumb_page_title=Sayfa {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas={{page}}. sayfanın küçük hâli + +# Find panel button title and messages +find_input.title=Bul +find_input.placeholder=Belgede bul… +find_previous.title=Önceki eşleşmeyi bul +find_previous_label=Önceki +find_next.title=Sonraki eşleşmeyi bul +find_next_label=Sonraki +find_highlight=Tümünü vurgula +find_match_case_label=Büyük-küçük harfe duyarlı +find_entire_word_label=Tam sözcükler +find_reached_top=Belgenin başına ulaşıldı, sonundan devam edildi +find_reached_bottom=Belgenin sonuna ulaşıldı, başından devam edildi +# 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]={{total}} eşleşmeden {{current}}. eşleşme +find_match_count[two]={{total}} eşleşmeden {{current}}. eşleşme +find_match_count[few]={{total}} eşleşmeden {{current}}. eşleşme +find_match_count[many]={{total}} eşleşmeden {{current}}. eşleşme +find_match_count[other]={{total}} eşleşmeden {{current}}. eşleşme +# 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}} eşleşmeden fazla +find_match_count_limit[one]={{limit}} eşleşmeden fazla +find_match_count_limit[two]={{limit}} eşleşmeden fazla +find_match_count_limit[few]={{limit}} eşleşmeden fazla +find_match_count_limit[many]={{limit}} eşleşmeden fazla +find_match_count_limit[other]={{limit}} eşleşmeden fazla +find_not_found=Eşleşme bulunamadı + +# Error panel labels +error_more_info=Daha fazla bilgi al +error_less_info=Daha az bilgi +error_close=Kapat +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=PDF.js sürüm {{version}} (yapı: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=İleti: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Yığın: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Dosya: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Satır: {{line}} +rendering_error=Sayfa yorumlanırken bir hata oluştu. + +# Predefined zoom values +page_scale_width=Sayfa genişliği +page_scale_fit=Sayfayı sığdır +page_scale_auto=Otomatik yakınlaştır +page_scale_actual=Gerçek boyut +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent=%{{scale}} + +# Loading indicator messages +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. +unexpected_response_error=Beklenmeyen sunucu yanıtı. + +# 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}} işareti] +password_label=Bu PDF dosyasını açmak için parolasını yazın. +password_invalid=Geçersiz parola. Lütfen yeniden deneyin. +password_ok=Tamam +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. diff --git a/app/assets/javascripts/publications/locale/trs/viewer.properties b/app/assets/javascripts/publications/locale/trs/viewer.properties new file mode 100644 index 0000000..8bd1fe1 --- /dev/null +++ b/app/assets/javascripts/publications/locale/trs/viewer.properties @@ -0,0 +1,206 @@ +# 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=Pajinâ gunâj rukùu +previous_label=Sa gachin +next.title=Pajinâ 'na' ñaan +next_label=Ne' ñaan + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Ñanj +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=si'iaj {{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}} of {{pagesCount}}) + +zoom_out.title=Nagi'iaj li' +zoom_out_label=Nagi'iaj li' +zoom_in.title=Nagi'iaj niko' +zoom_in_label=Nagi'iaj niko' +zoom.title=dàj nìko ma'an +presentation_mode.title=Naduno' daj ga ma +presentation_mode_label=Daj gà ma +open_file.title=Na'nïn' chrû ñanj +open_file_label=Na'nïn +print.title=Nari' ña du'ua +print_label=Nari' ñadu'ua +download.title=Nadunïnj +download_label=Nadunïnj +bookmark.title=Daj hua ma (Guxun' nej na'nïn' riña ventana nakàa) +bookmark_label=Daj hua ma + +# Secondary toolbar and context menu +tools.title=Rasun +tools_label=Nej rasùun +first_page.title=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 +page_rotate_cw.title=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 + +cursor_text_select_tool.title=Dugi'iaj sun' sa ganahui texto +cursor_text_select_tool_label=Nej rasun arajsun' da' nahui' texto +cursor_hand_tool.title=Nachrun' nej rasun +cursor_hand_tool_label=Sa rajsun ro'o' + +scroll_vertical.title=Garasun' dukuán runūu +scroll_vertical_label=Dukuán runūu +scroll_horizontal.title=Garasun' dukuán nikin' nahui +scroll_horizontal_label=Dukuán nikin' nahui +scroll_wrapped.title=Garasun' sa nachree +scroll_wrapped_label=Sa nachree + +spread_none.title=Si nagi'iaj nugun'un' nej pagina hua ninin +spread_none_label=Ni'io daj hua pagina +spread_odd.title=Nagi'iaj nugua'ant nej pajina +spread_odd_label=Ni'io' daj hua libro gurin +spread_even.title=Nakāj dugui' ngà nej pajinâ ayi'ì ngà da' hùi hùi +spread_even_label=Nahuin nìko nej + +# Document properties dialog box +document_properties.title=Nej sa nikāj ñanj… +document_properties_label=Nej sa nikāj ñanj… +document_properties_file_name=Si yugui archîbo: +document_properties_file_size=Dàj yachìj archîbo: +# 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=Si yugui: +document_properties_author=Sí girirà: +document_properties_subject=Dugui': +document_properties_keywords=Nej nuguan' huìi: +document_properties_creation_date=Gui gurugui' man: +document_properties_modification_date=Nuguan' nahuin nakà: +# 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=Guiri ro' +document_properties_producer=Sa ri PDF: +document_properties_version=PDF Version: +document_properties_page_count=Si Guendâ Pâjina: +document_properties_page_size=Dàj yachìj pâjina: +document_properties_page_size_unit_inches=riña +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=nadu'ua +document_properties_page_size_orientation_landscape=dàj huaj +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Da'ngà'a +document_properties_page_size_name_legal=Nuguan' a'nï'ïn +# 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=Nanèt chre ni'iajt riña Web: +document_properties_linearized_yes=Ga'ue +document_properties_linearized_no=Si ga'ue +document_properties_close=Narán + +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Duyichin' + +# 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=Nadunā barrâ nù yi'nïn +toggle_sidebar_label=Nadunā barrâ nù yi'nïn +findbar_label=Narì' + +# 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=Narì' +find_previous_label=Sa gachîn +find_next_label=Ne' ñaan +find_highlight=Daran' sa ña'an +find_match_case_label=Match case +# 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}} si'iaj {{total}} guña gè huaj +find_match_count[two]={{current}} si'iaj {{total}} guña gè huaj +find_match_count[few]={{current}} si'iaj {{total}} guña gè huaj +find_match_count[many]={{current}} si'iaj {{total}} guña gè huaj +find_match_count[other]={{current}} of {{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]=Doj ngà da' {{limit}} nej sa nari' dugui'i +find_match_count_limit[one]=Doj ngà da' {{limit}} sa nari' dugui'i +find_match_count_limit[two]=Doj ngà da' {{limit}} nej sa nari' dugui'i +find_match_count_limit[few]=Doj ngà da' {{limit}} nej sa nari' dugui'i +find_match_count_limit[many]=Doj ngà da' {{limit}} nej sa nari' dugui'i +find_match_count_limit[other]=Doj ngà da' {{limit}} nej sa nari' dugui'i +find_not_found=Nu narì'ij nugua'anj + +# Error panel labels +error_more_info=Doj nuguan' a'min rayi'î nan +error_less_info=Dòj nuguan' a'min rayi'î nan +error_close=Narán +# 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=Naru'ui': {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Archîbo: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Lînia: {{line}} + +# Predefined zoom values +page_scale_actual=Dàj yàchi akuan' nín +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# 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_ok=Ga'ue +password_cancel=Duyichin' + diff --git a/app/assets/javascripts/publications/locale/uk/viewer.properties b/app/assets/javascripts/publications/locale/uk/viewer.properties new file mode 100644 index 0000000..90aa9b1 --- /dev/null +++ b/app/assets/javascripts/publications/locale/uk/viewer.properties @@ -0,0 +1,251 @@ +# 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=Використовувати горизонтальне прокручування +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}} 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}} МБ ({{size_b}} bytes) +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=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=Швидкий перегляд в Інтернеті: +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_match_diacritics_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 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/publications/locale/ur/viewer.properties b/app/assets/javascripts/publications/locale/ur/viewer.properties new file mode 100644 index 0000000..6235c15 --- /dev/null +++ b/app/assets/javascripts/publications/locale/ur/viewer.properties @@ -0,0 +1,238 @@ +# 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=افقی سکرولنگ + +spread_none.title=صفحہ پھیلانے میں شامل نہ ہوں +spread_none_label=کوئی پھیلاؤ نہیں +spread_odd_label=تاک پھیلاؤ +spread_even_label=جفت پھیلاؤ + +# Document properties dialog box +document_properties.title=دستاویز خواص… +document_properties_label=دستاویز خواص…\u0020 +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) +# 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=عنوان: +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_label=سلائیڈ ٹوگل کریں +document_outline.title=دستاویز کی سرخیاں دکھایں (تمام اشیاء وسیع / غائب کرنے کے لیے ڈبل کلک کریں) +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. +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]={{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 +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 indicator messages +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 فانٹ استعمال کرنے میں ناکام۔ +# LOCALIZATION NOTE (unsupported_feature_signatures): Should contain the same +# exact string as in the `chrome.properties` file. diff --git a/app/assets/javascripts/publications/locale/uz/viewer.properties b/app/assets/javascripts/publications/locale/uz/viewer.properties new file mode 100644 index 0000000..a17eb6b --- /dev/null +++ b/app/assets/javascripts/publications/locale/uz/viewer.properties @@ -0,0 +1,162 @@ +# 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=Oldingi sahifa +previous_label=Oldingi +next.title=Keyingi sahifa +next_label=Keyingi + +# 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. +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. + +zoom_out.title=Kichiklashtirish +zoom_out_label=Kichiklashtirish +zoom_in.title=Kattalashtirish +zoom_in_label=Kattalashtirish +zoom.title=Masshtab +presentation_mode.title=Namoyish usuliga oʻtish +presentation_mode_label=Namoyish usuli +open_file.title=Faylni ochish +open_file_label=Ochish +print.title=Chop qilish +print_label=Chop qilish +download.title=Yuklab olish +download_label=Yuklab olish +bookmark.title=Joriy koʻrinish (nusxa oling yoki yangi oynada oching) +bookmark_label=Joriy koʻrinish + +# Secondary toolbar and context menu +tools.title=Vositalar +tools_label=Vositalar +first_page.title=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 +page_rotate_cw.title=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 + + +# Document properties dialog box +document_properties.title=Hujjat xossalari +document_properties_label=Hujjat xossalari +document_properties_file_name=Fayl nomi: +document_properties_file_size=Fayl hajmi: +# 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=Nomi: +document_properties_author=Muallifi: +document_properties_subject=Mavzusi: +document_properties_keywords=Kalit so‘zlar +document_properties_creation_date=Yaratilgan sanasi: +document_properties_modification_date=O‘zgartirilgan sanasi +# 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=Yaratuvchi: +document_properties_producer=PDF ishlab chiqaruvchi: +document_properties_version=PDF versiyasi: +document_properties_page_count=Sahifa soni: +document_properties_close=Yopish + +# 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) +toggle_sidebar.title=Yon panelni yoqib/oʻchirib qoʻyish +toggle_sidebar_label=Yon panelni yoqib/oʻchirib qoʻyish +document_outline_label=Hujjat tuzilishi +attachments.title=Ilovalarni ko‘rsatish +attachments_label=Ilovalar +thumbs.title=Nishonchalarni koʻrsatish +thumbs_label=Nishoncha +findbar.title=Hujjat ichidan topish + +# 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}} sahifa +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas={{page}} sahifa nishonchasi + +# Find panel button title and messages +find_previous.title=Soʻzlardagi oldingi hodisani topish +find_previous_label=Oldingi +find_next.title=Iboradagi keyingi hodisani topish +find_next_label=Keyingi +find_highlight=Barchasini ajratib koʻrsatish +find_match_case_label=Katta-kichik harflarni farqlash +find_reached_top=Hujjatning boshigacha yetib keldik, pastdan davom ettiriladi +find_reached_bottom=Hujjatning oxiriga yetib kelindi, yuqoridan davom ettirladi +find_not_found=Soʻzlar topilmadi + +# Error panel labels +error_more_info=Koʻproq ma`lumot +error_less_info=Kamroq ma`lumot +error_close=Yopish +# 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=Xabar: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Toʻplam: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Fayl: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Satr: {{line}} +rendering_error=Sahifa renderlanayotganda xato yuz berdi. + +# Predefined zoom values +page_scale_width=Sahifa eni +page_scale_fit=Sahifani moslashtirish +page_scale_auto=Avtomatik masshtab +page_scale_actual=Haqiqiy hajmi +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=PDF yuklanayotganda xato yuz berdi. +invalid_file_error=Xato yoki buzuq PDF fayli. +missing_file_error=PDF fayl kerak. +unexpected_response_error=Kutilmagan server javobi. + +# 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=PDF faylni ochish uchun parolni kiriting. +password_invalid=Parol - notoʻgʻri. Qaytadan urinib koʻring. +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. diff --git a/app/assets/javascripts/publications/locale/vi/viewer.properties b/app/assets/javascripts/publications/locale/vi/viewer.properties new file mode 100644 index 0000000..1f10009 --- /dev/null +++ b/app/assets/javascripts/publications/locale/vi/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=Trang trước +previous_label=Trước +next.title=Trang Sau +next_label=Tiếp + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Trang +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=trên {{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}} trên {{pagesCount}}) + +zoom_out.title=Thu nhỏ +zoom_out_label=Thu nhỏ +zoom_in.title=Phóng to +zoom_in_label=Phóng to +zoom.title=Thu phóng +presentation_mode.title=Chuyển sang chế độ trình chiếu +presentation_mode_label=Chế độ trình chiếu +open_file.title=Mở tập tin +open_file_label=Mở tập tin +print.title=In +print_label=In +download.title=Tải xuống +download_label=Tải xuống +bookmark.title=Chế độ xem hiện tại (sao chép hoặc mở trong cửa sổ mới) +bookmark_label=Chế độ xem hiện tại + +# Secondary toolbar and context menu +tools.title=Công cụ +tools_label=Công cụ +first_page.title=Về trang đầu +first_page_label=Về trang đầu +last_page.title=Đế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_ccw.title=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 +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 +scroll_horizontal_label=Cuộn ngang +scroll_wrapped.title=Sử dụng cuộn ngắt dòng +scroll_wrapped_label=Cuộn ngắt dòng + +spread_none.title=Không nối rộng trang +spread_none_label=Không có phân cách +spread_odd.title=Nối trang bài bắt đầu với các trang được đánh số lẻ +spread_odd_label=Phân cách theo số lẻ +spread_even.title=Nối trang bài bắt đầu với các trang được đánh số chẵn +spread_even_label=Phân cách theo số chẵn + +# Document properties dialog box +document_properties.title=Thuộc tính của tài liệu… +document_properties_label=Thuộc tính của tài liệu… +document_properties_file_name=Tên tập tin: +document_properties_file_size=Kích thước: +# 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}} byte) +# 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}} byte) +document_properties_title=Tiêu đề: +document_properties_author=Tác giả: +document_properties_subject=Chủ đề: +document_properties_keywords=Từ khóa: +document_properties_creation_date=Ngày tạo: +document_properties_modification_date=Ngày sửa đổi: +# 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=Người tạo: +document_properties_producer=Phần mềm tạo PDF: +document_properties_version=Phiên bản PDF: +document_properties_page_count=Tổng số trang: +document_properties_page_size=Kích thước trang: +document_properties_page_size_unit_inches=in +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=khổ dọc +document_properties_page_size_orientation_landscape=khổ ngang +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Thư +document_properties_page_size_name_legal=Pháp lý +# 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=Xem nhanh trên web: +document_properties_linearized_yes=Có +document_properties_linearized_no=Không +document_properties_close=Ðóng + +print_progress_message=Chuẩn bị trang để in… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Hủy bỏ + +# 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=Bật/Tắt thanh lề +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 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 + +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. +thumb_page_title=Trang {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Ảnh thu nhỏ của trang {{page}} + +# Find panel button title and messages +find_input.title=Tìm +find_input.placeholder=Tìm trong tài liệu… +find_previous.title=Tìm cụm từ ở phần trước +find_previous_label=Trước +find_next.title=Tìm cụm từ ở phần sau +find_next_label=Tiếp +find_highlight=Tô sáng tất cả +find_match_case_label=Phân biệt hoa, thường +find_entire_word_label=Toàn bộ từ +find_reached_top=Đã đến phần đầu tài liệu, quay trở lại từ cuối +find_reached_bottom=Đã đến phần cuối của tài liệu, quay trở lại từ đầu +# 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}} của {{total}} đã trùng +find_match_count[two]={{current}} của {{total}} đã trùng +find_match_count[few]={{current}} của {{total}} đã trùng +find_match_count[many]={{current}} của {{total}} đã trùng +find_match_count[other]={{current}} của {{total}} đã trùng +# 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]=Nhiều hơn {{limit}} đã trùng +find_match_count_limit[one]=Nhiều hơn {{limit}} đã trùng +find_match_count_limit[two]=Nhiều hơn {{limit}} đã trùng +find_match_count_limit[few]=Nhiều hơn {{limit}} đã trùng +find_match_count_limit[many]=Nhiều hơn {{limit}} đã trùng +find_match_count_limit[other]=Nhiều hơn {{limit}} đã trùng +find_not_found=Không tìm thấy cụm từ này + +# Error panel labels +error_more_info=Thông tin thêm +error_less_info=Hiển thị ít thông tin hơn +error_close=Đóng +# 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=Thông điệp: {{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=Tập tin: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Dòng: {{line}} +rendering_error=Lỗi khi hiển thị trang. + +# Predefined zoom values +page_scale_width=Vừa chiều rộng +page_scale_fit=Vừa chiều cao +page_scale_auto=Tự động chọn kích thước +page_scale_actual=Kích thước thực +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +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. +unexpected_response_error=Máy chủ có phản hồi lạ. + +# 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}} Chú thích] +password_label=Nhập mật khẩu để mở tập tin PDF này. +password_invalid=Mật khẩu không đúng. Vui lòng thử lại. +password_ok=OK +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. diff --git a/app/assets/javascripts/publications/locale/wo/viewer.properties b/app/assets/javascripts/publications/locale/wo/viewer.properties new file mode 100644 index 0000000..ca3f4c3 --- /dev/null +++ b/app/assets/javascripts/publications/locale/wo/viewer.properties @@ -0,0 +1,122 @@ +# 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=Xët wi jiitu +previous_label=Bi jiitu +next.title=Xët wi ci topp +next_label=Bi ci topp + +# 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=Wàññi +zoom_out_label=Wàññi +zoom_in.title=Yaatal +zoom_in_label=Yaatal +zoom.title=Yambalaŋ +presentation_mode.title=Wañarñil ci anamu wone +presentation_mode_label=Anamu Wone +open_file.title=Ubbi benn dencukaay +open_file_label=Ubbi +print.title=Móol +print_label=Móol +download.title=Yeb yi +download_label=Yeb yi +bookmark.title=Wone bi taxaw (duppi walla ubbi palanteer bu bees) +bookmark_label=Wone bi feeñ + +# 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. +document_properties_title=Bopp: +# 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 (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) +thumbs.title=Wone nataal yu ndaw yi +thumbs_label=Nataal yu ndaw yi +findbar.title=Gis ci biir jukki bi +findbar_label=Wut + +# 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=Xët {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Wiñet bu xët {{page}} + +# Find panel button title and messages +find_previous.title=Seet beneen kaddu bu ni mel te jiitu +find_previous_label=Bi jiitu +find_next.title=Seet beneen kaddu bu ni mel +find_next_label=Bi ci topp +find_highlight=Melaxal lépp +find_match_case_label=Sàmm jëmmalin wi +find_reached_top=Jot nañu ndorteel xët wi, kontine dale ko ci suuf +find_reached_bottom=Jot nañu jeexitalu xët wi, kontine ci ndorte +find_not_found=Gisiñu kaddu gi + +# Error panel labels +error_more_info=Xibaar yu gën bari +error_less_info=Xibaar yu gën bari +# 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. +error_message=Bataaxal: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Juug: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Dencukaay: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Rëdd : {{line}} +rendering_error=Am njumte bu am bi xët bi di wonewu. + +# Predefined zoom values +page_scale_width=Yaatuwaay bu mët +page_scale_fit=Xët lëmm +page_scale_auto=Yambalaŋ ci saa si +page_scale_actual=Dayo bi am +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. + +loading_error=Am na njumte ci yebum dencukaay PDF bi. +invalid_file_error=Dencukaay PDF bi baaxul walla mu sankar. + +# 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=[Karmat {{type}}] +password_ok=OK +password_cancel=Neenal + +printing_not_supported=Artu: Joowkat bii nanguwul lool mool. diff --git a/app/assets/javascripts/publications/locale/xh/viewer.properties b/app/assets/javascripts/publications/locale/xh/viewer.properties new file mode 100644 index 0000000..541ddbf --- /dev/null +++ b/app/assets/javascripts/publications/locale/xh/viewer.properties @@ -0,0 +1,176 @@ +# 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=Iphepha langaphambili +previous_label=Okwangaphambili +next.title=Iphepha elilandelayo +next_label=Okulandelayo + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Iphepha +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=kwali- {{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}} kwali {{pagesCount}}) + +zoom_out.title=Bhekelisela Kudana +zoom_out_label=Bhekelisela Kudana +zoom_in.title=Sondeza Kufuphi +zoom_in_label=Sondeza Kufuphi +zoom.title=Yandisa / Nciphisa +presentation_mode.title=Tshintshela kwimo yonikezelo +presentation_mode_label=Imo yonikezelo +open_file.title=Vula Ifayile +open_file_label=Vula +print.title=Printa +print_label=Printa +download.title=Khuphela +download_label=Khuphela +bookmark.title=Imbonakalo ekhoyo (kopa okanye vula kwifestile entsha) +bookmark_label=Imbonakalo ekhoyo + +# Secondary toolbar and context menu +tools.title=Izixhobo zemiyalelo +tools_label=Izixhobo zemiyalelo +first_page.title=Yiya kwiphepha lokuqala +first_page_label=Yiya kwiphepha lokuqala +last_page.title=Yiya kwiphepha lokugqibela +last_page_label=Yiya kwiphepha lokugqibela +page_rotate_cw.title=Jikelisa ngasekunene +page_rotate_cw_label=Jikelisa ngasekunene +page_rotate_ccw.title=Jikelisa ngasekhohlo +page_rotate_ccw_label=Jikelisa ngasekhohlo + +cursor_text_select_tool.title=Vumela iSixhobo sokuKhetha iTeksti +cursor_text_select_tool_label=ISixhobo sokuKhetha iTeksti +cursor_hand_tool.title=Yenza iSixhobo seSandla siSebenze +cursor_hand_tool_label=ISixhobo seSandla + +# Document properties dialog box +document_properties.title=Iipropati zoxwebhu… +document_properties_label=Iipropati zoxwebhu… +document_properties_file_name=Igama lefayile: +document_properties_file_size=Isayizi yefayile: +# 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 (iibhayiti{{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 (iibhayithi{{size_b}}) +document_properties_title=Umxholo: +document_properties_author=Umbhali: +document_properties_subject=Umbandela: +document_properties_keywords=Amagama aphambili: +document_properties_creation_date=Umhla wokwenziwa kwayo: +document_properties_modification_date=Umhla wokulungiswa kwayo: +# 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=Umntu oyenzileyo: +document_properties_producer=Umvelisi we-PDF: +document_properties_version=Uhlelo lwe-PDF: +document_properties_page_count=Inani lamaphepha: +document_properties_close=Vala + +print_progress_message=Ilungisa uxwebhu ukuze iprinte… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Rhoxisa + +# 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=Togola ngebha eseCaleni +toggle_sidebar_label=Togola ngebha eseCaleni +document_outline.title=Bonisa uLwandlalo loXwebhu (cofa kabini ukuze wandise/diliza zonke izinto) +document_outline_label=Isishwankathelo soxwebhu +attachments.title=Bonisa iziqhotyoshelwa +attachments_label=Iziqhoboshelo +thumbs.title=Bonisa ukrobiso kumfanekiso +thumbs_label=Ukrobiso kumfanekiso +findbar.title=Fumana kuXwebhu +findbar_label=Fumana + +# 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=Iphepha {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Ukrobiso kumfanekiso wephepha {{page}} + +# Find panel button title and messages +find_input.title=Fumana +find_input.placeholder=Fumana kuXwebhu… +find_previous.title=Fumanisa isenzeko sangaphambili sebinzana lamagama +find_previous_label=Okwangaphambili +find_next.title=Fumanisa isenzeko esilandelayo sebinzana lamagama +find_next_label=Okulandelayo +find_highlight=Qaqambisa konke +find_match_case_label=Tshatisa ngobukhulu bukanobumba +find_reached_top=Ufike ngaphezulu ephepheni, kusukwa ngezantsi +find_reached_bottom=Ufike ekupheleni kwephepha, kusukwa ngaphezulu +find_not_found=Ibinzana alifunyenwanga + +# Error panel labels +error_more_info=Inkcazelo Engakumbi +error_less_info=Inkcazelo Encinane +error_close=Vala +# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be +# replaced by the PDF.JS version and build ID. +error_version_info=I-PDF.js v{{version}} (yakha: {{build}}) +# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an +# english string describing the error. +error_message=Umyalezo: {{message}} +# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack +# trace. +error_stack=Imfumba: {{stack}} +# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename +error_file=Ifayile: {{file}} +# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number +error_line=Umgca: {{line}} +rendering_error=Imposiso yenzekile xa bekunikezelwa iphepha. + +# Predefined zoom values +page_scale_width=Ububanzi bephepha +page_scale_fit=Ukulinganiswa kwephepha +page_scale_auto=Ukwandisa/Ukunciphisa Ngokwayo +page_scale_actual=Ubungakanani bokwenene +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +loading_error=Imposiso yenzekile xa kulayishwa i-PDF. +invalid_file_error=Ifayile ye-PDF engeyiyo okanye eyonakalisiweyo. +missing_file_error=Ifayile ye-PDF edukileyo. +unexpected_response_error=Impendulo yeseva engalindelekanga. + +# 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}} Ubhalo-nqaku] +password_label=Faka ipasiwedi ukuze uvule le fayile yePDF. +password_invalid=Ipasiwedi ayisebenzi. Nceda uzame kwakhona. +password_ok=KULUNGILE +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. diff --git a/app/assets/javascripts/publications/locale/zh-CN/viewer.properties b/app/assets/javascripts/publications/locale/zh-CN/viewer.properties new file mode 100644 index 0000000..87e715c --- /dev/null +++ b/app/assets/javascripts/publications/locale/zh-CN/viewer.properties @@ -0,0 +1,251 @@ +# 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=使用水平滚动 +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}} 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. +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=快速 Web 视图: +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_match_diacritics_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 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=Web 字体已被禁用:无法使用嵌入的 PDF 字体。 diff --git a/app/assets/javascripts/publications/locale/zh-TW/viewer.properties b/app/assets/javascripts/publications/locale/zh-TW/viewer.properties new file mode 100644 index 0000000..4de74ee --- /dev/null +++ b/app/assets/javascripts/publications/locale/zh-TW/viewer.properties @@ -0,0 +1,251 @@ +# 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=使用水平捲動版面 +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}} 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=in +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=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=快速 Web 檢視: +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_match_diacritics_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 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=已停用網路字型 (Web fonts): 無法使用 PDF 內嵌字型。 diff --git a/app/assets/javascripts/publications/pdf-turn.js b/app/assets/javascripts/publications/pdf-turn.js new file mode 100644 index 0000000..6449e49 --- /dev/null +++ b/app/assets/javascripts/publications/pdf-turn.js @@ -0,0 +1,205 @@ + /********************************************************/ + /** HERE MAIN MODIFIED PART FOR turnjs SUPPORT **/ +/********************************************************/ +/// requires jquery and turnjs +/// all code added in viewer.js (from pdfjs build) in order to support +/// flipbook is commented with '$FB:' string to allow to find it easilly + +var bookFlip = { + _width: [], //flipbook pages width + _height: [], //flipbook pages height + active: false, //flipbook mode on + _spreadBk: NaN, //spread mode backup to restore + _evSpread: null,//spread mode changed default event handler + _spread: NaN, //spread page mode + toStart: false, //PDFjs require flipbook at start + _intoView: null,//link handler default function + _visPages: null,//visible pages function + _ready: false, //ready to start flipbook + + // event listeners when bookFlip need different handling + init: function(){ + $(document).on('rotationchanging', () => {this.rotate()}); + $(document).on('scalechanging', () => {this.resize()}); + $(document).on('pagechanging', () => {this.flip()}); + + $(document).on('documentinit', () => { + this.stop(); + this._ready = false; + }); + + $(document).on('scrollmodechanged', () => { + var scroll = PDFViewerApplication.pdfViewer.scrollMode; + if (scroll === 3)this.start(); + else this.stop(); + var button = PDFViewerApplication.appConfig.secondaryToolbar.bookFlipButton; + button.classList.toggle('toggled', scroll === 3); + }); + + $(document).on('switchspreadmode', (evt) => { + this.spread(evt.originalEvent.detail.mode); + PDFViewerApplication.eventBus.dispatch('spreadmodechanged', { + source: PDFViewerApplication, + mode: evt.originalEvent.detail.mode + }); + }); + + $(document).on('pagesloaded', () => { + this._ready = true; + if(this.toStart){ + this.toStart = false; + PDFViewerApplication.pdfViewer.scrollMode = 3; + } + }); + + $(document).on('baseviewerinit', () => { + PDFViewerApplicationOptions.set('scrollModeOnLoad',3); + + this._intoView = PDFViewerApplication.pdfViewer.scrollPageIntoView; + this._visPages = PDFViewerApplication.pdfViewer._getVisiblePages; + }); + }, + // startup flipbook + start: function(){ + if(this.active || !this._ready)return; + this.active = true; + + var viewer = PDFViewerApplication.pdfViewer; + + $('.scrollModeButtons').removeClass('toggled'); + + this._spreadBk = viewer.spreadMode; + var selected = $('.spreadModeButtons.toggled').attr('id'); + this._spread = (this._spreadBk !== 2) ? 0 : 2; + viewer.spreadMode = 0; + viewer._spreadMode = -1; + $('.spreadModeButtons').removeClass('toggled'); + $('#' + selected).addClass('toggled'); + + this._evSpread = PDFViewerApplication.eventBus._listeners.switchspreadmode; + PDFViewerApplication.eventBus._listeners.switchspreadmode = null; + + viewer.scrollPageIntoView = (data) => {return this.link(data)}; + viewer._getVisiblePages = () => {return this.load()}; + + var scale = viewer.currentScale; + var parent = this; + $('#viewer .page').each(function(){ + parent._width[$(this).attr('data-page-number')] = $(this).width() / scale; + parent._height[$(this).attr('data-page-number')] = $(this).height() / scale; + }); + + $('#viewer').removeClass('pdfViewer').addClass('bookViewer').css({ opacity: 1 });; + + $('#spreadOdd').prop('disabled', true); + var pages = PDFViewerApplication.pagesCount; + for(var page = 3; page < pages + (pages%2); page ++){ + if(this._height[page]!=this._height[page-1] || this._width[page]!=this._width[page-1]){ + $('#spreadEven').prop('disabled', true); + this._spread = 0; + } + } + + $('#viewer').turn({ + elevation: 50, + width: this._size(PDFViewerApplication.page,'width') * this._spreadMult(), + height: this._size(PDFViewerApplication.page,'height'), + page: PDFViewerApplication.page, + when: { + turned: function(event, page) { + PDFViewerApplication.page = page; + viewer.update(); + } + }, + display: this._spreadType() + }); + }, + // shutdown flipbook + stop: function(){ + if(!this.active)return; + this.active = false; + + var viewer = PDFViewerApplication.pdfViewer; + + $('#viewer').turn('destroy'); + + viewer.scrollPageIntoView = this._intoView; + viewer._getVisiblePages = this._visPages; + + PDFViewerApplication.eventBus._listeners.switchspreadmode = this._evSpread; + viewer.spreadMode = this._spreadBk; + + $('#viewer .page').removeAttr('style'); + $('#viewer').removeAttr('style').removeClass('shadow bookViewer').addClass('pdfViewer'); + + var parent = this; + $('#viewer .page').each(function(){ + var page = $(this).attr('data-page-number'); + $(this).css( 'width', parent._size(page,'width')).css( 'height', parent._size(page,'height')); + }); + + }, + // resize flipbook pages + resize: function(){ + if(!this.active)return; + var page = PDFViewerApplication.page; + $('#viewer').turn('size', this._size(page,'width') * this._spreadMult(), this._size(page,'height')); + }, + // rotate flipbook pages + rotate: function(){ + if(!this.active)return; + [this._height, this._width] = [this._width, this._height]; + this.resize(); + }, + // change flipbook spread mode + spread: function(spreadMode){ + if(!this.active)return; + this._spread = spreadMode; + $('#viewer').turn('display', this._spreadType()); + this.resize(); + }, + // turn page + flip: function(){ + if(!this.active)return; + $('#viewer').turn('page', PDFViewerApplication.page); + if(!PDFViewerApplication.pdfViewer.hasEqualPageSizes)this.resize(); + }, + // follow internal links + link: function(data){ + if(!this.active)return; + PDFViewerApplication.page = data.pageNumber; + }, + // load pages near shown page + load: function(){ + if(!this.active)return; + var views = PDFViewerApplication.pdfViewer._pages; + var arr = []; + var page = PDFViewerApplication.page; + var min = Math.max(page - ((this._spread === 0) ? 2 : 3 + (page%2)), 0); + var max = Math.min(page + ((this._spread === 0) ? 1 : 3 - (page%2)), views.length); + + for (var i = min, ii = max; i < ii; i++) { + arr.push({ + id: views[i].id, + view: views[i], + x: 0, y: 0, percent: 100 + }); + } + + return { first:arr[page - min - 1], last:arr[arr.length-1], views:arr }; + }, + _spreadType: function(){ + return (this._spread === 0) ? 'single' : 'double'; + }, + _spreadMult: function(){ + return (this._spread === 0) ? 1 : 2; + }, + _size: function(page,request){ + var size; + if (request === 'width') size = this._width[page]; + if (request === 'height') size = this._height[page]; + return size * PDFViewerApplication.pdfViewer.currentScale; + } +}; + +bookFlip.init(); \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/bcmaps/.gitattributes b/app/assets/javascripts/publications/pdf/bcmaps/.gitattributes new file mode 100644 index 0000000..556f8c8 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/bcmaps/.gitattributes @@ -0,0 +1 @@ +* binary diff --git a/app/assets/javascripts/publications/pdf/bcmaps/78-EUC-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/78-EUC-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..2655fc70ae706c7ba52a5d647cbfdfad6072c697 GIT binary patch literal 2404 zcmW+#SyWV47TvdAJ*r+6RRxF)G8F|XpkSd0DozL*KyfC)0pS@-L>YX5;1pdiNgJS` zL=Y%uFUFQ8f-Z~Eh|{myy!p1b$i=bHX> zys+`=ji%a~OD*o~?c2SXo4wxc?t%-A=Y8%IH=0{~_08^*hPNA=t~NHQExrp`wt~7k z_y6}dyPJH?zNXf1lP7#Wch;suC58JBpV$uq9mEuPwC72IzEbHXNYZPniTj*hqlSv? zy9b^WRK9;h_c*@u*1JTx7ix*U7ZnnF&#SLHey>!|EdL-u&xrn@*&5w$*NfflDK2+= zkrwuXqTL7MnA~22Pf9KA4fr?~%bt+->oAUIcL2r-sbdR_la`KcFv>|sf##T_){a6L zZz>&SFy1nCRKTb(b)1E9TI#5Vab|sosCYJ_)2Z3#X-H=>j7lt*z&MxFxdBF1Os5K? znsnZRp`!DS7QR5yc^Ag{L_fj2D*Kc1G--`L4aVDMe-VreA^uVrKH@))*=&=)9L7b- ze@e40Qn$YnMh&K$tX+cWC8^7XMR$0Y3r1~Bmq(SCsM3`${#?eYt^)$EU{}`}E&L@# zcPxy$knT7b^=rCQu(H|Gy$41^e0MR7M!EYUjH_~YJq!)qEijtU-Ks^sqNeUP7|r3` zf_Y15zzO4;B@hpz)f89@qm2a8VO%!{HsZCz64(smhCPrE<7P-e6ul({j>5RD%CBie zpj>cy2lha%z&qF(Xw_WHRJkwOeAjk=HyD)rrC=oHemQ0;UH2QoOmYvvB&o*&W;XYP zs+JX+-4iZyG9r441ct!gQz6g-rN^f!29ReQNEi0ZYj2)4&qthisov>87Kbo+0Qh$=>`~j8wQ^3-&*x>3Hw9>=- zcY6s*N`t`uwl zJ1hsAweX+N_@Hq1h-oMq>}c3f9AU@ILs^8KkcPH`l}kfA2z!$Z?FFl_4HaUk-ZFGV zbNrNAhJ^G}&Y^0s)A2)B!Ol2`g^y>kAUv%!4GW9Tg$<`_j-OG}u&7jJ9o`OBjbTAg z^$ZKU&W8@yg1sF++y-{RI%3npeois6iZGvTBnqqsQ~4MXj$I-nYr$%j5iuHDe6<}sNk|Fmn#UW714D_*&efd>yQ_i2~OPOauHUkuj&1aB|`CO7Re_m7mPE89T7)~S$Ht^iY1qXPZcOeCQn{%ODQ~p827A}Bq zPhV(7m(#MC48Fs;m;s(|S=^zLZ$3wVhU)l+Zdlw$)+{y>Wyvm9l2ziFj!tF)!oDx|dspKQGU!)^ENB-zje1rJn-dodCW^Ovqk+2Y7)PjD4}- zg_`Z3H071Z9I(Br0)NB&>I!&q+$#-%Z1586YnMv?MJr#&XtsY-`|DQlQpd7*1_xcs k5om7%Ka{$hiq3Rpxm1<^LpLp-6zwQO#)>TPFtC#SKLc+9MgRZ+ literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/78-EUC-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/78-EUC-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..f1ed8538287499647d923d7d8f517a00cdac4e3a GIT binary patch literal 173 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|TVQ!)88tSa;k;uAm5#wHeUdFwF voJ@OznOOFQu?X&sb`)LsaBps_Jp&^YN;1fUS!@iAMpy(B8JB)#+{Xj}Q4TH^ literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/78-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/78-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..39e89d3339c74cbe06e7e4f76d60bf3556b0d4b6 GIT binary patch literal 2379 zcmW+#`CAjo7Cn_tlXOB7KxC0E6;J^M1G0!Hh@b)rDv093(r8qa#RddiM!%k!=Kz6- zAR+9oPaY$vEGl%>eDkNgKjqcDAL=`OZ&%$q=bl@p|JIdvKX}yBe&=qVJEy3~o0aSJ z7P-rAb+`H4^^bb{e4V}Ss;-;eJrBBj)IQ&>Y+G4Jhx`Bgd)+<0USCiDKgoKZ&z*hf zTvhq0+WJ$3P^#}Vsdh@6et)EU9RIrVD^XsATjF2DgvGz`>igTdVHlSz!$)8= zkl`}TkwdM+YY0@hN4GKOM$Rv%dnytuTKz3?K2= zVJ*kxZ-8-I@?X_#dDQK1f^i2cJ=Re{^sY2&!=^iO)CHqGZq%d7`BWJ#7Ju$x*XU`1 z_i=pmx)xbLF%}P_BWx@IM(3WfRP5wh#!6vyC5~0X=$6NB!+0Q%b;8gv)(4{pWBpo8 zAvKK+!03$}6U_U<15OwZErCQB{ieWP7y~4b0b|e{IEbGPOCT4ULyiuS9%D7Kcim5y<&RNNLKbV5?M_@Ml_!BUD z#Vf07Jx2Gvsu8;#zczp_tCci!d=JC81TT_)OJ7H<^R4ifpq^T6mSw`ilRIqex zcDbemt&GU2V_=zN>O9y1=TsfoLF-f-SXT5@hvqs-6M_UR+Zjv-JLCvvgL&oPaj+a) zumUXC9K1l-VL5mOEFZyU%~ek2U<+6Qg0~4PB*AvViX6dCu;QHHQ?O&w^dYe0@^l_p z37Ia|Top87TGT65rmumWz_bsnj7$saCoz2wtX!Jzz~5)(X$|l5J=23)!YPVS0$7C< zN&-72hdf}X!$KKgXDp!{uu4nlC|DHr(K(@ZSbg@~C1!Y-O;vI(n~X7a%rq?x0HT_!Upz#45c<=E=9 z%$(O8XQ*XHNWbcwX$8BMIP(DPx^q_ecmo^4(Qq!!c)MA}20&B&r zpr?9fgEM}u|Q=Y?I}N%O+r2j=-|&3Tq$UKp&&^B2K--1CiK zy-D+rv2)nG5D(TDwvd9q4&u!r^Fq4jI!6yIWPv@jEeKEg%?r1|2FOAO*x>GkZmbI# zkFaO~dyGY)@`+}zp%IIAu&0TO!joT2i^X8i%!{Si$#X0UiO-`KFR8X#nz7hUvX-Jv zrlkr!)wxtjq@_kemYPWXQmbB*xAYiT*pK~hyec_gfVBZtu00EmY{H4Y7hH0In=Rn7 zrd*^6ZyLeFtZyEITTE}BgIn=d0$03mWtG&?rnd!}Qcs=lqQPy}cWK~u&%11Jhy7h0 zxHIZqi%PBz!oOeLb%}c3^^oNEF~IZy;@=nOo`m-oNZR{OvggAt-GdL=2)xNT171=RQ}dVa*r7lYVOePdNhaj=@g8o(E3NgnKlljVh}#;AzFH6fe85 z+KkXeX|)x6uXEL>T5i(x)jojlgLN%g;C_MWfd3Lw)^auF7L8pKT~4>J-N(|6#5K`| z4C@zBFVpqKt(w|Bc=fOlez!{6v#}_vi9QS%Fz7{Bl|Mq@8>Ux`|+@q$AFw7>C4I6kt^o9ex(7TZee#E)apegrh#KtY~qKu7xj5;lw z6#S@jGZVbnvUyY`9W|KBR2?1kz~)J^XS16qTXwNxbkD&pH%Z*8CD`g9t}QVumaS(b z>br%+eNQ0!zUK>nzTZ%-9qr)9#LdU`tKcO`;H6?hPUuI$%fw)uj0Z2*Y!7Ja50N=- z`_Te^#{A|N;KN^GfuPhQ2Wn*@M_1lcm`)(+ff)A06&+uoraMN ZWxHCHd+DL=OQIb$$lQ?y)&e^@{{yR6zuEu* literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/78-RKSJ-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/78-RKSJ-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..e4167cb51f66c60ef7d9500b450303b5da175574 GIT binary patch literal 2398 zcmW+%X4)d#tmFZT%e3CqAV65xJ4VEnS`dH zL7+EQ*O3^3$f82sn)^Iqy?t_}J*`zImsoz3p0` zy|l8@v3sw>QE9Ke(tX)&Z@Sal=kDya*LQu@-E*_MN9}W8DKXb}blCqN-)rx2_qu!f z|99EscH2w#d|vN5biC;h2nIpOpu(y_p41TXQQ54v6J!szwG#WK!8X-8s5t+0hZO($ zz+kTYO|+EuO)`HR#>Q_Njyu22B+1`iFr|FkYf2fiwA+XBVr)ZoByOlliyd0PkQ@3b zai|SHHAq8U_%RKexlu#6p*NO#0li7^mO(!)c@IE8L%g+`#jBXSF6d`v?=k4-4Blqw z%?9rU=wAxnR_Nz5yl&0v^_YhZ&@ZG7+n`^>W;%}}aVdOB!8^{_tuf_R1*&}zMcSMb* zL+{)+nuo2u(r69zu8h$m(7VOatI%(Xqn*$-jP^nA!Dzo0Golzq2cY-HjdK2d(SAPN zEy6>+>9)I`SnL1m2J0X193?}1vjKQ^h7-*f13i6Q!NKQT@i z4cQYGmprkH$P*Q$V4_wf{=Z?hP!;`u1-05hZ6cvDouF}M(0DCw%ww6jPH2KKahuR2 z+r$IVl;}wwmujBO08LArECAhRn&dO23zJ7cGtwrHsp7a|nr!35GqHP8!FR4O&Y=ocE^)T?cgup$`0XR19f&UY;AettCt<2&aSA3E@o8Lt;1=^l((T z5cD%CTnc(b3LgZmCt(+8gE4%V(4#{57?xV3aHEzs=@G)b&oNWD1&b$za64XC2;nZ! zkbJ_T@7*F;%=6J7L<~gogzj5v==m44HJ8?T{t{badoI9A8K<{Fn z4|z|MLrUzt1@wN#Joo2o!#p?lfpNYDTlFq9BR4uc6XU`7c{)Z~bg{-hZ! z%Jk$Gm}GeJ5X^+90+<~4R8-0I&j<~u@e$AcrztMmvqWNgmQQk@l@L5@B<5#Lr2JV6 z$$Fkl(w-{9}^>Jc)-K&c8SHRMYVB2!Q(s{>>N0nfit^7y#=&)+~s5oEWCwbpjk^SGdlB73j zM0(?J$!`u2;f>3%`%S${KK=(=<*M=H3$W}1VD=8M93x@5n*4W9!J7fF{HmoKjCEn@ z62hm1rB<-*wk5YJ{j3x$^#N=LOv_mucXBKMe5Zlsy_)>9r((GbtiZB-0}B^2mT!X< znpTp*iegsms^uR_%8G+$?E+TnITk}+Im&T2QdiCr*Ge}(mtg-7`&`Z+IyCD)J;K{v zV0(nO4lsxGwj8W9>#Y-PulV*7SlRx!Zm@mwYL+VfqF|Ntczg@y)goYCMA2#m=Vga+ z^|B`a;>lTU!*mu|GlNwmu5lyxJJz_R2W)F+RPk3OcI^u9U5UcAeqh7~vYw+^e)Wj! zJm#Qny$GzTZ2cetMcdZ9!K&pA3)m;}MzSjWrW9}3d9D+&8^<-vZyw7=3s?;{xTZ?V zMi*FZ{5!t9pQgS`2XpOsSFV!Z73aGPn)!Fnr|K!Rk#P zVpQ^n;{1@Rng8$8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|TX>Oq#ygOX=*YO&pO=jMENuV) literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/78-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/78-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..d7af99b5e2ae9a21d534f1965c35a2b572143322 GIT binary patch literal 169 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|TVs4@9k;tm3#JJa=mvL_(C)3_w qCYHTnEP{KZ9Yqxr_vW_RGcZD-B!fJd#m3NRgheosQMHtD9}@un{3-|l literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/78ms-RKSJ-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/78ms-RKSJ-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..37077d01e26f9ee2427592f6deebb145d628e731 GIT binary patch literal 2651 zcmW+&>su379)3?IlVlPI_nQO=7v(Aj5fH&R7(l=(3boRT!dN4sTpU0UwHkd20)c>B zl5n?bS84?+7Zv6VTibnh{|&dhz3ubte%bx9{j_KMVV?IlGv{}E-`~tRn)fx1_UpYJ z%}rOjtT}~+w!QmpwnA&krS^+XYi)05m$S9gTG{q#d&l+m4yns|Dce}m(qjF6eW$g< z+3D=){{O>Tr_-9f?}JK5*~!{65ZnhL_eHfB%z{z!J&v^D)zC+!d8NaVwML)61g zL)3t&**cIMWF9CbAp^Cit)DM$7idCtX2BdE5^wI&L^3mynek^WK^AjaN>oayL>`K9 z3MU6XY#>S^b}mCn!Oj&Zd$4nrC~4SfAxb88t`Q|0JMB6phk4w^J5ClJx;W(^c6yA; zVf5WXUoZNJPN_gYh*B*F4=iH93FS0D(1dTR^aE|!iNRKqZr~=Anw&vEspST9p?s(x zJP73s87z@agQ8*30p%lM@C1~zn!!3Kb(+C?D4%eHjZn^62Ay)?pvyRI+UAQPZr(=a-RKi;INDH zN1UAB{Ym1ze#9>dHgPDRKNsV7j2xdfX0MRq=D`-Ot2nexrqu; zOU%Rxi60XU6YS%mao9T{GmHm6X_d`mF3<%1WGbjNV$ueh7(aOoG%0Da2{c)lG7*}> zPel>Bhnq@}O^-x=Dj75l8*M>TnV{(*Q^lYeWU3l8(>zrJnk9!kav7#Bg6_3VwSZ=u zz44&?0=?OwHr{&}G{@*=Z0*;2PZ65Sd(VRA!Fxd##zo%S0Gbc)WkL&xx0%qwKridN zDA9XIju>|Z`BJp~pG@2`o40 z{WWsTgp2dDJSPnP1}vT8{LOfg&-vRxPbT?0L8~>>QJ|-Sr(+2{t)0#$w3eIB13kk{ zA0qT4GA)AE8K)iCY}HR!OZrJsKYf$x$ZQE{OWyL9sj*vZ1xOZj z@z$-KzYN+#=Gjc#jF@l78Y8C{3wqF7SYS=wmIa>}ykG*oV_9JOe5P4o;@;IR9KrSh z?LwJk^0^EPRm8sVA=$eauF))(mYNqU2)9^A$l`etv)Gt*VDT0(pNiDSHi`JpV5LXW z`36Dn9f68$qLOl`To6>P9x5*j(_-x7I;c9s;~P-*n#cE`8t?@NRS5Zlm&nWy@Ug9C z+I8oPD2Mq;I59j)AxTfN37*st#WuEQrKD3nS;A z*&OyS14!bR$H~WEwmIy7sE~x2YN$p5swo+2U?5a;KGdN5F;Ii|Kn<}#4ShhMhReoz z7t{#ja|6^!|G zF)ld>mY81tE8v$-lcuFQhy5#&O-m-ENYPw-H5^6@!s#P-mO^jN#F|SNuwUS{L zgw^8=_ab`rBjQ+XXLdFUzB%Bqf72od{@umB%7nU)du4-a)4$4tniK!Z4s}2O>H^f< zf>%zc2ZXhFN&lmWHCD%?8!)bA01G@a*78|hR%q8Q%EFJX#I+{O#FKR+)co*uCS-wa zok@DoynaUFe-eY&FR|Q(NMG*;hRq-wiL&V@7r(*Q95QcYKrPDMIE1N;T^sFCi-k=S z)WgDNq{RI!W^G!TuN}dgCuP&mF4JZM)FaqroQhGKZBR=>U$fyo8vQyJs$_%p#y8C4nD)&zs1>nqWO#C*RvO+0N#s}2{x(`R{_4tjdlqU{;1-+o z<3U@Y7+@NGkg}D6p>$!ZN+SRIFZ$Xg^3M&7R!Zi7i2JsfBI*eQZu7*l9medF&~E2| zd|TfaYk!wYa^GDh$G+R;uzz=vw0xha5&mc)nw>IP_)TP{phU5F>>kQdD2Lc#h@F0t c-la;q-(1!2s=%@!^LOuZa_4*AVfvHif0(Q+AOHXW literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/78ms-RKSJ-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/78ms-RKSJ-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..acf23231aea22e1a95761f7eafd35f1d42ea6b84 GIT binary patch literal 290 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|TZElfUtQ+JV?4|3G$lSPsp*5L- zp*4wtu{9x)to?* z-GEF#OMV%BCslD3bEiU{_ISp9EDQ%Z8TPR=9292Q$H{O|h;bh`!$AqgeS8cDWf=Df PG8~jmWNdF>+$RD6ERIW@ literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/83pv-RKSJ-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/83pv-RKSJ-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..2359bc529d160857cce4c1d1bfca1322290205c1 GIT binary patch literal 905 zcmaiy;cpXl7{{OI+O^wmYtyl`HDmR3WD>!x+fX(zk2fF27#QYSGOjrry9(r-~(pVo1{Nw?mtLYJ4UUE`k0lkkCo*kO1UE(D(}Ha zIX$MVRMvM&ErC!&C=p47ic-|WsE3L1&Ed_Vp)Ij3En2goQt2?lasb+wwgN2;Lt;6| zwA_i2WgTGY5s;UQrFk$;02m7ZCI-O-t-D+~RMwf^W)!C+rc;Y3P7~9a-6+nSV0x#B z;@u~h&i0`=n`3$}i{kw*rgPg+oO_k&gBcVbb~2ssKyiMW>7z*$A19bDw4u20BGV`1 zC_arcUEGA?Vv6arQ52ttm@dgEF74;u%JB9>6;J2#3n;#bF|D?uSWPosc^1W&VWz81 zD6Sr0`f4AFuf2cP{3zC#>6(h-+M*UPR}ZZ3Otn{i7_C0k7_RpF0@Zzp)zK+0oTa^* zw4u^B0>!txwbtKNy55iCdXee70*deZm~JFd+{iNhFpJ{HZA>?}qPRK3^iu}K&mBy+ z6co26nSPl-@oO8??Kq0t<4kv+!-v;5Y52z#{B2@hzN>;4wmsUkBG4YIH)P39qY?Al z&-;u-#D2+V?9k-9C&B0ku;<`WW7q$+Vyxj_#Xjl|yL;UscaO{N)9#?F&dc}K;$|A` ze8QXqy8u=**sp^X2K#uO6#={Gx8h?Bj%vT*Jnrmp`kY>;$4NTfPM79$M&eedr~f9j zS?YYFb5gPx0b5+mtNTAx&)Lh;5 ZujiWNPKIm#2-aGseD|Rg2PkC##Gk&38VCRY literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/90ms-RKSJ-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/90ms-RKSJ-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..af8293829c90ce63cc4c5eda0318003785ffcba1 GIT binary patch literal 721 zcmW-eTTc^l5XJwq#gw8#R@%k}Gf`{k zMMO~)MNz7F#ryrXv0C+m@CEc;pImvE1P@4ZMh0a$e!5_#hJh!c`*BVy;Neh zTkWo5mpv{y40IUiYAY)$v->KYl_e^qm8H6=e}1|X^yMOVNa&R!*CX^Qk?RA!TI52Y zyG8CW=pK;^oAnw)aZ=<>{nqqplU^rs@wxhDkvt)i10n@xy-}nD=&hzZk)D1k^M|e31e5HzTtO9tf zi|}eE@HH3Vcq#Dse!}Z*z&9L(6AOSR{De1Kfp6IfCvCu!&9pYVV^v4ixO00S@Es@N z)I#8?0O8%;!1sy>@6Q9izmxDmBk)5D;iCfJN2E$w1*a9@=~D-cn9ek)@cWNQhE@3W zR*W>Mt{DX%Gw_p*giq^$pT-HF#ekpJ629;PzX%h)3<1A#6TYqnejOxy(+&K#g7BRT z{H~MmeLL`nQo@gmfIqeoe%cG=pBD)D)}AcI{0gYeAA%j u^{--}Rd*VGj9%#5gucOu!1#H2euZlOd%88>EDV>zJ*#d2{xOGaKc#=yUE^>7 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/90ms-RKSJ-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/90ms-RKSJ-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..780549de19de05b6cbea4ccd4737351bc9ff6104 GIT binary patch literal 290 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|TZE28OtQ+JV?4|3G$lSPsp*5L- zp*4wtu{9x)to?* z-GEF#OMV%BCslD3bEiU{_ISp9EDQ%Z8TPR=9292Q$H{O|h;bh`!$AqgeS8cDWf=Df PG8~jmWNdF>+$RD6C)7)p literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/90msp-RKSJ-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/90msp-RKSJ-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..bfd3119c62d9976dde9b1e59c572c678cf5811a0 GIT binary patch literal 715 zcmW-eTTc^l5XJw~VoNEO2&Pqmx?BQ85Gy1Kg5&B40vb?if-xX2vLIS5w2cHZ5is;3 zUQoQDs8tjNMNzzg8>r(=1dvVfUk4O5y@0Wb4U-e!1H*~A2RJ`p_EmhUK zs|1K40Wc(gs}%5L55S7NSSf+n3@1T40ZQtSjKh6U6fCovgKDBFc+P4I2F&J=F+qf^ zjh0Zdd1J_~mn)$$R9BDTOt6QW6CGiHq9bDMk|H@Nw#a^17jYkvhNEA18d6O*i_N*t zY3nuEb+qf~Y|2Q9qDB-#>D2`>}yh(Xyh zBIC#a@D(JyS^<2upYU2Q@bw*pqou&3KEfMb;G4ySV}-zDX9#a~0^iOfypscbr;YG# zEATxh;dnam_;JGfO~4QAgcE7N6ODuq8-O3#2p?O4AJ`z>C7g2s&v^;od4S&+63!O@&vz1jXb1k7L-e=3qL;^Px1}0SA^g5iYfXXF1DY`JMrWSXGZ@Ro2m> pIdngIFSLC^+oeaK|2#XMub5T`8{&0BcPR@0tE+*R*O2w6;V*K+;HLlp literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/90msp-RKSJ-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/90msp-RKSJ-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..25ef14ab4af42f4b70ccac76cddac8f3b22d8813 GIT binary patch literal 291 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|TV`-3ET%a4|9qgs+k;vS*f}u5; zfuS{tfw46qk*(2@aj!owG3?DvWNLI~IN-y;a3IK0v~kS= zzs90gM@9w+lw^69KH^V^*#(jJY2W1%d Q2{Ig%O=N6uVB9AH0G^~w2LJ#7 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/90pv-RKSJ-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/90pv-RKSJ-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..02f713bb838a8cd46f5b262c934d0edc8c6e8fe9 GIT binary patch literal 982 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 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Add-RKSJ-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Add-RKSJ-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..a3065e441a0e1f1a65e9109ec9bc4f826fccac24 GIT binary patch literal 2413 zcmW+&Yg<#t7JgTDc9NYyAOwPxTexVs69h$s#!VxNsHort6_ss`c;R9I;draTQz>^5 zB-}yKw$@sywYJqgd*Ivo8$RvnH=n29&!;oze3<>NJu~k+Yt~xN%$Pnj1Uj$X=(^l` zsmEJVQQ<4x>ho22t1on(4|*GKboT_?yS@85zUb__*4d@?1TPfXtJ~VV|DWIO?Fx1W zyL$iE*%%CZi;55I3)Iv%)_~9tqJGt=0zKYE^g(@B;gL7U}%yTf_E$7&sr%ouPqC<9T}qydj;K6ArB9ZcM_-~V+gdA@G8C4Sv)OB{4u z_6}ynI0tu=Yq0T%_p6on<)%1`Q*oxb(wu!Jk1##LOgoVhlj5w&PRx$0HVv)}2JzSN zQ1svv=U^*%l69~TdPB(&pf}P`DflNC+7A7wb!Z3lV>DD9iXKvJLjmZ=twRUFlQDE0 z`U%re6L^Ygs2TbxX{ZJI>6D?Mm>RYZo1ix*4LhNq!Ei40vt`5i(9g-k8hEN}_!9IM zY50~V4XYTwD^@*^su2oB4~Oj|e&`o0BX!V&@<;>pi`gS5p|>g{ccEYMjM|}J-ZYx2 z$s?*VS}B-U;2zy0@G84aeD1G1$MURD}9&~}3tu@a#Q3Iv5M$O zJ6L5#P#irE@kEvn2MPoShY0M3Kl4uX$!?oshCX$ z+bzweg4M{gnP7V?v$%d<}SB-25@H^Xc=K z!7kVq?4jss6$@@+LHmM`Xr%?Qp-Z%|8SJvMAbh_PwNMInHFlvoUaZsPh-zItBz)_Fcdl88sIc}ZlZkCxiN{^3~?b$kQMRV{XI5?o@L1T7Pm%NSb#gtCY1@-Ts(Dhc*=LS`-4+SEBY}OH z0Cu;74B7)jih*Ia!jSJtFf8In(WIIGfEV5qnJel6FAgd5s&h3ShTXQB4Z{(&S_JNk zU#)@>jnxJ*9Ja4E!f=9@l&!YFhymZa`Dr3}sq3j_@0!2!dQ2P3h+07jA+PS(r|v*2atiEq1C2VUOq z1K$x+R>JuHE_lWM7lN8+}oo?e^C7|Zd2S3l@#;CAu9i& zh0+CEa& z_S2@dK8#}NwGW2R`g$9T zlFhIEFiK-z2f=swUiWFz$GsQ;aQ~)gH?)+$RR7O8l=^ckee%X)^1aC-=bK}J*f$rb z;7u>dzhu$5U-Bsats_wI)=RN(>uJl|a}@WhmDFF81O8u|ss6WQD){Ycp#1kuB>#Sd z@_s)-(eEUReHTZ?@3I5M?~au$E;rrIsR73IE0M@*l19U hBiJ~FjYe!VVdI#~IGtd0&_=Ch`g=^e-y*oZ{{`ID*(m@3 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Add-RKSJ-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Add-RKSJ-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..040014cfc0880371c20a89212942727c5dc30a78 GIT binary patch literal 287 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T<(QJ98{{4ArR$N%-RQ`;*Pnsm zfDaG{aWn1>~Fdm56S{nsR6Mn5Gw+)3Jb$Qmev}EgS-IcxJ}{! literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Add-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Add-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..2f816d320f08b8671498299c4d00e4564d2ece6c GIT binary patch literal 282 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T>X?$E>ygNGht``8&6_OUQ99OMMjtU#KJf$^YlAa{AfKF&6QHh#7?i8gWe mHX)Wa;Wmy$_VR4TgR($XYCxDx8|p%l=LmHM8lDo74dk4_$_P(g(w!-Hg>R!685l< z1014^3aY5#2*)_VDe5@GIWEvZ6D?e#jSjAGjT_wJ4)^Hd0grgXGhWccE8ft@07Hy0 T#ycjM;sc-f!Z&`z(oFmT7oB|o literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-1.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-1.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..03a501477c91d8156723f0c274a37d397ed65bad GIT binary patch literal 371 zcmW;IQAa~@7{~FmUG^&eZ(!@RyK_0)E=Ic8c?GTgwb(lAe~#GII?0+zl4K@HGLs}p zW|AaHlF3YxOp+u?l9{CMiRbhDcsy4>e>V}aa(Oi|o_55LVd#O7t{WnpvXWAmdE1d$ zTf`^FES0m=s3TLsfp8`x{{L;Eq%GC7cQmCG!NK8pBsOBkd_GNc=L=I&qQJ~z4n>qu z#sU_xgk`K?6%|ymhIMRU6I-aEj&1B<7kk*p0S?hX6Gu442~Kf_b6nsOSGYzCH)x}S qTioFu59s0%Pk6=)Uh#%^eBcvb_(l(X{NNYvjJLc7T(1JRsQm#8LY3P9 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-2.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-2.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..2aa95141f9f5802818e34b0aa626e34e7cfee805 GIT binary patch literal 376 zcmW;I(MLmJ7{~FmF8eFqf1vHu-MQP$xfto9^A}WmtyrDyJxAWRfH^ z$xM>WB$*^hCP|WHk|gPS;`uy39?#XUt34QZGdVSu8udl5WtlyFrfG>-(jAt<$$7pU z_e5f1#8nwr4f!$|?vAC?;{V?hN_tXF21iFq5svgH;`V@JheC#-XY*N`$TL%z#te#> z!#ozSh$SqegcYn}4eQvzCbqDRGIp?wJ?!HE6;yGEBh*mGF-~xbGc?e|IWBOC7OrrO s8{Fa!_h{n*k9fi}Uhs-HyrY8;eBuk=_`xr9Ay`2JI;cR?K~xuwKLRC}r~m)} literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-3.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-3.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..86d8b8c79cfa3907281aa3f25a46f178b87aedfa GIT binary patch literal 401 zcmW;IK`TU26u|K}mcGN({Q|~g_m$`K@18oH)xWONo(l2>)7#w>sV2{J8=76$Q^{=5sg+*{Bi$FO zOn+Bk@`34ybT(0+%;nVoeW;8MwHdTaUu%_UY|W(7ZGJiya~zo}4zw_eykU%>gi(xP z921yC8Pk}-Eaote1uS9-%UHoG*07EZY+?)B*ugILu#W>A;t0n$!70vgjtgAk3fH*7 zE$(oS2UPHgDr$JbGhXnDH@xEmpZLNze((z!vY#y=Hi6g%Vk3yHAU1>84nl~yl$}3x CU7_Cq literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-4.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-4.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..f50fc6c14e67a228c4ba9a61b1357c16410e8228 GIT binary patch literal 405 zcmW;IK`TU26u|K}mexMN{Q|~g_m#NRlK?k|s%# zBuSDaNs^>Vk|arzB>7);fA`estp0Vij%1K8n7*FgNHu$&+t}i|o=RkbF0K4R80r2{ zrE}eZ$p@x0(wTUDBAZqJ_n|U6)Mn5weXUizsV$vMwfm`9%yDG8IMB){@`f>jQH)_6 z6PUylN+@FnvzWs?7O;pVETe)ItYQsStYZV4*upk;u!}wH;{b;^!ZA*8iZh(!0++bL zHEwW=JJfKG2Rz~l&v?Nr-tdkOeBuk=_`xq^$bPnf*aTu5h>ak&g4hgVJBSS-C8t5k F&L0K8qip~H literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-5.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-5.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..6caf4a83146a60a2db652647b9cfed5fb71bd97c GIT binary patch literal 406 zcmW;IK`TU26u|K}mNve^{Q|~g_mN!#-X5)|zBpQ#PGx_A`luPwPmMBxy;KBx#c*Ns=T< zk|arzv`LaANs=W0qwepXI-RF~O|>;06pCSYXIE?*JkPCbbY0J+azVQ_eldz|Ph_&a z9YI(K!nWAvlC`OP-u&N3CbW?a`*rDCYm)WN*>tAG&m-sM?B#fFL=cp-tmD?eBm2E_=ODUrv*e4h&B+7AX-5*gJ=iQ5JCxG%FZ9F CgrqG1 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-UCS2.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-CNS1-UCS2.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..69d79a2c2c2b00207ab27b68ebf4404aa17c6f2c GIT binary patch literal 41193 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 R!5J=ag&W-A0Z)>CkuT=vPT>Fm literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-1.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-1.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..707bb1065c76d69551c287141cb258519132ef8e GIT binary patch literal 250 zcmW;C!HPjq0LJmd(o>ur8(emGDOo64xKA)R4P{);y(uf1rfHfqO`0Z2k|asfBuSDa zNgD6qQRYv5zs=X*d(Fh{N?jKp3$BcqrV)%9hACrtJFBEscU<-4$YeQZ>x!)(T$K;` zVx^M2_m0%cQMz_JEu~~AoJz(MX)EFJ2ytmt{X#Sw>=`e3#T(wy!UsOl#uvWPK^Hyr kF~ATbj4{C!GyLEeb1bmL3Ttez#SVKMaKs5`(G2{Fe=CDsrT_o{ literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-2.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-2.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..f7648cc3ff02c44e9594ccbd71deec742e253c2f GIT binary patch literal 465 zcmW;IK`TU26u|K}mOjP(0>)!E%W0a$lq|f3HRgsI^TvBGHLGzXNs=TL-VlZ{f>DfN z921zt6s9qQS&{5KST4 dLNtbG4bdE;Jw$_u77-d=%W0a$lq7Fsi@BkOH{N@xS&bt}k|arzBx%w#BuSDa zNs=TU}~*Hl|me!dX&bah9j!F3aLjfsS7l3BmQ8m|yWwl_4H zzD_^L`$2nTv+>$wE@%GlLlfB01_QeEtTplarc5f`?4@Hd$C0&Se;cF78^SO~Fp4pZ zV*-4l~8|5gz6Tq;Wr6vm{3v&eie4&Qnn@L%5OOhl>k|arzBuSDaNs=T< zlB5Yqk|arzT(^3E?^93D>MAPKr?QAtrsV)XL*F@Qk~ zVHhJA#Tdphfk{kZ8Z(&19OkirMJ!<%D_F%E*0F(2Y+)Na*u@_9aezY{;TR`4#Tm|V zflFNB8aKE_0e5)7BcAY#7rf#P@A$wczVMA7{6c;HTtH4BH;^O9732(Z2RVdXLQWyK zkYmU-4m-=_tMvz_6R8WHFJ2IRbyaP#C_M$ZFh@BuSDaNs=TCWD$wYeo5lqC}J;_`Sr5mYp#8^R#fo5_alnIPHG zn2tKrQGGUSDk-XHYYYDGGeHz)!l>KJR2T*&r8UXQs@halK|w60mt0p5BggB<00uFH zVT@oDV;IK-CNYI+%wQICn8yMZv4mx;U=?dv#|AdBg>CF$7kk*p0S|+(wQg*OBwcedIuLAvuxUNRA{|k~7Jj ijwRQUbIHBrU~(}zncPf{rl(l7o@0OOeg}^L literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-UCS2.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-GB1-UCS2.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..7586525936cc5398b86d3752a4eb45b15825b25c GIT binary patch literal 33974 zcmbSyg#^~;Dq`SLCNL%sw+i2N{zNG!^ z$?Yk$5++TC7EIHnbl@j zL>j^%M!o;^j0oPervI<+6Q?2wVGh2R4+reFD~3GkG$FYsWlU|O`ryo7Cx}AGcZY)y zxsPa^R$VF>bccxgAnSh6i^M5Kw40o9+-AI+wOSW<^;T!D3K)+#RruRmSh72~5X)V# z-T|%ochcM4uxZZv7+gyHqKeh!_-lLDY)7n!H8Eo%`FO!4GknRxko>LUi&DGoCuy}s zfAX&z;xJptdPg7;|?<=Zs- znM9ir8jGLO2K){r-Ozd>nt4A?g zlM(Vbk|{oJLa=XV{LRK8tzHA77?akx>58?KiL!3{8tsAHL;kyru_^u}qty~6qGoG) zWXmSP3#+77PeXmua`g*Ic&)V06D^fD7WKFdv4ydxV^_L|0EtGDStAtM!rM) zw#F6Kfq-AL>LhWDj{$=xvV_GEMI6d}Gy~g$_r#&qw%QZfXF_Z2urmU;TqlcaopB}x zha?9LCiBL;rmQbUU`nrDeOKPU0jQbTA&yOk|IWQpw$vFXTp`M=VVz4RI@NGW_m#p% zSIPaRCj^8O&bWTne-wsl#y!PTPE8W;)v-Sp0~Cy;)&;z&JS>mnG1%yEKpy*i`p3d?YxKWwJqxHWdtrs5x!9#vjH{k`K)eT>ep )hMjqg! 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 U103N5XSl!>Zg7VOJW1|FzIH}ZoB#j- literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-1.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-1.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..dad42c5ad7dad57954fc9a051ee7e222e83bee45 GIT binary patch literal 226 zcmW;C(F(y(0LJk%m!9Idac9QeF4x+{N-pdPuoG%*&RJ?#Ymy{Mk|arzBuSDai8t{m zKI;43eEnmeg6?_&uT`o(&8Vu9$|{OVHQOyQY6Ze)bwSNW+2x+gi$1gExaK(Y-wVo_ zV7&D^Eyk#v&Y8NAw+u-lghV0Mh7NS02Ynd85JoVD2~1%Ib6CI`GD7x@CoEK=wI literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-2.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-2.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..090819a064533f20aa68f562275556397683ae81 GIT binary patch literal 233 zcmW;C!HPjq0LJmd(q>-alr^r|-KAuqWZ^!6;WQL3=iZc+NRl*3(xgd}BuSbiNs@RE zkK#{#zs=X*`$$FYa!u#IbFK`VrV;ow3{yt3_Lq`Y&2d%Hk?~T-)@56#U6l>`B87r{ z_m0%cQM&p%Eu~~Il!!-TNh{{@2yw4h{6aM9tce!d=%9-pe$dANLyYi?G5#>Y6f?}R Zz!EF0vB4Jq*kO+YjyU0r3$EhhCY~ULRonmo literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-3.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-3.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..087dfc155860e65d2dc828dd432ffe88239fde23 GIT binary patch literal 242 zcmW;C!Ab&A0EOW@?&>M-#%1H=ZkB`0VnAFpPf*Pzg~>bJ83I>gL_|b{h=@pth)9G) zNJNB)MCe=iDE;OXBS?d4* literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-4.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-4.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..46aa9bffe576e9a8b714646aed7f9e1a4e99dfe2 GIT binary patch literal 337 zcmW;CQAa~z0LJlmyWFREzd-BM-MQ#uW*1|2(fI_`UM;qr?LEiX)ig;aNs=U)B$;HA zWRlEGW+pQ;NhZlmk|cH4fARco9)Is(HfX1FdTBB4$|=({CZ-L;l!2H%ucVc8T$OZW zIJIEww5{h{74!Q7iG=*`9jTS0bas4NN=g4@BpeJyt&qnf#BV+`BgAr^6|jO;tf7c? zY+w^x*v1Zav4?#epoBvl;TR_<;}mD8;2amY#1*Qz#tm*!Lmds=p@|mSxJL(F^w7rx a9`S?$p7DZL3^BqR-tmD?eBoPIKjIHvDu)yR literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-5.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Japan1-5.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..5b4b65cc6292a5ba7d89e976565bf08814bb88b6 GIT binary patch literal 430 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 BxW^%pYjuN-9#jwV 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 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Korea1-0.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Korea1-0.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..cef1a9985191f53c4a8a35811d1caeecdd1a1820 GIT binary patch literal 241 zcmW;CK}*750LJlm9s3mT#ba}M+i{E?2I0Ydf^;t$thU~bV5eb3M1+Wlh=_;<6+}yI|M2!7c7^j|X(nMGt)pFvJLB jOfba^k9fi}Uhs-HyyF9NeBuk=Sl|as{9=Vak*&o)>2O)q literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Korea1-1.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Korea1-1.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..11ffa36df8404ab970df2a24b2d80b1dc6348436 GIT binary patch literal 386 zcmW;IVMjwz7{KwnUhY$zFR*p%-F-PT8QF{OC#ZI;vURs}uh^?~l4MqrBuSDalO#zd zNs=Ts!7SO2zVPu$BF)nH~I5FL(VM>=iW5wWz_Cxu(|1DW$h za=719c~A8QG93-avRUze?+Yb;sYcAwl~P38yOZ%m%1wkqmZhgkg)T;kH->RcU=n3i zFpU|^Vh;0Iz#^8gj1{b64eQuI6`RR!J?x`~103QA$2h?$&Tx(kT;dAXxWO&% wP)7szXyO5nc)~MUc)=^)@Qx3B;tSvS!7ucv`Ah+A5@^#vn+Tc;L%L%90TF_m@Bjb+ literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Korea1-2.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Adobe-Korea1-2.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..3172308c79d57147cdbe05930228043faa48ca54 GIT binary patch literal 391 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 f42+FTOpJ|eK+FZid_XJ }}!1;lb046pnFxKb%J literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/B5pc-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/B5pc-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..ce0013167f852a873b639e301088c094d468a750 GIT binary patch literal 1099 zcmW-g`%~0q6vodN6a}qhlS>5pun5Mq5J!##vdM@Bf}@NT7m;gd^fxrqTR%L%JoC!)l4};NoKa|MO+K-CAa~m;Yy` zTdjJ8G1Z)yv?e_XG;o5ZH6}Pa2(*7(bPX13xi0#9ng;QCPDf*cZvnXeZG=E4V1^R` zoRvxy;O4Ai+72k&S1{ECpkGb4=2BAudTmq=)uyA=8JOxyQ9dy;?RWuYM=I0Kr6@a# zm_A*FvdfKWmj&gsAg0|K%I*ZFJ®2-Ds;%-*{dpuU>v^DLBo-c0)(C|^V~)q7$@ z{aT1<0Hy{bN<#_Lm#HZG=P~UsLiy@7rUPy$2a=c$2B93xXF8OCa!B3vwV)jKXF9wU zz5g(KznM_BQqZ}<``gR@4u?0-WN-(%F9AX;RGaa9ga(p$@iBOaih3t7U8K5x( z!cJ~LIW>#vR6fe-K&I2xDBlrNlRvsQZG!Zs_nFSbV(6JFfF>(MH3zZYoCyKVmFUyr z4bWm#ih#tHNcL)R05n%X$XO4Rvr$av7NDFerWB1l#fLaIWt>s{7^F{x*Fn~56 z2yaUP&$bGt^X|C*e2VhQ!L5A}Q~MH>b_>(@D^V_JOc!!cE-L@xHk2RYm@d77a%lro zM+{2GM@&B|SeF&7%L>*{3f2_`>xzPPRl&NdVEwFMT~n~GS#W7*5I}bZEbB~TQ!#G>3#<@hBFz@ zM%>t20?@00cFW9kYcD~&Idml6XmW^`%Ri^t@ zD8IkS^uQbCftv9!8s(v#>5sK2k6vPWv<0=k*I`qik>BW_2Xp&XCjAQLV+HeZA^Qy^ zL(o7zrVY9Q^hLn@K~;vq0(@&o6}_Kf@lX!aP&LjSCde30VR{mP<|o+zV++AB63jGW zLK&%Kucw&+!>b_VX)%V5E(93JgQ!tr9Q_dHjClb}%IsOxnO}JO%^D zQz35L#>*$dzIW`GnjFD7QmDR{H8-t vrdKjO(@~zOJ)g&;Jm1DKe{F<0GX}&NKY$rerFbPXc+3#E&b*VWK6&oH7Gi0w literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/B5pc-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/B5pc-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..73b99ff2fbca40e7ca5501f61e3f2f29c1fc1af6 GIT binary patch literal 144 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T=44ustm~1;v(TI2l^-9&YkfwB h*M71;l(nECj@2Kr98sav2P-`~e{wDhU7p literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/CNS-EUC-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/CNS-EUC-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..61d1d0cb001dd484630e52eb7e47eaabbdee62cd GIT binary patch literal 1780 zcmeIy+gDU&9LDkA-kV{N7%VIoIuhGKu~2XrO+`8pQjuoF2qrneFl_OF49p-n=(4rp z-2+WBSyWb*wJk$C%#4~H6s;_^QahLCDe_RpU(xgP!rQ!QtuDIxto6R@z54FG9(lO3 z)ZZEktY})^t`-&*IrCjkXOUXc=x@+ecPQAdtq!W?Ek1vs)gSP-YmEh|CC$z1)%QU) zpar!+2Vc51O)Z$dpuDtfp}UME(n(RGrfKT?Jl%&K*Oa8ISE@wWBNg?MT02tVv+_HS zPj`6q65WyCovl}Tx*ygZ^LwUBa!;r3%Pa+^P)YbG<|i>x5{)Dr6l*1sLt+_;5XII=qKm{NMXV<=Sutdab&!!vB3Cj} zBqL20Q)DAu5_uHsRE!ETsz^*zjA|13$wm#uQx(HY@w6mEqqt2mR#Lb+XpfpZOiOq% zg=;C?Ac+EN*hg`f9A2gLc2FWi?(ItI-H_5}p~M(UWGa25DKX9xNuga$)<`-DCq?XX zL{<97k|`G=D!S4IO9+lYu-d_s#&IKQ2G9BQSW&+^53h;da_#us134VMK{FDoRPGTCsFZY6z zw=(O&sT%O>9B_Ip(+BSGeC5?)Mk^<&5Nct^c?LZLa_74z$_-g%xPCUH1lfi~k>h>l%Q+0o(|0 ALjV8( literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/CNS-EUC-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/CNS-EUC-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..1a393a51e079d1b5e7898423463fac5e87170da2 GIT binary patch literal 1920 zcmeIy`%_eP7{~GFoWo_^SS+j^bOnx!Vxi!&+J)#M5fy1jtYA?KEX#@)WZ7K=7a5uZ z-?Pvrt3_pHS%)&T%d&RQ=w_*1?0&x)S(fcz(dXG8`k9%gnSN;Inb*wu&hyjz%sk3W zeU-mE9NgTosYfjDp%s%u@69_ddT88nTiQ(_(^a+T4!l$f6$HPPXY%xE?V2SsgiR8_{TB+8Vr z0`s0Cd3<}w5;G1NG`*6>chK}IX*`_1*CX$%pyRD{GDqIOQ<@+;Fh`nn(kY8q!}d`_ z70%%nw{U58w_XM!bD3>mWDOX-2;7;;ptL($1@2nJ+yQpE!B_=|&1d?+?gp@DCAj-M z#t-hnzj2Q*1NY8hI>3F^;Qm6eS7KVg16P6vZA=(Ev;pk97(6_W34lk|f&C@m(Q}y1 z;IZq0u>?#gj0Ze^HFzSA*$EEZ3ZA?aOkTi*z`>irp%vgM3$qnGT?3w33Z6}8yqdi@ zUO9B4!5#0!_tcFbaUnRI!L)UUWP%#P@7xMc6WB24|Xx8 zY35Ho20e9rXrB%2sdE||WmzF8D zqL^bn7bOfE!Cp|rMG$>}M-|Zz=*<^{kS$U~2(ra_!hozx5jVl=kGhX&4r>6cYhaBq zY<5~<$ojc8p`_*^SH@F|d8s=ED-Ot&L#{$uDTQ36BV7PL#+>OAKp&*tJgq9L2LW4^ z)#{?PI-Z$}x*9atYlF-!*gM8D3CBi=Z+5`1VfbCfx0cv8z)m6C^}`=msN=MzqCYvL zV~{Eot%Ox7nIcj>#7YBk&nYp8bSH6NliVd9=)`IV@vu^|Ks@Rr*4l{2`y~-#ohH#U zO~jKz$r$mpi+EN;Y%s|X@%$w5!YxS8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T=Ij@2sOyo)qo~91%8!qshLNF; gfw7T^iLsFlh`E564~T_;SPY1zfLN|EgW;7w0IZHEdH?_b literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/CNS2-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/CNS2-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..c89b3527fe57ad3b32061f36b73c756ead3fb071 GIT binary patch literal 504 zcmW;IX)8ow0L5`6Ns=T<(sPF-F)m3)lCgy(%}A1wWv;C;ce;0)jHG-a`#Sc0-}im& z!>4eLH@_FB^Xebsx0I?buh!Gm?H1W4lbo3&%O+vAtL=)gdUdzbr;93QhpM?$twYNk~HkIwOJ&|HsTmI*hZ_tSQ;1)BX%%R z0wx6+0#nUkx&X|?6AzfJ2Xi@KKAJdzuLdlngT-*t36{#hvH`3FkruF82-XrvKUi-7 z8@XUJhPc31E!fTgI}xNC>{fui6tEvcTERgPI7}o1;HVKC=Yf-0qJh&oaApMOk)#(~ zRD#P?a1~10!F4gXNg{*bwh7$jgZnt*1`ihSD1)ac!hX-}_riXD_VcsfEBn2%-y8eA dv)>2%eX`#t`+c$BH~R(HFTj33=$HJP{s+tZ#wGv& literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/CNS2-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/CNS2-V.bcmap new file mode 100644 index 0000000..7588cec --- /dev/null +++ b/app/assets/javascripts/publications/pdf/bcmaps/CNS2-V.bcmap @@ -0,0 +1,3 @@ +RCopyright 1990-2009 Adobe Systems Incorporated. +All rights reserved. +See ./LICENSECNS2-H \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/bcmaps/ETHK-B5-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/ETHK-B5-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..cb29415de4f5a669c1b47e34ab889b5fdee6e428 GIT binary patch literal 4426 zcmZ8jd017~wcqQUbI(0@gnJof^0EP$L0i(lkxy<~6TPo1_^uzO+wUa5j;_uH*afedpVYwe}kJTEDgS<_ce} zC~Dl<+O%~`U5hJs+O(XkyquhAE>_dHvDQ`A+T2px(CnJOV^d?(&c>$dmfD(0W>#PC zdSu`1YN~CnZQ7%6metm}CS@<0UsSxLte61d1fYEmA5vXF#sd?Bhuw)s^DIPUw&2!h z%2|fe(GvZWy~3*!m!D{EK0Yz;xkEeJckX!F8QzubFF#S}aST*2W3chFI^KGGv2-lc zyXz5d}1&Vk_zM>G{F0pK-UE)sSSBT$6{8pF0!Nf>=3u$jA?M+BU z;s2yabMetg(y`joQE4S2aS|!8mjw0*gamexz)liqB!M02#D;P)3CtydB4?m*oJ88o zD%%fBfmjkqAc67!k6Ho|B;X=}M6${-Lsod}$-;ev?A^o*5>GZ72ziVYh{TA;k-$C@ zXiXzR7#U~Hvy%J`3p!>dUou%PStXJ|93+&)5)+Y0^~DHsG2DPo5zqkhdJ< ztx$o$$xXJC8x;~w$eWWZ-pq@BV>NkWo%x-x%y*m)!Y2}igb?~#Jb5iHg&erBY5WB= zUUPbU-01`>*-aRUB9sXDts!}2IpIL8L?WBXp)-$J&*Vpwtt9$fwg=AT8J}wuNE)$_ z<)-5oc>97b^=$0fn6B9;w6igtwVgFA8LB=PnhL)Y1OG}qrW)hRGl|AIKxvAEM>8$_Pvx+J5Uw%Y(>?RE%p;^bx`8*=k|K& zi%op-8Pg@%N006cx_E=nNkkso=u?gs_|{480zUKdob##E&l6sJ(vmi?n6G?ACNG1K zJ9XJ1|F(t;CCqZV?t^5zJGHWB7ne^j@kDu}JdMrQ>yMW4EI!X)(^=t<3)Z~7B9OwI zr}liYObQk(cqaWods^C4dwebKMf^nQxl&&5PWD;{lHJ<^u`RyEeEh&ce$XA~UE~!# zS-x%l4IPza6^Ueqr#Ig!-sRcJ%}3Yn>MXD?WKGB4dr%D|K@y1pAqMPb$s-zr?U!*U z9r4shAr-q_jv6aUGBM*f8M^@ZS+IdXLS#TI6E2A?&^bYTq>Zsl5?}+(R)N? z%0{%-Kap6hDs)KS44`N%>iG=i&K=M{%tJ;6zCzQ!&VTmUyZn%RHV_ zjE9mQ6G*1jWR@g>ggOmUnhFAEJcDoG+xSl>_#8YZvdLHDsqIK&>Bm3f?TZyzloF(( zdD48nCZjMr8>3E&5(EK}5EPrV750E2PiW-v@_szjWs1)dKorfy!>zmBfeg~b@zl=;8AWR*|rrN*`rXE{FwZ|GKrk>QOb}Ejkr}k6r^fabE8AY`xS26XeDO7u^ znW;}Nr`j{2Onqhto$&oElK=g3rk=4&ccQf@3 zY{;9~kT=b?D{V%=&bi6A>n-l>HQXJ_~m3$@yqE<{lH1J50*3aSJ`yUuXX_Z zdOlNsy^w0ZF*EfybyWLpDpP-FpxW=|GWGYAYQL{$>K|rP?GJ~U`o}7&eHhEs4_m4B zUj0_bPCHK7py9 zPovuB`&h&mt047@dYb-aIOKh)GWz8%V*DxsoL^!6U*)jW%XWykoKF)kFCsH8H?k>L zGKuL*HPx}~3#QiIDlS%`cRO=>j4I9lBB`S$ZrSZ;7$+*TOnld5C}syfFTEj4TXa;lm>>OTrdt5 zu*jh~qBOJ`Fq8dF)6XPGLSEYskfFf@wN;J zw=H12oe810r%>DNVk!J~8OmG1dAkWLcMP~3EcH%2MBFK+%AK_kd8Y;v?;HTQ8;{Ec z&byQu?oJhQ?#=}1?hcxEw^_)$m%yy|mV@QqIuP$|gM@pHH2J1s735E|O!|-7PjDQFul3*Iaf0QFm(Kr$%3L}YyasfuBfMq0q1&owbh$G9;zT6HYRk*)ShLMeuG*XLp+oZ&i27u8JCX6~DW;6nX zQS=?1;(*cVX)rn)WoCfU68t+)g3(1r7{yqlIC!Hgaeoc&X+roY&eG^^wAqWg{l&uQ z5fH}&fH7Hcjwv9G#fkD*64=HvXxLZ*%8Ni4TP`YN<$^r60r@&GkJUri*j|txS_%yh zL&5qm5?2x^4|8!%2jSsdT&2n4!-Wv{a4DD`)`R$P59$u!=(iaJ;BBTR@p|@e56IUi zL&9}@p02N^+P|Wi`ma4S@846e2xQ!CR)Wmiwt$_t zH9{J1JHm{dr-6y{To}jsObFq;f&%ATAdK^E7=Rzao9Q+{GIu-iD!Q>M?pB$JyNmEr zx) z*XrVC3mWc_O}x7q&+9&f_yk2fDk$s3gnL0N`UV}cfd?b7;$R&95)Qi1H<*ff1v7P$ zr`t`_JyZlB$aIfVotvMA+7-HDwNCKI6%Ve*i41PkO?K&S%{sRa2P(K9xgNo2;5|kR z-($mW^f++(dSXQj@0ozcJ$VROPXT7oqvCk|aldPWGcoF9;&+ppmV8a8}FSY0q>oOnD?p~ zND5^n#h7Gose-=qO=!2oisCBWq|%6DmA+T4o75PQ)Gb2N;6Tz8hGhRFBu7x&2dM2c zI0fFP*hSuFrO1WPm3UvYuEkfL_l=ivF9{>}r6Q7j>5`N8WZzN) zie(1mD)Bz`;p@fwG!yP^;Fw!q9oFBs9qaFF%0aPJ_dA4z^aDEgi-N%W4VX;7Nf#~X z+;7J){h@KF2wQ>NIDGm0W8H^k-k*cW^go94)<6Bja)Ad*h{8MK5bBN;oPv%l$;1bo VUn5lgC0;DLe}&hDRI?#j{~y^L&k+Cs literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/ETHK-B5-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/ETHK-B5-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..f09aec6318dbec88491e3e488526882eaa930f37 GIT binary patch literal 158 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T=^EnUt?Oi}>ygN@FqW~AiHWh1 w4T!mbm=B1BfLIKOrGQv2k!7Jb!z({NhS&Ox46h9v*%)5=Co&#;!uU=Q09TwZ8~^|S literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/ETen-B5-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/ETen-B5-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..c2d77462d298cdb261f5e2eed5218fcba35cbe4e GIT binary patch literal 1125 zcmW-g`&ZOe6vfY1bQH7_;w1qNhb4%_41%&6h$BY=Az6ZfV9H5>nS>Pr!NhA>tPy-< zY6h8_Y2qsc1xeEk6EqM_%``zCBG1qU{U5sZ!~SKjv(CMDfA*a=@?LCVQAKgyrd+Fj zvB?w~5*8Y2(zCfR+oDgcD6v{Lm*^77PG;L^Yiup&zI(^f#)x{RsX2feB@wQ1F5HlUhRlx;3d+lo-O8<}>zg0drtY3Cx8oq0^3uRz(Q zW7=g#`NE%Rw}!GihG~y4${u0b8-!!;IuV3&BA1;{#sk!+LGa17D5s_~ zoytZz?ZQJ6V>x;>xdSvAl?)Ku z6v}Q*R)EGb2t4bAayE?V++37%$xO{5=u=$@o;CA8Hx&-h;tIY~kxWzXqrC8BdQpmD zFPG*!Hs=G>SV7-h3N9_4=-m>mW<4OJB>|jU%9zeO;+pdb$}0t3t1naQ0+d!W(~rwh zE@(^_HlSQo{>3dQKSeQJnul^}Ez{))l*^wm{j7LiQ9Q3Gp1&xbZHi}`;(1l^ysCKq zs(4;gJg=E?QM*4tXBsSSPi9kx2GC^!hmI(e4poxtJ}B2SnQla)+)(BDEd!%FRTk~5 zz_(Ln-D$-cUEz??rQUec1?A>yrfwsy>n;H3)i~KTFsEPjr9TJX9#9{lmtp?E2Bv{3 zoHa<0HkiQl#0L|fWCD!1g3C|<(~t>esGQxNrUMMFfWW8u7&Pn((3b^a!^AlJG0Yrs z0~p%~E+Z_$7eu=kfZbUs SS}75n>;w+>cVXen+8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T=^B!nr|V>@>ygN@FqW~AiHWh1 w4T!mbm=B1BfLIKOrGQv2k!7Jb!z({NhS&Ox46h9v*%)5=Co&#;!uU=Q0BE@{TmS$7 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/ETenms-B5-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/ETenms-B5-H.bcmap new file mode 100644 index 0000000..a7d69db --- /dev/null +++ b/app/assets/javascripts/publications/pdf/bcmaps/ETenms-B5-H.bcmap @@ -0,0 +1,3 @@ +RCopyright 1990-2009 Adobe Systems Incorporated. +All rights reserved. +See ./LICENSE ETen-B5-H` ^ \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/bcmaps/ETenms-B5-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/ETenms-B5-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..adc5d618d6912cb3a67e4745b63764120f93d17f GIT binary patch literal 172 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T?HZDrms_msWUA}o$hOe?l^;Xn zWoOQ25yqxk#>Oidj7*6<3u74@nV1+G*?^b}i1~n62#CdiSPF>cfS5@MD9-?tKV{GO GP7na4qA}0_ literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/EUC-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/EUC-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..e92ea5b3b99b1f20d31c9760481de0472e72685b GIT binary patch literal 578 zcmW;HX-^Yj6b0a!LR#wJkfLdA#QItYF__k&#-$pgwHAR0XbY(^j9ToQiYX4xOdvHz z^BOzU4fhQfs9HsF!Cm{wpW;vPT)#Xy_vC!JuD|J|F9gk~~n5M;9B5#aw zmMK{_pRicpnUjV&X_z^i=c6kU#UlH^x0uN-Zcb5|;haS`AM8t}1~Vy1mV_j`W*7F< z5~8j%Sz0d&CuDX^6mmYamwIXm{c=f!SC+Gir_7t&NfCV zHDQ96hrp{Ss5KL(!Rub|rV}hS5@X=)UhpnNoCixs!TTNHgP*X$$29n)fn}8_g3tZn n%SQ0kP2|D1ec(GIE`T4S;O9>8YYj04eh-UqLp>(Re@6cS^@+ph literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/EUC-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/EUC-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..7a7c183228dfdc5c236b7914ca68298520ac60a1 GIT binary patch literal 170 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T>Kf{->ygO1a1rBPe_qDDft*Zx sgPB`_!~OsLz3v`wueYcFuf=+=*PWVn zy}YQTs=kB}N|oa#DU8z6zYh`Dt1F6VfA!-q5nkI&;jcpi!e4uo({-;al$3^_qm|^) zpL@-rqgJKNJsRh9j~0)l6(|pYkpM&wCn{pWa4BL&Oo~`DavB&;fOTYGM8>P9z^ftP zH8J5eBol4NarS)Pwc{KmJzCY15S0o}^}IenEh9v&mPkqq{?N;I55=e#YOQnhK90nI z(Ltzn>0^LeuOB-H^@eHeJk$mJP$LCDb2vV~tQ7$=Ge8-qeq^LcNtR z#tYpJ9(Tyr3>q*_p*G>D9BOms_!+1zVdE0iRx); zF*d@N2=$J^R}A%TfUg3om-yzjubVmrb%0DIK^-(q zoyB*%X(|Kikaa2_>eGNJUi6uMss`$F$#|XyPc?8Ze}i?Zo#P8!nCh3Exm1|uZGLH) zE&zitT>(bIrW>%+0j=dz?8@|tBm^BdQjGeX0 z!bK{~o&gIIX0yS9GiM74JE5N)Bz^W1%~=#)7bEXMfO4Hj#9n*io^z4ge}%M@=*z-Y|dQZP|`%eTe} z^H##*jq{;|oz~CC%8o*6oR0%b#6g#Hp3_PSn!f;+Oy;Y>&N$}lz|NZI+rUy>^BuDD z3XNPKV5yFU7_c<^LMoWYxNs3H-Lg;&mSI?^A?%!S;YYA6EHul`B5GV{0n5h1J;HLx zLOWr(_JvNc{PczAU>Ed@XgTE|&Hff_)#&~0*v{7byTGc9{$4rgDvk1UORIHDput@(BBZEL{d`v@8|ju+y|uE!#_}X^D%z=~!w7`zdPaG1x7~GI#Jc_PLu)x@B%o zbKr8kY%im_WnQVpyqpWxie*ku5|_DAZMNlhuscD^17LT}D;7DhoMPn!VP4Bh2-tmW zW*IJ&OSD* zR><~i6sz1?*|=H@*5h7n1nZ4neTw6AhP808KGRw(-lZAV5@qLgdS)#J?1^QKThVV= zy9YKv);hojPp)-ik82phx(Vzl*15!IvbB;1u3N#LN3C;1{-#^c2YX>yzl7sV`#RV6 z(zSj=vQ*Ke^>&i7;nL|gij_FWMj6p>G!nAWM8Y>(mCDQw{+(S*K*BqZM5?o~J0KaW zu0ca8(TH*in%)V`V1j0pg<2Ze@_&X0vS;L$g~q>!3M;H(Mlfa}d4+$#sK@n>{4veF(5PfbjR(iWvF6 zhQz<`BoV)!P(=KiN~(VK5bFmhV$%nkBI-UoBsV{F@!!Tj%82EonGY8+esn8h=*QC} z_~Rww`B*PmZt(k@${@5rE+I%MfEHX0?ZikrG}mxGw3Ak7AjJb$Y*oYmz_?WlElSvGlyuFx@OS3J_fm4+rcGOIoY+4v^Xs=` z$jR*-61QDN%-g++SiAk4SbnQkM8j`Ck(}RJ$;nUQ#PrFdh{C7yME|Kscl}ejWNNN~ z7CkINi%~M5#h!=e4#9Djk_n9(h$hNH8x?j!pvC9!P)v7Wry2fQ{Z1>iQ;r?4WV%BW zclrSBG|am(91}Pu0=^rF-OZ4NyEJr{w>{Ci`v@Diqjq^ulFXlZy=3QSw-n~3p`Shc z)EVG&ImfdQK40UQf}GDkC}RBY4n9dm&hMFuc;)vFK1qZA%U>rvFn!75m=5cg0!0k| zQo$z~Fn(#~cn&#Vyc{zj?8V4JJH=ii-aN7FC1c%a+slTQ6}49kpF3`^O%@(f-F^U; zW5~V*TDEK74lT#C9|!HcW4}Qb9?`)4yU=oz_WLp6Fda~6d5(i*X!)jtJc)EvVm?`N zbkH*gS4hM`HxUl4e1s_C*+VypI;>$oV9vai(3ljX*M8dvClG9(a6tU>*Z4&m4 zNko6%BJ*#j@=&4f@8HO9H=DLc41D)&i~6 z@a++_vdC{Trg*~2&EK68k!jQSFxk>Wt>62hRoIXCi*n6*6pYaUXxHP9;xV2i992l< z`7^xgmdMj=OqWZxUYd4vgLkeH$;U>HRlsq&Pi*=lK@nYl8cFG&5j=5!^4L}W=dw=t KcNEe6tK@(8IPMSt literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Ext-RKSJ-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Ext-RKSJ-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..ea4d2d97b8bc1df2abebce0d4f8c58789f723eb1 GIT binary patch literal 2542 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 n1WGc8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T>RM5v>ygN#sKmI}pMl|k4-f~j zG8_m1(*FERdxM!+_J#r3kw6>*#Nj|3#vr&i+EGF=`+zS48-q}zgLHFIt0N-=1WGc< ggIR10jYd!*Mh1jnBC~2K<36T-PyT%@0*w1a03e<=y#N3J literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GB-EUC-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GB-EUC-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..e39908b9844939a3c6d6baccced5771b8c1b1b2d GIT binary patch literal 549 zcmW;HX-^Yj6b0bvh=x@^fcgdPo2C^bbR!B*V$ecRss^bX`N|ESR}dF ziYT(U;(|CJ$SNud2>cj-3g`OeNzTp5Nv`@Y)R0Q|8Qq;-8R6G7pS#-U(?lSVit8fW zXJ+&VrU>?Qq>OaRh-LJIr!bIAivN967`mw&y?hMoy6|{!1{)fi!;OkfA;o61EZUXA zrr7tLQB^4WPDMWP#3Gg@qg3suI<?M`$=f?v}^3bnaxfB>#NYMU^7k zeoSNs$ZOA)=ecs1NV}1XlOHqWu#XgvM&(EqIpotqrVET-1<#z|xynSrSRHs#&h&%v z2$-k=lVywnrf!3m7?rPznS0=M6L@n5yv<|c;N2B4eVQ2r@7uwLi{Rr4CIdc&z>E)k zKFTD)>~-+vEU@sWv=U&h9?T1JMCOO6LVj&UT(|%hOPPn@+byu<2FpcEH(0p_R$XB2 z5EBFIm%;Z_%mCPE13zlP&*O{KFoB0odEc2XC8swyI@Z{ E08&E2d;kCd literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GB-EUC-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GB-EUC-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..d5be5446aa40898742183202ce0624b8acee5234 GIT binary patch literal 179 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T;qIjC8tSa;ktnio5kreT14D}) z8$(MN1LGbEAUm9ex5dqlVUJX^5<`m<8)J(L6GMwFBf}nPZpIb|AT7hl(Bdr3utyfi TmIJaQq#0U5fOIGW!yb76lc_S5 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GB-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GB-H.bcmap new file mode 100644 index 0000000..39189c5 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/bcmaps/GB-H.bcmap @@ -0,0 +1,4 @@ +RCopyright 1990-2009 Adobe Systems Incorporated. +All rights reserved. +See ./LICENSE!!]aX!!]`21> p z$]"Rd-U7* 4%+ Z {/%<9Kb1]." `],"] +"]h"]F"]$"]"]`"]>"]"]z"]X"]6"]"]r"]P"]."] "]j"]H"]&"]"]b"]@"]"]|"]Z"]8"]"]t"]R"]0"]"]l"]J"]("]"]d"]B"] "X~']W"]5"]"]q"]O"]-"] "]i"]G"]%"]"]a"]?"]"]{"]Y"]7"]"]s"]Q"]/"] "]k"]I"]'"]"]c"]A"]"]}"]["]9 \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GB-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GB-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..310834512ffe49cbb7ca903abc2dc1aaa934e6f4 GIT binary patch literal 175 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T;_jsDktm|5#L!~Tz|dmH#?TVR zz_>>O$PQ=WZE>?>*dx^plyqWaY;j>?Xt8Bv*dxu&*x~@BWf&P+oTVA|$O74NKz4*Q OLrVyd4rO52BM$&=>M(}@ literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GBK-EUC-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GBK-EUC-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..05fff7e8254c995031783fb3b4892d58a6b176ac GIT binary patch literal 14692 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 U$d&`LBcvHxLV$EA1H&G90L*YQ;Q#;t literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GBK2K-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GBK2K-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..46f6ba5967cdfb381f001eb1193f17b43d943962 GIT binary patch literal 19662 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 BHq8J4 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GBKp-EUC-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GBKp-EUC-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..5cb0af687ee20a10ecc367892ae49d7b1e74acd1 GIT binary patch literal 14686 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 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GBKp-EUC-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GBKp-EUC-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..bca93b8efbb18a13e15025ad41d23db8267d2577 GIT binary patch literal 181 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|Tof+Gg1Hm literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GBT-EUC-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GBT-EUC-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..4b4e2d32294538b5093ed3870bb9de37abf21599 GIT binary patch literal 7290 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 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GBT-EUC-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GBT-EUC-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..38f706699f395dcdad5c6ad93d1a9b6fe9f66c78 GIT binary patch literal 180 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T>FyMw>l*5;>yaq3a1ld`Jp)6F z9UDVS7z5)T2_QS1g}24cj$w~fvl2s#6B}cT3ll?&EhEDoX>P_A2OurO$k5^}&9Fxn U$d&`LBcvHxLV$EA1H&G90MDZ`>Hq)$ literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GBT-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GBT-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..8437ac33771536813228e3f9c1cb6c35af3acc72 GIT binary patch literal 7269 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 WM;6GI1F|Ee8CpVsbSMME9(e#*4Ku$0 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/GBpc-EUC-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/GBpc-EUC-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..c9edf67cf6d640607080ad2775c14760df77dd96 GIT binary patch literal 557 zcmW;JSx*yT6b9g#5sk8Wp~4N)&xVRox)HTbV$ezus|KWvvDSQMS~>x=+B(ya0BUlu z6%kOt4Hc2GF1UglxbS2ABPP6unKL6=RYgKy|sm^&HD=; z+9wK$t)ehQepj)s%u_r}`l(`yg7UVH+^&(zQA3V2kz3v=XL`Ztad5W*jA@Jk##_Kd z9Ww~-#lii9U~)TSfvGcK8b{@WO6C%Hcmh1y4IY;=1Zf!{oti z6ubz4xoRc@UY-Q=dw_$U(n*6?$3RJtJ6^g;jq>$5#5V`P+ilD>@U9aqc)|M$rVo5* z2OmA)(*`C9J|6*Jb}~a?@jO@xfv-Cl8+_{m-~Hf66>}N8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|To({Gim?; literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..7b24ea4629d0d4cc9f0cd5852edde324156ef0b1 GIT binary patch literal 553 zcmW;HTTc^F6a`>fNJ|+U1WZdKHfIVU1k*BRx(Q8g4%)hO%E=p&pZ zbEd^7Ox8PjMK`8&BW>|axS~6oW&igkGq}l(87h;Uvv6yFZ!CT`8Fx4oMHIF4enru4 z=0tE`J|(&Hyxf(akmS7OcH5<8CAK8mJa(nqZ+l&STNO*h{HDE1f!7`2 zO)W7E7S4gi5O^yQV7GO1K*p$4;PUEKTm>RjJOVd4}m{N!QVP! Q2JBoE!O~)+#IZZH2g5hHiU0rr literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/HKdla-B5-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/HKdla-B5-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..7d30c0500520d563d0e5891c8f4781c61ddcca5e GIT binary patch literal 2654 zcmW-fc~p~E8piLJgoLoDV1iVG#EWdQB!Dska^Z@KEGiKJt6VieWR+b7OJVMpTBmj!JFV@ww9{?uR9m&JOC9YvJu_$KuQ_Vzd^3MM|2*fO=e_Uydjxkk zm-X}x_qVsU4JvaA3e;J-YIT7UxAZjWl(oYHgStHf%8Kshp8npRe(j*HB|8Flbt(V< zen8o;8_@Od`=42>(l)3 z5_3C7W8#28sxAh9N4WMd$)m11OH42hj!JPI28xLDHX45P6A}5PLQrD$ZsAaCQO6I=ddkoZXMn>rz{cbfRZ!j3W zu@jQ>ynlWKk~fPmdh0nz-r9=M+xd{Zy%(c*cv$c9u-@fi{ho()froX0hxHy0>pdRU zA9z^r^RV7;fy+Kf0^rgXkn_PNTyT*A;Bo;FUMzy-BHw@y6CnAp5u=X^A^C`J#vdDC z@g;uI4>p3um-s_o8iZk&^FYJpLX57&LUKie(Nz`PcC{OTs|;X1uE6NyDo8$w!03}U zNdA6O5 z0B)Cq)E~NF`W+bn-)ceb9faYXJ|MX(2jKoL5PO%u&s{Z6y*CGdAA5lOUOrrMuNoBH z>%q(KX8`GaEhP6laq^E9ApXZ*IRAkZfP39w-GcZ1 z*f5LIpX{hHKy!>);gx&0*sJYz)=EPI+r=(0R|)l5F2!`8f6%JZ59>$tNqY5!E~K=V zTNiLc`YkgW!xod`NL;gnjCYK`5N+346rMbn+FWm6XX(^4292RReV((`ImqQXdXJC!_bHv5U)?UWD{U!X6n!SL9x#vjlBPtFQT9el&rG6k#4*p2 zVM%hYG&OLW9L%vcu6bNb7avMKw0NTN)YxRx^79mE#^|#4E2O?df~~r zN72z%SG_l%O*s***ZJU~hG4y=V6w<5*5p4e{YT;HQ7>~yHd$itVWUh5&NyeUUgcjg zHDYY!P_WhC@4@audUp~1d7ro0v_>$!VWqRup*^ zG@Ihd^E7$(dgswfeU?6DwPBq(r-$EW#d>|WVUMBLH*9DQ=F*rwmMp76AmBzPvbd-{ z`UrM~p(|U+_DhVN?C5m+jKa9nsh~~nM}8Y+vHUq*G^_qfnlDpw%s&fU+I_IhwQob9(!YiX*+$GL+{kvchE<} z^e2(Xw3o|tByvl+PEE9o$X%aUSIvD*hb200lQ$u^I7Yvj*DvsL4eUVM?hyZ#(=BF%-SwbR>N z&sWihQu=VtVs{Pwr<{I1472&JDDSx02)CG12S|>J&OGMUP#zv#oHbA4y zGWT3_lx-`u4pUoGg+)V)G$p^3{yIv_sW>Xes3s zwsnSZw^U`GPd}`nA4dhof&%eiyF|0&m(Z^(U;j;DwQFggC@3`47%D;?LXj}sD4(ti zcNRKxWYQ>SyyJzCa;`Aet#zgz9t}6{rI#i2vO?llg%s9G57Rn6dPL&Nx9<#=imudM z=}HXZU?xq@4;0PRICnY~GtxkuE8VWU6LUuv0Pg(B4VEzHMpni?XO1z5^;Kp?5W}fz z{VJQ(u}0#kHH?}wgXMvgnRNSzYt_tfFe(@w7}BK8mOh<7UKvcDIY4EBy)$d5dc4Y~ zz92oNpc!euF>KQJvkPfwgd|KF>rA(&POqm~(*?A~FB1yG4pyG2^=~b6L?3R`GP7;W zlTM9%wu5q`u2ycqlQ)&=UrSdy)2<4y3Y-a(rH1YXM|+ge*&EKL$7^J>p(~rOFP~CR zCHb=1N`I@T(Ssv=g{EQ?@)i5CeTlZ!_8no|3O@Qx=3l!t>u2Alzg?jZo08a;+tQ7T z&ZV7>v}M}Xu;GqP&TdO8C-a2~d`(=Dc`2JD@GgoJc%#Bu#H!fkbd2trO7{*er=qDG zuOQ!B;;uI?vTkIX&3(pjM!LhBo?^ QxJF!^-VRzcnd;s4Uw8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T<>8%@lc?)ts_T)+v(TI2l^-9& lYkfwB*M71;l(nECj@2Kr98sav2P-`~ljyD=Pp1 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/HKdlb-B5-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/HKdlb-B5-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..d829a231015161e107123e211d4a78110daab6bf GIT binary patch literal 2414 zcmW;KX;hO}8VB$j_OQsJG{|PSK#(=aRsp%;$|5LKBC^T_S%M&IO_arj-Z$Gz_5=fj z1VX@Cs}=3EQ`_lc+tJ!qJ5D>*+SPSz$IhI7m~(pO%=EPL&V2ZPdCq(8z3=n;d)?bp zHZnSKsQ*BpLb#={Fgr6RJG)Sbdq%os!ukohLN+89Ru6ZN92y-t)Txm5WCh~ELE-B;W z>=~{S^;T8=(q_#RJ5FO4i>c5VZ75m`ou9Nf8*`oVGS$>tnzf9nTkfR7MP!W81!^;V zwykXOG^!MuZoU8P5p}fETA5h1wR5Hhvv7sxWE7|U9cf4}_ ze82Ocr+9vyre9N~sWy9gv+J$tb5(N_svvFbeELE5|e?s^WIqqRpM|qx_izCj;nF%}(a1GS}GZNHzEwqh1&}Ri!&HKhz|Z zSW2ntIPEd7cLmYNA-B*NV3L@MPPUkeXu4bCiB^?qTB~$2O@K_U${6xr95Dx2kGzzx z&oLd-$5U7OjoRs~)mD0`w|~v|VxCoQNpg1wdB%Oc)&4F?uvugq-leYhSMR4EAEnp* zV$=<)M!IQfi?rS1`DId7YR)Iz@*=7gD^ur4noDzY5u5$HD)gD)`w`{X+w}(%ssS~B~R?k00w8Sw; zu|1#ONT5IXFnu}+D`Gc=vwK{Tt|CN`JYGcT%;$g0I zv-OML1bO-_y^KD`|Ftpp1dHwMrbs$z$TLU+)M8r%*XS~OJ%N7Ita*02nF(hHmqD&v z77sF_W1e)nV=>2_NuxEPj8_ZOd#;fQI!`P$OZ(Zw?%LIW9-6D#peJ;YKAz~La!+Yg zH}L*Z3=$}Sdnp8fj&m6UeslsO20+3{FjB_BXk{DEOF2dXQq@DEj=)Gg3W-LHkv0Sp zZ4E|j8YFB#M$w!d{h>?K@iJ=rDV>~2Af|02hwwWdYuuWlPZi2+}6h;;W zB-UJvY~e7=RtK_X07f%nNM?pHI#~mWJqROvKP0o8F`Dy(WUd0E`9w(OyD)N;LgL`g zS|E@(V=;10LgFgKXi)&kVk1UNd5|p0F>*^GSq{T!c^Ha3nV`VafYC}YBrCfxT1|yy zwGW4%sszBZ7o?wRhU9r4jGpg;7u!0bz6|7V^*R1NCQmF?z8GroK1*>Na1_Y?r<#9XpK*|}^Sc}@Yq*)fpvQXnKR(Qe2tekADiD5Q45N#D*l@9mn;ijuFUMo_axx?@_h9t9?U1~} z!|0U`NM7aUuO5Ts_r(~!wh@xonlZXm0Li7p7`@J6y}@CQVMkyjMZ_i8R^x>|(M2N95bAjRmK7`9#;2H+YG@II`@=)+x*d=!Y$ zM}3fdoPyDHUr4T(V{`*Ta-$QYPb83hass12wLx+-2BVu3ko8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T<>8%@lceips_T)+v(TI2l^-9& lYkfwB*M71;l(nECj@2Kr98sav2P-`~lkWD=Yv2 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/HKgccs-B5-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/HKgccs-B5-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..971a4f23f791f75d4e604ad717735ee55529eda5 GIT binary patch literal 2292 zcmW+&3s{t87Cz_yhk+4LK)HmV!xluLDa-%_0}!{Q89xgv!bn_%)-tr4wyp+MR&IvNCGYw6h3((wIh9R8} zvURRQ=(1v9R}@;ik`TL!a#Z(9^u8U0 zgKvl1;C2j_+>Vvvj+y-LWSA!0DMa5MFGiq@?uo?Uo(%HoDZ!AQN{s4x5>0m_G3YKy zue*=n#Jf{S-L02?_X^PWUK!f%t)Nl&2jj&1NmAUeqQqZfG3FN~#joC^e$AB0y`wbf zUBFm47J5s3p|{iwy^8fR9ec}l=(QvCRv`8+w)<{L6UHVVnrUpxDnX;oPXnWEFqgA! z$iNXWa0H@mv<2xbg$x{_1GX?3wc}c^LkBO=xcU~zd~k+?4raE*fG>En91Vd`%pO11 z%rJ;wNnm0f+3&-r9e1A7TxRLNv)yGuPOvacFpE!oaKS*R9d})V4~E(C#VWYD!k)gX z3|%1sx+_f6ToD?&Mk2VP2wa5dvT3?&H0v=MxMDSL*EkcnlF;l**1IQ*?08$Od;h=gnkWrnKzNb7v2f4%>%n?LppLuwh(6yYa-H zw6MjdCb0mc~m!j6(Xn<%bB-I)uMQbgoP4QB+`IBnP zm11)&sm;r!_)Qk6EoLdURFe9wO^TtEwE){TNb$RQq@E3t z;@JjLzvn647D#d1@*!?JNU=Sh)b>?U{2`arbG}kMx17`;$4c?Mnbh+cQtYsi+EF3J z3u&ZY;JbDzQoACg*tM3_i>XrV4kfjFt`sjNlX|IMia!;QdO1Lfmsio4J>wx|Pq7qx z{YdSdEyXJ_q+VGj17FPq*i!`KUY$>BpGk^+6{KE^lH#=ur2Z_V*dIZb{UuPie~A>Y zPo|jHn*jDZAn|}rS`W;H$OCIA^k4|U!FWa-q#sO>!3P@v4m3ja8-qx_ktoHR0i@o{ zlj6|$R%tm@4baj6)qz}&iWKiXMC!fyQoNr+>is9A_<)=BAvfzoZq{G9Ss!t; zKH_G5%+30koAozt)+gMoPbw+)s14vm5llFmCsU6hz{yn5kMT-5#uM;qB&knJr8qvB z)N!7Szt5v-C-{RNodY9Ia3N1Lkk`p1n0Ior6rTl=`m8{TQ}ML$)GB~e{N?;SM~cs9 zllo$i6kjYO^^a&NzVssXbp8A{+& zDOYP`a{D;2wA)FwSIN=WavWXjJA!TVMa(XDWRTY-#ej2swrOMrfBR!b8ck6#XZ%bRP# zX|>~?1^R#E?G?NC>F#`99!0z$ikav0LRrAPkWpencPTH3GF}vm7!_=*)J$#%$F49% zxmO~3hDh=RGAC=`NkQ;TG=panbE=M>$;?w3yevI}&@&x1kJQk^OUIMRayIA8W;vJr zb6Cz}Uq0tOhPtPS?ekgZ_u(mJR$8d1oO2r4zm|EO)I1wd@6!!r16b%Gfwd3d0ynk%qAp{S2oUCK%2jX)&DX{IlkK6wz=N;1I)E zhyjLkG5Q$J1`0KtPqCvp7)Kk;p=dFhr*TMgmh>^2=V7wZyomCRmSFTXT9(L%jTZh7 eV6=`zFQYYve2mt3Of*_2X?{j)l{Um^UGsmAm(QgD literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/HKgccs-B5-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/HKgccs-B5-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..d353ca256b54236a4acefafdbc08e5b719892014 GIT binary patch literal 149 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T?ctrCoLsEyWUA|t$g|L!;gugB m!)tv;hS!D+jEzi8jE!tS%mu`JKr95rVn8ef#Bv!7ulxZLvn!hb literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/HKm314-B5-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/HKm314-B5-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..576dc01112bd7f28c30804661f546ece203c53d8 GIT binary patch literal 1772 zcmW-hX;9Q>62|+_CEy8y9C8dzGJu2|ML=I^i69Frj-ce=RRZ<=ems{ZVz@n00OLs6mXL4yS)n(eWt+g{b8nYHPhBhV` zV~s&}MupK|AES5C?@aXe(gzPD%ZWYP%&}bo&G9<5Xj3W82dfrZw7-Togc}@{-JWu7 zce0!suUp)3Nabr8nU|gmbTq$cUTuyws~vn)ihy3niMSzcSCUz+KiC@68g0lk?AJ@h za;+}3ccrOb^gJ)gEm0~D%SBnvXkD!LvKuThq?$G~d6{cYDP`!Y8Qgg?O0Q~MI<&j3 zWZ6MN93R;%yHT`+! zWVu+bG87HI+*#~p^c3-5M0_JTTK@HOFq|re2r#5W94vrsV60Xttx3ODFEG|GHYRLK z8~pu{o1L9&S9w=`cTV>qTbt(U>S6aTKe?bMZ#c+M))Cgfsx`&FHMJ?dBl3j%2}P4% zr&^b;wzU?B8R-DeqQORPa#k(3mi)5ojjf$==A_QUo%OwmW#+BA!tui4Ej_lKFP~k~ zRoD%SCOlL=){%dvtdP^Y)-F62+*3ECv3=oahH-Vr^2y-Iph>0Kf3S3{cywQTWLv1N zPPuMi?Lg|lMzxLgQ|a+akRJP~oUE7TqZ-RPv>iFkRA1A!-B6--uzn%7DFk@DQ@mx% zUVwiyfO&fn*rRf@UVBo~Q{(2`AK4$&?%YB04u4aHIc`FERBhyqPL0YVTlzAMp8MUc zkEGvRM7|t;wud#O@0??=h#hC-(I^l^v6QKYT9uPLM8C)i6h@Ex9?PoU&?*KSV`VpIa z9{FTGv3EBje@`Oz-Y(?t3;+E?$UjIV_MsQ@4__ko(Hi6*RTKMzpv%XCE*}fJ{87;5 zoS@4&L6=ViT|N30u;xjL70l&-Q^Dk@B{z?qwTuC7IxhwL|Rm3b2_==?rz#@TUO(SMa zM}F0r*wrHBUjz~R(jNJjFB1C-k$KhBe@rJm`4MCrqf<8Bk$op0b1m4QS%-aqC z*TZ4aZ9%WwdvM(yf#n+n{&#i}yK@*F?=r}~yP4SczL@rXF2IxyiI-h}Qi56<9Fqia6^HFzX_;UMLNmXBpVe{_ekxKy8fx literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/HKm314-B5-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/HKm314-B5-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..0e96d0e228e0608f77f035655140c6a235d4ea56 GIT binary patch literal 149 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T?ctqkY-pnEWUA|t$g|L!;gugB m!)tv;hS!D+jEzi8jE!tS%mu`JKr95rVn8ef#Bv!7ulxb;p(_9Y literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/HKm471-B5-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/HKm471-B5-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..11d170c75ed8696f0705f9fb9f5afcf3b0aff4c9 GIT binary patch literal 2171 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 W3S-b|;bUNIW?^7zv1XQNu>%0E(j#{O literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/KSC-EUC-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/KSC-EUC-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..a45c65f008e7d6ff34edaf53af15ea471d4f6d90 GIT binary patch literal 1848 zcmW-i`CC-i8OOixy)y#?3=?IQ2uv?U1Z7bx1Vjvs#IU1aP?TlFfka8h8Nemd^tlqE zY0{)i(l!C)+;eVZ(YZ5oO(85Me?Xr;PnRG1OMmDOZIdqcZ|Ir+a6jjH&vMW5e&6?1 z{(8DH>z9aSZHI+weYU+K>S3_5VzP>wC)4?~Vd~I)yg(5dXk-&8DYE@eE zYf=pZr-eS649DE_8slzhYA6a`Kh#!yh# zPV0XC#L&G|T|0VjoXY3+>6&}a?{v>~rR2>Gq~^_q^n?C)Q}o8}cRTbW>U;rVzKBxh zi>YhAOxK3yXLRk{dwqK4`TGa-3g7)%ukS(O{pz6yO>*%4{Yktn@#6~;AJj^Gn4LsK z;wQZlA5}?woRP#eiJ!hI@v{RGKX)W?MdBAPOMFt4#H_@pgA%`dN#a+zNlZ)p`kcgP zH4>j^&Phz_TGc{3z_Q_3xC1N>!@KYf~RQ{cH^jl>Rs=Mg*TK?ST%UH z!j6I;13ON<7Q8-O_D2J(mUx50>Qvqc?gwiCKdrJ8;IF2!QxL@pYbWtNh*GdFhd2On z7_6H_rBl=>q7JNw#7Twql4u6&gYZMh^Y%mZtKu~hmmo$}c3u^;WD?j#GF2xV3^e`8 z7-FMRAVw2l3?rM%7h?xOJYUyTUI2L^IOL7wePm~eY)8?<<=f`+8EKqBmdKE8Cu)RG z*UH6N;BgJ|#9i8FW=S`gl@ed1C-H`^l{`8FtQMp2(RJWa1NN=BaP^Y>Z7;A^E5BR1wr8!54zIOIBLe5zOHI(c4R(IO z`Ij%SJ$$blJ9TqS*gW*085;rp5VqRGd4D%DqE`@&P&7om%^3}YcOZI;c$X`B8@wkq z`Xlf@SgGLsu-xG16)O#VK(jo=2O<4v)qr0P*Z#u*A0g`qcz~>9;8z^haqu9l28B<+ zl3u^2SdGN5E7mFSkjrWTdl^<6@i1BKV9hS86MR~+`oL$%dJX(0Sr@=s$QlH{1?w{S zZL)^I-v++}eizmV_$;hZ;_tw&CMy6zu*M)1`9x%0g;2qy>|TL24&iiI6XB9?4Tu!g znuJIt>js1yA{|yF>2~2EYYHOMW6eN#5mT`{p~f5#dmyruSSmygV(AdMh-Hw-qnHPx zAT8#F*ssP4APNyHf++IFiV-b!#j3-e?~K-1Er~O(*epbwl&&MLLUbUWn$%!i?%hf8 zG>ERS`=5q0o&nLT#`i*;EsEzt^p(etKC9i|IrD%mfu$sus0J}tXF3de-=fli` zT>vx3VZTUbzGC}eN^?KiCB!bf?NXRUF6kZ9M|LetjqI0TexK|HGD|&nBbjBe+hJCy zc1OVd+)&KQ4?SQb@3p|F)BP~=yf7-#U`)?|%^l||SZ2R6r$vNa)7#a4(iw_W7k&Y_C! yV!7M4%-TEI$l7s`XGdn5p&eNauv8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T=^gB>>l*5;>yaq1a1rCa3Py%~ zRSXOV8JL*%RRh^|EZqC*bs6?^H=8o-=V4>q&&$NHpP!LozW_JuenDx5{o+8j1Q1I~ IGw+uI04wP+sQ>@~ literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/KSC-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/KSC-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..b9b22b67879d4043c75b617a24f96b0bd47cf4ca GIT binary patch literal 1831 zcmW-i`Cn648pfaZ-Xstpq{U(4L1XORb!_ZPeu>guX1 zE>>69d7H-P?uESmXY&i8*?Diaa zWmRWeOKZ2kmB{DQ4+Ft#K3^cDYuEJ_{Yv0Ps;*spF+pX^r*zG^++uewccpli2U0!D zbNbnqZ&UP!?r%Hv3+hTfVWp5#R*I-=rBv4fD~r0;_nlv_xb^akUhaLls3t;!n0D?n(UlGl{m8S0;@K7)-O=bdYi7Lua5xhgXmqK*0npY8-Ul1P&RUd)G>*DSCG2yLGDwfC~usdX^b~YGn^!oyAR0?FX5!f6?HkU8P&VqQJuBkj9@IxPdH@A=^$=3$Lz~iJQRNYIwwRI%Q-@Hy9NX|4vWhfvy$5xdCh!q2SFl z@TMN8ww!XCtzx>pC1s{=1K1is<+e?>izwK>M9%G-x;D6dSN^sa*r}1<6J0y8Q%mP} z+N2SIedjT-JByqhshghNlYkjU#;(*<`tF<@=||)4b2+mWAHA)Y=Xl$pYyNj-l=|-1 zda)zw0Nz!iKPsI+Fb*p(Xdf!U;qZ%Y9Mvv2V*lK$ChP_Eb2w-ZdqTd9=siRu6rCg9 zW{-x!I}m+Byvq@N3f_|%{RZ3*GZnlarW5>@Vy1x)Xr_z!AfzA7YVe_O&4dqpgv<-z zK{79a-?N#Q!9y_X6+Q`5dVNYU8;DOU<~8s+huIAF8O%1~VKUpnnjB^)_<~~k!57K= z68tflx51jp90Y#?a|rw?nE~*xz@LFXhdBbi1ap-5*RZO{3_=jhF$hII5t-u^5^UTs$e|mZF+75UFH7f^b5l!;B=|E?i{JLu9(lMF=-yDvl@Bm<{3tM3xdu zg~&lH9U>R83=$rSxghe>Vs41jYAhe30I@=dLU*hP(Go|jD(t%NYmL>AxZ#K`L9|Kf z+Ttoi2jZzo4aVi(ofJ=l=n6X@`0Vivh+Z{*65?iIJQu=W7Qc*Ne&vXdgfpgmMezy5 zrnQ6vBIrt#felci7Gg|I)Io%hxC${5&YSiriAIR~lxTvOLPCbj4A||=#B~x6k&r?3 zNJ+>D3Pa2*i2)J|YGM%L2_=RV@l@*EmKcS2UXlofOJ;mFD;Fg_ux zo{SQg)j&omtacdXs?`y6&iWLi;zt+Q$al@ytkqkv>2YJTJPn%*E8SR~Xu(>;ax>N^ zgSOd+*qQvk8}G&%5KaGK5nH3d(%DbitR8Z|m(`%|eHma4Lwi3aL*yq%65|s8Y1Xxm z_q=pvuYuIPr@H3eTcXZ=naS<@cjStGwC>B4`qOE+f0juh@bhI^C=Rj+2NS^l7*Y-< zWvV!sqs&7GIS+HF{IE#wb||y=~ivf-csQK7Np5q&`=XgZdQa)Uz L{tvCv`X&E=BnB!` literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/KSC-Johab-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/KSC-Johab-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..2531ffcf41acc01338f781c845c7f50f62fcc84a GIT binary patch literal 16791 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 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/KSC-Johab-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/KSC-Johab-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..367ceb226ab1e33624b30512716a3b65feb5a100 GIT binary patch literal 166 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T?H%l_>y@98n565GC~(t=abE=^ z!@ep8hJy@DO#7;V>^c_ief7Ew`?(uU8TRwAG4AJOV%X2m$gp34n{~gSG{b&zAX@^6 KC3TtiO923;%QA`p literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/KSC-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/KSC-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..6ae2f0b6b7238adc67bd9231668d9853ea3c8e1e GIT binary patch literal 160 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T>K*K?>yap+sKmIhf{|fg6$8UT z1}3I`)j)O~3-`WyU55SK&87_ddDs~D^D;5)=VxTtFTl;ZUr?H1zc`RB0mPEh%=@JP DC895z literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/KSCms-UHC-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/KSCms-UHC-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..a8d4240e6adb3ac1db859085b769a0715be03c72 GIT binary patch literal 2787 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 P^z)@`@$;3W7gGNZsUm@q literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/KSCms-UHC-HW-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/KSCms-UHC-HW-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..b655dbcfb123ed06c7eeb87dfc96ecf6759363dd GIT binary patch literal 169 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T=N;^vTdW)E;jHTsuIrH~uy7IM zz6wT$eN_w$2N{@{_EiJfbu8Tb>UA0Rb2pnZ?B`))+|SFzu%DliVZQ)3>wZCLhW+9| NwgeDMN;B`50suw^GhF}x literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/KSCms-UHC-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/KSCms-UHC-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..21f97f65b4a61adfa13f55d5a096ceab45eb485b GIT binary patch literal 166 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T?H%l#TdW)E;jHVCD6nu5x=3`|5QW_H#FzGVJGJW8BZn#IT>Akzv08H|u^uX@>pcK(+)B KOG-2EmjVE*uriJS literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/KSCpc-EUC-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/KSCpc-EUC-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..e06f361eb6d429290806b9f9cd7a0aebce22be4d GIT binary patch literal 2024 zcmW-i*H27iO?oT*=I*WEh>y zWZwfw)x9+eYFE?kLGTF?ZkWX&sp}x1yUFzOj=XcJL{@hkG za{2n`g`xA~u00hMC53xSN-A8{=SKQ{uJ-F=KpToUWs(J`+TmV;>Nm~+UE9J5L641UahVi1pSv>ge>ZlTsm4xiL@ zUR92$HR^%xThXer_tqfgPo=AheX7Q4pK6Lqo$8EEof=W|YCeim-OV30sC(q;48pXN zqNcN`X*yR`x~C^prS0Q(weZC4ooa#W_GE(VPUh|6?mJat@RRKk+z|NoDS=PR1U^fO zU{v5ctpeXI68K(R1Q!Lqe@x&9I|Y7diJ)KLM~4M|?2KSi;3r)IKix0zvy=$N1%BQp z@QV_GU&c=f4691fOg*3_!7_6lnC(Hr%m7Pp@|W`a?N=-A$JDlSJ!h)XdoRZZ$n^{es8+ zT#}v752-uc&wFI&i*4fNMWr0`;%c*HL&}ghqK>#XVrBcrG0C>kCRsO5OSI8jo4(=o zxHoRf&X@aJ<6m}q+%E@Z=c{aWN9ik%+US0DMRvX}?TC5Z=5fF7mYr`hI^{PNkTyqa z+;0xbDQ|8R#BXldVcB%myEk*P6E^$T%kk{2-~L-2^Xa&IF=;+SFlD|Nvy-v&??TIV z&A0h8ey8u99|KE)<|b_?SSo3GR+a{>0D(M-Il&ZYyJVIPZ8umhv_fJ9(2BrzOIk5l zv83$HjCKe-OVa9z?*Pw%)@0#3 z!FNMzCSGXeB@!=()$LY1y#wucNAF2Lgu|oz`aVO-?xix?q}1f`yvwL z1pxOuQM6zY?F2FxO3A)(TvfUj&WO*p0*hthxvDB#7Rzb(Vx2HXVO_ieJa`Yui$dBh z54HlPA8`+a>|-B{h>;FdJ-8`m*5aLqmEs%^8&swJQ9eaK`j(n)3)p~1Md%1Py!6Mv zAe`p4{^@h9_S|a5)AFe*EbqEgjVE4p7gp;1sejeu0{sY#QecEwoi*SGYe3*Cu_jyK z8dyto;6t!>n9*PzFzsL`Br^uAQ!yRHx*+^$mVll0m;Fr#>m_p!n3v2_uzriV56lO% zQes0eh1V}irkmI$$vgx$VlzF^4#TV?<|nfrTD8q=1RIykcCZODPl8<`^At1>nO$I4 zVV(uMMrJqI4Y2EAH(~aIO~ULW_5s4hWO~5~<^Z@Pei51Hz-4GccJIO*1h-nuA%FJQ zI(U?94ueONc^TXe9t(3c;&$#Ja|}G*VNQT2ASh#PNDf-Sw}2-~!D#Sg1Y^Nd5R4<9 zNg$PYdy zg*u6k%b_mts}$;y_%)$(OQ;Y0W=_cG&-u4*3CF^)!HA~tJ1}D8@K%^rWW+%`L*Wz{ zTPU0cBN5>Y7|E9KHZszrunUGTw^KNqw6peb4h*MFc*k&2xD19u;r%eaLE%a=avWhd z8Mz48!zhr$4PN_OT`~$kb3p6;*aN*>t%07J0KFgv`uKD+W(I38>z?vpZpdqS`yVV0 zebS6a18xLjKb^q+K5y<@qb}S+36Dj=s(73agnOVo9uOh&g)M?}0>AR8%C;viI`G6z z@{?<-lJI1b8ka?}u`Zt$D>_iSEVBL=+mZ04NDAFw?i00aC6TZ)2rLgEYGp{Iij@(H zU$v2aHJJ)lv&3$zqOd$oLgG^kIi8A4)BRM`E39RbXU#&XYez-TTCb`^Jv&Gp&uWGB LRYsqvzytpSc&T|h literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/KSCpc-EUC-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/KSCpc-EUC-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..f3c9113fcf0b02e1deea8246bfd27408becc8401 GIT binary patch literal 166 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T?H%k~kgV$(>a6RLD6nu5x=3`|5QW_H#FzGVJGJW8BZn#IT>Akzv08H|u^uX@>pcK(+)B KOG-2EmjVE${4#z3 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/Katakana.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/Katakana.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..524303c4f0c20e6cd19aa1d35805e98c2c05cb7c GIT binary patch literal 100 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe y$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8-WN55UU{bJea$}HdW(NS2fFFMV literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/LICENSE b/app/assets/javascripts/publications/pdf/bcmaps/LICENSE new file mode 100644 index 0000000..b1ad168 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/bcmaps/LICENSE @@ -0,0 +1,36 @@ +%%Copyright: ----------------------------------------------------------- +%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated. +%%Copyright: All rights reserved. +%%Copyright: +%%Copyright: Redistribution and use in source and binary forms, with or +%%Copyright: without modification, are permitted provided that the +%%Copyright: following conditions are met: +%%Copyright: +%%Copyright: Redistributions of source code must retain the above +%%Copyright: copyright notice, this list of conditions and the following +%%Copyright: disclaimer. +%%Copyright: +%%Copyright: Redistributions in binary form must reproduce the above +%%Copyright: copyright notice, this list of conditions and the following +%%Copyright: disclaimer in the documentation and/or other materials +%%Copyright: provided with the distribution. +%%Copyright: +%%Copyright: Neither the name of Adobe Systems Incorporated nor the names +%%Copyright: of its contributors may be used to endorse or promote +%%Copyright: products derived from this software without specific prior +%%Copyright: written permission. +%%Copyright: +%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, +%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +%%Copyright: ----------------------------------------------------------- diff --git a/app/assets/javascripts/publications/pdf/bcmaps/NWP-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/NWP-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..afc5e4b05ee6f4be4f17eb616742b59aee4c5ac1 GIT binary patch literal 2765 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 K#KF2yhX4S!xj~o! literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/RKSJ-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/RKSJ-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..fb8d298e9bb8e090139bbc5e958f11a237672825 GIT binary patch literal 534 zcmW-dVM|kS6vlV1!_6jlIAtre^(Q4FZ7qdzD5oo@Ra#hW!6IgQZI@-tuH22r;(#pN zc3YNZS(fEYv$QPBvQ!BADC=#XqScEBemwl(fk!HbNFU1>Bk}7gaWoL{A8z;i1EMFU z4{IWvNv5>Xr0BhQO*h7LLrrNh->#lSLj3oW!qAeMaqC|h)->Tea;}$x{o$YmELjUc zR{7a&frS$QWo5ftfMs7cJ_O=wHmj={)2+bMHwYicfu9^8oM{H0876!>2>i@TINJz3dxh|M1o(xUaIPMBE=2h9Jn$=- zaNYqt-$(7G(`^H#%Fe=N;MX3)#RlNTFyYb#;5Saf(o zt}4K*<3p7z@0?PlvV!j!_(PZ4@LR#PPT;jP;l~v4rw+n(Kk&Lv_&EXmrIm2wAn-<< p@M{eCTQlLN0NxxV{2m4V(MY(p8+a>1xP1xs@6@aCX9<2q{{oKurl8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T7UUi5rR$N%+UUr**PoYhZy+br u-e4w{y8J;XlZGnYh++xso>knU|bjRFGekSdyBe u$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8-WN55UU{r`}Oa}lMG#?cJ literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UCS2-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UCS2-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..d5db27c5cf1f5b0e66e16f6314d042a4ef707222 GIT binary patch literal 48280 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 Jqc2`({U4}20Ez$r literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UCS2-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UCS2-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..1dc9b7a21bc59b6540d55b3d8933e5a6ba9f8947 GIT binary patch literal 156 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�ksTLal!IJ% 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 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UTF8-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniCNS-UTF8-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..22a27e4ddbe26664c57f778a864b6872f6c2ba03 GIT binary patch literal 157 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 Uyk~SGTv&9{NH!N6NOao&1LeutHUIzs literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UCS2-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UCS2-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..53c534b7fecfd84e465c8943fe3adf500a4444f4 GIT binary patch literal 193 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T6PlOl?xY*)9BicPk;tzg!q5^X z$j}nrT*t6SW_C0~i#-EFiybR_iw6T^OAsT&9w{L02E+l)b2AxQoY)v!T$mVIY=JV; k+>9*_j-3Bx_sB55H!Wak%8eoOCt*p0P(FjU;qFB literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF16-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF16-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..b95045b400a77419292cab245f9f66f6298dbb5d GIT binary patch literal 44086 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 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF16-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF16-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..51f023e0d609798e72d46bf41309e092d72ccb07 GIT binary patch literal 178 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 M|Id0?+kYqj4{W+_`v3p{ literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF32-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF32-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..ce9c30a98541e23244876fef9dc67c2639fdd746 GIT binary patch literal 182 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 W-NpY7&VvC#?^62*GzIJ*TmK)sASzq{ literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF8-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniGB-UTF8-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..f78020dd4028d56497c44b7afa94985f0d18f8ce GIT binary patch literal 181 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T6PlOl?xY(U;%1@i;UxH|VM5Yq4M+!U_+G%+;v&G<;s5}C8#>Vd literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UCS2-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UCS2-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..7daf56afabf65a4707d7bb06d829f56b247c9e80 GIT binary patch literal 25439 zcmX8530Ra_mL`18z26c$I|#_Wh#Sb}F8aCefVd$FhJb<_f(QZ%`2_?7`@ZixDhjw| zDw!%+SzTFw_579HJ=0w?X=Yb-_e?!qHJPqGH9i0H%zq;LiRU9CAmV;^Irp6Ryyv~J ze>}1y=UP!-_Jyo`|Hus+)~t?Nvu1<8l96*R(?6-`dVc1W>;C($rsw2c%gHn6XJ&-! zl*^a>fByV+|GdoWnRx~FUnXT{`iDmx+_z)b;iO&20Lo{|n&4$w00Q`-Spfe{^vVnY zae*u|(F9|c&g`!~sk&69d2T%}3enZfJ9h~@MAZkZBB*{)se>D!N}&3K>IfxF4S-Tn z4F*;3psoPxI#5lbx(QTwQB^>7a!~hxbv>xAl6q1xV5I8opa-3U7IX&H86>EPX|3q0QWPi>9rGGE_Atpdzdas zW*R{NdU$G#8jV&IwlD>8+4q~x298(;kOrXASk-gDREG8@L6zy!dfCSVszwXjIH)?a zmYcy^5aC#L9VMF}JKFU0ymTGdmYYOd5ct_vfT!(%ne*Sm_ZtDe-=>A{w<?ItkeJ$GO+pp zSeI&{QlP)=6!9v(O=V!&B|?^&`(J}^0=W21prrjK%*^~Z!}sw9_&z}q{NGgSLsY$Q z)h>-~vm*OXf1^9y6b)Qc5y2|A>MCyvZJ~+~0N=$6lD0e{L^kt)CbXKV`LlGTn>7JR z_>G^$zwt)xya(W`073h5DLr50@G55~zA7*a0d4TZa)2M!0sgRxt`&+Y;BTzg5LN(I_cmz;AvC=f;=-LEWT@F$;mq z(0YZsaha}5fR(7|0$0D{U@H{=>;$Ef8V~ATQJsr2sdHP5w1~INV&HkSZeeIGk?{Lu z6I!$B^#z3oj$3c+Q=&$M!`7SSI(7Y(sd%j!~1F!ru;ngN1yxPp*Rh$N1(cNCH19(MC{%QlTSG$bz zt5A9!Lsv9iQFKMpwT7+;y21r~6-&2x>iOGr@civQMISO`O$P2L(7M-!s@HP4+))uj?*0%DqVAZM>w7ksdB{&tsdoeG5t^MuvlQ|Ne6^LD-%gj}#b0^o z;KfZNzFKN#A^#nINL>j(cq%M(n{_)nu3SySFlHt9aX^v7M?d&LjU%r<#>!(*-NMz)z^Q>3 z?8h65K7653&uUj0tQnFuMc)+5d-ubT3%1?D%6RO_V`FEih1Y)$XO<#f9&RWv5zC#) z4!I(QFaDcOTd@tw*P-gg9JnFTH3F*FycHI+**(vD{&j`*LT6$3`i5BbNL{{3=d5We zsVk^BZN>;!96pq&k8mGO8t`n(s*ckbs*Szr6M1bB4Y~B^036+zs4k5N8VGINT4gNX zF@9>$!ID1W%bX|DCy(AuFR^5ouX`BELYZbZN&SYYU2be7XWTTyE5p>Z>6nfiRlL1$ z06K#EJo~ObavIn^kYr7ry}DHDzir*yWu6PZ7ty+|=SWq|&{8(29Vx7cEB6n#Bv-{( z2-})tS~u60Sl6g?32J@Pc$ym4#=DOnxYpuSsiN}a!fqhP29sVl*tD6tRTBnN4t&ImdF0Qwpsfeg@pVwH{Ki$)O%(AThA7)a(%PEj|xGe7+_eUga-=`Sl3%8vtGuJHQVc z8Tvc5Kzy78ORLxNf-2f}^RqhNvO@wgA2@fp3e2 z`7QAB6udkGFVo;jtm}P+W(WARKW9>rN~WglTeU`7o6V9of*c6z;^sK$Or_$T}_y)@)vN zlr={ycsOh!ntJQ^(-8aPU0?dSVE%Y9dDz`(|1?V~t_xyO}VJJ61zdx%hHq}OBjb7KA zjp`|!xJXdZBBQzino6K;BlK&b$$)jGZ2AP$WKjI5O=R~Cz;VzU8g5fZk3CFKq{BOZ zI?FAYPL_;dFoFimn!^KZ$NSBGkJxtoKk74&U!Ag$5m3+?m}q zcb19eeo*cUT>^@P*CzI{%56}y2k-8tMYY8W?FZ<&#uZxgpgIWZiuhn5Jaq)dTUSH# zZkS#tKX8Y88_-&etqHtYfzegGUKD#S$dec0fe)+G0EOW}2`q=8cbTR_#CuDjN$*sC z5NdDoT0g9g!j2q57nlkSda>suvv@q0UzeqhF z6k$++%5%EPVhG4{gjDSded!yp(0WA||6@xy^o8?!M9X%lS%Wr? zV{T0Sbt$L=>99~>#st8h3Ke65IJ6ZUS$j6tZ@`Wy96f~{*P+pjjeBtUUuJ8o*$34b|b2>;gB?Js@Unu@Hjk+acG)G-LuMVQgXxV2us%}z;!jzDNwe_h? zJ**ugI7j~CL6JD&1-6rRaK|||`)OKor7=gbUqM?K&?akJhU2@1DUnSH0+XvUd0)I_ z6`;)>Y8{=Zlf74kiX#LMwJ@~H9z?2h`M5iqSgwc(+ZMK>j*H77h$(WyrnlfNn`jY( znM8n+hWZT-om3nX{<>SnN*8S2!w2J_Y8x+)Ah;r zVXrq?M8a?03WlcRhNcsY8iS@IW=upJ%2arwP!nNnJZn%7E5=0aP=-!J_vDz1`4VWX z8{}g`rHLkxK%^ojYTjxXz0{FqQ3G3X=$e9wO7;3gL*kBxY&FuBRh`kcsWG*7$3JiU zCzs)j%B?la6-{D7^Bx>HicDfZpOlXg(arFHOkg9YB3v!3KjRn zOFi45V>t|EfhC+xuH*fup!Nzhr9iumw;tkSXAxKUU$)ZCZjC3kQ8v zvx9n;rufUZ4pP%jucloNKd<@`#J4Vr?-AbS20a?A*#h;qp+!Lh+`Y&coA726?yP)= z*zF`WZiI4ItYJu)rQ#-GlBPt~l)$=|L)BKO*azd`FysN2)p8R+%XZeWiPa=3c*Jet zu)>bGymgDEH9c|wheMR0BZu0fu=A{-!D_A0eTI#k6~;F}g#fK#yn*0}P*Vg=6anJk zo*C{Pp`La|%bn|ya~fx5D2(5Pirc&*kMcAbxl|F&2af^4>O0rOt`evXhURq&KXT^F z)VS)iTA-Kaw;lqlvUgw_hu0}fkIW6OX1k$0fsc8zF;|>UX49w8mV-6PSa%i6<9SW6 z+?0(?S#U1`M%VDRE6|q(H4fyhu{#^O&%$I5PF{t3(YlKDFmVehJ2*14c-zsE?9{qP z)4H2(`m48Iaz&p7^=!K)?k%F~QV zI()lSS(0QN-cJk%7Z^MUfU%p{ev}qlQ?Ye3v}}UWRC|X1Ac;LV%%@7&)Ge&q z=Tx;9txh<2Oi+z5evP`#v8N2$-S}RZ*-yJ^yoin86z(We)m0cy5UL%Zy96rJVPrit zl|c=8jAPUKdcSYj0+DR1GpKls85P~;@@+W;LnHm2ws zVgl6Qa0)nyhNM3ZU+W0sErqoS{d>g+C%RbmF4dzkNYNyHdK(JrH<4gF0+u)&j*DE5 zWAz%jLho3i69~>Mp^L&ZJwysS677tm|AHf4%F?5MY&AlgGq0go$y=|;tyh^W%{gJc zFI4%;efyymc`M+<9FIrj4P&wWHV$m0aOEO&A$AewSqYs{FtAP>2xqn{d~l0`NB{3a zsv;aSy^UE)Gvo?p@z`-3Ss}nk7{Ew40cnaAZ`Ug;j-`);cq|1CYEjRep~r#sIO2p8 zj2AUYgWQ#_W zn8-&C!AOF$fEq3Wmpda_*9irWRW76{{Fv?SMiGi=0*;&T?H0xTxa)|WT^z`PmO?g{ zWt>SCXD(xZI`p5kgE(Z`xeMCPwb@ys4#kLTjsJ&NIYes3wa2BBrM*tA6C@Zb`Aa9I!puBV8f%$iSAGu`v& z6@I+nFVVh@#{~OVr}6CpCH(krL zgh~%Ku$I?_lZP7j1GUIuaw!{6!}_(X%NII4TsxMs{!LVT5i za)1qsFt(O8x-+%cMCPqNBR1p2Cw!Z#B%SzQ&6(JA3VP$wcA9q`$Ep(6Rs@aPc=t{a zwB6~v`y3$@#yXaZUF*d1co-{X&1q15N@z@Gyur-Jw@D90>so$vQz(cZk&;B(k^R zn9z_wX@&q4a)Vfxz#IIrE1q@vU~`->xC%K=q~k;etu$u>dcYFeaiTc39IW|hxdpwH z)hvgOG`nxD*n=InXo`fB5znI{E5bI{#JPZCIPrhqp4I-$H18u@34`FDZAJtWP2b7? z!$#LB&dF?aqtp-$4N=0}C78P?)U1YyNWAY01D;T|1SmVJHHtZ`_7-;MV)+rM2!fgf z1(Wp)*$PWGyuIu}jU}(b(QV4chzVWiv~ZCeIoaGcBH-zL#M`S{tIIO0vmQ=^3}zwucQ~4YFq#bT_PU5~^A&CK zzf_-s3V#P{nV|af#_ibTf@w=Td`;C`6@Bs_M^9p%15}*xX)2aQi4xbkC={6}a^7%3 z5tIM?KUaHHIm%$FxgytGHsh&S96hfXPHk=_KYB~34RC2aq3_68Qhw99@`A?V8#25} zZir)*k*>|biqolWqv;y9M4(RVSL*`oiG$3Uh6`Sz1IT)^T?UHo)SkCRMlvcbg&99` z_X2&)4uMYnJC5E^TvN1l;W*KE5Izp(_J+x?kbfIjV0=5f;|7$o zjTJ(*uYxJZ7p^H{3cTY>D0;}`4a}Hw3daORN;%z3NlKb%&4G%1ta1?AcPiSHwEk4F z?l2`Z0EaQ2zySGBYUb8E4Slf`-)WV-DW8p*=+`}E*y8}r?$F|g-NDeB0<~FK5ihpv z$GS^EF011jsBtjh234zI@Eo>Buo@AXc0y%5bRB`(V);QVR%uwx39xuT%Tj3e#7B-$ zyF={U#Hc_r#$aX-bm!aa81);eC(SOr*%fCqp~4lW_e-R)qpe7UQ&w(Wyx+36y z0)Mar9&E?yOW1K1`g5@UEKIo4H#tmS$LXusS*WSlg%w#)AH=HmLyNOiOLvA2EjFbH z6B!K1IA)D7YhYk_>?w8l6a2&3C}=PWgpS$^*+UI2=IkCe8%MmnAW|i zF0c_I!Ao!yJq5+-box67k%n`amea)=Z?qncp#4s{EZuSsy|Ql&r#h1v&wPOkrApA5 z=Y!!`bCvdz#O5e4y4w*gV-(j0W5IfWsYJkD#=2vmo&=TH{!BKrlikrW%L%wgOiK|| zUWfLJcsG+*t;F`5(6WwKg+tp>rsfK5F)&*u%+VG&^V>xNvuFO{oiFXT<`lQ)Q&P=s zsJZ1tYn$qd?+Ci4x_54oRA;$ri&$yIDpxGmKx+=`U9{++cr zc0-X<*SDS!T6|?SSF)_p`0K5kh@(?;TnJGkWnwm8cJBD9``${grVr4AR56SnZDbS$;|f37iA!| z9emv*3muFQE)ZNFjp1t79>OPT*IrP6Sj6{{Fi|2*zy$4O+=M2Px9k1y{ygB_=#)5)IYG@pf9Ck4~wcWV;0 zY1(n07Vj3{nnS+o$U*hx%Eq&up^BX5QdbD=j?gE<=ewaL8M?9wR+!1v)TEl$4nW{l#$X7MW`Q6LHGdq(S1Ie#lE=fD9|3WHco4~Z7;E1I?I)os9;))8HG>fV zXvxOU9qGOe*{srywF5j|4Q*#(*v>FMSO-mOae%loVma#_U~o0BIs#)^_T{a;%?Z+X z(Z>X0%3ykrG`$;I1E9r)jYmOSrcj;@<*NntAnREHbA@6<7B=jb`cFVlf~IpXOl?wF z+J!|PPtYRmDv5)Y`)GwWk9kmvBinCIO>1)Q)&NzeObz$wC`&C;pu+Xx0Uy; zm7aJCPi{dv@7&5dH#%M;o4tS)YgiTV@i_1y>M{VI1i+Ks zwCnqWSbYxED)2Op@(~WRIoP}r+Vz4p3?Gzg-DyIYFvW4o0KNOj)C3bgxughb-!F=# zu#5(!Xw!cGZl_FNHGvm3xCB;%53SqT4jjL%1fA^}&n6c4egO1eV`F<*`4#y5Ja(4B zaG5+NL3<#aB9GJLgiXNhb{Q&Pv*lRLT?d zFd2lCq0ESlm#FM0n2k6=Y*aOsKNpR_-X$qZ%x>eigxL_NL0)OX$AKd8gIptnY%e&I zYiAm=Uk{in!#e^DMnHWgOkajE6vp;rYofx<{)>7CN#Y8cm%cl0M)OHF;h}6XpPBF{ zkKLRNBf0qa2+k5I=E9zuSVJr{tcB+yJeSagR^9-!PB2p-HTv;Pp~;s?d?*Q90qPT& zj50YdjkYb3S+lX-jI&EYPju$YI&M?=7Xp8R!sB9!C)2SoZBL##wdMrQ>}iqn(_+T; z{n^-mmEyS@%xuA#1eE9#RK*90I@`7As7U5p?@l<*OG+SZJ|E2;KV6q$GNtNH0UiPvKSsjK+R1ydK9`2VAU0aZ9jD73GIp8R>Esm zV9PCd#-Ya`3<_-UIt*se-Sl*6$)9v)QD+Ne)+nIVaU_yPIkD)h$mf3XE@K^ePDZxFD${)`&zUiOJHET9 zTuk5Bp<^{caIchdd9BcH#Og?)yiiwv654~{?h>-caVK7TjL#m2$*rtzGaM9pRQ(ifZ=OIXE3od7Ap5)|1I8}%h$qKiC8J)mrEI948Iu;_xkQWHK0pE!r5AI5EQI=@QYw5}(WER)O2%^keI_{kKj1`Pk+yws}!} zX_c{Mxu(uXm^-eW-T~7aDb4B0Y!UuVZVZ)^^yb<}3jv0#^2)Ml$LQ3g5RB zZN|bt3^ZS5T1uiu9fVO0s+_AD)GL_rpB70fl=167QpGRhA8~SxvLxdVT>&r<$nFym zEfAhWvL_qS0bD7`wUZAFCU@cFHbHVGY6K362?QS%*bbg-+DF06z^^l{(Ru z)KE9z>tbyXo6}MKqRRpMJ@^xU`T$Xry$l|2 z<&U?KgZrGefEQ~zE)siK7lRXFI9>=Og4Ni}l-tb^=vdSW9KoP))Nh8_R|Uf4O&+ z*t(0W8FK3e#h7UuGdNe7IPEMdoKc~L2oX^fDD@yVMq!!O_wr`@eQEN}D!!S2s9VQ+ z)&pruTF-!OFW9a!YYDVw@~=*5=Be~ANwb?^b}gH6gGvLt!|)ErHcGoQd3_mlu9C;E zv5D2to-8z9#I`Kx$`q^&EeC}O5?h^z#U&c1CrytCT9K(KijetFe-aH1q^sFLeK;SB zlUa)H{N~Q(Y&Z_d)$XAr24;5>GM+T^$y4k;QEKNmeF@%mn~}if`GfBb^tBXxZ&bAB z&rIgp7Y)_6C{Wv?L9Hk8UA+@LJ`O*UcRGIoC$B53&u8~!3+fT*xd4w=@rfO1Nv9gJ z)Jm!8HJX#>>G1p%g=fz0>IIuW^p?O^=gGqj3F?)X+O8C?UaRAZ=>i`*AdC^f3dV95QubiiX5m3H)L*sN zn3@W?H3@4Dz_2rX9^tZ}C{8&mt{1}k&*K#`uvp67xMeqMKP(PY zEmEUz)Cfez-HU`q0czdRwv3eriq$7sMG01N+2JxD`SeL-s)>6}q0=o&_DA1X}4M#+*Cnq05 z0s-*`>&}4D+pOCaELVw-HFX?ix1l~#dR)Nf(xB>s^lUdgONM9X6!F6O#T7?EV6>m> z;%P>%{%fw>kRT8#hY(E3p*v{gD5^wft-<#}%KogVDFr8vaoR!E8LT=RYF4qCQh2PT z>2KGu!4>%8g7AVW;rOJ4l#LZ`l;{bc$FZ3W&~*{JV)+c=wta@4RQz%)d>JbF6Si!* zjjbB&yCL^8^yV)^;AJSAyUpiH$*&RXjdxS{&?=bP1%u8)>s~5E0wKSewFF(!7oIO? z&jV=@22z1mQ(q+T#L;Y_0$@l0Z*=BH>CQg5b4n4j zb}mL3ufIs`%}R7Ar#<5?`Q_z;`=qqhOGB(C#0!Rc$O(n z-h}3z%nM$6uot&j$4a2Rb0^oHVGL(5Uuo))UD@$`2gzlH$LpyQ6iUw86Mf0m`}4tA z9Js|+(JGF(>FSw=M4vtWMECOXFqpWF6Iq0eISv%UKpqT~$s{W9#;3XPG#{py^M=#V ze-NJDz^9~RrM#hK3ruZ+dCH8lvlgQiP1gVSK8mDH5I~*xCf{hMDznS*{YJ$*TO|ZK zpDx!*ygrh>SixFuLo0}PBjN5UPTN58Wb0uI21`y<7m>NZRqq<~C` zb9UEaOn4Jlc=p8m%@R!&wf|r6{Z?gV_CE})1It$4c@>;BCaS*0AnxwuC$RZFFuzxzUlBGT6nzCMk3+Q+cKS2b7b>p`eergP+@Ghgi+@-o zZMR~$_}%*>I%+bKhTupK2bvn8Ex=H@RH&5A{L)RllY!72&hgH9MZ8qmFR`{Qpay`& zsI#t8nQ>?idW^pa1`{HangAD@~#;D&-^^+u7WfdL}UoH|6dlj zDAJ`D?@t?Tk*qe?smG+F>Wa( zUhX`JDW=QO@6X!#HDAi9?9Rx6OxbAL8e)sHFS>olUH%ikzoMjG{^_niOj12>ExtY8wnCvg*sM zBNi+-UG7FvIO@-oNanAbJq> zV}M0BSSUqTcHadp(b(dSoe}srit_TY5N%Z~wk(6{JStki12334BioMQ7pwRRn4#LV z3x1xeXs-y1J1#O0Zenf_2!T|)rBuGL*KC)9)b1VI?)7se zu%owdPTUpVeudn{KRvDB43U9qqA{nuc_vGa(kwCJCVJ1=yLV%@a{!r!__w( z2O-2bb&cr=E{rc{<1yeyYNJS;cZ0q)yp_`q5eI#-BOKjfArm^+>#7admkE;^xnd>M zlnE0gnHKLE#d{_&qLF`x2ekCw58>Fi{2*1u)^qC(iLh6u=!h z@pGWV`!Y`F$)xTRU-)QW1e5tOh2S;gt<@BXshu-v_7*HW@`JI@|U7pKK1 zwGX|gB5i#L)(4w0XA(a+D&aYI@3~1-pdAksCFxl#G{sRm3?m!Z$WEhO;3kmyIl$9c zXx+|+!==thO3n!d+;PA=I$SA5ajI?0lyh+jMLxKL4JIH_QbZ1n7Qtw-G?@eHA)!Lc z?{7x}^~M`Qfi#+?$T?3IkC5!XBhA#23Uykj(-0}E$$9$0Iq2u!ZY8_0myOJL?F@eK zQarAu-;0nJh_>4Zy(i@Id|u-YNW?v&QpkZt;NM#atlI>LAaL;)qCKHKaF}O z8Turt^$6jiAn;{O8aW}29JkXG_Tu&doIGeRBM^!9C=yzodBsje$UVK7vbp^BvI<72 zw=sABhvhO&{t|llg9rI>2Fq!q8>s=al()ss{z7wt2KoX4dQvErHIg=JpIOM;g!eKS z-a9YCy(|IlWt(}P0w2~o!H0E-AJ!|Oc_;5(ghd%ENCD%D0XX3UclQg{ShN^54O{Vn zuP`3KNmlzj44)>#(<65E5n+GOzKF&bQ8W$D*Rd{%jjZ9bk!*IA<|{3HMYIbN*^AGz z@mZGeWi&Q!!B(gDgMqAMxHTMVI%7dnMANU97=C z#UkxjUQ}EI5^t!D0P5sEsFlrlUBD096w`IxGzmS)_x2GDyp!(NeO>InNgVH;<2F3!%k8d(XpiFH5!~IRCGPP<&ddi zms1t#tgoM#HaXHT?As0R2g3bjw1Ef{UcdZdmpxihV^;jI7hr&n2i5OHs0r1=hyBD# zo|D;!1B%D>J9R#qiD2kHDBCMUuU*8~8hq-<>Q}&2zJmrI%fe$2h{x)7gppe;Mp`L8 zPZ!EF@kJc;k}UiWA#~9ZMG{&SYtdk9(JZJsjJ>A zRPWRMOwQO9CHY?X;gq7w5BLiyr(f?w^|=nzhC;aSj=xWZ-=86G@cUH!{TcdX1pAPt zc;-h<2SJY>M*X0dWYGb9Y&Q*CaM4noj+Ke;tD(9x&q07NTJx%I+Vj;p)Xas=yobn?78#lk4_qM^rowT>CTE z!@;rU1U3E^r{k3E`R}K<@Znq-E&xuVCi*ayn5i@Di$eUOm~#IG2W$#Q+j^u#XXXsA zT8{N8@QYOJ3t$yaFtmnG`9SSv=yw9!DNd&W+e)#u47zv0>%CNwqv9pCS>poFWO(h0 zzf8xGI2I?^VxX5OdAOSk)&NG_jv9v}m!WqT3T%jUTYBgb#Y$)FfmJ6&okXhWM1|~J% zR$OniO`o$%gzT~*y(1b4ffL{+jir|6%fM)tOO!YZ+@PbLJ^sidK(0wQ1@{B zc#qR1w2_LbKZS_XH|Y7M4AW)we48$!;qKF<-)Cm&#{Y(oRAu=nYT=`#!;ge%KWYW| zs8i&E;QJ!eYIKyEF{!tZ_ZBNy5c=h6g%_;;sJA;jGZq|#I$yJ) zR6+dwogD1h3f2BFud~bY@r!u&MFJzAQD9jtP=tajA4%Cu>t*l61L(PJ))sUl)ox&s z4(BWuQhkI*yjZM-`$5#1UVNO zQ4i=(&{}VD2NHwu@-t#3GF2xxZbqsXTBDq64nxZ|#i?NNei&snRMHmhimK56*iVcE z=NkGYaAy-`VHX^7FI_oG%xzu_PGiAoYFY$hY;#K(a ze!MIZfk-n7L(5<&R2*CfgKP1=Csu}%MxVE=px(i&c;3h~bNj{TDca|!=rGa?5z3G1 zp05$^`al!0awHwR8L(KYh=u?CW002iqSMb}ubZp!W0nu1v<8V5v(UUpoImIB zIK|j$APCCTB1ZbWiKFC>ztRg|NpLSnxEBgv2f^3wYHb zbH~YZiNY_6@N0=Y#}^y;7aIx6kjPD#AT)D}38F#aHxDnCx!E;B+M8=Wl7P{(%NvI_ zy4wO`DN5UI(2O_#5kE#LzBm8Jed13J@ZsI;8?Eq-NyGUQQG7z=>;*QPMTm_Vwvha8 zBW2iMBx3J+?74uSm(qzT(Q*Nzp*mISKFJ366TqA;f!RDpq)5@4*TfFo{O6C6M#1jw zVrhPfzqIG_Sd@YvH!EI6XIhSdzr17*0#zH0W2-a^*|3mh_Y63d!lq6syr}K9Br&(T8;Vd=`!P;Ock;8}=@~vS zDXv9d)hB}WHuO6~J*jO_YXPw_35Jh~SEQO;p*kGvB3Wg)RF$M_TP;-X)KOMnnItxQ zv5I|)rs$goM68mIgVdNr3DIyAxoH05c4As6x51_m-V|&fR`C*iutYHxdv&^CV}Vn5 zHgAsCT1b)Li`xCe4cd2zR-gqAm7&;B7ycN(xDlf(P+5My|-kz909} zS!{YpgcI#Mz1WNof)&T&^wu=FDN|EP%q?nju47*_T!L=++5undUAdu% zz|`9Ff?B6VhH4$Xt3y!h2;S8p-TWFpIIUbQ$$xN)0+CTab^%7+_^+9o;HEKm9IBx+Ap&5SWfz@scU>HN3Nj?!9h0Vf>TRi+#74$a3+uh7GM8y)}llaPo#301kIm$Zxx&*(@vm*@a68nH#*1+Lre@>-8%l(0uoxyz1YqN8Z1G~F zYj7x*RR>}9F0j#Qlx4hi8UAJkZAuY-c^wsRA{JG z3ECK|OXdql^|Hcl?|tn+ zGCS>Umyab{njjwv6n5xF3ITinYw?qyB;IbE+0A8faRW3Shlg44D3U$e%d}vm6@8ur zEqeG(0wGsAqIn&tvR7+{89Q-C;xBKU3xvP+hC5;M=wt09{+zbBP_o z$CvQ&SpujGXY?>*Vp=|N35GVYQC~K7iTx%Iha#k*72^Nn#s)HAI*J?Y`JANHkoL8y z5av&zOpEHko`(o+8rE9Eo-ZN5twnn&kk~Seg(uOh_AuV{qAdQ29_kCxwnVaAgz_cu zIA0NN550DF=f13ji2vKa`6Rh_7s=f>?IfVRifi{%bX2h}-i)QmICDecrC0jH*g(8f zrK4ghJu{O>Tc&Hh(3J=#a!rIMZW+6fc0AF#M9pgH^XER%f4ZRJ0V{2Uu2?mc7z49g zsSRg|wq00;Fw5y89%7ctPP3E(%~H8=RwLl7PW2}FAiXi_V3tH%uiXST>wq}xOu9ig z;(STpJ?k#vtcL`%-t7F8_KfSJx_7HvHOMVP(yqyjGLxlzok}5sFaun}LI3*J@+=HC>aB zB9;AmHd0Gpq!I!-4f^wc`n1%(FYO$C*^l_iU(uJnt<&m87?d;a2bRq^cpEFWNhf&q zTA_X!_Gze*53}oND^rEij=vSL?B72H$_;+{248zfG2>@Ta5henK8tQX&boF=^+ii6 zw#W@fSY4!I{A}s$HoIccnf5AiEq1jP?Ol6k>@n!G;7_4Qs$2vrSZY7Z8QeYMs8+94 zt2gn7T%C_ot2aE`r?`JsI+&`dIe=;+)&)aNyp|-LjoXBQ5N<7oic_rBop=t#tsyTOSBik}U9TKykF z)zAJOKdn(*Kl{G#D5Gqq*2!Vemv?Rvx=MwnB4(4J;VQJ3l8h3YMTaI2_twi;=_^*m zyH;jmLjmuk&9q8!`RsSIX>=>%du35eMx}E#csmI+cnb7X-r<5MYAD5_d|Gw?Ll&`> zZ3WVxZ0KC7_^4NBuM;Ge^kmdjo~PkzOsJ(;N(LrKlsnP(L5b8FB-Nps7zt$TE}g_^ zc5SAhs-M;|h#-ee9ryv~oE5G5Pijm}8{boV^cbucG zQJsV^=fQApiQ;0>)W^aj`WFy~urh@A1qxN`U}!aK@d7KgM5pae=&Z}Jy+C8j0ULvk zT&z29w4V0u@=#nY;v6A=yHVNA!m#z^;-I$0CZ?lt|u96kTl|jwKtG7 ziKDlKzFnYh<ML8RFB8`6s1w}h%wd^lSeFK{HW zwnfX;9YU8ot2p5{xKC_yF;g9*peJ?3afNa5zn?qcqA}awg>|6P>|>6zGHnWjBReV?L!Vr*%x!TBjaHE*4d; zsM8PTsWZFPnXMfz|9DVwwk{0j>n$tYYxfD|`;CqJxb>R;L`X}R|KLij*d$Et7pC+$ znt>w`hE_0E?8o8drt-atul3o(I1o+t9EBW-L}o&+(%VFb-#F)6`8KYn15l)yyaIl# z#Z~5p8q(FRrK$ya79ANlooY2$KmT;j9YX5&_|)%pr@Tqi>nHd6+BNya$<-e)>ndyU zAst!yMB=YcWW5iMQEimC)K6D+KynS}zDZFvhtBf-|3zJCRGZhCe($~CCZUDZY+f*S z9Ak_P-s6S%^KN6uNld)Pv4tUCXl!FUv6FZ?0tpZjNJt1I0m5t3G|ew698kSMCf zF00$zs%QpcD+L%LT%IMDSrqvQjd+|-I}$*?mbn^{Eac(}8KJJ*7Q7r{2{786D|PYLHsBO#$|D8}gkQ_j)yO8BU0UY{G`dZ&(H%}2-G%$z;AqrYY4mBl^d3vwb^4t}P}-?e8eTk| zlh4usS$6(UWV6y=rbJw{!RUG306O(9Ku4YbJ^BnxllEwTS)=!n0EI zHA({eaGnh$lxU?9yk*Ywtr>j*7p|)4Is;y$QO66}9mgbKa0WC8Cnl#=PUVb;o|zzE z31_HKGbuU(HD7hQ*iIWsi5zojz7N>wt7x(>$Czg0HV2dOI%A{P%_`r&c3tAVuN3>> z$+oGH=a~O_;j2}m&7yZM_08A1FA3ibZD=VEE*HVm?9NFFHLI;iY&KKJk-YW_^1sNv zPg3x(5qXJ0)T#3#Z!dwL9XijW1qgBIo1ETUK%s+qoh=~G^7t`y{#4&(=2^pgYSkoT zent3IbFS~#qc3Q z9&Oa!cHya`-sL>BkVj7n_aZe^X>r>$endMz?OjlB}svx;kBIkVTVx?D3>VNheG_{D`c4sv3Y`NkC_v zP8ri8NoVNQa$Fp^d@vch4uC&5m9B69cHQpC(Iu!mx|n|}OIMgB{@r7nU|i&JSJ)4> zvL9^2q`h0m-+fB^{Bh;;a(oWakM|KG{>f7IXb1mnr~26r7^IJ{YH!h$hG^ba@)W# z3alU7ugn|(84$~m7$|AvpLpz0o!E%7Q>^-j(o0bWS&SDY1|-nU#!i?g@LiaEF5LTh=N{J9p!YRXBlB2U_hQ!nvWQ<1krTXo zqiGFHj5TYPnOLXHR*HfL(DEoqm?H4Y^a>p&)};pi$i^-a1L}ZfnwIicgsqnkT>=8czFOVmQyWU&e5>wpx=0WQKO%j?*Tx*e?$ zG#sVx7YxY-JmAcXpfv^_r$j^%N6R>HQVFgXv;n@dQdpDma@i06U*m{rn?j>tk3Oyq71 zHt=zv1A>EnPVRZh7+HtnZ1iy`Dk9xCwcyZr14e;&lOOVTdrcPnX8I|-Yn-L`o7urB zKs-B}DQNQUr982gy|DsRBEx@xyVvsJqMUnnK73S)J9rrPFVLb5rV)HNe!3jjD_c-7 z+g!{x)!@hJXIM{5Vb4Wb?Z>D8fsJ1@=LY|G0Mzw5aywbOjmH)kv2todq5l6IVS#9zxvd`1|fIY1-yp^n) zTC*K(Thxwf-m{PSH3i9INa(GaSsgk!fiwvXO{Mdgk!S?&8?{^1!cohY%coMXO7xs# zyO2ilA~;N0=6g&7@JA$eGSH-)H1qgLd!p7zY+?xDr4f_Wf4QMZI1orPF-t)h17!PA zvmn%&J}jLSvLh^6Ii8(`p9+GjuOm@#vT$H4P!R{B#M=8dOG6)XVi}|FBP>W?U=lS* z6V;p|4S0;aJ$+HIiIt|U_hSqn3QujhBEFGg8>qh?I7)W+Wi6_RxD)tewWHqDdq166 zE$yvrR0~|XDSCe~y%{zGEy>=0W7FFp(S?QWzM`_}E%@{ng-vWSEn$0nEe%yY_N{V$ zyUrG_oi$XW-L4nim#rOZ%{je)odxox99yCYMLEvnXcfPv z;5B?V%GPnP;%`v=rkcoM2^+;<7IRe0tIf3bX40rHXW{V4(yhc)NC)m>;j3)=SsNrY9Z&&Vd>daC4HVN-KOKZNR9ldnjy+94ru)%{oe1H;H`0!Rf ze61(|#6XkgenN9MW%u4N+?x&GE_<-a;#-D>9&f9+#Y@da;U7=bgRRT~GD6CSL`t)> z`0LJSHAR<0GYI>L+Y*JStb_X?&5%wB7;+ZBW+VhqsIc=!j)=~-g9#z$3-gI2A^uuc z{8pjW8NXsW!vC1QwQ#7;7}_KA8XZO*o=YD(oGXnK5<)w7vB-DW1VjcRe>HHT-0d*6 z$U75f49#NYaNhAI9mg~>l|h66@CS>0!6sfZ9g%#xGgpCuCTT>k+EZvMs6_KPcjd z2*1c{1>OU|g!lm+s=aV$*m)>LVJ~1W&TK|ZfoPQm9t#&=%Hj|{G_8?;$v6t}Ob)EB z6`rdAho)5mIifN4u-LRj?*{V8jpoxeimtHTDb9DF&K|k4)w|5zpJx_CZ$B)Ru0Y|E z0xi9OqG+lt)gpn!Jj=8QBNH2BNzsUYGgBnX`f5Cj$055lo3`MKfQ@@tW0v)=7`kfo zJSXCHG^mKK7mb1A+-dYnF9 zq`teGx^^ogud@D2)Ly6b?PB-q#9Ir=ZL)W-v-c~NK#ln9D8}}Qg+4LZJ6riXYY?zu zIicWy>F3j1S^sMFm#^@#)qD)pUG~m=wO6B&B9jlSoW7(3_|*Ti%)+dhL_HfT>|z6( z*uw@BdMtfsM0gbsuT}!W7p*5xwJ2d?&?>S`!UuB@qG9MovpjY=1qAxal#8Vr zX3nKdJrG>wPl0fFl1~=!o}Jn+mS8^L-i{=hhEMam&!9i1_bSwn7D0>hH?Og=%L0+_ z=#%Wt?V_ii{b(uus)c@q@Wf=XfBJ2asm4;7&C>tK1LiW~iz!gJ4C)fK5V7FkpE<}s z8y-Z}XrKrsm#wb+_#BqPm!_(4aTT0WO93amp->7gF}2*mQq=%!L((m^N`kiW+#3Ad z6L`ED$Q9I*Q|nEZ+Mv?(Esau}be5`h>G2gTv)x9Sow%XTo!QMPv*#Jg)afj<7qRK1 z#7f=?J;f&KI0!ox$z_o|?!9d4@$aWL=Nl-E!F*wN1F#&^+-kQ*{zQFVN_+C^;ynBzR^&@UueNam=2uLv&S9m^3I!&l3ah-3pvLt)}KQ%S7Jpk9>&zv&W* z6!}ZCsBdi^1+Ta)iSJXY2{ZDdgHoq4LuVLEokeE{AMp{#<7SNfC5&R6Wgw`U_zi%~ z?uDi;@gJ!R*o`nc2&nOuGO^CVKE>e?i9ckHS>y^jKzvHQjt{-TMCztsldw{6))P%4 zj{a^1Iw4Of01^|0%JCfPgp&Xu57+2y5^5%cRrH@5akr9XUNF_c`r&MKD+$0q41Q}e--tHw=qY6W(dU)uDT#AX6jKbok!dJK5QMM)DVr=cO9sCPT~qwC zY@vC!t{a8kZ2qkVRKnSPi^a2qwVkyk$}NFL#iP0H!9wAE(c)P|?vt$Zne4~3;Ul)k zZEfhV8r0M5@Xsm>>@(L7{@r95NLgWE02=k;fEA}axmpahz zgTKf$>7jjkXs?W-w8i39f2YT>pP(vHi!sjLo**nB1=^86{tmElgR2Mb20;? zP(<5F*489DTxkEmc$N08Fzv&qGFQKDsW@l>c9IkWFfb~E%CHQ{5;l3+v?k|#snDP2 z9VGt69QtB5_gD!8qMvMFKUpswL(iD z^5BNyxsE^ToxCO8sf2zr>KCHZ}rL%H)sulwpeG&qBI3 zSj&1K*`ECAM|R!^2E`3AcwL^e|F4;uJo)P{4U9)grrA_Jqp4YpPZe6&REepKIAU{^ zaH%cuT8UpXts@0fbH1K=XgmD_N=iMvXj2cgcsg0cZGGDf_ zVau`bEyaIyvPVty=ym#VK7Ck2AFiYiU!V^g3ABT0LDK+hX3?~RrVDAhoJ}vJ>18y% zhE1=d>5Vjfn5IwA^aVEkI!)iCkD#LcC&n(itY1|VFbeEFob>mgiTU0!Ja*xB95?9r zzt@D@DH89UcJV(Eed^%sQ)kQkzcBK0dLREU#9s35f-($w_tE=1n75p~Pmy;Od9IUp zHMA d{uftm>(0&0i|EID0XO8}?{CNbPPpQ&{|9JB0F(d# literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UCS2-HW-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UCS2-HW-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..ac9975c585ede6958758980ade161f687d40d58b GIT binary patch literal 119 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T8=9BtKtsO>ygO9pkUpY R&cJYlpFy!nMUA0J8303WB^dw! literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UCS2-HW-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UCS2-HW-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..3da0a1c62f19f720590b54fc1de7b027af100945 GIT binary patch literal 680 zcmZY4T~8B16b9gTW_C-zEKrO{Xki;z^rld0f@uiR4Ix@Y5SLOB2rjVUBlNpUP=hJZ zdv1(>g-o)Woy5N}MSq0Xx}bOFeWi!YTCQwVdLmXyM5o#>UP7ff4B)v+t$V>7V@)mi{{+VJB9MW zeBMkKX3fd;b1MvOy0r&Plg#y)x zX}a?kEYdC`e%><$20DDP28u4w=~n3;YfUN!NqxPZvI05?&-otvW_;5=!}nylUyt%< zl+mDX_+Nh*P#INNtw$dr{1ChXUIIS?FN4>>tKfC;b;>uvHz-@HZAgi;yP{& zWD?FQJ`$vs2>#XphHs|;qU{Wr(w_ML#!@oBh)Y#C<^_Wo0+Cb8kt`GOtNE+q)oMTu zssZYjYJJ(5D(B#;5O*QMkP8rfkc&*df=E%h0uh2pKo%j_;C90e5xD^|3b(hWWz&#b zRBl6zLD~>8BKP4&Aj^y3Hq)$ literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UCS2-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UCS2-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..c50b9ddfde9da7ebb2f67eba68d58fa2cdee902a GIT binary patch literal 664 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 UUp1g87AoR8lAx!|poMAw7d?}<%>V!Z literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF16-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF16-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..70bf90c0efb66da2a7aa19a820d766cfe3ef3183 GIT binary patch literal 643 zcmZXOTTc^F5XWcEIeWU@mZfZql}p1S79^z5N>bApgDXKP7qONqiI&*X4WK}=trCdA zkfrgJ7Xyht_z`$)Hfb#%WUGFXdH~!%YTOcem-5?-7jsfZ&dVHA`y+;jYbo? zQ7Gn3J-uJ9nA>GNxwBR*?G{V9idh&}jIAyGYQC(O%(7Yfcv(!FranHgker@*nx6Ti zW_C8`lIcih`Ee{BnKjtpNi`1=Fpvzl?yF}Q1*S5f*3?k}2)KY49L}4IKaqoG`Qku< zr2IqQT9x53c5B3YqmOC9#u%lIM~wufsbJV^KOvOJf`NbW4wool)bNDEc2OJ?65`;c zpP)ef6jJW+L;J(!l8eaH(1-h*q3fqC44xbu@4*4W;1a^M^}xVY#=%>S0%g^S|2rMo zWBMgv;0XDp85sT1o=4jFCtG%qf;F2tH(%3e%$v{Ku(x8K?N{7}7y(CCw>vVo9 z6cU=DzJBn720cg2BSyO~0?>^#LgnI-v}~-6~Uex?ZdBe ztS?FK`WnG{_A@qTSFu5??_F4bl~bcPvGuOHj!xVoIWwF(&yYCF9G%yUIC+ZBhD@9a nq0Syd=MzEakYUSZoypkR&at6$Y_Fabu${D4-0ek>+ADtn7bS_K literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF32-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF32-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..7a83d53ae70ca3d81cda827cc224ec8c5efa4f17 GIT binary patch literal 40539 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 TSv}^!0%Bau4|_Jjy$rZ_2%S+!ysBd@ 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 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF32-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF32-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..7a8713539491f51c52ba3a1525d181efd32c1f0f GIT binary patch literal 677 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 Zk@2$oe=xv)=QA%Cm7k5@(*(V9{{Wi~yy*Y{ literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF8-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS-UTF8-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..808a94f0fd9c3b3cb0267e5cfe4dced2e65ecb1c GIT binary patch literal 678 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 E-=u#IHvj+t literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF16-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF16-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..3d5bf6fb4ef94b452ed1ef0df926fc2bee55e973 GIT binary patch literal 647 zcmZXOTTc^F5XWcEoITxcODS8ha%o(|f`kCAn3~2ITnS3Kh_zHn6k?$pK!IXgB@lxl zOXDjq1`>VnBk)KzX@w86RX<5RfNy5yQNzGM`wl2!b8QOsDDF*H1#8XJF_8ULea zH`gXp87XylFgy1+o*0}kdG}#u2^8RTl(-T{8I&ws6x>*3k}QSDJJNt6yp{mv6cOqJaD7jFxN7$?&gjXDK+OiIXu z7k-$4LIi1V^r7?NV#&i)GL7D@v&hv`Hii#(54K?!p?enL%G%+^WhTI1i2?D-@c*5r zg#-H1YGNPzrJET0(U?m6M(A8WojiSc`a&qGB3Nz1)JIxtN{bFn6wsRVX6RsHQthLu z(MUvUMmoD71Uj_ubDtb-J8y+H3@RNIhg%{b7{-+#YC_?<=vV!H{q~XnJ!)ofBB&Rx&Ty_M)@* zHG$Px#amrwSY7yxXA_H9WA^tJtiH+xV%M?$uCjt|!l$_7g4}1w+&O{nYtGyyLU&bV oZkdt0&C&hD(B0!$_t?iO);Dsz=L8#z$9Zg|?0Iiv29(D9Ur3XRZ2$lO literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF32-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF32-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..09eee10d4fb4b9fe1e70a1ee56825a207ae8034a GIT binary patch literal 40630 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 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF32-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF32-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..6c546001331cf4f2f68563229f994b55730dfdb1 GIT binary patch literal 681 zcmZXSTTc@~6vxk*GdtZbrIZD%TpAX!R6>9P2GbaWxIrlwF)r063Q^h(pg^&$5{SW& zrSX*)1BpKP5qKn`1s-L7z!8bGc&6%9b|D2f&{eEudws-UEt7}DLB$0>@j>h8& zV=|jtu?=gtP_#D-Msh2Y%WvoMZ;N(zNSoZ)Fs||oM&2&i`A>DHW!uKk@LbZIdTLGm z(NkONGf7KI-5pFVJ{}t#oHjW?&rxXw6yTtkegGp>PH_Sr zg1l$QyhVZDYtFnCLT^oFUXhWv!_oW9(A(!&^*JXhRyQ;9qx7C)ZTTdNwWO2w*XBW~ GrT+p)28xXU literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF8-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF8-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..1b1a64f50d204b03ef0c5575233687830a1b053a GIT binary patch literal 41779 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 z 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 StUu@Nr1Glp*C4U(!~X!6rxDoz literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF8-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJIS2004-UTF8-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..994aa9ef9f50495a3ac558630b0234680be23c2f GIT binary patch literal 682 zcmXwz-%b-j6voe)ncZ&xP+*Hz(8|Ubkr1F5gEq#HZUa&TftD%;Q7LTz1&VEjKn!## z=uIJ*lt3aE-gw`5MK)VT^@u_4q(qZw=&r4_igcOe^qVeVGV=x+(Iywja zzTPLn-aqxB#km20(1^O*9vbVr-`?-VAGzX?%=C|Y+hO2<0VkXF)LuTsC@?z%y0f7~ zfPe{z%;~A`#ZeG^0V(#gN*vo=5JBP^5)md8@17Nw74BHt?5T3U13;5)R)_2tZgHi*Ph2gGDy7G|gsSPOPV z=E20<%{DMJ?9j6*R6T&|J%fh^4-C8pJx)~L2t=JkqP{i=8H^jOD1KDe)4!H6Kg^l) z(**OA=?yIQZ(hd&$^9M0{6yGZP90+D?ZFIc-BwQP<*7D;L>uE#d%=hnrl`#ds3jF2 o)m9j49|&se3`?fmseq-0Fw=K)Sb3Q)N3i1Gy<)Bm0aqFS2j0}QeHI+_hb#t%0 z^sD3GC; zUAp1EhZJd*5WDP|h6FltwGN67(3xiOfz+ImO_Kb2J8i252+IbZ1!e;?0WU)R-Fv-F+$BYGcZ0(sh`VKz#}v0Q zb1)ruSMix3xkT`{1~KwyQW0&XA<3=D|8HzL{fl^1fook!;KLwddO4Djcz>% literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJISPro-UCS2-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJISPro-UCS2-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..c148f67f5e9fe4a108519eeaace89e708a51f8f5 GIT binary patch literal 689 zcmZY4-%b-j6bA5bW_FiuTM!Bnkyf_RMQ;j~CYXj0-H=905X4dtf#3ogfzW^3DnSeh zf!=dtd<`$jB)jQ6$SnF0UgLt^nUi16nQtbO9QO0=Os#(8?tR>C8Bg>1Y-S>x%^TKE zZObuAN6nT~X&S}qcFnEVT)XA$j76=31LO96({P=p<9@ygOO9iVjn5Tl3iGAHukLbn zZ?;&+XyjjiqN$83 ztkG*eBzzyd23`R_0Iz~K!0X^H_!{LK;Omrs054Hq24AB5olVSX$`2QH^9BEO^J^E4 zurMqVeq!sRNpw;`XE^jAlsqHo^j&NcZ$Z_)?eH)U;%(UEF~wEF8pFA)5# zA&lHk8shCNn9?5q|Hf9bzll#(c%^d&@c=|lF2-_9Braz!S1y+|HKJuo$7=?5odWhVG zAA_ty)*%KV8xSeTeMpze7Gx7*n8`y36Y?0o0zX0ISNL5JeMFwXk0YQ6Gz5$UVR+Bh za>oebKoAQ>LpmUov+oh&ty%hY%B!SO;r^-NB>IuS(5Vu$=ykj^N1_(Fz8@6+0LGcP AI{*Lx literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJISPro-UTF8-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJISPro-UTF8-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..1849d809a679e56414f4e18dce8ca3c41109e84e GIT binary patch literal 726 zcmXxgT~8B16b9gTW_Js1`H(_H0)?8W@dl_~pp7wxk}41c(hm@UAPXCT&=0m1f*8^Y zB{3-mlad&NSH?>dZcLhy-E{PKOwsKR;4io!X7Xgtyl3WIjPyG^kW6jr%P*HQzB_?{ zzx%G=AMo`rCRNQB*-U4&c-l9VSV-!rq&}a~7JFR%tE;|?`)Qx9r8Ry1Jd9|Xucvop zXdpBi3H_;$C63r${xUo$uOdTF-gd2JtbyKP`36C@+uU_ zP=XCs_N(z6k~^P(XMem85@^@%6ewyyb6dIiRVlB_L1OJ4p7yB@tC%G$0K)Fs9@-w* z`fZQGtyZzXo=}O_+PW_H+YUvdvZPVf^yT&uQ_6j zDNbX-K8=DHv-Xptw>b3#+p5_kV*;-Ua`R&Z|5h7va~Gupb$LG|Ip6!gm77A>WlNQ- zJKu>(6&R5Z1K^z?qA%>O7IwI&G+df2O*oWV#X-%u-drubS40S=0^S1df*1jBh8UH^ zIQVrcqTo*O4v0yJDVU8gokYxl-+Y&3?q?y^A=2ROlGp&h39$uJhUp>V4a^$wCL*?B)}caCaiAiRiXC249o79G zsMG-!x6Ng90$e^8gT$B)I?ql%8*#7K{tj<$x&zJdplw%n2kF^Kp*%udL2`ETsS^4N DWh&!c literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJISX0213-UTF32-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJISX0213-UTF32-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..a83a677c56df6f1ac395d2ba71e60a08b0985e97 GIT binary patch literal 40517 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

ry6~E0z8>XD9~7$zzTJUQY|Ybl zQEm&$r@T#>j>5#v_#DY7uZ`Stu-ZniQR|$L?<86yEHEroO%wV0q7_B&`MB_3F!*R}}ZDRaflm@~mVVH-y zT=b(vkD~5i5sDMbQJmRMdA$KcaBdk|R_`hLU1H&w^>f>F_+o~J4%9D5#OFO2jQSKY z0q4$$zSQTPL2(@KJMW5_XkgP&7%`*`E{yR8_dparSoi#VXaXs1j$mK@~Wk#K+weWi&-F@i`mnS{NiR*a&dP8uJ($nW5cNFqHFO4$}jE7;qX9Zpf|6t;j2*Q?q?il z-{7j~Am!H#7_w{T7!+Q9j9&|I#?=@+cx@c$=UOz{eQgRB(zR*Gh{msFz))~)6>7M) z8!x)HFB?TcDvDDOocMKTj@qvKVw$dpV5qN0?nW^Ur)^x12;>-ojtQWWjyN>GV;)BrJ2KJej^%ME)|gO04B;J{`54AK z_TwcThe3`V1;vq+cZOjWJ0n1Jos$K@BgPiRLRS=vI95dGYD`V%dVU<`em(_XoIzJ_ z8aepDO>fNuWdx@5<^;UvW;B?`%_);n#By(xi_nUji^V-lFuXU@w=#Zng&^gdXE5en zIvW;c*EIB}YZltymADo~3WqM#wL(J+yC8V;u0tHP!3NKW6%NJ96D|7*h zNPiR)1tYw*zzTkQ>xhPzb?Z)`5ZtNT8^hA=ix+l>S@ja{UVy5*7jckm_bNfX-Mg$f z(BZZbI}^X{i{ZXKW^ze4XBotFL%>L~RjN$ENvr(*Ck7CCLJacdnyB?j#o!FzW2oDs3 zr0<;)#Tf|jyw?}q>J3KKz2SJMHxjhc8*N>LG97f>yBsX4cMYbhH#-i+mN^XBzKd|R zcLR!}i73vXhCV4Bh4T@3HGY~wN7mDkt#o7~9oa)iAWh~-BfIFo;M}>*Iq+=!tfw}J zlO?cC7N1dkOT1Lyk{C5!OI|>2sX1^!{JfcdnPdIe$-W{Af5tKtg~P5=>(Z;svFEV!WbF6r!{jK!IXgX&?qe zj>cDB3?%yCpWq|8q)kcqH?HbmQm5dX*?e|3Gqc~Boh<+T+|2Fn=Qr0kibgzcFf zVhLj=n_IIDYrjymw+lvcCzH$X=JIcgc6Lmi+1fI$@(V`ZF4+0Krqi-*V{CjeY0f^i zX8(kjcQ)sfRysBjpB!CIJ(`>toihbM-${85BoH8(3V;!*q(B4(aA*1`3k-a~Oio#s zwGwb(Rv4iFTfI0qB5n-@ZgdMxua0nDeOOI!Zs`C60rxTEOd)#z**mhtnc!v%MF-p* z6(b=k*xbiC@Gu95F^DiAH0t~TVTGPgUG!`ssWRhQK=kw<;&tJ%rBFU_}ZEEE0s7mb`wDO?Z zs;2R9lJZL$m-Fq1t@&KTlAnp?PiF?Eh zF|DKfPGRl}GWQL!Or(jDAKk;RQ&?G&{FMyD%F1V~&8=dUIp5o{@+uRg$KS;I`|>(^ zQ!SD=D|7D|GA|{g_gXM-jia}rFt5nCR}$!bV(1+TtoxiZ1?$@x`YQcDv9WrV#YWOe L`x{R{YNY=HNrj7y literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniJISX02132004-UTF32-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniJISX02132004-UTF32-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..e1a988dc9e80be9a0803e22d021b1e81fdcc5b94 GIT binary patch literal 40608 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 WYzZKilxEs5#lWzyu91adzbpV2cs2|G literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF16-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF16-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..fd4e66e81f3507b190fb2986a26a45c1c380e302 GIT binary patch literal 26327 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 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF16-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF16-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..075efb7054901b1022af68e723647769cbe1d556 GIT binary patch literal 164 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T8=9Bt9jqG~;$~>3>*2_)AhxfT zk9~fwLi5~Q1}+vx1|1$o21W)s^F|h%M0N#X#(mZEa~StkuyXEaWMbS`-#oX7aX+sB L>wZCNru|X?)N3(k literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF32-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF32-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..769d2142c03b10680800b3b6ae883e27fe04c5a2 GIT binary patch literal 26451 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 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF32-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF32-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..bdab208b69d287128195eccbd084c8cf4ca658c3 GIT binary patch literal 168 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T8=9Bt9jqG~;%025>*37Jz@Q+u zua=K}ey&3E+*}4O7Dfgg9!3U6208Oa7Mo;tpu8~SzUuiojQc8BIrlR%G488xo?FDY OpI3l&zo0eKeklND@-b-u literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF8-H.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF8-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..6ff8674af772af896d7d33c7addc37c57822f8a2 GIT binary patch literal 27790 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

    UjdU>!C<8eSfmt; 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 XDie!M@tP=Qo=5R?GKGx`n-c&3T8mO+ literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF8-V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/UniKS-UTF8-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..8dfa76a58eb720dd1992c2cc9abf1dd4b39c5a66 GIT binary patch literal 169 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T6PlOl9jqG~;%1@i;l%x@VcNc0 zKKADSxe6P;=Q41yFf!=yFfuSQG{%{?u-GKAKWdoFxUahTe-7im3Rcejj7*IC>Nk8Z RV%*Owz`9?sv6^YW6ad@#ITio_ literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/V.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..fdec9906621904180f42bd5c91f377397fd6cf95 GIT binary patch literal 166 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T=#j{(sKmI}pOXoN*Dkx{jjaUT-^bqy(L literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/bcmaps/WP-Symbol.bcmap b/app/assets/javascripts/publications/pdf/bcmaps/WP-Symbol.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..46729bbf30f3b2f176492d907fb8ca3f6a1e3026 GIT binary patch literal 179 zcmW;C-wMG{90&04*(h8{xuKNv0%qLpa><2~3lnNLW=^QFb+%;wBoDUVIgjE|#O#wbv3o&3S`2gr-Jo93r6xVAssnXnw1B!ZT0%WQ!k{%%Po}{NAH@>d0EGtm W&}LiN6j32_>FyT<6+0XN literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/compressed.tracemonkey-pldi-09.pdf b/app/assets/javascripts/publications/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 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
    v7R`Taz^CF$7 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%0Dbq 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

    !H1ZAV|(6is8=)Ne!ez0@sCsIv8hxM`v%I^cdj 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 z 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%0D8bGnWEX=&1U%Q%cSAF* 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

    tnorth zj?6}jjxK^%4*T(n3;J0jG+(P^>Mpm;XU3a1#J}~X`X7cp*c&r>nyz~X3&V}!0{_;f zX~s{^t3j^CK#ylR<<+rzH((c{)7~_Pa+&lRSfSBvb?ZwPZ#wi{ubA7s$wW_r=1rq+~=&Vq_=Q~-?}h#&oim6OZV#Qy?rx} zs_IVkab!+yTkx5Bqr#}o#Q(aH6;(_IDK>jbTm6L;^IRn0DbMRzZ?($H61x57pIs2d^e`T9=izzsNHTBQ16H?Bce0biCB*QK;3KI0oasfR}U7 z!0a3LFOD!6eu)YEN~>ZVN~0Lhh%TKfwC=H^PuSKOHRjS8y2Gn~=3*4T#k?YK!DZ*F zqY+}r0nfvG4zO@flBXXG{NgcsphYfEr)`|l*y`0Mj_`rKr#?c0&ofF1E{C+yLNgNH zxv8)y6vp-J@I7I;x1z7N3B%fclOu((_R|IS8qOkW|9Gj0Z>z)1y>Tz1om(F_L|&A$ zyf^u=t@11N$qRS0rO(g0&vP$XZlk*To}vD0STHy&|U$SacS;V#wSdb%&oTH zeUW5kA9KaRo^nv5r|rY*ad)rA_OjcrV%g4ExFC-TXO4DBPgzc${E)<_>B08Wdqs-w zu;26y>cp9lLI1QS%jWkNjbi=_Df`BuN)cl3N&4xGi|Bo^gYu39J$CNTOH+Vg7{NbFmnQyFjG)!A+| zc!!$3*NT>}W=A+JV|+dTgmsp(kW$qZ9W_b2E)puk#t+AH^Q9zFWXGr}d{e?pV(E4@ zR=ZB*oGxD7slk71c3Fk-aBFORu)+a%@8*!Ma5Dj{)>8Mo@KT1<1kKj7ny&{aCg<*S zP%R{x9!O}DkW&?Sq|3N;R~S7haYAh$kIAHgf?9rAVo|XCQN@y)i~Fis)2IYYn7`Nv z*F^`0H;BAWZ-ma5`j{O^x}++g5_I~ofe2Cb+w>1-r>ql4Q&j>q_MIvIG$Ix$N0$Wi zZ%A8s#ifFsY_Q(=$C~z|+g~dqXY_6gL(%Yc^i6 zXz4JMc;$^O9wKhcmVU>0omH9l0q2L9iiQ;G2dvshRPB6BC)uGA}3ZTXvKA61PiwH~`g?JvC} zN($(BtGT>LCpNB}sapdLnMe8|94;1U!xRnN)M41!_?AhFO` zqp#=!#gaK3ZEp%*lpR^#=P@C2uJg9R_*}F9afgX-A^C@#mX8nFxS^af;`WZZ#lIdM zQSaBkDR_g!p^LAP2iedRB0n+o^x;e2E~xP3fOIY^`uIC2|I}dTI-e(8Be14GTOY_F zASQ7sPdZ(k8~0vKGI*o}Di=ELxy?=T*?iH3cBhAc#M9j{>G8_!mVpmc|ec3(fcZY?T;e$#*kwO1%}Tdq;=Wr5IIt7qnXA!GI;v;A5 zkF+>NXOG<4W~PTNgJk7OshilXt@Zezw>af2sh4<~eYx(ZSAe6i`JAvsK}mi>63vA#@ANYB~2 zu;Jt0L46B({l;lK=m9V32cDG3-Y098JB*`Wk-s?98Kouf)$dvo%Vd3?R6JCnF6siJ z*z@rd+cRnVFGJjWRE;JguRMRvbBeq7c$)5&N5m;Tln@f8o{0lk_hxl*-WmhiMU`65 znxYIL3G-o$LuWQaD>C7}%%j)0=w~>4^!jy=59QV>X<`x%%9Pa3?-}HHHtOWnXUq}| z)9gje)0%l?9d_Hs7Z}0)%2!!*GDe6uAXsKi=>+Wj$@!kD5f3B%zGUfHlSm6?b56&$ z{nG)pvjtB>n`Vr=v<+lq(!0)(WM(5nzE#;k9tEb`=+)<`#HtxEW*-jF%IZ-bOgkN{ zi%wK5Yd^G?tS;`lAC-b0{LoT@{+`hzZc6iKnUilFC4Kuj&xqI)v41$}WrLVz^W4pg z8qb2HF4OBA@yzQlI(vL(&v;a=BA>5~rqm9(~)^bz$L(l+$gd3RWV`xfh0ENuD>KZV_su9W#qFLm-$=O}IBZ0kN@B!yDQ~b=C(MdLf1oObE}uj@3z>j9Cs;W zNU?jM6+~uCITYqWL}4Wn%lf4*AZxo@Y$QbGj2V*4C~G$4LnN6R|Dnb9_@j63vKrVQ zCFZkQA=Z+3EZ)JcRA1?paN*$nt7b!*CH;;HWCzehr)SGFke2Q5bWXhKR!j@FtQ|>N zoig?erQkVxZg`qcGR+-fZq9C4I76glcGsG99BZEZqG=gjE5xspUB@QT(H9bQFhLJS zhH7K(IDDatSoQvW29rv3E6@|A9=Kp|3VS`Fu)Oig_RnkE?W3yj#^;k)~jsHgHr7FPJX(6q)#$Eg(v76<@vB|XiK`nQQpxJ4jbvG@7o=tEUzvQ^# zioLXSn7k^z%%6Q&`xBRmp4vs*r_13dw3WMryxC6AS=K2;2MBs$sw)wJ1D{UspKOYx z&b|~l-s{IOWGQ-u#;}wj^c3*i*EEOPTh?kuLgRg%m0y?*ORPj)BOY98>y2SJJ{}s} znf!>%z{g`^@2zGAo@q95^oXDt)s7*Hq|`HS3-rDnjFip&VnF4z%3&oVl-DFq4X9g=>chjYz7_|ZnY4jB2jXv7CMa351jakJ#-XL!$c(uVEwAadj} zi>kk%Nl-vYXGoSxa}b?V?#Pmma?8vDjyVk>be~x{_=PeLNoYQdZtR9GNF84xNKhkStdx5j`IyIvX`C zd+Nz0!+5?(0C= zbVAm4@ub|wSWDw3WAg(KA5&@bb$Pk4U&>R-BckpJw^9rIT-F&OdOIgH*}zpDwcx>a z^;#m=;~1?VVAe55x_T+DU-}$_3ijK4sqRkNZhN;mQNfqjxerg$*Jk$KrQi2$Nw3ew zYZuI$m~rtMBUi>KiJAM}gg3dj&-b3WP1Jo)nr(ZzPB!<+l-T39nF7ZY6b`L2#@u!| z_M9m7v8ulPZKVpuj1J+3G0T%-wTJJ?-qFg5w0d+(!?Jz{(~>)@{h5hy4w+D0_7b6D zmQfLMIn62dor9?XnWFVqlg2d1JjD-Dcai#WKWvPSP(<$LKPfZ$?EX8E%RHr1QIcWO zBjfJXHzp2ib)D2Www*)PxqRr8y1c=2lW@C=-tHdZBzo(_ecGew`1(iT_WfgU#5?v#4jUC`}B&8lH-My9Bk86C$J+e+@< zVEY&vvZGHIPP4^xzBbLt6m2_V(zET1M3sk?2GOVMcSAU~?eNZN3(E1Ont;n6IC1{o zKF6}$F&b@e-3tY-H|}mPy!6`B?Wr|ml+tw3(8uRW&(Es%>y+5CJPdllAUoW~oL}^O zxJUn}*^;I9StoTES1o&%Eq%q)k~=pSZ}i(tIC5|M#eKiP{5e7QUokEixS#o8`wM8*0%R&#>Y@a#2EJ zZl652Xl@%1=ET90>H`kk0wy~SZ#*bQ^N%$#VTvZ9Z9 zWXp@?ACKMBZYqx1{;fcYqVt>7BKft4OFpfF&-4Zuf>y3P^3iNV*r14-Y*!Ls^{m^n zj)l9P=nUuz&i23h#$?97aBqGe`Jo#O%PMjCF=6?H3o$-VqiSA@Q{4x)ab@@}&2pBnF8eMo z`K}h1ul29auMPVyY}a2~F1KoENR2sesz&qi_}aXAzm)jX)4r>!xe|OnE4||0D+~Rr z3HbqQpToqw?wK_ld`I4lc{BdWXE`Eo{!_n~ciAG^*FkbEa}rnvR^7iask|hWsNvsj z-9M)GW^G{i+Qd}3j}@PI-`aAtxX)DMn&_vb!Kt;uG2g|-4&UjqjQ-Vcvngv|I`!YL zr1;JQ|BS7Tmap2cc4U;Ve#q!w16b^x+TFLk{A~2S!UqxDzFDyTnr~~Crn_=)Em&tS zMci6wj@nlhU7;t=)};%rT5E1t{w%CnqimD0;`_c~xx0LIwo~7CWwdpzBg6OGb0e?X z1BHj56s_rZ4n6jL%IZ7)ywl)q+jenH&8J6w)>>Z=J>Jvuwb7R%YI(Hw9^~27nyBly z!GhV_g+>02v-!R= zYw!0=++=wxaA=^ZKB%s4WtQz;i2d5IroBr&#?@gBWwu&Qv?j`{WNK&Poxs=tow78&%O$kN_U+R)h)_&rBp5C|3mhhkw+Bnkr4hCmJi{{Wv;v^V)5J|ZUe^KXDbe*6tO z!tzp5l7>#ECR}g~40ush_t%G@zx|===N(MBgk=G?XoS^VjGS?#x}%Hf`WrOD>px=s zO)g;tS)~&Sn)_gqQie8`Mvj&=xNnj+buxCebXb=N90OnfJv73amL|>?P5_PgPRm+4 zIyp;O7y=)G(+Hn5{6QeFG{Wlk8g`b(_9mvlr;)f%|Nh6U^SyB(Cr$0loh^Wmp}zmn z?|f@18(Ene|IWI+t)V%9+?RGpz6S zQNTBR#dUx8=TU&Q_yi&-0k!z+c~o#CHS0Bh?ZP(m-{mTdhm{oL|} zd`n7-et=g%c)V}~1f)HOLJ8K`EgAG*_hcLT&uHvCDXEw!UOC}$%MlQeb{A%3(XB0%}5Z?QQ$2~_tL7Hqr17HMnOBVZ&1;B7TZZ-l6(k#QU1f~HH&@GweU%0ge zdjsAj`pY#VASLsAcr+jaNw|ggcH;5(5m1mgfFcwwaY@WSkeHwq{+l>3a0J4WjaLr% zJpGNV8=*lop$P>9Y)eL;P%ZtR5()@>t~Ly$5r;wuRaRWa@DE%HI?lg&DgJ|M4xk`M zrtsYt1U^R`2GXiSVF&^paoCp3`ak6*xU;iMpTsLId|o*Wr1?h^e4(~v{eNlK0M*|~ z0{_MA($O8V#48Yd?l%mi*@Z(0%-JDe|NH*;e^9#r-do?c(>-~J_k8dL0k{+dV3-Jn z1A@aN_?F<{kGL!UHatS$^YGyy!GX{+7XrQ|5C4~B{&<-SfzQi_gTw}kaK>V3tgL8z?SmT$~t7rpmnHpZv;0rqtARz$? zAv9`5YzY#6c_~}ZZQmm$#meE85I)BrXSqOJ9u%SVHJlarFRG!#PIm5SykfxTydd%q8Edd^{@?W`DrPH))MfAr5MMli1Z&S>1PgFW`JrF_DW(0^b7;RACM-m% z9Iv$SdGkn+-aHyXsLe+H8Jqn#y9EF4V9%Ln!~xwPWFK$tD4T z1a^YU{-~|vy5IekCv5zeX}|-E1=1F;QsE25P#{qR3MDksKy3*{euZLxCSiQx?ge7e zeR#!$FCIgKga9a%(7Xux&p^P0G2Nf@qd#9Dmbi*nR``N8G)Oy*CRkK|$WDVWMio$q zz$LsA!54+0!P;jyj6hcny(RnnGX>5$NCG|?^zR(AZ=|GhIe2A;FBU_CG}(lAf1tNy zvwyj_f5Pedx7{B&JN>V)h6ZW832t*l{~_BACXM!Q+Z=I#@~&;;x1{~4?PA1~RjsvM|0`qyu_BPES; z!+RF%!uXf7K!P5ih7lNmBmdL@_0|#gkDbM5PIeDje4@t1TAM@-5~9#>0-NlS|K$nk zKh(}pg!-?`^G`Qt{V;5w#UR@1c*TgPT!I8Ut4?sD8@aV%^P4l6o;ON48Pw+%tNU*c(P(r&o{BAEQ{#|1=E=9fRB7zJv2wqcwgl#F#_@(53wmS50 z*A(E=?3<(oGIL1q)C2NQP38YBcLz_*{-4`Je`Wms{nP_4(f_Xk1Uoj5BGg^{Lu2z3 z_7s1+S?dBPJFhlgGleg>06QiRC3JHn@_&0y{_kF;zd&&)1%~Egn)en3D64*(8IE=tLBJxj-^8eG`z<=-P97G}6 z#CT2$jw>i`xE=WB-qkD&O)Txqaf^F!X<>Uu6DKYmE+mkCKmc(W41z(S0B7|l4TB=! zNQf?tu(Z9cp`{)0Q3w|lAZ6U0fkzww&EVHlA>gza5q_NCt3|&v_Iv7`5XOMf0|*9K zLI6bo2|ZvJ#Rd&pX5VAD-&y^_5vd{7#xYh0>jV1qH8P+@OU?9(5!930$iO83~MMf3<=l_;5;D!%5!ay zV2^VX7U0TYU>JizVQ@4MXhGpnoStsbpk=lR3vh)qFsxybXcTb40Ly`a08zyc5;S9* zkN{UU1H%{$2IMq=HW4TS4Tl0r*bN#qYnzY&S7!so8U%P48V1G%XadkX4*NlYW^5A< z;3{Nb7~AlEfZi+^;Bx#V(J(9)Nw72YWA6TUdj=K-5O6HuT^|Nc5pX2e*TesM0i<^R z7}fucxu4ILTYp{%A;uPg0+bW5XfO!yq!&Pue$rrB+k^wS(ifNmg`v>^1OSEu1IHqO zKY4=&d)I!9*8eUwurUFkooEQK(RW>H2*85;q`^vU6As{tTA-wc1v2Zvm<$XG#8bd{ zA#8&N%i1O+z?GlCu!e#G4|4;Gg@7Ia`Ai7cPZ}(1n~(rkuL8pw5{3aP=Ic%*7JvjG zl=?w~zH6JX0Jr}c3~LAkV9M6xPBaz>ryyJ#G-%c~VF9jg1%@@iL4%^!ok%EWar@c;`!qOnK-4}dlT;EAGe zuAeV}J<=a@`@b>wm*+l zC^UAR#UC_i);7fjxQZ1R)-Xso7KK@dc;F#Q2w-yL*9&0p+a^T76}iAL2V{c~&~*nK zNEJZ=`EAgk<+ceCaK$MwtRdkTAVS7Pp%CCy0UZ57gO%DQMEJ`idI(VjTtadkMv*0OEF1Kc)eFsuRS1O%b$el7%y0vxst8m!cCJ+P|l51I!mrt1s=Zs2b-PXrw( z3DDOi35z(;8+ZHy@wruDlBvz-#2KmtZl-Bzifsl zL~4K%0H$o+%l)CDKWNYgx(N?(3!%YC4S|6Ieh`q&1uDsaoPvB$(Zhf?ZW!0E7r-6qI@&?F{(=X% zO~zp42BZ|QKur(Gg9ENO5V~y8Ams)m0sfV>zpT6^#OT5>Fd&f&+%^mn@N_SHIJs zS=)pMxKan0y9V%s!~ow7WOQK&08M|=VAWs~9sr$G;B*uyi2^+o>nIAiRzUc@L4%gs zCOp6`7zQOZ2omtUfx8ArVc@`>ga4pGv$hEjfJ`<>sR3E=^}!S*5c2`)$sZJG#x|h= zZs{->nQhc((Qv?T190j`D;ov^Xa$1MaxLn|Bi4WOasRTkk|6EG0Qq>J+X1Lm0h=1o z!2iF~U}g4WRQ-3>z(xi@B^0m}z&%3)9tV)w+@L|Twh0OTvb~WIsR6qtfYch!+#=Rf zej7As);1x*U$!92xOOKlSt{AC3mLAMPHN272>ZYWSfSPzkZ&|syu2@3!%19zYZ3>pF)A}&OR z0U*CYgO=JRG{CJh26dnSK0$#h%X*?2ND=|y{+$NR+NRh5x33rsYrtLxBx*fVgaT?U zz)#tr!Ls&a==^u{0TvGsxW4N3A~(=126W~Aq(R=bA5-eTvG$iWTZE_qpq)T$yk4V% z0kIGORU0%|);8e*uFSE1pa3Q!G4P*xH{cfiQje3ScIM6&Kmz`|_b#l&1&lyT*f^Uy z+8H{VatTYDx>_2WsvegF<{B*5U*-~)wE^CdHZ`_4Fy0+(f-gfnA4r_v$5?hY zDUIZs>59j@e75j^ZN6KPUb`U+(f`ge{qtoV=1&Jso*{4P*6(o-qw#bPSDs@ltt5q8al$^UW~^@BE^tcGF-S8}f!k*q&T@)ipdF zVN#>1evmU_CS2qL3#IAFexJiGJQC@NqS)xMs5`oEd&J<-XYd=TTJRmQ)BVdeLcFGZ z-ml)e2(H~Vx4mx8?oUp<12u(0@U~rL-!)hvvu&rx$wMc#6ZKzMRaKAZ-(qEYr_0Jx zsx=tL;@f(jxj?5z++S;t6a71?JF7}-@xo)Yi@GZ_UbYX)hN7KX@6@DN>+jSwi|nW? zkO+a5rSb>aXTI6yA!K41JH+yJAXzV zbM)W`oyNJ0Pby1ZbMlJ&JF|-1&G;9+P-p3_*RoR#US_3y9tjCQEMom&Qe%6vx7F1* zG>W2+@=|QA*!n}0N#E_Qj=6P(HnqoemVeH`_)cGgyr$XJf&MDtfVD(DL)uORVqv>t zLE$w^>VC$zD2KqCYt{PMr1X72w)=;MY~;Oh8@M+N?e~X=%i7yHOPe|wJ6bw8+dBdZ z=wxha=M41Qu1_Z!I>?z?np-$?0Rtnz1QPJE_4kB;q9~w~HiqU-T)^71^`9UqY4463 zO%ejKl|aA%%x)ks>jO!^drF43fHo`0DxFZ!+y|4CGPJQYa9w6D>H0xZ)1J@#YLnrnA20)-)g;GJ3?3J-fI2+0|%?qWGo0 zcZJG5Vrss^={jWZWTP=6hq?zcrH#1*4kqPU7R@=2GIy=)W=TZ&9_ZHK4SY3g?WKR`b3%fiK@qwm_e-9o9seU!J%x!S-$+q-fgY8r z{-oHdJ{4X0&h3GN*tH!rE1HW>UzgQtU%DGHz<+z8aG%JCIH?`6M}V~7XKK2N%WfMvSul2H$5vMVTtheOnHHM+!vsRY!G|Vd_(7HR7}CptmUvt{z7)KG2c~PL^+$ zOFRj`^)mP2u3PSr!N->MVyGhMgln1ZMAx4=AAYO(wl>d!X}V|Smx`~p$1tDRwKK&a zs^OMGp}L^f&b{uTbAn;}4(=Qju{-;ILLv7xQOD#VSFwcJR&p($gS#qJMsCC>&dk}a zl=Twl`gYjc3V1(|<6E4t7;s@?yc0Dno9^CjA?~{O)Vy2qIj7i;Vc7PzibmbX6z}{W z`dhqgin2~SZvL5M*H;dm+#99`5=a!|-;NJmV<@g;w!6F69OJP&tY4P&aeGOjg8nlu zcj0Z8%q&7WCB?oT9Ey*!yPdx*E<5|Wc|YNgUrOys3FJSm{xwzC+9hzfo6=$qHJ+FJ z{Ddy!8JfhJODBTk1Ufi9gd^q`jG(@pyMkfx+@+xjW2vt@_e6TzW7*? zA%}WfhT?IJvfAd>jWnhe6m5ax$Y<72&?}x7y5A7D}XsDLts#}i-gu|a5*1$eXIBag)X zQr+L(-Jh!aJdA?U)z5&5jq@Z<@-ejNIq_vgbrZP4mr`U{v*U^hk6pBiEp_bb3Ht$x_{slt9Wz0AzU{J@uqjx0Q1pJJH%0prTrq`(%8_zD|y*dJXdTM zX4Ay)w3ubrCv~PDjV?Gm(?l9$B-0_sVwJY)UUoK3^J;feXX^Wiws4~Qewq12E*GK5 z!=+^*W+@YPfb~WJg z7+dh|`jcfJF{Y2z>$>IDw#!GIP0!=i>tt@ElqxdZ-<}uybV9uf<`-~jXz%%M(vN#} z?YfKwh57GrAWvrACZ^T8?jBjBtKjPpzF(Z&imRSmgH%mJCXy_acrlv8?{(%L;UK2l zd^BEu+@=v@;ywpRKvNwF_5(4_#KjwU- zJa$>)BDIND@V!yUP$jWQOH~N(ZeAAuRgR?_409E}6lJT7A{Sc8Wh(9HC>ICc(X3ur zWD{H5osW%=*ld$B8`1p0cn96zQPSJydT+Uxk`x(!wP`+bkm2ON_? z-ml|ng@vy1h#q=={AtOXrD8DOm|F~MAV?xKoc8W`SkIx7^8onN`Z{UE8at(;ObX_{{?Z<6#HTT;x`_oxe zp`u)p$PcB*yZL25TdNdnP0<~1@AeY&^*+y$)6iYOc-bm_oMZd*V1=#*b?r;j&QG;7 zI#aqwp6E0lY!0WJo9TPoFSYv&zrnNY+!lu-t#bSPo@PfB2O{`M()$m>I# zm-TtZrS-Wjt@zC6-KNt?bUryh(~?~jTkE=Qyk0UvTrV}BGqBpQ{7k7>ZsX1qZaPku zfi=9e&6SOg*+=(;)rL)Y%)NbLlA7r_I+EL)bG55X+{ed?OmrIRe*SakSN6=~Ne5=iCD@ON#K+gZOq88E57W8G+CH7B*1VsG zeflhHcOaF2lS$bd5+4M)qHMKZ!p%IoS=M7;+DaahFdcgRrnL6pi_Ct@(~k0LY78q! z%-w>}=lPY?5%6e!^|3T1;Mb$A-<9m8rF^Gm++xXkO042cGKbijHOd8U_{ zue-#3jar%9W+=9+>rV3B)396hJc$$1%x{@^kLMQnQLe=Ab?0oplC_KGc>GgLU2t>& z2iZI_zuL8l94kR_E$NeCc)C9k4~dKOsn;5=%Q=Wf+8g7VBwRAnjXYe(cR^n?YM(*| zr5lko&|VDU{agXxYveKEy273bqr3Xdk8M!n=2ATK@(Ze`RrHWgiQ$mXE0J@OqI^V` zOrH5OvQs!*Rb7kg`ShNjWS_a$v4eJZdxJBF$NgH@9KLbB=FD2Y5VcC2*nW-)k6qhH zd;zP(fOpr88IXL&7bbmAjuLFv{$-i#KVj7(yH5`tV+h#GZPL$6eS(CMJILlD8ME~B z0-mcRWoy|dT_~w}4Z|C!zv&-~@X~l(yiM14@1AAel{1zfo}7M|-?i(~^=kUT;MLZsu#IEu8+ByDHR_^eRj;29;Ems1a5v_?^nS~c zRMkT5luqjoh580l)!=7sBW51gBCa{ygg8D|DDAeoq|G+l@Jar_IbH~J--^|Y-*M{T zTQ|Qx)v)Y}Diup|GesvqH`cwSbtLcU?xgbw*_kY}k=B-;(z_Q(cfFl^69O2=@bi~B zJrXNj9{9Vz%t=n0oLFh6{a9Z(@g_GuI+&KOuOxq`x~%Le)!N4&V#{U_Ub{p30$P>U zvQ!!pSuW5IoRU>hycdJanB>r}jrimY;}Gj}x%;jpJy`HcOHo`b*BO-#zu+da}0`iS;K)dZeMj?2hNpVF6|%3koA6Z0u7&r2bfx>a!MES$#gXvT0D5IwEk zE;-^|0e|CKVl~exvOM@mH`{fvy544bq42h1U^%AfHLrj~uL`%X!0=l6+U17vbE0#F zUX>{!lcRYl^dbB7%RUa)K<`di?eWY_G;J3sRJ12sG;hDOt;Fg{OG{*teszs&g>5!z zi#=shWkz&J@1*maJZn__sq70BVQGSw(o(m*u`{KtYpe=UrH3k9%jn6Zu0o~O4Wh2S z+}E@1w#aSQiV^P8#so&m#a-OI?A)K_24>td87t=5PdRuz^L1K2HzP%~EB%Fy|6>8f z^}$b8rpA3F6KhKeyBnrtQ$qs2U5{$Zud?^%6yyEeUQL>@Iz{PA{P6fd1s=WKNGSnz zwqJ^iFCT=P>Qbd4SaE^+-9PV-=&mO?{CX9c$s}aSA2KUEPvvc|dMgN5Y_v~XUDNM| z8z17eae2yC+}h+%Rr0~zY{WRuP4dCola;Q#)}q|~=>CgRRA1VA>loLFyl7sCzO5RB zbXSRqjqf;SKnJ7SQAwYN2_hT+e4FC-73l=QM#nvr_u4EjR}vR5P=^>EuA#li5LQcm z;e)Xtb=SLdlMvEOE(Pi{vQ+hsl1$`Oew;*oYAttIpOGo>CnsCpNq(rt$NeQ{d)T=; zAvwOZQOfQZL-xY)vh+vSd5PAbqKEfaO{=Q5Wt)|q%27D|)WO8egE1f(qkgiN*)MgvFjxElM#hR&|b;0V{W)*weqE*uqahS;2q$@C{PJL zbfbSy6F8!c($BLFd9OH@=hE(MH8-ttT81aR=F)KJ7gYuHiCZ2C9g`x?oJZWyA&b$b zW~whekz=Fv1(~NBB~~Af<{T+q9k6^c)t4V*wO}D0J8-78i-^Ols~~kG*nHNkcpkAQ z&y~2}%Gfp`WV^GF-0tD8TJYkB zIlBZC}Q6dlnl3WI=wUu+e|rBl?ekw58|Z zDfWQoaBpr&qY&>WOfn}lUcFJZZd+T^c`tfULn0nNWBdM#kA>6zc`WwB^YeC5W8%r2 zk&9+JtY5}no})V8!@*K!Do(^fJR0z2KvL6zG$eDUpCuRdMXqKZsxZos%wfg}ipYl+ zcPeFoBnXp51vZS81R(<#teqh_6!$@kVmr~Q3D({2h7m^MtHKS=TO%{UA}7>7UsUUR zXc@`2ADfiKt)9&Ec}Y6-=^%07t;~zcrzNl7jy%Q^CL<|P9!0t8?9p{V0#>4YIzjtT zL?auGzt`c2Yk@4~b!`u8ZFNN_Y2=;aQ)_N?OFl`}OzBW4yxD5OD8r=Xw3snLGC3E1 zjf=m{B>iFMuIlj@5s3Esk}~PG@U}-i~{q z?qA$prUH`36SJ>1jI840O@UbJ`nIu$kb-h=v zUPe@Qr^I8GmKql7IjaegJFzC@*qB3oqGDnFkyCe@f&9X@kU#|`wf%8VE1w_3xTsmr z>zSoAyB2%vmxaXL_0UsWxhTpZPuk}jn~`7KYnOc|gfWf^JDj-KZt%sw{Hu0HRsOdj z@A>KJr@E~f1q)AtFUajee|fWWENpw(RA`I zva!R8{M-w-P*NjKlro>qeY1!*r{ebvsBkZ{n;qH|(mP*0=Q~PfI^6b={sBd4sPQRD zs|5CK6UJQ-I_BzIt?YU76W(?G>XQz2{hh*>MM7;)1tmRUC`#9~vk#XfYh|f=mqnw% zL`JTGn&9H|^BoQAjYkjwEpU4o*5&fLew?Zz0X7I(M{Tt~}z?J^#qT@@4 zg58~q#_jvFv3FE+Ff{&I-~OYOj7Uq(At3QkTFsgzd6%AoDvRs|S@`}WuB&`?JXepb zt!2DT-lh-^nVF6|TDwRjzxYYPWv}~~=+UL(Ax`w_|Hs=`1=X2gTjTB!+#$i;g9mqa zcM0yno#4TPySoK<4;~;ua1QS7@_*g)_srZo{c^jir>LS%af%13_}1Bb+4e3W+IxQA zF;eJz1ai0U;UI-v_4o2Vx`aW1h3GM4zCw2(f}28?XqSP+j}gV?B9C*R#=6>$LxBn~ z%cCDU$0ZyR$6Ej=h&gcFhwF0+q#oGBWs$<-P7ZH=66Wz3Hl)VbhNAIhEH5jvDx=LF zdK(Z45qs_RNj9bdH>FXOHEF_>bzhY=cf>IcmUxt>JNJyaFI-frAS%*3SCbz50!N%S z7bD!HSM!Cqco#`bldOu8t;P8MN1g3bD=m(5YQYDnpK`A);Es|LLtCQn48B>%qFbClPH(fT_Hv);{3g?qC>~6$3feF9QdEz}6rZ+s zIRP-B&vK#bkez-;^81gfwAcfh2?v&Kiz;2`)}XNBeU}GzVwX(qw<*fTgw9h0^!)v2 zjvRW;*2_0T35&+SoILcr6sjg!?wA$u^HisWmu8w(tZj}+&U|#vvoS+Kd?i_roxP5? zycn08M!}`8;@j!aWaONAn-)X%(Cu-W)n0H|z3(_m^mMfH_`cwTK4-Okb^6>nZ}8AtIl7Y9bLd$Un~rJ*3aYi1BYqe9_1|k@M7Tfe8aTX*XQ;6rBzEd zbdCFIIUnMR2>*U1RYkD&bmB=P^IkPj@I}KX7}S7~L+^@W3hyd@JCCPvMTpk1?b)_c zWgv8wkp@q@L*B8miIT$oAh-x9=3oi<- zYcUt0Leb>R2&iUvmg#v2Tvm;cQ)|ZBtu<)6@6L#Q&n-=z=8(%~j~X*Pc_O78dH35= zTbR}kd)cmvUCcR7T@Basxe5lO9r$@*ACI9UbB~jRBCl6MAstl7 zf2B()wnNI$!3r{(YRjF!TnLL*lKsRSH;WU>(oLMj8M;73J=~aSNE#=K8D1(FJ!xU* z89>);LUJ`iw$+h88b-2e*7XtfxasND=Z1;E@uvSja0hV7{eKz&FzNpRJna9Ytn&{Y z=8r1v|LfSn`oBuM|BksM?H}ZTE9Ij&9A$7#u$rl+sS1`Nzz;wPuf1v&y+@`%$DP!j z$ar8v>obrl+;f??>P$#@l`Q6c*!kv`(X~d5d`>9neSt!R;vd`X34@^6!^`3OyqR>S7lF8WCg2)E%%h}Jt)oQH2fKUTSL6aHpFEiB zFI4;`rL0ih(47xGzSxGJlzzHU7>nnBvz1_ABSa{}IQNsY0I3ItTJeUPes^6_WhJgB zCzHe0+&SFunQ#ciK+=(C%^c4TLb$I;|C~yuwyEXxFnJ`k^ChAHPknj(jZBhtrFwZX z6T+hE*zB8t%eq%0Ayx}brD?gL@szUbpKnT5+AFZ?rFbi(+Eb#}CZx0%UFV*dnunNizrWBH52MV%&NN_G8E*pfL<3Ug4{QJ!`GkAcyNmAm_E+eU4M-2|g* zy%DO)99fzAbR;V44b6ukvt4D_@rr4EZd8yrJu{dN7IFr*8>j`$b<*xEFbjwycn2Qfg%`xKYo9Iqvdln->awC>kFb9b7%ccp z1B_shv4TH8I0}R=io?6^ZLk!`ep@)a5Pt9*C~mkKs)cm;Z&0AiCa+Sz0g038ln%kE z6xf9cMl)Wn1-jIp&+S?^DTF?H^w>f%C@~57{UaX!CrrT1&c zoTk8%7sq!HMO&f>n)s6!MGCFP_vuRc`obfyBScNkMG+EZxxc;n8Bk&FV^&}=8``Jt zN@1g|^uW66=dvhR-D*_LVN4Ce#v81)V**^TrHCFI}k1f_7eFknXd-1y9N;? zF?XA7gj?qq2WYZSe2Ctou3(-JB{+fI0afcT%WfMiQIhcmN2F5mq=r!6FCG2mFe$}m zkoq7-w2|JVM9+0DN;_HZYj~| z$D8vAUzGRM6p4|iVI#m`Nv-21zP1x)WEk@(DfPvD&64~;d8J8-^+jwr_LGEXH+%&6 zd))A1R-Qg;EF_8)`9XFybZ_=VPzLZT=FmCUQA+e0AFn+twHbG2T8q9v4P7-mg(g6x zWznb}$kn_0t+A#z#>d5kJ>%>xSVYeR@r!A8v6v3FVHav&_ zPW8aSuVKCHo(1#M!4mo5SpE53c^Fn!A)ID8s44Glo=-f!9G+VJCBT1BC7cf*2y)Vi zD_HIauvN*D;IhT&j zIlKs5PQEW{Dmo4Ih4ZcVjTm>V9Dh5!zk@#0eZp-2b=x=^(XEnn^g-1k`W0P26%a|EB81ia+B0`rTV% zi`r|~x!HMd&L(jQpE3?x$xt>;X=nS9J+wxL_w?5JmyvoQB2V{ZT@ z#;7ua>4^8y73q6a^NvLKq_^#eH+dRW$70ov7#+^=0+MAF;#V%6npLx;w1poSq2p=w zB+FpKDZ`<4BB^Ft+QH){i!ezSE<*A=(M}qn^^u8=Nr~sWQJ^$_3ld{cq^cpL3^c=%NUwfL~>+$q#5}T#%9JhMLXG7NDS07#c(41w0>lM zn#RIyDn}OKF+}(_a;mq=`H5>%+#c-3A-LND&LyzfH+TV6h(bOQ^*y4Sd&4U|6C|Kh0AZ}vhm^~4qZyp8UJ08Ml zV(@ZU0Bt&D#4E5PY$O$fh9O1~_nBTP%$C?B48V!-yg_y%*%@Q&M1M$GuqW;Ji91l? z)GYj2?8=6rai0%a-quCJ@{Pf>DqV|y=c}`+F*zJ&$7q%IUqeDIb!Zoz4JxqWNoAWK zZ?U_XtsN_<5*H<&(J~h)?+vfZqe4BFJ!#iuG)R`gf#x!StR8;t_2ULZIZXVV%zSK< zt6I9^k>##enRubaOB9Qa)TJyNfmrACrH(bksq$s%_Vl?eRD)rgEjd@BP>xU;hr+to z#i{UD<(f?s@A1%%UWc|zrppt5`t4C|REDJSNdDM;(ypM}^~^r=0+3dOVk<~L@zBpliH|8`+kGBwA^ANj=uprZW`)0$6Ics94zG+(K zw$nGYUZsJZ*WnWC%-o(kbsXn%-{b5GtU2L@kV%(A`x&);zP)m*tKVR4CsHtS(G+*x z1+)8wL&1_P=zB#w{Q5Z@Ehe8_&pSB%(w=nEyDH!G$)1-L3>Buq+5Ot1vT@52LWX`8FAfv;B_+XxP5ts96L7@`mwu*io&W;zJ6b zP~XADBZc*0!DUItleU8o@#Tqth0(mnFsdO(PeVw6^6r)LiGA1S5*+PB7&{=AFB>cl zDes}1UO-Mi6d7MpLMoOlN(`e&d}_bTM6~@@Eb>qs!gSA34*e6h$8uM!1UFucD74m$ z99?FuaB73uK^l}dZjQdRmbq9s=LR0}KW(`;E?fcuY6mgEJV zpjAswf@|%T^#UZht(Z|0;B$LGlBZBRf97y)<=X35ymC*omAt0J%ivRUI+P3JplqAs z$Lr91*eT1Yk8=p$O2d`XDA!MXxndnd6RuUi{Ww}tSO%;V&Lp87<~$z<%x1^Qh{>r# zHKJrUzVT*^rIcR-%mhCYZ=<)ih6l`KbhYQ_0!?ALZ^*~=Uk@RYE?+EBL3Y5$E=WQ&-&ux0F@JZ*32hL&&c%8cjr2l2Vu%hENva9; zYCPJ$_T_a3g~0yy_HOdgof)%cCHrKh2dfS8xPlj~Jl=)&cmuTR#ixHmY#98d-U{X2 z<@Jtho6kyxc}ga-aBX{9O=R@TupYpF90IDm*W1HII2I(_r0*2ZvfqFCd_h=fZhkQ*zH7$~f&7>${x(Ib zBrE@lKyfS6Dm2CQut>4R*0r@mzi9@*lw(uf9lV1neiIA%03$Wz(TO*7b2^HRy2Fdf zRS452T;9-p!pca^7W}E->Rb4zcNeTwG{h#@K6{CL3OPf&*@?$zlch_7DU64wC<2qq zcDz`)pP{D`Qbdb9%<+&_p#+~^uzD;9U3|fsLW&`y#G?#{n5?C4PWv%Y7+YOVVXUd8ZCQ@T1XgtNQxXngpb&akvq3%KMH3u5g4JppcyQFQ=Ff*maS44&luPUjk^UIKNEim818gya9Zw;_0zaU}OA0QCpw z3YfBhcYlK=_TS^e{{c{c(Siz4D*s-&{I?7Q8eV|78oHw9sYH*3c!NKHAFX5(jsI~L z@Osr*2vN{dE{?7YIp^}7O)xvtw`cdAlgu%x_|!9C-hZ;>6{YeuNc8>g38o7%3%|{Z z5VH=2Z^R;09MI2<#D&nO%gEjvA)&$>FaRH45Je6TF*N0`^CAiC5p49uIHRoWg@D>( z&EwCj$1Ti4c#7Wc2~W&5*$dX(!(k72P+Or5gc41~luV_ry!iP{1|Uy*;nFVeM0v23 z@=InN6j3}@=+EY7`jnXijro0P3I-GQ=~drlMu`RHrC3NVZ?jhuUr&W6Ae|=k)~bF} zoc+FCr%rDgKb=GE(7^J%>joa?qntq+YP=t)Zp+7+K0f4G_*J1SVr{(lYRCM5Tli8y zOzzG1>z~d|^M|g##?z8zf{i>QntP4*DM9eTn>>}%C&=QUb3pg}WcE;lxjQqGGef_-+2fy1#^jmb6t~%~%&ubX0+VnLIA9sf6H?qN zzaT{t-(ZJjK5S`zTRw_52MkYbdQ3%q@*Q6zK0_SMEq`L?m3J0+n^n%&A-nqX6i`pv z(qda<3ma(R>CFNzecxtPe|xNs9JlLQ>#ANGWRhdZm)4)aM|}rIBAWut77h!x*qFf* zW?t=zUc?gu=kvbh8PC`T9V7w*0yj(BL|g)Dt0b~}(e3VoPoSXF#}2kzgPCU;hgX@7 zSInpNmWRusGXwrDd#t?MkPlCpIbW|WIu>n&{9tY#f-<)b@J8Ou8gu$uY1nQd$WAIY zS(hUoz;F$&XYf=@Md|Z2;d$02R@}WH zotO!yZ3QvZDZ6rpAnRSoF<}VBP}8=dvq^fP5-FicWgU`@Hv3hOM%$t*$c0olG}9U) zXyGJk;pcvmK`YJ>^F^bfq6`IEEH`u>hLF?wh7JK3|(w&{N`rM5`dVOPj`Rlx> zsIT)+trH5E8#P^--1c3iLK5hEk4T;-Ny~IKhNLV=eM;+im-k13I>e1g^f8!F`@y6+ zgN)5P4ETNU@p*WmVn(=WG;U<<~Cp&^xt4ws(nlslWRUgqgaM7TX-#N}cal`;=5*Ss6G|57?RN41Q zpZ7O%C~L3+T0yUoK6*Y0~e^Oy{UDndOni<-^@BYf`+`Vks$> zadqbYZ6Fyp=OMV(Nz&z`zhvLI^ogFsE5(g4CrN)k_wHCay{%5)HeD#)#zfchuhj=( z(UsQf7Cy6UouCXgfzDm|30$L%l@a0CKSesn<4;C2X$!w}> z2Q#^#&5lR}K~d&S^u&zEH(g=C(cX0aHM$f772!Exnbi{cGP+_5Nv<=94q#a2qL8-Y&IQ3jaU ze0*x!{i#*41pO6g6wEL0 zhV6YIZKtu16Nj`$w9nn$0F=5_1M02L;4g*K>qrtlH+s+tD1&fbGwKVBSf?-w$^nN! zN;=wPj3m*lLMez{K}J|tD9f}rlwy&1MOIoxR{btw*gWRhub+oT;3M9cGT6OUi2=1% zCDbv9#6}Rxi7Vbyc?6sKbH>Ya8qfzs+*f?mVG%Q>At&s9-eRXJ4L!#G-gOXdUawTG z7O~h+DDjD!YKka0e@mKvAG6wJ-b@>Z0hjL!Bcff)2ttBCHpxPXgpt<>|%sDT66_ zbl}PA{n2b>OlbrXo+UqRrvHy|m)zBk+nw@j^Ll-L!I;N!r@XnwHzsCp4CtR!(dmFOHCx=5&=)xVt!nb!Wls zk%_Ym^xaQS+vcw?&O0yZQlduI*286?Hx8R_V`FcdkOwbsvd@-sn--1)d|zJ{Y&8_} z?T#Z7DoTVYsx#qjh+atUex)AHxcKnBfcP&y`n}F06DY)Xa}WDG!iv|Ia(tZ-3>)w5 z>l5$dvzel%<2Zd+-$(6*+fc5BYnJkkgrYl#p3@UFG~ijkV)t`&ajQyggpz&VyDG1= z61Vh2C7btG1_Pnd7On#h8Ajs1Vif{DaN>(3b-%6gEMYc#R?B$=E0s4Bq3!l$SHU_J zO{d~2sO&_jZPC&{V4jF~*#nSVq&oVN$8U#xRPSiSzvCrw@_EvK;kcP@pkt*!c}CojAY8}m&B zm-$0$c9q?JFX67J7oE9b8aUm~r2dHB@Jy|pU^D(OLAi>b!Fpm1nf+ItwxK_FO3(`{ zV?~Q8QKAPzf9@LIm4uY3Cmb?yq!&?H4II7Gw+S@n)=%uMgNW~o@2+PLH&~B-m8x&2 zEJt5q77neVF^V&hB=_)(6X*?s8bB~oiyhnyr=&L0F&B;V2t^Wp={)m?{Xj_(%rPTx z?j+x-ILy1~LT+AyA>p;rZgAohr41J`rlzdW4b1 z1?oTkkF}%A4ht$Izjnc)mI^UqK{YAghj|viazi0|R;H!Pe2p0XQnQ$C(0J>RmU8X! zv(lCL_l!+C(qpAHnXMIusdK;@ES$C?koEY1A7ueJRywrDLOVj!8!3!pP=uK>B*Iu( z1M%f>K4xwl-JAXX*p8UA9Z@2s7CX`i$^@0mv*wwbNk^}Gw5*;O7~H1Mc`sD%B!ohE zi6z~FDoO_G?3|f>R*%+D!kSh_jhD;cC>Qmz%{$Owj0!XmTa+IkZahENtkF|Fd$O37 z^&&4%ka>4_dA;6w_^k*~@DV-3Fg0cGFg^ASRU44lx6QdsQ9s8fRAALQm#`Lpc&TK) z`zn8T>l*gX-y|(d-Ze@=t;Mr!%D6Ua=}1AIpRIL;4T_>ny;b!z8v77PEw0(B*BkAs zOTajE6(clG%(%3y`m0BdH;=6&m&SDzK_3HwtB#f7b~oI!mqt+_I~jl z(%`LFN>y&;$Bik@nO3RR8Y!l~o@|RK!WfX&X5VjaRBw8PJ8(}+GUl`!hRA{{X1U?8 zFy&8nl1}oh2f~^7jZQ2nQP!4G_eI2mkO1J68Bx`T#OuJch*2ffxM&#~NoFb3w(+u4 z1X1?Mlo<`Eq}re)%26F#LYc1)pal`cn1iR4wij56vzreIvy9GiXl+?y5JF+x5kleK zzT@nJXI^joj1pm4Mh`!X>aerhj3a29Xu$NxyszRt*9{)7xYSQ_E&l|4{vfA;vv~g+g#OHK z`+E=lUw|Lr*3#e3{^%^KA84Y@y)z|+CxhxG-1!ubC!8wU5=fr&`pTe}M4DpQUgf*r z*s5_1+ijYi$4%oTKeDQ!@k*yla()^1VEW?w(ubRHHIG-JG(mAjsHkVr9p^9`ZXd75 z80wha%^Y=@4n7Q1mu|)r)70%)u@nv2*%>eb!#adWti(zdK^(BFIk*kc$)8P;j>#8) zq~=ZATkK(`w64V!bZ+ZC7VPL8xOIKsm_rP)=P9J}Mr(_QE41l60L3P@;4Uavl0J(W zi2^+~)K%^}0%FSK>{i{rDLo;S0P22*#L&I@a{J!(VXf&m#j2kN zfOM=pR*V^!L+i!Zo1O{`c(^`;jp=AKuz|ot zg{}ZwL(F~|(qgusX2OI_ry;#wg*yyr#Jl$E%)rYtgoBDMzuyOzsFbP%doYps@6lI8-A&Yt9F-|*|r8ql&oy*+aUF~1gH<9RIM73 z1rgCNE5?n!D|Ssxld<(m#mO>zWtMuSlZcViJh2*)MbcbBBNzAEw!cNv$_JWtCJD%{ zxjEcg^TcMhe>yxgub!ZW^_^VL_vuwDF@NwKNgF}*B!#(JTAbNAJ_B4YYXVHCkI^4k zpBVU6tYRnj6NKyUAbmPL7d!mCy$M%;#)@)PmtlO~5dAT>(CMvt%FcFWn@66bL%RZR zsaLq|&#BQsmBYYhn_6mL*J^ZtQo@^a;@=ASXD{}O8|i2ve*1cedya_k|LtpwGsiWL zAN&};1kREthZmdywt?^q6wdbK>p|8!WyQ;Rw#%zzSTyaaPWpEO)1|f2c43h$#uX%C zk(X9r{k3PxAv^UcC&Q5q@vQgj(zI2~eQAA3_^>kDMTMB-m(Ac8@Z?jk&+txUw(Ah( z;WocjKm*$K*&BZIVQ!|+W%=X#@EdYvv0SfAXN#V(@d4^JnXJ;h@&0PX7Le zt`R0jp8wl1bK?o07dI-xkYc8l!NK;`Y@aXD4eoe zvLB#1-m@NYLX-#h#P?hfkCa=3^JBpTf9UaFgM~qt=z`Ve)|5wk%bsutZb=pQ7PVQ# zCK(1PX3^garkyrfO-x*pTvMTYWwZNbE58LgiWwphmNDLT2br!Jk7TX;VzCCUX32kY zaGJ|xI|wh8k@yTmirHd$#hrex;xYyc9<|0Co1w(0pH_T~iW9};msQ)9@u)y@M^Hmb zRr@E9_Xpk0`7fs*P&o6SWhwvvdiVc1OvL&3%W=s%UU|Uk$Htq13K2n_CyYgi1w$dN z>VlllBAzdvaR1r`Y=6$((~E~b=3R(yJlaa^%DWEA%LUa8 zSD${+*gI(f$AyU}g~LGf?S4yqMi*;oC>5V4j1(k56CaGe2VKlp1aJ7;P)r|Vf`==d zu@TEY?$G{qM3Pl9o|Sx(g?)1ay7Z13GcZp}KQS>QZAjTUA`x9Pt@m6IWGMv~zXK(u z)Mz|H9TcUkq*5Q>y>VB1M$HZI2#Ir7by}5k!W^UYhuZR?ca+kv6i;MtLScU~f1GGC zAHCF;n=efjC!;zalX{O^%%e0dU3B~)OafqAiMRS-_yv2IBSwmNAg{BHCc4pzjf3I z%9}e+(c|5Utg%FD#T6a%#^PMS|%0hUQQI@QZj!D&Uq1 z(Y1R3Ova6?Hb2XU77Ny_ej=&8AL9s_$w*|H*UmIzHL%NaZ`&QW&O#EY)}N3e%=(DG z3tsJI^kj10uyTCccIy{T}IYOM_F{8|!0~rdJPO$Of1fyH8 zJ}3}awiE&Ex3`6gRa{F-PwuSHZxgt!n~tP~(HAjs9s}hRCQ`~`+-DAlOceR{Ry?B1 z;!gLV@<(XPLqCJh)Ijob6v6TgDRhO+bh1Db9j5_N0f?e>>*V48k zJg@h!Ro9pV^+4KxRbR34CtPBUHYQ%;jXNO5rJ@eS+0G~;*#3y=qQ~MQr^edF9!uA) z_$3F4Y=f8343CdM5H`N*m#1b2felxwV%ZzFPyO%W8@JSd= zIItV^&8G;Fq?dxY@l&Xg@R^uO^N`4qDs8g|sm~RJ%W_W5I_!IAU2doKCnGS747sTd zs9FmV5>P%~F%;JXWuO(G(G%bG`OVRfTUhV#yV%uNSkIX5Kk*y?^Bn2FqR8z3;|}N_ z{L}AeZ2rR7_1}mhfAred#2WH~X)$<lcN>m=((Dj21Su_d0# z`z}Ml5qkzYog3}fwzf4nL7~^}R5YBQ$0h!chXw1s(O@o^Q^Qi!XnGyk>wR&O?D)|{ zP@|IlsCN_jV_-wfNJH=j+%ZPABHeFKXTU%J55*3dXB9!|faUK?ItI%gnt;{k)V?0M zs~Jk}*l+L?)q^qu9jg!CQA!B|Fb8Zx3@LK&T<-3_=4z2umC(p>3AH9GZ*!ks;%t-h zg{oALmReDyHzAPHS>W#nQ!*=}((Wb-NXoMYCeGG}C=XPLOw zVzJp;GpTinC~7ca#A6mv+P2%X&~VAIL&Es6V;wR!3lg=Qv^zFT0qSd~{yb-<1e?t| z<83V>AI5-{{!gcEPcPKgx%r zHJ6$rg>SQZ70<~sazcWQ)Y4Z?U%uTh91C!k-#a%M?Q*0RKV_nVkk+A#=dwFH{f-0$ zZ%GaZn&&ID)99z>9h9J#iQ4J8fWCt2$(6^${*P)5dMzOq5vU4A%dQArgJJb^Zm-vu zyYs&F88@%%akxF7X@3n1@?IYMyfV1$xTL)t`*bUXYQDas_xnD6&oi_hHCSqc!jrOQvt4)R!*ZlsV}E=c7Y3V!RD_CUZ#^|I?Q z-e*Q-euO(07OU)XoU79$DI&tYA~^kErWaYVHWCUq8Gl^_FC>~F8|m4 z?Jn?kvo+@boPU6eA^(_lxc}KW^;;3&pUgkMF;jm5dRUnM{*6!5!X!@{ZM>8E2Q*ZF zpk}S%ykU54ifI0{+{>%|BHm{$#Kq^Q)k|-o=G!rDcP#GR)s<(1a}b7~Wk1z*HpTLx zJw%3-;i?~apTjI2*ihWz<^2=m`q9fvI#>#lY9JgG1f^7O9O)C<29&NhcpX{2ppY`w zcykU7D;T)Gx2cGEys>5sDuTb^7XWnv!NUBqR*hgKLlGmCCDm2c)V97*0<8$GPi*hs z-C|<(A(E*@_HX)YvSX-!fEfA$HS4@eEGz#7iHTO5K2FvGt+ar6#xx*bs^YaFUH$@W zJX~5-!R&G%-b|}7FjeXRUCXc(EYUBXcqwoMnkTRLQXLpO8nvT63r&k$8T#425c^e` z+&g%l25l*GXH96}AOAk&AFGeEs<6EIA#!cuqDigFC=r!0*YK#2f9}Btbio~{Gv-S1 z`RGThydOc326n*3*!+D6=4>RdV{0_ptld050})9i z;<6S|&HhIHA6EJil!%QJmbJexcuO~CH>MhL6!cD6SBmUfCGJC`<4X$NMon3$yc{!A z1*dzZ#(jldU0rQgo&xt0p7wQ~D_y{X_vF1qFTO&sA~EGnjS$`LItW7bJ{&u?Yh593 zk~lcV`{Y%p-(PLr`=7?W4O(okx zth)e@_B4<*Ry{crpf?_1dZWC6MP(JL<>Qf7#kmA5v3g8E1|)QZp$3W zWHy)owKeAvM`aX>{y-yVS0=Ld8+Aocs&YQt*D($MZJQ^{`N&dSk61dkfQfe{q6zoX z<-E9Z;0eyEPWmcd%_1{{X z{|;-?S9kY3U9`c=!4mdDL~K#9+PsCDA#54;pQc@}8lQIa%qthWZt0z4V79qH%jhki zvWkoSI9}RfvSA!evtu1S?y12u#c~d@_Mkm4^?SkHTJ%Ym-MRxtuSt8VkSdly=UKfV zN0HD>hih<&U&rS_;QI?T9K=xj7l&90y*98x`0u;LR%roYYZ7tXFz_WWW}mtP2I0O> zI<%AK0rK6s3e;KEN5W|);;1W@3~FeR4M|E26zI2c7T%OQ0lti*B6Li4QD?P*Sn9JL zA7&av`HF(g0g^l7#S zXQ$+kWN6vD8o&nie5}^vx}@P4eyncgX^>|%rp}`Ixm4YEZu%ZC_Tku*CIK!I>C<9+ zvwk}23hv}*smYeJO7v(?c2cVn!Ssz-w_0{|cKF%2J+7EH zdU)9;va+O#KV5&Mmw)M}EL{UmXnQR;tIH#6Uk<%z$+VxDPLZ+o70V5;sCd2p#yrAT?(WxjPJ_K%+PV$ld>|N8pB=2TEFc;yJ zMa%nf8^xkiFP}Mf7m^bS2d*?NYn)&}d7665MGhIZIRXCs*pZKa@dio$ zM>k!qsPg6fRZN|7w=GK)C|RrJVO#QEbap*q_KeJ zN&Ob_yCw)c6Y7X@E{N{PuRBcsLqr?>MfzJ`<$vV$K1BTBMkXDZz>8=92>vboV z6Rj#0C41@v#Igol_K%Qfqx&^_V^E?T6VXmB&Uxn2WD4r9`xRb3fpBk z9t_zp6ffLqm2P3N*(702*GHw7(fOzL+%Q2;S!36?&t9x+T}6I}yXTEpFRjUZZd=EG zn7_JhEg(r&Q72%;>D12kOKa9#>uqkSBCi4Y@07DTLAcGhr}yU9X_Z%ETF1Ff%i_s5 zK($=9Pm)`i;qO+5)*8n?$ecC>3Q&78it^?2J*r0_ytd_hGejp+Ml_CJW`OP4|2q27 z?YKwMlZWKOLjXf26~JaLd_je*p?u#qr8?#F;l}FsRpa4GbHhmoZpHH?S6(Y_9T{Az zHAQsu;@l&_GTpG6uh+??-7`!2|UxRDat2ej+JEcOQX2TX7TWy-!h zV_f|8NnMW%o=nU2GY3exQc9`Z4?J&rsCV>!ND6$9r~bLg9e|Lvf_5av`@~`>Vk5rA z!fbFWfbgM-o5u2ptUmx~Grqa+oA=_<&zR!+{JOVo;4_Z-@F&>x2RRO0%=i~L{V6;C z7tP?n6`#Kyozek45NP07`LH7dK^8zcc1Z~b!TQ$9cV{ov-wAZTH%w_m6c___!jc8Z<7@M3V@F79fSJPBxF41-NB zK2c&Yjl#z(z(X~DK|!z*Ry&u1Xu2c`1+|K4!G}hDwpt_|MLN{(R(PhG!Q}0OuPehd zXU~!a{GKkfcuf?ZXixOW7J|=qPQvO9HJOsT2!*UAn!`n#$>6?O=e<{JZVxLjx;0ZBRP;4mjJ<1^g_6hX z@wzePjdy?py-L}ND{LS7UM|oec_}5ML56=}MzlzVJubUdK7QhGBwI8S&W7(|H=3&X zRn*z|)`Le0UaJ&n=JiM$OUYThELm$Ep&}Q~9_}4*=H@L>Qg-E4v2!7zx=i`azc7&z zCg1U;fz%`IdypX?5)%;I*6BEmwO~3NUs^J6%;0mgm!YA9%1$zUSzs&|r`NDW&KNk{ z@d1i=y2b`O#CdGPu=eALFcR9V1o?oDjiuOFAYJNrz|~XrY8t!yarWiq{Qmx2{5VPW z%Kl~o$l5RZzPvo&cj|Ko@iwrv6T*p*v#{YX8jc~Y%6WLL$47jm#FnN{TwoAJjoJnq z1=oktL~(fA?c~1=<|iCrKv7F*$kQDOyio?xDdXj3LLsvZDME;CkZ9M;?3-#Pu)a)$fCjltcRsP0r(qKcggr5j<&k`Wh8 z+4E>v{l?04^?Jm1po9BJrp7JFGsm}uTV!eN!bE6geX$T72zi}C??ghahBo09>8-_( zke9p1Jz{9ca58hpVv7hi;HYiD`tyg$gFguDx$gyIVL5)Xd~9zFSMgIf$>9Q&7# zo?#(pw}XReFlLKoA8A%S7lci&Bk#fCZbfuDB_@anQtru005P&73ElUPYd*)QO4#NR z|A~^n*9`uaj`_F5%c& zz{X{uE&>#{?`vzSQ3gN~KXD(CV8d!71Yc>A|CYNt|6KIFJ3(XAq+^9R;`|;`n;wXd zMk|+^Vma+M6DL9^cWSQ=!lz*-InZY^seOzNT`U0>pT*#+2cMyBKMl+d4@o8_=zO5Y zW7XQ7Vf3J3tSm12V?=kLS9@FWW)MzFm@%}N%+~klZyX-P(Lnp|kT-o1MOii^SIRAd zW8kJJM?9ysLdR~(z71!36bw;)MsygZgL8<;G*GiXSZ7xM$On-4fS~yPgr6TfK5dMx zAV2YjKhH;*8pypoFkJ$V_+mT5yFU39$^D3KZkcfI{p*np(cGWJ@+tPGOUG_N*I0!( z4G}yX(ss!c`0lnto#rXuq&`>Mvu~G=PL!894<`KQBRSn^u+x|w`_sqR*w_`%`yckn zY)aQUd}iz!9_8`Rcuj+m*EgWcOXn^vIT&}sQ`%}v#bGZq#x?dK*gO4H5{q#(MVcJht^8l+ z?0$Z435HojaNaUI>hFj;b21i^F^x>p&R?`{9P^wTrlJrI7kt;`EX^-!4!0o8pEdDD z=8fVaH4vQoLhf+Y^I-q9fg7kLtlnrzo-~s8W8^EbvM33CjJ`ZPu0Rj23r%7QW`PiM zg@kdAr6^)4>ko}j%Y)PWF2wD?=@ z4eEy;%y+(LCbz=$qq&-U!PJ&Ec2j$>pW2-BsPV3EOniDA;Gb{V?R-uo1Syn2T0^?N zF+H7y@)?FQrkFDT#QkmmY#YL1kJ1!K@&%Ggk%yRQV(719q7K2Z3oGvq6p`48<1(TGxSW-b!9tFJZf-JYttz!nipoVDLB$f7$D=fYBa>97RX#sv-J&{W8kaA{o{36WiAlwl zk+T&oeLQBzo<2S}pjBD1YZf5aw*j0OK}pbz$ooWNugdUvaq!DA^KhcjR?S83d)|g1 zNHp!uobiCQ+pkR@&Im76f5YY(;6$93yAp z{G(b8hQHY8fL1|;g_~|C%JXoLMBYGu-u`fY;PPzM_NU7m8#(%_B+?glovPK@E$w|O6ELRiIF?cQ==L1x|4M$PX$qkA73(;I+>$&qZs}l zZ*LuxN1JVZ;}+Zr?(Xgo+=IIlEChGA;I6^lHMnbVcL)&N-67c5$(-lRd}s2{`&7+T zDqWRs=-edLyRU2QwSP<4DS$zZN;|T_!(;EJt+jHd;m9u>lr^GhasHaE-Ds&|JaLOl z{Uk}ZYQK4lYbJmt$rO^iDtWB-4N)Az;|j}23+7gAD8%eXqPTRbkC1sf>|?1GYVrsM zC1A*n3Q2Ib`|e$S+`>xrXhhvDdUWaL!{dH}-w;fxOcuGS4LE4=M#6GSOLHX$-X%eb zzsyyG6WsH@w`Uju55RI27-4qgNrK`kMKlP8M;HOu!1Fx>NkT)>|6wBYEx?{c%qkq| zy*m+CRM1TDc(im{c7xyNu^+=w7qLCmRB72wXO7NkjRE?LU>=?jJZPVLUf(-h)2`sT z;N@bFlyK9`QFV4|CP+sq z(_q*;f0v{JlaNs4**k3?2i|Y-YL$-46`ZMnHs!87sww^s)BhlyCwVg{(ZzDix#*~6 zRlZfz$-a;v9uRbI74Cd{x!g46_R_V=9=(7w620Dystz^Os=F!X-?9+Wb71=5n0p!2 zv`^1p?0C}T2q{GxRjD=HWeq@Io#hF}NXEi0On^8E_*1j+9m{&1(NpM*pm?c%G0cfE zZk#}exYTiVt@fc~i|4jgfhw$8sk2*(WF>M$g?7SViv-o$_pP{m|Kk&=#6$vS{Ik?P zM7>jf01b|{RQvh^Up{%Fb)k2|sZmotI76#@*2HEPyeU_+Ac!}$LQgN+#%5sQ#FFE1 zKD@B-{9Y8&ZWYRtPyYPkbAZx1?;7&OxK^;^_36QT<&!ru zUL|>ux+AU}SxSn+QN}2IbL!xZuyx5cfmCMMwy;zftrC4~TuQ>|_AA9TE<_2eq?`~Y zXbJ3KhVLxIww;hAm=anH;jD-WN{kqA!L1&XB;1z{tOjOK#`!(oi>jQhGjT_0HDfW_ zg8qsjv+*$&Ym9}R+~|2-^ps=sDq++>?~5BZzLTZz2o@h=j5J#blrlsG|6@ zAn{bJFMo@7&e7>SX#!wVKvRQe@W{E**L#e8Ht|WNG zL7b0CJVsqeK4#Uioj{y!B=C_!RqQFBn;4H;y$xOYCc(n21{r5W_5e0JAPJ35ijD`A zarkRsA+8jR$O0;JxsGA*aPpf?VFqyRh%GVL>nbi$Sw*r~Gn{hRheTSk8v}uNQ`yOW zx)kqV0A>Qbmm*{DfzXR0oEGrH1|?k2&DcjOab3;x@FPheG$4P!A*^0#|=k zH#XKkdEe#Cs z`J0AUT1w&-5!u=g?j@PHXZ+-&&bNZ2b{D0xlQsN=BH6S@L>|ZB=g8UCEPTrdPyMSL zpb*Zj`~+}83rBsC(7BRbu+eN?2@8997O95V_t(P6Q0cprY(2kHBN&1IFb6tt6lB|B zV{0TxCPoPVTq>zJDkyNUiRlh{A13_x-DhEH^rS>dvfROq81!q02q3#_cNbhqL(#_A zPHtxNYg#cXDmdRc7yd{0^f0XbkD8I>aR(8VM=6dhDB;6#S$XYT&;0V0@wu9vWNYRn zRxddkG>KtIZu~gvAEqX(XU@PtD2Do4MMvi+aVB*lN=@?A{_TaN!I^Sxn;@Kq!Wq!2yrny+F!%At8Vz(e#oW z*d|g?CXk^XX$$aiiK{9*0w6i=`LjM-trqy`XAG z;t`ixAR$3oaQA<#$_v#gc(~-yEa%8dn|m_8e^ME@L{WN+tJ4nN#+%Bpkfon>)VF;C zc`ka*m+515L+1)?uXK9`YUg%=CZs7hJ~!73?D}ij4@2UN;o~f}?OR)#trfZPlMOzl z472?+^ zwE+@&Gn^;c#_6@-n*@fA(WwUnx|;;Bymufd-_yos6pT3N+0qg!maN*PR@~wZv2QF3 zzQ_bD`nuzVBP-(044=N~Q%cd$lveKEjH(#jdFQ$3N&UW~yfW_!6ydGowx=&zp2-vy zDQ{kzYGSpCO+s;kdG>x;%{xz3?z6Hl1av5$7JbZnotLd?F61;^z>C`m$Sl3^D#6{|EHT*+$_)98h{+B);>z|}@_FsFmzo7!Lu>BX7LFz7> zJm})A-A(E`AZgY-ftWp+rwwt%2TF*__vR3b>C0aYW2K^zi;>|n3RNDW+zGbn?UptHaHaQsWl2>BSN*y z*WM4~ME@Q+{-k#4y!hTVsI7@xtn> z4qf3{fc!HxKEgdjk|^Oxi8EV7dbzf9$9H%9iKJfys4tQ3WA+r7DgfCk>ljkrp$0`7 zGmE$Pz`lL;Q)5}*eZA^XpBzHe4d&hl(sY{n*1U%S)5f*4`QM#8N?Ezh(+wu3k|Oal zFTi94xH|!8b%ipx&MRzmz6|0oW5UlB9@p-Mmq5~8B zP>J1fhs$T~i z==(;M>rROOIqfP3oCXdy(7<5a_}GlKD&8Y8#7k9ybBV2tdB}*&??j2HetTEf0WqHJ>*2)A;4( zr_xY=z}*U=|0db0^mZxZ^OWNSXo|uQU`~nR?R#O-77qHD-TaiVvL!!oA}Ck~U1x3P z;7UT)D1CPwsY$p|6B&`EFlok4k8B}uu9t7@IZ&o;DvI@C_Aq+G%);ix%Vq)`^$vGD zY2K=k4>Y$hw{S@z1fr$9YgV&iON-nC`h!v0K_pE{GbtF5dmO^d{^ii57b=zS>4d`` zWLYrbiczDlYgqMw42BswZ$ z%6k70m`s4Qi^U=SHG2^Fnfx4r56C8`qiU=xrnIo>ipzoIv3<*3+&}gV0wE+aB-7WY zlWTnTP~4eVM0^up4G>65&NjL5Kfxz%Nd_6;W_3pVlXN3HY3QB_{M z>Kix?OYqu$kY0#{&_tcHb4w`F&89EzqaNqQGPch}^019P8wfwS)ANiMbn&QK(trKo zQ{p|V|L=wH_h9m`#nHd0;lHN^|7|5x3wJsn9s@;hwqfuT3R1F4;PwW-os!$?-A|Y2ZOYQWbeti z2AWkta#as(0q;uDYH&ZY^*G8pXvwf#q+CydkS<>b0t;X2R71@u%1y4M9BP=RZQWE; zEPKlO{|6#p7F@7U_=QiT2s$ATgF)6?IY>8DsEU7^8az_;=tFwkW zM3Bi<)^}rFgIr6dR0a;7-k~cifh<7< z@pe=4kHO$EV>qW5O6mJZ%S+N9nKJ2r&(V0e@6TRdgiu^vOC3nz5Z_4hsUJlYhX3kp zRq2^Ux0^Cs9KiW#Nq;jeOiiJh_1IdnzxoBQQ)7(p_Tv7419vuhbDoZpp3KgwX?0D> zX!F}oUa4Qyt45B`j#$9m>(rGNP}Jw%_&<_SX&lD$;aP#cS4&x5cJ$!4&YE53ysSE+DgS=T z^0eSIr@P&$ej@#IKmwj#)Byx@6Q94ER|94fHsUA~1YWvkazA>HcEGNUJ`<|K9u9AS zJpjy`B5rV@HF~1z2moPeGVX18*Cw=B`b_FT_BdC5ClDA*w#nWZah&~xj#}v5r{m{@ z_6#W8vp~1+3KHj`_oA3gyXdyTy{^>8Z&A<|i@F{PNEy zvR~&95eb9>^ja0i$z`eFe@a##>s!OlvoIozPcoqaV@gw&Es0ziK;r#gZK_^xJZsueWn)4$b zdwCVG_1lUs2w`Gl)j7moy8|c#$J9Y+ChXa`-N;nt`;&4Zd`B9yTT@7U9E1Ry(L1J; zCN87`;+BK5nF|h1mbNBEO$b(F?A?LkZ|(=cp>4|;AeuGdl$W^NY1V|*mh+0K`T#(K{^7fIy+JF-ZK)EuWwpk z!QS;*5&oe#{iTa@{nO9zd#2{!iqqe8yL12Nr-n5&tzlObpHS<6oYtmTlmO| zm<4T#NhM*#(8+*Ju%N>}Y5FWa9R$qNG17q2V^0g`WMjsNWfthZH1X%c0<(Ua2yanl zYK)ji!h&uLgitkx71ATYxi*S4gy*l#>0*Z$vt?-v#T-?4afYM&x$9igSlh~ROi3KF zfWe9aBjRMa0Xf~orYpPiZFI`gmXy(5nYmQ(QdJplUK9jsFp-Vg)kcZh7&b;|QrOn_ zz`RX{b>j?Rc5>q-n9t^y^~~h@R2+!w5FnPK>diPzNc@d=ZnQ7CH^AMcG4%?TwTa4P_I$;ly+?v z2=+gtQ$mlaynN-yp7;l;v;9_kPKPBINc>B>gec>Gj98{;pd{206;HTFG*4m zV@Ii+g&e0Prd4)q$y<6HxV>_C{F>fTcl6m2J*gjU!PxgsZ?9}@Z((6?*NfvA#2Tt< z)49aX-zCFncf!@DO~atSri~Mgd*8s~^K`L#nzGFA;9=|f ze6>n|_c|T0wa)dj3(E&T>@?taqHwnOLL}(W_kuS%XAd~SIFA~KvUNwm8Qh!5tyZTO zTj+npI(cMu3N#Wpl!PQ>ky6RS`7@U{`~=pquv)S~tKvJ|%h)8#C1PF9JQ;gaCQzvn zKNSpkw<=Hgy!M+5=c`!&#Lm?d3t0R0vOIY*hX|a{sZ#6*(=Hrww583wtJwoT9{QrV zMl=+pk%(M~F{x6+g3~uUsWSjqb=;UcOD@$NioA1BO84q67nlJ>F_pUaT$X*C*8`_KOwkXWX{G%7r{a^i4PjO^7dA zIo&LzcdP5k8mhwtw_NG0Arn3p9%@r zOSx1rd%yEyKKdMFRdf)}Me%uN*`P7K2B9B^T7wQC;~>F$=VGGpeUH=#YXO;J`r-`{#b@W!yLKW_@}=q8XjXI8IFu}C||NK z>$fS8p65KJP4qE}hlF%BHhS=B6>|D;&$xn|S7UF9H%eMF4uy%(nx^s#({a^XBCFtt zPLzJcn?-j$+1kMxs=mJcr2|2<7C&Rf+uXb#-;ERdvjUitDkd$Sm#>cu0!qcuRs8gh()nZKh(r;g} zR9sIt&hqyIiOkCFpDUMNAJ{IRr{Wh}POXPc#WAzr-d7>E_tLSzGH1}wTJt{V2xiI_ z0mQ0BAluB1pB}1@a7#*YXlcQPA4vacXTYqgO^#josEgqc_T`%~!WPqXf>FZZU3Bk- z=U1Hyz|G)#zu55=fgD422W8xzdXA2h=Xr0)2rxl)GU`)KJO{fEsVL)RKA`C+jY-eg zNz63fjSUR!dNJcSXNWHamV|y|e{=39s9h;2ASgI*!|DUlRFKhE2F$-ic*xgYBD{R; z`0fd~s+u*&eNga{c+2(2-l0jE?%r>bvWiqv*t^AekTpxhL6f^Pk|9Z7+KT~7I30rYl;ZyOpiG`Tn?s3wF7%2Q6VJCk##hr8%~*IuOVF$+=;18Ys>MDwU$@QHtL zyOs^d5r*sHsR;f#6%sC<{Tx+*$O~I$Cvou8Ck}7-woYms%Rmu%VMpJmJLicjN?_6S zvgy&@dSw3kJhr5NPTq#cs=TvG1Nu zltT56r8|oPt#w7DQMz9IsQcj7U3afzjw{VWs4GAzvHXL274ENj&(6y4NtK>*sz#5a z;&YMyktDbo_Ha8AiVx`DEW0SVg#($6P|0NCsBEcTc;t%K`6l^Gq0K(g_$rC1Hy|72OhzpGZYtsm;|!N&3=ouf11(R{-|;PO*1<8e_rBFHq+jG zkNjDkm_H^ET@oxO5OF%6)IXLXd;bNX|2o(hAc)=7PS^{8#JTi0UkP#TEmXa#aZ>)Y zM)A0wpUXK9hjYXU=xCoLY}!=<4FbImfI)V@eOL)|Aeibxg^*J6h$Wj90@dN!nZg5! zM;`;cpMDxiITnrU5d-bd5P*C|2m`0l4Kl%8+~qP)D7Q&T9rOm~*C1dFNw6sKFa646 zpqmYVS|cmfg;;+f5vfE&TmN`M-99`(UNc!MY`f$(-l_mKkq_v zTlFia=;XlAY)?y#O!^kVb~f?~P)4A_TbPn$FsfVLi0A3G((YQxsFT0s1JYG`G4_RH z&b0YIfY#+}J0}{Vh&AYbNe*A2Oq*}wWrg4dj^FKc@M1>^^#X3_aSC|VZ!;?dTTJ2Q z1GPKiE?mwOGY8*r5P$$={5M+`2Ar9v0)l;TVX>p?+5trXAx4K`cOuXGiUBt|5RC3e zBo-x=yowwU5HBGA4L>`v(^TnUD`Sg+e{=ndzXQ!oYu$t=SSm4O|F1PTKUN~^dK=kPKOt_PV3#DpIW^6 zEAIx6_%Dl|-+R0J`#cY}M)iIq4%1(|?warww!`!YxMaaK4zORE@YN1000wkso(y~d z-(@?B7Tc5`eK`0euJ6z1mo9nR z!_L-LK9F7*au|C?f0$z^&sGqc6C`9Zv8nD1^Hh=x5UQP>)$gDHc^IIyfPTBe8-ch0 znT-h^sE0*0&;z`b5K8Ep=v>$!SRgOx5`E90*=~x8H`OShIEK1_ms0FW^8uW`Y$F8c zx0Hl~@G)!S7MeF{G zx^SXBwHbLXU};2W@WHO8WuP)-&2T8a0icc+jc<{5-cg_^iY0aU&XgC6$2VL}x*sD6 zJzKYW>sQO_?)o>S89Utv4iZrw6{?muxKHF!oAVvJSVmpH@^gp_-W95;F^oi5*tgQrKGP15o50V?_b-6()Ubu}*s}`nZA0 z5!vF?pM%G*MvR)>eAdc;nC4mc4yCr#rIkUOL9$z7d|cf)UifL;`n*W@OQEqEa0+!u z?hg;wnx&cZ*jm^zeSB#4(x<0TsPO38p>?GTIDa^NzB)R(GJfWOOAV!~LhjrP&viEDlCg}BG?XlZnHs2^`y9@ywHm|#M zR$tV8u8ky$?(&=-t>I6~`jK^L*7G{+GO%PnRcVg>9g+>%fs=QF%p7&$-(7P||inm+{Xa+YhAv8IX(+sL<89&g9?-olFuMQSJ7jO21>&+V< z=#(gZ{6{Cm=~8V4Mi=g#^(Y*UDNPz9P=IQb>t;ejC@zFKOYk}fI&{Z3$=LB^@>!h` zP0T9tai&aQ?6^ozeco@tgrers1Ht0?xQc@z*`j=yQ>voznI9bOIDPGN@urFV{Ciq3 z{@uhaW;;nzq#E2 zX~fw37{z3FX&(+cIX8*sbN59I}-)Qjx z_x(>B0FplXq)H?A&nTZ_fkL)r3!~75&B5qR8He-(<9c#Gp9N*il2@3%cYN~M<70fk z-q~9{Do~4s^{VLgkgqQ*I{I=|c>gpCFj`{u*8;~U=aj*j;K_uMP3Zi6mHF0L{}&Y% zg)Y?tbM0$PFauHjtMQLH@D)CSNdBDhH!3O)h`W%Yj@`q4dvWe7>X`s5JO#KYrN!si zbQjpz^CYSL3aIg3Nuvq_i7ez}&{ZceB1i^-c~EwGSiGn#m}viaHd;v>etotPH4GEg zQ6s&HLF6pagU;Y+WkXl$40hR(2Q?d4y}VPNBnuN()Cs(T0J~H)j8&#jjZ263!s{;I zXk1Za!c(Zq+jr+7 zfTCZZISd0?>eA^TkKX-k)aQ6Qef!i+mdYq}l{VC6!(+-oUvrIu7(ZUX@^IOxW`noN zpnh~?*&Nc}-k?2Xri2$+_#$#$Mb;-(s%TdQHS_Qf73T55ak4}^h^Fr>waY?&I!rB( zH4L-tWXt=tNtZD<_DnTA_1lJv+$P_;>I9Na5>o5)M)lgKBu>N0I?(8%U6^F2u7HbU z?^++Qlg7JRJ1kpWfq>*=Q_lXZEdBE{`Ge$plaB8MnLbah0>{80&zVnpzMG~5+C%Ud zJdOW-*~=|!`~0Xj3foDom@f?rwuqPjL1rdm^!wPRZ*?=|L2ykQ!BeX|4C}$IRPeU# zS*4O11VO52@KrWvoB#`|>K(zN<$9it{H913zNdm5i;Sz<@OGX8|^*pP3ooh!w>8nf=?JXpq z2d`~e4S>&R+e)U-Rd@)zY^qE!WIo2}XD$JhykGqmRIh zi5Tn)1R)ZsZI=}Hmo#CGglAAOMHMmF`wvp*cJfbtm^;32ryYA?aDyr#F*?c4^^gK? zmPeq|FI>HH_2(kY`3#N7j8ORV2f-%X1(HOhH^h7Lpo8qUWs9+)`B&cI&MN{ns5XZZ+A#03{&pIo5Z7jxw5$yi`n63 zT2|CcV|UL+#5q#L#F6gm6l#^UljRo!rhO;v8+!))1&q+w5dEf{Bwx(dQPs57?tN>P z6d(e?xjjKHD1b%9SRYqMJP8ehG?sdvH{jyhjw6kKB^n5qd|?Tjd-}@3rA(!Zkfyd% z$eAfH2JjKCtXPic!`1ERiFh`Y`EgReYv*Kl2T) zS$tM;J{O0uL#;Mgk^96zrM<5ytx1ASP;CR+vf1@^e>}Yv;*_z)co6AkzZq<(XV0f|f z`@LHctw^WbwTKX7$+fhQkNUv`XnS++9mI7~$`6(quNiMnSr=$W7olH=^Sjo7y#1e- zaX;x9Z|RR3T-hLk?jxmJ*|^EK@+-FXOLHC zxG2YD)DAo4Lgm@D4SkUMFG zo;Usm&Z&LkjLUDE>1tq`N63Hvg9SQLgC?FfsSG($sarZt5qjj<-f!uqx(yrThpcW+ zPeZvZ4@UGpA|kGBF%(}dL=Yc*5Fe~x&Cg$T597Vmr;pe;Pp&pg&0?LZDnnXngixz|*eu1p|=&itt5-+WaUg<0;s zsApB^@XH)JkIsC7jA5Vm{zJ+6OS1kK`pR!{`u{F|IR2*1o0;W5Uva)z7;orc2k{yY zbx4zZ!~6&nrj(zc6^2>i3>chJ_R=T&Ij-D(aNY$&?D0eo43XSQKs?G)PU;qZ6aT$ULA`=5- z%d+)$1(8UBnL>;|@XN)p0c<+oJ|HJM7R#*>u!y7+4Wo!Ds)~gIsV~gv8}oM!fVD|D z%-o&M+IN##H(Zi0+;z4ySi&_V8|argk|r|O60v5mII3c13s}EmBLztXCD*$Sk0zJf z7brD^xv^p_m}C;?v^Dou;HYc?kkpkR{(VqTTua-~ncp|uDtSN-Tj7!;j1wKaLrU`amnUJTRe>I#4>%Fio9 zwl3jEQ2t7W#X)G11J%Lnbp9Kpjaq{A32;L)6Q5jCh>C*Bfa?pR-y2n1QDw zrKb`HT;PaB;mJT!g11{HVk^Q(1T7f8_!!{^8GW(%xb=<1Rr1*F$){G$F^OkWa$I%D zx3BZY=_s?JKRO&TF{_sER!_YiYh3NMoX6ka$vF6jYmw-G5|m9kYFr%{I6ZOVc54FH zL0e7a>y7{XwukeKFe{7j>|>z%RjA-bMz>@As@KcUo95;6!hnY8U`g>=1LEgIZo#$Z z#EUA5*UR&>*cblk*F5-pNGx3Ij$=fnKOv=~g_Oope~)yY!0}DDZZ*VWvFjUyZTku)FAA6! z;+JxDZR&aN?lPQft+B>LRdx^JWg+(H4Z|=JHKyq_oa+%w)yn--fRuFpF)nLgq<2bP zQl-}UW1hd{MPQhKmSpey%h{K8s14BcCdn{N*0>TjszfFuEeP{VG9h8ELju&dh?|6} z;fLA9h2lVz9hcyRn#2yX0xKS)bR2w~Xl$_g0czy3@G~;91M_c%)UWsrwBirjetwN& ze7uMplZbqw>Hrn^J~bi2dVkX0aev@-(LmtxP9DmcS z&B^wkSF$tAv@bP~gH)$IB#9gk@PT04*j!2F*i8Uqe#R}VChT~3bSiKK%FxT&o4#eT zs|J&v@jP&x{#{Tro|doaVd*1f>wVp-A0gg;fau`^+o5E1roC++0a9*8%+&Q$R#xgngRE|1AJX%}bxG<5geE(kJ`r}5Xy|7V;m%K%a8ommQ9E>uKv+wl z@r4PE99>FN1jMtRE(&+*3)TZeQ!%zP5vl?}FR*Xcq1mk+(pWs3BlG*P?|h2CALSuw zyJ}AoYV}pAf-_{Ua^zw5!=Typ`G9>~v(ZnH3oAent>;~p->cND+E$+OEszRcieJZq zr!4&;#HL!#vE1Hm&i3}Uwed!pf#C8W%(hxXeOxA0&R^Y{=NTCCO5x*2bg!^v#;}uB zUGF%JY*o^m_u4SYarY2(Pi4dmf4H_=v{qsH>Z@MhaphFvSWvS;**pupDvv)j>vS+s zAhpjsowDrD$qzy<+2$VD=RGoM0+nxWdBkd^vtnn9xMkjEYN(&&qaOqR{+>t zw|!I`ANVJKV29inH!_P-KstsWr${H*kKK>OP6$k5LS#aG4}lH65B$c4zTZlDse+LO zp%6mxg`I@$0!|u$F@fr-+UbizV1vPf27!q95_cgRz%c#ekFFDQIAI`Sz9e0(j1%u6 zsKC%ce+0`h2!NpZ!v6ENO&sBR(J&MsXxT7b5c?1YU=iR4 zAM}gwJjfRiSzi+1OMyEuA$CF3L3IJ&fDU|l25`X+gd&?A6&;0t_qD&Uqpz=bUkS)q?0|L2F&0{``cg#oveKYumwe>ie)UA6v^S>$u)cbX!7 z<^4oW*l_gOWO1H6lly}FNIqiFBf2(u&a_sO5i1@vmhxTEPR+)*>7BIG-s^`??Rr&u zdkW93S^_9Fb!by=OXm{G1@30|Y(BaS$p8g#;8Beo3rQ>Wo*oAX3iTn=EMC1KqzE@N zs=X+7a7b*2cU6t$9naVxA4BYOP#-&8H)J8_AXr_Smp&*qE(P1;);Wai4K2lp0F?h_ zYoBW&D_}UF@-nn~;(f@|=FFJWA{7%>b5~Y2j`&H#K>3nm0GlQuSs7$=ut%iJu z`MdcOA+{7o{RJDX3bk6rb{Z2@!_E?EvYWhpf*>r_8LS9$fKR&lng7yEj%DMecMtvNYbhNS|3^I znT$Ac;ZHRZCM^fVTB38s4Q=oU_QX5#!H=LI3FlM5fGK>VoO7(-!Ywep(#6HDM4+ULQ+ z><@+huLc40zXay|-t+$3vh?rT?pgi|w)>AR2k()C@KKkVrASE76%Uo_+^N1Rsk$pm zA6>rsjHF~Vsf<`&?vy)?r`~~U4zcpaXTbJ)dv&}@cXIqZsNq<5-m(n=NFpPl-*JVJ zK;MEet2mOb-_5LgxZ)O)jnoL!xSA0UBHs7&vVoIHz$l2pZ1^AfR`HRcf_xzbQjb^? z$wI*txaPUL89H-AiH3+(XL^X_RNvJMItZ_KZYwCmR^tI-ZW^4qrtl`>2)fE-ex7?L z-2tNT7AUNllA0FpY247m4@>Eg2hChuyKs`G#raakci~hX;v*87NK46V>Ez7f+cV&L zFKR5mRakYXa98<{5BIIuu@usx!YdRxjPa(RDNY%e99!(<{xGlC8XM69qISu0Q|Y*t zeEL&}7%iqm3tja->bY181ERPXcUIIb7aB;7>#;^Tg%ppQe4TtIb4sQu8XSVm8@vy&G_JS zPMFq45ABz@DARt3CLuONLPU!n&f>Iz?rn^I@Dxak$~s%VVObycUa12)6KIn+4ev90 zdAXg2ej+o(`}SsTesv3z(2;>wa5L|~vss5hfI{TkL4Y*bSlw~xx0DB^GcMM9wv8=6 z!jgNO(6zFAvCuILXPHG7i<7q=AXnF9n}j%6a(Pb`p?p{Gfcn754H;7 z$C*jz?Klu^OGwz`@y*?7PCaSN;B-`aR)o%G`+X{49Y~Ey7_EaVxJK!zCT)wK%x^2l z_?(9Vz77_snkPnmBt?ZsqIi3#V{hi5bzv>1!iMh-)`&@OJ1`0I_G@ChnK79Lt~nsB zZ)7ZteHFpg{)v2HbNUKiT5L4-@6YbVB`s{_WZQn^tj_{{r_s^`plH z5GJ}zZyysMLIz_efSxlB3~9F&sMfu{HXhfbR>}M?Kodqulyl}msX(pqQ!5Y)Qd`o5i7ArR!<#abo^2lLn4@IV z(3&k@rbxS|#H<>0o_Rb)VB#tjsrirw_%87R#CxsF^u|+LNbK269bRgpGBA3yNVFS% z$y1HUFJQeSbe32Ka#kYqS53+x~nQM@mcI!IeAf4ATYS~_(X zVR)zyBmzmC>z**GAM+EO6vR5Sb~8TM`F)EZ9-<8+2;Xf71OYd6k=5-P))D_WnXNkaaW>e01!RR_`jB;0V>B`Fnb zfU(~S)cs2&bcH)J{vD*80`|w8??Ai^+T?xZLIZ7czF@!f6tUvenCwM=$I122XKz4a zP`^~;qsf{ampPmhwgvjfte@@ce}F92rzwp~n}@mPYD_q55W&pZzr%h~qtK_zfoqm! zsg!tu@LautxUYt}w*|P^1;T2>5x9x~9)a;Htf?gY9&Ct?+ERtnh^TimHkp2gilSekr-?@w0 z8L=)r1@)S|CSJ{uUJ#rXJ^zrU#qpO!|1Wbe9Dh>iIsUHIoaH~>EKIi0&wY;`T%ogw zq0@yhs_P&{Kk8^dRL6GL@oJXhzz~x9g_Y6F`v+F;dHTr43q)pT?}dIO?Z@<1x;HCc z+`8|+96bx)E@G_{3)$FmWysfjUTaz|^zDLaF=#UEf(n=HMzNWc2jNE-n_{9G-m+`0 z?lSc@--a?k09sf+=wZcqV{tuprlbJ!!@gr0P{97#2u|#-|Xydh{_8u z3m$*=l1B7JkE#wpCWFNk=y1werC6DwS8{c0#W_2Pwy7fctk!y~rUF%m70#xI6y)jA~AovTU z$sn5c?K)#GKmlE{nhyuEW?WfNxkC3!$4-|K&jc63%`Og%o^NjIHNB%4fhl2gJtel9 znB>H-1o-{0&owN`tq1lVIs_%jX4`~q>J{Tk!UK z3gZI8$uS?Nf+c0FmNjL4OQlT#hY4+c5=)WnhsuPoW;UwYSIHE7M43U64OfyBal#2x zC0Gpewb&Taj-p5A+{e_CM?T}CM{E@$0--N35Fg;t!tmhk#U7c23!w?}!WKekP(x|x zOw#i9K~E!2Vu-#~)9n()1!AZ6Y&+rwfC9RfkSn%Thjj5tsZ+ zPxp!{$kw?1WJ+)gowc>WAKZs&TOqmaQ%acmbF+nS+r7yJmcsidoB|}HuZS;!FiO)T z421!Y?*J2tR9wWSKdA7rW_2zs5p}Am?GzhEWSn{TDQrv(DVRpkj;o&Urd!kpgTAo4 zqi!~w0!<)MOj95z4$!Q)f}-MFeHf$j@j%C5nKc#BhR{`5a%k*j4Vcf81I)q96{9Gp zah{VwZ)8UD(SYC>w&|^pNb3+%U;WDq*+})P!-|T;Mn-Y9Xc*qmiJ=O3)^qpDT-0UO zN;}`+m1;3)a`R&(yPAIVC{H&MBQMwscRr~(sMC_a$~DDu&{9G%^vHUfPcD5GmpX)b z(&Dgsy0Yr@U0oiC8&OaRg}%{apL8G@hOt*-OgNH%>^Qo0x4x@9nVpd3r+$+S+KxQ1n!^%UTQsjW{Ne$wNP;2Zu+BZjh@KVOB;DkM{L=E(lKFOq)Pii zVUx%kH<+V;HbS$b&D-^DRMGpb?wQ`3K23qVezk?e)r|b+FQqBYd8=MHa%NW#RzDvL zmOJRuQr~Ww&!*DrDAm6!aC=-N>>S4me>f_BbzQCoP4>SCv<5vzq^Rw)ZwB7@4C|2m zUkR&#*mbBgr_@Boiw(yPPY>;J%3fp%B$_d)NtfBdYF1uO+r<<{f{yb{*t3-LzORoH zSRGtFSOfYGo$gKAfQn(jc*|dOM^E^0s>E0=lL5Hf6?ADpZ&$bcB=RQs&xZ|h2@zY@ zUS|z$o;(m9T^9OY+MP`;L0?vr5mRFjv%jm4wS0ms1UKmydSV_Y*dtup!ZVBB%034D zY7uWmL$#!GOOXaMOmo&uZM;pyDXeKaJ}89veM}DKRgXsG5NX`g++)-Ot)PxmQC!XQ zy`I-ZQCwC+qjt^k?7ZFM{-Z^-(?4nDU_4dCS%+cr$Qy#3a5yU zLpJG;_9HKp2qRZBYR^r09eCEwHEg4x`Fv4;WbrntA-FiY&%l%!b(WyjK#>SMVG`+7 zQ{hodVP9@3nLYfb;wv;?&jrzB+}oK*$9{+pN>coVfo?%0wzDq;cVWsx5^TMrSTaeU zvQ;fM1?sRsw#Yt*|DquEmb}CxA=w;Ti}1{*x`mmi6b0^!(Dbc zY2_k(V*1=+PLYd>1xMfn-sfWs(HDlYN~fAG|7yYY76H25d8;F49^H>(b?meZ9I;)J znN;7}5h^cv$dShl=T_TkL{?OEkuG%%l%UI>jd4J^&+_QvA6~{KlSPNqD{;Efps3r! zlLSn3eq(kXh4{u_Rz?O>Ak|SzvMDZ6JpY_^dBHhw~K?6jyb;sf10~pluKLEc%}sva*)P>~B{-f>i4C z#5acp`*?eKxi@_}TsWUMr~&58UY;JlSN`aK4#tg&kHGd5{y`DoT~4XK{fR~0+q3cG zuJhQ6HQwIqur+7Y>uDr7eApS+%g{T|$CP&AuMD{8+exX>>q!DJ&krDt+uyUUtYOj0> z$~&VoV0UKEyH<(GXc~twRHqb=6Aq(@6Hmb``@nV5VzJqTZPZ_e|3%-4-W~*{M6BV*GtV zN+Pm2GDv@DbmWakh@Zt6b>Fs#E8eM*>vYGd_BgM9=MftFhidhgkP3{~16O}H%sBq!wC4D`PHX1> z{EFnulDq$JiY-wY5fv4Kfr?IUlNh<3I%;F_)b?}Mhtg$Pbn=wtlm{*>*pao2!IYyU z10SjiB^;5>^aP;6UMcU^MmKs*QtTYq-bNb|G^vMVr*}etth*IcVI3B;iupKX-xRYl^$so7W za&v_v%h09JYXU=^j;CDXRxEYP^|?7iV7NU~Px$=(7V;`H57ILP<9fi{zU782bi3(} z00!EU@;R1kjPK-D%Da=Vf?k^KejGApPqUS~(_w>(F~e7skhRcKsmYt}Q-_FqBVz#9 z-)14)qEngHWEKWGYnFZdT&ag@&coQO-V4wu9vgQ&7wctpBhO#cA$(w;B2wzjIZN!!eyf;h7Z!yE6SCnhGgysuaqa0TRhf&xW< zrd+JVdYgK4d%k2|+(o?hU2MHlyt>{G^a>KZT-;;*f4sd_P@G%4g^NpYcXxMpm*Bx2 zfhGgRQkj zbtN+2(?a?(;3W3!5*m91x)}9%5+*79ZE(X3kVt6feTo_cGLYId!I!}=%@#xj!#Y@EkOD~#cwjC*9!OugksF))~6CdRb-1Ihr$lzXk!(o%}^STrlJ z%WhS;UD~iE!hW1+ot@UPl>$5BM#P^c7<2&+#avQBp@yv{J-s(*WMLS^+WK!lyQxs; z%9pXxjZL41k{d-b(w=kTVDFR_4v1CYN6VXLK>sqg|AN#nh*zjuBpM@IAPe;i%J`wv zic=_y1j(2$PG%FxJt-SRM>G0+>3aqVkWV3hDi{Y3LWT`9V1AC4-pJRbostk!#I(vs zEroe=ETyHqAt-_vC~`4ZD2C&RQip>SJVn5{$@sV}5SWed`0Hsatkv65%&7A|e(f3B zfOFmPf6pnNS9j6tbOJ!)f6pnN*B$=<(v1J52b+!UzaN~!nms)|@3h`RoC^96Irjv_ zZ5+4cevBjg;e&V=a=W@o^z-QE{xSUg-q)};*(ud{#!&Q&C~06(Ak%I*;sYX%VBsfL z>>i-#mNu(|Hi{BnaJ_qYsga})KFUHnO`?|_Q4x)IxA`bPRVMoS9uf-6%!`aMDv2`E zRC|4q6rQGKQ`JdCS_P3LY1@jirou)LJM}Z_pb8YsQ%*cAR~$e?jBsX5ls^hH**`EN zr;Zks*x(NM5o;hQ3ge|JR~)0jY($HB*&36mhLwndUY47DX~ifUQ_xzMG{teR2DGBh z+NP?lDpWdWe0JM6cD@6@DcbHO5>99)VzB&z~E!X2>7w%#DSibNB{y@01l^ zCfzmf|9T7R_vQBT@v0F%aEcV*3^*pzjDm&cGr`VY*?6UjXpP2$OiEQf6(l|JrM=kk zEm_6HrrFIaMY5O{mHM4NoJ$%31Jc6efHoR6g z5mFc^g0hN}y|TBk2lyKUtifyGKVa==dRZHVsML3Rlj zYfEnJT3s1#@ksXZX%Q(ubtrz2Ie1oWQ+_K;*fI%q%F%m4en+A4Oiyi3oBa?h*>=>X^K#+@5u z=%Y!MF71sag0U3G4gdkO#xRenSB>wuy$O)ps&#u6=r?S+>})?!Q&xHdNopW_=wG|^ z)uz9yM*6rn$M!=A1}BR&7ll^UEJ2$2E97^6DuuPtpKd%6{$p|sX+P(RFFo)JPmL{~ z!;Og^ey#Hn?U^|KL>!fqAgRzsEr4@8#v1>i_zfrH^^eeV-e@XoZ2f2}eMPIRG?lIC z2->>q&+y<^lDy6;R$&<5)F{bEohc!(-#AO!Mepv5{hVp`ViZjZf3TmxT^1D24$M`c5m(&CP%y z7wneY2(i`F*oo|NX}9h8yZxYCT`uR4Gel|&WI%qebR0{#ng@@}Wq6xM!%H8mKjg|= zgsVSHv%f`Ro_|hVJbx64|D}za=f6M9(rf{d79{RiP9sfTr1e&o7;TNo0wO9c{A7SrxH?Be~T* zg*jdaZ-|-%Snx3zCEk^KrpUzcI;XScpa76y%lYE8l= z&g(|Xx@%Q{J)RL#b{MwPa`Or$AFs@MkK?AHAj+Qzq)D={iWPb*X0vmjdqA*Hz|N~F zCI)dM-my{jHG$%KXz0M32i0pPc`B@##6^cV4`H zuDOrqo`7C`O$DN)L7&)lObXG%xn0s01AAhR_Q7!*;yb41oOgz|`29LPqxPfStv)|b zZy$hZ)`I8Fh2V&sz6+;Z(OQ3mR0`O&;TxBhm1REk%x%lGXxN6|U0nfShlzlwcneVW z)751Di>D=T0;k~KRnY3Ch1FQ) zn|`c2gkYEyu2O2{#5#XQP|%k(YxQbhT?Inr69>;BnjO1ocY>2V5s3RI_ab-I*-xx+ z0q?C031RP&^$#ErW!h&>+<#TK`B?8ZVNMe2!P!;!FbwNdNHE8CXmJKaq%lHbA{4)AbsbmW`8p-MnVL@A+d$s9 zer~L<_g|wvC5mpK#oI9{4vL*iB-Z9}CykH^Gm743eGf`jX5^kASq+5JB&_1v$AFCY zO!=X=p=Z)Y6L)toy#a;YdP5Mu{QSV;4}NP;qWp(R^tU3-#`;fAy~3|3;GL z`0p>QGITsDv{9v9^q@0g#T>+cA9f5q$G$Eu@1PlShLFlXc{zKW#nEre-{mf8p1>6|YDT+!} z6<({25350y5qI|ZmCduGL+TGUjga905v@H1J{@K3!F z2`sI`ay1uLy$?o{4h{~beHMHN;5DNn8wbuuZyYd_y8FZ9k5(>Do}Qi_+x)U_g_f14 zI?zKyuQdmDV2`U~Jh;5l!$IkXPcq&hjWg*3Ato>7x2qH!t`VyzJ?%t~wjx23_IL45 z6>qN|uZjp7cgMlM?v?_(weRzUJ|D(A7s3WaG#XE7M${ z7&*OBt^jHYFX3(WoZW2Aa{(3vCXMZ|Z#72_Q+{*8xHlUf=V+#5*%i}|ihav2b&-UGxeKaso%viKR*ZjEs&icfkQoBKHl_GY88z<(VU1JkKl zoe>v4t)qWH*aIJx{Edx6t3v0*zINfLvC4++y(A_$)CiaT5s7ed|Crq;{b~uDR5juE zk{T*naZ$e;MLayp`lqD89WpZYiIbscu;52Km5B+*SNH_@g{ z1wGpkKvy68j^*$h^z{tpM3 z=TE}=U-!a)GpYU$kmVWHK838PgDXtwgb?%*LE0#d*hd;o8b`lus=pFzyyoBB(FF@O zXDp3QnXkm(U*@w$g75Ntni4S+(Z3z9*B_C%szT6wyv9Af^avzNFbqWdse-_tFjx+G z2+byzKq<#3odoq!@bNkhx0tgp_3;ycQX%C&N9>M^N@JPzzoT^MP-2O_SMti!|GQ7pg&2cHs!Je8-s6vKq!qP2UppGv3<4e zOb8JM<;lKOmChVVW0%YuWIDYj7wV$*7&z{e zWwBNR9$;4Qya|h$VNal<@@;x~%MgF>nKJUKt7e3CrdrcVK-So9bpPXxxnPTJiVNUN znwW3j;UtKpY0$c9H`-eCy?O4^?NB0aS8O*fOUloQ{{F7jxkwO(FmGq|2Kcw_BwT(h1dvi9m--A?uWccV5>>0*8n#*By}+=%}F4_+HtQZ{&EF z5{8Dzz@~Hk*@RQ5&=UX4S6Y+#G;_KjZGygz@Z1g7K*H-{iA&raw4w0HghxZ=b$)PW zOjZ?|f{8i!glCmd#}QPOI9{XB9`Efy#5rEaExTCAK@=@8l=M$=669SXXM+xc$4|V- zznkN1UM{-7f_R$x2T}eoP5u_Xc{u(Nl>Q`q^ZZK#F_1v{Z-@HR0X<0+H7pm(Yz-5$ z5K0TZUnoN^W|1|LA3r?<6p&VKuYei4HM}$Sg&A|>?6A=8t~;*(x#+G53)bHD?Y$o^ z9~6TU#7E^&l)$&7LZPIOffT$SrH@g1Op7Up@AzetNT(uDJ8P+jc%^{D4y>Z8Qxe>q z1X%*V(lp}W6$CN>Yr_Xz{_Q&j^<-S*&Oww6@Ptu}@Pco*;Dfx?N9fALa#WfcYk(we zDHj(RJR#)0$B2v#fMbrz;%47%O&!(Qvlx)Ai~^jxWg-d0G(b0`>P?jf?II4Ud%3YW zk|LT8y%N;6zjIi+#>!YagHq?T9rvNqXMI*A#a%r54F6nxh2n;LgwjQ)TC!!OnO52i zZ#6S({U=ZWv~y4~*}cw0O;bCM$J4{ZGtilB&~Sy9BCL&cXqtnDPS>Dq?dAiTTs2-7 z61i?Wu^CpNfx_OV$xaP?_!c3zQg5r(jIw&<$cf*DOl-f>mdjCqum4zrJL{^c9=mLQ z)ppkTYSb}%+`S2CroZRV*rrwY6;=9@_DoMQ8+ zIi<6MlS!cbo7p0{xwM_3G-ZyGxS2X5H(Bgde?#B7_@>vwBzVSuLse} zlf^8oSsCB|Fa+tfs30|JYahV+oD>fWTKR2q|KNOc->N$icZut*LZ=kgwIxj~(9j+j zpUZcBPP8!QG#(T16^{E16wGq$CqOIpt9NpY`um8tmJ(W348oWC4@JKD)MLW=8QV8a?bj-L{%TigW-;9-5Vas@gcLjxVO=yV-W3wdL?Z=Ef}z1bc(6h4l9^ zF!qOtr>FGautuWDl1dMf$VTddZ-(CQyPG%!ItGkCIHE>Au)^knIZ&V5L!8hT@?dlk zD}QOy`G^Vr6?qk+tL+L+{rKhA5UBQP#_}0Lx`Xo%Xb|4NMd|-o_4EEol>STG`4=aW z|AWqJEgc_VhKy0u^FTlpZi0sun0Ao28ba_8#&u8-B8RI; zf{}bd;}ZvBvD08tYZ(f$3`+_9Id|~usD^i+PQ~jOA#@FdX0ICbzpqy+c6q(B<@z@FZ zX^H8>e^?8bm@}5Hp031~qM*!N)E#L?dkHZY+N>LN;>7<(C*Lp28N;Htci_xrNgM6= zWj|g{1@`eyh8N-2ti6({DLNI+;WPaA2TDB~`H2_B8B# z)#2l}B2)`pS&Ga`3b;OAdk#SScD=d2{C#`-yIzOX+wcXl^9R15puI;#myfQJx5tFX zzC*WvXYK(Gj^{yQ6`bE1&*d`S8H?}fm={-W`rti**R!<0PtoIY)5}*R3dQpi#b;UZ zn7WVzNGhoPOxLdEV`8|JhZ%@aV<_ltx zu|A|V^^v$T@5#Jq14P>{oY`%)vQ{1db8&_uj0k~Johzh?tW#22m%B~%sv{?O3{0*? zlkwr<7gkAh+)<@I=7p8~72$#cF8F;wOnOgaBEcxN&d~tSaRf9;LHd*8s_#by(7TXlaB@#^ZX357_c& znY@lpJ_O-{%kb>XB+!A$OYM@r&Ld=nS?l1un=`?iXhzDnO+K(^U(XgiMD{n6iCjTz zL=Q+!4GstY`y9jjx0KBGACf}V7c|4TevdEv;uF*=S8f#?_IrJUr!!Z-r&^_h-_c!oUo8WC zt-Ae8z=$Q;&&ig*bs9p#5yC+Q_fCnOv!RkgzM^Oe3xPEl9_nLZ87lI5S-c;q0*6VO zKm-y8Cvp!9Z*_Mm9sk%RnpjGNB-ytH#MnnKzhg>SHX!|`DmCYtP(oi%d2W(L{^;Z- z9*)aR4s0~+bv4bdXS9fga?`}}ukzYNob$B8lE7t)wl!kepl`^Em(GB2RV@uA(~b3&7ArsdGEKW98IQs;NI zxTRxZK>&5Q=*o`oN?^V>5Fz~yb7CBg816?-0VR8=&7MD}0b_oC`c>()U%PX590SDL zi5pxLplLpnX}-O0*t7|zdUtEXpgKdYjQp+16%B7rxy9m+bO5KHVYhvA?a|ImnHGz= zqGCw*EKW{3C&M218Oa_?t-#cg&FxQzln?Kcd6o5HJGgLJ=9ij5pyrcNU*9#xr8Iwd zWqy&RQqR$Gzjz?XpS|*M254P3rtIezq7fTZL^MD0@!}DF=4U#*+&|h5bXza6Z}SFU$2oWcMQ0%%<&64+cDG9oRZM-N93G*#Zni``Aw)&U_W zk;rvcO>z_+M9V|zD!K(M+M?{Pd=nt!;0H^ibhU8I}+AR|cC#kjf4xRjWAR6@^lQhLAnAgIWOr z1KI*s!6XI2cQ$kgVe*lv5(2h_PqtBvrPR`IwX`IC7$HELQh|y zUl`m+QYha7zZg$xVs0m}I9~L{9mPIF=j-D^sk^(kT`Ui!=r6-tFJR6%97undWPeN1 z|8XPZ{i727`ryAfO#!F0|N4zgN9#})GxWo-U~&SO9N2p>2?$fppxq#2R48c7P9PX| zT`taCHC*hK2U&TSf^MgxfnRMKweKAW1n)Du)i8XI?|E!$%6tFu%Cy`<>oWAo1Sr?;f$4S1{wV7e#x@+W zA}_2kt#N6`4Qxdrrh3dsi-+(*ULeLVr%aj=8GtDu;%nX9fzMNv3TJl=O-DK68+v0R|>UvKgSev zNlIhUAW&T?t6fAo&X8zk?w6K)`SET~C0>?)n8%5^tPFVRG#k9|`xADKt>Hw2?nn38 zx^4~h(oJ?iPW^Q&>$_U){(gGCzKpAegTuAiJxxeE1RW|h6u!ToFYfOzgrz(?_3z;0 z`Gbe;F76*dd#2oYu7woHIN_!};>23J>v4iLV<4ite$JZtm=7kOkxftfnTynYS{4CJ@e798~UXuM4ZTo4ik` zwHV{5T|A`h8)mR#SKzNM@vyK!zM~gw7z$&!$$khoyFs1xHzSKzzWYp5Mh6*3Yjd{pV1lpWpiw~vv z`eD-_D%}V|)5Ye#G|)H3-JXTn7OB83$`5b9QR=@sN-tjg#e#ZV5`t8v zSBjhjrbOfbiWn;+TplS~z_ea6e^`NZEp|`Z~Pf|T>JgIz*9t(O`{dEIYDaeOW`)_qkXof0ECu3(9N0 z{re1=@zBN9AM_52KR)I;nOV#pT&7`-MD!agA`$7tUN8p8pN7Me z4RJ8C$dNFJ6pX43p0^d~HlhR0SYe;6qsZY2A*OJa7yX{W!h+L*@P_CnupT4p8Ao}4 z{T?V9?w}1d(^19b!%TrfhDdm!7Ha$+zX9~}kx9jV-z?DPL{AHb*xQBm0HeV(Orp3j z<1Y$k*QG~83YUzduIm9^D>(=4Qc`8j)=N(}GLABC-?-`{!85wOL$*Pnw3On@nnkL# zTM(TaDaxEdw@I*+rFr@+U>xqGrmv#7AF9?gedyZ00yO35c`=nl&r7^p6!;?FIvUF=tsmRVsRmWKW7?VLt z?OyFwBW4DwK%9k%8!JkPwIpeu+ioUgKV4h>D&u_Ex7;-AO7)(mX$8vKbs`SSP0^j|3bvvUjXRT$rE3KZSjTzy$P^Eit>DA3_ntN5;J z?~ZrebUF(3UI6Av5&-Jfs==m~xQ=q$V$XNGvT=3g((QH}dhKxQ?a<)~z>a?Z=09HD z?fZJNxM7*}DbdhU-?Dfi)9BfEHRobC#$&^=JJkyZ`Rv=qidJV+Msv$0_V((VC7-cN z;)V{(lb#nB^r}hUU6PNZiO)GF$WQn8ryD(m(~l=m(P=Z_K~g=_%h=n51!bm9961Im zv&CzSd*D*wpW7+4koW0-Rs+xhV5i@l-F*MHR&|7`&%OWwHU?XcV5f9-)UFk#lZm=d zX?l+)O|s+ig(zUkIjP%qH1w8(!3Xu;^YJ}t`*221rU(Y6MB^zc@Kht0O1efjY> z&mzb+69ZSs%X7?meszMEt$mmul@daeo;nGWc?M6BcT(f6*%^0knzn1wRd#DvA1euD zf%wth^ZZl3tSOrOa5?+i7{VnB8fjT>}hB?q#`2LbZPD&<3=HncM8O#8oCIzX6#x}6?Xcn+Q zUWe+h1IiVEZA>J@AjEffr=n}iT>z&O{+)dcFEOC@Q5(4emXr^8K2#EdNJj9fgrSs; zbQbXe40&-dk?$Ib4V1r8_Hw2KB^h~_3*unu#pGoriAg0H{cr;*ytF7$Q z=O2wSv>)9EoP-B}iv-jO{b7LpEpz`zlQ!=kW$u6L?`Hi!sBc?z2iE(dGbi5#;o+nu zrBsV}quD0NYzQ|K0N99D8#1M|Zik;yd-}~f*h7k&P5JEZ>FEnrfae84_HXjZyc(9v z0+E1Ct^A+~GWKhXeI|awb9iFHH=%urXK>+tpAy>FgFFsU3#PRZugI~ZrO7u$iKoG2 z-s36(KcXN?c*0<;y7j_57JLfXEE7H;m=gCMFN?A+WAI@_EE`eAlvl37S3hN2lAP?V zX%3)V!4l5}OcZTLSa_;xCetatwbeZ|OqI$L6Qmyum)KB6w33rM&;cmon3vL;%H>Ht z3EG&cFTw2(G2h{`(q~=2s(6>FSKI7-QXl%9%&v@K_ipJEfH9jrZgUXxa3XJ*?A4=svDSJ2t2{v#ry{p>@wNETW9i0}dtbK%xnF|eC2}jJ zVBexzz!kXJZFv6tV3eC^z;YNR>QjAT9zHssS?dEi>{CvNVZT?*JfY4dJZd7fx=#b0@LYk8A#U1MZ7MYwo1o@m9Y9t11l zAm0=|apWE#NDOjdu$-;LF*!!eQe%5F-lJ*Bs#mpU4CBAVXxV3fGJ<%l^i#L%$06YH z_HJ0IGBToma&Jn2$!*D~lR)$EpG+mVbv$HDs~znhwX@h8OoT`bYRUC z5}0flu3PvTm09d*4O`>GDlX0;uQ_^(5=M~_Z&<0x&52vbvJAO_+aFnx$D$LfIr#NN zsof;?${SrDV%Mp=qD4)bH7I8msX_mX%}thuA1l(6Vc2$_caGWSDe{3CCXLQ|lLE6t zmedR*E*=wI@It}%o+eDoo-ZbYEWAorW6hB@Q>r@U$In4ID4#uu5-}v{5>+svbJQ?- zVWw-o_-BVd#QdPhE3m@0(?Eq{)dU)XMDZ(}?r9mp@JdtzQ6LHJ`iRdCIm)=>Ao>#Q zDELIKI^W6BipX{|T&iNOUo9vSyTLL!I$#7|P@wCG$otJ-ymR;bIML#PJ#_-bvrMrU z@zUh;>t!95c`bK3o#tg!<{1V}y$1e&Pbt2?g>>$J{E&Qq6w?2tyPNyJKcqBmB>+F< z2Oh8BKscK_*>`koZ{IPDGLAJWTulQeq;Y*$Xem9B(=FdAgd9AJFrUe>-rltk5(eMo z`KT7%4_ss^`N9c$y)fr+W#JL15IByIOc0201Q9?;9;!~1z_hMcW+A-iGhUiGAJiy2 zr(!6?JpwmSD@huKE{X}A2Z_L`jRH%-hd2$iw3+CrQh;e_n8|G~f;}gVN7q*zNHZcw z;I&~VQhj_+>w2b$Q!~ZGLYIZclYD?kn#+#yr3@ci+gpebG1SykHF99g^|n~0vC5Pz zf0PoVZ4@LG?-k^tI=?x*^=MtL51zAR8LH3!i2;2O71aHW%!|FF7~kTnc7=K^{_}?IEv5v{_RbD+7RaP=x?{9u9Yr_70wEC23!1!p=mOQ`nymoCG{J#)9XV2 zrBmLOnyWjE~+c$Gg|d=8Pq0vB*f{S1UgGus&Le&7icDw-*?)RMFXZ{VIk|2kTpKTa;LfjdpV z^tKFfyr%Wg>^!+%l}^f#nLwbU zRU|dwQ4V~b4S2~I-)k5Khz!@Rb^-YXrjP-TtPV>zAiC?Gui?!?r9G4BA5c0`RhhBnsevdpS!r6f zfDp@QP#_KAZbiA6^gvrDv&N*gHd=7DDC#Fd8g+6)++W!2qf)joTG1zRpg3E|Lqzp% zbk)r6NKrCm@n)hF#zWXO-Y@k6Gl z%O*#7$!iy1mDg@E3iteFWd28AY*W9bwp5%Hc=I+prXqY;KxEY5Zn zabMA^f-T+_Xy?`|p3nshgCr{gH-iN2g(9L0R}W{Jq+lOKe6{Z|S)BEZ`@nv8Z(sG| zx10;aGeF|Qp+ZGUp-T3gg<~;4h9U!mj+q#ytU_7sjc*jc_8>DXei|q2L5r>5lMepC zJQyhQxrT*{+PF)g4K**WqkJQl)^#3tt9k(@*5E4}Ri?^Ra^$V>4hukc41~h|QdR-b zur@&I!Vs5r?acY}GBMWrFrj#?Wz^e3W0*P4DRE)&ekY9$9&LS$Hj2Gxnrjc_R*eL7-spAqIX zUra8obmm<-_c`UI^|69EU0r67E0k39Wg{(tE!58}rnJ$WZ&`>-O}_F7S7Ws;lQL6c zs*1a|C!dh(fY+c*X+8xgJqoeq9bnGgSn&>(OJ*-@P^JZmO z{3(PPNA-QN$Z3-mx9Eqzr}rw5CcU~pacjuAJp}Gi{=r9!^xur)_dp=fjDPgG_@T0= zCFj!d+A2`lGZCIX_r7~$1Gw+8$~v&eX~Fuhb`E<6pq!m;bW%L6N~{Y(0bfqij8TqH z;GZw@)@|Eg7M=vSF_1kHURH^W&rGUCItNXII>I+kg_tLHFGd%~23K^Eb7Hg6zIBz) z9x4Ozk7q~T5syXUyrVB`+gd1)B98p8hM_%J(Nh`L8|xzYvt!{}0+Wbgi>D6fjS`68$Jl<*L5SSUt?o zi`iybv;maGOdkxyPd>ukle71Ml%*q1$?B;&SLf%oo8cI1n47XsXHY&5(J-EPkeZC%i6Jxu+PSk{7QQTVn2#h z!%iL@JfS*zA$AQ#3^FB3iIbo>od~64UBk`nGP~uRUHi z>d~1YHFOZ~%kL$^IZ$*l$7Od%ZYGR*^AxCy#F}-OiVMZ^;cS>~QFQe&DLf&kUBArZ zDOe!%0IPT)n(3(x&4t{C@cBXf!mf3ZWHP<>=*GJ#L%6x}zW6lV>vzSq=QEwAT3@7o zlTc1))fzC*EVxK+4*S(5-`yRlk>^@ab>}e(x(!|}G=qTGqsKxMJn)_$UB&aEIj@Ew zdScjrg>l|HdB@^at2uM1Ty$y3iG)%5>@>yI$2k8mlimz63hV>=rR$)t3qab#1l|?1 zbq6FQB;1`zv3_q!#x$3n2KV;%YFE64Z7|xhcg@BF#gj(#k%7=b^UANo^t6(G$3O zMfiydoGb;L0-ENPgx3~Z7%aPdM`D;wJ5iW7Pr<&f6B|f2LPLT+h@I1pi&yg)R(+Up zx?(5dB$+YhU%jI3{eehxrJOrG2^b%jPQKPgJ9QiW{ss;mpn=ryk~(kPru_lzXvgkn zHI{-z`&Mm`55w=EFAC+WL=(F#fjdA{MZ+0>CI0lJY0WIVQ}_Fr)~l=rlMx4VqDx1F zu;SgfuIy!HsM&X+@a5O>bv}5oeWm6E6%s9??yzxHKGM6!23n9FK+T~ojCjeKw zHto^^)A#(n3G=~z7D7FK6y=ZB&G*nM%vkIej8$~xwr@pdNaBQB3hsiX88b)B(5yL# z;cX4!`DK`B=+2S9k^1yF78V9=kVFoEe%ZGt;0dOu-}B3bdfB%Q z*{FNjkx<~djtKVoEV~>02=*NB4>Rs>eVXqdG!fsQ@=a!099GysvMaUW?~2G z%W#zdPWlNq<;tXaKJuPUQ(gRv8MhH_>ga3G@ogrW#;!Gl%p3`10#Oo&xG0YrPrv+0 z7kGu1{Cy*yres>kT;8uIN`{I=$r|+!U)zDM;w1oZeXp*N?llr%+T9kU%c~P_{svHe zM1Zt>kyxz;%MSWRfhb0qrwm&iOWhPO2N`&P&D510ceXH+56awpVYe);Rx8U>GQ$ zXI=$KHvj`|rK`q}Iv&NNwS~DMB|0}%o#LI1V4RU=Eudt#=ZOFw>FgHb_2m;?Mugj8 z-%dXtpQR7jlaO^Z;%h%&F^i@SMoQr)HqVw17NBRK8TD|HWvVDVxeDsR{zGvyN4Qpa zGsh~>9!0z=aQRIDYL)C9`QrkU*!y!WpP=_BkMG|_^B)^Ek7-J*KA1~%Ie^-`Z9z;K zvfv7cVAS(RH-~x|J%RP873#Y2TL-@2S&A?x4P`;1w5auBR*!CsUJ2Kw!|~{2{O$|p^hQ+w%P#<-S>WCPgKBBT4uamaliUVJOK$yU(1aY~ zY1GcJnj^j8Qu|p{ppB1SNLzl}5?qJ@d z_sFsO%MyJ(bN72-g-oF|B4%tzW5M?Z%$^QN067#L#|q&EWC%r7G`JEfpv)5A)4q76 z(9nkMK%-5OIEhTMaUSdnZ-?VSNuBMziQ&@hF&KQKf;{^ki3#}~LWWMy6oeulVUC~G z2$RSg-U&%#ZirP53N&@($6hSS0^F&=j{YxOgU9pFKha1qh*CC#vvLiOem&pM?BPrf zBZc2@rw2S9kx1Vy=Kf*I{4FB0@%^&}<=U`6$!Ot)i}tu1HoW#~p#?0Qg_afghL~FZd+pn}Dv2QCv_JCZ1Iis!oNA z$~SN;(bC|n;+RjeY^pLx?mZ^@qi7?6@q$rGRG3)+O2(cKlPl>UCUe|k+?Bm1JQZwG z^clx}cI_3^T3L27ZQz)DofcskeQ?K#VnRZjVzM2*la(#DQ-)GRfoZ`cB@uo$hI1(U5&{wul zk*XkpaG5ZE-xM_43Dpk^9Ay>+`VO`@tb~a`Rr11kiO^vk`vd^;(GZ!&8O!$kyivP) z;VAvy?q@mHOdEOq!f_Cx9QLU|(I8-7TCq1uzXB>(C%&s6c-90kV@4^l2caus9jy#M z?%aF;N;kBC)t8qgK3U}FqewL2 zIVcn?qIkFUu~c19X44IeC8b68+Z;M`<_U{<3+wk#GG;_4lL!O}eca7&s5oK&-$NHj zZoW&nFBO};!C)v5f^g?&mBheT(w<O) zoXbNLJ9jIqdtJMr_T4(Y^J3fF3Jm8MW-I$<2VSAQoIbjNd6vokm08NtskI7B;*PC> z_-}Det5>bqAr%LM-8=0D`ivqCw0DSzc@vp{^ZGL?=l<8jR9|`6eJt=UX5XJOtP$Kw zJMweh4S)-_`nB$o`&+%Iq>Xabb)q@UB_HA2tot7ZSn6~*4S+(I>iKKKN7+4If`%if z*veZlb$B;n%#|El6%qofoAPt-Gs3x3)CLtFX52sw6s`R}nxdFJ4lUA5MxXpUL>d^d z%lU7lJsmp*Lk*45$$-ykTKPv+Yyzy9Xd*(#c!*Kp*ih_apa>*R9GF|&Rw8e<3T(+r zXh{D3hvM8qD@tIsyyUyO_jMuCfutww2%a+VSlRPw_@)*7z6eHEn6mK#sUv=3!G7b} zw#QNuls2=uIsL)uEFf#;>~Rnj04W_&^1n+)xLE&|q1m`u|GqJDvHnSi{>xzbZ{{33 z`+wbolx6Et$d4H&paBKdT2Y|ct19+EO0ViC_ED2f=d6v-^NSImfK#K5)2^>jL;XSp z%%#Psl7u_yWPiVrnF#U;$ccy^wBw>!w|@EaytM~L1@eaqE#@j-3JZ&BFqn{La7rP$ zKv9{a=hAvMak+#^!Vg3Q>`;-gPZU$+A^z)~4(GCK_2)TLY=IV0t$<5LGq%B^$EDZIN5yoE&T&1gJ z0!mmJ9nyf8+O%-RXzbO4%3|Dfdlr(fm-_GrHy`=M~#LVp$Y6(Uxc zHp&iaIY8%iIRpIAJBNNvIkB+Me&Zw7Z=!D0Ck8NA8jn`5&fQvHi#qyU@0OhzCA3VZ zuGV%c?9&KNPOWZlyY7E>uo%f0)Y=oYc}wSwP~4CDHa*`xYIlztiW+ji+uKQ93J2`r zskOUXhV2(5+h^I60m3|z{!SkU6hdOl%OAf|$W0Qi5Eokxtw`FVuzybCOWM{*q8;9h zs!AJrlg*ep{2trOo*ZRzdn2<$>|;7KB~gN_C=9q9tQj@wL0~atePz%s%1~Bd75oq> zsclfV4fW5n;g<`nbr6&9!y~pZ3{)Np*vGv!Fo;KNk$vMw6T8v(0FX|28Js^6QIw{uCnjx;B$nni$akf; z*Ms=I8SK{N7uUiS@N3F(>P*<{G}gQXq7LPIK^<7C83NYcgb!53_W*CJ6+UysRMPJ| zDPm$n^5h>d8JfbD03X13yL7c0r`iRn8MFj#P|_GKbfq_>WX!wv8f|EbT*>bvY^abD zxLe#gWz;h|4J!4FOZ8DAq6L8aXUYv4|+{1F@g;hj*8TE;7u z4@?tfk(C!Lw{EMk)g`Zyg(#5H!?dR9UlZ_40h0e|SW=1Ra!@t2DoDw!w7xDdAA9O_E_vW3Y27&fuadsYM4-xsMexTQYy1AFM6kZy&r!b z)c@YmT+y=?vO;7SRMcL4z^EGO?R}98H~M{G?Z?;s_1QDV68?Vs%;Y_FEz#uNa%5*IbFSc{DK z`0T-xsG-O+Mw@JXh^CkrA-eFQDZ)TC77ft1r!!6{GdANsWVX@6-gWjv7fOz43ucbA z=+N`z%JZgu^74PVoSpEp7XV-x(L3^=)tIrI?dgd*)OEIX`0^*`8A36r#v7CEyVPxS zxXYCe=Qf@AO%CXp!gD83UTT~R_ch7im2pq}$~CNA=(OTG+R-0j6sJX0EJm#FIJ7)`XH(sUzd-`V7?H(`KQ%Q7*Fz|9XC;Y4Zr1_?=Nm^uH&ZP zy18AFg@lnrL_i*+*VDUMpBbkaNT#pQwqBG`!*dF)9Y@)hUN&h4aJKt+`ugfK?IoKu z>kLyf+E}v8Js)-eP^Y#jD-{3nvju{RIcIklFT-)F_h@pD<4Wp%!B`Z;<;DHZjyZsoeZp@%nyrCd+G1`3>PC)Ej*gB-XSPhm zPeN0kWPDl|+gqO+SxWn&2jXwT$43Er;{vVhy!Eu~qqg zVn!uyN+81&dIH`MK+Ql#g$My7>k*)Zg##B4L|yMx|6RlX3N1o4CM*E(L&k*bR~ols z0)IX9pA@C%i#YSYFhu_WK^pxFcZB-SUrYOoWkmK5|A_G~P?7jQa3gIXDrpS71b|!w zM%}{;hEa$3N;`u4hmd59_exbl{Re;4!~Tj)A_e~0-b~zohZpnc)8-01C-b(?bud7TX}=(3Uz_@U;Bn6MeQugNBeY&FGXAOKoCLs3|sww z-ZRo6bpbc1G_ty!8`uQZtLGN%pYi{G!)e%{oZz?&9akI_JEzWQHj8wW;Oo0j9DcU@ z@dGQdH2Q4rbcI}Fx*8}g{E*Wm04N_m(>C*?ttszq>b2U|CL)t8e#-F}Rd6X~tJB=b zU-0JExu%{IR`1N5y5Yys$bWB4KCtW3wxIw2K30oHqdwGpAMamjWLp;H><2|5fP+T? z2ZiL6MJXJw(l7;6F<$p8hO$aO(Gt6x26g)g$Y$|IC=Ms0$_A~Evq-(ZCs!{Mza z=rR103avsv+ZUu-)YT0WcFh+&zZT6yg35C;N#T@|Cr1iMLc}ofjp$JE^)0^Tr~ikyvyQ2A&%Qn`#ogU0#ogWAp}1So;_j}+ zU5Yytic9h0rL?%aI~??VxRX2cCcpl5lbMj5<`_xCIs4h)wb%Zv04dm@0_HFbD3KsE zsJPJHb-eh78%QAad7PPHv>u2TzzhtAH2at*v?dHtd>wtnF{xzG2jC`IFayE;<0*K- z*vH|M2-P;v#rbOn&FH>OZ($It!b73G`(9B}$`)p9_M@!?Py~e^!HyE2PFv!it>zWS`f zk4tS@H`+BF8N3v)HZE%N?%LiMb$RmTPLyu?v5~k{i^`&{g#R)(dpx2~C`aFPi|C zD%CoU)wOcbK?YdwXrs$VUKtmu(N6sLS)q zZwq&2=_!UYRmwPzpDWoM4Gi1Hb*HCAHn0mb0g_ z(a#LwpwO}k0*iXRYMmyVVl#X%{x`h>k&jZVzJgyl)+rG>QooxiusLM%SP|Q>e@mjh zQ)oQ*Oo~-w_{hppK;^2hWCO2}2$lNH0VgU1Ydz2imj>^Zc&~{mky=y;mV<7E`ADDg zmbi_1^t^)<4hVCc(#-pTx)K||zzO){S)<68OO6M-km7!T6Qc)#!22A{aIxK_Ad*J} zj?ag|6==xJPGX!hl)LbUX8j`qOGwxs@>O6g@cIj<;_LOft_E|`0xrgUov|)Xe)#%6 z?8bStbQY4VJe86>B3V`qV*a5@{XLN2`nNlTgZYmGiGS#q=l<{GgwwR#3yo02K9zk$ zMTKIBK$1Ix9>9%Vwql>&0+hlWl#lVy?zOj7r=g_$Y=|yvS!v4WjrZp~49i*JcL6gZGHlM< zsRFnP7Qp@?|6Y@AsJi@4trJP|#OSno!LR*z%Tf0!AO5x#g--Mgmyq5-c5_7-r*5f=A zZ=&o|7i&KOG~i|X+a}LEr1mCJRRpJG9L9<^oqCv=*&EyL)zjufP?kOuCB=_-{E3yk zcP9@I-Y@%W13yX5CmfrfmtGzpef)hHBs&L*hNLys3leW9^n^}tCze)A9uCiMIh>mW zs(SqORZ$KfMuPNPo+5g$%CwmUI8V5>$HS}$tyVU{EI#GF`}(lC?KCG3yR1tbhIGhc z2PX+P#8$jBx(GzA05l{11dc*uaHM0G;EfilD6FlBTuy|^ z?KfrWW9Bhs=n(GP+!3p}YwPRhXdwPNIpcTspINC@IX~7<_$!r6jQV5j0s`;Z@a z2ORyEKa`}urx*VjUT`q~ad`1hE$}S=eNiv{HxQbJ8cI~)QUa-9lRv^^2}KDHN6UNq z!l35Or83o;>!OVVcdvC_Vs~d#4HTp}KmCJJE;mXNks+K_4Zx}v&&cqIiL*@aXau%Q z)2gQo>EE*BWGVbg*^I=EB0W!^LE8BiwnSwgnDk2_{h`DG0d^r0I z$s4J{W}?`T>HupXMX_izuStqqq`t85K{QdDH3z)-(|OtUZ3Vj2rxS!F>xr|5oyH@x zW@UOUdH{Eq78eQ`Mqa1*VEQ8FGE2~)2B5I#ZN9!A2ZXxFa9{i{L!~_H@$vRSJ7&uy zGCOa_75xDd+dU9*l+YYJl^ZydO$58ML5*i{4r7|(+z2EGl)Q>b4jPw{b>&eG;m&!JH~~cmK3`dAaG^DDLs& z9=`T^Fnavt^7eFc*^R^32K$tIK!z9bLNFt`7TKqJmB!`8V@Zhk_EdVq4`az8=t048 zHMK|fk;FY{ChX~V3f}1{4ua>#VkqGf_*xOjX_;ixb+x7Q{o03ctpD9< zZgMGlNbkrTk`F9H*>It}oebvrOc3|&0*q|{x`hCgn_sgem*eXAK*2SCE z9b6ys?b}sGN(wQPg7+&>b$*-Gj12FRH zY`Br74Ipw_z=~X$s+0yj=oBHGhH(8>Or|uY1|lk7v#&_L-AO+y!<|7H3q~jc?$+uPYB(2 zkRgw|wEwqEvHW}Z!1|xoiRF*Ohks~-XZatT@G^9?He>;fPIMPwt|PD9h^_Wdh-A5>YazpuUSqGx4=!^^gtb|XAtwI{T?gWGqUKb#@=@k zL@UE84LCSXZl=gEHI?ut9Z5aBzN%ddrg^G;^be{{s#jv#X#^D)h zB}r51W?v)9`H4|Z`NnMo@ou~&khL~@tTolgl^c|8uchMEre^x`7irB+!1Z^)g({wJ zejS(a$XrVO*p_tQ<yv9`L#6w$i$cOi)_Kd#vSMVpzi*A2E2FTHOr$Y2Kt&w|Zq~ z#_6;s9Wg6vjZij(ExQVKqt(muir=t?D{K7W&<=3q{y=+KH;DJP^w2?}zHsjhpFeyU z0=VG}yGnhUJQ&xNg#zq~dMrVaqMOg>+aEfYkKIUsfyB=mup0edVho zlByETibCE6+QFLf0fCmlKUAcP;Pc4C@s?L_6ZtU`EFplbOSWF28Ym(AU6SKb7Z-My zWx|19hkc3HypOThZCq|cQiCV?8j8X7?YAA%LE#}doeqm0yoO!1zisPcNgiTV=}jtd z^eoQm>gkpblyY(8rWQvr(tkiNCJSEIEwe|zJN=>W&hD8TY|umQpyhI&5AOE_e*&SW z?pq+5#= zCTmm}vp2xtbb0@yZmcd(UW_)38Iq-OK=eg^SuaUksmp*fFgL|&7_sUpmC4q>cgF=2 zi>z1|*SHNYj8vzNP6m>Og-54a*@o++h|MvgP8x#}J_V3c!QUa}uS-svB>7g6(`TLp zW5R54`G#pFD#N*?p683hT|kCmh~t^_lPaiT0lOY@XeeWleD)?h(g~!Z5RpMW>;3y* zFuhkuiMQ1l5WunEiq&X8@V+${nmmKezZ#9}USks1anlWh-$nR|f~4GR5pKJOL|8PV z=;$B9xP~n>PbBDqHb`@BzB}qV*X1n!0{`To{{r1mhC}d&`t|pWf&1ThP7anoju`&w zUcmnZ&*^@yj5^e0_DR96eo*y27M%@Uy=}QJpyW+njCIl#q6_$fuFMP)TrTri+{s5C z2iNb!+)V38n$4AoQQqm-ZQP8VCAC6kLzH8Tg(4C4LR_?b6s{z7YlRCUb)|qyL-0)B zPh5c4O)9j8Ay81mlpzh5>m<(1w;CLGCXA2S)aD8%686uHs{#1I01GRrW0*3Y*3mvQ zh~%zjC?nxZ76zpuDQ$Sdh)DNuin^G{=N*`flBJFz97G8dSqL3|>_kX|M98PxvpR(! zGwyh$IQsH-JI1`p-G+TLe!{Ca3<_=8gGVYmj7b&}d4zHn7Xzvi8ne#(f@zxMB9ZQg z>+y>c8DfqGZzO?IQmpI1o;5D{RIlEm_RTLb_-xR`gl8N3(U?k2{jfR?uvxWDz8)>& zL_EUU62usDh1oUA_?w#6JyuoQ;}k4awII(TxIaUc?;1AhY!ZoWbMB7XxzL#XJ7VOhPw# zd3o)z@7(vaG|r@ES`ysMW4K5jSC7BXxqo`1sUs=B`PAcAyHFe4y`o2SKm3*CVc5{M z97mwetr+%MKm5bds@CB({{3x%>xNq; zP^pm74uT$QUY{}LcS=;M26N(zEA1P(bcfiVA<7fdeSSHB z2MLUQ?EMt;hDZNGHmMi0tz6GS2efU`S;T`3#YiKASk@{SF3c#cq8x?>lg4rL`*{^MKx-4!Q zn+b3>*}RKj$aA;!cE&;**0OZ^>ULi~G{4XhBc6|Y;|(8fFJsEjDFiy`Q0LPG@Dd`I z5<6}O5I8Od4Ka(te=CL+K~Ju28zeESv*IctG z{!r%69>%I12mBJaSMAln74U~T3CePoQ#+B@Iu%DIqq=VAv>9g>U_=7Gy3yf}5Fbsm zk#Z3RJRW;JYL@n5cWOtsomuh_7iLS<#nE&YAS|JIvd6R*`+zu1Afk2@)S|^?Q3%e& z9=~$UN}x`(qMl4qE?Uj!sq^9X;R!f@AZKpd$)^}4b8(MHMWr%w-p>qJ0DSJ1uMU^S z4?H+1vS-EiP7{?@8Lvoj`_)$l`ByJISNiyKQv6sf;s|n|=VrcaML^ho;)UTyYXbzT z>h;lsASUW%n`dty|Hr#K?oJ0kGQXU$ubnS5r013gFK28yC?cnp;cH&~gO2?`_jFS$ z6_bAjsb`H+8a;~-f$VsD0#0ot;In(3-pNS11GuvaYlp@;eRaC%`T>1wSx4|Q)bCmQ zk6ykJmo~7U7iT%)rCN2RzNvUK3L1n!j-(rd>UIJdK*9LKKh)}>0?p|{%p-*tod!NM zhlfY+m9J})r-%T5M&T<;@Q*zVUT{N6-_Ht_RK(D#$`c)#*KWP4s5H{t!ytQa-pYcB zCi*4~zkkEYh~g&Ps)Kw4_7F(x;c;UJJ2+Usl<$_nro!I0XVGWU=%ka0lnhHuB^-8Q zzGh}*KKvlB#$$`Op#p(he3IOzbRg+D&DSS%W=ZhN_iiQ>34`mbj4b=y`tojq2%q(O zsKn4zpwbr7?)vU_p5#g6Ak1CLap1Vv4tVVLCiu(@M^?wYsw2Ej^mlpN5-g(5OPt@vq^!TV0Bz)nQi)ao9iRl+B4-GEU>p+hptzSw+|Pv)AaadOCeMr8i@M33~JM_ zneNKVsZiTYFPD_H zhhr|25+(C&+BqxEE!9c&YPjA}xMeZ-#_q z3@G&6mC90bscTHT-=-Ib`l-k7!j>J&IgWnee*Psq2x{lf64F>I_^2$ZjbOqQQMKmu zE&`eOlmht+#mU9iu}{C2fPZ%7^E=qv?&q&J&)^>1jJ$s+27fEGEIj`XA>m;8lSIq& zddT<(#ensHz<$g6?YyCk7^cQNXS4~!S(2%!Eo&91jBZ03B24P}VyTm}sZ40}DJy4w zK9R9!6I7fynN2=c8Xf&I%!qQFwac4qUpv``+MBXmHYo!u=YzCU7o!)%wj@+gni!dE zoSiqwj10@2z->qrf!`l9GtiK2&T!})1nYW7UTQ==`hA%3C@?1r*#cG&n0i4Qx-Y*~La0=ZNv>C_|L6B9<9;(`o79 zDRmjgMoN;!J_7>-zU(R~^)E*K@+E9Kbsy=8k@f{;*7RZ&6!ShgwL;--tcC?oYA132w0>xO-Yjsp}ob((3p%fp&*mc&jDLeE}HlTD+Xq*QQ z^xGGK)5EbvXSUJ+V%}cKJmGL{4Jl5oO+Ra>Y~v+2ZmeXV-)Wb@cPi0LsQI~~zLuWg zd$Du9)@e^dA;6!qZ#HGC;a^PNHs&&Mc-Utak)8I%5lFWch$*=oFga(&79F)qglB<`f;xPt)+rkXaRqcOGlN|%z&gjw|*6HoB`ZKcLlCl z(Xbl5zM_n@UhHaZhp`s54zG(a*-FHxZ@JF%C%tuvBg{nv{S0bWS68_z(@F)0F$#o+ zN5{iQ9@VK&Mj3NQ%Z)ct2$;N7gX3q%EV{7uWG{C)j7zUx>qIKnQcd(IgMr2VU?9LHF)#&-x7~@y9GI1QM8qxd}*z z^{p?^G$_5qKx0RTg93_QHxreGysuKZYIR!O4{FNd5Y8(C$GTfFRmFESMe8{*t5L4` z6|K(eO;!}3hZZg^KambH?T#KW8<|Z@Kp(uC1a=q&3FXO3coNyzja1ggp7;R zi!lJ3GH7)sCYikpkZ1WUJHq!zBL^VC?&5hH$9mram)pHWu!CSH=xC{Dx?)heuPwCqo zD)Cjn@z6cwK1!L;J`#770vCamN*z9Yl_Esg4Vrc=R6FGj4r=ff`_Vn-js6?MiL@2CJ(-OJ}aV1S8V@TE0YIAotiBUAICHc`Q%_r27hX3ppmN zp5B6_dm>4ejgXlUM~?>@4d{sFWy;El z5`m`f&qdBR_6F*ry5d~&$pzuF`3x6pL-)&mbz=4gZ*0(J+F}+X#lOWF>Pm`hi08r^ z@kqJRhKhVOo-hB%3H#lmCh5Ek*)Oj5!he3m7e-rUI%d?2+K^t0aHw1l$HjW_2f)CT zxfcVQletJBma~vc(cNsGZTs-cc3X5IPBJKcWtq^#5?X@o7+6lVTD=y&UDjNt(;HCG z*eSr*Vyb5XR|Mpk@}QZcD;Si`bAVOZ1Xwh`y?Og!BUrgQPc<81S>wR_1e}QSCP`@e z9yFUgTq9=*ufx71rsbz*&vcL|?nZArgZQ%$+pZ5|s>3Ofbzdq|tSmiv2!U0R>SvEG z5B+LQrpZQ?TEKycsIjnIS&1t|F>L%+qs1DfWRl6@5KyIk@NeHMGFn%lFCCuFLqi`8 zcv;@H{6%HBzxKRn)E}o&Kzi?D6W?DGb$w#h?6cU_-R+n0pD3QVOoO&^+lKD+r~z`eO5!k6LO1jT*M;km8)F)=kUB}8cXk}^FMEJ%EHo*xfO zRMVBcx<4l~q(oJ1j(GM!5F- ztH*(VJu9Wt@{8<-TXrpE_Ni;wzM&LlNJp>YcfK<}y;Qk5v3KSlwsjUx%`R4hu8 z^E%fE=oEJ7Q{j7G!NGUyt9)9s>=ymUSdnL1=@f(9&YNhU`YJFbx~%=YyLh=vgZ=*Hw<6F4uqql z0DknM462dKD3lE&xVcclj`SH`{*f##AtJpa%h&cgFwS7?qi_x;axQHLJ%O-v<|pRAM$Ir`k`x zywoo7zpDj7HKcDPtg**tayq6cfc+yx4A%7J@=j+Fe#h>^3^dE`nV;4g!UYK*ctA05E-aF2NWiR{h zJ-`l2p)yHdOn(2&fNr~xr=Nbee@CrhZXWTYO)sYzv93#u6nL#W%*^(|@#f{`hotu841TOl(uqOTG9#tI;B2L*NYmNU&C;{|M8J60g^PzcVk8YC z#)_NNn}8T*#{3wM5;mH{e=XH%P2qR!$l#YFBxO=vC8T5br9msZ-}92l@z4rxd~DR)Zna*V%`WiaLoy=c;^*65TSakXPBIdTR`5p=ad z5W@H=#th28J>Js)y4Kcew*Z0vX5ib6qP|4@`(hyBbe#E<=J)2~

    %hSe#a|9It3t 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 Iuh0Fz09WF-JOBUy literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/annotation-check.svg b/app/assets/javascripts/publications/pdf/images/annotation-check.svg new file mode 100644 index 0000000..71cd16d --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/annotation-check.svg @@ -0,0 +1,11 @@ + + + + diff --git a/app/assets/javascripts/publications/pdf/images/annotation-comment.svg b/app/assets/javascripts/publications/pdf/images/annotation-comment.svg new file mode 100644 index 0000000..86f1f17 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/annotation-comment.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/app/assets/javascripts/publications/pdf/images/annotation-help.svg b/app/assets/javascripts/publications/pdf/images/annotation-help.svg new file mode 100644 index 0000000..00938fe --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/annotation-help.svg @@ -0,0 +1,26 @@ + + + + + + + + + + diff --git a/app/assets/javascripts/publications/pdf/images/annotation-insert.svg b/app/assets/javascripts/publications/pdf/images/annotation-insert.svg new file mode 100644 index 0000000..519ef68 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/annotation-insert.svg @@ -0,0 +1,10 @@ + + + + diff --git a/app/assets/javascripts/publications/pdf/images/annotation-key.svg b/app/assets/javascripts/publications/pdf/images/annotation-key.svg new file mode 100644 index 0000000..8d09d53 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/annotation-key.svg @@ -0,0 +1,11 @@ + + + + diff --git a/app/assets/javascripts/publications/pdf/images/annotation-newparagraph.svg b/app/assets/javascripts/publications/pdf/images/annotation-newparagraph.svg new file mode 100644 index 0000000..38d2497 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/annotation-newparagraph.svg @@ -0,0 +1,11 @@ + + + + diff --git a/app/assets/javascripts/publications/pdf/images/annotation-noicon.svg b/app/assets/javascripts/publications/pdf/images/annotation-noicon.svg new file mode 100644 index 0000000..c07d108 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/annotation-noicon.svg @@ -0,0 +1,7 @@ + + + diff --git a/app/assets/javascripts/publications/pdf/images/annotation-note.svg b/app/assets/javascripts/publications/pdf/images/annotation-note.svg new file mode 100644 index 0000000..7017365 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/annotation-note.svg @@ -0,0 +1,42 @@ + + + + + + + + diff --git a/app/assets/javascripts/publications/pdf/images/annotation-paragraph.svg b/app/assets/javascripts/publications/pdf/images/annotation-paragraph.svg new file mode 100644 index 0000000..6ae5212 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/annotation-paragraph.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/app/assets/javascripts/publications/pdf/images/findbarButton-next-rtl.png b/app/assets/javascripts/publications/pdf/images/findbarButton-next-rtl.png new file mode 100644 index 0000000000000000000000000000000000000000..bef02743fc108697e14e0e5daab8181f7ef91dd8 GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6`aE46Ln;`jUU1|(WFXM`uzZfwf<{~}+$G0pUl&6i=kdI{(<22WQ%mvv4FO#q)8O6mXr literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/findbarButton-next-rtl@2x.png b/app/assets/javascripts/publications/pdf/images/findbarButton-next-rtl@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..1da6dc949cd6451c2d8ea39e1618d0323d2e1ec1 GIT binary patch literal 304 zcmV-00nh%4P)kdg0002@NklJ%mRW)o*bZ%{dl2K@N_?~eFJnrG5D`)>eWA=I9=*xrZ>GuI z4!;9U26Pv$_Z4XH%%iCpph2GpV-c{*6Zhs6SfR_EJq5;V+?sh4&K}p+ z6sU+@u52lw#15CH6i}kr=3>#xgHlS7GA$J0E366+j!0VQ&&@3-ef{(7H#?13Ev59AjB0000QONN1jjx$vyv5uZYI@G&FX~xujj12+YK~w v*fr|J-NDGo&9wKH*qTY?mdrSMOX2+jbf@g_m202_00000NkvXXu0mjfGEh>( literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/findbarButton-next.svg b/app/assets/javascripts/publications/pdf/images/findbarButton-next.svg new file mode 100644 index 0000000..a81eb02 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/findbarButton-next.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/findbarButton-next@2x.png b/app/assets/javascripts/publications/pdf/images/findbarButton-next@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0250307c0d10b0c0a38a8381361ec265ef3080c8 GIT binary patch literal 296 zcmV+@0oVSCP)kdg0002*NklD^w4Rl6cnRtQcFE3nm0&QVWiRnO%{h3-*x?K4w z&|kYa uWt-+4V4d~Up94HjH;lQ?oa>Bv?A`$+U7<=?MIved0000QONN1jjx$vyv5uZYI@G&FX~xujj12+YK~w v*fr|J-NDGo&9wKH*qTY?mdrSMOX2+jbf@g_m202_00000NkvXXu0mjfGEh>( literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/findbarButton-previous-rtl@2x.png b/app/assets/javascripts/publications/pdf/images/findbarButton-previous-rtl@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0250307c0d10b0c0a38a8381361ec265ef3080c8 GIT binary patch literal 296 zcmV+@0oVSCP)kdg0002*NklD^w4Rl6cnRtQcFE3nm0&QVWiRnO%{h3-*x?K4w z&|kYa uWt-+4V4d~Up94HjH;lQ?oa>Bv?A`$+U7<=?MIved0000fwf<{~}+$G0pUl&6i=kdI{(<22WQ%mvv4FO#q)8O6mXr literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/findbarButton-previous.svg b/app/assets/javascripts/publications/pdf/images/findbarButton-previous.svg new file mode 100644 index 0000000..5fd7032 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/findbarButton-previous.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/findbarButton-previous@2x.png b/app/assets/javascripts/publications/pdf/images/findbarButton-previous@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..1da6dc949cd6451c2d8ea39e1618d0323d2e1ec1 GIT binary patch literal 304 zcmV-00nh%4P)kdg0002@NklJ%mRW)o*bZ%{dl2K@N_?~eFJnrG5D`)>eWA=I9=*xrZ>GuI z4!;9U26Pv$_Z4XH%%iCpph2GpV-c{*6Zhs6SfR_EJq5;V+?sh4&K}p+ z6sU+@u52lw#15CH6i}kr=3>#xgHlS7GA$J0E366+j!0VQ&&@3-ef{(7H#?13Ev59AjB0000G{p)>hLyxD99 z76ej)=-vic0UL9~!GgO~9_MsOnufoUx`QHG)5E@a!o?nT8@#*2`fMlI9X~2&%Qwtd fAElzRww7{H`T9z)QIL|gUwP@h-(DMO`2YPI1=f8x literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/grabbing.cur b/app/assets/javascripts/publications/pdf/images/grabbing.cur new file mode 100644 index 0000000000000000000000000000000000000000..e0dfd04e4d3fcbaa6588c8cbb9e9065609bcb862 GIT binary patch literal 326 zcmZQzU}9ioP*7lC;0HnjMg|5k1_lNVAO;FCH~=vt5Q0Dhn8YOh|NoCEh)sn30RsaF z^8>N`2L=Xv5dHz=L$Uk|1_tQ_266z<4TQl5{{R0$_yG_fVE_NW0fd=>Y#@FBr9t9P K<`XsxO$7j30D*Y` literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/loading-dark.svg b/app/assets/javascripts/publications/pdf/images/loading-dark.svg new file mode 100644 index 0000000..fa5269b --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/loading-dark.svg @@ -0,0 +1,24 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/loading-icon.gif b/app/assets/javascripts/publications/pdf/images/loading-icon.gif new file mode 100644 index 0000000000000000000000000000000000000000..1c72ebb554be018511ae972c3f2361dff02dce02 GIT binary patch literal 2545 zcma*pX;2es8VB%~zPr=ibVMCx-JQ^BhLDAsK)^**h(ZDp9YGuzZ%~j!}+w%FI;|aC7){7CdVvG)P{bng1y9Te*f}~*`1kQl$jwb z$tlW~rRS!X?#xfm_&6tTdp_`cjgYwbRFLNdoJCN$S-yhg`ZnC-yvedRSmOh%;Y`Gl6bY$Z-}#C=#F4%9!I1b zWQ~f+9P?;vhCxWwlwl=lrWG|7IYo;{jjmzJ5R9?f>n%-d@>kLINUc z4wM5dAO;kq<$}Dk{2-u0$I6@2N}&cUx9nmV1dYc8jfC}%=F9WCg^OQK9C6poh#2!A z3^EU*UFZvS^)?bu3T?J;@Ahb~%I?+@4!l5!*TjC}GIslNan-RCrrd~PdHYnNLJk+m&`$Y+NV(e>CCu%R#_8GqY4cv#j`#uRWdsg9DxWy(?oOvgCU}&@jy%c!H&-Q zqXJxajAtmQRoRa9V-RFXXh-bK*;Fum{BjpkYQGX~i@OZ^Dx0n&H}kvGKqQ?w(6iGXu_g08T|_hp#ZvFzIwKF*a=oMJ~3UGAjZ?g}GOxm44td zXoyYrU*I=y*vHv89hkYH(v5R#wc)BC3dZJKb3K)f>zaM3%JP(mpecViP0eKKYf3zy z->jx_mc?mCtPEvCQ?uppk?eLJt}_IR7giW%Jr)RyI!+E-voIs*lXI*z`GQc_&D#X( z{6G};HPYj6O|$lXxBJeDaweqa{4L=tOZCjTI^&UOxXg})LRG_cr^B9Rqt(i5ORbQX zq`_xCRsH>xEYY%&*Nyi#{S_JZNlTm#K56`RI%7^amom;*h90Si&g1CfaFV3D|a!`3Y-GKKbL*KSbl z>I96`TR@CqPJl(>QqB~RvK~-U)`e`l4LIqj+IU^~yyIe*|BRVB>4Bup%j{tLdKz4j zY^<8P8m~GRGz*yv0&-RJE+-keJ+%m3wNeopzsltWd->eWmBVwUr)pX` zK~CD<;~Z*Uy3W`3+MrEYxm5qYQ!z%YI;y7DTG`UVH0;@{M{!B&id_}3DBQ?zsotuR zEGLdRx25nLm%-wjlnEi;-aN_1S7???rO~WgA67jjr&(vRa3y$u#kqJbeKnw z{!T!1li9>M+sJ6AUe+*9d}2uGjhzd z|L1Rtp8uTGYyZoQ*`DS^m2dw-X{a)l+3m?ncvn^+O>)hdd3(hMtlhkRGns{<8c0I! zDDjpmwtj?@!6kA|iu3q+Ai;@JR+ zfk+ln&YFC{4bhK6IxVgLs4W%^8Lk`qzWU*L>yq0A3;l}{!wKZ!ue)C)SKI)9dl1hl zhIRLV@8E}rwvE{gX(}$f6x*k)_`*Ijt1=EU-Ls6-(phomeQBgtUs z5Xz~Cd*nE)Ac!0i4ep}Z1AugMB(&F?)#CU{Qc{Sp^vKsdL}vRB30H+Bbzrn`M##H3 z{W8dc_mDroEE+p8_}mnJtzZ4!RNe)zhB)Ds;S57nYSJxtek>^~&(7B+N5MPf2+2xx z5Dl&4X|c@f{Kd|z1r+N|$DmsoVp*3yOdxT^J^-VAk)Z@$4^XrPrFP-Co+MXZ+KJ(W z{JNYvraLLWA;&tRhIKOvhW|HC|L-dLvAUF(MG0(Nl?4tB{RzN7I(}Cb%hwN{crFC8 zji#aJElKvDFV+&VI1V?oUMA>*kto0^;3W8FQBSZ|{ z$v~TqE=(8DZa^i$^oht&h};P1N&wMXorKh*Z68gPV&ouy>%f36Oqkwemyeas$Qbz# zV?7Jy%o7KY6^I=P@eCji%W`o5sf(5hySYo9$l4e2`(hIV_?=H-#R6}0$WVA|*(K@3 z=5?@RlcLh(meW%A4)hGzcvEpm(_w?>zhL*i&s9$2>r zAtk{8Cia|+Y+V!uX9BtpXoF%lswuRKsM!pSs!?yhlCy!269K0|b M?FSZn2B>%I-}ej|s{jB1 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/loading-small.png b/app/assets/javascripts/publications/pdf/images/loading-small.png new file mode 100644 index 0000000000000000000000000000000000000000..8831a80588dcaffe9a0e075f3d00066faed3d482 GIT binary patch literal 7402 zcmZwMbyO7p_b~9KyAf7cLM2wDyGua21f;vWC02Ur4v~_Q2I-P+krbqBrI7|4h>zR>${lPZ$UtTNf7kw8`rjA+ocwRIMB4=bc-mi00syG23Nlh!K8sLIl}J)E zAZ;uz<`X(Vji`R!AG2ce8ZE_9cxX=3{9mdB{At%!Q z+^Sg?1aw$Lx_%*As-20SI@^sD$^CCF6HP<;v|F9azh>!1dAM|;KbY(sN~`1xnz zsa)GuC`%)InB&YdAm8#0PhvR<4VSDc`AWgx-nG2Cc1VdIFc07*+IDYM>LnkIEbz&q zQ>fKVRrL3#zMCHfGO0z373@T9aJ>jXQ=7>so05d8BNhFBT`0)&f9NWms6t2TdSPuT zrG@+i>K|cJwq#P|Mg_9E>gYrZ6pZUq31vDmm9<6KEQ|7v6=J$$zpNR3>?s&pQ`MtQ z+sWPKKWnNJ1@DSsohH7N;wLvKePT&up2uI~Y>TJhJp^~dqOe$x7;2YzKs?yo$DTBE z4Tg)}5uB`U(2-z1MknhwpuZb>D;`?iR{LQ?5L2hsCHTzmnhD*Z$*I~*Y#g*h_6VQ~ zpzenIb{sko?}-m{(Oxg@$ADF73OVg>PtUUSwj z;Lg5@U5Ht5yzH5so!jyhe)ssNn>2fR)-s~?HeZXSBgmObJs1cpr0P^=A`_cmGUy!~ zv95pIw+g05U5-pxzY+j1)Uh%q$&YHVQ)c6$qc)#k-%ZOixNGlPxaOwGFGuijWi$NbD*pV8N4+XDMhBq0m z_zWKO?YvB%5&|zJX0I zzK2B=h|`J&5HjBv=WV&)6p z8ZSM-5dG}JucH}uz!}5Gpx`Iln(Zn_K9JSA)2iLI7C7uAhZO5wrQ=V7jV{fpcK(7D zz=eO{*0y5&Gsj5gsPmM(gBIYRtc5)ihrn`>CsY zzsTb?R!7VzC85+2wAT$3<>mWd)~W#J0+AlwgtOqG*1=cgiCx2Hj+TTsNLL5SoyhmY z==~O_+hKO?PpXa6D@_K{{9)rG@3t73NnWS$aGA*liaoAql8Bb?w!E8$8w~Uzp6{E? zcIAHToaaz`ho}fAN0=yp)=|kKj&xbl*fU3C8B-Mel!vYw6ozIfG(>e+DL7&mrx;dm zXzu09XY4m`FTFoV@JFAHe_n5=e4sQme|b%Co1ED^$$nGtmoAKd>ncsbPe( zlX+KKQe@^D3bKN29`pDU-e>w$%w)o1tJX!o3rO)&(S+Kzwzl13_rB}qQ3M>!@m^A_ z5k(gm-oDu?>?ToHVyb5f_J5J~t<{hnzBzPxIqlaW4sDw;uf0+wA22&nFx^(0=tekq zO%rvjjtpD6y9Jm9F9Mm-QGE0GDa_KoS2kQv@XC6+WlsoF2FngR1xD#8dCAy9n1G#wshXv&`FP28AuTl~h8 z4(MY^>sT=`Ij+FPw|B~pP5N|8*%gu3gb-5x=B6Wc)ZXpEL8G4%v$njG{{C1uIo91+ znd`kTjR4IWd=^$;@SxJ(tjRGAE5O$_v9t*`#>tm{x4ZUWPe~Pz!t9;46k@i@tH$yN)B(Thdm2-L8;%SoLm|)5~ak?>I`CLM` z2L6~$cTrjiM*JF*gPYV&h74u7o2JgAsr0J-ms>s7+$V0*2@|GWfU1)Zc`3hSgZ{#X z^>1vl7;DIchsysSHf$uemqiA{muQbdsP}k}Nnf8CVh8Lwo+CI0_ADbld(% zLh$8QIOxb^+G~Zkzy%c^85ophEiZ_|P;)Xg2boNWsFhWjHiqqg(50t{(U|IsFOQbb zhF;o(0q<&%%?k8EIDNz@+w;s#UOacgKTofIp&?z7u~xH;Q&!`B&86Y{EgOm$XoNW0 zIHH5n2LRMPb#^pVEt%dAq0g4_$w*|_`*E3m$c+45tL$!=&Q?RrY$TkdLnx< z7%kstR~k;gcE65J>uk}U(ef`3gx9&c+jrq4#a*XE@&12TVi~ zwfK+d8GEBRxxxx;&_{0O^DX!5xamE^La~N9Y}TOLpho>Fr4-!Xeqw&txrl(S=<2tX zaZpGP89pY5dP2_=i)VKFNMbwM+6Y_(9t5jCl>Y|ODN+Dl4L3$M52%m&CRwM@$m;Gw zc?*GCmfRWX$X9E|mU;)EHZ8xRt{-h#zp#y!fS1e5Pjo-^LD$vtAihlNTmBx^`7NRu zHV#~Q5?6r(9#0Zj8xmF8@s(DlXLz@WIZBe$lI4mM^QBuPN5OI;-s+0~%{%ww#9<@4 zJHf8w?BfZcH8@S5omp%g{)tc!weU0<&=5X+)J z4D(XP4A{DU&gNpaXf-^_8M8K^r<-|0P1=O-Ba$=zvICIJ;MBX_TmY7+VaIQDtFGB0 zjOZikK1NH&;$BP5xD(47yTOo}hu&jdVHh4Xe?NwI!F)eH9dFQQqr|Atsd%kr8Ul{i zCI4 z7uYNPh`M{AMM{`g2J|L1TF5Zf5ZFo3g7CS@h z$7ij?tQlD1XF2{|9;&M2IOo+Q(t{ufA*Y1(WDNJc1mz4c2y2w@AhcWAPM8JcGE207FI~q+_i4<3q zW)zDk13TnBU|(4h_wo!eGrwpk+34%j-jUB54t1SS! zm0SCYvjEXOJHuk|&PL)6QIP&C6&_YV7iI zHUc7^>mL8z#${emwXphwPxp{8>!>iO*S;NUE@_*Dje}1*)hmVGa6fP)165wI6ph^PGPQ>=Al9y31C;O<9kE|29%;-N*rf8#YM0GfgbogyG)0TyB?H z%^aSebV|jGD@mOag-MWLw6nypvgIxWu;^NYYdOqFHtOI>T2yP6p~IeZgn*JDP+*;~ zQ)iT%K=i(bm6B`y5PC}cZteOa9Gh6n;SZYwwu|CGaS0>7+SQ} zvC4i&@u)1oyNQGUS4j!hRN$m7FX1pXW3i1lPUN zkc+`^zyu#NbjTY+uJF6k8ED$g;`habtT26i1E4tFlP5tZ%_4wF>9; zignAfS=`?EZ34m^cjh9{q=Dbm^bru|l9aYt22 zxf;(_J?9;t_=J&&Gck~eAJKPwbAA1W%TcxDHAxO-4_Dz_&-FaxJ?doRhjCYxp5?zx z5&hegYg&c>G8;?d(v=_6%=tRA}M%uWM8KQSXZx6E_U%7nJibuLwqe4pRc2x24cqaqn-r>&40y zIuH}mCsveyNeTwqJ32*A^rww%nHT$}_DfdJ`Qy3-baMw$y9bs`>%EGz%N%y(za{l( zg?*XW@z(*9uOp`r!PBuJJun1BobDA{%iI-*ObrX+C}-@O_WDq^ha{Us?+B8blx%DPX# zpOQ_=hb7JV=!#x*cbmSp)@7be@ay=9^009*5cjwZ_1;78J)J{lcZYmRYC6ex=@gU6)k>yo7x+HUQ(l@2Td}z- zcE%L=P~KImo0<@Z@r?*4^>6^33n^T^j_BG}*p25V6pQKzj$~mbV2j(YF$3nLIvoZT zGqh}rQ@F~4y$P0_K*%pTT9&(cQQCxV5f1J-e4_aeF>bebBHkIZeD6T*f64kYaQ(*^ ztgPdOJW>|hf3isbRKtlFQa5r+p6Fou6Ig@e?~OVsnooI>Nev^;SVsL$JoAhZgTG*! zQN&ZU{e(yPeVX6PvKoh!pWczNd}Zh{Ju$76J_st?=<)KryYwAV#vh&!C4#KBPxv3- zB02?{0^_)>1x|@;L?6|2V~?Xgt;xH6iz94e>IhsHfs z9L6wlK3Bis$V-fESgZG8Vy7*8*s|agRHWL(>t7OM%qEAdK>EcxOR7N1Ec>Zl3P;vU4~3MAee&DR$*J5}wum za4~N|(CRy{hl{XUB4mXw9-JqOZN^m2DaX}dwApLx+ z;e9{xU>q5PO?Lqgt;h*6b^xm2OMO`X51P|R4eZs!_JxHYf8d>vYOSnj`p8Oe*D0W+ zgV#aPL$$8};U8deooLt4MM& zggqJt!V+(ymrX*tfAP$&{?U`)%^E|Yxdr>N*7v#8EtRt&o zCr0RJ5b>@@P@wJIU{&vLwe9$X!1g&W1SO~eS(BIrJy3uEzRl0p^{wHscYN=qO=o-mfY9{@CmJ?Cq+HROx%$vRz zF;_^Ak5v5zOJ%UT8aShK;HAoHknGS{s{_()y=`0R(JcFoi5kOm+3)S@LyTMsqm1?# zQemT>h3%T8C7t={2M2To5{XpEtPBnm4DZARUM)K}OIX+I-3%(FlfTWhm zSLB;Dwq2t1G}>H?JWy`8jtl=h()**;ZzIosfJf{iUAtLULxpwa-^3pMn^@V;=%v4i zQ3#G$m`b8OJUrOEGQUNsl_1THLZJh&M53(^NoM11l>~F9R^2~51M()y~Hw00OXyw)RY( zQJZ&gfeJ`X_-78MZ%A%SOADPmkrsz;FJa`;{r$rdTI`^%AtvPNqzA|HJoh1RT?z-U zIO9>Ih$QB6t4B#?Ma2Z#*GqJBamy^J_gXqSi=k7fa=c9q4gKk9X#;gNHM%H;VA>Cn zXLRBaTYOvw;(!xa28sOiQnO2F@UJRTGP0MNnwrvyg&MfYy#b|YXbrIQh>6EHH#hdC zSwX{(`!VfRp^KFOO}zeOV8C*dQx?YLW%ksRW}-@^d`47bLBUfXIK9bwjOrz%mSJFE zU<*x&fs)-&9(@Z#*F5x_0%^4Url<=+0*kT`Cjc;9oVk|x!u8MpLu8(^x}L9HtUceF hxmy7g&0L*r=-s)vgqU~h&5*YN3bLv)pQTMh{vVrSZ<+uA literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/loading-small@2x.png b/app/assets/javascripts/publications/pdf/images/loading-small@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..b25b4452aa1a52181c324020c39175e0f8f425a2 GIT binary patch literal 16131 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 ZP&l%&@zL$q{%42|l9g1Fs1P#__ \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-documentProperties.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-documentProperties.png new file mode 100644 index 0000000000000000000000000000000000000000..40925e25ace9954a0e3092c1cd19a02eca82fd07 GIT binary patch literal 403 zcmV;E0c`$>P)f7wOH{J8@xqHK&Z&Rg&Ka^Nx_w{OH z9m_}{f#t3B*DH2;LRN>ve93sSHo*-nGyj%E|okxgm zwh?+OeAn@Q=~fY1{^q7nZVNPje{Tf@WFvlD#Z27f@ xHm5*9K*0Q3+R{Et{`F7g + + + + + + + + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-documentProperties@2x.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-documentProperties@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..adb240eaad3c4cd7329cccd7af188e6472302a00 GIT binary patch literal 933 zcmV;W16urvP)kdg000AQNkl+qx@PFC2mwUI+_V#0!U0aTB~4lirBT6~rN1X&QR5 ziS$l!Yw6r@1zSsJY|}JHn=~zE#x^mTTW2Vij5U8sa-O{(2WEP{rm**SIDC2jyypZ$ zu-UMQe)e*dDJ}~sIR)q!6*{`)VITiso_|U8Pg*R?r@W{^akpIH_^Ea`77qaQWFHU10yx4`egk5sl z*L^xY$SjrrLXvIv13!=HiuO_NUk4Dp-rxP!Akej+u+9vmRIn=r&V)#%D{n z^zUANtej%Bh>gI#bW1tXbffYiQ;O^U>#+0frzN8px$(&j*!fOcii#hF0H5;dS{O~x z=S_6reYxw?v=&yqLID5#!X%TKfeij91FHA;2r34j@JZrQ0y-RKPWX|~NnBFBbpz%c z7q~EgZXP;JDo^gvnLnpIa}H*V2_{l!Q_vB|0y?R)$}wZ8OsOAB?m`Ya;#fc@cR@Lo zFkanZjIove73hd#0iBh8<-Ga{=^$r0Tb?LGM;r_2lqZyv4r2UcJ`!g6t{xKI0vhi~ zL!7ZwIN_;I)1Xld7GXzp3)m?Jm0q1b;Q_WM`xzBx>C=Ky3r+X&vC@BuMa*c3vhgNxHQU1A<8>!BO1^qZdBz;qo)pU{QGfz zcC>Vl4}~z}{DyDa%c6YEn7EQD-TS-~F4$(r@gu8)3{f$|Igarwo?)kOMowd*%vkQ~ z;PE5a0e#@w-4VHJPVfO0lZ?>dBf*fAp@H*>o|iYvBj&g{ULJXQGto0}-g^jp^k@GIS5r3yiD|~C00000NkvXX Hu0mjfs1U=| literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-firstPage.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-firstPage.png new file mode 100644 index 0000000000000000000000000000000000000000..e68846aa5f609f48e89b25692abdd85c2de7ecb9 GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6sytmBLn;{eUNGc3 \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-firstPage@2x.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-firstPage@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..3ad8af5173850f4b645f9c94f4efe3379564b128 GIT binary patch literal 266 zcmV+l0rmcgP)kdg0002dNklu=O3C8jVap{PU;A41oOzOaJ;Key$ zQU*)*)D8A5V+RX%R3~;UVg_@zlxMcgLkF6gqD74k8E7`-9X9B`!HkM$kBXUZFs0+2AR>HC Q6951J07*qoM6N<$f&iRyUH||9 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-handTool.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-handTool.png new file mode 100644 index 0000000000000000000000000000000000000000..cb85a841b18be0235fc6c6714223609e1097d1f4 GIT binary patch literal 301 zcmV+|0n+}7P)J24O| z%QaP!}IU9e5CrM>v9W%fW1qojxzD%=Q00000NkvXXu0mjf%W{5L literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-handTool.svg b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-handTool.svg new file mode 100644 index 0000000..3d038fa --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-handTool.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-handTool@2x.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-handTool@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..5c13f77ff003460753a39d9e406c0020231cabda GIT binary patch literal 583 zcmV-N0=WH&P)kdg0006GNklsDncb1tl(lO0{5H zQE6&xnvkURPmGNv7*b6L!Th=V`QF__%SrC--TQe6-{l_O7Xsbk5HrdU;SJOpV0KIxYb5^yMTWCRz8#4m*=<-RYnu#WwP~*n506n@GajHIFM;%}f zFY^Y^aW7$86$8At-QN{yj&9v@sxj9<1L$1g8gpFdYaS((q*!NG$}P*BQ`PAzs=(Gm zuGm&PFW5_{a(v>7UM*fj4M<$)vPc?t4M_V?iB(Vmj)#B6xFk|MFXcmJ%3gpyBWK$S zOgPLXDIdy{Wt3sfzR7D`46gK~gc4x?9LbFFLr|r0SztMRsut(_Uiii;Sc}-002ovPDHLkV1iPk2)h6P literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-lastPage.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-lastPage.png new file mode 100644 index 0000000000000000000000000000000000000000..be763e0c4a02cab5d7842c8999faade8c47059bf GIT binary patch literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6$~;{hLn;{eb{X<9DT=r}_bOuI z*S;pAB4U5DMLQrPIWf`wN4P|1^q&c>d5`zJymvU>ZK0k3(_cShdv}w=iShns``k;6 z|9a2*kZNL>>-ng7x$0%-AZ2dv-evusD-M1!nVC^#Cw7NZpelLZ;<(0t-0Qey{BDRJ YJiB<=q@5ck0$sr1>FVdQ&MBb@0Mz?GUH||9 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-lastPage.svg b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-lastPage.svg new file mode 100644 index 0000000..53fa9a6 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-lastPage.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-lastPage@2x.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-lastPage@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..8570984f2d9952ebb8543a6c8bbca2408be3fe90 GIT binary patch literal 276 zcmV+v0qg#WP)kdg0002nNkl&Czfjc{g zj6%Epm%+!Y13m~u!|`;DXFGIF9(|doYCM^ve(0R2@MwmrSf3_JJZz&%)@Kv4!2LS1 zV0}4}<8B$5v%a3la66C8Hg!&j6gN{uYNm4{!PR#}Vyttbi*Y&9#dbQsBEkhDB5R!! zZ3qqBhHg41f;Mp0Iq}XP49B>3;NV a-`N}fhF>K<1*gRT0000IXDMlYJjH!bP6)MzmI9A`JeaMrW zP{;Eb78VxP+o^u+tz)%w>Y7tjQAHKiynbv>Q2u<>aK#ZG+*=LzzJU35q7H&2Nb8UG z4tHis9hc+YH714zU~vDD-l4 zafLJ>w7618y&iZMZti8jkXl?(NPqY>rLdN@q_C#sSI-x0yte^Yo}f \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCcw@2x.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCcw@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..b9e74312270af04fa2b9b033675d8674faab64e6 GIT binary patch literal 731 zcmV<10wn#3P)kdg0007_Nklh8e7=r0Vcp)Y9Pr|5OlrS&sF1(Z=>P7`I$&2V#B8FQ@ z#xx11n2B@MtaN4N=HFayP|U&0*qP^fzdz3rbvx5{@V?*A7yO;ybIvoweHnhs|HM2| zKI2b<|A+)(s$d&GYW}mq85+9hKEosr^Z)ai~BEfeTNO#3*wjb*wP4^U`OFpp(!|`#~2s8 z`FYx|7Q`+s4a0>};|dO&@9pxBxm8wN7W`#thbT7CssC=I zTAKz9&;++jKrz^NzcAADM`@&iv`7W`N3qmw3RZ&e8hPgH3^G7Qpcx$&o`vOn_6(y+ zZas$_WXt7wl$(nFs}3E|%QjcV-;}eBGn_%TTz6djMaiyYk%erz{(qejCHZ9%NywHf z{V9J|qQg-{A#0$GFYt5L61R9<|A{{;zE^$lK~~|*404N++(Ztym|$2*&p8|pI3TP1 z`Lol$YO^mh!s0;lvGNuWs=UoKADO*y*%)pt=Qi+&XoY ztsnG;h7yz6Kt7lcW&?@I(9rw6m9415J&yxVq8aUYUbLfGo*u)4nY;A)5mO4m-#Y*R N002ovPDHLkV1o45W##|? literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCw.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCw.png new file mode 100644 index 0000000000000000000000000000000000000000..e1c7598886bd49e194764015577b766aadd82288 GIT binary patch literal 359 zcmV-t0hs=YP)x?uT5p77|>RR|+!(Z0%SPBBerLNU!<(Nsaeb!tN(Ep1s3u|3Lqc zXA482_4)TIcUT&Mg&ka9PU%bJ(4vmb9tomENw9}a{m@cGL+1YGpu!Cenlx!}GpOuu z%G3xmxmwG;o&*28mt2*pe + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCw@2x.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-rotateCw@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..cb257b41c537552a19f711ced5ec19cad5fc1c9f GIT binary patch literal 714 zcmV;*0yX`KP)kdg0007!Nkl7D_=c-w$rRM%>rppb3*+sVXe|le>e}?;(Er{M9e0<;c?0eV_qyI8^j_+&`1R|)U z;XGO}fI0Zt9GrYA<6DaHV~zRM1twVFK>**djW85SZR6yh2FUfJb!D6Sq1r_=#U#5b6Imp7B9ZQ6dlA8G-$eSq@9Y$Onc`L6}j4VAGA1e z1=skwPmHutJ|&xcR~vkBjDocAI6jNzhpOjziuITk{*=Ke2$x|I3s}%U+A3|7NKzG} zAk>06vGjn6XdlOMA5}2zo(U{7GxQ7|5$+DtKDyz>3|zQm6o@A`;T9ZPLCJCIg`0Wi>*q{U9GDRL?<%aEPKbabJ1?6A$s(GnBf}UMn8ID;D}MVOPR2!KxT(5{c95|#cUhyO zcqQP07oE6>JRD?syzAu0o}Dy0+GSP$>9RT+BSRRAndFjb%&=+RP43=DhB_K4i;_&1 zr8a2C%jAM~ORYRlKIV)PyKSob%7 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollHorizontal.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollHorizontal.png new file mode 100644 index 0000000000000000000000000000000000000000..cb702fc4d11149a31f22495ad285b98cc3cf21c4 GIT binary patch literal 218 zcmV<0044v4P)*%Ckqm%#nzTkbB2o8#L5J}@;sIu@+PaMFaH&X@x>v-#* zT%ew8%}^g;^@P+XsOmg~P#3(NpsFc^aQ}m07`CO9Heo%E<1FX=-1y2jJ^yvx04Rl6 U>n3b|U;qFB07*qoM6N<$f*JE%`Tzg` literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollHorizontal.svg b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollHorizontal.svg new file mode 100644 index 0000000..8693eec --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollHorizontal.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollHorizontal@2x.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollHorizontal@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..7f05289bb157e3a8bb79578e556ff6c886c9d57b GIT binary patch literal 332 zcmV-S0ki&zP)P2JUa$YvE|?$&qg2(0Xi}8 zfoQyg@~LjHi+wr*R{+R4v(^@qYf;} \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollVertical.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollVertical.png new file mode 100644 index 0000000000000000000000000000000000000000..0b8427a16c0f347dc36dc4b1619edb8e166d3b53 GIT binary patch literal 228 zcmV3C1d=Jb-(>N \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollVertical@2x.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollVertical@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..72ab55ebf270e855928094dd99efa70e54006903 GIT binary patch literal 349 zcmV-j0iyniP)~acHj9o8x-B5D`bbPkWsoqwjXW=vA#*Zmj-Z%P*2A>KL^Q|OZ0(MBMLPdkr?-{ z27ne&b6PP}y`|PHi1mC~N<%9EN$j)cHxNr0th8Q2!`SGRxh1(e4YT!t_x?9B|Fu34 z0HOCSdjf6S?jL&K?)AV2fVYV_V>Wz|+?J-{2EZ}1^KEL)g2guX$3!N|z)Jzp?YPJZ vSpfVe-mcm-OoT_~Nu^5~qO z_Vl`zF1R?>lAa|fmnyjZ_yu(i?l0-Q#UsEpO`prM4Cmk~zttRk0ipk+h*XpK1rZ4>56aa00000NkvXXu0mjftGk6u literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollWrapped.svg b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollWrapped.svg new file mode 100644 index 0000000..804e746 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollWrapped.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollWrapped@2x.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-scrollWrapped@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4246141192214e00d2b789685bd28591e355a40d GIT binary patch literal 490 zcmVV)ZSj4_BA!t|BfA0p6o-NP|_ z-gVvMX&(6Z^S~1kT|0VtCO-qX6Ljp^OL+lsE6cDYqFrU@YmK#CC4glu7fcbJ(6);Q z6Yo$_>hG)^ZscgEazTmFN)bvG{NU2@hjZkb%Z9AYlNJDLDAB?PXXKK=Q!O2*!UzUO gM}`~DfHTU0Py7T36}?uA&j0`b07*qoM6N<$f)Qxjl>h($ literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-selectTool.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-selectTool.png new file mode 100644 index 0000000000000000000000000000000000000000..25520a6fe58475cf3e16e254ef2ee0c4723b6644 GIT binary patch literal 461 zcmV;;0W$uHP)wY82{uU_46Wo2av>gwuD zpqMa7oLB=G#l*yP-@kwV<;|NnKi<82_jTdIg)`aN*%g3ttV9_A#ESRt-+u-&0BXp$ zvuDqqv#_wRCg>%oq}Z`z$4-GXzkdDtCkVfN`}RA?(5kAcEMmOGzir#L%`gLC80wlY zt5&U=4^$(MFP3;VZ{EBHn*kt~fCBi&jT`$bDk_w4d53HH^5wHYiqQ=CK7IQ1Re5=N z@osKz`uM_wt-iiK3lw{SpEF`9ACbC z`TF6*htForm{A23<3(3Q$VI$Bjp4$=!Wuv}H?r*j0p}3K + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-selectTool@2x.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-selectTool@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a58aaef4fbee1bb2a8e9a134099ac23f32ff3eec GIT binary patch literal 1067 zcmV+`1l0S9P)NklcgHMp4GRDGA76Lho0b%r=i4y(~0SX9u_uY51o12?IS-W=a4t$>i z0)VU5A_Qi6ctJtIMT^B^(CKtN+1c5-_-#IO!-KgbXz4)si4!Nzn$QdegT-hxnx1^} z$w%DW+}7g1Sm3QyNO%H#at#U}EuRbH&xd6`4 zkRVTusi~>?EF|F*5fXt7G95NQI+6gj8x)e)UVH6%^jX6~;sX>%MF`BwxYE+n60(}^ zRxN-tG$aUF-IOU)4mukWUW_6S9XfQ8?rvlOBZmaPLHt*=%lk|NZw*VmwcKs-^@2WLaLLL*unzyvaK|J9XcF`|Xd|Hy%SC z6kff0_2l~X>z9$6_BtQ}U$CUIvhojG1mNAWWXX~n&}TQ858^=>@B?m+B%&9XjdQ^p zycVcYFGX1W8TxDhQLMiUPd-PMqC1#;|NZyh!D|7x8t;Gc?;QG$>&zJ$8F}mg;|U~Z zi&50clP43^+w%VX`yXm;ZSCWs;gC}lGUU!`io3JbPyt~pR;)No8O@j0ZMWTaKYl-W z(@i%$NO!E>ElJ=*4?T1jtA^e{a_U@wTCfvK$w(rQ53k_vR^j)VV0~R(U9~zt$d&f? z_BNE{U9|q4IY&ysf9lk!tE^V59;cyiaU>&aBS8R|a`EEDG)!n5$%QxHeDg(IGY|MV zdR7pDS7c=56b$$$J}+RCdjMA^V)6IifB)r3F3_H^bLY-8bcWT?3N^ehtU zOfCqV(VihBN!rlT($Y+mss*&Qwf%-`5`eoc0vyT{FzxQU@4gu>467I2-Q69JKmK?b zTU lPt+c){6>K=;A6{~@ISN(|7jO`x6l9p002ovPDHLkV1g~E2H^kz literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadEven.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadEven.png new file mode 100644 index 0000000000000000000000000000000000000000..3fa07e703eaa56fa201db3e4ed6cde8bf849d608 GIT binary patch literal 347 zcmV-h0i^zkP)f*c{dlCL1q@VmAOItx{sSlR;WCL2patwCy#$P9 z!#;o~U>_)eWneV7(o#p%hB~JXrl}QwPUoUJqYhQPa_|N$0IR@xL>#N#%t23mO7{06 z;#BSB4j$ACwVCvW`uL4ssS`)8q~5z$bWfY($TBzu~7bp@DAwE>`)HK?lxz&J3i9#$X#I-SmCQ52p0lXSb?vMkG~ te!K)|Hk \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadEven@2x.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadEven@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..32e5033d7db1b74644f29815fd96b7153d422e1e GIT binary patch literal 694 zcmV;n0!jUeP) zJ!n)x6otRLCTJlEs31{61T7RHpkj!XC@2;diikhp52Uab1RFciK#J5BS_mo#f}oLf zMnokcVh}W95>yBX62x7QBud_~$lYZ!dGj`4Vc}jFc4y|C;m(;eb00LK5smoY!>WHI zJpy*+U=(A4VKY0t05s3v>9{;jbuA0|VFKd;K#4@F^O)J@D1osAJ{+s{&1?%mQvk?v zNL6B%qex1rdYA=?G$lv_zztyB`x}81z)_%7CxL0;Ht-mj1e%?H5;&4`EHw!~cI3$f z*@!DJRg^#md;+@6Y)aA&ckcFRaTO?#1piWktnD>>_BPdk-{4Q3*W423|m~tyV d$^SQ3`dEaa-jzTV1)wV!JYD@<);T3K0RT5nKwSU; literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadNone.svg b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadNone.svg new file mode 100644 index 0000000..63318c5 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadNone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadNone@2x.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadNone@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..8e51cf3b7d6ebed644db207d4e99391898ff3952 GIT binary patch literal 261 zcmV+g0s8)lP)PM>6+3`IT=LQA_{vFT; zlDs+RCMl%Ic?WRmE#NVeKp_9*1#s5nJ+5#oSIC?~P!|Cd{-d=AS{%RvDO+ye>HrsR z-|WKH60jo7L;!p2fwet=%G{Tw*wq0ldjpnZXubz1j3TVY@SE&?&K6Brt9iEQ0j?;| z?hZ(6nN|*P>ry&s15--RLWKCuv3(r~AzWjOCrzyPK8?rbz|Y_X&cCXl5!ijiZAtWjM3s91u3Q6yMb5v`(3@v(c=@2 z@EUiUVsjkhV@>c1Yps>TB#)DeewI?Ulf1(jbk_un>O&pm0+;wwN_mrH4^OT;7~wO% z;V<@a&?J~u@iTnId;Dn~qzcxtf!|F#aF%4Ni61RyRG{zs@8j{fZyO$lq3gQt(JH=! q>2&&HHk*yxfXQUC{DoEgzr__9eVLMZ=Mj \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadOdd@2x.png b/app/assets/javascripts/publications/pdf/images/secondaryToolbarButton-spreadOdd@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..5996b74db1e0c7c4ebf2b2f8a09fb4499d3119e6 GIT binary patch literal 621 zcmV-z0+RiSP) zyK59t6vlritY{&tt&m2HSSg}GQLwVM5G}OO%0?6mL5Zl9O+>`Mz*?*WwyAOs;RFrC0C#sW)b zcBTeemp|&bluV_|Lix~v_W?i|M=L&NHWfMWE`ty6M*q!hKR_n{lnJ3quuMcG7pXQ( z&5?1!2t)(0NXPmPB~Bl zpMVKTJAli;ZeS;H(hF}0tTm-Tz}-wCsima_OnUx9eZPPg9+kcBP}x)i%JgrUxK9;f z*gXT_wwb+=WWfEXqmpeHJCiezN*)%iNL&>ee{<50-W9uM(GJ~swoAZ&FpJ!8JG=#Rafw{VGs>A zv4Lw547cH8V$52!Kt_BsJ088+tIX1g*R$5e?O0P0vc)!RYULV@ilHcq)o9i$G5-a~ zu{8?hTTf9GD;sK{*Xzyp`~6*;`HbpzyG4ArRrxWE>7UUb)UPDB$k`IH00000NkvXX Hu0mjf-&h!* literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/shadow.png b/app/assets/javascripts/publications/pdf/images/shadow.png new file mode 100644 index 0000000000000000000000000000000000000000..a00061ac7e12e1f24f955351c732f5884ed94e6d GIT binary patch literal 269 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 XtGDvpiMgkM4q)(f^>bP0l+XkKeAzzU literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-bookmark.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-bookmark.svg new file mode 100644 index 0000000..79d39b0 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-bookmark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-bookmark@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-bookmark@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4efbaa6758dce6ea82f9e03e81c0196cd806b266 GIT binary patch literal 260 zcmV+f0sH=mP)kdg0002XNkl|Mj3PYt*CIh*)L;+Ye)qJLer!U=dbLBLZSzSesM4tY9KKocB+w3G#Z zP#|$ck0S&$A%{+O@CHd@not;m^nk=r!lx-oOkfDo1ASdr=)nV-#q?0Gf`(oI0000< KMNUMnLSTYMTxkmc literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-currentOutlineItem.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-currentOutlineItem.svg new file mode 100644 index 0000000..c1c72b2 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-currentOutlineItem.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-download.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-download.png new file mode 100644 index 0000000000000000000000000000000000000000..eaab35f09e12fed1a285ca765b38846f84ebbb91 GIT binary patch literal 259 zcmV+e0sQ`nP) + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-download@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-download@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..896face455a605a86196bce9ad3b7d640468dd17 GIT binary patch literal 425 zcmV;a0apHrP)kdg0004SNkl) zyTrz@9NlC#^DUV~uyB6O#`Wc|{GJapsNf}n_~s#6@aR;~Ks|!^o;hKkb<`q>uf_@c ze2Ny_{735Rz+(^grfCv7@DMF@(?E&?)gFc+;s(Y=f4GnKw)K%<_IcMs6%8~k4%~hd z1#ZH&m*NR=jd9Z9?xHxKc#XI|a&$D7>pcNfCv2 z6(}mA@U8*{MHJpuAa5+piu*}@=C6x$-8&9=MtcJe#2}8pdIkrw28vjvgyHy0F}R~Z zCUA)rP9TO&f3a5-II~coM6B}%`OpmoPD3uR3@7y8J#|5W6U7S>1Ne&^?G!jBIjmz4 zBlw35uM~LQ#}Ub*j1tayY3;VeknSU$Z13T)Kdqf~GA)J#k0F^Bw@*|4^-q28r{Use T)~jCX00000NkvXXu0mjf;mWr^ literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-menuArrow.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-menuArrow.svg new file mode 100644 index 0000000..46e41e1 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-menuArrow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-menuArrows.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-menuArrows.png new file mode 100644 index 0000000000000000000000000000000000000000..e50ca4eee46e25d92e06847004f323d616237f85 GIT binary patch literal 107 zcmeAS@N?(olHy`uVBq!ia0vp^>_9BQ!3HF6HKu+5QbwLGjv*C{$r2tP{{OG9Q;1_& zbWt^;p+Z-{zWI{QiAmlEggExJ)R+qxP213Hu-B-8fx+-v^k(la_imtW22WQ%mvv4F FO#tGFAX@+c literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-menuArrows@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-menuArrows@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f7570bc0d30db3dafe54aa7c1fe92367690f5046 GIT binary patch literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^d_b(g!2%>Zo;S(>sd!Hp$B+ufWQooP^)>=V3JT0Z z$G`noR@ib>ZRMZ;zy7B?RLGuin*8K{y@Up1n}eABCY96wr#d)VuzZRTnDjQlktL_y z<57djB$XEmhvE+MurwWXw|F2ZV0`Mr1B0n74EE`D>#U8d6@XSTc)I$ztaD0e0s!v6 BGzG;VmC z;q~VKH(~JG$%=&H*l#BhBA@m%+@JRU8U%hjmgvvG%fOT9|Lqt|?CCOwE9L($f#A18 zKxs~}zd3BF({67qbqF`wWgvfL;hE+U&_WnNzfk1a( t2EvOl{_oukEDQ`x40a3-IG`;90|2DgL5N;Bd29dx002ovPDHLkV1nayd!_&Y literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-openFile.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-openFile.svg new file mode 100644 index 0000000..cb35980 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-openFile.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-openFile@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-openFile@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..91ab76593eadd6280b2a554d8d3eb1430d7ef6ba GIT binary patch literal 550 zcmV+>0@?kEP)kdg0005)NklV8EdrV)CkilFRiwZGwaE58mndUOxVhkz-=YH-{A&5&o{d zns22dWrs@ZlkDB%fnWKmLb;Wa?OQuga#3zxZ}MmDC0|@s&JT+HXqXKe@Ow>O zxH{3h$him+5RYuj9yN~lP7jG!JjhF_%4%QAQk5*<6Jqsm?Kz+C$$K}&xzJc>>|@Nm zsKzm_h^c1H4jjOTZ(zSQ>)J$FIwS8?teL?fGyt^0A!|lm!cm zrf{tQ1#;(QSpf${lMm-1Pv*3|P{2Xa=o32VET52+0uG8MJ)VX%$q`vnz(LU@4ksYN zlb}3P@CY_uRWrYD9_C5zkwt}Z+X>H)v#KVxI|eagyX2`tMhu(u=AyNL7l4cY^~bW% oyZVDVb*O{JA&&H6n13-p0bKq8;5tc*kN^Mx07*qoM6N<$g1cw`kpKVy literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-pageDown-rtl.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-pageDown-rtl.png new file mode 100644 index 0000000000000000000000000000000000000000..1957f79ab95a970cc93eaeadec532661c5a1ae55 GIT binary patch literal 242 zcmVkgj4Lv#w4(S5>&h#|Q|$T30}L=f&H#|39(FQ@U4`qXaxf1Bc1+XmFJ4%~M*)ck=@jF*AE z@OmCGUIsRTT4WE_AE@?zRCReJsxQhE$k7T*n^xpdHBOme(Nrc9n@SO5E{eDjb45p( sF&)`4S3;ynbtti233MRw&&qfF1f{Oim%bdkdg00041Nklk=KUzNjE&+Z(ng)kL^NUuQIUigABdoZ zjSq~+fdO@9zMHugg5R&b=MNYE`8du+Zn4FCK6*TGn{x~k1gJ8@hCRLGEpOaj+8e8g zB8)MpkFy_r`|-8kb8}@LQy6}n7&Pq1SAK);+5#pKbni>{+q`3FZOa;uPgpuN| s!;t41i6pD68cF@RkkFqi61Km+Pl0_ej2E!U-~a#s07*qoM6N<$f+7928vp6;%ZmspUL<91jYXM#X%ehtN;K207*qoM6N<$g5$DeH~;_u literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-pageDown.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-pageDown.svg new file mode 100644 index 0000000..c5d8b0f --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-pageDown.svg @@ -0,0 +1,7 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-pageDown@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-pageDown@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..758c01d8364c5597d7e9ead825cf4e7754c8d929 GIT binary patch literal 396 zcmV;70dxL|P)kdg0003~NkluFpq+}Hm0+F1Hup;*cG@Vugl*K#ZX`wwAsWOGa}fz> zkwzm~KZOBxbLOmLAviyn;=uQ(|M3vS0uJzqrx86=v5yr@f+Xsjpdf{JHeYJ!j=0AI zdMIPgH=xkW`qFa+9gXf=3-i7Kg{HTb-3Hnk9k+}r-+)2^XB#c8_HcDb96Kz|zFy%@ zr+?TdjvvNrduZwmN(16Fr=vAAblkd2oaVF}#;t%j0<#gojle8GW2g(H0CO!c4%7t3 zfvP|ZM9}o82$~*|&j5vrIb8luF-IZ#_Cih;7v`L-ntKx&oSShnYR(gBlz!%<)m)pf zQ#kWyr_@|dB;m;HB%5m!ww^R+i9!MvS4hZno`~brs}PswLc)&W1w*T#Q92I_?)jA__{b8r{ocmDkjB;))luQR&DQs#s?5{OcWsXDuPe zmo+wBW`Ex!Y-z#88@{DbU>|qCUYXlY&65@XZDezLlfot}w3kTg-zv6Kc{)$s27`wd tL8q?PzUn!-=+u@K&b74>{cp1VFo`V}NvvaB+5+?kgQu&X%Q~loCIFI;U?~6q literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-pageUp-rtl@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-pageUp-rtl@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a01b02380b90e5ab32727ac5460eca3108a8f1e5 GIT binary patch literal 405 zcmV;G0c!qkdg00048Nklrkxqu zT8M?#!bm@}5SjL#xxE$==eN2ibN;KL|31hDNQNMj#dAQK=y(1Y5EDv)44Ux1HIb1A zxbp_wkVaG@>bwr8M;#f}fPp8}M8Vcj2^jETNAO_u3+Qn1AmKun1#~zl_u)W~3TUX} zUO^Qa7tmniPLU0*H;_gJx9U(qIvhx$jGJF7BlQ!YX-bCSn%DhRa1}MU;;H}2mpt`A ziKiME#syC?(4NFOPciVagfos`@JYn1UN>;cY3;X2BrFj7v{2+Y+YX6@#fO0+3LJCQ zBvH>3vz-&-ueoS%1%d+z!pldaMb1S zJy+Y=T^nDZ7)fV{#%PX`f<=ncJWbF5{oQ;4iDXE!#q;ab00000NkvXXu0mjfx2&{B literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-pageUp.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-pageUp.png new file mode 100644 index 0000000000000000000000000000000000000000..fb9daa337656a75091ea00d4c5600ba4f557d834 GIT binary patch literal 246 zcmV4@1mz9~E$`$~;b_k}_F6G1q{7jr18lHWj_7~< wLcH + + + + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-pageUp@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-pageUp@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a5cfd755b0b400bc6b7790c0fd41e7aa70d8aa1c GIT binary patch literal 403 zcmV;E0c`$>P)kdg00046NklObOG9sOZQNBke(N5=mxxi_UHnda|*&J&5TH*h$u8)^QA!? z;xt&CUk(xa@IS{#Xz2Hu|6d*s2mgJH_rVY7C(gG%-^8f%*FGts5wO{2{YRVjxB;6j z)&{h^5?<#`RuxU!x&ey~Rs;=NIsuDymORvHjS85o@x@1treDBhm4y+iG`#`_%Y4>Q zrXd9kmiVNpL_-b4SmY!16&V{0L|Nd&m{h`q6-zeg7QAIlCLxaTHheG%?nYsXZ0`) zJwbTMNirjGFS)Go0!$`0KT}Lg+!F?+fC96-Tkl6a7i8QNLsCG2!2H_bPUYYu$y1&U xNi)wqhB>1K6qvvQRuRHFB2cYh4paDxeFMq5jmkNGJDLCh002ovPDHLkV1nI`spbFx literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-presentationMode.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-presentationMode.png new file mode 100644 index 0000000000000000000000000000000000000000..3ac21244dff26830f46ec462f2dab36e1a18938c GIT binary patch literal 321 zcmV-H0lxl;P)d-;VqjhMU0mZ4X2g!hLXQ*2lyD zAO1T4QSzVf-}e8HzMQ-~=l=t+g42^3RNS0C9Q=RpM>>fAJ?a1b&&NYN8B~EX5F3G* z)y-)~6N3zxFSVx?D9sL)fdf{kGziForAY+;dH)B&*)2a2N#7G$Xm3^>hP76r$iD7@qu}40l!X|5FfA2;Tt;<=`gB!NnK=_L!_3 TdOB@M00000NkvXXu0mjfBu|wT literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-presentationMode.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-presentationMode.svg new file mode 100644 index 0000000..3f1f832 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-presentationMode.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-presentationMode@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-presentationMode@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..cada9e7918da28bdf84af38c354dbf1e1c6fe31a GIT binary patch literal 586 zcmV-Q0=4~#P)kdg0006JNkl6nm`NYOT@I1}o-1mKoVd&o&{7f+mN-&#|()Zx;dz{8H zjZ$((8_UU@2);#emg03$I7{)Q2)+sjYw5ZuyjRhz2zmk^;uiyU5k4mtKpo5NDq;oH3c;DYmG_Dw9@94#Qd!Np$MYD$j zPc4{FS9m_nZFoN1#o4faN{cjOD4v!1b8BVb^Z!9gw9*2_{C#gi$nn)e!f!}1hmw`k2Xb!g|HAo2t*7E*&>DgR^vZU zVV4ks^D731!9T-ielNTbGw_$axq|YpFKNTWBMo*4b40@@e=r<~g@MK&J_SO41MfMq z6K6!=^stS5fYisq7foRJTRX628(*Bq(yKr%dZE{WZ`;7vZJ2IZv$kcQLwS8}%Xy#f zfMcjMVUtA}0uh@ufx-#qxPlcm-vgSJD;yl)1oluX_K^Glse?0qV_8Mk00000NkvXX Hu0mjf@9=3h literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-print.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-print.svg new file mode 100644 index 0000000..d521c9a --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-print.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-print@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-print@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..53d18daf7825ae12d99406068073d16ab682737e GIT binary patch literal 464 zcmV;>0WbcEP)kdg0004(Nkl|6%E6&Q zgKhE5R6HaVnnStjcWqH1ObaL>24WBUJ_Y#4uV1O`0z?e~qSOfwF1Pr+z z$Bpe>*voD2#tn`c<-UL;j`nO=$Qx_VPMhTiws^}Shpj6L11HP{ZY}JG58#d<-o%HwW2=;PUN2XFHukd_-`kI$Y@{*S`_h91y zIW}gls+39Ng#)bOp}H?Gw|H@Pf)(V=%H0Vs*gACdn;u{lW|A|ybdPtAQD7%+lCuPJ zNHpGOlkX&todVvkrYUPEpq8BS?cYmI7hZsM*cGhfU(HW?%hSMo{ZqpL0000YA literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-search.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-search.png new file mode 100644 index 0000000000000000000000000000000000000000..f9b75579b1e058baada95941a4a7ff0c80edb5cb GIT binary patch literal 309 zcmV-50m}Y~P)}CT$H)>Cl*KShVy4rnvP0Z8?}Z*4h&|1f^pNMc6--g9AMzMF;T^ zdxEUy+IsY03~>NTiO@2lBS(WyDLQStmhYno%7XP%~a zg|t=`Q(SSy6w-os!-I2sl2TAVdpUcr6!sO=uOix1Q2+A@lD3RUk?l9y00000NkvXX Hu0mjfGKYz; literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-search.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-search.svg new file mode 100644 index 0000000..28b7774 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-search.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-search@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-search@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..456b133248fd5310857db3e2b174730f6488371b GIT binary patch literal 653 zcmV;80&@L{P)kdg00071Nkl{bbX%$pI4<4dGmxrK3y9C*x5W092iXDWyS$NGul86ip{iUm* zph&8bY4&exY`K>GnEG>Dd62o*(mD5i_k8$VY~O9Br=aKc@csAZc|K$K(~H}AmbW;? zMG@u@&$EhH4=lw&FBkZQF-Ap9o)(M%&-~tka$b|+DChG;`IX(=w(){a#`%8{F<#$j z!3oAVrx=lttE;Wi(dg)E3%QJl{>ms%ms(Jfo#2eJ;_GOI4YjBgwXk)xuK0A4^|Gqy zg0)keVT6&~w6g^ktS^hRB{!`y&ScJIkb$(>x10P=3G|{G`Bfe0)oE%dg%qUCmd7}) z3^)d0=5pwC)whaONSkH-{G>RoP849(sVpfg@*ia0@S_s8gi(M+r$*3#0co@3D5sRA zh9wlxpwskt8fi$I&Gs>uWY z?@M2Nt`6yC6T6=Kx^U>Q*>AFmU}|CQ^VA2Q+|HIZgo*jpkAZhSx|3}@2xVraKJvzU wce9NLp>&q3J+HiVD_f9=9_zn#f#kpM2NJQXccvwU^Z)<=07*qoM6N<$g7779MF0Q* literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-secondaryToolbarToggle-rtl@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-secondaryToolbarToggle-rtl@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9d9bfa4f63d6a8ae5cbaafa2efadd2c16b48a3d8 GIT binary patch literal 456 zcmV;(0XP1MP)kdg0004xNkl&Eo0wtSl_%_c@)#x6@Nc{?`phhD&@IIESE8yJl-K zSNKF1)hUn5sOZvq+E~U7KGIR4efOfQ^}884Zquc$Li5&n8S%Rr1@7~nmioPL?ToDQ zyBRA(nRhf*zjpbgtnj-TYr+Ig8tT{lh2v82yBQlog$4`i$IR)&lJ~nAn?g*Tx2iXJ zWWVJ6ZpK)6$s20w>%%>JCF}K+&F|>X@+#3QMD!p6D zD}Un9_eZ=yRl_vval1L7BzJJ%w+GCj;t)~vyE&jFTPl6N#|&!ruPuHz2b3(`y7R*w zDyWF(Z1=l4pkzsLTk9rI70-y-?RRDWXwkZ{`gNuh)5IL`x)Kb@EZ>3!A!A$=*8}1L$Je~+C1~_8?0000)($5yeRDdaQJ-M|4aWbecXOn@Guga;V=~b z@A-fE|GC#2l&u(8kl8S=_WnQr|Ky7m5@rlc$ZVK&-~ZG9k3Lz%WyHXU%!Wxf{y*{m t;LXXb20&>fHX + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-secondaryToolbarToggle@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-secondaryToolbarToggle@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..b066fe5cb0ef03ceee653393df468690f382abdf GIT binary patch literal 458 zcmV;*0X6=KP)kdg0004zNklungn#PzRCDDkC`n~n-$qc_|=6h2P`+3##e4qF2k^f~&;~by5E|5SX@g5gF zM(V@4qrL*vqBy9 zmb;|w9+AI3)?7ThQODDyXUp*o57Q zk<^j>?O9%<$}VJ!)rCGJIWh710VUKc_nfi8UFd6Wq&>}xNGDg=Rgg%$YmQ;9d&EnM z>U;L=QAvw#VE4vGm!-&}`ugz1AsMo}H!?0DWI=tocW|Gi?CyR7|OZx}=1^9!Vb3w=BGynhq07*qoM6N<$f>h_@ AZvX%Q literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-sidebarToggle-rtl.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-sidebarToggle-rtl.png new file mode 100644 index 0000000000000000000000000000000000000000..6f85ec061ea167b1718d2865cfc1e53370f11b7a GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6R(QHNhEy=Fy|9t%kby|+!~K<= z=lYs7_Vv%s4-^nwVp00$&6?)LeSG^I3$L4YTv-}i{FpUUBct%;PlbZ%#R_fqh7bDx z-F*1OP);pG_ExTK`(Chn5R(EeH9pPAiYO~EVU zg;AX0YiF?m$$s9yK0f=U*jm^Eqt`WV2>kpZ@LOBJCk~ccO~LBz65exMPv3u}^Njbh X)s)<0)dyODZf5Xw^>bP0l+XkKTSZs> literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-sidebarToggle-rtl@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-sidebarToggle-rtl@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..291e006797fc7f0e84d297e952630c719fe6eeab GIT binary patch literal 344 zcmV-e0jK_nP)kdg0003WNklzGl0Qy}Zomti9P@(RHP^G#|@5~=y7$K!siiboRh zuIeZWmVB=G=|>dh^>JgTvTX_3{+V)mF&H3EjY7F_lyu+m(` z^5@!%E%1sIf<-iET7g&00wOY5YylCO%que#{I4g>zrp+oX2Hs@7Sy8){GqKd3+i8+ z(La(~<(6kl$Y?0+E!3g~6pVPYgsgOBL}3a(#z;E(drpoEc78P(r=PdlEn2u>S!eOM qa*)PSBkN>jxL^#qr<+KRA;34`pdw#DmQPIp0000%D&|RWz?R3S%8@5!h6F=s6G4bYqaW?MzjoCkpng6|s zXV#N@oaktrz{i#`@v)}nB&N==y>HnTvNCfR?M_V%Q~Gzyo8O~>Q6}#e!-ESy&GlaR zu`s+4fAKGyamxbfPlhLUim60w=5E=2>$USub|+s^j;X5ze{YfSp5y*9zfkTo Z + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-sidebarToggle@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-sidebarToggle@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..7f834df94000475b8edda3b062279b17277db9d8 GIT binary patch literal 331 zcmV-R0kr;!P)kdg0003JNkl$GH;g-ye=E3m76~FBj%$^S3p8p9*q*pSbd*{>iVWHsKF0S;I z^gX4t*wuc`Tb2cq{&%P`@>A8<^(NL(>Ho}s&vtk+Fua<7E9$@Hp92jMpDMqu z1xm9(o%fjY|H;!pyNX@EE&si$I{ZV$w@o%SaA_c5db|2dDUjx3Fk~?LRQ7GXy(6+T z5KNBxck+Mrf8+l~|GU4fb8ui_Wk3UhZHZr2{6GKy)RPIe_L$OOB@D*mE*uUFn%Jcw efQf+-n=k;HAC|A!G+~AS0000 \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-viewAttachments@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewAttachments@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4a5e2b8a3775facabbf7e93d8b9b1b30297632be GIT binary patch literal 859 zcmV-h1Elkdg0009bNklO!qs?nO>`2G`bN+(=Af|T(S(@31n57R7<0pDb zv*kV(PVYe$9;O?e1ONJb6Yc5BKP*8IY3C>D9Hdz{8730PBZ^sbmXX%4tmg@4vsUTxntmOiRVB}nLnYi#??6;a}ZB3eP57p|1DS zXl@|>xwZ%;kT8Pz`Hz3Db$te9qxmP|1)H#*aDh5Lj}^X@`uu%;NfI2egk?GY;;*~a z@dUdWZu{mdd@#VUTEfucA z9}iccG?Fc|>vewjnSi)TqAu#895Qn;HT?c?WeWVQy!reZ_MEv1^(6j}Uth0B86;mF zdF6c{@Vju11>@nYT*bfq@_HT0Bh@l39~}OgKg2Iw!R~CvPMjyc=5Ky}tMIgxcku}S zhy2W6{6`&XB>Y8u|6sYo(^$Sr?Vhc2yC#0%M}7=@X>@SpAe2G6%8YVoT%t?Q{>}Sj lZHt=7g$$J$Igkx$P79l;1h5EfFlGP%002ovPDHLkV1kE3p%MT9 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-viewLayers.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewLayers.svg new file mode 100644 index 0000000..e8687b7 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewLayers.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-viewOutline-rtl.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewOutline-rtl.png new file mode 100644 index 0000000000000000000000000000000000000000..aaa9430211e168a593f7e3bb486b3cac2be6556b GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6Dm+~rLn;{8UeM)Zaui^FxJzhG z!|qKIVyq93J2V|v60i`ubLP&1jLj#z)YdH6_dNZQ&xuJ2GPazLv>Ue+?>6bs6%sUl z=5wmNX+x=cM?cG@Z*M=Wx3_WU$gY-DxaT(E)^*=hf#2W0ec7YVF<0AhkJ^MyIkdg0003|NklAE8oCqP6^J2Th#(YoIRh@jaAR$9RboY0TBz8UW*<_dt4i~Ob~DGonWs6N zDHmgSc1896;1BQmyd3=B*_8?FdJfKrFg8ajkxH`r#|ZrHE^89r%(@^&LP zaU~!CnZY3+ryJx4P}Ww4*H%5boJ10kK>!OHX7MpIn8%#kUo_liM?;42gn8)-kME$x z2MsMkajI;x=~Nv!fDG?7K@n$i6P3?9=x2F1U4N$!WpzoMSmnfG0tr9{|91dxvNb`P z@Pt@#g$O@Ts`FxkI-!h8tg$vKjo=3vo__&~$jeRS1pFY=P4m>Rm+nD{$E*W$KOT$2 zPbKiz-rYZ3=dFef!V_e{6&&9|na3K+gyQ5_WYNiu|AQk^Ne|QKRngBbo7l z(Z#9O-!Ih&DHL`j3;gi;Q|>%Z+C4MQ_`#CC(&&{H^BL7&PFp7v \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-viewOutline@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewOutline@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..b6a197fdf33da57ada4fec17e042708b1586fb29 GIT binary patch literal 331 zcmV-R0kr;!P)kdg0003JNkl4op8oHYTF~kcIgrY7-m_-=gLr9yLNJGQQw7)|`w#sbRZsr&`=k35ZXB7v& zrAY4&X89~W4uka=>r9+FQTkQ_0Xjv(1s6q9K=4z^2Y#M8=iEFR2+oy!;P`O)ls|M1 zIuQI&@&RmN2ixxJx2v>4V~zJtjVOI7`6Jp1XPnuIh2Wc#513n~OwGtZFjew_qkVIo zU$ytz5PVhoe+S{Q%8^qgO78)3#J^TUPB~o-R}j1l2nEaq#~hp3KyVxo3PjEPJUfe; z5d?1nLIL%=*r2h(o>L)8FG~K1Hs*i>8(RooD*3?jlzsNIZU(`=k`J^Rc{e+0HChnt dDXqo-;1^oHB*H?C%i{n5002ovPDHLkV1gg@i>m+t literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-viewThumbnail.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewThumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..584ba55881f9a192ddea645d6d8525bab205e289 GIT binary patch literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf68a!PbLn;`1FBoz$1@g2!+&O99 zf!$e4*(j56dDxhu@!aQ2zL__%gK{mTjH$a~4^&m3zt@ zUaiuXsMG0KBR${yp3FT-zMKuGw=rB1}fgF!j@Pa jH| + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-viewThumbnail@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-viewThumbnail@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a0208b41377f5e006b90f4c6f6432f0156c7cd0c GIT binary patch literal 219 zcmV<103`p3P)Ai1Yx4!(rbx9*stQkf2`I11D?x VwzoOr^jH7@002ovPDHLkV1mA0TJZn? literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomIn.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomIn.png new file mode 100644 index 0000000000000000000000000000000000000000..513d081bc2d2f3eb64801a5e8cde86ef4455829c GIT binary patch literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6{5@S9Ln;`P7g+!J&&MG-LGg5b zi0J(bTQ@BD_154)g5P7Bj9n-%)M8r~??+_T|q$+)-V kia5^-HX{oL#i@)8E52we&r^_U0~*cX>FVdQ&MBb@0BWi($p8QV literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomIn.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomIn.svg new file mode 100644 index 0000000..480d2ce --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomIn.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomIn@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomIn@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..d5d49d5ff107f01daa307bd0f89f98efc31eeec7 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE0wix1Z>k4U>7Fi*Ar*|t5-bTK29GBH`OkMs z;LzH(r}lQj`-ICFx#MpBpCa|4zl7P1x1vYwH*5P29X)2dhZ~*=Z`AwIt>?Q+{9j-O zLo#EO)0^fl@rko%`Z-H3Q%PTTaY>Is!UArQV{B|y4S@^{cTUS(`F>5r0%#?Jr>mdK II;Vst0FRG1RsaA1 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomOut.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomOut.png new file mode 100644 index 0000000000000000000000000000000000000000..156c26b941c12a13130e7a7c181d13300a85de89 GIT binary patch literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6mdKI;Vst01!SC>;M1& literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomOut.svg b/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomOut.svg new file mode 100644 index 0000000..527f521 --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomOut.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomOut@2x.png b/app/assets/javascripts/publications/pdf/images/toolbarButton-zoomOut@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..959e1919d5a7a83a9c319de4d65ddaf6dc6c2763 GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE0wix1Z>k4UCY~;iAr*|t5x6B zz{uFh!Ff-a?~&O9p+bS}jK@2hEqD_O6oi80fl3Ux7>c+~q1|%O$WD@{VVV*9IAr*|t6(1k5>aAfpGT9*~ zXOfab4D%87#veSpl*$zRm>xL?oHRbsHKXB%c*k}H6$4SxhZAg?^X4iGtUtb-qb;)0 qg018G0wld=oSO}#+&x_!LpZJ{CnQuDzHAj@)~YCc zcJ!pUslH1 \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/treeitem-collapsed@2x.png b/app/assets/javascripts/publications/pdf/images/treeitem-collapsed@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..eec1e58c125c80af090ae0845e81191d86740141 GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+0wn(&ce?|mVmw_OLn;`P85+fF^_NI;G>WIk z$<$8#)-<<4$>7e1Lt^WdBv>MS0tC+_?dkdu(KF##vY``K|4|Ok95LarEgxHDk6!z_ xe}ZGN#WGb9Hnl@SJ`EdME-hi&#=_6Qka7RV*Qd`VTY>g4c)I$ztaD0e0sz~DGV1^U literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/treeitem-expanded.png b/app/assets/javascripts/publications/pdf/images/treeitem-expanded.png new file mode 100644 index 0000000000000000000000000000000000000000..c8d557351cd2fc80c3abd4b19e52924cd74780d5 GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>0wld=oSO}#Ts&PILn;`P75MhNs4Zk;-DbE) zpt_L5GvPZo^g4)z4*}Q$iB}$ABb+ literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/publications/pdf/images/treeitem-expanded.svg b/app/assets/javascripts/publications/pdf/images/treeitem-expanded.svg new file mode 100644 index 0000000..2d45f0c --- /dev/null +++ b/app/assets/javascripts/publications/pdf/images/treeitem-expanded.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/javascripts/publications/pdf/images/treeitem-expanded@2x.png b/app/assets/javascripts/publications/pdf/images/treeitem-expanded@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..3b3b6103b356200d05caf7fa692cadf2c1e89043 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+0wn(&ce?|mialK%Ln;`P7Z_I { // webpackBootstrap +/******/ var __webpack_modules__ = ([ +/* 0 */, +/* 1 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +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.isAscii = isAscii; +exports.isSameOrigin = isSameOrigin; +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; + +__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); 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 _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); } + +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 RenderingIntentFlag = { + ANY: 0x01, + DISPLAY: 0x02, + PRINT: 0x04, + ANNOTATIONS_FORMS: 0x10, + ANNOTATIONS_STORAGE: 0x20, + ANNOTATIONS_DISABLE: 0x40, + OPLIST: 0x100 +}; +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, + COPY: 0x10, + MODIFY_ANNOTATIONS: 0x20, + FILL_INTERACTIVE_FORMS: 0x100, + COPY_FOR_ACCESSIBILITY: 0x200, + ASSEMBLE: 0x400, + PRINT_HIGH_QUALITY: 0x800 +}; +exports.PermissionFlag = PermissionFlag; +var TextRenderingMode = { + FILL: 0, + STROKE: 1, + FILL_STROKE: 2, + INVISIBLE: 3, + FILL_ADD_TO_PATH: 4, + STROKE_ADD_TO_PATH: 5, + FILL_STROKE_ADD_TO_PATH: 6, + ADD_TO_PATH: 7, + FILL_STROKE_MASK: 3, + ADD_TO_PATH_FLAG: 4 +}; +exports.TextRenderingMode = TextRenderingMode; +var ImageKind = { + GRAYSCALE_1BPP: 1, + RGB_24BPP: 2, + RGBA_32BPP: 3 +}; +exports.ImageKind = ImageKind; +var AnnotationType = { + TEXT: 1, + LINK: 2, + FREETEXT: 3, + LINE: 4, + SQUARE: 5, + CIRCLE: 6, + POLYGON: 7, + POLYLINE: 8, + HIGHLIGHT: 9, + UNDERLINE: 10, + SQUIGGLY: 11, + STRIKEOUT: 12, + STAMP: 13, + CARET: 14, + INK: 15, + POPUP: 16, + FILEATTACHMENT: 17, + SOUND: 18, + MOVIE: 19, + WIDGET: 20, + SCREEN: 21, + PRINTERMARK: 22, + TRAPNET: 23, + WATERMARK: 24, + THREED: 25, + REDACT: 26 +}; +exports.AnnotationType = AnnotationType; +var AnnotationStateModelType = { + MARKED: "Marked", + REVIEW: "Review" +}; +exports.AnnotationStateModelType = AnnotationStateModelType; +var AnnotationMarkedState = { + MARKED: "Marked", + UNMARKED: "Unmarked" +}; +exports.AnnotationMarkedState = AnnotationMarkedState; +var AnnotationReviewState = { + ACCEPTED: "Accepted", + REJECTED: "Rejected", + CANCELLED: "Cancelled", + COMPLETED: "Completed", + NONE: "None" +}; +exports.AnnotationReviewState = AnnotationReviewState; +var AnnotationReplyType = { + GROUP: "Group", + REPLY: "R" +}; +exports.AnnotationReplyType = AnnotationReplyType; +var AnnotationFlag = { + INVISIBLE: 0x01, + HIDDEN: 0x02, + PRINT: 0x04, + NOZOOM: 0x08, + NOROTATE: 0x10, + NOVIEW: 0x20, + READONLY: 0x40, + LOCKED: 0x80, + TOGGLENOVIEW: 0x100, + LOCKEDCONTENTS: 0x200 +}; +exports.AnnotationFlag = AnnotationFlag; +var AnnotationFieldFlag = { + READONLY: 0x0000001, + REQUIRED: 0x0000002, + NOEXPORT: 0x0000004, + MULTILINE: 0x0001000, + PASSWORD: 0x0002000, + NOTOGGLETOOFF: 0x0004000, + RADIO: 0x0008000, + PUSHBUTTON: 0x0010000, + COMBO: 0x0020000, + EDIT: 0x0040000, + SORT: 0x0080000, + FILESELECT: 0x0100000, + MULTISELECT: 0x0200000, + DONOTSPELLCHECK: 0x0400000, + DONOTSCROLL: 0x0800000, + COMB: 0x1000000, + RICHTEXT: 0x2000000, + RADIOSINUNISON: 0x2000000, + COMMITONSELCHANGE: 0x4000000 +}; +exports.AnnotationFieldFlag = AnnotationFieldFlag; +var AnnotationBorderStyleType = { + SOLID: 1, + DASHED: 2, + BEVELED: 3, + INSET: 4, + 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", + LZW: "LZW", + DCT: "DCT", + JPX: "JPX", + JBIG: "JBIG", + A85: "A85", + AHX: "AHX", + CCF: "CCF", + RLX: "RLX" +}; +exports.StreamType = StreamType; +var FontType = { + UNKNOWN: "UNKNOWN", + TYPE1: "TYPE1", + TYPE1STANDARD: "TYPE1STANDARD", + TYPE1C: "TYPE1C", + CIDFONTTYPE0: "CIDFONTTYPE0", + CIDFONTTYPE0C: "CIDFONTTYPE0C", + TRUETYPE: "TRUETYPE", + CIDFONTTYPE2: "CIDFONTTYPE2", + TYPE3: "TYPE3", + OPENTYPE: "OPENTYPE", + TYPE0: "TYPE0", + MMTYPE1: "MMTYPE1" +}; +exports.FontType = FontType; +var VerbosityLevel = { + ERRORS: 0, + WARNINGS: 1, + INFOS: 5 +}; +exports.VerbosityLevel = VerbosityLevel; +var CMapCompressionType = { + NONE: 0, + BINARY: 1, + STREAM: 2 +}; +exports.CMapCompressionType = CMapCompressionType; +var OPS = { + dependency: 1, + setLineWidth: 2, + setLineCap: 3, + setLineJoin: 4, + setMiterLimit: 5, + setDash: 6, + setRenderingIntent: 7, + setFlatness: 8, + setGState: 9, + save: 10, + restore: 11, + transform: 12, + moveTo: 13, + lineTo: 14, + curveTo: 15, + curveTo2: 16, + curveTo3: 17, + closePath: 18, + rectangle: 19, + stroke: 20, + closeStroke: 21, + fill: 22, + eoFill: 23, + fillStroke: 24, + eoFillStroke: 25, + closeFillStroke: 26, + closeEOFillStroke: 27, + endPath: 28, + clip: 29, + eoClip: 30, + beginText: 31, + endText: 32, + setCharSpacing: 33, + setWordSpacing: 34, + setHScale: 35, + setLeading: 36, + setFont: 37, + setTextRenderingMode: 38, + setTextRise: 39, + moveText: 40, + setLeadingMoveText: 41, + setTextMatrix: 42, + nextLine: 43, + showText: 44, + showSpacedText: 45, + nextLineShowText: 46, + nextLineSetSpacingShowText: 47, + setCharWidth: 48, + setCharWidthAndBounds: 49, + setStrokeColorSpace: 50, + setFillColorSpace: 51, + setStrokeColor: 52, + setStrokeColorN: 53, + setFillColor: 54, + setFillColorN: 55, + setStrokeGray: 56, + setFillGray: 57, + setStrokeRGBColor: 58, + setFillRGBColor: 59, + setStrokeCMYKColor: 60, + setFillCMYKColor: 61, + shadingFill: 62, + beginInlineImage: 63, + beginImageData: 64, + endInlineImage: 65, + paintXObject: 66, + markPoint: 67, + markPointProps: 68, + beginMarkedContent: 69, + beginMarkedContentProps: 70, + endMarkedContent: 71, + beginCompat: 72, + endCompat: 73, + paintFormXObjectBegin: 74, + paintFormXObjectEnd: 75, + beginGroup: 76, + endGroup: 77, + beginAnnotations: 78, + endAnnotations: 79, + beginAnnotation: 80, + endAnnotation: 81, + paintJpegXObject: 82, + paintImageMaskXObject: 83, + paintImageMaskXObjectGroup: 84, + paintImageXObject: 85, + paintInlineImageXObject: 86, + paintInlineImageXObjectGroup: 87, + paintImageXObjectRepeat: 88, + paintImageMaskXObjectRepeat: 89, + paintSolidColorImageMask: 90, + constructPath: 91 +}; +exports.OPS = OPS; +var UNSUPPORTED_FEATURES = { + unknown: "unknown", + forms: "forms", + javaScript: "javaScript", + signatures: "signatures", + smask: "smask", + shadingPattern: "shadingPattern", + 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 = { + NEED_PASSWORD: 1, + INCORRECT_PASSWORD: 2 +}; +exports.PasswordResponses = PasswordResponses; +var verbosity = VerbosityLevel.WARNINGS; + +function setVerbosityLevel(level) { + if (Number.isInteger(level)) { + verbosity = level; + } +} + +function getVerbosityLevel() { + return verbosity; +} + +function info(msg) { + if (verbosity >= VerbosityLevel.INFOS) { + console.log("Info: ".concat(msg)); + } +} + +function warn(msg) { + if (verbosity >= VerbosityLevel.WARNINGS) { + console.log("Warning: ".concat(msg)); + } +} + +function unreachable(msg) { + throw new Error(msg); +} + +function assert(cond, msg) { + if (!cond) { + unreachable(msg); + } +} + +function isSameOrigin(baseUrl, otherUrl) { + var base; + + try { + base = new URL(baseUrl); + + if (!base.origin || base.origin === "null") { + return false; + } + } catch (e) { + return false; + } + + var other = new URL(otherUrl, base); + return base.origin === other.origin; +} + +function _isValidProtocol(url) { + if (!url) { + return false; + } + + switch (url.protocol) { + case "http:": + case "https:": + case "ftp:": + case "mailto:": + case "tel:": + return true; + + default: + return false; + } +} + +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)) { + return absoluteUrl; + } + } catch (ex) {} + + return null; +} + +function shadow(obj, prop, value) { + Object.defineProperty(obj, prop, { + value: value, + enumerable: true, + configurable: true, + writable: false + }); + return value; +} + +var BaseException = function BaseExceptionClosure() { + function BaseException(message, name) { + if (this.constructor === BaseException) { + unreachable("Cannot initialize BaseException."); + } + + this.message = message; + this.name = name; + } + + BaseException.prototype = new Error(); + BaseException.constructor = BaseException; + return BaseException; +}(); + +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 = _super.call(this, msg, "PasswordException"); + _this.code = code; + return _this; + } + + return _createClass(PasswordException); +}(BaseException); + +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 = _super2.call(this, msg, "UnknownErrorException"); + _this2.details = details; + return _this2; + } + + return _createClass(UnknownErrorException); +}(BaseException); + +exports.UnknownErrorException = UnknownErrorException; + +var InvalidPDFException = /*#__PURE__*/function (_BaseException3) { + _inherits(InvalidPDFException, _BaseException3); + + var _super3 = _createSuper(InvalidPDFException); + + function InvalidPDFException(msg) { + _classCallCheck(this, InvalidPDFException); + + return _super3.call(this, msg, "InvalidPDFException"); + } + + return _createClass(InvalidPDFException); +}(BaseException); + +exports.InvalidPDFException = InvalidPDFException; + +var MissingPDFException = /*#__PURE__*/function (_BaseException4) { + _inherits(MissingPDFException, _BaseException4); + + var _super4 = _createSuper(MissingPDFException); + + function MissingPDFException(msg) { + _classCallCheck(this, MissingPDFException); + + return _super4.call(this, msg, "MissingPDFException"); + } + + return _createClass(MissingPDFException); +}(BaseException); + +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 = _super5.call(this, msg, "UnexpectedResponseException"); + _this3.status = status; + return _this3; + } + + return _createClass(UnexpectedResponseException); +}(BaseException); + +exports.UnexpectedResponseException = UnexpectedResponseException; + +var FormatError = /*#__PURE__*/function (_BaseException6) { + _inherits(FormatError, _BaseException6); + + var _super6 = _createSuper(FormatError); + + function FormatError(msg) { + _classCallCheck(this, FormatError); + + return _super6.call(this, msg, "FormatError"); + } + + return _createClass(FormatError); +}(BaseException); + +exports.FormatError = FormatError; + +var AbortException = /*#__PURE__*/function (_BaseException7) { + _inherits(AbortException, _BaseException7); + + var _super7 = _createSuper(AbortException); + + function AbortException(msg) { + _classCallCheck(this, AbortException); + + return _super7.call(this, msg, "AbortException"); + } + + return _createClass(AbortException); +}(BaseException); + +exports.AbortException = AbortException; + +function bytesToString(bytes) { + if (_typeof(bytes) !== "object" || bytes === null || bytes.length === undefined) { + unreachable("Invalid argument for bytesToString"); + } + + var length = bytes.length; + var MAX_ARGUMENT_COUNT = 8192; + + if (length < MAX_ARGUMENT_COUNT) { + return String.fromCharCode.apply(null, bytes); + } + + var strBuf = []; + + for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) { + var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length); + var chunk = bytes.subarray(i, chunkEnd); + strBuf.push(String.fromCharCode.apply(null, chunk)); + } + + return strBuf.join(""); +} + +function stringToBytes(str) { + if (typeof str !== "string") { + unreachable("Invalid argument for stringToBytes"); + } + + var length = str.length; + var bytes = new Uint8Array(length); + + for (var i = 0; i < length; ++i) { + bytes[i] = str.charCodeAt(i) & 0xff; + } + + return bytes; +} + +function arrayByteLength(arr) { + if (arr.length !== undefined) { + return arr.length; + } + + if (arr.byteLength !== undefined) { + return arr.byteLength; + } + + unreachable("Invalid argument for arrayByteLength"); +} + +function arraysToBytes(arr) { + var length = arr.length; + + if (length === 1 && arr[0] instanceof Uint8Array) { + return arr[0]; + } + + var resultLength = 0; + + for (var i = 0; i < length; i++) { + resultLength += arrayByteLength(arr[i]); + } + + var pos = 0; + var data = new Uint8Array(resultLength); + + for (var _i = 0; _i < length; _i++) { + var item = arr[_i]; + + if (!(item instanceof Uint8Array)) { + if (typeof item === "string") { + item = stringToBytes(item); + } else { + item = new Uint8Array(item); + } + } + + var itemLength = item.byteLength; + data.set(item, pos); + pos += itemLength; + } + + return data; +} + +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; + var view32 = new Uint32Array(buffer8.buffer, 0, 1); + return view32[0] === 1; +} + +var IsLittleEndianCached = { + get value() { + return shadow(this, "value", isLittleEndian()); + } + +}; +exports.IsLittleEndianCached = IsLittleEndianCached; + +function isEvalSupported() { + try { + new Function(""); + return true; + } catch (e) { + return false; + } +} + +var IsEvalSupportedCached = { + get value() { + return shadow(this, "value", isEvalSupported()); + } + +}; +exports.IsEvalSupportedCached = IsEvalSupportedCached; + +var hexNumbers = _toConsumableArray(Array(256).keys()).map(function (n) { + return n.toString(16).padStart(2, "0"); +}); + +var Util = /*#__PURE__*/function () { + function Util() { + _classCallCheck(this, Util); + } + + _createClass(Util, null, [{ + key: "makeHexColor", + value: function makeHexColor(r, g, b) { + return "#".concat(hexNumbers[r]).concat(hexNumbers[g]).concat(hexNumbers[b]); + } + }, { + key: "transform", + value: function transform(m1, m2) { + return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]]; + } + }, { + key: "applyTransform", + value: function applyTransform(p, m) { + var xt = p[0] * m[0] + p[1] * m[2] + m[4]; + var yt = p[0] * m[1] + p[1] * m[3] + m[5]; + return [xt, yt]; + } + }, { + key: "applyInverseTransform", + value: function applyInverseTransform(p, m) { + var d = m[0] * m[3] - m[1] * m[2]; + var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d; + var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d; + return [xt, yt]; + } + }, { + key: "getAxialAlignedBoundingBox", + value: function getAxialAlignedBoundingBox(r, m) { + var p1 = Util.applyTransform(r, m); + var p2 = Util.applyTransform(r.slice(2, 4), m); + var p3 = Util.applyTransform([r[0], r[3]], m); + var p4 = Util.applyTransform([r[2], r[1]], m); + return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])]; + } + }, { + key: "inverseTransform", + value: function inverseTransform(m) { + var d = m[0] * m[3] - m[1] * m[2]; + return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d]; + } + }, { + key: "apply3dTransform", + value: function apply3dTransform(m, v) { + return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]]; + } + }, { + key: "singularValueDecompose2dScale", + value: function singularValueDecompose2dScale(m) { + var transpose = [m[0], m[2], m[1], m[3]]; + var a = m[0] * transpose[0] + m[1] * transpose[2]; + var b = m[0] * transpose[1] + m[1] * transpose[3]; + 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(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)]; + } + }, { + key: "normalizeRect", + value: function normalizeRect(rect) { + var r = rect.slice(0); + + if (rect[0] > rect[2]) { + r[0] = rect[2]; + r[2] = rect[0]; + } + + if (rect[1] > rect[3]) { + r[1] = rect[3]; + r[3] = rect[1]; + } + + return r; + } + }, { + key: "intersect", + value: function intersect(rect1, rect2) { + function compare(a, b) { + return a - b; + } + + var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare); + var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare); + var result = []; + rect1 = Util.normalizeRect(rect1); + rect2 = Util.normalizeRect(rect2); + + if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) { + result[0] = orderedX[1]; + result[2] = orderedX[2]; + } else { + return null; + } + + if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) { + result[1] = orderedY[1]; + result[3] = orderedY[2]; + } else { + return null; + } + + 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]; + +function stringToPDFString(str) { + if (str[0] >= "\xEF") { + var encoding; + + 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"; + } + + 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)); +} + +function utf8StringToString(str) { + return unescape(encodeURIComponent(str)); +} + +function isArrayBuffer(v) { + return _typeof(v) === "object" && v !== null && v.byteLength !== undefined; +} + +function isArrayEqual(arr1, arr2) { + if (arr1.length !== arr2.length) { + return false; + } + + 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() { + var capability = Object.create(null); + var isSettled = false; + Object.defineProperty(capability, "settled", { + get: function get() { + return isSettled; + } + }); + capability.promise = new Promise(function (resolve, reject) { + capability.resolve = function (data) { + isSettled = true; + resolve(data); + }; + + capability.reject = function (reason) { + isSettled = true; + reject(reason); + }; + }); + return capability; +} + +/***/ }), +/* 2 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + + +var _is_node = __w_pdfjs_require__(3); + +if (!globalThis._pdfjsCompatibilityChecked) { + globalThis._pdfjsCompatibilityChecked = true; + + (function checkNodeBtoa() { + if (globalThis.btoa || !_is_node.isNodeJS) { + return; + } + + globalThis.btoa = function (chars) { + return Buffer.from(chars, "binary").toString("base64"); + }; + })(); + + (function checkNodeAtob() { + if (globalThis.atob || !_is_node.isNodeJS) { + return; + } + + globalThis.atob = function (input) { + return Buffer.from(input, "base64").toString("binary"); + }; + })(); + + (function checkDOMMatrix() { + if (globalThis.DOMMatrix || !_is_node.isNodeJS) { + return; + } + + globalThis.DOMMatrix = require("dommatrix/dist/dommatrix.js"); + })(); + + (function checkPromise() { + if (globalThis.Promise.allSettled) { + return; + } + + globalThis.Promise = __w_pdfjs_require__(4); + })(); + + (function checkReadableStream() { + if (globalThis.ReadableStream || !_is_node.isNodeJS) { + return; + } + + globalThis.ReadableStream = require("web-streams-polyfill/dist/ponyfill.js").ReadableStream; + })(); + + (function checkStructuredClone() { + if (globalThis.structuredClone) { + return; + } + + __w_pdfjs_require__(128); + })(); +} + +/***/ }), +/* 3 */ +/***/ ((__unused_webpack_module, exports) => { + +"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 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +__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 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"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; + var STATIC = options.stat; + var FORCED, target, key, targetProperty, sourceProperty, descriptor; + if (GLOBAL) { + target = global; + } else if (STATIC) { + target = global[TARGET] || setGlobal(TARGET, {}); + } else { + target = (global[TARGET] || {}).prototype; + } + if (target) + for (key in source) { + sourceProperty = source[key]; + if (options.noTargetGet) { + descriptor = getOwnPropertyDescriptor(target, key); + targetProperty = descriptor && descriptor.value; + } else + targetProperty = target[key]; + FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); + if (!FORCED && targetProperty !== undefined) { + if (typeof sourceProperty == typeof targetProperty) + continue; + copyConstructorProperties(sourceProperty, targetProperty); + } + if (options.sham || targetProperty && targetProperty.sham) { + createNonEnumerableProperty(sourceProperty, 'sham', true); + } + redefine(target, key, sourceProperty, options); + } +}; + +/***/ }), +/* 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; +}()) || Function('return this')(); + +/***/ }), +/* 8 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +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 () { + return 7; + } + })[1] != 7; +}); + +/***/ }), +/* 10 */ +/***/ ((module) => { + +module.exports = function (exec) { + try { + return !!exec(); + } catch (error) { + return true; + } +}; + +/***/ }), +/* 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 $propertyIsEnumerable = {}.propertyIsEnumerable; +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +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; +} : $propertyIsEnumerable; + +/***/ }), +/* 14 */ +/***/ ((module) => { + +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + +/***/ }), +/* 15 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var IndexedObject = __w_pdfjs_require__(16); +var requireObjectCoercible = __w_pdfjs_require__(19); +module.exports = function (it) { + return IndexedObject(requireObjectCoercible(it)); +}; + +/***/ }), +/* 16 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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(it, '') : Object(it); +} : Object; + +/***/ }), +/* 17 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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); + }; +}; + +/***/ }), +/* 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); + return it; +}; + +/***/ }), +/* 20 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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 (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) + return val; + if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) + return val; + if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) + return val; + throw TypeError("Can't convert object to primitive value"); +}; + +/***/ }), +/* 35 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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]; +}; + +/***/ }), +/* 36 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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; +}; + +/***/ }), +/* 40 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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 () { + return 7; + } + }).a != 7; +}); + +/***/ }), +/* 44 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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) { + return EXISTS ? document.createElement(it) : {}; +}; + +/***/ }), +/* 45 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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) { + object[key] = value; + return object; +}; + +/***/ }), +/* 46 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +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 = 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 $defineProperty(O, P, Attributes); + } catch (error) { + } + if ('get' in Attributes || 'set' in Attributes) + throw TypeError('Accessors not supported'); + if ('value' in Attributes) + O[P] = Attributes.value; + return O; +}; + +/***/ }), +/* 47 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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'); +}; + +/***/ }), +/* 49 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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'); +(module.exports = function (O, key, value, options) { + var unsafe = options ? !!options.unsafe : false; + var simple = options ? !!options.enumerable : false; + var noTargetGet = options ? !!options.noTargetGet : false; + 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) + O[key] = value; + else + setGlobal(key, value); + return; + } else if (!unsafe) { + delete O[key]; + } else if (!noTargetGet && O[key]) { + simple = true; + } + if (simple) + O[key] = value; + else + createNonEnumerableProperty(O, key, value); +})(Function.prototype, 'toString', function toString() { + return isCallable(this) && getInternalState(this).source || inspectSource(this); +}); + +/***/ }), +/* 50 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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(it); + }; +} +module.exports = store.inspectSource; + +/***/ }), +/* 51 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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) { + return has(it) ? get(it) : set(it, {}); +}; +var getterFor = function (TYPE) { + return function (it) { + var state; + if (!isObject(it) || (state = get(it)).type !== TYPE) { + throw TypeError('Incompatible receiver, ' + TYPE + ' required'); + } + return state; + }; +}; +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) { + if (wmhas(store, it)) + throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + wmset(store, it, metadata); + return metadata; + }; + get = function (it) { + return wmget(store, it) || {}; + }; + has = function (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 hasOwn(it, STATE) ? it[STATE] : {}; + }; + has = function (it) { + return hasOwn(it, STATE); + }; +} +module.exports = { + set: set, + get: get, + has: has, + enforce: enforce, + getterFor: getterFor +}; + +/***/ }), +/* 52 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(7); +var isCallable = __w_pdfjs_require__(23); +var inspectSource = __w_pdfjs_require__(50); +var WeakMap = global.WeakMap; +module.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap)); + +/***/ }), +/* 53 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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)); +}; + +/***/ }), +/* 54 */ +/***/ ((module) => { + +module.exports = {}; + +/***/ }), +/* 55 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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 (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) { + defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } + } +}; + +/***/ }), +/* 57 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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 ? concat(keys, getOwnPropertySymbols(it)) : keys; +}; + +/***/ }), +/* 58 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +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); +}; + +/***/ }), +/* 59 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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) + !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key); + while (names.length > i) + if (hasOwn(O, key = names[i++])) { + ~indexOf(result, key) || push(result, key); + } + return result; +}; + +/***/ }), +/* 60 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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 = lengthOfArrayLike(O); + var index = toAbsoluteIndex(fromIndex, length); + var value; + if (IS_INCLUDES && el != el) + while (length > index) { + value = O[index++]; + if (value != value) + return true; + } + else + for (; length > index; index++) { + if ((IS_INCLUDES || index in O) && O[index] === el) + return IS_INCLUDES || index || 0; + } + return !IS_INCLUDES && -1; + }; +}; +module.exports = { + includes: createMethod(true), + indexOf: createMethod(false) +}; + +/***/ }), +/* 61 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var toIntegerOrInfinity = __w_pdfjs_require__(62); +var max = Math.max; +var min = Math.min; +module.exports = function (index, length) { + var integer = toIntegerOrInfinity(index); + return integer < 0 ? max(integer + length, 0) : min(integer, length); +}; + +/***/ }), +/* 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', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf' +]; + +/***/ }), +/* 66 */ +/***/ ((__unused_webpack_module, exports) => { + +exports.f = Object.getOwnPropertySymbols; + +/***/ }), +/* 67 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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 : isCallable(detection) ? fails(detection) : !!detection; +}; +var normalize = isForced.normalize = function (string) { + return String(string).replace(replacement, '.').toLowerCase(); +}; +var data = isForced.data = {}; +var NATIVE = isForced.NATIVE = 'N'; +var POLYFILL = isForced.POLYFILL = 'P'; +module.exports = isForced; + +/***/ }), +/* 68 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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; + } + return object instanceof Object ? ObjectPrototype : null; +}; + +/***/ }), +/* 69 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var fails = __w_pdfjs_require__(10); +module.exports = !fails(function () { + function F() { + } + F.prototype.constructor = null; + return Object.getPrototypeOf(new F()) !== F.prototype; +}); + +/***/ }), +/* 70 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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 { + setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set); + setter(test, []); + CORRECT_SETTER = test instanceof Array; + } catch (error) { + } + 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'); +}; + +/***/ }), +/* 72 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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'; +var SCRIPT = 'script'; +var IE_PROTO = sharedKey('IE_PROTO'); +var EmptyConstructor = function () { +}; +var scriptTag = function (content) { + return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; +}; +var NullProtoObjectViaActiveX = function (activeXDocument) { + activeXDocument.write(scriptTag('')); + activeXDocument.close(); + var temp = activeXDocument.parentWindow.Object; + activeXDocument = null; + return temp; +}; +var NullProtoObjectViaIFrame = function () { + var iframe = documentCreateElement('iframe'); + var JS = 'java' + SCRIPT + ':'; + var iframeDocument; + iframe.style.display = 'none'; + html.appendChild(iframe); + iframe.src = String(JS); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(scriptTag('document.F=Object')); + iframeDocument.close(); + return iframeDocument.F; +}; +var activeXDocument; +var NullProtoObject = function () { + try { + activeXDocument = new ActiveXObject('htmlfile'); + } catch (error) { + } + NullProtoObject = typeof document != 'undefined' ? document.domain && activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame() : NullProtoObjectViaActiveX(activeXDocument); + var length = enumBugKeys.length; + while (length--) + delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; + return NullProtoObject(); +}; +hiddenKeys[IE_PROTO] = true; +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + EmptyConstructor[PROTOTYPE] = anObject(O); + result = new EmptyConstructor(); + EmptyConstructor[PROTOTYPE] = null; + result[IE_PROTO] = O; + } else + result = NullProtoObject(); + return Properties === undefined ? result : definePropertiesModule.f(result, Properties); +}; + +/***/ }), +/* 73 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +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++], props[key]); + return O; +}; + +/***/ }), +/* 74 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var internalObjectKeys = __w_pdfjs_require__(59); +var enumBugKeys = __w_pdfjs_require__(65); +module.exports = Object.keys || function keys(O) { + return internalObjectKeys(O, enumBugKeys); +}; + +/***/ }), +/* 75 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var getBuiltIn = __w_pdfjs_require__(25); +module.exports = getBuiltIn('document', 'documentElement'); + +/***/ }), +/* 76 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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; +}; + +/***/ }), +/* 77 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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); + } +}; + +/***/ }), +/* 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 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(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'); +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) { + } + +/***/ }), +/* 91 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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; +}; + +/***/ }), +/* 92 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +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'); +var KEYS = 'keys'; +var VALUES = 'values'; +var ENTRIES = 'entries'; +var returnThis = function () { + return this; +}; +module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { + createIteratorConstructor(IteratorConstructor, NAME, next); + var getIterationMethod = function (KIND) { + if (KIND === DEFAULT && defaultIterator) + return defaultIterator; + if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) + return IterablePrototype[KIND]; + switch (KIND) { + case KEYS: + return function keys() { + return new IteratorConstructor(this, KIND); + }; + case VALUES: + return function values() { + return new IteratorConstructor(this, KIND); + }; + case ENTRIES: + return function entries() { + return new IteratorConstructor(this, KIND); + }; + } + return function () { + return new IteratorConstructor(this); + }; + }; + var TO_STRING_TAG = NAME + ' Iterator'; + var INCORRECT_VALUES_NAME = false; + var IterablePrototype = Iterable.prototype; + var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT]; + var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); + var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; + var CurrentIteratorPrototype, methods, KEY; + if (anyNativeIterator) { + CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); + if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { + if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { + if (setPrototypeOf) { + setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); + } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) { + redefine(CurrentIteratorPrototype, ITERATOR, returnThis); + } + } + setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); + if (IS_PURE) + Iterators[TO_STRING_TAG] = returnThis; + } + } + 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 (DEFAULT) { + methods = { + values: getIterationMethod(VALUES), + keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), + entries: getIterationMethod(ENTRIES) + }; + if (FORCED) + for (KEY in methods) { + if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { + redefine(IterablePrototype, KEY, methods[KEY]); + } + } + else + $({ + target: NAME, + proto: true, + 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; +}; + +/***/ }), +/* 93 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +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, ENUMERABLE_NEXT) { + var TO_STRING_TAG = NAME + ' Iterator'; + IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) }); + setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); + Iterators[TO_STRING_TAG] = returnThis; + return IteratorConstructor; +}; + +/***/ }), +/* 94 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +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 IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; +if ([].keys) { + arrayIterator = [].keys(); + if (!('next' in arrayIterator)) + BUGGY_SAFARI_ITERATORS = true; + else { + PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); + if (PrototypeOfArrayIteratorPrototype !== Object.prototype) + IteratorPrototype = PrototypeOfArrayIteratorPrototype; + } +} +var NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () { + var test = {}; + return IteratorPrototype[ITERATOR].call(test) !== test; +}); +if (NEW_ITERATOR_PROTOTYPE) + IteratorPrototype = {}; +else if (IS_PURE) + IteratorPrototype = create(IteratorPrototype); +if (!isCallable(IteratorPrototype[ITERATOR])) { + redefine(IteratorPrototype, ITERATOR, function () { + return this; + }); +} +module.exports = { + IteratorPrototype: IteratorPrototype, + BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS +}; + +/***/ }), +/* 95 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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 (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 + }); + } +}; + +/***/ }), +/* 96 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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 }); +} + +/***/ }), +/* 97 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +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) + ']'; +}; + +/***/ }), +/* 98 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"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: 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 = 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; + } +}); + +/***/ }), +/* 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 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; + } + }); + } +}; + +/***/ }), +/* 102 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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'); +}; + +/***/ }), +/* 103 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var wellKnownSymbol = __w_pdfjs_require__(35); +var ITERATOR = wellKnownSymbol('iterator'); +var SAFE_CLOSING = false; +try { + var called = 0; + var iteratorWithReturn = { + next: function () { + return { done: !!called++ }; + }, + 'return': function () { + SAFE_CLOSING = true; + } + }; + iteratorWithReturn[ITERATOR] = function () { + return this; + }; + Array.from(iteratorWithReturn, function () { + throw 2; + }); +} catch (error) { +} +module.exports = function (exec, SKIP_CLOSING) { + if (!SKIP_CLOSING && !SAFE_CLOSING) + return false; + var ITERATION_SUPPORT = false; + try { + var object = {}; + object[ITERATOR] = function () { + return { + next: function () { + return { done: ITERATION_SUPPORT = true }; + } + }; + }; + exec(object); + } catch (error) { + } + return ITERATION_SUPPORT; +}; + +/***/ }), +/* 104 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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 : aConstructor(S); +}; + +/***/ }), +/* 105 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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 Dispatch = global.Dispatch; +var Function = global.Function; +var MessageChannel = global.MessageChannel; +var String = global.String; +var counter = 0; +var queue = {}; +var ONREADYSTATECHANGE = 'onreadystatechange'; +var location, defer, channel, port; +try { + location = global.location; +} catch (error) { +} +var run = function (id) { + if (hasOwn(queue, id)) { + var fn = queue[id]; + delete queue[id]; + fn(); + } +}; +var runner = function (id) { + return function () { + run(id); + }; +}; +var listener = function (event) { + run(event.data); +}; +var post = function (id) { + global.postMessage(String(id), location.protocol + '//' + location.host); +}; +if (!set || !clear) { + set = function setImmediate(handler) { + validateArgumentsLength(arguments.length, 1); + var fn = isCallable(handler) ? handler : Function(handler); + var args = arraySlice(arguments, 1); + queue[++counter] = function () { + apply(fn, undefined, args); + }; + defer(counter); + return counter; + }; + clear = function clearImmediate(id) { + delete queue[id]; + }; + if (IS_NODE) { + defer = function (id) { + process.nextTick(runner(id)); + }; + } else if (Dispatch && Dispatch.now) { + defer = function (id) { + Dispatch.now(runner(id)); + }; + } else if (MessageChannel && !IS_IOS) { + channel = new MessageChannel(); + port = channel.port2; + channel.port1.onmessage = listener; + 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')) { + defer = function (id) { + html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () { + html.removeChild(this); + run(id); + }; + }; + } else { + defer = function (id) { + setTimeout(runner(id), 0); + }; + } +} +module.exports = { + set: set, + clear: clear +}; + +/***/ }), +/* 108 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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); +}); + +/***/ }), +/* 109 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(17); +module.exports = uncurryThis([].slice); + +/***/ }), +/* 110 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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 queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask'); +var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value; +var flush, head, last, notify, toggle, node, promise, then; +if (!queueMicrotask) { + flush = function () { + var parent, fn; + if (IS_NODE && (parent = process.domain)) + parent.exit(); + while (head) { + fn = head.fn; + head = head.next; + try { + fn(); + } catch (error) { + if (head) + notify(); + else + last = undefined; + throw error; + } + } + last = undefined; + if (parent) + parent.enter(); + }; + 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 (!IS_IOS_PEBBLE && Promise && Promise.resolve) { + promise = Promise.resolve(undefined); + promise.constructor = Promise; + then = bind(promise.then, promise); + notify = function () { + then(flush); + }; + } else if (IS_NODE) { + notify = function () { + process.nextTick(flush); + }; + } else { + macrotask = bind(macrotask, global); + notify = function () { + macrotask(flush); + }; + } +} +module.exports = queueMicrotask || function (fn) { + var task = { + fn: fn, + next: undefined + }; + if (last) + last.next = task; + if (!head) { + head = task; + notify(); + } + last = task; +}; + +/***/ }), +/* 114 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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) + return x; + var promiseCapability = newPromiseCapability.f(C); + var resolve = promiseCapability.resolve; + resolve(x); + return promiseCapability.promise; +}; + +/***/ }), +/* 117 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var aCallable = __w_pdfjs_require__(32); +var PromiseCapability = function (C) { + var resolve, reject; + this.promise = new C(function ($$resolve, $$reject) { + if (resolve !== undefined || reject !== undefined) + throw TypeError('Bad Promise constructor'); + resolve = $$resolve; + reject = $$reject; + }); + this.resolve = aCallable(resolve); + this.reject = aCallable(reject); +}; +module.exports.f = function (C) { + return new PromiseCapability(C); +}; + +/***/ }), +/* 118 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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); + } +}; + +/***/ }), +/* 119 */ +/***/ ((module) => { + +module.exports = function (exec) { + try { + return { + error: false, + value: exec() + }; + } catch (error) { + return { + error: true, + value: error + }; + } +}; + +/***/ }), +/* 120 */ +/***/ ((module) => { + +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 = Queue; + +/***/ }), +/* 121 */ +/***/ ((module) => { + +module.exports = typeof window == 'object'; + +/***/ }), +/* 122 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +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 +}, { + allSettled: function allSettled(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(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] = { + status: 'fulfilled', + value: value + }; + --remaining || resolve(values); + }, function (error) { + if (alreadyCalled) + return; + alreadyCalled = true; + values[index] = { + status: 'rejected', + reason: error + }; + --remaining || resolve(values); + }); + }); + --remaining || resolve(values); + }); + if (result.error) + reject(result.value); + return capability.promise; + } +}); + +/***/ }), +/* 123 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +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 () { + } + }, function () { + }); +}); +$({ + target: 'Promise', + proto: true, + real: true, + forced: NON_GENERIC +}, { + 'finally': function (onFinally) { + var C = speciesConstructor(this, getBuiltIn('Promise')); + var isFunction = isCallable(onFinally); + return this.then(isFunction ? function (x) { + return promiseResolve(C, onFinally()).then(function () { + return x; + }); + } : onFinally, isFunction ? function (e) { + return promiseResolve(C, onFinally()).then(function () { + throw e; + }); + } : onFinally); + } +}); +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 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +__w_pdfjs_require__(90); +__w_pdfjs_require__(96); +__w_pdfjs_require__(129); +__w_pdfjs_require__(140); +__w_pdfjs_require__(141); +var path = __w_pdfjs_require__(127); +module.exports = path.structuredClone; + +/***/ }), +/* 129 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +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); + +/***/ }), +/* 130 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +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; + var ADDER = IS_MAP ? 'set' : 'add'; + var NativeConstructor = global[CONSTRUCTOR_NAME]; + var NativePrototype = NativeConstructor && NativeConstructor.prototype; + var Constructor = NativeConstructor; + var exported = {}; + var fixMethod = function (KEY) { + var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]); + redefine(NativePrototype, KEY, KEY == 'add' ? function add(value) { + uncurriedNativeMethod(this, value === 0 ? 0 : value); + return this; + } : KEY == 'delete' ? function (key) { + return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : KEY == 'get' ? function get(key) { + return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : KEY == 'has' ? function has(key) { + return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : function set(key, value) { + uncurriedNativeMethod(this, key === 0 ? 0 : key, value); + return this; + }); + }; + 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.enable(); + } else if (isForced(CONSTRUCTOR_NAME, true)) { + var instance = new Constructor(); + var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance; + var THROWS_ON_PRIMITIVES = fails(function () { + instance.has(1); + }); + var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { + new NativeConstructor(iterable); + }); + var BUGGY_ZERO = !IS_WEAK && fails(function () { + var $instance = new NativeConstructor(); + var index = 5; + while (index--) + $instance[ADDER](index, index); + return !$instance.has(-0); + }); + if (!ACCEPT_ITERABLES) { + Constructor = wrapper(function (dummy, iterable) { + anInstance(dummy, NativePrototype); + var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor); + if (iterable != undefined) + iterate(iterable, that[ADDER], { + that: that, + AS_ENTRIES: IS_MAP + }); + return that; + }); + Constructor.prototype = NativePrototype; + NativePrototype.constructor = Constructor; + } + if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { + fixMethod('delete'); + fixMethod('has'); + IS_MAP && fixMethod('get'); + } + if (BUGGY_ZERO || HASNT_CHAINING) + fixMethod(ADDER); + if (IS_WEAK && NativePrototype.clear) + delete NativePrototype.clear; + } + exported[CONSTRUCTOR_NAME] = Constructor; + $({ + global: true, + forced: Constructor != NativeConstructor + }, exported); + setToStringTag(Constructor, CONSTRUCTOR_NAME); + if (!IS_WEAK) + common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP); + return Constructor; +}; + +/***/ }), +/* 131 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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 setMetadata = function (it) { + defineProperty(it, METADATA, { + value: { + objectID: 'O' + id++, + weakData: {} + } + }); +}; +var fastKey = function (it, create) { + if (!isObject(it)) + return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; + if (!hasOwn(it, METADATA)) { + if (!isExtensible(it)) + return 'F'; + if (!create) + return 'E'; + setMetadata(it); + } + return it[METADATA].objectID; +}; +var getWeakData = function (it, create) { + if (!hasOwn(it, METADATA)) { + if (!isExtensible(it)) + return true; + if (!create) + return false; + setMetadata(it); + } + return it[METADATA].weakData; +}; +var onFreeze = function (it) { + 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 = { + enable: enable, + fastKey: fastKey, + getWeakData: getWeakData, + onFreeze: onFreeze +}; +hiddenKeys[METADATA] = true; + +/***/ }), +/* 132 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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({})); +}); + +/***/ }), +/* 138 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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 && isCallable(NewTarget = dummy.constructor) && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype) + setPrototypeOf($this, NewTargetPrototype); + return $this; +}; + +/***/ }), +/* 139 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +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 Constructor = wrapper(function (that, iterable) { + anInstance(that, Prototype); + setInternalState(that, { + type: CONSTRUCTOR_NAME, + index: create(null), + first: undefined, + last: undefined, + size: 0 + }); + if (!DESCRIPTORS) + that.size = 0; + if (iterable != undefined) + 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); + var entry = getEntry(that, key); + var previous, index; + if (entry) { + entry.value = value; + } else { + state.last = entry = { + index: index = fastKey(key, true), + key: key, + value: value, + previous: previous = state.last, + next: undefined, + removed: false + }; + if (!state.first) + state.first = entry; + if (previous) + previous.next = entry; + if (DESCRIPTORS) + state.size++; + else + that.size++; + if (index !== 'F') + state.index[index] = entry; + } + return that; + }; + var getEntry = function (that, key) { + var state = getInternalState(that); + var index = fastKey(key); + var entry; + if (index !== 'F') + return state.index[index]; + for (entry = state.first; entry; entry = entry.next) { + if (entry.key == key) + return entry; + } + }; + redefineAll(Prototype, { + clear: function clear() { + var that = this; + var state = getInternalState(that); + var data = state.index; + var entry = state.first; + while (entry) { + entry.removed = true; + if (entry.previous) + entry.previous = entry.previous.next = undefined; + delete data[entry.index]; + entry = entry.next; + } + state.first = state.last = undefined; + if (DESCRIPTORS) + state.size = 0; + else + that.size = 0; + }, + 'delete': function (key) { + var that = this; + var state = getInternalState(that); + var entry = getEntry(that, key); + if (entry) { + var next = entry.next; + var prev = entry.previous; + delete state.index[entry.index]; + entry.removed = true; + if (prev) + prev.next = next; + if (next) + next.previous = prev; + if (state.first == entry) + state.first = next; + if (state.last == entry) + state.last = prev; + if (DESCRIPTORS) + state.size--; + else + that.size--; + } + return !!entry; + }, + forEach: function forEach(callbackfn) { + var state = getInternalState(this); + 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); + while (entry && entry.removed) + entry = entry.previous; + } + }, + has: function has(key) { + return !!getEntry(this, key); + } + }); + redefineAll(Prototype, IS_MAP ? { + get: function get(key) { + var entry = getEntry(this, key); + return entry && entry.value; + }, + set: function set(key, value) { + return define(this, key === 0 ? 0 : key, value); + } + } : { + add: function add(value) { + return define(this, value = value === 0 ? 0 : value, value); + } + }); + if (DESCRIPTORS) + defineProperty(Prototype, 'size', { + get: function () { + return getInternalState(this).size; + } + }); + return Constructor; + }, + setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) { + var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator'; + var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME); + var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME); + defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) { + setInternalState(this, { + type: ITERATOR_NAME, + target: iterated, + state: getInternalCollectionState(iterated), + kind: kind, + last: undefined + }); + }, function () { + var state = getInternalIteratorState(this); + var kind = state.kind; + var entry = state.last; + while (entry && entry.removed) + entry = entry.previous; + if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) { + state.target = undefined; + return { + value: undefined, + done: true + }; + } + if (kind == 'keys') + return { + value: entry.key, + done: false + }; + if (kind == 'values') + return { + value: entry.value, + done: false + }; + return { + value: [ + entry.key, + entry.value + ], + done: false + }; + }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); + setSpecies(CONSTRUCTOR_NAME); + } +}; + +/***/ }), +/* 140 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +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); + +/***/ }), +/* 141 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +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 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 + throwUnpolyfillable(type); + } + 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)); + } + 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)); + } + } + } 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); + } + } + 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)); + } + break; + case 'Map': + value.forEach(function (v, k) { + mapSet(cloned, structuredCloneInternal(k, map), structuredCloneInternal(v, map)); + }); + 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)); + } + } + 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, + enumerable: true, + sham: !PROPER_TRANSFER, + forced: FORCED_REPLACEMENT +}, { + 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); + } + return structuredCloneInternal(value, map); + } +}); + +/***/ }), +/* 142 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var anObject = __w_pdfjs_require__(48); +module.exports = function () { + var that = anObject(this); + var result = ''; + 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; +}; + +/***/ }), +/* 143 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +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.version = void 0; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(144)); + +var _util = __w_pdfjs_require__(1); + +var _display_utils = __w_pdfjs_require__(146); + +var _font_loader = __w_pdfjs_require__(148); + +var _node_utils = __w_pdfjs_require__(149); + +var _annotation_storage = __w_pdfjs_require__(150); + +var _canvas = __w_pdfjs_require__(151); + +var _worker_options = __w_pdfjs_require__(153); + +var _is_node = __w_pdfjs_require__(3); + +var _message_handler = __w_pdfjs_require__(154); + +var _metadata = __w_pdfjs_require__(155); + +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 _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); } + +function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; } + +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 _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; } + +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 _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); } + +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 _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; } + +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); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +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) { + createPDFNetworkStream = pdfNetworkStreamFactory; +} + +function getDocument(src) { + var task = new PDFDocumentLoadingTask(); + var source; + + if (typeof src === "string" || src instanceof URL) { + source = { + url: src + }; + } else if ((0, _util.isArrayBuffer)(src)) { + source = { + data: src + }; + } else if (src instanceof PDFDataRangeTransport) { + source = { + range: src + }; + } else { + if (_typeof(src) !== "object") { + throw new Error("Invalid parameter in getDocument, " + "need either string, URL, Uint8Array, or parameter object."); + } + + if (!src.url && !src.data && !src.range) { + throw new Error("Invalid parameter object: need either .data, .range or .url"); + } + + source = src; + } + + var params = Object.create(null); + var rangeTransport = null, + worker = null; + + for (var key in source) { + var value = source[key]; + + 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; + } + + 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] = value; + } + + params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE; + 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; + params.enableXfa = params.enableXfa === true; + + 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 = _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") { + params.disableRange = false; + } + + if (typeof params.disableStream !== "boolean") { + params.disableStream = false; + } + + if (typeof params.disableAutoFetch !== "boolean") { + params.disableAutoFetch = false; + } + + (0, _util.setVerbosityLevel)(params.verbosity); + + if (!worker) { + var workerParams = { + verbosity: params.verbosity, + port: _worker_options.GlobalWorkerOptions.workerPort + }; + worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams); + task._worker = worker; + } + + var docId = task.docId; + worker.promise.then(function () { + 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) { + networkStream = new _transport_stream.PDFDataTransportStream({ + length: params.length, + initialData: params.initialData, + progressiveDone: params.progressiveDone, + contentDispositionFilename: params.contentDispositionFilename, + disableRange: params.disableRange, + disableStream: params.disableStream + }, rangeTransport); + } else if (!params.data) { + networkStream = createPDFNetworkStream({ + url: params.url, + length: params.length, + httpHeaders: params.httpHeaders, + withCredentials: params.withCredentials, + rangeChunkSize: params.rangeChunkSize, + disableRange: params.disableRange, + disableStream: params.disableStream + }); + } + + 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); + var transport = new WorkerTransport(messageHandler, task, networkStream, params); + task._transport = transport; + messageHandler.send("Ready", null); + }); + })["catch"](task._capability.reject); + return task; +} + +function _fetchDocument(_x, _x2, _x3, _x4) { + return _fetchDocument2.apply(this, arguments); +} + +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; + } + + throw new Error("Worker was destroyed"); + + 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; + + 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(); + + case 3: + this._transport = null; + + if (this._worker) { + this._worker.destroy(); + + this._worker = null; + } + + case 5: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + 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 = []; + this._progressiveDoneListeners = []; + this._readyCapability = (0, _util.createPromiseCapability)(); + } + + _createClass(PDFDataRangeTransport, [{ + key: "addRangeListener", + value: function addRangeListener(listener) { + this._rangeListeners.push(listener); + } + }, { + key: "addProgressListener", + value: function addProgressListener(listener) { + this._progressListeners.push(listener); + } + }, { + key: "addProgressiveReadListener", + value: function addProgressiveReadListener(listener) { + this._progressiveReadListeners.push(listener); + } + }, { + key: "addProgressiveDoneListener", + value: function addProgressiveDoneListener(listener) { + this._progressiveDoneListeners.push(listener); + } + }, { + key: "onDataRange", + value: function onDataRange(begin, chunk) { + var _iterator = _createForOfIteratorHelper(this._rangeListeners), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var listener = _step.value; + listener(begin, chunk); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + }, { + key: "onDataProgress", + value: function onDataProgress(loaded, total) { + var _this = this; + + this._readyCapability.promise.then(function () { + var _iterator2 = _createForOfIteratorHelper(_this._progressListeners), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var listener = _step2.value; + listener(loaded, total); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + }); + } + }, { + key: "onDataProgressiveRead", + value: function onDataProgressiveRead(chunk) { + var _this2 = this; + + this._readyCapability.promise.then(function () { + var _iterator3 = _createForOfIteratorHelper(_this2._progressiveReadListeners), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var listener = _step3.value; + listener(chunk); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + }); + } + }, { + key: "onDataProgressiveDone", + value: function onDataProgressiveDone() { + var _this3 = this; + + this._readyCapability.promise.then(function () { + var _iterator4 = _createForOfIteratorHelper(_this3._progressiveDoneListeners), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var listener = _step4.value; + listener(); + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + }); + } + }, { + key: "transportReady", + value: function transportReady() { + this._readyCapability.resolve(); + } + }, { + key: "requestDataRange", + value: function requestDataRange(begin, end) { + (0, _util.unreachable)("Abstract method PDFDataRangeTransport.requestDataRange"); + } + }, { + key: "abort", + value: function abort() {} + }]); + + return PDFDataRangeTransport; +}(); + +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); + } + }, { + key: "getPageIndex", + value: function getPageIndex(ref) { + return this._transport.getPageIndex(ref); + } + }, { + key: "getDestinations", + value: function getDestinations() { + return this._transport.getDestinations(); + } + }, { + key: "getDestination", + value: function getDestination(id) { + return this._transport.getDestination(id); + } + }, { + key: "getPageLabels", + value: function getPageLabels() { + return this._transport.getPageLabels(); + } + }, { + key: "getPageLayout", + value: function getPageLayout() { + return this._transport.getPageLayout(); + } + }, { + key: "getPageMode", + value: function getPageMode() { + return this._transport.getPageMode(); + } + }, { + key: "getViewerPreferences", + value: function getViewerPreferences() { + return this._transport.getViewerPreferences(); + } + }, { + key: "getOpenAction", + value: function getOpenAction() { + return this._transport.getOpenAction(); + } + }, { + key: "getAttachments", + value: function getAttachments() { + return this._transport.getAttachments(); + } + }, { + key: "getJavaScript", + 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() { + return this._transport.getPermissions(); + } + }, { + key: "getMetadata", + value: function getMetadata() { + return this._transport.getMetadata(); + } + }, { + key: "getMarkInfo", + value: function getMarkInfo() { + return this._transport.getMarkInfo(); + } + }, { + key: "getData", + value: function getData() { + return this._transport.getData(); + } + }, { + key: "getDownloadInfo", + value: function getDownloadInfo() { + return this._transport.downloadInfoCapability.promise; + } + }, { + key: "cleanup", + value: function cleanup() { + 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: "loadingParams", + get: function get() { + return this._transport.loadingParams; + } + }, { + key: "loadingTask", + 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; +}(); + +exports.PDFDocumentProxy = PDFDocumentProxy; + +var PDFPageProxy = /*#__PURE__*/function () { + 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; + this.commonObjs = transport.commonObjs; + this.objs = new PDFObjects(); + this.cleanupAfterRender = false; + this.pendingCleanup = false; + this._intentStates = new Map(); + this._annotationPromises = new Map(); + this.destroyed = false; + } + + _createClass(PDFPageProxy, [{ + key: "pageNumber", + get: function get() { + return this._pageIndex + 1; + } + }, { + key: "rotate", + get: function get() { + return this._pageInfo.rotate; + } + }, { + key: "ref", + get: function get() { + return this._pageInfo.ref; + } + }, { + key: "userUnit", + get: function get() { + return this._pageInfo.userUnit; + } + }, { + key: "view", + 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() { + return this._stats; + } + }]); + + return PDFPageProxy; +}(); + +exports.PDFPageProxy = PDFPageProxy; + +var LoopbackPort = /*#__PURE__*/function () { + function LoopbackPort() { + _classCallCheck(this, LoopbackPort); + + this._listeners = []; + this._deferred = Promise.resolve(); + } + + _createClass(LoopbackPort, [{ + key: "postMessage", + value: function postMessage(obj, transfers) { + var _this8 = this; + + var event = { + data: transfers ? structuredClone(obj, transfers) : structuredClone(obj) + }; + + this._deferred.then(function () { + 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(); + } + }); + } + }, { + key: "addEventListener", + value: function addEventListener(name, listener) { + this._listeners.push(listener); + } + }, { + key: "removeEventListener", + value: function removeEventListener(name, listener) { + var i = this._listeners.indexOf(listener); + + this._listeners.splice(i, 1); + } + }, { + key: "terminate", + value: function terminate() { + this._listeners.length = 0; + } + }]); + + return LoopbackPort; +}(); + +exports.LoopbackPort = LoopbackPort; +var PDFWorkerUtil = { + isWorkerDisabled: false, + fallbackWorkerSrc: null, + fakeWorkerId: 0 +}; +{ + if (_is_node.isNodeJS && typeof require === "function") { + 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) { + PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i, ".worker$1$2"); + } + } + + PDFWorkerUtil.createCDNWrapper = function (url) { + var wrapper = "importScripts(\"".concat(url, "\");"); + return URL.createObjectURL(new Blob([wrapper])); + }; +} + +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); + + if (port && PDFWorker._workerPorts.has(port)) { + throw new Error("Cannot use more than one PDFWorker per port."); + } + + this.name = name; + this.destroyed = false; + this.verbosity = verbosity; + this._readyCapability = (0, _util.createPromiseCapability)(); + this._port = null; + this._webWorker = null; + this._messageHandler = null; + + if (port) { + PDFWorker._workerPorts.set(port, this); + + this._initializeFromPort(port); + + return; + } + + 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; + } + + if (data) { + _this9._messageHandler = messageHandler; + _this9._port = worker; + _this9._webWorker = worker; + + _this9._readyCapability.resolve(); + + messageHandler.send("configure", { + verbosity: _this9.verbosity + }); + } else { + _this9._setupFakeWorker(); + + messageHandler.destroy(); + worker.terminate(); + } + }); + 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; + } + + PDFWorker._workerPorts["delete"](this._port); + + 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.'); + } + + return PDFWorkerUtil.fallbackWorkerSrc; + } + + throw new Error('No "GlobalWorkerOptions.workerSrc" specified.'); + } + }, { + key: "_mainThreadWorkerMessageHandler", + get: function get() { + try { + var _globalThis$pdfjsWork; + + return ((_globalThis$pdfjsWork = globalThis.pdfjsWorker) === null || _globalThis$pdfjsWork === void 0 ? void 0 : _globalThis$pdfjsWork.WorkerMessageHandler) || null; + } catch (ex) { + return null; + } + } + }, { + key: "_setupFakeWorkerGlobal", + get: function get() { + var _this11 = this; + + 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; + + if (!mainWorkerMessageHandler) { + _context4.next = 3; + break; + } + + 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), + ownerDocument: params.ownerDocument, + styleElement: params.styleElement + }); + this._params = params; + + 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.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 _this12 = this; + + if (this.destroyCapability) { + return this.destroyCapability.promise; + } + + this.destroyed = true; + this.destroyCapability = (0, _util.createPromiseCapability)(); + + if (this._passwordCapability) { + this._passwordCapability.reject(new Error("Worker was destroyed during onPassword callback")); + } + + var waitOn = []; + + var _iterator13 = _createForOfIteratorHelper(_classPrivateFieldGet(this, _pageCache).values()), + _step13; + + try { + for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) { + var page = _step13.value; + waitOn.push(page._destroy()); + } + } 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 () { + _this12.commonObjs.clear(); + + _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 (_this12.messageHandler) { + _this12.messageHandler.destroy(); + + _this12.messageHandler = null; + } + + _this12.destroyCapability.resolve(); + }, this.destroyCapability.reject); + return this.destroyCapability.promise; + } + }, { + key: "setupMessageHandler", + value: function setupMessageHandler() { + var _this13 = this; + + var messageHandler = this.messageHandler, + loadingTask = this.loadingTask; + messageHandler.on("GetReader", function (data, sink) { + (0, _util.assert)(_this13._networkStream, "GetReader - no `IPDFStream` instance available."); + _this13._fullReader = _this13._networkStream.getFullReader(); + + _this13._fullReader.onProgress = function (evt) { + _this13._lastProgress = { + loaded: evt.loaded, + total: evt.total + }; + }; + + sink.onPull = function () { + _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), "GetReader - expected an ArrayBuffer."); + sink.enqueue(new Uint8Array(value), 1, [value]); + })["catch"](function (reason) { + sink.error(reason); + }); + }; + + sink.onCancel = function (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 = _this13._fullReader; + fullReader.headersReady.then(function () { + if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) { + 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) { + var _loadingTask$onProgre2; + + (_loadingTask$onProgre2 = loadingTask.onProgress) === null || _loadingTask$onProgre2 === void 0 ? void 0 : _loadingTask$onProgre2.call(loadingTask, { + loaded: evt.loaded, + total: evt.total + }); + }; + } + + headersCapability.resolve({ + isStreamingSupported: fullReader.isStreamingSupported, + isRangeSupported: fullReader.isRangeSupported, + contentLength: fullReader.contentLength + }); + }, headersCapability.reject); + return headersCapability.promise; + }); + messageHandler.on("GetRangeReader", function (data, sink) { + (0, _util.assert)(_this13._networkStream, "GetRangeReader - no `IPDFStream` instance available."); + + var rangeReader = _this13._networkStream.getRangeReader(data.begin, data.end); + + if (!rangeReader) { + sink.close(); + return; + } + + sink.onPull = function () { + rangeReader.read().then(function (_ref17) { + var value = _ref17.value, + done = _ref17.done; + + if (done) { + sink.close(); + return; + } + + (0, _util.assert)((0, _util.isArrayBuffer)(value), "GetRangeReader - expected an ArrayBuffer."); + sink.enqueue(new Uint8Array(value), 1, [value]); + })["catch"](function (reason) { + sink.error(reason); + }); + }; + + sink.onCancel = function (reason) { + rangeReader.cancel(reason); + sink.ready["catch"](function (readyReason) { + if (_this13.destroyed) { + return; + } + + throw readyReason; + }); + }; + }); + 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, _this13)); + }); + messageHandler.on("DocException", function (ex) { + var reason; + + switch (ex.name) { + case "PasswordException": + reason = new _util.PasswordException(ex.message, ex.code); + break; + + case "InvalidPDFException": + reason = new _util.InvalidPDFException(ex.message); + break; + + case "MissingPDFException": + reason = new _util.MissingPDFException(ex.message); + break; + + case "UnexpectedResponseException": + reason = new _util.UnexpectedResponseException(ex.message, ex.status); + break; + + 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) { + _this13._passwordCapability = (0, _util.createPromiseCapability)(); + + if (loadingTask.onPassword) { + var updatePassword = function updatePassword(password) { + if (password instanceof Error) { + _this13._passwordCapability.reject(password); + } else { + _this13._passwordCapability.resolve({ + password: password + }); + } + }; + + try { + loadingTask.onPassword(updatePassword, exception.code); + } catch (ex) { + _this13._passwordCapability.reject(ex); + } + } else { + _this13._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code)); + } + + return _this13._passwordCapability.promise; + }); + messageHandler.on("DataLoaded", function (data) { + var _loadingTask$onProgre3; + + (_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 (_this13.destroyed) { + return; + } + + var page = _classPrivateFieldGet(_this13, _pageCache).get(data.pageIndex); + + page._startRenderPage(data.transparency, data.cacheKey); + }); + 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; + } + + if (_this13.commonObjs.has(id)) { + return; + } + + switch (type) { + case "Font": + var params = _this13._params; + + if ("error" in exportedData) { + var exportedError = exportedData.error; + (0, _util.warn)("Error during font loading: ".concat(exportedError)); + + _this13.commonObjs.resolve(id, exportedError); + + break; + } + + var fontRegistry = null; + + 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); + } + }; + } + + var font = new _font_loader.FontFaceObject(exportedData, { + isEvalSupported: params.isEvalSupported, + disableFontFace: params.disableFontFace, + ignoreErrors: params.ignoreErrors, + onUnsupportedFeature: _this13._onUnsupportedFeature.bind(_this13), + fontRegistry: fontRegistry + }); + + _this13.fontLoader.bind(font)["catch"](function (reason) { + return messageHandler.sendWithPromise("FontFallback", { + id: id + }); + })["finally"](function () { + if (!params.fontExtraProperties && font.data) { + font.data = null; + } + + _this13.commonObjs.resolve(id, font); + }); + + break; + + case "FontPath": + case "Image": + _this13.commonObjs.resolve(id, exportedData); + + break; + + default: + throw new Error("Got unknown common object type ".concat(type)); + } + }); + 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 pageProxy = _classPrivateFieldGet(_this13, _pageCache).get(pageIndex); + + if (pageProxy.objs.has(id)) { + return; + } + + switch (type) { + case "Image": + pageProxy.objs.resolve(id, imageData); + var MAX_IMAGE_SIZE_TO_STORE = 8000000; + + 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)); + } + }); + messageHandler.on("DocProgress", function (data) { + var _loadingTask$onProgre4; + + if (_this13.destroyed) { + return; + } + + (_loadingTask$onProgre4 = loadingTask.onProgress) === null || _loadingTask$onProgre4 === void 0 ? void 0 : _loadingTask$onProgre4.call(loadingTask, { + loaded: data.loaded, + total: data.total + }); + }); + messageHandler.on("DocStats", function (data) { + if (_this13.destroyed) { + return; + } + + _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.")); + } + + if (!_this13.CMapReaderFactory) { + return Promise.reject(new Error("CMapReaderFactory not initialized, see the `useWorkerFetch` parameter.")); + } + + return _this13.CMapReaderFactory.fetch(data); + }); + messageHandler.on("FetchStandardFontData", function (data) { + if (_this13.destroyed) { + return Promise.reject(new Error("Worker was destroyed.")); + } + + 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(_ref23) { + var _this$loadingTask$onU, _this$loadingTask; + + var featureId = _ref23.featureId; + + if (this.destroyed) { + return; + } + + (_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", + value: function getData() { + return this.messageHandler.sendWithPromise("GetData", null); + } + }, { + key: "getPage", + value: function getPage(pageNumber) { + var _this14 = this; + + if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) { + return Promise.reject(new Error("Invalid page request.")); + } + + var pageIndex = pageNumber - 1, + cachedPromise = _classPrivateFieldGet(this, _pagePromises).get(pageIndex); + + if (cachedPromise) { + return cachedPromise; + } + + var promise = this.messageHandler.sendWithPromise("GetPage", { + pageIndex: pageIndex + }).then(function (pageInfo) { + if (_this14.destroyed) { + throw new Error("Transport destroyed"); + } + + var page = new PDFPageProxy(pageIndex, pageInfo, _this14, _this14._params.ownerDocument, _this14._params.pdfBug); + + _classPrivateFieldGet(_this14, _pageCache).set(pageIndex, page); + + return page; + }); + + _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", { + num: ref.num, + gen: ref.gen + }); + } + }, { + key: "getAnnotations", + value: function getAnnotations(pageIndex, intent) { + return this.messageHandler.sendWithPromise("GetAnnotations", { + pageIndex: pageIndex, + 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() { + return this.messageHandler.sendWithPromise("GetDestinations", null); + } + }, { + key: "getDestination", + value: function getDestination(id) { + if (typeof id !== "string") { + return Promise.reject(new Error("Invalid destination request.")); + } + + return this.messageHandler.sendWithPromise("GetDestination", { + id: id + }); + } + }, { + key: "getPageLabels", + value: function getPageLabels() { + return this.messageHandler.sendWithPromise("GetPageLabels", null); + } + }, { + key: "getPageLayout", + value: function getPageLayout() { + return this.messageHandler.sendWithPromise("GetPageLayout", null); + } + }, { + key: "getPageMode", + value: function getPageMode() { + return this.messageHandler.sendWithPromise("GetPageMode", null); + } + }, { + key: "getViewerPreferences", + value: function getViewerPreferences() { + return this.messageHandler.sendWithPromise("GetViewerPreferences", null); + } + }, { + key: "getOpenAction", + value: function getOpenAction() { + return this.messageHandler.sendWithPromise("GetOpenAction", null); + } + }, { + key: "getAttachments", + value: function getAttachments() { + return this.messageHandler.sendWithPromise("GetAttachments", null); + } + }, { + key: "getJavaScript", + 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() { + return this.messageHandler.sendWithPromise("GetPermissions", null); + } + }, { + key: "getMetadata", + value: function getMetadata() { + var _this16 = this; + + 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$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: "getMarkInfo", + value: function getMarkInfo() { + return this.messageHandler.sendWithPromise("GetMarkInfo", null); + } + }, { + key: "startCleanup", + value: function () { + var _startCleanup = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5() { + var keepLoadedFonts, + _iterator14, + _step14, + page, + cleanupSuccessful, + _args5 = arguments; + + 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); + + case 3: + if (!this.destroyed) { + _context5.next = 5; + break; + } + + 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]]); + })); + + function startCleanup() { + return _startCleanup.apply(this, arguments); + } + + return startCleanup; + }() + }, { + key: "loadingParams", + get: function get() { + var params = this._params; + return (0, _util.shadow)(this, "loadingParams", { + disableAutoFetch: params.disableAutoFetch, + enableXfa: params.enableXfa + }); + } + }]); + + return WorkerTransport; +}(); + +var _objs = /*#__PURE__*/new WeakMap(); + +var _ensureObj = /*#__PURE__*/new WeakSet(); + +var PDFObjects = /*#__PURE__*/function () { + function PDFObjects() { + _classCallCheck(this, PDFObjects); + + _classPrivateMethodInitSpec(this, _ensureObj); + + _classPrivateFieldInitSpec(this, _objs, { + writable: true, + value: Object.create(null) + }); + } + + _createClass(PDFObjects, [{ + key: "get", + value: function get(objId) { + var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + + if (callback) { + var _obj = _classPrivateMethodGet(this, _ensureObj, _ensureObj2).call(this, objId); + + _obj.capability.promise.then(function () { + return callback(_obj.data); + }); + + return null; + } + + var obj = _classPrivateFieldGet(this, _objs)[objId]; + + if (!(obj !== null && obj !== void 0 && obj.capability.settled)) { + throw new Error("Requesting object that isn't resolved yet ".concat(objId, ".")); + } + + return obj.data; + } + }, { + key: "has", + value: function has(objId) { + var obj = _classPrivateFieldGet(this, _objs)[objId]; + + return (obj === null || obj === void 0 ? void 0 : obj.capability.settled) || false; + } + }, { + key: "resolve", + 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.data = data; + obj.capability.resolve(); + } + }, { + key: "clear", + value: function clear() { + _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); + + this._internalRenderTask = internalRenderTask; + this.onContinue = null; + } + + _createClass(RenderTask, [{ + key: "promise", + get: function get() { + return this._internalRenderTask.capability.promise; + } + }, { + key: "cancel", + value: function cancel() { + this._internalRenderTask.cancel(); + } + }]); + + return RenderTask; +}(); + +exports.RenderTask = RenderTask; + +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); + + 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; + + var _ref25$transparency = _ref25.transparency, + transparency = _ref25$transparency === void 0 ? false : _ref25$transparency, + optionalContentConfig = _ref25.optionalContentConfig; + + 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."); + } + + InternalRenderTask.canvasInUse.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; + } + + return; + } + + 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); + }); + } else { + Promise.resolve().then(this._nextBound)["catch"](this._cancelBound); + } + } + }, { + 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; + } + + return _context6.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) { + InternalRenderTask.canvasInUse["delete"](this._canvas); + } + + this.callback(); + } + } + + case 4: + case "end": + return _context6.stop(); + } + } + }, _callee6, this); + })); + + function _next() { + return _next2.apply(this, arguments); + } + + return _next; + }() + }], [{ + key: "canvasInUse", + get: function get() { + return (0, _util.shadow)(this, "canvasInUse", new WeakSet()); + } + }]); + + return InternalRenderTask; +}(); + +var version = '2.14.44'; +exports.version = version; +var build = '90c5e9882'; +exports.build = build; + +/***/ }), +/* 144 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + + +module.exports = __w_pdfjs_require__(145); + +/***/ }), +/* 145 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; +/* module decorator */ module = __w_pdfjs_require__.nmd(module); + + +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"; + + var Op = Object.prototype; + var hasOwn = Op.hasOwnProperty; + var undefined; + var $Symbol = typeof Symbol === "function" ? Symbol : {}; + var iteratorSymbol = $Symbol.iterator || "@@iterator"; + 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); + var context = new Context(tryLocsList || []); + generator._invoke = makeInvokeMethod(innerFn, self, context); + return generator; + } + + exports.wrap = wrap; + + function tryCatch(fn, obj, arg) { + try { + return { + type: "normal", + arg: fn.call(obj, arg) + }; + } catch (err) { + return { + type: "throw", + arg: err + }; + } + } + + var GenStateSuspendedStart = "suspendedStart"; + var GenStateSuspendedYield = "suspendedYield"; + var GenStateExecuting = "executing"; + var GenStateCompleted = "completed"; + var ContinueSentinel = {}; + + function Generator() {} + + function GeneratorFunction() {} + + function GeneratorFunctionPrototype() {} + + var IteratorPrototype = {}; + define(IteratorPrototype, iteratorSymbol, function () { + return this; + }); + var getProto = Object.getPrototypeOf; + var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); + + if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) { + IteratorPrototype = NativeIteratorPrototype; + } + + var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); + 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) { + define(prototype, method, function (arg) { + return this._invoke(method, arg); + }); + }); + } + + exports.isGeneratorFunction = function (genFun) { + var ctor = typeof genFun === "function" && genFun.constructor; + return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === "GeneratorFunction" : false; + }; + + exports.mark = function (genFun) { + if (Object.setPrototypeOf) { + Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); + } else { + genFun.__proto__ = GeneratorFunctionPrototype; + define(genFun, toStringTagSymbol, "GeneratorFunction"); + } + + genFun.prototype = Object.create(Gp); + return genFun; + }; + + exports.awrap = function (arg) { + return { + __await: arg + }; + }; + + function AsyncIterator(generator, PromiseImpl) { + function invoke(method, arg, resolve, reject) { + var record = tryCatch(generator[method], generator, arg); + + if (record.type === "throw") { + reject(record.arg); + } else { + var result = record.arg; + var value = result.value; + + if (value && _typeof(value) === "object" && hasOwn.call(value, "__await")) { + return PromiseImpl.resolve(value.__await).then(function (value) { + invoke("next", value, resolve, reject); + }, function (err) { + invoke("throw", err, resolve, reject); + }); + } + + return PromiseImpl.resolve(value).then(function (unwrapped) { + result.value = unwrapped; + resolve(result); + }, function (error) { + return invoke("throw", error, resolve, reject); + }); + } + } + + var previousPromise; + + function enqueue(method, arg) { + function callInvokeWithMethodAndArg() { + return new PromiseImpl(function (resolve, reject) { + invoke(method, arg, resolve, reject); + }); + } + + return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); + } + + this._invoke = enqueue; + } + + defineIteratorMethods(AsyncIterator.prototype); + define(AsyncIterator.prototype, asyncIteratorSymbol, function () { + return this; + }); + exports.AsyncIterator = AsyncIterator; + + exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { + if (PromiseImpl === void 0) PromiseImpl = Promise; + var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); + return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { + return result.done ? result.value : iter.next(); + }); + }; + + function makeInvokeMethod(innerFn, self, context) { + var state = GenStateSuspendedStart; + return function invoke(method, arg) { + if (state === GenStateExecuting) { + throw new Error("Generator is already running"); + } + + if (state === GenStateCompleted) { + if (method === "throw") { + throw arg; + } + + return doneResult(); + } + + context.method = method; + context.arg = arg; + + while (true) { + var delegate = context.delegate; + + if (delegate) { + var delegateResult = maybeInvokeDelegate(delegate, context); + + if (delegateResult) { + if (delegateResult === ContinueSentinel) continue; + return delegateResult; + } + } + + if (context.method === "next") { + context.sent = context._sent = context.arg; + } else if (context.method === "throw") { + if (state === GenStateSuspendedStart) { + state = GenStateCompleted; + throw context.arg; + } + + context.dispatchException(context.arg); + } else if (context.method === "return") { + context.abrupt("return", context.arg); + } + + state = GenStateExecuting; + var record = tryCatch(innerFn, self, context); + + if (record.type === "normal") { + state = context.done ? GenStateCompleted : GenStateSuspendedYield; + + if (record.arg === ContinueSentinel) { + continue; + } + + return { + value: record.arg, + done: context.done + }; + } else if (record.type === "throw") { + state = GenStateCompleted; + context.method = "throw"; + context.arg = record.arg; + } + } + }; + } + + function maybeInvokeDelegate(delegate, context) { + var method = delegate.iterator[context.method]; + + if (method === undefined) { + context.delegate = null; + + if (context.method === "throw") { + if (delegate.iterator["return"]) { + context.method = "return"; + context.arg = undefined; + maybeInvokeDelegate(delegate, context); + + if (context.method === "throw") { + return ContinueSentinel; + } + } + + context.method = "throw"; + context.arg = new TypeError("The iterator does not provide a 'throw' method"); + } + + return ContinueSentinel; + } + + var record = tryCatch(method, delegate.iterator, context.arg); + + if (record.type === "throw") { + context.method = "throw"; + context.arg = record.arg; + context.delegate = null; + return ContinueSentinel; + } + + var info = record.arg; + + if (!info) { + context.method = "throw"; + context.arg = new TypeError("iterator result is not an object"); + context.delegate = null; + return ContinueSentinel; + } + + if (info.done) { + context[delegate.resultName] = info.value; + context.next = delegate.nextLoc; + + if (context.method !== "return") { + context.method = "next"; + context.arg = undefined; + } + } else { + return info; + } + + context.delegate = null; + return ContinueSentinel; + } + + defineIteratorMethods(Gp); + define(Gp, toStringTagSymbol, "Generator"); + define(Gp, iteratorSymbol, function () { + return this; + }); + define(Gp, "toString", function () { + return "[object Generator]"; + }); + + function pushTryEntry(locs) { + var entry = { + tryLoc: locs[0] + }; + + if (1 in locs) { + entry.catchLoc = locs[1]; + } + + if (2 in locs) { + entry.finallyLoc = locs[2]; + entry.afterLoc = locs[3]; + } + + this.tryEntries.push(entry); + } + + function resetTryEntry(entry) { + var record = entry.completion || {}; + record.type = "normal"; + delete record.arg; + entry.completion = record; + } + + function Context(tryLocsList) { + this.tryEntries = [{ + tryLoc: "root" + }]; + tryLocsList.forEach(pushTryEntry, this); + this.reset(true); + } + + exports.keys = function (object) { + var keys = []; + + for (var key in object) { + keys.push(key); + } + + keys.reverse(); + return function next() { + while (keys.length) { + var key = keys.pop(); + + if (key in object) { + next.value = key; + next.done = false; + return next; + } + } + + next.done = true; + return next; + }; + }; + + function values(iterable) { + if (iterable) { + var iteratorMethod = iterable[iteratorSymbol]; + + if (iteratorMethod) { + return iteratorMethod.call(iterable); + } + + if (typeof iterable.next === "function") { + return iterable; + } + + if (!isNaN(iterable.length)) { + var i = -1, + next = function next() { + while (++i < iterable.length) { + if (hasOwn.call(iterable, i)) { + next.value = iterable[i]; + next.done = false; + return next; + } + } + + next.value = undefined; + next.done = true; + return next; + }; + + return next.next = next; + } + } + + return { + next: doneResult + }; + } + + exports.values = values; + + function doneResult() { + return { + value: undefined, + done: true + }; + } + + Context.prototype = { + constructor: Context, + reset: function reset(skipTempReset) { + this.prev = 0; + this.next = 0; + this.sent = this._sent = undefined; + this.done = false; + this.delegate = null; + this.method = "next"; + this.arg = undefined; + this.tryEntries.forEach(resetTryEntry); + + if (!skipTempReset) { + for (var name in this) { + if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) { + this[name] = undefined; + } + } + } + }, + stop: function stop() { + this.done = true; + var rootEntry = this.tryEntries[0]; + var rootRecord = rootEntry.completion; + + if (rootRecord.type === "throw") { + throw rootRecord.arg; + } + + return this.rval; + }, + dispatchException: function dispatchException(exception) { + if (this.done) { + throw exception; + } + + var context = this; + + function handle(loc, caught) { + record.type = "throw"; + record.arg = exception; + context.next = loc; + + if (caught) { + context.method = "next"; + context.arg = undefined; + } + + return !!caught; + } + + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + var record = entry.completion; + + if (entry.tryLoc === "root") { + return handle("end"); + } + + if (entry.tryLoc <= this.prev) { + var hasCatch = hasOwn.call(entry, "catchLoc"); + var hasFinally = hasOwn.call(entry, "finallyLoc"); + + if (hasCatch && hasFinally) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } else if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + } else if (hasCatch) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } + } else if (hasFinally) { + if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + } else { + throw new Error("try statement without catch or finally"); + } + } + } + }, + abrupt: function abrupt(type, arg) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + + if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { + var finallyEntry = entry; + break; + } + } + + if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) { + finallyEntry = null; + } + + var record = finallyEntry ? finallyEntry.completion : {}; + record.type = type; + record.arg = arg; + + if (finallyEntry) { + this.method = "next"; + this.next = finallyEntry.finallyLoc; + return ContinueSentinel; + } + + return this.complete(record); + }, + complete: function complete(record, afterLoc) { + if (record.type === "throw") { + throw record.arg; + } + + if (record.type === "break" || record.type === "continue") { + this.next = record.arg; + } else if (record.type === "return") { + this.rval = this.arg = record.arg; + this.method = "return"; + this.next = "end"; + } else if (record.type === "normal" && afterLoc) { + this.next = afterLoc; + } + + return ContinueSentinel; + }, + finish: function finish(finallyLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + + if (entry.finallyLoc === finallyLoc) { + this.complete(entry.completion, entry.afterLoc); + resetTryEntry(entry); + return ContinueSentinel; + } + } + }, + "catch": function _catch(tryLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + + if (entry.tryLoc === tryLoc) { + var record = entry.completion; + + if (record.type === "throw") { + var thrown = record.arg; + resetTryEntry(entry); + } + + return thrown; + } + } + + throw new Error("illegal catch attempt"); + }, + delegateYield: function delegateYield(iterable, resultName, nextLoc) { + this.delegate = { + iterator: values(iterable), + resultName: resultName, + nextLoc: nextLoc + }; + + if (this.method === "next") { + this.arg = undefined; + } + + return ContinueSentinel; + } + }; + return exports; +}(( false ? 0 : _typeof(module)) === "object" ? module.exports : {}); + +try { + regeneratorRuntime = runtime; +} catch (accidentalStrictMode) { + if ((typeof globalThis === "undefined" ? "undefined" : _typeof(globalThis)) === "object") { + globalThis.regeneratorRuntime = runtime; + } else { + Function("r", "regeneratorRuntime = r")(runtime); + } +} + +/***/ }), +/* 146 */ +/***/ ((__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.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.getPdfFilenameFromUrl = getPdfFilenameFromUrl; +exports.getXfaPageViewport = getXfaPageViewport; +exports.isDataScheme = isDataScheme; +exports.isPdfFile = isPdfFile; +exports.isValidFetchUrl = isValidFetchUrl; +exports.loadScript = loadScript; + +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 _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 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 _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"); } } + +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 SVG_NS = "http://www.w3.org/2000/svg"; + +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: "_createCanvas", + value: function _createCanvas(width, height) { + var canvas = this._document.createElement("canvas"); + + canvas.width = width; + canvas.height = height; + return canvas; + } + }]); + + return DOMCanvasFactory; +}(_base_factory.BaseCanvasFactory); + +exports.DOMCanvasFactory = DOMCanvasFactory; + +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); + + return _super2.apply(this, arguments); + } + + _createClass(DOMCMapReaderFactory, [{ + 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 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: "_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(_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); + + this.viewBox = viewBox; + this.scale = scale; + this.rotation = rotation; + this.offsetX = offsetX; + this.offsetY = offsetY; + var centerX = (viewBox[2] + viewBox[0]) / 2; + var centerY = (viewBox[3] + viewBox[1]) / 2; + var rotateA, rotateB, rotateC, rotateD; + rotation %= 360; + + if (rotation < 0) { + rotation += 360; + } + + switch (rotation) { + case 180: + rotateA = -1; + rotateB = 0; + rotateC = 0; + rotateD = 1; + break; + + case 90: + rotateA = 0; + rotateB = 1; + rotateC = 1; + rotateD = 0; + break; + + case 270: + rotateA = 0; + rotateB = -1; + rotateC = -1; + rotateD = 0; + break; + + 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) { + rotateC = -rotateC; + rotateD = -rotateD; + } + + var offsetCanvasX, offsetCanvasY; + var width, height; + + if (rotateA === 0) { + offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX; + offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY; + width = Math.abs(viewBox[3] - viewBox[1]) * scale; + height = Math.abs(viewBox[2] - viewBox[0]) * scale; + } else { + offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX; + offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY; + width = Math.abs(viewBox[2] - viewBox[0]) * scale; + height = Math.abs(viewBox[3] - viewBox[1]) * scale; + } + + this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY]; + this.width = width; + this.height = height; + } + + _createClass(PageViewport, [{ + key: "clone", + value: function clone() { + 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(), + scale: scale, + rotation: rotation, + offsetX: offsetX, + offsetY: offsetY, + dontFlip: dontFlip + }); + } + }, { + key: "convertToViewportPoint", + value: function convertToViewportPoint(x, y) { + return _util.Util.applyTransform([x, y], this.transform); + } + }, { + key: "convertToViewportRectangle", + value: function convertToViewportRectangle(rect) { + var topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform); + + var bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform); + + return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]]; + } + }, { + key: "convertToPdfPoint", + value: function convertToPdfPoint(x, y) { + return _util.Util.applyInverseTransform([x, y], this.transform); + } + }]); + + return PageViewport; +}(); + +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 = _super5.call(this, msg, "RenderingCancelledException"); + _this2.type = type; + return _this2; + } + + return _createClass(RenderingCancelledException); +}(_util.BaseException); + +exports.RenderingCancelledException = RenderingCancelledException; + +function isDataScheme(url) { + var ii = url.length; + var i = 0; + + while (i < ii && url[i].trim() === "") { + i++; + } + + return url.substring(i, i + 5).toLowerCase() === "data:"; +} + +function isPdfFile(filename) { + return typeof filename === "string" && /\.pdf$/i.test(filename); +} + +function getFilenameFromUrl(url) { + var anchor = url.indexOf("#"); + var query = url.indexOf("?"); + var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length); + 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); + + this.started = Object.create(null); + this.times = []; + } + + _createClass(StatTimer, [{ + key: "time", + value: function time(name) { + if (name in this.started) { + (0, _util.warn)("Timer is already running for ".concat(name)); + } + + this.started[name] = Date.now(); + } + }, { + key: "timeEnd", + value: function timeEnd(name) { + if (!(name in this.started)) { + (0, _util.warn)("Timer has not been started for ".concat(name)); + } + + this.times.push({ + name: name, + start: this.started[name], + end: Date.now() + }); + delete this.started[name]; + } + }, { + key: "toString", + value: function toString() { + var outBuf = []; + var longest = 0; + + var _iterator = _createForOfIteratorHelper(this.times), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var time = _step.value; + var name = time.name; + + if (name.length > longest) { + longest = name.length; + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + var _iterator2 = _createForOfIteratorHelper(this.times), + _step2; + + try { + 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) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + return outBuf.join(""); + } + }]); + + return StatTimer; +}(); + +exports.StatTimer = StatTimer; + +function isValidFetchUrl(url, baseUrl) { + try { + var _ref4 = baseUrl ? new URL(url, baseUrl) : new URL(url), + protocol = _ref4.protocol; + + return protocol === "http:" || protocol === "https:"; + } catch (ex) { + return false; + } +} + +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 = function (evt) { + if (removeScriptElement) { + script.remove(); + } + + resolve(evt); + }; + + script.onerror = function () { + reject(new Error("Cannot load script at: ".concat(script.src))); + }; + + (document.head || document.documentElement).appendChild(script); + }); +} + +function deprecated(details) { + console.log("Deprecated API usage: " + details); +} + +var pdfDateStringRegex; + +var PDFDateString = /*#__PURE__*/function () { + function PDFDateString() { + _classCallCheck(this, PDFDateString); + } + + _createClass(PDFDateString, null, [{ + key: "toDateObject", + value: function toDateObject(input) { + if (!input || typeof input !== "string") { + return null; + } + + if (!pdfDateStringRegex) { + pdfDateStringRegex = new RegExp("^D:" + "(\\d{4})" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "([Z|+|-])?" + "(\\d{2})?" + "'?" + "(\\d{2})?" + "'?"); + } + + var matches = pdfDateStringRegex.exec(input); + + if (!matches) { + return null; + } + + var year = parseInt(matches[1], 10); + var month = parseInt(matches[2], 10); + month = month >= 1 && month <= 12 ? month - 1 : 0; + var day = parseInt(matches[3], 10); + day = day >= 1 && day <= 31 ? day : 1; + var hour = parseInt(matches[4], 10); + hour = hour >= 0 && hour <= 23 ? hour : 0; + var minute = parseInt(matches[5], 10); + minute = minute >= 0 && minute <= 59 ? minute : 0; + var second = parseInt(matches[6], 10); + second = second >= 0 && second <= 59 ? second : 0; + var universalTimeRelation = matches[7] || "Z"; + var offsetHour = parseInt(matches[8], 10); + offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0; + var offsetMinute = parseInt(matches[9], 10) || 0; + offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0; + + if (universalTimeRelation === "-") { + hour += offsetHour; + minute += offsetMinute; + } else if (universalTimeRelation === "+") { + hour -= offsetHour; + minute -= offsetMinute; + } + + return new Date(Date.UTC(year, month, day, hour, minute, second)); + } + }]); + + return PDFDateString; +}(); + +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 + }); +} + +/***/ }), +/* 147 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.BaseStandardFontDataFactory = exports.BaseSVGFactory = exports.BaseCanvasFactory = exports.BaseCMapReaderFactory = 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 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 _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 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, + _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); + + if (this.constructor === BaseFontLoader) { + (0, _util.unreachable)("Cannot initialize BaseFontLoader."); + } + + this.docId = docId; + this._onUnsupportedFeature = onUnsupportedFeature; + this._document = ownerDocument; + this.nativeFontFaces = []; + this.styleElement = null; + } + + _createClass(BaseFontLoader, [{ + key: "addNativeFontFace", + value: function addNativeFontFace(nativeFontFace) { + this.nativeFontFaces.push(nativeFontFace); + + this._document.fonts.add(nativeFontFace); + } + }, { + key: "insertRule", + value: function insertRule(rule) { + var styleElement = this.styleElement; + + if (!styleElement) { + styleElement = this.styleElement = this._document.createElement("style"); + styleElement.id = "PDFJS_FONT_STYLE_TAG_".concat(this.docId); + + this._document.documentElement.getElementsByTagName("head")[0].appendChild(styleElement); + } + + var styleSheet = styleElement.sheet; + styleSheet.insertRule(rule, styleSheet.cssRules.length); + } + }, { + key: "clear", + value: function clear() { + 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) { + this.styleElement.remove(); + this.styleElement = null; + } + } + }, { + key: "bind", + value: function () { + var _bind = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(font) { + var _this = this; + + var nativeFontFace, rule; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (!(font.attached || font.missingFile)) { + _context.next = 2; + break; + } + + return _context.abrupt("return"); + + case 2: + font.attached = true; + + if (!this.isFontLoadingAPISupported) { + _context.next = 19; + break; + } + + nativeFontFace = font.createNativeFontFace(); + + if (!nativeFontFace) { + _context.next = 18; + break; + } + + this.addNativeFontFace(nativeFontFace); + _context.prev = 7; + _context.next = 10; + return nativeFontFace.loaded; + + case 10: + _context.next = 18; + break; + + case 12: + _context.prev = 12; + _context.t0 = _context["catch"](7); + + this._onUnsupportedFeature({ + featureId: _util.UNSUPPORTED_FEATURES.errorFontLoadNative + }); + + (0, _util.warn)("Failed to load font '".concat(nativeFontFace.family, "': '").concat(_context.t0, "'.")); + font.disableFontFace = true; + throw _context.t0; + + case 18: + return _context.abrupt("return"); + + case 19: + rule = font.createFontFaceRule(); + + if (!rule) { + _context.next = 26; + break; + } + + this.insertRule(rule); + + if (!this.isSyncFontLoadingSupported) { + _context.next = 24; + break; + } + + return _context.abrupt("return"); + + case 24: + _context.next = 26; + return new Promise(function (resolve) { + var request = _this._queueLoadingCallback(resolve); + + _this._prepareFontLoadEvent([rule], [font], request); + }); + + case 26: + case "end": + return _context.stop(); + } + } + }, _callee, this, [[7, 12]]); + })); + + function bind(_x) { + return _bind.apply(this, arguments); + } + + return bind; + }() + }, { + key: "_queueLoadingCallback", + value: function _queueLoadingCallback(callback) { + (0, _util.unreachable)("Abstract method `_queueLoadingCallback`."); + } + }, { + key: "isFontLoadingAPISupported", + get: function get() { + 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", + get: function get() { + (0, _util.unreachable)("Abstract method `isSyncFontLoadingSupported`."); + } + }, { + key: "_loadTestFont", + 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; +}(); + +var FontLoader; +exports.FontLoader = FontLoader; +{ + exports.FontLoader = FontLoader = /*#__PURE__*/function (_BaseFontLoader) { + _inherits(GenericFontLoader, _BaseFontLoader); + + var _super = _createSuper(GenericFontLoader); + + function GenericFontLoader(params) { + var _this2; + + _classCallCheck(this, GenericFontLoader); + + _this2 = _super.call(this, params); + _this2.loadingContext = { + requests: [], + nextRequestId: 0 + }; + _this2.loadTestFontId = 0; + return _this2; + } + + _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() { + (0, _util.assert)(!request.done, "completeRequest() cannot be called twice."); + request.done = true; + + while (context.requests.length > 0 && context.requests[0].done) { + var otherRequest = context.requests.shift(); + setTimeout(otherRequest.callback, 0); + } + } + + var context = this.loadingContext; + var request = { + id: "pdfjs-font-loading-".concat(context.nextRequestId++), + done: false, + complete: completeRequest, + callback: callback + }; + 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) { + function int32(data, offset) { + return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff; + } + + function spliceString(s, offset, remove, insert) { + var chunk1 = s.substring(0, offset); + var chunk2 = s.substring(offset + remove); + return chunk1 + insert + chunk2; + } + + var i, ii; + + var canvas = this._document.createElement("canvas"); + + canvas.width = 1; + canvas.height = 1; + var ctx = canvas.getContext("2d"); + var called = 0; + + function isFontReady(name, callback) { + called++; + + if (called > 30) { + (0, _util.warn)("Load test font never loaded."); + callback(); + return; + } + + ctx.font = "1.875em " + name; + ctx.fillText(".", 0, 20); + var imageData = ctx.getImageData(0, 0, 1, 1); + + if (imageData.data[3] > 0) { + callback(); + return; + } + + setTimeout(isFontReady.bind(null, name, callback)); + } + + var loadTestFontId = "lt".concat(Date.now()).concat(this.loadTestFontId++); + var data = this._loadTestFont; + var COMMENT_OFFSET = 976; + data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId); + var CFF_CHECKSUM_OFFSET = 16; + var XXXX_VALUE = 0x58585858; + var checksum = int32(data, CFF_CHECKSUM_OFFSET); + + for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) { + checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0; + } + + if (i < loadTestFontId.length) { + checksum = checksum - XXXX_VALUE + int32(loadTestFontId + "XXX", i) | 0; + } + + data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum)); + var url = "url(data:font/opentype;base64,".concat(btoa(data), ");"); + var rule = "@font-face {font-family:\"".concat(loadTestFontId, "\";src:").concat(url, "}"); + this.insertRule(rule); + var names = []; + + 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 = 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 (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 = name; + div.appendChild(span); + } + + this._document.body.appendChild(div); + + isFontReady(loadTestFontId, function () { + div.remove(); + request.complete(); + }); + } + }]); + + return GenericFontLoader; + }(BaseFontLoader); +} + +var FontFaceObject = /*#__PURE__*/function () { + function FontFaceObject(translatedData, _ref2) { + var _ref2$isEvalSupported = _ref2.isEvalSupported, + isEvalSupported = _ref2$isEvalSupported === void 0 ? true : _ref2$isEvalSupported, + _ref2$disableFontFace = _ref2.disableFontFace, + disableFontFace = _ref2$disableFontFace === void 0 ? false : _ref2$disableFontFace, + _ref2$ignoreErrors = _ref2.ignoreErrors, + ignoreErrors = _ref2$ignoreErrors === void 0 ? false : _ref2$ignoreErrors, + onUnsupportedFeature = _ref2.onUnsupportedFeature, + _ref2$fontRegistry = _ref2.fontRegistry, + fontRegistry = _ref2$fontRegistry === void 0 ? null : _ref2$fontRegistry; + + _classCallCheck(this, FontFaceObject); + + this.compiledGlyphs = Object.create(null); + + for (var i in translatedData) { + this[i] = translatedData[i]; + } + + this.isEvalSupported = isEvalSupported !== false; + this.disableFontFace = disableFontFace === true; + this.ignoreErrors = ignoreErrors === true; + this._onUnsupportedFeature = onUnsupportedFeature; + this.fontRegistry = fontRegistry; + } + + _createClass(FontFaceObject, [{ + key: "createNativeFontFace", + value: function createNativeFontFace() { + if (!this.data || this.disableFontFace) { + return null; + } + + 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); + } + + return nativeFontFace; + } + }, { + key: "createFontFaceRule", + value: function createFontFaceRule() { + if (!this.data || this.disableFontFace) { + return null; + } + + var data = (0, _util.bytesToString)(this.data); + var url = "url(data:".concat(this.mimetype, ";base64,").concat(btoa(data), ");"); + 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); + } + + return rule; + } + }, { + key: "getPathGenerator", + value: function getPathGenerator(objs, character) { + if (this.compiledGlyphs[character] !== undefined) { + return this.compiledGlyphs[character]; + } + + var cmds; + + try { + cmds = objs.get(this.loadedName + "_path_" + character); + } catch (ex) { + if (!this.ignoreErrors) { + throw ex; + } + + 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 jsBuf = []; + + var _iterator3 = _createForOfIteratorHelper(cmds), + _step3; + + 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"); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + return this.compiledGlyphs[character] = new Function("c", "size", jsBuf.join("")); + } + + return this.compiledGlyphs[character] = function (c, size) { + var _iterator4 = _createForOfIteratorHelper(cmds), + _step4; + + 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); + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + }; + } + }]); + + return FontFaceObject; +}(); + +exports.FontFaceObject = FontFaceObject; + +/***/ }), +/* 149 */ +/***/ ((__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.NodeStandardFontDataFactory = exports.NodeCanvasFactory = exports.NodeCMapReaderFactory = void 0; + +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); + } + + _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); +} + +/***/ }), +/* 150 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +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__(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 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 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(); + }; +} + +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); + } + + _createClass(CachedCanvases, [{ + key: "getCanvas", + value: function getCanvas(id, width, height, trackTransform) { + var canvasEntry; + + if (this.cache[id] !== undefined) { + canvasEntry = this.cache[id]; + this.canvasFactory.reset(canvasEntry, width, height); + canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0); + } else { + canvasEntry = this.canvasFactory.create(width, height); + this.cache[id] = canvasEntry; + } + + if (trackTransform) { + addContextCurrentTransform(canvasEntry.context); + } + + return canvasEntry; + } + }, { + 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 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); + var pos = 0; + + for (i = 0, ii = data0.length; i < ii; i++) { + var elem = data0[i]; + var mask = 128; + + while (mask > 0) { + data[pos++] = elem & mask ? 0 : 255; + mask >>= 1; + } + } + + var count = 0; + pos = 0; + + if (data[pos] !== 0) { + points[0] = 1; + ++count; + } + + for (j = 1; j < width; j++) { + if (data[pos] !== data[pos + 1]) { + points[j] = data[pos] ? 2 : 1; + ++count; + } + + pos++; + } + + if (data[pos] !== 0) { + points[j] = 2; + ++count; + } + + for (i = 1; i < height; i++) { + pos = i * lineSize; + j0 = i * width1; + + if (data[pos - lineSize] !== data[pos]) { + points[j0] = data[pos] ? 1 : 8; + ++count; + } + + var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0); + + for (j = 1; j < width; j++) { + sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0); + + if (POINT_TYPES[sum]) { + points[j0 + j] = POINT_TYPES[sum]; + ++count; + } + + pos++; + } + + if (data[pos - lineSize] !== data[pos]) { + points[j0 + j] = data[pos] ? 2 : 4; + ++count; + } + + if (count > POINT_TO_PROCESS_LIMIT) { + return null; + } + } + + pos = lineSize * (height - 1); + j0 = i * width1; + + if (data[pos] !== 0) { + points[j0] = 8; + ++count; + } + + for (j = 1; j < width; j++) { + if (data[pos] !== data[pos + 1]) { + points[j0 + j] = data[pos] ? 4 : 8; + ++count; + } + + pos++; + } + + if (data[pos] !== 0) { + points[j0 + j] = 4; + ++count; + } + + if (count > POINT_TO_PROCESS_LIMIT) { + return null; + } + + var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]); + var outlines = []; + + for (i = 0; count && i <= height; i++) { + var p = i * width1; + var end = p + width; + + while (p < end && !points[p]) { + p++; + } + + if (p === end) { + continue; + } + + var coords = [p % width1, i]; + var p0 = p; + var type = points[p]; + + do { + var step = steps[type]; + + do { + p += step; + } while (!points[p]); + + var pp = points[p]; + + if (pp !== 5 && pp !== 10) { + type = pp; + points[p] = 0; + } else { + type = pp & 0x33 * type >> 4; + points[p] &= type >> 2 | type << 2; + } + + coords.push(p % width1, p / width1 | 0); + + if (!points[p]) { + --count; + } + } while (p0 !== p); + + outlines.push(coords); + --i; + } + + var drawOutline = function drawOutline(c) { + c.save(); + c.scale(1 / width, -1 / height); + c.translate(0, -height); + c.beginPath(); + + for (var k = 0, kk = outlines.length; k < kk; k++) { + var o = outlines[k]; + c.moveTo(o[0], o[1]); + + for (var l = 2, ll = o.length; l < ll; l += 2) { + c.lineTo(o[l], o[l + 1]); + } + } + + c.fill(); + c.beginPath(); + c.restore(); + }; + + return drawOutline; +} + +var CanvasExtraState = /*#__PURE__*/function () { + function CanvasExtraState(width, height) { + _classCallCheck(this, CanvasExtraState); + + this.alphaIsShape = false; + this.fontSize = 0; + this.fontSizeScale = 1; + this.textMatrix = _util.IDENTITY_MATRIX; + this.textMatrixScale = 1; + this.fontMatrix = _util.FONT_IDENTITY_MATRIX; + this.leading = 0; + this.x = 0; + this.y = 0; + this.lineX = 0; + this.lineY = 0; + this.charSpacing = 0; + this.wordSpacing = 0; + this.textHScale = 1; + this.textRenderingMode = _util.TextRenderingMode.FILL; + this.textRise = 0; + this.fillColor = "#000000"; + this.strokeColor = "#000000"; + this.patternFill = false; + this.fillAlpha = 1; + this.strokeAlpha = 1; + this.lineWidth = 1; + this.activeSMask = null; + this.transferMaps = null; + this.startNewPathAndClipBox([0, 0, width, height]); + } + + _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; +}(); + +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); + + this.ctx = canvasCtx; + this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height); + this.stateStack = []; + this.pendingClip = null; + this.pendingEOFill = false; + this.res = null; + this.xobjs = null; + this.commonObjs = commonObjs; + this.objs = objs; + this.canvasFactory = canvasFactory; + this.imageLayer = imageLayer; + this.groupStack = []; + this.processingType3 = null; + this.baseTransform = null; + this.baseTransformStack = []; + this.groupLevel = 0; + 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; + } + + _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(); + this.ctx.fillStyle = background || "rgb(255, 255, 255)"; + this.ctx.fillRect(0, 0, width, height); + this.ctx.restore(); + + if (transparency) { + var transparentCanvas = this.cachedCanvases.getCanvas("transparent", width, height, true); + this.compositeCtx = this.ctx; + this.transparentCanvas = transparentCanvas.canvas; + this.ctx = transparentCanvas.context; + this.ctx.save(); + this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform); + } + + this.ctx.save(); + resetCtxToDefault(this.ctx); + + 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(); + } + } + }, { + key: "executeOperatorList", + value: function executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) { + var argsArray = operatorList.argsArray; + var fnArray = operatorList.fnArray; + var i = executionStartIdx || 0; + var argsArrayLen = argsArray.length; + + if (argsArrayLen === i) { + return i; + } + + var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === "function"; + var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0; + var steps = 0; + var commonObjs = this.commonObjs; + var objs = this.objs; + var fnId; + + while (true) { + if (stepper !== undefined && i === stepper.nextBreakPoint) { + stepper.breakIt(i, continueCallback); + return i; + } + + fnId = fnArray[i]; + + if (fnId !== _util.OPS.dependency) { + this[fnId].apply(this, argsArray[i]); + } else { + var _iterator = _createForOfIteratorHelper(argsArray[i]), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var depObjId = _step.value; + var objsPool = depObjId.startsWith("g_") ? commonObjs : objs; + + if (!objsPool.has(depObjId)) { + objsPool.get(depObjId, continueCallback); + return i; + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + + i++; + + if (i === argsArrayLen) { + return i; + } + + if (chunkOperations && ++steps > EXECUTION_STEPS) { + if (Date.now() > endTime) { + continueCallback(); + return i; + } + + steps = 0; + } + } + } + }, { + key: "endDrawing", + value: function endDrawing() { + while (this.stateStack.length || this.inSMaskMode) { + this.restore(); + } + + this.ctx.restore(); + + if (this.transparentCanvas) { + this.ctx = this.compositeCtx; + this.ctx.save(); + this.ctx.setTransform(1, 0, 0, 1, 0, 0); + this.ctx.drawImage(this.transparentCanvas, 0, 0); + this.ctx.restore(); + this.transparentCanvas = null; + } + + this.cachedCanvases.clear(); + this.cachedPatterns.clear(); + + if (this.imageLayer) { + this.imageLayer.endLayout(); + } + } + }, { + 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; + } + }, { + key: "setLineCap", + value: function setLineCap(style) { + this.ctx.lineCap = LINE_CAP_STYLES[style]; + } + }, { + key: "setLineJoin", + value: function setLineJoin(style) { + this.ctx.lineJoin = LINE_JOIN_STYLES[style]; + } + }, { + key: "setMiterLimit", + value: function setMiterLimit(limit) { + this.ctx.miterLimit = limit; + } + }, { + key: "setDash", + value: function setDash(dashArray, dashPhase) { + var ctx = this.ctx; + + if (ctx.setLineDash !== undefined) { + ctx.setLineDash(dashArray); + ctx.lineDashOffset = dashPhase; + } + } + }, { + 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]; + var value = state[1]; + + switch (key) { + case "LW": + this.setLineWidth(value); + break; + + case "LC": + this.setLineCap(value); + break; + + case "LJ": + this.setLineJoin(value); + break; + + case "ML": + this.setMiterLimit(value); + break; + + case "D": + this.setDash(value[0], value[1]); + break; + + case "RI": + this.setRenderingIntent(value); + break; + + case "FL": + this.setFlatness(value); + break; + + case "Font": + this.setFont(value[0], value[1]); + break; + + case "CA": + this.current.strokeAlpha = state[1]; + break; + + case "ca": + this.current.fillAlpha = state[1]; + this.ctx.globalAlpha = state[1]; + break; + + case "BM": + this.ctx.globalCompositeOperation = value; + break; + + case "SMask": + this.current.activeSMask = value ? this.tempSMask : null; + this.tempSMask = null; + this.checkSMaskState(); + break; + + case "TR": + this.current.transferMaps = value; + } + } + } + }, { + 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); + 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]]); + } + }, { + 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(); + 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(); + } + }, { + key: "save", + value: function save() { + if (this.inSMaskMode) { + copyCtxState(this.ctx, this.suspendedCtx); + this.suspendedCtx.save(); + } else { + this.ctx.save(); + } + + var old = this.current; + this.stateStack.push(old); + this.current = old.clone(); + } + }, { + key: "restore", + value: function restore() { + if (this.stateStack.length === 0 && this.inSMaskMode) { + this.endSMaskMode(); + } + + if (this.stateStack.length !== 0) { + this.current = this.stateStack.pop(); + + 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; + } + } + }, { + 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; + } + }, { + 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) { + case _util.OPS.rectangle: + x = args[j++]; + y = args[j++]; + var width = args[j++]; + var height = args[j++]; + var xw = x + width; + var yh = y + height; + 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; + + case _util.OPS.closePath: + ctx.closePath(); + break; + } + } + + current.setCurrentPoint(x, y); + } + }, { + key: "closePath", + value: function closePath() { + this.ctx.closePath(); + } + }, { + 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 (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.current.getClippedPathBoundingBox()); + } + + ctx.globalAlpha = this.current.fillAlpha; + } + }, { + key: "closeStroke", + value: function closeStroke() { + this.closePath(); + this.stroke(); + } + }, { + key: "fill", + value: function fill(consumePath) { + consumePath = typeof consumePath !== "undefined" ? consumePath : true; + var ctx = this.ctx; + var fillColor = this.current.fillColor; + var isPatternFill = this.current.patternFill; + var needRestore = false; + + if (isPatternFill) { + ctx.save(); + ctx.fillStyle = fillColor.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.FILL); + needRestore = true; + } + + var intersect = this.current.getClippedPathBoundingBox(); + + if (this.contentVisible && intersect !== null) { + if (this.pendingEOFill) { + ctx.fill("evenodd"); + this.pendingEOFill = false; + } else { + ctx.fill(); + } + } + + if (needRestore) { + ctx.restore(); + } + + if (consumePath) { + this.consumePath(intersect); + } + } + }, { + key: "eoFill", + value: function eoFill() { + this.pendingEOFill = true; + this.fill(); + } + }, { + key: "fillStroke", + value: function fillStroke() { + this.fill(false); + this.stroke(false); + this.consumePath(); + } + }, { + key: "eoFillStroke", + value: function eoFillStroke() { + this.pendingEOFill = true; + this.fillStroke(); + } + }, { + key: "closeFillStroke", + value: function closeFillStroke() { + this.closePath(); + this.fillStroke(); + } + }, { + key: "closeEOFillStroke", + value: function closeEOFillStroke() { + this.pendingEOFill = true; + this.closePath(); + this.fillStroke(); + } + }, { + key: "endPath", + value: function endPath() { + this.consumePath(); + } + }, { + key: "clip", + value: function clip() { + this.pendingClip = NORMAL_CLIP; + } + }, { + key: "eoClip", + value: function eoClip() { + this.pendingClip = EO_CLIP; + } + }, { + 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; + } + }, { + key: "endText", + value: function endText() { + var paths = this.pendingTextPaths; + var ctx = this.ctx; + + if (paths === undefined) { + ctx.beginPath(); + return; + } + + ctx.save(); + ctx.beginPath(); + + for (var i = 0; i < paths.length; i++) { + var path = paths[i]; + ctx.setTransform.apply(ctx, path.transform); + ctx.translate(path.x, path.y); + path.addToPath(ctx, path.fontSize); + } + + ctx.restore(); + ctx.clip(); + ctx.beginPath(); + delete this.pendingTextPaths; + } + }, { + key: "setCharSpacing", + value: function setCharSpacing(spacing) { + this.current.charSpacing = spacing; + } + }, { + key: "setWordSpacing", + value: function setWordSpacing(spacing) { + this.current.wordSpacing = spacing; + } + }, { + key: "setHScale", + value: function setHScale(scale) { + this.current.textHScale = scale / 100; + } + }, { + key: "setLeading", + value: function setLeading(leading) { + this.current.leading = -leading; + } + }, { + key: "setFont", + value: function setFont(fontRefName, size) { + var fontObj = this.commonObjs.get(fontRefName); + var current = this.current; + + if (!fontObj) { + throw new Error("Can't find font for ".concat(fontRefName)); + } + + 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); + } + + if (size < 0) { + size = -size; + current.fontDirection = -1; + } else { + current.fontDirection = 1; + } + + this.current.font = fontObj; + this.current.fontSize = size; + + if (fontObj.isType3Font) { + return; + } + + var name = fontObj.loadedName || "sans-serif"; + var bold = "normal"; + + if (fontObj.black) { + bold = "900"; + } else if (fontObj.bold) { + bold = "bold"; + } + + var italic = fontObj.italic ? "italic" : "normal"; + var typeface = "\"".concat(name, "\", ").concat(fontObj.fallbackName); + var browserFontSize = size; + + if (size < MIN_FONT_SIZE) { + browserFontSize = MIN_FONT_SIZE; + } else if (size > MAX_FONT_SIZE) { + browserFontSize = MAX_FONT_SIZE; + } + + this.current.fontSizeScale = size / browserFontSize; + this.ctx.font = document.body.dataset.pdfjsprinting ? "".concat(italic, " ").concat(bold, " ").concat(browserFontSize, "px ").concat(typeface) : "".concat(italic, " ").concat(bold, " ").concat(browserFontSize / 16.0, "em ").concat(typeface); + } + }, { + key: "setTextRenderingMode", + value: function setTextRenderingMode(mode) { + this.current.textRenderingMode = mode; + } + }, { + key: "setTextRise", + value: function setTextRise(rise) { + this.current.textRise = rise; + } + }, { + key: "moveText", + value: function moveText(x, y) { + this.current.x = this.current.lineX += x; + this.current.y = this.current.lineY += y; + } + }, { + key: "setLeadingMoveText", + value: function setLeadingMoveText(x, y) { + this.setLeading(-y); + this.moveText(x, y); + } + }, { + key: "setTextMatrix", + value: function setTextMatrix(a, b, c, d, e, f) { + this.current.textMatrix = [a, b, c, d, e, f]; + this.current.textMatrixScale = Math.hypot(a, b); + this.current.x = this.current.lineX = 0; + this.current.y = this.current.lineY = 0; + } + }, { + key: "nextLine", + value: function nextLine() { + this.moveText(0, this.current.leading); + } + }, { + key: "paintChar", + value: function paintChar(character, x, y, patternTransform) { + var ctx = this.ctx; + var current = this.current; + var font = current.font; + var textRenderingMode = current.textRenderingMode; + 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.missingFile; + var addToPath; + + if (font.disableFontFace || isAddToPathSet || patternFill) { + addToPath = font.getPathGenerator(this.commonObjs, character); + } + + if (font.disableFontFace || patternFill) { + ctx.save(); + ctx.translate(x, y); + ctx.beginPath(); + addToPath(ctx, fontSize); + + if (patternTransform) { + ctx.setTransform.apply(ctx, patternTransform); + } + + if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + ctx.fill(); + } + + if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + ctx.stroke(); + } + + ctx.restore(); + } else { + if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + ctx.fillText(character, x, y); + } + + if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + ctx.strokeText(character, x, y); + } + } + + if (isAddToPathSet) { + var paths = this.pendingTextPaths || (this.pendingTextPaths = []); + paths.push({ + transform: ctx.mozCurrentTransform, + x: x, + y: y, + fontSize: fontSize, + addToPath: addToPath + }); + } + } + }, { + key: "isFontSubpixelAAEnabled", + get: function get() { + var _this$cachedCanvases$ = this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled", 10, 10), + ctx = _this$cachedCanvases$.context; + + ctx.scale(1.5, 1); + ctx.fillText("I", 0, 10); + var data = ctx.getImageData(0, 0, 10, 10).data; + var enabled = false; + + for (var i = 3; i < data.length; i += 4) { + if (data[i] > 0 && data[i] < 255) { + enabled = true; + break; + } + } + + return (0, _util.shadow)(this, "isFontSubpixelAAEnabled", enabled); + } + }, { + key: "showText", + value: function showText(glyphs) { + var current = this.current; + var font = current.font; + + if (font.isType3Font) { + return this.showType3Text(glyphs); + } + + var fontSize = current.fontSize; + + if (fontSize === 0) { + return undefined; + } + + var ctx = this.ctx; + var fontSizeScale = current.fontSizeScale; + var charSpacing = current.charSpacing; + var wordSpacing = current.wordSpacing; + var fontDirection = current.fontDirection; + var textHScale = current.textHScale * fontDirection; + var glyphsLength = glyphs.length; + var vertical = font.vertical; + var spacingDir = vertical ? 1 : -1; + var defaultVMetrics = font.defaultVMetrics; + var widthAdvanceScale = fontSize * current.fontMatrix[0]; + var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill; + ctx.save(); + ctx.transform.apply(ctx, current.textMatrix); + ctx.translate(current.x, current.y + current.textRise); + + if (fontDirection > 0) { + ctx.scale(textHScale, -1); + } else { + 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; + + if (scale === 0 || lineWidth === 0) { + var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK; + + if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + lineWidth = this.getSinglePixelWidth(); + } + } else { + lineWidth /= scale; + } + + if (fontSizeScale !== 1.0) { + ctx.scale(fontSizeScale, fontSizeScale); + lineWidth /= fontSizeScale; + } + + ctx.lineWidth = lineWidth; + var x = 0, + i; + + for (i = 0; i < glyphsLength; ++i) { + var glyph = glyphs[i]; + + if (typeof glyph === "number") { + x += spacingDir * glyph * fontSize / 1000; + continue; + } + + var restoreNeeded = false; + var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing; + var character = glyph.fontChar; + var accent = glyph.accent; + var scaledX = void 0, + scaledY = void 0; + var width = glyph.width; + + if (vertical) { + 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; + } else { + scaledX = x / fontSizeScale; + scaledY = 0; + } + + if (font.remeasure && width > 0) { + var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale; + + if (width < measuredWidth && this.isFontSubpixelAAEnabled) { + var characterScaleX = width / measuredWidth; + restoreNeeded = true; + ctx.save(); + ctx.scale(characterScaleX, 1); + scaledX /= characterScaleX; + } else if (width !== measuredWidth) { + scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale; + } + } + + if (this.contentVisible && (glyph.isInFont || font.missingFile)) { + if (simpleFillText && !accent) { + ctx.fillText(character, scaledX, scaledY); + } else { + this.paintChar(character, scaledX, scaledY, patternTransform); + + if (accent) { + 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 = void 0; + + if (vertical) { + charWidth = width * widthAdvanceScale - spacing * fontDirection; + } else { + charWidth = width * widthAdvanceScale + spacing * fontDirection; + } + + x += charWidth; + + if (restoreNeeded) { + ctx.restore(); + } + } + + if (vertical) { + current.y -= x; + } else { + current.x += x * textHScale; + } + + ctx.restore(); + this.compose(); + return undefined; + } + }, { + key: "showType3Text", + value: function showType3Text(glyphs) { + var ctx = this.ctx; + var current = this.current; + var font = current.font; + var fontSize = current.fontSize; + var fontDirection = current.fontDirection; + var spacingDir = font.vertical ? 1 : -1; + var charSpacing = current.charSpacing; + var wordSpacing = current.wordSpacing; + var textHScale = current.textHScale * fontDirection; + var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX; + var glyphsLength = glyphs.length; + var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE; + var i, glyph, width, spacingLength; + + if (isTextInvisible || fontSize === 0) { + return; + } + + this._cachedScaleForStroking = null; + this._cachedGetSinglePixelWidth = null; + ctx.save(); + ctx.transform.apply(ctx, current.textMatrix); + ctx.translate(current.x, current.y); + ctx.scale(textHScale, fontDirection); + + for (i = 0; i < glyphsLength; ++i) { + glyph = glyphs[i]; + + if (typeof glyph === "number") { + spacingLength = spacingDir * glyph * fontSize / 1000; + this.ctx.translate(spacingLength, 0); + current.x += spacingLength * textHScale; + continue; + } + + var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing; + var operatorList = font.charProcOperatorList[glyph.operatorListId]; + + if (!operatorList) { + (0, _util.warn)("Type3 character \"".concat(glyph.operatorListId, "\" is not available.")); + continue; + } + + 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); + + width = transformed[0] * fontSize + spacing; + ctx.translate(width, 0); + current.x += width * textHScale; + } + + ctx.restore(); + this.processingType3 = null; + } + }, { + 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(); + } + }, { + key: "getColorN_Pattern", + value: function getColorN_Pattern(IR) { + var _this = this; + + var pattern; + + if (IR[0] === "TilingPattern") { + var color = IR[1]; + var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice(); + var canvasGraphicsFactory = { + createCanvasGraphics: function createCanvasGraphics(ctx) { + return new CanvasGraphics(ctx, _this.commonObjs, _this.objs, _this.canvasFactory); + } + }; + pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform); + } else { + pattern = this._getPattern(IR[1], IR[2]); + } + + return pattern; + } + }, { + key: "setStrokeColorN", + value: function setStrokeColorN() { + this.current.strokeColor = this.getColorN_Pattern(arguments); + } + }, { + key: "setFillColorN", + value: function setFillColorN() { + this.current.fillColor = this.getColorN_Pattern(arguments); + this.current.patternFill = true; + } + }, { + key: "setStrokeRGBColor", + value: function setStrokeRGBColor(r, g, b) { + var color = _util.Util.makeHexColor(r, g, b); + + this.ctx.strokeStyle = color; + this.current.strokeColor = color; + } + }, { + 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; + } + }, { + 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 = this._getPattern(objId); + + ctx.fillStyle = pattern.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.SHADING); + var inv = ctx.mozCurrentTransformInverse; + + if (inv) { + var canvas = ctx.canvas; + var width = canvas.width; + var height = canvas.height; + + var bl = _util.Util.applyTransform([0, 0], inv); + + var br = _util.Util.applyTransform([0, height], inv); + + var ul = _util.Util.applyTransform([width, 0], inv); + + var ur = _util.Util.applyTransform([width, height], inv); + + var x0 = Math.min(bl[0], br[0], ul[0], ur[0]); + var y0 = Math.min(bl[1], br[1], ul[1], ur[1]); + var x1 = Math.max(bl[0], br[0], ul[0], ur[0]); + var y1 = Math.max(bl[1], br[1], ul[1], ur[1]); + this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0); + } else { + this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10); + } + + this.compose(this.current.getClippedPathBoundingBox()); + this.restore(); + } + }, { + key: "beginInlineImage", + value: function beginInlineImage() { + (0, _util.unreachable)("Should not call beginInlineImage"); + } + }, { + key: "beginImageData", + value: function beginImageData() { + (0, _util.unreachable)("Should not call beginImageData"); + } + }, { + key: "paintFormXObjectBegin", + value: function paintFormXObjectBegin(matrix, bbox) { + if (!this.contentVisible) { + return; + } + + this.save(); + this.baseTransformStack.push(this.baseTransform); + + if (Array.isArray(matrix) && matrix.length === 6) { + this.transform.apply(this, matrix); + } + + this.baseTransform = this.ctx.mozCurrentTransform; + + if (bbox) { + 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(); + } + } + }, { + key: "paintFormXObjectEnd", + value: function paintFormXObjectEnd() { + if (!this.contentVisible) { + return; + } + + this.restore(); + this.baseTransform = this.baseTransformStack.pop(); + } + }, { + 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) { + (0, _util.info)("TODO: Support non-isolated groups."); + } + + if (group.knockout) { + (0, _util.warn)("Knockout groups not supported."); + } + + var currentTransform = currentCtx.mozCurrentTransform; + + if (group.matrix) { + currentCtx.transform.apply(currentCtx, group.matrix); + } + + if (!group.bbox) { + throw new Error("Bounding box is required."); + } + + var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform); + + var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height]; + bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0]; + var offsetX = Math.floor(bounds[0]); + var offsetY = Math.floor(bounds[1]); + var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1); + var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1); + var scaleX = 1, + scaleY = 1; + + if (drawnWidth > MAX_GROUP_SIZE) { + scaleX = drawnWidth / MAX_GROUP_SIZE; + drawnWidth = MAX_GROUP_SIZE; + } + + if (drawnHeight > MAX_GROUP_SIZE) { + scaleY = drawnHeight / MAX_GROUP_SIZE; + drawnHeight = MAX_GROUP_SIZE; + } + + this.current.startNewPathAndClipBox([0, 0, drawnWidth, drawnHeight]); + var cacheId = "groupAt" + this.groupLevel; + + if (group.smask) { + cacheId += "_smask_" + this.smaskCounter++ % 2; + } + + var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true); + var groupCtx = scratchCanvas.context; + groupCtx.scale(1 / scaleX, 1 / scaleY); + groupCtx.translate(-offsetX, -offsetY); + groupCtx.transform.apply(groupCtx, currentTransform); + + if (group.smask) { + this.smaskStack.push({ + canvas: scratchCanvas.canvas, + context: groupCtx, + offsetX: offsetX, + offsetY: offsetY, + scaleX: scaleX, + scaleY: scaleY, + subtype: group.smask.subtype, + backdrop: group.smask.backdrop, + transferMap: group.smask.transferMap || null, + startTransformInverse: null + }); + } else { + currentCtx.setTransform(1, 0, 0, 1, 0, 0); + currentCtx.translate(offsetX, offsetY); + currentCtx.scale(scaleX, scaleY); + currentCtx.save(); + } + + copyCtxState(currentCtx, groupCtx); + this.ctx = groupCtx; + this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]); + this.groupStack.push(currentCtx); + this.groupLevel++; + } + }, { + key: "endGroup", + value: function endGroup(group) { + if (!this.contentVisible) { + return; + } + + this.groupLevel--; + var groupCtx = this.ctx; + 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.restore(); + var currentMtx = this.ctx.mozCurrentTransform; + this.restore(); + this.ctx.save(); + this.ctx.setTransform.apply(this.ctx, currentMtx); + + 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); + } + } + }, { + key: "endAnnotations", + value: function endAnnotations() { + this.restore(); + } + }, { + key: "beginAnnotation", + value: function beginAnnotation(id, rect, transform, matrix, hasOwnCanvas) { + this.save(); + + if (Array.isArray(rect) && rect.length === 4) { + var width = rect[2] - rect[0]; + var height = rect[3] - rect[1]; + + 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); + } + }, { + key: "endAnnotation", + value: function endAnnotation() { + if (this.annotationCanvas) { + this.ctx = this.annotationCanvas.savedCtx; + delete this.annotationCanvas.savedCtx; + delete this.annotationCanvas; + } + + this.restore(); + } + }, { + key: "paintImageMaskXObject", + value: function paintImageMaskXObject(img) { + if (!this.contentVisible) { + return; + } + + var ctx = this.ctx; + var width = img.width, + height = img.height; + var glyph = this.processingType3; + + if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) { + if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) { + glyph.compiled = compileType3Glyph({ + data: img.data, + width: width, + height: height + }); + } else { + glyph.compiled = null; + } + } + + if (glyph !== null && glyph !== void 0 && glyph.compiled) { + glyph.compiled(ctx); + return; + } + + 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) { + 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); + } + + 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; + + for (var i = 0, ii = images.length; i < ii; i++) { + var image = images[i]; + var width = image.width, + height = image.height; + var maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height); + var maskCtx = maskCanvas.context; + maskCtx.save(); + putBinaryImageMask(maskCtx, image); + maskCtx.globalCompositeOperation = "source-in"; + maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.FILL) : fillColor; + maskCtx.fillRect(0, 0, width, height); + maskCtx.restore(); + ctx.save(); + ctx.transform.apply(ctx, image.transform); + ctx.scale(1, -1); + ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1); + ctx.restore(); + } + + 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"); + return; + } + + this.paintInlineImageXObject(imgData); + } + }, { + 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"); + return; + } + + var width = imgData.width; + var height = imgData.height; + var map = []; + + for (var i = 0, ii = positions.length; i < ii; i += 2) { + map.push({ + transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]], + x: 0, + y: 0, + w: width, + h: height + }); + } + + this.paintInlineImageXObjectGroup(imgData, map); + } + }, { + 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 imgToPaint; + + if (typeof HTMLElement === "function" && imgData instanceof HTMLElement || !imgData.data) { + imgToPaint = imgData; + } else { + var tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", width, height); + var tmpCtx = tmpCanvas.context; + putBinaryImageData(tmpCtx, imgData, this.current.transferMaps); + imgToPaint = tmpCanvas.canvas; + } + + var scaled = this._scaleImage(imgToPaint, ctx.mozCurrentTransformInverse); + + 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); + this.imageLayer.appendImage({ + imgData: imgData, + left: position[0], + top: position[1], + width: width / ctx.mozCurrentTransformInverse[0], + height: height / ctx.mozCurrentTransformInverse[3] + }); + } + + this.compose(); + this.restore(); + } + }, { + 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, this.current.transferMaps); + + for (var i = 0, ii = map.length; i < ii; i++) { + var entry = map[i]; + ctx.save(); + ctx.transform.apply(ctx, entry.transform); + ctx.scale(1, -1); + ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1); + + if (this.imageLayer) { + var position = this.getCanvasPosition(entry.x, entry.y); + this.imageLayer.appendImage({ + imgData: imgData, + left: position[0], + top: position[1], + width: w, + height: h + }); + } + + ctx.restore(); + } + + this.compose(); + } + }, { + key: "paintSolidColorImageMask", + value: function paintSolidColorImageMask() { + if (!this.contentVisible) { + return; + } + + this.ctx.fillRect(0, 0, 1, 1); + 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) { + if (this.pendingClip === EO_CLIP) { + ctx.clip("evenodd"); + } else { + ctx.clip(); + } + + this.pendingClip = null; + } + + this.current.startNewPathAndClipBox(this.current.clipBox); + ctx.beginPath(); + } + }, { + 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; + } + }, { + 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; + } + } + + 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]; + } +} + +/***/ }), +/* 152 */ +/***/ ((__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.TilingPattern = exports.PathType = void 0; +exports.getShadingPattern = getShadingPattern; + +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 _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") { + return; + } + + var width = bbox[2] - bbox[0]; + var height = bbox[3] - bbox[1]; + var region = new Path2D(); + region.rect(bbox[0], bbox[1], width, height); + ctx.clip(region); +} + +var BaseShadingPattern = /*#__PURE__*/function () { + function BaseShadingPattern() { + _classCallCheck(this, BaseShadingPattern); + + if (this.constructor === BaseShadingPattern) { + (0, _util.unreachable)("Cannot initialize BaseShadingPattern."); + } + } + + _createClass(BaseShadingPattern, [{ + key: "getPattern", + value: function getPattern() { + (0, _util.unreachable)("Abstract method `getPattern` called."); + } + }]); + + return BaseShadingPattern; +}(); + +var RadialAxialShadingPattern = /*#__PURE__*/function (_BaseShadingPattern) { + _inherits(RadialAxialShadingPattern, _BaseShadingPattern); + + var _super = _createSuper(RadialAxialShadingPattern); + + function RadialAxialShadingPattern(IR) { + var _this; + + _classCallCheck(this, RadialAxialShadingPattern); + + _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; + } + + _createClass(RadialAxialShadingPattern, [{ + key: "_createGradient", + value: function _createGradient(ctx) { + var grad; + + 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 _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 { + _k = (y1 - y) / (y1 - y2); + } + + 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; + } + + 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 (var i = 0, ii = bytes.length; i < ii; i += 4) { + bytes[i] = backgroundColor[0]; + bytes[i + 1] = backgroundColor[1]; + bytes[i + 2] = backgroundColor[2]; + bytes[i + 3] = 255; + } + } + + 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); + 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; + + if (pathType === PathType.SHADING) { + scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform); + } else { + scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform); + + if (this.matrix) { + var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix); + + scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]]; + } + } + + var temporaryPatternCanvas = this._createMeshCanvas(scale, pathType === PathType.SHADING ? null : this._background, owner.cachedCanvases); + + if (pathType !== PathType.SHADING) { + ctx.setTransform.apply(ctx, owner.baseTransform); + + 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"); + } + }]); + + 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); + } + + _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 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]; + this.xstep = IR[5]; + this.ystep = IR[6]; + this.paintType = IR[7]; + this.tilingType = IR[8]; + this.color = color; + this.ctx = ctx; + this.canvasGraphicsFactory = canvasGraphicsFactory; + this.baseTransform = baseTransform; + } + + _createClass(TilingPattern, [{ + key: "createPatternCanvas", + value: function createPatternCanvas(owner) { + var operatorList = this.operatorList; + var bbox = this.bbox; + var xstep = this.xstep; + var ystep = this.ystep; + var paintType = this.paintType; + var tilingType = this.tilingType; + var color = this.color; + var canvasGraphicsFactory = this.canvasGraphicsFactory; + (0, _util.info)("TilingType: " + tilingType); + var x0 = bbox[0], + y0 = bbox[1], + x1 = bbox[2], + y1 = bbox[3]; + + var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix); + + var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform); + + var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]]; + var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]); + var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]); + var tmpCanvas = owner.cachedCanvases.getCanvas("pattern", dimx.size, dimy.size, true); + var tmpCtx = tmpCanvas.context; + 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); + tmpCtx.save(); + this.clipBbox(graphics, adjustedX0, adjustedY0, adjustedX1, adjustedY1); + graphics.baseTransform = graphics.ctx.mozCurrentTransform.slice(); + graphics.executeOperatorList(operatorList); + 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(TilingPattern.MAX_PATTERN_SIZE, realOutputSize); + var size = Math.ceil(step * scale); + + if (size >= maxSize) { + size = maxSize; + } else { + scale = size / step; + } + + return { + scale: scale, + size: size + }; + } + }, { + 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; + + switch (paintType) { + case PaintType.COLORED: + var ctx = this.ctx; + context.fillStyle = ctx.fillStyle; + context.strokeStyle = ctx.strokeStyle; + current.fillColor = ctx.fillStyle; + current.strokeColor = ctx.strokeStyle; + break; + + case PaintType.UNCOLORED: + var cssColor = _util.Util.makeHexColor(color[0], color[1], color[2]); + + context.fillStyle = cssColor; + context.strokeStyle = cssColor; + current.fillColor = cssColor; + current.strokeColor = cssColor; + break; + + default: + throw new _util.FormatError("Unsupported paint type: ".concat(paintType)); + } + } + }, { + 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; + +/***/ }), +/* 153 */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.GlobalWorkerOptions = void 0; +var GlobalWorkerOptions = Object.create(null); +exports.GlobalWorkerOptions = GlobalWorkerOptions; +GlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort; +GlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? "" : GlobalWorkerOptions.workerSrc; + +/***/ }), +/* 154 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.MessageHandler = 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 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 _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 _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, + DATA: 1, + ERROR: 2 +}; +var StreamKind = { + UNKNOWN: 0, + CANCEL: 1, + CANCEL_COMPLETE: 2, + CLOSE: 3, + ENQUEUE: 4, + ERROR: 5, + PULL: 6, + PULL_COMPLETE: 7, + START_COMPLETE: 8 +}; + +function wrapReason(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) { + case "AbortException": + return new _util.AbortException(reason.message); + + 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); + + case "UnknownErrorException": + return new _util.UnknownErrorException(reason.message, reason.details); + + default: + return new _util.UnknownErrorException(reason.message, reason.toString()); + } +} + +var MessageHandler = /*#__PURE__*/function () { + function MessageHandler(sourceName, targetName, comObj) { + var _this = this; + + _classCallCheck(this, MessageHandler); + + this.sourceName = sourceName; + this.targetName = targetName; + this.comObj = comObj; + this.callbackId = 1; + this.streamId = 1; + this.streamSinks = Object.create(null); + this.streamControllers = Object.create(null); + this.callbackCapabilities = Object.create(null); + this.actionHandler = Object.create(null); + + this._onComObjOnMessage = function (event) { + var data = event.data; + + if (data.targetName !== _this.sourceName) { + return; + } + + if (data.stream) { + _this._processStreamMessage(data); + + return; + } + + if (data.callback) { + var callbackId = data.callbackId; + var capability = _this.callbackCapabilities[callbackId]; + + if (!capability) { + throw new Error("Cannot resolve callback ".concat(callbackId)); + } + + delete _this.callbackCapabilities[callbackId]; + + if (data.callback === CallbackKind.DATA) { + capability.resolve(data.data); + } else if (data.callback === CallbackKind.ERROR) { + capability.reject(wrapReason(data.reason)); + } else { + throw new Error("Unexpected callback case"); + } + + return; + } + + var action = _this.actionHandler[data.action]; + + if (!action) { + throw new Error("Unknown action from worker: ".concat(data.action)); + } + + if (data.callbackId) { + var cbSourceName = _this.sourceName; + var cbTargetName = data.sourceName; + new Promise(function (resolve) { + resolve(action(data.data)); + }).then(function (result) { + comObj.postMessage({ + sourceName: cbSourceName, + targetName: cbTargetName, + callback: CallbackKind.DATA, + callbackId: data.callbackId, + data: result + }); + }, function (reason) { + comObj.postMessage({ + sourceName: cbSourceName, + targetName: cbTargetName, + callback: CallbackKind.ERROR, + callbackId: data.callbackId, + reason: wrapReason(reason) + }); + }); + return; + } + + if (data.streamId) { + _this._createStreamSink(data); + + return; + } + + action(data.data); + }; + + comObj.addEventListener("message", this._onComObjOnMessage); + } + + _createClass(MessageHandler, [{ + key: "on", + value: function on(actionName, handler) { + var ah = this.actionHandler; + + if (ah[actionName]) { + throw new Error("There is already an actionName called \"".concat(actionName, "\"")); + } + + ah[actionName] = handler; + } + }, { + key: "send", + value: function send(actionName, data, transfers) { + this.comObj.postMessage({ + sourceName: this.sourceName, + targetName: this.targetName, + action: actionName, + data: data + }, transfers); + } + }, { + key: "sendWithPromise", + value: function sendWithPromise(actionName, data, transfers) { + var callbackId = this.callbackId++; + var capability = (0, _util.createPromiseCapability)(); + this.callbackCapabilities[callbackId] = capability; + + try { + this.comObj.postMessage({ + sourceName: this.sourceName, + targetName: this.targetName, + action: actionName, + callbackId: callbackId, + data: data + }, transfers); + } catch (ex) { + capability.reject(ex); + } + + return capability.promise; + } + }, { + key: "sendWithStream", + value: function sendWithStream(actionName, data, queueingStrategy, transfers) { + var _this2 = this; + + 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)(); + _this2.streamControllers[streamId] = { + controller: controller, + startCall: startCapability, + pullCall: null, + cancelCall: null, + isClosed: false + }; + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + action: actionName, + streamId: streamId, + data: data, + desiredSize: controller.desiredSize + }, transfers); + return startCapability.promise; + }, + pull: function pull(controller) { + var pullCapability = (0, _util.createPromiseCapability)(); + _this2.streamControllers[streamId].pullCall = pullCapability; + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.PULL, + streamId: streamId, + desiredSize: controller.desiredSize + }); + return pullCapability.promise; + }, + cancel: function cancel(reason) { + (0, _util.assert)(reason instanceof Error, "cancel must have a valid reason"); + var cancelCapability = (0, _util.createPromiseCapability)(); + _this2.streamControllers[streamId].cancelCall = cancelCapability; + _this2.streamControllers[streamId].isClosed = true; + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.CANCEL, + streamId: streamId, + reason: wrapReason(reason) + }); + return cancelCapability.promise; + } + }, queueingStrategy); + } + }, { + key: "_createStreamSink", + value: function _createStreamSink(data) { + 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; + var transfers = arguments.length > 2 ? arguments[2] : undefined; + + if (this.isCancelled) { + return; + } + + var lastDesiredSize = this.desiredSize; + this.desiredSize -= size; + + if (lastDesiredSize > 0 && this.desiredSize <= 0) { + this.sinkCapability = (0, _util.createPromiseCapability)(); + this.ready = this.sinkCapability.promise; + } + + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.ENQUEUE, + streamId: streamId, + chunk: chunk + }, transfers); + }, + close: function close() { + if (this.isCancelled) { + return; + } + + this.isCancelled = true; + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.CLOSE, + streamId: streamId + }); + delete self.streamSinks[streamId]; + }, + error: function error(reason) { + (0, _util.assert)(reason instanceof Error, "error must have a valid reason"); + + if (this.isCancelled) { + return; + } + + this.isCancelled = true; + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.ERROR, + streamId: streamId, + reason: wrapReason(reason) + }); + }, + sinkCapability: (0, _util.createPromiseCapability)(), + onPull: null, + onCancel: null, + isCancelled: false, + desiredSize: data.desiredSize, + ready: null + }; + streamSink.sinkCapability.resolve(); + streamSink.ready = streamSink.sinkCapability.promise; + this.streamSinks[streamId] = streamSink; + new Promise(function (resolve) { + resolve(action(data.data, streamSink)); + }).then(function () { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.START_COMPLETE, + streamId: streamId, + success: true + }); + }, function (reason) { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.START_COMPLETE, + streamId: streamId, + reason: wrapReason(reason) + }); + }); + } + }, { + key: "_processStreamMessage", + value: function _processStreamMessage(data) { + 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) { + streamController.startCall.resolve(); + } else { + streamController.startCall.reject(wrapReason(data.reason)); + } + + break; + + case StreamKind.PULL_COMPLETE: + if (data.success) { + streamController.pullCall.resolve(); + } else { + streamController.pullCall.reject(wrapReason(data.reason)); + } + + break; + + case StreamKind.PULL: + if (!streamSink) { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.PULL_COMPLETE, + streamId: streamId, + success: true + }); + break; + } + + if (streamSink.desiredSize <= 0 && data.desiredSize > 0) { + streamSink.sinkCapability.resolve(); + } + + streamSink.desiredSize = data.desiredSize; + new Promise(function (resolve) { + resolve(streamSink.onPull && streamSink.onPull()); + }).then(function () { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.PULL_COMPLETE, + streamId: streamId, + success: true + }); + }, function (reason) { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.PULL_COMPLETE, + streamId: streamId, + reason: wrapReason(reason) + }); + }); + break; + + case StreamKind.ENQUEUE: + (0, _util.assert)(streamController, "enqueue should have stream controller"); + + if (streamController.isClosed) { + break; + } + + streamController.controller.enqueue(data.chunk); + break; + + case StreamKind.CLOSE: + (0, _util.assert)(streamController, "close should have stream controller"); + + if (streamController.isClosed) { + break; + } + + streamController.isClosed = true; + streamController.controller.close(); + + this._deleteStreamController(streamController, streamId); + + break; + + case StreamKind.ERROR: + (0, _util.assert)(streamController, "error should have stream controller"); + streamController.controller.error(wrapReason(data.reason)); + + this._deleteStreamController(streamController, streamId); + + break; + + case StreamKind.CANCEL_COMPLETE: + if (data.success) { + streamController.cancelCall.resolve(); + } else { + streamController.cancelCall.reject(wrapReason(data.reason)); + } + + this._deleteStreamController(streamController, streamId); + + break; + + case StreamKind.CANCEL: + if (!streamSink) { + break; + } + + new Promise(function (resolve) { + resolve(streamSink.onCancel && streamSink.onCancel(wrapReason(data.reason))); + }).then(function () { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.CANCEL_COMPLETE, + streamId: streamId, + success: true + }); + }, function (reason) { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.CANCEL_COMPLETE, + streamId: streamId, + reason: wrapReason(reason) + }); + }); + streamSink.sinkCapability.reject(wrapReason(data.reason)); + streamSink.isCancelled = true; + delete this.streamSinks[streamId]; + break; + + default: + throw new Error("Unexpected stream case"); + } + } + }, { + key: "_deleteStreamController", + value: function () { + 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([streamController.startCall && streamController.startCall.promise, streamController.pullCall && streamController.pullCall.promise, streamController.cancelCall && streamController.cancelCall.promise]); + + case 2: + delete this.streamControllers[streamId]; + + case 3: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function _deleteStreamController(_x, _x2) { + return _deleteStreamController2.apply(this, arguments); + } + + return _deleteStreamController; + }() + }, { + key: "destroy", + value: function destroy() { + this.comObj.removeEventListener("message", this._onComObjOnMessage); + } + }]); + + return MessageHandler; +}(); + +exports.MessageHandler = MessageHandler; + +/***/ }), +/* 155 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.Metadata = void 0; + +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 _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(_ref) { + var parsedData = _ref.parsedData, + rawData = _ref.rawData; + + _classCallCheck(this, Metadata); + + _classPrivateFieldInitSpec(this, _metadataMap, { + writable: true, + value: void 0 + }); + + _classPrivateFieldInitSpec(this, _data, { + writable: true, + value: void 0 + }); + + _classPrivateFieldSet(this, _metadataMap, parsedData); + + _classPrivateFieldSet(this, _data, rawData); + } + + _createClass(Metadata, [{ + key: "getRaw", + value: function getRaw() { + return _classPrivateFieldGet(this, _data); + } + }, { + key: "get", + value: function get(name) { + var _classPrivateFieldGet2; + + return (_classPrivateFieldGet2 = _classPrivateFieldGet(this, _metadataMap).get(name)) !== null && _classPrivateFieldGet2 !== void 0 ? _classPrivateFieldGet2 : null; + } + }, { + key: "getAll", + value: function getAll() { + return (0, _util.objectFromMap)(_classPrivateFieldGet(this, _metadataMap)); + } + }, { + key: "has", + value: function has(name) { + return _classPrivateFieldGet(this, _metadataMap).has(name); + } + }]); + + return Metadata; +}(); + +exports.Metadata = Metadata; + +/***/ }), +/* 156 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.OptionalContentConfig = 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 _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); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var PDFDataTransportStream = /*#__PURE__*/function () { + function PDFDataTransportStream(params, pdfDataRangeTransport) { + var _this = this; + + _classCallCheck(this, PDFDataTransportStream); + + (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 === null || initialData === void 0 ? void 0 : initialData.length) > 0) { + var buffer = new Uint8Array(initialData).buffer; + + this._queuedChunks.push(buffer); + } + + this._pdfDataRangeTransport = pdfDataRangeTransport; + this._isStreamingSupported = !params.disableStream; + this._isRangeSupported = !params.disableRange; + this._contentLength = params.length; + this._fullRequestReader = null; + this._rangeReaders = []; + + this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) { + _this._onReceiveData({ + begin: begin, + chunk: chunk + }); + }); + + this._pdfDataRangeTransport.addProgressListener(function (loaded, total) { + _this._onProgress({ + loaded: loaded, + total: total + }); + }); + + this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) { + _this._onReceiveData({ + chunk: chunk + }); + }); + + this._pdfDataRangeTransport.addProgressiveDoneListener(function () { + _this._onProgressiveDone(); + }); + + this._pdfDataRangeTransport.transportReady(); + } + + _createClass(PDFDataTransportStream, [{ + key: "_onReceiveData", + value: function _onReceiveData(args) { + var buffer = new Uint8Array(args.chunk).buffer; + + if (args.begin === undefined) { + if (this._fullRequestReader) { + this._fullRequestReader._enqueue(buffer); + } else { + this._queuedChunks.push(buffer); + } + } else { + var found = this._rangeReaders.some(function (rangeReader) { + if (rangeReader._begin !== args.begin) { + return false; + } + + rangeReader._enqueue(buffer); + + return true; + }); + + (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 !== null && firstReader !== void 0 && firstReader.onProgress) { + firstReader.onProgress({ + loaded: evt.loaded + }); + } + } else { + var fullReader = this._fullRequestReader; + + if (fullReader !== null && fullReader !== void 0 && fullReader.onProgress) { + fullReader.onProgress({ + loaded: evt.loaded, + total: evt.total + }); + } + } + } + }, { + key: "_onProgressiveDone", + value: function _onProgressiveDone() { + if (this._fullRequestReader) { + this._fullRequestReader.progressiveDone(); + } + + this._progressiveDone = true; + } + }, { + key: "_removeRangeReader", + value: function _removeRangeReader(reader) { + var i = this._rangeReaders.indexOf(reader); + + if (i >= 0) { + this._rangeReaders.splice(i, 1); + } + } + }, { + key: "getFullReader", + value: function getFullReader() { + (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, this._contentDispositionFilename); + } + }, { + key: "getRangeReader", + value: function getRangeReader(begin, end) { + if (end <= this._progressiveDataLength) { + return null; + } + + var reader = new PDFDataTransportStreamRangeReader(this, begin, end); + + this._pdfDataRangeTransport.requestDataRange(begin, end); + + this._rangeReaders.push(reader); + + return reader; + } + }, { + key: "cancelAllRequests", + value: function cancelAllRequests(reason) { + if (this._fullRequestReader) { + this._fullRequestReader.cancel(reason); + } + + var _iterator = _createForOfIteratorHelper(this._rangeReaders.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(); + } + + this._pdfDataRangeTransport.abort(); + } + }]); + + return PDFDataTransportStream; +}(); + +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 = (0, _display_utils.isPdfFile)(contentDispositionFilename) ? contentDispositionFilename : null; + this._queuedChunks = queuedChunks || []; + this._loaded = 0; + + var _iterator2 = _createForOfIteratorHelper(this._queuedChunks), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var chunk = _step2.value; + this._loaded += chunk.byteLength; + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + this._requests = []; + this._headersReady = Promise.resolve(); + stream._fullRequestReader = this; + this.onProgress = null; + } + + _createClass(PDFDataTransportStreamReader, [{ + key: "_enqueue", + value: function _enqueue(chunk) { + if (this._done) { + return; + } + + if (this._requests.length > 0) { + var requestCapability = this._requests.shift(); + + requestCapability.resolve({ + value: chunk, + done: false + }); + } else { + this._queuedChunks.push(chunk); + } + + 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 () { + var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var chunk, requestCapability; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (!(this._queuedChunks.length > 0)) { + _context.next = 3; + break; + } + + chunk = this._queuedChunks.shift(); + return _context.abrupt("return", { + value: chunk, + done: false + }); + + case 3: + if (!this._done) { + _context.next = 5; + break; + } + + return _context.abrupt("return", { + value: undefined, + done: true + }); + + case 5: + requestCapability = (0, _util.createPromiseCapability)(); + + this._requests.push(requestCapability); + + return _context.abrupt("return", requestCapability.promise); + + case 8: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function read() { + return _read.apply(this, arguments); + } + + return read; + }() + }, { + key: "cancel", + value: function cancel(reason) { + this._done = true; + + var _iterator3 = _createForOfIteratorHelper(this._requests), + _step3; + + 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", + value: function progressiveDone() { + if (this._done) { + return; + } + + this._done = true; + } + }]); + + return PDFDataTransportStreamReader; +}(); + +var PDFDataTransportStreamRangeReader = /*#__PURE__*/function () { + function PDFDataTransportStreamRangeReader(stream, begin, end) { + _classCallCheck(this, PDFDataTransportStreamRangeReader); + + this._stream = stream; + this._begin = begin; + this._end = end; + this._queuedChunk = null; + this._requests = []; + this._done = false; + this.onProgress = null; + } + + _createClass(PDFDataTransportStreamRangeReader, [{ + key: "_enqueue", + value: function _enqueue(chunk) { + if (this._done) { + return; + } + + if (this._requests.length === 0) { + this._queuedChunk = chunk; + } else { + var requestsCapability = this._requests.shift(); + + requestsCapability.resolve({ + value: chunk, + done: false + }); + + var _iterator4 = _createForOfIteratorHelper(this._requests), + _step4; + + 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 () { + var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + var chunk, requestCapability; + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + if (!this._queuedChunk) { + _context2.next = 4; + break; + } + + chunk = this._queuedChunk; + this._queuedChunk = null; + return _context2.abrupt("return", { + value: chunk, + done: false + }); + + case 4: + if (!this._done) { + _context2.next = 6; + break; + } + + return _context2.abrupt("return", { + value: undefined, + done: true + }); + + case 6: + requestCapability = (0, _util.createPromiseCapability)(); + + this._requests.push(requestCapability); + + return _context2.abrupt("return", requestCapability.promise); + + case 9: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function read() { + return _read2.apply(this, arguments); + } + + return read; + }() + }, { + key: "cancel", + value: function cancel(reason) { + this._done = true; + + var _iterator5 = _createForOfIteratorHelper(this._requests), + _step5; + + 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); + } + }]); + + return PDFDataTransportStreamRangeReader; +}(); + +/***/ }), +/* 158 */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.XfaText = void 0; + +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 XfaText = /*#__PURE__*/function () { + function XfaText() { + _classCallCheck(this, XfaText); + } + + _createClass(XfaText, null, [{ + key: "textContent", + value: function textContent(xfa) { + var items = []; + var output = { + items: items, + styles: Object.create(null) + }; + + 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(); + } + } + + walk(xfa); + return output; + } + }, { + key: "shouldBuildText", + value: function shouldBuildText(name) { + return !(name === "textarea" || name === "input" || name === "option" || name === "select"); + } + }]); + + return XfaText; +}(); + +exports.XfaText = XfaText; + +/***/ }), +/* 159 */ +/***/ ((__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.AnnotationLayer = void 0; + +var _util = __w_pdfjs_require__(1); + +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 _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 _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 _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 _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 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() { + _classCallCheck(this, AnnotationElementFactory); + } + + _createClass(AnnotationElementFactory, null, [{ + key: "create", + value: function create(parameters) { + var subtype = parameters.data.annotationType; + + switch (subtype) { + case _util.AnnotationType.LINK: + return new LinkAnnotationElement(parameters); + + case _util.AnnotationType.TEXT: + return new TextAnnotationElement(parameters); + + case _util.AnnotationType.WIDGET: + var fieldType = parameters.data.fieldType; + + switch (fieldType) { + case "Tx": + return new TextWidgetAnnotationElement(parameters); + + case "Btn": + if (parameters.data.radioButton) { + return new RadioButtonWidgetAnnotationElement(parameters); + } else if (parameters.data.checkBox) { + return new CheckboxWidgetAnnotationElement(parameters); + } + + return new PushButtonWidgetAnnotationElement(parameters); + + case "Ch": + return new ChoiceWidgetAnnotationElement(parameters); + } + + return new WidgetAnnotationElement(parameters); + + case _util.AnnotationType.POPUP: + return new PopupAnnotationElement(parameters); + + case _util.AnnotationType.FREETEXT: + return new FreeTextAnnotationElement(parameters); + + case _util.AnnotationType.LINE: + return new LineAnnotationElement(parameters); + + case _util.AnnotationType.SQUARE: + return new SquareAnnotationElement(parameters); + + case _util.AnnotationType.CIRCLE: + return new CircleAnnotationElement(parameters); + + case _util.AnnotationType.POLYLINE: + return new PolylineAnnotationElement(parameters); + + case _util.AnnotationType.CARET: + return new CaretAnnotationElement(parameters); + + case _util.AnnotationType.INK: + return new InkAnnotationElement(parameters); + + case _util.AnnotationType.POLYGON: + return new PolygonAnnotationElement(parameters); + + case _util.AnnotationType.HIGHLIGHT: + return new HighlightAnnotationElement(parameters); + + case _util.AnnotationType.UNDERLINE: + return new UnderlineAnnotationElement(parameters); + + case _util.AnnotationType.SQUIGGLY: + return new SquigglyAnnotationElement(parameters); + + case _util.AnnotationType.STRIKEOUT: + return new StrikeOutAnnotationElement(parameters); + + case _util.AnnotationType.STAMP: + return new StampAnnotationElement(parameters); + + case _util.AnnotationType.FILEATTACHMENT: + return new FileAttachmentAnnotationElement(parameters); + + default: + return new AnnotationElement(parameters); + } + } + }]); + + return AnnotationElementFactory; +}(); + +var AnnotationElement = /*#__PURE__*/function () { + function AnnotationElement(parameters) { + 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); + + this.isRenderable = isRenderable; + this.data = parameters.data; + this.layer = parameters.layer; + this.page = parameters.page; + this.viewport = parameters.viewport; + this.linkService = parameters.linkService; + this.downloadManager = parameters.downloadManager; + this.imageResourcesPath = parameters.imageResourcesPath; + 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, [{ + key: "_createContainer", + value: function _createContainer() { + var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var data = this.data, + page = this.page, + viewport = this.viewport; + var container = document.createElement("section"); + + 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]]); + + 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 -= 2 * data.borderStyle.width; + height -= 2 * data.borderStyle.width; + } + + var horizontalRadius = data.borderStyle.horizontalCornerRadius; + var verticalRadius = data.borderStyle.verticalCornerRadius; + + if (horizontalRadius > 0 || verticalRadius > 0) { + var radius = "".concat(horizontalRadius, "px / ").concat(verticalRadius, "px"); + container.style.borderRadius = radius; + } + + switch (data.borderStyle.style) { + case _util.AnnotationBorderStyleType.SOLID: + container.style.borderStyle = "solid"; + break; + + case _util.AnnotationBorderStyleType.DASHED: + container.style.borderStyle = "dashed"; + break; + + case _util.AnnotationBorderStyleType.BEVELED: + (0, _util.warn)("Unimplemented border style: beveled"); + break; + + case _util.AnnotationBorderStyleType.INSET: + (0, _util.warn)("Unimplemented border style: inset"); + break; + + case _util.AnnotationBorderStyleType.UNDERLINE: + container.style.borderBottomStyle = "solid"; + break; + + default: + break; + } + + 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; + } + } + + container.style.left = "".concat(rect[0], "px"); + container.style.top = "".concat(rect[1], "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(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; + trigger.style.width = container.style.width; + container.appendChild(trigger); + } + + var popupElement = new PopupElement({ + container: container, + trigger: trigger, + color: data.color, + titleObj: data.titleObj, + modificationDate: data.modificationDate, + 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; +}(); + +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 || 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() { + var data = this.data, + linkService = this.linkService; + var link = document.createElement("a"); + + if (data.url) { + 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 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; + link.appendChild(span); + this.container.appendChild(link); + return this.container; + } + }, { + key: "_bindLink", + value: function _bindLink(link, destination) { + var _this = this; + + link.href = this.linkService.getDestinationHash(destination); + + link.onclick = function () { + if (destination) { + _this.linkService.goToDestination(destination); + } + + return false; + }; + + if (destination || destination === "") { + link.className = "internalLink"; + } + var span = document.createElement("span"); + span.style.display = 'none'; + span.innerHTML = "internalLink"; + link.appendChild(span); + } + }, { + key: "_bindNamedAction", + value: function _bindNamedAction(link, action) { + var _this2 = this; + + link.href = this.linkService.getAnchorUrl(""); + + link.onclick = function () { + _this2.linkService.executeNamedAction(action); + + return false; + }; + + link.className = "internalLink"; + var span = document.createElement("span"); + span.style.display = 'none'; + 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; +}(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$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, [{ + key: "render", + value: function render() { + this.container.className = "textAnnotation"; + var image = document.createElement("img"); + image.style.height = this.container.style.height; + image.style.width = this.container.style.width; + image.src = this.imageResourcesPath + "annotation-" + this.data.name.toLowerCase() + ".svg"; + image.alt = "[{{type}} Annotation]"; + image.dataset.l10nId = "text_annotation_type"; + image.dataset.l10nArgs = JSON.stringify({ + type: this.data.name + }); + + if (!this.data.hasPopup) { + this._createPopup(image, this.data); + } + + this.container.appendChild(image); + return this.container; + } + }]); + + return TextAnnotationElement; +}(AnnotationElement); + +var WidgetAnnotationElement = /*#__PURE__*/function (_AnnotationElement3) { + _inherits(WidgetAnnotationElement, _AnnotationElement3); + + var _super3 = _createSuper(WidgetAnnotationElement); + + function WidgetAnnotationElement() { + _classCallCheck(this, WidgetAnnotationElement); + + 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; +}(AnnotationElement); + +var TextWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem) { + _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem); + + var _super4 = _createSuper(TextWidgetAnnotationElement); + + function TextWidgetAnnotationElement(parameters) { + _classCallCheck(this, TextWidgetAnnotationElement); + + 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 _this7 = this; + + var storage = this.annotationStorage; + var id = this.data.id; + this.container.className = "textWidgetAnnotation"; + var element = null; + + 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 = textContent; + } else { + element = document.createElement("input"); + element.type = "text"; + 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; + } + + if (this.data.comb) { + var fieldWidth = this.data.rect[2] - this.data.rect[0]; + var combWidth = fieldWidth / this.data.maxLen; + element.classList.add("comb"); + element.style.letterSpacing = "calc(".concat(combWidth, "px - 1ch)"); + } + } else { + element = document.createElement("div"); + element.textContent = this.data.fieldValue; + element.style.verticalAlign = "middle"; + element.style.display = "table-cell"; + } + + this._setTextStyle(element); + + this._setBackgroundColor(element); + + this.container.appendChild(element); + return this.container; + } + }, { + key: "_setTextStyle", + 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; + + if (fontSize) { + style.fontSize = "".concat(fontSize / 16.0, "em"); + } + + style.color = _util.Util.makeHexColor(fontColor[0], fontColor[1], fontColor[2]); + + if (this.data.textAlignment !== null) { + style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment]; + } + } + }]); + + return TextWidgetAnnotationElement; +}(WidgetAnnotationElement); + +var CheckboxWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem2) { + _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2); + + var _super5 = _createSuper(CheckboxWidgetAnnotationElement); + + function CheckboxWidgetAnnotationElement(parameters) { + _classCallCheck(this, CheckboxWidgetAnnotationElement); + + 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"); + GetElementsByNameSet.add(element); + element.disabled = data.readOnly; + element.type = "checkbox"; + element.name = data.fieldName; + + 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; + } + }]); + + return CheckboxWidgetAnnotationElement; +}(WidgetAnnotationElement); + +var RadioButtonWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem3) { + _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3); + + var _super6 = _createSuper(RadioButtonWidgetAnnotationElement); + + function RadioButtonWidgetAnnotationElement(parameters) { + _classCallCheck(this, RadioButtonWidgetAnnotationElement); + + return _super6.call(this, parameters, { + isRenderable: parameters.renderForms + }); + } + + _createClass(RadioButtonWidgetAnnotationElement, [{ + key: "render", + value: function render() { + var _this9 = this; + + 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; + } + }]); + + return RadioButtonWidgetAnnotationElement; +}(WidgetAnnotationElement); + +var PushButtonWidgetAnnotationElement = /*#__PURE__*/function (_LinkAnnotationElemen) { + _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen); + + var _super7 = _createSuper(PushButtonWidgetAnnotationElement); + + function PushButtonWidgetAnnotationElement(parameters) { + _classCallCheck(this, PushButtonWidgetAnnotationElement); + + return _super7.call(this, parameters, { + ignoreBorder: parameters.data.hasAppearance + }); + } + + _createClass(PushButtonWidgetAnnotationElement, [{ + key: "render", + value: function render() { + 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; + } + }]); + + return PushButtonWidgetAnnotationElement; +}(LinkAnnotationElement); + +var ChoiceWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem4) { + _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4); + + var _super8 = _createSuper(ChoiceWidgetAnnotationElement); + + function ChoiceWidgetAnnotationElement(parameters) { + _classCallCheck(this, ChoiceWidgetAnnotationElement); + + 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; + + if (this.data.multiSelect) { + selectElement.multiple = true; + } + } + + 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 (_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.combo) { + optionElement.style.fontSize = fontSizeStyle; + } + + if (this.data.fieldValue.includes(option.exportValue)) { + optionElement.setAttribute("selected", true); + } + + selectElement.appendChild(optionElement); + } + } catch (err) { + _iterator14.e(err); + } finally { + _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; + } + }]); + + return ChoiceWidgetAnnotationElement; +}(WidgetAnnotationElement); + +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$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, [{ + key: "render", + value: function render() { + var IGNORE_TYPES = ["Line", "Square", "Circle", "PolyLine", "Polygon", "Ink"]; + this.container.className = "popupAnnotation"; + + if (IGNORE_TYPES.includes(this.data.parentType)) { + return this.container; + } + + var selector = "[data-annotation-id=\"".concat(this.data.parentId, "\"]"); + var parentElements = this.layer.querySelectorAll(selector); + + if (parentElements.length === 0) { + return this.container; + } + + var popup = new PopupElement({ + container: this.container, + trigger: Array.from(parentElements), + color: this.data.color, + titleObj: this.data.titleObj, + modificationDate: this.data.modificationDate, + contentsObj: this.data.contentsObj, + richText: this.data.richText + }); + 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; + } + }]); + + return PopupAnnotationElement; +}(AnnotationElement); + +var PopupElement = /*#__PURE__*/function () { + function PopupElement(parameters) { + _classCallCheck(this, PopupElement); + + this.container = parameters.container; + this.trigger = parameters.trigger; + this.color = parameters.color; + this.titleObj = parameters.titleObj; + this.modificationDate = parameters.modificationDate; + this.contentsObj = parameters.contentsObj; + this.richText = parameters.richText; + this.hideWrapper = parameters.hideWrapper || false; + this.pinned = false; + } + + _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.hidden = true; + var popup = document.createElement("div"); + popup.className = "popup"; + var color = this.color; + + if (color) { + 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.makeHexColor(r | 0, g | 0, b | 0); + } + + var title = document.createElement("h1"); + 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({ + date: dateObject.toLocaleDateString(), + time: dateObject.toLocaleTimeString() + }); + popup.appendChild(modificationDate); + } + + 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.addEventListener("click", this._hide.bind(this, true)); + wrapper.appendChild(popup); + return wrapper; + } + }, { + key: "_formatContents", + value: function _formatContents(_ref2) { + var str = _ref2.str, + dir = _ref2.dir; + var p = document.createElement("p"); + 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]; + p.appendChild(document.createTextNode(line)); + + if (i < ii - 1) { + p.appendChild(document.createElement("br")); + } + } + + return p; + } + }, { + key: "_toggle", + value: function _toggle() { + if (this.pinned) { + this._hide(true); + } else { + this._show(true); + } + } + }, { + key: "_show", + value: function _show() { + var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (pin) { + this.pinned = true; + } + + if (this.hideElement.hidden) { + this.hideElement.hidden = false; + this.container.style.zIndex += 1; + } + } + }, { + key: "_hide", + value: function _hide() { + var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; + + if (unpin) { + this.pinned = false; + } + + if (!this.hideElement.hidden && !this.pinned) { + this.hideElement.hidden = true; + this.container.style.zIndex -= 1; + } + } + }]); + + return PopupElement; +}(); + +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$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, [{ + key: "render", + value: function render() { + this.container.className = "freeTextAnnotation"; + + if (!this.data.hasPopup) { + this._createPopup(null, this.data); + } + + return this.container; + } + }]); + + return FreeTextAnnotationElement; +}(AnnotationElement); + +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$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, [{ + key: "render", + value: function render() { + this.container.className = "lineAnnotation"; + var data = this.data; + + 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]); + line.setAttribute("y1", data.rect[3] - data.lineCoordinates[1]); + line.setAttribute("x2", data.rect[2] - data.lineCoordinates[2]); + 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(line, data); + + return this.container; + } + }]); + + return LineAnnotationElement; +}(AnnotationElement); + +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$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, [{ + key: "render", + value: function render() { + this.container.className = "squareAnnotation"; + var data = this.data; + + 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"); + square.setAttribute("x", borderWidth / 2); + square.setAttribute("y", borderWidth / 2); + square.setAttribute("width", width - borderWidth); + square.setAttribute("height", height - borderWidth); + square.setAttribute("stroke-width", borderWidth || 1); + square.setAttribute("stroke", "transparent"); + square.setAttribute("fill", "transparent"); + svg.appendChild(square); + this.container.append(svg); + + this._createPopup(square, data); + + return this.container; + } + }]); + + return SquareAnnotationElement; +}(AnnotationElement); + +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$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, [{ + key: "render", + value: function render() { + this.container.className = "circleAnnotation"; + var data = this.data; + + 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"); + circle.setAttribute("cx", width / 2); + circle.setAttribute("cy", height / 2); + circle.setAttribute("rx", width / 2 - borderWidth / 2); + circle.setAttribute("ry", height / 2 - borderWidth / 2); + circle.setAttribute("stroke-width", borderWidth || 1); + circle.setAttribute("stroke", "transparent"); + circle.setAttribute("fill", "transparent"); + svg.appendChild(circle); + this.container.append(svg); + + this._createPopup(circle, data); + + return this.container; + } + }]); + + return CircleAnnotationElement; +}(AnnotationElement); + +var PolylineAnnotationElement = /*#__PURE__*/function (_AnnotationElement9) { + _inherits(PolylineAnnotationElement, _AnnotationElement9); + + var _super14 = _createSuper(PolylineAnnotationElement); + + function PolylineAnnotationElement(parameters) { + var _parameters$data$titl7, _parameters$data$cont7, _parameters$data$rich7; + + var _this11; + + _classCallCheck(this, PolylineAnnotationElement); + + 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, [{ + key: "render", + value: function render() { + this.container.className = this.containerClassName; + var data = this.data; + + var _getRectDims5 = getRectDims(data.rect), + width = _getRectDims5.width, + height = _getRectDims5.height; + + var svg = this.svgFactory.create(width, height); + var points = []; + + var _iterator19 = _createForOfIteratorHelper(data.vertices), + _step19; + + try { + 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) { + _iterator19.e(err); + } finally { + _iterator19.f(); + } + + points = points.join(" "); + var polyline = this.svgFactory.createElement(this.svgElementName); + polyline.setAttribute("points", points); + polyline.setAttribute("stroke-width", data.borderStyle.width || 1); + polyline.setAttribute("stroke", "transparent"); + polyline.setAttribute("fill", "transparent"); + svg.appendChild(polyline); + this.container.append(svg); + + this._createPopup(polyline, data); + + return this.container; + } + }]); + + return PolylineAnnotationElement; +}(AnnotationElement); + +var PolygonAnnotationElement = /*#__PURE__*/function (_PolylineAnnotationEl) { + _inherits(PolygonAnnotationElement, _PolylineAnnotationEl); + + var _super15 = _createSuper(PolygonAnnotationElement); + + function PolygonAnnotationElement(parameters) { + var _this12; + + _classCallCheck(this, PolygonAnnotationElement); + + _this12 = _super15.call(this, parameters); + _this12.containerClassName = "polygonAnnotation"; + _this12.svgElementName = "svg:polygon"; + return _this12; + } + + 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$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, [{ + key: "render", + value: function render() { + this.container.className = "caretAnnotation"; + + if (!this.data.hasPopup) { + this._createPopup(null, this.data); + } + + return this.container; + } + }]); + + return CaretAnnotationElement; +}(AnnotationElement); + +var InkAnnotationElement = /*#__PURE__*/function (_AnnotationElement11) { + _inherits(InkAnnotationElement, _AnnotationElement11); + + var _super17 = _createSuper(InkAnnotationElement); + + function InkAnnotationElement(parameters) { + var _parameters$data$titl9, _parameters$data$cont9, _parameters$data$rich9; + + var _this13; + + _classCallCheck(this, InkAnnotationElement); + + 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, [{ + key: "render", + value: function render() { + this.container.className = this.containerClassName; + var data = this.data; + + var _getRectDims6 = getRectDims(data.rect), + width = _getRectDims6.width, + height = _getRectDims6.height; + + var svg = this.svgFactory.create(width, height); + + var _iterator20 = _createForOfIteratorHelper(data.inkLists), + _step20; + + try { + for (_iterator20.s(); !(_step20 = _iterator20.n()).done;) { + var inkList = _step20.value; + var points = []; + + var _iterator21 = _createForOfIteratorHelper(inkList), + _step21; + + try { + 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) { + _iterator21.e(err); + } finally { + _iterator21.f(); + } + + points = points.join(" "); + var polyline = this.svgFactory.createElement(this.svgElementName); + polyline.setAttribute("points", points); + polyline.setAttribute("stroke-width", data.borderStyle.width || 1); + polyline.setAttribute("stroke", "transparent"); + polyline.setAttribute("fill", "transparent"); + + this._createPopup(polyline, data); + + svg.appendChild(polyline); + } + } catch (err) { + _iterator20.e(err); + } finally { + _iterator20.f(); + } + + this.container.append(svg); + return this.container; + } + }]); + + return InkAnnotationElement; +}(AnnotationElement); + +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$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() { + if (!this.data.hasPopup) { + this._createPopup(null, this.data); + } + + if (this.quadrilaterals) { + return this._renderQuadrilaterals("highlightAnnotation"); + } + + this.container.className = "highlightAnnotation"; + return this.container; + } + }]); + + return HighlightAnnotationElement; +}(AnnotationElement); + +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$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() { + if (!this.data.hasPopup) { + this._createPopup(null, this.data); + } + + if (this.quadrilaterals) { + return this._renderQuadrilaterals("underlineAnnotation"); + } + + this.container.className = "underlineAnnotation"; + return this.container; + } + }]); + + return UnderlineAnnotationElement; +}(AnnotationElement); + +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$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() { + if (!this.data.hasPopup) { + this._createPopup(null, this.data); + } + + if (this.quadrilaterals) { + return this._renderQuadrilaterals("squigglyAnnotation"); + } + + this.container.className = "squigglyAnnotation"; + return this.container; + } + }]); + + return SquigglyAnnotationElement; +}(AnnotationElement); + +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$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() { + if (!this.data.hasPopup) { + this._createPopup(null, this.data); + } + + if (this.quadrilaterals) { + return this._renderQuadrilaterals("strikeoutAnnotation"); + } + + this.container.className = "strikeoutAnnotation"; + return this.container; + } + }]); + + return StrikeOutAnnotationElement; +}(AnnotationElement); + +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$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, [{ + key: "render", + value: function render() { + this.container.className = "stampAnnotation"; + + if (!this.data.hasPopup) { + this._createPopup(null, this.data); + } + + return this.container; + } + }]); + + return StampAnnotationElement; +}(AnnotationElement); + +var FileAttachmentAnnotationElement = /*#__PURE__*/function (_AnnotationElement17) { + _inherits(FileAttachmentAnnotationElement, _AnnotationElement17); + + var _super23 = _createSuper(FileAttachmentAnnotationElement); + + function FileAttachmentAnnotationElement(parameters) { + var _this14$linkService$e; + + var _this14; + + _classCallCheck(this, FileAttachmentAnnotationElement); + + _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$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); + return this.container; + } + }, { + key: "_download", + value: function _download() { + var _this$downloadManager; + + (_this$downloadManager = this.downloadManager) === null || _this$downloadManager === void 0 ? void 0 : _this$downloadManager.openOrDownloadData(this.container, this.content, this.filename); + } + }]); + + return FileAttachmentAnnotationElement; +}(AnnotationElement); + +var AnnotationLayer = /*#__PURE__*/function () { + function AnnotationLayer() { + _classCallCheck(this, AnnotationLayer); + } + + _createClass(AnnotationLayer, null, [{ + key: "render", + value: function render(parameters) { + var sortedAnnotations = [], + popupAnnotations = []; + + var _iterator22 = _createForOfIteratorHelper(parameters.annotations), + _step22; + + try { + for (_iterator22.s(); !(_step22 = _iterator22.n()).done;) { + var _data = _step22.value; + + if (!_data) { + continue; + } + + var _getRectDims7 = getRectDims(_data.rect), + width = _getRectDims7.width, + height = _getRectDims7.height; + + if (width <= 0 || height <= 0) { + continue; + } + + if (_data.annotationType === _util.AnnotationType.POPUP) { + popupAnnotations.push(_data); + continue; + } + + sortedAnnotations.push(_data); + } + } catch (err) { + _iterator22.e(err); + } finally { + _iterator22.f(); + } + + if (popupAnnotations.length) { + sortedAnnotations.push.apply(sortedAnnotations, popupAnnotations); + } + + 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: div, + page: parameters.page, + viewport: parameters.viewport, + linkService: parameters.linkService, + downloadManager: parameters.downloadManager, + imageResourcesPath: parameters.imageResourcesPath || "", + 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) { + 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 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 (_iterator24.s(); !(_step24 = _iterator24.n()).done;) { + var data = _step24.value; + var elements = div.querySelectorAll("[data-annotation-id=\"".concat(data.id, "\"]")); + + 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) { + _iterator24.e(err); + } finally { + _iterator24.f(); + } + + _classStaticPrivateMethodGet(this, AnnotationLayer, _setAnnotationCanvasMap).call(this, div, annotationCanvasMap); + + div.hidden = false; + } + }]); + + return AnnotationLayer; +}(); + +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(); +} + +/***/ }), +/* 160 */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.ColorConverters = void 0; + +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; } + +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 _iterator = _createForOfIteratorHelper(opList), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var opListElement = _step.value; + + if (opListElement.fn === "save") { + opTree.push({ + fnId: 92, + fn: "group", + items: [] + }); + tmp.push(opTree); + opTree = opTree[opTree.length - 1].items; + continue; + } + + if (opListElement.fn === "restore") { + opTree = tmp.pop(); + } else { + opTree.push(opListElement); + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + return opTree; + }; + + var pf = function pf(value) { + if (Number.isInteger(value)) { + return value.toString(); + } + + var s = value.toFixed(10); + var i = s.length - 1; + + if (s[i] !== "0") { + return s; + } + + do { + i--; + } while (s[i] === "0"); + + return s.substring(0, s[i] === "." ? i : i + 1); + }; + + var pm = function pm(m) { + if (m[4] === 0 && m[5] === 0) { + if (m[1] === 0 && m[2] === 0) { + if (m[0] === 1 && m[3] === 1) { + return ""; + } + + return "scale(".concat(pf(m[0]), " ").concat(pf(m[3]), ")"); + } + + if (m[0] === m[3] && m[1] === -m[2]) { + var a = Math.acos(m[0]) * 180 / Math.PI; + return "rotate(".concat(pf(a), ")"); + } + } else { + if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) { + return "translate(".concat(pf(m[4]), " ").concat(pf(m[5]), ")"); + } + } + + return "matrix(".concat(pf(m[0]), " ").concat(pf(m[1]), " ").concat(pf(m[2]), " ").concat(pf(m[3]), " ").concat(pf(m[4]), " ") + "".concat(pf(m[5]), ")"); + }; + + var SVG_DEFAULTS = { + fontStyle: "normal", + fontWeight: "normal", + fillColor: "#000000" + }; + var XML_NS = "http://www.w3.org/XML/1998/namespace"; + var XLINK_NS = "http://www.w3.org/1999/xlink"; + 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; + var crcTable = new Int32Array(256); + + for (var i = 0; i < 256; i++) { + var c = i; + + for (var h = 0; h < 8; h++) { + if (c & 1) { + c = 0xedb88320 ^ c >> 1 & 0x7fffffff; + } else { + c = c >> 1 & 0x7fffffff; + } + } + + crcTable[i] = c; + } + + function crc32(data, start, end) { + var crc = -1; + + for (var _i = start; _i < end; _i++) { + var a = (crc ^ data[_i]) & 0xff; + var b = crcTable[a]; + crc = crc >>> 8 ^ b; + } + + return crc ^ -1; + } + + function writePngChunk(type, body, data, offset) { + var p = offset; + var len = body.length; + data[p] = len >> 24 & 0xff; + data[p + 1] = len >> 16 & 0xff; + data[p + 2] = len >> 8 & 0xff; + data[p + 3] = len & 0xff; + p += 4; + data[p] = type.charCodeAt(0) & 0xff; + data[p + 1] = type.charCodeAt(1) & 0xff; + data[p + 2] = type.charCodeAt(2) & 0xff; + data[p + 3] = type.charCodeAt(3) & 0xff; + p += 4; + data.set(body, p); + p += body.length; + var crc = crc32(data, offset + 4, p); + data[p] = crc >> 24 & 0xff; + data[p + 1] = crc >> 16 & 0xff; + data[p + 2] = crc >> 8 & 0xff; + data[p + 3] = crc & 0xff; + } + + function adler32(data, start, end) { + var a = 1; + var b = 0; + + for (var _i2 = start; _i2 < end; ++_i2) { + a = (a + (data[_i2] & 0xff)) % 65521; + b = (b + a) % 65521; + } + + return b << 16 | a; + } + + function deflateSync(literals) { + if (!_is_node.isNodeJS) { + return deflateSyncUncompressed(literals); + } + + try { + var input; + + if (parseInt(process.versions.node) >= 8) { + input = literals; + } else { + input = Buffer.from(literals); + } + + var output = require("zlib").deflateSync(input, { + level: 9 + }); + + return output instanceof Uint8Array ? output : new Uint8Array(output); + } catch (e) { + (0, _util.warn)("Not compressing PNG because zlib.deflateSync is unavailable: " + e); + } + + return deflateSyncUncompressed(literals); + } + + function deflateSyncUncompressed(literals) { + var len = literals.length; + var maxBlockLength = 0xffff; + var deflateBlocks = Math.ceil(len / maxBlockLength); + var idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4); + var pi = 0; + idat[pi++] = 0x78; + idat[pi++] = 0x9c; + var pos = 0; + + while (len > maxBlockLength) { + idat[pi++] = 0x00; + idat[pi++] = 0xff; + idat[pi++] = 0xff; + idat[pi++] = 0x00; + idat[pi++] = 0x00; + idat.set(literals.subarray(pos, pos + maxBlockLength), pi); + pi += maxBlockLength; + pos += maxBlockLength; + len -= maxBlockLength; + } + + idat[pi++] = 0x01; + idat[pi++] = len & 0xff; + idat[pi++] = len >> 8 & 0xff; + idat[pi++] = ~len & 0xffff & 0xff; + idat[pi++] = (~len & 0xffff) >> 8 & 0xff; + idat.set(literals.subarray(pos), pi); + pi += literals.length - pos; + var adler = adler32(literals, 0, literals.length); + idat[pi++] = adler >> 24 & 0xff; + idat[pi++] = adler >> 16 & 0xff; + idat[pi++] = adler >> 8 & 0xff; + idat[pi++] = adler & 0xff; + return idat; + } + + function encode(imgData, kind, forceDataSchema, isMask) { + var width = imgData.width; + var height = imgData.height; + var bitDepth, colorType, lineSize; + var bytes = imgData.data; + + switch (kind) { + case _util.ImageKind.GRAYSCALE_1BPP: + colorType = 0; + bitDepth = 1; + lineSize = width + 7 >> 3; + break; + + case _util.ImageKind.RGB_24BPP: + colorType = 2; + bitDepth = 8; + lineSize = width * 3; + break; + + case _util.ImageKind.RGBA_32BPP: + colorType = 6; + bitDepth = 8; + lineSize = width * 4; + break; + + default: + throw new Error("invalid format"); + } + + var literals = new Uint8Array((1 + lineSize) * height); + var offsetLiterals = 0, + offsetBytes = 0; + + for (var y = 0; y < height; ++y) { + literals[offsetLiterals++] = 0; + literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals); + offsetBytes += lineSize; + offsetLiterals += lineSize; + } + + if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) { + offsetLiterals = 0; + + for (var _y = 0; _y < height; _y++) { + offsetLiterals++; + + for (var _i3 = 0; _i3 < lineSize; _i3++) { + literals[offsetLiterals++] ^= 0xff; + } + } + } + + var ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]); + var idat = deflateSync(literals); + var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length; + var data = new Uint8Array(pngLength); + var offset = 0; + data.set(PNG_HEADER, offset); + offset += PNG_HEADER.length; + writePngChunk("IHDR", ihdr, data, offset); + offset += CHUNK_WRAPPER_SIZE + ihdr.length; + writePngChunk("IDATA", idat, data, offset); + offset += CHUNK_WRAPPER_SIZE + idat.length; + writePngChunk("IEND", new Uint8Array(0), data, offset); + return createObjectURL(data, "image/png", forceDataSchema); + } + + return function convertImgDataToPng(imgData, forceDataSchema, isMask) { + var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind; + return encode(imgData, kind, forceDataSchema, isMask); + }; + }(); + + var SVGExtraState = /*#__PURE__*/function () { + function SVGExtraState() { + _classCallCheck(this, SVGExtraState); + + this.fontSizeScale = 1; + this.fontWeight = SVG_DEFAULTS.fontWeight; + this.fontSize = 0; + this.textMatrix = _util.IDENTITY_MATRIX; + this.fontMatrix = _util.FONT_IDENTITY_MATRIX; + this.leading = 0; + this.textRenderingMode = _util.TextRenderingMode.FILL; + this.textMatrixScale = 1; + this.x = 0; + this.y = 0; + this.lineX = 0; + this.lineY = 0; + this.charSpacing = 0; + this.wordSpacing = 0; + this.textHScale = 1; + this.textRise = 0; + this.fillColor = SVG_DEFAULTS.fillColor; + this.strokeColor = "#000000"; + this.fillAlpha = 1; + this.strokeAlpha = 1; + this.lineWidth = 1; + this.lineJoin = ""; + this.lineCap = ""; + this.miterLimit = 0; + this.dashArray = []; + this.dashPhase = 0; + this.dependencies = []; + this.activeClipUrl = null; + this.clipGroup = null; + this.maskId = ""; + } + + _createClass(SVGExtraState, [{ + key: "clone", + value: function clone() { + return Object.create(this); + } + }, { + key: "setCurrentPoint", + value: function setCurrentPoint(x, y) { + this.x = x; + this.y = y; + } + }]); + + return SVGExtraState; + }(); + + var clipCount = 0; + var maskCount = 0; + var shadingCount = 0; + + exports.SVGGraphics = SVGGraphics = /*#__PURE__*/function () { + function SVGGraphics(commonObjs, objs) { + var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + _classCallCheck(this, SVGGraphics); + + this.svgFactory = new _display_utils.DOMSVGFactory(); + this.current = new SVGExtraState(); + this.transformMatrix = _util.IDENTITY_MATRIX; + this.transformStack = []; + this.extraStack = []; + this.commonObjs = commonObjs; + this.objs = objs; + this.pendingClip = null; + this.pendingEOFill = false; + this.embedFonts = false; + this.embeddedFonts = Object.create(null); + this.cssStyle = null; + this.forceDataSchema = !!forceDataSchema; + this._operatorIdMapping = []; + + for (var op in _util.OPS) { + this._operatorIdMapping[_util.OPS[op]] = op; + } + } + + _createClass(SVGGraphics, [{ + key: "save", + value: function save() { + this.transformStack.push(this.transformMatrix); + var old = this.current; + this.extraStack.push(old); + this.current = old.clone(); + } + }, { + key: "restore", + value: function restore() { + this.transformMatrix = this.transformStack.pop(); + this.current = this.extraStack.pop(); + this.pendingClip = null; + this.tgrp = null; + } + }, { + key: "group", + value: function group(items) { + this.save(); + this.executeOpTree(items); + this.restore(); + } + }, { + key: "loadDependencies", + value: function loadDependencies(operatorList) { + var _this = this; + + var fnArray = operatorList.fnArray; + var argsArray = operatorList.argsArray; + + for (var i = 0, ii = fnArray.length; i < ii; i++) { + if (fnArray[i] !== _util.OPS.dependency) { + continue; + } + + var _iterator2 = _createForOfIteratorHelper(argsArray[i]), + _step2; + + try { + var _loop = function _loop() { + var obj = _step2.value; + var objsPool = obj.startsWith("g_") ? _this.commonObjs : _this.objs; + var promise = new Promise(function (resolve) { + objsPool.get(obj, resolve); + }); + + _this.current.dependencies.push(promise); + }; + + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + _loop(); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + + return Promise.all(this.current.dependencies); + } + }, { + key: "transform", + value: function transform(a, b, c, d, e, f) { + var transformMatrix = [a, b, c, d, e, f]; + this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix); + this.tgrp = null; + } + }, { + key: "getSVG", + value: function getSVG(operatorList, viewport) { + var _this2 = this; + + this.viewport = viewport; + + var svgElement = this._initialize(viewport); + + return this.loadDependencies(operatorList).then(function () { + _this2.transformMatrix = _util.IDENTITY_MATRIX; + + _this2.executeOpTree(_this2.convertOpList(operatorList)); + + return svgElement; + }); + } + }, { + key: "convertOpList", + value: function convertOpList(operatorList) { + var operatorIdMapping = this._operatorIdMapping; + var argsArray = operatorList.argsArray; + var fnArray = operatorList.fnArray; + var opList = []; + + for (var i = 0, ii = fnArray.length; i < ii; i++) { + var fnId = fnArray[i]; + opList.push({ + fnId: fnId, + fn: operatorIdMapping[fnId], + args: argsArray[i] + }); + } + + return opListToTree(opList); + } + }, { + key: "executeOpTree", + value: function executeOpTree(opTree) { + var _iterator3 = _createForOfIteratorHelper(opTree), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var opTreeElement = _step3.value; + var fn = opTreeElement.fn; + var fnId = opTreeElement.fnId; + var args = opTreeElement.args; + + switch (fnId | 0) { + case _util.OPS.beginText: + this.beginText(); + break; + + case _util.OPS.dependency: + break; + + case _util.OPS.setLeading: + this.setLeading(args); + break; + + case _util.OPS.setLeadingMoveText: + this.setLeadingMoveText(args[0], args[1]); + break; + + case _util.OPS.setFont: + this.setFont(args); + break; + + case _util.OPS.showText: + this.showText(args[0]); + break; + + case _util.OPS.showSpacedText: + this.showText(args[0]); + break; + + case _util.OPS.endText: + this.endText(); + break; + + case _util.OPS.moveText: + this.moveText(args[0], args[1]); + break; + + case _util.OPS.setCharSpacing: + this.setCharSpacing(args[0]); + break; + + case _util.OPS.setWordSpacing: + this.setWordSpacing(args[0]); + break; + + case _util.OPS.setHScale: + this.setHScale(args[0]); + break; + + case _util.OPS.setTextMatrix: + this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]); + break; + + case _util.OPS.setTextRise: + this.setTextRise(args[0]); + break; + + case _util.OPS.setTextRenderingMode: + this.setTextRenderingMode(args[0]); + break; + + case _util.OPS.setLineWidth: + this.setLineWidth(args[0]); + break; + + case _util.OPS.setLineJoin: + this.setLineJoin(args[0]); + break; + + case _util.OPS.setLineCap: + this.setLineCap(args[0]); + break; + + case _util.OPS.setMiterLimit: + this.setMiterLimit(args[0]); + break; + + case _util.OPS.setFillRGBColor: + this.setFillRGBColor(args[0], args[1], args[2]); + break; + + case _util.OPS.setStrokeRGBColor: + this.setStrokeRGBColor(args[0], args[1], args[2]); + break; + + case _util.OPS.setStrokeColorN: + this.setStrokeColorN(args); + break; + + case _util.OPS.setFillColorN: + this.setFillColorN(args); + break; + + case _util.OPS.shadingFill: + this.shadingFill(args[0]); + break; + + case _util.OPS.setDash: + this.setDash(args[0], args[1]); + break; + + case _util.OPS.setRenderingIntent: + this.setRenderingIntent(args[0]); + break; + + case _util.OPS.setFlatness: + this.setFlatness(args[0]); + break; + + case _util.OPS.setGState: + this.setGState(args[0]); + break; + + case _util.OPS.fill: + this.fill(); + break; + + case _util.OPS.eoFill: + this.eoFill(); + break; + + case _util.OPS.stroke: + this.stroke(); + break; + + case _util.OPS.fillStroke: + this.fillStroke(); + break; + + case _util.OPS.eoFillStroke: + this.eoFillStroke(); + break; + + case _util.OPS.clip: + this.clip("nonzero"); + break; + + case _util.OPS.eoClip: + this.clip("evenodd"); + break; + + case _util.OPS.paintSolidColorImageMask: + this.paintSolidColorImageMask(); + break; + + case _util.OPS.paintImageXObject: + this.paintImageXObject(args[0]); + break; + + case _util.OPS.paintInlineImageXObject: + this.paintInlineImageXObject(args[0]); + break; + + case _util.OPS.paintImageMaskXObject: + this.paintImageMaskXObject(args[0]); + break; + + case _util.OPS.paintFormXObjectBegin: + this.paintFormXObjectBegin(args[0], args[1]); + break; + + case _util.OPS.paintFormXObjectEnd: + this.paintFormXObjectEnd(); + break; + + case _util.OPS.closePath: + this.closePath(); + break; + + case _util.OPS.closeStroke: + this.closeStroke(); + break; + + case _util.OPS.closeFillStroke: + this.closeFillStroke(); + break; + + case _util.OPS.closeEOFillStroke: + this.closeEOFillStroke(); + break; + + case _util.OPS.nextLine: + this.nextLine(); + break; + + case _util.OPS.transform: + this.transform(args[0], args[1], args[2], args[3], args[4], args[5]); + break; + + case _util.OPS.constructPath: + this.constructPath(args[0], args[1]); + break; + + case _util.OPS.endPath: + this.endPath(); + break; + + case 92: + this.group(opTreeElement.items); + break; + + default: + (0, _util.warn)("Unimplemented operator ".concat(fn)); + break; + } + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + } + }, { + key: "setWordSpacing", + value: function setWordSpacing(wordSpacing) { + this.current.wordSpacing = wordSpacing; + } + }, { + key: "setCharSpacing", + value: function setCharSpacing(charSpacing) { + this.current.charSpacing = charSpacing; + } + }, { + key: "nextLine", + value: function nextLine() { + this.moveText(0, this.current.leading); + } + }, { + key: "setTextMatrix", + 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.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")); + current.tspan.setAttributeNS(null, "y", pf(-current.y)); + current.txtElement = this.svgFactory.createElement("svg:text"); + current.txtElement.appendChild(current.tspan); + } + }, { + key: "beginText", + value: function beginText() { + var current = this.current; + current.x = current.lineX = 0; + current.y = current.lineY = 0; + current.textMatrix = _util.IDENTITY_MATRIX; + current.lineMatrix = _util.IDENTITY_MATRIX; + current.textMatrixScale = 1; + current.tspan = this.svgFactory.createElement("svg:tspan"); + current.txtElement = this.svgFactory.createElement("svg:text"); + current.txtgrp = this.svgFactory.createElement("svg:g"); + current.xcoords = []; + current.ycoords = []; + } + }, { + key: "moveText", + value: function moveText(x, y) { + var current = this.current; + 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")); + current.tspan.setAttributeNS(null, "y", pf(-current.y)); + } + }, { + key: "showText", + value: function showText(glyphs) { + var current = this.current; + var font = current.font; + var fontSize = current.fontSize; + + if (fontSize === 0) { + 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 _iterator4 = _createForOfIteratorHelper(glyphs), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var glyph = _step4.value; + + if (glyph === null) { + x += fontDirection * wordSpacing; + continue; + } else if (typeof glyph === "number") { + x += spacingDir * glyph * fontSize / 1000; + continue; + } + + var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing; + var character = glyph.fontChar; + var scaledX = void 0, + scaledY = void 0; + var width = glyph.width; + + 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; + } + + x += charWidth; + } + } catch (err) { + _iterator4.e(err); + } finally { + _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; + } else { + current.x += x * textHScale; + } + + current.tspan.setAttributeNS(null, "font-family", current.fontFamily); + current.tspan.setAttributeNS(null, "font-size", "".concat(pf(current.fontSize / 16.0), "em")); + + if (current.fontStyle !== SVG_DEFAULTS.fontStyle) { + current.tspan.setAttributeNS(null, "font-style", current.fontStyle); + } + + if (current.fontWeight !== SVG_DEFAULTS.fontWeight) { + current.tspan.setAttributeNS(null, "font-weight", current.fontWeight); + } + + var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK; + + if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + if (current.fillColor !== SVG_DEFAULTS.fillColor) { + current.tspan.setAttributeNS(null, "fill", current.fillColor); + } + + if (current.fillAlpha < 1) { + current.tspan.setAttributeNS(null, "fill-opacity", current.fillAlpha); + } + } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) { + current.tspan.setAttributeNS(null, "fill", "transparent"); + } else { + current.tspan.setAttributeNS(null, "fill", "none"); + } + + if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + var lineWidthScale = 1 / (current.textMatrixScale || 1); + + this._setStrokeAttributes(current.tspan, lineWidthScale); + } + + var textMatrix = current.textMatrix; + + if (current.textRise !== 0) { + textMatrix = textMatrix.slice(); + textMatrix[5] += current.textRise; + } + + current.txtElement.setAttributeNS(null, "transform", "".concat(pm(textMatrix), " scale(").concat(pf(textHScale), ", -1)")); + current.txtElement.setAttributeNS(XML_NS, "xml:space", "preserve"); + current.txtElement.appendChild(current.tspan); + current.txtgrp.appendChild(current.txtElement); + + this._ensureTransformGroup().appendChild(current.txtElement); + } + }, { + key: "setLeadingMoveText", + value: function setLeadingMoveText(x, y) { + this.setLeading(-y); + this.moveText(x, y); + } + }, { + 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 = createObjectURL(fontObj.data, fontObj.mimetype, this.forceDataSchema); + this.cssStyle.textContent += "@font-face { font-family: \"".concat(fontObj.loadedName, "\";") + " src: url(".concat(url, "); }\n"); + } + }, { + key: "setFont", + value: function setFont(details) { + var current = this.current; + var fontObj = this.commonObjs.get(details[0]); + var size = details[1]; + current.font = fontObj; + + if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) { + this.addFontStyle(fontObj); + this.embeddedFonts[fontObj.loadedName] = fontObj; + } + + current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX; + var bold = "normal"; + + if (fontObj.black) { + bold = "900"; + } else if (fontObj.bold) { + bold = "bold"; + } + + var italic = fontObj.italic ? "italic" : "normal"; + + if (size < 0) { + size = -size; + current.fontDirection = -1; + } else { + current.fontDirection = 1; + } + + current.fontSize = size; + current.fontFamily = fontObj.loadedName; + current.fontWeight = bold; + current.fontStyle = italic; + 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) !== null && _current$txtElement !== void 0 && _current$txtElement.hasChildNodes()) { + current.element = current.txtElement; + this.clip("nonzero"); + this.endPath(); + } + } + }, { + key: "setLineWidth", + value: function setLineWidth(width) { + if (width > 0) { + this.current.lineWidth = width; + } + } + }, { + key: "setLineCap", + value: function setLineCap(style) { + this.current.lineCap = LINE_CAP_STYLES[style]; + } + }, { + key: "setLineJoin", + value: function setLineJoin(style) { + this.current.lineJoin = LINE_JOIN_STYLES[style]; + } + }, { + key: "setMiterLimit", + value: function setMiterLimit(limit) { + this.current.miterLimit = limit; + } + }, { + key: "setStrokeAlpha", + value: function setStrokeAlpha(strokeAlpha) { + this.current.strokeAlpha = strokeAlpha; + } + }, { + key: "setStrokeRGBColor", + value: function setStrokeRGBColor(r, g, b) { + this.current.strokeColor = _util.Util.makeHexColor(r, g, b); + } + }, { + key: "setFillAlpha", + value: function setFillAlpha(fillAlpha) { + this.current.fillAlpha = fillAlpha; + } + }, { + key: "setFillRGBColor", + value: function setFillRGBColor(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", + value: function setStrokeColorN(args) { + this.current.strokeColor = this._makeColorN_Pattern(args); + } + }, { + key: "setFillColorN", + value: function setFillColorN(args) { + this.current.fillColor = this._makeColorN_Pattern(args); + } + }, { + key: "shadingFill", + value: function shadingFill(args) { + var width = this.viewport.width; + var height = this.viewport.height; + + var inv = _util.Util.inverseTransform(this.transformMatrix); + + var bl = _util.Util.applyTransform([0, 0], inv); + + var br = _util.Util.applyTransform([0, height], inv); + + var ul = _util.Util.applyTransform([width, 0], inv); + + var ur = _util.Util.applyTransform([width, height], inv); + + var x0 = Math.min(bl[0], br[0], ul[0], ur[0]); + var y0 = Math.min(bl[1], br[1], ul[1], ur[1]); + var x1 = Math.max(bl[0], br[0], ul[0], ur[0]); + var y1 = Math.max(bl[1], br[1], ul[1], ur[1]); + var rect = this.svgFactory.createElement("svg:rect"); + rect.setAttributeNS(null, "x", x0); + rect.setAttributeNS(null, "y", y0); + rect.setAttributeNS(null, "width", x1 - x0); + 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); + } + }, { + key: "_makeColorN_Pattern", + value: function _makeColorN_Pattern(args) { + if (args[0] === "TilingPattern") { + return this._makeTilingPattern(args); + } + + return this._makeShadingPattern(args); + } + }, { + key: "_makeTilingPattern", + value: function _makeTilingPattern(args) { + var color = args[1]; + var operatorList = args[2]; + var matrix = args[3] || _util.IDENTITY_MATRIX; + + var _args$ = _slicedToArray(args[4], 4), + x0 = _args$[0], + y0 = _args$[1], + x1 = _args$[2], + y1 = _args$[3]; + + var xstep = args[5]; + var ystep = args[6]; + var paintType = args[7]; + var tilingId = "shading".concat(shadingCount++); + + 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), + xscale = _Util$singularValueDe2[0], + yscale = _Util$singularValueDe2[1]; + + var txstep = xstep * xscale; + var tystep = ystep * yscale; + var tiling = this.svgFactory.createElement("svg:pattern"); + tiling.setAttributeNS(null, "id", tilingId); + tiling.setAttributeNS(null, "patternUnits", "userSpaceOnUse"); + tiling.setAttributeNS(null, "width", txstep); + tiling.setAttributeNS(null, "height", tystep); + tiling.setAttributeNS(null, "x", "".concat(tx0)); + tiling.setAttributeNS(null, "y", "".concat(ty0)); + var svg = this.svg; + var transformMatrix = this.transformMatrix; + var fillColor = this.current.fillColor; + var strokeColor = this.current.strokeColor; + var bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0); + this.svg = bbox; + this.transformMatrix = matrix; + + if (paintType === 2) { + var cssColor = _util.Util.makeHexColor.apply(_util.Util, _toConsumableArray(color)); + + this.current.fillColor = cssColor; + this.current.strokeColor = cssColor; + } + + this.executeOpTree(this.convertOpList(operatorList)); + this.svg = svg; + this.transformMatrix = transformMatrix; + this.current.fillColor = fillColor; + this.current.strokeColor = strokeColor; + tiling.appendChild(bbox.childNodes[0]); + this.defs.appendChild(tiling); + return "url(#".concat(tilingId, ")"); + } + }, { + 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++); + var colorStops = args[3]; + var gradient; + + switch (args[1]) { + case "axial": + var point0 = args[4]; + var point1 = args[5]; + gradient = this.svgFactory.createElement("svg:linearGradient"); + gradient.setAttributeNS(null, "id", shadingId); + gradient.setAttributeNS(null, "gradientUnits", "userSpaceOnUse"); + gradient.setAttributeNS(null, "x1", point0[0]); + gradient.setAttributeNS(null, "y1", point0[1]); + gradient.setAttributeNS(null, "x2", point1[0]); + gradient.setAttributeNS(null, "y2", point1[1]); + break; + + case "radial": + var focalPoint = args[4]; + var circlePoint = args[5]; + var focalRadius = args[6]; + var circleRadius = args[7]; + gradient = this.svgFactory.createElement("svg:radialGradient"); + gradient.setAttributeNS(null, "id", shadingId); + gradient.setAttributeNS(null, "gradientUnits", "userSpaceOnUse"); + gradient.setAttributeNS(null, "cx", circlePoint[0]); + gradient.setAttributeNS(null, "cy", circlePoint[1]); + gradient.setAttributeNS(null, "r", circleRadius); + gradient.setAttributeNS(null, "fx", focalPoint[0]); + gradient.setAttributeNS(null, "fy", focalPoint[1]); + gradient.setAttributeNS(null, "fr", focalRadius); + break; + + default: + throw new Error("Unknown RadialAxial type: ".concat(args[1])); + } + + var _iterator5 = _createForOfIteratorHelper(colorStops), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var colorStop = _step5.value; + var stop = this.svgFactory.createElement("svg:stop"); + stop.setAttributeNS(null, "offset", colorStop[0]); + stop.setAttributeNS(null, "stop-color", colorStop[1]); + gradient.appendChild(stop); + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + this.defs.appendChild(gradient); + return "url(#".concat(shadingId, ")"); + + case "Mesh": + (0, _util.warn)("Unimplemented pattern Mesh"); + return null; + + case "Dummy": + return "hotpink"; + + default: + throw new Error("Unknown IR type: ".concat(args[0])); + } + } + }, { + key: "setDash", + value: function setDash(dashArray, dashPhase) { + this.current.dashArray = dashArray; + this.current.dashPhase = dashPhase; + } + }, { + key: "constructPath", + value: function constructPath(ops, args) { + var current = this.current; + var x = current.x, + y = current.y; + var d = []; + var j = 0; + + var _iterator6 = _createForOfIteratorHelper(ops), + _step6; + + try { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + var op = _step6.value; + + switch (op | 0) { + case _util.OPS.rectangle: + x = args[j++]; + y = args[j++]; + var width = args[j++]; + var height = args[j++]; + var xw = x + width; + var yh = y + height; + d.push("M", pf(x), pf(y), "L", pf(xw), pf(y), "L", pf(xw), pf(yh), "L", pf(x), pf(yh), "Z"); + break; + + case _util.OPS.moveTo: + x = args[j++]; + y = args[j++]; + d.push("M", pf(x), pf(y)); + break; + + case _util.OPS.lineTo: + x = args[j++]; + y = args[j++]; + d.push("L", pf(x), pf(y)); + break; + + case _util.OPS.curveTo: + x = args[j + 4]; + y = args[j + 5]; + d.push("C", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y)); + j += 6; + break; + + case _util.OPS.curveTo2: + d.push("C", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3])); + x = args[j + 2]; + y = args[j + 3]; + j += 4; + break; + + case _util.OPS.curveTo3: + x = args[j + 2]; + y = args[j + 3]; + d.push("C", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y)); + j += 4; + break; + + case _util.OPS.closePath: + d.push("Z"); + break; + } + } + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + + d = d.join(" "); + + if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) { + d = current.path.getAttributeNS(null, "d") + d; + } else { + current.path = this.svgFactory.createElement("svg:path"); + + this._ensureTransformGroup().appendChild(current.path); + } + + current.path.setAttributeNS(null, "d", d); + current.path.setAttributeNS(null, "fill", "none"); + current.element = current.path; + current.setCurrentPoint(x, y); + } + }, { + key: "endPath", + value: function endPath() { + var current = this.current; + current.path = null; + + if (!this.pendingClip) { + return; + } + + if (!current.element) { + this.pendingClip = null; + return; + } + + var clipId = "clippath".concat(clipCount++); + var clipPath = this.svgFactory.createElement("svg:clipPath"); + clipPath.setAttributeNS(null, "id", clipId); + clipPath.setAttributeNS(null, "transform", pm(this.transformMatrix)); + var clipElement = current.element.cloneNode(true); + + if (this.pendingClip === "evenodd") { + clipElement.setAttributeNS(null, "clip-rule", "evenodd"); + } else { + clipElement.setAttributeNS(null, "clip-rule", "nonzero"); + } + + this.pendingClip = null; + clipPath.appendChild(clipElement); + this.defs.appendChild(clipPath); + + if (current.activeClipUrl) { + current.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); + } + + current.activeClipUrl = "url(#".concat(clipId, ")"); + this.tgrp = null; + } + }, { + key: "clip", + value: function clip(type) { + this.pendingClip = type; + } + }, { + key: "closePath", + value: function closePath() { + var current = this.current; + + if (current.path) { + var d = "".concat(current.path.getAttributeNS(null, "d"), "Z"); + current.path.setAttributeNS(null, "d", d); + } + } + }, { + key: "setLeading", + value: function setLeading(leading) { + this.current.leading = -leading; + } + }, { + key: "setTextRise", + value: function setTextRise(textRise) { + this.current.textRise = textRise; + } + }, { + key: "setTextRenderingMode", + value: function setTextRenderingMode(textRenderingMode) { + this.current.textRenderingMode = textRenderingMode; + } + }, { + key: "setHScale", + value: function setHScale(scale) { + this.current.textHScale = scale / 100; + } + }, { + key: "setRenderingIntent", + value: function setRenderingIntent(intent) {} + }, { + key: "setFlatness", + value: function setFlatness(flatness) {} + }, { + key: "setGState", + value: function setGState(states) { + var _iterator8 = _createForOfIteratorHelper(states), + _step8; + + try { + 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": + this.setLineWidth(value); + break; + + case "LC": + this.setLineCap(value); + break; + + case "LJ": + this.setLineJoin(value); + break; + + case "ML": + this.setMiterLimit(value); + break; + + case "D": + this.setDash(value[0], value[1]); + break; + + case "RI": + this.setRenderingIntent(value); + break; + + case "FL": + this.setFlatness(value); + break; + + case "Font": + this.setFont(value); + break; + + case "CA": + this.setStrokeAlpha(value); + break; + + case "ca": + this.setFillAlpha(value); + break; + + default: + (0, _util.warn)("Unimplemented graphic state operator ".concat(key)); + break; + } + } + } catch (err) { + _iterator8.e(err); + } finally { + _iterator8.f(); + } + } + }, { + key: "fill", + value: function fill() { + var current = this.current; + + if (current.element) { + current.element.setAttributeNS(null, "fill", current.fillColor); + current.element.setAttributeNS(null, "fill-opacity", current.fillAlpha); + this.endPath(); + } + } + }, { + key: "stroke", + value: function stroke() { + var current = this.current; + + if (current.element) { + this._setStrokeAttributes(current.element); + + current.element.setAttributeNS(null, "fill", "none"); + this.endPath(); + } + } + }, { + key: "_setStrokeAttributes", + value: function _setStrokeAttributes(element) { + var lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; + var current = this.current; + var dashArray = current.dashArray; + + if (lineWidthScale !== 1 && dashArray.length > 0) { + dashArray = dashArray.map(function (value) { + return lineWidthScale * value; + }); + } + + element.setAttributeNS(null, "stroke", current.strokeColor); + element.setAttributeNS(null, "stroke-opacity", current.strokeAlpha); + element.setAttributeNS(null, "stroke-miterlimit", pf(current.miterLimit)); + element.setAttributeNS(null, "stroke-linecap", current.lineCap); + element.setAttributeNS(null, "stroke-linejoin", current.lineJoin); + element.setAttributeNS(null, "stroke-width", pf(lineWidthScale * current.lineWidth) + "px"); + element.setAttributeNS(null, "stroke-dasharray", dashArray.map(pf).join(" ")); + element.setAttributeNS(null, "stroke-dashoffset", pf(lineWidthScale * current.dashPhase) + "px"); + } + }, { + key: "eoFill", + value: function eoFill() { + if (this.current.element) { + this.current.element.setAttributeNS(null, "fill-rule", "evenodd"); + } + + this.fill(); + } + }, { + key: "fillStroke", + value: function fillStroke() { + this.stroke(); + this.fill(); + } + }, { + key: "eoFillStroke", + value: function eoFillStroke() { + if (this.current.element) { + this.current.element.setAttributeNS(null, "fill-rule", "evenodd"); + } + + this.fillStroke(); + } + }, { + key: "closeStroke", + value: function closeStroke() { + this.closePath(); + this.stroke(); + } + }, { + key: "closeFillStroke", + value: function closeFillStroke() { + this.closePath(); + this.fillStroke(); + } + }, { + key: "closeEOFillStroke", + value: function closeEOFillStroke() { + this.closePath(); + this.eoFillStroke(); + } + }, { + key: "paintSolidColorImageMask", + value: function paintSolidColorImageMask() { + var rect = this.svgFactory.createElement("svg:rect"); + rect.setAttributeNS(null, "x", "0"); + rect.setAttributeNS(null, "y", "0"); + rect.setAttributeNS(null, "width", "1px"); + rect.setAttributeNS(null, "height", "1px"); + rect.setAttributeNS(null, "fill", this.current.fillColor); + + this._ensureTransformGroup().appendChild(rect); + } + }, { + key: "paintImageXObject", + value: function paintImageXObject(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")); + return; + } + + this.paintInlineImageXObject(imgData); + } + }, { + key: "paintInlineImageXObject", + value: function paintInlineImageXObject(imgData, mask) { + var width = imgData.width; + var height = imgData.height; + var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask); + var cliprect = this.svgFactory.createElement("svg:rect"); + cliprect.setAttributeNS(null, "x", "0"); + cliprect.setAttributeNS(null, "y", "0"); + cliprect.setAttributeNS(null, "width", pf(width)); + cliprect.setAttributeNS(null, "height", pf(height)); + this.current.element = cliprect; + this.clip("nonzero"); + var imgEl = this.svgFactory.createElement("svg:image"); + imgEl.setAttributeNS(XLINK_NS, "xlink:href", imgSrc); + imgEl.setAttributeNS(null, "x", "0"); + imgEl.setAttributeNS(null, "y", pf(-height)); + imgEl.setAttributeNS(null, "width", pf(width) + "px"); + imgEl.setAttributeNS(null, "height", pf(height) + "px"); + imgEl.setAttributeNS(null, "transform", "scale(".concat(pf(1 / width), " ").concat(pf(-1 / height), ")")); + + if (mask) { + mask.appendChild(imgEl); + } else { + this._ensureTransformGroup().appendChild(imgEl); + } + } + }, { + key: "paintImageMaskXObject", + value: function paintImageMaskXObject(imgData) { + var current = this.current; + var width = imgData.width; + var height = imgData.height; + var fillColor = current.fillColor; + current.maskId = "mask".concat(maskCount++); + var mask = this.svgFactory.createElement("svg:mask"); + mask.setAttributeNS(null, "id", current.maskId); + var rect = this.svgFactory.createElement("svg:rect"); + rect.setAttributeNS(null, "x", "0"); + rect.setAttributeNS(null, "y", "0"); + rect.setAttributeNS(null, "width", pf(width)); + rect.setAttributeNS(null, "height", pf(height)); + rect.setAttributeNS(null, "fill", fillColor); + rect.setAttributeNS(null, "mask", "url(#".concat(current.maskId, ")")); + this.defs.appendChild(mask); + + this._ensureTransformGroup().appendChild(rect); + + this.paintInlineImageXObject(imgData, mask); + } + }, { + key: "paintFormXObjectBegin", + value: function paintFormXObjectBegin(matrix, bbox) { + if (Array.isArray(matrix) && matrix.length === 6) { + this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]); + } + + if (bbox) { + var width = bbox[2] - bbox[0]; + var height = bbox[3] - bbox[1]; + var cliprect = this.svgFactory.createElement("svg:rect"); + cliprect.setAttributeNS(null, "x", bbox[0]); + cliprect.setAttributeNS(null, "y", bbox[1]); + cliprect.setAttributeNS(null, "width", pf(width)); + cliprect.setAttributeNS(null, "height", pf(height)); + this.current.element = cliprect; + this.clip("nonzero"); + this.endPath(); + } + } + }, { + key: "paintFormXObjectEnd", + value: function paintFormXObjectEnd() {} + }, { + key: "_initialize", + value: function _initialize(viewport) { + var svg = this.svgFactory.create(viewport.width, viewport.height); + var definitions = this.svgFactory.createElement("svg:defs"); + svg.appendChild(definitions); + this.defs = definitions; + var rootGroup = this.svgFactory.createElement("svg:g"); + rootGroup.setAttributeNS(null, "transform", pm(viewport.transform)); + svg.appendChild(rootGroup); + this.svg = rootGroup; + return svg; + } + }, { + key: "_ensureClipGroup", + value: function _ensureClipGroup() { + if (!this.current.clipGroup) { + var clipGroup = this.svgFactory.createElement("svg:g"); + clipGroup.setAttributeNS(null, "clip-path", this.current.activeClipUrl); + this.svg.appendChild(clipGroup); + this.current.clipGroup = clipGroup; + } + + return this.current.clipGroup; + } + }, { + key: "_ensureTransformGroup", + value: function _ensureTransformGroup() { + if (!this.tgrp) { + this.tgrp = this.svgFactory.createElement("svg:g"); + this.tgrp.setAttributeNS(null, "transform", pm(this.transformMatrix)); + + if (this.current.activeClipUrl) { + this._ensureClipGroup().appendChild(this.tgrp); + } else { + this.svg.appendChild(this.tgrp); + } + } + + return this.tgrp; + } + }]); + + return SVGGraphics; + }(); +} + +/***/ }), +/* 164 */ +/***/ ((__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.PDFNodeStream = void 0; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(144)); + +var _util = __w_pdfjs_require__(1); + +var _network_utils = __w_pdfjs_require__(165); + +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 fs = require("fs"); + +var http = require("http"); + +var https = require("https"); + +var url = require("url"); + +var fileUriRegex = /^file:\/\/\/[a-zA-Z]:\//; + +function parseUrl(sourceUrl) { + var parsedUrl = url.parse(sourceUrl); + + if (parsedUrl.protocol === "file:" || parsedUrl.host) { + return parsedUrl; + } + + if (/^[a-z]:[/\\]/i.test(sourceUrl)) { + return url.parse("file:///".concat(sourceUrl)); + } + + if (!parsedUrl.host) { + parsedUrl.protocol = "file:"; + } + + return parsedUrl; +} + +var PDFNodeStream = /*#__PURE__*/function () { + function PDFNodeStream(source) { + _classCallCheck(this, PDFNodeStream); + + this.source = source; + this.url = parseUrl(source.url); + this.isHttp = this.url.protocol === "http:" || this.url.protocol === "https:"; + this.isFsUrl = this.url.protocol === "file:"; + this.httpHeaders = this.isHttp && source.httpHeaders || {}; + this._fullRequestReader = null; + this._rangeRequestReaders = []; + } + + _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, "PDFNodeStream.getFullReader can only be called once."); + this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this); + return this._fullRequestReader; + } + }, { + key: "getRangeReader", + value: function getRangeReader(start, end) { + if (end <= this._progressiveDataLength) { + return null; + } + + var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end); + + this._rangeRequestReaders.push(rangeReader); + + return rangeReader; + } + }, { + key: "cancelAllRequests", + value: function cancelAllRequests(reason) { + if (this._fullRequestReader) { + this._fullRequestReader.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(); + } + } + }]); + + return PDFNodeStream; +}(); + +exports.PDFNodeStream = PDFNodeStream; + +var BaseFullReader = /*#__PURE__*/function () { + function BaseFullReader(stream) { + _classCallCheck(this, BaseFullReader); + + this._url = stream.url; + this._done = false; + this._storedError = null; + this.onProgress = null; + var source = stream.source; + this._contentLength = source.length; + this._loaded = 0; + this._filename = null; + this._disableRange = source.disableRange || false; + this._rangeChunkSize = source.rangeChunkSize; + + if (!this._rangeChunkSize && !this._disableRange) { + this._disableRange = true; + } + + this._isStreamingSupported = !source.disableStream; + this._isRangeSupported = !source.disableRange; + this._readableStream = null; + this._readCapability = (0, _util.createPromiseCapability)(); + this._headersCapability = (0, _util.createPromiseCapability)(); + } + + _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() { + var chunk, buffer; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return this._readCapability.promise; + + case 2: + if (!this._done) { + _context.next = 4; + break; + } + + return _context.abrupt("return", { + value: undefined, + done: true + }); + + case 4: + if (!this._storedError) { + _context.next = 6; + break; + } + + throw this._storedError; + + case 6: + chunk = this._readableStream.read(); + + if (!(chunk === null)) { + _context.next = 10; + break; + } + + this._readCapability = (0, _util.createPromiseCapability)(); + return _context.abrupt("return", this.read()); + + case 10: + this._loaded += chunk.length; + + if (this.onProgress) { + this.onProgress({ + loaded: this._loaded, + total: this._contentLength + }); + } + + buffer = new Uint8Array(chunk).buffer; + return _context.abrupt("return", { + value: buffer, + done: false + }); + + case 14: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function read() { + return _read.apply(this, arguments); + } + + return read; + }() + }, { + key: "cancel", + value: function cancel(reason) { + if (!this._readableStream) { + this._error(reason); + + return; + } + + this._readableStream.destroy(reason); + } + }, { + key: "_error", + value: function _error(reason) { + this._storedError = reason; + + this._readCapability.resolve(); + } + }, { + key: "_setReadableStream", + value: function _setReadableStream(readableStream) { + var _this = this; + + this._readableStream = readableStream; + readableStream.on("readable", function () { + _this._readCapability.resolve(); + }); + readableStream.on("end", function () { + readableStream.destroy(); + _this._done = true; + + _this._readCapability.resolve(); + }); + readableStream.on("error", function (reason) { + _this._error(reason); + }); + + if (!this._isStreamingSupported && this._isRangeSupported) { + this._error(new _util.AbortException("streaming is disabled")); + } + + if (this._storedError) { + this._readableStream.destroy(this._storedError); + } + } + }]); + + return BaseFullReader; +}(); + +var BaseRangeReader = /*#__PURE__*/function () { + function BaseRangeReader(stream) { + _classCallCheck(this, BaseRangeReader); + + this._url = stream.url; + this._done = false; + this._storedError = null; + this.onProgress = null; + this._loaded = 0; + this._readableStream = null; + this._readCapability = (0, _util.createPromiseCapability)(); + var source = stream.source; + this._isStreamingSupported = !source.disableStream; + } + + _createClass(BaseRangeReader, [{ + key: "isStreamingSupported", + get: function get() { + return this._isStreamingSupported; + } + }, { + key: "read", + value: function () { + var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + var chunk, buffer; + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.next = 2; + return this._readCapability.promise; + + case 2: + if (!this._done) { + _context2.next = 4; + break; + } + + return _context2.abrupt("return", { + value: undefined, + done: true + }); + + case 4: + if (!this._storedError) { + _context2.next = 6; + break; + } + + throw this._storedError; + + case 6: + chunk = this._readableStream.read(); + + if (!(chunk === null)) { + _context2.next = 10; + break; + } + + this._readCapability = (0, _util.createPromiseCapability)(); + return _context2.abrupt("return", this.read()); + + case 10: + this._loaded += chunk.length; + + if (this.onProgress) { + this.onProgress({ + loaded: this._loaded + }); + } + + buffer = new Uint8Array(chunk).buffer; + return _context2.abrupt("return", { + value: buffer, + done: false + }); + + case 14: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function read() { + return _read2.apply(this, arguments); + } + + return read; + }() + }, { + key: "cancel", + value: function cancel(reason) { + if (!this._readableStream) { + this._error(reason); + + return; + } + + this._readableStream.destroy(reason); + } + }, { + key: "_error", + value: function _error(reason) { + this._storedError = reason; + + this._readCapability.resolve(); + } + }, { + key: "_setReadableStream", + value: function _setReadableStream(readableStream) { + var _this2 = this; + + this._readableStream = readableStream; + readableStream.on("readable", function () { + _this2._readCapability.resolve(); + }); + readableStream.on("end", function () { + readableStream.destroy(); + _this2._done = true; + + _this2._readCapability.resolve(); + }); + readableStream.on("error", function (reason) { + _this2._error(reason); + }); + + if (this._storedError) { + this._readableStream.destroy(this._storedError); + } + } + }]); + + return BaseRangeReader; +}(); + +function createRequestOptions(parsedUrl, headers) { + return { + protocol: parsedUrl.protocol, + auth: parsedUrl.auth, + host: parsedUrl.hostname, + port: parsedUrl.port, + path: parsedUrl.path, + method: "GET", + headers: headers + }; +} + +var PDFNodeStreamFullReader = /*#__PURE__*/function (_BaseFullReader) { + _inherits(PDFNodeStreamFullReader, _BaseFullReader); + + var _super = _createSuper(PDFNodeStreamFullReader); + + function PDFNodeStreamFullReader(stream) { + var _this3; + + _classCallCheck(this, PDFNodeStreamFullReader); + + _this3 = _super.call(this, stream); + + var handleResponse = function handleResponse(response) { + if (response.statusCode === 404) { + var error = new _util.MissingPDFException("Missing PDF \"".concat(_this3._url, "\".")); + _this3._storedError = error; + + _this3._headersCapability.reject(error); + + return; + } + + _this3._headersCapability.resolve(); + + _this3._setReadableStream(response); + + var getResponseHeader = function getResponseHeader(name) { + return _this3._readableStream.headers[name.toLowerCase()]; + }; + + var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({ + getResponseHeader: getResponseHeader, + isHttp: stream.isHttp, + rangeChunkSize: _this3._rangeChunkSize, + disableRange: _this3._disableRange + }), + allowRangeRequests = _validateRangeRequest.allowRangeRequests, + suggestedLength = _validateRangeRequest.suggestedLength; + + _this3._isRangeSupported = allowRangeRequests; + _this3._contentLength = suggestedLength || _this3._contentLength; + _this3._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader); + }; + + _this3._request = null; + + if (_this3._url.protocol === "http:") { + _this3._request = http.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse); + } else { + _this3._request = https.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse); + } + + _this3._request.on("error", function (reason) { + _this3._storedError = reason; + + _this3._headersCapability.reject(reason); + }); + + _this3._request.end(); + + return _this3; + } + + 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 = _super2.call(this, stream); + _this4._httpHeaders = {}; + + for (var property in stream.httpHeaders) { + var value = stream.httpHeaders[property]; + + if (typeof value === "undefined") { + continue; + } + + _this4._httpHeaders[property] = value; + } + + _this4._httpHeaders.Range = "bytes=".concat(start, "-").concat(end - 1); + + var handleResponse = function handleResponse(response) { + if (response.statusCode === 404) { + var error = new _util.MissingPDFException("Missing PDF \"".concat(_this4._url, "\".")); + _this4._storedError = error; + return; + } + + _this4._setReadableStream(response); + }; + + _this4._request = null; + + if (_this4._url.protocol === "http:") { + _this4._request = http.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse); + } else { + _this4._request = https.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse); + } + + _this4._request.on("error", function (reason) { + _this4._storedError = reason; + }); + + _this4._request.end(); + + return _this4; + } + + 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 = _super3.call(this, stream); + var path = decodeURIComponent(_this5._url.path); + + if (fileUriRegex.test(_this5._url.href)) { + path = path.replace(/^\//, ""); + } + + fs.lstat(path, function (error, stat) { + if (error) { + if (error.code === "ENOENT") { + error = new _util.MissingPDFException("Missing PDF \"".concat(path, "\".")); + } + + _this5._storedError = error; + + _this5._headersCapability.reject(error); + + return; + } + + _this5._contentLength = stat.size; + + _this5._setReadableStream(fs.createReadStream(path)); + + _this5._headersCapability.resolve(); + }); + return _this5; + } + + 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 = _super4.call(this, stream); + var path = decodeURIComponent(_this6._url.path); + + if (fileUriRegex.test(_this6._url.href)) { + path = path.replace(/^\//, ""); + } + + _this6._setReadableStream(fs.createReadStream(path, { + start: start, + end: end - 1 + })); + + return _this6; + } + + return _createClass(PDFNodeStreamFsRangeReader); +}(BaseRangeReader); + +/***/ }), +/* 165 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.createResponseStatusError = createResponseStatusError; +exports.extractFilenameFromHeader = extractFilenameFromHeader; +exports.validateRangeRequestCapabilities = validateRangeRequestCapabilities; +exports.validateResponseStatus = validateResponseStatus; + +var _util = __w_pdfjs_require__(1); + +var _content_disposition = __w_pdfjs_require__(166); + +var _display_utils = __w_pdfjs_require__(146); + +function validateRangeRequestCapabilities(_ref) { + var getResponseHeader = _ref.getResponseHeader, + isHttp = _ref.isHttp, + rangeChunkSize = _ref.rangeChunkSize, + disableRange = _ref.disableRange; + (0, _util.assert)(rangeChunkSize > 0, "Range chunk size must be larger than zero"); + var returnValues = { + allowRangeRequests: false, + suggestedLength: undefined + }; + var length = parseInt(getResponseHeader("Content-Length"), 10); + + if (!Number.isInteger(length)) { + return returnValues; + } + + returnValues.suggestedLength = length; + + if (length <= 2 * rangeChunkSize) { + return returnValues; + } + + if (disableRange || !isHttp) { + return returnValues; + } + + if (getResponseHeader("Accept-Ranges") !== "bytes") { + return returnValues; + } + + var contentEncoding = getResponseHeader("Content-Encoding") || "identity"; + + if (contentEncoding !== "identity") { + return returnValues; + } + + returnValues.allowRangeRequests = true; + return returnValues; +} + +function extractFilenameFromHeader(getResponseHeader) { + var contentDisposition = getResponseHeader("Content-Disposition"); + + if (contentDisposition) { + var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition); + + if (filename.includes("%")) { + try { + filename = decodeURIComponent(filename); + } catch (ex) {} + } + + if ((0, _display_utils.isPdfFile)(filename)) { + return filename; + } + } + + return null; +} + +function createResponseStatusError(status, url) { + if (status === 404 || status === 0 && url.startsWith("file:")) { + return new _util.MissingPDFException('Missing PDF "' + url + '".'); + } + + return new _util.UnexpectedResponseException("Unexpected server response (".concat(status, ") while retrieving PDF \"").concat(url, "\"."), status); +} + +function validateResponseStatus(status) { + return status === 200 || status === 206; +} + +/***/ }), +/* 166 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader; + +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 getFilenameFromContentDispositionHeader(contentDisposition) { + var needsEncodingFixup = true; + var tmp = toParamRegExp("filename\\*", "i").exec(contentDisposition); + + if (tmp) { + tmp = tmp[1]; + var filename = rfc2616unquote(tmp); + filename = unescape(filename); + filename = rfc5987decode(filename); + filename = rfc2047decode(filename); + return fixupEncoding(filename); + } + + tmp = rfc2231getparam(contentDisposition); + + if (tmp) { + var _filename = rfc2047decode(tmp); + + return fixupEncoding(_filename); + } + + tmp = toParamRegExp("filename", "i").exec(contentDisposition); + + if (tmp) { + tmp = tmp[1]; + + var _filename2 = rfc2616unquote(tmp); + + _filename2 = rfc2047decode(_filename2); + return fixupEncoding(_filename2); + } + + function toParamRegExp(attributePattern, flags) { + return new RegExp("(?:^|;)\\s*" + attributePattern + "\\s*=\\s*" + "(" + '[^";\\s][^;\\s]*' + "|" + '"(?:[^"\\\\]|\\\\"?)+"?' + ")", flags); + } + + function textdecode(encoding, value) { + if (encoding) { + if (!/^[\x00-\xFF]+$/.test(value)) { + return value; + } + + try { + var decoder = new TextDecoder(encoding, { + fatal: true + }); + var buffer = (0, _util.stringToBytes)(value); + value = decoder.decode(buffer); + needsEncodingFixup = false; + } catch (e) {} + } + + return value; + } + + function fixupEncoding(value) { + if (needsEncodingFixup && /[\x80-\xff]/.test(value)) { + value = textdecode("utf-8", value); + + if (needsEncodingFixup) { + value = textdecode("iso-8859-1", value); + } + } + + return value; + } + + function rfc2231getparam(contentDispositionStr) { + var matches = []; + var match; + var iter = toParamRegExp("filename\\*((?!0\\d)\\d+)(\\*?)", "ig"); + + while ((match = iter.exec(contentDispositionStr)) !== null) { + var _match = match, + _match2 = _slicedToArray(_match, 4), + n = _match2[1], + quot = _match2[2], + part = _match2[3]; + + n = parseInt(n, 10); + + if (n in matches) { + if (n === 0) { + break; + } + + continue; + } + + matches[n] = [quot, part]; + } + + var parts = []; + + for (var _n2 = 0; _n2 < matches.length; ++_n2) { + if (!(_n2 in matches)) { + break; + } + + var _matches$_n = _slicedToArray(matches[_n2], 2), + _quot = _matches$_n[0], + _part = _matches$_n[1]; + + _part = rfc2616unquote(_part); + + if (_quot) { + _part = unescape(_part); + + if (_n2 === 0) { + _part = rfc5987decode(_part); + } + } + + parts.push(_part); + } + + return parts.join(""); + } + + function rfc2616unquote(value) { + if (value.startsWith('"')) { + var parts = value.slice(1).split('\\"'); + + for (var i = 0; i < parts.length; ++i) { + var quotindex = parts[i].indexOf('"'); + + if (quotindex !== -1) { + parts[i] = parts[i].slice(0, quotindex); + parts.length = i + 1; + } + + parts[i] = parts[i].replace(/\\(.)/g, "$1"); + } + + value = parts.join('"'); + } + + return value; + } + + function rfc5987decode(extvalue) { + var encodingend = extvalue.indexOf("'"); + + if (encodingend === -1) { + return extvalue; + } + + var encoding = extvalue.slice(0, encodingend); + var langvalue = extvalue.slice(encodingend + 1); + var value = langvalue.replace(/^[^']*'/, ""); + return textdecode(encoding, value); + } + + function rfc2047decode(value) { + if (!value.startsWith("=?") || /[\x00-\x19\x80-\xff]/.test(value)) { + return value; + } + + 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 (match, hex) { + return String.fromCharCode(parseInt(hex, 16)); + }); + return textdecode(charset, text); + } + + try { + text = atob(text); + } catch (e) {} + + return textdecode(charset, text); + }); + } + + return ""; +} + +/***/ }), +/* 167 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFNetworkStream = void 0; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(144)); + +var _util = __w_pdfjs_require__(1); + +var _network_utils = __w_pdfjs_require__(165); + +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); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +; +var OK_RESPONSE = 200; +var PARTIAL_CONTENT_RESPONSE = 206; + +function getArrayBuffer(xhr) { + var data = xhr.response; + + if (typeof data !== "string") { + return data; + } + + var array = (0, _util.stringToBytes)(data); + return array.buffer; +} + +var NetworkManager = /*#__PURE__*/function () { + function NetworkManager(url) { + var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + _classCallCheck(this, NetworkManager); + + this.url = url; + this.isHttp = /^https?:/i.test(url); + this.httpHeaders = this.isHttp && args.httpHeaders || Object.create(null); + this.withCredentials = args.withCredentials || false; + + this.getXhr = args.getXhr || function NetworkManager_getXhr() { + return new XMLHttpRequest(); + }; + + this.currXhrId = 0; + this.pendingRequests = Object.create(null); + } + + _createClass(NetworkManager, [{ + key: "requestRange", + value: function requestRange(begin, end, listeners) { + var args = { + begin: begin, + end: end + }; + + for (var prop in listeners) { + args[prop] = listeners[prop]; + } + + return this.request(args); + } + }, { + key: "requestFull", + value: function requestFull(listeners) { + return this.request(listeners); + } + }, { + key: "request", + value: function request(args) { + var xhr = this.getXhr(); + var xhrId = this.currXhrId++; + var pendingRequest = this.pendingRequests[xhrId] = { + xhr: xhr + }; + xhr.open("GET", this.url); + xhr.withCredentials = this.withCredentials; + + for (var property in this.httpHeaders) { + var value = this.httpHeaders[property]; + + if (typeof value === "undefined") { + continue; + } + + xhr.setRequestHeader(property, value); + } + + if (this.isHttp && "begin" in args && "end" in args) { + xhr.setRequestHeader("Range", "bytes=".concat(args.begin, "-").concat(args.end - 1)); + pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE; + } else { + pendingRequest.expectedStatus = OK_RESPONSE; + } + + xhr.responseType = "arraybuffer"; + + if (args.onError) { + xhr.onerror = function (evt) { + args.onError(xhr.status); + }; + } + + xhr.onreadystatechange = this.onStateChange.bind(this, xhrId); + xhr.onprogress = this.onProgress.bind(this, xhrId); + pendingRequest.onHeadersReceived = args.onHeadersReceived; + pendingRequest.onDone = args.onDone; + pendingRequest.onError = args.onError; + pendingRequest.onProgress = args.onProgress; + xhr.send(null); + return xhrId; + } + }, { + key: "onProgress", + value: function onProgress(xhrId, evt) { + var _pendingRequest$onPro; + + var pendingRequest = this.pendingRequests[xhrId]; + + if (!pendingRequest) { + return; + } + + (_pendingRequest$onPro = pendingRequest.onProgress) === null || _pendingRequest$onPro === void 0 ? void 0 : _pendingRequest$onPro.call(pendingRequest, evt); + } + }, { + key: "onStateChange", + value: function onStateChange(xhrId, evt) { + var pendingRequest = this.pendingRequests[xhrId]; + + if (!pendingRequest) { + return; + } + + var xhr = pendingRequest.xhr; + + if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) { + pendingRequest.onHeadersReceived(); + delete pendingRequest.onHeadersReceived; + } + + if (xhr.readyState !== 4) { + return; + } + + if (!(xhrId in this.pendingRequests)) { + return; + } + + delete this.pendingRequests[xhrId]; + + if (xhr.status === 0 && this.isHttp) { + var _pendingRequest$onErr; + + (_pendingRequest$onErr = pendingRequest.onError) === null || _pendingRequest$onErr === void 0 ? void 0 : _pendingRequest$onErr.call(pendingRequest, xhr.status); + return; + } + + var xhrStatus = xhr.status || OK_RESPONSE; + var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE; + + if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) { + var _pendingRequest$onErr2; + + (_pendingRequest$onErr2 = pendingRequest.onError) === null || _pendingRequest$onErr2 === void 0 ? void 0 : _pendingRequest$onErr2.call(pendingRequest, xhr.status); + return; + } + + var chunk = getArrayBuffer(xhr); + + if (xhrStatus === PARTIAL_CONTENT_RESPONSE) { + var rangeHeader = xhr.getResponseHeader("Content-Range"); + var matches = /bytes (\d+)-(\d+)\/(\d+)/.exec(rangeHeader); + pendingRequest.onDone({ + begin: parseInt(matches[1], 10), + chunk: chunk + }); + } else if (chunk) { + pendingRequest.onDone({ + begin: 0, + chunk: chunk + }); + } else { + var _pendingRequest$onErr3; + + (_pendingRequest$onErr3 = pendingRequest.onError) === null || _pendingRequest$onErr3 === void 0 ? void 0 : _pendingRequest$onErr3.call(pendingRequest, xhr.status); + } + } + }, { + key: "getRequestXhr", + value: function getRequestXhr(xhrId) { + return this.pendingRequests[xhrId].xhr; + } + }, { + key: "isPendingRequest", + value: function isPendingRequest(xhrId) { + return xhrId in this.pendingRequests; + } + }, { + key: "abortRequest", + value: function abortRequest(xhrId) { + var xhr = this.pendingRequests[xhrId].xhr; + delete this.pendingRequests[xhrId]; + xhr.abort(); + } + }]); + + return NetworkManager; +}(); + +var PDFNetworkStream = /*#__PURE__*/function () { + function PDFNetworkStream(source) { + _classCallCheck(this, PDFNetworkStream); + + this._source = source; + this._manager = new NetworkManager(source.url, { + httpHeaders: source.httpHeaders, + withCredentials: source.withCredentials + }); + this._rangeChunkSize = source.rangeChunkSize; + this._fullRequestReader = null; + this._rangeRequestReaders = []; + } + + _createClass(PDFNetworkStream, [{ + key: "_onRangeRequestReaderClosed", + value: function _onRangeRequestReaderClosed(reader) { + var i = this._rangeRequestReaders.indexOf(reader); + + if (i >= 0) { + this._rangeRequestReaders.splice(i, 1); + } + } + }, { + key: "getFullReader", + value: function getFullReader() { + (0, _util.assert)(!this._fullRequestReader, "PDFNetworkStream.getFullReader can only be called once."); + this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source); + return this._fullRequestReader; + } + }, { + key: "getRangeReader", + value: function getRangeReader(begin, end) { + var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end); + reader.onClosed = this._onRangeRequestReaderClosed.bind(this); + + this._rangeRequestReaders.push(reader); + + return reader; + } + }, { + key: "cancelAllRequests", + value: function cancelAllRequests(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(); + } + } + }]); + + return PDFNetworkStream; +}(); + +exports.PDFNetworkStream = PDFNetworkStream; + +var PDFNetworkStreamFullRequestReader = /*#__PURE__*/function () { + function PDFNetworkStreamFullRequestReader(manager, source) { + _classCallCheck(this, PDFNetworkStreamFullRequestReader); + + this._manager = manager; + var args = { + onHeadersReceived: this._onHeadersReceived.bind(this), + onDone: this._onDone.bind(this), + onError: this._onError.bind(this), + onProgress: this._onProgress.bind(this) + }; + this._url = source.url; + this._fullRequestId = manager.requestFull(args); + this._headersReceivedCapability = (0, _util.createPromiseCapability)(); + this._disableRange = source.disableRange || false; + this._contentLength = source.length; + this._rangeChunkSize = source.rangeChunkSize; + + if (!this._rangeChunkSize && !this._disableRange) { + this._disableRange = true; + } + + this._isStreamingSupported = false; + this._isRangeSupported = false; + this._cachedChunks = []; + this._requests = []; + this._done = false; + this._storedError = undefined; + this._filename = null; + this.onProgress = null; + } + + _createClass(PDFNetworkStreamFullRequestReader, [{ + key: "_onHeadersReceived", + value: function _onHeadersReceived() { + var fullRequestXhrId = this._fullRequestId; + + var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId); + + var getResponseHeader = function getResponseHeader(name) { + return fullRequestXhr.getResponseHeader(name); + }; + + var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({ + getResponseHeader: getResponseHeader, + isHttp: this._manager.isHttp, + rangeChunkSize: this._rangeChunkSize, + disableRange: this._disableRange + }), + allowRangeRequests = _validateRangeRequest.allowRangeRequests, + suggestedLength = _validateRangeRequest.suggestedLength; + + if (allowRangeRequests) { + this._isRangeSupported = true; + } + + this._contentLength = suggestedLength || this._contentLength; + this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader); + + if (this._isRangeSupported) { + this._manager.abortRequest(fullRequestXhrId); + } + + this._headersReceivedCapability.resolve(); + } + }, { + key: "_onDone", + value: function _onDone(data) { + if (data) { + if (this._requests.length > 0) { + var requestCapability = this._requests.shift(); + + requestCapability.resolve({ + value: data.chunk, + done: false + }); + } else { + this._cachedChunks.push(data.chunk); + } + } + + this._done = true; + + if (this._cachedChunks.length > 0) { + return; + } + + var _iterator2 = _createForOfIteratorHelper(this._requests), + _step2; + + 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) { + this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url); + + this._headersReceivedCapability.reject(this._storedError); + + var _iterator3 = _createForOfIteratorHelper(this._requests), + _step3; + + 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(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", + value: function () { + var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var chunk, requestCapability; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (!this._storedError) { + _context.next = 2; + break; + } + + throw this._storedError; + + case 2: + if (!(this._cachedChunks.length > 0)) { + _context.next = 5; + break; + } + + chunk = this._cachedChunks.shift(); + return _context.abrupt("return", { + value: chunk, + done: false + }); + + case 5: + if (!this._done) { + _context.next = 7; + break; + } + + return _context.abrupt("return", { + value: undefined, + done: true + }); + + case 7: + requestCapability = (0, _util.createPromiseCapability)(); + + this._requests.push(requestCapability); + + return _context.abrupt("return", requestCapability.promise); + + case 10: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function read() { + return _read.apply(this, arguments); + } + + return read; + }() + }, { + key: "cancel", + value: function cancel(reason) { + this._done = true; + + this._headersReceivedCapability.reject(reason); + + var _iterator4 = _createForOfIteratorHelper(this._requests), + _step4; + + 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); + } + + this._fullRequestReader = null; + } + }]); + + return PDFNetworkStreamFullRequestReader; +}(); + +var PDFNetworkStreamRangeRequestReader = /*#__PURE__*/function () { + function PDFNetworkStreamRangeRequestReader(manager, begin, end) { + _classCallCheck(this, PDFNetworkStreamRangeRequestReader); + + 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; + } + + _createClass(PDFNetworkStreamRangeRequestReader, [{ + key: "_close", + value: function _close() { + var _this$onClosed; + + (_this$onClosed = this.onClosed) === null || _this$onClosed === void 0 ? void 0 : _this$onClosed.call(this, this); + } + }, { + key: "_onDone", + value: function _onDone(data) { + var chunk = data.chunk; + + if (this._requests.length > 0) { + var requestCapability = this._requests.shift(); + + requestCapability.resolve({ + value: chunk, + done: false + }); + } else { + this._queuedChunk = chunk; + } + + this._done = true; + + var _iterator5 = _createForOfIteratorHelper(this._requests), + _step5; + + 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) { + 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 () { + var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + var chunk, requestCapability; + return _regenerator["default"].wrap(function _callee2$(_context2) { + 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 = 6; + break; + } + + chunk = this._queuedChunk; + this._queuedChunk = null; + return _context2.abrupt("return", { + value: chunk, + done: false + }); + + case 6: + if (!this._done) { + _context2.next = 8; + break; + } + + return _context2.abrupt("return", { + value: undefined, + done: true + }); + + case 8: + requestCapability = (0, _util.createPromiseCapability)(); + + this._requests.push(requestCapability); + + return _context2.abrupt("return", requestCapability.promise); + + case 11: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function read() { + return _read2.apply(this, arguments); + } + + return read; + }() + }, { + key: "cancel", + value: function cancel(reason) { + this._done = true; + + var _iterator7 = _createForOfIteratorHelper(this._requests), + _step7; + + 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); + } + + this._close(); + } + }]); + + return PDFNetworkStreamRangeRequestReader; +}(); + +/***/ }), +/* 168 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFFetchStream = void 0; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(144)); + +var _util = __w_pdfjs_require__(1); + +var _network_utils = __w_pdfjs_require__(165); + +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); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +; + +function createFetchOptions(headers, withCredentials, abortController) { + return { + method: "GET", + headers: headers, + signal: abortController === null || abortController === void 0 ? void 0 : abortController.signal, + mode: "cors", + credentials: withCredentials ? "include" : "same-origin", + redirect: "follow" + }; +} + +function createHeaders(httpHeaders) { + var headers = new Headers(); + + for (var property in httpHeaders) { + var value = httpHeaders[property]; + + if (typeof value === "undefined") { + continue; + } + + headers.append(property, value); + } + + return headers; +} + +var PDFFetchStream = /*#__PURE__*/function () { + function PDFFetchStream(source) { + _classCallCheck(this, PDFFetchStream); + + this.source = source; + this.isHttp = /^https?:/i.test(source.url); + this.httpHeaders = this.isHttp && source.httpHeaders || {}; + this._fullRequestReader = null; + this._rangeRequestReaders = []; + } + + _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, "PDFFetchStream.getFullReader can only be called once."); + this._fullRequestReader = new PDFFetchStreamReader(this); + return this._fullRequestReader; + } + }, { + key: "getRangeReader", + value: function getRangeReader(begin, end) { + if (end <= this._progressiveDataLength) { + return null; + } + + var reader = new PDFFetchStreamRangeReader(this, begin, end); + + this._rangeRequestReaders.push(reader); + + return reader; + } + }, { + key: "cancelAllRequests", + value: function cancelAllRequests(reason) { + if (this._fullRequestReader) { + this._fullRequestReader.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(); + } + } + }]); + + return PDFFetchStream; +}(); + +exports.PDFFetchStream = PDFFetchStream; + +var PDFFetchStreamReader = /*#__PURE__*/function () { + function PDFFetchStreamReader(stream) { + var _this = this; + + _classCallCheck(this, PDFFetchStreamReader); + + this._stream = stream; + this._reader = null; + this._loaded = 0; + this._filename = null; + var source = stream.source; + this._withCredentials = source.withCredentials || false; + this._contentLength = source.length; + this._headersCapability = (0, _util.createPromiseCapability)(); + this._disableRange = source.disableRange || false; + this._rangeChunkSize = source.rangeChunkSize; + + if (!this._rangeChunkSize && !this._disableRange) { + this._disableRange = true; + } + + if (typeof AbortController !== "undefined") { + this._abortController = new AbortController(); + } + + this._isStreamingSupported = !source.disableStream; + this._isRangeSupported = !source.disableRange; + this._headers = createHeaders(this._stream.httpHeaders); + var url = source.url; + fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) { + if (!(0, _network_utils.validateResponseStatus)(response.status)) { + throw (0, _network_utils.createResponseStatusError)(response.status, url); + } + + _this._reader = response.body.getReader(); + + _this._headersCapability.resolve(); + + var getResponseHeader = function getResponseHeader(name) { + return response.headers.get(name); + }; + + var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({ + getResponseHeader: getResponseHeader, + isHttp: _this._stream.isHttp, + rangeChunkSize: _this._rangeChunkSize, + disableRange: _this._disableRange + }), + allowRangeRequests = _validateRangeRequest.allowRangeRequests, + suggestedLength = _validateRangeRequest.suggestedLength; + + _this._isRangeSupported = allowRangeRequests; + _this._contentLength = suggestedLength || _this._contentLength; + _this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader); + + if (!_this._isStreamingSupported && _this._isRangeSupported) { + _this.cancel(new _util.AbortException("Streaming is disabled.")); + } + })["catch"](this._headersCapability.reject); + this.onProgress = null; + } + + _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 _yield$this$_reader$r, value, done, buffer; + + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return this._headersCapability.promise; + + case 2: + _context.next = 4; + return this._reader.read(); + + case 4: + _yield$this$_reader$r = _context.sent; + value = _yield$this$_reader$r.value; + done = _yield$this$_reader$r.done; + + if (!done) { + _context.next = 9; + break; + } + + return _context.abrupt("return", { + value: value, + done: done + }); + + case 9: + this._loaded += value.byteLength; + + if (this.onProgress) { + this.onProgress({ + loaded: this._loaded, + total: this._contentLength + }); + } + + buffer = new Uint8Array(value).buffer; + return _context.abrupt("return", { + value: buffer, + done: false + }); + + case 13: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function read() { + return _read.apply(this, arguments); + } + + return read; + }() + }, { + key: "cancel", + value: function cancel(reason) { + if (this._reader) { + this._reader.cancel(reason); + } + + if (this._abortController) { + this._abortController.abort(); + } + } + }]); + + return PDFFetchStreamReader; +}(); + +var PDFFetchStreamRangeReader = /*#__PURE__*/function () { + function PDFFetchStreamRangeReader(stream, begin, end) { + var _this2 = this; + + _classCallCheck(this, PDFFetchStreamRangeReader); + + this._stream = stream; + this._reader = null; + this._loaded = 0; + var source = stream.source; + this._withCredentials = source.withCredentials || false; + this._readCapability = (0, _util.createPromiseCapability)(); + this._isStreamingSupported = !source.disableStream; + + if (typeof AbortController !== "undefined") { + this._abortController = new AbortController(); + } + + this._headers = createHeaders(this._stream.httpHeaders); + + this._headers.append("Range", "bytes=".concat(begin, "-").concat(end - 1)); + + var url = source.url; + fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) { + if (!(0, _network_utils.validateResponseStatus)(response.status)) { + throw (0, _network_utils.createResponseStatusError)(response.status, url); + } + + _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 _yield$this$_reader$r2, value, done, buffer; + + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.next = 2; + return this._readCapability.promise; + + case 2: + _context2.next = 4; + return this._reader.read(); + + case 4: + _yield$this$_reader$r2 = _context2.sent; + value = _yield$this$_reader$r2.value; + done = _yield$this$_reader$r2.done; + + if (!done) { + _context2.next = 9; + break; + } + + return _context2.abrupt("return", { + value: value, + done: done + }); + + case 9: + this._loaded += value.byteLength; + + if (this.onProgress) { + this.onProgress({ + loaded: this._loaded + }); + } + + buffer = new Uint8Array(value).buffer; + return _context2.abrupt("return", { + value: buffer, + done: false + }); + + case 13: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function read() { + return _read2.apply(this, arguments); + } + + return read; + }() + }, { + key: "cancel", + value: function cancel(reason) { + if (this._reader) { + this._reader.cancel(reason); + } + + if (this._abortController) { + this._abortController.abort(); + } + } + }]); + + 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/publications/pdf/pdf.js.map b/app/assets/javascripts/publications/pdf/pdf.js.map new file mode 100644 index 0000000..58ffc3f --- /dev/null +++ b/app/assets/javascripts/publications/pdf/pdf.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pdf.js","mappings":"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","sources":["webpack://pdfjs-dist/build/pdf/webpack/universalModuleDefinition","webpack://pdfjs-dist/build/pdf/src/shared/util.js","webpack://pdfjs-dist/build/pdf/src/shared/compatibility.js","webpack://pdfjs-dist/build/pdf/src/shared/is_node.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.aggregate-error.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/function-call.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-bind-native.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/function-uncurry-this.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-property-key.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/is-callable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-symbol.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/object-is-prototype-of.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/native-symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-v8-version.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/get-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-callable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/try-to-string.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/ordinary-to-primitive.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/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/shared-store.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-global.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/has-own-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/uid.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/v8-prototype-define-bug.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/inspect-source.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/hidden-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-name.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/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-absolute-index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-integer-or-infinity.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/length-of-array-like.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-length.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/node_modules/core-js/internals/object-get-prototype-of.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/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/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/clear-error-stack.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/install-error-cause.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterate.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/is-array-iterator-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterators.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-iterator.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/iterator-close.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/normalize-string-argument.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-string.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/error-stack-installable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.iterator.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/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/set-to-string-tag.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/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/check-correctness-of-iteration.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/species-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/task.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-apply.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-slice.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/validate-arguments-length.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-is-node.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/microtask.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-ios-pebble.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-webos-webkit.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/queue.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-browser.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.any.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.finally.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/path.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/web/structured-clone.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/object-get-own-property-names-external.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-slice-simple.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-is-extensible.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-buffer-non-extensible.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/modules/es.set.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.structured-clone.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/regexp-flags.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/src/display/display_utils.js","webpack://pdfjs-dist/build/pdf/src/display/base_factory.js","webpack://pdfjs-dist/build/pdf/src/display/font_loader.js","webpack://pdfjs-dist/build/pdf/src/display/node_utils.js","webpack://pdfjs-dist/build/pdf/src/display/annotation_storage.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/optional_content_config.js","webpack://pdfjs-dist/build/pdf/src/display/transport_stream.js","webpack://pdfjs-dist/build/pdf/src/display/xfa_text.js","webpack://pdfjs-dist/build/pdf/src/display/annotation_layer.js","webpack://pdfjs-dist/build/pdf/src/shared/scripting_utils.js","webpack://pdfjs-dist/build/pdf/src/display/xfa_layer.js","webpack://pdfjs-dist/build/pdf/src/display/text_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","webpack://pdfjs-dist/build/pdf/webpack/bootstrap","webpack://pdfjs-dist/build/pdf/webpack/runtime/node module decorator","webpack://pdfjs-dist/build/pdf/src/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 ","/* 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\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\n/**\n * Refer to the `WorkerTransport.getRenderingIntent`-method in the API, to see\n * how these flags are being used:\n * - ANY, DISPLAY, and PRINT are the normal rendering intents, note the\n * `PDFPageProxy.{render, getOperatorList, getAnnotations}`-methods.\n * - ANNOTATIONS_FORMS, ANNOTATIONS_STORAGE, ANNOTATIONS_DISABLE control which\n * annotations are rendered onto the canvas (i.e. by being included in the\n * operatorList), note the `PDFPageProxy.{render, getOperatorList}`-methods\n * and their `annotationMode`-option.\n * - OPLIST is used with the `PDFPageProxy.getOperatorList`-method, note the\n * `OperatorList`-constructor (on the worker-thread).\n */\nconst RenderingIntentFlag = {\n ANY: 0x01,\n DISPLAY: 0x02,\n PRINT: 0x04,\n ANNOTATIONS_FORMS: 0x10,\n ANNOTATIONS_STORAGE: 0x20,\n ANNOTATIONS_DISABLE: 0x40,\n OPLIST: 0x100,\n};\n\nconst AnnotationMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_FORMS: 2,\n ENABLE_STORAGE: 3,\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 AnnotationActionEventType = {\n E: \"Mouse Enter\",\n X: \"Mouse Exit\",\n D: \"Mouse Down\",\n U: \"Mouse Up\",\n Fo: \"Focus\",\n Bl: \"Blur\",\n PO: \"PageOpen\",\n PC: \"PageClose\",\n PV: \"PageVisible\",\n PI: \"PageInvisible\",\n K: \"Keystroke\",\n F: \"Format\",\n V: \"Validate\",\n C: \"Calculate\",\n};\n\nconst DocumentActionEventType = {\n WC: \"WillClose\",\n WS: \"WillSave\",\n DS: \"DidSave\",\n WP: \"WillPrint\",\n DP: \"DidPrint\",\n};\n\nconst PageActionEventType = {\n O: \"PageOpen\",\n C: \"PageClose\",\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 TYPE1STANDARD: \"TYPE1STANDARD\",\n TYPE1C: \"TYPE1C\",\n CIDFONTTYPE0: \"CIDFONTTYPE0\",\n CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n TRUETYPE: \"TRUETYPE\",\n CIDFONTTYPE2: \"CIDFONTTYPE2\",\n TYPE3: \"TYPE3\",\n OPENTYPE: \"OPENTYPE\",\n TYPE0: \"TYPE0\",\n MMTYPE1: \"MMTYPE1\",\n};\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 /** @deprecated unused */\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 /** @deprecated unused */\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n signatures: \"signatures\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n /** @deprecated unused */\n font: \"font\",\n errorTilingPattern: \"errorTilingPattern\",\n errorExtGState: \"errorExtGState\",\n errorXObject: \"errorXObject\",\n errorFontLoadType3: \"errorFontLoadType3\",\n errorFontState: \"errorFontState\",\n errorFontMissing: \"errorFontMissing\",\n errorFontTranslate: \"errorFontTranslate\",\n errorColorSpace: \"errorColorSpace\",\n errorOperatorList: \"errorOperatorList\",\n errorFontToUnicode: \"errorFontToUnicode\",\n errorFontLoadNative: \"errorFontLoadNative\",\n errorFontBuildPath: \"errorFontBuildPath\",\n errorFontGetPath: \"errorFontGetPath\",\n errorMarkedContent: \"errorMarkedContent\",\n errorContentSubStream: \"errorContentSubStream\",\n};\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 allowed 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 * @param {Object} [options]\n * @returns Either a valid {URL}, or `null` otherwise.\n */\nfunction createValidAbsoluteUrl(url, baseUrl = null, options = null) {\n if (!url) {\n return null;\n }\n try {\n if (options && typeof url === \"string\") {\n // Let URLs beginning with \"www.\" default to using the \"http://\" protocol.\n if (options.addDefaultProtocol && url.startsWith(\"www.\")) {\n const dots = url.match(/\\./g);\n // Avoid accidentally matching a *relative* URL pointing to a file named\n // e.g. \"www.pdf\" or similar.\n if (dots && dots.length >= 2) {\n url = `http://${url}`;\n }\n }\n\n // According to ISO 32000-1:2008, section 12.6.4.7, URIs should be encoded\n // in 7-bit ASCII. Some bad PDFs use UTF-8 encoding; see bug 1122280.\n if (options.tryConvertEncoding) {\n try {\n url = stringToUTF8String(url);\n } catch (ex) {}\n }\n }\n\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n 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 if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n prop in obj,\n `shadow: Property \"${prop && prop.toString()}\" not found in object.`\n );\n }\n Object.defineProperty(obj, prop, {\n value,\n enumerable: true,\n configurable: true,\n writable: false,\n });\n return value;\n}\n\n/**\n * @type {any}\n */\nconst BaseException = (function BaseExceptionClosure() {\n // eslint-disable-next-line no-shadow\n function BaseException(message, name) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n this.message = message;\n this.name = 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, \"PasswordException\");\n this.code = code;\n }\n}\n\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg, \"UnknownErrorException\");\n this.details = details;\n }\n}\n\nclass InvalidPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"InvalidPDFException\");\n }\n}\n\nclass MissingPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"MissingPDFException\");\n }\n}\n\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg, \"UnexpectedResponseException\");\n this.status = status;\n }\n}\n\n/**\n * Error caused during parsing PDF data.\n */\nclass FormatError extends BaseException {\n constructor(msg) {\n super(msg, \"FormatError\");\n }\n}\n\n/**\n * Error used to indicate task cancellation.\n */\nclass AbortException extends BaseException {\n constructor(msg) {\n super(msg, \"AbortException\");\n }\n}\n\nfunction bytesToString(bytes) {\n if (\n typeof bytes !== \"object\" ||\n bytes === null ||\n bytes.length === undefined\n ) {\n unreachable(\"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 if (typeof str !== \"string\") {\n unreachable(\"Invalid argument for stringToBytes\");\n }\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 */\n// eslint-disable-next-line consistent-return\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n if (arr.byteLength !== undefined) {\n return arr.byteLength;\n }\n unreachable(\"Invalid argument for arrayByteLength\");\n}\n\n/**\n * Combines array items (arrays) into single Uint8Array object.\n * @param {Array|Uint8Array|string>} arr - the array of the arrays\n * (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 if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n typeof value === \"number\" && Math.abs(value) < 2 ** 32,\n `string32: Unexpected input \"${value}\".`\n );\n }\n return String.fromCharCode(\n (value >> 24) & 0xff,\n (value >> 16) & 0xff,\n (value >> 8) & 0xff,\n value & 0xff\n );\n}\n\nfunction objectSize(obj) {\n return Object.keys(obj).length;\n}\n\n// Ensure that the returned Object has a `null` prototype; hence why\n// `Object.fromEntries(...)` is not used.\nfunction objectFromMap(map) {\n const obj = Object.create(null);\n for (const [key, value] of map) {\n obj[key] = value;\n }\n return obj;\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 hexNumbers = [...Array(256).keys()].map(n =>\n n.toString(16).padStart(2, \"0\")\n);\n\nclass Util {\n static makeHexColor(r, g, b) {\n return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`;\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) ** 2 - 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 // From https://github.com/adobe-webplatform/Snap.svg/blob/b365287722a72526000ac4bfcf0ce4cac2faa015/src/path.js#L852\n static bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3) {\n const tvalues = [],\n bounds = [[], []];\n let a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n for (let i = 0; i < 2; ++i) {\n if (i === 0) {\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n } else {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n if (Math.abs(a) < 1e-12) {\n if (Math.abs(b) < 1e-12) {\n continue;\n }\n t = -c / b;\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n continue;\n }\n b2ac = b * b - 4 * c * a;\n sqrtb2ac = Math.sqrt(b2ac);\n if (b2ac < 0) {\n continue;\n }\n t1 = (-b + sqrtb2ac) / (2 * a);\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n t2 = (-b - sqrtb2ac) / (2 * a);\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n\n let j = tvalues.length,\n mt;\n const jlen = j;\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n bounds[0][j] =\n mt * mt * mt * x0 +\n 3 * mt * mt * t * x1 +\n 3 * mt * t * t * x2 +\n t * t * t * x3;\n bounds[1][j] =\n mt * mt * mt * y0 +\n 3 * mt * mt * t * y1 +\n 3 * mt * t * t * y2 +\n t * t * t * y3;\n }\n\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n bounds[0].length = bounds[1].length = jlen + 2;\n\n return [\n Math.min(...bounds[0]),\n Math.min(...bounds[1]),\n Math.max(...bounds[0]),\n Math.max(...bounds[1]),\n ];\n }\n}\n\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, 0x2d8,\n 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192,\n 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018,\n 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d,\n 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac,\n];\n\nfunction stringToPDFString(str) {\n if (str[0] >= \"\\xEF\") {\n let encoding;\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n encoding = \"utf-16be\";\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n encoding = \"utf-16le\";\n } else if (str[0] === \"\\xEF\" && str[1] === \"\\xBB\" && str[2] === \"\\xBF\") {\n encoding = \"utf-8\";\n }\n\n if (encoding) {\n try {\n const decoder = new TextDecoder(encoding, { fatal: true });\n const buffer = stringToBytes(str);\n return decoder.decode(buffer);\n } catch (ex) {\n warn(`stringToPDFString: \"${ex}\".`);\n }\n }\n }\n // ISO Latin 1\n const strBuf = [];\n for (let i = 0, ii = str.length; i < ii; i++) {\n const code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n return strBuf.join(\"\");\n}\n\nfunction escapeString(str) {\n // replace \"(\", \")\", \"\\n\", \"\\r\" and \"\\\"\n // by \"\\(\", \"\\)\", \"\\\\n\", \"\\\\r\" and \"\\\\\"\n // in order to write it in a PDF file.\n return str.replace(/([()\\\\\\n\\r])/g, match => {\n if (match === \"\\n\") {\n return \"\\\\n\";\n } else if (match === \"\\r\") {\n return \"\\\\r\";\n }\n return `\\\\${match}`;\n });\n}\n\nfunction isAscii(str) {\n return /^[\\x00-\\x7F]*$/.test(str);\n}\n\nfunction stringToUTF16BEString(str) {\n const buf = [\"\\xFE\\xFF\"];\n for (let i = 0, ii = str.length; i < ii; i++) {\n const char = str.charCodeAt(i);\n buf.push(\n String.fromCharCode((char >> 8) & 0xff),\n String.fromCharCode(char & 0xff)\n );\n }\n return buf.join(\"\");\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isArrayBuffer(v) {\n return typeof v === \"object\" && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n for (let i = 0, ii = arr1.length; i < ii; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n return true;\n}\n\nfunction getModificationDate(date = new Date()) {\n const buffer = [\n date.getUTCFullYear().toString(),\n (date.getUTCMonth() + 1).toString().padStart(2, \"0\"),\n date.getUTCDate().toString().padStart(2, \"0\"),\n date.getUTCHours().toString().padStart(2, \"0\"),\n date.getUTCMinutes().toString().padStart(2, \"0\"),\n date.getUTCSeconds().toString().padStart(2, \"0\"),\n ];\n\n return buffer.join(\"\");\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\nexport {\n AbortException,\n AnnotationActionEventType,\n AnnotationBorderStyleType,\n AnnotationFieldFlag,\n AnnotationFlag,\n AnnotationMarkedState,\n AnnotationMode,\n AnnotationReplyType,\n AnnotationReviewState,\n AnnotationStateModelType,\n AnnotationType,\n arrayByteLength,\n arraysToBytes,\n assert,\n BaseException,\n bytesToString,\n CMapCompressionType,\n createPromiseCapability,\n createValidAbsoluteUrl,\n DocumentActionEventType,\n escapeString,\n FONT_IDENTITY_MATRIX,\n FontType,\n FormatError,\n getModificationDate,\n getVerbosityLevel,\n IDENTITY_MATRIX,\n ImageKind,\n info,\n InvalidPDFException,\n isArrayBuffer,\n isArrayEqual,\n isAscii,\n IsEvalSupportedCached,\n IsLittleEndianCached,\n isSameOrigin,\n MissingPDFException,\n objectFromMap,\n objectSize,\n OPS,\n PageActionEventType,\n PasswordException,\n PasswordResponses,\n PermissionFlag,\n RenderingIntentFlag,\n setVerbosityLevel,\n shadow,\n StreamType,\n string32,\n stringToBytes,\n stringToPDFString,\n stringToUTF16BEString,\n stringToUTF8String,\n TextRenderingMode,\n UnexpectedResponseException,\n UnknownErrorException,\n unreachable,\n UNSUPPORTED_FEATURES,\n utf8StringToString,\n Util,\n VerbosityLevel,\n warn,\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/* globals __non_webpack_require__ */\n\nimport { isNodeJS } from \"./is_node.js\";\n\n// Skip compatibility checks for modern builds and if we already ran the module.\nif (\n (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"SKIP_BABEL\")) &&\n !globalThis._pdfjsCompatibilityChecked\n) {\n globalThis._pdfjsCompatibilityChecked = true;\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 // Support: Node.js\n (function checkDOMMatrix() {\n if (globalThis.DOMMatrix || !isNodeJS) {\n return;\n }\n globalThis.DOMMatrix = __non_webpack_require__(\n \"dommatrix/dist/dommatrix.js\"\n );\n })();\n\n // Provides support for *recent* additions to the Promise specification,\n // however basic Promise support is assumed to be available natively.\n // Support: Firefox<71, Chrome<76, Safari<13, Node.js<12.9.0\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.allSettled) {\n return;\n }\n globalThis.Promise = require(\"core-js/es/promise/index.js\");\n })();\n\n // Support: Node.js\n (function checkReadableStream() {\n if (globalThis.ReadableStream || !isNodeJS) {\n return;\n }\n globalThis.ReadableStream = __non_webpack_require__(\n \"web-streams-polyfill/dist/ponyfill.js\"\n ).ReadableStream;\n })();\n\n // Support: Firefox<94, Chrome<98, Safari<15.4, Node.js<17.0.0\n (function checkStructuredClone() {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"IMAGE_DECODERS\")) {\n // The current image decoders are synchronous, hence `structuredClone`\n // shouldn't need to be polyfilled for the IMAGE_DECODERS build target.\n return;\n }\n if (globalThis.structuredClone) {\n return;\n }\n require(\"core-js/web/structured-clone.js\");\n })();\n}\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://www.electronjs.org/docs/api/process#processversionselectron-readonly\n// https://www.electronjs.org/docs/api/process#processtype-readonly\nconst isNodeJS =\n typeof process === \"object\" &&\n process + \"\" === \"[object process]\" &&\n !process.versions.nw &&\n !(process.versions.electron && process.type && process.type !== \"browser\");\n\nexport { isNodeJS };\n","require('../../modules/es.aggregate-error');\nrequire('../../modules/es.array.iterator');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.promise');\nrequire('../../modules/es.promise.all-settled');\nrequire('../../modules/es.promise.any');\nrequire('../../modules/es.promise.finally');\nrequire('../../modules/es.string.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Promise;\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar create = require('../internals/object-create');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar clearErrorStack = require('../internals/clear-error-stack');\nvar installErrorCause = require('../internals/install-error-cause');\nvar iterate = require('../internals/iterate');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar Error = global.Error;\nvar push = [].push;\n\nvar $AggregateError = function AggregateError(errors, message /* , options */) {\n var options = arguments.length > 2 ? arguments[2] : undefined;\n var isInstance = isPrototypeOf(AggregateErrorPrototype, this);\n var that;\n if (setPrototypeOf) {\n that = setPrototypeOf(new Error(), isInstance ? getPrototypeOf(this) : AggregateErrorPrototype);\n } else {\n that = isInstance ? this : create(AggregateErrorPrototype);\n createNonEnumerableProperty(that, TO_STRING_TAG, 'Error');\n }\n if (message !== undefined) createNonEnumerableProperty(that, 'message', normalizeStringArgument(message));\n if (ERROR_STACK_INSTALLABLE) createNonEnumerableProperty(that, 'stack', clearErrorStack(that.stack, 1));\n installErrorCause(that, options);\n var errorsArray = [];\n iterate(errors, push, { that: errorsArray });\n createNonEnumerableProperty(that, 'errors', errorsArray);\n return that;\n};\n\nif (setPrototypeOf) setPrototypeOf($AggregateError, Error);\nelse copyConstructorProperties($AggregateError, Error, { name: true });\n\nvar AggregateErrorPrototype = $AggregateError.prototype = create(Error.prototype, {\n constructor: createPropertyDescriptor(1, $AggregateError),\n message: createPropertyDescriptor(1, ''),\n name: createPropertyDescriptor(1, 'AggregateError')\n});\n\n// `AggregateError` constructor\n// https://tc39.es/ecma262/#sec-aggregate-error-constructor\n$({ global: true }, {\n AggregateError: $AggregateError\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 options.name - the .name of the function if it does not match the key\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 es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\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","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\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 global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar Object = global.Object;\nvar split = uncurryThis(''.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 -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : Object(it);\n} : Object;\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar uncurryThis = NATIVE_BIND && bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? function (fn) {\n return fn && uncurryThis(fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/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 toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TypeError = global.TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Object = global.Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && 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;\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var global = require('../internals/global');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar TypeError = global.TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\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 symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\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.21.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.21.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","module.exports = false;\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 global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\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 global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar TypeError = global.TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(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 DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\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 var name = options && options.name !== undefined ? options.name : key;\n var state;\n if (isCallable(value)) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n createNonEnumerableProperty(value, 'name', name);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n }\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 isCallable(this) && getInternalState(this).source || inspectSource(this);\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\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 || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(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 isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /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","module.exports = {};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var hasOwn = require('../internals/has-own-property');\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, exceptions) {\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 (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\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\nvar concat = uncurryThis([].concat);\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 ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\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.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\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) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\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 = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\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.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\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 = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- safe\n return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\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","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\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 : isCallable(detection) ? 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","var global = require('../internals/global');\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\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 Object = global.Object;\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof Object ? ObjectPrototype : null;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","/* eslint-disable no-proto -- safe */\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);\n setter(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(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw TypeError(\"Can't set \" + String(argument) + ' as a prototype');\n};\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = 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 activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\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.es/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 : definePropertiesModule.f(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\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++], props[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.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\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 uncurryThis = require('../internals/function-uncurry-this');\n\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String(Error(arg).stack); })('zxcasd');\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string') {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } return stack;\n};\n","var isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\n// `InstallErrorCause` abstract operation\n// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause\nmodule.exports = function (O, options) {\n if (isObject(options) && 'cause' in options) {\n createNonEnumerableProperty(O, 'cause', options.cause);\n }\n};\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar TypeError = global.TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\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","module.exports = {};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw TypeError(tryToString(argument) + ' is not iterable');\n};\n","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\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 getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","var global = require('../internals/global');\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar Object = global.Object;\n\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' && isCallable(O.callee) ? '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 call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","var toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","var global = require('../internals/global');\nvar classof = require('../internals/classof');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\n};\n","var fails = require('../internals/fails');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = !fails(function () {\n var error = Error('a');\n if (!('stack' in error)) return true;\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));\n return error.stack !== 7;\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 defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/define-iterator');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\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.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/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.es/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.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\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.es/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","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\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 Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\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 (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n redefine(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.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\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 // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\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, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar redefine = require('../internals/redefine');\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\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\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\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n redefine(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\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.es/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.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\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 call = require('../internals/function-call');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\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 Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\n\nvar getInternalState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar NativePromisePrototype = NativePromise && NativePromise.prototype;\nvar PromiseConstructor = NativePromise;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar NATIVE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar SUBCLASSING = false;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(PromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(PromiseConstructor);\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 (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromisePrototype['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(PROMISE_CONSTRUCTOR_SOURCE)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = new PromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_REJECTION_EVENT;\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) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state == FULFILLED;\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(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 call(then, 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\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(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 (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\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 (state) {\n call(task, global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (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(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === 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 call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ 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, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n PromisePrototype = PromiseConstructor.prototype;\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromisePrototype, {\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n // eslint-disable-next-line unicorn/no-thenable -- safe\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state == PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.es/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, state);\n this.reject = bind(internalReject, 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 && isCallable(NativePromise) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\n redefine(NativePromisePrototype, 'catch', PromisePrototype['catch'], { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\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.es/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n call(capability.reject, 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.es/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.es/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 = aCallable(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 remaining++;\n call($promiseResolve, 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.es/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 = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, 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","var global = require('../internals/global');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw TypeError('Incorrect invocation');\n};\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 es/no-array-from, no-throw-literal -- required for testing\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","var anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/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 : aConstructor(S);\n};\n","var global = require('../internals/global');\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a constructor');\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar location, defer, channel, port;\n\ntry {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n location = global.location;\n} catch (error) { /* empty */ }\n\nvar run = function (id) {\n if (hasOwn(queue, 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(String(id), location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, 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 (IS_NODE) {\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);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n isCallable(global.postMessage) &&\n !global.importScripts &&\n location && location.protocol !== 'file:' &&\n !fails(post)\n ) {\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 NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n return passed;\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\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 // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\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 (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n // strange IE + webpack dev server bug - use .bind(global)\n macrotask = bind(macrotask, global);\n notify = function () {\n macrotask(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 userAgent = require('../internals/engine-user-agent');\nvar global = require('../internals/global');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && global.Pebble !== undefined;\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\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 aCallable = require('../internals/a-callable');\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 = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\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 Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n if (this.head) this.tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n this.head = entry.next;\n if (this.tail === entry) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","module.exports = typeof window == 'object';\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\n// `Promise.allSettled` method\n// https://tc39.es/ecma262/#sec-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 = aCallable(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 remaining++;\n call(promiseResolve, 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 (error) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'rejected', reason: error };\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 aCallable = require('../internals/a-callable');\nvar getBuiltIn = require('../internals/get-built-in');\nvar call = require('../internals/function-call');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\nvar PROMISE_ANY_ERROR = 'No one promise resolved';\n\n// `Promise.any` method\n// https://tc39.es/ecma262/#sec-promise.any\n$({ target: 'Promise', stat: true }, {\n any: function any(iterable) {\n var C = this;\n var AggregateError = getBuiltIn('AggregateError');\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aCallable(C.resolve);\n var errors = [];\n var counter = 0;\n var remaining = 1;\n var alreadyResolved = false;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyRejected = false;\n remaining++;\n call(promiseResolve, C, promise).then(function (value) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyResolved = true;\n resolve(value);\n }, function (error) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyRejected = true;\n errors[index] = error;\n --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR));\n });\n });\n --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR));\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 isCallable = require('../internals/is-callable');\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 // eslint-disable-next-line unicorn/no-thenable -- required for testing\n NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/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 = isCallable(onFinally);\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// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromise)) {\n var method = getBuiltIn('Promise').prototype['finally'];\n if (NativePromise.prototype['finally'] !== method) {\n redefine(NativePromise.prototype, 'finally', method, { unsafe: true });\n }\n}\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\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.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/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 uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/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","var global = require('../internals/global');\n\nmodule.exports = global;\n","require('../modules/es.array.iterator');\nrequire('../modules/es.object.to-string');\nrequire('../modules/es.map');\nrequire('../modules/es.set');\nrequire('../modules/web.structured-clone');\nvar path = require('../internals/path');\n\nmodule.exports = path.structuredClone;\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\ncollection('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 uncurryThis = require('../internals/function-uncurry-this');\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 isCallable = require('../internals/is-callable');\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 uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\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 -- required for testing\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, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: 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 $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\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 (!hasOwn(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 (!hasOwn(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 && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) == 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","var global = require('../internals/global');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar Array = global.Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = Array(max(fin - k, 0));\n for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var isCallable = require('../internals/is-callable');\nvar 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 isCallable(NewTarget = dummy.constructor) &&\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 Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\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: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\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(Prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-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 // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\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 // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\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 // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(Prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(Prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(Constructor, 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 // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\ncollection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","var IS_PURE = require('../internals/is-pure');\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltin = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar uid = require('../internals/uid');\nvar isCallable = require('../internals/is-callable');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar iterate = require('../internals/iterate');\nvar anObject = require('../internals/an-object');\nvar classof = require('../internals/classof');\nvar hasOwn = require('../internals/has-own-property');\nvar createProperty = require('../internals/create-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar regExpFlags = require('../internals/regexp-flags');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\n\nvar Object = global.Object;\nvar Date = global.Date;\nvar Error = global.Error;\nvar EvalError = global.EvalError;\nvar RangeError = global.RangeError;\nvar ReferenceError = global.ReferenceError;\nvar SyntaxError = global.SyntaxError;\nvar TypeError = global.TypeError;\nvar URIError = global.URIError;\nvar PerformanceMark = global.PerformanceMark;\nvar WebAssembly = global.WebAssembly;\nvar CompileError = WebAssembly && WebAssembly.CompileError || Error;\nvar LinkError = WebAssembly && WebAssembly.LinkError || Error;\nvar RuntimeError = WebAssembly && WebAssembly.RuntimeError || Error;\nvar DOMException = getBuiltin('DOMException');\nvar Set = getBuiltin('Set');\nvar Map = getBuiltin('Map');\nvar MapPrototype = Map.prototype;\nvar mapHas = uncurryThis(MapPrototype.has);\nvar mapGet = uncurryThis(MapPrototype.get);\nvar mapSet = uncurryThis(MapPrototype.set);\nvar setAdd = uncurryThis(Set.prototype.add);\nvar objectKeys = getBuiltin('Object', 'keys');\nvar push = uncurryThis([].push);\nvar booleanValueOf = uncurryThis(true.valueOf);\nvar numberValueOf = uncurryThis(1.0.valueOf);\nvar stringValueOf = uncurryThis(''.valueOf);\nvar getFlags = uncurryThis(regExpFlags);\nvar getTime = uncurryThis(Date.prototype.getTime);\nvar PERFORMANCE_MARK = uid('structuredClone');\nvar DATA_CLONE_ERROR = 'DataCloneError';\nvar TRANSFERRING = 'Transferring';\n\nvar checkBasicSemantic = function (structuredCloneImplementation) {\n return !fails(function () {\n var set1 = new global.Set([7]);\n var set2 = structuredCloneImplementation(set1);\n var number = structuredCloneImplementation(Object(7));\n return set2 == set1 || !set2.has(7) || typeof number != 'object' || number != 7;\n }) && structuredCloneImplementation;\n};\n\n// https://github.com/whatwg/html/pull/5749\nvar checkNewErrorsSemantic = function (structuredCloneImplementation) {\n return !fails(function () {\n var test = structuredCloneImplementation(new global.AggregateError([1], PERFORMANCE_MARK, { cause: 3 }));\n return test.name != 'AggregateError' || test.errors[0] != 1 || test.message != PERFORMANCE_MARK || test.cause != 3;\n }) && structuredCloneImplementation;\n};\n\n// FF94+, Safari TP134+, Chrome Canary 98+, NodeJS 17.0+, Deno 1.13+\n// current FF and Safari implementations can't clone errors\n// https://bugzilla.mozilla.org/show_bug.cgi?id=1556604\n// no one of current implementations supports new (html/5749) error cloning semantic\nvar nativeStructuredClone = global.structuredClone;\n\nvar FORCED_REPLACEMENT = IS_PURE || !checkNewErrorsSemantic(nativeStructuredClone);\n\n// Chrome 82+, Safari 14.1+, Deno 1.11+\n// Chrome 78-81 implementation swaps `.name` and `.message` of cloned `DOMException`\n// Safari 14.1 implementation doesn't clone some `RegExp` flags, so requires a workaround\n// current Safari implementation can't clone errors\n// Deno 1.2-1.10 implementations too naive\n// NodeJS 16.0+ does not have `PerformanceMark` constructor, structured cloning implementation\n// from `performance.mark` is too naive and can't clone, for example, `RegExp` or some boxed primitives\n// https://github.com/nodejs/node/issues/40840\n// no one of current implementations supports new (html/5749) error cloning semantic\nvar structuredCloneFromMark = !nativeStructuredClone && checkBasicSemantic(function (value) {\n return new PerformanceMark(PERFORMANCE_MARK, { detail: value }).detail;\n});\n\nvar nativeRestrictedStructuredClone = checkBasicSemantic(nativeStructuredClone) || structuredCloneFromMark;\n\nvar throwUncloneable = function (type) {\n throw new DOMException('Uncloneable type: ' + type, DATA_CLONE_ERROR);\n};\n\nvar throwUnpolyfillable = function (type, kind) {\n throw new DOMException((kind || 'Cloning') + ' of ' + type + ' cannot be properly polyfilled in this engine', DATA_CLONE_ERROR);\n};\n\nvar structuredCloneInternal = function (value, map) {\n if (isSymbol(value)) throwUncloneable('Symbol');\n if (!isObject(value)) return value;\n // effectively preserves circular references\n if (map) {\n if (mapHas(map, value)) return mapGet(map, value);\n } else map = new Map();\n\n var type = classof(value);\n var deep = false;\n var C, name, cloned, dataTransfer, i, length, keys, key, source, target;\n\n switch (type) {\n case 'Array':\n cloned = [];\n deep = true;\n break;\n case 'Object':\n cloned = {};\n deep = true;\n break;\n case 'Map':\n cloned = new Map();\n deep = true;\n break;\n case 'Set':\n cloned = new Set();\n deep = true;\n break;\n case 'RegExp':\n // in this block because of a Safari 14.1 bug\n // old FF does not clone regexes passed to the constructor, so get the source and flags directly\n cloned = new RegExp(value.source, 'flags' in value ? value.flags : getFlags(value));\n break;\n case 'Error':\n name = value.name;\n switch (name) {\n case 'AggregateError':\n cloned = getBuiltin('AggregateError')([]);\n break;\n case 'EvalError':\n cloned = EvalError();\n break;\n case 'RangeError':\n cloned = RangeError();\n break;\n case 'ReferenceError':\n cloned = ReferenceError();\n break;\n case 'SyntaxError':\n cloned = SyntaxError();\n break;\n case 'TypeError':\n cloned = TypeError();\n break;\n case 'URIError':\n cloned = URIError();\n break;\n case 'CompileError':\n cloned = CompileError();\n break;\n case 'LinkError':\n cloned = LinkError();\n break;\n case 'RuntimeError':\n cloned = RuntimeError();\n break;\n default:\n cloned = Error();\n }\n deep = true;\n break;\n case 'DOMException':\n cloned = new DOMException(value.message, value.name);\n deep = true;\n break;\n case 'DataView':\n case 'Int8Array':\n case 'Uint8Array':\n case 'Uint8ClampedArray':\n case 'Int16Array':\n case 'Uint16Array':\n case 'Int32Array':\n case 'Uint32Array':\n case 'Float32Array':\n case 'Float64Array':\n case 'BigInt64Array':\n case 'BigUint64Array':\n C = global[type];\n // in some old engines like Safari 9, typeof C is 'object'\n // on Uint8ClampedArray or some other constructors\n if (!isObject(C)) throwUnpolyfillable(type);\n cloned = new C(\n // this is safe, since arraybuffer cannot have circular references\n structuredCloneInternal(value.buffer, map),\n value.byteOffset,\n type === 'DataView' ? value.byteLength : value.length\n );\n break;\n case 'DOMQuad':\n try {\n cloned = new DOMQuad(\n structuredCloneInternal(value.p1, map),\n structuredCloneInternal(value.p2, map),\n structuredCloneInternal(value.p3, map),\n structuredCloneInternal(value.p4, map)\n );\n } catch (error) {\n if (nativeRestrictedStructuredClone) {\n cloned = nativeRestrictedStructuredClone(value);\n } else throwUnpolyfillable(type);\n }\n break;\n case 'FileList':\n C = global.DataTransfer;\n if (isConstructor(C)) {\n dataTransfer = new C();\n for (i = 0, length = lengthOfArrayLike(value); i < length; i++) {\n dataTransfer.items.add(structuredCloneInternal(value[i], map));\n }\n cloned = dataTransfer.files;\n } else if (nativeRestrictedStructuredClone) {\n cloned = nativeRestrictedStructuredClone(value);\n } else throwUnpolyfillable(type);\n break;\n case 'ImageData':\n // Safari 9 ImageData is a constructor, but typeof ImageData is 'object'\n try {\n cloned = new ImageData(\n structuredCloneInternal(value.data, map),\n value.width,\n value.height,\n { colorSpace: value.colorSpace }\n );\n } catch (error) {\n if (nativeRestrictedStructuredClone) {\n cloned = nativeRestrictedStructuredClone(value);\n } else throwUnpolyfillable(type);\n } break;\n default:\n if (nativeRestrictedStructuredClone) {\n cloned = nativeRestrictedStructuredClone(value);\n } else switch (type) {\n case 'BigInt':\n // can be a 3rd party polyfill\n cloned = Object(value.valueOf());\n break;\n case 'Boolean':\n cloned = Object(booleanValueOf(value));\n break;\n case 'Number':\n cloned = Object(numberValueOf(value));\n break;\n case 'String':\n cloned = Object(stringValueOf(value));\n break;\n case 'Date':\n cloned = new Date(getTime(value));\n break;\n case 'ArrayBuffer':\n C = global.DataView;\n // `ArrayBuffer#slice` is not available in IE10\n // `ArrayBuffer#slice` and `DataView` are not available in old FF\n if (!C && typeof value.slice != 'function') throwUnpolyfillable(type);\n // detached buffers throws in `DataView` and `.slice`\n try {\n if (typeof value.slice == 'function') {\n cloned = value.slice(0);\n } else {\n length = value.byteLength;\n cloned = new ArrayBuffer(length);\n source = new C(value);\n target = new C(cloned);\n for (i = 0; i < length; i++) {\n target.setUint8(i, source.getUint8(i));\n }\n }\n } catch (error) {\n throw new DOMException('ArrayBuffer is detached', DATA_CLONE_ERROR);\n } break;\n case 'SharedArrayBuffer':\n // SharedArrayBuffer should use shared memory, we can't polyfill it, so return the original\n cloned = value;\n break;\n case 'Blob':\n try {\n cloned = value.slice(0, value.size, value.type);\n } catch (error) {\n throwUnpolyfillable(type);\n } break;\n case 'DOMPoint':\n case 'DOMPointReadOnly':\n C = global[type];\n try {\n cloned = C.fromPoint\n ? C.fromPoint(value)\n : new C(value.x, value.y, value.z, value.w);\n } catch (error) {\n throwUnpolyfillable(type);\n } break;\n case 'DOMRect':\n case 'DOMRectReadOnly':\n C = global[type];\n try {\n cloned = C.fromRect\n ? C.fromRect(value)\n : new C(value.x, value.y, value.width, value.height);\n } catch (error) {\n throwUnpolyfillable(type);\n } break;\n case 'DOMMatrix':\n case 'DOMMatrixReadOnly':\n C = global[type];\n try {\n cloned = C.fromMatrix\n ? C.fromMatrix(value)\n : new C(value);\n } catch (error) {\n throwUnpolyfillable(type);\n } break;\n case 'AudioData':\n case 'VideoFrame':\n if (!isCallable(value.clone)) throwUnpolyfillable(type);\n try {\n cloned = value.clone();\n } catch (error) {\n throwUncloneable(type);\n } break;\n case 'File':\n try {\n cloned = new File([value], value.name, value);\n } catch (error) {\n throwUnpolyfillable(type);\n } break;\n case 'CryptoKey':\n case 'GPUCompilationMessage':\n case 'GPUCompilationInfo':\n case 'ImageBitmap':\n case 'RTCCertificate':\n case 'WebAssembly.Module':\n throwUnpolyfillable(type);\n // break omitted\n default:\n throwUncloneable(type);\n }\n }\n\n mapSet(map, value, cloned);\n\n if (deep) switch (type) {\n case 'Array':\n case 'Object':\n keys = objectKeys(value);\n for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) {\n key = keys[i];\n createProperty(cloned, key, structuredCloneInternal(value[key], map));\n } break;\n case 'Map':\n value.forEach(function (v, k) {\n mapSet(cloned, structuredCloneInternal(k, map), structuredCloneInternal(v, map));\n });\n break;\n case 'Set':\n value.forEach(function (v) {\n setAdd(cloned, structuredCloneInternal(v, map));\n });\n break;\n case 'Error':\n createNonEnumerableProperty(cloned, 'message', structuredCloneInternal(value.message, map));\n if (hasOwn(value, 'cause')) {\n createNonEnumerableProperty(cloned, 'cause', structuredCloneInternal(value.cause, map));\n }\n if (name == 'AggregateError') {\n cloned.errors = structuredCloneInternal(value.errors, map);\n } // break omitted\n case 'DOMException':\n if (ERROR_STACK_INSTALLABLE) {\n createNonEnumerableProperty(cloned, 'stack', structuredCloneInternal(value.stack, map));\n }\n }\n\n return cloned;\n};\n\nvar PROPER_TRANSFER = nativeStructuredClone && !fails(function () {\n var buffer = new ArrayBuffer(8);\n var clone = nativeStructuredClone(buffer, { transfer: [buffer] });\n return buffer.byteLength != 0 || clone.byteLength != 8;\n});\n\nvar tryToTransfer = function (rawTransfer, map) {\n if (!isObject(rawTransfer)) throw TypeError('Transfer option cannot be converted to a sequence');\n\n var transfer = [];\n\n iterate(rawTransfer, function (value) {\n push(transfer, anObject(value));\n });\n\n var i = 0;\n var length = lengthOfArrayLike(transfer);\n var value, type, C, transferredArray, transferred, canvas, context;\n\n if (PROPER_TRANSFER) {\n transferredArray = nativeStructuredClone(transfer, { transfer: transfer });\n while (i < length) mapSet(map, transfer[i], transferredArray[i++]);\n } else while (i < length) {\n value = transfer[i++];\n if (mapHas(map, value)) throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR);\n\n type = classof(value);\n\n switch (type) {\n case 'ImageBitmap':\n C = global.OffscreenCanvas;\n if (!isConstructor(C)) throwUnpolyfillable(type, TRANSFERRING);\n try {\n canvas = new C(value.width, value.height);\n context = canvas.getContext('bitmaprenderer');\n context.transferFromImageBitmap(value);\n transferred = canvas.transferToImageBitmap();\n } catch (error) { /* empty */ }\n break;\n case 'AudioData':\n case 'VideoFrame':\n if (!isCallable(value.clone) || !isCallable(value.close)) throwUnpolyfillable(type, TRANSFERRING);\n try {\n transferred = value.clone();\n value.close();\n } catch (error) { /* empty */ }\n break;\n case 'ArrayBuffer':\n case 'MessagePort':\n case 'OffscreenCanvas':\n case 'ReadableStream':\n case 'TransformStream':\n case 'WritableStream':\n throwUnpolyfillable(type, TRANSFERRING);\n }\n\n if (transferred === undefined) throw new DOMException('This object cannot be transferred: ' + type, DATA_CLONE_ERROR);\n mapSet(map, value, transferred);\n }\n};\n\n$({ global: true, enumerable: true, sham: !PROPER_TRANSFER, forced: FORCED_REPLACEMENT }, {\n structuredClone: function structuredClone(value /* , { transfer } */) {\n var options = validateArgumentsLength(arguments.length, 1) > 1 ? anObject(arguments[1]) : undefined;\n var transfer = options ? options.transfer : undefined;\n var map;\n\n if (transfer !== undefined) {\n map = new Map();\n tryToTransfer(transfer, map);\n }\n\n return structuredCloneInternal(value, map);\n }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\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\n/**\n * @module pdfjsLib\n */\n\nimport {\n AbortException,\n AnnotationMode,\n assert,\n createPromiseCapability,\n getVerbosityLevel,\n info,\n InvalidPDFException,\n isArrayBuffer,\n isSameOrigin,\n MissingPDFException,\n PasswordException,\n RenderingIntentFlag,\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 DOMStandardFontDataFactory,\n isDataScheme,\n loadScript,\n PageViewport,\n RenderingCancelledException,\n StatTimer,\n} from \"./display_utils.js\";\nimport { FontFaceObject, FontLoader } from \"./font_loader.js\";\nimport {\n NodeCanvasFactory,\n NodeCMapReaderFactory,\n NodeStandardFontDataFactory,\n} from \"./node_utils.js\";\nimport { AnnotationStorage } from \"./annotation_storage.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 { OptionalContentConfig } from \"./optional_content_config.js\";\nimport { PDFDataTransportStream } from \"./transport_stream.js\";\nimport { XfaText } from \"./xfa_text.js\";\n\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536; // 2^16 = 65536\nconst RENDERING_CANCELLED_TIMEOUT = 100; // ms\n\nconst DefaultCanvasFactory =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) && isNodeJS\n ? NodeCanvasFactory\n : DOMCanvasFactory;\nconst DefaultCMapReaderFactory =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) && isNodeJS\n ? NodeCMapReaderFactory\n : DOMCMapReaderFactory;\nconst DefaultStandardFontDataFactory =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) && isNodeJS\n ? NodeStandardFontDataFactory\n : DOMStandardFontDataFactory;\n\n/**\n * @typedef {function} IPDFStreamFactory\n * @param {DocumentInitParameters} params - The document initialization\n * parameters. The \"url\" key is always present.\n * @returns {Promise} A promise, which is resolved with an instance of\n * {IPDFStream}.\n * @ignore\n */\n\n/**\n * @type {IPDFStreamFactory}\n * @private\n */\nlet createPDFNetworkStream;\n\n/**\n * Sets the function that instantiates an {IPDFStream} as an alternative PDF\n * data transport.\n *\n * @param {IPDFStreamFactory} pdfNetworkStreamFactory - The factory function\n * that takes document initialization parameters (including a \"url\") and\n * returns a promise which is resolved with an instance of {IPDFStream}.\n * @ignore\n */\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\n/**\n * @typedef { Int8Array | Uint8Array | Uint8ClampedArray |\n * Int16Array | Uint16Array |\n * Int32Array | Uint32Array | Float32Array |\n * Float64Array\n * } TypedArray\n */\n\n/**\n * @typedef {Object} RefProxy\n * @property {number} num\n * @property {number} gen\n */\n\n/**\n * Document initialization / loading parameters object.\n *\n * @typedef {Object} DocumentInitParameters\n * @property {string|URL} [url] - The URL of the PDF.\n * @property {TypedArray|Array|string} [data] - Binary PDF data. Use\n * typed 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 progress\n * reports and range requests operations.\n * @property {PDFDataRangeTransport} [range] - Allows for using a custom range\n * transport implementation.\n * @property {number} [rangeChunkSize] - Specify maximum number of bytes fetched\n * per range request. The default value is {@link DEFAULT_RANGE_CHUNK_SIZE}.\n * @property {PDFWorker} [worker] - The worker that will be used for loading and\n * parsing the PDF data.\n * @property {number} [verbosity] - Controls the logging level; the constants\n * from {@link VerbosityLevel} should be used.\n * @property {string} [docBaseUrl] - The base URL of the document, used when\n * attempting to recover valid absolute URLs for annotations, and outline\n * items, that (incorrectly) only specify relative URLs.\n * @property {string} [cMapUrl] - The URL where the predefined Adobe CMaps are\n * located. Include the trailing slash.\n * @property {boolean} [cMapPacked] - Specifies if the Adobe CMaps are binary\n * packed or not.\n * @property {Object} [CMapReaderFactory] - The factory that will be used when\n * reading built-in CMap files. Providing a custom factory is useful for\n * environments without Fetch API or `XMLHttpRequest` support, such as\n * Node.js. The default value is {DOMCMapReaderFactory}.\n * @property {boolean} [useSystemFonts] - When `true`, fonts that aren't\n * embedded in the PDF document will fallback to a system font.\n * The default value is `true` in web environments and `false` in Node.js;\n * unless `disableFontFace === true` in which case this defaults to `false`\n * regardless of the environment (to prevent completely broken fonts).\n * @property {string} [standardFontDataUrl] - The URL where the standard font\n * files are located. Include the trailing slash.\n * @property {Object} [StandardFontDataFactory] - The factory that will be used\n * when reading the standard font files. Providing a custom factory is useful\n * for environments without Fetch API or `XMLHttpRequest` support, such as\n * Node.js. The default value is {DOMStandardFontDataFactory}.\n * @property {boolean} [useWorkerFetch] - Enable using the Fetch API in the\n * worker-thread when reading CMap and standard font files. When `true`,\n * the `CMapReaderFactory` and `StandardFontDataFactory` options are ignored.\n * The default value is `true` in web environments and `false` in Node.js.\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 in total\n * pixels, i.e. width * height. Images above this value will not be rendered.\n * Use -1 for no limit, which is also the default value.\n * @property {boolean} [isEvalSupported] - Determines if we can evaluate strings\n * as JavaScript. Primarily used to improve performance of font rendering, and\n * when parsing PDF functions. The default value is `true`.\n * @property {boolean} [disableFontFace] - By default fonts are converted to\n * OpenType fonts and loaded via the Font Loading API or `@font-face` rules.\n * If disabled, fonts will be rendered using a built-in font renderer that\n * constructs the glyphs with primitive path commands.\n * The default value is `false` in web environments and `true` in Node.js.\n * @property {boolean} [fontExtraProperties] - Include additional properties,\n * which are unused during rendering of PDF documents, when exporting the\n * parsed font data from the worker-thread. This may be useful for debugging\n * purposes (and backwards compatibility), but note that it will lead to\n * increased memory usage. The default value is `false`.\n * @property {boolean} [enableXfa] - Render Xfa forms if any.\n * The default value is `false`.\n * @property {HTMLDocument} [ownerDocument] - Specify an explicit document\n * context to create elements with and to load resources, such as fonts,\n * into. Defaults to the current document.\n * @property {boolean} [disableRange] - Disable range request loading of PDF\n * files. When enabled, and if the server supports partial content requests,\n * then the PDF will be fetched in chunks. The default value is `false`.\n * @property {boolean} [disableStream] - Disable streaming of PDF file data.\n * By default PDF.js attempts to load PDF files in chunks. The default value\n * is `false`.\n * @property {boolean} [disableAutoFetch] - Disable pre-fetching of PDF file\n * 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 *\n * NOTE: It is also necessary to disable streaming, see above, in order for\n * disabling of pre-fetching to work correctly.\n * @property {boolean} [pdfBug] - Enables special hooks for debugging PDF.js\n * (see `web/debugger.js`). The default value is `false`.\n */\n\n/**\n * This is the main entry point for loading a PDF and interacting with it.\n *\n * NOTE: If a URL is used to fetch the PDF data a standard Fetch API call (or\n * XHR as fallback) is used, which means it must follow same origin rules,\n * e.g. no cross-domain requests without CORS.\n *\n * @param {string|URL|TypedArray|PDFDataRangeTransport|DocumentInitParameters}\n * src - Can be a URL where a PDF file is located, a typed array (Uint8Array)\n * already populated with data, or a parameter object.\n * @returns {PDFDocumentLoadingTask}\n */\nfunction getDocument(src) {\n const task = new PDFDocumentLoadingTask();\n\n let source;\n if (typeof src === \"string\" || src instanceof URL) {\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 string, URL, Uint8Array, or 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 const value = source[key];\n\n switch (key) {\n case \"url\":\n if (typeof window !== \"undefined\") {\n try {\n // The full path is required in the 'url' field.\n params[key] = new URL(value, window.location).href;\n continue;\n } catch (ex) {\n warn(`Cannot create valid URL: \"${ex}\".`);\n }\n } else if (typeof value === \"string\" || value instanceof URL) {\n params[key] = value.toString(); // Support Node.js environments.\n continue;\n }\n throw new Error(\n \"Invalid PDF url data: \" +\n \"either string or URL-object is expected in the url property.\"\n );\n case \"range\":\n rangeTransport = value;\n continue;\n case \"worker\":\n worker = value;\n continue;\n case \"data\":\n // Converting string or array-like data to Uint8Array.\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n isNodeJS &&\n typeof Buffer !== \"undefined\" && // eslint-disable-line no-undef\n value instanceof Buffer // eslint-disable-line no-undef\n ) {\n params[key] = new Uint8Array(value);\n } else if (value instanceof Uint8Array) {\n break; // Use the data as-is when it's already a Uint8Array.\n } else if (typeof value === \"string\") {\n params[key] = stringToBytes(value);\n } else if (\n typeof value === \"object\" &&\n value !== null &&\n !isNaN(value.length)\n ) {\n params[key] = new Uint8Array(value);\n } else if (isArrayBuffer(value)) {\n params[key] = new Uint8Array(value);\n } else {\n throw new Error(\n \"Invalid PDF binary data: either typed array, \" +\n \"string, or array-like object is expected in the data property.\"\n );\n }\n continue;\n }\n params[key] = value;\n }\n\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory =\n params.CMapReaderFactory || DefaultCMapReaderFactory;\n params.StandardFontDataFactory =\n params.StandardFontDataFactory || DefaultStandardFontDataFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.fontExtraProperties = params.fontExtraProperties === true;\n params.pdfBug = params.pdfBug === true;\n params.enableXfa = params.enableXfa === true;\n\n if (\n typeof params.docBaseUrl !== \"string\" ||\n isDataScheme(params.docBaseUrl)\n ) {\n // Ignore \"data:\"-URLs, since they can't be used to recover valid absolute\n // URLs anyway. We want to avoid sending them to the worker-thread, since\n // they contain the *entire* PDF document and can thus be arbitrarily long.\n params.docBaseUrl = null;\n }\n if (!Number.isInteger(params.maxImageSize)) {\n params.maxImageSize = -1;\n }\n if (typeof params.useWorkerFetch !== \"boolean\") {\n params.useWorkerFetch =\n params.CMapReaderFactory === DOMCMapReaderFactory &&\n params.StandardFontDataFactory === DOMStandardFontDataFactory;\n }\n if (typeof params.isEvalSupported !== \"boolean\") {\n params.isEvalSupported = true;\n }\n if (typeof params.disableFontFace !== \"boolean\") {\n params.disableFontFace =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) && isNodeJS;\n }\n if (typeof params.useSystemFonts !== \"boolean\") {\n params.useSystemFonts =\n !(\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n isNodeJS\n ) && !params.disableFontFace;\n }\n if (typeof params.ownerDocument === \"undefined\") {\n params.ownerDocument = globalThis.document;\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\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\n const workerIdPromise = _fetchDocument(\n worker,\n params,\n rangeTransport,\n docId\n );\n const networkStreamPromise = new Promise(function (resolve) {\n let networkStream;\n if (rangeTransport) {\n networkStream = new PDFDataTransportStream(\n {\n length: params.length,\n initialData: params.initialData,\n progressiveDone: params.progressiveDone,\n contentDispositionFilename: params.contentDispositionFilename,\n disableRange: params.disableRange,\n disableStream: params.disableStream,\n },\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 resolve(networkStream);\n });\n\n return Promise.all([workerIdPromise, networkStreamPromise]).then(\n function ([workerId, networkStream]) {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const messageHandler = new MessageHandler(\n docId,\n workerId,\n worker.port\n );\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 *\n * @param {PDFWorker} worker\n * @param {Object} source\n * @param {PDFDataRangeTransport} pdfDataRangeTransport\n * @param {string} docId - Unique document ID, used in `MessageHandler`.\n * @returns {Promise} A promise that is resolved when the worker ID of\n * the `MessageHandler` is known.\n * @private\n */\nasync function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n source.progressiveDone = pdfDataRangeTransport.progressiveDone;\n source.contentDispositionFilename =\n pdfDataRangeTransport.contentDispositionFilename;\n }\n const workerId = await worker.messageHandler.sendWithPromise(\n \"GetDocRequest\",\n {\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 docBaseUrl: source.docBaseUrl,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported,\n fontExtraProperties: source.fontExtraProperties,\n enableXfa: source.enableXfa,\n useSystemFonts: source.useSystemFonts,\n cMapUrl: source.useWorkerFetch ? source.cMapUrl : null,\n standardFontDataUrl: source.useWorkerFetch\n ? source.standardFontDataUrl\n : null,\n }\n );\n\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n return workerId;\n}\n\n/**\n * @typedef {Object} OnProgressParameters\n * @property {number} loaded - Currently loaded number of bytes.\n * @property {number} total - Total number of bytes in the PDF file.\n */\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 */\nclass PDFDocumentLoadingTask {\n static get idCounters() {\n return shadow(this, \"idCounters\", { doc: 0 });\n }\n\n constructor() {\n this._capability = createPromiseCapability();\n this._transport = null;\n this._worker = null;\n\n /**\n * Unique identifier for the document loading task.\n * @type {string}\n */\n this.docId = `d${PDFDocumentLoadingTask.idCounters.doc++}`;\n\n /**\n * Whether the loading task is destroyed or not.\n * @type {boolean}\n */\n this.destroyed = false;\n\n /**\n * Callback to request a password if a wrong or no password was provided.\n * The callback receives two parameters: a function that should be called\n * with the new password, and a reason (see {@link PasswordResponses}).\n * @type {function}\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).\n * The callback receives an {@link OnProgressParameters} argument.\n * @type {function}\n */\n this.onProgress = null;\n\n /**\n * Callback for when an unsupported feature is used in the PDF document.\n * The callback receives an {@link UNSUPPORTED_FEATURES} argument.\n * @type {function}\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 * Abort all network requests and destroy the worker.\n * @returns {Promise} A promise that is resolved when destruction is\n * completed.\n */\n async destroy() {\n this.destroyed = true;\n await this._transport?.destroy();\n\n this._transport = null;\n if (this._worker) {\n this._worker.destroy();\n this._worker = null;\n }\n }\n}\n\n/**\n * Abstract class to support range requests file loading.\n */\nclass PDFDataRangeTransport {\n /**\n * @param {number} length\n * @param {Uint8Array} initialData\n * @param {boolean} [progressiveDone]\n * @param {string} [contentDispositionFilename]\n */\n constructor(\n length,\n initialData,\n progressiveDone = false,\n contentDispositionFilename = null\n ) {\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this.contentDispositionFilename = contentDispositionFilename;\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.\n */\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n Object.defineProperty(this, \"fingerprint\", {\n get() {\n deprecated(\n \"`PDFDocumentProxy.fingerprint`, \" +\n \"please use `PDFDocumentProxy.fingerprints` instead.\"\n );\n return this.fingerprints[0];\n },\n });\n\n Object.defineProperty(this, \"getStats\", {\n value: async () => {\n deprecated(\n \"`PDFDocumentProxy.getStats`, \" +\n \"please use the `PDFDocumentProxy.stats`-getter instead.\"\n );\n return this.stats || { streamTypes: {}, fontTypes: {} };\n },\n });\n }\n }\n\n /**\n * @type {AnnotationStorage} Storage for annotation data in forms.\n */\n get annotationStorage() {\n return this._transport.annotationStorage;\n }\n\n /**\n * @type {number} Total number of pages in the PDF file.\n */\n get numPages() {\n return this._pdfInfo.numPages;\n }\n\n /**\n * @type {Array} A (not guaranteed to be) unique ID to\n * identify the PDF document.\n * NOTE: The first element will always be defined for all PDF documents,\n * whereas the second element is only defined for *modified* PDF documents.\n */\n get fingerprints() {\n return this._pdfInfo.fingerprints;\n }\n\n /**\n * @typedef {Object} PDFDocumentStats\n * @property {Object} streamTypes - Used stream types in the\n * document (an item is set to true if specific stream ID was used in the\n * document).\n * @property {Object} fontTypes - Used font types in the\n * document (an item is set to true if specific font ID was used in the\n * document).\n */\n\n /**\n * @type {PDFDocumentStats | null} The current statistics about document\n * structures, or `null` when no statistics exists.\n */\n get stats() {\n return this._transport.stats;\n }\n\n /**\n * @type {boolean} True if only XFA form.\n */\n get isPureXfa() {\n return !!this._transport._htmlForXfa;\n }\n\n /**\n * NOTE: This is (mostly) intended to support printing of XFA forms.\n *\n * @type {Object | null} An object representing a HTML tree structure\n * to render the XFA, or `null` when no XFA form exists.\n */\n get allXfaHtml() {\n return this._transport._htmlForXfa;\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\n * a {@link PDFPageProxy} object.\n */\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n\n /**\n * @param {RefProxy} ref - The page reference.\n * @returns {Promise} A promise that is resolved with the page index,\n * starting 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\n * with a mapping from named destinations to references.\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 | null>} A promise that is resolved with all\n * information of the given named destination, or `null` when the named\n * destination is not present in the PDF file.\n */\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} containing the page labels that correspond to the page\n * indexes, or `null` when 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}\n * containing 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}\n * containing 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\n * {Object} containing the viewer preferences, or `null` when no viewer\n * preferences are present in the PDF file.\n */\n getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Array}\n * containing the destination, or `null` when no open action is present\n * in the PDF.\n */\n getOpenAction() {\n return this._transport.getOpenAction();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a lookup table\n * for mapping named attachments to their content.\n */\n getAttachments() {\n return this._transport.getAttachments();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} of all the JavaScript strings in the name tree, or `null`\n * if no JavaScript exists.\n */\n getJavaScript() {\n return this._transport.getJavaScript();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {Object} with the JavaScript actions:\n * - from the name tree (like getJavaScript);\n * - from A or AA entries in the catalog dictionary.\n * , or `null` if no JavaScript exists.\n */\n getJSActions() {\n return this._transport.getDocJSActions();\n }\n\n /**\n * @typedef {Object} OutlineNode\n * @property {string} title\n * @property {boolean} bold\n * @property {boolean} italic\n * @property {Uint8ClampedArray} color - The color in RGB format to use for\n * display purposes.\n * @property {string | Array | null} dest\n * @property {string | null} url\n * @property {string | undefined} unsafeUrl\n * @property {boolean | undefined} newWindow\n * @property {number | undefined} count\n * @property {Array} items\n */\n\n /**\n * @returns {Promise>} A promise that is resolved with an\n * {Array} that is a tree outline (if it has one) of the PDF file.\n */\n getOutline() {\n return this._transport.getOutline();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {@link OptionalContentConfig} that contains all the optional content\n * groups (assuming that the document has any).\n */\n getOptionalContentConfig() {\n return this._transport.getOptionalContentConfig();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} that contains the permission flags for the PDF document, or\n * `null` when no permissions are present in the PDF file.\n */\n getPermissions() {\n return this._transport.getPermissions();\n }\n\n /**\n * @returns {Promise<{ info: Object, metadata: Metadata }>} A promise that is\n * resolved with an {Object} that has `info` and `metadata` properties.\n * `info` is an {Object} filled with anything available in the information\n * dictionary and similarly `metadata` is a {Metadata} object with\n * information from the metadata section of the PDF.\n */\n getMetadata() {\n return this._transport.getMetadata();\n }\n\n /**\n * @typedef {Object} MarkInfo\n * Properties correspond to Table 321 of the PDF 32000-1:2008 spec.\n * @property {boolean} Marked\n * @property {boolean} UserProperties\n * @property {boolean} Suspects\n */\n\n /**\n * @returns {Promise} A promise that is resolved with\n * a {MarkInfo} object that contains the MarkInfo flags for the PDF\n * document, or `null` when no MarkInfo values are present in the PDF file.\n */\n getMarkInfo() {\n return this._transport.getMarkInfo();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {TypedArray} that has the raw data from the PDF.\n */\n getData() {\n return this._transport.getData();\n }\n\n /**\n * @returns {Promise<{ length: number }>} A promise that is resolved when the\n * document's data is loaded. It is resolved with an {Object} that contains\n * the `length` property that indicates size of the PDF data in bytes.\n */\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n\n /**\n * Cleans up resources allocated by the document on both the main and worker\n * 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 * @param {boolean} [keepLoadedFonts] - Let fonts remain attached to the DOM.\n * NOTE: This will increase persistent memory usage, hence don't use this\n * option unless absolutely necessary. The default value is `false`.\n * @returns {Promise} A promise that is resolved when clean-up has finished.\n */\n cleanup(keepLoadedFonts = false) {\n return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa);\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 {DocumentInitParameters} A subset of the current\n * {DocumentInitParameters}, which are needed in the viewer.\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 * @returns {Promise} A promise that is resolved with a\n * {Uint8Array} containing the full data of the saved document.\n */\n saveDocument() {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n this._transport.annotationStorage.size <= 0\n ) {\n deprecated(\n \"saveDocument called while `annotationStorage` is empty, \" +\n \"please use the getData-method instead.\"\n );\n }\n return this._transport.saveDocument();\n }\n\n /**\n * @returns {Promise> | null>} A promise that is\n * resolved with an {Object} containing /AcroForm field data for the JS\n * sandbox, or `null` when no field data is present in the PDF file.\n */\n getFieldObjects() {\n return this._transport.getFieldObjects();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with `true`\n * if some /AcroForm fields have JavaScript actions.\n */\n hasJSActions() {\n return this._transport.hasJSActions();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with an\n * {Array} containing IDs of annotations that have a calculation\n * action, or `null` when no such annotations are present in the PDF file.\n */\n getCalculationOrderIds() {\n return this._transport.getCalculationOrderIds();\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} disableCombineTextItems - Do not attempt to combine\n * same line {@link TextItem}'s. The default value is `false`.\n * @property {boolean} [includeMarkedContent] - When true include marked\n * content items in the items array of TextContent. The default is `false`.\n */\n\n/**\n * Page text content.\n *\n * @typedef {Object} TextContent\n * @property {Array} items - Array of\n * {@link TextItem} and {@link TextMarkedContent} objects. TextMarkedContent\n * items are included when includeMarkedContent is true.\n * @property {Object} styles - {@link TextStyle} objects,\n * 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 * @property {boolean} hasEOL - Indicating if the text content is followed by a\n * line-break.\n */\n\n/**\n * Page text marked content part.\n *\n * @typedef {Object} TextMarkedContent\n * @property {string} type - Either 'beginMarkedContent',\n * 'beginMarkedContentProps', or 'endMarkedContent'.\n * @property {string} id - The marked content identifier. Only used for type\n * 'beginMarkedContentProps'.\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 - Whether or not the text is in vertical mode.\n * @property {string} fontFamily - The possible font family.\n */\n\n/**\n * Page annotation parameters.\n *\n * @typedef {Object} GetAnnotationsParameters\n * @property {string} [intent] - Determines the annotations that are fetched,\n * can be 'display' (viewable annotations), 'print' (printable annotations),\n * or 'any' (all annotations). The default value is 'display'.\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 calling\n * the `PDFPageProxy.getViewport` method.\n * @property {string} [intent] - Rendering intent, can be 'display', 'print',\n * or 'any'. The default value is 'display'.\n * @property {number} [annotationMode] Controls which annotations are rendered\n * onto the canvas, for annotations with appearance-data; the values from\n * {@link AnnotationMode} should be used. The following values are supported:\n * - `AnnotationMode.DISABLE`, which disables all annotations.\n * - `AnnotationMode.ENABLE`, which includes all possible annotations (thus\n * it also depends on the `intent`-option, see above).\n * - `AnnotationMode.ENABLE_FORMS`, which excludes annotations that contain\n * interactive form elements (those will be rendered in the display layer).\n * - `AnnotationMode.ENABLE_STORAGE`, which includes all possible annotations\n * (as above) but where interactive form elements are updated with data\n * from the {@link AnnotationStorage}-instance; useful e.g. for printing.\n * The default value is `AnnotationMode.ENABLE`.\n * @property {Array} [transform] - Additional transform, applied just\n * before viewport transform.\n * @property {Object} [imageLayer] - An object that has `beginLayout`,\n * `endLayout` and `appendImage` functions.\n * @property {Object} [canvasFactory] - The factory instance that will be used\n * when creating canvases. The default value is {new DOMCanvasFactory()}.\n * @property {Object | string} [background] - Background to use for the canvas.\n * Any valid `canvas.fillStyle` can be used: a `DOMString` parsed as CSS\n * value, a `CanvasGradient` object (a linear or radial gradient) or\n * a `CanvasPattern` object (a repetitive image). The default value is\n * 'rgb(255,255,255)'.\n * @property {Promise} [optionalContentConfigPromise] -\n * A promise that should resolve with an {@link OptionalContentConfig}\n * created from `PDFDocumentProxy.getOptionalContentConfig`. If `null`,\n * the configuration will be fetched automatically with the default visibility\n * states set.\n * @property {Map} [annotationCanvasMap] - Map some\n * annotation ids with canvases used to render them.\n */\n\n/**\n * Page getOperatorList parameters.\n *\n * @typedef {Object} GetOperatorListParameters\n * @property {string} [intent] - Rendering intent, can be 'display', 'print',\n * or 'any'. The default value is 'display'.\n * @property {number} [annotationMode] Controls which annotations are included\n * in the operatorList, for annotations with appearance-data; the values from\n * {@link AnnotationMode} should be used. The following values are supported:\n * - `AnnotationMode.DISABLE`, which disables all annotations.\n * - `AnnotationMode.ENABLE`, which includes all possible annotations (thus\n * it also depends on the `intent`-option, see above).\n * - `AnnotationMode.ENABLE_FORMS`, which excludes annotations that contain\n * interactive form elements (those will be rendered in the display layer).\n * - `AnnotationMode.ENABLE_STORAGE`, which includes all possible annotations\n * (as above) but where interactive form elements are updated with data\n * from the {@link AnnotationStorage}-instance; useful e.g. for printing.\n * The default value is `AnnotationMode.ENABLE`.\n */\n\n/**\n * Structure tree node. The root node will have a role \"Root\".\n *\n * @typedef {Object} StructTreeNode\n * @property {Array} children - Array of\n * {@link StructTreeNode} and {@link StructTreeContent} objects.\n * @property {string} role - element's role, already mapped if a role map exists\n * in the PDF.\n */\n\n/**\n * Structure tree content.\n *\n * @typedef {Object} StructTreeContent\n * @property {string} type - either \"content\" for page and stream structure\n * elements or \"object\" for object references.\n * @property {string} id - unique id that will map to the text layer.\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 */\nclass PDFPageProxy {\n constructor(pageIndex, pageInfo, transport, ownerDocument, pdfBug = false) {\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._ownerDocument = ownerDocument;\n this._transport = transport;\n this._stats = pdfBug ? new StatTimer() : null;\n this._pdfBug = pdfBug;\n /** @type {PDFObjects} */\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this._intentStates = new Map();\n this._annotationPromises = new Map();\n this.destroyed = false;\n }\n\n /**\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 {RefProxy | null} The reference that points to this page.\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\n * user 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 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\n * {Array} of the annotation objects.\n */\n getAnnotations({ intent = \"display\" } = {}) {\n const intentArgs = this._transport.getRenderingIntent(intent);\n\n let promise = this._annotationPromises.get(intentArgs.cacheKey);\n if (!promise) {\n promise = this._transport.getAnnotations(\n this._pageIndex,\n intentArgs.renderingIntent\n );\n this._annotationPromises.set(intentArgs.cacheKey, promise);\n\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n promise = promise.then(annotations => {\n for (const annotation of annotations) {\n if (annotation.titleObj !== undefined) {\n Object.defineProperty(annotation, \"title\", {\n get() {\n deprecated(\n \"`title`-property on annotation, please use `titleObj` instead.\"\n );\n return annotation.titleObj.str;\n },\n });\n }\n if (annotation.contentsObj !== undefined) {\n Object.defineProperty(annotation, \"contents\", {\n get() {\n deprecated(\n \"`contents`-property on annotation, please use `contentsObj` instead.\"\n );\n return annotation.contentsObj.str;\n },\n });\n }\n }\n return annotations;\n });\n }\n }\n return promise;\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an\n * {Object} with JS actions.\n */\n getJSActions() {\n return (this._jsActionsPromise ||= this._transport.getPageJSActions(\n this._pageIndex\n ));\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {Object} with a fake DOM object (a tree structure where elements\n * are {Object} with a name, attributes (class, style, ...), value and\n * children, very similar to a HTML DOM tree), or `null` if no XFA exists.\n */\n async getXfa() {\n return this._transport._htmlForXfa?.children[this._pageIndex] || null;\n }\n\n /**\n * Begins the process of rendering a page to the desired context.\n *\n * @param {RenderParameters} params - Page render parameters.\n * @returns {RenderTask} An object that contains a promise that is\n * resolved when the page finishes rendering.\n */\n render({\n canvasContext,\n viewport,\n intent = \"display\",\n annotationMode = AnnotationMode.ENABLE,\n transform = null,\n imageLayer = null,\n canvasFactory = null,\n background = null,\n optionalContentConfigPromise = null,\n annotationCanvasMap = null,\n }) {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\")) {\n if (arguments[0]?.renderInteractiveForms !== undefined) {\n deprecated(\n \"render no longer accepts the `renderInteractiveForms`-option, \" +\n \"please use the `annotationMode`-option instead.\"\n );\n if (\n arguments[0].renderInteractiveForms === true &&\n annotationMode === AnnotationMode.ENABLE\n ) {\n annotationMode = AnnotationMode.ENABLE_FORMS;\n }\n }\n if (arguments[0]?.includeAnnotationStorage !== undefined) {\n deprecated(\n \"render no longer accepts the `includeAnnotationStorage`-option, \" +\n \"please use the `annotationMode`-option instead.\"\n );\n if (\n arguments[0].includeAnnotationStorage === true &&\n annotationMode === AnnotationMode.ENABLE\n ) {\n annotationMode = AnnotationMode.ENABLE_STORAGE;\n }\n }\n }\n\n if (this._stats) {\n this._stats.time(\"Overall\");\n }\n\n const intentArgs = this._transport.getRenderingIntent(\n intent,\n annotationMode\n );\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 (!optionalContentConfigPromise) {\n optionalContentConfigPromise = this._transport.getOptionalContentConfig();\n }\n\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\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 =\n canvasFactory ||\n new DefaultCanvasFactory({ ownerDocument: this._ownerDocument });\n const intentPrint = !!(\n intentArgs.renderingIntent & RenderingIntentFlag.PRINT\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(intentArgs);\n }\n\n const complete = error => {\n intentState.renderTasks.delete(internalRenderTask);\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 || intentPrint) {\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 instanceof Error ? error : new Error(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 annotationCanvasMap,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: canvasFactoryInstance,\n useRequestAnimationFrame: !intentPrint,\n pdfBug: this._pdfBug,\n });\n\n (intentState.renderTasks ||= new Set()).add(internalRenderTask);\n const renderTask = internalRenderTask.task;\n\n Promise.all([\n intentState.displayReadyCapability.promise,\n optionalContentConfigPromise,\n ])\n .then(([transparency, optionalContentConfig]) => {\n if (this.pendingCleanup) {\n complete();\n return;\n }\n if (this._stats) {\n this._stats.time(\"Rendering\");\n }\n internalRenderTask.initializeGraphics({\n transparency,\n optionalContentConfig,\n });\n internalRenderTask.operatorListChanged();\n })\n .catch(complete);\n\n return renderTask;\n }\n\n /**\n * @param {GetOperatorListParameters} params - Page getOperatorList\n * parameters.\n * @returns {Promise} A promise resolved with an\n * {@link PDFOperatorList} object that represents the page's operator list.\n */\n getOperatorList({\n intent = \"display\",\n annotationMode = AnnotationMode.ENABLE,\n } = {}) {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n\n intentState.renderTasks.delete(opListTask);\n }\n }\n\n const intentArgs = this._transport.getRenderingIntent(\n intent,\n annotationMode,\n /* isOpList = */ true\n );\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n let opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = Object.create(null);\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = createPromiseCapability();\n (intentState.renderTasks ||= new Set()).add(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(intentArgs);\n }\n return intentState.opListReadCapability.promise;\n }\n\n /**\n * NOTE: All occurrences of whitespace will be replaced by\n * standard spaces (0x20).\n *\n * @param {getTextContentParameters} params - getTextContent parameters.\n * @returns {ReadableStream} Stream for reading text content chunks.\n */\n streamTextContent({\n disableCombineTextItems = false,\n includeMarkedContent = false,\n } = {}) {\n const TEXT_CONTENT_CHUNK_SIZE = 100;\n\n return this._transport.messageHandler.sendWithStream(\n \"GetTextContent\",\n {\n pageIndex: this._pageIndex,\n combineTextItems: disableCombineTextItems !== true,\n includeMarkedContent: includeMarkedContent === true,\n },\n {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size(textContent) {\n return textContent.items.length;\n },\n }\n );\n }\n\n /**\n * NOTE: All occurrences of whitespace will be replaced by\n * standard spaces (0x20).\n *\n * @param {getTextContentParameters} params - getTextContent parameters.\n * @returns {Promise} A promise that is resolved with a\n * {@link TextContent} object that represents the page's text content.\n */\n getTextContent(params = {}) {\n if (this._transport._htmlForXfa) {\n // TODO: We need to revisit this once the XFA foreground patch lands and\n // only do this for non-foreground XFA.\n return this.getXfa().then(xfa => {\n return XfaText.textContent(xfa);\n });\n }\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 * @returns {Promise} A promise that is resolved with a\n * {@link StructTreeNode} object that represents the page's structure tree,\n * or `null` when no structure tree is present for the current page.\n */\n getStructTree() {\n return (this._structTreePromise ||= this._transport.getStructTree(\n this._pageIndex\n ));\n }\n\n /**\n * Destroys the page object.\n * @private\n */\n _destroy() {\n this.destroyed = true;\n\n const waitOn = [];\n for (const intentState of this._intentStates.values()) {\n this._abortOperatorList({\n intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true,\n });\n\n if (intentState.opListReadCapability) {\n // Avoid errors below, since the renderTasks are just stubs.\n continue;\n }\n for (const internalRenderTask of intentState.renderTasks) {\n waitOn.push(internalRenderTask.completed);\n internalRenderTask.cancel();\n }\n }\n this.objs.clear();\n this._annotationPromises.clear();\n this._jsActionsPromise = null;\n this._structTreePromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n\n /**\n * Cleans up resources allocated by the page.\n *\n * @param {boolean} [resetStats] - Reset page stats, if enabled.\n * The default value is `false`.\n * @returns {boolean} Indicates 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 (!this.pendingCleanup) {\n return false;\n }\n for (const { renderTasks, operatorList } of this._intentStates.values()) {\n if (renderTasks.size > 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n\n this._intentStates.clear();\n this.objs.clear();\n this._annotationPromises.clear();\n this._jsActionsPromise = null;\n this._structTreePromise = 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, cacheKey) {\n const intentState = this._intentStates.get(cacheKey);\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 (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n\n /**\n * @private\n */\n _pumpOperatorList({ renderingIntent, cacheKey }) {\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n Number.isInteger(renderingIntent) && renderingIntent > 0,\n '_pumpOperatorList: Expected valid \"renderingIntent\" argument.'\n );\n }\n\n const readableStream = this._transport.messageHandler.sendWithStream(\n \"GetOperatorList\",\n {\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n cacheKey,\n annotationStorage:\n renderingIntent & RenderingIntentFlag.ANNOTATIONS_STORAGE\n ? this._transport.annotationStorage.serializable\n : null,\n }\n );\n const reader = readableStream.getReader();\n\n const intentState = this._intentStates.get(cacheKey);\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 (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.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 if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n reason instanceof Error,\n '_abortOperatorList: Expected valid \"reason\" argument.'\n );\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.size > 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\n .cancel(new AbortException(reason.message))\n .catch(() => {\n // Avoid \"Uncaught promise\" messages in the console.\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 for (const [curCacheKey, curIntentState] of this._intentStates) {\n if (curIntentState === intentState) {\n this._intentStates.delete(curCacheKey);\n break;\n }\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() {\n this._listeners = [];\n this._deferred = Promise.resolve();\n }\n\n postMessage(obj, transfers) {\n const event = {\n data:\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"SKIP_BABEL\") ||\n transfers\n ? structuredClone(obj, transfers)\n : structuredClone(obj),\n };\n\n this._deferred.then(() => {\n for (const listener of this._listeners) {\n listener.call(this, event);\n }\n });\n }\n\n addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n\n removeEventListener(name, listener) {\n const i = this._listeners.indexOf(listener);\n 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` object.\n * @property {number} [verbosity] - Controls the logging level;\n * the constants from {@link VerbosityLevel} should be used.\n */\n\nconst PDFWorkerUtil = {\n isWorkerDisabled: false,\n fallbackWorkerSrc: null,\n fakeWorkerId: 0,\n};\nif (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 PDFWorkerUtil.isWorkerDisabled = true;\n\n PDFWorkerUtil.fallbackWorkerSrc = PDFJSDev.test(\"LIB\")\n ? \"../pdf.worker.js\"\n : \"./pdf.worker.js\";\n } else if (typeof document === \"object\") {\n const pdfjsFilePath = document?.currentScript?.src;\n if (pdfjsFilePath) {\n PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(\n /(\\.(?:min\\.)?js)(\\?.*)?$/i,\n \".worker$1$2\"\n );\n }\n }\n\n PDFWorkerUtil.createCDNWrapper = function (url) {\n // We will rely on blob URL's property to specify origin.\n // We want this function to fail in case if createObjectURL or Blob do not\n // exist or fail for some reason -- our Worker creation will fail anyway.\n const wrapper = `importScripts(\"${url}\");`;\n return URL.createObjectURL(new Blob([wrapper]));\n };\n}\n\n/**\n * PDF.js web worker abstraction that controls the instantiation of PDF\n * documents. Message handlers are used to pass information from the main\n * thread to the worker thread and vice versa. If the creation of a web\n * worker is not possible, a \"fake\" worker will be used instead.\n *\n * @param {PDFWorkerParameters} params - The worker initialization parameters.\n */\nclass PDFWorker {\n static get _workerPorts() {\n return shadow(this, \"_workerPorts\", new WeakMap());\n }\n\n constructor({\n name = null,\n port = null,\n verbosity = getVerbosityLevel(),\n } = {}) {\n if (port && PDFWorker._workerPorts.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port.\");\n }\n\n this.name = name;\n this.destroyed = false;\n this.verbosity = verbosity;\n\n this._readyCapability = createPromiseCapability();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n\n if (port) {\n PDFWorker._workerPorts.set(port, this);\n this._initializeFromPort(port);\n return;\n }\n this._initialize();\n }\n\n /**\n * Promise for worker initialization completion.\n * @type {Promise}\n */\n get promise() {\n return this._readyCapability.promise;\n }\n\n /**\n * The current `workerPort`, when it exists.\n * @type {Worker}\n */\n get port() {\n return this._port;\n }\n\n /**\n * The current MessageHandler-instance.\n * @type {MessageHandler}\n */\n get messageHandler() {\n return this._messageHandler;\n }\n\n _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new MessageHandler(\"main\", \"worker\", port);\n this._messageHandler.on(\"ready\", function () {\n // Ignoring \"ready\" event -- MessageHandler should already be initialized\n // and ready to accept messages.\n });\n this._readyCapability.resolve();\n }\n\n _initialize() {\n // If worker support isn't disabled explicit and the browser has worker\n // support, create a new web worker and test if it/the browser fulfills\n // all requirements to run parts of pdf.js in a web worker.\n // Right now, the requirement is, that an Uint8Array is still an\n // Uint8Array as it arrives on the worker. (Chrome added this with v.15.)\n if (\n typeof Worker !== \"undefined\" &&\n !PDFWorkerUtil.isWorkerDisabled &&\n !PDFWorker._mainThreadWorkerMessageHandler\n ) {\n let workerSrc = PDFWorker.workerSrc;\n\n try {\n // Wraps workerSrc path into blob URL, if the former does not belong\n // to the same origin.\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n !isSameOrigin(window.location.href, workerSrc)\n ) {\n workerSrc = PDFWorkerUtil.createCDNWrapper(\n new URL(workerSrc, window.location).href\n );\n }\n\n // Some versions of FF can't create a worker on localhost, see:\n // https://bugzilla.mozilla.org/show_bug.cgi?id=683280\n const worker = new Worker(workerSrc);\n const messageHandler = new MessageHandler(\"main\", \"worker\", worker);\n const terminateEarly = () => {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n // Fall back to fake worker if the termination is caused by an\n // error (e.g. NetworkError / SecurityError).\n this._setupFakeWorker();\n }\n };\n\n const onWorkerError = () => {\n if (!this._webWorker) {\n // Worker failed to initialize due to an error. Clean up and fall\n // back to the fake worker.\n terminateEarly();\n }\n };\n worker.addEventListener(\"error\", onWorkerError);\n\n messageHandler.on(\"test\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return; // worker was destroyed\n }\n if (data) {\n this._messageHandler = messageHandler;\n this._port = worker;\n this._webWorker = worker;\n\n this._readyCapability.resolve();\n // Send global setting, e.g. verbosity level.\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity,\n });\n } else {\n this._setupFakeWorker();\n messageHandler.destroy();\n worker.terminate();\n }\n });\n\n messageHandler.on(\"ready\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return; // worker was destroyed\n }\n try {\n sendTest();\n } catch (e) {\n // We need fallback to a faked worker.\n this._setupFakeWorker();\n }\n });\n\n const sendTest = () => {\n const testObj = new Uint8Array([255]);\n // Some versions of Opera throw a DATA_CLONE_ERR on serializing the\n // typed array. Also, checking if we can use transfers.\n try {\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n } catch (ex) {\n warn(\"Cannot use postMessage transfers.\");\n testObj[0] = 0;\n messageHandler.send(\"test\", testObj);\n }\n };\n\n // It might take time for the worker to initialize. We will try to send\n // the \"test\" message immediately, and once the \"ready\" message arrives.\n // The worker shall process only the first received \"test\" message.\n sendTest();\n return;\n } catch (e) {\n info(\"The worker has been disabled.\");\n }\n }\n // Either workers are disabled, not supported or have thrown an exception.\n // Thus, we fallback to a faked worker.\n this._setupFakeWorker();\n }\n\n _setupFakeWorker() {\n if (!PDFWorkerUtil.isWorkerDisabled) {\n warn(\"Setting up fake worker.\");\n PDFWorkerUtil.isWorkerDisabled = true;\n }\n\n PDFWorker._setupFakeWorkerGlobal\n .then(WorkerMessageHandler => {\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n return;\n }\n const port = new LoopbackPort();\n this._port = port;\n\n // All fake workers use the same port, making id unique.\n const id = `fake${PDFWorkerUtil.fakeWorkerId++}`;\n\n // If the main thread is our worker, setup the handling for the\n // messages -- the main thread sends to it self.\n const workerHandler = new MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n\n const messageHandler = new MessageHandler(id, id + \"_worker\", port);\n this._messageHandler = messageHandler;\n this._readyCapability.resolve();\n // Send global setting, e.g. verbosity level.\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity,\n });\n })\n .catch(reason => {\n this._readyCapability.reject(\n new Error(`Setting up fake worker failed: \"${reason.message}\".`)\n );\n });\n }\n\n /**\n * Destroys the worker instance.\n */\n destroy() {\n this.destroyed = true;\n if (this._webWorker) {\n // We need to terminate only web worker created resource.\n this._webWorker.terminate();\n this._webWorker = null;\n }\n PDFWorker._workerPorts.delete(this._port);\n this._port = null;\n if (this._messageHandler) {\n this._messageHandler.destroy();\n this._messageHandler = null;\n }\n }\n\n /**\n * @param {PDFWorkerParameters} params - The worker initialization parameters.\n */\n static fromPort(params) {\n if (!params?.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n if (this._workerPorts.has(params.port)) {\n return this._workerPorts.get(params.port);\n }\n return new PDFWorker(params);\n }\n\n /**\n * The current `workerSrc`, when it exists.\n * @type {string}\n */\n static get workerSrc() {\n if (GlobalWorkerOptions.workerSrc) {\n return GlobalWorkerOptions.workerSrc;\n }\n if (PDFWorkerUtil.fallbackWorkerSrc !== null) {\n if (!isNodeJS) {\n deprecated('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n return PDFWorkerUtil.fallbackWorkerSrc;\n }\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n static get _mainThreadWorkerMessageHandler() {\n try {\n return globalThis.pdfjsWorker?.WorkerMessageHandler || null;\n } catch (ex) {\n return null;\n }\n }\n\n // Loads worker code into the main-thread.\n static get _setupFakeWorkerGlobal() {\n const loader = async () => {\n const mainWorkerMessageHandler = this._mainThreadWorkerMessageHandler;\n\n if (mainWorkerMessageHandler) {\n // The worker was already loaded using e.g. a ` diff --git a/app/views/admin/publications/_form.html.erb b/app/views/admin/publications/_form.html.erb index 307b25f..89d45af 100644 --- a/app/views/admin/publications/_form.html.erb +++ b/app/views/admin/publications/_form.html.erb @@ -64,6 +64,50 @@ <% end %> + +
    + +
    + <%= f.fields_for :full_files, (f.object.full_files[0] || f.object.full_files.new) do |f| %> + <%= render :partial => 'form_file', :object => f.object, :locals => {:f => f, :i => 0, accept: 'application/pdf'} %> + <% end %> +
    + +
    +
    +
    + + +
    + +
    + + + <% if !f.object.publication_links.blank? %> +
    + <% f.object.publication_links.each_with_index do |publication_link, i| %> + <%= f.fields_for :publication_links, publication_link do |f| %> + <%= render :partial => 'form_link', :object => publication_link, :locals => {:f => f, :i => i} %> + <% end %> + <% end %> +
    +
    + <% end %> + + +
    +
    +

    + <%= hidden_field_tag 'publication_link_field_count', f.object.publication_links.count %> + <%= t(:add) %> +

    + +
    +
    +
    @@ -82,6 +126,35 @@ <% content_for :page_specific_javascript do %> +
    \ No newline at end of file diff --git a/app/views/admin/publications/_index.html.erb b/app/views/admin/publications/_index.html.erb index cad58df..d31dc9a 100644 --- a/app/views/admin/publications/_index.html.erb +++ b/app/views/admin/publications/_index.html.erb @@ -18,17 +18,13 @@
    - <%= node.status_for_table %> - <%= node.author %> + <%= link_to node.chapters.length, admin_publication_path(node.id) %> <%= node.pub_date.strftime('%Y-%m-%d') %> <%= node.category.title rescue "" %> diff --git a/app/views/admin/publications/_module_tag.html.erb b/app/views/admin/publications/_module_tag.html.erb index e286e9b..46ad94a 100644 --- a/app/views/admin/publications/_module_tag.html.erb +++ b/app/views/admin/publications/_module_tag.html.erb @@ -62,5 +62,12 @@ + +
    + +
    + <%= f.text_field :cover_description %> +
    +
    diff --git a/app/views/admin/publications/show.html.erb b/app/views/admin/publications/show.html.erb index eddffde..b5afe49 100644 --- a/app/views/admin/publications/show.html.erb +++ b/app/views/admin/publications/show.html.erb @@ -50,6 +50,13 @@ <% end %> + +
      + <% chapter.tags.each do |tag| %> +
    • <%= tag.name %>
    • + <% end %> +
    + <%= chapter.author %> @@ -57,7 +64,7 @@ <%= chapter.page %> - <%= chapter.sort_number %> + <%= chapter.keywords %> <% end %> @@ -68,58 +75,7 @@
    <%= link_to t("publications.add_chapter"), new_admin_chapter_path(page: params[:page], publication_id: @publication.id), class: "btn btn-primary" %> - <%= t('publications.order')%>
    <%= content_tag :div, paginate(@chapters), class: "pagination pagination-centered" %>
    - - <% end %> - - diff --git a/app/views/publications/_viewer.html.erb b/app/views/publications/_viewer.html.erb new file mode 100644 index 0000000..6936f26 --- /dev/null +++ b/app/views/publications/_viewer.html.erb @@ -0,0 +1,181 @@ +
    +
    +<%= stylesheet_link_tag "publications/pdf-turn.css" %> +<%= javascript_include_tag "publications/pdf/pdf.worker.js" %> +<%= javascript_include_tag "publications/pdf/pdf.js" %> +<%= javascript_include_tag "publications/turn.min.js" %> +<%= javascript_include_tag "publications/pdf-turn.js" %> + + + \ No newline at end of file diff --git a/app/views/publications/chapter.html.erb b/app/views/publications/chapter.html.erb new file mode 100644 index 0000000..03ffba8 --- /dev/null +++ b/app/views/publications/chapter.html.erb @@ -0,0 +1 @@ +<%= render_view('show_chapter_accordion') %> \ No newline at end of file diff --git a/app/views/publications/download_file.html.erb b/app/views/publications/download_file.html.erb new file mode 100644 index 0000000..ca561f8 --- /dev/null +++ b/app/views/publications/download_file.html.erb @@ -0,0 +1 @@ +<%= render partial: 'viewer' %> \ No newline at end of file diff --git a/app/views/publications/index.html.erb b/app/views/publications/index.html.erb index 31f61ed..61d5014 100644 --- a/app/views/publications/index.html.erb +++ b/app/views/publications/index.html.erb @@ -1,3 +1,7 @@ -<%# data = action_data %> - -<%= render_view %> +<% data = action_data %> +<% if data['extras']['is_search'] %> + <%= render_view('show_search_fields') %> + <%= render_view('show_chapter_accordion') %> +<% else %> + <%= render_view %> +<% end %> \ No newline at end of file diff --git a/app/views/publications/online_read_chapter.html.erb b/app/views/publications/online_read_chapter.html.erb new file mode 100644 index 0000000..9bd840e --- /dev/null +++ b/app/views/publications/online_read_chapter.html.erb @@ -0,0 +1,2 @@ +<% data = action_data %> +<%= render partial: '/publications/viewer', locals: data %> diff --git a/app/views/publications/online_read_publication.html.erb b/app/views/publications/online_read_publication.html.erb new file mode 100644 index 0000000..9bd840e --- /dev/null +++ b/app/views/publications/online_read_publication.html.erb @@ -0,0 +1,2 @@ +<% data = action_data %> +<%= render partial: '/publications/viewer', locals: data %> diff --git a/app/views/publications/show.html.erb b/app/views/publications/show.html.erb index 0790d5e..3f1ccf0 100644 --- a/app/views/publications/show.html.erb +++ b/app/views/publications/show.html.erb @@ -1,8 +1,7 @@ <% data = action_data %> -<% if data['extras']['mode'] == 'many' %> - <%= render_view %> -<% elsif data['extras']['mode'] == 'chapter' %> - <%= render_view('show_detail') %> +<%= render_view('show_publication') %> +<% if data['extras']['layout_type']==0 %> + <%= render_view('show_chapter_table') %> <% else %> - <%= render_view('show_publication') %> -<% end %> + <%= render_view('show_chapter_accordion') %> +<% end %> \ No newline at end of file diff --git a/config/locales/en.yml b/config/locales/en.yml index be1a637..77a9cd7 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -11,22 +11,37 @@ en: chapter: Chapter list chapters: Chapter count pub_information: Publishing information + is_external_link: Enable External Link + external_link: External Link + full_file: Full File(Only PDF) + is_online_flipping_reader: Online Flipping Reader + inner_page_layout: Inner Page Layout + table_style: Table Style + accordion_style: Accordion Style + search_style: Search Style + download: Download chapter: - title: Title + title: Chapter Title author: Author + author_url: Author Url author_description: Author description - text: Inner text + text: Abstract page: Page + file: Chapter File(Only PDF) + action: Action sort_number: Sort number + keywords: Keywords + search_placeholder: Please Input Keywords + search: Search publications: publication: Publication select_cover: Select cover add_chapter: Add chapter + chapter: Chapter order: Order - chapter: Chapter pub_date: Publication date chapters: select_file: Select file diff --git a/config/locales/zh_tw.yml b/config/locales/zh_tw.yml index 5537ed3..5195e50 100644 --- a/config/locales/zh_tw.yml +++ b/config/locales/zh_tw.yml @@ -11,23 +11,36 @@ zh_tw: chapter: 章節列表 chapters: 章節數 pub_information: 出版資訊 + is_external_link: 連結外部網址 + external_link: 外部連結 + full_file: 全⽂檔案(僅PDF) + is_online_flipping_reader: 線上翻⾴閱讀 + inner_page_layout: 內頁頁面樣式 + table_style: 表格樣式 + accordion_style: 手風琴樣式 + search_style: 搜尋結果樣式 + download: 下載 chapter: - title: 標題 + title: 章節標題 author: 作者 + author_url: 作者連結 author_description: 作者說明 - text: 內文 + text: 摘要 page: 頁次 - file: 期刊檔案 + file: 章節檔案(僅PDF) action: 動作 sort_number: 排序 + keywords: 關鍵字 + search_placeholder: 請輸入關鍵字 + search: 搜尋 publications: publication: 出版品 select_cover: 選擇封面 add_chapter: 新增章節 order: 排序 - chapter: 標題/章節/段落 + chapter: 章節 pub_date: 出版日期 chapters: diff --git a/lib/publications/engine.rb b/lib/publications/engine.rb index 4bcfd24..79c2d8f 100644 --- a/lib/publications/engine.rb +++ b/lib/publications/engine.rb @@ -1,18 +1,48 @@ module Publications class Engine < ::Rails::Engine initializer "publications" do + begin + translate_data = Dir["#{Publications::Engine.root}/config/locales/*.yml"] .map{|yaml_file| YAML.load(File.read(yaml_file))} + data = {} + key1 = {} + key1_options = ['table_style', 'accordion_style', 'search_style'] + key1_attrs = [] + key1_options.each_with_index do |v, i| + key1_attrs[i] = {} + end + + + translate_data.each do |t_data| + v = t_data.values + k = t_data.keys[0] + key1[k] = v[0]['publication']['inner_page_layout'] + key1_options.each_with_index do |kk, i| + key1_attrs[i][k] = v[0]['publication'][kk] + end + end + + data[key1] = key1_attrs + rescue => e + puts ['error in publications',e] + end OrbitApp.registration "Publications", :type => "ModuleApp" do module_label "publications.publication" base_url File.expand_path File.dirname(__FILE__) - widget_methods ['widget'] - widget_settings [{"data_count"=>30}] + # widget_methods ['widget'] + # widget_settings [{"data_count"=>30}] # models_to_cache [:my_voting] - # taggable "Landspace" + taggable "Chapter" categorizable authorizable frontend_enabled data_count 1..30 + begin + show_option_items data + rescue => e + puts ['there_was_no_show_option_method',e] + end + side_bar do head_label_i18n 'publications.publication', icon_class: "icon-book" available_for "users" diff --git a/modules/publication/index.html.erb b/modules/publication/index.html.erb new file mode 100644 index 0000000..c247ea6 --- /dev/null +++ b/modules/publication/index.html.erb @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + +

    {{widget-title}}

    {{th_cover}} + {{th_title}} + {{th_pub_date}}{{th_author}}{{th_chapter}}
    {{title}}{{title}}{{pub_date}}{{author}} + +
    + {{th_chapters}} + {{chapters}} +
    +
    + +{{pagination_goes_here}} \ No newline at end of file diff --git a/modules/publication/info.json b/modules/publication/info.json new file mode 100644 index 0000000..5e0238e --- /dev/null +++ b/modules/publication/info.json @@ -0,0 +1,30 @@ +{ + "frontend": [ + { + "filename" : "publications_index1", + "name" : { + "zh_tw" : "1. 精簡表格列表 ( 模組標題, 日期, 狀態, 標題 )", + "en" : "1. Simple Table List (widget-title, postdate, status, title)" + }, + "thumbnail" : "publications_index1_thumbs.png" + }, + { + "filename" : "publications_index2", + "name" : { + "zh_tw" : "2. 左圖右文 ( 模組標題, 圖片, 狀態, 日期, 類別, 標題, 副標題 )", + "en" : "2. Balanced Image + Text(Left) (widget-title, image, status, postdate, category, title, subtitle)" + }, + "thumbnail" : "publications_index2_thumbs.png" + }, + { + "filename" : "publications_index3", + "name" : { + "zh_tw" : "3. 三欄圖文 ( 模組標題, 圖片, 狀態, 日期, 類別, 標題, 副標題 )", + "en" : "3. 3-Column Standard Image + Text (widget-title, image, status, postdate, category, title, subtitle)" + }, + "thumbnail" : "publications_index3_thumbs.png" + } + ], + "widgets" : [ + ] +} \ No newline at end of file diff --git a/modules/publication/publications_index1.html.erb b/modules/publication/publications_index1.html.erb new file mode 100644 index 0000000..7ce82f0 --- /dev/null +++ b/modules/publication/publications_index1.html.erb @@ -0,0 +1,23 @@ +
    +

    {{page-title}}

    + + + + + + + + + + + + + +
    {{th_pub_date}}{{th_title}}
    + + {{status}} + + {{title}} +
    +
    +{{pagination_goes_here}} diff --git a/modules/publication/publications_index2.html.erb b/modules/publication/publications_index2.html.erb new file mode 100644 index 0000000..4830a6c --- /dev/null +++ b/modules/publication/publications_index2.html.erb @@ -0,0 +1,30 @@ +
    +

    {{page-title}}

    +
      +
    • +
      + {{cover_description}} +
      +
      +
      + + {{status}} + + + + + {{category}} + +
      +

      + {{title}} +

      +

      {{pub_information}}

      +
      +
    • +
    +
    +{{pagination_goes_here}} diff --git a/modules/publication/publications_index3.html.erb b/modules/publication/publications_index3.html.erb new file mode 100644 index 0000000..94fc2d7 --- /dev/null +++ b/modules/publication/publications_index3.html.erb @@ -0,0 +1,82 @@ +
    +

    {{page-title}}

    +
      +
    • +
      + {{cover_description}} +
      +
      +
      + + {{status}} + + + + + {{category}} + +
      +

      + {{title}} +

      +
      +
    • +
    +
    +{{pagination_goes_here}} + diff --git a/modules/publication/show_chapter_accordion.html.erb b/modules/publication/show_chapter_accordion.html.erb new file mode 100644 index 0000000..8f5e03f --- /dev/null +++ b/modules/publication/show_chapter_accordion.html.erb @@ -0,0 +1,57 @@ +
    +
    +
    +
    +

    + + + {{tag}} + + + +

    +
    +
    +
    +
    +

    + {{th_author}}:{{author}} +

    +

    {{author_description}}

    +
    +

    {{text}}

    +
    + + {{th_page}}: + + + {{page}} + +
    +
    + + {{th_keywords}}: + + + {{keywords}} + +
    + + {{publication_title}} + + +
    +
    +
    +
    +
    \ No newline at end of file diff --git a/modules/publication/show_chapter_table.html.erb b/modules/publication/show_chapter_table.html.erb new file mode 100644 index 0000000..71fb468 --- /dev/null +++ b/modules/publication/show_chapter_table.html.erb @@ -0,0 +1,26 @@ +
    + + + + + + + + + + + + + + + + + +
    {{th_chapter_title}}{{th_author}}{{th_title}}
    + + {{tag}} + + {{title}}{{author}}{{page}}
    + +{{pagination_goes_here}} +
    \ No newline at end of file diff --git a/modules/publication/show_detail.html.erb b/modules/publication/show_detail.html.erb new file mode 100644 index 0000000..74d4cf5 --- /dev/null +++ b/modules/publication/show_detail.html.erb @@ -0,0 +1,34 @@ +
    +
    +
    + {{title_title}}: +
    +
    + {{title}} +
    +
    +
    +
    + {{author_title}}: +
    +
    + {{author}} +
    +
    +
    +
    + {{author_description_title}}: +
    +
    + {{author_description}} +
    +
    +
    +
    + {{text_title}}: +
    +
    + {{text}} +
    +
    +
    \ No newline at end of file diff --git a/modules/publication/show_journal.html.erb b/modules/publication/show_journal.html.erb new file mode 100644 index 0000000..3bc1b1b --- /dev/null +++ b/modules/publication/show_journal.html.erb @@ -0,0 +1,83 @@ +
    +

    + {{page-title}} +

    +
    +
    +
    +

    + + + {{tag}} + + + +

    +
    +
    +
    +
    +

    作者:竺家寧 +

    + +

    {{}}

    +
    +
    +
    +
    + {{link_to_edit}} +
    + +
    + +
    +
    +
    + {{title_title}}: +
    + +
    +
    +
    + {{author_title}}: +
    +
    + {{author}} +
    +
    +
    +
    + {{pub_date_title}}: +
    +
    + {{pub_date}} +
    +
    +
    +
    + {{cover_title}}: +
    +
    + {{title}} +
    +
    +
    +
    + {{pub_information_title}}: +
    +
    + {{pub_information}} +
    +
    +
    \ No newline at end of file diff --git a/modules/publication/show_publication.html.erb b/modules/publication/show_publication.html.erb new file mode 100644 index 0000000..6e6888f --- /dev/null +++ b/modules/publication/show_publication.html.erb @@ -0,0 +1,42 @@ +
    + +
    \ No newline at end of file diff --git a/modules/publication/show_search_fields.html.erb b/modules/publication/show_search_fields.html.erb new file mode 100644 index 0000000..902ceb6 --- /dev/null +++ b/modules/publication/show_search_fields.html.erb @@ -0,0 +1,7 @@ +
    + + {{search_text}} + + + Clear +
    \ No newline at end of file diff --git a/modules/publication/thumbs/publications_index1_thumbs.png b/modules/publication/thumbs/publications_index1_thumbs.png new file mode 100644 index 0000000000000000000000000000000000000000..0a58044bcab1badab10347049e79a10fdef28201 GIT binary patch literal 2130 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 literal 0 HcmV?d00001 diff --git a/publications.gemspec b/publications.gemspec index 6af7d6a..a994286 100644 --- a/publications.gemspec +++ b/publications.gemspec @@ -2,7 +2,22 @@ $:.push File.expand_path("../lib", __FILE__) # Maintain your gem's version: require "publications/version" - +bundle_update_flag = ARGV[0]=='update' || ARGV[0]=='install' +if bundle_update_flag + app_path = File.expand_path(__dir__) + template_path = ENV['PWD'] + '/app/templates' + all_template = Dir.glob(template_path+'/*/') + puts 'copying publications module' + all_template.each do |folder| + if folder.split('/')[-1] != 'mobile' + begin + system ('cp -r '+ app_path + '/modules/ ' + folder) + rescue + puts 'error copy' + end + end + end +end # Describe your gem and declare its dependencies: Gem::Specification.new do |s| s.name = "publications"

    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