PDF Viewer for Elementor - Version 2.9.2

Version Description

  • 2020-08-25 =
  • Tested up to WP 5.5
  • Tested with Elementor v3+
Download this release

Release Info

Developer redlettuce
Plugin Icon PDF Viewer for Elementor
Version 2.9.2
Comparing to
See all releases

Version 2.9.2

Files changed (4) hide show
  1. LICENSE +339 -0
  2. README.txt +41 -0
  3. assets/pdfjs/build/pdf.js +25354 -0
  4. assets/pdfjs/build/pdf.js.map +1 -0
LICENSE ADDED
@@ -0,0 +1,339 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ GNU GENERAL PUBLIC LICENSE
2
+ Version 2, June 1991
3
+
4
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
5
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
6
+ Everyone is permitted to copy and distribute verbatim copies
7
+ of this license document, but changing it is not allowed.
8
+
9
+ Preamble
10
+
11
+ The licenses for most software are designed to take away your
12
+ freedom to share and change it. By contrast, the GNU General Public
13
+ License is intended to guarantee your freedom to share and change free
14
+ software--to make sure the software is free for all its users. This
15
+ General Public License applies to most of the Free Software
16
+ Foundation's software and to any other program whose authors commit to
17
+ using it. (Some other Free Software Foundation software is covered by
18
+ the GNU Lesser General Public License instead.) You can apply it to
19
+ your programs, too.
20
+
21
+ When we speak of free software, we are referring to freedom, not
22
+ price. Our General Public Licenses are designed to make sure that you
23
+ have the freedom to distribute copies of free software (and charge for
24
+ this service if you wish), that you receive source code or can get it
25
+ if you want it, that you can change the software or use pieces of it
26
+ in new free programs; and that you know you can do these things.
27
+
28
+ To protect your rights, we need to make restrictions that forbid
29
+ anyone to deny you these rights or to ask you to surrender the rights.
30
+ These restrictions translate to certain responsibilities for you if you
31
+ distribute copies of the software, or if you modify it.
32
+
33
+ For example, if you distribute copies of such a program, whether
34
+ gratis or for a fee, you must give the recipients all the rights that
35
+ you have. You must make sure that they, too, receive or can get the
36
+ source code. And you must show them these terms so they know their
37
+ rights.
38
+
39
+ We protect your rights with two steps: (1) copyright the software, and
40
+ (2) offer you this license which gives you legal permission to copy,
41
+ distribute and/or modify the software.
42
+
43
+ Also, for each author's protection and ours, we want to make certain
44
+ that everyone understands that there is no warranty for this free
45
+ software. If the software is modified by someone else and passed on, we
46
+ want its recipients to know that what they have is not the original, so
47
+ that any problems introduced by others will not reflect on the original
48
+ authors' reputations.
49
+
50
+ Finally, any free program is threatened constantly by software
51
+ patents. We wish to avoid the danger that redistributors of a free
52
+ program will individually obtain patent licenses, in effect making the
53
+ program proprietary. To prevent this, we have made it clear that any
54
+ patent must be licensed for everyone's free use or not licensed at all.
55
+
56
+ The precise terms and conditions for copying, distribution and
57
+ modification follow.
58
+
59
+ GNU GENERAL PUBLIC LICENSE
60
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
61
+
62
+ 0. This License applies to any program or other work which contains
63
+ a notice placed by the copyright holder saying it may be distributed
64
+ under the terms of this General Public License. The "Program", below,
65
+ refers to any such program or work, and a "work based on the Program"
66
+ means either the Program or any derivative work under copyright law:
67
+ that is to say, a work containing the Program or a portion of it,
68
+ either verbatim or with modifications and/or translated into another
69
+ language. (Hereinafter, translation is included without limitation in
70
+ the term "modification".) Each licensee is addressed as "you".
71
+
72
+ Activities other than copying, distribution and modification are not
73
+ covered by this License; they are outside its scope. The act of
74
+ running the Program is not restricted, and the output from the Program
75
+ is covered only if its contents constitute a work based on the
76
+ Program (independent of having been made by running the Program).
77
+ Whether that is true depends on what the Program does.
78
+
79
+ 1. You may copy and distribute verbatim copies of the Program's
80
+ source code as you receive it, in any medium, provided that you
81
+ conspicuously and appropriately publish on each copy an appropriate
82
+ copyright notice and disclaimer of warranty; keep intact all the
83
+ notices that refer to this License and to the absence of any warranty;
84
+ and give any other recipients of the Program a copy of this License
85
+ along with the Program.
86
+
87
+ You may charge a fee for the physical act of transferring a copy, and
88
+ you may at your option offer warranty protection in exchange for a fee.
89
+
90
+ 2. You may modify your copy or copies of the Program or any portion
91
+ of it, thus forming a work based on the Program, and copy and
92
+ distribute such modifications or work under the terms of Section 1
93
+ above, provided that you also meet all of these conditions:
94
+
95
+ a) You must cause the modified files to carry prominent notices
96
+ stating that you changed the files and the date of any change.
97
+
98
+ b) You must cause any work that you distribute or publish, that in
99
+ whole or in part contains or is derived from the Program or any
100
+ part thereof, to be licensed as a whole at no charge to all third
101
+ parties under the terms of this License.
102
+
103
+ c) If the modified program normally reads commands interactively
104
+ when run, you must cause it, when started running for such
105
+ interactive use in the most ordinary way, to print or display an
106
+ announcement including an appropriate copyright notice and a
107
+ notice that there is no warranty (or else, saying that you provide
108
+ a warranty) and that users may redistribute the program under
109
+ these conditions, and telling the user how to view a copy of this
110
+ License. (Exception: if the Program itself is interactive but
111
+ does not normally print such an announcement, your work based on
112
+ the Program is not required to print an announcement.)
113
+
114
+ These requirements apply to the modified work as a whole. If
115
+ identifiable sections of that work are not derived from the Program,
116
+ and can be reasonably considered independent and separate works in
117
+ themselves, then this License, and its terms, do not apply to those
118
+ sections when you distribute them as separate works. But when you
119
+ distribute the same sections as part of a whole which is a work based
120
+ on the Program, the distribution of the whole must be on the terms of
121
+ this License, whose permissions for other licensees extend to the
122
+ entire whole, and thus to each and every part regardless of who wrote it.
123
+
124
+ Thus, it is not the intent of this section to claim rights or contest
125
+ your rights to work written entirely by you; rather, the intent is to
126
+ exercise the right to control the distribution of derivative or
127
+ collective works based on the Program.
128
+
129
+ In addition, mere aggregation of another work not based on the Program
130
+ with the Program (or with a work based on the Program) on a volume of
131
+ a storage or distribution medium does not bring the other work under
132
+ the scope of this License.
133
+
134
+ 3. You may copy and distribute the Program (or a work based on it,
135
+ under Section 2) in object code or executable form under the terms of
136
+ Sections 1 and 2 above provided that you also do one of the following:
137
+
138
+ a) Accompany it with the complete corresponding machine-readable
139
+ source code, which must be distributed under the terms of Sections
140
+ 1 and 2 above on a medium customarily used for software interchange; or,
141
+
142
+ b) Accompany it with a written offer, valid for at least three
143
+ years, to give any third party, for a charge no more than your
144
+ cost of physically performing source distribution, a complete
145
+ machine-readable copy of the corresponding source code, to be
146
+ distributed under the terms of Sections 1 and 2 above on a medium
147
+ customarily used for software interchange; or,
148
+
149
+ c) Accompany it with the information you received as to the offer
150
+ to distribute corresponding source code. (This alternative is
151
+ allowed only for noncommercial distribution and only if you
152
+ received the program in object code or executable form with such
153
+ an offer, in accord with Subsection b above.)
154
+
155
+ The source code for a work means the preferred form of the work for
156
+ making modifications to it. For an executable work, complete source
157
+ code means all the source code for all modules it contains, plus any
158
+ associated interface definition files, plus the scripts used to
159
+ control compilation and installation of the executable. However, as a
160
+ special exception, the source code distributed need not include
161
+ anything that is normally distributed (in either source or binary
162
+ form) with the major components (compiler, kernel, and so on) of the
163
+ operating system on which the executable runs, unless that component
164
+ itself accompanies the executable.
165
+
166
+ If distribution of executable or object code is made by offering
167
+ access to copy from a designated place, then offering equivalent
168
+ access to copy the source code from the same place counts as
169
+ distribution of the source code, even though third parties are not
170
+ compelled to copy the source along with the object code.
171
+
172
+ 4. You may not copy, modify, sublicense, or distribute the Program
173
+ except as expressly provided under this License. Any attempt
174
+ otherwise to copy, modify, sublicense or distribute the Program is
175
+ void, and will automatically terminate your rights under this License.
176
+ However, parties who have received copies, or rights, from you under
177
+ this License will not have their licenses terminated so long as such
178
+ parties remain in full compliance.
179
+
180
+ 5. You are not required to accept this License, since you have not
181
+ signed it. However, nothing else grants you permission to modify or
182
+ distribute the Program or its derivative works. These actions are
183
+ prohibited by law if you do not accept this License. Therefore, by
184
+ modifying or distributing the Program (or any work based on the
185
+ Program), you indicate your acceptance of this License to do so, and
186
+ all its terms and conditions for copying, distributing or modifying
187
+ the Program or works based on it.
188
+
189
+ 6. Each time you redistribute the Program (or any work based on the
190
+ Program), the recipient automatically receives a license from the
191
+ original licensor to copy, distribute or modify the Program subject to
192
+ these terms and conditions. You may not impose any further
193
+ restrictions on the recipients' exercise of the rights granted herein.
194
+ You are not responsible for enforcing compliance by third parties to
195
+ this License.
196
+
197
+ 7. If, as a consequence of a court judgment or allegation of patent
198
+ infringement or for any other reason (not limited to patent issues),
199
+ conditions are imposed on you (whether by court order, agreement or
200
+ otherwise) that contradict the conditions of this License, they do not
201
+ excuse you from the conditions of this License. If you cannot
202
+ distribute so as to satisfy simultaneously your obligations under this
203
+ License and any other pertinent obligations, then as a consequence you
204
+ may not distribute the Program at all. For example, if a patent
205
+ license would not permit royalty-free redistribution of the Program by
206
+ all those who receive copies directly or indirectly through you, then
207
+ the only way you could satisfy both it and this License would be to
208
+ refrain entirely from distribution of the Program.
209
+
210
+ If any portion of this section is held invalid or unenforceable under
211
+ any particular circumstance, the balance of the section is intended to
212
+ apply and the section as a whole is intended to apply in other
213
+ circumstances.
214
+
215
+ It is not the purpose of this section to induce you to infringe any
216
+ patents or other property right claims or to contest validity of any
217
+ such claims; this section has the sole purpose of protecting the
218
+ integrity of the free software distribution system, which is
219
+ implemented by public license practices. Many people have made
220
+ generous contributions to the wide range of software distributed
221
+ through that system in reliance on consistent application of that
222
+ system; it is up to the author/donor to decide if he or she is willing
223
+ to distribute software through any other system and a licensee cannot
224
+ impose that choice.
225
+
226
+ This section is intended to make thoroughly clear what is believed to
227
+ be a consequence of the rest of this License.
228
+
229
+ 8. If the distribution and/or use of the Program is restricted in
230
+ certain countries either by patents or by copyrighted interfaces, the
231
+ original copyright holder who places the Program under this License
232
+ may add an explicit geographical distribution limitation excluding
233
+ those countries, so that distribution is permitted only in or among
234
+ countries not thus excluded. In such case, this License incorporates
235
+ the limitation as if written in the body of this License.
236
+
237
+ 9. The Free Software Foundation may publish revised and/or new versions
238
+ of the General Public License from time to time. Such new versions will
239
+ be similar in spirit to the present version, but may differ in detail to
240
+ address new problems or concerns.
241
+
242
+ Each version is given a distinguishing version number. If the Program
243
+ specifies a version number of this License which applies to it and "any
244
+ later version", you have the option of following the terms and conditions
245
+ either of that version or of any later version published by the Free
246
+ Software Foundation. If the Program does not specify a version number of
247
+ this License, you may choose any version ever published by the Free Software
248
+ Foundation.
249
+
250
+ 10. If you wish to incorporate parts of the Program into other free
251
+ programs whose distribution conditions are different, write to the author
252
+ to ask for permission. For software which is copyrighted by the Free
253
+ Software Foundation, write to the Free Software Foundation; we sometimes
254
+ make exceptions for this. Our decision will be guided by the two goals
255
+ of preserving the free status of all derivatives of our free software and
256
+ of promoting the sharing and reuse of software generally.
257
+
258
+ NO WARRANTY
259
+
260
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
261
+ FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
262
+ OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
263
+ PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
264
+ OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
265
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
266
+ TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
267
+ PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
268
+ REPAIR OR CORRECTION.
269
+
270
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
271
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
272
+ REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
273
+ INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
274
+ OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
275
+ TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
276
+ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
277
+ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
278
+ POSSIBILITY OF SUCH DAMAGES.
279
+
280
+ END OF TERMS AND CONDITIONS
281
+
282
+ How to Apply These Terms to Your New Programs
283
+
284
+ If you develop a new program, and you want it to be of the greatest
285
+ possible use to the public, the best way to achieve this is to make it
286
+ free software which everyone can redistribute and change under these terms.
287
+
288
+ To do so, attach the following notices to the program. It is safest
289
+ to attach them to the start of each source file to most effectively
290
+ convey the exclusion of warranty; and each file should have at least
291
+ the "copyright" line and a pointer to where the full notice is found.
292
+
293
+ <one line to give the program's name and a brief idea of what it does.>
294
+ Copyright (C) <year> <name of author>
295
+
296
+ This program is free software; you can redistribute it and/or modify
297
+ it under the terms of the GNU General Public License as published by
298
+ the Free Software Foundation; either version 2 of the License, or
299
+ (at your option) any later version.
300
+
301
+ This program is distributed in the hope that it will be useful,
302
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
303
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
304
+ GNU General Public License for more details.
305
+
306
+ You should have received a copy of the GNU General Public License along
307
+ with this program; if not, write to the Free Software Foundation, Inc.,
308
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
309
+
310
+ Also add information on how to contact you by electronic and paper mail.
311
+
312
+ If the program is interactive, make it output a short notice like this
313
+ when it starts in an interactive mode:
314
+
315
+ Gnomovision version 69, Copyright (C) year name of author
316
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
317
+ This is free software, and you are welcome to redistribute it
318
+ under certain conditions; type `show c' for details.
319
+
320
+ The hypothetical commands `show w' and `show c' should show the appropriate
321
+ parts of the General Public License. Of course, the commands you use may
322
+ be called something other than `show w' and `show c'; they could even be
323
+ mouse-clicks or menu items--whatever suits your program.
324
+
325
+ You should also get your employer (if you work as a programmer) or your
326
+ school, if any, to sign a "copyright disclaimer" for the program, if
327
+ necessary. Here is a sample; alter the names:
328
+
329
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
330
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
331
+
332
+ <signature of Ty Coon>, 1 April 1989
333
+ Ty Coon, President of Vice
334
+
335
+ This General Public License does not permit incorporating your program into
336
+ proprietary programs. If your program is a subroutine library, you may
337
+ consider it more useful to permit linking proprietary applications with the
338
+ library. If this is what you want to do, use the GNU Lesser General
339
+ Public License instead of this License.
README.txt ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === PDF viewer for Elementor ===
2
+ Contributors: redlettuce
3
+ Requires at least: 5.1
4
+ Tested up to: 5.5
5
+ Requires PHP: 7.1
6
+ Stable tag: 4.3
7
+ Tags: pdf, elementor, elementor widget, elements, viewer
8
+ License: GPLv2 or later
9
+ License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
+
11
+ This plugin helps you embed PDF documents to Elementor quickly and easily.
12
+
13
+ == Description ==
14
+
15
+ This plugin helps you embed PDF documents to Elementor quickly and easily.
16
+
17
+ We're compatible with Elementor v3+ :)
18
+
19
+ == Installation ==
20
+
21
+ 1) Upload the plugin files to the /wp-content/plugins/pdf-viewer-for-elementor directory of your site or blog, or install the plugin through the WordPress plugins screen directly.
22
+ 2) Activate the plugin through the ‘Plugins’ screen in WordPress
23
+
24
+
25
+ == Screenshots ==
26
+
27
+ 1. Settings
28
+ 2. Widgets
29
+
30
+ == Changelog ==
31
+
32
+ = 2.9.2 - 2020-08-25 =
33
+ * Tested up to WP 5.5
34
+ * Tested with Elementor v3+
35
+
36
+ = 2.9.1 - 2020-05-29 =
37
+ * Plugin details changed
38
+ * Tested up to WP 5.4.1
39
+ * Changelog now active
40
+
41
+
assets/pdfjs/build/pdf.js ADDED
@@ -0,0 +1,25354 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * @licstart The following is the entire license notice for the
3
+ * Javascript code in this page
4
+ *
5
+ * Copyright 2020 Mozilla Foundation
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ *
19
+ * @licend The above is the entire license notice for the
20
+ * Javascript code in this page
21
+ */
22
+
23
+ (function webpackUniversalModuleDefinition(root, factory) {
24
+ if(typeof exports === 'object' && typeof module === 'object')
25
+ module.exports = factory();
26
+ else if(typeof define === 'function' && define.amd)
27
+ define("pdfjs-dist/build/pdf", [], factory);
28
+ else if(typeof exports === 'object')
29
+ exports["pdfjs-dist/build/pdf"] = factory();
30
+ else
31
+ root["pdfjs-dist/build/pdf"] = root.pdfjsLib = factory();
32
+ })(this, function() {
33
+ return /******/ (function(modules) { // webpackBootstrap
34
+ /******/ // The module cache
35
+ /******/ var installedModules = {};
36
+ /******/
37
+ /******/ // The require function
38
+ /******/ function __w_pdfjs_require__(moduleId) {
39
+ /******/
40
+ /******/ // Check if module is in cache
41
+ /******/ if(installedModules[moduleId]) {
42
+ /******/ return installedModules[moduleId].exports;
43
+ /******/ }
44
+ /******/ // Create a new module (and put it into the cache)
45
+ /******/ var module = installedModules[moduleId] = {
46
+ /******/ i: moduleId,
47
+ /******/ l: false,
48
+ /******/ exports: {}
49
+ /******/ };
50
+ /******/
51
+ /******/ // Execute the module function
52
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);
53
+ /******/
54
+ /******/ // Flag the module as loaded
55
+ /******/ module.l = true;
56
+ /******/
57
+ /******/ // Return the exports of the module
58
+ /******/ return module.exports;
59
+ /******/ }
60
+ /******/
61
+ /******/
62
+ /******/ // expose the modules object (__webpack_modules__)
63
+ /******/ __w_pdfjs_require__.m = modules;
64
+ /******/
65
+ /******/ // expose the module cache
66
+ /******/ __w_pdfjs_require__.c = installedModules;
67
+ /******/
68
+ /******/ // define getter function for harmony exports
69
+ /******/ __w_pdfjs_require__.d = function(exports, name, getter) {
70
+ /******/ if(!__w_pdfjs_require__.o(exports, name)) {
71
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
72
+ /******/ }
73
+ /******/ };
74
+ /******/
75
+ /******/ // define __esModule on exports
76
+ /******/ __w_pdfjs_require__.r = function(exports) {
77
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
78
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
79
+ /******/ }
80
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
81
+ /******/ };
82
+ /******/
83
+ /******/ // create a fake namespace object
84
+ /******/ // mode & 1: value is a module id, require it
85
+ /******/ // mode & 2: merge all properties of value into the ns
86
+ /******/ // mode & 4: return value when already ns object
87
+ /******/ // mode & 8|1: behave like require
88
+ /******/ __w_pdfjs_require__.t = function(value, mode) {
89
+ /******/ if(mode & 1) value = __w_pdfjs_require__(value);
90
+ /******/ if(mode & 8) return value;
91
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
92
+ /******/ var ns = Object.create(null);
93
+ /******/ __w_pdfjs_require__.r(ns);
94
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
95
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
96
+ /******/ return ns;
97
+ /******/ };
98
+ /******/
99
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
100
+ /******/ __w_pdfjs_require__.n = function(module) {
101
+ /******/ var getter = module && module.__esModule ?
102
+ /******/ function getDefault() { return module['default']; } :
103
+ /******/ function getModuleExports() { return module; };
104
+ /******/ __w_pdfjs_require__.d(getter, 'a', getter);
105
+ /******/ return getter;
106
+ /******/ };
107
+ /******/
108
+ /******/ // Object.prototype.hasOwnProperty.call
109
+ /******/ __w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
110
+ /******/
111
+ /******/ // __webpack_public_path__
112
+ /******/ __w_pdfjs_require__.p = "";
113
+ /******/
114
+ /******/
115
+ /******/ // Load entry module and return exports
116
+ /******/ return __w_pdfjs_require__(__w_pdfjs_require__.s = 0);
117
+ /******/ })
118
+ /************************************************************************/
119
+ /******/ ([
120
+ /* 0 */
121
+ /***/ (function(module, exports, __w_pdfjs_require__) {
122
+
123
+ "use strict";
124
+
125
+
126
+ var pdfjsVersion = '2.4.349';
127
+ var pdfjsBuild = 'dced0a38';
128
+
129
+ var pdfjsSharedUtil = __w_pdfjs_require__(1);
130
+
131
+ var pdfjsDisplayAPI = __w_pdfjs_require__(185);
132
+
133
+ var pdfjsDisplayTextLayer = __w_pdfjs_require__(200);
134
+
135
+ var pdfjsDisplayAnnotationLayer = __w_pdfjs_require__(201);
136
+
137
+ var pdfjsDisplayDisplayUtils = __w_pdfjs_require__(189);
138
+
139
+ var pdfjsDisplaySVG = __w_pdfjs_require__(202);
140
+
141
+ var pdfjsDisplayWorkerOptions = __w_pdfjs_require__(194);
142
+
143
+ var pdfjsDisplayAPICompatibility = __w_pdfjs_require__(191);
144
+
145
+ {
146
+ var _require = __w_pdfjs_require__(48),
147
+ isNodeJS = _require.isNodeJS;
148
+
149
+ if (isNodeJS) {
150
+ var PDFNodeStream = __w_pdfjs_require__(203).PDFNodeStream;
151
+
152
+ pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {
153
+ return new PDFNodeStream(params);
154
+ });
155
+ } else {
156
+ var PDFNetworkStream = __w_pdfjs_require__(206).PDFNetworkStream;
157
+
158
+ var PDFFetchStream;
159
+
160
+ if (pdfjsDisplayDisplayUtils.isFetchSupported()) {
161
+ PDFFetchStream = __w_pdfjs_require__(207).PDFFetchStream;
162
+ }
163
+
164
+ pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {
165
+ if (PDFFetchStream && pdfjsDisplayDisplayUtils.isValidFetchUrl(params.url)) {
166
+ return new PDFFetchStream(params);
167
+ }
168
+
169
+ return new PDFNetworkStream(params);
170
+ });
171
+ }
172
+ }
173
+ exports.build = pdfjsDisplayAPI.build;
174
+ exports.version = pdfjsDisplayAPI.version;
175
+ exports.getDocument = pdfjsDisplayAPI.getDocument;
176
+ exports.LoopbackPort = pdfjsDisplayAPI.LoopbackPort;
177
+ exports.PDFDataRangeTransport = pdfjsDisplayAPI.PDFDataRangeTransport;
178
+ exports.PDFWorker = pdfjsDisplayAPI.PDFWorker;
179
+ exports.renderTextLayer = pdfjsDisplayTextLayer.renderTextLayer;
180
+ exports.AnnotationLayer = pdfjsDisplayAnnotationLayer.AnnotationLayer;
181
+ exports.createPromiseCapability = pdfjsSharedUtil.createPromiseCapability;
182
+ exports.PasswordResponses = pdfjsSharedUtil.PasswordResponses;
183
+ exports.InvalidPDFException = pdfjsSharedUtil.InvalidPDFException;
184
+ exports.MissingPDFException = pdfjsSharedUtil.MissingPDFException;
185
+ exports.SVGGraphics = pdfjsDisplaySVG.SVGGraphics;
186
+ exports.NativeImageDecoding = pdfjsSharedUtil.NativeImageDecoding;
187
+ exports.CMapCompressionType = pdfjsSharedUtil.CMapCompressionType;
188
+ exports.PermissionFlag = pdfjsSharedUtil.PermissionFlag;
189
+ exports.UnexpectedResponseException = pdfjsSharedUtil.UnexpectedResponseException;
190
+ exports.OPS = pdfjsSharedUtil.OPS;
191
+ exports.VerbosityLevel = pdfjsSharedUtil.VerbosityLevel;
192
+ exports.UNSUPPORTED_FEATURES = pdfjsSharedUtil.UNSUPPORTED_FEATURES;
193
+ exports.createValidAbsoluteUrl = pdfjsSharedUtil.createValidAbsoluteUrl;
194
+ exports.createObjectURL = pdfjsSharedUtil.createObjectURL;
195
+ exports.removeNullCharacters = pdfjsSharedUtil.removeNullCharacters;
196
+ exports.shadow = pdfjsSharedUtil.shadow;
197
+ exports.Util = pdfjsSharedUtil.Util;
198
+ exports.RenderingCancelledException = pdfjsDisplayDisplayUtils.RenderingCancelledException;
199
+ exports.getFilenameFromUrl = pdfjsDisplayDisplayUtils.getFilenameFromUrl;
200
+ exports.LinkTarget = pdfjsDisplayDisplayUtils.LinkTarget;
201
+ exports.addLinkAttributes = pdfjsDisplayDisplayUtils.addLinkAttributes;
202
+ exports.loadScript = pdfjsDisplayDisplayUtils.loadScript;
203
+ exports.PDFDateString = pdfjsDisplayDisplayUtils.PDFDateString;
204
+ exports.GlobalWorkerOptions = pdfjsDisplayWorkerOptions.GlobalWorkerOptions;
205
+ exports.apiCompatibilityParams = pdfjsDisplayAPICompatibility.apiCompatibilityParams;
206
+
207
+ /***/ }),
208
+ /* 1 */
209
+ /***/ (function(module, exports, __w_pdfjs_require__) {
210
+
211
+ "use strict";
212
+
213
+
214
+ Object.defineProperty(exports, "__esModule", {
215
+ value: true
216
+ });
217
+ exports.arrayByteLength = arrayByteLength;
218
+ exports.arraysToBytes = arraysToBytes;
219
+ exports.assert = assert;
220
+ exports.bytesToString = bytesToString;
221
+ exports.createPromiseCapability = createPromiseCapability;
222
+ exports.getVerbosityLevel = getVerbosityLevel;
223
+ exports.info = info;
224
+ exports.isArrayBuffer = isArrayBuffer;
225
+ exports.isArrayEqual = isArrayEqual;
226
+ exports.isBool = isBool;
227
+ exports.isEmptyObj = isEmptyObj;
228
+ exports.isNum = isNum;
229
+ exports.isString = isString;
230
+ exports.isSameOrigin = isSameOrigin;
231
+ exports.createValidAbsoluteUrl = createValidAbsoluteUrl;
232
+ exports.isLittleEndian = isLittleEndian;
233
+ exports.isEvalSupported = isEvalSupported;
234
+ exports.removeNullCharacters = removeNullCharacters;
235
+ exports.setVerbosityLevel = setVerbosityLevel;
236
+ exports.shadow = shadow;
237
+ exports.string32 = string32;
238
+ exports.stringToBytes = stringToBytes;
239
+ exports.stringToPDFString = stringToPDFString;
240
+ exports.stringToUTF8String = stringToUTF8String;
241
+ exports.utf8StringToString = utf8StringToString;
242
+ exports.warn = warn;
243
+ exports.unreachable = unreachable;
244
+ exports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.NativeImageDecoding = exports.MissingPDFException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = exports.BaseException = void 0;
245
+
246
+ __w_pdfjs_require__(2);
247
+
248
+ 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); } }
249
+
250
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
251
+
252
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
253
+
254
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
255
+
256
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
257
+
258
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
259
+
260
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
261
+
262
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
263
+
264
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
265
+
266
+ var IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];
267
+ exports.IDENTITY_MATRIX = IDENTITY_MATRIX;
268
+ var FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];
269
+ exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;
270
+ var NativeImageDecoding = {
271
+ NONE: "none",
272
+ DECODE: "decode",
273
+ DISPLAY: "display"
274
+ };
275
+ exports.NativeImageDecoding = NativeImageDecoding;
276
+ var PermissionFlag = {
277
+ PRINT: 0x04,
278
+ MODIFY_CONTENTS: 0x08,
279
+ COPY: 0x10,
280
+ MODIFY_ANNOTATIONS: 0x20,
281
+ FILL_INTERACTIVE_FORMS: 0x100,
282
+ COPY_FOR_ACCESSIBILITY: 0x200,
283
+ ASSEMBLE: 0x400,
284
+ PRINT_HIGH_QUALITY: 0x800
285
+ };
286
+ exports.PermissionFlag = PermissionFlag;
287
+ var TextRenderingMode = {
288
+ FILL: 0,
289
+ STROKE: 1,
290
+ FILL_STROKE: 2,
291
+ INVISIBLE: 3,
292
+ FILL_ADD_TO_PATH: 4,
293
+ STROKE_ADD_TO_PATH: 5,
294
+ FILL_STROKE_ADD_TO_PATH: 6,
295
+ ADD_TO_PATH: 7,
296
+ FILL_STROKE_MASK: 3,
297
+ ADD_TO_PATH_FLAG: 4
298
+ };
299
+ exports.TextRenderingMode = TextRenderingMode;
300
+ var ImageKind = {
301
+ GRAYSCALE_1BPP: 1,
302
+ RGB_24BPP: 2,
303
+ RGBA_32BPP: 3
304
+ };
305
+ exports.ImageKind = ImageKind;
306
+ var AnnotationType = {
307
+ TEXT: 1,
308
+ LINK: 2,
309
+ FREETEXT: 3,
310
+ LINE: 4,
311
+ SQUARE: 5,
312
+ CIRCLE: 6,
313
+ POLYGON: 7,
314
+ POLYLINE: 8,
315
+ HIGHLIGHT: 9,
316
+ UNDERLINE: 10,
317
+ SQUIGGLY: 11,
318
+ STRIKEOUT: 12,
319
+ STAMP: 13,
320
+ CARET: 14,
321
+ INK: 15,
322
+ POPUP: 16,
323
+ FILEATTACHMENT: 17,
324
+ SOUND: 18,
325
+ MOVIE: 19,
326
+ WIDGET: 20,
327
+ SCREEN: 21,
328
+ PRINTERMARK: 22,
329
+ TRAPNET: 23,
330
+ WATERMARK: 24,
331
+ THREED: 25,
332
+ REDACT: 26
333
+ };
334
+ exports.AnnotationType = AnnotationType;
335
+ var AnnotationStateModelType = {
336
+ MARKED: "Marked",
337
+ REVIEW: "Review"
338
+ };
339
+ exports.AnnotationStateModelType = AnnotationStateModelType;
340
+ var AnnotationMarkedState = {
341
+ MARKED: "Marked",
342
+ UNMARKED: "Unmarked"
343
+ };
344
+ exports.AnnotationMarkedState = AnnotationMarkedState;
345
+ var AnnotationReviewState = {
346
+ ACCEPTED: "Accepted",
347
+ REJECTED: "Rejected",
348
+ CANCELLED: "Cancelled",
349
+ COMPLETED: "Completed",
350
+ NONE: "None"
351
+ };
352
+ exports.AnnotationReviewState = AnnotationReviewState;
353
+ var AnnotationReplyType = {
354
+ GROUP: "Group",
355
+ REPLY: "R"
356
+ };
357
+ exports.AnnotationReplyType = AnnotationReplyType;
358
+ var AnnotationFlag = {
359
+ INVISIBLE: 0x01,
360
+ HIDDEN: 0x02,
361
+ PRINT: 0x04,
362
+ NOZOOM: 0x08,
363
+ NOROTATE: 0x10,
364
+ NOVIEW: 0x20,
365
+ READONLY: 0x40,
366
+ LOCKED: 0x80,
367
+ TOGGLENOVIEW: 0x100,
368
+ LOCKEDCONTENTS: 0x200
369
+ };
370
+ exports.AnnotationFlag = AnnotationFlag;
371
+ var AnnotationFieldFlag = {
372
+ READONLY: 0x0000001,
373
+ REQUIRED: 0x0000002,
374
+ NOEXPORT: 0x0000004,
375
+ MULTILINE: 0x0001000,
376
+ PASSWORD: 0x0002000,
377
+ NOTOGGLETOOFF: 0x0004000,
378
+ RADIO: 0x0008000,
379
+ PUSHBUTTON: 0x0010000,
380
+ COMBO: 0x0020000,
381
+ EDIT: 0x0040000,
382
+ SORT: 0x0080000,
383
+ FILESELECT: 0x0100000,
384
+ MULTISELECT: 0x0200000,
385
+ DONOTSPELLCHECK: 0x0400000,
386
+ DONOTSCROLL: 0x0800000,
387
+ COMB: 0x1000000,
388
+ RICHTEXT: 0x2000000,
389
+ RADIOSINUNISON: 0x2000000,
390
+ COMMITONSELCHANGE: 0x4000000
391
+ };
392
+ exports.AnnotationFieldFlag = AnnotationFieldFlag;
393
+ var AnnotationBorderStyleType = {
394
+ SOLID: 1,
395
+ DASHED: 2,
396
+ BEVELED: 3,
397
+ INSET: 4,
398
+ UNDERLINE: 5
399
+ };
400
+ exports.AnnotationBorderStyleType = AnnotationBorderStyleType;
401
+ var StreamType = {
402
+ UNKNOWN: "UNKNOWN",
403
+ FLATE: "FLATE",
404
+ LZW: "LZW",
405
+ DCT: "DCT",
406
+ JPX: "JPX",
407
+ JBIG: "JBIG",
408
+ A85: "A85",
409
+ AHX: "AHX",
410
+ CCF: "CCF",
411
+ RLX: "RLX"
412
+ };
413
+ exports.StreamType = StreamType;
414
+ var FontType = {
415
+ UNKNOWN: "UNKNOWN",
416
+ TYPE1: "TYPE1",
417
+ TYPE1C: "TYPE1C",
418
+ CIDFONTTYPE0: "CIDFONTTYPE0",
419
+ CIDFONTTYPE0C: "CIDFONTTYPE0C",
420
+ TRUETYPE: "TRUETYPE",
421
+ CIDFONTTYPE2: "CIDFONTTYPE2",
422
+ TYPE3: "TYPE3",
423
+ OPENTYPE: "OPENTYPE",
424
+ TYPE0: "TYPE0",
425
+ MMTYPE1: "MMTYPE1"
426
+ };
427
+ exports.FontType = FontType;
428
+ var VerbosityLevel = {
429
+ ERRORS: 0,
430
+ WARNINGS: 1,
431
+ INFOS: 5
432
+ };
433
+ exports.VerbosityLevel = VerbosityLevel;
434
+ var CMapCompressionType = {
435
+ NONE: 0,
436
+ BINARY: 1,
437
+ STREAM: 2
438
+ };
439
+ exports.CMapCompressionType = CMapCompressionType;
440
+ var OPS = {
441
+ dependency: 1,
442
+ setLineWidth: 2,
443
+ setLineCap: 3,
444
+ setLineJoin: 4,
445
+ setMiterLimit: 5,
446
+ setDash: 6,
447
+ setRenderingIntent: 7,
448
+ setFlatness: 8,
449
+ setGState: 9,
450
+ save: 10,
451
+ restore: 11,
452
+ transform: 12,
453
+ moveTo: 13,
454
+ lineTo: 14,
455
+ curveTo: 15,
456
+ curveTo2: 16,
457
+ curveTo3: 17,
458
+ closePath: 18,
459
+ rectangle: 19,
460
+ stroke: 20,
461
+ closeStroke: 21,
462
+ fill: 22,
463
+ eoFill: 23,
464
+ fillStroke: 24,
465
+ eoFillStroke: 25,
466
+ closeFillStroke: 26,
467
+ closeEOFillStroke: 27,
468
+ endPath: 28,
469
+ clip: 29,
470
+ eoClip: 30,
471
+ beginText: 31,
472
+ endText: 32,
473
+ setCharSpacing: 33,
474
+ setWordSpacing: 34,
475
+ setHScale: 35,
476
+ setLeading: 36,
477
+ setFont: 37,
478
+ setTextRenderingMode: 38,
479
+ setTextRise: 39,
480
+ moveText: 40,
481
+ setLeadingMoveText: 41,
482
+ setTextMatrix: 42,
483
+ nextLine: 43,
484
+ showText: 44,
485
+ showSpacedText: 45,
486
+ nextLineShowText: 46,
487
+ nextLineSetSpacingShowText: 47,
488
+ setCharWidth: 48,
489
+ setCharWidthAndBounds: 49,
490
+ setStrokeColorSpace: 50,
491
+ setFillColorSpace: 51,
492
+ setStrokeColor: 52,
493
+ setStrokeColorN: 53,
494
+ setFillColor: 54,
495
+ setFillColorN: 55,
496
+ setStrokeGray: 56,
497
+ setFillGray: 57,
498
+ setStrokeRGBColor: 58,
499
+ setFillRGBColor: 59,
500
+ setStrokeCMYKColor: 60,
501
+ setFillCMYKColor: 61,
502
+ shadingFill: 62,
503
+ beginInlineImage: 63,
504
+ beginImageData: 64,
505
+ endInlineImage: 65,
506
+ paintXObject: 66,
507
+ markPoint: 67,
508
+ markPointProps: 68,
509
+ beginMarkedContent: 69,
510
+ beginMarkedContentProps: 70,
511
+ endMarkedContent: 71,
512
+ beginCompat: 72,
513
+ endCompat: 73,
514
+ paintFormXObjectBegin: 74,
515
+ paintFormXObjectEnd: 75,
516
+ beginGroup: 76,
517
+ endGroup: 77,
518
+ beginAnnotations: 78,
519
+ endAnnotations: 79,
520
+ beginAnnotation: 80,
521
+ endAnnotation: 81,
522
+ paintJpegXObject: 82,
523
+ paintImageMaskXObject: 83,
524
+ paintImageMaskXObjectGroup: 84,
525
+ paintImageXObject: 85,
526
+ paintInlineImageXObject: 86,
527
+ paintInlineImageXObjectGroup: 87,
528
+ paintImageXObjectRepeat: 88,
529
+ paintImageMaskXObjectRepeat: 89,
530
+ paintSolidColorImageMask: 90,
531
+ constructPath: 91
532
+ };
533
+ exports.OPS = OPS;
534
+ var UNSUPPORTED_FEATURES = {
535
+ unknown: "unknown",
536
+ forms: "forms",
537
+ javaScript: "javaScript",
538
+ smask: "smask",
539
+ shadingPattern: "shadingPattern",
540
+ font: "font"
541
+ };
542
+ exports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;
543
+ var PasswordResponses = {
544
+ NEED_PASSWORD: 1,
545
+ INCORRECT_PASSWORD: 2
546
+ };
547
+ exports.PasswordResponses = PasswordResponses;
548
+ var verbosity = VerbosityLevel.WARNINGS;
549
+
550
+ function setVerbosityLevel(level) {
551
+ if (Number.isInteger(level)) {
552
+ verbosity = level;
553
+ }
554
+ }
555
+
556
+ function getVerbosityLevel() {
557
+ return verbosity;
558
+ }
559
+
560
+ function info(msg) {
561
+ if (verbosity >= VerbosityLevel.INFOS) {
562
+ console.log("Info: ".concat(msg));
563
+ }
564
+ }
565
+
566
+ function warn(msg) {
567
+ if (verbosity >= VerbosityLevel.WARNINGS) {
568
+ console.log("Warning: ".concat(msg));
569
+ }
570
+ }
571
+
572
+ function unreachable(msg) {
573
+ throw new Error(msg);
574
+ }
575
+
576
+ function assert(cond, msg) {
577
+ if (!cond) {
578
+ unreachable(msg);
579
+ }
580
+ }
581
+
582
+ function isSameOrigin(baseUrl, otherUrl) {
583
+ var base;
584
+
585
+ try {
586
+ base = new URL(baseUrl);
587
+
588
+ if (!base.origin || base.origin === "null") {
589
+ return false;
590
+ }
591
+ } catch (e) {
592
+ return false;
593
+ }
594
+
595
+ var other = new URL(otherUrl, base);
596
+ return base.origin === other.origin;
597
+ }
598
+
599
+ function _isValidProtocol(url) {
600
+ if (!url) {
601
+ return false;
602
+ }
603
+
604
+ switch (url.protocol) {
605
+ case "http:":
606
+ case "https:":
607
+ case "ftp:":
608
+ case "mailto:":
609
+ case "tel:":
610
+ return true;
611
+
612
+ default:
613
+ return false;
614
+ }
615
+ }
616
+
617
+ function createValidAbsoluteUrl(url, baseUrl) {
618
+ if (!url) {
619
+ return null;
620
+ }
621
+
622
+ try {
623
+ var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);
624
+
625
+ if (_isValidProtocol(absoluteUrl)) {
626
+ return absoluteUrl;
627
+ }
628
+ } catch (ex) {}
629
+
630
+ return null;
631
+ }
632
+
633
+ function shadow(obj, prop, value) {
634
+ Object.defineProperty(obj, prop, {
635
+ value: value,
636
+ enumerable: true,
637
+ configurable: true,
638
+ writable: false
639
+ });
640
+ return value;
641
+ }
642
+
643
+ var BaseException = function BaseExceptionClosure() {
644
+ function BaseException(message) {
645
+ if (this.constructor === BaseException) {
646
+ unreachable("Cannot initialize BaseException.");
647
+ }
648
+
649
+ this.message = message;
650
+ this.name = this.constructor.name;
651
+ }
652
+
653
+ BaseException.prototype = new Error();
654
+ BaseException.constructor = BaseException;
655
+ return BaseException;
656
+ }();
657
+
658
+ exports.BaseException = BaseException;
659
+
660
+ var PasswordException =
661
+ /*#__PURE__*/
662
+ function (_BaseException) {
663
+ _inherits(PasswordException, _BaseException);
664
+
665
+ function PasswordException(msg, code) {
666
+ var _this;
667
+
668
+ _classCallCheck(this, PasswordException);
669
+
670
+ _this = _possibleConstructorReturn(this, _getPrototypeOf(PasswordException).call(this, msg));
671
+ _this.code = code;
672
+ return _this;
673
+ }
674
+
675
+ return PasswordException;
676
+ }(BaseException);
677
+
678
+ exports.PasswordException = PasswordException;
679
+
680
+ var UnknownErrorException =
681
+ /*#__PURE__*/
682
+ function (_BaseException2) {
683
+ _inherits(UnknownErrorException, _BaseException2);
684
+
685
+ function UnknownErrorException(msg, details) {
686
+ var _this2;
687
+
688
+ _classCallCheck(this, UnknownErrorException);
689
+
690
+ _this2 = _possibleConstructorReturn(this, _getPrototypeOf(UnknownErrorException).call(this, msg));
691
+ _this2.details = details;
692
+ return _this2;
693
+ }
694
+
695
+ return UnknownErrorException;
696
+ }(BaseException);
697
+
698
+ exports.UnknownErrorException = UnknownErrorException;
699
+
700
+ var InvalidPDFException =
701
+ /*#__PURE__*/
702
+ function (_BaseException3) {
703
+ _inherits(InvalidPDFException, _BaseException3);
704
+
705
+ function InvalidPDFException() {
706
+ _classCallCheck(this, InvalidPDFException);
707
+
708
+ return _possibleConstructorReturn(this, _getPrototypeOf(InvalidPDFException).apply(this, arguments));
709
+ }
710
+
711
+ return InvalidPDFException;
712
+ }(BaseException);
713
+
714
+ exports.InvalidPDFException = InvalidPDFException;
715
+
716
+ var MissingPDFException =
717
+ /*#__PURE__*/
718
+ function (_BaseException4) {
719
+ _inherits(MissingPDFException, _BaseException4);
720
+
721
+ function MissingPDFException() {
722
+ _classCallCheck(this, MissingPDFException);
723
+
724
+ return _possibleConstructorReturn(this, _getPrototypeOf(MissingPDFException).apply(this, arguments));
725
+ }
726
+
727
+ return MissingPDFException;
728
+ }(BaseException);
729
+
730
+ exports.MissingPDFException = MissingPDFException;
731
+
732
+ var UnexpectedResponseException =
733
+ /*#__PURE__*/
734
+ function (_BaseException5) {
735
+ _inherits(UnexpectedResponseException, _BaseException5);
736
+
737
+ function UnexpectedResponseException(msg, status) {
738
+ var _this3;
739
+
740
+ _classCallCheck(this, UnexpectedResponseException);
741
+
742
+ _this3 = _possibleConstructorReturn(this, _getPrototypeOf(UnexpectedResponseException).call(this, msg));
743
+ _this3.status = status;
744
+ return _this3;
745
+ }
746
+
747
+ return UnexpectedResponseException;
748
+ }(BaseException);
749
+
750
+ exports.UnexpectedResponseException = UnexpectedResponseException;
751
+
752
+ var FormatError =
753
+ /*#__PURE__*/
754
+ function (_BaseException6) {
755
+ _inherits(FormatError, _BaseException6);
756
+
757
+ function FormatError() {
758
+ _classCallCheck(this, FormatError);
759
+
760
+ return _possibleConstructorReturn(this, _getPrototypeOf(FormatError).apply(this, arguments));
761
+ }
762
+
763
+ return FormatError;
764
+ }(BaseException);
765
+
766
+ exports.FormatError = FormatError;
767
+
768
+ var AbortException =
769
+ /*#__PURE__*/
770
+ function (_BaseException7) {
771
+ _inherits(AbortException, _BaseException7);
772
+
773
+ function AbortException() {
774
+ _classCallCheck(this, AbortException);
775
+
776
+ return _possibleConstructorReturn(this, _getPrototypeOf(AbortException).apply(this, arguments));
777
+ }
778
+
779
+ return AbortException;
780
+ }(BaseException);
781
+
782
+ exports.AbortException = AbortException;
783
+ var NullCharactersRegExp = /\x00/g;
784
+
785
+ function removeNullCharacters(str) {
786
+ if (typeof str !== "string") {
787
+ warn("The argument for removeNullCharacters must be a string.");
788
+ return str;
789
+ }
790
+
791
+ return str.replace(NullCharactersRegExp, "");
792
+ }
793
+
794
+ function bytesToString(bytes) {
795
+ assert(bytes !== null && _typeof(bytes) === "object" && bytes.length !== undefined, "Invalid argument for bytesToString");
796
+ var length = bytes.length;
797
+ var MAX_ARGUMENT_COUNT = 8192;
798
+
799
+ if (length < MAX_ARGUMENT_COUNT) {
800
+ return String.fromCharCode.apply(null, bytes);
801
+ }
802
+
803
+ var strBuf = [];
804
+
805
+ for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {
806
+ var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);
807
+ var chunk = bytes.subarray(i, chunkEnd);
808
+ strBuf.push(String.fromCharCode.apply(null, chunk));
809
+ }
810
+
811
+ return strBuf.join("");
812
+ }
813
+
814
+ function stringToBytes(str) {
815
+ assert(typeof str === "string", "Invalid argument for stringToBytes");
816
+ var length = str.length;
817
+ var bytes = new Uint8Array(length);
818
+
819
+ for (var i = 0; i < length; ++i) {
820
+ bytes[i] = str.charCodeAt(i) & 0xff;
821
+ }
822
+
823
+ return bytes;
824
+ }
825
+
826
+ function arrayByteLength(arr) {
827
+ if (arr.length !== undefined) {
828
+ return arr.length;
829
+ }
830
+
831
+ assert(arr.byteLength !== undefined);
832
+ return arr.byteLength;
833
+ }
834
+
835
+ function arraysToBytes(arr) {
836
+ var length = arr.length;
837
+
838
+ if (length === 1 && arr[0] instanceof Uint8Array) {
839
+ return arr[0];
840
+ }
841
+
842
+ var resultLength = 0;
843
+
844
+ for (var i = 0; i < length; i++) {
845
+ resultLength += arrayByteLength(arr[i]);
846
+ }
847
+
848
+ var pos = 0;
849
+ var data = new Uint8Array(resultLength);
850
+
851
+ for (var _i = 0; _i < length; _i++) {
852
+ var item = arr[_i];
853
+
854
+ if (!(item instanceof Uint8Array)) {
855
+ if (typeof item === "string") {
856
+ item = stringToBytes(item);
857
+ } else {
858
+ item = new Uint8Array(item);
859
+ }
860
+ }
861
+
862
+ var itemLength = item.byteLength;
863
+ data.set(item, pos);
864
+ pos += itemLength;
865
+ }
866
+
867
+ return data;
868
+ }
869
+
870
+ function string32(value) {
871
+ return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);
872
+ }
873
+
874
+ function isLittleEndian() {
875
+ var buffer8 = new Uint8Array(4);
876
+ buffer8[0] = 1;
877
+ var view32 = new Uint32Array(buffer8.buffer, 0, 1);
878
+ return view32[0] === 1;
879
+ }
880
+
881
+ function isEvalSupported() {
882
+ try {
883
+ new Function("");
884
+ return true;
885
+ } catch (e) {
886
+ return false;
887
+ }
888
+ }
889
+
890
+ var rgbBuf = ["rgb(", 0, ",", 0, ",", 0, ")"];
891
+
892
+ var Util =
893
+ /*#__PURE__*/
894
+ function () {
895
+ function Util() {
896
+ _classCallCheck(this, Util);
897
+ }
898
+
899
+ _createClass(Util, null, [{
900
+ key: "makeCssRgb",
901
+ value: function makeCssRgb(r, g, b) {
902
+ rgbBuf[1] = r;
903
+ rgbBuf[3] = g;
904
+ rgbBuf[5] = b;
905
+ return rgbBuf.join("");
906
+ }
907
+ }, {
908
+ key: "transform",
909
+ value: function transform(m1, m2) {
910
+ 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]];
911
+ }
912
+ }, {
913
+ key: "applyTransform",
914
+ value: function applyTransform(p, m) {
915
+ var xt = p[0] * m[0] + p[1] * m[2] + m[4];
916
+ var yt = p[0] * m[1] + p[1] * m[3] + m[5];
917
+ return [xt, yt];
918
+ }
919
+ }, {
920
+ key: "applyInverseTransform",
921
+ value: function applyInverseTransform(p, m) {
922
+ var d = m[0] * m[3] - m[1] * m[2];
923
+ var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;
924
+ var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;
925
+ return [xt, yt];
926
+ }
927
+ }, {
928
+ key: "getAxialAlignedBoundingBox",
929
+ value: function getAxialAlignedBoundingBox(r, m) {
930
+ var p1 = Util.applyTransform(r, m);
931
+ var p2 = Util.applyTransform(r.slice(2, 4), m);
932
+ var p3 = Util.applyTransform([r[0], r[3]], m);
933
+ var p4 = Util.applyTransform([r[2], r[1]], m);
934
+ 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])];
935
+ }
936
+ }, {
937
+ key: "inverseTransform",
938
+ value: function inverseTransform(m) {
939
+ var d = m[0] * m[3] - m[1] * m[2];
940
+ 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];
941
+ }
942
+ }, {
943
+ key: "apply3dTransform",
944
+ value: function apply3dTransform(m, v) {
945
+ 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]];
946
+ }
947
+ }, {
948
+ key: "singularValueDecompose2dScale",
949
+ value: function singularValueDecompose2dScale(m) {
950
+ var transpose = [m[0], m[2], m[1], m[3]];
951
+ var a = m[0] * transpose[0] + m[1] * transpose[2];
952
+ var b = m[0] * transpose[1] + m[1] * transpose[3];
953
+ var c = m[2] * transpose[0] + m[3] * transpose[2];
954
+ var d = m[2] * transpose[1] + m[3] * transpose[3];
955
+ var first = (a + d) / 2;
956
+ var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;
957
+ var sx = first + second || 1;
958
+ var sy = first - second || 1;
959
+ return [Math.sqrt(sx), Math.sqrt(sy)];
960
+ }
961
+ }, {
962
+ key: "normalizeRect",
963
+ value: function normalizeRect(rect) {
964
+ var r = rect.slice(0);
965
+
966
+ if (rect[0] > rect[2]) {
967
+ r[0] = rect[2];
968
+ r[2] = rect[0];
969
+ }
970
+
971
+ if (rect[1] > rect[3]) {
972
+ r[1] = rect[3];
973
+ r[3] = rect[1];
974
+ }
975
+
976
+ return r;
977
+ }
978
+ }, {
979
+ key: "intersect",
980
+ value: function intersect(rect1, rect2) {
981
+ function compare(a, b) {
982
+ return a - b;
983
+ }
984
+
985
+ var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);
986
+ var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);
987
+ var result = [];
988
+ rect1 = Util.normalizeRect(rect1);
989
+ rect2 = Util.normalizeRect(rect2);
990
+
991
+ if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {
992
+ result[0] = orderedX[1];
993
+ result[2] = orderedX[2];
994
+ } else {
995
+ return null;
996
+ }
997
+
998
+ if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {
999
+ result[1] = orderedY[1];
1000
+ result[3] = orderedY[2];
1001
+ } else {
1002
+ return null;
1003
+ }
1004
+
1005
+ return result;
1006
+ }
1007
+ }]);
1008
+
1009
+ return Util;
1010
+ }();
1011
+
1012
+ exports.Util = Util;
1013
+ 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];
1014
+
1015
+ function stringToPDFString(str) {
1016
+ var length = str.length,
1017
+ strBuf = [];
1018
+
1019
+ if (str[0] === "\xFE" && str[1] === "\xFF") {
1020
+ for (var i = 2; i < length; i += 2) {
1021
+ strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));
1022
+ }
1023
+ } else if (str[0] === "\xFF" && str[1] === "\xFE") {
1024
+ for (var _i2 = 2; _i2 < length; _i2 += 2) {
1025
+ strBuf.push(String.fromCharCode(str.charCodeAt(_i2 + 1) << 8 | str.charCodeAt(_i2)));
1026
+ }
1027
+ } else {
1028
+ for (var _i3 = 0; _i3 < length; ++_i3) {
1029
+ var code = PDFStringTranslateTable[str.charCodeAt(_i3)];
1030
+ strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i3));
1031
+ }
1032
+ }
1033
+
1034
+ return strBuf.join("");
1035
+ }
1036
+
1037
+ function stringToUTF8String(str) {
1038
+ return decodeURIComponent(escape(str));
1039
+ }
1040
+
1041
+ function utf8StringToString(str) {
1042
+ return unescape(encodeURIComponent(str));
1043
+ }
1044
+
1045
+ function isEmptyObj(obj) {
1046
+ for (var key in obj) {
1047
+ return false;
1048
+ }
1049
+
1050
+ return true;
1051
+ }
1052
+
1053
+ function isBool(v) {
1054
+ return typeof v === "boolean";
1055
+ }
1056
+
1057
+ function isNum(v) {
1058
+ return typeof v === "number";
1059
+ }
1060
+
1061
+ function isString(v) {
1062
+ return typeof v === "string";
1063
+ }
1064
+
1065
+ function isArrayBuffer(v) {
1066
+ return _typeof(v) === "object" && v !== null && v.byteLength !== undefined;
1067
+ }
1068
+
1069
+ function isArrayEqual(arr1, arr2) {
1070
+ if (arr1.length !== arr2.length) {
1071
+ return false;
1072
+ }
1073
+
1074
+ return arr1.every(function (element, index) {
1075
+ return element === arr2[index];
1076
+ });
1077
+ }
1078
+
1079
+ function createPromiseCapability() {
1080
+ var capability = Object.create(null);
1081
+ var isSettled = false;
1082
+ Object.defineProperty(capability, "settled", {
1083
+ get: function get() {
1084
+ return isSettled;
1085
+ }
1086
+ });
1087
+ capability.promise = new Promise(function (resolve, reject) {
1088
+ capability.resolve = function (data) {
1089
+ isSettled = true;
1090
+ resolve(data);
1091
+ };
1092
+
1093
+ capability.reject = function (reason) {
1094
+ isSettled = true;
1095
+ reject(reason);
1096
+ };
1097
+ });
1098
+ return capability;
1099
+ }
1100
+
1101
+ var createObjectURL = function createObjectURLClosure() {
1102
+ var digits = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
1103
+ return function createObjectURL(data, contentType) {
1104
+ var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
1105
+
1106
+ if (!forceDataSchema && URL.createObjectURL) {
1107
+ var blob = new Blob([data], {
1108
+ type: contentType
1109
+ });
1110
+ return URL.createObjectURL(blob);
1111
+ }
1112
+
1113
+ var buffer = "data:".concat(contentType, ";base64,");
1114
+
1115
+ for (var i = 0, ii = data.length; i < ii; i += 3) {
1116
+ var b1 = data[i] & 0xff;
1117
+ var b2 = data[i + 1] & 0xff;
1118
+ var b3 = data[i + 2] & 0xff;
1119
+ var d1 = b1 >> 2,
1120
+ d2 = (b1 & 3) << 4 | b2 >> 4;
1121
+ var d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;
1122
+ var d4 = i + 2 < ii ? b3 & 0x3f : 64;
1123
+ buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];
1124
+ }
1125
+
1126
+ return buffer;
1127
+ };
1128
+ }();
1129
+
1130
+ exports.createObjectURL = createObjectURL;
1131
+
1132
+ /***/ }),
1133
+ /* 2 */
1134
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1135
+
1136
+ "use strict";
1137
+
1138
+
1139
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
1140
+
1141
+ if (typeof globalThis === "undefined" || !globalThis._pdfjsCompatibilityChecked) {
1142
+ if (typeof globalThis === "undefined" || globalThis.Math !== Math) {
1143
+ globalThis = __w_pdfjs_require__(3);
1144
+ }
1145
+
1146
+ globalThis._pdfjsCompatibilityChecked = true;
1147
+
1148
+ var _require = __w_pdfjs_require__(48),
1149
+ isNodeJS = _require.isNodeJS;
1150
+
1151
+ var hasDOM = (typeof window === "undefined" ? "undefined" : _typeof(window)) === "object" && (typeof document === "undefined" ? "undefined" : _typeof(document)) === "object";
1152
+ var userAgent = typeof navigator !== "undefined" && navigator.userAgent || "";
1153
+ var isIE = /Trident/.test(userAgent);
1154
+
1155
+ (function checkNodeBtoa() {
1156
+ if (globalThis.btoa || !isNodeJS) {
1157
+ return;
1158
+ }
1159
+
1160
+ globalThis.btoa = function (chars) {
1161
+ return Buffer.from(chars, "binary").toString("base64");
1162
+ };
1163
+ })();
1164
+
1165
+ (function checkNodeAtob() {
1166
+ if (globalThis.atob || !isNodeJS) {
1167
+ return;
1168
+ }
1169
+
1170
+ globalThis.atob = function (input) {
1171
+ return Buffer.from(input, "base64").toString("binary");
1172
+ };
1173
+ })();
1174
+
1175
+ (function checkChildNodeRemove() {
1176
+ if (!hasDOM) {
1177
+ return;
1178
+ }
1179
+
1180
+ if (typeof Element.prototype.remove !== "undefined") {
1181
+ return;
1182
+ }
1183
+
1184
+ Element.prototype.remove = function () {
1185
+ if (this.parentNode) {
1186
+ this.parentNode.removeChild(this);
1187
+ }
1188
+ };
1189
+ })();
1190
+
1191
+ (function checkDOMTokenListAddRemove() {
1192
+ if (!hasDOM || isNodeJS) {
1193
+ return;
1194
+ }
1195
+
1196
+ var div = document.createElement("div");
1197
+ div.classList.add("testOne", "testTwo");
1198
+
1199
+ if (div.classList.contains("testOne") === true && div.classList.contains("testTwo") === true) {
1200
+ return;
1201
+ }
1202
+
1203
+ var OriginalDOMTokenListAdd = DOMTokenList.prototype.add;
1204
+ var OriginalDOMTokenListRemove = DOMTokenList.prototype.remove;
1205
+
1206
+ DOMTokenList.prototype.add = function () {
1207
+ for (var _len = arguments.length, tokens = new Array(_len), _key = 0; _key < _len; _key++) {
1208
+ tokens[_key] = arguments[_key];
1209
+ }
1210
+
1211
+ for (var _i = 0, _tokens = tokens; _i < _tokens.length; _i++) {
1212
+ var token = _tokens[_i];
1213
+ OriginalDOMTokenListAdd.call(this, token);
1214
+ }
1215
+ };
1216
+
1217
+ DOMTokenList.prototype.remove = function () {
1218
+ for (var _len2 = arguments.length, tokens = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
1219
+ tokens[_key2] = arguments[_key2];
1220
+ }
1221
+
1222
+ for (var _i2 = 0, _tokens2 = tokens; _i2 < _tokens2.length; _i2++) {
1223
+ var token = _tokens2[_i2];
1224
+ OriginalDOMTokenListRemove.call(this, token);
1225
+ }
1226
+ };
1227
+ })();
1228
+
1229
+ (function checkDOMTokenListToggle() {
1230
+ if (!hasDOM || isNodeJS) {
1231
+ return;
1232
+ }
1233
+
1234
+ var div = document.createElement("div");
1235
+
1236
+ if (div.classList.toggle("test", 0) === false) {
1237
+ return;
1238
+ }
1239
+
1240
+ DOMTokenList.prototype.toggle = function (token) {
1241
+ var force = arguments.length > 1 ? !!arguments[1] : !this.contains(token);
1242
+ return this[force ? "add" : "remove"](token), force;
1243
+ };
1244
+ })();
1245
+
1246
+ (function checkWindowHistoryPushStateReplaceState() {
1247
+ if (!hasDOM || !isIE) {
1248
+ return;
1249
+ }
1250
+
1251
+ var OriginalPushState = window.history.pushState;
1252
+ var OriginalReplaceState = window.history.replaceState;
1253
+
1254
+ window.history.pushState = function (state, title, url) {
1255
+ var args = url === undefined ? [state, title] : [state, title, url];
1256
+ OriginalPushState.apply(this, args);
1257
+ };
1258
+
1259
+ window.history.replaceState = function (state, title, url) {
1260
+ var args = url === undefined ? [state, title] : [state, title, url];
1261
+ OriginalReplaceState.apply(this, args);
1262
+ };
1263
+ })();
1264
+
1265
+ (function checkStringStartsWith() {
1266
+ if (String.prototype.startsWith) {
1267
+ return;
1268
+ }
1269
+
1270
+ __w_pdfjs_require__(49);
1271
+ })();
1272
+
1273
+ (function checkStringEndsWith() {
1274
+ if (String.prototype.endsWith) {
1275
+ return;
1276
+ }
1277
+
1278
+ __w_pdfjs_require__(60);
1279
+ })();
1280
+
1281
+ (function checkStringIncludes() {
1282
+ if (String.prototype.includes) {
1283
+ return;
1284
+ }
1285
+
1286
+ __w_pdfjs_require__(62);
1287
+ })();
1288
+
1289
+ (function checkArrayIncludes() {
1290
+ if (Array.prototype.includes) {
1291
+ return;
1292
+ }
1293
+
1294
+ __w_pdfjs_require__(64);
1295
+ })();
1296
+
1297
+ (function checkArrayFrom() {
1298
+ if (Array.from) {
1299
+ return;
1300
+ }
1301
+
1302
+ __w_pdfjs_require__(72);
1303
+ })();
1304
+
1305
+ (function checkObjectAssign() {
1306
+ if (Object.assign) {
1307
+ return;
1308
+ }
1309
+
1310
+ __w_pdfjs_require__(94);
1311
+ })();
1312
+
1313
+ (function checkMathLog2() {
1314
+ if (Math.log2) {
1315
+ return;
1316
+ }
1317
+
1318
+ Math.log2 = __w_pdfjs_require__(97);
1319
+ })();
1320
+
1321
+ (function checkNumberIsNaN() {
1322
+ if (Number.isNaN) {
1323
+ return;
1324
+ }
1325
+
1326
+ Number.isNaN = __w_pdfjs_require__(99);
1327
+ })();
1328
+
1329
+ (function checkNumberIsInteger() {
1330
+ if (Number.isInteger) {
1331
+ return;
1332
+ }
1333
+
1334
+ Number.isInteger = __w_pdfjs_require__(101);
1335
+ })();
1336
+
1337
+ (function checkPromise() {
1338
+ if (globalThis.Promise && globalThis.Promise.allSettled) {
1339
+ return;
1340
+ }
1341
+
1342
+ globalThis.Promise = __w_pdfjs_require__(104);
1343
+ })();
1344
+
1345
+ (function checkURL() {
1346
+ globalThis.URL = __w_pdfjs_require__(128);
1347
+ })();
1348
+
1349
+ (function checkReadableStream() {
1350
+ var isReadableStreamSupported = false;
1351
+
1352
+ if (typeof ReadableStream !== "undefined") {
1353
+ try {
1354
+ new ReadableStream({
1355
+ start: function start(controller) {
1356
+ controller.close();
1357
+ }
1358
+ });
1359
+ isReadableStreamSupported = true;
1360
+ } catch (e) {}
1361
+ }
1362
+
1363
+ if (isReadableStreamSupported) {
1364
+ return;
1365
+ }
1366
+
1367
+ globalThis.ReadableStream = __w_pdfjs_require__(135).ReadableStream;
1368
+ })();
1369
+
1370
+ (function checkWeakMap() {
1371
+ if (globalThis.WeakMap) {
1372
+ return;
1373
+ }
1374
+
1375
+ globalThis.WeakMap = __w_pdfjs_require__(136);
1376
+ })();
1377
+
1378
+ (function checkWeakSet() {
1379
+ if (globalThis.WeakSet) {
1380
+ return;
1381
+ }
1382
+
1383
+ globalThis.WeakSet = __w_pdfjs_require__(146);
1384
+ })();
1385
+
1386
+ (function checkStringCodePointAt() {
1387
+ if (String.prototype.codePointAt) {
1388
+ return;
1389
+ }
1390
+
1391
+ __w_pdfjs_require__(148);
1392
+ })();
1393
+
1394
+ (function checkStringFromCodePoint() {
1395
+ if (String.fromCodePoint) {
1396
+ return;
1397
+ }
1398
+
1399
+ String.fromCodePoint = __w_pdfjs_require__(150);
1400
+ })();
1401
+
1402
+ (function checkSymbol() {
1403
+ if (globalThis.Symbol) {
1404
+ return;
1405
+ }
1406
+
1407
+ __w_pdfjs_require__(152);
1408
+ })();
1409
+
1410
+ (function checkStringPadStart() {
1411
+ if (String.prototype.padStart) {
1412
+ return;
1413
+ }
1414
+
1415
+ __w_pdfjs_require__(175);
1416
+ })();
1417
+
1418
+ (function checkStringPadEnd() {
1419
+ if (String.prototype.padEnd) {
1420
+ return;
1421
+ }
1422
+
1423
+ __w_pdfjs_require__(180);
1424
+ })();
1425
+
1426
+ (function checkObjectValues() {
1427
+ if (Object.values) {
1428
+ return;
1429
+ }
1430
+
1431
+ Object.values = __w_pdfjs_require__(182);
1432
+ })();
1433
+ }
1434
+
1435
+ /***/ }),
1436
+ /* 3 */
1437
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1438
+
1439
+ __w_pdfjs_require__(4);
1440
+ module.exports = __w_pdfjs_require__(6);
1441
+
1442
+ /***/ }),
1443
+ /* 4 */
1444
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1445
+
1446
+ var $ = __w_pdfjs_require__(5);
1447
+ var global = __w_pdfjs_require__(6);
1448
+ $({ global: true }, { globalThis: global });
1449
+
1450
+ /***/ }),
1451
+ /* 5 */
1452
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1453
+
1454
+ var global = __w_pdfjs_require__(6);
1455
+ var getOwnPropertyDescriptor = __w_pdfjs_require__(7).f;
1456
+ var createNonEnumerableProperty = __w_pdfjs_require__(21);
1457
+ var redefine = __w_pdfjs_require__(24);
1458
+ var setGlobal = __w_pdfjs_require__(25);
1459
+ var copyConstructorProperties = __w_pdfjs_require__(35);
1460
+ var isForced = __w_pdfjs_require__(47);
1461
+ module.exports = function (options, source) {
1462
+ var TARGET = options.target;
1463
+ var GLOBAL = options.global;
1464
+ var STATIC = options.stat;
1465
+ var FORCED, target, key, targetProperty, sourceProperty, descriptor;
1466
+ if (GLOBAL) {
1467
+ target = global;
1468
+ } else if (STATIC) {
1469
+ target = global[TARGET] || setGlobal(TARGET, {});
1470
+ } else {
1471
+ target = (global[TARGET] || {}).prototype;
1472
+ }
1473
+ if (target)
1474
+ for (key in source) {
1475
+ sourceProperty = source[key];
1476
+ if (options.noTargetGet) {
1477
+ descriptor = getOwnPropertyDescriptor(target, key);
1478
+ targetProperty = descriptor && descriptor.value;
1479
+ } else
1480
+ targetProperty = target[key];
1481
+ FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
1482
+ if (!FORCED && targetProperty !== undefined) {
1483
+ if (typeof sourceProperty === typeof targetProperty)
1484
+ continue;
1485
+ copyConstructorProperties(sourceProperty, targetProperty);
1486
+ }
1487
+ if (options.sham || targetProperty && targetProperty.sham) {
1488
+ createNonEnumerableProperty(sourceProperty, 'sham', true);
1489
+ }
1490
+ redefine(target, key, sourceProperty, options);
1491
+ }
1492
+ };
1493
+
1494
+ /***/ }),
1495
+ /* 6 */
1496
+ /***/ (function(module, exports) {
1497
+
1498
+ var check = function (it) {
1499
+ return it && it.Math == Math && it;
1500
+ };
1501
+ 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')();
1502
+
1503
+ /***/ }),
1504
+ /* 7 */
1505
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1506
+
1507
+ var DESCRIPTORS = __w_pdfjs_require__(8);
1508
+ var propertyIsEnumerableModule = __w_pdfjs_require__(10);
1509
+ var createPropertyDescriptor = __w_pdfjs_require__(11);
1510
+ var toIndexedObject = __w_pdfjs_require__(12);
1511
+ var toPrimitive = __w_pdfjs_require__(16);
1512
+ var has = __w_pdfjs_require__(18);
1513
+ var IE8_DOM_DEFINE = __w_pdfjs_require__(19);
1514
+ var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
1515
+ exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
1516
+ O = toIndexedObject(O);
1517
+ P = toPrimitive(P, true);
1518
+ if (IE8_DOM_DEFINE)
1519
+ try {
1520
+ return nativeGetOwnPropertyDescriptor(O, P);
1521
+ } catch (error) {
1522
+ }
1523
+ if (has(O, P))
1524
+ return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);
1525
+ };
1526
+
1527
+ /***/ }),
1528
+ /* 8 */
1529
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1530
+
1531
+ var fails = __w_pdfjs_require__(9);
1532
+ module.exports = !fails(function () {
1533
+ return Object.defineProperty({}, 1, {
1534
+ get: function () {
1535
+ return 7;
1536
+ }
1537
+ })[1] != 7;
1538
+ });
1539
+
1540
+ /***/ }),
1541
+ /* 9 */
1542
+ /***/ (function(module, exports) {
1543
+
1544
+ module.exports = function (exec) {
1545
+ try {
1546
+ return !!exec();
1547
+ } catch (error) {
1548
+ return true;
1549
+ }
1550
+ };
1551
+
1552
+ /***/ }),
1553
+ /* 10 */
1554
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1555
+
1556
+ "use strict";
1557
+
1558
+ var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
1559
+ var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
1560
+ var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
1561
+ exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
1562
+ var descriptor = getOwnPropertyDescriptor(this, V);
1563
+ return !!descriptor && descriptor.enumerable;
1564
+ } : nativePropertyIsEnumerable;
1565
+
1566
+ /***/ }),
1567
+ /* 11 */
1568
+ /***/ (function(module, exports) {
1569
+
1570
+ module.exports = function (bitmap, value) {
1571
+ return {
1572
+ enumerable: !(bitmap & 1),
1573
+ configurable: !(bitmap & 2),
1574
+ writable: !(bitmap & 4),
1575
+ value: value
1576
+ };
1577
+ };
1578
+
1579
+ /***/ }),
1580
+ /* 12 */
1581
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1582
+
1583
+ var IndexedObject = __w_pdfjs_require__(13);
1584
+ var requireObjectCoercible = __w_pdfjs_require__(15);
1585
+ module.exports = function (it) {
1586
+ return IndexedObject(requireObjectCoercible(it));
1587
+ };
1588
+
1589
+ /***/ }),
1590
+ /* 13 */
1591
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1592
+
1593
+ var fails = __w_pdfjs_require__(9);
1594
+ var classof = __w_pdfjs_require__(14);
1595
+ var split = ''.split;
1596
+ module.exports = fails(function () {
1597
+ return !Object('z').propertyIsEnumerable(0);
1598
+ }) ? function (it) {
1599
+ return classof(it) == 'String' ? split.call(it, '') : Object(it);
1600
+ } : Object;
1601
+
1602
+ /***/ }),
1603
+ /* 14 */
1604
+ /***/ (function(module, exports) {
1605
+
1606
+ var toString = {}.toString;
1607
+ module.exports = function (it) {
1608
+ return toString.call(it).slice(8, -1);
1609
+ };
1610
+
1611
+ /***/ }),
1612
+ /* 15 */
1613
+ /***/ (function(module, exports) {
1614
+
1615
+ module.exports = function (it) {
1616
+ if (it == undefined)
1617
+ throw TypeError("Can't call method on " + it);
1618
+ return it;
1619
+ };
1620
+
1621
+ /***/ }),
1622
+ /* 16 */
1623
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1624
+
1625
+ var isObject = __w_pdfjs_require__(17);
1626
+ module.exports = function (input, PREFERRED_STRING) {
1627
+ if (!isObject(input))
1628
+ return input;
1629
+ var fn, val;
1630
+ if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))
1631
+ return val;
1632
+ if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input)))
1633
+ return val;
1634
+ if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))
1635
+ return val;
1636
+ throw TypeError("Can't convert object to primitive value");
1637
+ };
1638
+
1639
+ /***/ }),
1640
+ /* 17 */
1641
+ /***/ (function(module, exports) {
1642
+
1643
+ module.exports = function (it) {
1644
+ return typeof it === 'object' ? it !== null : typeof it === 'function';
1645
+ };
1646
+
1647
+ /***/ }),
1648
+ /* 18 */
1649
+ /***/ (function(module, exports) {
1650
+
1651
+ var hasOwnProperty = {}.hasOwnProperty;
1652
+ module.exports = function (it, key) {
1653
+ return hasOwnProperty.call(it, key);
1654
+ };
1655
+
1656
+ /***/ }),
1657
+ /* 19 */
1658
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1659
+
1660
+ var DESCRIPTORS = __w_pdfjs_require__(8);
1661
+ var fails = __w_pdfjs_require__(9);
1662
+ var createElement = __w_pdfjs_require__(20);
1663
+ module.exports = !DESCRIPTORS && !fails(function () {
1664
+ return Object.defineProperty(createElement('div'), 'a', {
1665
+ get: function () {
1666
+ return 7;
1667
+ }
1668
+ }).a != 7;
1669
+ });
1670
+
1671
+ /***/ }),
1672
+ /* 20 */
1673
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1674
+
1675
+ var global = __w_pdfjs_require__(6);
1676
+ var isObject = __w_pdfjs_require__(17);
1677
+ var document = global.document;
1678
+ var EXISTS = isObject(document) && isObject(document.createElement);
1679
+ module.exports = function (it) {
1680
+ return EXISTS ? document.createElement(it) : {};
1681
+ };
1682
+
1683
+ /***/ }),
1684
+ /* 21 */
1685
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1686
+
1687
+ var DESCRIPTORS = __w_pdfjs_require__(8);
1688
+ var definePropertyModule = __w_pdfjs_require__(22);
1689
+ var createPropertyDescriptor = __w_pdfjs_require__(11);
1690
+ module.exports = DESCRIPTORS ? function (object, key, value) {
1691
+ return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
1692
+ } : function (object, key, value) {
1693
+ object[key] = value;
1694
+ return object;
1695
+ };
1696
+
1697
+ /***/ }),
1698
+ /* 22 */
1699
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1700
+
1701
+ var DESCRIPTORS = __w_pdfjs_require__(8);
1702
+ var IE8_DOM_DEFINE = __w_pdfjs_require__(19);
1703
+ var anObject = __w_pdfjs_require__(23);
1704
+ var toPrimitive = __w_pdfjs_require__(16);
1705
+ var nativeDefineProperty = Object.defineProperty;
1706
+ exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
1707
+ anObject(O);
1708
+ P = toPrimitive(P, true);
1709
+ anObject(Attributes);
1710
+ if (IE8_DOM_DEFINE)
1711
+ try {
1712
+ return nativeDefineProperty(O, P, Attributes);
1713
+ } catch (error) {
1714
+ }
1715
+ if ('get' in Attributes || 'set' in Attributes)
1716
+ throw TypeError('Accessors not supported');
1717
+ if ('value' in Attributes)
1718
+ O[P] = Attributes.value;
1719
+ return O;
1720
+ };
1721
+
1722
+ /***/ }),
1723
+ /* 23 */
1724
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1725
+
1726
+ var isObject = __w_pdfjs_require__(17);
1727
+ module.exports = function (it) {
1728
+ if (!isObject(it)) {
1729
+ throw TypeError(String(it) + ' is not an object');
1730
+ }
1731
+ return it;
1732
+ };
1733
+
1734
+ /***/ }),
1735
+ /* 24 */
1736
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1737
+
1738
+ var global = __w_pdfjs_require__(6);
1739
+ var createNonEnumerableProperty = __w_pdfjs_require__(21);
1740
+ var has = __w_pdfjs_require__(18);
1741
+ var setGlobal = __w_pdfjs_require__(25);
1742
+ var inspectSource = __w_pdfjs_require__(26);
1743
+ var InternalStateModule = __w_pdfjs_require__(28);
1744
+ var getInternalState = InternalStateModule.get;
1745
+ var enforceInternalState = InternalStateModule.enforce;
1746
+ var TEMPLATE = String(String).split('String');
1747
+ (module.exports = function (O, key, value, options) {
1748
+ var unsafe = options ? !!options.unsafe : false;
1749
+ var simple = options ? !!options.enumerable : false;
1750
+ var noTargetGet = options ? !!options.noTargetGet : false;
1751
+ if (typeof value == 'function') {
1752
+ if (typeof key == 'string' && !has(value, 'name'))
1753
+ createNonEnumerableProperty(value, 'name', key);
1754
+ enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
1755
+ }
1756
+ if (O === global) {
1757
+ if (simple)
1758
+ O[key] = value;
1759
+ else
1760
+ setGlobal(key, value);
1761
+ return;
1762
+ } else if (!unsafe) {
1763
+ delete O[key];
1764
+ } else if (!noTargetGet && O[key]) {
1765
+ simple = true;
1766
+ }
1767
+ if (simple)
1768
+ O[key] = value;
1769
+ else
1770
+ createNonEnumerableProperty(O, key, value);
1771
+ })(Function.prototype, 'toString', function toString() {
1772
+ return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
1773
+ });
1774
+
1775
+ /***/ }),
1776
+ /* 25 */
1777
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1778
+
1779
+ var global = __w_pdfjs_require__(6);
1780
+ var createNonEnumerableProperty = __w_pdfjs_require__(21);
1781
+ module.exports = function (key, value) {
1782
+ try {
1783
+ createNonEnumerableProperty(global, key, value);
1784
+ } catch (error) {
1785
+ global[key] = value;
1786
+ }
1787
+ return value;
1788
+ };
1789
+
1790
+ /***/ }),
1791
+ /* 26 */
1792
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1793
+
1794
+ var store = __w_pdfjs_require__(27);
1795
+ var functionToString = Function.toString;
1796
+ if (typeof store.inspectSource != 'function') {
1797
+ store.inspectSource = function (it) {
1798
+ return functionToString.call(it);
1799
+ };
1800
+ }
1801
+ module.exports = store.inspectSource;
1802
+
1803
+ /***/ }),
1804
+ /* 27 */
1805
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1806
+
1807
+ var global = __w_pdfjs_require__(6);
1808
+ var setGlobal = __w_pdfjs_require__(25);
1809
+ var SHARED = '__core-js_shared__';
1810
+ var store = global[SHARED] || setGlobal(SHARED, {});
1811
+ module.exports = store;
1812
+
1813
+ /***/ }),
1814
+ /* 28 */
1815
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1816
+
1817
+ var NATIVE_WEAK_MAP = __w_pdfjs_require__(29);
1818
+ var global = __w_pdfjs_require__(6);
1819
+ var isObject = __w_pdfjs_require__(17);
1820
+ var createNonEnumerableProperty = __w_pdfjs_require__(21);
1821
+ var objectHas = __w_pdfjs_require__(18);
1822
+ var sharedKey = __w_pdfjs_require__(30);
1823
+ var hiddenKeys = __w_pdfjs_require__(34);
1824
+ var WeakMap = global.WeakMap;
1825
+ var set, get, has;
1826
+ var enforce = function (it) {
1827
+ return has(it) ? get(it) : set(it, {});
1828
+ };
1829
+ var getterFor = function (TYPE) {
1830
+ return function (it) {
1831
+ var state;
1832
+ if (!isObject(it) || (state = get(it)).type !== TYPE) {
1833
+ throw TypeError('Incompatible receiver, ' + TYPE + ' required');
1834
+ }
1835
+ return state;
1836
+ };
1837
+ };
1838
+ if (NATIVE_WEAK_MAP) {
1839
+ var store = new WeakMap();
1840
+ var wmget = store.get;
1841
+ var wmhas = store.has;
1842
+ var wmset = store.set;
1843
+ set = function (it, metadata) {
1844
+ wmset.call(store, it, metadata);
1845
+ return metadata;
1846
+ };
1847
+ get = function (it) {
1848
+ return wmget.call(store, it) || {};
1849
+ };
1850
+ has = function (it) {
1851
+ return wmhas.call(store, it);
1852
+ };
1853
+ } else {
1854
+ var STATE = sharedKey('state');
1855
+ hiddenKeys[STATE] = true;
1856
+ set = function (it, metadata) {
1857
+ createNonEnumerableProperty(it, STATE, metadata);
1858
+ return metadata;
1859
+ };
1860
+ get = function (it) {
1861
+ return objectHas(it, STATE) ? it[STATE] : {};
1862
+ };
1863
+ has = function (it) {
1864
+ return objectHas(it, STATE);
1865
+ };
1866
+ }
1867
+ module.exports = {
1868
+ set: set,
1869
+ get: get,
1870
+ has: has,
1871
+ enforce: enforce,
1872
+ getterFor: getterFor
1873
+ };
1874
+
1875
+ /***/ }),
1876
+ /* 29 */
1877
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1878
+
1879
+ var global = __w_pdfjs_require__(6);
1880
+ var inspectSource = __w_pdfjs_require__(26);
1881
+ var WeakMap = global.WeakMap;
1882
+ module.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
1883
+
1884
+ /***/ }),
1885
+ /* 30 */
1886
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1887
+
1888
+ var shared = __w_pdfjs_require__(31);
1889
+ var uid = __w_pdfjs_require__(33);
1890
+ var keys = shared('keys');
1891
+ module.exports = function (key) {
1892
+ return keys[key] || (keys[key] = uid(key));
1893
+ };
1894
+
1895
+ /***/ }),
1896
+ /* 31 */
1897
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1898
+
1899
+ var IS_PURE = __w_pdfjs_require__(32);
1900
+ var store = __w_pdfjs_require__(27);
1901
+ (module.exports = function (key, value) {
1902
+ return store[key] || (store[key] = value !== undefined ? value : {});
1903
+ })('versions', []).push({
1904
+ version: '3.6.4',
1905
+ mode: IS_PURE ? 'pure' : 'global',
1906
+ copyright: '© 2020 Denis Pushkarev (zloirock.ru)'
1907
+ });
1908
+
1909
+ /***/ }),
1910
+ /* 32 */
1911
+ /***/ (function(module, exports) {
1912
+
1913
+ module.exports = false;
1914
+
1915
+ /***/ }),
1916
+ /* 33 */
1917
+ /***/ (function(module, exports) {
1918
+
1919
+ var id = 0;
1920
+ var postfix = Math.random();
1921
+ module.exports = function (key) {
1922
+ return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
1923
+ };
1924
+
1925
+ /***/ }),
1926
+ /* 34 */
1927
+ /***/ (function(module, exports) {
1928
+
1929
+ module.exports = {};
1930
+
1931
+ /***/ }),
1932
+ /* 35 */
1933
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1934
+
1935
+ var has = __w_pdfjs_require__(18);
1936
+ var ownKeys = __w_pdfjs_require__(36);
1937
+ var getOwnPropertyDescriptorModule = __w_pdfjs_require__(7);
1938
+ var definePropertyModule = __w_pdfjs_require__(22);
1939
+ module.exports = function (target, source) {
1940
+ var keys = ownKeys(source);
1941
+ var defineProperty = definePropertyModule.f;
1942
+ var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
1943
+ for (var i = 0; i < keys.length; i++) {
1944
+ var key = keys[i];
1945
+ if (!has(target, key))
1946
+ defineProperty(target, key, getOwnPropertyDescriptor(source, key));
1947
+ }
1948
+ };
1949
+
1950
+ /***/ }),
1951
+ /* 36 */
1952
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1953
+
1954
+ var getBuiltIn = __w_pdfjs_require__(37);
1955
+ var getOwnPropertyNamesModule = __w_pdfjs_require__(39);
1956
+ var getOwnPropertySymbolsModule = __w_pdfjs_require__(46);
1957
+ var anObject = __w_pdfjs_require__(23);
1958
+ module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
1959
+ var keys = getOwnPropertyNamesModule.f(anObject(it));
1960
+ var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
1961
+ return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
1962
+ };
1963
+
1964
+ /***/ }),
1965
+ /* 37 */
1966
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1967
+
1968
+ var path = __w_pdfjs_require__(38);
1969
+ var global = __w_pdfjs_require__(6);
1970
+ var aFunction = function (variable) {
1971
+ return typeof variable == 'function' ? variable : undefined;
1972
+ };
1973
+ module.exports = function (namespace, method) {
1974
+ return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];
1975
+ };
1976
+
1977
+ /***/ }),
1978
+ /* 38 */
1979
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1980
+
1981
+ var global = __w_pdfjs_require__(6);
1982
+ module.exports = global;
1983
+
1984
+ /***/ }),
1985
+ /* 39 */
1986
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1987
+
1988
+ var internalObjectKeys = __w_pdfjs_require__(40);
1989
+ var enumBugKeys = __w_pdfjs_require__(45);
1990
+ var hiddenKeys = enumBugKeys.concat('length', 'prototype');
1991
+ exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
1992
+ return internalObjectKeys(O, hiddenKeys);
1993
+ };
1994
+
1995
+ /***/ }),
1996
+ /* 40 */
1997
+ /***/ (function(module, exports, __w_pdfjs_require__) {
1998
+
1999
+ var has = __w_pdfjs_require__(18);
2000
+ var toIndexedObject = __w_pdfjs_require__(12);
2001
+ var indexOf = __w_pdfjs_require__(41).indexOf;
2002
+ var hiddenKeys = __w_pdfjs_require__(34);
2003
+ module.exports = function (object, names) {
2004
+ var O = toIndexedObject(object);
2005
+ var i = 0;
2006
+ var result = [];
2007
+ var key;
2008
+ for (key in O)
2009
+ !has(hiddenKeys, key) && has(O, key) && result.push(key);
2010
+ while (names.length > i)
2011
+ if (has(O, key = names[i++])) {
2012
+ ~indexOf(result, key) || result.push(key);
2013
+ }
2014
+ return result;
2015
+ };
2016
+
2017
+ /***/ }),
2018
+ /* 41 */
2019
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2020
+
2021
+ var toIndexedObject = __w_pdfjs_require__(12);
2022
+ var toLength = __w_pdfjs_require__(42);
2023
+ var toAbsoluteIndex = __w_pdfjs_require__(44);
2024
+ var createMethod = function (IS_INCLUDES) {
2025
+ return function ($this, el, fromIndex) {
2026
+ var O = toIndexedObject($this);
2027
+ var length = toLength(O.length);
2028
+ var index = toAbsoluteIndex(fromIndex, length);
2029
+ var value;
2030
+ if (IS_INCLUDES && el != el)
2031
+ while (length > index) {
2032
+ value = O[index++];
2033
+ if (value != value)
2034
+ return true;
2035
+ }
2036
+ else
2037
+ for (; length > index; index++) {
2038
+ if ((IS_INCLUDES || index in O) && O[index] === el)
2039
+ return IS_INCLUDES || index || 0;
2040
+ }
2041
+ return !IS_INCLUDES && -1;
2042
+ };
2043
+ };
2044
+ module.exports = {
2045
+ includes: createMethod(true),
2046
+ indexOf: createMethod(false)
2047
+ };
2048
+
2049
+ /***/ }),
2050
+ /* 42 */
2051
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2052
+
2053
+ var toInteger = __w_pdfjs_require__(43);
2054
+ var min = Math.min;
2055
+ module.exports = function (argument) {
2056
+ return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0;
2057
+ };
2058
+
2059
+ /***/ }),
2060
+ /* 43 */
2061
+ /***/ (function(module, exports) {
2062
+
2063
+ var ceil = Math.ceil;
2064
+ var floor = Math.floor;
2065
+ module.exports = function (argument) {
2066
+ return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
2067
+ };
2068
+
2069
+ /***/ }),
2070
+ /* 44 */
2071
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2072
+
2073
+ var toInteger = __w_pdfjs_require__(43);
2074
+ var max = Math.max;
2075
+ var min = Math.min;
2076
+ module.exports = function (index, length) {
2077
+ var integer = toInteger(index);
2078
+ return integer < 0 ? max(integer + length, 0) : min(integer, length);
2079
+ };
2080
+
2081
+ /***/ }),
2082
+ /* 45 */
2083
+ /***/ (function(module, exports) {
2084
+
2085
+ module.exports = [
2086
+ 'constructor',
2087
+ 'hasOwnProperty',
2088
+ 'isPrototypeOf',
2089
+ 'propertyIsEnumerable',
2090
+ 'toLocaleString',
2091
+ 'toString',
2092
+ 'valueOf'
2093
+ ];
2094
+
2095
+ /***/ }),
2096
+ /* 46 */
2097
+ /***/ (function(module, exports) {
2098
+
2099
+ exports.f = Object.getOwnPropertySymbols;
2100
+
2101
+ /***/ }),
2102
+ /* 47 */
2103
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2104
+
2105
+ var fails = __w_pdfjs_require__(9);
2106
+ var replacement = /#|\.prototype\./;
2107
+ var isForced = function (feature, detection) {
2108
+ var value = data[normalize(feature)];
2109
+ return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? fails(detection) : !!detection;
2110
+ };
2111
+ var normalize = isForced.normalize = function (string) {
2112
+ return String(string).replace(replacement, '.').toLowerCase();
2113
+ };
2114
+ var data = isForced.data = {};
2115
+ var NATIVE = isForced.NATIVE = 'N';
2116
+ var POLYFILL = isForced.POLYFILL = 'P';
2117
+ module.exports = isForced;
2118
+
2119
+ /***/ }),
2120
+ /* 48 */
2121
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2122
+
2123
+ "use strict";
2124
+
2125
+
2126
+ Object.defineProperty(exports, "__esModule", {
2127
+ value: true
2128
+ });
2129
+ exports.isNodeJS = void 0;
2130
+
2131
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
2132
+
2133
+ var isNodeJS = (typeof process === "undefined" ? "undefined" : _typeof(process)) === "object" && process + "" === "[object process]" && !process.versions["nw"] && !process.versions["electron"];
2134
+ exports.isNodeJS = isNodeJS;
2135
+
2136
+ /***/ }),
2137
+ /* 49 */
2138
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2139
+
2140
+ __w_pdfjs_require__(50);
2141
+ var entryUnbind = __w_pdfjs_require__(57);
2142
+ module.exports = entryUnbind('String', 'startsWith');
2143
+
2144
+ /***/ }),
2145
+ /* 50 */
2146
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2147
+
2148
+ "use strict";
2149
+
2150
+ var $ = __w_pdfjs_require__(5);
2151
+ var getOwnPropertyDescriptor = __w_pdfjs_require__(7).f;
2152
+ var toLength = __w_pdfjs_require__(42);
2153
+ var notARegExp = __w_pdfjs_require__(51);
2154
+ var requireObjectCoercible = __w_pdfjs_require__(15);
2155
+ var correctIsRegExpLogic = __w_pdfjs_require__(56);
2156
+ var IS_PURE = __w_pdfjs_require__(32);
2157
+ var nativeStartsWith = ''.startsWith;
2158
+ var min = Math.min;
2159
+ var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');
2160
+ var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {
2161
+ var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');
2162
+ return descriptor && !descriptor.writable;
2163
+ }();
2164
+ $({
2165
+ target: 'String',
2166
+ proto: true,
2167
+ forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC
2168
+ }, {
2169
+ startsWith: function startsWith(searchString) {
2170
+ var that = String(requireObjectCoercible(this));
2171
+ notARegExp(searchString);
2172
+ var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));
2173
+ var search = String(searchString);
2174
+ return nativeStartsWith ? nativeStartsWith.call(that, search, index) : that.slice(index, index + search.length) === search;
2175
+ }
2176
+ });
2177
+
2178
+ /***/ }),
2179
+ /* 51 */
2180
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2181
+
2182
+ var isRegExp = __w_pdfjs_require__(52);
2183
+ module.exports = function (it) {
2184
+ if (isRegExp(it)) {
2185
+ throw TypeError("The method doesn't accept regular expressions");
2186
+ }
2187
+ return it;
2188
+ };
2189
+
2190
+ /***/ }),
2191
+ /* 52 */
2192
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2193
+
2194
+ var isObject = __w_pdfjs_require__(17);
2195
+ var classof = __w_pdfjs_require__(14);
2196
+ var wellKnownSymbol = __w_pdfjs_require__(53);
2197
+ var MATCH = wellKnownSymbol('match');
2198
+ module.exports = function (it) {
2199
+ var isRegExp;
2200
+ return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');
2201
+ };
2202
+
2203
+ /***/ }),
2204
+ /* 53 */
2205
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2206
+
2207
+ var global = __w_pdfjs_require__(6);
2208
+ var shared = __w_pdfjs_require__(31);
2209
+ var has = __w_pdfjs_require__(18);
2210
+ var uid = __w_pdfjs_require__(33);
2211
+ var NATIVE_SYMBOL = __w_pdfjs_require__(54);
2212
+ var USE_SYMBOL_AS_UID = __w_pdfjs_require__(55);
2213
+ var WellKnownSymbolsStore = shared('wks');
2214
+ var Symbol = global.Symbol;
2215
+ var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;
2216
+ module.exports = function (name) {
2217
+ if (!has(WellKnownSymbolsStore, name)) {
2218
+ if (NATIVE_SYMBOL && has(Symbol, name))
2219
+ WellKnownSymbolsStore[name] = Symbol[name];
2220
+ else
2221
+ WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
2222
+ }
2223
+ return WellKnownSymbolsStore[name];
2224
+ };
2225
+
2226
+ /***/ }),
2227
+ /* 54 */
2228
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2229
+
2230
+ var fails = __w_pdfjs_require__(9);
2231
+ module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
2232
+ return !String(Symbol());
2233
+ });
2234
+
2235
+ /***/ }),
2236
+ /* 55 */
2237
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2238
+
2239
+ var NATIVE_SYMBOL = __w_pdfjs_require__(54);
2240
+ module.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol';
2241
+
2242
+ /***/ }),
2243
+ /* 56 */
2244
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2245
+
2246
+ var wellKnownSymbol = __w_pdfjs_require__(53);
2247
+ var MATCH = wellKnownSymbol('match');
2248
+ module.exports = function (METHOD_NAME) {
2249
+ var regexp = /./;
2250
+ try {
2251
+ '/./'[METHOD_NAME](regexp);
2252
+ } catch (e) {
2253
+ try {
2254
+ regexp[MATCH] = false;
2255
+ return '/./'[METHOD_NAME](regexp);
2256
+ } catch (f) {
2257
+ }
2258
+ }
2259
+ return false;
2260
+ };
2261
+
2262
+ /***/ }),
2263
+ /* 57 */
2264
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2265
+
2266
+ var global = __w_pdfjs_require__(6);
2267
+ var bind = __w_pdfjs_require__(58);
2268
+ var call = Function.call;
2269
+ module.exports = function (CONSTRUCTOR, METHOD, length) {
2270
+ return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);
2271
+ };
2272
+
2273
+ /***/ }),
2274
+ /* 58 */
2275
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2276
+
2277
+ var aFunction = __w_pdfjs_require__(59);
2278
+ module.exports = function (fn, that, length) {
2279
+ aFunction(fn);
2280
+ if (that === undefined)
2281
+ return fn;
2282
+ switch (length) {
2283
+ case 0:
2284
+ return function () {
2285
+ return fn.call(that);
2286
+ };
2287
+ case 1:
2288
+ return function (a) {
2289
+ return fn.call(that, a);
2290
+ };
2291
+ case 2:
2292
+ return function (a, b) {
2293
+ return fn.call(that, a, b);
2294
+ };
2295
+ case 3:
2296
+ return function (a, b, c) {
2297
+ return fn.call(that, a, b, c);
2298
+ };
2299
+ }
2300
+ return function () {
2301
+ return fn.apply(that, arguments);
2302
+ };
2303
+ };
2304
+
2305
+ /***/ }),
2306
+ /* 59 */
2307
+ /***/ (function(module, exports) {
2308
+
2309
+ module.exports = function (it) {
2310
+ if (typeof it != 'function') {
2311
+ throw TypeError(String(it) + ' is not a function');
2312
+ }
2313
+ return it;
2314
+ };
2315
+
2316
+ /***/ }),
2317
+ /* 60 */
2318
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2319
+
2320
+ __w_pdfjs_require__(61);
2321
+ var entryUnbind = __w_pdfjs_require__(57);
2322
+ module.exports = entryUnbind('String', 'endsWith');
2323
+
2324
+ /***/ }),
2325
+ /* 61 */
2326
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2327
+
2328
+ "use strict";
2329
+
2330
+ var $ = __w_pdfjs_require__(5);
2331
+ var getOwnPropertyDescriptor = __w_pdfjs_require__(7).f;
2332
+ var toLength = __w_pdfjs_require__(42);
2333
+ var notARegExp = __w_pdfjs_require__(51);
2334
+ var requireObjectCoercible = __w_pdfjs_require__(15);
2335
+ var correctIsRegExpLogic = __w_pdfjs_require__(56);
2336
+ var IS_PURE = __w_pdfjs_require__(32);
2337
+ var nativeEndsWith = ''.endsWith;
2338
+ var min = Math.min;
2339
+ var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');
2340
+ var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {
2341
+ var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');
2342
+ return descriptor && !descriptor.writable;
2343
+ }();
2344
+ $({
2345
+ target: 'String',
2346
+ proto: true,
2347
+ forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC
2348
+ }, {
2349
+ endsWith: function endsWith(searchString) {
2350
+ var that = String(requireObjectCoercible(this));
2351
+ notARegExp(searchString);
2352
+ var endPosition = arguments.length > 1 ? arguments[1] : undefined;
2353
+ var len = toLength(that.length);
2354
+ var end = endPosition === undefined ? len : min(toLength(endPosition), len);
2355
+ var search = String(searchString);
2356
+ return nativeEndsWith ? nativeEndsWith.call(that, search, end) : that.slice(end - search.length, end) === search;
2357
+ }
2358
+ });
2359
+
2360
+ /***/ }),
2361
+ /* 62 */
2362
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2363
+
2364
+ __w_pdfjs_require__(63);
2365
+ var entryUnbind = __w_pdfjs_require__(57);
2366
+ module.exports = entryUnbind('String', 'includes');
2367
+
2368
+ /***/ }),
2369
+ /* 63 */
2370
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2371
+
2372
+ "use strict";
2373
+
2374
+ var $ = __w_pdfjs_require__(5);
2375
+ var notARegExp = __w_pdfjs_require__(51);
2376
+ var requireObjectCoercible = __w_pdfjs_require__(15);
2377
+ var correctIsRegExpLogic = __w_pdfjs_require__(56);
2378
+ $({
2379
+ target: 'String',
2380
+ proto: true,
2381
+ forced: !correctIsRegExpLogic('includes')
2382
+ }, {
2383
+ includes: function includes(searchString) {
2384
+ return !!~String(requireObjectCoercible(this)).indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);
2385
+ }
2386
+ });
2387
+
2388
+ /***/ }),
2389
+ /* 64 */
2390
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2391
+
2392
+ __w_pdfjs_require__(65);
2393
+ var entryUnbind = __w_pdfjs_require__(57);
2394
+ module.exports = entryUnbind('Array', 'includes');
2395
+
2396
+ /***/ }),
2397
+ /* 65 */
2398
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2399
+
2400
+ "use strict";
2401
+
2402
+ var $ = __w_pdfjs_require__(5);
2403
+ var $includes = __w_pdfjs_require__(41).includes;
2404
+ var addToUnscopables = __w_pdfjs_require__(66);
2405
+ var arrayMethodUsesToLength = __w_pdfjs_require__(71);
2406
+ var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', {
2407
+ ACCESSORS: true,
2408
+ 1: 0
2409
+ });
2410
+ $({
2411
+ target: 'Array',
2412
+ proto: true,
2413
+ forced: !USES_TO_LENGTH
2414
+ }, {
2415
+ includes: function includes(el) {
2416
+ return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
2417
+ }
2418
+ });
2419
+ addToUnscopables('includes');
2420
+
2421
+ /***/ }),
2422
+ /* 66 */
2423
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2424
+
2425
+ var wellKnownSymbol = __w_pdfjs_require__(53);
2426
+ var create = __w_pdfjs_require__(67);
2427
+ var definePropertyModule = __w_pdfjs_require__(22);
2428
+ var UNSCOPABLES = wellKnownSymbol('unscopables');
2429
+ var ArrayPrototype = Array.prototype;
2430
+ if (ArrayPrototype[UNSCOPABLES] == undefined) {
2431
+ definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {
2432
+ configurable: true,
2433
+ value: create(null)
2434
+ });
2435
+ }
2436
+ module.exports = function (key) {
2437
+ ArrayPrototype[UNSCOPABLES][key] = true;
2438
+ };
2439
+
2440
+ /***/ }),
2441
+ /* 67 */
2442
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2443
+
2444
+ var anObject = __w_pdfjs_require__(23);
2445
+ var defineProperties = __w_pdfjs_require__(68);
2446
+ var enumBugKeys = __w_pdfjs_require__(45);
2447
+ var hiddenKeys = __w_pdfjs_require__(34);
2448
+ var html = __w_pdfjs_require__(70);
2449
+ var documentCreateElement = __w_pdfjs_require__(20);
2450
+ var sharedKey = __w_pdfjs_require__(30);
2451
+ var GT = '>';
2452
+ var LT = '<';
2453
+ var PROTOTYPE = 'prototype';
2454
+ var SCRIPT = 'script';
2455
+ var IE_PROTO = sharedKey('IE_PROTO');
2456
+ var EmptyConstructor = function () {
2457
+ };
2458
+ var scriptTag = function (content) {
2459
+ return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
2460
+ };
2461
+ var NullProtoObjectViaActiveX = function (activeXDocument) {
2462
+ activeXDocument.write(scriptTag(''));
2463
+ activeXDocument.close();
2464
+ var temp = activeXDocument.parentWindow.Object;
2465
+ activeXDocument = null;
2466
+ return temp;
2467
+ };
2468
+ var NullProtoObjectViaIFrame = function () {
2469
+ var iframe = documentCreateElement('iframe');
2470
+ var JS = 'java' + SCRIPT + ':';
2471
+ var iframeDocument;
2472
+ iframe.style.display = 'none';
2473
+ html.appendChild(iframe);
2474
+ iframe.src = String(JS);
2475
+ iframeDocument = iframe.contentWindow.document;
2476
+ iframeDocument.open();
2477
+ iframeDocument.write(scriptTag('document.F=Object'));
2478
+ iframeDocument.close();
2479
+ return iframeDocument.F;
2480
+ };
2481
+ var activeXDocument;
2482
+ var NullProtoObject = function () {
2483
+ try {
2484
+ activeXDocument = document.domain && new ActiveXObject('htmlfile');
2485
+ } catch (error) {
2486
+ }
2487
+ NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
2488
+ var length = enumBugKeys.length;
2489
+ while (length--)
2490
+ delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
2491
+ return NullProtoObject();
2492
+ };
2493
+ hiddenKeys[IE_PROTO] = true;
2494
+ module.exports = Object.create || function create(O, Properties) {
2495
+ var result;
2496
+ if (O !== null) {
2497
+ EmptyConstructor[PROTOTYPE] = anObject(O);
2498
+ result = new EmptyConstructor();
2499
+ EmptyConstructor[PROTOTYPE] = null;
2500
+ result[IE_PROTO] = O;
2501
+ } else
2502
+ result = NullProtoObject();
2503
+ return Properties === undefined ? result : defineProperties(result, Properties);
2504
+ };
2505
+
2506
+ /***/ }),
2507
+ /* 68 */
2508
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2509
+
2510
+ var DESCRIPTORS = __w_pdfjs_require__(8);
2511
+ var definePropertyModule = __w_pdfjs_require__(22);
2512
+ var anObject = __w_pdfjs_require__(23);
2513
+ var objectKeys = __w_pdfjs_require__(69);
2514
+ module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
2515
+ anObject(O);
2516
+ var keys = objectKeys(Properties);
2517
+ var length = keys.length;
2518
+ var index = 0;
2519
+ var key;
2520
+ while (length > index)
2521
+ definePropertyModule.f(O, key = keys[index++], Properties[key]);
2522
+ return O;
2523
+ };
2524
+
2525
+ /***/ }),
2526
+ /* 69 */
2527
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2528
+
2529
+ var internalObjectKeys = __w_pdfjs_require__(40);
2530
+ var enumBugKeys = __w_pdfjs_require__(45);
2531
+ module.exports = Object.keys || function keys(O) {
2532
+ return internalObjectKeys(O, enumBugKeys);
2533
+ };
2534
+
2535
+ /***/ }),
2536
+ /* 70 */
2537
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2538
+
2539
+ var getBuiltIn = __w_pdfjs_require__(37);
2540
+ module.exports = getBuiltIn('document', 'documentElement');
2541
+
2542
+ /***/ }),
2543
+ /* 71 */
2544
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2545
+
2546
+ var DESCRIPTORS = __w_pdfjs_require__(8);
2547
+ var fails = __w_pdfjs_require__(9);
2548
+ var has = __w_pdfjs_require__(18);
2549
+ var defineProperty = Object.defineProperty;
2550
+ var cache = {};
2551
+ var thrower = function (it) {
2552
+ throw it;
2553
+ };
2554
+ module.exports = function (METHOD_NAME, options) {
2555
+ if (has(cache, METHOD_NAME))
2556
+ return cache[METHOD_NAME];
2557
+ if (!options)
2558
+ options = {};
2559
+ var method = [][METHOD_NAME];
2560
+ var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;
2561
+ var argument0 = has(options, 0) ? options[0] : thrower;
2562
+ var argument1 = has(options, 1) ? options[1] : undefined;
2563
+ return cache[METHOD_NAME] = !!method && !fails(function () {
2564
+ if (ACCESSORS && !DESCRIPTORS)
2565
+ return true;
2566
+ var O = { length: -1 };
2567
+ if (ACCESSORS)
2568
+ defineProperty(O, 1, {
2569
+ enumerable: true,
2570
+ get: thrower
2571
+ });
2572
+ else
2573
+ O[1] = 1;
2574
+ method.call(O, argument0, argument1);
2575
+ });
2576
+ };
2577
+
2578
+ /***/ }),
2579
+ /* 72 */
2580
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2581
+
2582
+ __w_pdfjs_require__(73);
2583
+ __w_pdfjs_require__(85);
2584
+ var path = __w_pdfjs_require__(38);
2585
+ module.exports = path.Array.from;
2586
+
2587
+ /***/ }),
2588
+ /* 73 */
2589
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2590
+
2591
+ "use strict";
2592
+
2593
+ var charAt = __w_pdfjs_require__(74).charAt;
2594
+ var InternalStateModule = __w_pdfjs_require__(28);
2595
+ var defineIterator = __w_pdfjs_require__(75);
2596
+ var STRING_ITERATOR = 'String Iterator';
2597
+ var setInternalState = InternalStateModule.set;
2598
+ var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);
2599
+ defineIterator(String, 'String', function (iterated) {
2600
+ setInternalState(this, {
2601
+ type: STRING_ITERATOR,
2602
+ string: String(iterated),
2603
+ index: 0
2604
+ });
2605
+ }, function next() {
2606
+ var state = getInternalState(this);
2607
+ var string = state.string;
2608
+ var index = state.index;
2609
+ var point;
2610
+ if (index >= string.length)
2611
+ return {
2612
+ value: undefined,
2613
+ done: true
2614
+ };
2615
+ point = charAt(string, index);
2616
+ state.index += point.length;
2617
+ return {
2618
+ value: point,
2619
+ done: false
2620
+ };
2621
+ });
2622
+
2623
+ /***/ }),
2624
+ /* 74 */
2625
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2626
+
2627
+ var toInteger = __w_pdfjs_require__(43);
2628
+ var requireObjectCoercible = __w_pdfjs_require__(15);
2629
+ var createMethod = function (CONVERT_TO_STRING) {
2630
+ return function ($this, pos) {
2631
+ var S = String(requireObjectCoercible($this));
2632
+ var position = toInteger(pos);
2633
+ var size = S.length;
2634
+ var first, second;
2635
+ if (position < 0 || position >= size)
2636
+ return CONVERT_TO_STRING ? '' : undefined;
2637
+ first = S.charCodeAt(position);
2638
+ return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? S.charAt(position) : first : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
2639
+ };
2640
+ };
2641
+ module.exports = {
2642
+ codeAt: createMethod(false),
2643
+ charAt: createMethod(true)
2644
+ };
2645
+
2646
+ /***/ }),
2647
+ /* 75 */
2648
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2649
+
2650
+ "use strict";
2651
+
2652
+ var $ = __w_pdfjs_require__(5);
2653
+ var createIteratorConstructor = __w_pdfjs_require__(76);
2654
+ var getPrototypeOf = __w_pdfjs_require__(78);
2655
+ var setPrototypeOf = __w_pdfjs_require__(83);
2656
+ var setToStringTag = __w_pdfjs_require__(81);
2657
+ var createNonEnumerableProperty = __w_pdfjs_require__(21);
2658
+ var redefine = __w_pdfjs_require__(24);
2659
+ var wellKnownSymbol = __w_pdfjs_require__(53);
2660
+ var IS_PURE = __w_pdfjs_require__(32);
2661
+ var Iterators = __w_pdfjs_require__(82);
2662
+ var IteratorsCore = __w_pdfjs_require__(77);
2663
+ var IteratorPrototype = IteratorsCore.IteratorPrototype;
2664
+ var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
2665
+ var ITERATOR = wellKnownSymbol('iterator');
2666
+ var KEYS = 'keys';
2667
+ var VALUES = 'values';
2668
+ var ENTRIES = 'entries';
2669
+ var returnThis = function () {
2670
+ return this;
2671
+ };
2672
+ module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
2673
+ createIteratorConstructor(IteratorConstructor, NAME, next);
2674
+ var getIterationMethod = function (KIND) {
2675
+ if (KIND === DEFAULT && defaultIterator)
2676
+ return defaultIterator;
2677
+ if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype)
2678
+ return IterablePrototype[KIND];
2679
+ switch (KIND) {
2680
+ case KEYS:
2681
+ return function keys() {
2682
+ return new IteratorConstructor(this, KIND);
2683
+ };
2684
+ case VALUES:
2685
+ return function values() {
2686
+ return new IteratorConstructor(this, KIND);
2687
+ };
2688
+ case ENTRIES:
2689
+ return function entries() {
2690
+ return new IteratorConstructor(this, KIND);
2691
+ };
2692
+ }
2693
+ return function () {
2694
+ return new IteratorConstructor(this);
2695
+ };
2696
+ };
2697
+ var TO_STRING_TAG = NAME + ' Iterator';
2698
+ var INCORRECT_VALUES_NAME = false;
2699
+ var IterablePrototype = Iterable.prototype;
2700
+ var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT];
2701
+ var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
2702
+ var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
2703
+ var CurrentIteratorPrototype, methods, KEY;
2704
+ if (anyNativeIterator) {
2705
+ CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
2706
+ if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
2707
+ if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
2708
+ if (setPrototypeOf) {
2709
+ setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
2710
+ } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {
2711
+ createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);
2712
+ }
2713
+ }
2714
+ setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
2715
+ if (IS_PURE)
2716
+ Iterators[TO_STRING_TAG] = returnThis;
2717
+ }
2718
+ }
2719
+ if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
2720
+ INCORRECT_VALUES_NAME = true;
2721
+ defaultIterator = function values() {
2722
+ return nativeIterator.call(this);
2723
+ };
2724
+ }
2725
+ if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
2726
+ createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);
2727
+ }
2728
+ Iterators[NAME] = defaultIterator;
2729
+ if (DEFAULT) {
2730
+ methods = {
2731
+ values: getIterationMethod(VALUES),
2732
+ keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
2733
+ entries: getIterationMethod(ENTRIES)
2734
+ };
2735
+ if (FORCED)
2736
+ for (KEY in methods) {
2737
+ if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
2738
+ redefine(IterablePrototype, KEY, methods[KEY]);
2739
+ }
2740
+ }
2741
+ else
2742
+ $({
2743
+ target: NAME,
2744
+ proto: true,
2745
+ forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME
2746
+ }, methods);
2747
+ }
2748
+ return methods;
2749
+ };
2750
+
2751
+ /***/ }),
2752
+ /* 76 */
2753
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2754
+
2755
+ "use strict";
2756
+
2757
+ var IteratorPrototype = __w_pdfjs_require__(77).IteratorPrototype;
2758
+ var create = __w_pdfjs_require__(67);
2759
+ var createPropertyDescriptor = __w_pdfjs_require__(11);
2760
+ var setToStringTag = __w_pdfjs_require__(81);
2761
+ var Iterators = __w_pdfjs_require__(82);
2762
+ var returnThis = function () {
2763
+ return this;
2764
+ };
2765
+ module.exports = function (IteratorConstructor, NAME, next) {
2766
+ var TO_STRING_TAG = NAME + ' Iterator';
2767
+ IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });
2768
+ setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
2769
+ Iterators[TO_STRING_TAG] = returnThis;
2770
+ return IteratorConstructor;
2771
+ };
2772
+
2773
+ /***/ }),
2774
+ /* 77 */
2775
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2776
+
2777
+ "use strict";
2778
+
2779
+ var getPrototypeOf = __w_pdfjs_require__(78);
2780
+ var createNonEnumerableProperty = __w_pdfjs_require__(21);
2781
+ var has = __w_pdfjs_require__(18);
2782
+ var wellKnownSymbol = __w_pdfjs_require__(53);
2783
+ var IS_PURE = __w_pdfjs_require__(32);
2784
+ var ITERATOR = wellKnownSymbol('iterator');
2785
+ var BUGGY_SAFARI_ITERATORS = false;
2786
+ var returnThis = function () {
2787
+ return this;
2788
+ };
2789
+ var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
2790
+ if ([].keys) {
2791
+ arrayIterator = [].keys();
2792
+ if (!('next' in arrayIterator))
2793
+ BUGGY_SAFARI_ITERATORS = true;
2794
+ else {
2795
+ PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
2796
+ if (PrototypeOfArrayIteratorPrototype !== Object.prototype)
2797
+ IteratorPrototype = PrototypeOfArrayIteratorPrototype;
2798
+ }
2799
+ }
2800
+ if (IteratorPrototype == undefined)
2801
+ IteratorPrototype = {};
2802
+ if (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {
2803
+ createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);
2804
+ }
2805
+ module.exports = {
2806
+ IteratorPrototype: IteratorPrototype,
2807
+ BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
2808
+ };
2809
+
2810
+ /***/ }),
2811
+ /* 78 */
2812
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2813
+
2814
+ var has = __w_pdfjs_require__(18);
2815
+ var toObject = __w_pdfjs_require__(79);
2816
+ var sharedKey = __w_pdfjs_require__(30);
2817
+ var CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(80);
2818
+ var IE_PROTO = sharedKey('IE_PROTO');
2819
+ var ObjectPrototype = Object.prototype;
2820
+ module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {
2821
+ O = toObject(O);
2822
+ if (has(O, IE_PROTO))
2823
+ return O[IE_PROTO];
2824
+ if (typeof O.constructor == 'function' && O instanceof O.constructor) {
2825
+ return O.constructor.prototype;
2826
+ }
2827
+ return O instanceof Object ? ObjectPrototype : null;
2828
+ };
2829
+
2830
+ /***/ }),
2831
+ /* 79 */
2832
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2833
+
2834
+ var requireObjectCoercible = __w_pdfjs_require__(15);
2835
+ module.exports = function (argument) {
2836
+ return Object(requireObjectCoercible(argument));
2837
+ };
2838
+
2839
+ /***/ }),
2840
+ /* 80 */
2841
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2842
+
2843
+ var fails = __w_pdfjs_require__(9);
2844
+ module.exports = !fails(function () {
2845
+ function F() {
2846
+ }
2847
+ F.prototype.constructor = null;
2848
+ return Object.getPrototypeOf(new F()) !== F.prototype;
2849
+ });
2850
+
2851
+ /***/ }),
2852
+ /* 81 */
2853
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2854
+
2855
+ var defineProperty = __w_pdfjs_require__(22).f;
2856
+ var has = __w_pdfjs_require__(18);
2857
+ var wellKnownSymbol = __w_pdfjs_require__(53);
2858
+ var TO_STRING_TAG = wellKnownSymbol('toStringTag');
2859
+ module.exports = function (it, TAG, STATIC) {
2860
+ if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
2861
+ defineProperty(it, TO_STRING_TAG, {
2862
+ configurable: true,
2863
+ value: TAG
2864
+ });
2865
+ }
2866
+ };
2867
+
2868
+ /***/ }),
2869
+ /* 82 */
2870
+ /***/ (function(module, exports) {
2871
+
2872
+ module.exports = {};
2873
+
2874
+ /***/ }),
2875
+ /* 83 */
2876
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2877
+
2878
+ var anObject = __w_pdfjs_require__(23);
2879
+ var aPossiblePrototype = __w_pdfjs_require__(84);
2880
+ module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
2881
+ var CORRECT_SETTER = false;
2882
+ var test = {};
2883
+ var setter;
2884
+ try {
2885
+ setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
2886
+ setter.call(test, []);
2887
+ CORRECT_SETTER = test instanceof Array;
2888
+ } catch (error) {
2889
+ }
2890
+ return function setPrototypeOf(O, proto) {
2891
+ anObject(O);
2892
+ aPossiblePrototype(proto);
2893
+ if (CORRECT_SETTER)
2894
+ setter.call(O, proto);
2895
+ else
2896
+ O.__proto__ = proto;
2897
+ return O;
2898
+ };
2899
+ }() : undefined);
2900
+
2901
+ /***/ }),
2902
+ /* 84 */
2903
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2904
+
2905
+ var isObject = __w_pdfjs_require__(17);
2906
+ module.exports = function (it) {
2907
+ if (!isObject(it) && it !== null) {
2908
+ throw TypeError("Can't set " + String(it) + ' as a prototype');
2909
+ }
2910
+ return it;
2911
+ };
2912
+
2913
+ /***/ }),
2914
+ /* 85 */
2915
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2916
+
2917
+ var $ = __w_pdfjs_require__(5);
2918
+ var from = __w_pdfjs_require__(86);
2919
+ var checkCorrectnessOfIteration = __w_pdfjs_require__(93);
2920
+ var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {
2921
+ Array.from(iterable);
2922
+ });
2923
+ $({
2924
+ target: 'Array',
2925
+ stat: true,
2926
+ forced: INCORRECT_ITERATION
2927
+ }, { from: from });
2928
+
2929
+ /***/ }),
2930
+ /* 86 */
2931
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2932
+
2933
+ "use strict";
2934
+
2935
+ var bind = __w_pdfjs_require__(58);
2936
+ var toObject = __w_pdfjs_require__(79);
2937
+ var callWithSafeIterationClosing = __w_pdfjs_require__(87);
2938
+ var isArrayIteratorMethod = __w_pdfjs_require__(88);
2939
+ var toLength = __w_pdfjs_require__(42);
2940
+ var createProperty = __w_pdfjs_require__(89);
2941
+ var getIteratorMethod = __w_pdfjs_require__(90);
2942
+ module.exports = function from(arrayLike) {
2943
+ var O = toObject(arrayLike);
2944
+ var C = typeof this == 'function' ? this : Array;
2945
+ var argumentsLength = arguments.length;
2946
+ var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
2947
+ var mapping = mapfn !== undefined;
2948
+ var iteratorMethod = getIteratorMethod(O);
2949
+ var index = 0;
2950
+ var length, result, step, iterator, next, value;
2951
+ if (mapping)
2952
+ mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);
2953
+ if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {
2954
+ iterator = iteratorMethod.call(O);
2955
+ next = iterator.next;
2956
+ result = new C();
2957
+ for (; !(step = next.call(iterator)).done; index++) {
2958
+ value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [
2959
+ step.value,
2960
+ index
2961
+ ], true) : step.value;
2962
+ createProperty(result, index, value);
2963
+ }
2964
+ } else {
2965
+ length = toLength(O.length);
2966
+ result = new C(length);
2967
+ for (; length > index; index++) {
2968
+ value = mapping ? mapfn(O[index], index) : O[index];
2969
+ createProperty(result, index, value);
2970
+ }
2971
+ }
2972
+ result.length = index;
2973
+ return result;
2974
+ };
2975
+
2976
+ /***/ }),
2977
+ /* 87 */
2978
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2979
+
2980
+ var anObject = __w_pdfjs_require__(23);
2981
+ module.exports = function (iterator, fn, value, ENTRIES) {
2982
+ try {
2983
+ return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
2984
+ } catch (error) {
2985
+ var returnMethod = iterator['return'];
2986
+ if (returnMethod !== undefined)
2987
+ anObject(returnMethod.call(iterator));
2988
+ throw error;
2989
+ }
2990
+ };
2991
+
2992
+ /***/ }),
2993
+ /* 88 */
2994
+ /***/ (function(module, exports, __w_pdfjs_require__) {
2995
+
2996
+ var wellKnownSymbol = __w_pdfjs_require__(53);
2997
+ var Iterators = __w_pdfjs_require__(82);
2998
+ var ITERATOR = wellKnownSymbol('iterator');
2999
+ var ArrayPrototype = Array.prototype;
3000
+ module.exports = function (it) {
3001
+ return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
3002
+ };
3003
+
3004
+ /***/ }),
3005
+ /* 89 */
3006
+ /***/ (function(module, exports, __w_pdfjs_require__) {
3007
+
3008
+ "use strict";
3009
+
3010
+ var toPrimitive = __w_pdfjs_require__(16);
3011
+ var definePropertyModule = __w_pdfjs_require__(22);
3012
+ var createPropertyDescriptor = __w_pdfjs_require__(11);
3013
+ module.exports = function (object, key, value) {
3014
+ var propertyKey = toPrimitive(key);
3015
+ if (propertyKey in object)
3016
+ definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
3017
+ else
3018
+ object[propertyKey] = value;
3019
+ };
3020
+
3021
+ /***/ }),
3022
+ /* 90 */
3023
+ /***/ (function(module, exports, __w_pdfjs_require__) {
3024
+
3025
+ var classof = __w_pdfjs_require__(91);
3026
+ var Iterators = __w_pdfjs_require__(82);
3027
+ var wellKnownSymbol = __w_pdfjs_require__(53);
3028
+ var ITERATOR = wellKnownSymbol('iterator');
3029
+ module.exports = function (it) {
3030
+ if (it != undefined)
3031
+ return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];
3032
+ };
3033
+
3034
+ /***/ }),
3035
+ /* 91 */
3036
+ /***/ (function(module, exports, __w_pdfjs_require__) {
3037
+
3038
+ var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(92);
3039
+ var classofRaw = __w_pdfjs_require__(14);
3040
+ var wellKnownSymbol = __w_pdfjs_require__(53);
3041
+ var TO_STRING_TAG = wellKnownSymbol('toStringTag');
3042
+ var CORRECT_ARGUMENTS = classofRaw(function () {
3043
+ return arguments;
3044
+ }()) == 'Arguments';
3045
+ var tryGet = function (it, key) {
3046
+ try {
3047
+ return it[key];
3048
+ } catch (error) {
3049
+ }
3050
+ };
3051
+ module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
3052
+ var O, tag, result;
3053
+ return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
3054
+ };
3055
+
3056
+ /***/ }),
3057
+ /* 92 */
3058
+ /***/ (function(module, exports, __w_pdfjs_require__) {
3059
+
3060
+ var wellKnownSymbol = __w_pdfjs_require__(53);
3061
+ var TO_STRING_TAG = wellKnownSymbol('toStringTag');
3062
+ var test = {};
3063
+ test[TO_STRING_TAG] = 'z';
3064
+ module.exports = String(test) === '[object z]';
3065
+
3066
+ /***/ }),
3067
+ /* 93 */
3068
+ /***/ (function(module, exports, __w_pdfjs_require__) {
3069
+
3070
+ var wellKnownSymbol = __w_pdfjs_require__(53);
3071
+ var ITERATOR = wellKnownSymbol('iterator');
3072
+ var SAFE_CLOSING = false;
3073
+ try {
3074
+ var called = 0;
3075
+ var iteratorWithReturn = {
3076
+ next: function () {
3077
+ return { done: !!called++ };
3078
+ },
3079
+ 'return': function () {
3080
+ SAFE_CLOSING = true;
3081
+ }
3082
+ };
3083
+ iteratorWithReturn[ITERATOR] = function () {
3084
+ return this;
3085
+ };
3086
+ Array.from(iteratorWithReturn, function () {
3087
+ throw 2;
3088
+ });
3089
+ } catch (error) {
3090
+ }
3091
+ module.exports = function (exec, SKIP_CLOSING) {
3092
+ if (!SKIP_CLOSING && !SAFE_CLOSING)
3093
+ return false;
3094
+ var ITERATION_SUPPORT = false;
3095
+ try {
3096
+ var object = {};
3097
+ object[ITERATOR] = function () {
3098
+ return {
3099
+ next: function () {
3100
+ return { done: ITERATION_SUPPORT = true };
3101
+ }
3102
+ };
3103
+ };
3104
+ exec(object);
3105
+ } catch (error) {
3106
+ }
3107
+ return ITERATION_SUPPORT;
3108
+ };
3109
+
3110
+ /***/ }),
3111
+ /* 94 */
3112
+ /***/ (function(module, exports, __w_pdfjs_require__) {
3113
+
3114
+ __w_pdfjs_require__(95);
3115
+ var path = __w_pdfjs_require__(38);
3116
+ module.exports = path.Object.assign;
3117
+
3118
+ /***/ }),
3119
+ /* 95 */
3120
+ /***/ (function(module, exports, __w_pdfjs_require__) {
3121
+
3122
+ var $ = __w_pdfjs_require__(5);
3123
+ var assign = __w_pdfjs_require__(96);
3124
+ $({
3125
+ target: 'Object',
3126
+ stat: true,
3127
+ forced: Object.assign !== assign
3128
+ }, { assign: assign });
3129
+
3130
+ /***/ }),
3131
+ /* 96 */
3132
+ /***/ (function(module, exports, __w_pdfjs_require__) {
3133
+
3134
+ "use strict";
3135
+
3136
+ var DESCRIPTORS = __w_pdfjs_require__(8);
3137
+ var fails = __w_pdfjs_require__(9);
3138
+ var objectKeys = __w_pdfjs_require__(69);
3139
+ var getOwnPropertySymbolsModule = __w_pdfjs_require__(46);
3140
+ var propertyIsEnumerableModule = __w_pdfjs_require__(10);
3141
+ var toObject = __w_pdfjs_require__(79);
3142
+ var IndexedObject = __w_pdfjs_require__(13);
3143
+ var nativeAssign = Object.assign;
3144
+ var defineProperty = Object.defineProperty;
3145
+ module.exports = !nativeAssign || fails(function () {
3146
+ if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {
3147
+ enumerable: true,
3148
+ get: function () {
3149
+ defineProperty(this, 'b', {
3150
+ value: 3,
3151
+ enumerable: false
3152
+ });
3153
+ }
3154
+ }), { b: 2 })).b !== 1)
3155
+ return true;
3156
+ var A = {};
3157
+ var B = {};
3158
+ var symbol = Symbol();
3159
+ var alphabet = 'abcdefghijklmnopqrst';
3160
+ A[symbol] = 7;
3161
+ alphabet.split('').forEach(function (chr) {
3162
+ B[chr] = chr;
3163
+ });
3164
+ return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;
3165
+ }) ? function assign(target, source) {
3166
+ var T = toObject(target);
3167
+ var argumentsLength = arguments.length;
3168
+ var index = 1;
3169
+ var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
3170
+ var propertyIsEnumerable = propertyIsEnumerableModule.f;
3171
+ while (argumentsLength > index) {
3172
+ var S = IndexedObject(arguments[index++]);
3173
+ var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);
3174
+ var length = keys.length;
3175
+ var j = 0;
3176
+ var key;
3177
+ while (length > j) {
3178
+ key = keys[j++];
3179
+ if (!DESCRIPTORS || propertyIsEnumerable.call(S, key))
3180
+ T[key] = S[key];
3181
+ }
3182
+ }
3183
+ return T;
3184
+ } : nativeAssign;
3185
+
3186
+ /***/ }),
3187
+ /* 97 */
3188
+ /***/ (function(module, exports, __w_pdfjs_require__) {
3189
+
3190
+ __w_pdfjs_require__(98);
3191
+ var path = __w_pdfjs_require__(38);
3192
+ module.exports = path.Math.log2;
3193
+
3194
+ /***/ }),
3195
+ /* 98 */
3196
+ /***/ (function(module, exports, __w_pdfjs_require__) {
3197
+
3198
+ var $ = __w_pdfjs_require__(5);
3199
+ var log = Math.log;
3200
+ var LN2 = Math.LN2;
3201
+ $({
3202
+ target: 'Math',
3203
+ stat: true
3204
+ }, {
3205
+ log2: function log2(x) {
3206
+ return log(x) / LN2;
3207
+ }
3208
+ });
3209
+
3210
+ /***/ }),
3211
+ /* 99 */
3212
+ /***/ (function(module, exports, __w_pdfjs_require__) {
3213
+
3214
+ __w_pdfjs_require__(100);
3215
+ var path = __w_pdfjs_require__(38);
3216
+ module.exports = path.Number.isNaN;
3217
+
3218
+ /***/ }),
3219
+ /* 100 */
3220
+ /***/ (function(module, exports, __w_pdfjs_require__) {
3221
+
3222
+ var $ = __w_pdfjs_require__(5);
3223
+ $({
3224
+ target: 'Number',
3225
+ stat: true
3226
+ }, {
3227
+ isNaN: function isNaN(number) {
3228
+ return number != number;
3229
+ }
3230
+ });
3231
+
3232
+ /***/ }),
3233
+ /* 101 */
3234
+ /***/ (function(module, exports, __w_pdfjs_require__) {
3235
+
3236
+ __w_pdfjs_require__(102);
3237
+ var path = __w_pdfjs_require__(38);
3238
+ module.exports = path.Number.isInteger;
3239
+
3240
+ /***/ }),
3241
+ /* 102 */
3242
+ /***/ (function(module, exports, __w_pdfjs_require__) {
3243
+
3244
+ var $ = __w_pdfjs_require__(5);
3245
+ var isInteger = __w_pdfjs_require__(103);
3246
+ $({
3247
+ target: 'Number',
3248
+ stat: true
3249
+ }, { isInteger: isInteger });
3250
+
3251
+ /***/ }),
3252
+ /* 103 */
3253
+ /***/ (function(module, exports, __w_pdfjs_require__) {
3254
+
3255
+ var isObject = __w_pdfjs_require__(17);
3256
+ var floor = Math.floor;
3257
+ module.exports = function isInteger(it) {
3258
+ return !isObject(it) && isFinite(it) && floor(it) === it;
3259
+ };
3260
+
3261
+ /***/ }),
3262
+ /* 104 */
3263
+ /***/ (function(module, exports, __w_pdfjs_require__) {
3264
+
3265
+ __w_pdfjs_require__(105);
3266
+ __w_pdfjs_require__(73);
3267
+ __w_pdfjs_require__(107);
3268
+ __w_pdfjs_require__(110);
3269
+ __w_pdfjs_require__(126);
3270
+ __w_pdfjs_require__(127);
3271
+ var path = __w_pdfjs_require__(38);
3272
+ module.exports = path.Promise;
3273
+
3274
+ /***/ }),
3275
+ /* 105 */
3276
+ /***/ (function(module, exports, __w_pdfjs_require__) {
3277
+
3278
+ var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(92);
3279
+ var redefine = __w_pdfjs_require__(24);
3280
+ var toString = __w_pdfjs_require__(106);
3281
+ if (!TO_STRING_TAG_SUPPORT) {
3282
+ redefine(Object.prototype, 'toString', toString, { unsafe: true });
3283
+ }
3284
+
3285
+ /***/ }),
3286
+ /* 106 */
3287
+ /***/ (function(module, exports, __w_pdfjs_require__) {
3288
+
3289
+ "use strict";
3290
+
3291
+ var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(92);
3292
+ var classof = __w_pdfjs_require__(91);
3293
+ module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {
3294
+ return '[object ' + classof(this) + ']';
3295
+ };
3296
+
3297
+ /***/ }),
3298
+ /* 107 */
3299
+ /***/ (function(module, exports, __w_pdfjs_require__) {
3300
+
3301
+ var global = __w_pdfjs_require__(6);
3302
+ var DOMIterables = __w_pdfjs_require__(108);
3303
+ var ArrayIteratorMethods = __w_pdfjs_require__(109);
3304
+ var createNonEnumerableProperty = __w_pdfjs_require__(21);
3305
+ var wellKnownSymbol = __w_pdfjs_require__(53);
3306
+ var ITERATOR = wellKnownSymbol('iterator');
3307
+ var TO_STRING_TAG = wellKnownSymbol('toStringTag');
3308
+ var ArrayValues = ArrayIteratorMethods.values;
3309
+ for (var COLLECTION_NAME in DOMIterables) {
3310
+ var Collection = global[COLLECTION_NAME];
3311
+ var CollectionPrototype = Collection && Collection.prototype;
3312
+ if (CollectionPrototype) {
3313
+ if (CollectionPrototype[ITERATOR] !== ArrayValues)
3314
+ try {
3315
+ createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);
3316
+ } catch (error) {
3317
+ CollectionPrototype[ITERATOR] = ArrayValues;
3318
+ }
3319
+ if (!CollectionPrototype[TO_STRING_TAG]) {
3320
+ createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);
3321
+ }
3322
+ if (DOMIterables[COLLECTION_NAME])
3323
+ for (var METHOD_NAME in ArrayIteratorMethods) {
3324
+ if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME])
3325
+ try {
3326
+ createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
3327
+ } catch (error) {
3328
+ CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];
3329
+ }
3330
+ }
3331
+ }
3332
+ }
3333
+
3334
+ /***/ }),
3335
+ /* 108 */
3336
+ /***/ (function(module, exports) {
3337
+
3338
+ module.exports = {
3339
+ CSSRuleList: 0,
3340
+ CSSStyleDeclaration: 0,
3341
+ CSSValueList: 0,
3342
+ ClientRectList: 0,
3343
+ DOMRectList: 0,
3344
+ DOMStringList: 0,
3345
+ DOMTokenList: 1,
3346
+ DataTransferItemList: 0,
3347
+ FileList: 0,
3348
+ HTMLAllCollection: 0,
3349
+ HTMLCollection: 0,
3350
+ HTMLFormElement: 0,
3351
+ HTMLSelectElement: 0,
3352
+ MediaList: 0,
3353
+ MimeTypeArray: 0,
3354
+ NamedNodeMap: 0,
3355
+ NodeList: 1,
3356
+ PaintRequestList: 0,
3357
+ Plugin: 0,
3358
+ PluginArray: 0,
3359
+ SVGLengthList: 0,
3360
+ SVGNumberList: 0,
3361
+ SVGPathSegList: 0,
3362
+ SVGPointList: 0,
3363
+ SVGStringList: 0,
3364
+ SVGTransformList: 0,
3365
+ SourceBufferList: 0,
3366
+ StyleSheetList: 0,
3367
+ TextTrackCueList: 0,
3368
+ TextTrackList: 0,
3369
+ TouchList: 0
3370
+ };
3371
+
3372
+ /***/ }),
3373
+ /* 109 */
3374
+ /***/ (function(module, exports, __w_pdfjs_require__) {
3375
+
3376
+ "use strict";
3377
+
3378
+ var toIndexedObject = __w_pdfjs_require__(12);
3379
+ var addToUnscopables = __w_pdfjs_require__(66);
3380
+ var Iterators = __w_pdfjs_require__(82);
3381
+ var InternalStateModule = __w_pdfjs_require__(28);
3382
+ var defineIterator = __w_pdfjs_require__(75);
3383
+ var ARRAY_ITERATOR = 'Array Iterator';
3384
+ var setInternalState = InternalStateModule.set;
3385
+ var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);
3386
+ module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
3387
+ setInternalState(this, {
3388
+ type: ARRAY_ITERATOR,
3389
+ target: toIndexedObject(iterated),
3390
+ index: 0,
3391
+ kind: kind
3392
+ });
3393
+ }, function () {
3394
+ var state = getInternalState(this);
3395
+ var target = state.target;
3396
+ var kind = state.kind;
3397
+ var index = state.index++;
3398
+ if (!target || index >= target.length) {
3399
+ state.target = undefined;
3400
+ return {
3401
+ value: undefined,
3402
+ done: true
3403
+ };
3404
+ }
3405
+ if (kind == 'keys')
3406
+ return {
3407
+ value: index,
3408
+ done: false
3409
+ };
3410
+ if (kind == 'values')
3411
+ return {
3412
+ value: target[index],
3413
+ done: false
3414
+ };
3415
+ return {
3416
+ value: [
3417
+ index,
3418
+ target[index]
3419
+ ],
3420
+ done: false
3421
+ };
3422
+ }, 'values');
3423
+ Iterators.Arguments = Iterators.Array;
3424
+ addToUnscopables('keys');
3425
+ addToUnscopables('values');
3426
+ addToUnscopables('entries');
3427
+
3428
+ /***/ }),
3429
+ /* 110 */
3430
+ /***/ (function(module, exports, __w_pdfjs_require__) {
3431
+
3432
+ "use strict";
3433
+
3434
+ var $ = __w_pdfjs_require__(5);
3435
+ var IS_PURE = __w_pdfjs_require__(32);
3436
+ var global = __w_pdfjs_require__(6);
3437
+ var getBuiltIn = __w_pdfjs_require__(37);
3438
+ var NativePromise = __w_pdfjs_require__(111);
3439
+ var redefine = __w_pdfjs_require__(24);
3440
+ var redefineAll = __w_pdfjs_require__(112);
3441
+ var setToStringTag = __w_pdfjs_require__(81);
3442
+ var setSpecies = __w_pdfjs_require__(113);
3443
+ var isObject = __w_pdfjs_require__(17);
3444
+ var aFunction = __w_pdfjs_require__(59);
3445
+ var anInstance = __w_pdfjs_require__(114);
3446
+ var classof = __w_pdfjs_require__(14);
3447
+ var inspectSource = __w_pdfjs_require__(26);
3448
+ var iterate = __w_pdfjs_require__(115);
3449
+ var checkCorrectnessOfIteration = __w_pdfjs_require__(93);
3450
+ var speciesConstructor = __w_pdfjs_require__(116);
3451
+ var task = __w_pdfjs_require__(117).set;
3452
+ var microtask = __w_pdfjs_require__(120);
3453
+ var promiseResolve = __w_pdfjs_require__(121);
3454
+ var hostReportErrors = __w_pdfjs_require__(123);
3455
+ var newPromiseCapabilityModule = __w_pdfjs_require__(122);
3456
+ var perform = __w_pdfjs_require__(124);
3457
+ var InternalStateModule = __w_pdfjs_require__(28);
3458
+ var isForced = __w_pdfjs_require__(47);
3459
+ var wellKnownSymbol = __w_pdfjs_require__(53);
3460
+ var V8_VERSION = __w_pdfjs_require__(125);
3461
+ var SPECIES = wellKnownSymbol('species');
3462
+ var PROMISE = 'Promise';
3463
+ var getInternalState = InternalStateModule.get;
3464
+ var setInternalState = InternalStateModule.set;
3465
+ var getInternalPromiseState = InternalStateModule.getterFor(PROMISE);
3466
+ var PromiseConstructor = NativePromise;
3467
+ var TypeError = global.TypeError;
3468
+ var document = global.document;
3469
+ var process = global.process;
3470
+ var $fetch = getBuiltIn('fetch');
3471
+ var newPromiseCapability = newPromiseCapabilityModule.f;
3472
+ var newGenericPromiseCapability = newPromiseCapability;
3473
+ var IS_NODE = classof(process) == 'process';
3474
+ var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);
3475
+ var UNHANDLED_REJECTION = 'unhandledrejection';
3476
+ var REJECTION_HANDLED = 'rejectionhandled';
3477
+ var PENDING = 0;
3478
+ var FULFILLED = 1;
3479
+ var REJECTED = 2;
3480
+ var HANDLED = 1;
3481
+ var UNHANDLED = 2;
3482
+ var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;
3483
+ var FORCED = isForced(PROMISE, function () {
3484
+ var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);
3485
+ if (!GLOBAL_CORE_JS_PROMISE) {
3486
+ if (V8_VERSION === 66)
3487
+ return true;
3488
+ if (!IS_NODE && typeof PromiseRejectionEvent != 'function')
3489
+ return true;
3490
+ }
3491
+ if (IS_PURE && !PromiseConstructor.prototype['finally'])
3492
+ return true;
3493
+ if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor))
3494
+ return false;
3495
+ var promise = PromiseConstructor.resolve(1);
3496
+ var FakePromise = function (exec) {
3497
+ exec(function () {
3498
+ }, function () {
3499
+ });
3500
+ };
3501
+ var constructor = promise.constructor = {};
3502
+ constructor[SPECIES] = FakePromise;
3503
+ return !(promise.then(function () {
3504
+ }) instanceof FakePromise);
3505
+ });
3506
+ var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {
3507
+ PromiseConstructor.all(iterable)['catch'](function () {
3508
+ });
3509
+ });
3510
+ var isThenable = function (it) {
3511
+ var then;
3512
+ return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
3513
+ };
3514
+ var notify = function (promise, state, isReject) {
3515
+ if (state.notified)
3516
+ return;
3517
+ state.notified = true;
3518
+ var chain = state.reactions;
3519
+ microtask(function () {
3520
+ var value = state.value;
3521
+ var ok = state.state == FULFILLED;
3522
+ var index = 0;
3523
+ while (chain.length > index) {
3524
+ var reaction = chain[index++];
3525
+ var handler = ok ? reaction.ok : reaction.fail;
3526
+ var resolve = reaction.resolve;
3527
+ var reject = reaction.reject;
3528
+ var domain = reaction.domain;
3529
+ var result, then, exited;
3530
+ try {
3531
+ if (handler) {
3532
+ if (!ok) {
3533
+ if (state.rejection === UNHANDLED)
3534
+ onHandleUnhandled(promise, state);
3535
+ state.rejection = HANDLED;
3536
+ }
3537
+ if (handler === true)
3538
+ result = value;
3539
+ else {
3540
+ if (domain)
3541
+ domain.enter();
3542
+ result = handler(value);
3543
+ if (domain) {
3544
+ domain.exit();
3545
+ exited = true;
3546
+ }
3547
+ }
3548
+ if (result === reaction.promise) {
3549
+ reject(TypeError('Promise-chain cycle'));
3550
+ } else if (then = isThenable(result)) {
3551
+ then.call(result, resolve, reject);
3552
+ } else
3553
+ resolve(result);
3554
+ } else
3555
+ reject(value);
3556
+ } catch (error) {
3557
+ if (domain && !exited)
3558
+ domain.exit();
3559
+ reject(error);
3560
+ }
3561
+ }
3562
+ state.reactions = [];
3563
+ state.notified = false;
3564
+ if (isReject && !state.rejection)
3565
+ onUnhandled(promise, state);
3566
+ });
3567
+ };
3568
+ var dispatchEvent = function (name, promise, reason) {
3569
+ var event, handler;
3570
+ if (DISPATCH_EVENT) {
3571
+ event = document.createEvent('Event');
3572
+ event.promise = promise;
3573
+ event.reason = reason;
3574
+ event.initEvent(name, false, true);
3575
+ global.dispatchEvent(event);
3576
+ } else
3577
+ event = {
3578
+ promise: promise,
3579
+ reason: reason
3580
+ };
3581
+ if (handler = global['on' + name])
3582
+ handler(event);
3583
+ else if (name === UNHANDLED_REJECTION)
3584
+ hostReportErrors('Unhandled promise rejection', reason);
3585
+ };
3586
+ var onUnhandled = function (promise, state) {
3587
+ task.call(global, function () {
3588
+ var value = state.value;
3589
+ var IS_UNHANDLED = isUnhandled(state);
3590
+ var result;
3591
+ if (IS_UNHANDLED) {
3592
+ result = perform(function () {
3593
+ if (IS_NODE) {
3594
+ process.emit('unhandledRejection', value, promise);
3595
+ } else
3596
+ dispatchEvent(UNHANDLED_REJECTION, promise, value);
3597
+ });
3598
+ state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;
3599
+ if (result.error)
3600
+ throw result.value;
3601
+ }
3602
+ });
3603
+ };
3604
+ var isUnhandled = function (state) {
3605
+ return state.rejection !== HANDLED && !state.parent;
3606
+ };
3607
+ var onHandleUnhandled = function (promise, state) {
3608
+ task.call(global, function () {
3609
+ if (IS_NODE) {
3610
+ process.emit('rejectionHandled', promise);
3611
+ } else
3612
+ dispatchEvent(REJECTION_HANDLED, promise, state.value);
3613
+ });
3614
+ };
3615
+ var bind = function (fn, promise, state, unwrap) {
3616
+ return function (value) {
3617
+ fn(promise, state, value, unwrap);
3618
+ };
3619
+ };
3620
+ var internalReject = function (promise, state, value, unwrap) {
3621
+ if (state.done)
3622
+ return;
3623
+ state.done = true;
3624
+ if (unwrap)
3625
+ state = unwrap;
3626
+ state.value = value;
3627
+ state.state = REJECTED;
3628
+ notify(promise, state, true);
3629
+ };
3630
+ var internalResolve = function (promise, state, value, unwrap) {
3631
+ if (state.done)
3632
+ return;
3633
+ state.done = true;
3634
+ if (unwrap)
3635
+ state = unwrap;
3636
+ try {
3637
+ if (promise === value)
3638
+ throw TypeError("Promise can't be resolved itself");
3639
+ var then = isThenable(value);
3640
+ if (then) {
3641
+ microtask(function () {
3642
+ var wrapper = { done: false };
3643
+ try {
3644
+ then.call(value, bind(internalResolve, promise, wrapper, state), bind(internalReject, promise, wrapper, state));
3645
+ } catch (error) {
3646
+ internalReject(promise, wrapper, error, state);
3647
+ }
3648
+ });
3649
+ } else {
3650
+ state.value = value;
3651
+ state.state = FULFILLED;
3652
+ notify(promise, state, false);
3653
+ }
3654
+ } catch (error) {
3655
+ internalReject(promise, { done: false }, error, state);
3656
+ }
3657
+ };
3658
+ if (FORCED) {
3659
+ PromiseConstructor = function Promise(executor) {
3660
+ anInstance(this, PromiseConstructor, PROMISE);
3661
+ aFunction(executor);
3662
+ Internal.call(this);
3663
+ var state = getInternalState(this);
3664
+ try {
3665
+ executor(bind(internalResolve, this, state), bind(internalReject, this, state));
3666
+ } catch (error) {
3667
+ internalReject(this, state, error);
3668
+ }
3669
+ };
3670
+ Internal = function Promise(executor) {
3671
+ setInternalState(this, {
3672
+ type: PROMISE,
3673
+ done: false,
3674
+ notified: false,
3675
+ parent: false,
3676
+ reactions: [],
3677
+ rejection: false,
3678
+ state: PENDING,
3679
+ value: undefined
3680
+ });
3681
+ };
3682
+ Internal.prototype = redefineAll(PromiseConstructor.prototype, {
3683
+ then: function then(onFulfilled, onRejected) {
3684
+ var state = getInternalPromiseState(this);
3685
+ var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
3686
+ reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
3687
+ reaction.fail = typeof onRejected == 'function' && onRejected;
3688
+ reaction.domain = IS_NODE ? process.domain : undefined;
3689
+ state.parent = true;
3690
+ state.reactions.push(reaction);
3691
+ if (state.state != PENDING)
3692
+ notify(this, state, false);
3693
+ return reaction.promise;
3694
+ },
3695
+ 'catch': function (onRejected) {
3696
+ return this.then(undefined, onRejected);
3697
+ }
3698
+ });
3699
+ OwnPromiseCapability = function () {
3700
+ var promise = new Internal();
3701
+ var state = getInternalState(promise);
3702
+ this.promise = promise;
3703
+ this.resolve = bind(internalResolve, promise, state);
3704
+ this.reject = bind(internalReject, promise, state);
3705
+ };
3706
+ newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
3707
+ return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);
3708
+ };
3709
+ if (!IS_PURE && typeof NativePromise == 'function') {
3710
+ nativeThen = NativePromise.prototype.then;
3711
+ redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {
3712
+ var that = this;
3713
+ return new PromiseConstructor(function (resolve, reject) {
3714
+ nativeThen.call(that, resolve, reject);
3715
+ }).then(onFulfilled, onRejected);
3716
+ }, { unsafe: true });
3717
+ if (typeof $fetch == 'function')
3718
+ $({
3719
+ global: true,
3720
+ enumerable: true,
3721
+ forced: true
3722
+ }, {
3723
+ fetch: function fetch(input) {
3724
+ return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));
3725
+ }
3726
+ });
3727
+ }
3728
+ }
3729
+ $({
3730
+ global: true,
3731
+ wrap: true,
3732
+ forced: FORCED
3733
+ }, { Promise: PromiseConstructor });
3734
+ setToStringTag(PromiseConstructor, PROMISE, false, true);
3735
+ setSpecies(PROMISE);
3736
+ PromiseWrapper = getBuiltIn(PROMISE);
3737
+ $({
3738
+ target: PROMISE,
3739
+ stat: true,
3740
+ forced: FORCED
3741
+ }, {
3742
+ reject: function reject(r) {
3743
+ var capability = newPromiseCapability(this);
3744
+ capability.reject.call(undefined, r);
3745
+ return capability.promise;
3746
+ }
3747
+ });
3748
+ $({
3749
+ target: PROMISE,
3750
+ stat: true,
3751
+ forced: IS_PURE || FORCED
3752
+ }, {
3753
+ resolve: function resolve(x) {
3754
+ return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);
3755
+ }
3756
+ });
3757
+ $({
3758
+ target: PROMISE,
3759
+ stat: true,
3760
+ forced: INCORRECT_ITERATION
3761
+ }, {
3762
+ all: function all(iterable) {
3763
+ var C = this;
3764
+ var capability = newPromiseCapability(C);
3765
+ var resolve = capability.resolve;
3766
+ var reject = capability.reject;
3767
+ var result = perform(function () {
3768
+ var $promiseResolve = aFunction(C.resolve);
3769
+ var values = [];
3770
+ var counter = 0;
3771
+ var remaining = 1;
3772
+ iterate(iterable, function (promise) {
3773
+ var index = counter++;
3774
+ var alreadyCalled = false;
3775
+ values.push(undefined);
3776
+ remaining++;
3777
+ $promiseResolve.call(C, promise).then(function (value) {
3778
+ if (alreadyCalled)
3779
+ return;
3780
+ alreadyCalled = true;
3781
+ values[index] = value;
3782
+ --remaining || resolve(values);
3783
+ }, reject);
3784
+ });
3785
+ --remaining || resolve(values);
3786
+ });
3787
+ if (result.error)
3788
+ reject(result.value);
3789
+ return capability.promise;
3790
+ },
3791
+ race: function race(iterable) {
3792
+ var C = this;
3793
+ var capability = newPromiseCapability(C);
3794
+ var reject = capability.reject;
3795
+ var result = perform(function () {
3796
+ var $promiseResolve = aFunction(C.resolve);
3797
+ iterate(iterable, function (promise) {
3798
+ $promiseResolve.call(C, promise).then(capability.resolve, reject);
3799
+ });
3800
+ });
3801
+ if (result.error)
3802
+ reject(result.value);
3803
+ return capability.promise;
3804
+ }
3805
+ });
3806
+
3807
+ /***/ }),
3808
+ /* 111 */
3809
+ /***/ (function(module, exports, __w_pdfjs_require__) {
3810
+
3811
+ var global = __w_pdfjs_require__(6);
3812
+ module.exports = global.Promise;
3813
+
3814
+ /***/ }),
3815
+ /* 112 */
3816
+ /***/ (function(module, exports, __w_pdfjs_require__) {
3817
+
3818
+ var redefine = __w_pdfjs_require__(24);
3819
+ module.exports = function (target, src, options) {
3820
+ for (var key in src)
3821
+ redefine(target, key, src[key], options);
3822
+ return target;
3823
+ };
3824
+
3825
+ /***/ }),
3826
+ /* 113 */
3827
+ /***/ (function(module, exports, __w_pdfjs_require__) {
3828
+
3829
+ "use strict";
3830
+
3831
+ var getBuiltIn = __w_pdfjs_require__(37);
3832
+ var definePropertyModule = __w_pdfjs_require__(22);
3833
+ var wellKnownSymbol = __w_pdfjs_require__(53);
3834
+ var DESCRIPTORS = __w_pdfjs_require__(8);
3835
+ var SPECIES = wellKnownSymbol('species');
3836
+ module.exports = function (CONSTRUCTOR_NAME) {
3837
+ var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
3838
+ var defineProperty = definePropertyModule.f;
3839
+ if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {
3840
+ defineProperty(Constructor, SPECIES, {
3841
+ configurable: true,
3842
+ get: function () {
3843
+ return this;
3844
+ }
3845
+ });
3846
+ }
3847
+ };
3848
+
3849
+ /***/ }),
3850
+ /* 114 */
3851
+ /***/ (function(module, exports) {
3852
+
3853
+ module.exports = function (it, Constructor, name) {
3854
+ if (!(it instanceof Constructor)) {
3855
+ throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');
3856
+ }
3857
+ return it;
3858
+ };
3859
+
3860
+ /***/ }),
3861
+ /* 115 */
3862
+ /***/ (function(module, exports, __w_pdfjs_require__) {
3863
+
3864
+ var anObject = __w_pdfjs_require__(23);
3865
+ var isArrayIteratorMethod = __w_pdfjs_require__(88);
3866
+ var toLength = __w_pdfjs_require__(42);
3867
+ var bind = __w_pdfjs_require__(58);
3868
+ var getIteratorMethod = __w_pdfjs_require__(90);
3869
+ var callWithSafeIterationClosing = __w_pdfjs_require__(87);
3870
+ var Result = function (stopped, result) {
3871
+ this.stopped = stopped;
3872
+ this.result = result;
3873
+ };
3874
+ var iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {
3875
+ var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);
3876
+ var iterator, iterFn, index, length, result, next, step;
3877
+ if (IS_ITERATOR) {
3878
+ iterator = iterable;
3879
+ } else {
3880
+ iterFn = getIteratorMethod(iterable);
3881
+ if (typeof iterFn != 'function')
3882
+ throw TypeError('Target is not iterable');
3883
+ if (isArrayIteratorMethod(iterFn)) {
3884
+ for (index = 0, length = toLength(iterable.length); length > index; index++) {
3885
+ result = AS_ENTRIES ? boundFunction(anObject(step = iterable[index])[0], step[1]) : boundFunction(iterable[index]);
3886
+ if (result && result instanceof Result)
3887
+ return result;
3888
+ }
3889
+ return new Result(false);
3890
+ }
3891
+ iterator = iterFn.call(iterable);
3892
+ }
3893
+ next = iterator.next;
3894
+ while (!(step = next.call(iterator)).done) {
3895
+ result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);
3896
+ if (typeof result == 'object' && result && result instanceof Result)
3897
+ return result;
3898
+ }
3899
+ return new Result(false);
3900
+ };
3901
+ iterate.stop = function (result) {
3902
+ return new Result(true, result);
3903
+ };
3904
+
3905
+ /***/ }),
3906
+ /* 116 */
3907
+ /***/ (function(module, exports, __w_pdfjs_require__) {
3908
+
3909
+ var anObject = __w_pdfjs_require__(23);
3910
+ var aFunction = __w_pdfjs_require__(59);
3911
+ var wellKnownSymbol = __w_pdfjs_require__(53);
3912
+ var SPECIES = wellKnownSymbol('species');
3913
+ module.exports = function (O, defaultConstructor) {
3914
+ var C = anObject(O).constructor;
3915
+ var S;
3916
+ return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);
3917
+ };
3918
+
3919
+ /***/ }),
3920
+ /* 117 */
3921
+ /***/ (function(module, exports, __w_pdfjs_require__) {
3922
+
3923
+ var global = __w_pdfjs_require__(6);
3924
+ var fails = __w_pdfjs_require__(9);
3925
+ var classof = __w_pdfjs_require__(14);
3926
+ var bind = __w_pdfjs_require__(58);
3927
+ var html = __w_pdfjs_require__(70);
3928
+ var createElement = __w_pdfjs_require__(20);
3929
+ var IS_IOS = __w_pdfjs_require__(118);
3930
+ var location = global.location;
3931
+ var set = global.setImmediate;
3932
+ var clear = global.clearImmediate;
3933
+ var process = global.process;
3934
+ var MessageChannel = global.MessageChannel;
3935
+ var Dispatch = global.Dispatch;
3936
+ var counter = 0;
3937
+ var queue = {};
3938
+ var ONREADYSTATECHANGE = 'onreadystatechange';
3939
+ var defer, channel, port;
3940
+ var run = function (id) {
3941
+ if (queue.hasOwnProperty(id)) {
3942
+ var fn = queue[id];
3943
+ delete queue[id];
3944
+ fn();
3945
+ }
3946
+ };
3947
+ var runner = function (id) {
3948
+ return function () {
3949
+ run(id);
3950
+ };
3951
+ };
3952
+ var listener = function (event) {
3953
+ run(event.data);
3954
+ };
3955
+ var post = function (id) {
3956
+ global.postMessage(id + '', location.protocol + '//' + location.host);
3957
+ };
3958
+ if (!set || !clear) {
3959
+ set = function setImmediate(fn) {
3960
+ var args = [];
3961
+ var i = 1;
3962
+ while (arguments.length > i)
3963
+ args.push(arguments[i++]);
3964
+ queue[++counter] = function () {
3965
+ (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);
3966
+ };
3967
+ defer(counter);
3968
+ return counter;
3969
+ };
3970
+ clear = function clearImmediate(id) {
3971
+ delete queue[id];
3972
+ };
3973
+ if (classof(process) == 'process') {
3974
+ defer = function (id) {
3975
+ process.nextTick(runner(id));
3976
+ };
3977
+ } else if (Dispatch && Dispatch.now) {
3978
+ defer = function (id) {
3979
+ Dispatch.now(runner(id));
3980
+ };
3981
+ } else if (MessageChannel && !IS_IOS) {
3982
+ channel = new MessageChannel();
3983
+ port = channel.port2;
3984
+ channel.port1.onmessage = listener;
3985
+ defer = bind(port.postMessage, port, 1);
3986
+ } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post)) {
3987
+ defer = post;
3988
+ global.addEventListener('message', listener, false);
3989
+ } else if (ONREADYSTATECHANGE in createElement('script')) {
3990
+ defer = function (id) {
3991
+ html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {
3992
+ html.removeChild(this);
3993
+ run(id);
3994
+ };
3995
+ };
3996
+ } else {
3997
+ defer = function (id) {
3998
+ setTimeout(runner(id), 0);
3999
+ };
4000
+ }
4001
+ }
4002
+ module.exports = {
4003
+ set: set,
4004
+ clear: clear
4005
+ };
4006
+
4007
+ /***/ }),
4008
+ /* 118 */
4009
+ /***/ (function(module, exports, __w_pdfjs_require__) {
4010
+
4011
+ var userAgent = __w_pdfjs_require__(119);
4012
+ module.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);
4013
+
4014
+ /***/ }),
4015
+ /* 119 */
4016
+ /***/ (function(module, exports, __w_pdfjs_require__) {
4017
+
4018
+ var getBuiltIn = __w_pdfjs_require__(37);
4019
+ module.exports = getBuiltIn('navigator', 'userAgent') || '';
4020
+
4021
+ /***/ }),
4022
+ /* 120 */
4023
+ /***/ (function(module, exports, __w_pdfjs_require__) {
4024
+
4025
+ var global = __w_pdfjs_require__(6);
4026
+ var getOwnPropertyDescriptor = __w_pdfjs_require__(7).f;
4027
+ var classof = __w_pdfjs_require__(14);
4028
+ var macrotask = __w_pdfjs_require__(117).set;
4029
+ var IS_IOS = __w_pdfjs_require__(118);
4030
+ var MutationObserver = global.MutationObserver || global.WebKitMutationObserver;
4031
+ var process = global.process;
4032
+ var Promise = global.Promise;
4033
+ var IS_NODE = classof(process) == 'process';
4034
+ var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');
4035
+ var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
4036
+ var flush, head, last, notify, toggle, node, promise, then;
4037
+ if (!queueMicrotask) {
4038
+ flush = function () {
4039
+ var parent, fn;
4040
+ if (IS_NODE && (parent = process.domain))
4041
+ parent.exit();
4042
+ while (head) {
4043
+ fn = head.fn;
4044
+ head = head.next;
4045
+ try {
4046
+ fn();
4047
+ } catch (error) {
4048
+ if (head)
4049
+ notify();
4050
+ else
4051
+ last = undefined;
4052
+ throw error;
4053
+ }
4054
+ }
4055
+ last = undefined;
4056
+ if (parent)
4057
+ parent.enter();
4058
+ };
4059
+ if (IS_NODE) {
4060
+ notify = function () {
4061
+ process.nextTick(flush);
4062
+ };
4063
+ } else if (MutationObserver && !IS_IOS) {
4064
+ toggle = true;
4065
+ node = document.createTextNode('');
4066
+ new MutationObserver(flush).observe(node, { characterData: true });
4067
+ notify = function () {
4068
+ node.data = toggle = !toggle;
4069
+ };
4070
+ } else if (Promise && Promise.resolve) {
4071
+ promise = Promise.resolve(undefined);
4072
+ then = promise.then;
4073
+ notify = function () {
4074
+ then.call(promise, flush);
4075
+ };
4076
+ } else {
4077
+ notify = function () {
4078
+ macrotask.call(global, flush);
4079
+ };
4080
+ }
4081
+ }
4082
+ module.exports = queueMicrotask || function (fn) {
4083
+ var task = {
4084
+ fn: fn,
4085
+ next: undefined
4086
+ };
4087
+ if (last)
4088
+ last.next = task;
4089
+ if (!head) {
4090
+ head = task;
4091
+ notify();
4092
+ }
4093
+ last = task;
4094
+ };
4095
+
4096
+ /***/ }),
4097
+ /* 121 */
4098
+ /***/ (function(module, exports, __w_pdfjs_require__) {
4099
+
4100
+ var anObject = __w_pdfjs_require__(23);
4101
+ var isObject = __w_pdfjs_require__(17);
4102
+ var newPromiseCapability = __w_pdfjs_require__(122);
4103
+ module.exports = function (C, x) {
4104
+ anObject(C);
4105
+ if (isObject(x) && x.constructor === C)
4106
+ return x;
4107
+ var promiseCapability = newPromiseCapability.f(C);
4108
+ var resolve = promiseCapability.resolve;
4109
+ resolve(x);
4110
+ return promiseCapability.promise;
4111
+ };
4112
+
4113
+ /***/ }),
4114
+ /* 122 */
4115
+ /***/ (function(module, exports, __w_pdfjs_require__) {
4116
+
4117
+ "use strict";
4118
+
4119
+ var aFunction = __w_pdfjs_require__(59);
4120
+ var PromiseCapability = function (C) {
4121
+ var resolve, reject;
4122
+ this.promise = new C(function ($$resolve, $$reject) {
4123
+ if (resolve !== undefined || reject !== undefined)
4124
+ throw TypeError('Bad Promise constructor');
4125
+ resolve = $$resolve;
4126
+ reject = $$reject;
4127
+ });
4128
+ this.resolve = aFunction(resolve);
4129
+ this.reject = aFunction(reject);
4130
+ };
4131
+ module.exports.f = function (C) {
4132
+ return new PromiseCapability(C);
4133
+ };
4134
+
4135
+ /***/ }),
4136
+ /* 123 */
4137
+ /***/ (function(module, exports, __w_pdfjs_require__) {
4138
+
4139
+ var global = __w_pdfjs_require__(6);
4140
+ module.exports = function (a, b) {
4141
+ var console = global.console;
4142
+ if (console && console.error) {
4143
+ arguments.length === 1 ? console.error(a) : console.error(a, b);
4144
+ }
4145
+ };
4146
+
4147
+ /***/ }),
4148
+ /* 124 */
4149
+ /***/ (function(module, exports) {
4150
+
4151
+ module.exports = function (exec) {
4152
+ try {
4153
+ return {
4154
+ error: false,
4155
+ value: exec()
4156
+ };
4157
+ } catch (error) {
4158
+ return {
4159
+ error: true,
4160
+ value: error
4161
+ };
4162
+ }
4163
+ };
4164
+
4165
+ /***/ }),
4166
+ /* 125 */
4167
+ /***/ (function(module, exports, __w_pdfjs_require__) {
4168
+
4169
+ var global = __w_pdfjs_require__(6);
4170
+ var userAgent = __w_pdfjs_require__(119);
4171
+ var process = global.process;
4172
+ var versions = process && process.versions;
4173
+ var v8 = versions && versions.v8;
4174
+ var match, version;
4175
+ if (v8) {
4176
+ match = v8.split('.');
4177
+ version = match[0] + match[1];
4178
+ } else if (userAgent) {
4179
+ match = userAgent.match(/Edge\/(\d+)/);
4180
+ if (!match || match[1] >= 74) {
4181
+ match = userAgent.match(/Chrome\/(\d+)/);
4182
+ if (match)
4183
+ version = match[1];
4184
+ }
4185
+ }
4186
+ module.exports = version && +version;
4187
+
4188
+ /***/ }),
4189
+ /* 126 */
4190
+ /***/ (function(module, exports, __w_pdfjs_require__) {
4191
+
4192
+ "use strict";
4193
+
4194
+ var $ = __w_pdfjs_require__(5);
4195
+ var aFunction = __w_pdfjs_require__(59);
4196
+ var newPromiseCapabilityModule = __w_pdfjs_require__(122);
4197
+ var perform = __w_pdfjs_require__(124);
4198
+ var iterate = __w_pdfjs_require__(115);
4199
+ $({
4200
+ target: 'Promise',
4201
+ stat: true
4202
+ }, {
4203
+ allSettled: function allSettled(iterable) {
4204
+ var C = this;
4205
+ var capability = newPromiseCapabilityModule.f(C);
4206
+ var resolve = capability.resolve;
4207
+ var reject = capability.reject;
4208
+ var result = perform(function () {
4209
+ var promiseResolve = aFunction(C.resolve);
4210
+ var values = [];
4211
+ var counter = 0;
4212
+ var remaining = 1;
4213
+ iterate(iterable, function (promise) {
4214
+ var index = counter++;
4215
+ var alreadyCalled = false;
4216
+ values.push(undefined);
4217
+ remaining++;
4218
+ promiseResolve.call(C, promise).then(function (value) {
4219
+ if (alreadyCalled)
4220
+ return;
4221
+ alreadyCalled = true;
4222
+ values[index] = {
4223
+ status: 'fulfilled',
4224
+ value: value
4225
+ };
4226
+ --remaining || resolve(values);
4227
+ }, function (e) {
4228
+ if (alreadyCalled)
4229
+ return;
4230
+ alreadyCalled = true;
4231
+ values[index] = {
4232
+ status: 'rejected',
4233
+ reason: e
4234
+ };
4235
+ --remaining || resolve(values);
4236
+ });
4237
+ });
4238
+ --remaining || resolve(values);
4239
+ });
4240
+ if (result.error)
4241
+ reject(result.value);
4242
+ return capability.promise;
4243
+ }
4244
+ });
4245
+
4246
+ /***/ }),
4247
+ /* 127 */
4248
+ /***/ (function(module, exports, __w_pdfjs_require__) {
4249
+
4250
+ "use strict";
4251
+
4252
+ var $ = __w_pdfjs_require__(5);
4253
+ var IS_PURE = __w_pdfjs_require__(32);
4254
+ var NativePromise = __w_pdfjs_require__(111);
4255
+ var fails = __w_pdfjs_require__(9);
4256
+ var getBuiltIn = __w_pdfjs_require__(37);
4257
+ var speciesConstructor = __w_pdfjs_require__(116);
4258
+ var promiseResolve = __w_pdfjs_require__(121);
4259
+ var redefine = __w_pdfjs_require__(24);
4260
+ var NON_GENERIC = !!NativePromise && fails(function () {
4261
+ NativePromise.prototype['finally'].call({
4262
+ then: function () {
4263
+ }
4264
+ }, function () {
4265
+ });
4266
+ });
4267
+ $({
4268
+ target: 'Promise',
4269
+ proto: true,
4270
+ real: true,
4271
+ forced: NON_GENERIC
4272
+ }, {
4273
+ 'finally': function (onFinally) {
4274
+ var C = speciesConstructor(this, getBuiltIn('Promise'));
4275
+ var isFunction = typeof onFinally == 'function';
4276
+ return this.then(isFunction ? function (x) {
4277
+ return promiseResolve(C, onFinally()).then(function () {
4278
+ return x;
4279
+ });
4280
+ } : onFinally, isFunction ? function (e) {
4281
+ return promiseResolve(C, onFinally()).then(function () {
4282
+ throw e;
4283
+ });
4284
+ } : onFinally);
4285
+ }
4286
+ });
4287
+ if (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {
4288
+ redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);
4289
+ }
4290
+
4291
+ /***/ }),
4292
+ /* 128 */
4293
+ /***/ (function(module, exports, __w_pdfjs_require__) {
4294
+
4295
+ __w_pdfjs_require__(129);
4296
+ __w_pdfjs_require__(134);
4297
+ __w_pdfjs_require__(132);
4298
+ var path = __w_pdfjs_require__(38);
4299
+ module.exports = path.URL;
4300
+
4301
+ /***/ }),
4302
+ /* 129 */
4303
+ /***/ (function(module, exports, __w_pdfjs_require__) {
4304
+
4305
+ "use strict";
4306
+
4307
+ __w_pdfjs_require__(73);
4308
+ var $ = __w_pdfjs_require__(5);
4309
+ var DESCRIPTORS = __w_pdfjs_require__(8);
4310
+ var USE_NATIVE_URL = __w_pdfjs_require__(130);
4311
+ var global = __w_pdfjs_require__(6);
4312
+ var defineProperties = __w_pdfjs_require__(68);
4313
+ var redefine = __w_pdfjs_require__(24);
4314
+ var anInstance = __w_pdfjs_require__(114);
4315
+ var has = __w_pdfjs_require__(18);
4316
+ var assign = __w_pdfjs_require__(96);
4317
+ var arrayFrom = __w_pdfjs_require__(86);
4318
+ var codeAt = __w_pdfjs_require__(74).codeAt;
4319
+ var toASCII = __w_pdfjs_require__(131);
4320
+ var setToStringTag = __w_pdfjs_require__(81);
4321
+ var URLSearchParamsModule = __w_pdfjs_require__(132);
4322
+ var InternalStateModule = __w_pdfjs_require__(28);
4323
+ var NativeURL = global.URL;
4324
+ var URLSearchParams = URLSearchParamsModule.URLSearchParams;
4325
+ var getInternalSearchParamsState = URLSearchParamsModule.getState;
4326
+ var setInternalState = InternalStateModule.set;
4327
+ var getInternalURLState = InternalStateModule.getterFor('URL');
4328
+ var floor = Math.floor;
4329
+ var pow = Math.pow;
4330
+ var INVALID_AUTHORITY = 'Invalid authority';
4331
+ var INVALID_SCHEME = 'Invalid scheme';
4332
+ var INVALID_HOST = 'Invalid host';
4333
+ var INVALID_PORT = 'Invalid port';
4334
+ var ALPHA = /[A-Za-z]/;
4335
+ var ALPHANUMERIC = /[\d+\-.A-Za-z]/;
4336
+ var DIGIT = /\d/;
4337
+ var HEX_START = /^(0x|0X)/;
4338
+ var OCT = /^[0-7]+$/;
4339
+ var DEC = /^\d+$/;
4340
+ var HEX = /^[\dA-Fa-f]+$/;
4341
+ var FORBIDDEN_HOST_CODE_POINT = /[\u0000\u0009\u000A\u000D #%/:?@[\\]]/;
4342
+ var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\u0000\u0009\u000A\u000D #/:?@[\\]]/;
4343
+ var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g;
4344
+ var TAB_AND_NEW_LINE = /[\u0009\u000A\u000D]/g;
4345
+ var EOF;
4346
+ var parseHost = function (url, input) {
4347
+ var result, codePoints, index;
4348
+ if (input.charAt(0) == '[') {
4349
+ if (input.charAt(input.length - 1) != ']')
4350
+ return INVALID_HOST;
4351
+ result = parseIPv6(input.slice(1, -1));
4352
+ if (!result)
4353
+ return INVALID_HOST;
4354
+ url.host = result;
4355
+ } else if (!isSpecial(url)) {
4356
+ if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input))
4357
+ return INVALID_HOST;
4358
+ result = '';
4359
+ codePoints = arrayFrom(input);
4360
+ for (index = 0; index < codePoints.length; index++) {
4361
+ result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);
4362
+ }
4363
+ url.host = result;
4364
+ } else {
4365
+ input = toASCII(input);
4366
+ if (FORBIDDEN_HOST_CODE_POINT.test(input))
4367
+ return INVALID_HOST;
4368
+ result = parseIPv4(input);
4369
+ if (result === null)
4370
+ return INVALID_HOST;
4371
+ url.host = result;
4372
+ }
4373
+ };
4374
+ var parseIPv4 = function (input) {
4375
+ var parts = input.split('.');
4376
+ var partsLength, numbers, index, part, radix, number, ipv4;
4377
+ if (parts.length && parts[parts.length - 1] == '') {
4378
+ parts.pop();
4379
+ }
4380
+ partsLength = parts.length;
4381
+ if (partsLength > 4)
4382
+ return input;
4383
+ numbers = [];
4384
+ for (index = 0; index < partsLength; index++) {
4385
+ part = parts[index];
4386
+ if (part == '')
4387
+ return input;
4388
+ radix = 10;
4389
+ if (part.length > 1 && part.charAt(0) == '0') {
4390
+ radix = HEX_START.test(part) ? 16 : 8;
4391
+ part = part.slice(radix == 8 ? 1 : 2);
4392
+ }
4393
+ if (part === '') {
4394
+ number = 0;
4395
+ } else {
4396
+ if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part))
4397
+ return input;
4398
+ number = parseInt(part, radix);
4399
+ }
4400
+ numbers.push(number);
4401
+ }
4402
+ for (index = 0; index < partsLength; index++) {
4403
+ number = numbers[index];
4404
+ if (index == partsLength - 1) {
4405
+ if (number >= pow(256, 5 - partsLength))
4406
+ return null;
4407
+ } else if (number > 255)
4408
+ return null;
4409
+ }
4410
+ ipv4 = numbers.pop();
4411
+ for (index = 0; index < numbers.length; index++) {
4412
+ ipv4 += numbers[index] * pow(256, 3 - index);
4413
+ }
4414
+ return ipv4;
4415
+ };
4416
+ var parseIPv6 = function (input) {
4417
+ var address = [
4418
+ 0,
4419
+ 0,
4420
+ 0,
4421
+ 0,
4422
+ 0,
4423
+ 0,
4424
+ 0,
4425
+ 0
4426
+ ];
4427
+ var pieceIndex = 0;
4428
+ var compress = null;
4429
+ var pointer = 0;
4430
+ var value, length, numbersSeen, ipv4Piece, number, swaps, swap;
4431
+ var char = function () {
4432
+ return input.charAt(pointer);
4433
+ };
4434
+ if (char() == ':') {
4435
+ if (input.charAt(1) != ':')
4436
+ return;
4437
+ pointer += 2;
4438
+ pieceIndex++;
4439
+ compress = pieceIndex;
4440
+ }
4441
+ while (char()) {
4442
+ if (pieceIndex == 8)
4443
+ return;
4444
+ if (char() == ':') {
4445
+ if (compress !== null)
4446
+ return;
4447
+ pointer++;
4448
+ pieceIndex++;
4449
+ compress = pieceIndex;
4450
+ continue;
4451
+ }
4452
+ value = length = 0;
4453
+ while (length < 4 && HEX.test(char())) {
4454
+ value = value * 16 + parseInt(char(), 16);
4455
+ pointer++;
4456
+ length++;
4457
+ }
4458
+ if (char() == '.') {
4459
+ if (length == 0)
4460
+ return;
4461
+ pointer -= length;
4462
+ if (pieceIndex > 6)
4463
+ return;
4464
+ numbersSeen = 0;
4465
+ while (char()) {
4466
+ ipv4Piece = null;
4467
+ if (numbersSeen > 0) {
4468
+ if (char() == '.' && numbersSeen < 4)
4469
+ pointer++;
4470
+ else
4471
+ return;
4472
+ }
4473
+ if (!DIGIT.test(char()))
4474
+ return;
4475
+ while (DIGIT.test(char())) {
4476
+ number = parseInt(char(), 10);
4477
+ if (ipv4Piece === null)
4478
+ ipv4Piece = number;
4479
+ else if (ipv4Piece == 0)
4480
+ return;
4481
+ else
4482
+ ipv4Piece = ipv4Piece * 10 + number;
4483
+ if (ipv4Piece > 255)
4484
+ return;
4485
+ pointer++;
4486
+ }
4487
+ address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;
4488
+ numbersSeen++;
4489
+ if (numbersSeen == 2 || numbersSeen == 4)
4490
+ pieceIndex++;
4491
+ }
4492
+ if (numbersSeen != 4)
4493
+ return;
4494
+ break;
4495
+ } else if (char() == ':') {
4496
+ pointer++;
4497
+ if (!char())
4498
+ return;
4499
+ } else if (char())
4500
+ return;
4501
+ address[pieceIndex++] = value;
4502
+ }
4503
+ if (compress !== null) {
4504
+ swaps = pieceIndex - compress;
4505
+ pieceIndex = 7;
4506
+ while (pieceIndex != 0 && swaps > 0) {
4507
+ swap = address[pieceIndex];
4508
+ address[pieceIndex--] = address[compress + swaps - 1];
4509
+ address[compress + --swaps] = swap;
4510
+ }
4511
+ } else if (pieceIndex != 8)
4512
+ return;
4513
+ return address;
4514
+ };
4515
+ var findLongestZeroSequence = function (ipv6) {
4516
+ var maxIndex = null;
4517
+ var maxLength = 1;
4518
+ var currStart = null;
4519
+ var currLength = 0;
4520
+ var index = 0;
4521
+ for (; index < 8; index++) {
4522
+ if (ipv6[index] !== 0) {
4523
+ if (currLength > maxLength) {
4524
+ maxIndex = currStart;
4525
+ maxLength = currLength;
4526
+ }
4527
+ currStart = null;
4528
+ currLength = 0;
4529
+ } else {
4530
+ if (currStart === null)
4531
+ currStart = index;
4532
+ ++currLength;
4533
+ }
4534
+ }
4535
+ if (currLength > maxLength) {
4536
+ maxIndex = currStart;
4537
+ maxLength = currLength;
4538
+ }
4539
+ return maxIndex;
4540
+ };
4541
+ var serializeHost = function (host) {
4542
+ var result, index, compress, ignore0;
4543
+ if (typeof host == 'number') {
4544
+ result = [];
4545
+ for (index = 0; index < 4; index++) {
4546
+ result.unshift(host % 256);
4547
+ host = floor(host / 256);
4548
+ }
4549
+ return result.join('.');
4550
+ } else if (typeof host == 'object') {
4551
+ result = '';
4552
+ compress = findLongestZeroSequence(host);
4553
+ for (index = 0; index < 8; index++) {
4554
+ if (ignore0 && host[index] === 0)
4555
+ continue;
4556
+ if (ignore0)
4557
+ ignore0 = false;
4558
+ if (compress === index) {
4559
+ result += index ? ':' : '::';
4560
+ ignore0 = true;
4561
+ } else {
4562
+ result += host[index].toString(16);
4563
+ if (index < 7)
4564
+ result += ':';
4565
+ }
4566
+ }
4567
+ return '[' + result + ']';
4568
+ }
4569
+ return host;
4570
+ };
4571
+ var C0ControlPercentEncodeSet = {};
4572
+ var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {
4573
+ ' ': 1,
4574
+ '"': 1,
4575
+ '<': 1,
4576
+ '>': 1,
4577
+ '`': 1
4578
+ });
4579
+ var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {
4580
+ '#': 1,
4581
+ '?': 1,
4582
+ '{': 1,
4583
+ '}': 1
4584
+ });
4585
+ var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {
4586
+ '/': 1,
4587
+ ':': 1,
4588
+ ';': 1,
4589
+ '=': 1,
4590
+ '@': 1,
4591
+ '[': 1,
4592
+ '\\': 1,
4593
+ ']': 1,
4594
+ '^': 1,
4595
+ '|': 1
4596
+ });
4597
+ var percentEncode = function (char, set) {
4598
+ var code = codeAt(char, 0);
4599
+ return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);
4600
+ };
4601
+ var specialSchemes = {
4602
+ ftp: 21,
4603
+ file: null,
4604
+ http: 80,
4605
+ https: 443,
4606
+ ws: 80,
4607
+ wss: 443
4608
+ };
4609
+ var isSpecial = function (url) {
4610
+ return has(specialSchemes, url.scheme);
4611
+ };
4612
+ var includesCredentials = function (url) {
4613
+ return url.username != '' || url.password != '';
4614
+ };
4615
+ var cannotHaveUsernamePasswordPort = function (url) {
4616
+ return !url.host || url.cannotBeABaseURL || url.scheme == 'file';
4617
+ };
4618
+ var isWindowsDriveLetter = function (string, normalized) {
4619
+ var second;
4620
+ return string.length == 2 && ALPHA.test(string.charAt(0)) && ((second = string.charAt(1)) == ':' || !normalized && second == '|');
4621
+ };
4622
+ var startsWithWindowsDriveLetter = function (string) {
4623
+ var third;
4624
+ return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (string.length == 2 || ((third = string.charAt(2)) === '/' || third === '\\' || third === '?' || third === '#'));
4625
+ };
4626
+ var shortenURLsPath = function (url) {
4627
+ var path = url.path;
4628
+ var pathSize = path.length;
4629
+ if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {
4630
+ path.pop();
4631
+ }
4632
+ };
4633
+ var isSingleDot = function (segment) {
4634
+ return segment === '.' || segment.toLowerCase() === '%2e';
4635
+ };
4636
+ var isDoubleDot = function (segment) {
4637
+ segment = segment.toLowerCase();
4638
+ return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';
4639
+ };
4640
+ var SCHEME_START = {};
4641
+ var SCHEME = {};
4642
+ var NO_SCHEME = {};
4643
+ var SPECIAL_RELATIVE_OR_AUTHORITY = {};
4644
+ var PATH_OR_AUTHORITY = {};
4645
+ var RELATIVE = {};
4646
+ var RELATIVE_SLASH = {};
4647
+ var SPECIAL_AUTHORITY_SLASHES = {};
4648
+ var SPECIAL_AUTHORITY_IGNORE_SLASHES = {};
4649
+ var AUTHORITY = {};
4650
+ var HOST = {};
4651
+ var HOSTNAME = {};
4652
+ var PORT = {};
4653
+ var FILE = {};
4654
+ var FILE_SLASH = {};
4655
+ var FILE_HOST = {};
4656
+ var PATH_START = {};
4657
+ var PATH = {};
4658
+ var CANNOT_BE_A_BASE_URL_PATH = {};
4659
+ var QUERY = {};
4660
+ var FRAGMENT = {};
4661
+ var parseURL = function (url, input, stateOverride, base) {
4662
+ var state = stateOverride || SCHEME_START;
4663
+ var pointer = 0;
4664
+ var buffer = '';
4665
+ var seenAt = false;
4666
+ var seenBracket = false;
4667
+ var seenPasswordToken = false;
4668
+ var codePoints, char, bufferCodePoints, failure;
4669
+ if (!stateOverride) {
4670
+ url.scheme = '';
4671
+ url.username = '';
4672
+ url.password = '';
4673
+ url.host = null;
4674
+ url.port = null;
4675
+ url.path = [];
4676
+ url.query = null;
4677
+ url.fragment = null;
4678
+ url.cannotBeABaseURL = false;
4679
+ input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');
4680
+ }
4681
+ input = input.replace(TAB_AND_NEW_LINE, '');
4682
+ codePoints = arrayFrom(input);
4683
+ while (pointer <= codePoints.length) {
4684
+ char = codePoints[pointer];
4685
+ switch (state) {
4686
+ case SCHEME_START:
4687
+ if (char && ALPHA.test(char)) {
4688
+ buffer += char.toLowerCase();
4689
+ state = SCHEME;
4690
+ } else if (!stateOverride) {
4691
+ state = NO_SCHEME;
4692
+ continue;
4693
+ } else
4694
+ return INVALID_SCHEME;
4695
+ break;
4696
+ case SCHEME:
4697
+ if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {
4698
+ buffer += char.toLowerCase();
4699
+ } else if (char == ':') {
4700
+ if (stateOverride && (isSpecial(url) != has(specialSchemes, buffer) || buffer == 'file' && (includesCredentials(url) || url.port !== null) || url.scheme == 'file' && !url.host))
4701
+ return;
4702
+ url.scheme = buffer;
4703
+ if (stateOverride) {
4704
+ if (isSpecial(url) && specialSchemes[url.scheme] == url.port)
4705
+ url.port = null;
4706
+ return;
4707
+ }
4708
+ buffer = '';
4709
+ if (url.scheme == 'file') {
4710
+ state = FILE;
4711
+ } else if (isSpecial(url) && base && base.scheme == url.scheme) {
4712
+ state = SPECIAL_RELATIVE_OR_AUTHORITY;
4713
+ } else if (isSpecial(url)) {
4714
+ state = SPECIAL_AUTHORITY_SLASHES;
4715
+ } else if (codePoints[pointer + 1] == '/') {
4716
+ state = PATH_OR_AUTHORITY;
4717
+ pointer++;
4718
+ } else {
4719
+ url.cannotBeABaseURL = true;
4720
+ url.path.push('');
4721
+ state = CANNOT_BE_A_BASE_URL_PATH;
4722
+ }
4723
+ } else if (!stateOverride) {
4724
+ buffer = '';
4725
+ state = NO_SCHEME;
4726
+ pointer = 0;
4727
+ continue;
4728
+ } else
4729
+ return INVALID_SCHEME;
4730
+ break;
4731
+ case NO_SCHEME:
4732
+ if (!base || base.cannotBeABaseURL && char != '#')
4733
+ return INVALID_SCHEME;
4734
+ if (base.cannotBeABaseURL && char == '#') {
4735
+ url.scheme = base.scheme;
4736
+ url.path = base.path.slice();
4737
+ url.query = base.query;
4738
+ url.fragment = '';
4739
+ url.cannotBeABaseURL = true;
4740
+ state = FRAGMENT;
4741
+ break;
4742
+ }
4743
+ state = base.scheme == 'file' ? FILE : RELATIVE;
4744
+ continue;
4745
+ case SPECIAL_RELATIVE_OR_AUTHORITY:
4746
+ if (char == '/' && codePoints[pointer + 1] == '/') {
4747
+ state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
4748
+ pointer++;
4749
+ } else {
4750
+ state = RELATIVE;
4751
+ continue;
4752
+ }
4753
+ break;
4754
+ case PATH_OR_AUTHORITY:
4755
+ if (char == '/') {
4756
+ state = AUTHORITY;
4757
+ break;
4758
+ } else {
4759
+ state = PATH;
4760
+ continue;
4761
+ }
4762
+ case RELATIVE:
4763
+ url.scheme = base.scheme;
4764
+ if (char == EOF) {
4765
+ url.username = base.username;
4766
+ url.password = base.password;
4767
+ url.host = base.host;
4768
+ url.port = base.port;
4769
+ url.path = base.path.slice();
4770
+ url.query = base.query;
4771
+ } else if (char == '/' || char == '\\' && isSpecial(url)) {
4772
+ state = RELATIVE_SLASH;
4773
+ } else if (char == '?') {
4774
+ url.username = base.username;
4775
+ url.password = base.password;
4776
+ url.host = base.host;
4777
+ url.port = base.port;
4778
+ url.path = base.path.slice();
4779
+ url.query = '';
4780
+ state = QUERY;
4781
+ } else if (char == '#') {
4782
+ url.username = base.username;
4783
+ url.password = base.password;
4784
+ url.host = base.host;
4785
+ url.port = base.port;
4786
+ url.path = base.path.slice();
4787
+ url.query = base.query;
4788
+ url.fragment = '';
4789
+ state = FRAGMENT;
4790
+ } else {
4791
+ url.username = base.username;
4792
+ url.password = base.password;
4793
+ url.host = base.host;
4794
+ url.port = base.port;
4795
+ url.path = base.path.slice();
4796
+ url.path.pop();
4797
+ state = PATH;
4798
+ continue;
4799
+ }
4800
+ break;
4801
+ case RELATIVE_SLASH:
4802
+ if (isSpecial(url) && (char == '/' || char == '\\')) {
4803
+ state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
4804
+ } else if (char == '/') {
4805
+ state = AUTHORITY;
4806
+ } else {
4807
+ url.username = base.username;
4808
+ url.password = base.password;
4809
+ url.host = base.host;
4810
+ url.port = base.port;
4811
+ state = PATH;
4812
+ continue;
4813
+ }
4814
+ break;
4815
+ case SPECIAL_AUTHORITY_SLASHES:
4816
+ state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
4817
+ if (char != '/' || buffer.charAt(pointer + 1) != '/')
4818
+ continue;
4819
+ pointer++;
4820
+ break;
4821
+ case SPECIAL_AUTHORITY_IGNORE_SLASHES:
4822
+ if (char != '/' && char != '\\') {
4823
+ state = AUTHORITY;
4824
+ continue;
4825
+ }
4826
+ break;
4827
+ case AUTHORITY:
4828
+ if (char == '@') {
4829
+ if (seenAt)
4830
+ buffer = '%40' + buffer;
4831
+ seenAt = true;
4832
+ bufferCodePoints = arrayFrom(buffer);
4833
+ for (var i = 0; i < bufferCodePoints.length; i++) {
4834
+ var codePoint = bufferCodePoints[i];
4835
+ if (codePoint == ':' && !seenPasswordToken) {
4836
+ seenPasswordToken = true;
4837
+ continue;
4838
+ }
4839
+ var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);
4840
+ if (seenPasswordToken)
4841
+ url.password += encodedCodePoints;
4842
+ else
4843
+ url.username += encodedCodePoints;
4844
+ }
4845
+ buffer = '';
4846
+ } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url)) {
4847
+ if (seenAt && buffer == '')
4848
+ return INVALID_AUTHORITY;
4849
+ pointer -= arrayFrom(buffer).length + 1;
4850
+ buffer = '';
4851
+ state = HOST;
4852
+ } else
4853
+ buffer += char;
4854
+ break;
4855
+ case HOST:
4856
+ case HOSTNAME:
4857
+ if (stateOverride && url.scheme == 'file') {
4858
+ state = FILE_HOST;
4859
+ continue;
4860
+ } else if (char == ':' && !seenBracket) {
4861
+ if (buffer == '')
4862
+ return INVALID_HOST;
4863
+ failure = parseHost(url, buffer);
4864
+ if (failure)
4865
+ return failure;
4866
+ buffer = '';
4867
+ state = PORT;
4868
+ if (stateOverride == HOSTNAME)
4869
+ return;
4870
+ } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url)) {
4871
+ if (isSpecial(url) && buffer == '')
4872
+ return INVALID_HOST;
4873
+ if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null))
4874
+ return;
4875
+ failure = parseHost(url, buffer);
4876
+ if (failure)
4877
+ return failure;
4878
+ buffer = '';
4879
+ state = PATH_START;
4880
+ if (stateOverride)
4881
+ return;
4882
+ continue;
4883
+ } else {
4884
+ if (char == '[')
4885
+ seenBracket = true;
4886
+ else if (char == ']')
4887
+ seenBracket = false;
4888
+ buffer += char;
4889
+ }
4890
+ break;
4891
+ case PORT:
4892
+ if (DIGIT.test(char)) {
4893
+ buffer += char;
4894
+ } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url) || stateOverride) {
4895
+ if (buffer != '') {
4896
+ var port = parseInt(buffer, 10);
4897
+ if (port > 0xFFFF)
4898
+ return INVALID_PORT;
4899
+ url.port = isSpecial(url) && port === specialSchemes[url.scheme] ? null : port;
4900
+ buffer = '';
4901
+ }
4902
+ if (stateOverride)
4903
+ return;
4904
+ state = PATH_START;
4905
+ continue;
4906
+ } else
4907
+ return INVALID_PORT;
4908
+ break;
4909
+ case FILE:
4910
+ url.scheme = 'file';
4911
+ if (char == '/' || char == '\\')
4912
+ state = FILE_SLASH;
4913
+ else if (base && base.scheme == 'file') {
4914
+ if (char == EOF) {
4915
+ url.host = base.host;
4916
+ url.path = base.path.slice();
4917
+ url.query = base.query;
4918
+ } else if (char == '?') {
4919
+ url.host = base.host;
4920
+ url.path = base.path.slice();
4921
+ url.query = '';
4922
+ state = QUERY;
4923
+ } else if (char == '#') {
4924
+ url.host = base.host;
4925
+ url.path = base.path.slice();
4926
+ url.query = base.query;
4927
+ url.fragment = '';
4928
+ state = FRAGMENT;
4929
+ } else {
4930
+ if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {
4931
+ url.host = base.host;
4932
+ url.path = base.path.slice();
4933
+ shortenURLsPath(url);
4934
+ }
4935
+ state = PATH;
4936
+ continue;
4937
+ }
4938
+ } else {
4939
+ state = PATH;
4940
+ continue;
4941
+ }
4942
+ break;
4943
+ case FILE_SLASH:
4944
+ if (char == '/' || char == '\\') {
4945
+ state = FILE_HOST;
4946
+ break;
4947
+ }
4948
+ if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {
4949
+ if (isWindowsDriveLetter(base.path[0], true))
4950
+ url.path.push(base.path[0]);
4951
+ else
4952
+ url.host = base.host;
4953
+ }
4954
+ state = PATH;
4955
+ continue;
4956
+ case FILE_HOST:
4957
+ if (char == EOF || char == '/' || char == '\\' || char == '?' || char == '#') {
4958
+ if (!stateOverride && isWindowsDriveLetter(buffer)) {
4959
+ state = PATH;
4960
+ } else if (buffer == '') {
4961
+ url.host = '';
4962
+ if (stateOverride)
4963
+ return;
4964
+ state = PATH_START;
4965
+ } else {
4966
+ failure = parseHost(url, buffer);
4967
+ if (failure)
4968
+ return failure;
4969
+ if (url.host == 'localhost')
4970
+ url.host = '';
4971
+ if (stateOverride)
4972
+ return;
4973
+ buffer = '';
4974
+ state = PATH_START;
4975
+ }
4976
+ continue;
4977
+ } else
4978
+ buffer += char;
4979
+ break;
4980
+ case PATH_START:
4981
+ if (isSpecial(url)) {
4982
+ state = PATH;
4983
+ if (char != '/' && char != '\\')
4984
+ continue;
4985
+ } else if (!stateOverride && char == '?') {
4986
+ url.query = '';
4987
+ state = QUERY;
4988
+ } else if (!stateOverride && char == '#') {
4989
+ url.fragment = '';
4990
+ state = FRAGMENT;
4991
+ } else if (char != EOF) {
4992
+ state = PATH;
4993
+ if (char != '/')
4994
+ continue;
4995
+ }
4996
+ break;
4997
+ case PATH:
4998
+ if (char == EOF || char == '/' || char == '\\' && isSpecial(url) || !stateOverride && (char == '?' || char == '#')) {
4999
+ if (isDoubleDot(buffer)) {
5000
+ shortenURLsPath(url);
5001
+ if (char != '/' && !(char == '\\' && isSpecial(url))) {
5002
+ url.path.push('');
5003
+ }
5004
+ } else if (isSingleDot(buffer)) {
5005
+ if (char != '/' && !(char == '\\' && isSpecial(url))) {
5006
+ url.path.push('');
5007
+ }
5008
+ } else {
5009
+ if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {
5010
+ if (url.host)
5011
+ url.host = '';
5012
+ buffer = buffer.charAt(0) + ':';
5013
+ }
5014
+ url.path.push(buffer);
5015
+ }
5016
+ buffer = '';
5017
+ if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {
5018
+ while (url.path.length > 1 && url.path[0] === '') {
5019
+ url.path.shift();
5020
+ }
5021
+ }
5022
+ if (char == '?') {
5023
+ url.query = '';
5024
+ state = QUERY;
5025
+ } else if (char == '#') {
5026
+ url.fragment = '';
5027
+ state = FRAGMENT;
5028
+ }
5029
+ } else {
5030
+ buffer += percentEncode(char, pathPercentEncodeSet);
5031
+ }
5032
+ break;
5033
+ case CANNOT_BE_A_BASE_URL_PATH:
5034
+ if (char == '?') {
5035
+ url.query = '';
5036
+ state = QUERY;
5037
+ } else if (char == '#') {
5038
+ url.fragment = '';
5039
+ state = FRAGMENT;
5040
+ } else if (char != EOF) {
5041
+ url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);
5042
+ }
5043
+ break;
5044
+ case QUERY:
5045
+ if (!stateOverride && char == '#') {
5046
+ url.fragment = '';
5047
+ state = FRAGMENT;
5048
+ } else if (char != EOF) {
5049
+ if (char == "'" && isSpecial(url))
5050
+ url.query += '%27';
5051
+ else if (char == '#')
5052
+ url.query += '%23';
5053
+ else
5054
+ url.query += percentEncode(char, C0ControlPercentEncodeSet);
5055
+ }
5056
+ break;
5057
+ case FRAGMENT:
5058
+ if (char != EOF)
5059
+ url.fragment += percentEncode(char, fragmentPercentEncodeSet);
5060
+ break;
5061
+ }
5062
+ pointer++;
5063
+ }
5064
+ };
5065
+ var URLConstructor = function URL(url) {
5066
+ var that = anInstance(this, URLConstructor, 'URL');
5067
+ var base = arguments.length > 1 ? arguments[1] : undefined;
5068
+ var urlString = String(url);
5069
+ var state = setInternalState(that, { type: 'URL' });
5070
+ var baseState, failure;
5071
+ if (base !== undefined) {
5072
+ if (base instanceof URLConstructor)
5073
+ baseState = getInternalURLState(base);
5074
+ else {
5075
+ failure = parseURL(baseState = {}, String(base));
5076
+ if (failure)
5077
+ throw TypeError(failure);
5078
+ }
5079
+ }
5080
+ failure = parseURL(state, urlString, null, baseState);
5081
+ if (failure)
5082
+ throw TypeError(failure);
5083
+ var searchParams = state.searchParams = new URLSearchParams();
5084
+ var searchParamsState = getInternalSearchParamsState(searchParams);
5085
+ searchParamsState.updateSearchParams(state.query);
5086
+ searchParamsState.updateURL = function () {
5087
+ state.query = String(searchParams) || null;
5088
+ };
5089
+ if (!DESCRIPTORS) {
5090
+ that.href = serializeURL.call(that);
5091
+ that.origin = getOrigin.call(that);
5092
+ that.protocol = getProtocol.call(that);
5093
+ that.username = getUsername.call(that);
5094
+ that.password = getPassword.call(that);
5095
+ that.host = getHost.call(that);
5096
+ that.hostname = getHostname.call(that);
5097
+ that.port = getPort.call(that);
5098
+ that.pathname = getPathname.call(that);
5099
+ that.search = getSearch.call(that);
5100
+ that.searchParams = getSearchParams.call(that);
5101
+ that.hash = getHash.call(that);
5102
+ }
5103
+ };
5104
+ var URLPrototype = URLConstructor.prototype;
5105
+ var serializeURL = function () {
5106
+ var url = getInternalURLState(this);
5107
+ var scheme = url.scheme;
5108
+ var username = url.username;
5109
+ var password = url.password;
5110
+ var host = url.host;
5111
+ var port = url.port;
5112
+ var path = url.path;
5113
+ var query = url.query;
5114
+ var fragment = url.fragment;
5115
+ var output = scheme + ':';
5116
+ if (host !== null) {
5117
+ output += '//';
5118
+ if (includesCredentials(url)) {
5119
+ output += username + (password ? ':' + password : '') + '@';
5120
+ }
5121
+ output += serializeHost(host);
5122
+ if (port !== null)
5123
+ output += ':' + port;
5124
+ } else if (scheme == 'file')
5125
+ output += '//';
5126
+ output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';
5127
+ if (query !== null)
5128
+ output += '?' + query;
5129
+ if (fragment !== null)
5130
+ output += '#' + fragment;
5131
+ return output;
5132
+ };
5133
+ var getOrigin = function () {
5134
+ var url = getInternalURLState(this);
5135
+ var scheme = url.scheme;
5136
+ var port = url.port;
5137
+ if (scheme == 'blob')
5138
+ try {
5139
+ return new URL(scheme.path[0]).origin;
5140
+ } catch (error) {
5141
+ return 'null';
5142
+ }
5143
+ if (scheme == 'file' || !isSpecial(url))
5144
+ return 'null';
5145
+ return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');
5146
+ };
5147
+ var getProtocol = function () {
5148
+ return getInternalURLState(this).scheme + ':';
5149
+ };
5150
+ var getUsername = function () {
5151
+ return getInternalURLState(this).username;
5152
+ };
5153
+ var getPassword = function () {
5154
+ return getInternalURLState(this).password;
5155
+ };
5156
+ var getHost = function () {
5157
+ var url = getInternalURLState(this);
5158
+ var host = url.host;
5159
+ var port = url.port;
5160
+ return host === null ? '' : port === null ? serializeHost(host) : serializeHost(host) + ':' + port;
5161
+ };
5162
+ var getHostname = function () {
5163
+ var host = getInternalURLState(this).host;
5164
+ return host === null ? '' : serializeHost(host);
5165
+ };
5166
+ var getPort = function () {
5167
+ var port = getInternalURLState(this).port;
5168
+ return port === null ? '' : String(port);
5169
+ };
5170
+ var getPathname = function () {
5171
+ var url = getInternalURLState(this);
5172
+ var path = url.path;
5173
+ return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';
5174
+ };
5175
+ var getSearch = function () {
5176
+ var query = getInternalURLState(this).query;
5177
+ return query ? '?' + query : '';
5178
+ };
5179
+ var getSearchParams = function () {
5180
+ return getInternalURLState(this).searchParams;
5181
+ };
5182
+ var getHash = function () {
5183
+ var fragment = getInternalURLState(this).fragment;
5184
+ return fragment ? '#' + fragment : '';
5185
+ };
5186
+ var accessorDescriptor = function (getter, setter) {
5187
+ return {
5188
+ get: getter,
5189
+ set: setter,
5190
+ configurable: true,
5191
+ enumerable: true
5192
+ };
5193
+ };
5194
+ if (DESCRIPTORS) {
5195
+ defineProperties(URLPrototype, {
5196
+ href: accessorDescriptor(serializeURL, function (href) {
5197
+ var url = getInternalURLState(this);
5198
+ var urlString = String(href);
5199
+ var failure = parseURL(url, urlString);
5200
+ if (failure)
5201
+ throw TypeError(failure);
5202
+ getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
5203
+ }),
5204
+ origin: accessorDescriptor(getOrigin),
5205
+ protocol: accessorDescriptor(getProtocol, function (protocol) {
5206
+ var url = getInternalURLState(this);
5207
+ parseURL(url, String(protocol) + ':', SCHEME_START);
5208
+ }),
5209
+ username: accessorDescriptor(getUsername, function (username) {
5210
+ var url = getInternalURLState(this);
5211
+ var codePoints = arrayFrom(String(username));
5212
+ if (cannotHaveUsernamePasswordPort(url))
5213
+ return;
5214
+ url.username = '';
5215
+ for (var i = 0; i < codePoints.length; i++) {
5216
+ url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);
5217
+ }
5218
+ }),
5219
+ password: accessorDescriptor(getPassword, function (password) {
5220
+ var url = getInternalURLState(this);
5221
+ var codePoints = arrayFrom(String(password));
5222
+ if (cannotHaveUsernamePasswordPort(url))
5223
+ return;
5224
+ url.password = '';
5225
+ for (var i = 0; i < codePoints.length; i++) {
5226
+ url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);
5227
+ }
5228
+ }),
5229
+ host: accessorDescriptor(getHost, function (host) {
5230
+ var url = getInternalURLState(this);
5231
+ if (url.cannotBeABaseURL)
5232
+ return;
5233
+ parseURL(url, String(host), HOST);
5234
+ }),
5235
+ hostname: accessorDescriptor(getHostname, function (hostname) {
5236
+ var url = getInternalURLState(this);
5237
+ if (url.cannotBeABaseURL)
5238
+ return;
5239
+ parseURL(url, String(hostname), HOSTNAME);
5240
+ }),
5241
+ port: accessorDescriptor(getPort, function (port) {
5242
+ var url = getInternalURLState(this);
5243
+ if (cannotHaveUsernamePasswordPort(url))
5244
+ return;
5245
+ port = String(port);
5246
+ if (port == '')
5247
+ url.port = null;
5248
+ else
5249
+ parseURL(url, port, PORT);
5250
+ }),
5251
+ pathname: accessorDescriptor(getPathname, function (pathname) {
5252
+ var url = getInternalURLState(this);
5253
+ if (url.cannotBeABaseURL)
5254
+ return;
5255
+ url.path = [];
5256
+ parseURL(url, pathname + '', PATH_START);
5257
+ }),
5258
+ search: accessorDescriptor(getSearch, function (search) {
5259
+ var url = getInternalURLState(this);
5260
+ search = String(search);
5261
+ if (search == '') {
5262
+ url.query = null;
5263
+ } else {
5264
+ if ('?' == search.charAt(0))
5265
+ search = search.slice(1);
5266
+ url.query = '';
5267
+ parseURL(url, search, QUERY);
5268
+ }
5269
+ getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
5270
+ }),
5271
+ searchParams: accessorDescriptor(getSearchParams),
5272
+ hash: accessorDescriptor(getHash, function (hash) {
5273
+ var url = getInternalURLState(this);
5274
+ hash = String(hash);
5275
+ if (hash == '') {
5276
+ url.fragment = null;
5277
+ return;
5278
+ }
5279
+ if ('#' == hash.charAt(0))
5280
+ hash = hash.slice(1);
5281
+ url.fragment = '';
5282
+ parseURL(url, hash, FRAGMENT);
5283
+ })
5284
+ });
5285
+ }
5286
+ redefine(URLPrototype, 'toJSON', function toJSON() {
5287
+ return serializeURL.call(this);
5288
+ }, { enumerable: true });
5289
+ redefine(URLPrototype, 'toString', function toString() {
5290
+ return serializeURL.call(this);
5291
+ }, { enumerable: true });
5292
+ if (NativeURL) {
5293
+ var nativeCreateObjectURL = NativeURL.createObjectURL;
5294
+ var nativeRevokeObjectURL = NativeURL.revokeObjectURL;
5295
+ if (nativeCreateObjectURL)
5296
+ redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {
5297
+ return nativeCreateObjectURL.apply(NativeURL, arguments);
5298
+ });
5299
+ if (nativeRevokeObjectURL)
5300
+ redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {
5301
+ return nativeRevokeObjectURL.apply(NativeURL, arguments);
5302
+ });
5303
+ }
5304
+ setToStringTag(URLConstructor, 'URL');
5305
+ $({
5306
+ global: true,
5307
+ forced: !USE_NATIVE_URL,
5308
+ sham: !DESCRIPTORS
5309
+ }, { URL: URLConstructor });
5310
+
5311
+ /***/ }),
5312
+ /* 130 */
5313
+ /***/ (function(module, exports, __w_pdfjs_require__) {
5314
+
5315
+ var fails = __w_pdfjs_require__(9);
5316
+ var wellKnownSymbol = __w_pdfjs_require__(53);
5317
+ var IS_PURE = __w_pdfjs_require__(32);
5318
+ var ITERATOR = wellKnownSymbol('iterator');
5319
+ module.exports = !fails(function () {
5320
+ var url = new URL('b?a=1&b=2&c=3', 'http://a');
5321
+ var searchParams = url.searchParams;
5322
+ var result = '';
5323
+ url.pathname = 'c%20d';
5324
+ searchParams.forEach(function (value, key) {
5325
+ searchParams['delete']('b');
5326
+ result += key + value;
5327
+ });
5328
+ return IS_PURE && !url.toJSON || !searchParams.sort || url.href !== 'http://a/c%20d?a=1&c=3' || searchParams.get('c') !== '3' || String(new URLSearchParams('?a=1')) !== 'a=1' || !searchParams[ITERATOR] || new URL('https://a@b').username !== 'a' || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' || new URL('http://тест').host !== 'xn--e1aybc' || new URL('http://a#б').hash !== '#%D0%B1' || result !== 'a1c3' || new URL('http://x', undefined).host !== 'x';
5329
+ });
5330
+
5331
+ /***/ }),
5332
+ /* 131 */
5333
+ /***/ (function(module, exports, __w_pdfjs_require__) {
5334
+
5335
+ "use strict";
5336
+
5337
+ var maxInt = 2147483647;
5338
+ var base = 36;
5339
+ var tMin = 1;
5340
+ var tMax = 26;
5341
+ var skew = 38;
5342
+ var damp = 700;
5343
+ var initialBias = 72;
5344
+ var initialN = 128;
5345
+ var delimiter = '-';
5346
+ var regexNonASCII = /[^\0-\u007E]/;
5347
+ var regexSeparators = /[.\u3002\uFF0E\uFF61]/g;
5348
+ var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';
5349
+ var baseMinusTMin = base - tMin;
5350
+ var floor = Math.floor;
5351
+ var stringFromCharCode = String.fromCharCode;
5352
+ var ucs2decode = function (string) {
5353
+ var output = [];
5354
+ var counter = 0;
5355
+ var length = string.length;
5356
+ while (counter < length) {
5357
+ var value = string.charCodeAt(counter++);
5358
+ if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
5359
+ var extra = string.charCodeAt(counter++);
5360
+ if ((extra & 0xFC00) == 0xDC00) {
5361
+ output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
5362
+ } else {
5363
+ output.push(value);
5364
+ counter--;
5365
+ }
5366
+ } else {
5367
+ output.push(value);
5368
+ }
5369
+ }
5370
+ return output;
5371
+ };
5372
+ var digitToBasic = function (digit) {
5373
+ return digit + 22 + 75 * (digit < 26);
5374
+ };
5375
+ var adapt = function (delta, numPoints, firstTime) {
5376
+ var k = 0;
5377
+ delta = firstTime ? floor(delta / damp) : delta >> 1;
5378
+ delta += floor(delta / numPoints);
5379
+ for (; delta > baseMinusTMin * tMax >> 1; k += base) {
5380
+ delta = floor(delta / baseMinusTMin);
5381
+ }
5382
+ return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
5383
+ };
5384
+ var encode = function (input) {
5385
+ var output = [];
5386
+ input = ucs2decode(input);
5387
+ var inputLength = input.length;
5388
+ var n = initialN;
5389
+ var delta = 0;
5390
+ var bias = initialBias;
5391
+ var i, currentValue;
5392
+ for (i = 0; i < input.length; i++) {
5393
+ currentValue = input[i];
5394
+ if (currentValue < 0x80) {
5395
+ output.push(stringFromCharCode(currentValue));
5396
+ }
5397
+ }
5398
+ var basicLength = output.length;
5399
+ var handledCPCount = basicLength;
5400
+ if (basicLength) {
5401
+ output.push(delimiter);
5402
+ }
5403
+ while (handledCPCount < inputLength) {
5404
+ var m = maxInt;
5405
+ for (i = 0; i < input.length; i++) {
5406
+ currentValue = input[i];
5407
+ if (currentValue >= n && currentValue < m) {
5408
+ m = currentValue;
5409
+ }
5410
+ }
5411
+ var handledCPCountPlusOne = handledCPCount + 1;
5412
+ if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
5413
+ throw RangeError(OVERFLOW_ERROR);
5414
+ }
5415
+ delta += (m - n) * handledCPCountPlusOne;
5416
+ n = m;
5417
+ for (i = 0; i < input.length; i++) {
5418
+ currentValue = input[i];
5419
+ if (currentValue < n && ++delta > maxInt) {
5420
+ throw RangeError(OVERFLOW_ERROR);
5421
+ }
5422
+ if (currentValue == n) {
5423
+ var q = delta;
5424
+ for (var k = base;; k += base) {
5425
+ var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;
5426
+ if (q < t)
5427
+ break;
5428
+ var qMinusT = q - t;
5429
+ var baseMinusT = base - t;
5430
+ output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));
5431
+ q = floor(qMinusT / baseMinusT);
5432
+ }
5433
+ output.push(stringFromCharCode(digitToBasic(q)));
5434
+ bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
5435
+ delta = 0;
5436
+ ++handledCPCount;
5437
+ }
5438
+ }
5439
+ ++delta;
5440
+ ++n;
5441
+ }
5442
+ return output.join('');
5443
+ };
5444
+ module.exports = function (input) {
5445
+ var encoded = [];
5446
+ var labels = input.toLowerCase().replace(regexSeparators, '\u002E').split('.');
5447
+ var i, label;
5448
+ for (i = 0; i < labels.length; i++) {
5449
+ label = labels[i];
5450
+ encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);
5451
+ }
5452
+ return encoded.join('.');
5453
+ };
5454
+
5455
+ /***/ }),
5456
+ /* 132 */
5457
+ /***/ (function(module, exports, __w_pdfjs_require__) {
5458
+
5459
+ "use strict";
5460
+
5461
+ __w_pdfjs_require__(109);
5462
+ var $ = __w_pdfjs_require__(5);
5463
+ var getBuiltIn = __w_pdfjs_require__(37);
5464
+ var USE_NATIVE_URL = __w_pdfjs_require__(130);
5465
+ var redefine = __w_pdfjs_require__(24);
5466
+ var redefineAll = __w_pdfjs_require__(112);
5467
+ var setToStringTag = __w_pdfjs_require__(81);
5468
+ var createIteratorConstructor = __w_pdfjs_require__(76);
5469
+ var InternalStateModule = __w_pdfjs_require__(28);
5470
+ var anInstance = __w_pdfjs_require__(114);
5471
+ var hasOwn = __w_pdfjs_require__(18);
5472
+ var bind = __w_pdfjs_require__(58);
5473
+ var classof = __w_pdfjs_require__(91);
5474
+ var anObject = __w_pdfjs_require__(23);
5475
+ var isObject = __w_pdfjs_require__(17);
5476
+ var create = __w_pdfjs_require__(67);
5477
+ var createPropertyDescriptor = __w_pdfjs_require__(11);
5478
+ var getIterator = __w_pdfjs_require__(133);
5479
+ var getIteratorMethod = __w_pdfjs_require__(90);
5480
+ var wellKnownSymbol = __w_pdfjs_require__(53);
5481
+ var $fetch = getBuiltIn('fetch');
5482
+ var Headers = getBuiltIn('Headers');
5483
+ var ITERATOR = wellKnownSymbol('iterator');
5484
+ var URL_SEARCH_PARAMS = 'URLSearchParams';
5485
+ var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';
5486
+ var setInternalState = InternalStateModule.set;
5487
+ var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);
5488
+ var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);
5489
+ var plus = /\+/g;
5490
+ var sequences = Array(4);
5491
+ var percentSequence = function (bytes) {
5492
+ return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi'));
5493
+ };
5494
+ var percentDecode = function (sequence) {
5495
+ try {
5496
+ return decodeURIComponent(sequence);
5497
+ } catch (error) {
5498
+ return sequence;
5499
+ }
5500
+ };
5501
+ var deserialize = function (it) {
5502
+ var result = it.replace(plus, ' ');
5503
+ var bytes = 4;
5504
+ try {
5505
+ return decodeURIComponent(result);
5506
+ } catch (error) {
5507
+ while (bytes) {
5508
+ result = result.replace(percentSequence(bytes--), percentDecode);
5509
+ }
5510
+ return result;
5511
+ }
5512
+ };
5513
+ var find = /[!'()~]|%20/g;
5514
+ var replace = {
5515
+ '!': '%21',
5516
+ "'": '%27',
5517
+ '(': '%28',
5518
+ ')': '%29',
5519
+ '~': '%7E',
5520
+ '%20': '+'
5521
+ };
5522
+ var replacer = function (match) {
5523
+ return replace[match];
5524
+ };
5525
+ var serialize = function (it) {
5526
+ return encodeURIComponent(it).replace(find, replacer);
5527
+ };
5528
+ var parseSearchParams = function (result, query) {
5529
+ if (query) {
5530
+ var attributes = query.split('&');
5531
+ var index = 0;
5532
+ var attribute, entry;
5533
+ while (index < attributes.length) {
5534
+ attribute = attributes[index++];
5535
+ if (attribute.length) {
5536
+ entry = attribute.split('=');
5537
+ result.push({
5538
+ key: deserialize(entry.shift()),
5539
+ value: deserialize(entry.join('='))
5540
+ });
5541
+ }
5542
+ }
5543
+ }
5544
+ };
5545
+ var updateSearchParams = function (query) {
5546
+ this.entries.length = 0;
5547
+ parseSearchParams(this.entries, query);
5548
+ };
5549
+ var validateArgumentsLength = function (passed, required) {
5550
+ if (passed < required)
5551
+ throw TypeError('Not enough arguments');
5552
+ };
5553
+ var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {
5554
+ setInternalState(this, {
5555
+ type: URL_SEARCH_PARAMS_ITERATOR,
5556
+ iterator: getIterator(getInternalParamsState(params).entries),
5557
+ kind: kind
5558
+ });
5559
+ }, 'Iterator', function next() {
5560
+ var state = getInternalIteratorState(this);
5561
+ var kind = state.kind;
5562
+ var step = state.iterator.next();
5563
+ var entry = step.value;
5564
+ if (!step.done) {
5565
+ step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [
5566
+ entry.key,
5567
+ entry.value
5568
+ ];
5569
+ }
5570
+ return step;
5571
+ });
5572
+ var URLSearchParamsConstructor = function URLSearchParams() {
5573
+ anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);
5574
+ var init = arguments.length > 0 ? arguments[0] : undefined;
5575
+ var that = this;
5576
+ var entries = [];
5577
+ var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;
5578
+ setInternalState(that, {
5579
+ type: URL_SEARCH_PARAMS,
5580
+ entries: entries,
5581
+ updateURL: function () {
5582
+ },
5583
+ updateSearchParams: updateSearchParams
5584
+ });
5585
+ if (init !== undefined) {
5586
+ if (isObject(init)) {
5587
+ iteratorMethod = getIteratorMethod(init);
5588
+ if (typeof iteratorMethod === 'function') {
5589
+ iterator = iteratorMethod.call(init);
5590
+ next = iterator.next;
5591
+ while (!(step = next.call(iterator)).done) {
5592
+ entryIterator = getIterator(anObject(step.value));
5593
+ entryNext = entryIterator.next;
5594
+ if ((first = entryNext.call(entryIterator)).done || (second = entryNext.call(entryIterator)).done || !entryNext.call(entryIterator).done)
5595
+ throw TypeError('Expected sequence with length 2');
5596
+ entries.push({
5597
+ key: first.value + '',
5598
+ value: second.value + ''
5599
+ });
5600
+ }
5601
+ } else
5602
+ for (key in init)
5603
+ if (hasOwn(init, key))
5604
+ entries.push({
5605
+ key: key,
5606
+ value: init[key] + ''
5607
+ });
5608
+ } else {
5609
+ parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');
5610
+ }
5611
+ }
5612
+ };
5613
+ var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;
5614
+ redefineAll(URLSearchParamsPrototype, {
5615
+ append: function append(name, value) {
5616
+ validateArgumentsLength(arguments.length, 2);
5617
+ var state = getInternalParamsState(this);
5618
+ state.entries.push({
5619
+ key: name + '',
5620
+ value: value + ''
5621
+ });
5622
+ state.updateURL();
5623
+ },
5624
+ 'delete': function (name) {
5625
+ validateArgumentsLength(arguments.length, 1);
5626
+ var state = getInternalParamsState(this);
5627
+ var entries = state.entries;
5628
+ var key = name + '';
5629
+ var index = 0;
5630
+ while (index < entries.length) {
5631
+ if (entries[index].key === key)
5632
+ entries.splice(index, 1);
5633
+ else
5634
+ index++;
5635
+ }
5636
+ state.updateURL();
5637
+ },
5638
+ get: function get(name) {
5639
+ validateArgumentsLength(arguments.length, 1);
5640
+ var entries = getInternalParamsState(this).entries;
5641
+ var key = name + '';
5642
+ var index = 0;
5643
+ for (; index < entries.length; index++) {
5644
+ if (entries[index].key === key)
5645
+ return entries[index].value;
5646
+ }
5647
+ return null;
5648
+ },
5649
+ getAll: function getAll(name) {
5650
+ validateArgumentsLength(arguments.length, 1);
5651
+ var entries = getInternalParamsState(this).entries;
5652
+ var key = name + '';
5653
+ var result = [];
5654
+ var index = 0;
5655
+ for (; index < entries.length; index++) {
5656
+ if (entries[index].key === key)
5657
+ result.push(entries[index].value);
5658
+ }
5659
+ return result;
5660
+ },
5661
+ has: function has(name) {
5662
+ validateArgumentsLength(arguments.length, 1);
5663
+ var entries = getInternalParamsState(this).entries;
5664
+ var key = name + '';
5665
+ var index = 0;
5666
+ while (index < entries.length) {
5667
+ if (entries[index++].key === key)
5668
+ return true;
5669
+ }
5670
+ return false;
5671
+ },
5672
+ set: function set(name, value) {
5673
+ validateArgumentsLength(arguments.length, 1);
5674
+ var state = getInternalParamsState(this);
5675
+ var entries = state.entries;
5676
+ var found = false;
5677
+ var key = name + '';
5678
+ var val = value + '';
5679
+ var index = 0;
5680
+ var entry;
5681
+ for (; index < entries.length; index++) {
5682
+ entry = entries[index];
5683
+ if (entry.key === key) {
5684
+ if (found)
5685
+ entries.splice(index--, 1);
5686
+ else {
5687
+ found = true;
5688
+ entry.value = val;
5689
+ }
5690
+ }
5691
+ }
5692
+ if (!found)
5693
+ entries.push({
5694
+ key: key,
5695
+ value: val
5696
+ });
5697
+ state.updateURL();
5698
+ },
5699
+ sort: function sort() {
5700
+ var state = getInternalParamsState(this);
5701
+ var entries = state.entries;
5702
+ var slice = entries.slice();
5703
+ var entry, entriesIndex, sliceIndex;
5704
+ entries.length = 0;
5705
+ for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {
5706
+ entry = slice[sliceIndex];
5707
+ for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {
5708
+ if (entries[entriesIndex].key > entry.key) {
5709
+ entries.splice(entriesIndex, 0, entry);
5710
+ break;
5711
+ }
5712
+ }
5713
+ if (entriesIndex === sliceIndex)
5714
+ entries.push(entry);
5715
+ }
5716
+ state.updateURL();
5717
+ },
5718
+ forEach: function forEach(callback) {
5719
+ var entries = getInternalParamsState(this).entries;
5720
+ var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);
5721
+ var index = 0;
5722
+ var entry;
5723
+ while (index < entries.length) {
5724
+ entry = entries[index++];
5725
+ boundFunction(entry.value, entry.key, this);
5726
+ }
5727
+ },
5728
+ keys: function keys() {
5729
+ return new URLSearchParamsIterator(this, 'keys');
5730
+ },
5731
+ values: function values() {
5732
+ return new URLSearchParamsIterator(this, 'values');
5733
+ },
5734
+ entries: function entries() {
5735
+ return new URLSearchParamsIterator(this, 'entries');
5736
+ }
5737
+ }, { enumerable: true });
5738
+ redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);
5739
+ redefine(URLSearchParamsPrototype, 'toString', function toString() {
5740
+ var entries = getInternalParamsState(this).entries;
5741
+ var result = [];
5742
+ var index = 0;
5743
+ var entry;
5744
+ while (index < entries.length) {
5745
+ entry = entries[index++];
5746
+ result.push(serialize(entry.key) + '=' + serialize(entry.value));
5747
+ }
5748
+ return result.join('&');
5749
+ }, { enumerable: true });
5750
+ setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);
5751
+ $({
5752
+ global: true,
5753
+ forced: !USE_NATIVE_URL
5754
+ }, { URLSearchParams: URLSearchParamsConstructor });
5755
+ if (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {
5756
+ $({
5757
+ global: true,
5758
+ enumerable: true,
5759
+ forced: true
5760
+ }, {
5761
+ fetch: function fetch(input) {
5762
+ var args = [input];
5763
+ var init, body, headers;
5764
+ if (arguments.length > 1) {
5765
+ init = arguments[1];
5766
+ if (isObject(init)) {
5767
+ body = init.body;
5768
+ if (classof(body) === URL_SEARCH_PARAMS) {
5769
+ headers = init.headers ? new Headers(init.headers) : new Headers();
5770
+ if (!headers.has('content-type')) {
5771
+ headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
5772
+ }
5773
+ init = create(init, {
5774
+ body: createPropertyDescriptor(0, String(body)),
5775
+ headers: createPropertyDescriptor(0, headers)
5776
+ });
5777
+ }
5778
+ }
5779
+ args.push(init);
5780
+ }
5781
+ return $fetch.apply(this, args);
5782
+ }
5783
+ });
5784
+ }
5785
+ module.exports = {
5786
+ URLSearchParams: URLSearchParamsConstructor,
5787
+ getState: getInternalParamsState
5788
+ };
5789
+
5790
+ /***/ }),
5791
+ /* 133 */
5792
+ /***/ (function(module, exports, __w_pdfjs_require__) {
5793
+
5794
+ var anObject = __w_pdfjs_require__(23);
5795
+ var getIteratorMethod = __w_pdfjs_require__(90);
5796
+ module.exports = function (it) {
5797
+ var iteratorMethod = getIteratorMethod(it);
5798
+ if (typeof iteratorMethod != 'function') {
5799
+ throw TypeError(String(it) + ' is not iterable');
5800
+ }
5801
+ return anObject(iteratorMethod.call(it));
5802
+ };
5803
+
5804
+ /***/ }),
5805
+ /* 134 */
5806
+ /***/ (function(module, exports, __w_pdfjs_require__) {
5807
+
5808
+ "use strict";
5809
+
5810
+ var $ = __w_pdfjs_require__(5);
5811
+ $({
5812
+ target: 'URL',
5813
+ proto: true,
5814
+ enumerable: true
5815
+ }, {
5816
+ toJSON: function toJSON() {
5817
+ return URL.prototype.toString.call(this);
5818
+ }
5819
+ });
5820
+
5821
+ /***/ }),
5822
+ /* 135 */
5823
+ /***/ (function(module, exports, __w_pdfjs_require__) {
5824
+
5825
+ (function (global, factory) {
5826
+ true ? factory(exports) : undefined;
5827
+ }(this, function (exports) {
5828
+ 'use strict';
5829
+ var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol : function (description) {
5830
+ return "Symbol(" + description + ")";
5831
+ };
5832
+ function noop() {
5833
+ }
5834
+ var NumberIsNaN = Number.isNaN || function (x) {
5835
+ return x !== x;
5836
+ };
5837
+ var rethrowAssertionErrorRejection = noop;
5838
+ function typeIsObject(x) {
5839
+ return typeof x === 'object' && x !== null || typeof x === 'function';
5840
+ }
5841
+ function createArrayFromList(elements) {
5842
+ return elements.slice();
5843
+ }
5844
+ function ArrayBufferCopy(dest, destOffset, src, srcOffset, n) {
5845
+ new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);
5846
+ }
5847
+ function IsFiniteNonNegativeNumber(v) {
5848
+ if (IsNonNegativeNumber(v) === false) {
5849
+ return false;
5850
+ }
5851
+ if (v === Infinity) {
5852
+ return false;
5853
+ }
5854
+ return true;
5855
+ }
5856
+ function IsNonNegativeNumber(v) {
5857
+ if (typeof v !== 'number') {
5858
+ return false;
5859
+ }
5860
+ if (NumberIsNaN(v)) {
5861
+ return false;
5862
+ }
5863
+ if (v < 0) {
5864
+ return false;
5865
+ }
5866
+ return true;
5867
+ }
5868
+ function Call(F, V, args) {
5869
+ if (typeof F !== 'function') {
5870
+ throw new TypeError('Argument is not a function');
5871
+ }
5872
+ return Function.prototype.apply.call(F, V, args);
5873
+ }
5874
+ function CreateAlgorithmFromUnderlyingMethod(underlyingObject, methodName, algoArgCount, extraArgs) {
5875
+ var method = underlyingObject[methodName];
5876
+ if (method !== undefined) {
5877
+ if (typeof method !== 'function') {
5878
+ throw new TypeError(method + " is not a method");
5879
+ }
5880
+ switch (algoArgCount) {
5881
+ case 0: {
5882
+ return function () {
5883
+ return PromiseCall(method, underlyingObject, extraArgs);
5884
+ };
5885
+ }
5886
+ case 1: {
5887
+ return function (arg) {
5888
+ var fullArgs = [arg].concat(extraArgs);
5889
+ return PromiseCall(method, underlyingObject, fullArgs);
5890
+ };
5891
+ }
5892
+ }
5893
+ }
5894
+ return function () {
5895
+ return promiseResolvedWith(undefined);
5896
+ };
5897
+ }
5898
+ function InvokeOrNoop(O, P, args) {
5899
+ var method = O[P];
5900
+ if (method === undefined) {
5901
+ return undefined;
5902
+ }
5903
+ return Call(method, O, args);
5904
+ }
5905
+ function PromiseCall(F, V, args) {
5906
+ try {
5907
+ return promiseResolvedWith(Call(F, V, args));
5908
+ } catch (value) {
5909
+ return promiseRejectedWith(value);
5910
+ }
5911
+ }
5912
+ function TransferArrayBuffer(O) {
5913
+ return O;
5914
+ }
5915
+ function IsDetachedBuffer(O) {
5916
+ return false;
5917
+ }
5918
+ function ValidateAndNormalizeHighWaterMark(highWaterMark) {
5919
+ highWaterMark = Number(highWaterMark);
5920
+ if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {
5921
+ throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');
5922
+ }
5923
+ return highWaterMark;
5924
+ }
5925
+ function MakeSizeAlgorithmFromSizeFunction(size) {
5926
+ if (size === undefined) {
5927
+ return function () {
5928
+ return 1;
5929
+ };
5930
+ }
5931
+ if (typeof size !== 'function') {
5932
+ throw new TypeError('size property of a queuing strategy must be a function');
5933
+ }
5934
+ return function (chunk) {
5935
+ return size(chunk);
5936
+ };
5937
+ }
5938
+ var originalPromise = Promise;
5939
+ var originalPromiseThen = Promise.prototype.then;
5940
+ var originalPromiseResolve = Promise.resolve.bind(originalPromise);
5941
+ var originalPromiseReject = Promise.reject.bind(originalPromise);
5942
+ function newPromise(executor) {
5943
+ return new originalPromise(executor);
5944
+ }
5945
+ function promiseResolvedWith(value) {
5946
+ return originalPromiseResolve(value);
5947
+ }
5948
+ function promiseRejectedWith(reason) {
5949
+ return originalPromiseReject(reason);
5950
+ }
5951
+ function PerformPromiseThen(promise, onFulfilled, onRejected) {
5952
+ return originalPromiseThen.call(promise, onFulfilled, onRejected);
5953
+ }
5954
+ function uponPromise(promise, onFulfilled, onRejected) {
5955
+ PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection);
5956
+ }
5957
+ function uponFulfillment(promise, onFulfilled) {
5958
+ uponPromise(promise, onFulfilled);
5959
+ }
5960
+ function uponRejection(promise, onRejected) {
5961
+ uponPromise(promise, undefined, onRejected);
5962
+ }
5963
+ function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) {
5964
+ return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);
5965
+ }
5966
+ function setPromiseIsHandledToTrue(promise) {
5967
+ PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection);
5968
+ }
5969
+ var QUEUE_MAX_ARRAY_SIZE = 16384;
5970
+ var SimpleQueue = function () {
5971
+ function SimpleQueue() {
5972
+ this._cursor = 0;
5973
+ this._size = 0;
5974
+ this._front = {
5975
+ _elements: [],
5976
+ _next: undefined
5977
+ };
5978
+ this._back = this._front;
5979
+ this._cursor = 0;
5980
+ this._size = 0;
5981
+ }
5982
+ Object.defineProperty(SimpleQueue.prototype, "length", {
5983
+ get: function () {
5984
+ return this._size;
5985
+ },
5986
+ enumerable: true,
5987
+ configurable: true
5988
+ });
5989
+ SimpleQueue.prototype.push = function (element) {
5990
+ var oldBack = this._back;
5991
+ var newBack = oldBack;
5992
+ if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {
5993
+ newBack = {
5994
+ _elements: [],
5995
+ _next: undefined
5996
+ };
5997
+ }
5998
+ oldBack._elements.push(element);
5999
+ if (newBack !== oldBack) {
6000
+ this._back = newBack;
6001
+ oldBack._next = newBack;
6002
+ }
6003
+ ++this._size;
6004
+ };
6005
+ SimpleQueue.prototype.shift = function () {
6006
+ var oldFront = this._front;
6007
+ var newFront = oldFront;
6008
+ var oldCursor = this._cursor;
6009
+ var newCursor = oldCursor + 1;
6010
+ var elements = oldFront._elements;
6011
+ var element = elements[oldCursor];
6012
+ if (newCursor === QUEUE_MAX_ARRAY_SIZE) {
6013
+ newFront = oldFront._next;
6014
+ newCursor = 0;
6015
+ }
6016
+ --this._size;
6017
+ this._cursor = newCursor;
6018
+ if (oldFront !== newFront) {
6019
+ this._front = newFront;
6020
+ }
6021
+ elements[oldCursor] = undefined;
6022
+ return element;
6023
+ };
6024
+ SimpleQueue.prototype.forEach = function (callback) {
6025
+ var i = this._cursor;
6026
+ var node = this._front;
6027
+ var elements = node._elements;
6028
+ while (i !== elements.length || node._next !== undefined) {
6029
+ if (i === elements.length) {
6030
+ node = node._next;
6031
+ elements = node._elements;
6032
+ i = 0;
6033
+ if (elements.length === 0) {
6034
+ break;
6035
+ }
6036
+ }
6037
+ callback(elements[i]);
6038
+ ++i;
6039
+ }
6040
+ };
6041
+ SimpleQueue.prototype.peek = function () {
6042
+ var front = this._front;
6043
+ var cursor = this._cursor;
6044
+ return front._elements[cursor];
6045
+ };
6046
+ return SimpleQueue;
6047
+ }();
6048
+ function ReadableStreamCreateReadResult(value, done, forAuthorCode) {
6049
+ var prototype = null;
6050
+ if (forAuthorCode === true) {
6051
+ prototype = Object.prototype;
6052
+ }
6053
+ var obj = Object.create(prototype);
6054
+ obj.value = value;
6055
+ obj.done = done;
6056
+ return obj;
6057
+ }
6058
+ function ReadableStreamReaderGenericInitialize(reader, stream) {
6059
+ reader._forAuthorCode = true;
6060
+ reader._ownerReadableStream = stream;
6061
+ stream._reader = reader;
6062
+ if (stream._state === 'readable') {
6063
+ defaultReaderClosedPromiseInitialize(reader);
6064
+ } else if (stream._state === 'closed') {
6065
+ defaultReaderClosedPromiseInitializeAsResolved(reader);
6066
+ } else {
6067
+ defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);
6068
+ }
6069
+ }
6070
+ function ReadableStreamReaderGenericCancel(reader, reason) {
6071
+ var stream = reader._ownerReadableStream;
6072
+ return ReadableStreamCancel(stream, reason);
6073
+ }
6074
+ function ReadableStreamReaderGenericRelease(reader) {
6075
+ if (reader._ownerReadableStream._state === 'readable') {
6076
+ defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\'s closedness'));
6077
+ } else {
6078
+ defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\'s closedness'));
6079
+ }
6080
+ reader._ownerReadableStream._reader = undefined;
6081
+ reader._ownerReadableStream = undefined;
6082
+ }
6083
+ function readerLockException(name) {
6084
+ return new TypeError('Cannot ' + name + ' a stream using a released reader');
6085
+ }
6086
+ function defaultReaderClosedPromiseInitialize(reader) {
6087
+ reader._closedPromise = newPromise(function (resolve, reject) {
6088
+ reader._closedPromise_resolve = resolve;
6089
+ reader._closedPromise_reject = reject;
6090
+ });
6091
+ }
6092
+ function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {
6093
+ defaultReaderClosedPromiseInitialize(reader);
6094
+ defaultReaderClosedPromiseReject(reader, reason);
6095
+ }
6096
+ function defaultReaderClosedPromiseInitializeAsResolved(reader) {
6097
+ defaultReaderClosedPromiseInitialize(reader);
6098
+ defaultReaderClosedPromiseResolve(reader);
6099
+ }
6100
+ function defaultReaderClosedPromiseReject(reader, reason) {
6101
+ setPromiseIsHandledToTrue(reader._closedPromise);
6102
+ reader._closedPromise_reject(reason);
6103
+ reader._closedPromise_resolve = undefined;
6104
+ reader._closedPromise_reject = undefined;
6105
+ }
6106
+ function defaultReaderClosedPromiseResetToRejected(reader, reason) {
6107
+ defaultReaderClosedPromiseInitializeAsRejected(reader, reason);
6108
+ }
6109
+ function defaultReaderClosedPromiseResolve(reader) {
6110
+ reader._closedPromise_resolve(undefined);
6111
+ reader._closedPromise_resolve = undefined;
6112
+ reader._closedPromise_reject = undefined;
6113
+ }
6114
+ var CancelSteps = SymbolPolyfill('[[CancelSteps]]');
6115
+ var PullSteps = SymbolPolyfill('[[PullSteps]]');
6116
+ function AcquireReadableStreamDefaultReader(stream, forAuthorCode) {
6117
+ if (forAuthorCode === void 0) {
6118
+ forAuthorCode = false;
6119
+ }
6120
+ var reader = new ReadableStreamDefaultReader(stream);
6121
+ reader._forAuthorCode = forAuthorCode;
6122
+ return reader;
6123
+ }
6124
+ function ReadableStreamAddReadRequest(stream) {
6125
+ var promise = newPromise(function (resolve, reject) {
6126
+ var readRequest = {
6127
+ _resolve: resolve,
6128
+ _reject: reject
6129
+ };
6130
+ stream._reader._readRequests.push(readRequest);
6131
+ });
6132
+ return promise;
6133
+ }
6134
+ function ReadableStreamFulfillReadRequest(stream, chunk, done) {
6135
+ var reader = stream._reader;
6136
+ var readRequest = reader._readRequests.shift();
6137
+ readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));
6138
+ }
6139
+ function ReadableStreamGetNumReadRequests(stream) {
6140
+ return stream._reader._readRequests.length;
6141
+ }
6142
+ function ReadableStreamHasDefaultReader(stream) {
6143
+ var reader = stream._reader;
6144
+ if (reader === undefined) {
6145
+ return false;
6146
+ }
6147
+ if (!IsReadableStreamDefaultReader(reader)) {
6148
+ return false;
6149
+ }
6150
+ return true;
6151
+ }
6152
+ var ReadableStreamDefaultReader = function () {
6153
+ function ReadableStreamDefaultReader(stream) {
6154
+ if (IsReadableStream(stream) === false) {
6155
+ throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');
6156
+ }
6157
+ if (IsReadableStreamLocked(stream) === true) {
6158
+ throw new TypeError('This stream has already been locked for exclusive reading by another reader');
6159
+ }
6160
+ ReadableStreamReaderGenericInitialize(this, stream);
6161
+ this._readRequests = new SimpleQueue();
6162
+ }
6163
+ Object.defineProperty(ReadableStreamDefaultReader.prototype, "closed", {
6164
+ get: function () {
6165
+ if (!IsReadableStreamDefaultReader(this)) {
6166
+ return promiseRejectedWith(defaultReaderBrandCheckException('closed'));
6167
+ }
6168
+ return this._closedPromise;
6169
+ },
6170
+ enumerable: true,
6171
+ configurable: true
6172
+ });
6173
+ ReadableStreamDefaultReader.prototype.cancel = function (reason) {
6174
+ if (!IsReadableStreamDefaultReader(this)) {
6175
+ return promiseRejectedWith(defaultReaderBrandCheckException('cancel'));
6176
+ }
6177
+ if (this._ownerReadableStream === undefined) {
6178
+ return promiseRejectedWith(readerLockException('cancel'));
6179
+ }
6180
+ return ReadableStreamReaderGenericCancel(this, reason);
6181
+ };
6182
+ ReadableStreamDefaultReader.prototype.read = function () {
6183
+ if (!IsReadableStreamDefaultReader(this)) {
6184
+ return promiseRejectedWith(defaultReaderBrandCheckException('read'));
6185
+ }
6186
+ if (this._ownerReadableStream === undefined) {
6187
+ return promiseRejectedWith(readerLockException('read from'));
6188
+ }
6189
+ return ReadableStreamDefaultReaderRead(this);
6190
+ };
6191
+ ReadableStreamDefaultReader.prototype.releaseLock = function () {
6192
+ if (!IsReadableStreamDefaultReader(this)) {
6193
+ throw defaultReaderBrandCheckException('releaseLock');
6194
+ }
6195
+ if (this._ownerReadableStream === undefined) {
6196
+ return;
6197
+ }
6198
+ if (this._readRequests.length > 0) {
6199
+ throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');
6200
+ }
6201
+ ReadableStreamReaderGenericRelease(this);
6202
+ };
6203
+ return ReadableStreamDefaultReader;
6204
+ }();
6205
+ function IsReadableStreamDefaultReader(x) {
6206
+ if (!typeIsObject(x)) {
6207
+ return false;
6208
+ }
6209
+ if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {
6210
+ return false;
6211
+ }
6212
+ return true;
6213
+ }
6214
+ function ReadableStreamDefaultReaderRead(reader) {
6215
+ var stream = reader._ownerReadableStream;
6216
+ stream._disturbed = true;
6217
+ if (stream._state === 'closed') {
6218
+ return promiseResolvedWith(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));
6219
+ }
6220
+ if (stream._state === 'errored') {
6221
+ return promiseRejectedWith(stream._storedError);
6222
+ }
6223
+ return stream._readableStreamController[PullSteps]();
6224
+ }
6225
+ function defaultReaderBrandCheckException(name) {
6226
+ return new TypeError("ReadableStreamDefaultReader.prototype." + name + " can only be used on a ReadableStreamDefaultReader");
6227
+ }
6228
+ var _a;
6229
+ var AsyncIteratorPrototype;
6230
+ if (typeof SymbolPolyfill.asyncIterator === 'symbol') {
6231
+ AsyncIteratorPrototype = (_a = {}, _a[SymbolPolyfill.asyncIterator] = function () {
6232
+ return this;
6233
+ }, _a);
6234
+ Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });
6235
+ }
6236
+ var ReadableStreamAsyncIteratorPrototype = {
6237
+ next: function () {
6238
+ if (IsReadableStreamAsyncIterator(this) === false) {
6239
+ return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));
6240
+ }
6241
+ var reader = this._asyncIteratorReader;
6242
+ if (reader._ownerReadableStream === undefined) {
6243
+ return promiseRejectedWith(readerLockException('iterate'));
6244
+ }
6245
+ return transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {
6246
+ var done = result.done;
6247
+ if (done) {
6248
+ ReadableStreamReaderGenericRelease(reader);
6249
+ }
6250
+ var value = result.value;
6251
+ return ReadableStreamCreateReadResult(value, done, true);
6252
+ });
6253
+ },
6254
+ return: function (value) {
6255
+ if (IsReadableStreamAsyncIterator(this) === false) {
6256
+ return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));
6257
+ }
6258
+ var reader = this._asyncIteratorReader;
6259
+ if (reader._ownerReadableStream === undefined) {
6260
+ return promiseRejectedWith(readerLockException('finish iterating'));
6261
+ }
6262
+ if (reader._readRequests.length > 0) {
6263
+ return promiseRejectedWith(new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled'));
6264
+ }
6265
+ if (this._preventCancel === false) {
6266
+ var result = ReadableStreamReaderGenericCancel(reader, value);
6267
+ ReadableStreamReaderGenericRelease(reader);
6268
+ return transformPromiseWith(result, function () {
6269
+ return ReadableStreamCreateReadResult(value, true, true);
6270
+ });
6271
+ }
6272
+ ReadableStreamReaderGenericRelease(reader);
6273
+ return promiseResolvedWith(ReadableStreamCreateReadResult(value, true, true));
6274
+ }
6275
+ };
6276
+ if (AsyncIteratorPrototype !== undefined) {
6277
+ Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);
6278
+ }
6279
+ Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'next', { enumerable: false });
6280
+ Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'return', { enumerable: false });
6281
+ function AcquireReadableStreamAsyncIterator(stream, preventCancel) {
6282
+ if (preventCancel === void 0) {
6283
+ preventCancel = false;
6284
+ }
6285
+ var reader = AcquireReadableStreamDefaultReader(stream);
6286
+ var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);
6287
+ iterator._asyncIteratorReader = reader;
6288
+ iterator._preventCancel = Boolean(preventCancel);
6289
+ return iterator;
6290
+ }
6291
+ function IsReadableStreamAsyncIterator(x) {
6292
+ if (!typeIsObject(x)) {
6293
+ return false;
6294
+ }
6295
+ if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorReader')) {
6296
+ return false;
6297
+ }
6298
+ return true;
6299
+ }
6300
+ function streamAsyncIteratorBrandCheckException(name) {
6301
+ return new TypeError("ReadableStreamAsyncIterator." + name + " can only be used on a ReadableSteamAsyncIterator");
6302
+ }
6303
+ function DequeueValue(container) {
6304
+ var pair = container._queue.shift();
6305
+ container._queueTotalSize -= pair.size;
6306
+ if (container._queueTotalSize < 0) {
6307
+ container._queueTotalSize = 0;
6308
+ }
6309
+ return pair.value;
6310
+ }
6311
+ function EnqueueValueWithSize(container, value, size) {
6312
+ size = Number(size);
6313
+ if (!IsFiniteNonNegativeNumber(size)) {
6314
+ throw new RangeError('Size must be a finite, non-NaN, non-negative number.');
6315
+ }
6316
+ container._queue.push({
6317
+ value: value,
6318
+ size: size
6319
+ });
6320
+ container._queueTotalSize += size;
6321
+ }
6322
+ function PeekQueueValue(container) {
6323
+ var pair = container._queue.peek();
6324
+ return pair.value;
6325
+ }
6326
+ function ResetQueue(container) {
6327
+ container._queue = new SimpleQueue();
6328
+ container._queueTotalSize = 0;
6329
+ }
6330
+ var AbortSteps = SymbolPolyfill('[[AbortSteps]]');
6331
+ var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');
6332
+ var WritableStream = function () {
6333
+ function WritableStream(underlyingSink, strategy) {
6334
+ if (underlyingSink === void 0) {
6335
+ underlyingSink = {};
6336
+ }
6337
+ if (strategy === void 0) {
6338
+ strategy = {};
6339
+ }
6340
+ InitializeWritableStream(this);
6341
+ var size = strategy.size;
6342
+ var highWaterMark = strategy.highWaterMark;
6343
+ var type = underlyingSink.type;
6344
+ if (type !== undefined) {
6345
+ throw new RangeError('Invalid type is specified');
6346
+ }
6347
+ var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);
6348
+ if (highWaterMark === undefined) {
6349
+ highWaterMark = 1;
6350
+ }
6351
+ highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);
6352
+ SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);
6353
+ }
6354
+ Object.defineProperty(WritableStream.prototype, "locked", {
6355
+ get: function () {
6356
+ if (IsWritableStream(this) === false) {
6357
+ throw streamBrandCheckException('locked');
6358
+ }
6359
+ return IsWritableStreamLocked(this);
6360
+ },
6361
+ enumerable: true,
6362
+ configurable: true
6363
+ });
6364
+ WritableStream.prototype.abort = function (reason) {
6365
+ if (IsWritableStream(this) === false) {
6366
+ return promiseRejectedWith(streamBrandCheckException('abort'));
6367
+ }
6368
+ if (IsWritableStreamLocked(this) === true) {
6369
+ return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));
6370
+ }
6371
+ return WritableStreamAbort(this, reason);
6372
+ };
6373
+ WritableStream.prototype.getWriter = function () {
6374
+ if (IsWritableStream(this) === false) {
6375
+ throw streamBrandCheckException('getWriter');
6376
+ }
6377
+ return AcquireWritableStreamDefaultWriter(this);
6378
+ };
6379
+ return WritableStream;
6380
+ }();
6381
+ function AcquireWritableStreamDefaultWriter(stream) {
6382
+ return new WritableStreamDefaultWriter(stream);
6383
+ }
6384
+ function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {
6385
+ if (highWaterMark === void 0) {
6386
+ highWaterMark = 1;
6387
+ }
6388
+ if (sizeAlgorithm === void 0) {
6389
+ sizeAlgorithm = function () {
6390
+ return 1;
6391
+ };
6392
+ }
6393
+ var stream = Object.create(WritableStream.prototype);
6394
+ InitializeWritableStream(stream);
6395
+ var controller = Object.create(WritableStreamDefaultController.prototype);
6396
+ SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);
6397
+ return stream;
6398
+ }
6399
+ function InitializeWritableStream(stream) {
6400
+ stream._state = 'writable';
6401
+ stream._storedError = undefined;
6402
+ stream._writer = undefined;
6403
+ stream._writableStreamController = undefined;
6404
+ stream._writeRequests = new SimpleQueue();
6405
+ stream._inFlightWriteRequest = undefined;
6406
+ stream._closeRequest = undefined;
6407
+ stream._inFlightCloseRequest = undefined;
6408
+ stream._pendingAbortRequest = undefined;
6409
+ stream._backpressure = false;
6410
+ }
6411
+ function IsWritableStream(x) {
6412
+ if (!typeIsObject(x)) {
6413
+ return false;
6414
+ }
6415
+ if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {
6416
+ return false;
6417
+ }
6418
+ return true;
6419
+ }
6420
+ function IsWritableStreamLocked(stream) {
6421
+ if (stream._writer === undefined) {
6422
+ return false;
6423
+ }
6424
+ return true;
6425
+ }
6426
+ function WritableStreamAbort(stream, reason) {
6427
+ var state = stream._state;
6428
+ if (state === 'closed' || state === 'errored') {
6429
+ return promiseResolvedWith(undefined);
6430
+ }
6431
+ if (stream._pendingAbortRequest !== undefined) {
6432
+ return stream._pendingAbortRequest._promise;
6433
+ }
6434
+ var wasAlreadyErroring = false;
6435
+ if (state === 'erroring') {
6436
+ wasAlreadyErroring = true;
6437
+ reason = undefined;
6438
+ }
6439
+ var promise = newPromise(function (resolve, reject) {
6440
+ stream._pendingAbortRequest = {
6441
+ _promise: undefined,
6442
+ _resolve: resolve,
6443
+ _reject: reject,
6444
+ _reason: reason,
6445
+ _wasAlreadyErroring: wasAlreadyErroring
6446
+ };
6447
+ });
6448
+ stream._pendingAbortRequest._promise = promise;
6449
+ if (wasAlreadyErroring === false) {
6450
+ WritableStreamStartErroring(stream, reason);
6451
+ }
6452
+ return promise;
6453
+ }
6454
+ function WritableStreamAddWriteRequest(stream) {
6455
+ var promise = newPromise(function (resolve, reject) {
6456
+ var writeRequest = {
6457
+ _resolve: resolve,
6458
+ _reject: reject
6459
+ };
6460
+ stream._writeRequests.push(writeRequest);
6461
+ });
6462
+ return promise;
6463
+ }
6464
+ function WritableStreamDealWithRejection(stream, error) {
6465
+ var state = stream._state;
6466
+ if (state === 'writable') {
6467
+ WritableStreamStartErroring(stream, error);
6468
+ return;
6469
+ }
6470
+ WritableStreamFinishErroring(stream);
6471
+ }
6472
+ function WritableStreamStartErroring(stream, reason) {
6473
+ var controller = stream._writableStreamController;
6474
+ stream._state = 'erroring';
6475
+ stream._storedError = reason;
6476
+ var writer = stream._writer;
6477
+ if (writer !== undefined) {
6478
+ WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);
6479
+ }
6480
+ if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {
6481
+ WritableStreamFinishErroring(stream);
6482
+ }
6483
+ }
6484
+ function WritableStreamFinishErroring(stream) {
6485
+ stream._state = 'errored';
6486
+ stream._writableStreamController[ErrorSteps]();
6487
+ var storedError = stream._storedError;
6488
+ stream._writeRequests.forEach(function (writeRequest) {
6489
+ writeRequest._reject(storedError);
6490
+ });
6491
+ stream._writeRequests = new SimpleQueue();
6492
+ if (stream._pendingAbortRequest === undefined) {
6493
+ WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
6494
+ return;
6495
+ }
6496
+ var abortRequest = stream._pendingAbortRequest;
6497
+ stream._pendingAbortRequest = undefined;
6498
+ if (abortRequest._wasAlreadyErroring === true) {
6499
+ abortRequest._reject(storedError);
6500
+ WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
6501
+ return;
6502
+ }
6503
+ var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);
6504
+ uponPromise(promise, function () {
6505
+ abortRequest._resolve();
6506
+ WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
6507
+ }, function (reason) {
6508
+ abortRequest._reject(reason);
6509
+ WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
6510
+ });
6511
+ }
6512
+ function WritableStreamFinishInFlightWrite(stream) {
6513
+ stream._inFlightWriteRequest._resolve(undefined);
6514
+ stream._inFlightWriteRequest = undefined;
6515
+ }
6516
+ function WritableStreamFinishInFlightWriteWithError(stream, error) {
6517
+ stream._inFlightWriteRequest._reject(error);
6518
+ stream._inFlightWriteRequest = undefined;
6519
+ WritableStreamDealWithRejection(stream, error);
6520
+ }
6521
+ function WritableStreamFinishInFlightClose(stream) {
6522
+ stream._inFlightCloseRequest._resolve(undefined);
6523
+ stream._inFlightCloseRequest = undefined;
6524
+ var state = stream._state;
6525
+ if (state === 'erroring') {
6526
+ stream._storedError = undefined;
6527
+ if (stream._pendingAbortRequest !== undefined) {
6528
+ stream._pendingAbortRequest._resolve();
6529
+ stream._pendingAbortRequest = undefined;
6530
+ }
6531
+ }
6532
+ stream._state = 'closed';
6533
+ var writer = stream._writer;
6534
+ if (writer !== undefined) {
6535
+ defaultWriterClosedPromiseResolve(writer);
6536
+ }
6537
+ }
6538
+ function WritableStreamFinishInFlightCloseWithError(stream, error) {
6539
+ stream._inFlightCloseRequest._reject(error);
6540
+ stream._inFlightCloseRequest = undefined;
6541
+ if (stream._pendingAbortRequest !== undefined) {
6542
+ stream._pendingAbortRequest._reject(error);
6543
+ stream._pendingAbortRequest = undefined;
6544
+ }
6545
+ WritableStreamDealWithRejection(stream, error);
6546
+ }
6547
+ function WritableStreamCloseQueuedOrInFlight(stream) {
6548
+ if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {
6549
+ return false;
6550
+ }
6551
+ return true;
6552
+ }
6553
+ function WritableStreamHasOperationMarkedInFlight(stream) {
6554
+ if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {
6555
+ return false;
6556
+ }
6557
+ return true;
6558
+ }
6559
+ function WritableStreamMarkCloseRequestInFlight(stream) {
6560
+ stream._inFlightCloseRequest = stream._closeRequest;
6561
+ stream._closeRequest = undefined;
6562
+ }
6563
+ function WritableStreamMarkFirstWriteRequestInFlight(stream) {
6564
+ stream._inFlightWriteRequest = stream._writeRequests.shift();
6565
+ }
6566
+ function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {
6567
+ if (stream._closeRequest !== undefined) {
6568
+ stream._closeRequest._reject(stream._storedError);
6569
+ stream._closeRequest = undefined;
6570
+ }
6571
+ var writer = stream._writer;
6572
+ if (writer !== undefined) {
6573
+ defaultWriterClosedPromiseReject(writer, stream._storedError);
6574
+ }
6575
+ }
6576
+ function WritableStreamUpdateBackpressure(stream, backpressure) {
6577
+ var writer = stream._writer;
6578
+ if (writer !== undefined && backpressure !== stream._backpressure) {
6579
+ if (backpressure === true) {
6580
+ defaultWriterReadyPromiseReset(writer);
6581
+ } else {
6582
+ defaultWriterReadyPromiseResolve(writer);
6583
+ }
6584
+ }
6585
+ stream._backpressure = backpressure;
6586
+ }
6587
+ var WritableStreamDefaultWriter = function () {
6588
+ function WritableStreamDefaultWriter(stream) {
6589
+ if (IsWritableStream(stream) === false) {
6590
+ throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');
6591
+ }
6592
+ if (IsWritableStreamLocked(stream) === true) {
6593
+ throw new TypeError('This stream has already been locked for exclusive writing by another writer');
6594
+ }
6595
+ this._ownerWritableStream = stream;
6596
+ stream._writer = this;
6597
+ var state = stream._state;
6598
+ if (state === 'writable') {
6599
+ if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {
6600
+ defaultWriterReadyPromiseInitialize(this);
6601
+ } else {
6602
+ defaultWriterReadyPromiseInitializeAsResolved(this);
6603
+ }
6604
+ defaultWriterClosedPromiseInitialize(this);
6605
+ } else if (state === 'erroring') {
6606
+ defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);
6607
+ defaultWriterClosedPromiseInitialize(this);
6608
+ } else if (state === 'closed') {
6609
+ defaultWriterReadyPromiseInitializeAsResolved(this);
6610
+ defaultWriterClosedPromiseInitializeAsResolved(this);
6611
+ } else {
6612
+ var storedError = stream._storedError;
6613
+ defaultWriterReadyPromiseInitializeAsRejected(this, storedError);
6614
+ defaultWriterClosedPromiseInitializeAsRejected(this, storedError);
6615
+ }
6616
+ }
6617
+ Object.defineProperty(WritableStreamDefaultWriter.prototype, "closed", {
6618
+ get: function () {
6619
+ if (IsWritableStreamDefaultWriter(this) === false) {
6620
+ return promiseRejectedWith(defaultWriterBrandCheckException('closed'));
6621
+ }
6622
+ return this._closedPromise;
6623
+ },
6624
+ enumerable: true,
6625
+ configurable: true
6626
+ });
6627
+ Object.defineProperty(WritableStreamDefaultWriter.prototype, "desiredSize", {
6628
+ get: function () {
6629
+ if (IsWritableStreamDefaultWriter(this) === false) {
6630
+ throw defaultWriterBrandCheckException('desiredSize');
6631
+ }
6632
+ if (this._ownerWritableStream === undefined) {
6633
+ throw defaultWriterLockException('desiredSize');
6634
+ }
6635
+ return WritableStreamDefaultWriterGetDesiredSize(this);
6636
+ },
6637
+ enumerable: true,
6638
+ configurable: true
6639
+ });
6640
+ Object.defineProperty(WritableStreamDefaultWriter.prototype, "ready", {
6641
+ get: function () {
6642
+ if (IsWritableStreamDefaultWriter(this) === false) {
6643
+ return promiseRejectedWith(defaultWriterBrandCheckException('ready'));
6644
+ }
6645
+ return this._readyPromise;
6646
+ },
6647
+ enumerable: true,
6648
+ configurable: true
6649
+ });
6650
+ WritableStreamDefaultWriter.prototype.abort = function (reason) {
6651
+ if (IsWritableStreamDefaultWriter(this) === false) {
6652
+ return promiseRejectedWith(defaultWriterBrandCheckException('abort'));
6653
+ }
6654
+ if (this._ownerWritableStream === undefined) {
6655
+ return promiseRejectedWith(defaultWriterLockException('abort'));
6656
+ }
6657
+ return WritableStreamDefaultWriterAbort(this, reason);
6658
+ };
6659
+ WritableStreamDefaultWriter.prototype.close = function () {
6660
+ if (IsWritableStreamDefaultWriter(this) === false) {
6661
+ return promiseRejectedWith(defaultWriterBrandCheckException('close'));
6662
+ }
6663
+ var stream = this._ownerWritableStream;
6664
+ if (stream === undefined) {
6665
+ return promiseRejectedWith(defaultWriterLockException('close'));
6666
+ }
6667
+ if (WritableStreamCloseQueuedOrInFlight(stream) === true) {
6668
+ return promiseRejectedWith(new TypeError('cannot close an already-closing stream'));
6669
+ }
6670
+ return WritableStreamDefaultWriterClose(this);
6671
+ };
6672
+ WritableStreamDefaultWriter.prototype.releaseLock = function () {
6673
+ if (IsWritableStreamDefaultWriter(this) === false) {
6674
+ throw defaultWriterBrandCheckException('releaseLock');
6675
+ }
6676
+ var stream = this._ownerWritableStream;
6677
+ if (stream === undefined) {
6678
+ return;
6679
+ }
6680
+ WritableStreamDefaultWriterRelease(this);
6681
+ };
6682
+ WritableStreamDefaultWriter.prototype.write = function (chunk) {
6683
+ if (IsWritableStreamDefaultWriter(this) === false) {
6684
+ return promiseRejectedWith(defaultWriterBrandCheckException('write'));
6685
+ }
6686
+ if (this._ownerWritableStream === undefined) {
6687
+ return promiseRejectedWith(defaultWriterLockException('write to'));
6688
+ }
6689
+ return WritableStreamDefaultWriterWrite(this, chunk);
6690
+ };
6691
+ return WritableStreamDefaultWriter;
6692
+ }();
6693
+ function IsWritableStreamDefaultWriter(x) {
6694
+ if (!typeIsObject(x)) {
6695
+ return false;
6696
+ }
6697
+ if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {
6698
+ return false;
6699
+ }
6700
+ return true;
6701
+ }
6702
+ function WritableStreamDefaultWriterAbort(writer, reason) {
6703
+ var stream = writer._ownerWritableStream;
6704
+ return WritableStreamAbort(stream, reason);
6705
+ }
6706
+ function WritableStreamDefaultWriterClose(writer) {
6707
+ var stream = writer._ownerWritableStream;
6708
+ var state = stream._state;
6709
+ if (state === 'closed' || state === 'errored') {
6710
+ return promiseRejectedWith(new TypeError("The stream (in " + state + " state) is not in the writable state and cannot be closed"));
6711
+ }
6712
+ var promise = newPromise(function (resolve, reject) {
6713
+ var closeRequest = {
6714
+ _resolve: resolve,
6715
+ _reject: reject
6716
+ };
6717
+ stream._closeRequest = closeRequest;
6718
+ });
6719
+ if (stream._backpressure === true && state === 'writable') {
6720
+ defaultWriterReadyPromiseResolve(writer);
6721
+ }
6722
+ WritableStreamDefaultControllerClose(stream._writableStreamController);
6723
+ return promise;
6724
+ }
6725
+ function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {
6726
+ var stream = writer._ownerWritableStream;
6727
+ var state = stream._state;
6728
+ if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {
6729
+ return promiseResolvedWith(undefined);
6730
+ }
6731
+ if (state === 'errored') {
6732
+ return promiseRejectedWith(stream._storedError);
6733
+ }
6734
+ return WritableStreamDefaultWriterClose(writer);
6735
+ }
6736
+ function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {
6737
+ if (writer._closedPromiseState === 'pending') {
6738
+ defaultWriterClosedPromiseReject(writer, error);
6739
+ } else {
6740
+ defaultWriterClosedPromiseResetToRejected(writer, error);
6741
+ }
6742
+ }
6743
+ function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {
6744
+ if (writer._readyPromiseState === 'pending') {
6745
+ defaultWriterReadyPromiseReject(writer, error);
6746
+ } else {
6747
+ defaultWriterReadyPromiseResetToRejected(writer, error);
6748
+ }
6749
+ }
6750
+ function WritableStreamDefaultWriterGetDesiredSize(writer) {
6751
+ var stream = writer._ownerWritableStream;
6752
+ var state = stream._state;
6753
+ if (state === 'errored' || state === 'erroring') {
6754
+ return null;
6755
+ }
6756
+ if (state === 'closed') {
6757
+ return 0;
6758
+ }
6759
+ return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);
6760
+ }
6761
+ function WritableStreamDefaultWriterRelease(writer) {
6762
+ var stream = writer._ownerWritableStream;
6763
+ var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\'s closedness');
6764
+ WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);
6765
+ WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);
6766
+ stream._writer = undefined;
6767
+ writer._ownerWritableStream = undefined;
6768
+ }
6769
+ function WritableStreamDefaultWriterWrite(writer, chunk) {
6770
+ var stream = writer._ownerWritableStream;
6771
+ var controller = stream._writableStreamController;
6772
+ var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);
6773
+ if (stream !== writer._ownerWritableStream) {
6774
+ return promiseRejectedWith(defaultWriterLockException('write to'));
6775
+ }
6776
+ var state = stream._state;
6777
+ if (state === 'errored') {
6778
+ return promiseRejectedWith(stream._storedError);
6779
+ }
6780
+ if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {
6781
+ return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to'));
6782
+ }
6783
+ if (state === 'erroring') {
6784
+ return promiseRejectedWith(stream._storedError);
6785
+ }
6786
+ var promise = WritableStreamAddWriteRequest(stream);
6787
+ WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);
6788
+ return promise;
6789
+ }
6790
+ var WritableStreamDefaultController = function () {
6791
+ function WritableStreamDefaultController() {
6792
+ throw new TypeError('WritableStreamDefaultController cannot be constructed explicitly');
6793
+ }
6794
+ WritableStreamDefaultController.prototype.error = function (e) {
6795
+ if (IsWritableStreamDefaultController(this) === false) {
6796
+ throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');
6797
+ }
6798
+ var state = this._controlledWritableStream._state;
6799
+ if (state !== 'writable') {
6800
+ return;
6801
+ }
6802
+ WritableStreamDefaultControllerError(this, e);
6803
+ };
6804
+ WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {
6805
+ var result = this._abortAlgorithm(reason);
6806
+ WritableStreamDefaultControllerClearAlgorithms(this);
6807
+ return result;
6808
+ };
6809
+ WritableStreamDefaultController.prototype[ErrorSteps] = function () {
6810
+ ResetQueue(this);
6811
+ };
6812
+ return WritableStreamDefaultController;
6813
+ }();
6814
+ function IsWritableStreamDefaultController(x) {
6815
+ if (!typeIsObject(x)) {
6816
+ return false;
6817
+ }
6818
+ if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {
6819
+ return false;
6820
+ }
6821
+ return true;
6822
+ }
6823
+ function SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {
6824
+ controller._controlledWritableStream = stream;
6825
+ stream._writableStreamController = controller;
6826
+ controller._queue = undefined;
6827
+ controller._queueTotalSize = undefined;
6828
+ ResetQueue(controller);
6829
+ controller._started = false;
6830
+ controller._strategySizeAlgorithm = sizeAlgorithm;
6831
+ controller._strategyHWM = highWaterMark;
6832
+ controller._writeAlgorithm = writeAlgorithm;
6833
+ controller._closeAlgorithm = closeAlgorithm;
6834
+ controller._abortAlgorithm = abortAlgorithm;
6835
+ var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
6836
+ WritableStreamUpdateBackpressure(stream, backpressure);
6837
+ var startResult = startAlgorithm();
6838
+ var startPromise = promiseResolvedWith(startResult);
6839
+ uponPromise(startPromise, function () {
6840
+ controller._started = true;
6841
+ WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
6842
+ }, function (r) {
6843
+ controller._started = true;
6844
+ WritableStreamDealWithRejection(stream, r);
6845
+ });
6846
+ }
6847
+ function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {
6848
+ var controller = Object.create(WritableStreamDefaultController.prototype);
6849
+ function startAlgorithm() {
6850
+ return InvokeOrNoop(underlyingSink, 'start', [controller]);
6851
+ }
6852
+ var writeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'write', 1, [controller]);
6853
+ var closeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'close', 0, []);
6854
+ var abortAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'abort', 1, []);
6855
+ SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);
6856
+ }
6857
+ function WritableStreamDefaultControllerClearAlgorithms(controller) {
6858
+ controller._writeAlgorithm = undefined;
6859
+ controller._closeAlgorithm = undefined;
6860
+ controller._abortAlgorithm = undefined;
6861
+ controller._strategySizeAlgorithm = undefined;
6862
+ }
6863
+ function WritableStreamDefaultControllerClose(controller) {
6864
+ EnqueueValueWithSize(controller, 'close', 0);
6865
+ WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
6866
+ }
6867
+ function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {
6868
+ try {
6869
+ return controller._strategySizeAlgorithm(chunk);
6870
+ } catch (chunkSizeE) {
6871
+ WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);
6872
+ return 1;
6873
+ }
6874
+ }
6875
+ function WritableStreamDefaultControllerGetDesiredSize(controller) {
6876
+ return controller._strategyHWM - controller._queueTotalSize;
6877
+ }
6878
+ function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {
6879
+ var writeRecord = { chunk: chunk };
6880
+ try {
6881
+ EnqueueValueWithSize(controller, writeRecord, chunkSize);
6882
+ } catch (enqueueE) {
6883
+ WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);
6884
+ return;
6885
+ }
6886
+ var stream = controller._controlledWritableStream;
6887
+ if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {
6888
+ var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
6889
+ WritableStreamUpdateBackpressure(stream, backpressure);
6890
+ }
6891
+ WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
6892
+ }
6893
+ function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {
6894
+ var stream = controller._controlledWritableStream;
6895
+ if (controller._started === false) {
6896
+ return;
6897
+ }
6898
+ if (stream._inFlightWriteRequest !== undefined) {
6899
+ return;
6900
+ }
6901
+ var state = stream._state;
6902
+ if (state === 'erroring') {
6903
+ WritableStreamFinishErroring(stream);
6904
+ return;
6905
+ }
6906
+ if (controller._queue.length === 0) {
6907
+ return;
6908
+ }
6909
+ var writeRecord = PeekQueueValue(controller);
6910
+ if (writeRecord === 'close') {
6911
+ WritableStreamDefaultControllerProcessClose(controller);
6912
+ } else {
6913
+ WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);
6914
+ }
6915
+ }
6916
+ function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {
6917
+ if (controller._controlledWritableStream._state === 'writable') {
6918
+ WritableStreamDefaultControllerError(controller, error);
6919
+ }
6920
+ }
6921
+ function WritableStreamDefaultControllerProcessClose(controller) {
6922
+ var stream = controller._controlledWritableStream;
6923
+ WritableStreamMarkCloseRequestInFlight(stream);
6924
+ DequeueValue(controller);
6925
+ var sinkClosePromise = controller._closeAlgorithm();
6926
+ WritableStreamDefaultControllerClearAlgorithms(controller);
6927
+ uponPromise(sinkClosePromise, function () {
6928
+ WritableStreamFinishInFlightClose(stream);
6929
+ }, function (reason) {
6930
+ WritableStreamFinishInFlightCloseWithError(stream, reason);
6931
+ });
6932
+ }
6933
+ function WritableStreamDefaultControllerProcessWrite(controller, chunk) {
6934
+ var stream = controller._controlledWritableStream;
6935
+ WritableStreamMarkFirstWriteRequestInFlight(stream);
6936
+ var sinkWritePromise = controller._writeAlgorithm(chunk);
6937
+ uponPromise(sinkWritePromise, function () {
6938
+ WritableStreamFinishInFlightWrite(stream);
6939
+ var state = stream._state;
6940
+ DequeueValue(controller);
6941
+ if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {
6942
+ var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
6943
+ WritableStreamUpdateBackpressure(stream, backpressure);
6944
+ }
6945
+ WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
6946
+ }, function (reason) {
6947
+ if (stream._state === 'writable') {
6948
+ WritableStreamDefaultControllerClearAlgorithms(controller);
6949
+ }
6950
+ WritableStreamFinishInFlightWriteWithError(stream, reason);
6951
+ });
6952
+ }
6953
+ function WritableStreamDefaultControllerGetBackpressure(controller) {
6954
+ var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);
6955
+ return desiredSize <= 0;
6956
+ }
6957
+ function WritableStreamDefaultControllerError(controller, error) {
6958
+ var stream = controller._controlledWritableStream;
6959
+ WritableStreamDefaultControllerClearAlgorithms(controller);
6960
+ WritableStreamStartErroring(stream, error);
6961
+ }
6962
+ function streamBrandCheckException(name) {
6963
+ return new TypeError("WritableStream.prototype." + name + " can only be used on a WritableStream");
6964
+ }
6965
+ function defaultWriterBrandCheckException(name) {
6966
+ return new TypeError("WritableStreamDefaultWriter.prototype." + name + " can only be used on a WritableStreamDefaultWriter");
6967
+ }
6968
+ function defaultWriterLockException(name) {
6969
+ return new TypeError('Cannot ' + name + ' a stream using a released writer');
6970
+ }
6971
+ function defaultWriterClosedPromiseInitialize(writer) {
6972
+ writer._closedPromise = newPromise(function (resolve, reject) {
6973
+ writer._closedPromise_resolve = resolve;
6974
+ writer._closedPromise_reject = reject;
6975
+ writer._closedPromiseState = 'pending';
6976
+ });
6977
+ }
6978
+ function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {
6979
+ defaultWriterClosedPromiseInitialize(writer);
6980
+ defaultWriterClosedPromiseReject(writer, reason);
6981
+ }
6982
+ function defaultWriterClosedPromiseInitializeAsResolved(writer) {
6983
+ defaultWriterClosedPromiseInitialize(writer);
6984
+ defaultWriterClosedPromiseResolve(writer);
6985
+ }
6986
+ function defaultWriterClosedPromiseReject(writer, reason) {
6987
+ setPromiseIsHandledToTrue(writer._closedPromise);
6988
+ writer._closedPromise_reject(reason);
6989
+ writer._closedPromise_resolve = undefined;
6990
+ writer._closedPromise_reject = undefined;
6991
+ writer._closedPromiseState = 'rejected';
6992
+ }
6993
+ function defaultWriterClosedPromiseResetToRejected(writer, reason) {
6994
+ defaultWriterClosedPromiseInitializeAsRejected(writer, reason);
6995
+ }
6996
+ function defaultWriterClosedPromiseResolve(writer) {
6997
+ writer._closedPromise_resolve(undefined);
6998
+ writer._closedPromise_resolve = undefined;
6999
+ writer._closedPromise_reject = undefined;
7000
+ writer._closedPromiseState = 'resolved';
7001
+ }
7002
+ function defaultWriterReadyPromiseInitialize(writer) {
7003
+ writer._readyPromise = newPromise(function (resolve, reject) {
7004
+ writer._readyPromise_resolve = resolve;
7005
+ writer._readyPromise_reject = reject;
7006
+ });
7007
+ writer._readyPromiseState = 'pending';
7008
+ }
7009
+ function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {
7010
+ defaultWriterReadyPromiseInitialize(writer);
7011
+ defaultWriterReadyPromiseReject(writer, reason);
7012
+ }
7013
+ function defaultWriterReadyPromiseInitializeAsResolved(writer) {
7014
+ defaultWriterReadyPromiseInitialize(writer);
7015
+ defaultWriterReadyPromiseResolve(writer);
7016
+ }
7017
+ function defaultWriterReadyPromiseReject(writer, reason) {
7018
+ setPromiseIsHandledToTrue(writer._readyPromise);
7019
+ writer._readyPromise_reject(reason);
7020
+ writer._readyPromise_resolve = undefined;
7021
+ writer._readyPromise_reject = undefined;
7022
+ writer._readyPromiseState = 'rejected';
7023
+ }
7024
+ function defaultWriterReadyPromiseReset(writer) {
7025
+ defaultWriterReadyPromiseInitialize(writer);
7026
+ }
7027
+ function defaultWriterReadyPromiseResetToRejected(writer, reason) {
7028
+ defaultWriterReadyPromiseInitializeAsRejected(writer, reason);
7029
+ }
7030
+ function defaultWriterReadyPromiseResolve(writer) {
7031
+ writer._readyPromise_resolve(undefined);
7032
+ writer._readyPromise_resolve = undefined;
7033
+ writer._readyPromise_reject = undefined;
7034
+ writer._readyPromiseState = 'fulfilled';
7035
+ }
7036
+ function isAbortSignal(value) {
7037
+ if (typeof value !== 'object' || value === null) {
7038
+ return false;
7039
+ }
7040
+ try {
7041
+ return typeof value.aborted === 'boolean';
7042
+ } catch (_a) {
7043
+ return false;
7044
+ }
7045
+ }
7046
+ var NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined;
7047
+ function isDOMExceptionConstructor(ctor) {
7048
+ if (!(typeof ctor === 'function' || typeof ctor === 'object')) {
7049
+ return false;
7050
+ }
7051
+ try {
7052
+ new ctor();
7053
+ return true;
7054
+ } catch (_a) {
7055
+ return false;
7056
+ }
7057
+ }
7058
+ function createDOMExceptionPolyfill() {
7059
+ var ctor = function DOMException(message, name) {
7060
+ this.message = message || '';
7061
+ this.name = name || 'Error';
7062
+ if (Error.captureStackTrace) {
7063
+ Error.captureStackTrace(this, this.constructor);
7064
+ }
7065
+ };
7066
+ ctor.prototype = Object.create(Error.prototype);
7067
+ Object.defineProperty(ctor.prototype, 'constructor', {
7068
+ value: ctor,
7069
+ writable: true,
7070
+ configurable: true
7071
+ });
7072
+ return ctor;
7073
+ }
7074
+ var DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();
7075
+ function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {
7076
+ var reader = AcquireReadableStreamDefaultReader(source);
7077
+ var writer = AcquireWritableStreamDefaultWriter(dest);
7078
+ var shuttingDown = false;
7079
+ var currentWrite = promiseResolvedWith(undefined);
7080
+ return newPromise(function (resolve, reject) {
7081
+ var abortAlgorithm;
7082
+ if (signal !== undefined) {
7083
+ abortAlgorithm = function () {
7084
+ var error = new DOMException$1('Aborted', 'AbortError');
7085
+ var actions = [];
7086
+ if (preventAbort === false) {
7087
+ actions.push(function () {
7088
+ if (dest._state === 'writable') {
7089
+ return WritableStreamAbort(dest, error);
7090
+ }
7091
+ return promiseResolvedWith(undefined);
7092
+ });
7093
+ }
7094
+ if (preventCancel === false) {
7095
+ actions.push(function () {
7096
+ if (source._state === 'readable') {
7097
+ return ReadableStreamCancel(source, error);
7098
+ }
7099
+ return promiseResolvedWith(undefined);
7100
+ });
7101
+ }
7102
+ shutdownWithAction(function () {
7103
+ return Promise.all(actions.map(function (action) {
7104
+ return action();
7105
+ }));
7106
+ }, true, error);
7107
+ };
7108
+ if (signal.aborted === true) {
7109
+ abortAlgorithm();
7110
+ return;
7111
+ }
7112
+ signal.addEventListener('abort', abortAlgorithm);
7113
+ }
7114
+ function pipeLoop() {
7115
+ return newPromise(function (resolveLoop, rejectLoop) {
7116
+ function next(done) {
7117
+ if (done) {
7118
+ resolveLoop();
7119
+ } else {
7120
+ PerformPromiseThen(pipeStep(), next, rejectLoop);
7121
+ }
7122
+ }
7123
+ next(false);
7124
+ });
7125
+ }
7126
+ function pipeStep() {
7127
+ if (shuttingDown === true) {
7128
+ return promiseResolvedWith(true);
7129
+ }
7130
+ return PerformPromiseThen(writer._readyPromise, function () {
7131
+ return PerformPromiseThen(ReadableStreamDefaultReaderRead(reader), function (_a) {
7132
+ var value = _a.value, done = _a.done;
7133
+ if (done === true) {
7134
+ return true;
7135
+ }
7136
+ currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, value), undefined, noop);
7137
+ return false;
7138
+ });
7139
+ });
7140
+ }
7141
+ isOrBecomesErrored(source, reader._closedPromise, function (storedError) {
7142
+ if (preventAbort === false) {
7143
+ shutdownWithAction(function () {
7144
+ return WritableStreamAbort(dest, storedError);
7145
+ }, true, storedError);
7146
+ } else {
7147
+ shutdown(true, storedError);
7148
+ }
7149
+ });
7150
+ isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {
7151
+ if (preventCancel === false) {
7152
+ shutdownWithAction(function () {
7153
+ return ReadableStreamCancel(source, storedError);
7154
+ }, true, storedError);
7155
+ } else {
7156
+ shutdown(true, storedError);
7157
+ }
7158
+ });
7159
+ isOrBecomesClosed(source, reader._closedPromise, function () {
7160
+ if (preventClose === false) {
7161
+ shutdownWithAction(function () {
7162
+ return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);
7163
+ });
7164
+ } else {
7165
+ shutdown();
7166
+ }
7167
+ });
7168
+ if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {
7169
+ var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped to it');
7170
+ if (preventCancel === false) {
7171
+ shutdownWithAction(function () {
7172
+ return ReadableStreamCancel(source, destClosed_1);
7173
+ }, true, destClosed_1);
7174
+ } else {
7175
+ shutdown(true, destClosed_1);
7176
+ }
7177
+ }
7178
+ setPromiseIsHandledToTrue(pipeLoop());
7179
+ function waitForWritesToFinish() {
7180
+ var oldCurrentWrite = currentWrite;
7181
+ return PerformPromiseThen(currentWrite, function () {
7182
+ return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;
7183
+ });
7184
+ }
7185
+ function isOrBecomesErrored(stream, promise, action) {
7186
+ if (stream._state === 'errored') {
7187
+ action(stream._storedError);
7188
+ } else {
7189
+ uponRejection(promise, action);
7190
+ }
7191
+ }
7192
+ function isOrBecomesClosed(stream, promise, action) {
7193
+ if (stream._state === 'closed') {
7194
+ action();
7195
+ } else {
7196
+ uponFulfillment(promise, action);
7197
+ }
7198
+ }
7199
+ function shutdownWithAction(action, originalIsError, originalError) {
7200
+ if (shuttingDown === true) {
7201
+ return;
7202
+ }
7203
+ shuttingDown = true;
7204
+ if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {
7205
+ uponFulfillment(waitForWritesToFinish(), doTheRest);
7206
+ } else {
7207
+ doTheRest();
7208
+ }
7209
+ function doTheRest() {
7210
+ uponPromise(action(), function () {
7211
+ return finalize(originalIsError, originalError);
7212
+ }, function (newError) {
7213
+ return finalize(true, newError);
7214
+ });
7215
+ }
7216
+ }
7217
+ function shutdown(isError, error) {
7218
+ if (shuttingDown === true) {
7219
+ return;
7220
+ }
7221
+ shuttingDown = true;
7222
+ if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {
7223
+ uponFulfillment(waitForWritesToFinish(), function () {
7224
+ return finalize(isError, error);
7225
+ });
7226
+ } else {
7227
+ finalize(isError, error);
7228
+ }
7229
+ }
7230
+ function finalize(isError, error) {
7231
+ WritableStreamDefaultWriterRelease(writer);
7232
+ ReadableStreamReaderGenericRelease(reader);
7233
+ if (signal !== undefined) {
7234
+ signal.removeEventListener('abort', abortAlgorithm);
7235
+ }
7236
+ if (isError) {
7237
+ reject(error);
7238
+ } else {
7239
+ resolve(undefined);
7240
+ }
7241
+ }
7242
+ });
7243
+ }
7244
+ var ReadableStreamDefaultController = function () {
7245
+ function ReadableStreamDefaultController() {
7246
+ throw new TypeError();
7247
+ }
7248
+ Object.defineProperty(ReadableStreamDefaultController.prototype, "desiredSize", {
7249
+ get: function () {
7250
+ if (IsReadableStreamDefaultController(this) === false) {
7251
+ throw defaultControllerBrandCheckException('desiredSize');
7252
+ }
7253
+ return ReadableStreamDefaultControllerGetDesiredSize(this);
7254
+ },
7255
+ enumerable: true,
7256
+ configurable: true
7257
+ });
7258
+ ReadableStreamDefaultController.prototype.close = function () {
7259
+ if (IsReadableStreamDefaultController(this) === false) {
7260
+ throw defaultControllerBrandCheckException('close');
7261
+ }
7262
+ if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {
7263
+ throw new TypeError('The stream is not in a state that permits close');
7264
+ }
7265
+ ReadableStreamDefaultControllerClose(this);
7266
+ };
7267
+ ReadableStreamDefaultController.prototype.enqueue = function (chunk) {
7268
+ if (IsReadableStreamDefaultController(this) === false) {
7269
+ throw defaultControllerBrandCheckException('enqueue');
7270
+ }
7271
+ if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {
7272
+ throw new TypeError('The stream is not in a state that permits enqueue');
7273
+ }
7274
+ return ReadableStreamDefaultControllerEnqueue(this, chunk);
7275
+ };
7276
+ ReadableStreamDefaultController.prototype.error = function (e) {
7277
+ if (IsReadableStreamDefaultController(this) === false) {
7278
+ throw defaultControllerBrandCheckException('error');
7279
+ }
7280
+ ReadableStreamDefaultControllerError(this, e);
7281
+ };
7282
+ ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {
7283
+ ResetQueue(this);
7284
+ var result = this._cancelAlgorithm(reason);
7285
+ ReadableStreamDefaultControllerClearAlgorithms(this);
7286
+ return result;
7287
+ };
7288
+ ReadableStreamDefaultController.prototype[PullSteps] = function () {
7289
+ var stream = this._controlledReadableStream;
7290
+ if (this._queue.length > 0) {
7291
+ var chunk = DequeueValue(this);
7292
+ if (this._closeRequested === true && this._queue.length === 0) {
7293
+ ReadableStreamDefaultControllerClearAlgorithms(this);
7294
+ ReadableStreamClose(stream);
7295
+ } else {
7296
+ ReadableStreamDefaultControllerCallPullIfNeeded(this);
7297
+ }
7298
+ return promiseResolvedWith(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode));
7299
+ }
7300
+ var pendingPromise = ReadableStreamAddReadRequest(stream);
7301
+ ReadableStreamDefaultControllerCallPullIfNeeded(this);
7302
+ return pendingPromise;
7303
+ };
7304
+ return ReadableStreamDefaultController;
7305
+ }();
7306
+ function IsReadableStreamDefaultController(x) {
7307
+ if (!typeIsObject(x)) {
7308
+ return false;
7309
+ }
7310
+ if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {
7311
+ return false;
7312
+ }
7313
+ return true;
7314
+ }
7315
+ function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {
7316
+ var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);
7317
+ if (shouldPull === false) {
7318
+ return;
7319
+ }
7320
+ if (controller._pulling === true) {
7321
+ controller._pullAgain = true;
7322
+ return;
7323
+ }
7324
+ controller._pulling = true;
7325
+ var pullPromise = controller._pullAlgorithm();
7326
+ uponPromise(pullPromise, function () {
7327
+ controller._pulling = false;
7328
+ if (controller._pullAgain === true) {
7329
+ controller._pullAgain = false;
7330
+ ReadableStreamDefaultControllerCallPullIfNeeded(controller);
7331
+ }
7332
+ }, function (e) {
7333
+ ReadableStreamDefaultControllerError(controller, e);
7334
+ });
7335
+ }
7336
+ function ReadableStreamDefaultControllerShouldCallPull(controller) {
7337
+ var stream = controller._controlledReadableStream;
7338
+ if (ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) === false) {
7339
+ return false;
7340
+ }
7341
+ if (controller._started === false) {
7342
+ return false;
7343
+ }
7344
+ if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {
7345
+ return true;
7346
+ }
7347
+ var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);
7348
+ if (desiredSize > 0) {
7349
+ return true;
7350
+ }
7351
+ return false;
7352
+ }
7353
+ function ReadableStreamDefaultControllerClearAlgorithms(controller) {
7354
+ controller._pullAlgorithm = undefined;
7355
+ controller._cancelAlgorithm = undefined;
7356
+ controller._strategySizeAlgorithm = undefined;
7357
+ }
7358
+ function ReadableStreamDefaultControllerClose(controller) {
7359
+ var stream = controller._controlledReadableStream;
7360
+ controller._closeRequested = true;
7361
+ if (controller._queue.length === 0) {
7362
+ ReadableStreamDefaultControllerClearAlgorithms(controller);
7363
+ ReadableStreamClose(stream);
7364
+ }
7365
+ }
7366
+ function ReadableStreamDefaultControllerEnqueue(controller, chunk) {
7367
+ var stream = controller._controlledReadableStream;
7368
+ if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {
7369
+ ReadableStreamFulfillReadRequest(stream, chunk, false);
7370
+ } else {
7371
+ var chunkSize = void 0;
7372
+ try {
7373
+ chunkSize = controller._strategySizeAlgorithm(chunk);
7374
+ } catch (chunkSizeE) {
7375
+ ReadableStreamDefaultControllerError(controller, chunkSizeE);
7376
+ throw chunkSizeE;
7377
+ }
7378
+ try {
7379
+ EnqueueValueWithSize(controller, chunk, chunkSize);
7380
+ } catch (enqueueE) {
7381
+ ReadableStreamDefaultControllerError(controller, enqueueE);
7382
+ throw enqueueE;
7383
+ }
7384
+ }
7385
+ ReadableStreamDefaultControllerCallPullIfNeeded(controller);
7386
+ }
7387
+ function ReadableStreamDefaultControllerError(controller, e) {
7388
+ var stream = controller._controlledReadableStream;
7389
+ if (stream._state !== 'readable') {
7390
+ return;
7391
+ }
7392
+ ResetQueue(controller);
7393
+ ReadableStreamDefaultControllerClearAlgorithms(controller);
7394
+ ReadableStreamError(stream, e);
7395
+ }
7396
+ function ReadableStreamDefaultControllerGetDesiredSize(controller) {
7397
+ var stream = controller._controlledReadableStream;
7398
+ var state = stream._state;
7399
+ if (state === 'errored') {
7400
+ return null;
7401
+ }
7402
+ if (state === 'closed') {
7403
+ return 0;
7404
+ }
7405
+ return controller._strategyHWM - controller._queueTotalSize;
7406
+ }
7407
+ function ReadableStreamDefaultControllerHasBackpressure(controller) {
7408
+ if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) {
7409
+ return false;
7410
+ }
7411
+ return true;
7412
+ }
7413
+ function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {
7414
+ var state = controller._controlledReadableStream._state;
7415
+ if (controller._closeRequested === false && state === 'readable') {
7416
+ return true;
7417
+ }
7418
+ return false;
7419
+ }
7420
+ function SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {
7421
+ controller._controlledReadableStream = stream;
7422
+ controller._queue = undefined;
7423
+ controller._queueTotalSize = undefined;
7424
+ ResetQueue(controller);
7425
+ controller._started = false;
7426
+ controller._closeRequested = false;
7427
+ controller._pullAgain = false;
7428
+ controller._pulling = false;
7429
+ controller._strategySizeAlgorithm = sizeAlgorithm;
7430
+ controller._strategyHWM = highWaterMark;
7431
+ controller._pullAlgorithm = pullAlgorithm;
7432
+ controller._cancelAlgorithm = cancelAlgorithm;
7433
+ stream._readableStreamController = controller;
7434
+ var startResult = startAlgorithm();
7435
+ uponPromise(promiseResolvedWith(startResult), function () {
7436
+ controller._started = true;
7437
+ ReadableStreamDefaultControllerCallPullIfNeeded(controller);
7438
+ }, function (r) {
7439
+ ReadableStreamDefaultControllerError(controller, r);
7440
+ });
7441
+ }
7442
+ function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {
7443
+ var controller = Object.create(ReadableStreamDefaultController.prototype);
7444
+ function startAlgorithm() {
7445
+ return InvokeOrNoop(underlyingSource, 'start', [controller]);
7446
+ }
7447
+ var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'pull', 0, [controller]);
7448
+ var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'cancel', 1, []);
7449
+ SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);
7450
+ }
7451
+ function defaultControllerBrandCheckException(name) {
7452
+ return new TypeError("ReadableStreamDefaultController.prototype." + name + " can only be used on a ReadableStreamDefaultController");
7453
+ }
7454
+ function ReadableStreamTee(stream, cloneForBranch2) {
7455
+ var reader = AcquireReadableStreamDefaultReader(stream);
7456
+ var reading = false;
7457
+ var canceled1 = false;
7458
+ var canceled2 = false;
7459
+ var reason1;
7460
+ var reason2;
7461
+ var branch1;
7462
+ var branch2;
7463
+ var resolveCancelPromise;
7464
+ var cancelPromise = newPromise(function (resolve) {
7465
+ resolveCancelPromise = resolve;
7466
+ });
7467
+ function pullAlgorithm() {
7468
+ if (reading === true) {
7469
+ return promiseResolvedWith(undefined);
7470
+ }
7471
+ reading = true;
7472
+ var readPromise = transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {
7473
+ reading = false;
7474
+ var done = result.done;
7475
+ if (done === true) {
7476
+ if (canceled1 === false) {
7477
+ ReadableStreamDefaultControllerClose(branch1._readableStreamController);
7478
+ }
7479
+ if (canceled2 === false) {
7480
+ ReadableStreamDefaultControllerClose(branch2._readableStreamController);
7481
+ }
7482
+ return;
7483
+ }
7484
+ var value = result.value;
7485
+ var value1 = value;
7486
+ var value2 = value;
7487
+ if (canceled1 === false) {
7488
+ ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);
7489
+ }
7490
+ if (canceled2 === false) {
7491
+ ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);
7492
+ }
7493
+ });
7494
+ setPromiseIsHandledToTrue(readPromise);
7495
+ return promiseResolvedWith(undefined);
7496
+ }
7497
+ function cancel1Algorithm(reason) {
7498
+ canceled1 = true;
7499
+ reason1 = reason;
7500
+ if (canceled2 === true) {
7501
+ var compositeReason = createArrayFromList([
7502
+ reason1,
7503
+ reason2
7504
+ ]);
7505
+ var cancelResult = ReadableStreamCancel(stream, compositeReason);
7506
+ resolveCancelPromise(cancelResult);
7507
+ }
7508
+ return cancelPromise;
7509
+ }
7510
+ function cancel2Algorithm(reason) {
7511
+ canceled2 = true;
7512
+ reason2 = reason;
7513
+ if (canceled1 === true) {
7514
+ var compositeReason = createArrayFromList([
7515
+ reason1,
7516
+ reason2
7517
+ ]);
7518
+ var cancelResult = ReadableStreamCancel(stream, compositeReason);
7519
+ resolveCancelPromise(cancelResult);
7520
+ }
7521
+ return cancelPromise;
7522
+ }
7523
+ function startAlgorithm() {
7524
+ }
7525
+ branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);
7526
+ branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);
7527
+ uponRejection(reader._closedPromise, function (r) {
7528
+ ReadableStreamDefaultControllerError(branch1._readableStreamController, r);
7529
+ ReadableStreamDefaultControllerError(branch2._readableStreamController, r);
7530
+ });
7531
+ return [
7532
+ branch1,
7533
+ branch2
7534
+ ];
7535
+ }
7536
+ var NumberIsInteger = Number.isInteger || function (value) {
7537
+ return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;
7538
+ };
7539
+ var ReadableStreamBYOBRequest = function () {
7540
+ function ReadableStreamBYOBRequest() {
7541
+ throw new TypeError('ReadableStreamBYOBRequest cannot be used directly');
7542
+ }
7543
+ Object.defineProperty(ReadableStreamBYOBRequest.prototype, "view", {
7544
+ get: function () {
7545
+ if (IsReadableStreamBYOBRequest(this) === false) {
7546
+ throw byobRequestBrandCheckException('view');
7547
+ }
7548
+ return this._view;
7549
+ },
7550
+ enumerable: true,
7551
+ configurable: true
7552
+ });
7553
+ ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {
7554
+ if (IsReadableStreamBYOBRequest(this) === false) {
7555
+ throw byobRequestBrandCheckException('respond');
7556
+ }
7557
+ if (this._associatedReadableByteStreamController === undefined) {
7558
+ throw new TypeError('This BYOB request has been invalidated');
7559
+ }
7560
+ if (IsDetachedBuffer(this._view.buffer) === true);
7561
+ ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);
7562
+ };
7563
+ ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {
7564
+ if (IsReadableStreamBYOBRequest(this) === false) {
7565
+ throw byobRequestBrandCheckException('respond');
7566
+ }
7567
+ if (this._associatedReadableByteStreamController === undefined) {
7568
+ throw new TypeError('This BYOB request has been invalidated');
7569
+ }
7570
+ if (!ArrayBuffer.isView(view)) {
7571
+ throw new TypeError('You can only respond with array buffer views');
7572
+ }
7573
+ if (IsDetachedBuffer(view.buffer) === true);
7574
+ ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);
7575
+ };
7576
+ return ReadableStreamBYOBRequest;
7577
+ }();
7578
+ var ReadableByteStreamController = function () {
7579
+ function ReadableByteStreamController() {
7580
+ throw new TypeError('ReadableByteStreamController constructor cannot be used directly');
7581
+ }
7582
+ Object.defineProperty(ReadableByteStreamController.prototype, "byobRequest", {
7583
+ get: function () {
7584
+ if (IsReadableByteStreamController(this) === false) {
7585
+ throw byteStreamControllerBrandCheckException('byobRequest');
7586
+ }
7587
+ if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {
7588
+ var firstDescriptor = this._pendingPullIntos.peek();
7589
+ var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);
7590
+ var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);
7591
+ SetUpReadableStreamBYOBRequest(byobRequest, this, view);
7592
+ this._byobRequest = byobRequest;
7593
+ }
7594
+ return this._byobRequest;
7595
+ },
7596
+ enumerable: true,
7597
+ configurable: true
7598
+ });
7599
+ Object.defineProperty(ReadableByteStreamController.prototype, "desiredSize", {
7600
+ get: function () {
7601
+ if (IsReadableByteStreamController(this) === false) {
7602
+ throw byteStreamControllerBrandCheckException('desiredSize');
7603
+ }
7604
+ return ReadableByteStreamControllerGetDesiredSize(this);
7605
+ },
7606
+ enumerable: true,
7607
+ configurable: true
7608
+ });
7609
+ ReadableByteStreamController.prototype.close = function () {
7610
+ if (IsReadableByteStreamController(this) === false) {
7611
+ throw byteStreamControllerBrandCheckException('close');
7612
+ }
7613
+ if (this._closeRequested === true) {
7614
+ throw new TypeError('The stream has already been closed; do not close it again!');
7615
+ }
7616
+ var state = this._controlledReadableByteStream._state;
7617
+ if (state !== 'readable') {
7618
+ throw new TypeError("The stream (in " + state + " state) is not in the readable state and cannot be closed");
7619
+ }
7620
+ ReadableByteStreamControllerClose(this);
7621
+ };
7622
+ ReadableByteStreamController.prototype.enqueue = function (chunk) {
7623
+ if (IsReadableByteStreamController(this) === false) {
7624
+ throw byteStreamControllerBrandCheckException('enqueue');
7625
+ }
7626
+ if (this._closeRequested === true) {
7627
+ throw new TypeError('stream is closed or draining');
7628
+ }
7629
+ var state = this._controlledReadableByteStream._state;
7630
+ if (state !== 'readable') {
7631
+ throw new TypeError("The stream (in " + state + " state) is not in the readable state and cannot be enqueued to");
7632
+ }
7633
+ if (!ArrayBuffer.isView(chunk)) {
7634
+ throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');
7635
+ }
7636
+ if (IsDetachedBuffer(chunk.buffer) === true);
7637
+ ReadableByteStreamControllerEnqueue(this, chunk);
7638
+ };
7639
+ ReadableByteStreamController.prototype.error = function (e) {
7640
+ if (IsReadableByteStreamController(this) === false) {
7641
+ throw byteStreamControllerBrandCheckException('error');
7642
+ }
7643
+ ReadableByteStreamControllerError(this, e);
7644
+ };
7645
+ ReadableByteStreamController.prototype[CancelSteps] = function (reason) {
7646
+ if (this._pendingPullIntos.length > 0) {
7647
+ var firstDescriptor = this._pendingPullIntos.peek();
7648
+ firstDescriptor.bytesFilled = 0;
7649
+ }
7650
+ ResetQueue(this);
7651
+ var result = this._cancelAlgorithm(reason);
7652
+ ReadableByteStreamControllerClearAlgorithms(this);
7653
+ return result;
7654
+ };
7655
+ ReadableByteStreamController.prototype[PullSteps] = function () {
7656
+ var stream = this._controlledReadableByteStream;
7657
+ if (this._queueTotalSize > 0) {
7658
+ var entry = this._queue.shift();
7659
+ this._queueTotalSize -= entry.byteLength;
7660
+ ReadableByteStreamControllerHandleQueueDrain(this);
7661
+ var view = void 0;
7662
+ try {
7663
+ view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);
7664
+ } catch (viewE) {
7665
+ return promiseRejectedWith(viewE);
7666
+ }
7667
+ return promiseResolvedWith(ReadableStreamCreateReadResult(view, false, stream._reader._forAuthorCode));
7668
+ }
7669
+ var autoAllocateChunkSize = this._autoAllocateChunkSize;
7670
+ if (autoAllocateChunkSize !== undefined) {
7671
+ var buffer = void 0;
7672
+ try {
7673
+ buffer = new ArrayBuffer(autoAllocateChunkSize);
7674
+ } catch (bufferE) {
7675
+ return promiseRejectedWith(bufferE);
7676
+ }
7677
+ var pullIntoDescriptor = {
7678
+ buffer: buffer,
7679
+ byteOffset: 0,
7680
+ byteLength: autoAllocateChunkSize,
7681
+ bytesFilled: 0,
7682
+ elementSize: 1,
7683
+ ctor: Uint8Array,
7684
+ readerType: 'default'
7685
+ };
7686
+ this._pendingPullIntos.push(pullIntoDescriptor);
7687
+ }
7688
+ var promise = ReadableStreamAddReadRequest(stream);
7689
+ ReadableByteStreamControllerCallPullIfNeeded(this);
7690
+ return promise;
7691
+ };
7692
+ return ReadableByteStreamController;
7693
+ }();
7694
+ function IsReadableByteStreamController(x) {
7695
+ if (!typeIsObject(x)) {
7696
+ return false;
7697
+ }
7698
+ if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {
7699
+ return false;
7700
+ }
7701
+ return true;
7702
+ }
7703
+ function IsReadableStreamBYOBRequest(x) {
7704
+ if (!typeIsObject(x)) {
7705
+ return false;
7706
+ }
7707
+ if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {
7708
+ return false;
7709
+ }
7710
+ return true;
7711
+ }
7712
+ function ReadableByteStreamControllerCallPullIfNeeded(controller) {
7713
+ var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);
7714
+ if (shouldPull === false) {
7715
+ return;
7716
+ }
7717
+ if (controller._pulling === true) {
7718
+ controller._pullAgain = true;
7719
+ return;
7720
+ }
7721
+ controller._pulling = true;
7722
+ var pullPromise = controller._pullAlgorithm();
7723
+ uponPromise(pullPromise, function () {
7724
+ controller._pulling = false;
7725
+ if (controller._pullAgain === true) {
7726
+ controller._pullAgain = false;
7727
+ ReadableByteStreamControllerCallPullIfNeeded(controller);
7728
+ }
7729
+ }, function (e) {
7730
+ ReadableByteStreamControllerError(controller, e);
7731
+ });
7732
+ }
7733
+ function ReadableByteStreamControllerClearPendingPullIntos(controller) {
7734
+ ReadableByteStreamControllerInvalidateBYOBRequest(controller);
7735
+ controller._pendingPullIntos = new SimpleQueue();
7736
+ }
7737
+ function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {
7738
+ var done = false;
7739
+ if (stream._state === 'closed') {
7740
+ done = true;
7741
+ }
7742
+ var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);
7743
+ if (pullIntoDescriptor.readerType === 'default') {
7744
+ ReadableStreamFulfillReadRequest(stream, filledView, done);
7745
+ } else {
7746
+ ReadableStreamFulfillReadIntoRequest(stream, filledView, done);
7747
+ }
7748
+ }
7749
+ function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {
7750
+ var bytesFilled = pullIntoDescriptor.bytesFilled;
7751
+ var elementSize = pullIntoDescriptor.elementSize;
7752
+ return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);
7753
+ }
7754
+ function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {
7755
+ controller._queue.push({
7756
+ buffer: buffer,
7757
+ byteOffset: byteOffset,
7758
+ byteLength: byteLength
7759
+ });
7760
+ controller._queueTotalSize += byteLength;
7761
+ }
7762
+ function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {
7763
+ var elementSize = pullIntoDescriptor.elementSize;
7764
+ var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;
7765
+ var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);
7766
+ var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;
7767
+ var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;
7768
+ var totalBytesToCopyRemaining = maxBytesToCopy;
7769
+ var ready = false;
7770
+ if (maxAlignedBytes > currentAlignedBytes) {
7771
+ totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;
7772
+ ready = true;
7773
+ }
7774
+ var queue = controller._queue;
7775
+ while (totalBytesToCopyRemaining > 0) {
7776
+ var headOfQueue = queue.peek();
7777
+ var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);
7778
+ var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;
7779
+ ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);
7780
+ if (headOfQueue.byteLength === bytesToCopy) {
7781
+ queue.shift();
7782
+ } else {
7783
+ headOfQueue.byteOffset += bytesToCopy;
7784
+ headOfQueue.byteLength -= bytesToCopy;
7785
+ }
7786
+ controller._queueTotalSize -= bytesToCopy;
7787
+ ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);
7788
+ totalBytesToCopyRemaining -= bytesToCopy;
7789
+ }
7790
+ return ready;
7791
+ }
7792
+ function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {
7793
+ ReadableByteStreamControllerInvalidateBYOBRequest(controller);
7794
+ pullIntoDescriptor.bytesFilled += size;
7795
+ }
7796
+ function ReadableByteStreamControllerHandleQueueDrain(controller) {
7797
+ if (controller._queueTotalSize === 0 && controller._closeRequested === true) {
7798
+ ReadableByteStreamControllerClearAlgorithms(controller);
7799
+ ReadableStreamClose(controller._controlledReadableByteStream);
7800
+ } else {
7801
+ ReadableByteStreamControllerCallPullIfNeeded(controller);
7802
+ }
7803
+ }
7804
+ function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {
7805
+ if (controller._byobRequest === undefined) {
7806
+ return;
7807
+ }
7808
+ controller._byobRequest._associatedReadableByteStreamController = undefined;
7809
+ controller._byobRequest._view = undefined;
7810
+ controller._byobRequest = undefined;
7811
+ }
7812
+ function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {
7813
+ while (controller._pendingPullIntos.length > 0) {
7814
+ if (controller._queueTotalSize === 0) {
7815
+ return;
7816
+ }
7817
+ var pullIntoDescriptor = controller._pendingPullIntos.peek();
7818
+ if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {
7819
+ ReadableByteStreamControllerShiftPendingPullInto(controller);
7820
+ ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);
7821
+ }
7822
+ }
7823
+ }
7824
+ function ReadableByteStreamControllerPullInto(controller, view) {
7825
+ var stream = controller._controlledReadableByteStream;
7826
+ var elementSize = 1;
7827
+ if (view.constructor !== DataView) {
7828
+ elementSize = view.constructor.BYTES_PER_ELEMENT;
7829
+ }
7830
+ var ctor = view.constructor;
7831
+ var buffer = TransferArrayBuffer(view.buffer);
7832
+ var pullIntoDescriptor = {
7833
+ buffer: buffer,
7834
+ byteOffset: view.byteOffset,
7835
+ byteLength: view.byteLength,
7836
+ bytesFilled: 0,
7837
+ elementSize: elementSize,
7838
+ ctor: ctor,
7839
+ readerType: 'byob'
7840
+ };
7841
+ if (controller._pendingPullIntos.length > 0) {
7842
+ controller._pendingPullIntos.push(pullIntoDescriptor);
7843
+ return ReadableStreamAddReadIntoRequest(stream);
7844
+ }
7845
+ if (stream._state === 'closed') {
7846
+ var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);
7847
+ return promiseResolvedWith(ReadableStreamCreateReadResult(emptyView, true, stream._reader._forAuthorCode));
7848
+ }
7849
+ if (controller._queueTotalSize > 0) {
7850
+ if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {
7851
+ var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);
7852
+ ReadableByteStreamControllerHandleQueueDrain(controller);
7853
+ return promiseResolvedWith(ReadableStreamCreateReadResult(filledView, false, stream._reader._forAuthorCode));
7854
+ }
7855
+ if (controller._closeRequested === true) {
7856
+ var e = new TypeError('Insufficient bytes to fill elements in the given buffer');
7857
+ ReadableByteStreamControllerError(controller, e);
7858
+ return promiseRejectedWith(e);
7859
+ }
7860
+ }
7861
+ controller._pendingPullIntos.push(pullIntoDescriptor);
7862
+ var promise = ReadableStreamAddReadIntoRequest(stream);
7863
+ ReadableByteStreamControllerCallPullIfNeeded(controller);
7864
+ return promise;
7865
+ }
7866
+ function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {
7867
+ firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);
7868
+ var stream = controller._controlledReadableByteStream;
7869
+ if (ReadableStreamHasBYOBReader(stream) === true) {
7870
+ while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {
7871
+ var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);
7872
+ ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);
7873
+ }
7874
+ }
7875
+ }
7876
+ function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {
7877
+ if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {
7878
+ throw new RangeError('bytesWritten out of range');
7879
+ }
7880
+ ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);
7881
+ if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {
7882
+ return;
7883
+ }
7884
+ ReadableByteStreamControllerShiftPendingPullInto(controller);
7885
+ var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;
7886
+ if (remainderSize > 0) {
7887
+ var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;
7888
+ var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);
7889
+ ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);
7890
+ }
7891
+ pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);
7892
+ pullIntoDescriptor.bytesFilled -= remainderSize;
7893
+ ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);
7894
+ ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);
7895
+ }
7896
+ function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {
7897
+ var firstDescriptor = controller._pendingPullIntos.peek();
7898
+ var stream = controller._controlledReadableByteStream;
7899
+ if (stream._state === 'closed') {
7900
+ if (bytesWritten !== 0) {
7901
+ throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');
7902
+ }
7903
+ ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);
7904
+ } else {
7905
+ ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);
7906
+ }
7907
+ ReadableByteStreamControllerCallPullIfNeeded(controller);
7908
+ }
7909
+ function ReadableByteStreamControllerShiftPendingPullInto(controller) {
7910
+ var descriptor = controller._pendingPullIntos.shift();
7911
+ ReadableByteStreamControllerInvalidateBYOBRequest(controller);
7912
+ return descriptor;
7913
+ }
7914
+ function ReadableByteStreamControllerShouldCallPull(controller) {
7915
+ var stream = controller._controlledReadableByteStream;
7916
+ if (stream._state !== 'readable') {
7917
+ return false;
7918
+ }
7919
+ if (controller._closeRequested === true) {
7920
+ return false;
7921
+ }
7922
+ if (controller._started === false) {
7923
+ return false;
7924
+ }
7925
+ if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {
7926
+ return true;
7927
+ }
7928
+ if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {
7929
+ return true;
7930
+ }
7931
+ var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);
7932
+ if (desiredSize > 0) {
7933
+ return true;
7934
+ }
7935
+ return false;
7936
+ }
7937
+ function ReadableByteStreamControllerClearAlgorithms(controller) {
7938
+ controller._pullAlgorithm = undefined;
7939
+ controller._cancelAlgorithm = undefined;
7940
+ }
7941
+ function ReadableByteStreamControllerClose(controller) {
7942
+ var stream = controller._controlledReadableByteStream;
7943
+ if (controller._queueTotalSize > 0) {
7944
+ controller._closeRequested = true;
7945
+ return;
7946
+ }
7947
+ if (controller._pendingPullIntos.length > 0) {
7948
+ var firstPendingPullInto = controller._pendingPullIntos.peek();
7949
+ if (firstPendingPullInto.bytesFilled > 0) {
7950
+ var e = new TypeError('Insufficient bytes to fill elements in the given buffer');
7951
+ ReadableByteStreamControllerError(controller, e);
7952
+ throw e;
7953
+ }
7954
+ }
7955
+ ReadableByteStreamControllerClearAlgorithms(controller);
7956
+ ReadableStreamClose(stream);
7957
+ }
7958
+ function ReadableByteStreamControllerEnqueue(controller, chunk) {
7959
+ var stream = controller._controlledReadableByteStream;
7960
+ var buffer = chunk.buffer;
7961
+ var byteOffset = chunk.byteOffset;
7962
+ var byteLength = chunk.byteLength;
7963
+ var transferredBuffer = TransferArrayBuffer(buffer);
7964
+ if (ReadableStreamHasDefaultReader(stream) === true) {
7965
+ if (ReadableStreamGetNumReadRequests(stream) === 0) {
7966
+ ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
7967
+ } else {
7968
+ var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);
7969
+ ReadableStreamFulfillReadRequest(stream, transferredView, false);
7970
+ }
7971
+ } else if (ReadableStreamHasBYOBReader(stream) === true) {
7972
+ ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
7973
+ ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);
7974
+ } else {
7975
+ ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
7976
+ }
7977
+ ReadableByteStreamControllerCallPullIfNeeded(controller);
7978
+ }
7979
+ function ReadableByteStreamControllerError(controller, e) {
7980
+ var stream = controller._controlledReadableByteStream;
7981
+ if (stream._state !== 'readable') {
7982
+ return;
7983
+ }
7984
+ ReadableByteStreamControllerClearPendingPullIntos(controller);
7985
+ ResetQueue(controller);
7986
+ ReadableByteStreamControllerClearAlgorithms(controller);
7987
+ ReadableStreamError(stream, e);
7988
+ }
7989
+ function ReadableByteStreamControllerGetDesiredSize(controller) {
7990
+ var stream = controller._controlledReadableByteStream;
7991
+ var state = stream._state;
7992
+ if (state === 'errored') {
7993
+ return null;
7994
+ }
7995
+ if (state === 'closed') {
7996
+ return 0;
7997
+ }
7998
+ return controller._strategyHWM - controller._queueTotalSize;
7999
+ }
8000
+ function ReadableByteStreamControllerRespond(controller, bytesWritten) {
8001
+ bytesWritten = Number(bytesWritten);
8002
+ if (IsFiniteNonNegativeNumber(bytesWritten) === false) {
8003
+ throw new RangeError('bytesWritten must be a finite');
8004
+ }
8005
+ ReadableByteStreamControllerRespondInternal(controller, bytesWritten);
8006
+ }
8007
+ function ReadableByteStreamControllerRespondWithNewView(controller, view) {
8008
+ var firstDescriptor = controller._pendingPullIntos.peek();
8009
+ if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {
8010
+ throw new RangeError('The region specified by view does not match byobRequest');
8011
+ }
8012
+ if (firstDescriptor.byteLength !== view.byteLength) {
8013
+ throw new RangeError('The buffer of view has different capacity than byobRequest');
8014
+ }
8015
+ firstDescriptor.buffer = view.buffer;
8016
+ ReadableByteStreamControllerRespondInternal(controller, view.byteLength);
8017
+ }
8018
+ function SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {
8019
+ controller._controlledReadableByteStream = stream;
8020
+ controller._pullAgain = false;
8021
+ controller._pulling = false;
8022
+ controller._byobRequest = undefined;
8023
+ controller._queue = controller._queueTotalSize = undefined;
8024
+ ResetQueue(controller);
8025
+ controller._closeRequested = false;
8026
+ controller._started = false;
8027
+ controller._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);
8028
+ controller._pullAlgorithm = pullAlgorithm;
8029
+ controller._cancelAlgorithm = cancelAlgorithm;
8030
+ controller._autoAllocateChunkSize = autoAllocateChunkSize;
8031
+ controller._pendingPullIntos = new SimpleQueue();
8032
+ stream._readableStreamController = controller;
8033
+ var startResult = startAlgorithm();
8034
+ uponPromise(promiseResolvedWith(startResult), function () {
8035
+ controller._started = true;
8036
+ ReadableByteStreamControllerCallPullIfNeeded(controller);
8037
+ }, function (r) {
8038
+ ReadableByteStreamControllerError(controller, r);
8039
+ });
8040
+ }
8041
+ function SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {
8042
+ var controller = Object.create(ReadableByteStreamController.prototype);
8043
+ function startAlgorithm() {
8044
+ return InvokeOrNoop(underlyingByteSource, 'start', [controller]);
8045
+ }
8046
+ var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'pull', 0, [controller]);
8047
+ var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'cancel', 1, []);
8048
+ var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;
8049
+ if (autoAllocateChunkSize !== undefined) {
8050
+ autoAllocateChunkSize = Number(autoAllocateChunkSize);
8051
+ if (NumberIsInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {
8052
+ throw new RangeError('autoAllocateChunkSize must be a positive integer');
8053
+ }
8054
+ }
8055
+ SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);
8056
+ }
8057
+ function SetUpReadableStreamBYOBRequest(request, controller, view) {
8058
+ request._associatedReadableByteStreamController = controller;
8059
+ request._view = view;
8060
+ }
8061
+ function byobRequestBrandCheckException(name) {
8062
+ return new TypeError("ReadableStreamBYOBRequest.prototype." + name + " can only be used on a ReadableStreamBYOBRequest");
8063
+ }
8064
+ function byteStreamControllerBrandCheckException(name) {
8065
+ return new TypeError("ReadableByteStreamController.prototype." + name + " can only be used on a ReadableByteStreamController");
8066
+ }
8067
+ function AcquireReadableStreamBYOBReader(stream, forAuthorCode) {
8068
+ if (forAuthorCode === void 0) {
8069
+ forAuthorCode = false;
8070
+ }
8071
+ var reader = new ReadableStreamBYOBReader(stream);
8072
+ reader._forAuthorCode = forAuthorCode;
8073
+ return reader;
8074
+ }
8075
+ function ReadableStreamAddReadIntoRequest(stream) {
8076
+ var promise = newPromise(function (resolve, reject) {
8077
+ var readIntoRequest = {
8078
+ _resolve: resolve,
8079
+ _reject: reject
8080
+ };
8081
+ stream._reader._readIntoRequests.push(readIntoRequest);
8082
+ });
8083
+ return promise;
8084
+ }
8085
+ function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {
8086
+ var reader = stream._reader;
8087
+ var readIntoRequest = reader._readIntoRequests.shift();
8088
+ readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));
8089
+ }
8090
+ function ReadableStreamGetNumReadIntoRequests(stream) {
8091
+ return stream._reader._readIntoRequests.length;
8092
+ }
8093
+ function ReadableStreamHasBYOBReader(stream) {
8094
+ var reader = stream._reader;
8095
+ if (reader === undefined) {
8096
+ return false;
8097
+ }
8098
+ if (!IsReadableStreamBYOBReader(reader)) {
8099
+ return false;
8100
+ }
8101
+ return true;
8102
+ }
8103
+ var ReadableStreamBYOBReader = function () {
8104
+ function ReadableStreamBYOBReader(stream) {
8105
+ if (!IsReadableStream(stream)) {
8106
+ throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' + 'byte source');
8107
+ }
8108
+ if (IsReadableByteStreamController(stream._readableStreamController) === false) {
8109
+ throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');
8110
+ }
8111
+ if (IsReadableStreamLocked(stream)) {
8112
+ throw new TypeError('This stream has already been locked for exclusive reading by another reader');
8113
+ }
8114
+ ReadableStreamReaderGenericInitialize(this, stream);
8115
+ this._readIntoRequests = new SimpleQueue();
8116
+ }
8117
+ Object.defineProperty(ReadableStreamBYOBReader.prototype, "closed", {
8118
+ get: function () {
8119
+ if (!IsReadableStreamBYOBReader(this)) {
8120
+ return promiseRejectedWith(byobReaderBrandCheckException('closed'));
8121
+ }
8122
+ return this._closedPromise;
8123
+ },
8124
+ enumerable: true,
8125
+ configurable: true
8126
+ });
8127
+ ReadableStreamBYOBReader.prototype.cancel = function (reason) {
8128
+ if (!IsReadableStreamBYOBReader(this)) {
8129
+ return promiseRejectedWith(byobReaderBrandCheckException('cancel'));
8130
+ }
8131
+ if (this._ownerReadableStream === undefined) {
8132
+ return promiseRejectedWith(readerLockException('cancel'));
8133
+ }
8134
+ return ReadableStreamReaderGenericCancel(this, reason);
8135
+ };
8136
+ ReadableStreamBYOBReader.prototype.read = function (view) {
8137
+ if (!IsReadableStreamBYOBReader(this)) {
8138
+ return promiseRejectedWith(byobReaderBrandCheckException('read'));
8139
+ }
8140
+ if (this._ownerReadableStream === undefined) {
8141
+ return promiseRejectedWith(readerLockException('read from'));
8142
+ }
8143
+ if (!ArrayBuffer.isView(view)) {
8144
+ return promiseRejectedWith(new TypeError('view must be an array buffer view'));
8145
+ }
8146
+ if (IsDetachedBuffer(view.buffer) === true);
8147
+ if (view.byteLength === 0) {
8148
+ return promiseRejectedWith(new TypeError('view must have non-zero byteLength'));
8149
+ }
8150
+ return ReadableStreamBYOBReaderRead(this, view);
8151
+ };
8152
+ ReadableStreamBYOBReader.prototype.releaseLock = function () {
8153
+ if (!IsReadableStreamBYOBReader(this)) {
8154
+ throw byobReaderBrandCheckException('releaseLock');
8155
+ }
8156
+ if (this._ownerReadableStream === undefined) {
8157
+ return;
8158
+ }
8159
+ if (this._readIntoRequests.length > 0) {
8160
+ throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');
8161
+ }
8162
+ ReadableStreamReaderGenericRelease(this);
8163
+ };
8164
+ return ReadableStreamBYOBReader;
8165
+ }();
8166
+ function IsReadableStreamBYOBReader(x) {
8167
+ if (!typeIsObject(x)) {
8168
+ return false;
8169
+ }
8170
+ if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {
8171
+ return false;
8172
+ }
8173
+ return true;
8174
+ }
8175
+ function ReadableStreamBYOBReaderRead(reader, view) {
8176
+ var stream = reader._ownerReadableStream;
8177
+ stream._disturbed = true;
8178
+ if (stream._state === 'errored') {
8179
+ return promiseRejectedWith(stream._storedError);
8180
+ }
8181
+ return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);
8182
+ }
8183
+ function byobReaderBrandCheckException(name) {
8184
+ return new TypeError("ReadableStreamBYOBReader.prototype." + name + " can only be used on a ReadableStreamBYOBReader");
8185
+ }
8186
+ var ReadableStream = function () {
8187
+ function ReadableStream(underlyingSource, strategy) {
8188
+ if (underlyingSource === void 0) {
8189
+ underlyingSource = {};
8190
+ }
8191
+ if (strategy === void 0) {
8192
+ strategy = {};
8193
+ }
8194
+ InitializeReadableStream(this);
8195
+ var size = strategy.size;
8196
+ var highWaterMark = strategy.highWaterMark;
8197
+ var type = underlyingSource.type;
8198
+ var typeString = String(type);
8199
+ if (typeString === 'bytes') {
8200
+ if (size !== undefined) {
8201
+ throw new RangeError('The strategy for a byte stream cannot have a size function');
8202
+ }
8203
+ if (highWaterMark === undefined) {
8204
+ highWaterMark = 0;
8205
+ }
8206
+ highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);
8207
+ SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);
8208
+ } else if (type === undefined) {
8209
+ var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);
8210
+ if (highWaterMark === undefined) {
8211
+ highWaterMark = 1;
8212
+ }
8213
+ highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);
8214
+ SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);
8215
+ } else {
8216
+ throw new RangeError('Invalid type is specified');
8217
+ }
8218
+ }
8219
+ Object.defineProperty(ReadableStream.prototype, "locked", {
8220
+ get: function () {
8221
+ if (IsReadableStream(this) === false) {
8222
+ throw streamBrandCheckException$1('locked');
8223
+ }
8224
+ return IsReadableStreamLocked(this);
8225
+ },
8226
+ enumerable: true,
8227
+ configurable: true
8228
+ });
8229
+ ReadableStream.prototype.cancel = function (reason) {
8230
+ if (IsReadableStream(this) === false) {
8231
+ return promiseRejectedWith(streamBrandCheckException$1('cancel'));
8232
+ }
8233
+ if (IsReadableStreamLocked(this) === true) {
8234
+ return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));
8235
+ }
8236
+ return ReadableStreamCancel(this, reason);
8237
+ };
8238
+ ReadableStream.prototype.getReader = function (_a) {
8239
+ var mode = (_a === void 0 ? {} : _a).mode;
8240
+ if (IsReadableStream(this) === false) {
8241
+ throw streamBrandCheckException$1('getReader');
8242
+ }
8243
+ if (mode === undefined) {
8244
+ return AcquireReadableStreamDefaultReader(this, true);
8245
+ }
8246
+ mode = String(mode);
8247
+ if (mode === 'byob') {
8248
+ return AcquireReadableStreamBYOBReader(this, true);
8249
+ }
8250
+ throw new RangeError('Invalid mode is specified');
8251
+ };
8252
+ ReadableStream.prototype.pipeThrough = function (_a, _b) {
8253
+ var writable = _a.writable, readable = _a.readable;
8254
+ var _c = _b === void 0 ? {} : _b, preventClose = _c.preventClose, preventAbort = _c.preventAbort, preventCancel = _c.preventCancel, signal = _c.signal;
8255
+ if (IsReadableStream(this) === false) {
8256
+ throw streamBrandCheckException$1('pipeThrough');
8257
+ }
8258
+ if (IsWritableStream(writable) === false) {
8259
+ throw new TypeError('writable argument to pipeThrough must be a WritableStream');
8260
+ }
8261
+ if (IsReadableStream(readable) === false) {
8262
+ throw new TypeError('readable argument to pipeThrough must be a ReadableStream');
8263
+ }
8264
+ preventClose = Boolean(preventClose);
8265
+ preventAbort = Boolean(preventAbort);
8266
+ preventCancel = Boolean(preventCancel);
8267
+ if (signal !== undefined && !isAbortSignal(signal)) {
8268
+ throw new TypeError('ReadableStream.prototype.pipeThrough\'s signal option must be an AbortSignal');
8269
+ }
8270
+ if (IsReadableStreamLocked(this) === true) {
8271
+ throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');
8272
+ }
8273
+ if (IsWritableStreamLocked(writable) === true) {
8274
+ throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');
8275
+ }
8276
+ var promise = ReadableStreamPipeTo(this, writable, preventClose, preventAbort, preventCancel, signal);
8277
+ setPromiseIsHandledToTrue(promise);
8278
+ return readable;
8279
+ };
8280
+ ReadableStream.prototype.pipeTo = function (dest, _a) {
8281
+ var _b = _a === void 0 ? {} : _a, preventClose = _b.preventClose, preventAbort = _b.preventAbort, preventCancel = _b.preventCancel, signal = _b.signal;
8282
+ if (IsReadableStream(this) === false) {
8283
+ return promiseRejectedWith(streamBrandCheckException$1('pipeTo'));
8284
+ }
8285
+ if (IsWritableStream(dest) === false) {
8286
+ return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\'s first argument must be a WritableStream'));
8287
+ }
8288
+ preventClose = Boolean(preventClose);
8289
+ preventAbort = Boolean(preventAbort);
8290
+ preventCancel = Boolean(preventCancel);
8291
+ if (signal !== undefined && !isAbortSignal(signal)) {
8292
+ return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\'s signal option must be an AbortSignal'));
8293
+ }
8294
+ if (IsReadableStreamLocked(this) === true) {
8295
+ return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));
8296
+ }
8297
+ if (IsWritableStreamLocked(dest) === true) {
8298
+ return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));
8299
+ }
8300
+ return ReadableStreamPipeTo(this, dest, preventClose, preventAbort, preventCancel, signal);
8301
+ };
8302
+ ReadableStream.prototype.tee = function () {
8303
+ if (IsReadableStream(this) === false) {
8304
+ throw streamBrandCheckException$1('tee');
8305
+ }
8306
+ var branches = ReadableStreamTee(this);
8307
+ return createArrayFromList(branches);
8308
+ };
8309
+ ReadableStream.prototype.getIterator = function (_a) {
8310
+ var _b = (_a === void 0 ? {} : _a).preventCancel, preventCancel = _b === void 0 ? false : _b;
8311
+ if (IsReadableStream(this) === false) {
8312
+ throw streamBrandCheckException$1('getIterator');
8313
+ }
8314
+ return AcquireReadableStreamAsyncIterator(this, preventCancel);
8315
+ };
8316
+ return ReadableStream;
8317
+ }();
8318
+ if (typeof SymbolPolyfill.asyncIterator === 'symbol') {
8319
+ Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {
8320
+ value: ReadableStream.prototype.getIterator,
8321
+ enumerable: false,
8322
+ writable: true,
8323
+ configurable: true
8324
+ });
8325
+ }
8326
+ function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {
8327
+ if (highWaterMark === void 0) {
8328
+ highWaterMark = 1;
8329
+ }
8330
+ if (sizeAlgorithm === void 0) {
8331
+ sizeAlgorithm = function () {
8332
+ return 1;
8333
+ };
8334
+ }
8335
+ var stream = Object.create(ReadableStream.prototype);
8336
+ InitializeReadableStream(stream);
8337
+ var controller = Object.create(ReadableStreamDefaultController.prototype);
8338
+ SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);
8339
+ return stream;
8340
+ }
8341
+ function InitializeReadableStream(stream) {
8342
+ stream._state = 'readable';
8343
+ stream._reader = undefined;
8344
+ stream._storedError = undefined;
8345
+ stream._disturbed = false;
8346
+ }
8347
+ function IsReadableStream(x) {
8348
+ if (!typeIsObject(x)) {
8349
+ return false;
8350
+ }
8351
+ if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {
8352
+ return false;
8353
+ }
8354
+ return true;
8355
+ }
8356
+ function IsReadableStreamLocked(stream) {
8357
+ if (stream._reader === undefined) {
8358
+ return false;
8359
+ }
8360
+ return true;
8361
+ }
8362
+ function ReadableStreamCancel(stream, reason) {
8363
+ stream._disturbed = true;
8364
+ if (stream._state === 'closed') {
8365
+ return promiseResolvedWith(undefined);
8366
+ }
8367
+ if (stream._state === 'errored') {
8368
+ return promiseRejectedWith(stream._storedError);
8369
+ }
8370
+ ReadableStreamClose(stream);
8371
+ var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);
8372
+ return transformPromiseWith(sourceCancelPromise, noop);
8373
+ }
8374
+ function ReadableStreamClose(stream) {
8375
+ stream._state = 'closed';
8376
+ var reader = stream._reader;
8377
+ if (reader === undefined) {
8378
+ return;
8379
+ }
8380
+ if (IsReadableStreamDefaultReader(reader)) {
8381
+ reader._readRequests.forEach(function (readRequest) {
8382
+ readRequest._resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));
8383
+ });
8384
+ reader._readRequests = new SimpleQueue();
8385
+ }
8386
+ defaultReaderClosedPromiseResolve(reader);
8387
+ }
8388
+ function ReadableStreamError(stream, e) {
8389
+ stream._state = 'errored';
8390
+ stream._storedError = e;
8391
+ var reader = stream._reader;
8392
+ if (reader === undefined) {
8393
+ return;
8394
+ }
8395
+ if (IsReadableStreamDefaultReader(reader)) {
8396
+ reader._readRequests.forEach(function (readRequest) {
8397
+ readRequest._reject(e);
8398
+ });
8399
+ reader._readRequests = new SimpleQueue();
8400
+ } else {
8401
+ reader._readIntoRequests.forEach(function (readIntoRequest) {
8402
+ readIntoRequest._reject(e);
8403
+ });
8404
+ reader._readIntoRequests = new SimpleQueue();
8405
+ }
8406
+ defaultReaderClosedPromiseReject(reader, e);
8407
+ }
8408
+ function streamBrandCheckException$1(name) {
8409
+ return new TypeError("ReadableStream.prototype." + name + " can only be used on a ReadableStream");
8410
+ }
8411
+ var ByteLengthQueuingStrategy = function () {
8412
+ function ByteLengthQueuingStrategy(_a) {
8413
+ var highWaterMark = _a.highWaterMark;
8414
+ this.highWaterMark = highWaterMark;
8415
+ }
8416
+ ByteLengthQueuingStrategy.prototype.size = function (chunk) {
8417
+ return chunk.byteLength;
8418
+ };
8419
+ return ByteLengthQueuingStrategy;
8420
+ }();
8421
+ var CountQueuingStrategy = function () {
8422
+ function CountQueuingStrategy(_a) {
8423
+ var highWaterMark = _a.highWaterMark;
8424
+ this.highWaterMark = highWaterMark;
8425
+ }
8426
+ CountQueuingStrategy.prototype.size = function () {
8427
+ return 1;
8428
+ };
8429
+ return CountQueuingStrategy;
8430
+ }();
8431
+ var TransformStream = function () {
8432
+ function TransformStream(transformer, writableStrategy, readableStrategy) {
8433
+ if (transformer === void 0) {
8434
+ transformer = {};
8435
+ }
8436
+ if (writableStrategy === void 0) {
8437
+ writableStrategy = {};
8438
+ }
8439
+ if (readableStrategy === void 0) {
8440
+ readableStrategy = {};
8441
+ }
8442
+ var writableSizeFunction = writableStrategy.size;
8443
+ var writableHighWaterMark = writableStrategy.highWaterMark;
8444
+ var readableSizeFunction = readableStrategy.size;
8445
+ var readableHighWaterMark = readableStrategy.highWaterMark;
8446
+ var writableType = transformer.writableType;
8447
+ if (writableType !== undefined) {
8448
+ throw new RangeError('Invalid writable type specified');
8449
+ }
8450
+ var writableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(writableSizeFunction);
8451
+ if (writableHighWaterMark === undefined) {
8452
+ writableHighWaterMark = 1;
8453
+ }
8454
+ writableHighWaterMark = ValidateAndNormalizeHighWaterMark(writableHighWaterMark);
8455
+ var readableType = transformer.readableType;
8456
+ if (readableType !== undefined) {
8457
+ throw new RangeError('Invalid readable type specified');
8458
+ }
8459
+ var readableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(readableSizeFunction);
8460
+ if (readableHighWaterMark === undefined) {
8461
+ readableHighWaterMark = 0;
8462
+ }
8463
+ readableHighWaterMark = ValidateAndNormalizeHighWaterMark(readableHighWaterMark);
8464
+ var startPromise_resolve;
8465
+ var startPromise = newPromise(function (resolve) {
8466
+ startPromise_resolve = resolve;
8467
+ });
8468
+ InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);
8469
+ SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);
8470
+ var startResult = InvokeOrNoop(transformer, 'start', [this._transformStreamController]);
8471
+ startPromise_resolve(startResult);
8472
+ }
8473
+ Object.defineProperty(TransformStream.prototype, "readable", {
8474
+ get: function () {
8475
+ if (IsTransformStream(this) === false) {
8476
+ throw streamBrandCheckException$2('readable');
8477
+ }
8478
+ return this._readable;
8479
+ },
8480
+ enumerable: true,
8481
+ configurable: true
8482
+ });
8483
+ Object.defineProperty(TransformStream.prototype, "writable", {
8484
+ get: function () {
8485
+ if (IsTransformStream(this) === false) {
8486
+ throw streamBrandCheckException$2('writable');
8487
+ }
8488
+ return this._writable;
8489
+ },
8490
+ enumerable: true,
8491
+ configurable: true
8492
+ });
8493
+ return TransformStream;
8494
+ }();
8495
+ function InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {
8496
+ function startAlgorithm() {
8497
+ return startPromise;
8498
+ }
8499
+ function writeAlgorithm(chunk) {
8500
+ return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);
8501
+ }
8502
+ function abortAlgorithm(reason) {
8503
+ return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);
8504
+ }
8505
+ function closeAlgorithm() {
8506
+ return TransformStreamDefaultSinkCloseAlgorithm(stream);
8507
+ }
8508
+ stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);
8509
+ function pullAlgorithm() {
8510
+ return TransformStreamDefaultSourcePullAlgorithm(stream);
8511
+ }
8512
+ function cancelAlgorithm(reason) {
8513
+ TransformStreamErrorWritableAndUnblockWrite(stream, reason);
8514
+ return promiseResolvedWith(undefined);
8515
+ }
8516
+ stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);
8517
+ stream._backpressure = undefined;
8518
+ stream._backpressureChangePromise = undefined;
8519
+ stream._backpressureChangePromise_resolve = undefined;
8520
+ TransformStreamSetBackpressure(stream, true);
8521
+ stream._transformStreamController = undefined;
8522
+ }
8523
+ function IsTransformStream(x) {
8524
+ if (!typeIsObject(x)) {
8525
+ return false;
8526
+ }
8527
+ if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {
8528
+ return false;
8529
+ }
8530
+ return true;
8531
+ }
8532
+ function TransformStreamError(stream, e) {
8533
+ ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);
8534
+ TransformStreamErrorWritableAndUnblockWrite(stream, e);
8535
+ }
8536
+ function TransformStreamErrorWritableAndUnblockWrite(stream, e) {
8537
+ TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);
8538
+ WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);
8539
+ if (stream._backpressure === true) {
8540
+ TransformStreamSetBackpressure(stream, false);
8541
+ }
8542
+ }
8543
+ function TransformStreamSetBackpressure(stream, backpressure) {
8544
+ if (stream._backpressureChangePromise !== undefined) {
8545
+ stream._backpressureChangePromise_resolve();
8546
+ }
8547
+ stream._backpressureChangePromise = newPromise(function (resolve) {
8548
+ stream._backpressureChangePromise_resolve = resolve;
8549
+ });
8550
+ stream._backpressure = backpressure;
8551
+ }
8552
+ var TransformStreamDefaultController = function () {
8553
+ function TransformStreamDefaultController() {
8554
+ throw new TypeError('TransformStreamDefaultController instances cannot be created directly');
8555
+ }
8556
+ Object.defineProperty(TransformStreamDefaultController.prototype, "desiredSize", {
8557
+ get: function () {
8558
+ if (IsTransformStreamDefaultController(this) === false) {
8559
+ throw defaultControllerBrandCheckException$1('desiredSize');
8560
+ }
8561
+ var readableController = this._controlledTransformStream._readable._readableStreamController;
8562
+ return ReadableStreamDefaultControllerGetDesiredSize(readableController);
8563
+ },
8564
+ enumerable: true,
8565
+ configurable: true
8566
+ });
8567
+ TransformStreamDefaultController.prototype.enqueue = function (chunk) {
8568
+ if (IsTransformStreamDefaultController(this) === false) {
8569
+ throw defaultControllerBrandCheckException$1('enqueue');
8570
+ }
8571
+ TransformStreamDefaultControllerEnqueue(this, chunk);
8572
+ };
8573
+ TransformStreamDefaultController.prototype.error = function (reason) {
8574
+ if (IsTransformStreamDefaultController(this) === false) {
8575
+ throw defaultControllerBrandCheckException$1('error');
8576
+ }
8577
+ TransformStreamDefaultControllerError(this, reason);
8578
+ };
8579
+ TransformStreamDefaultController.prototype.terminate = function () {
8580
+ if (IsTransformStreamDefaultController(this) === false) {
8581
+ throw defaultControllerBrandCheckException$1('terminate');
8582
+ }
8583
+ TransformStreamDefaultControllerTerminate(this);
8584
+ };
8585
+ return TransformStreamDefaultController;
8586
+ }();
8587
+ function IsTransformStreamDefaultController(x) {
8588
+ if (!typeIsObject(x)) {
8589
+ return false;
8590
+ }
8591
+ if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {
8592
+ return false;
8593
+ }
8594
+ return true;
8595
+ }
8596
+ function SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {
8597
+ controller._controlledTransformStream = stream;
8598
+ stream._transformStreamController = controller;
8599
+ controller._transformAlgorithm = transformAlgorithm;
8600
+ controller._flushAlgorithm = flushAlgorithm;
8601
+ }
8602
+ function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {
8603
+ var controller = Object.create(TransformStreamDefaultController.prototype);
8604
+ var transformAlgorithm = function (chunk) {
8605
+ try {
8606
+ TransformStreamDefaultControllerEnqueue(controller, chunk);
8607
+ return promiseResolvedWith(undefined);
8608
+ } catch (transformResultE) {
8609
+ return promiseRejectedWith(transformResultE);
8610
+ }
8611
+ };
8612
+ var transformMethod = transformer.transform;
8613
+ if (transformMethod !== undefined) {
8614
+ if (typeof transformMethod !== 'function') {
8615
+ throw new TypeError('transform is not a method');
8616
+ }
8617
+ transformAlgorithm = function (chunk) {
8618
+ return PromiseCall(transformMethod, transformer, [
8619
+ chunk,
8620
+ controller
8621
+ ]);
8622
+ };
8623
+ }
8624
+ var flushAlgorithm = CreateAlgorithmFromUnderlyingMethod(transformer, 'flush', 0, [controller]);
8625
+ SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);
8626
+ }
8627
+ function TransformStreamDefaultControllerClearAlgorithms(controller) {
8628
+ controller._transformAlgorithm = undefined;
8629
+ controller._flushAlgorithm = undefined;
8630
+ }
8631
+ function TransformStreamDefaultControllerEnqueue(controller, chunk) {
8632
+ var stream = controller._controlledTransformStream;
8633
+ var readableController = stream._readable._readableStreamController;
8634
+ if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === false) {
8635
+ throw new TypeError('Readable side is not in a state that permits enqueue');
8636
+ }
8637
+ try {
8638
+ ReadableStreamDefaultControllerEnqueue(readableController, chunk);
8639
+ } catch (e) {
8640
+ TransformStreamErrorWritableAndUnblockWrite(stream, e);
8641
+ throw stream._readable._storedError;
8642
+ }
8643
+ var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);
8644
+ if (backpressure !== stream._backpressure) {
8645
+ TransformStreamSetBackpressure(stream, true);
8646
+ }
8647
+ }
8648
+ function TransformStreamDefaultControllerError(controller, e) {
8649
+ TransformStreamError(controller._controlledTransformStream, e);
8650
+ }
8651
+ function TransformStreamDefaultControllerPerformTransform(controller, chunk) {
8652
+ var transformPromise = controller._transformAlgorithm(chunk);
8653
+ return transformPromiseWith(transformPromise, undefined, function (r) {
8654
+ TransformStreamError(controller._controlledTransformStream, r);
8655
+ throw r;
8656
+ });
8657
+ }
8658
+ function TransformStreamDefaultControllerTerminate(controller) {
8659
+ var stream = controller._controlledTransformStream;
8660
+ var readableController = stream._readable._readableStreamController;
8661
+ if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {
8662
+ ReadableStreamDefaultControllerClose(readableController);
8663
+ }
8664
+ var error = new TypeError('TransformStream terminated');
8665
+ TransformStreamErrorWritableAndUnblockWrite(stream, error);
8666
+ }
8667
+ function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {
8668
+ var controller = stream._transformStreamController;
8669
+ if (stream._backpressure === true) {
8670
+ var backpressureChangePromise = stream._backpressureChangePromise;
8671
+ return transformPromiseWith(backpressureChangePromise, function () {
8672
+ var writable = stream._writable;
8673
+ var state = writable._state;
8674
+ if (state === 'erroring') {
8675
+ throw writable._storedError;
8676
+ }
8677
+ return TransformStreamDefaultControllerPerformTransform(controller, chunk);
8678
+ });
8679
+ }
8680
+ return TransformStreamDefaultControllerPerformTransform(controller, chunk);
8681
+ }
8682
+ function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {
8683
+ TransformStreamError(stream, reason);
8684
+ return promiseResolvedWith(undefined);
8685
+ }
8686
+ function TransformStreamDefaultSinkCloseAlgorithm(stream) {
8687
+ var readable = stream._readable;
8688
+ var controller = stream._transformStreamController;
8689
+ var flushPromise = controller._flushAlgorithm();
8690
+ TransformStreamDefaultControllerClearAlgorithms(controller);
8691
+ return transformPromiseWith(flushPromise, function () {
8692
+ if (readable._state === 'errored') {
8693
+ throw readable._storedError;
8694
+ }
8695
+ var readableController = readable._readableStreamController;
8696
+ if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {
8697
+ ReadableStreamDefaultControllerClose(readableController);
8698
+ }
8699
+ }, function (r) {
8700
+ TransformStreamError(stream, r);
8701
+ throw readable._storedError;
8702
+ });
8703
+ }
8704
+ function TransformStreamDefaultSourcePullAlgorithm(stream) {
8705
+ TransformStreamSetBackpressure(stream, false);
8706
+ return stream._backpressureChangePromise;
8707
+ }
8708
+ function defaultControllerBrandCheckException$1(name) {
8709
+ return new TypeError("TransformStreamDefaultController.prototype." + name + " can only be used on a TransformStreamDefaultController");
8710
+ }
8711
+ function streamBrandCheckException$2(name) {
8712
+ return new TypeError("TransformStream.prototype." + name + " can only be used on a TransformStream");
8713
+ }
8714
+ exports.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy;
8715
+ exports.CountQueuingStrategy = CountQueuingStrategy;
8716
+ exports.ReadableStream = ReadableStream;
8717
+ exports.TransformStream = TransformStream;
8718
+ exports.WritableStream = WritableStream;
8719
+ Object.defineProperty(exports, '__esModule', { value: true });
8720
+ }));
8721
+
8722
+ /***/ }),
8723
+ /* 136 */
8724
+ /***/ (function(module, exports, __w_pdfjs_require__) {
8725
+
8726
+ __w_pdfjs_require__(105);
8727
+ __w_pdfjs_require__(137);
8728
+ __w_pdfjs_require__(107);
8729
+ var path = __w_pdfjs_require__(38);
8730
+ module.exports = path.WeakMap;
8731
+
8732
+ /***/ }),
8733
+ /* 137 */
8734
+ /***/ (function(module, exports, __w_pdfjs_require__) {
8735
+
8736
+ "use strict";
8737
+
8738
+ var global = __w_pdfjs_require__(6);
8739
+ var redefineAll = __w_pdfjs_require__(112);
8740
+ var InternalMetadataModule = __w_pdfjs_require__(138);
8741
+ var collection = __w_pdfjs_require__(140);
8742
+ var collectionWeak = __w_pdfjs_require__(142);
8743
+ var isObject = __w_pdfjs_require__(17);
8744
+ var enforceIternalState = __w_pdfjs_require__(28).enforce;
8745
+ var NATIVE_WEAK_MAP = __w_pdfjs_require__(29);
8746
+ var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;
8747
+ var isExtensible = Object.isExtensible;
8748
+ var InternalWeakMap;
8749
+ var wrapper = function (init) {
8750
+ return function WeakMap() {
8751
+ return init(this, arguments.length ? arguments[0] : undefined);
8752
+ };
8753
+ };
8754
+ var $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);
8755
+ if (NATIVE_WEAK_MAP && IS_IE11) {
8756
+ InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);
8757
+ InternalMetadataModule.REQUIRED = true;
8758
+ var WeakMapPrototype = $WeakMap.prototype;
8759
+ var nativeDelete = WeakMapPrototype['delete'];
8760
+ var nativeHas = WeakMapPrototype.has;
8761
+ var nativeGet = WeakMapPrototype.get;
8762
+ var nativeSet = WeakMapPrototype.set;
8763
+ redefineAll(WeakMapPrototype, {
8764
+ 'delete': function (key) {
8765
+ if (isObject(key) && !isExtensible(key)) {
8766
+ var state = enforceIternalState(this);
8767
+ if (!state.frozen)
8768
+ state.frozen = new InternalWeakMap();
8769
+ return nativeDelete.call(this, key) || state.frozen['delete'](key);
8770
+ }
8771
+ return nativeDelete.call(this, key);
8772
+ },
8773
+ has: function has(key) {
8774
+ if (isObject(key) && !isExtensible(key)) {
8775
+ var state = enforceIternalState(this);
8776
+ if (!state.frozen)
8777
+ state.frozen = new InternalWeakMap();
8778
+ return nativeHas.call(this, key) || state.frozen.has(key);
8779
+ }
8780
+ return nativeHas.call(this, key);
8781
+ },
8782
+ get: function get(key) {
8783
+ if (isObject(key) && !isExtensible(key)) {
8784
+ var state = enforceIternalState(this);
8785
+ if (!state.frozen)
8786
+ state.frozen = new InternalWeakMap();
8787
+ return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);
8788
+ }
8789
+ return nativeGet.call(this, key);
8790
+ },
8791
+ set: function set(key, value) {
8792
+ if (isObject(key) && !isExtensible(key)) {
8793
+ var state = enforceIternalState(this);
8794
+ if (!state.frozen)
8795
+ state.frozen = new InternalWeakMap();
8796
+ nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);
8797
+ } else
8798
+ nativeSet.call(this, key, value);
8799
+ return this;
8800
+ }
8801
+ });
8802
+ }
8803
+
8804
+ /***/ }),
8805
+ /* 138 */
8806
+ /***/ (function(module, exports, __w_pdfjs_require__) {
8807
+
8808
+ var hiddenKeys = __w_pdfjs_require__(34);
8809
+ var isObject = __w_pdfjs_require__(17);
8810
+ var has = __w_pdfjs_require__(18);
8811
+ var defineProperty = __w_pdfjs_require__(22).f;
8812
+ var uid = __w_pdfjs_require__(33);
8813
+ var FREEZING = __w_pdfjs_require__(139);
8814
+ var METADATA = uid('meta');
8815
+ var id = 0;
8816
+ var isExtensible = Object.isExtensible || function () {
8817
+ return true;
8818
+ };
8819
+ var setMetadata = function (it) {
8820
+ defineProperty(it, METADATA, {
8821
+ value: {
8822
+ objectID: 'O' + ++id,
8823
+ weakData: {}
8824
+ }
8825
+ });
8826
+ };
8827
+ var fastKey = function (it, create) {
8828
+ if (!isObject(it))
8829
+ return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
8830
+ if (!has(it, METADATA)) {
8831
+ if (!isExtensible(it))
8832
+ return 'F';
8833
+ if (!create)
8834
+ return 'E';
8835
+ setMetadata(it);
8836
+ }
8837
+ return it[METADATA].objectID;
8838
+ };
8839
+ var getWeakData = function (it, create) {
8840
+ if (!has(it, METADATA)) {
8841
+ if (!isExtensible(it))
8842
+ return true;
8843
+ if (!create)
8844
+ return false;
8845
+ setMetadata(it);
8846
+ }
8847
+ return it[METADATA].weakData;
8848
+ };
8849
+ var onFreeze = function (it) {
8850
+ if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA))
8851
+ setMetadata(it);
8852
+ return it;
8853
+ };
8854
+ var meta = module.exports = {
8855
+ REQUIRED: false,
8856
+ fastKey: fastKey,
8857
+ getWeakData: getWeakData,
8858
+ onFreeze: onFreeze
8859
+ };
8860
+ hiddenKeys[METADATA] = true;
8861
+
8862
+ /***/ }),
8863
+ /* 139 */
8864
+ /***/ (function(module, exports, __w_pdfjs_require__) {
8865
+
8866
+ var fails = __w_pdfjs_require__(9);
8867
+ module.exports = !fails(function () {
8868
+ return Object.isExtensible(Object.preventExtensions({}));
8869
+ });
8870
+
8871
+ /***/ }),
8872
+ /* 140 */
8873
+ /***/ (function(module, exports, __w_pdfjs_require__) {
8874
+
8875
+ "use strict";
8876
+
8877
+ var $ = __w_pdfjs_require__(5);
8878
+ var global = __w_pdfjs_require__(6);
8879
+ var isForced = __w_pdfjs_require__(47);
8880
+ var redefine = __w_pdfjs_require__(24);
8881
+ var InternalMetadataModule = __w_pdfjs_require__(138);
8882
+ var iterate = __w_pdfjs_require__(115);
8883
+ var anInstance = __w_pdfjs_require__(114);
8884
+ var isObject = __w_pdfjs_require__(17);
8885
+ var fails = __w_pdfjs_require__(9);
8886
+ var checkCorrectnessOfIteration = __w_pdfjs_require__(93);
8887
+ var setToStringTag = __w_pdfjs_require__(81);
8888
+ var inheritIfRequired = __w_pdfjs_require__(141);
8889
+ module.exports = function (CONSTRUCTOR_NAME, wrapper, common) {
8890
+ var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;
8891
+ var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;
8892
+ var ADDER = IS_MAP ? 'set' : 'add';
8893
+ var NativeConstructor = global[CONSTRUCTOR_NAME];
8894
+ var NativePrototype = NativeConstructor && NativeConstructor.prototype;
8895
+ var Constructor = NativeConstructor;
8896
+ var exported = {};
8897
+ var fixMethod = function (KEY) {
8898
+ var nativeMethod = NativePrototype[KEY];
8899
+ redefine(NativePrototype, KEY, KEY == 'add' ? function add(value) {
8900
+ nativeMethod.call(this, value === 0 ? 0 : value);
8901
+ return this;
8902
+ } : KEY == 'delete' ? function (key) {
8903
+ return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
8904
+ } : KEY == 'get' ? function get(key) {
8905
+ return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);
8906
+ } : KEY == 'has' ? function has(key) {
8907
+ return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
8908
+ } : function set(key, value) {
8909
+ nativeMethod.call(this, key === 0 ? 0 : key, value);
8910
+ return this;
8911
+ });
8912
+ };
8913
+ if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {
8914
+ new NativeConstructor().entries().next();
8915
+ })))) {
8916
+ Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);
8917
+ InternalMetadataModule.REQUIRED = true;
8918
+ } else if (isForced(CONSTRUCTOR_NAME, true)) {
8919
+ var instance = new Constructor();
8920
+ var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;
8921
+ var THROWS_ON_PRIMITIVES = fails(function () {
8922
+ instance.has(1);
8923
+ });
8924
+ var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) {
8925
+ new NativeConstructor(iterable);
8926
+ });
8927
+ var BUGGY_ZERO = !IS_WEAK && fails(function () {
8928
+ var $instance = new NativeConstructor();
8929
+ var index = 5;
8930
+ while (index--)
8931
+ $instance[ADDER](index, index);
8932
+ return !$instance.has(-0);
8933
+ });
8934
+ if (!ACCEPT_ITERABLES) {
8935
+ Constructor = wrapper(function (dummy, iterable) {
8936
+ anInstance(dummy, Constructor, CONSTRUCTOR_NAME);
8937
+ var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);
8938
+ if (iterable != undefined)
8939
+ iterate(iterable, that[ADDER], that, IS_MAP);
8940
+ return that;
8941
+ });
8942
+ Constructor.prototype = NativePrototype;
8943
+ NativePrototype.constructor = Constructor;
8944
+ }
8945
+ if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
8946
+ fixMethod('delete');
8947
+ fixMethod('has');
8948
+ IS_MAP && fixMethod('get');
8949
+ }
8950
+ if (BUGGY_ZERO || HASNT_CHAINING)
8951
+ fixMethod(ADDER);
8952
+ if (IS_WEAK && NativePrototype.clear)
8953
+ delete NativePrototype.clear;
8954
+ }
8955
+ exported[CONSTRUCTOR_NAME] = Constructor;
8956
+ $({
8957
+ global: true,
8958
+ forced: Constructor != NativeConstructor
8959
+ }, exported);
8960
+ setToStringTag(Constructor, CONSTRUCTOR_NAME);
8961
+ if (!IS_WEAK)
8962
+ common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);
8963
+ return Constructor;
8964
+ };
8965
+
8966
+ /***/ }),
8967
+ /* 141 */
8968
+ /***/ (function(module, exports, __w_pdfjs_require__) {
8969
+
8970
+ var isObject = __w_pdfjs_require__(17);
8971
+ var setPrototypeOf = __w_pdfjs_require__(83);
8972
+ module.exports = function ($this, dummy, Wrapper) {
8973
+ var NewTarget, NewTargetPrototype;
8974
+ if (setPrototypeOf && typeof (NewTarget = dummy.constructor) == 'function' && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype)
8975
+ setPrototypeOf($this, NewTargetPrototype);
8976
+ return $this;
8977
+ };
8978
+
8979
+ /***/ }),
8980
+ /* 142 */
8981
+ /***/ (function(module, exports, __w_pdfjs_require__) {
8982
+
8983
+ "use strict";
8984
+
8985
+ var redefineAll = __w_pdfjs_require__(112);
8986
+ var getWeakData = __w_pdfjs_require__(138).getWeakData;
8987
+ var anObject = __w_pdfjs_require__(23);
8988
+ var isObject = __w_pdfjs_require__(17);
8989
+ var anInstance = __w_pdfjs_require__(114);
8990
+ var iterate = __w_pdfjs_require__(115);
8991
+ var ArrayIterationModule = __w_pdfjs_require__(143);
8992
+ var $has = __w_pdfjs_require__(18);
8993
+ var InternalStateModule = __w_pdfjs_require__(28);
8994
+ var setInternalState = InternalStateModule.set;
8995
+ var internalStateGetterFor = InternalStateModule.getterFor;
8996
+ var find = ArrayIterationModule.find;
8997
+ var findIndex = ArrayIterationModule.findIndex;
8998
+ var id = 0;
8999
+ var uncaughtFrozenStore = function (store) {
9000
+ return store.frozen || (store.frozen = new UncaughtFrozenStore());
9001
+ };
9002
+ var UncaughtFrozenStore = function () {
9003
+ this.entries = [];
9004
+ };
9005
+ var findUncaughtFrozen = function (store, key) {
9006
+ return find(store.entries, function (it) {
9007
+ return it[0] === key;
9008
+ });
9009
+ };
9010
+ UncaughtFrozenStore.prototype = {
9011
+ get: function (key) {
9012
+ var entry = findUncaughtFrozen(this, key);
9013
+ if (entry)
9014
+ return entry[1];
9015
+ },
9016
+ has: function (key) {
9017
+ return !!findUncaughtFrozen(this, key);
9018
+ },
9019
+ set: function (key, value) {
9020
+ var entry = findUncaughtFrozen(this, key);
9021
+ if (entry)
9022
+ entry[1] = value;
9023
+ else
9024
+ this.entries.push([
9025
+ key,
9026
+ value
9027
+ ]);
9028
+ },
9029
+ 'delete': function (key) {
9030
+ var index = findIndex(this.entries, function (it) {
9031
+ return it[0] === key;
9032
+ });
9033
+ if (~index)
9034
+ this.entries.splice(index, 1);
9035
+ return !!~index;
9036
+ }
9037
+ };
9038
+ module.exports = {
9039
+ getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
9040
+ var C = wrapper(function (that, iterable) {
9041
+ anInstance(that, C, CONSTRUCTOR_NAME);
9042
+ setInternalState(that, {
9043
+ type: CONSTRUCTOR_NAME,
9044
+ id: id++,
9045
+ frozen: undefined
9046
+ });
9047
+ if (iterable != undefined)
9048
+ iterate(iterable, that[ADDER], that, IS_MAP);
9049
+ });
9050
+ var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
9051
+ var define = function (that, key, value) {
9052
+ var state = getInternalState(that);
9053
+ var data = getWeakData(anObject(key), true);
9054
+ if (data === true)
9055
+ uncaughtFrozenStore(state).set(key, value);
9056
+ else
9057
+ data[state.id] = value;
9058
+ return that;
9059
+ };
9060
+ redefineAll(C.prototype, {
9061
+ 'delete': function (key) {
9062
+ var state = getInternalState(this);
9063
+ if (!isObject(key))
9064
+ return false;
9065
+ var data = getWeakData(key);
9066
+ if (data === true)
9067
+ return uncaughtFrozenStore(state)['delete'](key);
9068
+ return data && $has(data, state.id) && delete data[state.id];
9069
+ },
9070
+ has: function has(key) {
9071
+ var state = getInternalState(this);
9072
+ if (!isObject(key))
9073
+ return false;
9074
+ var data = getWeakData(key);
9075
+ if (data === true)
9076
+ return uncaughtFrozenStore(state).has(key);
9077
+ return data && $has(data, state.id);
9078
+ }
9079
+ });
9080
+ redefineAll(C.prototype, IS_MAP ? {
9081
+ get: function get(key) {
9082
+ var state = getInternalState(this);
9083
+ if (isObject(key)) {
9084
+ var data = getWeakData(key);
9085
+ if (data === true)
9086
+ return uncaughtFrozenStore(state).get(key);
9087
+ return data ? data[state.id] : undefined;
9088
+ }
9089
+ },
9090
+ set: function set(key, value) {
9091
+ return define(this, key, value);
9092
+ }
9093
+ } : {
9094
+ add: function add(value) {
9095
+ return define(this, value, true);
9096
+ }
9097
+ });
9098
+ return C;
9099
+ }
9100
+ };
9101
+
9102
+ /***/ }),
9103
+ /* 143 */
9104
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9105
+
9106
+ var bind = __w_pdfjs_require__(58);
9107
+ var IndexedObject = __w_pdfjs_require__(13);
9108
+ var toObject = __w_pdfjs_require__(79);
9109
+ var toLength = __w_pdfjs_require__(42);
9110
+ var arraySpeciesCreate = __w_pdfjs_require__(144);
9111
+ var push = [].push;
9112
+ var createMethod = function (TYPE) {
9113
+ var IS_MAP = TYPE == 1;
9114
+ var IS_FILTER = TYPE == 2;
9115
+ var IS_SOME = TYPE == 3;
9116
+ var IS_EVERY = TYPE == 4;
9117
+ var IS_FIND_INDEX = TYPE == 6;
9118
+ var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
9119
+ return function ($this, callbackfn, that, specificCreate) {
9120
+ var O = toObject($this);
9121
+ var self = IndexedObject(O);
9122
+ var boundFunction = bind(callbackfn, that, 3);
9123
+ var length = toLength(self.length);
9124
+ var index = 0;
9125
+ var create = specificCreate || arraySpeciesCreate;
9126
+ var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
9127
+ var value, result;
9128
+ for (; length > index; index++)
9129
+ if (NO_HOLES || index in self) {
9130
+ value = self[index];
9131
+ result = boundFunction(value, index, O);
9132
+ if (TYPE) {
9133
+ if (IS_MAP)
9134
+ target[index] = result;
9135
+ else if (result)
9136
+ switch (TYPE) {
9137
+ case 3:
9138
+ return true;
9139
+ case 5:
9140
+ return value;
9141
+ case 6:
9142
+ return index;
9143
+ case 2:
9144
+ push.call(target, value);
9145
+ }
9146
+ else if (IS_EVERY)
9147
+ return false;
9148
+ }
9149
+ }
9150
+ return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
9151
+ };
9152
+ };
9153
+ module.exports = {
9154
+ forEach: createMethod(0),
9155
+ map: createMethod(1),
9156
+ filter: createMethod(2),
9157
+ some: createMethod(3),
9158
+ every: createMethod(4),
9159
+ find: createMethod(5),
9160
+ findIndex: createMethod(6)
9161
+ };
9162
+
9163
+ /***/ }),
9164
+ /* 144 */
9165
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9166
+
9167
+ var isObject = __w_pdfjs_require__(17);
9168
+ var isArray = __w_pdfjs_require__(145);
9169
+ var wellKnownSymbol = __w_pdfjs_require__(53);
9170
+ var SPECIES = wellKnownSymbol('species');
9171
+ module.exports = function (originalArray, length) {
9172
+ var C;
9173
+ if (isArray(originalArray)) {
9174
+ C = originalArray.constructor;
9175
+ if (typeof C == 'function' && (C === Array || isArray(C.prototype)))
9176
+ C = undefined;
9177
+ else if (isObject(C)) {
9178
+ C = C[SPECIES];
9179
+ if (C === null)
9180
+ C = undefined;
9181
+ }
9182
+ }
9183
+ return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
9184
+ };
9185
+
9186
+ /***/ }),
9187
+ /* 145 */
9188
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9189
+
9190
+ var classof = __w_pdfjs_require__(14);
9191
+ module.exports = Array.isArray || function isArray(arg) {
9192
+ return classof(arg) == 'Array';
9193
+ };
9194
+
9195
+ /***/ }),
9196
+ /* 146 */
9197
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9198
+
9199
+ __w_pdfjs_require__(105);
9200
+ __w_pdfjs_require__(147);
9201
+ __w_pdfjs_require__(107);
9202
+ var path = __w_pdfjs_require__(38);
9203
+ module.exports = path.WeakSet;
9204
+
9205
+ /***/ }),
9206
+ /* 147 */
9207
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9208
+
9209
+ "use strict";
9210
+
9211
+ var collection = __w_pdfjs_require__(140);
9212
+ var collectionWeak = __w_pdfjs_require__(142);
9213
+ collection('WeakSet', function (init) {
9214
+ return function WeakSet() {
9215
+ return init(this, arguments.length ? arguments[0] : undefined);
9216
+ };
9217
+ }, collectionWeak);
9218
+
9219
+ /***/ }),
9220
+ /* 148 */
9221
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9222
+
9223
+ __w_pdfjs_require__(149);
9224
+ var entryUnbind = __w_pdfjs_require__(57);
9225
+ module.exports = entryUnbind('String', 'codePointAt');
9226
+
9227
+ /***/ }),
9228
+ /* 149 */
9229
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9230
+
9231
+ "use strict";
9232
+
9233
+ var $ = __w_pdfjs_require__(5);
9234
+ var codeAt = __w_pdfjs_require__(74).codeAt;
9235
+ $({
9236
+ target: 'String',
9237
+ proto: true
9238
+ }, {
9239
+ codePointAt: function codePointAt(pos) {
9240
+ return codeAt(this, pos);
9241
+ }
9242
+ });
9243
+
9244
+ /***/ }),
9245
+ /* 150 */
9246
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9247
+
9248
+ __w_pdfjs_require__(151);
9249
+ var path = __w_pdfjs_require__(38);
9250
+ module.exports = path.String.fromCodePoint;
9251
+
9252
+ /***/ }),
9253
+ /* 151 */
9254
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9255
+
9256
+ var $ = __w_pdfjs_require__(5);
9257
+ var toAbsoluteIndex = __w_pdfjs_require__(44);
9258
+ var fromCharCode = String.fromCharCode;
9259
+ var nativeFromCodePoint = String.fromCodePoint;
9260
+ var INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;
9261
+ $({
9262
+ target: 'String',
9263
+ stat: true,
9264
+ forced: INCORRECT_LENGTH
9265
+ }, {
9266
+ fromCodePoint: function fromCodePoint(x) {
9267
+ var elements = [];
9268
+ var length = arguments.length;
9269
+ var i = 0;
9270
+ var code;
9271
+ while (length > i) {
9272
+ code = +arguments[i++];
9273
+ if (toAbsoluteIndex(code, 0x10FFFF) !== code)
9274
+ throw RangeError(code + ' is not a valid code point');
9275
+ elements.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00));
9276
+ }
9277
+ return elements.join('');
9278
+ }
9279
+ });
9280
+
9281
+ /***/ }),
9282
+ /* 152 */
9283
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9284
+
9285
+ __w_pdfjs_require__(153);
9286
+ __w_pdfjs_require__(105);
9287
+ __w_pdfjs_require__(155);
9288
+ __w_pdfjs_require__(159);
9289
+ __w_pdfjs_require__(160);
9290
+ __w_pdfjs_require__(161);
9291
+ __w_pdfjs_require__(162);
9292
+ __w_pdfjs_require__(163);
9293
+ __w_pdfjs_require__(164);
9294
+ __w_pdfjs_require__(165);
9295
+ __w_pdfjs_require__(166);
9296
+ __w_pdfjs_require__(167);
9297
+ __w_pdfjs_require__(168);
9298
+ __w_pdfjs_require__(169);
9299
+ __w_pdfjs_require__(170);
9300
+ __w_pdfjs_require__(171);
9301
+ __w_pdfjs_require__(172);
9302
+ __w_pdfjs_require__(173);
9303
+ __w_pdfjs_require__(174);
9304
+ var path = __w_pdfjs_require__(38);
9305
+ module.exports = path.Symbol;
9306
+
9307
+ /***/ }),
9308
+ /* 153 */
9309
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9310
+
9311
+ "use strict";
9312
+
9313
+ var $ = __w_pdfjs_require__(5);
9314
+ var fails = __w_pdfjs_require__(9);
9315
+ var isArray = __w_pdfjs_require__(145);
9316
+ var isObject = __w_pdfjs_require__(17);
9317
+ var toObject = __w_pdfjs_require__(79);
9318
+ var toLength = __w_pdfjs_require__(42);
9319
+ var createProperty = __w_pdfjs_require__(89);
9320
+ var arraySpeciesCreate = __w_pdfjs_require__(144);
9321
+ var arrayMethodHasSpeciesSupport = __w_pdfjs_require__(154);
9322
+ var wellKnownSymbol = __w_pdfjs_require__(53);
9323
+ var V8_VERSION = __w_pdfjs_require__(125);
9324
+ var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
9325
+ var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
9326
+ var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
9327
+ var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {
9328
+ var array = [];
9329
+ array[IS_CONCAT_SPREADABLE] = false;
9330
+ return array.concat()[0] !== array;
9331
+ });
9332
+ var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
9333
+ var isConcatSpreadable = function (O) {
9334
+ if (!isObject(O))
9335
+ return false;
9336
+ var spreadable = O[IS_CONCAT_SPREADABLE];
9337
+ return spreadable !== undefined ? !!spreadable : isArray(O);
9338
+ };
9339
+ var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
9340
+ $({
9341
+ target: 'Array',
9342
+ proto: true,
9343
+ forced: FORCED
9344
+ }, {
9345
+ concat: function concat(arg) {
9346
+ var O = toObject(this);
9347
+ var A = arraySpeciesCreate(O, 0);
9348
+ var n = 0;
9349
+ var i, k, length, len, E;
9350
+ for (i = -1, length = arguments.length; i < length; i++) {
9351
+ E = i === -1 ? O : arguments[i];
9352
+ if (isConcatSpreadable(E)) {
9353
+ len = toLength(E.length);
9354
+ if (n + len > MAX_SAFE_INTEGER)
9355
+ throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
9356
+ for (k = 0; k < len; k++, n++)
9357
+ if (k in E)
9358
+ createProperty(A, n, E[k]);
9359
+ } else {
9360
+ if (n >= MAX_SAFE_INTEGER)
9361
+ throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
9362
+ createProperty(A, n++, E);
9363
+ }
9364
+ }
9365
+ A.length = n;
9366
+ return A;
9367
+ }
9368
+ });
9369
+
9370
+ /***/ }),
9371
+ /* 154 */
9372
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9373
+
9374
+ var fails = __w_pdfjs_require__(9);
9375
+ var wellKnownSymbol = __w_pdfjs_require__(53);
9376
+ var V8_VERSION = __w_pdfjs_require__(125);
9377
+ var SPECIES = wellKnownSymbol('species');
9378
+ module.exports = function (METHOD_NAME) {
9379
+ return V8_VERSION >= 51 || !fails(function () {
9380
+ var array = [];
9381
+ var constructor = array.constructor = {};
9382
+ constructor[SPECIES] = function () {
9383
+ return { foo: 1 };
9384
+ };
9385
+ return array[METHOD_NAME](Boolean).foo !== 1;
9386
+ });
9387
+ };
9388
+
9389
+ /***/ }),
9390
+ /* 155 */
9391
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9392
+
9393
+ "use strict";
9394
+
9395
+ var $ = __w_pdfjs_require__(5);
9396
+ var global = __w_pdfjs_require__(6);
9397
+ var getBuiltIn = __w_pdfjs_require__(37);
9398
+ var IS_PURE = __w_pdfjs_require__(32);
9399
+ var DESCRIPTORS = __w_pdfjs_require__(8);
9400
+ var NATIVE_SYMBOL = __w_pdfjs_require__(54);
9401
+ var USE_SYMBOL_AS_UID = __w_pdfjs_require__(55);
9402
+ var fails = __w_pdfjs_require__(9);
9403
+ var has = __w_pdfjs_require__(18);
9404
+ var isArray = __w_pdfjs_require__(145);
9405
+ var isObject = __w_pdfjs_require__(17);
9406
+ var anObject = __w_pdfjs_require__(23);
9407
+ var toObject = __w_pdfjs_require__(79);
9408
+ var toIndexedObject = __w_pdfjs_require__(12);
9409
+ var toPrimitive = __w_pdfjs_require__(16);
9410
+ var createPropertyDescriptor = __w_pdfjs_require__(11);
9411
+ var nativeObjectCreate = __w_pdfjs_require__(67);
9412
+ var objectKeys = __w_pdfjs_require__(69);
9413
+ var getOwnPropertyNamesModule = __w_pdfjs_require__(39);
9414
+ var getOwnPropertyNamesExternal = __w_pdfjs_require__(156);
9415
+ var getOwnPropertySymbolsModule = __w_pdfjs_require__(46);
9416
+ var getOwnPropertyDescriptorModule = __w_pdfjs_require__(7);
9417
+ var definePropertyModule = __w_pdfjs_require__(22);
9418
+ var propertyIsEnumerableModule = __w_pdfjs_require__(10);
9419
+ var createNonEnumerableProperty = __w_pdfjs_require__(21);
9420
+ var redefine = __w_pdfjs_require__(24);
9421
+ var shared = __w_pdfjs_require__(31);
9422
+ var sharedKey = __w_pdfjs_require__(30);
9423
+ var hiddenKeys = __w_pdfjs_require__(34);
9424
+ var uid = __w_pdfjs_require__(33);
9425
+ var wellKnownSymbol = __w_pdfjs_require__(53);
9426
+ var wrappedWellKnownSymbolModule = __w_pdfjs_require__(157);
9427
+ var defineWellKnownSymbol = __w_pdfjs_require__(158);
9428
+ var setToStringTag = __w_pdfjs_require__(81);
9429
+ var InternalStateModule = __w_pdfjs_require__(28);
9430
+ var $forEach = __w_pdfjs_require__(143).forEach;
9431
+ var HIDDEN = sharedKey('hidden');
9432
+ var SYMBOL = 'Symbol';
9433
+ var PROTOTYPE = 'prototype';
9434
+ var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
9435
+ var setInternalState = InternalStateModule.set;
9436
+ var getInternalState = InternalStateModule.getterFor(SYMBOL);
9437
+ var ObjectPrototype = Object[PROTOTYPE];
9438
+ var $Symbol = global.Symbol;
9439
+ var $stringify = getBuiltIn('JSON', 'stringify');
9440
+ var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
9441
+ var nativeDefineProperty = definePropertyModule.f;
9442
+ var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;
9443
+ var nativePropertyIsEnumerable = propertyIsEnumerableModule.f;
9444
+ var AllSymbols = shared('symbols');
9445
+ var ObjectPrototypeSymbols = shared('op-symbols');
9446
+ var StringToSymbolRegistry = shared('string-to-symbol-registry');
9447
+ var SymbolToStringRegistry = shared('symbol-to-string-registry');
9448
+ var WellKnownSymbolsStore = shared('wks');
9449
+ var QObject = global.QObject;
9450
+ var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
9451
+ var setSymbolDescriptor = DESCRIPTORS && fails(function () {
9452
+ return nativeObjectCreate(nativeDefineProperty({}, 'a', {
9453
+ get: function () {
9454
+ return nativeDefineProperty(this, 'a', { value: 7 }).a;
9455
+ }
9456
+ })).a != 7;
9457
+ }) ? function (O, P, Attributes) {
9458
+ var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);
9459
+ if (ObjectPrototypeDescriptor)
9460
+ delete ObjectPrototype[P];
9461
+ nativeDefineProperty(O, P, Attributes);
9462
+ if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
9463
+ nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);
9464
+ }
9465
+ } : nativeDefineProperty;
9466
+ var wrap = function (tag, description) {
9467
+ var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);
9468
+ setInternalState(symbol, {
9469
+ type: SYMBOL,
9470
+ tag: tag,
9471
+ description: description
9472
+ });
9473
+ if (!DESCRIPTORS)
9474
+ symbol.description = description;
9475
+ return symbol;
9476
+ };
9477
+ var isSymbol = USE_SYMBOL_AS_UID ? function (it) {
9478
+ return typeof it == 'symbol';
9479
+ } : function (it) {
9480
+ return Object(it) instanceof $Symbol;
9481
+ };
9482
+ var $defineProperty = function defineProperty(O, P, Attributes) {
9483
+ if (O === ObjectPrototype)
9484
+ $defineProperty(ObjectPrototypeSymbols, P, Attributes);
9485
+ anObject(O);
9486
+ var key = toPrimitive(P, true);
9487
+ anObject(Attributes);
9488
+ if (has(AllSymbols, key)) {
9489
+ if (!Attributes.enumerable) {
9490
+ if (!has(O, HIDDEN))
9491
+ nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));
9492
+ O[HIDDEN][key] = true;
9493
+ } else {
9494
+ if (has(O, HIDDEN) && O[HIDDEN][key])
9495
+ O[HIDDEN][key] = false;
9496
+ Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
9497
+ }
9498
+ return setSymbolDescriptor(O, key, Attributes);
9499
+ }
9500
+ return nativeDefineProperty(O, key, Attributes);
9501
+ };
9502
+ var $defineProperties = function defineProperties(O, Properties) {
9503
+ anObject(O);
9504
+ var properties = toIndexedObject(Properties);
9505
+ var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
9506
+ $forEach(keys, function (key) {
9507
+ if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key))
9508
+ $defineProperty(O, key, properties[key]);
9509
+ });
9510
+ return O;
9511
+ };
9512
+ var $create = function create(O, Properties) {
9513
+ return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);
9514
+ };
9515
+ var $propertyIsEnumerable = function propertyIsEnumerable(V) {
9516
+ var P = toPrimitive(V, true);
9517
+ var enumerable = nativePropertyIsEnumerable.call(this, P);
9518
+ if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P))
9519
+ return false;
9520
+ return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;
9521
+ };
9522
+ var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
9523
+ var it = toIndexedObject(O);
9524
+ var key = toPrimitive(P, true);
9525
+ if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key))
9526
+ return;
9527
+ var descriptor = nativeGetOwnPropertyDescriptor(it, key);
9528
+ if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {
9529
+ descriptor.enumerable = true;
9530
+ }
9531
+ return descriptor;
9532
+ };
9533
+ var $getOwnPropertyNames = function getOwnPropertyNames(O) {
9534
+ var names = nativeGetOwnPropertyNames(toIndexedObject(O));
9535
+ var result = [];
9536
+ $forEach(names, function (key) {
9537
+ if (!has(AllSymbols, key) && !has(hiddenKeys, key))
9538
+ result.push(key);
9539
+ });
9540
+ return result;
9541
+ };
9542
+ var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
9543
+ var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
9544
+ var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
9545
+ var result = [];
9546
+ $forEach(names, function (key) {
9547
+ if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {
9548
+ result.push(AllSymbols[key]);
9549
+ }
9550
+ });
9551
+ return result;
9552
+ };
9553
+ if (!NATIVE_SYMBOL) {
9554
+ $Symbol = function Symbol() {
9555
+ if (this instanceof $Symbol)
9556
+ throw TypeError('Symbol is not a constructor');
9557
+ var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);
9558
+ var tag = uid(description);
9559
+ var setter = function (value) {
9560
+ if (this === ObjectPrototype)
9561
+ setter.call(ObjectPrototypeSymbols, value);
9562
+ if (has(this, HIDDEN) && has(this[HIDDEN], tag))
9563
+ this[HIDDEN][tag] = false;
9564
+ setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
9565
+ };
9566
+ if (DESCRIPTORS && USE_SETTER)
9567
+ setSymbolDescriptor(ObjectPrototype, tag, {
9568
+ configurable: true,
9569
+ set: setter
9570
+ });
9571
+ return wrap(tag, description);
9572
+ };
9573
+ redefine($Symbol[PROTOTYPE], 'toString', function toString() {
9574
+ return getInternalState(this).tag;
9575
+ });
9576
+ redefine($Symbol, 'withoutSetter', function (description) {
9577
+ return wrap(uid(description), description);
9578
+ });
9579
+ propertyIsEnumerableModule.f = $propertyIsEnumerable;
9580
+ definePropertyModule.f = $defineProperty;
9581
+ getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;
9582
+ getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;
9583
+ getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;
9584
+ wrappedWellKnownSymbolModule.f = function (name) {
9585
+ return wrap(wellKnownSymbol(name), name);
9586
+ };
9587
+ if (DESCRIPTORS) {
9588
+ nativeDefineProperty($Symbol[PROTOTYPE], 'description', {
9589
+ configurable: true,
9590
+ get: function description() {
9591
+ return getInternalState(this).description;
9592
+ }
9593
+ });
9594
+ if (!IS_PURE) {
9595
+ redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
9596
+ }
9597
+ }
9598
+ }
9599
+ $({
9600
+ global: true,
9601
+ wrap: true,
9602
+ forced: !NATIVE_SYMBOL,
9603
+ sham: !NATIVE_SYMBOL
9604
+ }, { Symbol: $Symbol });
9605
+ $forEach(objectKeys(WellKnownSymbolsStore), function (name) {
9606
+ defineWellKnownSymbol(name);
9607
+ });
9608
+ $({
9609
+ target: SYMBOL,
9610
+ stat: true,
9611
+ forced: !NATIVE_SYMBOL
9612
+ }, {
9613
+ 'for': function (key) {
9614
+ var string = String(key);
9615
+ if (has(StringToSymbolRegistry, string))
9616
+ return StringToSymbolRegistry[string];
9617
+ var symbol = $Symbol(string);
9618
+ StringToSymbolRegistry[string] = symbol;
9619
+ SymbolToStringRegistry[symbol] = string;
9620
+ return symbol;
9621
+ },
9622
+ keyFor: function keyFor(sym) {
9623
+ if (!isSymbol(sym))
9624
+ throw TypeError(sym + ' is not a symbol');
9625
+ if (has(SymbolToStringRegistry, sym))
9626
+ return SymbolToStringRegistry[sym];
9627
+ },
9628
+ useSetter: function () {
9629
+ USE_SETTER = true;
9630
+ },
9631
+ useSimple: function () {
9632
+ USE_SETTER = false;
9633
+ }
9634
+ });
9635
+ $({
9636
+ target: 'Object',
9637
+ stat: true,
9638
+ forced: !NATIVE_SYMBOL,
9639
+ sham: !DESCRIPTORS
9640
+ }, {
9641
+ create: $create,
9642
+ defineProperty: $defineProperty,
9643
+ defineProperties: $defineProperties,
9644
+ getOwnPropertyDescriptor: $getOwnPropertyDescriptor
9645
+ });
9646
+ $({
9647
+ target: 'Object',
9648
+ stat: true,
9649
+ forced: !NATIVE_SYMBOL
9650
+ }, {
9651
+ getOwnPropertyNames: $getOwnPropertyNames,
9652
+ getOwnPropertySymbols: $getOwnPropertySymbols
9653
+ });
9654
+ $({
9655
+ target: 'Object',
9656
+ stat: true,
9657
+ forced: fails(function () {
9658
+ getOwnPropertySymbolsModule.f(1);
9659
+ })
9660
+ }, {
9661
+ getOwnPropertySymbols: function getOwnPropertySymbols(it) {
9662
+ return getOwnPropertySymbolsModule.f(toObject(it));
9663
+ }
9664
+ });
9665
+ if ($stringify) {
9666
+ var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {
9667
+ var symbol = $Symbol();
9668
+ return $stringify([symbol]) != '[null]' || $stringify({ a: symbol }) != '{}' || $stringify(Object(symbol)) != '{}';
9669
+ });
9670
+ $({
9671
+ target: 'JSON',
9672
+ stat: true,
9673
+ forced: FORCED_JSON_STRINGIFY
9674
+ }, {
9675
+ stringify: function stringify(it, replacer, space) {
9676
+ var args = [it];
9677
+ var index = 1;
9678
+ var $replacer;
9679
+ while (arguments.length > index)
9680
+ args.push(arguments[index++]);
9681
+ $replacer = replacer;
9682
+ if (!isObject(replacer) && it === undefined || isSymbol(it))
9683
+ return;
9684
+ if (!isArray(replacer))
9685
+ replacer = function (key, value) {
9686
+ if (typeof $replacer == 'function')
9687
+ value = $replacer.call(this, key, value);
9688
+ if (!isSymbol(value))
9689
+ return value;
9690
+ };
9691
+ args[1] = replacer;
9692
+ return $stringify.apply(null, args);
9693
+ }
9694
+ });
9695
+ }
9696
+ if (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {
9697
+ createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
9698
+ }
9699
+ setToStringTag($Symbol, SYMBOL);
9700
+ hiddenKeys[HIDDEN] = true;
9701
+
9702
+ /***/ }),
9703
+ /* 156 */
9704
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9705
+
9706
+ var toIndexedObject = __w_pdfjs_require__(12);
9707
+ var nativeGetOwnPropertyNames = __w_pdfjs_require__(39).f;
9708
+ var toString = {}.toString;
9709
+ var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
9710
+ var getWindowNames = function (it) {
9711
+ try {
9712
+ return nativeGetOwnPropertyNames(it);
9713
+ } catch (error) {
9714
+ return windowNames.slice();
9715
+ }
9716
+ };
9717
+ module.exports.f = function getOwnPropertyNames(it) {
9718
+ return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : nativeGetOwnPropertyNames(toIndexedObject(it));
9719
+ };
9720
+
9721
+ /***/ }),
9722
+ /* 157 */
9723
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9724
+
9725
+ var wellKnownSymbol = __w_pdfjs_require__(53);
9726
+ exports.f = wellKnownSymbol;
9727
+
9728
+ /***/ }),
9729
+ /* 158 */
9730
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9731
+
9732
+ var path = __w_pdfjs_require__(38);
9733
+ var has = __w_pdfjs_require__(18);
9734
+ var wrappedWellKnownSymbolModule = __w_pdfjs_require__(157);
9735
+ var defineProperty = __w_pdfjs_require__(22).f;
9736
+ module.exports = function (NAME) {
9737
+ var Symbol = path.Symbol || (path.Symbol = {});
9738
+ if (!has(Symbol, NAME))
9739
+ defineProperty(Symbol, NAME, { value: wrappedWellKnownSymbolModule.f(NAME) });
9740
+ };
9741
+
9742
+ /***/ }),
9743
+ /* 159 */
9744
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9745
+
9746
+ var defineWellKnownSymbol = __w_pdfjs_require__(158);
9747
+ defineWellKnownSymbol('asyncIterator');
9748
+
9749
+ /***/ }),
9750
+ /* 160 */
9751
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9752
+
9753
+ "use strict";
9754
+
9755
+ var $ = __w_pdfjs_require__(5);
9756
+ var DESCRIPTORS = __w_pdfjs_require__(8);
9757
+ var global = __w_pdfjs_require__(6);
9758
+ var has = __w_pdfjs_require__(18);
9759
+ var isObject = __w_pdfjs_require__(17);
9760
+ var defineProperty = __w_pdfjs_require__(22).f;
9761
+ var copyConstructorProperties = __w_pdfjs_require__(35);
9762
+ var NativeSymbol = global.Symbol;
9763
+ if (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || NativeSymbol().description !== undefined)) {
9764
+ var EmptyStringDescriptionStore = {};
9765
+ var SymbolWrapper = function Symbol() {
9766
+ var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);
9767
+ var result = this instanceof SymbolWrapper ? new NativeSymbol(description) : description === undefined ? NativeSymbol() : NativeSymbol(description);
9768
+ if (description === '')
9769
+ EmptyStringDescriptionStore[result] = true;
9770
+ return result;
9771
+ };
9772
+ copyConstructorProperties(SymbolWrapper, NativeSymbol);
9773
+ var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;
9774
+ symbolPrototype.constructor = SymbolWrapper;
9775
+ var symbolToString = symbolPrototype.toString;
9776
+ var native = String(NativeSymbol('test')) == 'Symbol(test)';
9777
+ var regexp = /^Symbol\((.*)\)[^)]+$/;
9778
+ defineProperty(symbolPrototype, 'description', {
9779
+ configurable: true,
9780
+ get: function description() {
9781
+ var symbol = isObject(this) ? this.valueOf() : this;
9782
+ var string = symbolToString.call(symbol);
9783
+ if (has(EmptyStringDescriptionStore, symbol))
9784
+ return '';
9785
+ var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');
9786
+ return desc === '' ? undefined : desc;
9787
+ }
9788
+ });
9789
+ $({
9790
+ global: true,
9791
+ forced: true
9792
+ }, { Symbol: SymbolWrapper });
9793
+ }
9794
+
9795
+ /***/ }),
9796
+ /* 161 */
9797
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9798
+
9799
+ var defineWellKnownSymbol = __w_pdfjs_require__(158);
9800
+ defineWellKnownSymbol('hasInstance');
9801
+
9802
+ /***/ }),
9803
+ /* 162 */
9804
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9805
+
9806
+ var defineWellKnownSymbol = __w_pdfjs_require__(158);
9807
+ defineWellKnownSymbol('isConcatSpreadable');
9808
+
9809
+ /***/ }),
9810
+ /* 163 */
9811
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9812
+
9813
+ var defineWellKnownSymbol = __w_pdfjs_require__(158);
9814
+ defineWellKnownSymbol('iterator');
9815
+
9816
+ /***/ }),
9817
+ /* 164 */
9818
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9819
+
9820
+ var defineWellKnownSymbol = __w_pdfjs_require__(158);
9821
+ defineWellKnownSymbol('match');
9822
+
9823
+ /***/ }),
9824
+ /* 165 */
9825
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9826
+
9827
+ var defineWellKnownSymbol = __w_pdfjs_require__(158);
9828
+ defineWellKnownSymbol('matchAll');
9829
+
9830
+ /***/ }),
9831
+ /* 166 */
9832
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9833
+
9834
+ var defineWellKnownSymbol = __w_pdfjs_require__(158);
9835
+ defineWellKnownSymbol('replace');
9836
+
9837
+ /***/ }),
9838
+ /* 167 */
9839
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9840
+
9841
+ var defineWellKnownSymbol = __w_pdfjs_require__(158);
9842
+ defineWellKnownSymbol('search');
9843
+
9844
+ /***/ }),
9845
+ /* 168 */
9846
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9847
+
9848
+ var defineWellKnownSymbol = __w_pdfjs_require__(158);
9849
+ defineWellKnownSymbol('species');
9850
+
9851
+ /***/ }),
9852
+ /* 169 */
9853
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9854
+
9855
+ var defineWellKnownSymbol = __w_pdfjs_require__(158);
9856
+ defineWellKnownSymbol('split');
9857
+
9858
+ /***/ }),
9859
+ /* 170 */
9860
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9861
+
9862
+ var defineWellKnownSymbol = __w_pdfjs_require__(158);
9863
+ defineWellKnownSymbol('toPrimitive');
9864
+
9865
+ /***/ }),
9866
+ /* 171 */
9867
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9868
+
9869
+ var defineWellKnownSymbol = __w_pdfjs_require__(158);
9870
+ defineWellKnownSymbol('toStringTag');
9871
+
9872
+ /***/ }),
9873
+ /* 172 */
9874
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9875
+
9876
+ var defineWellKnownSymbol = __w_pdfjs_require__(158);
9877
+ defineWellKnownSymbol('unscopables');
9878
+
9879
+ /***/ }),
9880
+ /* 173 */
9881
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9882
+
9883
+ var setToStringTag = __w_pdfjs_require__(81);
9884
+ setToStringTag(Math, 'Math', true);
9885
+
9886
+ /***/ }),
9887
+ /* 174 */
9888
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9889
+
9890
+ var global = __w_pdfjs_require__(6);
9891
+ var setToStringTag = __w_pdfjs_require__(81);
9892
+ setToStringTag(global.JSON, 'JSON', true);
9893
+
9894
+ /***/ }),
9895
+ /* 175 */
9896
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9897
+
9898
+ __w_pdfjs_require__(176);
9899
+ var entryUnbind = __w_pdfjs_require__(57);
9900
+ module.exports = entryUnbind('String', 'padStart');
9901
+
9902
+ /***/ }),
9903
+ /* 176 */
9904
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9905
+
9906
+ "use strict";
9907
+
9908
+ var $ = __w_pdfjs_require__(5);
9909
+ var $padStart = __w_pdfjs_require__(177).start;
9910
+ var WEBKIT_BUG = __w_pdfjs_require__(179);
9911
+ $({
9912
+ target: 'String',
9913
+ proto: true,
9914
+ forced: WEBKIT_BUG
9915
+ }, {
9916
+ padStart: function padStart(maxLength) {
9917
+ return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
9918
+ }
9919
+ });
9920
+
9921
+ /***/ }),
9922
+ /* 177 */
9923
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9924
+
9925
+ var toLength = __w_pdfjs_require__(42);
9926
+ var repeat = __w_pdfjs_require__(178);
9927
+ var requireObjectCoercible = __w_pdfjs_require__(15);
9928
+ var ceil = Math.ceil;
9929
+ var createMethod = function (IS_END) {
9930
+ return function ($this, maxLength, fillString) {
9931
+ var S = String(requireObjectCoercible($this));
9932
+ var stringLength = S.length;
9933
+ var fillStr = fillString === undefined ? ' ' : String(fillString);
9934
+ var intMaxLength = toLength(maxLength);
9935
+ var fillLen, stringFiller;
9936
+ if (intMaxLength <= stringLength || fillStr == '')
9937
+ return S;
9938
+ fillLen = intMaxLength - stringLength;
9939
+ stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));
9940
+ if (stringFiller.length > fillLen)
9941
+ stringFiller = stringFiller.slice(0, fillLen);
9942
+ return IS_END ? S + stringFiller : stringFiller + S;
9943
+ };
9944
+ };
9945
+ module.exports = {
9946
+ start: createMethod(false),
9947
+ end: createMethod(true)
9948
+ };
9949
+
9950
+ /***/ }),
9951
+ /* 178 */
9952
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9953
+
9954
+ "use strict";
9955
+
9956
+ var toInteger = __w_pdfjs_require__(43);
9957
+ var requireObjectCoercible = __w_pdfjs_require__(15);
9958
+ module.exports = ''.repeat || function repeat(count) {
9959
+ var str = String(requireObjectCoercible(this));
9960
+ var result = '';
9961
+ var n = toInteger(count);
9962
+ if (n < 0 || n == Infinity)
9963
+ throw RangeError('Wrong number of repetitions');
9964
+ for (; n > 0; (n >>>= 1) && (str += str))
9965
+ if (n & 1)
9966
+ result += str;
9967
+ return result;
9968
+ };
9969
+
9970
+ /***/ }),
9971
+ /* 179 */
9972
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9973
+
9974
+ var userAgent = __w_pdfjs_require__(119);
9975
+ module.exports = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(userAgent);
9976
+
9977
+ /***/ }),
9978
+ /* 180 */
9979
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9980
+
9981
+ __w_pdfjs_require__(181);
9982
+ var entryUnbind = __w_pdfjs_require__(57);
9983
+ module.exports = entryUnbind('String', 'padEnd');
9984
+
9985
+ /***/ }),
9986
+ /* 181 */
9987
+ /***/ (function(module, exports, __w_pdfjs_require__) {
9988
+
9989
+ "use strict";
9990
+
9991
+ var $ = __w_pdfjs_require__(5);
9992
+ var $padEnd = __w_pdfjs_require__(177).end;
9993
+ var WEBKIT_BUG = __w_pdfjs_require__(179);
9994
+ $({
9995
+ target: 'String',
9996
+ proto: true,
9997
+ forced: WEBKIT_BUG
9998
+ }, {
9999
+ padEnd: function padEnd(maxLength) {
10000
+ return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
10001
+ }
10002
+ });
10003
+
10004
+ /***/ }),
10005
+ /* 182 */
10006
+ /***/ (function(module, exports, __w_pdfjs_require__) {
10007
+
10008
+ __w_pdfjs_require__(183);
10009
+ var path = __w_pdfjs_require__(38);
10010
+ module.exports = path.Object.values;
10011
+
10012
+ /***/ }),
10013
+ /* 183 */
10014
+ /***/ (function(module, exports, __w_pdfjs_require__) {
10015
+
10016
+ var $ = __w_pdfjs_require__(5);
10017
+ var $values = __w_pdfjs_require__(184).values;
10018
+ $({
10019
+ target: 'Object',
10020
+ stat: true
10021
+ }, {
10022
+ values: function values(O) {
10023
+ return $values(O);
10024
+ }
10025
+ });
10026
+
10027
+ /***/ }),
10028
+ /* 184 */
10029
+ /***/ (function(module, exports, __w_pdfjs_require__) {
10030
+
10031
+ var DESCRIPTORS = __w_pdfjs_require__(8);
10032
+ var objectKeys = __w_pdfjs_require__(69);
10033
+ var toIndexedObject = __w_pdfjs_require__(12);
10034
+ var propertyIsEnumerable = __w_pdfjs_require__(10).f;
10035
+ var createMethod = function (TO_ENTRIES) {
10036
+ return function (it) {
10037
+ var O = toIndexedObject(it);
10038
+ var keys = objectKeys(O);
10039
+ var length = keys.length;
10040
+ var i = 0;
10041
+ var result = [];
10042
+ var key;
10043
+ while (length > i) {
10044
+ key = keys[i++];
10045
+ if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {
10046
+ result.push(TO_ENTRIES ? [
10047
+ key,
10048
+ O[key]
10049
+ ] : O[key]);
10050
+ }
10051
+ }
10052
+ return result;
10053
+ };
10054
+ };
10055
+ module.exports = {
10056
+ entries: createMethod(true),
10057
+ values: createMethod(false)
10058
+ };
10059
+
10060
+ /***/ }),
10061
+ /* 185 */
10062
+ /***/ (function(module, exports, __w_pdfjs_require__) {
10063
+
10064
+ "use strict";
10065
+
10066
+
10067
+ Object.defineProperty(exports, "__esModule", {
10068
+ value: true
10069
+ });
10070
+ exports.getDocument = getDocument;
10071
+ exports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;
10072
+ exports.build = exports.version = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = void 0;
10073
+
10074
+ var _regenerator = _interopRequireDefault(__w_pdfjs_require__(186));
10075
+
10076
+ var _util = __w_pdfjs_require__(1);
10077
+
10078
+ var _display_utils = __w_pdfjs_require__(189);
10079
+
10080
+ var _font_loader = __w_pdfjs_require__(190);
10081
+
10082
+ var _api_compatibility = __w_pdfjs_require__(191);
10083
+
10084
+ var _canvas = __w_pdfjs_require__(192);
10085
+
10086
+ var _worker_options = __w_pdfjs_require__(194);
10087
+
10088
+ var _is_node = __w_pdfjs_require__(48);
10089
+
10090
+ var _message_handler = __w_pdfjs_require__(195);
10091
+
10092
+ var _metadata = __w_pdfjs_require__(196);
10093
+
10094
+ var _transport_stream = __w_pdfjs_require__(198);
10095
+
10096
+ var _webgl = __w_pdfjs_require__(199);
10097
+
10098
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10099
+
10100
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
10101
+
10102
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
10103
+
10104
+ function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
10105
+
10106
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
10107
+
10108
+ 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); } }
10109
+
10110
+ 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); }); }; }
10111
+
10112
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
10113
+
10114
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
10115
+
10116
+ function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
10117
+
10118
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
10119
+
10120
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
10121
+
10122
+ 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); } }
10123
+
10124
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
10125
+
10126
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
10127
+
10128
+ var DEFAULT_RANGE_CHUNK_SIZE = 65536;
10129
+ var RENDERING_CANCELLED_TIMEOUT = 100;
10130
+ var createPDFNetworkStream;
10131
+
10132
+ function setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {
10133
+ createPDFNetworkStream = pdfNetworkStreamFactory;
10134
+ }
10135
+
10136
+ function getDocument(src) {
10137
+ var task = new PDFDocumentLoadingTask();
10138
+ var source;
10139
+
10140
+ if (typeof src === "string") {
10141
+ source = {
10142
+ url: src
10143
+ };
10144
+ } else if ((0, _util.isArrayBuffer)(src)) {
10145
+ source = {
10146
+ data: src
10147
+ };
10148
+ } else if (src instanceof PDFDataRangeTransport) {
10149
+ source = {
10150
+ range: src
10151
+ };
10152
+ } else {
10153
+ if (_typeof(src) !== "object") {
10154
+ throw new Error("Invalid parameter in getDocument, " + "need either Uint8Array, string or a parameter object");
10155
+ }
10156
+
10157
+ if (!src.url && !src.data && !src.range) {
10158
+ throw new Error("Invalid parameter object: need either .data, .range or .url");
10159
+ }
10160
+
10161
+ source = src;
10162
+ }
10163
+
10164
+ var params = Object.create(null);
10165
+ var rangeTransport = null,
10166
+ worker = null;
10167
+
10168
+ for (var key in source) {
10169
+ if (key === "url" && typeof window !== "undefined") {
10170
+ params[key] = new URL(source[key], window.location).href;
10171
+ continue;
10172
+ } else if (key === "range") {
10173
+ rangeTransport = source[key];
10174
+ continue;
10175
+ } else if (key === "worker") {
10176
+ worker = source[key];
10177
+ continue;
10178
+ } else if (key === "data" && !(source[key] instanceof Uint8Array)) {
10179
+ var pdfBytes = source[key];
10180
+
10181
+ if (typeof pdfBytes === "string") {
10182
+ params[key] = (0, _util.stringToBytes)(pdfBytes);
10183
+ } else if (_typeof(pdfBytes) === "object" && pdfBytes !== null && !isNaN(pdfBytes.length)) {
10184
+ params[key] = new Uint8Array(pdfBytes);
10185
+ } else if ((0, _util.isArrayBuffer)(pdfBytes)) {
10186
+ params[key] = new Uint8Array(pdfBytes);
10187
+ } else {
10188
+ throw new Error("Invalid PDF binary data: either typed array, " + "string or array-like object is expected in the " + "data property.");
10189
+ }
10190
+
10191
+ continue;
10192
+ }
10193
+
10194
+ params[key] = source[key];
10195
+ }
10196
+
10197
+ params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;
10198
+ params.CMapReaderFactory = params.CMapReaderFactory || _display_utils.DOMCMapReaderFactory;
10199
+ params.ignoreErrors = params.stopAtErrors !== true;
10200
+ params.pdfBug = params.pdfBug === true;
10201
+ var NativeImageDecoderValues = Object.values(_util.NativeImageDecoding);
10202
+
10203
+ if (params.nativeImageDecoderSupport === undefined || !NativeImageDecoderValues.includes(params.nativeImageDecoderSupport)) {
10204
+ params.nativeImageDecoderSupport = _api_compatibility.apiCompatibilityParams.nativeImageDecoderSupport || _util.NativeImageDecoding.DECODE;
10205
+ }
10206
+
10207
+ if (!Number.isInteger(params.maxImageSize)) {
10208
+ params.maxImageSize = -1;
10209
+ }
10210
+
10211
+ if (typeof params.isEvalSupported !== "boolean") {
10212
+ params.isEvalSupported = true;
10213
+ }
10214
+
10215
+ if (typeof params.disableFontFace !== "boolean") {
10216
+ params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;
10217
+ }
10218
+
10219
+ if (typeof params.disableRange !== "boolean") {
10220
+ params.disableRange = false;
10221
+ }
10222
+
10223
+ if (typeof params.disableStream !== "boolean") {
10224
+ params.disableStream = false;
10225
+ }
10226
+
10227
+ if (typeof params.disableAutoFetch !== "boolean") {
10228
+ params.disableAutoFetch = false;
10229
+ }
10230
+
10231
+ if (typeof params.disableCreateObjectURL !== "boolean") {
10232
+ params.disableCreateObjectURL = _api_compatibility.apiCompatibilityParams.disableCreateObjectURL || false;
10233
+ }
10234
+
10235
+ (0, _util.setVerbosityLevel)(params.verbosity);
10236
+
10237
+ if (!worker) {
10238
+ var workerParams = {
10239
+ verbosity: params.verbosity,
10240
+ port: _worker_options.GlobalWorkerOptions.workerPort
10241
+ };
10242
+ worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);
10243
+ task._worker = worker;
10244
+ }
10245
+
10246
+ var docId = task.docId;
10247
+ worker.promise.then(function () {
10248
+ if (task.destroyed) {
10249
+ throw new Error("Loading aborted");
10250
+ }
10251
+
10252
+ return _fetchDocument(worker, params, rangeTransport, docId).then(function (workerId) {
10253
+ if (task.destroyed) {
10254
+ throw new Error("Loading aborted");
10255
+ }
10256
+
10257
+ var networkStream;
10258
+
10259
+ if (rangeTransport) {
10260
+ networkStream = new _transport_stream.PDFDataTransportStream({
10261
+ length: params.length,
10262
+ initialData: params.initialData,
10263
+ progressiveDone: params.progressiveDone,
10264
+ disableRange: params.disableRange,
10265
+ disableStream: params.disableStream
10266
+ }, rangeTransport);
10267
+ } else if (!params.data) {
10268
+ networkStream = createPDFNetworkStream({
10269
+ url: params.url,
10270
+ length: params.length,
10271
+ httpHeaders: params.httpHeaders,
10272
+ withCredentials: params.withCredentials,
10273
+ rangeChunkSize: params.rangeChunkSize,
10274
+ disableRange: params.disableRange,
10275
+ disableStream: params.disableStream
10276
+ });
10277
+ }
10278
+
10279
+ var messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);
10280
+ messageHandler.postMessageTransfers = worker.postMessageTransfers;
10281
+ var transport = new WorkerTransport(messageHandler, task, networkStream, params);
10282
+ task._transport = transport;
10283
+ messageHandler.send("Ready", null);
10284
+ });
10285
+ })["catch"](task._capability.reject);
10286
+ return task;
10287
+ }
10288
+
10289
+ function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {
10290
+ if (worker.destroyed) {
10291
+ return Promise.reject(new Error("Worker was destroyed"));
10292
+ }
10293
+
10294
+ if (pdfDataRangeTransport) {
10295
+ source.length = pdfDataRangeTransport.length;
10296
+ source.initialData = pdfDataRangeTransport.initialData;
10297
+ source.progressiveDone = pdfDataRangeTransport.progressiveDone;
10298
+ }
10299
+
10300
+ return worker.messageHandler.sendWithPromise("GetDocRequest", {
10301
+ docId: docId,
10302
+ apiVersion: '2.4.349',
10303
+ source: {
10304
+ data: source.data,
10305
+ url: source.url,
10306
+ password: source.password,
10307
+ disableAutoFetch: source.disableAutoFetch,
10308
+ rangeChunkSize: source.rangeChunkSize,
10309
+ length: source.length
10310
+ },
10311
+ maxImageSize: source.maxImageSize,
10312
+ disableFontFace: source.disableFontFace,
10313
+ disableCreateObjectURL: source.disableCreateObjectURL,
10314
+ postMessageTransfers: worker.postMessageTransfers,
10315
+ docBaseUrl: source.docBaseUrl,
10316
+ nativeImageDecoderSupport: source.nativeImageDecoderSupport,
10317
+ ignoreErrors: source.ignoreErrors,
10318
+ isEvalSupported: source.isEvalSupported
10319
+ }).then(function (workerId) {
10320
+ if (worker.destroyed) {
10321
+ throw new Error("Worker was destroyed");
10322
+ }
10323
+
10324
+ return workerId;
10325
+ });
10326
+ }
10327
+
10328
+ var PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {
10329
+ var nextDocumentId = 0;
10330
+
10331
+ var PDFDocumentLoadingTask =
10332
+ /*#__PURE__*/
10333
+ function () {
10334
+ function PDFDocumentLoadingTask() {
10335
+ _classCallCheck(this, PDFDocumentLoadingTask);
10336
+
10337
+ this._capability = (0, _util.createPromiseCapability)();
10338
+ this._transport = null;
10339
+ this._worker = null;
10340
+ this.docId = "d" + nextDocumentId++;
10341
+ this.destroyed = false;
10342
+ this.onPassword = null;
10343
+ this.onProgress = null;
10344
+ this.onUnsupportedFeature = null;
10345
+ }
10346
+
10347
+ _createClass(PDFDocumentLoadingTask, [{
10348
+ key: "destroy",
10349
+ value: function destroy() {
10350
+ var _this = this;
10351
+
10352
+ this.destroyed = true;
10353
+ var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();
10354
+ return transportDestroyed.then(function () {
10355
+ _this._transport = null;
10356
+
10357
+ if (_this._worker) {
10358
+ _this._worker.destroy();
10359
+
10360
+ _this._worker = null;
10361
+ }
10362
+ });
10363
+ }
10364
+ }, {
10365
+ key: "then",
10366
+ value: function then(onFulfilled, onRejected) {
10367
+ throw new Error("Removed API method: " + "PDFDocumentLoadingTask.then, use the `promise` getter instead.");
10368
+ }
10369
+ }, {
10370
+ key: "promise",
10371
+ get: function get() {
10372
+ return this._capability.promise;
10373
+ }
10374
+ }]);
10375
+
10376
+ return PDFDocumentLoadingTask;
10377
+ }();
10378
+
10379
+ return PDFDocumentLoadingTask;
10380
+ }();
10381
+
10382
+ var PDFDataRangeTransport =
10383
+ /*#__PURE__*/
10384
+ function () {
10385
+ function PDFDataRangeTransport(length, initialData) {
10386
+ var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
10387
+
10388
+ _classCallCheck(this, PDFDataRangeTransport);
10389
+
10390
+ this.length = length;
10391
+ this.initialData = initialData;
10392
+ this.progressiveDone = progressiveDone;
10393
+ this._rangeListeners = [];
10394
+ this._progressListeners = [];
10395
+ this._progressiveReadListeners = [];
10396
+ this._progressiveDoneListeners = [];
10397
+ this._readyCapability = (0, _util.createPromiseCapability)();
10398
+ }
10399
+
10400
+ _createClass(PDFDataRangeTransport, [{
10401
+ key: "addRangeListener",
10402
+ value: function addRangeListener(listener) {
10403
+ this._rangeListeners.push(listener);
10404
+ }
10405
+ }, {
10406
+ key: "addProgressListener",
10407
+ value: function addProgressListener(listener) {
10408
+ this._progressListeners.push(listener);
10409
+ }
10410
+ }, {
10411
+ key: "addProgressiveReadListener",
10412
+ value: function addProgressiveReadListener(listener) {
10413
+ this._progressiveReadListeners.push(listener);
10414
+ }
10415
+ }, {
10416
+ key: "addProgressiveDoneListener",
10417
+ value: function addProgressiveDoneListener(listener) {
10418
+ this._progressiveDoneListeners.push(listener);
10419
+ }
10420
+ }, {
10421
+ key: "onDataRange",
10422
+ value: function onDataRange(begin, chunk) {
10423
+ var _iteratorNormalCompletion = true;
10424
+ var _didIteratorError = false;
10425
+ var _iteratorError = undefined;
10426
+
10427
+ try {
10428
+ for (var _iterator = this._rangeListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
10429
+ var listener = _step.value;
10430
+ listener(begin, chunk);
10431
+ }
10432
+ } catch (err) {
10433
+ _didIteratorError = true;
10434
+ _iteratorError = err;
10435
+ } finally {
10436
+ try {
10437
+ if (!_iteratorNormalCompletion && _iterator["return"] != null) {
10438
+ _iterator["return"]();
10439
+ }
10440
+ } finally {
10441
+ if (_didIteratorError) {
10442
+ throw _iteratorError;
10443
+ }
10444
+ }
10445
+ }
10446
+ }
10447
+ }, {
10448
+ key: "onDataProgress",
10449
+ value: function onDataProgress(loaded, total) {
10450
+ var _this2 = this;
10451
+
10452
+ this._readyCapability.promise.then(function () {
10453
+ var _iteratorNormalCompletion2 = true;
10454
+ var _didIteratorError2 = false;
10455
+ var _iteratorError2 = undefined;
10456
+
10457
+ try {
10458
+ for (var _iterator2 = _this2._progressListeners[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
10459
+ var listener = _step2.value;
10460
+ listener(loaded, total);
10461
+ }
10462
+ } catch (err) {
10463
+ _didIteratorError2 = true;
10464
+ _iteratorError2 = err;
10465
+ } finally {
10466
+ try {
10467
+ if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
10468
+ _iterator2["return"]();
10469
+ }
10470
+ } finally {
10471
+ if (_didIteratorError2) {
10472
+ throw _iteratorError2;
10473
+ }
10474
+ }
10475
+ }
10476
+ });
10477
+ }
10478
+ }, {
10479
+ key: "onDataProgressiveRead",
10480
+ value: function onDataProgressiveRead(chunk) {
10481
+ var _this3 = this;
10482
+
10483
+ this._readyCapability.promise.then(function () {
10484
+ var _iteratorNormalCompletion3 = true;
10485
+ var _didIteratorError3 = false;
10486
+ var _iteratorError3 = undefined;
10487
+
10488
+ try {
10489
+ for (var _iterator3 = _this3._progressiveReadListeners[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
10490
+ var listener = _step3.value;
10491
+ listener(chunk);
10492
+ }
10493
+ } catch (err) {
10494
+ _didIteratorError3 = true;
10495
+ _iteratorError3 = err;
10496
+ } finally {
10497
+ try {
10498
+ if (!_iteratorNormalCompletion3 && _iterator3["return"] != null) {
10499
+ _iterator3["return"]();
10500
+ }
10501
+ } finally {
10502
+ if (_didIteratorError3) {
10503
+ throw _iteratorError3;
10504
+ }
10505
+ }
10506
+ }
10507
+ });
10508
+ }
10509
+ }, {
10510
+ key: "onDataProgressiveDone",
10511
+ value: function onDataProgressiveDone() {
10512
+ var _this4 = this;
10513
+
10514
+ this._readyCapability.promise.then(function () {
10515
+ var _iteratorNormalCompletion4 = true;
10516
+ var _didIteratorError4 = false;
10517
+ var _iteratorError4 = undefined;
10518
+
10519
+ try {
10520
+ for (var _iterator4 = _this4._progressiveDoneListeners[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
10521
+ var listener = _step4.value;
10522
+ listener();
10523
+ }
10524
+ } catch (err) {
10525
+ _didIteratorError4 = true;
10526
+ _iteratorError4 = err;
10527
+ } finally {
10528
+ try {
10529
+ if (!_iteratorNormalCompletion4 && _iterator4["return"] != null) {
10530
+ _iterator4["return"]();
10531
+ }
10532
+ } finally {
10533
+ if (_didIteratorError4) {
10534
+ throw _iteratorError4;
10535
+ }
10536
+ }
10537
+ }
10538
+ });
10539
+ }
10540
+ }, {
10541
+ key: "transportReady",
10542
+ value: function transportReady() {
10543
+ this._readyCapability.resolve();
10544
+ }
10545
+ }, {
10546
+ key: "requestDataRange",
10547
+ value: function requestDataRange(begin, end) {
10548
+ (0, _util.unreachable)("Abstract method PDFDataRangeTransport.requestDataRange");
10549
+ }
10550
+ }, {
10551
+ key: "abort",
10552
+ value: function abort() {}
10553
+ }]);
10554
+
10555
+ return PDFDataRangeTransport;
10556
+ }();
10557
+
10558
+ exports.PDFDataRangeTransport = PDFDataRangeTransport;
10559
+
10560
+ var PDFDocumentProxy =
10561
+ /*#__PURE__*/
10562
+ function () {
10563
+ function PDFDocumentProxy(pdfInfo, transport) {
10564
+ _classCallCheck(this, PDFDocumentProxy);
10565
+
10566
+ this._pdfInfo = pdfInfo;
10567
+ this._transport = transport;
10568
+ }
10569
+
10570
+ _createClass(PDFDocumentProxy, [{
10571
+ key: "getPage",
10572
+ value: function getPage(pageNumber) {
10573
+ return this._transport.getPage(pageNumber);
10574
+ }
10575
+ }, {
10576
+ key: "getPageIndex",
10577
+ value: function getPageIndex(ref) {
10578
+ return this._transport.getPageIndex(ref);
10579
+ }
10580
+ }, {
10581
+ key: "getDestinations",
10582
+ value: function getDestinations() {
10583
+ return this._transport.getDestinations();
10584
+ }
10585
+ }, {
10586
+ key: "getDestination",
10587
+ value: function getDestination(id) {
10588
+ return this._transport.getDestination(id);
10589
+ }
10590
+ }, {
10591
+ key: "getPageLabels",
10592
+ value: function getPageLabels() {
10593
+ return this._transport.getPageLabels();
10594
+ }
10595
+ }, {
10596
+ key: "getPageLayout",
10597
+ value: function getPageLayout() {
10598
+ return this._transport.getPageLayout();
10599
+ }
10600
+ }, {
10601
+ key: "getPageMode",
10602
+ value: function getPageMode() {
10603
+ return this._transport.getPageMode();
10604
+ }
10605
+ }, {
10606
+ key: "getViewerPreferences",
10607
+ value: function getViewerPreferences() {
10608
+ return this._transport.getViewerPreferences();
10609
+ }
10610
+ }, {
10611
+ key: "getOpenActionDestination",
10612
+ value: function getOpenActionDestination() {
10613
+ return this._transport.getOpenActionDestination();
10614
+ }
10615
+ }, {
10616
+ key: "getAttachments",
10617
+ value: function getAttachments() {
10618
+ return this._transport.getAttachments();
10619
+ }
10620
+ }, {
10621
+ key: "getJavaScript",
10622
+ value: function getJavaScript() {
10623
+ return this._transport.getJavaScript();
10624
+ }
10625
+ }, {
10626
+ key: "getOutline",
10627
+ value: function getOutline() {
10628
+ return this._transport.getOutline();
10629
+ }
10630
+ }, {
10631
+ key: "getPermissions",
10632
+ value: function getPermissions() {
10633
+ return this._transport.getPermissions();
10634
+ }
10635
+ }, {
10636
+ key: "getMetadata",
10637
+ value: function getMetadata() {
10638
+ return this._transport.getMetadata();
10639
+ }
10640
+ }, {
10641
+ key: "getData",
10642
+ value: function getData() {
10643
+ return this._transport.getData();
10644
+ }
10645
+ }, {
10646
+ key: "getDownloadInfo",
10647
+ value: function getDownloadInfo() {
10648
+ return this._transport.downloadInfoCapability.promise;
10649
+ }
10650
+ }, {
10651
+ key: "getStats",
10652
+ value: function getStats() {
10653
+ return this._transport.getStats();
10654
+ }
10655
+ }, {
10656
+ key: "cleanup",
10657
+ value: function cleanup() {
10658
+ return this._transport.startCleanup();
10659
+ }
10660
+ }, {
10661
+ key: "destroy",
10662
+ value: function destroy() {
10663
+ return this.loadingTask.destroy();
10664
+ }
10665
+ }, {
10666
+ key: "numPages",
10667
+ get: function get() {
10668
+ return this._pdfInfo.numPages;
10669
+ }
10670
+ }, {
10671
+ key: "fingerprint",
10672
+ get: function get() {
10673
+ return this._pdfInfo.fingerprint;
10674
+ }
10675
+ }, {
10676
+ key: "loadingParams",
10677
+ get: function get() {
10678
+ return this._transport.loadingParams;
10679
+ }
10680
+ }, {
10681
+ key: "loadingTask",
10682
+ get: function get() {
10683
+ return this._transport.loadingTask;
10684
+ }
10685
+ }]);
10686
+
10687
+ return PDFDocumentProxy;
10688
+ }();
10689
+
10690
+ exports.PDFDocumentProxy = PDFDocumentProxy;
10691
+
10692
+ var PDFPageProxy =
10693
+ /*#__PURE__*/
10694
+ function () {
10695
+ function PDFPageProxy(pageIndex, pageInfo, transport) {
10696
+ var pdfBug = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
10697
+
10698
+ _classCallCheck(this, PDFPageProxy);
10699
+
10700
+ this.pageIndex = pageIndex;
10701
+ this._pageInfo = pageInfo;
10702
+ this._transport = transport;
10703
+ this._stats = pdfBug ? new _display_utils.StatTimer() : null;
10704
+ this._pdfBug = pdfBug;
10705
+ this.commonObjs = transport.commonObjs;
10706
+ this.objs = new PDFObjects();
10707
+ this.cleanupAfterRender = false;
10708
+ this.pendingCleanup = false;
10709
+ this.intentStates = Object.create(null);
10710
+ this.destroyed = false;
10711
+ }
10712
+
10713
+ _createClass(PDFPageProxy, [{
10714
+ key: "getViewport",
10715
+ value: function getViewport() {
10716
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
10717
+ scale = _ref.scale,
10718
+ _ref$rotation = _ref.rotation,
10719
+ rotation = _ref$rotation === void 0 ? this.rotate : _ref$rotation,
10720
+ _ref$offsetX = _ref.offsetX,
10721
+ offsetX = _ref$offsetX === void 0 ? 0 : _ref$offsetX,
10722
+ _ref$offsetY = _ref.offsetY,
10723
+ offsetY = _ref$offsetY === void 0 ? 0 : _ref$offsetY,
10724
+ _ref$dontFlip = _ref.dontFlip,
10725
+ dontFlip = _ref$dontFlip === void 0 ? false : _ref$dontFlip;
10726
+
10727
+ if (arguments.length > 1 || typeof arguments[0] === "number") {
10728
+ throw new Error("PDFPageProxy.getViewport is called with obsolete arguments.");
10729
+ }
10730
+
10731
+ return new _display_utils.PageViewport({
10732
+ viewBox: this.view,
10733
+ scale: scale,
10734
+ rotation: rotation,
10735
+ offsetX: offsetX,
10736
+ offsetY: offsetY,
10737
+ dontFlip: dontFlip
10738
+ });
10739
+ }
10740
+ }, {
10741
+ key: "getAnnotations",
10742
+ value: function getAnnotations() {
10743
+ var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
10744
+ _ref2$intent = _ref2.intent,
10745
+ intent = _ref2$intent === void 0 ? null : _ref2$intent;
10746
+
10747
+ if (!this.annotationsPromise || this.annotationsIntent !== intent) {
10748
+ this.annotationsPromise = this._transport.getAnnotations(this.pageIndex, intent);
10749
+ this.annotationsIntent = intent;
10750
+ }
10751
+
10752
+ return this.annotationsPromise;
10753
+ }
10754
+ }, {
10755
+ key: "render",
10756
+ value: function render(_ref3) {
10757
+ var _this5 = this;
10758
+
10759
+ var canvasContext = _ref3.canvasContext,
10760
+ viewport = _ref3.viewport,
10761
+ _ref3$intent = _ref3.intent,
10762
+ intent = _ref3$intent === void 0 ? "display" : _ref3$intent,
10763
+ _ref3$enableWebGL = _ref3.enableWebGL,
10764
+ enableWebGL = _ref3$enableWebGL === void 0 ? false : _ref3$enableWebGL,
10765
+ _ref3$renderInteracti = _ref3.renderInteractiveForms,
10766
+ renderInteractiveForms = _ref3$renderInteracti === void 0 ? false : _ref3$renderInteracti,
10767
+ _ref3$transform = _ref3.transform,
10768
+ transform = _ref3$transform === void 0 ? null : _ref3$transform,
10769
+ _ref3$imageLayer = _ref3.imageLayer,
10770
+ imageLayer = _ref3$imageLayer === void 0 ? null : _ref3$imageLayer,
10771
+ _ref3$canvasFactory = _ref3.canvasFactory,
10772
+ canvasFactory = _ref3$canvasFactory === void 0 ? null : _ref3$canvasFactory,
10773
+ _ref3$background = _ref3.background,
10774
+ background = _ref3$background === void 0 ? null : _ref3$background;
10775
+
10776
+ if (this._stats) {
10777
+ this._stats.time("Overall");
10778
+ }
10779
+
10780
+ var renderingIntent = intent === "print" ? "print" : "display";
10781
+ this.pendingCleanup = false;
10782
+
10783
+ if (!this.intentStates[renderingIntent]) {
10784
+ this.intentStates[renderingIntent] = Object.create(null);
10785
+ }
10786
+
10787
+ var intentState = this.intentStates[renderingIntent];
10788
+
10789
+ if (intentState.streamReaderCancelTimeout) {
10790
+ clearTimeout(intentState.streamReaderCancelTimeout);
10791
+ intentState.streamReaderCancelTimeout = null;
10792
+ }
10793
+
10794
+ var canvasFactoryInstance = canvasFactory || new _display_utils.DOMCanvasFactory();
10795
+ var webGLContext = new _webgl.WebGLContext({
10796
+ enable: enableWebGL
10797
+ });
10798
+
10799
+ if (!intentState.displayReadyCapability) {
10800
+ intentState.displayReadyCapability = (0, _util.createPromiseCapability)();
10801
+ intentState.operatorList = {
10802
+ fnArray: [],
10803
+ argsArray: [],
10804
+ lastChunk: false
10805
+ };
10806
+
10807
+ if (this._stats) {
10808
+ this._stats.time("Page Request");
10809
+ }
10810
+
10811
+ this._pumpOperatorList({
10812
+ pageIndex: this.pageNumber - 1,
10813
+ intent: renderingIntent,
10814
+ renderInteractiveForms: renderInteractiveForms === true
10815
+ });
10816
+ }
10817
+
10818
+ var complete = function complete(error) {
10819
+ var i = intentState.renderTasks.indexOf(internalRenderTask);
10820
+
10821
+ if (i >= 0) {
10822
+ intentState.renderTasks.splice(i, 1);
10823
+ }
10824
+
10825
+ if (_this5.cleanupAfterRender || renderingIntent === "print") {
10826
+ _this5.pendingCleanup = true;
10827
+ }
10828
+
10829
+ _this5._tryCleanup();
10830
+
10831
+ if (error) {
10832
+ internalRenderTask.capability.reject(error);
10833
+
10834
+ _this5._abortOperatorList({
10835
+ intentState: intentState,
10836
+ reason: error
10837
+ });
10838
+ } else {
10839
+ internalRenderTask.capability.resolve();
10840
+ }
10841
+
10842
+ if (_this5._stats) {
10843
+ _this5._stats.timeEnd("Rendering");
10844
+
10845
+ _this5._stats.timeEnd("Overall");
10846
+ }
10847
+ };
10848
+
10849
+ var internalRenderTask = new InternalRenderTask({
10850
+ callback: complete,
10851
+ params: {
10852
+ canvasContext: canvasContext,
10853
+ viewport: viewport,
10854
+ transform: transform,
10855
+ imageLayer: imageLayer,
10856
+ background: background
10857
+ },
10858
+ objs: this.objs,
10859
+ commonObjs: this.commonObjs,
10860
+ operatorList: intentState.operatorList,
10861
+ pageNumber: this.pageNumber,
10862
+ canvasFactory: canvasFactoryInstance,
10863
+ webGLContext: webGLContext,
10864
+ useRequestAnimationFrame: renderingIntent !== "print",
10865
+ pdfBug: this._pdfBug
10866
+ });
10867
+
10868
+ if (!intentState.renderTasks) {
10869
+ intentState.renderTasks = [];
10870
+ }
10871
+
10872
+ intentState.renderTasks.push(internalRenderTask);
10873
+ var renderTask = internalRenderTask.task;
10874
+ intentState.displayReadyCapability.promise.then(function (transparency) {
10875
+ if (_this5.pendingCleanup) {
10876
+ complete();
10877
+ return;
10878
+ }
10879
+
10880
+ if (_this5._stats) {
10881
+ _this5._stats.time("Rendering");
10882
+ }
10883
+
10884
+ internalRenderTask.initializeGraphics(transparency);
10885
+ internalRenderTask.operatorListChanged();
10886
+ })["catch"](complete);
10887
+ return renderTask;
10888
+ }
10889
+ }, {
10890
+ key: "getOperatorList",
10891
+ value: function getOperatorList() {
10892
+ function operatorListChanged() {
10893
+ if (intentState.operatorList.lastChunk) {
10894
+ intentState.opListReadCapability.resolve(intentState.operatorList);
10895
+ var i = intentState.renderTasks.indexOf(opListTask);
10896
+
10897
+ if (i >= 0) {
10898
+ intentState.renderTasks.splice(i, 1);
10899
+ }
10900
+ }
10901
+ }
10902
+
10903
+ var renderingIntent = "oplist";
10904
+
10905
+ if (!this.intentStates[renderingIntent]) {
10906
+ this.intentStates[renderingIntent] = Object.create(null);
10907
+ }
10908
+
10909
+ var intentState = this.intentStates[renderingIntent];
10910
+ var opListTask;
10911
+
10912
+ if (!intentState.opListReadCapability) {
10913
+ opListTask = {};
10914
+ opListTask.operatorListChanged = operatorListChanged;
10915
+ intentState.opListReadCapability = (0, _util.createPromiseCapability)();
10916
+ intentState.renderTasks = [];
10917
+ intentState.renderTasks.push(opListTask);
10918
+ intentState.operatorList = {
10919
+ fnArray: [],
10920
+ argsArray: [],
10921
+ lastChunk: false
10922
+ };
10923
+
10924
+ if (this._stats) {
10925
+ this._stats.time("Page Request");
10926
+ }
10927
+
10928
+ this._pumpOperatorList({
10929
+ pageIndex: this.pageIndex,
10930
+ intent: renderingIntent
10931
+ });
10932
+ }
10933
+
10934
+ return intentState.opListReadCapability.promise;
10935
+ }
10936
+ }, {
10937
+ key: "streamTextContent",
10938
+ value: function streamTextContent() {
10939
+ var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
10940
+ _ref4$normalizeWhites = _ref4.normalizeWhitespace,
10941
+ normalizeWhitespace = _ref4$normalizeWhites === void 0 ? false : _ref4$normalizeWhites,
10942
+ _ref4$disableCombineT = _ref4.disableCombineTextItems,
10943
+ disableCombineTextItems = _ref4$disableCombineT === void 0 ? false : _ref4$disableCombineT;
10944
+
10945
+ var TEXT_CONTENT_CHUNK_SIZE = 100;
10946
+ return this._transport.messageHandler.sendWithStream("GetTextContent", {
10947
+ pageIndex: this.pageNumber - 1,
10948
+ normalizeWhitespace: normalizeWhitespace === true,
10949
+ combineTextItems: disableCombineTextItems !== true
10950
+ }, {
10951
+ highWaterMark: TEXT_CONTENT_CHUNK_SIZE,
10952
+ size: function size(textContent) {
10953
+ return textContent.items.length;
10954
+ }
10955
+ });
10956
+ }
10957
+ }, {
10958
+ key: "getTextContent",
10959
+ value: function getTextContent() {
10960
+ var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
10961
+ var readableStream = this.streamTextContent(params);
10962
+ return new Promise(function (resolve, reject) {
10963
+ function pump() {
10964
+ reader.read().then(function (_ref5) {
10965
+ var _textContent$items;
10966
+
10967
+ var value = _ref5.value,
10968
+ done = _ref5.done;
10969
+
10970
+ if (done) {
10971
+ resolve(textContent);
10972
+ return;
10973
+ }
10974
+
10975
+ Object.assign(textContent.styles, value.styles);
10976
+
10977
+ (_textContent$items = textContent.items).push.apply(_textContent$items, _toConsumableArray(value.items));
10978
+
10979
+ pump();
10980
+ }, reject);
10981
+ }
10982
+
10983
+ var reader = readableStream.getReader();
10984
+ var textContent = {
10985
+ items: [],
10986
+ styles: Object.create(null)
10987
+ };
10988
+ pump();
10989
+ });
10990
+ }
10991
+ }, {
10992
+ key: "_destroy",
10993
+ value: function _destroy() {
10994
+ var _this6 = this;
10995
+
10996
+ this.destroyed = true;
10997
+ this._transport.pageCache[this.pageIndex] = null;
10998
+ var waitOn = [];
10999
+ Object.keys(this.intentStates).forEach(function (intent) {
11000
+ var intentState = _this6.intentStates[intent];
11001
+
11002
+ _this6._abortOperatorList({
11003
+ intentState: intentState,
11004
+ reason: new Error("Page was destroyed."),
11005
+ force: true
11006
+ });
11007
+
11008
+ if (intent === "oplist") {
11009
+ return;
11010
+ }
11011
+
11012
+ intentState.renderTasks.forEach(function (renderTask) {
11013
+ var renderCompleted = renderTask.capability.promise["catch"](function () {});
11014
+ waitOn.push(renderCompleted);
11015
+ renderTask.cancel();
11016
+ });
11017
+ });
11018
+ this.objs.clear();
11019
+ this.annotationsPromise = null;
11020
+ this.pendingCleanup = false;
11021
+ return Promise.all(waitOn);
11022
+ }
11023
+ }, {
11024
+ key: "cleanup",
11025
+ value: function cleanup() {
11026
+ var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
11027
+ this.pendingCleanup = true;
11028
+ return this._tryCleanup(resetStats);
11029
+ }
11030
+ }, {
11031
+ key: "_tryCleanup",
11032
+ value: function _tryCleanup() {
11033
+ var _this7 = this;
11034
+
11035
+ var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
11036
+
11037
+ if (!this.pendingCleanup || Object.keys(this.intentStates).some(function (intent) {
11038
+ var intentState = _this7.intentStates[intent];
11039
+ return intentState.renderTasks.length !== 0 || !intentState.operatorList.lastChunk;
11040
+ })) {
11041
+ return false;
11042
+ }
11043
+
11044
+ Object.keys(this.intentStates).forEach(function (intent) {
11045
+ delete _this7.intentStates[intent];
11046
+ });
11047
+ this.objs.clear();
11048
+ this.annotationsPromise = null;
11049
+
11050
+ if (resetStats && this._stats) {
11051
+ this._stats = new _display_utils.StatTimer();
11052
+ }
11053
+
11054
+ this.pendingCleanup = false;
11055
+ return true;
11056
+ }
11057
+ }, {
11058
+ key: "_startRenderPage",
11059
+ value: function _startRenderPage(transparency, intent) {
11060
+ var intentState = this.intentStates[intent];
11061
+
11062
+ if (!intentState) {
11063
+ return;
11064
+ }
11065
+
11066
+ if (this._stats) {
11067
+ this._stats.timeEnd("Page Request");
11068
+ }
11069
+
11070
+ if (intentState.displayReadyCapability) {
11071
+ intentState.displayReadyCapability.resolve(transparency);
11072
+ }
11073
+ }
11074
+ }, {
11075
+ key: "_renderPageChunk",
11076
+ value: function _renderPageChunk(operatorListChunk, intentState) {
11077
+ for (var i = 0, ii = operatorListChunk.length; i < ii; i++) {
11078
+ intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);
11079
+ intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);
11080
+ }
11081
+
11082
+ intentState.operatorList.lastChunk = operatorListChunk.lastChunk;
11083
+
11084
+ for (var _i = 0; _i < intentState.renderTasks.length; _i++) {
11085
+ intentState.renderTasks[_i].operatorListChanged();
11086
+ }
11087
+
11088
+ if (operatorListChunk.lastChunk) {
11089
+ this._tryCleanup();
11090
+ }
11091
+ }
11092
+ }, {
11093
+ key: "_pumpOperatorList",
11094
+ value: function _pumpOperatorList(args) {
11095
+ var _this8 = this;
11096
+
11097
+ (0, _util.assert)(args.intent, 'PDFPageProxy._pumpOperatorList: Expected "intent" argument.');
11098
+
11099
+ var readableStream = this._transport.messageHandler.sendWithStream("GetOperatorList", args);
11100
+
11101
+ var reader = readableStream.getReader();
11102
+ var intentState = this.intentStates[args.intent];
11103
+ intentState.streamReader = reader;
11104
+
11105
+ var pump = function pump() {
11106
+ reader.read().then(function (_ref6) {
11107
+ var value = _ref6.value,
11108
+ done = _ref6.done;
11109
+
11110
+ if (done) {
11111
+ intentState.streamReader = null;
11112
+ return;
11113
+ }
11114
+
11115
+ if (_this8._transport.destroyed) {
11116
+ return;
11117
+ }
11118
+
11119
+ _this8._renderPageChunk(value, intentState);
11120
+
11121
+ pump();
11122
+ }, function (reason) {
11123
+ intentState.streamReader = null;
11124
+
11125
+ if (_this8._transport.destroyed) {
11126
+ return;
11127
+ }
11128
+
11129
+ if (intentState.operatorList) {
11130
+ intentState.operatorList.lastChunk = true;
11131
+
11132
+ for (var i = 0; i < intentState.renderTasks.length; i++) {
11133
+ intentState.renderTasks[i].operatorListChanged();
11134
+ }
11135
+
11136
+ _this8._tryCleanup();
11137
+ }
11138
+
11139
+ if (intentState.displayReadyCapability) {
11140
+ intentState.displayReadyCapability.reject(reason);
11141
+ } else if (intentState.opListReadCapability) {
11142
+ intentState.opListReadCapability.reject(reason);
11143
+ } else {
11144
+ throw reason;
11145
+ }
11146
+ });
11147
+ };
11148
+
11149
+ pump();
11150
+ }
11151
+ }, {
11152
+ key: "_abortOperatorList",
11153
+ value: function _abortOperatorList(_ref7) {
11154
+ var _this9 = this;
11155
+
11156
+ var intentState = _ref7.intentState,
11157
+ reason = _ref7.reason,
11158
+ _ref7$force = _ref7.force,
11159
+ force = _ref7$force === void 0 ? false : _ref7$force;
11160
+ (0, _util.assert)(reason instanceof Error || _typeof(reason) === "object" && reason !== null, 'PDFPageProxy._abortOperatorList: Expected "reason" argument.');
11161
+
11162
+ if (!intentState.streamReader) {
11163
+ return;
11164
+ }
11165
+
11166
+ if (!force) {
11167
+ if (intentState.renderTasks.length !== 0) {
11168
+ return;
11169
+ }
11170
+
11171
+ if (reason instanceof _display_utils.RenderingCancelledException) {
11172
+ intentState.streamReaderCancelTimeout = setTimeout(function () {
11173
+ _this9._abortOperatorList({
11174
+ intentState: intentState,
11175
+ reason: reason,
11176
+ force: true
11177
+ });
11178
+
11179
+ intentState.streamReaderCancelTimeout = null;
11180
+ }, RENDERING_CANCELLED_TIMEOUT);
11181
+ return;
11182
+ }
11183
+ }
11184
+
11185
+ intentState.streamReader.cancel(new _util.AbortException(reason && reason.message));
11186
+ intentState.streamReader = null;
11187
+
11188
+ if (this._transport.destroyed) {
11189
+ return;
11190
+ }
11191
+
11192
+ Object.keys(this.intentStates).some(function (intent) {
11193
+ if (_this9.intentStates[intent] === intentState) {
11194
+ delete _this9.intentStates[intent];
11195
+ return true;
11196
+ }
11197
+
11198
+ return false;
11199
+ });
11200
+ this.cleanup();
11201
+ }
11202
+ }, {
11203
+ key: "pageNumber",
11204
+ get: function get() {
11205
+ return this.pageIndex + 1;
11206
+ }
11207
+ }, {
11208
+ key: "rotate",
11209
+ get: function get() {
11210
+ return this._pageInfo.rotate;
11211
+ }
11212
+ }, {
11213
+ key: "ref",
11214
+ get: function get() {
11215
+ return this._pageInfo.ref;
11216
+ }
11217
+ }, {
11218
+ key: "userUnit",
11219
+ get: function get() {
11220
+ return this._pageInfo.userUnit;
11221
+ }
11222
+ }, {
11223
+ key: "view",
11224
+ get: function get() {
11225
+ return this._pageInfo.view;
11226
+ }
11227
+ }, {
11228
+ key: "stats",
11229
+ get: function get() {
11230
+ return this._stats;
11231
+ }
11232
+ }]);
11233
+
11234
+ return PDFPageProxy;
11235
+ }();
11236
+
11237
+ exports.PDFPageProxy = PDFPageProxy;
11238
+
11239
+ var LoopbackPort =
11240
+ /*#__PURE__*/
11241
+ function () {
11242
+ function LoopbackPort() {
11243
+ var defer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
11244
+
11245
+ _classCallCheck(this, LoopbackPort);
11246
+
11247
+ this._listeners = [];
11248
+ this._defer = defer;
11249
+ this._deferred = Promise.resolve(undefined);
11250
+ }
11251
+
11252
+ _createClass(LoopbackPort, [{
11253
+ key: "postMessage",
11254
+ value: function postMessage(obj, transfers) {
11255
+ var _this10 = this;
11256
+
11257
+ function cloneValue(value) {
11258
+ if (_typeof(value) !== "object" || value === null) {
11259
+ return value;
11260
+ }
11261
+
11262
+ if (cloned.has(value)) {
11263
+ return cloned.get(value);
11264
+ }
11265
+
11266
+ var buffer, result;
11267
+
11268
+ if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {
11269
+ var transferable = transfers && transfers.includes(buffer);
11270
+
11271
+ if (value === buffer) {
11272
+ result = value;
11273
+ } else if (transferable) {
11274
+ result = new value.constructor(buffer, value.byteOffset, value.byteLength);
11275
+ } else {
11276
+ result = new value.constructor(value);
11277
+ }
11278
+
11279
+ cloned.set(value, result);
11280
+ return result;
11281
+ }
11282
+
11283
+ result = Array.isArray(value) ? [] : {};
11284
+ cloned.set(value, result);
11285
+
11286
+ for (var i in value) {
11287
+ var desc = void 0,
11288
+ p = value;
11289
+
11290
+ while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {
11291
+ p = Object.getPrototypeOf(p);
11292
+ }
11293
+
11294
+ if (typeof desc.value === "undefined") {
11295
+ continue;
11296
+ }
11297
+
11298
+ if (typeof desc.value === "function") {
11299
+ if (value.hasOwnProperty && value.hasOwnProperty(i)) {
11300
+ throw new Error("LoopbackPort.postMessage - cannot clone: ".concat(value[i]));
11301
+ }
11302
+
11303
+ continue;
11304
+ }
11305
+
11306
+ result[i] = cloneValue(desc.value);
11307
+ }
11308
+
11309
+ return result;
11310
+ }
11311
+
11312
+ if (!this._defer) {
11313
+ this._listeners.forEach(function (listener) {
11314
+ listener.call(_this10, {
11315
+ data: obj
11316
+ });
11317
+ });
11318
+
11319
+ return;
11320
+ }
11321
+
11322
+ var cloned = new WeakMap();
11323
+ var e = {
11324
+ data: cloneValue(obj)
11325
+ };
11326
+
11327
+ this._deferred.then(function () {
11328
+ _this10._listeners.forEach(function (listener) {
11329
+ listener.call(_this10, e);
11330
+ });
11331
+ });
11332
+ }
11333
+ }, {
11334
+ key: "addEventListener",
11335
+ value: function addEventListener(name, listener) {
11336
+ this._listeners.push(listener);
11337
+ }
11338
+ }, {
11339
+ key: "removeEventListener",
11340
+ value: function removeEventListener(name, listener) {
11341
+ var i = this._listeners.indexOf(listener);
11342
+
11343
+ this._listeners.splice(i, 1);
11344
+ }
11345
+ }, {
11346
+ key: "terminate",
11347
+ value: function terminate() {
11348
+ this._listeners.length = 0;
11349
+ }
11350
+ }]);
11351
+
11352
+ return LoopbackPort;
11353
+ }();
11354
+
11355
+ exports.LoopbackPort = LoopbackPort;
11356
+
11357
+ var PDFWorker = function PDFWorkerClosure() {
11358
+ var pdfWorkerPorts = new WeakMap();
11359
+ var isWorkerDisabled = false;
11360
+ var fallbackWorkerSrc;
11361
+ var nextFakeWorkerId = 0;
11362
+ var fakeWorkerCapability;
11363
+
11364
+ if (_is_node.isNodeJS && typeof require === "function") {
11365
+ isWorkerDisabled = true;
11366
+ fallbackWorkerSrc = "./pdf.worker.js";
11367
+ } else if ((typeof document === "undefined" ? "undefined" : _typeof(document)) === "object" && "currentScript" in document) {
11368
+ var pdfjsFilePath = document.currentScript && document.currentScript.src;
11369
+
11370
+ if (pdfjsFilePath) {
11371
+ fallbackWorkerSrc = pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i, ".worker$1$2");
11372
+ }
11373
+ }
11374
+
11375
+ function _getWorkerSrc() {
11376
+ if (_worker_options.GlobalWorkerOptions.workerSrc) {
11377
+ return _worker_options.GlobalWorkerOptions.workerSrc;
11378
+ }
11379
+
11380
+ if (typeof fallbackWorkerSrc !== "undefined") {
11381
+ if (!_is_node.isNodeJS) {
11382
+ (0, _display_utils.deprecated)('No "GlobalWorkerOptions.workerSrc" specified.');
11383
+ }
11384
+
11385
+ return fallbackWorkerSrc;
11386
+ }
11387
+
11388
+ throw new Error('No "GlobalWorkerOptions.workerSrc" specified.');
11389
+ }
11390
+
11391
+ function getMainThreadWorkerMessageHandler() {
11392
+ var mainWorkerMessageHandler;
11393
+
11394
+ try {
11395
+ mainWorkerMessageHandler = globalThis.pdfjsWorker && globalThis.pdfjsWorker.WorkerMessageHandler;
11396
+ } catch (ex) {}
11397
+
11398
+ return mainWorkerMessageHandler || null;
11399
+ }
11400
+
11401
+ function setupFakeWorkerGlobal() {
11402
+ if (fakeWorkerCapability) {
11403
+ return fakeWorkerCapability.promise;
11404
+ }
11405
+
11406
+ fakeWorkerCapability = (0, _util.createPromiseCapability)();
11407
+
11408
+ var loader =
11409
+ /*#__PURE__*/
11410
+ function () {
11411
+ var _ref8 = _asyncToGenerator(
11412
+ /*#__PURE__*/
11413
+ _regenerator["default"].mark(function _callee() {
11414
+ var mainWorkerMessageHandler, worker;
11415
+ return _regenerator["default"].wrap(function _callee$(_context) {
11416
+ while (1) {
11417
+ switch (_context.prev = _context.next) {
11418
+ case 0:
11419
+ mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();
11420
+
11421
+ if (!mainWorkerMessageHandler) {
11422
+ _context.next = 3;
11423
+ break;
11424
+ }
11425
+
11426
+ return _context.abrupt("return", mainWorkerMessageHandler);
11427
+
11428
+ case 3:
11429
+ if (!(_is_node.isNodeJS && typeof require === "function")) {
11430
+ _context.next = 6;
11431
+ break;
11432
+ }
11433
+
11434
+ worker = eval("require")(_getWorkerSrc());
11435
+ return _context.abrupt("return", worker.WorkerMessageHandler);
11436
+
11437
+ case 6:
11438
+ _context.next = 8;
11439
+ return (0, _display_utils.loadScript)(_getWorkerSrc());
11440
+
11441
+ case 8:
11442
+ return _context.abrupt("return", window.pdfjsWorker.WorkerMessageHandler);
11443
+
11444
+ case 9:
11445
+ case "end":
11446
+ return _context.stop();
11447
+ }
11448
+ }
11449
+ }, _callee);
11450
+ }));
11451
+
11452
+ return function loader() {
11453
+ return _ref8.apply(this, arguments);
11454
+ };
11455
+ }();
11456
+
11457
+ loader().then(fakeWorkerCapability.resolve, fakeWorkerCapability.reject);
11458
+ return fakeWorkerCapability.promise;
11459
+ }
11460
+
11461
+ function createCDNWrapper(url) {
11462
+ var wrapper = "importScripts('" + url + "');";
11463
+ return URL.createObjectURL(new Blob([wrapper]));
11464
+ }
11465
+
11466
+ var PDFWorker =
11467
+ /*#__PURE__*/
11468
+ function () {
11469
+ function PDFWorker() {
11470
+ var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
11471
+ _ref9$name = _ref9.name,
11472
+ name = _ref9$name === void 0 ? null : _ref9$name,
11473
+ _ref9$port = _ref9.port,
11474
+ port = _ref9$port === void 0 ? null : _ref9$port,
11475
+ _ref9$verbosity = _ref9.verbosity,
11476
+ verbosity = _ref9$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref9$verbosity;
11477
+
11478
+ _classCallCheck(this, PDFWorker);
11479
+
11480
+ if (port && pdfWorkerPorts.has(port)) {
11481
+ throw new Error("Cannot use more than one PDFWorker per port");
11482
+ }
11483
+
11484
+ this.name = name;
11485
+ this.destroyed = false;
11486
+ this.postMessageTransfers = true;
11487
+ this.verbosity = verbosity;
11488
+ this._readyCapability = (0, _util.createPromiseCapability)();
11489
+ this._port = null;
11490
+ this._webWorker = null;
11491
+ this._messageHandler = null;
11492
+
11493
+ if (port) {
11494
+ pdfWorkerPorts.set(port, this);
11495
+
11496
+ this._initializeFromPort(port);
11497
+
11498
+ return;
11499
+ }
11500
+
11501
+ this._initialize();
11502
+ }
11503
+
11504
+ _createClass(PDFWorker, [{
11505
+ key: "_initializeFromPort",
11506
+ value: function _initializeFromPort(port) {
11507
+ this._port = port;
11508
+ this._messageHandler = new _message_handler.MessageHandler("main", "worker", port);
11509
+
11510
+ this._messageHandler.on("ready", function () {});
11511
+
11512
+ this._readyCapability.resolve();
11513
+ }
11514
+ }, {
11515
+ key: "_initialize",
11516
+ value: function _initialize() {
11517
+ var _this11 = this;
11518
+
11519
+ if (typeof Worker !== "undefined" && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {
11520
+ var workerSrc = _getWorkerSrc();
11521
+
11522
+ try {
11523
+ if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {
11524
+ workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href);
11525
+ }
11526
+
11527
+ var worker = new Worker(workerSrc);
11528
+ var messageHandler = new _message_handler.MessageHandler("main", "worker", worker);
11529
+
11530
+ var terminateEarly = function terminateEarly() {
11531
+ worker.removeEventListener("error", onWorkerError);
11532
+ messageHandler.destroy();
11533
+ worker.terminate();
11534
+
11535
+ if (_this11.destroyed) {
11536
+ _this11._readyCapability.reject(new Error("Worker was destroyed"));
11537
+ } else {
11538
+ _this11._setupFakeWorker();
11539
+ }
11540
+ };
11541
+
11542
+ var onWorkerError = function onWorkerError() {
11543
+ if (!_this11._webWorker) {
11544
+ terminateEarly();
11545
+ }
11546
+ };
11547
+
11548
+ worker.addEventListener("error", onWorkerError);
11549
+ messageHandler.on("test", function (data) {
11550
+ worker.removeEventListener("error", onWorkerError);
11551
+
11552
+ if (_this11.destroyed) {
11553
+ terminateEarly();
11554
+ return;
11555
+ }
11556
+
11557
+ if (data) {
11558
+ _this11._messageHandler = messageHandler;
11559
+ _this11._port = worker;
11560
+ _this11._webWorker = worker;
11561
+
11562
+ if (!data.supportTransfers) {
11563
+ _this11.postMessageTransfers = false;
11564
+ }
11565
+
11566
+ _this11._readyCapability.resolve();
11567
+
11568
+ messageHandler.send("configure", {
11569
+ verbosity: _this11.verbosity
11570
+ });
11571
+ } else {
11572
+ _this11._setupFakeWorker();
11573
+
11574
+ messageHandler.destroy();
11575
+ worker.terminate();
11576
+ }
11577
+ });
11578
+ messageHandler.on("ready", function (data) {
11579
+ worker.removeEventListener("error", onWorkerError);
11580
+
11581
+ if (_this11.destroyed) {
11582
+ terminateEarly();
11583
+ return;
11584
+ }
11585
+
11586
+ try {
11587
+ sendTest();
11588
+ } catch (e) {
11589
+ _this11._setupFakeWorker();
11590
+ }
11591
+ });
11592
+
11593
+ var sendTest = function sendTest() {
11594
+ var testObj = new Uint8Array([_this11.postMessageTransfers ? 255 : 0]);
11595
+
11596
+ try {
11597
+ messageHandler.send("test", testObj, [testObj.buffer]);
11598
+ } catch (ex) {
11599
+ (0, _util.warn)("Cannot use postMessage transfers.");
11600
+ testObj[0] = 0;
11601
+ messageHandler.send("test", testObj);
11602
+ }
11603
+ };
11604
+
11605
+ sendTest();
11606
+ return;
11607
+ } catch (e) {
11608
+ (0, _util.info)("The worker has been disabled.");
11609
+ }
11610
+ }
11611
+
11612
+ this._setupFakeWorker();
11613
+ }
11614
+ }, {
11615
+ key: "_setupFakeWorker",
11616
+ value: function _setupFakeWorker() {
11617
+ var _this12 = this;
11618
+
11619
+ if (!isWorkerDisabled) {
11620
+ (0, _util.warn)("Setting up fake worker.");
11621
+ isWorkerDisabled = true;
11622
+ }
11623
+
11624
+ setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {
11625
+ if (_this12.destroyed) {
11626
+ _this12._readyCapability.reject(new Error("Worker was destroyed"));
11627
+
11628
+ return;
11629
+ }
11630
+
11631
+ var port = new LoopbackPort();
11632
+ _this12._port = port;
11633
+ var id = "fake" + nextFakeWorkerId++;
11634
+ var workerHandler = new _message_handler.MessageHandler(id + "_worker", id, port);
11635
+ WorkerMessageHandler.setup(workerHandler, port);
11636
+ var messageHandler = new _message_handler.MessageHandler(id, id + "_worker", port);
11637
+ _this12._messageHandler = messageHandler;
11638
+
11639
+ _this12._readyCapability.resolve();
11640
+
11641
+ messageHandler.send("configure", {
11642
+ verbosity: _this12.verbosity
11643
+ });
11644
+ })["catch"](function (reason) {
11645
+ _this12._readyCapability.reject(new Error("Setting up fake worker failed: \"".concat(reason.message, "\".")));
11646
+ });
11647
+ }
11648
+ }, {
11649
+ key: "destroy",
11650
+ value: function destroy() {
11651
+ this.destroyed = true;
11652
+
11653
+ if (this._webWorker) {
11654
+ this._webWorker.terminate();
11655
+
11656
+ this._webWorker = null;
11657
+ }
11658
+
11659
+ pdfWorkerPorts["delete"](this._port);
11660
+ this._port = null;
11661
+
11662
+ if (this._messageHandler) {
11663
+ this._messageHandler.destroy();
11664
+
11665
+ this._messageHandler = null;
11666
+ }
11667
+ }
11668
+ }, {
11669
+ key: "promise",
11670
+ get: function get() {
11671
+ return this._readyCapability.promise;
11672
+ }
11673
+ }, {
11674
+ key: "port",
11675
+ get: function get() {
11676
+ return this._port;
11677
+ }
11678
+ }, {
11679
+ key: "messageHandler",
11680
+ get: function get() {
11681
+ return this._messageHandler;
11682
+ }
11683
+ }], [{
11684
+ key: "fromPort",
11685
+ value: function fromPort(params) {
11686
+ if (!params || !params.port) {
11687
+ throw new Error("PDFWorker.fromPort - invalid method signature.");
11688
+ }
11689
+
11690
+ if (pdfWorkerPorts.has(params.port)) {
11691
+ return pdfWorkerPorts.get(params.port);
11692
+ }
11693
+
11694
+ return new PDFWorker(params);
11695
+ }
11696
+ }, {
11697
+ key: "getWorkerSrc",
11698
+ value: function getWorkerSrc() {
11699
+ return _getWorkerSrc();
11700
+ }
11701
+ }]);
11702
+
11703
+ return PDFWorker;
11704
+ }();
11705
+
11706
+ return PDFWorker;
11707
+ }();
11708
+
11709
+ exports.PDFWorker = PDFWorker;
11710
+
11711
+ var WorkerTransport =
11712
+ /*#__PURE__*/
11713
+ function () {
11714
+ function WorkerTransport(messageHandler, loadingTask, networkStream, params) {
11715
+ _classCallCheck(this, WorkerTransport);
11716
+
11717
+ this.messageHandler = messageHandler;
11718
+ this.loadingTask = loadingTask;
11719
+ this.commonObjs = new PDFObjects();
11720
+ this.fontLoader = new _font_loader.FontLoader({
11721
+ docId: loadingTask.docId,
11722
+ onUnsupportedFeature: this._onUnsupportedFeature.bind(this)
11723
+ });
11724
+ this._params = params;
11725
+ this.CMapReaderFactory = new params.CMapReaderFactory({
11726
+ baseUrl: params.cMapUrl,
11727
+ isCompressed: params.cMapPacked
11728
+ });
11729
+ this.destroyed = false;
11730
+ this.destroyCapability = null;
11731
+ this._passwordCapability = null;
11732
+ this._networkStream = networkStream;
11733
+ this._fullReader = null;
11734
+ this._lastProgress = null;
11735
+ this.pageCache = [];
11736
+ this.pagePromises = [];
11737
+ this.downloadInfoCapability = (0, _util.createPromiseCapability)();
11738
+ this.setupMessageHandler();
11739
+ }
11740
+
11741
+ _createClass(WorkerTransport, [{
11742
+ key: "destroy",
11743
+ value: function destroy() {
11744
+ var _this13 = this;
11745
+
11746
+ if (this.destroyCapability) {
11747
+ return this.destroyCapability.promise;
11748
+ }
11749
+
11750
+ this.destroyed = true;
11751
+ this.destroyCapability = (0, _util.createPromiseCapability)();
11752
+
11753
+ if (this._passwordCapability) {
11754
+ this._passwordCapability.reject(new Error("Worker was destroyed during onPassword callback"));
11755
+ }
11756
+
11757
+ var waitOn = [];
11758
+ this.pageCache.forEach(function (page) {
11759
+ if (page) {
11760
+ waitOn.push(page._destroy());
11761
+ }
11762
+ });
11763
+ this.pageCache.length = 0;
11764
+ this.pagePromises.length = 0;
11765
+ var terminated = this.messageHandler.sendWithPromise("Terminate", null);
11766
+ waitOn.push(terminated);
11767
+ Promise.all(waitOn).then(function () {
11768
+ _this13.fontLoader.clear();
11769
+
11770
+ if (_this13._networkStream) {
11771
+ _this13._networkStream.cancelAllRequests(new _util.AbortException("Worker was terminated."));
11772
+ }
11773
+
11774
+ if (_this13.messageHandler) {
11775
+ _this13.messageHandler.destroy();
11776
+
11777
+ _this13.messageHandler = null;
11778
+ }
11779
+
11780
+ _this13.destroyCapability.resolve();
11781
+ }, this.destroyCapability.reject);
11782
+ return this.destroyCapability.promise;
11783
+ }
11784
+ }, {
11785
+ key: "setupMessageHandler",
11786
+ value: function setupMessageHandler() {
11787
+ var _this14 = this;
11788
+
11789
+ var messageHandler = this.messageHandler,
11790
+ loadingTask = this.loadingTask;
11791
+ messageHandler.on("GetReader", function (data, sink) {
11792
+ (0, _util.assert)(_this14._networkStream);
11793
+ _this14._fullReader = _this14._networkStream.getFullReader();
11794
+
11795
+ _this14._fullReader.onProgress = function (evt) {
11796
+ _this14._lastProgress = {
11797
+ loaded: evt.loaded,
11798
+ total: evt.total
11799
+ };
11800
+ };
11801
+
11802
+ sink.onPull = function () {
11803
+ _this14._fullReader.read().then(function (_ref10) {
11804
+ var value = _ref10.value,
11805
+ done = _ref10.done;
11806
+
11807
+ if (done) {
11808
+ sink.close();
11809
+ return;
11810
+ }
11811
+
11812
+ (0, _util.assert)((0, _util.isArrayBuffer)(value));
11813
+ sink.enqueue(new Uint8Array(value), 1, [value]);
11814
+ })["catch"](function (reason) {
11815
+ sink.error(reason);
11816
+ });
11817
+ };
11818
+
11819
+ sink.onCancel = function (reason) {
11820
+ _this14._fullReader.cancel(reason);
11821
+ };
11822
+ });
11823
+ messageHandler.on("ReaderHeadersReady", function (data) {
11824
+ var headersCapability = (0, _util.createPromiseCapability)();
11825
+ var fullReader = _this14._fullReader;
11826
+ fullReader.headersReady.then(function () {
11827
+ if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {
11828
+ if (_this14._lastProgress && loadingTask.onProgress) {
11829
+ loadingTask.onProgress(_this14._lastProgress);
11830
+ }
11831
+
11832
+ fullReader.onProgress = function (evt) {
11833
+ if (loadingTask.onProgress) {
11834
+ loadingTask.onProgress({
11835
+ loaded: evt.loaded,
11836
+ total: evt.total
11837
+ });
11838
+ }
11839
+ };
11840
+ }
11841
+
11842
+ headersCapability.resolve({
11843
+ isStreamingSupported: fullReader.isStreamingSupported,
11844
+ isRangeSupported: fullReader.isRangeSupported,
11845
+ contentLength: fullReader.contentLength
11846
+ });
11847
+ }, headersCapability.reject);
11848
+ return headersCapability.promise;
11849
+ });
11850
+ messageHandler.on("GetRangeReader", function (data, sink) {
11851
+ (0, _util.assert)(_this14._networkStream);
11852
+
11853
+ var rangeReader = _this14._networkStream.getRangeReader(data.begin, data.end);
11854
+
11855
+ if (!rangeReader) {
11856
+ sink.close();
11857
+ return;
11858
+ }
11859
+
11860
+ sink.onPull = function () {
11861
+ rangeReader.read().then(function (_ref11) {
11862
+ var value = _ref11.value,
11863
+ done = _ref11.done;
11864
+
11865
+ if (done) {
11866
+ sink.close();
11867
+ return;
11868
+ }
11869
+
11870
+ (0, _util.assert)((0, _util.isArrayBuffer)(value));
11871
+ sink.enqueue(new Uint8Array(value), 1, [value]);
11872
+ })["catch"](function (reason) {
11873
+ sink.error(reason);
11874
+ });
11875
+ };
11876
+
11877
+ sink.onCancel = function (reason) {
11878
+ rangeReader.cancel(reason);
11879
+ };
11880
+ });
11881
+ messageHandler.on("GetDoc", function (_ref12) {
11882
+ var pdfInfo = _ref12.pdfInfo;
11883
+ _this14._numPages = pdfInfo.numPages;
11884
+
11885
+ loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this14));
11886
+ });
11887
+ messageHandler.on("DocException", function (ex) {
11888
+ var reason;
11889
+
11890
+ switch (ex.name) {
11891
+ case "PasswordException":
11892
+ reason = new _util.PasswordException(ex.message, ex.code);
11893
+ break;
11894
+
11895
+ case "InvalidPDFException":
11896
+ reason = new _util.InvalidPDFException(ex.message);
11897
+ break;
11898
+
11899
+ case "MissingPDFException":
11900
+ reason = new _util.MissingPDFException(ex.message);
11901
+ break;
11902
+
11903
+ case "UnexpectedResponseException":
11904
+ reason = new _util.UnexpectedResponseException(ex.message, ex.status);
11905
+ break;
11906
+
11907
+ case "UnknownErrorException":
11908
+ reason = new _util.UnknownErrorException(ex.message, ex.details);
11909
+ break;
11910
+ }
11911
+
11912
+ loadingTask._capability.reject(reason);
11913
+ });
11914
+ messageHandler.on("PasswordRequest", function (exception) {
11915
+ _this14._passwordCapability = (0, _util.createPromiseCapability)();
11916
+
11917
+ if (loadingTask.onPassword) {
11918
+ var updatePassword = function updatePassword(password) {
11919
+ _this14._passwordCapability.resolve({
11920
+ password: password
11921
+ });
11922
+ };
11923
+
11924
+ try {
11925
+ loadingTask.onPassword(updatePassword, exception.code);
11926
+ } catch (ex) {
11927
+ _this14._passwordCapability.reject(ex);
11928
+ }
11929
+ } else {
11930
+ _this14._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));
11931
+ }
11932
+
11933
+ return _this14._passwordCapability.promise;
11934
+ });
11935
+ messageHandler.on("DataLoaded", function (data) {
11936
+ if (loadingTask.onProgress) {
11937
+ loadingTask.onProgress({
11938
+ loaded: data.length,
11939
+ total: data.length
11940
+ });
11941
+ }
11942
+
11943
+ _this14.downloadInfoCapability.resolve(data);
11944
+ });
11945
+ messageHandler.on("StartRenderPage", function (data) {
11946
+ if (_this14.destroyed) {
11947
+ return;
11948
+ }
11949
+
11950
+ var page = _this14.pageCache[data.pageIndex];
11951
+
11952
+ page._startRenderPage(data.transparency, data.intent);
11953
+ });
11954
+ messageHandler.on("commonobj", function (data) {
11955
+ if (_this14.destroyed) {
11956
+ return;
11957
+ }
11958
+
11959
+ var _data = _slicedToArray(data, 3),
11960
+ id = _data[0],
11961
+ type = _data[1],
11962
+ exportedData = _data[2];
11963
+
11964
+ if (_this14.commonObjs.has(id)) {
11965
+ return;
11966
+ }
11967
+
11968
+ switch (type) {
11969
+ case "Font":
11970
+ var params = _this14._params;
11971
+
11972
+ if ("error" in exportedData) {
11973
+ var exportedError = exportedData.error;
11974
+ (0, _util.warn)("Error during font loading: ".concat(exportedError));
11975
+
11976
+ _this14.commonObjs.resolve(id, exportedError);
11977
+
11978
+ break;
11979
+ }
11980
+
11981
+ var fontRegistry = null;
11982
+
11983
+ if (params.pdfBug && globalThis.FontInspector && globalThis.FontInspector.enabled) {
11984
+ fontRegistry = {
11985
+ registerFont: function registerFont(font, url) {
11986
+ globalThis.FontInspector.fontAdded(font, url);
11987
+ }
11988
+ };
11989
+ }
11990
+
11991
+ var font = new _font_loader.FontFaceObject(exportedData, {
11992
+ isEvalSupported: params.isEvalSupported,
11993
+ disableFontFace: params.disableFontFace,
11994
+ ignoreErrors: params.ignoreErrors,
11995
+ onUnsupportedFeature: _this14._onUnsupportedFeature.bind(_this14),
11996
+ fontRegistry: fontRegistry
11997
+ });
11998
+
11999
+ _this14.fontLoader.bind(font).then(function () {
12000
+ _this14.commonObjs.resolve(id, font);
12001
+ }, function (reason) {
12002
+ messageHandler.sendWithPromise("FontFallback", {
12003
+ id: id
12004
+ })["finally"](function () {
12005
+ _this14.commonObjs.resolve(id, font);
12006
+ });
12007
+ });
12008
+
12009
+ break;
12010
+
12011
+ case "FontPath":
12012
+ case "FontType3Res":
12013
+ _this14.commonObjs.resolve(id, exportedData);
12014
+
12015
+ break;
12016
+
12017
+ default:
12018
+ throw new Error("Got unknown common object type ".concat(type));
12019
+ }
12020
+ });
12021
+ messageHandler.on("obj", function (data) {
12022
+ if (_this14.destroyed) {
12023
+ return undefined;
12024
+ }
12025
+
12026
+ var _data2 = _slicedToArray(data, 4),
12027
+ id = _data2[0],
12028
+ pageIndex = _data2[1],
12029
+ type = _data2[2],
12030
+ imageData = _data2[3];
12031
+
12032
+ var pageProxy = _this14.pageCache[pageIndex];
12033
+
12034
+ if (pageProxy.objs.has(id)) {
12035
+ return undefined;
12036
+ }
12037
+
12038
+ switch (type) {
12039
+ case "JpegStream":
12040
+ return new Promise(function (resolve, reject) {
12041
+ var img = new Image();
12042
+
12043
+ img.onload = function () {
12044
+ resolve(img);
12045
+ };
12046
+
12047
+ img.onerror = function () {
12048
+ reject(new Error("Error during JPEG image loading"));
12049
+ (0, _display_utils.releaseImageResources)(img);
12050
+ };
12051
+
12052
+ img.src = imageData;
12053
+ }).then(function (img) {
12054
+ pageProxy.objs.resolve(id, img);
12055
+ });
12056
+
12057
+ case "Image":
12058
+ pageProxy.objs.resolve(id, imageData);
12059
+ var MAX_IMAGE_SIZE_TO_STORE = 8000000;
12060
+
12061
+ if (imageData && "data" in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {
12062
+ pageProxy.cleanupAfterRender = true;
12063
+ }
12064
+
12065
+ break;
12066
+
12067
+ default:
12068
+ throw new Error("Got unknown object type ".concat(type));
12069
+ }
12070
+
12071
+ return undefined;
12072
+ });
12073
+ messageHandler.on("DocProgress", function (data) {
12074
+ if (_this14.destroyed) {
12075
+ return;
12076
+ }
12077
+
12078
+ if (loadingTask.onProgress) {
12079
+ loadingTask.onProgress({
12080
+ loaded: data.loaded,
12081
+ total: data.total
12082
+ });
12083
+ }
12084
+ });
12085
+ messageHandler.on("UnsupportedFeature", this._onUnsupportedFeature.bind(this));
12086
+ messageHandler.on("JpegDecode", function (data) {
12087
+ if (_this14.destroyed) {
12088
+ return Promise.reject(new Error("Worker was destroyed"));
12089
+ }
12090
+
12091
+ if (typeof document === "undefined") {
12092
+ return Promise.reject(new Error('"document" is not defined.'));
12093
+ }
12094
+
12095
+ var _data3 = _slicedToArray(data, 2),
12096
+ imageUrl = _data3[0],
12097
+ components = _data3[1];
12098
+
12099
+ if (components !== 3 && components !== 1) {
12100
+ return Promise.reject(new Error("Only 3 components or 1 component can be returned"));
12101
+ }
12102
+
12103
+ return new Promise(function (resolve, reject) {
12104
+ var img = new Image();
12105
+
12106
+ img.onload = function () {
12107
+ var width = img.width,
12108
+ height = img.height;
12109
+ var size = width * height;
12110
+ var rgbaLength = size * 4;
12111
+ var buf = new Uint8ClampedArray(size * components);
12112
+ var tmpCanvas = document.createElement("canvas");
12113
+ tmpCanvas.width = width;
12114
+ tmpCanvas.height = height;
12115
+ var tmpCtx = tmpCanvas.getContext("2d");
12116
+ tmpCtx.drawImage(img, 0, 0);
12117
+ var data = tmpCtx.getImageData(0, 0, width, height).data;
12118
+
12119
+ if (components === 3) {
12120
+ for (var i = 0, j = 0; i < rgbaLength; i += 4, j += 3) {
12121
+ buf[j] = data[i];
12122
+ buf[j + 1] = data[i + 1];
12123
+ buf[j + 2] = data[i + 2];
12124
+ }
12125
+ } else if (components === 1) {
12126
+ for (var _i2 = 0, _j = 0; _i2 < rgbaLength; _i2 += 4, _j++) {
12127
+ buf[_j] = data[_i2];
12128
+ }
12129
+ }
12130
+
12131
+ resolve({
12132
+ data: buf,
12133
+ width: width,
12134
+ height: height
12135
+ });
12136
+ (0, _display_utils.releaseImageResources)(img);
12137
+ tmpCanvas.width = 0;
12138
+ tmpCanvas.height = 0;
12139
+ tmpCanvas = null;
12140
+ tmpCtx = null;
12141
+ };
12142
+
12143
+ img.onerror = function () {
12144
+ reject(new Error("JpegDecode failed to load image"));
12145
+ (0, _display_utils.releaseImageResources)(img);
12146
+ };
12147
+
12148
+ img.src = imageUrl;
12149
+ });
12150
+ });
12151
+ messageHandler.on("FetchBuiltInCMap", function (data, sink) {
12152
+ if (_this14.destroyed) {
12153
+ sink.error(new Error("Worker was destroyed"));
12154
+ return;
12155
+ }
12156
+
12157
+ var fetched = false;
12158
+
12159
+ sink.onPull = function () {
12160
+ if (fetched) {
12161
+ sink.close();
12162
+ return;
12163
+ }
12164
+
12165
+ fetched = true;
12166
+
12167
+ _this14.CMapReaderFactory.fetch(data).then(function (builtInCMap) {
12168
+ sink.enqueue(builtInCMap, 1, [builtInCMap.cMapData.buffer]);
12169
+ })["catch"](function (reason) {
12170
+ sink.error(reason);
12171
+ });
12172
+ };
12173
+ });
12174
+ }
12175
+ }, {
12176
+ key: "_onUnsupportedFeature",
12177
+ value: function _onUnsupportedFeature(_ref13) {
12178
+ var featureId = _ref13.featureId;
12179
+
12180
+ if (this.destroyed) {
12181
+ return;
12182
+ }
12183
+
12184
+ if (this.loadingTask.onUnsupportedFeature) {
12185
+ this.loadingTask.onUnsupportedFeature(featureId);
12186
+ }
12187
+ }
12188
+ }, {
12189
+ key: "getData",
12190
+ value: function getData() {
12191
+ return this.messageHandler.sendWithPromise("GetData", null);
12192
+ }
12193
+ }, {
12194
+ key: "getPage",
12195
+ value: function getPage(pageNumber) {
12196
+ var _this15 = this;
12197
+
12198
+ if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {
12199
+ return Promise.reject(new Error("Invalid page request"));
12200
+ }
12201
+
12202
+ var pageIndex = pageNumber - 1;
12203
+
12204
+ if (pageIndex in this.pagePromises) {
12205
+ return this.pagePromises[pageIndex];
12206
+ }
12207
+
12208
+ var promise = this.messageHandler.sendWithPromise("GetPage", {
12209
+ pageIndex: pageIndex
12210
+ }).then(function (pageInfo) {
12211
+ if (_this15.destroyed) {
12212
+ throw new Error("Transport destroyed");
12213
+ }
12214
+
12215
+ var page = new PDFPageProxy(pageIndex, pageInfo, _this15, _this15._params.pdfBug);
12216
+ _this15.pageCache[pageIndex] = page;
12217
+ return page;
12218
+ });
12219
+ this.pagePromises[pageIndex] = promise;
12220
+ return promise;
12221
+ }
12222
+ }, {
12223
+ key: "getPageIndex",
12224
+ value: function getPageIndex(ref) {
12225
+ return this.messageHandler.sendWithPromise("GetPageIndex", {
12226
+ ref: ref
12227
+ })["catch"](function (reason) {
12228
+ return Promise.reject(new Error(reason));
12229
+ });
12230
+ }
12231
+ }, {
12232
+ key: "getAnnotations",
12233
+ value: function getAnnotations(pageIndex, intent) {
12234
+ return this.messageHandler.sendWithPromise("GetAnnotations", {
12235
+ pageIndex: pageIndex,
12236
+ intent: intent
12237
+ });
12238
+ }
12239
+ }, {
12240
+ key: "getDestinations",
12241
+ value: function getDestinations() {
12242
+ return this.messageHandler.sendWithPromise("GetDestinations", null);
12243
+ }
12244
+ }, {
12245
+ key: "getDestination",
12246
+ value: function getDestination(id) {
12247
+ if (typeof id !== "string") {
12248
+ return Promise.reject(new Error("Invalid destination request."));
12249
+ }
12250
+
12251
+ return this.messageHandler.sendWithPromise("GetDestination", {
12252
+ id: id
12253
+ });
12254
+ }
12255
+ }, {
12256
+ key: "getPageLabels",
12257
+ value: function getPageLabels() {
12258
+ return this.messageHandler.sendWithPromise("GetPageLabels", null);
12259
+ }
12260
+ }, {
12261
+ key: "getPageLayout",
12262
+ value: function getPageLayout() {
12263
+ return this.messageHandler.sendWithPromise("GetPageLayout", null);
12264
+ }
12265
+ }, {
12266
+ key: "getPageMode",
12267
+ value: function getPageMode() {
12268
+ return this.messageHandler.sendWithPromise("GetPageMode", null);
12269
+ }
12270
+ }, {
12271
+ key: "getViewerPreferences",
12272
+ value: function getViewerPreferences() {
12273
+ return this.messageHandler.sendWithPromise("GetViewerPreferences", null);
12274
+ }
12275
+ }, {
12276
+ key: "getOpenActionDestination",
12277
+ value: function getOpenActionDestination() {
12278
+ return this.messageHandler.sendWithPromise("GetOpenActionDestination", null);
12279
+ }
12280
+ }, {
12281
+ key: "getAttachments",
12282
+ value: function getAttachments() {
12283
+ return this.messageHandler.sendWithPromise("GetAttachments", null);
12284
+ }
12285
+ }, {
12286
+ key: "getJavaScript",
12287
+ value: function getJavaScript() {
12288
+ return this.messageHandler.sendWithPromise("GetJavaScript", null);
12289
+ }
12290
+ }, {
12291
+ key: "getOutline",
12292
+ value: function getOutline() {
12293
+ return this.messageHandler.sendWithPromise("GetOutline", null);
12294
+ }
12295
+ }, {
12296
+ key: "getPermissions",
12297
+ value: function getPermissions() {
12298
+ return this.messageHandler.sendWithPromise("GetPermissions", null);
12299
+ }
12300
+ }, {
12301
+ key: "getMetadata",
12302
+ value: function getMetadata() {
12303
+ var _this16 = this;
12304
+
12305
+ return this.messageHandler.sendWithPromise("GetMetadata", null).then(function (results) {
12306
+ return {
12307
+ info: results[0],
12308
+ metadata: results[1] ? new _metadata.Metadata(results[1]) : null,
12309
+ contentDispositionFilename: _this16._fullReader ? _this16._fullReader.filename : null
12310
+ };
12311
+ });
12312
+ }
12313
+ }, {
12314
+ key: "getStats",
12315
+ value: function getStats() {
12316
+ return this.messageHandler.sendWithPromise("GetStats", null);
12317
+ }
12318
+ }, {
12319
+ key: "startCleanup",
12320
+ value: function startCleanup() {
12321
+ var _this17 = this;
12322
+
12323
+ return this.messageHandler.sendWithPromise("Cleanup", null).then(function () {
12324
+ for (var i = 0, ii = _this17.pageCache.length; i < ii; i++) {
12325
+ var page = _this17.pageCache[i];
12326
+
12327
+ if (page) {
12328
+ var cleanupSuccessful = page.cleanup();
12329
+
12330
+ if (!cleanupSuccessful) {
12331
+ throw new Error("startCleanup: Page ".concat(i + 1, " is currently rendering."));
12332
+ }
12333
+ }
12334
+ }
12335
+
12336
+ _this17.commonObjs.clear();
12337
+
12338
+ _this17.fontLoader.clear();
12339
+ });
12340
+ }
12341
+ }, {
12342
+ key: "loadingParams",
12343
+ get: function get() {
12344
+ var params = this._params;
12345
+ return (0, _util.shadow)(this, "loadingParams", {
12346
+ disableAutoFetch: params.disableAutoFetch,
12347
+ disableCreateObjectURL: params.disableCreateObjectURL,
12348
+ disableFontFace: params.disableFontFace,
12349
+ nativeImageDecoderSupport: params.nativeImageDecoderSupport
12350
+ });
12351
+ }
12352
+ }]);
12353
+
12354
+ return WorkerTransport;
12355
+ }();
12356
+
12357
+ var PDFObjects =
12358
+ /*#__PURE__*/
12359
+ function () {
12360
+ function PDFObjects() {
12361
+ _classCallCheck(this, PDFObjects);
12362
+
12363
+ this._objs = Object.create(null);
12364
+ }
12365
+
12366
+ _createClass(PDFObjects, [{
12367
+ key: "_ensureObj",
12368
+ value: function _ensureObj(objId) {
12369
+ if (this._objs[objId]) {
12370
+ return this._objs[objId];
12371
+ }
12372
+
12373
+ return this._objs[objId] = {
12374
+ capability: (0, _util.createPromiseCapability)(),
12375
+ data: null,
12376
+ resolved: false
12377
+ };
12378
+ }
12379
+ }, {
12380
+ key: "get",
12381
+ value: function get(objId) {
12382
+ var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
12383
+
12384
+ if (callback) {
12385
+ this._ensureObj(objId).capability.promise.then(callback);
12386
+
12387
+ return null;
12388
+ }
12389
+
12390
+ var obj = this._objs[objId];
12391
+
12392
+ if (!obj || !obj.resolved) {
12393
+ throw new Error("Requesting object that isn't resolved yet ".concat(objId, "."));
12394
+ }
12395
+
12396
+ return obj.data;
12397
+ }
12398
+ }, {
12399
+ key: "has",
12400
+ value: function has(objId) {
12401
+ var obj = this._objs[objId];
12402
+ return obj ? obj.resolved : false;
12403
+ }
12404
+ }, {
12405
+ key: "resolve",
12406
+ value: function resolve(objId, data) {
12407
+ var obj = this._ensureObj(objId);
12408
+
12409
+ obj.resolved = true;
12410
+ obj.data = data;
12411
+ obj.capability.resolve(data);
12412
+ }
12413
+ }, {
12414
+ key: "clear",
12415
+ value: function clear() {
12416
+ for (var objId in this._objs) {
12417
+ var data = this._objs[objId].data;
12418
+
12419
+ if (typeof Image !== "undefined" && data instanceof Image) {
12420
+ (0, _display_utils.releaseImageResources)(data);
12421
+ }
12422
+ }
12423
+
12424
+ this._objs = Object.create(null);
12425
+ }
12426
+ }]);
12427
+
12428
+ return PDFObjects;
12429
+ }();
12430
+
12431
+ var RenderTask =
12432
+ /*#__PURE__*/
12433
+ function () {
12434
+ function RenderTask(internalRenderTask) {
12435
+ _classCallCheck(this, RenderTask);
12436
+
12437
+ this._internalRenderTask = internalRenderTask;
12438
+ this.onContinue = null;
12439
+ }
12440
+
12441
+ _createClass(RenderTask, [{
12442
+ key: "cancel",
12443
+ value: function cancel() {
12444
+ this._internalRenderTask.cancel();
12445
+ }
12446
+ }, {
12447
+ key: "then",
12448
+ value: function then(onFulfilled, onRejected) {
12449
+ throw new Error("Removed API method: " + "RenderTask.then, use the `promise` getter instead.");
12450
+ }
12451
+ }, {
12452
+ key: "promise",
12453
+ get: function get() {
12454
+ return this._internalRenderTask.capability.promise;
12455
+ }
12456
+ }]);
12457
+
12458
+ return RenderTask;
12459
+ }();
12460
+
12461
+ var InternalRenderTask = function InternalRenderTaskClosure() {
12462
+ var canvasInRendering = new WeakSet();
12463
+
12464
+ var InternalRenderTask =
12465
+ /*#__PURE__*/
12466
+ function () {
12467
+ function InternalRenderTask(_ref14) {
12468
+ var callback = _ref14.callback,
12469
+ params = _ref14.params,
12470
+ objs = _ref14.objs,
12471
+ commonObjs = _ref14.commonObjs,
12472
+ operatorList = _ref14.operatorList,
12473
+ pageNumber = _ref14.pageNumber,
12474
+ canvasFactory = _ref14.canvasFactory,
12475
+ webGLContext = _ref14.webGLContext,
12476
+ _ref14$useRequestAnim = _ref14.useRequestAnimationFrame,
12477
+ useRequestAnimationFrame = _ref14$useRequestAnim === void 0 ? false : _ref14$useRequestAnim,
12478
+ _ref14$pdfBug = _ref14.pdfBug,
12479
+ pdfBug = _ref14$pdfBug === void 0 ? false : _ref14$pdfBug;
12480
+
12481
+ _classCallCheck(this, InternalRenderTask);
12482
+
12483
+ this.callback = callback;
12484
+ this.params = params;
12485
+ this.objs = objs;
12486
+ this.commonObjs = commonObjs;
12487
+ this.operatorListIdx = null;
12488
+ this.operatorList = operatorList;
12489
+ this.pageNumber = pageNumber;
12490
+ this.canvasFactory = canvasFactory;
12491
+ this.webGLContext = webGLContext;
12492
+ this._pdfBug = pdfBug;
12493
+ this.running = false;
12494
+ this.graphicsReadyCallback = null;
12495
+ this.graphicsReady = false;
12496
+ this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== "undefined";
12497
+ this.cancelled = false;
12498
+ this.capability = (0, _util.createPromiseCapability)();
12499
+ this.task = new RenderTask(this);
12500
+ this._continueBound = this._continue.bind(this);
12501
+ this._scheduleNextBound = this._scheduleNext.bind(this);
12502
+ this._nextBound = this._next.bind(this);
12503
+ this._canvas = params.canvasContext.canvas;
12504
+ }
12505
+
12506
+ _createClass(InternalRenderTask, [{
12507
+ key: "initializeGraphics",
12508
+ value: function initializeGraphics() {
12509
+ var transparency = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
12510
+
12511
+ if (this.cancelled) {
12512
+ return;
12513
+ }
12514
+
12515
+ if (this._canvas) {
12516
+ if (canvasInRendering.has(this._canvas)) {
12517
+ throw new Error("Cannot use the same canvas during multiple render() operations. " + "Use different canvas or ensure previous operations were " + "cancelled or completed.");
12518
+ }
12519
+
12520
+ canvasInRendering.add(this._canvas);
12521
+ }
12522
+
12523
+ if (this._pdfBug && globalThis.StepperManager && globalThis.StepperManager.enabled) {
12524
+ this.stepper = globalThis.StepperManager.create(this.pageNumber - 1);
12525
+ this.stepper.init(this.operatorList);
12526
+ this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();
12527
+ }
12528
+
12529
+ var _this$params = this.params,
12530
+ canvasContext = _this$params.canvasContext,
12531
+ viewport = _this$params.viewport,
12532
+ transform = _this$params.transform,
12533
+ imageLayer = _this$params.imageLayer,
12534
+ background = _this$params.background;
12535
+ this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, imageLayer);
12536
+ this.gfx.beginDrawing({
12537
+ transform: transform,
12538
+ viewport: viewport,
12539
+ transparency: transparency,
12540
+ background: background
12541
+ });
12542
+ this.operatorListIdx = 0;
12543
+ this.graphicsReady = true;
12544
+
12545
+ if (this.graphicsReadyCallback) {
12546
+ this.graphicsReadyCallback();
12547
+ }
12548
+ }
12549
+ }, {
12550
+ key: "cancel",
12551
+ value: function cancel() {
12552
+ var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
12553
+ this.running = false;
12554
+ this.cancelled = true;
12555
+
12556
+ if (this.gfx) {
12557
+ this.gfx.endDrawing();
12558
+ }
12559
+
12560
+ if (this._canvas) {
12561
+ canvasInRendering["delete"](this._canvas);
12562
+ }
12563
+
12564
+ this.callback(error || new _display_utils.RenderingCancelledException("Rendering cancelled, page ".concat(this.pageNumber), "canvas"));
12565
+ }
12566
+ }, {
12567
+ key: "operatorListChanged",
12568
+ value: function operatorListChanged() {
12569
+ if (!this.graphicsReady) {
12570
+ if (!this.graphicsReadyCallback) {
12571
+ this.graphicsReadyCallback = this._continueBound;
12572
+ }
12573
+
12574
+ return;
12575
+ }
12576
+
12577
+ if (this.stepper) {
12578
+ this.stepper.updateOperatorList(this.operatorList);
12579
+ }
12580
+
12581
+ if (this.running) {
12582
+ return;
12583
+ }
12584
+
12585
+ this._continue();
12586
+ }
12587
+ }, {
12588
+ key: "_continue",
12589
+ value: function _continue() {
12590
+ this.running = true;
12591
+
12592
+ if (this.cancelled) {
12593
+ return;
12594
+ }
12595
+
12596
+ if (this.task.onContinue) {
12597
+ this.task.onContinue(this._scheduleNextBound);
12598
+ } else {
12599
+ this._scheduleNext();
12600
+ }
12601
+ }
12602
+ }, {
12603
+ key: "_scheduleNext",
12604
+ value: function _scheduleNext() {
12605
+ var _this18 = this;
12606
+
12607
+ if (this._useRequestAnimationFrame) {
12608
+ window.requestAnimationFrame(function () {
12609
+ _this18._nextBound()["catch"](_this18.cancel.bind(_this18));
12610
+ });
12611
+ } else {
12612
+ Promise.resolve().then(this._nextBound)["catch"](this.cancel.bind(this));
12613
+ }
12614
+ }
12615
+ }, {
12616
+ key: "_next",
12617
+ value: function () {
12618
+ var _next2 = _asyncToGenerator(
12619
+ /*#__PURE__*/
12620
+ _regenerator["default"].mark(function _callee2() {
12621
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
12622
+ while (1) {
12623
+ switch (_context2.prev = _context2.next) {
12624
+ case 0:
12625
+ if (!this.cancelled) {
12626
+ _context2.next = 2;
12627
+ break;
12628
+ }
12629
+
12630
+ return _context2.abrupt("return");
12631
+
12632
+ case 2:
12633
+ this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);
12634
+
12635
+ if (this.operatorListIdx === this.operatorList.argsArray.length) {
12636
+ this.running = false;
12637
+
12638
+ if (this.operatorList.lastChunk) {
12639
+ this.gfx.endDrawing();
12640
+
12641
+ if (this._canvas) {
12642
+ canvasInRendering["delete"](this._canvas);
12643
+ }
12644
+
12645
+ this.callback();
12646
+ }
12647
+ }
12648
+
12649
+ case 4:
12650
+ case "end":
12651
+ return _context2.stop();
12652
+ }
12653
+ }
12654
+ }, _callee2, this);
12655
+ }));
12656
+
12657
+ function _next() {
12658
+ return _next2.apply(this, arguments);
12659
+ }
12660
+
12661
+ return _next;
12662
+ }()
12663
+ }]);
12664
+
12665
+ return InternalRenderTask;
12666
+ }();
12667
+
12668
+ return InternalRenderTask;
12669
+ }();
12670
+
12671
+ var version = '2.4.349';
12672
+ exports.version = version;
12673
+ var build = 'dced0a38';
12674
+ exports.build = build;
12675
+
12676
+ /***/ }),
12677
+ /* 186 */
12678
+ /***/ (function(module, exports, __w_pdfjs_require__) {
12679
+
12680
+ "use strict";
12681
+
12682
+
12683
+ module.exports = __w_pdfjs_require__(187);
12684
+
12685
+ /***/ }),
12686
+ /* 187 */
12687
+ /***/ (function(module, exports, __w_pdfjs_require__) {
12688
+
12689
+ "use strict";
12690
+ /* WEBPACK VAR INJECTION */(function(module) {
12691
+
12692
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
12693
+
12694
+ var runtime = function (exports) {
12695
+ "use strict";
12696
+
12697
+ var Op = Object.prototype;
12698
+ var hasOwn = Op.hasOwnProperty;
12699
+ var undefined;
12700
+ var $Symbol = typeof Symbol === "function" ? Symbol : {};
12701
+ var iteratorSymbol = $Symbol.iterator || "@@iterator";
12702
+ var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
12703
+ var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
12704
+
12705
+ function wrap(innerFn, outerFn, self, tryLocsList) {
12706
+ var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
12707
+ var generator = Object.create(protoGenerator.prototype);
12708
+ var context = new Context(tryLocsList || []);
12709
+ generator._invoke = makeInvokeMethod(innerFn, self, context);
12710
+ return generator;
12711
+ }
12712
+
12713
+ exports.wrap = wrap;
12714
+
12715
+ function tryCatch(fn, obj, arg) {
12716
+ try {
12717
+ return {
12718
+ type: "normal",
12719
+ arg: fn.call(obj, arg)
12720
+ };
12721
+ } catch (err) {
12722
+ return {
12723
+ type: "throw",
12724
+ arg: err
12725
+ };
12726
+ }
12727
+ }
12728
+
12729
+ var GenStateSuspendedStart = "suspendedStart";
12730
+ var GenStateSuspendedYield = "suspendedYield";
12731
+ var GenStateExecuting = "executing";
12732
+ var GenStateCompleted = "completed";
12733
+ var ContinueSentinel = {};
12734
+
12735
+ function Generator() {}
12736
+
12737
+ function GeneratorFunction() {}
12738
+
12739
+ function GeneratorFunctionPrototype() {}
12740
+
12741
+ var IteratorPrototype = {};
12742
+
12743
+ IteratorPrototype[iteratorSymbol] = function () {
12744
+ return this;
12745
+ };
12746
+
12747
+ var getProto = Object.getPrototypeOf;
12748
+ var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
12749
+
12750
+ if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
12751
+ IteratorPrototype = NativeIteratorPrototype;
12752
+ }
12753
+
12754
+ var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);
12755
+ GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
12756
+ GeneratorFunctionPrototype.constructor = GeneratorFunction;
12757
+ GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = "GeneratorFunction";
12758
+
12759
+ function defineIteratorMethods(prototype) {
12760
+ ["next", "throw", "return"].forEach(function (method) {
12761
+ prototype[method] = function (arg) {
12762
+ return this._invoke(method, arg);
12763
+ };
12764
+ });
12765
+ }
12766
+
12767
+ exports.isGeneratorFunction = function (genFun) {
12768
+ var ctor = typeof genFun === "function" && genFun.constructor;
12769
+ return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === "GeneratorFunction" : false;
12770
+ };
12771
+
12772
+ exports.mark = function (genFun) {
12773
+ if (Object.setPrototypeOf) {
12774
+ Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
12775
+ } else {
12776
+ genFun.__proto__ = GeneratorFunctionPrototype;
12777
+
12778
+ if (!(toStringTagSymbol in genFun)) {
12779
+ genFun[toStringTagSymbol] = "GeneratorFunction";
12780
+ }
12781
+ }
12782
+
12783
+ genFun.prototype = Object.create(Gp);
12784
+ return genFun;
12785
+ };
12786
+
12787
+ exports.awrap = function (arg) {
12788
+ return {
12789
+ __await: arg
12790
+ };
12791
+ };
12792
+
12793
+ function AsyncIterator(generator) {
12794
+ function invoke(method, arg, resolve, reject) {
12795
+ var record = tryCatch(generator[method], generator, arg);
12796
+
12797
+ if (record.type === "throw") {
12798
+ reject(record.arg);
12799
+ } else {
12800
+ var result = record.arg;
12801
+ var value = result.value;
12802
+
12803
+ if (value && _typeof(value) === "object" && hasOwn.call(value, "__await")) {
12804
+ return Promise.resolve(value.__await).then(function (value) {
12805
+ invoke("next", value, resolve, reject);
12806
+ }, function (err) {
12807
+ invoke("throw", err, resolve, reject);
12808
+ });
12809
+ }
12810
+
12811
+ return Promise.resolve(value).then(function (unwrapped) {
12812
+ result.value = unwrapped;
12813
+ resolve(result);
12814
+ }, function (error) {
12815
+ return invoke("throw", error, resolve, reject);
12816
+ });
12817
+ }
12818
+ }
12819
+
12820
+ var previousPromise;
12821
+
12822
+ function enqueue(method, arg) {
12823
+ function callInvokeWithMethodAndArg() {
12824
+ return new Promise(function (resolve, reject) {
12825
+ invoke(method, arg, resolve, reject);
12826
+ });
12827
+ }
12828
+
12829
+ return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
12830
+ }
12831
+
12832
+ this._invoke = enqueue;
12833
+ }
12834
+
12835
+ defineIteratorMethods(AsyncIterator.prototype);
12836
+
12837
+ AsyncIterator.prototype[asyncIteratorSymbol] = function () {
12838
+ return this;
12839
+ };
12840
+
12841
+ exports.AsyncIterator = AsyncIterator;
12842
+
12843
+ exports.async = function (innerFn, outerFn, self, tryLocsList) {
12844
+ var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList));
12845
+ return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {
12846
+ return result.done ? result.value : iter.next();
12847
+ });
12848
+ };
12849
+
12850
+ function makeInvokeMethod(innerFn, self, context) {
12851
+ var state = GenStateSuspendedStart;
12852
+ return function invoke(method, arg) {
12853
+ if (state === GenStateExecuting) {
12854
+ throw new Error("Generator is already running");
12855
+ }
12856
+
12857
+ if (state === GenStateCompleted) {
12858
+ if (method === "throw") {
12859
+ throw arg;
12860
+ }
12861
+
12862
+ return doneResult();
12863
+ }
12864
+
12865
+ context.method = method;
12866
+ context.arg = arg;
12867
+
12868
+ while (true) {
12869
+ var delegate = context.delegate;
12870
+
12871
+ if (delegate) {
12872
+ var delegateResult = maybeInvokeDelegate(delegate, context);
12873
+
12874
+ if (delegateResult) {
12875
+ if (delegateResult === ContinueSentinel) continue;
12876
+ return delegateResult;
12877
+ }
12878
+ }
12879
+
12880
+ if (context.method === "next") {
12881
+ context.sent = context._sent = context.arg;
12882
+ } else if (context.method === "throw") {
12883
+ if (state === GenStateSuspendedStart) {
12884
+ state = GenStateCompleted;
12885
+ throw context.arg;
12886
+ }
12887
+
12888
+ context.dispatchException(context.arg);
12889
+ } else if (context.method === "return") {
12890
+ context.abrupt("return", context.arg);
12891
+ }
12892
+
12893
+ state = GenStateExecuting;
12894
+ var record = tryCatch(innerFn, self, context);
12895
+
12896
+ if (record.type === "normal") {
12897
+ state = context.done ? GenStateCompleted : GenStateSuspendedYield;
12898
+
12899
+ if (record.arg === ContinueSentinel) {
12900
+ continue;
12901
+ }
12902
+
12903
+ return {
12904
+ value: record.arg,
12905
+ done: context.done
12906
+ };
12907
+ } else if (record.type === "throw") {
12908
+ state = GenStateCompleted;
12909
+ context.method = "throw";
12910
+ context.arg = record.arg;
12911
+ }
12912
+ }
12913
+ };
12914
+ }
12915
+
12916
+ function maybeInvokeDelegate(delegate, context) {
12917
+ var method = delegate.iterator[context.method];
12918
+
12919
+ if (method === undefined) {
12920
+ context.delegate = null;
12921
+
12922
+ if (context.method === "throw") {
12923
+ if (delegate.iterator["return"]) {
12924
+ context.method = "return";
12925
+ context.arg = undefined;
12926
+ maybeInvokeDelegate(delegate, context);
12927
+
12928
+ if (context.method === "throw") {
12929
+ return ContinueSentinel;
12930
+ }
12931
+ }
12932
+
12933
+ context.method = "throw";
12934
+ context.arg = new TypeError("The iterator does not provide a 'throw' method");
12935
+ }
12936
+
12937
+ return ContinueSentinel;
12938
+ }
12939
+
12940
+ var record = tryCatch(method, delegate.iterator, context.arg);
12941
+
12942
+ if (record.type === "throw") {
12943
+ context.method = "throw";
12944
+ context.arg = record.arg;
12945
+ context.delegate = null;
12946
+ return ContinueSentinel;
12947
+ }
12948
+
12949
+ var info = record.arg;
12950
+
12951
+ if (!info) {
12952
+ context.method = "throw";
12953
+ context.arg = new TypeError("iterator result is not an object");
12954
+ context.delegate = null;
12955
+ return ContinueSentinel;
12956
+ }
12957
+
12958
+ if (info.done) {
12959
+ context[delegate.resultName] = info.value;
12960
+ context.next = delegate.nextLoc;
12961
+
12962
+ if (context.method !== "return") {
12963
+ context.method = "next";
12964
+ context.arg = undefined;
12965
+ }
12966
+ } else {
12967
+ return info;
12968
+ }
12969
+
12970
+ context.delegate = null;
12971
+ return ContinueSentinel;
12972
+ }
12973
+
12974
+ defineIteratorMethods(Gp);
12975
+ Gp[toStringTagSymbol] = "Generator";
12976
+
12977
+ Gp[iteratorSymbol] = function () {
12978
+ return this;
12979
+ };
12980
+
12981
+ Gp.toString = function () {
12982
+ return "[object Generator]";
12983
+ };
12984
+
12985
+ function pushTryEntry(locs) {
12986
+ var entry = {
12987
+ tryLoc: locs[0]
12988
+ };
12989
+
12990
+ if (1 in locs) {
12991
+ entry.catchLoc = locs[1];
12992
+ }
12993
+
12994
+ if (2 in locs) {
12995
+ entry.finallyLoc = locs[2];
12996
+ entry.afterLoc = locs[3];
12997
+ }
12998
+
12999
+ this.tryEntries.push(entry);
13000
+ }
13001
+
13002
+ function resetTryEntry(entry) {
13003
+ var record = entry.completion || {};
13004
+ record.type = "normal";
13005
+ delete record.arg;
13006
+ entry.completion = record;
13007
+ }
13008
+
13009
+ function Context(tryLocsList) {
13010
+ this.tryEntries = [{
13011
+ tryLoc: "root"
13012
+ }];
13013
+ tryLocsList.forEach(pushTryEntry, this);
13014
+ this.reset(true);
13015
+ }
13016
+
13017
+ exports.keys = function (object) {
13018
+ var keys = [];
13019
+
13020
+ for (var key in object) {
13021
+ keys.push(key);
13022
+ }
13023
+
13024
+ keys.reverse();
13025
+ return function next() {
13026
+ while (keys.length) {
13027
+ var key = keys.pop();
13028
+
13029
+ if (key in object) {
13030
+ next.value = key;
13031
+ next.done = false;
13032
+ return next;
13033
+ }
13034
+ }
13035
+
13036
+ next.done = true;
13037
+ return next;
13038
+ };
13039
+ };
13040
+
13041
+ function values(iterable) {
13042
+ if (iterable) {
13043
+ var iteratorMethod = iterable[iteratorSymbol];
13044
+
13045
+ if (iteratorMethod) {
13046
+ return iteratorMethod.call(iterable);
13047
+ }
13048
+
13049
+ if (typeof iterable.next === "function") {
13050
+ return iterable;
13051
+ }
13052
+
13053
+ if (!isNaN(iterable.length)) {
13054
+ var i = -1,
13055
+ next = function next() {
13056
+ while (++i < iterable.length) {
13057
+ if (hasOwn.call(iterable, i)) {
13058
+ next.value = iterable[i];
13059
+ next.done = false;
13060
+ return next;
13061
+ }
13062
+ }
13063
+
13064
+ next.value = undefined;
13065
+ next.done = true;
13066
+ return next;
13067
+ };
13068
+
13069
+ return next.next = next;
13070
+ }
13071
+ }
13072
+
13073
+ return {
13074
+ next: doneResult
13075
+ };
13076
+ }
13077
+
13078
+ exports.values = values;
13079
+
13080
+ function doneResult() {
13081
+ return {
13082
+ value: undefined,
13083
+ done: true
13084
+ };
13085
+ }
13086
+
13087
+ Context.prototype = {
13088
+ constructor: Context,
13089
+ reset: function reset(skipTempReset) {
13090
+ this.prev = 0;
13091
+ this.next = 0;
13092
+ this.sent = this._sent = undefined;
13093
+ this.done = false;
13094
+ this.delegate = null;
13095
+ this.method = "next";
13096
+ this.arg = undefined;
13097
+ this.tryEntries.forEach(resetTryEntry);
13098
+
13099
+ if (!skipTempReset) {
13100
+ for (var name in this) {
13101
+ if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {
13102
+ this[name] = undefined;
13103
+ }
13104
+ }
13105
+ }
13106
+ },
13107
+ stop: function stop() {
13108
+ this.done = true;
13109
+ var rootEntry = this.tryEntries[0];
13110
+ var rootRecord = rootEntry.completion;
13111
+
13112
+ if (rootRecord.type === "throw") {
13113
+ throw rootRecord.arg;
13114
+ }
13115
+
13116
+ return this.rval;
13117
+ },
13118
+ dispatchException: function dispatchException(exception) {
13119
+ if (this.done) {
13120
+ throw exception;
13121
+ }
13122
+
13123
+ var context = this;
13124
+
13125
+ function handle(loc, caught) {
13126
+ record.type = "throw";
13127
+ record.arg = exception;
13128
+ context.next = loc;
13129
+
13130
+ if (caught) {
13131
+ context.method = "next";
13132
+ context.arg = undefined;
13133
+ }
13134
+
13135
+ return !!caught;
13136
+ }
13137
+
13138
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
13139
+ var entry = this.tryEntries[i];
13140
+ var record = entry.completion;
13141
+
13142
+ if (entry.tryLoc === "root") {
13143
+ return handle("end");
13144
+ }
13145
+
13146
+ if (entry.tryLoc <= this.prev) {
13147
+ var hasCatch = hasOwn.call(entry, "catchLoc");
13148
+ var hasFinally = hasOwn.call(entry, "finallyLoc");
13149
+
13150
+ if (hasCatch && hasFinally) {
13151
+ if (this.prev < entry.catchLoc) {
13152
+ return handle(entry.catchLoc, true);
13153
+ } else if (this.prev < entry.finallyLoc) {
13154
+ return handle(entry.finallyLoc);
13155
+ }
13156
+ } else if (hasCatch) {
13157
+ if (this.prev < entry.catchLoc) {
13158
+ return handle(entry.catchLoc, true);
13159
+ }
13160
+ } else if (hasFinally) {
13161
+ if (this.prev < entry.finallyLoc) {
13162
+ return handle(entry.finallyLoc);
13163
+ }
13164
+ } else {
13165
+ throw new Error("try statement without catch or finally");
13166
+ }
13167
+ }
13168
+ }
13169
+ },
13170
+ abrupt: function abrupt(type, arg) {
13171
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
13172
+ var entry = this.tryEntries[i];
13173
+
13174
+ if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
13175
+ var finallyEntry = entry;
13176
+ break;
13177
+ }
13178
+ }
13179
+
13180
+ if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {
13181
+ finallyEntry = null;
13182
+ }
13183
+
13184
+ var record = finallyEntry ? finallyEntry.completion : {};
13185
+ record.type = type;
13186
+ record.arg = arg;
13187
+
13188
+ if (finallyEntry) {
13189
+ this.method = "next";
13190
+ this.next = finallyEntry.finallyLoc;
13191
+ return ContinueSentinel;
13192
+ }
13193
+
13194
+ return this.complete(record);
13195
+ },
13196
+ complete: function complete(record, afterLoc) {
13197
+ if (record.type === "throw") {
13198
+ throw record.arg;
13199
+ }
13200
+
13201
+ if (record.type === "break" || record.type === "continue") {
13202
+ this.next = record.arg;
13203
+ } else if (record.type === "return") {
13204
+ this.rval = this.arg = record.arg;
13205
+ this.method = "return";
13206
+ this.next = "end";
13207
+ } else if (record.type === "normal" && afterLoc) {
13208
+ this.next = afterLoc;
13209
+ }
13210
+
13211
+ return ContinueSentinel;
13212
+ },
13213
+ finish: function finish(finallyLoc) {
13214
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
13215
+ var entry = this.tryEntries[i];
13216
+
13217
+ if (entry.finallyLoc === finallyLoc) {
13218
+ this.complete(entry.completion, entry.afterLoc);
13219
+ resetTryEntry(entry);
13220
+ return ContinueSentinel;
13221
+ }
13222
+ }
13223
+ },
13224
+ "catch": function _catch(tryLoc) {
13225
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
13226
+ var entry = this.tryEntries[i];
13227
+
13228
+ if (entry.tryLoc === tryLoc) {
13229
+ var record = entry.completion;
13230
+
13231
+ if (record.type === "throw") {
13232
+ var thrown = record.arg;
13233
+ resetTryEntry(entry);
13234
+ }
13235
+
13236
+ return thrown;
13237
+ }
13238
+ }
13239
+
13240
+ throw new Error("illegal catch attempt");
13241
+ },
13242
+ delegateYield: function delegateYield(iterable, resultName, nextLoc) {
13243
+ this.delegate = {
13244
+ iterator: values(iterable),
13245
+ resultName: resultName,
13246
+ nextLoc: nextLoc
13247
+ };
13248
+
13249
+ if (this.method === "next") {
13250
+ this.arg = undefined;
13251
+ }
13252
+
13253
+ return ContinueSentinel;
13254
+ }
13255
+ };
13256
+ return exports;
13257
+ }(( false ? undefined : _typeof(module)) === "object" ? module.exports : {});
13258
+
13259
+ try {
13260
+ regeneratorRuntime = runtime;
13261
+ } catch (accidentalStrictMode) {
13262
+ Function("r", "regeneratorRuntime = r")(runtime);
13263
+ }
13264
+ /* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(188)(module)))
13265
+
13266
+ /***/ }),
13267
+ /* 188 */
13268
+ /***/ (function(module, exports, __w_pdfjs_require__) {
13269
+
13270
+ "use strict";
13271
+
13272
+
13273
+ module.exports = function (module) {
13274
+ if (!module.webpackPolyfill) {
13275
+ module.deprecate = function () {};
13276
+
13277
+ module.paths = [];
13278
+ if (!module.children) module.children = [];
13279
+ Object.defineProperty(module, "loaded", {
13280
+ enumerable: true,
13281
+ get: function get() {
13282
+ return module.l;
13283
+ }
13284
+ });
13285
+ Object.defineProperty(module, "id", {
13286
+ enumerable: true,
13287
+ get: function get() {
13288
+ return module.i;
13289
+ }
13290
+ });
13291
+ module.webpackPolyfill = 1;
13292
+ }
13293
+
13294
+ return module;
13295
+ };
13296
+
13297
+ /***/ }),
13298
+ /* 189 */
13299
+ /***/ (function(module, exports, __w_pdfjs_require__) {
13300
+
13301
+ "use strict";
13302
+
13303
+
13304
+ Object.defineProperty(exports, "__esModule", {
13305
+ value: true
13306
+ });
13307
+ exports.addLinkAttributes = addLinkAttributes;
13308
+ exports.getFilenameFromUrl = getFilenameFromUrl;
13309
+ exports.isFetchSupported = isFetchSupported;
13310
+ exports.isValidFetchUrl = isValidFetchUrl;
13311
+ exports.loadScript = loadScript;
13312
+ exports.deprecated = deprecated;
13313
+ exports.releaseImageResources = releaseImageResources;
13314
+ exports.PDFDateString = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.RenderingCancelledException = exports.PageViewport = void 0;
13315
+
13316
+ var _regenerator = _interopRequireDefault(__w_pdfjs_require__(186));
13317
+
13318
+ var _util = __w_pdfjs_require__(1);
13319
+
13320
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13321
+
13322
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
13323
+
13324
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
13325
+
13326
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
13327
+
13328
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
13329
+
13330
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
13331
+
13332
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
13333
+
13334
+ 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); } }
13335
+
13336
+ 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); }); }; }
13337
+
13338
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
13339
+
13340
+ 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); } }
13341
+
13342
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
13343
+
13344
+ var DEFAULT_LINK_REL = "noopener noreferrer nofollow";
13345
+ exports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;
13346
+ var SVG_NS = "http://www.w3.org/2000/svg";
13347
+
13348
+ var DOMCanvasFactory =
13349
+ /*#__PURE__*/
13350
+ function () {
13351
+ function DOMCanvasFactory() {
13352
+ _classCallCheck(this, DOMCanvasFactory);
13353
+ }
13354
+
13355
+ _createClass(DOMCanvasFactory, [{
13356
+ key: "create",
13357
+ value: function create(width, height) {
13358
+ if (width <= 0 || height <= 0) {
13359
+ throw new Error("Invalid canvas size");
13360
+ }
13361
+
13362
+ var canvas = document.createElement("canvas");
13363
+ var context = canvas.getContext("2d");
13364
+ canvas.width = width;
13365
+ canvas.height = height;
13366
+ return {
13367
+ canvas: canvas,
13368
+ context: context
13369
+ };
13370
+ }
13371
+ }, {
13372
+ key: "reset",
13373
+ value: function reset(canvasAndContext, width, height) {
13374
+ if (!canvasAndContext.canvas) {
13375
+ throw new Error("Canvas is not specified");
13376
+ }
13377
+
13378
+ if (width <= 0 || height <= 0) {
13379
+ throw new Error("Invalid canvas size");
13380
+ }
13381
+
13382
+ canvasAndContext.canvas.width = width;
13383
+ canvasAndContext.canvas.height = height;
13384
+ }
13385
+ }, {
13386
+ key: "destroy",
13387
+ value: function destroy(canvasAndContext) {
13388
+ if (!canvasAndContext.canvas) {
13389
+ throw new Error("Canvas is not specified");
13390
+ }
13391
+
13392
+ canvasAndContext.canvas.width = 0;
13393
+ canvasAndContext.canvas.height = 0;
13394
+ canvasAndContext.canvas = null;
13395
+ canvasAndContext.context = null;
13396
+ }
13397
+ }]);
13398
+
13399
+ return DOMCanvasFactory;
13400
+ }();
13401
+
13402
+ exports.DOMCanvasFactory = DOMCanvasFactory;
13403
+
13404
+ var DOMCMapReaderFactory =
13405
+ /*#__PURE__*/
13406
+ function () {
13407
+ function DOMCMapReaderFactory(_ref) {
13408
+ var _ref$baseUrl = _ref.baseUrl,
13409
+ baseUrl = _ref$baseUrl === void 0 ? null : _ref$baseUrl,
13410
+ _ref$isCompressed = _ref.isCompressed,
13411
+ isCompressed = _ref$isCompressed === void 0 ? false : _ref$isCompressed;
13412
+
13413
+ _classCallCheck(this, DOMCMapReaderFactory);
13414
+
13415
+ this.baseUrl = baseUrl;
13416
+ this.isCompressed = isCompressed;
13417
+ }
13418
+
13419
+ _createClass(DOMCMapReaderFactory, [{
13420
+ key: "fetch",
13421
+ value: function (_fetch) {
13422
+ function fetch(_x) {
13423
+ return _fetch.apply(this, arguments);
13424
+ }
13425
+
13426
+ fetch.toString = function () {
13427
+ return _fetch.toString();
13428
+ };
13429
+
13430
+ return fetch;
13431
+ }(
13432
+ /*#__PURE__*/
13433
+ function () {
13434
+ var _ref2 = _asyncToGenerator(
13435
+ /*#__PURE__*/
13436
+ _regenerator["default"].mark(function _callee2(_ref3) {
13437
+ var _this = this;
13438
+
13439
+ var name, url, compressionType;
13440
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
13441
+ while (1) {
13442
+ switch (_context2.prev = _context2.next) {
13443
+ case 0:
13444
+ name = _ref3.name;
13445
+
13446
+ if (this.baseUrl) {
13447
+ _context2.next = 3;
13448
+ break;
13449
+ }
13450
+
13451
+ throw new Error('The CMap "baseUrl" parameter must be specified, ensure that ' + 'the "cMapUrl" and "cMapPacked" API parameters are provided.');
13452
+
13453
+ case 3:
13454
+ if (name) {
13455
+ _context2.next = 5;
13456
+ break;
13457
+ }
13458
+
13459
+ throw new Error("CMap name must be specified.");
13460
+
13461
+ case 5:
13462
+ url = this.baseUrl + name + (this.isCompressed ? ".bcmap" : "");
13463
+ compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;
13464
+
13465
+ if (!(isFetchSupported() && isValidFetchUrl(url, document.baseURI))) {
13466
+ _context2.next = 9;
13467
+ break;
13468
+ }
13469
+
13470
+ return _context2.abrupt("return", fetch(url).then(
13471
+ /*#__PURE__*/
13472
+ function () {
13473
+ var _ref4 = _asyncToGenerator(
13474
+ /*#__PURE__*/
13475
+ _regenerator["default"].mark(function _callee(response) {
13476
+ var cMapData;
13477
+ return _regenerator["default"].wrap(function _callee$(_context) {
13478
+ while (1) {
13479
+ switch (_context.prev = _context.next) {
13480
+ case 0:
13481
+ if (response.ok) {
13482
+ _context.next = 2;
13483
+ break;
13484
+ }
13485
+
13486
+ throw new Error(response.statusText);
13487
+
13488
+ case 2:
13489
+ if (!_this.isCompressed) {
13490
+ _context.next = 10;
13491
+ break;
13492
+ }
13493
+
13494
+ _context.t0 = Uint8Array;
13495
+ _context.next = 6;
13496
+ return response.arrayBuffer();
13497
+
13498
+ case 6:
13499
+ _context.t1 = _context.sent;
13500
+ cMapData = new _context.t0(_context.t1);
13501
+ _context.next = 15;
13502
+ break;
13503
+
13504
+ case 10:
13505
+ _context.t2 = _util.stringToBytes;
13506
+ _context.next = 13;
13507
+ return response.text();
13508
+
13509
+ case 13:
13510
+ _context.t3 = _context.sent;
13511
+ cMapData = (0, _context.t2)(_context.t3);
13512
+
13513
+ case 15:
13514
+ return _context.abrupt("return", {
13515
+ cMapData: cMapData,
13516
+ compressionType: compressionType
13517
+ });
13518
+
13519
+ case 16:
13520
+ case "end":
13521
+ return _context.stop();
13522
+ }
13523
+ }
13524
+ }, _callee);
13525
+ }));
13526
+
13527
+ return function (_x3) {
13528
+ return _ref4.apply(this, arguments);
13529
+ };
13530
+ }())["catch"](function (reason) {
13531
+ throw new Error("Unable to load ".concat(_this.isCompressed ? "binary " : "") + "CMap at: ".concat(url));
13532
+ }));
13533
+
13534
+ case 9:
13535
+ return _context2.abrupt("return", new Promise(function (resolve, reject) {
13536
+ var request = new XMLHttpRequest();
13537
+ request.open("GET", url, true);
13538
+
13539
+ if (_this.isCompressed) {
13540
+ request.responseType = "arraybuffer";
13541
+ }
13542
+
13543
+ request.onreadystatechange = function () {
13544
+ if (request.readyState !== XMLHttpRequest.DONE) {
13545
+ return;
13546
+ }
13547
+
13548
+ if (request.status === 200 || request.status === 0) {
13549
+ var cMapData;
13550
+
13551
+ if (_this.isCompressed && request.response) {
13552
+ cMapData = new Uint8Array(request.response);
13553
+ } else if (!_this.isCompressed && request.responseText) {
13554
+ cMapData = (0, _util.stringToBytes)(request.responseText);
13555
+ }
13556
+
13557
+ if (cMapData) {
13558
+ resolve({
13559
+ cMapData: cMapData,
13560
+ compressionType: compressionType
13561
+ });
13562
+ return;
13563
+ }
13564
+ }
13565
+
13566
+ reject(new Error(request.statusText));
13567
+ };
13568
+
13569
+ request.send(null);
13570
+ })["catch"](function (reason) {
13571
+ throw new Error("Unable to load ".concat(_this.isCompressed ? "binary " : "") + "CMap at: ".concat(url));
13572
+ }));
13573
+
13574
+ case 10:
13575
+ case "end":
13576
+ return _context2.stop();
13577
+ }
13578
+ }
13579
+ }, _callee2, this);
13580
+ }));
13581
+
13582
+ return function (_x2) {
13583
+ return _ref2.apply(this, arguments);
13584
+ };
13585
+ }())
13586
+ }]);
13587
+
13588
+ return DOMCMapReaderFactory;
13589
+ }();
13590
+
13591
+ exports.DOMCMapReaderFactory = DOMCMapReaderFactory;
13592
+
13593
+ var DOMSVGFactory =
13594
+ /*#__PURE__*/
13595
+ function () {
13596
+ function DOMSVGFactory() {
13597
+ _classCallCheck(this, DOMSVGFactory);
13598
+ }
13599
+
13600
+ _createClass(DOMSVGFactory, [{
13601
+ key: "create",
13602
+ value: function create(width, height) {
13603
+ (0, _util.assert)(width > 0 && height > 0, "Invalid SVG dimensions");
13604
+ var svg = document.createElementNS(SVG_NS, "svg:svg");
13605
+ svg.setAttribute("version", "1.1");
13606
+ svg.setAttribute("width", width + "px");
13607
+ svg.setAttribute("height", height + "px");
13608
+ svg.setAttribute("preserveAspectRatio", "none");
13609
+ svg.setAttribute("viewBox", "0 0 " + width + " " + height);
13610
+ return svg;
13611
+ }
13612
+ }, {
13613
+ key: "createElement",
13614
+ value: function createElement(type) {
13615
+ (0, _util.assert)(typeof type === "string", "Invalid SVG element type");
13616
+ return document.createElementNS(SVG_NS, type);
13617
+ }
13618
+ }]);
13619
+
13620
+ return DOMSVGFactory;
13621
+ }();
13622
+
13623
+ exports.DOMSVGFactory = DOMSVGFactory;
13624
+
13625
+ var PageViewport =
13626
+ /*#__PURE__*/
13627
+ function () {
13628
+ function PageViewport(_ref5) {
13629
+ var viewBox = _ref5.viewBox,
13630
+ scale = _ref5.scale,
13631
+ rotation = _ref5.rotation,
13632
+ _ref5$offsetX = _ref5.offsetX,
13633
+ offsetX = _ref5$offsetX === void 0 ? 0 : _ref5$offsetX,
13634
+ _ref5$offsetY = _ref5.offsetY,
13635
+ offsetY = _ref5$offsetY === void 0 ? 0 : _ref5$offsetY,
13636
+ _ref5$dontFlip = _ref5.dontFlip,
13637
+ dontFlip = _ref5$dontFlip === void 0 ? false : _ref5$dontFlip;
13638
+
13639
+ _classCallCheck(this, PageViewport);
13640
+
13641
+ this.viewBox = viewBox;
13642
+ this.scale = scale;
13643
+ this.rotation = rotation;
13644
+ this.offsetX = offsetX;
13645
+ this.offsetY = offsetY;
13646
+ var centerX = (viewBox[2] + viewBox[0]) / 2;
13647
+ var centerY = (viewBox[3] + viewBox[1]) / 2;
13648
+ var rotateA, rotateB, rotateC, rotateD;
13649
+ rotation = rotation % 360;
13650
+ rotation = rotation < 0 ? rotation + 360 : rotation;
13651
+
13652
+ switch (rotation) {
13653
+ case 180:
13654
+ rotateA = -1;
13655
+ rotateB = 0;
13656
+ rotateC = 0;
13657
+ rotateD = 1;
13658
+ break;
13659
+
13660
+ case 90:
13661
+ rotateA = 0;
13662
+ rotateB = 1;
13663
+ rotateC = 1;
13664
+ rotateD = 0;
13665
+ break;
13666
+
13667
+ case 270:
13668
+ rotateA = 0;
13669
+ rotateB = -1;
13670
+ rotateC = -1;
13671
+ rotateD = 0;
13672
+ break;
13673
+
13674
+ default:
13675
+ rotateA = 1;
13676
+ rotateB = 0;
13677
+ rotateC = 0;
13678
+ rotateD = -1;
13679
+ break;
13680
+ }
13681
+
13682
+ if (dontFlip) {
13683
+ rotateC = -rotateC;
13684
+ rotateD = -rotateD;
13685
+ }
13686
+
13687
+ var offsetCanvasX, offsetCanvasY;
13688
+ var width, height;
13689
+
13690
+ if (rotateA === 0) {
13691
+ offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;
13692
+ offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;
13693
+ width = Math.abs(viewBox[3] - viewBox[1]) * scale;
13694
+ height = Math.abs(viewBox[2] - viewBox[0]) * scale;
13695
+ } else {
13696
+ offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;
13697
+ offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;
13698
+ width = Math.abs(viewBox[2] - viewBox[0]) * scale;
13699
+ height = Math.abs(viewBox[3] - viewBox[1]) * scale;
13700
+ }
13701
+
13702
+ this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];
13703
+ this.width = width;
13704
+ this.height = height;
13705
+ }
13706
+
13707
+ _createClass(PageViewport, [{
13708
+ key: "clone",
13709
+ value: function clone() {
13710
+ var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
13711
+ _ref6$scale = _ref6.scale,
13712
+ scale = _ref6$scale === void 0 ? this.scale : _ref6$scale,
13713
+ _ref6$rotation = _ref6.rotation,
13714
+ rotation = _ref6$rotation === void 0 ? this.rotation : _ref6$rotation,
13715
+ _ref6$offsetX = _ref6.offsetX,
13716
+ offsetX = _ref6$offsetX === void 0 ? this.offsetX : _ref6$offsetX,
13717
+ _ref6$offsetY = _ref6.offsetY,
13718
+ offsetY = _ref6$offsetY === void 0 ? this.offsetY : _ref6$offsetY,
13719
+ _ref6$dontFlip = _ref6.dontFlip,
13720
+ dontFlip = _ref6$dontFlip === void 0 ? false : _ref6$dontFlip;
13721
+
13722
+ return new PageViewport({
13723
+ viewBox: this.viewBox.slice(),
13724
+ scale: scale,
13725
+ rotation: rotation,
13726
+ offsetX: offsetX,
13727
+ offsetY: offsetY,
13728
+ dontFlip: dontFlip
13729
+ });
13730
+ }
13731
+ }, {
13732
+ key: "convertToViewportPoint",
13733
+ value: function convertToViewportPoint(x, y) {
13734
+ return _util.Util.applyTransform([x, y], this.transform);
13735
+ }
13736
+ }, {
13737
+ key: "convertToViewportRectangle",
13738
+ value: function convertToViewportRectangle(rect) {
13739
+ var topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);
13740
+
13741
+ var bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);
13742
+
13743
+ return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];
13744
+ }
13745
+ }, {
13746
+ key: "convertToPdfPoint",
13747
+ value: function convertToPdfPoint(x, y) {
13748
+ return _util.Util.applyInverseTransform([x, y], this.transform);
13749
+ }
13750
+ }]);
13751
+
13752
+ return PageViewport;
13753
+ }();
13754
+
13755
+ exports.PageViewport = PageViewport;
13756
+
13757
+ var RenderingCancelledException =
13758
+ /*#__PURE__*/
13759
+ function (_BaseException) {
13760
+ _inherits(RenderingCancelledException, _BaseException);
13761
+
13762
+ function RenderingCancelledException(msg, type) {
13763
+ var _this2;
13764
+
13765
+ _classCallCheck(this, RenderingCancelledException);
13766
+
13767
+ _this2 = _possibleConstructorReturn(this, _getPrototypeOf(RenderingCancelledException).call(this, msg));
13768
+ _this2.type = type;
13769
+ return _this2;
13770
+ }
13771
+
13772
+ return RenderingCancelledException;
13773
+ }(_util.BaseException);
13774
+
13775
+ exports.RenderingCancelledException = RenderingCancelledException;
13776
+ var LinkTarget = {
13777
+ NONE: 0,
13778
+ SELF: 1,
13779
+ BLANK: 2,
13780
+ PARENT: 3,
13781
+ TOP: 4
13782
+ };
13783
+ exports.LinkTarget = LinkTarget;
13784
+
13785
+ function addLinkAttributes(link) {
13786
+ var _ref7 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
13787
+ url = _ref7.url,
13788
+ target = _ref7.target,
13789
+ rel = _ref7.rel,
13790
+ _ref7$enabled = _ref7.enabled,
13791
+ enabled = _ref7$enabled === void 0 ? true : _ref7$enabled;
13792
+
13793
+ (0, _util.assert)(url && typeof url === "string", 'addLinkAttributes: A valid "url" parameter must provided.');
13794
+ var urlNullRemoved = (0, _util.removeNullCharacters)(url);
13795
+
13796
+ if (enabled) {
13797
+ link.href = link.title = urlNullRemoved;
13798
+ } else {
13799
+ link.href = "";
13800
+ link.title = "Disabled: ".concat(urlNullRemoved);
13801
+
13802
+ link.onclick = function () {
13803
+ return false;
13804
+ };
13805
+ }
13806
+
13807
+ var targetStr = "";
13808
+
13809
+ switch (target) {
13810
+ case LinkTarget.NONE:
13811
+ break;
13812
+
13813
+ case LinkTarget.SELF:
13814
+ targetStr = "_self";
13815
+ break;
13816
+
13817
+ case LinkTarget.BLANK:
13818
+ targetStr = "_blank";
13819
+ break;
13820
+
13821
+ case LinkTarget.PARENT:
13822
+ targetStr = "_parent";
13823
+ break;
13824
+
13825
+ case LinkTarget.TOP:
13826
+ targetStr = "_top";
13827
+ break;
13828
+ }
13829
+
13830
+ link.target = targetStr;
13831
+ link.rel = typeof rel === "string" ? rel : DEFAULT_LINK_REL;
13832
+ }
13833
+
13834
+ function getFilenameFromUrl(url) {
13835
+ var anchor = url.indexOf("#");
13836
+ var query = url.indexOf("?");
13837
+ var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);
13838
+ return url.substring(url.lastIndexOf("/", end) + 1, end);
13839
+ }
13840
+
13841
+ var StatTimer =
13842
+ /*#__PURE__*/
13843
+ function () {
13844
+ function StatTimer() {
13845
+ _classCallCheck(this, StatTimer);
13846
+
13847
+ this.started = Object.create(null);
13848
+ this.times = [];
13849
+ }
13850
+
13851
+ _createClass(StatTimer, [{
13852
+ key: "time",
13853
+ value: function time(name) {
13854
+ if (name in this.started) {
13855
+ (0, _util.warn)("Timer is already running for ".concat(name));
13856
+ }
13857
+
13858
+ this.started[name] = Date.now();
13859
+ }
13860
+ }, {
13861
+ key: "timeEnd",
13862
+ value: function timeEnd(name) {
13863
+ if (!(name in this.started)) {
13864
+ (0, _util.warn)("Timer has not been started for ".concat(name));
13865
+ }
13866
+
13867
+ this.times.push({
13868
+ name: name,
13869
+ start: this.started[name],
13870
+ end: Date.now()
13871
+ });
13872
+ delete this.started[name];
13873
+ }
13874
+ }, {
13875
+ key: "toString",
13876
+ value: function toString() {
13877
+ var outBuf = [];
13878
+ var longest = 0;
13879
+ var _iteratorNormalCompletion = true;
13880
+ var _didIteratorError = false;
13881
+ var _iteratorError = undefined;
13882
+
13883
+ try {
13884
+ for (var _iterator = this.times[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
13885
+ var time = _step.value;
13886
+ var name = time.name;
13887
+
13888
+ if (name.length > longest) {
13889
+ longest = name.length;
13890
+ }
13891
+ }
13892
+ } catch (err) {
13893
+ _didIteratorError = true;
13894
+ _iteratorError = err;
13895
+ } finally {
13896
+ try {
13897
+ if (!_iteratorNormalCompletion && _iterator["return"] != null) {
13898
+ _iterator["return"]();
13899
+ }
13900
+ } finally {
13901
+ if (_didIteratorError) {
13902
+ throw _iteratorError;
13903
+ }
13904
+ }
13905
+ }
13906
+
13907
+ var _iteratorNormalCompletion2 = true;
13908
+ var _didIteratorError2 = false;
13909
+ var _iteratorError2 = undefined;
13910
+
13911
+ try {
13912
+ for (var _iterator2 = this.times[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
13913
+ var _time = _step2.value;
13914
+ var duration = _time.end - _time.start;
13915
+ outBuf.push("".concat(_time.name.padEnd(longest), " ").concat(duration, "ms\n"));
13916
+ }
13917
+ } catch (err) {
13918
+ _didIteratorError2 = true;
13919
+ _iteratorError2 = err;
13920
+ } finally {
13921
+ try {
13922
+ if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
13923
+ _iterator2["return"]();
13924
+ }
13925
+ } finally {
13926
+ if (_didIteratorError2) {
13927
+ throw _iteratorError2;
13928
+ }
13929
+ }
13930
+ }
13931
+
13932
+ return outBuf.join("");
13933
+ }
13934
+ }]);
13935
+
13936
+ return StatTimer;
13937
+ }();
13938
+
13939
+ exports.StatTimer = StatTimer;
13940
+
13941
+ function isFetchSupported() {
13942
+ return typeof fetch !== "undefined" && typeof Response !== "undefined" && "body" in Response.prototype && typeof ReadableStream !== "undefined";
13943
+ }
13944
+
13945
+ function isValidFetchUrl(url, baseUrl) {
13946
+ try {
13947
+ var _ref8 = baseUrl ? new URL(url, baseUrl) : new URL(url),
13948
+ protocol = _ref8.protocol;
13949
+
13950
+ return protocol === "http:" || protocol === "https:";
13951
+ } catch (ex) {
13952
+ return false;
13953
+ }
13954
+ }
13955
+
13956
+ function loadScript(src) {
13957
+ return new Promise(function (resolve, reject) {
13958
+ var script = document.createElement("script");
13959
+ script.src = src;
13960
+ script.onload = resolve;
13961
+
13962
+ script.onerror = function () {
13963
+ reject(new Error("Cannot load script at: ".concat(script.src)));
13964
+ };
13965
+
13966
+ (document.head || document.documentElement).appendChild(script);
13967
+ });
13968
+ }
13969
+
13970
+ function deprecated(details) {
13971
+ console.log("Deprecated API usage: " + details);
13972
+ }
13973
+
13974
+ function releaseImageResources(img) {
13975
+ (0, _util.assert)(img instanceof Image, "Invalid `img` parameter.");
13976
+ var url = img.src;
13977
+
13978
+ if (typeof url === "string" && url.startsWith("blob:") && URL.revokeObjectURL) {
13979
+ URL.revokeObjectURL(url);
13980
+ }
13981
+
13982
+ img.removeAttribute("src");
13983
+ }
13984
+
13985
+ var pdfDateStringRegex;
13986
+
13987
+ var PDFDateString =
13988
+ /*#__PURE__*/
13989
+ function () {
13990
+ function PDFDateString() {
13991
+ _classCallCheck(this, PDFDateString);
13992
+ }
13993
+
13994
+ _createClass(PDFDateString, null, [{
13995
+ key: "toDateObject",
13996
+ value: function toDateObject(input) {
13997
+ if (!input || !(0, _util.isString)(input)) {
13998
+ return null;
13999
+ }
14000
+
14001
+ if (!pdfDateStringRegex) {
14002
+ pdfDateStringRegex = new RegExp("^D:" + "(\\d{4})" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "([Z|+|-])?" + "(\\d{2})?" + "'?" + "(\\d{2})?" + "'?");
14003
+ }
14004
+
14005
+ var matches = pdfDateStringRegex.exec(input);
14006
+
14007
+ if (!matches) {
14008
+ return null;
14009
+ }
14010
+
14011
+ var year = parseInt(matches[1], 10);
14012
+ var month = parseInt(matches[2], 10);
14013
+ month = month >= 1 && month <= 12 ? month - 1 : 0;
14014
+ var day = parseInt(matches[3], 10);
14015
+ day = day >= 1 && day <= 31 ? day : 1;
14016
+ var hour = parseInt(matches[4], 10);
14017
+ hour = hour >= 0 && hour <= 23 ? hour : 0;
14018
+ var minute = parseInt(matches[5], 10);
14019
+ minute = minute >= 0 && minute <= 59 ? minute : 0;
14020
+ var second = parseInt(matches[6], 10);
14021
+ second = second >= 0 && second <= 59 ? second : 0;
14022
+ var universalTimeRelation = matches[7] || "Z";
14023
+ var offsetHour = parseInt(matches[8], 10);
14024
+ offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;
14025
+ var offsetMinute = parseInt(matches[9], 10) || 0;
14026
+ offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;
14027
+
14028
+ if (universalTimeRelation === "-") {
14029
+ hour += offsetHour;
14030
+ minute += offsetMinute;
14031
+ } else if (universalTimeRelation === "+") {
14032
+ hour -= offsetHour;
14033
+ minute -= offsetMinute;
14034
+ }
14035
+
14036
+ return new Date(Date.UTC(year, month, day, hour, minute, second));
14037
+ }
14038
+ }]);
14039
+
14040
+ return PDFDateString;
14041
+ }();
14042
+
14043
+ exports.PDFDateString = PDFDateString;
14044
+
14045
+ /***/ }),
14046
+ /* 190 */
14047
+ /***/ (function(module, exports, __w_pdfjs_require__) {
14048
+
14049
+ "use strict";
14050
+
14051
+
14052
+ Object.defineProperty(exports, "__esModule", {
14053
+ value: true
14054
+ });
14055
+ exports.FontLoader = exports.FontFaceObject = void 0;
14056
+
14057
+ var _regenerator = _interopRequireDefault(__w_pdfjs_require__(186));
14058
+
14059
+ var _util = __w_pdfjs_require__(1);
14060
+
14061
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14062
+
14063
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
14064
+
14065
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
14066
+
14067
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
14068
+
14069
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
14070
+
14071
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
14072
+
14073
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
14074
+
14075
+ 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); } }
14076
+
14077
+ 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); }); }; }
14078
+
14079
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14080
+
14081
+ 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); } }
14082
+
14083
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
14084
+
14085
+ var BaseFontLoader =
14086
+ /*#__PURE__*/
14087
+ function () {
14088
+ function BaseFontLoader(_ref) {
14089
+ var docId = _ref.docId,
14090
+ onUnsupportedFeature = _ref.onUnsupportedFeature;
14091
+
14092
+ _classCallCheck(this, BaseFontLoader);
14093
+
14094
+ if (this.constructor === BaseFontLoader) {
14095
+ (0, _util.unreachable)("Cannot initialize BaseFontLoader.");
14096
+ }
14097
+
14098
+ this.docId = docId;
14099
+ this._onUnsupportedFeature = onUnsupportedFeature;
14100
+ this.nativeFontFaces = [];
14101
+ this.styleElement = null;
14102
+ }
14103
+
14104
+ _createClass(BaseFontLoader, [{
14105
+ key: "addNativeFontFace",
14106
+ value: function addNativeFontFace(nativeFontFace) {
14107
+ this.nativeFontFaces.push(nativeFontFace);
14108
+ document.fonts.add(nativeFontFace);
14109
+ }
14110
+ }, {
14111
+ key: "insertRule",
14112
+ value: function insertRule(rule) {
14113
+ var styleElement = this.styleElement;
14114
+
14115
+ if (!styleElement) {
14116
+ styleElement = this.styleElement = document.createElement("style");
14117
+ styleElement.id = "PDFJS_FONT_STYLE_TAG_".concat(this.docId);
14118
+ document.documentElement.getElementsByTagName("head")[0].appendChild(styleElement);
14119
+ }
14120
+
14121
+ var styleSheet = styleElement.sheet;
14122
+ styleSheet.insertRule(rule, styleSheet.cssRules.length);
14123
+ }
14124
+ }, {
14125
+ key: "clear",
14126
+ value: function clear() {
14127
+ this.nativeFontFaces.forEach(function (nativeFontFace) {
14128
+ document.fonts["delete"](nativeFontFace);
14129
+ });
14130
+ this.nativeFontFaces.length = 0;
14131
+
14132
+ if (this.styleElement) {
14133
+ this.styleElement.remove();
14134
+ this.styleElement = null;
14135
+ }
14136
+ }
14137
+ }, {
14138
+ key: "bind",
14139
+ value: function () {
14140
+ var _bind = _asyncToGenerator(
14141
+ /*#__PURE__*/
14142
+ _regenerator["default"].mark(function _callee(font) {
14143
+ var _this = this;
14144
+
14145
+ var nativeFontFace, rule;
14146
+ return _regenerator["default"].wrap(function _callee$(_context) {
14147
+ while (1) {
14148
+ switch (_context.prev = _context.next) {
14149
+ case 0:
14150
+ if (!(font.attached || font.missingFile)) {
14151
+ _context.next = 2;
14152
+ break;
14153
+ }
14154
+
14155
+ return _context.abrupt("return", undefined);
14156
+
14157
+ case 2:
14158
+ font.attached = true;
14159
+
14160
+ if (!this.isFontLoadingAPISupported) {
14161
+ _context.next = 19;
14162
+ break;
14163
+ }
14164
+
14165
+ nativeFontFace = font.createNativeFontFace();
14166
+
14167
+ if (!nativeFontFace) {
14168
+ _context.next = 18;
14169
+ break;
14170
+ }
14171
+
14172
+ this.addNativeFontFace(nativeFontFace);
14173
+ _context.prev = 7;
14174
+ _context.next = 10;
14175
+ return nativeFontFace.loaded;
14176
+
14177
+ case 10:
14178
+ _context.next = 18;
14179
+ break;
14180
+
14181
+ case 12:
14182
+ _context.prev = 12;
14183
+ _context.t0 = _context["catch"](7);
14184
+
14185
+ this._onUnsupportedFeature({
14186
+ featureId: _util.UNSUPPORTED_FEATURES.font
14187
+ });
14188
+
14189
+ (0, _util.warn)("Failed to load font '".concat(nativeFontFace.family, "': '").concat(_context.t0, "'."));
14190
+ font.disableFontFace = true;
14191
+ throw _context.t0;
14192
+
14193
+ case 18:
14194
+ return _context.abrupt("return", undefined);
14195
+
14196
+ case 19:
14197
+ rule = font.createFontFaceRule();
14198
+
14199
+ if (!rule) {
14200
+ _context.next = 25;
14201
+ break;
14202
+ }
14203
+
14204
+ this.insertRule(rule);
14205
+
14206
+ if (!this.isSyncFontLoadingSupported) {
14207
+ _context.next = 24;
14208
+ break;
14209
+ }
14210
+
14211
+ return _context.abrupt("return", undefined);
14212
+
14213
+ case 24:
14214
+ return _context.abrupt("return", new Promise(function (resolve) {
14215
+ var request = _this._queueLoadingCallback(resolve);
14216
+
14217
+ _this._prepareFontLoadEvent([rule], [font], request);
14218
+ }));
14219
+
14220
+ case 25:
14221
+ return _context.abrupt("return", undefined);
14222
+
14223
+ case 26:
14224
+ case "end":
14225
+ return _context.stop();
14226
+ }
14227
+ }
14228
+ }, _callee, this, [[7, 12]]);
14229
+ }));
14230
+
14231
+ function bind(_x) {
14232
+ return _bind.apply(this, arguments);
14233
+ }
14234
+
14235
+ return bind;
14236
+ }()
14237
+ }, {
14238
+ key: "_queueLoadingCallback",
14239
+ value: function _queueLoadingCallback(callback) {
14240
+ (0, _util.unreachable)("Abstract method `_queueLoadingCallback`.");
14241
+ }
14242
+ }, {
14243
+ key: "_prepareFontLoadEvent",
14244
+ value: function _prepareFontLoadEvent(rules, fontsToLoad, request) {
14245
+ (0, _util.unreachable)("Abstract method `_prepareFontLoadEvent`.");
14246
+ }
14247
+ }, {
14248
+ key: "isFontLoadingAPISupported",
14249
+ get: function get() {
14250
+ (0, _util.unreachable)("Abstract method `isFontLoadingAPISupported`.");
14251
+ }
14252
+ }, {
14253
+ key: "isSyncFontLoadingSupported",
14254
+ get: function get() {
14255
+ (0, _util.unreachable)("Abstract method `isSyncFontLoadingSupported`.");
14256
+ }
14257
+ }, {
14258
+ key: "_loadTestFont",
14259
+ get: function get() {
14260
+ (0, _util.unreachable)("Abstract method `_loadTestFont`.");
14261
+ }
14262
+ }]);
14263
+
14264
+ return BaseFontLoader;
14265
+ }();
14266
+
14267
+ var FontLoader;
14268
+ exports.FontLoader = FontLoader;
14269
+ {
14270
+ exports.FontLoader = FontLoader =
14271
+ /*#__PURE__*/
14272
+ function (_BaseFontLoader) {
14273
+ _inherits(GenericFontLoader, _BaseFontLoader);
14274
+
14275
+ function GenericFontLoader(docId) {
14276
+ var _this2;
14277
+
14278
+ _classCallCheck(this, GenericFontLoader);
14279
+
14280
+ _this2 = _possibleConstructorReturn(this, _getPrototypeOf(GenericFontLoader).call(this, docId));
14281
+ _this2.loadingContext = {
14282
+ requests: [],
14283
+ nextRequestId: 0
14284
+ };
14285
+ _this2.loadTestFontId = 0;
14286
+ return _this2;
14287
+ }
14288
+
14289
+ _createClass(GenericFontLoader, [{
14290
+ key: "_queueLoadingCallback",
14291
+ value: function _queueLoadingCallback(callback) {
14292
+ function completeRequest() {
14293
+ (0, _util.assert)(!request.done, "completeRequest() cannot be called twice.");
14294
+ request.done = true;
14295
+
14296
+ while (context.requests.length > 0 && context.requests[0].done) {
14297
+ var otherRequest = context.requests.shift();
14298
+ setTimeout(otherRequest.callback, 0);
14299
+ }
14300
+ }
14301
+
14302
+ var context = this.loadingContext;
14303
+ var request = {
14304
+ id: "pdfjs-font-loading-".concat(context.nextRequestId++),
14305
+ done: false,
14306
+ complete: completeRequest,
14307
+ callback: callback
14308
+ };
14309
+ context.requests.push(request);
14310
+ return request;
14311
+ }
14312
+ }, {
14313
+ key: "_prepareFontLoadEvent",
14314
+ value: function _prepareFontLoadEvent(rules, fonts, request) {
14315
+ function int32(data, offset) {
14316
+ return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;
14317
+ }
14318
+
14319
+ function spliceString(s, offset, remove, insert) {
14320
+ var chunk1 = s.substring(0, offset);
14321
+ var chunk2 = s.substring(offset + remove);
14322
+ return chunk1 + insert + chunk2;
14323
+ }
14324
+
14325
+ var i, ii;
14326
+ var canvas = document.createElement("canvas");
14327
+ canvas.width = 1;
14328
+ canvas.height = 1;
14329
+ var ctx = canvas.getContext("2d");
14330
+ var called = 0;
14331
+
14332
+ function isFontReady(name, callback) {
14333
+ called++;
14334
+
14335
+ if (called > 30) {
14336
+ (0, _util.warn)("Load test font never loaded.");
14337
+ callback();
14338
+ return;
14339
+ }
14340
+
14341
+ ctx.font = "30px " + name;
14342
+ ctx.fillText(".", 0, 20);
14343
+ var imageData = ctx.getImageData(0, 0, 1, 1);
14344
+
14345
+ if (imageData.data[3] > 0) {
14346
+ callback();
14347
+ return;
14348
+ }
14349
+
14350
+ setTimeout(isFontReady.bind(null, name, callback));
14351
+ }
14352
+
14353
+ var loadTestFontId = "lt".concat(Date.now()).concat(this.loadTestFontId++);
14354
+ var data = this._loadTestFont;
14355
+ var COMMENT_OFFSET = 976;
14356
+ data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);
14357
+ var CFF_CHECKSUM_OFFSET = 16;
14358
+ var XXXX_VALUE = 0x58585858;
14359
+ var checksum = int32(data, CFF_CHECKSUM_OFFSET);
14360
+
14361
+ for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {
14362
+ checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;
14363
+ }
14364
+
14365
+ if (i < loadTestFontId.length) {
14366
+ checksum = checksum - XXXX_VALUE + int32(loadTestFontId + "XXX", i) | 0;
14367
+ }
14368
+
14369
+ data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));
14370
+ var url = "url(data:font/opentype;base64,".concat(btoa(data), ");");
14371
+ var rule = "@font-face {font-family:\"".concat(loadTestFontId, "\";src:").concat(url, "}");
14372
+ this.insertRule(rule);
14373
+ var names = [];
14374
+
14375
+ for (i = 0, ii = fonts.length; i < ii; i++) {
14376
+ names.push(fonts[i].loadedName);
14377
+ }
14378
+
14379
+ names.push(loadTestFontId);
14380
+ var div = document.createElement("div");
14381
+ div.style.visibility = "hidden";
14382
+ div.style.width = div.style.height = "10px";
14383
+ div.style.position = "absolute";
14384
+ div.style.top = div.style.left = "0px";
14385
+
14386
+ for (i = 0, ii = names.length; i < ii; ++i) {
14387
+ var span = document.createElement("span");
14388
+ span.textContent = "Hi";
14389
+ span.style.fontFamily = names[i];
14390
+ div.appendChild(span);
14391
+ }
14392
+
14393
+ document.body.appendChild(div);
14394
+ isFontReady(loadTestFontId, function () {
14395
+ document.body.removeChild(div);
14396
+ request.complete();
14397
+ });
14398
+ }
14399
+ }, {
14400
+ key: "isFontLoadingAPISupported",
14401
+ get: function get() {
14402
+ var supported = typeof document !== "undefined" && !!document.fonts;
14403
+
14404
+ if (supported && typeof navigator !== "undefined") {
14405
+ var m = /Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(navigator.userAgent);
14406
+
14407
+ if (m && m[1] < 63) {
14408
+ supported = false;
14409
+ }
14410
+ }
14411
+
14412
+ return (0, _util.shadow)(this, "isFontLoadingAPISupported", supported);
14413
+ }
14414
+ }, {
14415
+ key: "isSyncFontLoadingSupported",
14416
+ get: function get() {
14417
+ var supported = false;
14418
+
14419
+ if (typeof navigator === "undefined") {
14420
+ supported = true;
14421
+ } else {
14422
+ var m = /Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(navigator.userAgent);
14423
+
14424
+ if (m && m[1] >= 14) {
14425
+ supported = true;
14426
+ }
14427
+ }
14428
+
14429
+ return (0, _util.shadow)(this, "isSyncFontLoadingSupported", supported);
14430
+ }
14431
+ }, {
14432
+ key: "_loadTestFont",
14433
+ get: function get() {
14434
+ var getLoadTestFont = function getLoadTestFont() {
14435
+ 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==");
14436
+ };
14437
+
14438
+ return (0, _util.shadow)(this, "_loadTestFont", getLoadTestFont());
14439
+ }
14440
+ }]);
14441
+
14442
+ return GenericFontLoader;
14443
+ }(BaseFontLoader);
14444
+ }
14445
+ var IsEvalSupportedCached = {
14446
+ get value() {
14447
+ return (0, _util.shadow)(this, "value", (0, _util.isEvalSupported)());
14448
+ }
14449
+
14450
+ };
14451
+
14452
+ var FontFaceObject =
14453
+ /*#__PURE__*/
14454
+ function () {
14455
+ function FontFaceObject(translatedData, _ref2) {
14456
+ var _ref2$isEvalSupported = _ref2.isEvalSupported,
14457
+ isEvalSupported = _ref2$isEvalSupported === void 0 ? true : _ref2$isEvalSupported,
14458
+ _ref2$disableFontFace = _ref2.disableFontFace,
14459
+ disableFontFace = _ref2$disableFontFace === void 0 ? false : _ref2$disableFontFace,
14460
+ _ref2$ignoreErrors = _ref2.ignoreErrors,
14461
+ ignoreErrors = _ref2$ignoreErrors === void 0 ? false : _ref2$ignoreErrors,
14462
+ _ref2$onUnsupportedFe = _ref2.onUnsupportedFeature,
14463
+ onUnsupportedFeature = _ref2$onUnsupportedFe === void 0 ? null : _ref2$onUnsupportedFe,
14464
+ _ref2$fontRegistry = _ref2.fontRegistry,
14465
+ fontRegistry = _ref2$fontRegistry === void 0 ? null : _ref2$fontRegistry;
14466
+
14467
+ _classCallCheck(this, FontFaceObject);
14468
+
14469
+ this.compiledGlyphs = Object.create(null);
14470
+
14471
+ for (var i in translatedData) {
14472
+ this[i] = translatedData[i];
14473
+ }
14474
+
14475
+ this.isEvalSupported = isEvalSupported !== false;
14476
+ this.disableFontFace = disableFontFace === true;
14477
+ this.ignoreErrors = ignoreErrors === true;
14478
+ this._onUnsupportedFeature = onUnsupportedFeature;
14479
+ this.fontRegistry = fontRegistry;
14480
+ }
14481
+
14482
+ _createClass(FontFaceObject, [{
14483
+ key: "createNativeFontFace",
14484
+ value: function createNativeFontFace() {
14485
+ if (!this.data || this.disableFontFace) {
14486
+ return null;
14487
+ }
14488
+
14489
+ var nativeFontFace = new FontFace(this.loadedName, this.data, {});
14490
+
14491
+ if (this.fontRegistry) {
14492
+ this.fontRegistry.registerFont(this);
14493
+ }
14494
+
14495
+ return nativeFontFace;
14496
+ }
14497
+ }, {
14498
+ key: "createFontFaceRule",
14499
+ value: function createFontFaceRule() {
14500
+ if (!this.data || this.disableFontFace) {
14501
+ return null;
14502
+ }
14503
+
14504
+ var data = (0, _util.bytesToString)(new Uint8Array(this.data));
14505
+ var url = "url(data:".concat(this.mimetype, ";base64,").concat(btoa(data), ");");
14506
+ var rule = "@font-face {font-family:\"".concat(this.loadedName, "\";src:").concat(url, "}");
14507
+
14508
+ if (this.fontRegistry) {
14509
+ this.fontRegistry.registerFont(this, url);
14510
+ }
14511
+
14512
+ return rule;
14513
+ }
14514
+ }, {
14515
+ key: "getPathGenerator",
14516
+ value: function getPathGenerator(objs, character) {
14517
+ if (this.compiledGlyphs[character] !== undefined) {
14518
+ return this.compiledGlyphs[character];
14519
+ }
14520
+
14521
+ var cmds, current;
14522
+
14523
+ try {
14524
+ cmds = objs.get(this.loadedName + "_path_" + character);
14525
+ } catch (ex) {
14526
+ if (!this.ignoreErrors) {
14527
+ throw ex;
14528
+ }
14529
+
14530
+ if (this._onUnsupportedFeature) {
14531
+ this._onUnsupportedFeature({
14532
+ featureId: _util.UNSUPPORTED_FEATURES.font
14533
+ });
14534
+ }
14535
+
14536
+ (0, _util.warn)("getPathGenerator - ignoring character: \"".concat(ex, "\"."));
14537
+ return this.compiledGlyphs[character] = function (c, size) {};
14538
+ }
14539
+
14540
+ if (this.isEvalSupported && IsEvalSupportedCached.value) {
14541
+ var args,
14542
+ js = "";
14543
+
14544
+ for (var i = 0, ii = cmds.length; i < ii; i++) {
14545
+ current = cmds[i];
14546
+
14547
+ if (current.args !== undefined) {
14548
+ args = current.args.join(",");
14549
+ } else {
14550
+ args = "";
14551
+ }
14552
+
14553
+ js += "c." + current.cmd + "(" + args + ");\n";
14554
+ }
14555
+
14556
+ return this.compiledGlyphs[character] = new Function("c", "size", js);
14557
+ }
14558
+
14559
+ return this.compiledGlyphs[character] = function (c, size) {
14560
+ for (var _i = 0, _ii = cmds.length; _i < _ii; _i++) {
14561
+ current = cmds[_i];
14562
+
14563
+ if (current.cmd === "scale") {
14564
+ current.args = [size, -size];
14565
+ }
14566
+
14567
+ c[current.cmd].apply(c, current.args);
14568
+ }
14569
+ };
14570
+ }
14571
+ }]);
14572
+
14573
+ return FontFaceObject;
14574
+ }();
14575
+
14576
+ exports.FontFaceObject = FontFaceObject;
14577
+
14578
+ /***/ }),
14579
+ /* 191 */
14580
+ /***/ (function(module, exports, __w_pdfjs_require__) {
14581
+
14582
+ "use strict";
14583
+
14584
+
14585
+ var compatibilityParams = Object.create(null);
14586
+ {
14587
+ var _require = __w_pdfjs_require__(48),
14588
+ isNodeJS = _require.isNodeJS;
14589
+
14590
+ var userAgent = typeof navigator !== "undefined" && navigator.userAgent || "";
14591
+ var isIE = /Trident/.test(userAgent);
14592
+ var isIOSChrome = /CriOS/.test(userAgent);
14593
+
14594
+ (function checkOnBlobSupport() {
14595
+ if (isIE || isIOSChrome) {
14596
+ compatibilityParams.disableCreateObjectURL = true;
14597
+ }
14598
+ })();
14599
+
14600
+ (function checkFontFaceAndImage() {
14601
+ if (isNodeJS) {
14602
+ compatibilityParams.disableFontFace = true;
14603
+ compatibilityParams.nativeImageDecoderSupport = "none";
14604
+ }
14605
+ })();
14606
+ }
14607
+ exports.apiCompatibilityParams = Object.freeze(compatibilityParams);
14608
+
14609
+ /***/ }),
14610
+ /* 192 */
14611
+ /***/ (function(module, exports, __w_pdfjs_require__) {
14612
+
14613
+ "use strict";
14614
+
14615
+
14616
+ Object.defineProperty(exports, "__esModule", {
14617
+ value: true
14618
+ });
14619
+ exports.CanvasGraphics = void 0;
14620
+
14621
+ var _util = __w_pdfjs_require__(1);
14622
+
14623
+ var _pattern_helper = __w_pdfjs_require__(193);
14624
+
14625
+ var MIN_FONT_SIZE = 16;
14626
+ var MAX_FONT_SIZE = 100;
14627
+ var MAX_GROUP_SIZE = 4096;
14628
+ var MIN_WIDTH_FACTOR = 0.65;
14629
+ var COMPILE_TYPE3_GLYPHS = true;
14630
+ var MAX_SIZE_TO_COMPILE = 1000;
14631
+ var FULL_CHUNK_HEIGHT = 16;
14632
+ var IsLittleEndianCached = {
14633
+ get value() {
14634
+ return (0, _util.shadow)(IsLittleEndianCached, "value", (0, _util.isLittleEndian)());
14635
+ }
14636
+
14637
+ };
14638
+
14639
+ function addContextCurrentTransform(ctx) {
14640
+ if (!ctx.mozCurrentTransform) {
14641
+ ctx._originalSave = ctx.save;
14642
+ ctx._originalRestore = ctx.restore;
14643
+ ctx._originalRotate = ctx.rotate;
14644
+ ctx._originalScale = ctx.scale;
14645
+ ctx._originalTranslate = ctx.translate;
14646
+ ctx._originalTransform = ctx.transform;
14647
+ ctx._originalSetTransform = ctx.setTransform;
14648
+ ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];
14649
+ ctx._transformStack = [];
14650
+ Object.defineProperty(ctx, "mozCurrentTransform", {
14651
+ get: function getCurrentTransform() {
14652
+ return this._transformMatrix;
14653
+ }
14654
+ });
14655
+ Object.defineProperty(ctx, "mozCurrentTransformInverse", {
14656
+ get: function getCurrentTransformInverse() {
14657
+ var m = this._transformMatrix;
14658
+ var a = m[0],
14659
+ b = m[1],
14660
+ c = m[2],
14661
+ d = m[3],
14662
+ e = m[4],
14663
+ f = m[5];
14664
+ var ad_bc = a * d - b * c;
14665
+ var bc_ad = b * c - a * d;
14666
+ 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];
14667
+ }
14668
+ });
14669
+
14670
+ ctx.save = function ctxSave() {
14671
+ var old = this._transformMatrix;
14672
+
14673
+ this._transformStack.push(old);
14674
+
14675
+ this._transformMatrix = old.slice(0, 6);
14676
+
14677
+ this._originalSave();
14678
+ };
14679
+
14680
+ ctx.restore = function ctxRestore() {
14681
+ var prev = this._transformStack.pop();
14682
+
14683
+ if (prev) {
14684
+ this._transformMatrix = prev;
14685
+
14686
+ this._originalRestore();
14687
+ }
14688
+ };
14689
+
14690
+ ctx.translate = function ctxTranslate(x, y) {
14691
+ var m = this._transformMatrix;
14692
+ m[4] = m[0] * x + m[2] * y + m[4];
14693
+ m[5] = m[1] * x + m[3] * y + m[5];
14694
+
14695
+ this._originalTranslate(x, y);
14696
+ };
14697
+
14698
+ ctx.scale = function ctxScale(x, y) {
14699
+ var m = this._transformMatrix;
14700
+ m[0] = m[0] * x;
14701
+ m[1] = m[1] * x;
14702
+ m[2] = m[2] * y;
14703
+ m[3] = m[3] * y;
14704
+
14705
+ this._originalScale(x, y);
14706
+ };
14707
+
14708
+ ctx.transform = function ctxTransform(a, b, c, d, e, f) {
14709
+ var m = this._transformMatrix;
14710
+ 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]];
14711
+
14712
+ ctx._originalTransform(a, b, c, d, e, f);
14713
+ };
14714
+
14715
+ ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {
14716
+ this._transformMatrix = [a, b, c, d, e, f];
14717
+
14718
+ ctx._originalSetTransform(a, b, c, d, e, f);
14719
+ };
14720
+
14721
+ ctx.rotate = function ctxRotate(angle) {
14722
+ var cosValue = Math.cos(angle);
14723
+ var sinValue = Math.sin(angle);
14724
+ var m = this._transformMatrix;
14725
+ 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]];
14726
+
14727
+ this._originalRotate(angle);
14728
+ };
14729
+ }
14730
+ }
14731
+
14732
+ var CachedCanvases = function CachedCanvasesClosure() {
14733
+ function CachedCanvases(canvasFactory) {
14734
+ this.canvasFactory = canvasFactory;
14735
+ this.cache = Object.create(null);
14736
+ }
14737
+
14738
+ CachedCanvases.prototype = {
14739
+ getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {
14740
+ var canvasEntry;
14741
+
14742
+ if (this.cache[id] !== undefined) {
14743
+ canvasEntry = this.cache[id];
14744
+ this.canvasFactory.reset(canvasEntry, width, height);
14745
+ canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);
14746
+ } else {
14747
+ canvasEntry = this.canvasFactory.create(width, height);
14748
+ this.cache[id] = canvasEntry;
14749
+ }
14750
+
14751
+ if (trackTransform) {
14752
+ addContextCurrentTransform(canvasEntry.context);
14753
+ }
14754
+
14755
+ return canvasEntry;
14756
+ },
14757
+ clear: function clear() {
14758
+ for (var id in this.cache) {
14759
+ var canvasEntry = this.cache[id];
14760
+ this.canvasFactory.destroy(canvasEntry);
14761
+ delete this.cache[id];
14762
+ }
14763
+ }
14764
+ };
14765
+ return CachedCanvases;
14766
+ }();
14767
+
14768
+ function compileType3Glyph(imgData) {
14769
+ var POINT_TO_PROCESS_LIMIT = 1000;
14770
+ var width = imgData.width,
14771
+ height = imgData.height;
14772
+ var i,
14773
+ j,
14774
+ j0,
14775
+ width1 = width + 1;
14776
+ var points = new Uint8Array(width1 * (height + 1));
14777
+ var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);
14778
+ var lineSize = width + 7 & ~7,
14779
+ data0 = imgData.data;
14780
+ var data = new Uint8Array(lineSize * height),
14781
+ pos = 0,
14782
+ ii;
14783
+
14784
+ for (i = 0, ii = data0.length; i < ii; i++) {
14785
+ var mask = 128,
14786
+ elem = data0[i];
14787
+
14788
+ while (mask > 0) {
14789
+ data[pos++] = elem & mask ? 0 : 255;
14790
+ mask >>= 1;
14791
+ }
14792
+ }
14793
+
14794
+ var count = 0;
14795
+ pos = 0;
14796
+
14797
+ if (data[pos] !== 0) {
14798
+ points[0] = 1;
14799
+ ++count;
14800
+ }
14801
+
14802
+ for (j = 1; j < width; j++) {
14803
+ if (data[pos] !== data[pos + 1]) {
14804
+ points[j] = data[pos] ? 2 : 1;
14805
+ ++count;
14806
+ }
14807
+
14808
+ pos++;
14809
+ }
14810
+
14811
+ if (data[pos] !== 0) {
14812
+ points[j] = 2;
14813
+ ++count;
14814
+ }
14815
+
14816
+ for (i = 1; i < height; i++) {
14817
+ pos = i * lineSize;
14818
+ j0 = i * width1;
14819
+
14820
+ if (data[pos - lineSize] !== data[pos]) {
14821
+ points[j0] = data[pos] ? 1 : 8;
14822
+ ++count;
14823
+ }
14824
+
14825
+ var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);
14826
+
14827
+ for (j = 1; j < width; j++) {
14828
+ sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);
14829
+
14830
+ if (POINT_TYPES[sum]) {
14831
+ points[j0 + j] = POINT_TYPES[sum];
14832
+ ++count;
14833
+ }
14834
+
14835
+ pos++;
14836
+ }
14837
+
14838
+ if (data[pos - lineSize] !== data[pos]) {
14839
+ points[j0 + j] = data[pos] ? 2 : 4;
14840
+ ++count;
14841
+ }
14842
+
14843
+ if (count > POINT_TO_PROCESS_LIMIT) {
14844
+ return null;
14845
+ }
14846
+ }
14847
+
14848
+ pos = lineSize * (height - 1);
14849
+ j0 = i * width1;
14850
+
14851
+ if (data[pos] !== 0) {
14852
+ points[j0] = 8;
14853
+ ++count;
14854
+ }
14855
+
14856
+ for (j = 1; j < width; j++) {
14857
+ if (data[pos] !== data[pos + 1]) {
14858
+ points[j0 + j] = data[pos] ? 4 : 8;
14859
+ ++count;
14860
+ }
14861
+
14862
+ pos++;
14863
+ }
14864
+
14865
+ if (data[pos] !== 0) {
14866
+ points[j0 + j] = 4;
14867
+ ++count;
14868
+ }
14869
+
14870
+ if (count > POINT_TO_PROCESS_LIMIT) {
14871
+ return null;
14872
+ }
14873
+
14874
+ var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);
14875
+ var outlines = [];
14876
+
14877
+ for (i = 0; count && i <= height; i++) {
14878
+ var p = i * width1;
14879
+ var end = p + width;
14880
+
14881
+ while (p < end && !points[p]) {
14882
+ p++;
14883
+ }
14884
+
14885
+ if (p === end) {
14886
+ continue;
14887
+ }
14888
+
14889
+ var coords = [p % width1, i];
14890
+ var type = points[p],
14891
+ p0 = p,
14892
+ pp;
14893
+
14894
+ do {
14895
+ var step = steps[type];
14896
+
14897
+ do {
14898
+ p += step;
14899
+ } while (!points[p]);
14900
+
14901
+ pp = points[p];
14902
+
14903
+ if (pp !== 5 && pp !== 10) {
14904
+ type = pp;
14905
+ points[p] = 0;
14906
+ } else {
14907
+ type = pp & 0x33 * type >> 4;
14908
+ points[p] &= type >> 2 | type << 2;
14909
+ }
14910
+
14911
+ coords.push(p % width1);
14912
+ coords.push(p / width1 | 0);
14913
+
14914
+ if (!points[p]) {
14915
+ --count;
14916
+ }
14917
+ } while (p0 !== p);
14918
+
14919
+ outlines.push(coords);
14920
+ --i;
14921
+ }
14922
+
14923
+ var drawOutline = function drawOutline(c) {
14924
+ c.save();
14925
+ c.scale(1 / width, -1 / height);
14926
+ c.translate(0, -height);
14927
+ c.beginPath();
14928
+
14929
+ for (var i = 0, ii = outlines.length; i < ii; i++) {
14930
+ var o = outlines[i];
14931
+ c.moveTo(o[0], o[1]);
14932
+
14933
+ for (var j = 2, jj = o.length; j < jj; j += 2) {
14934
+ c.lineTo(o[j], o[j + 1]);
14935
+ }
14936
+ }
14937
+
14938
+ c.fill();
14939
+ c.beginPath();
14940
+ c.restore();
14941
+ };
14942
+
14943
+ return drawOutline;
14944
+ }
14945
+
14946
+ var CanvasExtraState = function CanvasExtraStateClosure() {
14947
+ function CanvasExtraState() {
14948
+ this.alphaIsShape = false;
14949
+ this.fontSize = 0;
14950
+ this.fontSizeScale = 1;
14951
+ this.textMatrix = _util.IDENTITY_MATRIX;
14952
+ this.textMatrixScale = 1;
14953
+ this.fontMatrix = _util.FONT_IDENTITY_MATRIX;
14954
+ this.leading = 0;
14955
+ this.x = 0;
14956
+ this.y = 0;
14957
+ this.lineX = 0;
14958
+ this.lineY = 0;
14959
+ this.charSpacing = 0;
14960
+ this.wordSpacing = 0;
14961
+ this.textHScale = 1;
14962
+ this.textRenderingMode = _util.TextRenderingMode.FILL;
14963
+ this.textRise = 0;
14964
+ this.fillColor = "#000000";
14965
+ this.strokeColor = "#000000";
14966
+ this.patternFill = false;
14967
+ this.fillAlpha = 1;
14968
+ this.strokeAlpha = 1;
14969
+ this.lineWidth = 1;
14970
+ this.activeSMask = null;
14971
+ this.resumeSMaskCtx = null;
14972
+ }
14973
+
14974
+ CanvasExtraState.prototype = {
14975
+ clone: function CanvasExtraState_clone() {
14976
+ return Object.create(this);
14977
+ },
14978
+ setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) {
14979
+ this.x = x;
14980
+ this.y = y;
14981
+ }
14982
+ };
14983
+ return CanvasExtraState;
14984
+ }();
14985
+
14986
+ var CanvasGraphics = function CanvasGraphicsClosure() {
14987
+ var EXECUTION_TIME = 15;
14988
+ var EXECUTION_STEPS = 10;
14989
+
14990
+ function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, imageLayer) {
14991
+ this.ctx = canvasCtx;
14992
+ this.current = new CanvasExtraState();
14993
+ this.stateStack = [];
14994
+ this.pendingClip = null;
14995
+ this.pendingEOFill = false;
14996
+ this.res = null;
14997
+ this.xobjs = null;
14998
+ this.commonObjs = commonObjs;
14999
+ this.objs = objs;
15000
+ this.canvasFactory = canvasFactory;
15001
+ this.webGLContext = webGLContext;
15002
+ this.imageLayer = imageLayer;
15003
+ this.groupStack = [];
15004
+ this.processingType3 = null;
15005
+ this.baseTransform = null;
15006
+ this.baseTransformStack = [];
15007
+ this.groupLevel = 0;
15008
+ this.smaskStack = [];
15009
+ this.smaskCounter = 0;
15010
+ this.tempSMask = null;
15011
+ this.cachedCanvases = new CachedCanvases(this.canvasFactory);
15012
+
15013
+ if (canvasCtx) {
15014
+ addContextCurrentTransform(canvasCtx);
15015
+ }
15016
+
15017
+ this._cachedGetSinglePixelWidth = null;
15018
+ }
15019
+
15020
+ function putBinaryImageData(ctx, imgData) {
15021
+ if (typeof ImageData !== "undefined" && imgData instanceof ImageData) {
15022
+ ctx.putImageData(imgData, 0, 0);
15023
+ return;
15024
+ }
15025
+
15026
+ var height = imgData.height,
15027
+ width = imgData.width;
15028
+ var partialChunkHeight = height % FULL_CHUNK_HEIGHT;
15029
+ var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;
15030
+ var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;
15031
+ var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);
15032
+ var srcPos = 0,
15033
+ destPos;
15034
+ var src = imgData.data;
15035
+ var dest = chunkImgData.data;
15036
+ var i, j, thisChunkHeight, elemsInThisChunk;
15037
+
15038
+ if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {
15039
+ var srcLength = src.byteLength;
15040
+ var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);
15041
+ var dest32DataLength = dest32.length;
15042
+ var fullSrcDiff = width + 7 >> 3;
15043
+ var white = 0xffffffff;
15044
+ var black = IsLittleEndianCached.value ? 0xff000000 : 0x000000ff;
15045
+
15046
+ for (i = 0; i < totalChunks; i++) {
15047
+ thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;
15048
+ destPos = 0;
15049
+
15050
+ for (j = 0; j < thisChunkHeight; j++) {
15051
+ var srcDiff = srcLength - srcPos;
15052
+ var k = 0;
15053
+ var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;
15054
+ var kEndUnrolled = kEnd & ~7;
15055
+ var mask = 0;
15056
+ var srcByte = 0;
15057
+
15058
+ for (; k < kEndUnrolled; k += 8) {
15059
+ srcByte = src[srcPos++];
15060
+ dest32[destPos++] = srcByte & 128 ? white : black;
15061
+ dest32[destPos++] = srcByte & 64 ? white : black;
15062
+ dest32[destPos++] = srcByte & 32 ? white : black;
15063
+ dest32[destPos++] = srcByte & 16 ? white : black;
15064
+ dest32[destPos++] = srcByte & 8 ? white : black;
15065
+ dest32[destPos++] = srcByte & 4 ? white : black;
15066
+ dest32[destPos++] = srcByte & 2 ? white : black;
15067
+ dest32[destPos++] = srcByte & 1 ? white : black;
15068
+ }
15069
+
15070
+ for (; k < kEnd; k++) {
15071
+ if (mask === 0) {
15072
+ srcByte = src[srcPos++];
15073
+ mask = 128;
15074
+ }
15075
+
15076
+ dest32[destPos++] = srcByte & mask ? white : black;
15077
+ mask >>= 1;
15078
+ }
15079
+ }
15080
+
15081
+ while (destPos < dest32DataLength) {
15082
+ dest32[destPos++] = 0;
15083
+ }
15084
+
15085
+ ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);
15086
+ }
15087
+ } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {
15088
+ j = 0;
15089
+ elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;
15090
+
15091
+ for (i = 0; i < fullChunks; i++) {
15092
+ dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));
15093
+ srcPos += elemsInThisChunk;
15094
+ ctx.putImageData(chunkImgData, 0, j);
15095
+ j += FULL_CHUNK_HEIGHT;
15096
+ }
15097
+
15098
+ if (i < totalChunks) {
15099
+ elemsInThisChunk = width * partialChunkHeight * 4;
15100
+ dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));
15101
+ ctx.putImageData(chunkImgData, 0, j);
15102
+ }
15103
+ } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {
15104
+ thisChunkHeight = FULL_CHUNK_HEIGHT;
15105
+ elemsInThisChunk = width * thisChunkHeight;
15106
+
15107
+ for (i = 0; i < totalChunks; i++) {
15108
+ if (i >= fullChunks) {
15109
+ thisChunkHeight = partialChunkHeight;
15110
+ elemsInThisChunk = width * thisChunkHeight;
15111
+ }
15112
+
15113
+ destPos = 0;
15114
+
15115
+ for (j = elemsInThisChunk; j--;) {
15116
+ dest[destPos++] = src[srcPos++];
15117
+ dest[destPos++] = src[srcPos++];
15118
+ dest[destPos++] = src[srcPos++];
15119
+ dest[destPos++] = 255;
15120
+ }
15121
+
15122
+ ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);
15123
+ }
15124
+ } else {
15125
+ throw new Error("bad image kind: ".concat(imgData.kind));
15126
+ }
15127
+ }
15128
+
15129
+ function putBinaryImageMask(ctx, imgData) {
15130
+ var height = imgData.height,
15131
+ width = imgData.width;
15132
+ var partialChunkHeight = height % FULL_CHUNK_HEIGHT;
15133
+ var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;
15134
+ var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;
15135
+ var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);
15136
+ var srcPos = 0;
15137
+ var src = imgData.data;
15138
+ var dest = chunkImgData.data;
15139
+
15140
+ for (var i = 0; i < totalChunks; i++) {
15141
+ var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;
15142
+ var destPos = 3;
15143
+
15144
+ for (var j = 0; j < thisChunkHeight; j++) {
15145
+ var mask = 0;
15146
+
15147
+ for (var k = 0; k < width; k++) {
15148
+ if (!mask) {
15149
+ var elem = src[srcPos++];
15150
+ mask = 128;
15151
+ }
15152
+
15153
+ dest[destPos] = elem & mask ? 0 : 255;
15154
+ destPos += 4;
15155
+ mask >>= 1;
15156
+ }
15157
+ }
15158
+
15159
+ ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);
15160
+ }
15161
+ }
15162
+
15163
+ function copyCtxState(sourceCtx, destCtx) {
15164
+ var properties = ["strokeStyle", "fillStyle", "fillRule", "globalAlpha", "lineWidth", "lineCap", "lineJoin", "miterLimit", "globalCompositeOperation", "font"];
15165
+
15166
+ for (var i = 0, ii = properties.length; i < ii; i++) {
15167
+ var property = properties[i];
15168
+
15169
+ if (sourceCtx[property] !== undefined) {
15170
+ destCtx[property] = sourceCtx[property];
15171
+ }
15172
+ }
15173
+
15174
+ if (sourceCtx.setLineDash !== undefined) {
15175
+ destCtx.setLineDash(sourceCtx.getLineDash());
15176
+ destCtx.lineDashOffset = sourceCtx.lineDashOffset;
15177
+ }
15178
+ }
15179
+
15180
+ function resetCtxToDefault(ctx) {
15181
+ ctx.strokeStyle = "#000000";
15182
+ ctx.fillStyle = "#000000";
15183
+ ctx.fillRule = "nonzero";
15184
+ ctx.globalAlpha = 1;
15185
+ ctx.lineWidth = 1;
15186
+ ctx.lineCap = "butt";
15187
+ ctx.lineJoin = "miter";
15188
+ ctx.miterLimit = 10;
15189
+ ctx.globalCompositeOperation = "source-over";
15190
+ ctx.font = "10px sans-serif";
15191
+
15192
+ if (ctx.setLineDash !== undefined) {
15193
+ ctx.setLineDash([]);
15194
+ ctx.lineDashOffset = 0;
15195
+ }
15196
+ }
15197
+
15198
+ function composeSMaskBackdrop(bytes, r0, g0, b0) {
15199
+ var length = bytes.length;
15200
+
15201
+ for (var i = 3; i < length; i += 4) {
15202
+ var alpha = bytes[i];
15203
+
15204
+ if (alpha === 0) {
15205
+ bytes[i - 3] = r0;
15206
+ bytes[i - 2] = g0;
15207
+ bytes[i - 1] = b0;
15208
+ } else if (alpha < 255) {
15209
+ var alpha_ = 255 - alpha;
15210
+ bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;
15211
+ bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;
15212
+ bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;
15213
+ }
15214
+ }
15215
+ }
15216
+
15217
+ function composeSMaskAlpha(maskData, layerData, transferMap) {
15218
+ var length = maskData.length;
15219
+ var scale = 1 / 255;
15220
+
15221
+ for (var i = 3; i < length; i += 4) {
15222
+ var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];
15223
+ layerData[i] = layerData[i] * alpha * scale | 0;
15224
+ }
15225
+ }
15226
+
15227
+ function composeSMaskLuminosity(maskData, layerData, transferMap) {
15228
+ var length = maskData.length;
15229
+
15230
+ for (var i = 3; i < length; i += 4) {
15231
+ var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;
15232
+ layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;
15233
+ }
15234
+ }
15235
+
15236
+ function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap) {
15237
+ var hasBackdrop = !!backdrop;
15238
+ var r0 = hasBackdrop ? backdrop[0] : 0;
15239
+ var g0 = hasBackdrop ? backdrop[1] : 0;
15240
+ var b0 = hasBackdrop ? backdrop[2] : 0;
15241
+ var composeFn;
15242
+
15243
+ if (subtype === "Luminosity") {
15244
+ composeFn = composeSMaskLuminosity;
15245
+ } else {
15246
+ composeFn = composeSMaskAlpha;
15247
+ }
15248
+
15249
+ var PIXELS_TO_PROCESS = 1048576;
15250
+ var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));
15251
+
15252
+ for (var row = 0; row < height; row += chunkSize) {
15253
+ var chunkHeight = Math.min(chunkSize, height - row);
15254
+ var maskData = maskCtx.getImageData(0, row, width, chunkHeight);
15255
+ var layerData = layerCtx.getImageData(0, row, width, chunkHeight);
15256
+
15257
+ if (hasBackdrop) {
15258
+ composeSMaskBackdrop(maskData.data, r0, g0, b0);
15259
+ }
15260
+
15261
+ composeFn(maskData.data, layerData.data, transferMap);
15262
+ maskCtx.putImageData(layerData, 0, row);
15263
+ }
15264
+ }
15265
+
15266
+ function composeSMask(ctx, smask, layerCtx, webGLContext) {
15267
+ var mask = smask.canvas;
15268
+ var maskCtx = smask.context;
15269
+ ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY);
15270
+ var backdrop = smask.backdrop || null;
15271
+
15272
+ if (!smask.transferMap && webGLContext.isEnabled) {
15273
+ var composed = webGLContext.composeSMask({
15274
+ layer: layerCtx.canvas,
15275
+ mask: mask,
15276
+ properties: {
15277
+ subtype: smask.subtype,
15278
+ backdrop: backdrop
15279
+ }
15280
+ });
15281
+ ctx.setTransform(1, 0, 0, 1, 0, 0);
15282
+ ctx.drawImage(composed, smask.offsetX, smask.offsetY);
15283
+ return;
15284
+ }
15285
+
15286
+ genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap);
15287
+ ctx.drawImage(mask, 0, 0);
15288
+ }
15289
+
15290
+ var LINE_CAP_STYLES = ["butt", "round", "square"];
15291
+ var LINE_JOIN_STYLES = ["miter", "round", "bevel"];
15292
+ var NORMAL_CLIP = {};
15293
+ var EO_CLIP = {};
15294
+ CanvasGraphics.prototype = {
15295
+ beginDrawing: function beginDrawing(_ref) {
15296
+ var transform = _ref.transform,
15297
+ viewport = _ref.viewport,
15298
+ _ref$transparency = _ref.transparency,
15299
+ transparency = _ref$transparency === void 0 ? false : _ref$transparency,
15300
+ _ref$background = _ref.background,
15301
+ background = _ref$background === void 0 ? null : _ref$background;
15302
+ var width = this.ctx.canvas.width;
15303
+ var height = this.ctx.canvas.height;
15304
+ this.ctx.save();
15305
+ this.ctx.fillStyle = background || "rgb(255, 255, 255)";
15306
+ this.ctx.fillRect(0, 0, width, height);
15307
+ this.ctx.restore();
15308
+
15309
+ if (transparency) {
15310
+ var transparentCanvas = this.cachedCanvases.getCanvas("transparent", width, height, true);
15311
+ this.compositeCtx = this.ctx;
15312
+ this.transparentCanvas = transparentCanvas.canvas;
15313
+ this.ctx = transparentCanvas.context;
15314
+ this.ctx.save();
15315
+ this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform);
15316
+ }
15317
+
15318
+ this.ctx.save();
15319
+ resetCtxToDefault(this.ctx);
15320
+
15321
+ if (transform) {
15322
+ this.ctx.transform.apply(this.ctx, transform);
15323
+ }
15324
+
15325
+ this.ctx.transform.apply(this.ctx, viewport.transform);
15326
+ this.baseTransform = this.ctx.mozCurrentTransform.slice();
15327
+
15328
+ if (this.imageLayer) {
15329
+ this.imageLayer.beginLayout();
15330
+ }
15331
+ },
15332
+ executeOperatorList: function CanvasGraphics_executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {
15333
+ var argsArray = operatorList.argsArray;
15334
+ var fnArray = operatorList.fnArray;
15335
+ var i = executionStartIdx || 0;
15336
+ var argsArrayLen = argsArray.length;
15337
+
15338
+ if (argsArrayLen === i) {
15339
+ return i;
15340
+ }
15341
+
15342
+ var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === "function";
15343
+ var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;
15344
+ var steps = 0;
15345
+ var commonObjs = this.commonObjs;
15346
+ var objs = this.objs;
15347
+ var fnId;
15348
+
15349
+ while (true) {
15350
+ if (stepper !== undefined && i === stepper.nextBreakPoint) {
15351
+ stepper.breakIt(i, continueCallback);
15352
+ return i;
15353
+ }
15354
+
15355
+ fnId = fnArray[i];
15356
+
15357
+ if (fnId !== _util.OPS.dependency) {
15358
+ this[fnId].apply(this, argsArray[i]);
15359
+ } else {
15360
+ var _iteratorNormalCompletion = true;
15361
+ var _didIteratorError = false;
15362
+ var _iteratorError = undefined;
15363
+
15364
+ try {
15365
+ for (var _iterator = argsArray[i][Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
15366
+ var depObjId = _step.value;
15367
+ var objsPool = depObjId.startsWith("g_") ? commonObjs : objs;
15368
+
15369
+ if (!objsPool.has(depObjId)) {
15370
+ objsPool.get(depObjId, continueCallback);
15371
+ return i;
15372
+ }
15373
+ }
15374
+ } catch (err) {
15375
+ _didIteratorError = true;
15376
+ _iteratorError = err;
15377
+ } finally {
15378
+ try {
15379
+ if (!_iteratorNormalCompletion && _iterator["return"] != null) {
15380
+ _iterator["return"]();
15381
+ }
15382
+ } finally {
15383
+ if (_didIteratorError) {
15384
+ throw _iteratorError;
15385
+ }
15386
+ }
15387
+ }
15388
+ }
15389
+
15390
+ i++;
15391
+
15392
+ if (i === argsArrayLen) {
15393
+ return i;
15394
+ }
15395
+
15396
+ if (chunkOperations && ++steps > EXECUTION_STEPS) {
15397
+ if (Date.now() > endTime) {
15398
+ continueCallback();
15399
+ return i;
15400
+ }
15401
+
15402
+ steps = 0;
15403
+ }
15404
+ }
15405
+ },
15406
+ endDrawing: function CanvasGraphics_endDrawing() {
15407
+ if (this.current.activeSMask !== null) {
15408
+ this.endSMaskGroup();
15409
+ }
15410
+
15411
+ this.ctx.restore();
15412
+
15413
+ if (this.transparentCanvas) {
15414
+ this.ctx = this.compositeCtx;
15415
+ this.ctx.save();
15416
+ this.ctx.setTransform(1, 0, 0, 1, 0, 0);
15417
+ this.ctx.drawImage(this.transparentCanvas, 0, 0);
15418
+ this.ctx.restore();
15419
+ this.transparentCanvas = null;
15420
+ }
15421
+
15422
+ this.cachedCanvases.clear();
15423
+ this.webGLContext.clear();
15424
+
15425
+ if (this.imageLayer) {
15426
+ this.imageLayer.endLayout();
15427
+ }
15428
+ },
15429
+ setLineWidth: function CanvasGraphics_setLineWidth(width) {
15430
+ this.current.lineWidth = width;
15431
+ this.ctx.lineWidth = width;
15432
+ },
15433
+ setLineCap: function CanvasGraphics_setLineCap(style) {
15434
+ this.ctx.lineCap = LINE_CAP_STYLES[style];
15435
+ },
15436
+ setLineJoin: function CanvasGraphics_setLineJoin(style) {
15437
+ this.ctx.lineJoin = LINE_JOIN_STYLES[style];
15438
+ },
15439
+ setMiterLimit: function CanvasGraphics_setMiterLimit(limit) {
15440
+ this.ctx.miterLimit = limit;
15441
+ },
15442
+ setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {
15443
+ var ctx = this.ctx;
15444
+
15445
+ if (ctx.setLineDash !== undefined) {
15446
+ ctx.setLineDash(dashArray);
15447
+ ctx.lineDashOffset = dashPhase;
15448
+ }
15449
+ },
15450
+ setRenderingIntent: function setRenderingIntent(intent) {},
15451
+ setFlatness: function setFlatness(flatness) {},
15452
+ setGState: function CanvasGraphics_setGState(states) {
15453
+ for (var i = 0, ii = states.length; i < ii; i++) {
15454
+ var state = states[i];
15455
+ var key = state[0];
15456
+ var value = state[1];
15457
+
15458
+ switch (key) {
15459
+ case "LW":
15460
+ this.setLineWidth(value);
15461
+ break;
15462
+
15463
+ case "LC":
15464
+ this.setLineCap(value);
15465
+ break;
15466
+
15467
+ case "LJ":
15468
+ this.setLineJoin(value);
15469
+ break;
15470
+
15471
+ case "ML":
15472
+ this.setMiterLimit(value);
15473
+ break;
15474
+
15475
+ case "D":
15476
+ this.setDash(value[0], value[1]);
15477
+ break;
15478
+
15479
+ case "RI":
15480
+ this.setRenderingIntent(value);
15481
+ break;
15482
+
15483
+ case "FL":
15484
+ this.setFlatness(value);
15485
+ break;
15486
+
15487
+ case "Font":
15488
+ this.setFont(value[0], value[1]);
15489
+ break;
15490
+
15491
+ case "CA":
15492
+ this.current.strokeAlpha = state[1];
15493
+ break;
15494
+
15495
+ case "ca":
15496
+ this.current.fillAlpha = state[1];
15497
+ this.ctx.globalAlpha = state[1];
15498
+ break;
15499
+
15500
+ case "BM":
15501
+ this.ctx.globalCompositeOperation = value;
15502
+ break;
15503
+
15504
+ case "SMask":
15505
+ if (this.current.activeSMask) {
15506
+ if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) {
15507
+ this.suspendSMaskGroup();
15508
+ } else {
15509
+ this.endSMaskGroup();
15510
+ }
15511
+ }
15512
+
15513
+ this.current.activeSMask = value ? this.tempSMask : null;
15514
+
15515
+ if (this.current.activeSMask) {
15516
+ this.beginSMaskGroup();
15517
+ }
15518
+
15519
+ this.tempSMask = null;
15520
+ break;
15521
+ }
15522
+ }
15523
+ },
15524
+ beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() {
15525
+ var activeSMask = this.current.activeSMask;
15526
+ var drawnWidth = activeSMask.canvas.width;
15527
+ var drawnHeight = activeSMask.canvas.height;
15528
+ var cacheId = "smaskGroupAt" + this.groupLevel;
15529
+ var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);
15530
+ var currentCtx = this.ctx;
15531
+ var currentTransform = currentCtx.mozCurrentTransform;
15532
+ this.ctx.save();
15533
+ var groupCtx = scratchCanvas.context;
15534
+ groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);
15535
+ groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);
15536
+ groupCtx.transform.apply(groupCtx, currentTransform);
15537
+ activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;
15538
+ copyCtxState(currentCtx, groupCtx);
15539
+ this.ctx = groupCtx;
15540
+ this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]);
15541
+ this.groupStack.push(currentCtx);
15542
+ this.groupLevel++;
15543
+ },
15544
+ suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() {
15545
+ var groupCtx = this.ctx;
15546
+ this.groupLevel--;
15547
+ this.ctx = this.groupStack.pop();
15548
+ composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);
15549
+ this.ctx.restore();
15550
+ this.ctx.save();
15551
+ copyCtxState(groupCtx, this.ctx);
15552
+ this.current.resumeSMaskCtx = groupCtx;
15553
+
15554
+ var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);
15555
+
15556
+ this.ctx.transform.apply(this.ctx, deltaTransform);
15557
+ groupCtx.save();
15558
+ groupCtx.setTransform(1, 0, 0, 1, 0, 0);
15559
+ groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height);
15560
+ groupCtx.restore();
15561
+ },
15562
+ resumeSMaskGroup: function CanvasGraphics_endSMaskGroup() {
15563
+ var groupCtx = this.current.resumeSMaskCtx;
15564
+ var currentCtx = this.ctx;
15565
+ this.ctx = groupCtx;
15566
+ this.groupStack.push(currentCtx);
15567
+ this.groupLevel++;
15568
+ },
15569
+ endSMaskGroup: function CanvasGraphics_endSMaskGroup() {
15570
+ var groupCtx = this.ctx;
15571
+ this.groupLevel--;
15572
+ this.ctx = this.groupStack.pop();
15573
+ composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);
15574
+ this.ctx.restore();
15575
+ copyCtxState(groupCtx, this.ctx);
15576
+
15577
+ var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);
15578
+
15579
+ this.ctx.transform.apply(this.ctx, deltaTransform);
15580
+ },
15581
+ save: function CanvasGraphics_save() {
15582
+ this.ctx.save();
15583
+ var old = this.current;
15584
+ this.stateStack.push(old);
15585
+ this.current = old.clone();
15586
+ this.current.resumeSMaskCtx = null;
15587
+ },
15588
+ restore: function CanvasGraphics_restore() {
15589
+ if (this.current.resumeSMaskCtx) {
15590
+ this.resumeSMaskGroup();
15591
+ }
15592
+
15593
+ if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) {
15594
+ this.endSMaskGroup();
15595
+ }
15596
+
15597
+ if (this.stateStack.length !== 0) {
15598
+ this.current = this.stateStack.pop();
15599
+ this.ctx.restore();
15600
+ this.pendingClip = null;
15601
+ this._cachedGetSinglePixelWidth = null;
15602
+ }
15603
+ },
15604
+ transform: function CanvasGraphics_transform(a, b, c, d, e, f) {
15605
+ this.ctx.transform(a, b, c, d, e, f);
15606
+ this._cachedGetSinglePixelWidth = null;
15607
+ },
15608
+ constructPath: function CanvasGraphics_constructPath(ops, args) {
15609
+ var ctx = this.ctx;
15610
+ var current = this.current;
15611
+ var x = current.x,
15612
+ y = current.y;
15613
+
15614
+ for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {
15615
+ switch (ops[i] | 0) {
15616
+ case _util.OPS.rectangle:
15617
+ x = args[j++];
15618
+ y = args[j++];
15619
+ var width = args[j++];
15620
+ var height = args[j++];
15621
+
15622
+ if (width === 0) {
15623
+ width = this.getSinglePixelWidth();
15624
+ }
15625
+
15626
+ if (height === 0) {
15627
+ height = this.getSinglePixelWidth();
15628
+ }
15629
+
15630
+ var xw = x + width;
15631
+ var yh = y + height;
15632
+ this.ctx.moveTo(x, y);
15633
+ this.ctx.lineTo(xw, y);
15634
+ this.ctx.lineTo(xw, yh);
15635
+ this.ctx.lineTo(x, yh);
15636
+ this.ctx.lineTo(x, y);
15637
+ this.ctx.closePath();
15638
+ break;
15639
+
15640
+ case _util.OPS.moveTo:
15641
+ x = args[j++];
15642
+ y = args[j++];
15643
+ ctx.moveTo(x, y);
15644
+ break;
15645
+
15646
+ case _util.OPS.lineTo:
15647
+ x = args[j++];
15648
+ y = args[j++];
15649
+ ctx.lineTo(x, y);
15650
+ break;
15651
+
15652
+ case _util.OPS.curveTo:
15653
+ x = args[j + 4];
15654
+ y = args[j + 5];
15655
+ ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);
15656
+ j += 6;
15657
+ break;
15658
+
15659
+ case _util.OPS.curveTo2:
15660
+ ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);
15661
+ x = args[j + 2];
15662
+ y = args[j + 3];
15663
+ j += 4;
15664
+ break;
15665
+
15666
+ case _util.OPS.curveTo3:
15667
+ x = args[j + 2];
15668
+ y = args[j + 3];
15669
+ ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);
15670
+ j += 4;
15671
+ break;
15672
+
15673
+ case _util.OPS.closePath:
15674
+ ctx.closePath();
15675
+ break;
15676
+ }
15677
+ }
15678
+
15679
+ current.setCurrentPoint(x, y);
15680
+ },
15681
+ closePath: function CanvasGraphics_closePath() {
15682
+ this.ctx.closePath();
15683
+ },
15684
+ stroke: function CanvasGraphics_stroke(consumePath) {
15685
+ consumePath = typeof consumePath !== "undefined" ? consumePath : true;
15686
+ var ctx = this.ctx;
15687
+ var strokeColor = this.current.strokeColor;
15688
+ ctx.globalAlpha = this.current.strokeAlpha;
15689
+
15690
+ if (strokeColor && strokeColor.hasOwnProperty("type") && strokeColor.type === "Pattern") {
15691
+ ctx.save();
15692
+ var transform = ctx.mozCurrentTransform;
15693
+
15694
+ var scale = _util.Util.singularValueDecompose2dScale(transform)[0];
15695
+
15696
+ ctx.strokeStyle = strokeColor.getPattern(ctx, this);
15697
+ ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth * scale);
15698
+ ctx.stroke();
15699
+ ctx.restore();
15700
+ } else {
15701
+ ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth);
15702
+ ctx.stroke();
15703
+ }
15704
+
15705
+ if (consumePath) {
15706
+ this.consumePath();
15707
+ }
15708
+
15709
+ ctx.globalAlpha = this.current.fillAlpha;
15710
+ },
15711
+ closeStroke: function CanvasGraphics_closeStroke() {
15712
+ this.closePath();
15713
+ this.stroke();
15714
+ },
15715
+ fill: function CanvasGraphics_fill(consumePath) {
15716
+ consumePath = typeof consumePath !== "undefined" ? consumePath : true;
15717
+ var ctx = this.ctx;
15718
+ var fillColor = this.current.fillColor;
15719
+ var isPatternFill = this.current.patternFill;
15720
+ var needRestore = false;
15721
+
15722
+ if (isPatternFill) {
15723
+ ctx.save();
15724
+
15725
+ if (this.baseTransform) {
15726
+ ctx.setTransform.apply(ctx, this.baseTransform);
15727
+ }
15728
+
15729
+ ctx.fillStyle = fillColor.getPattern(ctx, this);
15730
+ needRestore = true;
15731
+ }
15732
+
15733
+ if (this.pendingEOFill) {
15734
+ ctx.fill("evenodd");
15735
+ this.pendingEOFill = false;
15736
+ } else {
15737
+ ctx.fill();
15738
+ }
15739
+
15740
+ if (needRestore) {
15741
+ ctx.restore();
15742
+ }
15743
+
15744
+ if (consumePath) {
15745
+ this.consumePath();
15746
+ }
15747
+ },
15748
+ eoFill: function CanvasGraphics_eoFill() {
15749
+ this.pendingEOFill = true;
15750
+ this.fill();
15751
+ },
15752
+ fillStroke: function CanvasGraphics_fillStroke() {
15753
+ this.fill(false);
15754
+ this.stroke(false);
15755
+ this.consumePath();
15756
+ },
15757
+ eoFillStroke: function CanvasGraphics_eoFillStroke() {
15758
+ this.pendingEOFill = true;
15759
+ this.fillStroke();
15760
+ },
15761
+ closeFillStroke: function CanvasGraphics_closeFillStroke() {
15762
+ this.closePath();
15763
+ this.fillStroke();
15764
+ },
15765
+ closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() {
15766
+ this.pendingEOFill = true;
15767
+ this.closePath();
15768
+ this.fillStroke();
15769
+ },
15770
+ endPath: function CanvasGraphics_endPath() {
15771
+ this.consumePath();
15772
+ },
15773
+ clip: function CanvasGraphics_clip() {
15774
+ this.pendingClip = NORMAL_CLIP;
15775
+ },
15776
+ eoClip: function CanvasGraphics_eoClip() {
15777
+ this.pendingClip = EO_CLIP;
15778
+ },
15779
+ beginText: function CanvasGraphics_beginText() {
15780
+ this.current.textMatrix = _util.IDENTITY_MATRIX;
15781
+ this.current.textMatrixScale = 1;
15782
+ this.current.x = this.current.lineX = 0;
15783
+ this.current.y = this.current.lineY = 0;
15784
+ },
15785
+ endText: function CanvasGraphics_endText() {
15786
+ var paths = this.pendingTextPaths;
15787
+ var ctx = this.ctx;
15788
+
15789
+ if (paths === undefined) {
15790
+ ctx.beginPath();
15791
+ return;
15792
+ }
15793
+
15794
+ ctx.save();
15795
+ ctx.beginPath();
15796
+
15797
+ for (var i = 0; i < paths.length; i++) {
15798
+ var path = paths[i];
15799
+ ctx.setTransform.apply(ctx, path.transform);
15800
+ ctx.translate(path.x, path.y);
15801
+ path.addToPath(ctx, path.fontSize);
15802
+ }
15803
+
15804
+ ctx.restore();
15805
+ ctx.clip();
15806
+ ctx.beginPath();
15807
+ delete this.pendingTextPaths;
15808
+ },
15809
+ setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) {
15810
+ this.current.charSpacing = spacing;
15811
+ },
15812
+ setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) {
15813
+ this.current.wordSpacing = spacing;
15814
+ },
15815
+ setHScale: function CanvasGraphics_setHScale(scale) {
15816
+ this.current.textHScale = scale / 100;
15817
+ },
15818
+ setLeading: function CanvasGraphics_setLeading(leading) {
15819
+ this.current.leading = -leading;
15820
+ },
15821
+ setFont: function CanvasGraphics_setFont(fontRefName, size) {
15822
+ var fontObj = this.commonObjs.get(fontRefName);
15823
+ var current = this.current;
15824
+
15825
+ if (!fontObj) {
15826
+ throw new Error("Can't find font for ".concat(fontRefName));
15827
+ }
15828
+
15829
+ current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;
15830
+
15831
+ if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {
15832
+ (0, _util.warn)("Invalid font matrix for font " + fontRefName);
15833
+ }
15834
+
15835
+ if (size < 0) {
15836
+ size = -size;
15837
+ current.fontDirection = -1;
15838
+ } else {
15839
+ current.fontDirection = 1;
15840
+ }
15841
+
15842
+ this.current.font = fontObj;
15843
+ this.current.fontSize = size;
15844
+
15845
+ if (fontObj.isType3Font) {
15846
+ return;
15847
+ }
15848
+
15849
+ var name = fontObj.loadedName || "sans-serif";
15850
+ var bold = "normal";
15851
+
15852
+ if (fontObj.black) {
15853
+ bold = "900";
15854
+ } else if (fontObj.bold) {
15855
+ bold = "bold";
15856
+ }
15857
+
15858
+ var italic = fontObj.italic ? "italic" : "normal";
15859
+ var typeface = "\"".concat(name, "\", ").concat(fontObj.fallbackName);
15860
+ var browserFontSize = size;
15861
+
15862
+ if (size < MIN_FONT_SIZE) {
15863
+ browserFontSize = MIN_FONT_SIZE;
15864
+ } else if (size > MAX_FONT_SIZE) {
15865
+ browserFontSize = MAX_FONT_SIZE;
15866
+ }
15867
+
15868
+ this.current.fontSizeScale = size / browserFontSize;
15869
+ this.ctx.font = "".concat(italic, " ").concat(bold, " ").concat(browserFontSize, "px ").concat(typeface);
15870
+ },
15871
+ setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) {
15872
+ this.current.textRenderingMode = mode;
15873
+ },
15874
+ setTextRise: function CanvasGraphics_setTextRise(rise) {
15875
+ this.current.textRise = rise;
15876
+ },
15877
+ moveText: function CanvasGraphics_moveText(x, y) {
15878
+ this.current.x = this.current.lineX += x;
15879
+ this.current.y = this.current.lineY += y;
15880
+ },
15881
+ setLeadingMoveText: function CanvasGraphics_setLeadingMoveText(x, y) {
15882
+ this.setLeading(-y);
15883
+ this.moveText(x, y);
15884
+ },
15885
+ setTextMatrix: function CanvasGraphics_setTextMatrix(a, b, c, d, e, f) {
15886
+ this.current.textMatrix = [a, b, c, d, e, f];
15887
+ this.current.textMatrixScale = Math.sqrt(a * a + b * b);
15888
+ this.current.x = this.current.lineX = 0;
15889
+ this.current.y = this.current.lineY = 0;
15890
+ },
15891
+ nextLine: function CanvasGraphics_nextLine() {
15892
+ this.moveText(0, this.current.leading);
15893
+ },
15894
+ paintChar: function paintChar(character, x, y, patternTransform) {
15895
+ var ctx = this.ctx;
15896
+ var current = this.current;
15897
+ var font = current.font;
15898
+ var textRenderingMode = current.textRenderingMode;
15899
+ var fontSize = current.fontSize / current.fontSizeScale;
15900
+ var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;
15901
+ var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);
15902
+ var patternFill = current.patternFill && font.data;
15903
+ var addToPath;
15904
+
15905
+ if (font.disableFontFace || isAddToPathSet || patternFill) {
15906
+ addToPath = font.getPathGenerator(this.commonObjs, character);
15907
+ }
15908
+
15909
+ if (font.disableFontFace || patternFill) {
15910
+ ctx.save();
15911
+ ctx.translate(x, y);
15912
+ ctx.beginPath();
15913
+ addToPath(ctx, fontSize);
15914
+
15915
+ if (patternTransform) {
15916
+ ctx.setTransform.apply(ctx, patternTransform);
15917
+ }
15918
+
15919
+ if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
15920
+ ctx.fill();
15921
+ }
15922
+
15923
+ if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
15924
+ ctx.stroke();
15925
+ }
15926
+
15927
+ ctx.restore();
15928
+ } else {
15929
+ if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
15930
+ ctx.fillText(character, x, y);
15931
+ }
15932
+
15933
+ if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
15934
+ ctx.strokeText(character, x, y);
15935
+ }
15936
+ }
15937
+
15938
+ if (isAddToPathSet) {
15939
+ var paths = this.pendingTextPaths || (this.pendingTextPaths = []);
15940
+ paths.push({
15941
+ transform: ctx.mozCurrentTransform,
15942
+ x: x,
15943
+ y: y,
15944
+ fontSize: fontSize,
15945
+ addToPath: addToPath
15946
+ });
15947
+ }
15948
+ },
15949
+
15950
+ get isFontSubpixelAAEnabled() {
15951
+ var _this$cachedCanvases$ = this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled", 10, 10),
15952
+ ctx = _this$cachedCanvases$.context;
15953
+
15954
+ ctx.scale(1.5, 1);
15955
+ ctx.fillText("I", 0, 10);
15956
+ var data = ctx.getImageData(0, 0, 10, 10).data;
15957
+ var enabled = false;
15958
+
15959
+ for (var i = 3; i < data.length; i += 4) {
15960
+ if (data[i] > 0 && data[i] < 255) {
15961
+ enabled = true;
15962
+ break;
15963
+ }
15964
+ }
15965
+
15966
+ return (0, _util.shadow)(this, "isFontSubpixelAAEnabled", enabled);
15967
+ },
15968
+
15969
+ showText: function CanvasGraphics_showText(glyphs) {
15970
+ var current = this.current;
15971
+ var font = current.font;
15972
+
15973
+ if (font.isType3Font) {
15974
+ return this.showType3Text(glyphs);
15975
+ }
15976
+
15977
+ var fontSize = current.fontSize;
15978
+
15979
+ if (fontSize === 0) {
15980
+ return undefined;
15981
+ }
15982
+
15983
+ var ctx = this.ctx;
15984
+ var fontSizeScale = current.fontSizeScale;
15985
+ var charSpacing = current.charSpacing;
15986
+ var wordSpacing = current.wordSpacing;
15987
+ var fontDirection = current.fontDirection;
15988
+ var textHScale = current.textHScale * fontDirection;
15989
+ var glyphsLength = glyphs.length;
15990
+ var vertical = font.vertical;
15991
+ var spacingDir = vertical ? 1 : -1;
15992
+ var defaultVMetrics = font.defaultVMetrics;
15993
+ var widthAdvanceScale = fontSize * current.fontMatrix[0];
15994
+ var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;
15995
+ ctx.save();
15996
+ var patternTransform;
15997
+
15998
+ if (current.patternFill) {
15999
+ ctx.save();
16000
+ var pattern = current.fillColor.getPattern(ctx, this);
16001
+ patternTransform = ctx.mozCurrentTransform;
16002
+ ctx.restore();
16003
+ ctx.fillStyle = pattern;
16004
+ }
16005
+
16006
+ ctx.transform.apply(ctx, current.textMatrix);
16007
+ ctx.translate(current.x, current.y + current.textRise);
16008
+
16009
+ if (fontDirection > 0) {
16010
+ ctx.scale(textHScale, -1);
16011
+ } else {
16012
+ ctx.scale(textHScale, 1);
16013
+ }
16014
+
16015
+ var lineWidth = current.lineWidth;
16016
+ var scale = current.textMatrixScale;
16017
+
16018
+ if (scale === 0 || lineWidth === 0) {
16019
+ var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;
16020
+
16021
+ if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
16022
+ this._cachedGetSinglePixelWidth = null;
16023
+ lineWidth = this.getSinglePixelWidth() * MIN_WIDTH_FACTOR;
16024
+ }
16025
+ } else {
16026
+ lineWidth /= scale;
16027
+ }
16028
+
16029
+ if (fontSizeScale !== 1.0) {
16030
+ ctx.scale(fontSizeScale, fontSizeScale);
16031
+ lineWidth /= fontSizeScale;
16032
+ }
16033
+
16034
+ ctx.lineWidth = lineWidth;
16035
+ var x = 0,
16036
+ i;
16037
+
16038
+ for (i = 0; i < glyphsLength; ++i) {
16039
+ var glyph = glyphs[i];
16040
+
16041
+ if ((0, _util.isNum)(glyph)) {
16042
+ x += spacingDir * glyph * fontSize / 1000;
16043
+ continue;
16044
+ }
16045
+
16046
+ var restoreNeeded = false;
16047
+ var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;
16048
+ var character = glyph.fontChar;
16049
+ var accent = glyph.accent;
16050
+ var scaledX, scaledY, scaledAccentX, scaledAccentY;
16051
+ var width = glyph.width;
16052
+
16053
+ if (vertical) {
16054
+ var vmetric, vx, vy;
16055
+ vmetric = glyph.vmetric || defaultVMetrics;
16056
+ vx = glyph.vmetric ? vmetric[1] : width * 0.5;
16057
+ vx = -vx * widthAdvanceScale;
16058
+ vy = vmetric[2] * widthAdvanceScale;
16059
+ width = vmetric ? -vmetric[0] : width;
16060
+ scaledX = vx / fontSizeScale;
16061
+ scaledY = (x + vy) / fontSizeScale;
16062
+ } else {
16063
+ scaledX = x / fontSizeScale;
16064
+ scaledY = 0;
16065
+ }
16066
+
16067
+ if (font.remeasure && width > 0) {
16068
+ var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;
16069
+
16070
+ if (width < measuredWidth && this.isFontSubpixelAAEnabled) {
16071
+ var characterScaleX = width / measuredWidth;
16072
+ restoreNeeded = true;
16073
+ ctx.save();
16074
+ ctx.scale(characterScaleX, 1);
16075
+ scaledX /= characterScaleX;
16076
+ } else if (width !== measuredWidth) {
16077
+ scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;
16078
+ }
16079
+ }
16080
+
16081
+ if (glyph.isInFont || font.missingFile) {
16082
+ if (simpleFillText && !accent) {
16083
+ ctx.fillText(character, scaledX, scaledY);
16084
+ } else {
16085
+ this.paintChar(character, scaledX, scaledY, patternTransform);
16086
+
16087
+ if (accent) {
16088
+ scaledAccentX = scaledX + accent.offset.x / fontSizeScale;
16089
+ scaledAccentY = scaledY - accent.offset.y / fontSizeScale;
16090
+ this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);
16091
+ }
16092
+ }
16093
+ }
16094
+
16095
+ var charWidth = width * widthAdvanceScale + spacing * fontDirection;
16096
+ x += charWidth;
16097
+
16098
+ if (restoreNeeded) {
16099
+ ctx.restore();
16100
+ }
16101
+ }
16102
+
16103
+ if (vertical) {
16104
+ current.y -= x * textHScale;
16105
+ } else {
16106
+ current.x += x * textHScale;
16107
+ }
16108
+
16109
+ ctx.restore();
16110
+ },
16111
+ showType3Text: function CanvasGraphics_showType3Text(glyphs) {
16112
+ var ctx = this.ctx;
16113
+ var current = this.current;
16114
+ var font = current.font;
16115
+ var fontSize = current.fontSize;
16116
+ var fontDirection = current.fontDirection;
16117
+ var spacingDir = font.vertical ? 1 : -1;
16118
+ var charSpacing = current.charSpacing;
16119
+ var wordSpacing = current.wordSpacing;
16120
+ var textHScale = current.textHScale * fontDirection;
16121
+ var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;
16122
+ var glyphsLength = glyphs.length;
16123
+ var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;
16124
+ var i, glyph, width, spacingLength;
16125
+
16126
+ if (isTextInvisible || fontSize === 0) {
16127
+ return;
16128
+ }
16129
+
16130
+ this._cachedGetSinglePixelWidth = null;
16131
+ ctx.save();
16132
+ ctx.transform.apply(ctx, current.textMatrix);
16133
+ ctx.translate(current.x, current.y);
16134
+ ctx.scale(textHScale, fontDirection);
16135
+
16136
+ for (i = 0; i < glyphsLength; ++i) {
16137
+ glyph = glyphs[i];
16138
+
16139
+ if ((0, _util.isNum)(glyph)) {
16140
+ spacingLength = spacingDir * glyph * fontSize / 1000;
16141
+ this.ctx.translate(spacingLength, 0);
16142
+ current.x += spacingLength * textHScale;
16143
+ continue;
16144
+ }
16145
+
16146
+ var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;
16147
+ var operatorList = font.charProcOperatorList[glyph.operatorListId];
16148
+
16149
+ if (!operatorList) {
16150
+ (0, _util.warn)("Type3 character \"".concat(glyph.operatorListId, "\" is not available."));
16151
+ continue;
16152
+ }
16153
+
16154
+ this.processingType3 = glyph;
16155
+ this.save();
16156
+ ctx.scale(fontSize, fontSize);
16157
+ ctx.transform.apply(ctx, fontMatrix);
16158
+ this.executeOperatorList(operatorList);
16159
+ this.restore();
16160
+
16161
+ var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);
16162
+
16163
+ width = transformed[0] * fontSize + spacing;
16164
+ ctx.translate(width, 0);
16165
+ current.x += width * textHScale;
16166
+ }
16167
+
16168
+ ctx.restore();
16169
+ this.processingType3 = null;
16170
+ },
16171
+ setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {},
16172
+ setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {
16173
+ this.ctx.rect(llx, lly, urx - llx, ury - lly);
16174
+ this.clip();
16175
+ this.endPath();
16176
+ },
16177
+ getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {
16178
+ var _this = this;
16179
+
16180
+ var pattern;
16181
+
16182
+ if (IR[0] === "TilingPattern") {
16183
+ var color = IR[1];
16184
+ var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();
16185
+ var canvasGraphicsFactory = {
16186
+ createCanvasGraphics: function createCanvasGraphics(ctx) {
16187
+ return new CanvasGraphics(ctx, _this.commonObjs, _this.objs, _this.canvasFactory, _this.webGLContext);
16188
+ }
16189
+ };
16190
+ pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);
16191
+ } else {
16192
+ pattern = (0, _pattern_helper.getShadingPatternFromIR)(IR);
16193
+ }
16194
+
16195
+ return pattern;
16196
+ },
16197
+ setStrokeColorN: function CanvasGraphics_setStrokeColorN() {
16198
+ this.current.strokeColor = this.getColorN_Pattern(arguments);
16199
+ },
16200
+ setFillColorN: function CanvasGraphics_setFillColorN() {
16201
+ this.current.fillColor = this.getColorN_Pattern(arguments);
16202
+ this.current.patternFill = true;
16203
+ },
16204
+ setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) {
16205
+ var color = _util.Util.makeCssRgb(r, g, b);
16206
+
16207
+ this.ctx.strokeStyle = color;
16208
+ this.current.strokeColor = color;
16209
+ },
16210
+ setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {
16211
+ var color = _util.Util.makeCssRgb(r, g, b);
16212
+
16213
+ this.ctx.fillStyle = color;
16214
+ this.current.fillColor = color;
16215
+ this.current.patternFill = false;
16216
+ },
16217
+ shadingFill: function CanvasGraphics_shadingFill(patternIR) {
16218
+ var ctx = this.ctx;
16219
+ this.save();
16220
+ var pattern = (0, _pattern_helper.getShadingPatternFromIR)(patternIR);
16221
+ ctx.fillStyle = pattern.getPattern(ctx, this, true);
16222
+ var inv = ctx.mozCurrentTransformInverse;
16223
+
16224
+ if (inv) {
16225
+ var canvas = ctx.canvas;
16226
+ var width = canvas.width;
16227
+ var height = canvas.height;
16228
+
16229
+ var bl = _util.Util.applyTransform([0, 0], inv);
16230
+
16231
+ var br = _util.Util.applyTransform([0, height], inv);
16232
+
16233
+ var ul = _util.Util.applyTransform([width, 0], inv);
16234
+
16235
+ var ur = _util.Util.applyTransform([width, height], inv);
16236
+
16237
+ var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);
16238
+ var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);
16239
+ var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);
16240
+ var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);
16241
+ this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);
16242
+ } else {
16243
+ this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);
16244
+ }
16245
+
16246
+ this.restore();
16247
+ },
16248
+ beginInlineImage: function CanvasGraphics_beginInlineImage() {
16249
+ (0, _util.unreachable)("Should not call beginInlineImage");
16250
+ },
16251
+ beginImageData: function CanvasGraphics_beginImageData() {
16252
+ (0, _util.unreachable)("Should not call beginImageData");
16253
+ },
16254
+ paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix, bbox) {
16255
+ this.save();
16256
+ this.baseTransformStack.push(this.baseTransform);
16257
+
16258
+ if (Array.isArray(matrix) && matrix.length === 6) {
16259
+ this.transform.apply(this, matrix);
16260
+ }
16261
+
16262
+ this.baseTransform = this.ctx.mozCurrentTransform;
16263
+
16264
+ if (bbox) {
16265
+ var width = bbox[2] - bbox[0];
16266
+ var height = bbox[3] - bbox[1];
16267
+ this.ctx.rect(bbox[0], bbox[1], width, height);
16268
+ this.clip();
16269
+ this.endPath();
16270
+ }
16271
+ },
16272
+ paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() {
16273
+ this.restore();
16274
+ this.baseTransform = this.baseTransformStack.pop();
16275
+ },
16276
+ beginGroup: function CanvasGraphics_beginGroup(group) {
16277
+ this.save();
16278
+ var currentCtx = this.ctx;
16279
+
16280
+ if (!group.isolated) {
16281
+ (0, _util.info)("TODO: Support non-isolated groups.");
16282
+ }
16283
+
16284
+ if (group.knockout) {
16285
+ (0, _util.warn)("Knockout groups not supported.");
16286
+ }
16287
+
16288
+ var currentTransform = currentCtx.mozCurrentTransform;
16289
+
16290
+ if (group.matrix) {
16291
+ currentCtx.transform.apply(currentCtx, group.matrix);
16292
+ }
16293
+
16294
+ if (!group.bbox) {
16295
+ throw new Error("Bounding box is required.");
16296
+ }
16297
+
16298
+ var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);
16299
+
16300
+ var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];
16301
+ bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];
16302
+ var offsetX = Math.floor(bounds[0]);
16303
+ var offsetY = Math.floor(bounds[1]);
16304
+ var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);
16305
+ var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);
16306
+ var scaleX = 1,
16307
+ scaleY = 1;
16308
+
16309
+ if (drawnWidth > MAX_GROUP_SIZE) {
16310
+ scaleX = drawnWidth / MAX_GROUP_SIZE;
16311
+ drawnWidth = MAX_GROUP_SIZE;
16312
+ }
16313
+
16314
+ if (drawnHeight > MAX_GROUP_SIZE) {
16315
+ scaleY = drawnHeight / MAX_GROUP_SIZE;
16316
+ drawnHeight = MAX_GROUP_SIZE;
16317
+ }
16318
+
16319
+ var cacheId = "groupAt" + this.groupLevel;
16320
+
16321
+ if (group.smask) {
16322
+ cacheId += "_smask_" + this.smaskCounter++ % 2;
16323
+ }
16324
+
16325
+ var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);
16326
+ var groupCtx = scratchCanvas.context;
16327
+ groupCtx.scale(1 / scaleX, 1 / scaleY);
16328
+ groupCtx.translate(-offsetX, -offsetY);
16329
+ groupCtx.transform.apply(groupCtx, currentTransform);
16330
+
16331
+ if (group.smask) {
16332
+ this.smaskStack.push({
16333
+ canvas: scratchCanvas.canvas,
16334
+ context: groupCtx,
16335
+ offsetX: offsetX,
16336
+ offsetY: offsetY,
16337
+ scaleX: scaleX,
16338
+ scaleY: scaleY,
16339
+ subtype: group.smask.subtype,
16340
+ backdrop: group.smask.backdrop,
16341
+ transferMap: group.smask.transferMap || null,
16342
+ startTransformInverse: null
16343
+ });
16344
+ } else {
16345
+ currentCtx.setTransform(1, 0, 0, 1, 0, 0);
16346
+ currentCtx.translate(offsetX, offsetY);
16347
+ currentCtx.scale(scaleX, scaleY);
16348
+ }
16349
+
16350
+ copyCtxState(currentCtx, groupCtx);
16351
+ this.ctx = groupCtx;
16352
+ this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]);
16353
+ this.groupStack.push(currentCtx);
16354
+ this.groupLevel++;
16355
+ this.current.activeSMask = null;
16356
+ },
16357
+ endGroup: function CanvasGraphics_endGroup(group) {
16358
+ this.groupLevel--;
16359
+ var groupCtx = this.ctx;
16360
+ this.ctx = this.groupStack.pop();
16361
+
16362
+ if (this.ctx.imageSmoothingEnabled !== undefined) {
16363
+ this.ctx.imageSmoothingEnabled = false;
16364
+ } else {
16365
+ this.ctx.mozImageSmoothingEnabled = false;
16366
+ }
16367
+
16368
+ if (group.smask) {
16369
+ this.tempSMask = this.smaskStack.pop();
16370
+ } else {
16371
+ this.ctx.drawImage(groupCtx.canvas, 0, 0);
16372
+ }
16373
+
16374
+ this.restore();
16375
+ },
16376
+ beginAnnotations: function CanvasGraphics_beginAnnotations() {
16377
+ this.save();
16378
+
16379
+ if (this.baseTransform) {
16380
+ this.ctx.setTransform.apply(this.ctx, this.baseTransform);
16381
+ }
16382
+ },
16383
+ endAnnotations: function CanvasGraphics_endAnnotations() {
16384
+ this.restore();
16385
+ },
16386
+ beginAnnotation: function CanvasGraphics_beginAnnotation(rect, transform, matrix) {
16387
+ this.save();
16388
+ resetCtxToDefault(this.ctx);
16389
+ this.current = new CanvasExtraState();
16390
+
16391
+ if (Array.isArray(rect) && rect.length === 4) {
16392
+ var width = rect[2] - rect[0];
16393
+ var height = rect[3] - rect[1];
16394
+ this.ctx.rect(rect[0], rect[1], width, height);
16395
+ this.clip();
16396
+ this.endPath();
16397
+ }
16398
+
16399
+ this.transform.apply(this, transform);
16400
+ this.transform.apply(this, matrix);
16401
+ },
16402
+ endAnnotation: function CanvasGraphics_endAnnotation() {
16403
+ this.restore();
16404
+ },
16405
+ paintJpegXObject: function CanvasGraphics_paintJpegXObject(objId, w, h) {
16406
+ var domImage = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);
16407
+
16408
+ if (!domImage) {
16409
+ (0, _util.warn)("Dependent image isn't ready yet");
16410
+ return;
16411
+ }
16412
+
16413
+ this.save();
16414
+ var ctx = this.ctx;
16415
+ ctx.scale(1 / w, -1 / h);
16416
+ ctx.drawImage(domImage, 0, 0, domImage.width, domImage.height, 0, -h, w, h);
16417
+
16418
+ if (this.imageLayer) {
16419
+ var currentTransform = ctx.mozCurrentTransformInverse;
16420
+ var position = this.getCanvasPosition(0, 0);
16421
+ this.imageLayer.appendImage({
16422
+ objId: objId,
16423
+ left: position[0],
16424
+ top: position[1],
16425
+ width: w / currentTransform[0],
16426
+ height: h / currentTransform[3]
16427
+ });
16428
+ }
16429
+
16430
+ this.restore();
16431
+ },
16432
+ paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) {
16433
+ var ctx = this.ctx;
16434
+ var width = img.width,
16435
+ height = img.height;
16436
+ var fillColor = this.current.fillColor;
16437
+ var isPatternFill = this.current.patternFill;
16438
+ var glyph = this.processingType3;
16439
+
16440
+ if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {
16441
+ if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {
16442
+ glyph.compiled = compileType3Glyph({
16443
+ data: img.data,
16444
+ width: width,
16445
+ height: height
16446
+ });
16447
+ } else {
16448
+ glyph.compiled = null;
16449
+ }
16450
+ }
16451
+
16452
+ if (glyph && glyph.compiled) {
16453
+ glyph.compiled(ctx);
16454
+ return;
16455
+ }
16456
+
16457
+ var maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height);
16458
+ var maskCtx = maskCanvas.context;
16459
+ maskCtx.save();
16460
+ putBinaryImageMask(maskCtx, img);
16461
+ maskCtx.globalCompositeOperation = "source-in";
16462
+ maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;
16463
+ maskCtx.fillRect(0, 0, width, height);
16464
+ maskCtx.restore();
16465
+ this.paintInlineImageXObject(maskCanvas.canvas);
16466
+ },
16467
+ paintImageMaskXObjectRepeat: function CanvasGraphics_paintImageMaskXObjectRepeat(imgData, scaleX, scaleY, positions) {
16468
+ var width = imgData.width;
16469
+ var height = imgData.height;
16470
+ var fillColor = this.current.fillColor;
16471
+ var isPatternFill = this.current.patternFill;
16472
+ var maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height);
16473
+ var maskCtx = maskCanvas.context;
16474
+ maskCtx.save();
16475
+ putBinaryImageMask(maskCtx, imgData);
16476
+ maskCtx.globalCompositeOperation = "source-in";
16477
+ maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;
16478
+ maskCtx.fillRect(0, 0, width, height);
16479
+ maskCtx.restore();
16480
+ var ctx = this.ctx;
16481
+
16482
+ for (var i = 0, ii = positions.length; i < ii; i += 2) {
16483
+ ctx.save();
16484
+ ctx.transform(scaleX, 0, 0, scaleY, positions[i], positions[i + 1]);
16485
+ ctx.scale(1, -1);
16486
+ ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);
16487
+ ctx.restore();
16488
+ }
16489
+ },
16490
+ paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(images) {
16491
+ var ctx = this.ctx;
16492
+ var fillColor = this.current.fillColor;
16493
+ var isPatternFill = this.current.patternFill;
16494
+
16495
+ for (var i = 0, ii = images.length; i < ii; i++) {
16496
+ var image = images[i];
16497
+ var width = image.width,
16498
+ height = image.height;
16499
+ var maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height);
16500
+ var maskCtx = maskCanvas.context;
16501
+ maskCtx.save();
16502
+ putBinaryImageMask(maskCtx, image);
16503
+ maskCtx.globalCompositeOperation = "source-in";
16504
+ maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;
16505
+ maskCtx.fillRect(0, 0, width, height);
16506
+ maskCtx.restore();
16507
+ ctx.save();
16508
+ ctx.transform.apply(ctx, image.transform);
16509
+ ctx.scale(1, -1);
16510
+ ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);
16511
+ ctx.restore();
16512
+ }
16513
+ },
16514
+ paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {
16515
+ var imgData = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);
16516
+
16517
+ if (!imgData) {
16518
+ (0, _util.warn)("Dependent image isn't ready yet");
16519
+ return;
16520
+ }
16521
+
16522
+ this.paintInlineImageXObject(imgData);
16523
+ },
16524
+ paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {
16525
+ var imgData = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);
16526
+
16527
+ if (!imgData) {
16528
+ (0, _util.warn)("Dependent image isn't ready yet");
16529
+ return;
16530
+ }
16531
+
16532
+ var width = imgData.width;
16533
+ var height = imgData.height;
16534
+ var map = [];
16535
+
16536
+ for (var i = 0, ii = positions.length; i < ii; i += 2) {
16537
+ map.push({
16538
+ transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],
16539
+ x: 0,
16540
+ y: 0,
16541
+ w: width,
16542
+ h: height
16543
+ });
16544
+ }
16545
+
16546
+ this.paintInlineImageXObjectGroup(imgData, map);
16547
+ },
16548
+ paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) {
16549
+ var width = imgData.width;
16550
+ var height = imgData.height;
16551
+ var ctx = this.ctx;
16552
+ this.save();
16553
+ ctx.scale(1 / width, -1 / height);
16554
+ var currentTransform = ctx.mozCurrentTransformInverse;
16555
+ var a = currentTransform[0],
16556
+ b = currentTransform[1];
16557
+ var widthScale = Math.max(Math.sqrt(a * a + b * b), 1);
16558
+ var c = currentTransform[2],
16559
+ d = currentTransform[3];
16560
+ var heightScale = Math.max(Math.sqrt(c * c + d * d), 1);
16561
+ var imgToPaint, tmpCanvas;
16562
+
16563
+ if (typeof HTMLElement === "function" && imgData instanceof HTMLElement || !imgData.data) {
16564
+ imgToPaint = imgData;
16565
+ } else {
16566
+ tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", width, height);
16567
+ var tmpCtx = tmpCanvas.context;
16568
+ putBinaryImageData(tmpCtx, imgData);
16569
+ imgToPaint = tmpCanvas.canvas;
16570
+ }
16571
+
16572
+ var paintWidth = width,
16573
+ paintHeight = height;
16574
+ var tmpCanvasId = "prescale1";
16575
+
16576
+ while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {
16577
+ var newWidth = paintWidth,
16578
+ newHeight = paintHeight;
16579
+
16580
+ if (widthScale > 2 && paintWidth > 1) {
16581
+ newWidth = Math.ceil(paintWidth / 2);
16582
+ widthScale /= paintWidth / newWidth;
16583
+ }
16584
+
16585
+ if (heightScale > 2 && paintHeight > 1) {
16586
+ newHeight = Math.ceil(paintHeight / 2);
16587
+ heightScale /= paintHeight / newHeight;
16588
+ }
16589
+
16590
+ tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);
16591
+ tmpCtx = tmpCanvas.context;
16592
+ tmpCtx.clearRect(0, 0, newWidth, newHeight);
16593
+ tmpCtx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);
16594
+ imgToPaint = tmpCanvas.canvas;
16595
+ paintWidth = newWidth;
16596
+ paintHeight = newHeight;
16597
+ tmpCanvasId = tmpCanvasId === "prescale1" ? "prescale2" : "prescale1";
16598
+ }
16599
+
16600
+ ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);
16601
+
16602
+ if (this.imageLayer) {
16603
+ var position = this.getCanvasPosition(0, -height);
16604
+ this.imageLayer.appendImage({
16605
+ imgData: imgData,
16606
+ left: position[0],
16607
+ top: position[1],
16608
+ width: width / currentTransform[0],
16609
+ height: height / currentTransform[3]
16610
+ });
16611
+ }
16612
+
16613
+ this.restore();
16614
+ },
16615
+ paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) {
16616
+ var ctx = this.ctx;
16617
+ var w = imgData.width;
16618
+ var h = imgData.height;
16619
+ var tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", w, h);
16620
+ var tmpCtx = tmpCanvas.context;
16621
+ putBinaryImageData(tmpCtx, imgData);
16622
+
16623
+ for (var i = 0, ii = map.length; i < ii; i++) {
16624
+ var entry = map[i];
16625
+ ctx.save();
16626
+ ctx.transform.apply(ctx, entry.transform);
16627
+ ctx.scale(1, -1);
16628
+ ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);
16629
+
16630
+ if (this.imageLayer) {
16631
+ var position = this.getCanvasPosition(entry.x, entry.y);
16632
+ this.imageLayer.appendImage({
16633
+ imgData: imgData,
16634
+ left: position[0],
16635
+ top: position[1],
16636
+ width: w,
16637
+ height: h
16638
+ });
16639
+ }
16640
+
16641
+ ctx.restore();
16642
+ }
16643
+ },
16644
+ paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {
16645
+ this.ctx.fillRect(0, 0, 1, 1);
16646
+ },
16647
+ paintXObject: function CanvasGraphics_paintXObject() {
16648
+ (0, _util.warn)("Unsupported 'paintXObject' command.");
16649
+ },
16650
+ markPoint: function CanvasGraphics_markPoint(tag) {},
16651
+ markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},
16652
+ beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {},
16653
+ beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {},
16654
+ endMarkedContent: function CanvasGraphics_endMarkedContent() {},
16655
+ beginCompat: function CanvasGraphics_beginCompat() {},
16656
+ endCompat: function CanvasGraphics_endCompat() {},
16657
+ consumePath: function CanvasGraphics_consumePath() {
16658
+ var ctx = this.ctx;
16659
+
16660
+ if (this.pendingClip) {
16661
+ if (this.pendingClip === EO_CLIP) {
16662
+ ctx.clip("evenodd");
16663
+ } else {
16664
+ ctx.clip();
16665
+ }
16666
+
16667
+ this.pendingClip = null;
16668
+ }
16669
+
16670
+ ctx.beginPath();
16671
+ },
16672
+ getSinglePixelWidth: function getSinglePixelWidth(scale) {
16673
+ if (this._cachedGetSinglePixelWidth === null) {
16674
+ var inverse = this.ctx.mozCurrentTransformInverse;
16675
+ this._cachedGetSinglePixelWidth = Math.sqrt(Math.max(inverse[0] * inverse[0] + inverse[1] * inverse[1], inverse[2] * inverse[2] + inverse[3] * inverse[3]));
16676
+ }
16677
+
16678
+ return this._cachedGetSinglePixelWidth;
16679
+ },
16680
+ getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {
16681
+ var transform = this.ctx.mozCurrentTransform;
16682
+ return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];
16683
+ }
16684
+ };
16685
+
16686
+ for (var op in _util.OPS) {
16687
+ CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];
16688
+ }
16689
+
16690
+ return CanvasGraphics;
16691
+ }();
16692
+
16693
+ exports.CanvasGraphics = CanvasGraphics;
16694
+
16695
+ /***/ }),
16696
+ /* 193 */
16697
+ /***/ (function(module, exports, __w_pdfjs_require__) {
16698
+
16699
+ "use strict";
16700
+
16701
+
16702
+ Object.defineProperty(exports, "__esModule", {
16703
+ value: true
16704
+ });
16705
+ exports.getShadingPatternFromIR = getShadingPatternFromIR;
16706
+ exports.TilingPattern = void 0;
16707
+
16708
+ var _util = __w_pdfjs_require__(1);
16709
+
16710
+ var ShadingIRs = {};
16711
+
16712
+ function applyBoundingBox(ctx, bbox) {
16713
+ if (!bbox || typeof Path2D === "undefined") {
16714
+ return;
16715
+ }
16716
+
16717
+ var width = bbox[2] - bbox[0];
16718
+ var height = bbox[3] - bbox[1];
16719
+ var region = new Path2D();
16720
+ region.rect(bbox[0], bbox[1], width, height);
16721
+ ctx.clip(region);
16722
+ }
16723
+
16724
+ ShadingIRs.RadialAxial = {
16725
+ fromIR: function RadialAxial_fromIR(raw) {
16726
+ var type = raw[1];
16727
+ var bbox = raw[2];
16728
+ var colorStops = raw[3];
16729
+ var p0 = raw[4];
16730
+ var p1 = raw[5];
16731
+ var r0 = raw[6];
16732
+ var r1 = raw[7];
16733
+ return {
16734
+ type: "Pattern",
16735
+ getPattern: function RadialAxial_getPattern(ctx) {
16736
+ applyBoundingBox(ctx, bbox);
16737
+ var grad;
16738
+
16739
+ if (type === "axial") {
16740
+ grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);
16741
+ } else if (type === "radial") {
16742
+ grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);
16743
+ }
16744
+
16745
+ for (var i = 0, ii = colorStops.length; i < ii; ++i) {
16746
+ var c = colorStops[i];
16747
+ grad.addColorStop(c[0], c[1]);
16748
+ }
16749
+
16750
+ return grad;
16751
+ }
16752
+ };
16753
+ }
16754
+ };
16755
+
16756
+ var createMeshCanvas = function createMeshCanvasClosure() {
16757
+ function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {
16758
+ var coords = context.coords,
16759
+ colors = context.colors;
16760
+ var bytes = data.data,
16761
+ rowSize = data.width * 4;
16762
+ var tmp;
16763
+
16764
+ if (coords[p1 + 1] > coords[p2 + 1]) {
16765
+ tmp = p1;
16766
+ p1 = p2;
16767
+ p2 = tmp;
16768
+ tmp = c1;
16769
+ c1 = c2;
16770
+ c2 = tmp;
16771
+ }
16772
+
16773
+ if (coords[p2 + 1] > coords[p3 + 1]) {
16774
+ tmp = p2;
16775
+ p2 = p3;
16776
+ p3 = tmp;
16777
+ tmp = c2;
16778
+ c2 = c3;
16779
+ c3 = tmp;
16780
+ }
16781
+
16782
+ if (coords[p1 + 1] > coords[p2 + 1]) {
16783
+ tmp = p1;
16784
+ p1 = p2;
16785
+ p2 = tmp;
16786
+ tmp = c1;
16787
+ c1 = c2;
16788
+ c2 = tmp;
16789
+ }
16790
+
16791
+ var x1 = (coords[p1] + context.offsetX) * context.scaleX;
16792
+ var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;
16793
+ var x2 = (coords[p2] + context.offsetX) * context.scaleX;
16794
+ var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;
16795
+ var x3 = (coords[p3] + context.offsetX) * context.scaleX;
16796
+ var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;
16797
+
16798
+ if (y1 >= y3) {
16799
+ return;
16800
+ }
16801
+
16802
+ var c1r = colors[c1],
16803
+ c1g = colors[c1 + 1],
16804
+ c1b = colors[c1 + 2];
16805
+ var c2r = colors[c2],
16806
+ c2g = colors[c2 + 1],
16807
+ c2b = colors[c2 + 2];
16808
+ var c3r = colors[c3],
16809
+ c3g = colors[c3 + 1],
16810
+ c3b = colors[c3 + 2];
16811
+ var minY = Math.round(y1),
16812
+ maxY = Math.round(y3);
16813
+ var xa, car, cag, cab;
16814
+ var xb, cbr, cbg, cbb;
16815
+
16816
+ for (var y = minY; y <= maxY; y++) {
16817
+ if (y < y2) {
16818
+ var _k = void 0;
16819
+
16820
+ if (y < y1) {
16821
+ _k = 0;
16822
+ } else if (y1 === y2) {
16823
+ _k = 1;
16824
+ } else {
16825
+ _k = (y1 - y) / (y1 - y2);
16826
+ }
16827
+
16828
+ xa = x1 - (x1 - x2) * _k;
16829
+ car = c1r - (c1r - c2r) * _k;
16830
+ cag = c1g - (c1g - c2g) * _k;
16831
+ cab = c1b - (c1b - c2b) * _k;
16832
+ } else {
16833
+ var _k2 = void 0;
16834
+
16835
+ if (y > y3) {
16836
+ _k2 = 1;
16837
+ } else if (y2 === y3) {
16838
+ _k2 = 0;
16839
+ } else {
16840
+ _k2 = (y2 - y) / (y2 - y3);
16841
+ }
16842
+
16843
+ xa = x2 - (x2 - x3) * _k2;
16844
+ car = c2r - (c2r - c3r) * _k2;
16845
+ cag = c2g - (c2g - c3g) * _k2;
16846
+ cab = c2b - (c2b - c3b) * _k2;
16847
+ }
16848
+
16849
+ var k = void 0;
16850
+
16851
+ if (y < y1) {
16852
+ k = 0;
16853
+ } else if (y > y3) {
16854
+ k = 1;
16855
+ } else {
16856
+ k = (y1 - y) / (y1 - y3);
16857
+ }
16858
+
16859
+ xb = x1 - (x1 - x3) * k;
16860
+ cbr = c1r - (c1r - c3r) * k;
16861
+ cbg = c1g - (c1g - c3g) * k;
16862
+ cbb = c1b - (c1b - c3b) * k;
16863
+ var x1_ = Math.round(Math.min(xa, xb));
16864
+ var x2_ = Math.round(Math.max(xa, xb));
16865
+ var j = rowSize * y + x1_ * 4;
16866
+
16867
+ for (var x = x1_; x <= x2_; x++) {
16868
+ var _k3 = (xa - x) / (xa - xb);
16869
+
16870
+ if (_k3 < 0) {
16871
+ _k3 = 0;
16872
+ } else if (_k3 > 1) {
16873
+ _k3 = 1;
16874
+ }
16875
+
16876
+ bytes[j++] = car - (car - cbr) * _k3 | 0;
16877
+ bytes[j++] = cag - (cag - cbg) * _k3 | 0;
16878
+ bytes[j++] = cab - (cab - cbb) * _k3 | 0;
16879
+ bytes[j++] = 255;
16880
+ }
16881
+ }
16882
+ }
16883
+
16884
+ function drawFigure(data, figure, context) {
16885
+ var ps = figure.coords;
16886
+ var cs = figure.colors;
16887
+ var i, ii;
16888
+
16889
+ switch (figure.type) {
16890
+ case "lattice":
16891
+ var verticesPerRow = figure.verticesPerRow;
16892
+ var rows = Math.floor(ps.length / verticesPerRow) - 1;
16893
+ var cols = verticesPerRow - 1;
16894
+
16895
+ for (i = 0; i < rows; i++) {
16896
+ var q = i * verticesPerRow;
16897
+
16898
+ for (var j = 0; j < cols; j++, q++) {
16899
+ drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);
16900
+ drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);
16901
+ }
16902
+ }
16903
+
16904
+ break;
16905
+
16906
+ case "triangles":
16907
+ for (i = 0, ii = ps.length; i < ii; i += 3) {
16908
+ drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);
16909
+ }
16910
+
16911
+ break;
16912
+
16913
+ default:
16914
+ throw new Error("illegal figure");
16915
+ }
16916
+ }
16917
+
16918
+ function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases, webGLContext) {
16919
+ var EXPECTED_SCALE = 1.1;
16920
+ var MAX_PATTERN_SIZE = 3000;
16921
+ var BORDER_SIZE = 2;
16922
+ var offsetX = Math.floor(bounds[0]);
16923
+ var offsetY = Math.floor(bounds[1]);
16924
+ var boundsWidth = Math.ceil(bounds[2]) - offsetX;
16925
+ var boundsHeight = Math.ceil(bounds[3]) - offsetY;
16926
+ var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);
16927
+ var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);
16928
+ var scaleX = boundsWidth / width;
16929
+ var scaleY = boundsHeight / height;
16930
+ var context = {
16931
+ coords: coords,
16932
+ colors: colors,
16933
+ offsetX: -offsetX,
16934
+ offsetY: -offsetY,
16935
+ scaleX: 1 / scaleX,
16936
+ scaleY: 1 / scaleY
16937
+ };
16938
+ var paddedWidth = width + BORDER_SIZE * 2;
16939
+ var paddedHeight = height + BORDER_SIZE * 2;
16940
+ var canvas, tmpCanvas, i, ii;
16941
+
16942
+ if (webGLContext.isEnabled) {
16943
+ canvas = webGLContext.drawFigures({
16944
+ width: width,
16945
+ height: height,
16946
+ backgroundColor: backgroundColor,
16947
+ figures: figures,
16948
+ context: context
16949
+ });
16950
+ tmpCanvas = cachedCanvases.getCanvas("mesh", paddedWidth, paddedHeight, false);
16951
+ tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);
16952
+ canvas = tmpCanvas.canvas;
16953
+ } else {
16954
+ tmpCanvas = cachedCanvases.getCanvas("mesh", paddedWidth, paddedHeight, false);
16955
+ var tmpCtx = tmpCanvas.context;
16956
+ var data = tmpCtx.createImageData(width, height);
16957
+
16958
+ if (backgroundColor) {
16959
+ var bytes = data.data;
16960
+
16961
+ for (i = 0, ii = bytes.length; i < ii; i += 4) {
16962
+ bytes[i] = backgroundColor[0];
16963
+ bytes[i + 1] = backgroundColor[1];
16964
+ bytes[i + 2] = backgroundColor[2];
16965
+ bytes[i + 3] = 255;
16966
+ }
16967
+ }
16968
+
16969
+ for (i = 0; i < figures.length; i++) {
16970
+ drawFigure(data, figures[i], context);
16971
+ }
16972
+
16973
+ tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);
16974
+ canvas = tmpCanvas.canvas;
16975
+ }
16976
+
16977
+ return {
16978
+ canvas: canvas,
16979
+ offsetX: offsetX - BORDER_SIZE * scaleX,
16980
+ offsetY: offsetY - BORDER_SIZE * scaleY,
16981
+ scaleX: scaleX,
16982
+ scaleY: scaleY
16983
+ };
16984
+ }
16985
+
16986
+ return createMeshCanvas;
16987
+ }();
16988
+
16989
+ ShadingIRs.Mesh = {
16990
+ fromIR: function Mesh_fromIR(raw) {
16991
+ var coords = raw[2];
16992
+ var colors = raw[3];
16993
+ var figures = raw[4];
16994
+ var bounds = raw[5];
16995
+ var matrix = raw[6];
16996
+ var bbox = raw[7];
16997
+ var background = raw[8];
16998
+ return {
16999
+ type: "Pattern",
17000
+ getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {
17001
+ applyBoundingBox(ctx, bbox);
17002
+ var scale;
17003
+
17004
+ if (shadingFill) {
17005
+ scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);
17006
+ } else {
17007
+ scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);
17008
+
17009
+ if (matrix) {
17010
+ var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);
17011
+
17012
+ scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];
17013
+ }
17014
+ }
17015
+
17016
+ var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);
17017
+
17018
+ if (!shadingFill) {
17019
+ ctx.setTransform.apply(ctx, owner.baseTransform);
17020
+
17021
+ if (matrix) {
17022
+ ctx.transform.apply(ctx, matrix);
17023
+ }
17024
+ }
17025
+
17026
+ ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);
17027
+ ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);
17028
+ return ctx.createPattern(temporaryPatternCanvas.canvas, "no-repeat");
17029
+ }
17030
+ };
17031
+ }
17032
+ };
17033
+ ShadingIRs.Dummy = {
17034
+ fromIR: function Dummy_fromIR() {
17035
+ return {
17036
+ type: "Pattern",
17037
+ getPattern: function Dummy_fromIR_getPattern() {
17038
+ return "hotpink";
17039
+ }
17040
+ };
17041
+ }
17042
+ };
17043
+
17044
+ function getShadingPatternFromIR(raw) {
17045
+ var shadingIR = ShadingIRs[raw[0]];
17046
+
17047
+ if (!shadingIR) {
17048
+ throw new Error("Unknown IR type: ".concat(raw[0]));
17049
+ }
17050
+
17051
+ return shadingIR.fromIR(raw);
17052
+ }
17053
+
17054
+ var TilingPattern = function TilingPatternClosure() {
17055
+ var PaintType = {
17056
+ COLORED: 1,
17057
+ UNCOLORED: 2
17058
+ };
17059
+ var MAX_PATTERN_SIZE = 3000;
17060
+
17061
+ function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {
17062
+ this.operatorList = IR[2];
17063
+ this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];
17064
+ this.bbox = IR[4];
17065
+ this.xstep = IR[5];
17066
+ this.ystep = IR[6];
17067
+ this.paintType = IR[7];
17068
+ this.tilingType = IR[8];
17069
+ this.color = color;
17070
+ this.canvasGraphicsFactory = canvasGraphicsFactory;
17071
+ this.baseTransform = baseTransform;
17072
+ this.type = "Pattern";
17073
+ this.ctx = ctx;
17074
+ }
17075
+
17076
+ TilingPattern.prototype = {
17077
+ createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {
17078
+ var operatorList = this.operatorList;
17079
+ var bbox = this.bbox;
17080
+ var xstep = this.xstep;
17081
+ var ystep = this.ystep;
17082
+ var paintType = this.paintType;
17083
+ var tilingType = this.tilingType;
17084
+ var color = this.color;
17085
+ var canvasGraphicsFactory = this.canvasGraphicsFactory;
17086
+ (0, _util.info)("TilingType: " + tilingType);
17087
+ var x0 = bbox[0],
17088
+ y0 = bbox[1],
17089
+ x1 = bbox[2],
17090
+ y1 = bbox[3];
17091
+
17092
+ var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);
17093
+
17094
+ var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);
17095
+
17096
+ var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];
17097
+ var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);
17098
+ var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);
17099
+ var tmpCanvas = owner.cachedCanvases.getCanvas("pattern", dimx.size, dimy.size, true);
17100
+ var tmpCtx = tmpCanvas.context;
17101
+ var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);
17102
+ graphics.groupLevel = owner.groupLevel;
17103
+ this.setFillAndStrokeStyleToContext(graphics, paintType, color);
17104
+ graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);
17105
+ graphics.transform(1, 0, 0, 1, -x0, -y0);
17106
+ this.clipBbox(graphics, bbox, x0, y0, x1, y1);
17107
+ graphics.executeOperatorList(operatorList);
17108
+ this.ctx.transform(1, 0, 0, 1, x0, y0);
17109
+ this.ctx.scale(1 / dimx.scale, 1 / dimy.scale);
17110
+ return tmpCanvas.canvas;
17111
+ },
17112
+ getSizeAndScale: function TilingPattern_getSizeAndScale(step, realOutputSize, scale) {
17113
+ step = Math.abs(step);
17114
+ var maxSize = Math.max(MAX_PATTERN_SIZE, realOutputSize);
17115
+ var size = Math.ceil(step * scale);
17116
+
17117
+ if (size >= maxSize) {
17118
+ size = maxSize;
17119
+ } else {
17120
+ scale = size / step;
17121
+ }
17122
+
17123
+ return {
17124
+ scale: scale,
17125
+ size: size
17126
+ };
17127
+ },
17128
+ clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {
17129
+ if (Array.isArray(bbox) && bbox.length === 4) {
17130
+ var bboxWidth = x1 - x0;
17131
+ var bboxHeight = y1 - y0;
17132
+ graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);
17133
+ graphics.clip();
17134
+ graphics.endPath();
17135
+ }
17136
+ },
17137
+ setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(graphics, paintType, color) {
17138
+ var context = graphics.ctx,
17139
+ current = graphics.current;
17140
+
17141
+ switch (paintType) {
17142
+ case PaintType.COLORED:
17143
+ var ctx = this.ctx;
17144
+ context.fillStyle = ctx.fillStyle;
17145
+ context.strokeStyle = ctx.strokeStyle;
17146
+ current.fillColor = ctx.fillStyle;
17147
+ current.strokeColor = ctx.strokeStyle;
17148
+ break;
17149
+
17150
+ case PaintType.UNCOLORED:
17151
+ var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);
17152
+
17153
+ context.fillStyle = cssColor;
17154
+ context.strokeStyle = cssColor;
17155
+ current.fillColor = cssColor;
17156
+ current.strokeColor = cssColor;
17157
+ break;
17158
+
17159
+ default:
17160
+ throw new _util.FormatError("Unsupported paint type: ".concat(paintType));
17161
+ }
17162
+ },
17163
+ getPattern: function TilingPattern_getPattern(ctx, owner) {
17164
+ ctx = this.ctx;
17165
+ ctx.setTransform.apply(ctx, this.baseTransform);
17166
+ ctx.transform.apply(ctx, this.matrix);
17167
+ var temporaryPatternCanvas = this.createPatternCanvas(owner);
17168
+ return ctx.createPattern(temporaryPatternCanvas, "repeat");
17169
+ }
17170
+ };
17171
+ return TilingPattern;
17172
+ }();
17173
+
17174
+ exports.TilingPattern = TilingPattern;
17175
+
17176
+ /***/ }),
17177
+ /* 194 */
17178
+ /***/ (function(module, exports, __w_pdfjs_require__) {
17179
+
17180
+ "use strict";
17181
+
17182
+
17183
+ Object.defineProperty(exports, "__esModule", {
17184
+ value: true
17185
+ });
17186
+ exports.GlobalWorkerOptions = void 0;
17187
+ var GlobalWorkerOptions = Object.create(null);
17188
+ exports.GlobalWorkerOptions = GlobalWorkerOptions;
17189
+ GlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;
17190
+ GlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? "" : GlobalWorkerOptions.workerSrc;
17191
+
17192
+ /***/ }),
17193
+ /* 195 */
17194
+ /***/ (function(module, exports, __w_pdfjs_require__) {
17195
+
17196
+ "use strict";
17197
+
17198
+
17199
+ Object.defineProperty(exports, "__esModule", {
17200
+ value: true
17201
+ });
17202
+ exports.MessageHandler = void 0;
17203
+
17204
+ var _regenerator = _interopRequireDefault(__w_pdfjs_require__(186));
17205
+
17206
+ var _util = __w_pdfjs_require__(1);
17207
+
17208
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17209
+
17210
+ 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); } }
17211
+
17212
+ 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); }); }; }
17213
+
17214
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
17215
+
17216
+ 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); } }
17217
+
17218
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
17219
+
17220
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
17221
+
17222
+ var CallbackKind = {
17223
+ UNKNOWN: 0,
17224
+ DATA: 1,
17225
+ ERROR: 2
17226
+ };
17227
+ var StreamKind = {
17228
+ UNKNOWN: 0,
17229
+ CANCEL: 1,
17230
+ CANCEL_COMPLETE: 2,
17231
+ CLOSE: 3,
17232
+ ENQUEUE: 4,
17233
+ ERROR: 5,
17234
+ PULL: 6,
17235
+ PULL_COMPLETE: 7,
17236
+ START_COMPLETE: 8
17237
+ };
17238
+
17239
+ function wrapReason(reason) {
17240
+ if (_typeof(reason) !== "object" || reason === null) {
17241
+ return reason;
17242
+ }
17243
+
17244
+ switch (reason.name) {
17245
+ case "AbortException":
17246
+ return new _util.AbortException(reason.message);
17247
+
17248
+ case "MissingPDFException":
17249
+ return new _util.MissingPDFException(reason.message);
17250
+
17251
+ case "UnexpectedResponseException":
17252
+ return new _util.UnexpectedResponseException(reason.message, reason.status);
17253
+
17254
+ case "UnknownErrorException":
17255
+ return new _util.UnknownErrorException(reason.message, reason.details);
17256
+
17257
+ default:
17258
+ return new _util.UnknownErrorException(reason.message, reason.toString());
17259
+ }
17260
+ }
17261
+
17262
+ var MessageHandler =
17263
+ /*#__PURE__*/
17264
+ function () {
17265
+ function MessageHandler(sourceName, targetName, comObj) {
17266
+ var _this = this;
17267
+
17268
+ _classCallCheck(this, MessageHandler);
17269
+
17270
+ this.sourceName = sourceName;
17271
+ this.targetName = targetName;
17272
+ this.comObj = comObj;
17273
+ this.callbackId = 1;
17274
+ this.streamId = 1;
17275
+ this.postMessageTransfers = true;
17276
+ this.streamSinks = Object.create(null);
17277
+ this.streamControllers = Object.create(null);
17278
+ this.callbackCapabilities = Object.create(null);
17279
+ this.actionHandler = Object.create(null);
17280
+
17281
+ this._onComObjOnMessage = function (event) {
17282
+ var data = event.data;
17283
+
17284
+ if (data.targetName !== _this.sourceName) {
17285
+ return;
17286
+ }
17287
+
17288
+ if (data.stream) {
17289
+ _this._processStreamMessage(data);
17290
+
17291
+ return;
17292
+ }
17293
+
17294
+ if (data.callback) {
17295
+ var callbackId = data.callbackId;
17296
+ var capability = _this.callbackCapabilities[callbackId];
17297
+
17298
+ if (!capability) {
17299
+ throw new Error("Cannot resolve callback ".concat(callbackId));
17300
+ }
17301
+
17302
+ delete _this.callbackCapabilities[callbackId];
17303
+
17304
+ if (data.callback === CallbackKind.DATA) {
17305
+ capability.resolve(data.data);
17306
+ } else if (data.callback === CallbackKind.ERROR) {
17307
+ capability.reject(wrapReason(data.reason));
17308
+ } else {
17309
+ throw new Error("Unexpected callback case");
17310
+ }
17311
+
17312
+ return;
17313
+ }
17314
+
17315
+ var action = _this.actionHandler[data.action];
17316
+
17317
+ if (!action) {
17318
+ throw new Error("Unknown action from worker: ".concat(data.action));
17319
+ }
17320
+
17321
+ if (data.callbackId) {
17322
+ var _sourceName = _this.sourceName;
17323
+ var _targetName = data.sourceName;
17324
+ new Promise(function (resolve) {
17325
+ resolve(action(data.data));
17326
+ }).then(function (result) {
17327
+ comObj.postMessage({
17328
+ sourceName: _sourceName,
17329
+ targetName: _targetName,
17330
+ callback: CallbackKind.DATA,
17331
+ callbackId: data.callbackId,
17332
+ data: result
17333
+ });
17334
+ }, function (reason) {
17335
+ comObj.postMessage({
17336
+ sourceName: _sourceName,
17337
+ targetName: _targetName,
17338
+ callback: CallbackKind.ERROR,
17339
+ callbackId: data.callbackId,
17340
+ reason: wrapReason(reason)
17341
+ });
17342
+ });
17343
+ return;
17344
+ }
17345
+
17346
+ if (data.streamId) {
17347
+ _this._createStreamSink(data);
17348
+
17349
+ return;
17350
+ }
17351
+
17352
+ action(data.data);
17353
+ };
17354
+
17355
+ comObj.addEventListener("message", this._onComObjOnMessage);
17356
+ }
17357
+
17358
+ _createClass(MessageHandler, [{
17359
+ key: "on",
17360
+ value: function on(actionName, handler) {
17361
+ var ah = this.actionHandler;
17362
+
17363
+ if (ah[actionName]) {
17364
+ throw new Error("There is already an actionName called \"".concat(actionName, "\""));
17365
+ }
17366
+
17367
+ ah[actionName] = handler;
17368
+ }
17369
+ }, {
17370
+ key: "send",
17371
+ value: function send(actionName, data, transfers) {
17372
+ this._postMessage({
17373
+ sourceName: this.sourceName,
17374
+ targetName: this.targetName,
17375
+ action: actionName,
17376
+ data: data
17377
+ }, transfers);
17378
+ }
17379
+ }, {
17380
+ key: "sendWithPromise",
17381
+ value: function sendWithPromise(actionName, data, transfers) {
17382
+ var callbackId = this.callbackId++;
17383
+ var capability = (0, _util.createPromiseCapability)();
17384
+ this.callbackCapabilities[callbackId] = capability;
17385
+
17386
+ try {
17387
+ this._postMessage({
17388
+ sourceName: this.sourceName,
17389
+ targetName: this.targetName,
17390
+ action: actionName,
17391
+ callbackId: callbackId,
17392
+ data: data
17393
+ }, transfers);
17394
+ } catch (ex) {
17395
+ capability.reject(ex);
17396
+ }
17397
+
17398
+ return capability.promise;
17399
+ }
17400
+ }, {
17401
+ key: "sendWithStream",
17402
+ value: function sendWithStream(actionName, data, queueingStrategy, transfers) {
17403
+ var _this2 = this;
17404
+
17405
+ var streamId = this.streamId++;
17406
+ var sourceName = this.sourceName;
17407
+ var targetName = this.targetName;
17408
+ var comObj = this.comObj;
17409
+ return new ReadableStream({
17410
+ start: function start(controller) {
17411
+ var startCapability = (0, _util.createPromiseCapability)();
17412
+ _this2.streamControllers[streamId] = {
17413
+ controller: controller,
17414
+ startCall: startCapability,
17415
+ pullCall: null,
17416
+ cancelCall: null,
17417
+ isClosed: false
17418
+ };
17419
+
17420
+ _this2._postMessage({
17421
+ sourceName: sourceName,
17422
+ targetName: targetName,
17423
+ action: actionName,
17424
+ streamId: streamId,
17425
+ data: data,
17426
+ desiredSize: controller.desiredSize
17427
+ }, transfers);
17428
+
17429
+ return startCapability.promise;
17430
+ },
17431
+ pull: function pull(controller) {
17432
+ var pullCapability = (0, _util.createPromiseCapability)();
17433
+ _this2.streamControllers[streamId].pullCall = pullCapability;
17434
+ comObj.postMessage({
17435
+ sourceName: sourceName,
17436
+ targetName: targetName,
17437
+ stream: StreamKind.PULL,
17438
+ streamId: streamId,
17439
+ desiredSize: controller.desiredSize
17440
+ });
17441
+ return pullCapability.promise;
17442
+ },
17443
+ cancel: function cancel(reason) {
17444
+ (0, _util.assert)(reason instanceof Error, "cancel must have a valid reason");
17445
+ var cancelCapability = (0, _util.createPromiseCapability)();
17446
+ _this2.streamControllers[streamId].cancelCall = cancelCapability;
17447
+ _this2.streamControllers[streamId].isClosed = true;
17448
+ comObj.postMessage({
17449
+ sourceName: sourceName,
17450
+ targetName: targetName,
17451
+ stream: StreamKind.CANCEL,
17452
+ streamId: streamId,
17453
+ reason: wrapReason(reason)
17454
+ });
17455
+ return cancelCapability.promise;
17456
+ }
17457
+ }, queueingStrategy);
17458
+ }
17459
+ }, {
17460
+ key: "_createStreamSink",
17461
+ value: function _createStreamSink(data) {
17462
+ var self = this;
17463
+ var action = this.actionHandler[data.action];
17464
+ var streamId = data.streamId;
17465
+ var sourceName = this.sourceName;
17466
+ var targetName = data.sourceName;
17467
+ var comObj = this.comObj;
17468
+ var streamSink = {
17469
+ enqueue: function enqueue(chunk) {
17470
+ var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
17471
+ var transfers = arguments.length > 2 ? arguments[2] : undefined;
17472
+
17473
+ if (this.isCancelled) {
17474
+ return;
17475
+ }
17476
+
17477
+ var lastDesiredSize = this.desiredSize;
17478
+ this.desiredSize -= size;
17479
+
17480
+ if (lastDesiredSize > 0 && this.desiredSize <= 0) {
17481
+ this.sinkCapability = (0, _util.createPromiseCapability)();
17482
+ this.ready = this.sinkCapability.promise;
17483
+ }
17484
+
17485
+ self._postMessage({
17486
+ sourceName: sourceName,
17487
+ targetName: targetName,
17488
+ stream: StreamKind.ENQUEUE,
17489
+ streamId: streamId,
17490
+ chunk: chunk
17491
+ }, transfers);
17492
+ },
17493
+ close: function close() {
17494
+ if (this.isCancelled) {
17495
+ return;
17496
+ }
17497
+
17498
+ this.isCancelled = true;
17499
+ comObj.postMessage({
17500
+ sourceName: sourceName,
17501
+ targetName: targetName,
17502
+ stream: StreamKind.CLOSE,
17503
+ streamId: streamId
17504
+ });
17505
+ delete self.streamSinks[streamId];
17506
+ },
17507
+ error: function error(reason) {
17508
+ (0, _util.assert)(reason instanceof Error, "error must have a valid reason");
17509
+
17510
+ if (this.isCancelled) {
17511
+ return;
17512
+ }
17513
+
17514
+ this.isCancelled = true;
17515
+ comObj.postMessage({
17516
+ sourceName: sourceName,
17517
+ targetName: targetName,
17518
+ stream: StreamKind.ERROR,
17519
+ streamId: streamId,
17520
+ reason: wrapReason(reason)
17521
+ });
17522
+ },
17523
+ sinkCapability: (0, _util.createPromiseCapability)(),
17524
+ onPull: null,
17525
+ onCancel: null,
17526
+ isCancelled: false,
17527
+ desiredSize: data.desiredSize,
17528
+ ready: null
17529
+ };
17530
+ streamSink.sinkCapability.resolve();
17531
+ streamSink.ready = streamSink.sinkCapability.promise;
17532
+ this.streamSinks[streamId] = streamSink;
17533
+ new Promise(function (resolve) {
17534
+ resolve(action(data.data, streamSink));
17535
+ }).then(function () {
17536
+ comObj.postMessage({
17537
+ sourceName: sourceName,
17538
+ targetName: targetName,
17539
+ stream: StreamKind.START_COMPLETE,
17540
+ streamId: streamId,
17541
+ success: true
17542
+ });
17543
+ }, function (reason) {
17544
+ comObj.postMessage({
17545
+ sourceName: sourceName,
17546
+ targetName: targetName,
17547
+ stream: StreamKind.START_COMPLETE,
17548
+ streamId: streamId,
17549
+ reason: wrapReason(reason)
17550
+ });
17551
+ });
17552
+ }
17553
+ }, {
17554
+ key: "_processStreamMessage",
17555
+ value: function _processStreamMessage(data) {
17556
+ var streamId = data.streamId;
17557
+ var sourceName = this.sourceName;
17558
+ var targetName = data.sourceName;
17559
+ var comObj = this.comObj;
17560
+
17561
+ switch (data.stream) {
17562
+ case StreamKind.START_COMPLETE:
17563
+ if (data.success) {
17564
+ this.streamControllers[streamId].startCall.resolve();
17565
+ } else {
17566
+ this.streamControllers[streamId].startCall.reject(wrapReason(data.reason));
17567
+ }
17568
+
17569
+ break;
17570
+
17571
+ case StreamKind.PULL_COMPLETE:
17572
+ if (data.success) {
17573
+ this.streamControllers[streamId].pullCall.resolve();
17574
+ } else {
17575
+ this.streamControllers[streamId].pullCall.reject(wrapReason(data.reason));
17576
+ }
17577
+
17578
+ break;
17579
+
17580
+ case StreamKind.PULL:
17581
+ if (!this.streamSinks[streamId]) {
17582
+ comObj.postMessage({
17583
+ sourceName: sourceName,
17584
+ targetName: targetName,
17585
+ stream: StreamKind.PULL_COMPLETE,
17586
+ streamId: streamId,
17587
+ success: true
17588
+ });
17589
+ break;
17590
+ }
17591
+
17592
+ if (this.streamSinks[streamId].desiredSize <= 0 && data.desiredSize > 0) {
17593
+ this.streamSinks[streamId].sinkCapability.resolve();
17594
+ }
17595
+
17596
+ this.streamSinks[streamId].desiredSize = data.desiredSize;
17597
+ var onPull = this.streamSinks[data.streamId].onPull;
17598
+ new Promise(function (resolve) {
17599
+ resolve(onPull && onPull());
17600
+ }).then(function () {
17601
+ comObj.postMessage({
17602
+ sourceName: sourceName,
17603
+ targetName: targetName,
17604
+ stream: StreamKind.PULL_COMPLETE,
17605
+ streamId: streamId,
17606
+ success: true
17607
+ });
17608
+ }, function (reason) {
17609
+ comObj.postMessage({
17610
+ sourceName: sourceName,
17611
+ targetName: targetName,
17612
+ stream: StreamKind.PULL_COMPLETE,
17613
+ streamId: streamId,
17614
+ reason: wrapReason(reason)
17615
+ });
17616
+ });
17617
+ break;
17618
+
17619
+ case StreamKind.ENQUEUE:
17620
+ (0, _util.assert)(this.streamControllers[streamId], "enqueue should have stream controller");
17621
+
17622
+ if (this.streamControllers[streamId].isClosed) {
17623
+ break;
17624
+ }
17625
+
17626
+ this.streamControllers[streamId].controller.enqueue(data.chunk);
17627
+ break;
17628
+
17629
+ case StreamKind.CLOSE:
17630
+ (0, _util.assert)(this.streamControllers[streamId], "close should have stream controller");
17631
+
17632
+ if (this.streamControllers[streamId].isClosed) {
17633
+ break;
17634
+ }
17635
+
17636
+ this.streamControllers[streamId].isClosed = true;
17637
+ this.streamControllers[streamId].controller.close();
17638
+
17639
+ this._deleteStreamController(streamId);
17640
+
17641
+ break;
17642
+
17643
+ case StreamKind.ERROR:
17644
+ (0, _util.assert)(this.streamControllers[streamId], "error should have stream controller");
17645
+ this.streamControllers[streamId].controller.error(wrapReason(data.reason));
17646
+
17647
+ this._deleteStreamController(streamId);
17648
+
17649
+ break;
17650
+
17651
+ case StreamKind.CANCEL_COMPLETE:
17652
+ if (data.success) {
17653
+ this.streamControllers[streamId].cancelCall.resolve();
17654
+ } else {
17655
+ this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));
17656
+ }
17657
+
17658
+ this._deleteStreamController(streamId);
17659
+
17660
+ break;
17661
+
17662
+ case StreamKind.CANCEL:
17663
+ if (!this.streamSinks[streamId]) {
17664
+ break;
17665
+ }
17666
+
17667
+ var onCancel = this.streamSinks[data.streamId].onCancel;
17668
+ new Promise(function (resolve) {
17669
+ resolve(onCancel && onCancel(wrapReason(data.reason)));
17670
+ }).then(function () {
17671
+ comObj.postMessage({
17672
+ sourceName: sourceName,
17673
+ targetName: targetName,
17674
+ stream: StreamKind.CANCEL_COMPLETE,
17675
+ streamId: streamId,
17676
+ success: true
17677
+ });
17678
+ }, function (reason) {
17679
+ comObj.postMessage({
17680
+ sourceName: sourceName,
17681
+ targetName: targetName,
17682
+ stream: StreamKind.CANCEL_COMPLETE,
17683
+ streamId: streamId,
17684
+ reason: wrapReason(reason)
17685
+ });
17686
+ });
17687
+ this.streamSinks[streamId].sinkCapability.reject(wrapReason(data.reason));
17688
+ this.streamSinks[streamId].isCancelled = true;
17689
+ delete this.streamSinks[streamId];
17690
+ break;
17691
+
17692
+ default:
17693
+ throw new Error("Unexpected stream case");
17694
+ }
17695
+ }
17696
+ }, {
17697
+ key: "_deleteStreamController",
17698
+ value: function () {
17699
+ var _deleteStreamController2 = _asyncToGenerator(
17700
+ /*#__PURE__*/
17701
+ _regenerator["default"].mark(function _callee(streamId) {
17702
+ return _regenerator["default"].wrap(function _callee$(_context) {
17703
+ while (1) {
17704
+ switch (_context.prev = _context.next) {
17705
+ case 0:
17706
+ _context.next = 2;
17707
+ return Promise.allSettled([this.streamControllers[streamId].startCall, this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function (capability) {
17708
+ return capability && capability.promise;
17709
+ }));
17710
+
17711
+ case 2:
17712
+ delete this.streamControllers[streamId];
17713
+
17714
+ case 3:
17715
+ case "end":
17716
+ return _context.stop();
17717
+ }
17718
+ }
17719
+ }, _callee, this);
17720
+ }));
17721
+
17722
+ function _deleteStreamController(_x) {
17723
+ return _deleteStreamController2.apply(this, arguments);
17724
+ }
17725
+
17726
+ return _deleteStreamController;
17727
+ }()
17728
+ }, {
17729
+ key: "_postMessage",
17730
+ value: function _postMessage(message, transfers) {
17731
+ if (transfers && this.postMessageTransfers) {
17732
+ this.comObj.postMessage(message, transfers);
17733
+ } else {
17734
+ this.comObj.postMessage(message);
17735
+ }
17736
+ }
17737
+ }, {
17738
+ key: "destroy",
17739
+ value: function destroy() {
17740
+ this.comObj.removeEventListener("message", this._onComObjOnMessage);
17741
+ }
17742
+ }]);
17743
+
17744
+ return MessageHandler;
17745
+ }();
17746
+
17747
+ exports.MessageHandler = MessageHandler;
17748
+
17749
+ /***/ }),
17750
+ /* 196 */
17751
+ /***/ (function(module, exports, __w_pdfjs_require__) {
17752
+
17753
+ "use strict";
17754
+
17755
+
17756
+ Object.defineProperty(exports, "__esModule", {
17757
+ value: true
17758
+ });
17759
+ exports.Metadata = void 0;
17760
+
17761
+ var _util = __w_pdfjs_require__(1);
17762
+
17763
+ var _xml_parser = __w_pdfjs_require__(197);
17764
+
17765
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
17766
+
17767
+ 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); } }
17768
+
17769
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
17770
+
17771
+ var Metadata =
17772
+ /*#__PURE__*/
17773
+ function () {
17774
+ function Metadata(data) {
17775
+ _classCallCheck(this, Metadata);
17776
+
17777
+ (0, _util.assert)(typeof data === "string", "Metadata: input is not a string");
17778
+ data = this._repair(data);
17779
+ var parser = new _xml_parser.SimpleXMLParser();
17780
+ var xmlDocument = parser.parseFromString(data);
17781
+ this._metadata = Object.create(null);
17782
+
17783
+ if (xmlDocument) {
17784
+ this._parse(xmlDocument);
17785
+ }
17786
+ }
17787
+
17788
+ _createClass(Metadata, [{
17789
+ key: "_repair",
17790
+ value: function _repair(data) {
17791
+ return data.replace(/^([^<]+)/, "").replace(/>\\376\\377([^<]+)/g, function (all, codes) {
17792
+ var bytes = codes.replace(/\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {
17793
+ return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);
17794
+ }).replace(/&(amp|apos|gt|lt|quot);/g, function (str, name) {
17795
+ switch (name) {
17796
+ case "amp":
17797
+ return "&";
17798
+
17799
+ case "apos":
17800
+ return "'";
17801
+
17802
+ case "gt":
17803
+ return ">";
17804
+
17805
+ case "lt":
17806
+ return "<";
17807
+
17808
+ case "quot":
17809
+ return '"';
17810
+ }
17811
+
17812
+ throw new Error("_repair: ".concat(name, " isn't defined."));
17813
+ });
17814
+ var chars = "";
17815
+
17816
+ for (var i = 0, ii = bytes.length; i < ii; i += 2) {
17817
+ var code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);
17818
+
17819
+ if (code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38) {
17820
+ chars += String.fromCharCode(code);
17821
+ } else {
17822
+ chars += "&#x" + (0x10000 + code).toString(16).substring(1) + ";";
17823
+ }
17824
+ }
17825
+
17826
+ return ">" + chars;
17827
+ });
17828
+ }
17829
+ }, {
17830
+ key: "_parse",
17831
+ value: function _parse(xmlDocument) {
17832
+ var rdf = xmlDocument.documentElement;
17833
+
17834
+ if (rdf.nodeName.toLowerCase() !== "rdf:rdf") {
17835
+ rdf = rdf.firstChild;
17836
+
17837
+ while (rdf && rdf.nodeName.toLowerCase() !== "rdf:rdf") {
17838
+ rdf = rdf.nextSibling;
17839
+ }
17840
+ }
17841
+
17842
+ var nodeName = rdf ? rdf.nodeName.toLowerCase() : null;
17843
+
17844
+ if (!rdf || nodeName !== "rdf:rdf" || !rdf.hasChildNodes()) {
17845
+ return;
17846
+ }
17847
+
17848
+ var children = rdf.childNodes;
17849
+
17850
+ for (var i = 0, ii = children.length; i < ii; i++) {
17851
+ var desc = children[i];
17852
+
17853
+ if (desc.nodeName.toLowerCase() !== "rdf:description") {
17854
+ continue;
17855
+ }
17856
+
17857
+ for (var j = 0, jj = desc.childNodes.length; j < jj; j++) {
17858
+ if (desc.childNodes[j].nodeName.toLowerCase() !== "#text") {
17859
+ var entry = desc.childNodes[j];
17860
+ var name = entry.nodeName.toLowerCase();
17861
+ this._metadata[name] = entry.textContent.trim();
17862
+ }
17863
+ }
17864
+ }
17865
+ }
17866
+ }, {
17867
+ key: "get",
17868
+ value: function get(name) {
17869
+ var data = this._metadata[name];
17870
+ return typeof data !== "undefined" ? data : null;
17871
+ }
17872
+ }, {
17873
+ key: "getAll",
17874
+ value: function getAll() {
17875
+ return this._metadata;
17876
+ }
17877
+ }, {
17878
+ key: "has",
17879
+ value: function has(name) {
17880
+ return typeof this._metadata[name] !== "undefined";
17881
+ }
17882
+ }]);
17883
+
17884
+ return Metadata;
17885
+ }();
17886
+
17887
+ exports.Metadata = Metadata;
17888
+
17889
+ /***/ }),
17890
+ /* 197 */
17891
+ /***/ (function(module, exports, __w_pdfjs_require__) {
17892
+
17893
+ "use strict";
17894
+
17895
+
17896
+ Object.defineProperty(exports, "__esModule", {
17897
+ value: true
17898
+ });
17899
+ exports.SimpleXMLParser = void 0;
17900
+
17901
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
17902
+
17903
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
17904
+
17905
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
17906
+
17907
+ function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
17908
+
17909
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
17910
+
17911
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
17912
+
17913
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
17914
+
17915
+ function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }
17916
+
17917
+ function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
17918
+
17919
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
17920
+
17921
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
17922
+
17923
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
17924
+
17925
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
17926
+
17927
+ 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); } }
17928
+
17929
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
17930
+
17931
+ var XMLParserErrorCode = {
17932
+ NoError: 0,
17933
+ EndOfDocument: -1,
17934
+ UnterminatedCdat: -2,
17935
+ UnterminatedXmlDeclaration: -3,
17936
+ UnterminatedDoctypeDeclaration: -4,
17937
+ UnterminatedComment: -5,
17938
+ MalformedElement: -6,
17939
+ OutOfMemory: -7,
17940
+ UnterminatedAttributeValue: -8,
17941
+ UnterminatedElement: -9,
17942
+ ElementNeverBegun: -10
17943
+ };
17944
+
17945
+ function isWhitespace(s, index) {
17946
+ var ch = s[index];
17947
+ return ch === " " || ch === "\n" || ch === "\r" || ch === "\t";
17948
+ }
17949
+
17950
+ function isWhitespaceString(s) {
17951
+ for (var i = 0, ii = s.length; i < ii; i++) {
17952
+ if (!isWhitespace(s, i)) {
17953
+ return false;
17954
+ }
17955
+ }
17956
+
17957
+ return true;
17958
+ }
17959
+
17960
+ var XMLParserBase =
17961
+ /*#__PURE__*/
17962
+ function () {
17963
+ function XMLParserBase() {
17964
+ _classCallCheck(this, XMLParserBase);
17965
+ }
17966
+
17967
+ _createClass(XMLParserBase, [{
17968
+ key: "_resolveEntities",
17969
+ value: function _resolveEntities(s) {
17970
+ var _this = this;
17971
+
17972
+ return s.replace(/&([^;]+);/g, function (all, entity) {
17973
+ if (entity.substring(0, 2) === "#x") {
17974
+ return String.fromCharCode(parseInt(entity.substring(2), 16));
17975
+ } else if (entity.substring(0, 1) === "#") {
17976
+ return String.fromCharCode(parseInt(entity.substring(1), 10));
17977
+ }
17978
+
17979
+ switch (entity) {
17980
+ case "lt":
17981
+ return "<";
17982
+
17983
+ case "gt":
17984
+ return ">";
17985
+
17986
+ case "amp":
17987
+ return "&";
17988
+
17989
+ case "quot":
17990
+ return '"';
17991
+ }
17992
+
17993
+ return _this.onResolveEntity(entity);
17994
+ });
17995
+ }
17996
+ }, {
17997
+ key: "_parseContent",
17998
+ value: function _parseContent(s, start) {
17999
+ var attributes = [];
18000
+ var pos = start;
18001
+
18002
+ function skipWs() {
18003
+ while (pos < s.length && isWhitespace(s, pos)) {
18004
+ ++pos;
18005
+ }
18006
+ }
18007
+
18008
+ while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== ">" && s[pos] !== "/") {
18009
+ ++pos;
18010
+ }
18011
+
18012
+ var name = s.substring(start, pos);
18013
+ skipWs();
18014
+
18015
+ while (pos < s.length && s[pos] !== ">" && s[pos] !== "/" && s[pos] !== "?") {
18016
+ skipWs();
18017
+ var attrName = "",
18018
+ attrValue = "";
18019
+
18020
+ while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== "=") {
18021
+ attrName += s[pos];
18022
+ ++pos;
18023
+ }
18024
+
18025
+ skipWs();
18026
+
18027
+ if (s[pos] !== "=") {
18028
+ return null;
18029
+ }
18030
+
18031
+ ++pos;
18032
+ skipWs();
18033
+ var attrEndChar = s[pos];
18034
+
18035
+ if (attrEndChar !== '"' && attrEndChar !== "'") {
18036
+ return null;
18037
+ }
18038
+
18039
+ var attrEndIndex = s.indexOf(attrEndChar, ++pos);
18040
+
18041
+ if (attrEndIndex < 0) {
18042
+ return null;
18043
+ }
18044
+
18045
+ attrValue = s.substring(pos, attrEndIndex);
18046
+ attributes.push({
18047
+ name: attrName,
18048
+ value: this._resolveEntities(attrValue)
18049
+ });
18050
+ pos = attrEndIndex + 1;
18051
+ skipWs();
18052
+ }
18053
+
18054
+ return {
18055
+ name: name,
18056
+ attributes: attributes,
18057
+ parsed: pos - start
18058
+ };
18059
+ }
18060
+ }, {
18061
+ key: "_parseProcessingInstruction",
18062
+ value: function _parseProcessingInstruction(s, start) {
18063
+ var pos = start;
18064
+
18065
+ function skipWs() {
18066
+ while (pos < s.length && isWhitespace(s, pos)) {
18067
+ ++pos;
18068
+ }
18069
+ }
18070
+
18071
+ while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== ">" && s[pos] !== "/") {
18072
+ ++pos;
18073
+ }
18074
+
18075
+ var name = s.substring(start, pos);
18076
+ skipWs();
18077
+ var attrStart = pos;
18078
+
18079
+ while (pos < s.length && (s[pos] !== "?" || s[pos + 1] !== ">")) {
18080
+ ++pos;
18081
+ }
18082
+
18083
+ var value = s.substring(attrStart, pos);
18084
+ return {
18085
+ name: name,
18086
+ value: value,
18087
+ parsed: pos - start
18088
+ };
18089
+ }
18090
+ }, {
18091
+ key: "parseXml",
18092
+ value: function parseXml(s) {
18093
+ var i = 0;
18094
+
18095
+ while (i < s.length) {
18096
+ var ch = s[i];
18097
+ var j = i;
18098
+
18099
+ if (ch === "<") {
18100
+ ++j;
18101
+ var ch2 = s[j];
18102
+ var q = void 0;
18103
+
18104
+ switch (ch2) {
18105
+ case "/":
18106
+ ++j;
18107
+ q = s.indexOf(">", j);
18108
+
18109
+ if (q < 0) {
18110
+ this.onError(XMLParserErrorCode.UnterminatedElement);
18111
+ return;
18112
+ }
18113
+
18114
+ this.onEndElement(s.substring(j, q));
18115
+ j = q + 1;
18116
+ break;
18117
+
18118
+ case "?":
18119
+ ++j;
18120
+
18121
+ var pi = this._parseProcessingInstruction(s, j);
18122
+
18123
+ if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== "?>") {
18124
+ this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);
18125
+ return;
18126
+ }
18127
+
18128
+ this.onPi(pi.name, pi.value);
18129
+ j += pi.parsed + 2;
18130
+ break;
18131
+
18132
+ case "!":
18133
+ if (s.substring(j + 1, j + 3) === "--") {
18134
+ q = s.indexOf("-->", j + 3);
18135
+
18136
+ if (q < 0) {
18137
+ this.onError(XMLParserErrorCode.UnterminatedComment);
18138
+ return;
18139
+ }
18140
+
18141
+ this.onComment(s.substring(j + 3, q));
18142
+ j = q + 3;
18143
+ } else if (s.substring(j + 1, j + 8) === "[CDATA[") {
18144
+ q = s.indexOf("]]>", j + 8);
18145
+
18146
+ if (q < 0) {
18147
+ this.onError(XMLParserErrorCode.UnterminatedCdat);
18148
+ return;
18149
+ }
18150
+
18151
+ this.onCdata(s.substring(j + 8, q));
18152
+ j = q + 3;
18153
+ } else if (s.substring(j + 1, j + 8) === "DOCTYPE") {
18154
+ var q2 = s.indexOf("[", j + 8);
18155
+ var complexDoctype = false;
18156
+ q = s.indexOf(">", j + 8);
18157
+
18158
+ if (q < 0) {
18159
+ this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);
18160
+ return;
18161
+ }
18162
+
18163
+ if (q2 > 0 && q > q2) {
18164
+ q = s.indexOf("]>", j + 8);
18165
+
18166
+ if (q < 0) {
18167
+ this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);
18168
+ return;
18169
+ }
18170
+
18171
+ complexDoctype = true;
18172
+ }
18173
+
18174
+ var doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0));
18175
+ this.onDoctype(doctypeContent);
18176
+ j = q + (complexDoctype ? 2 : 1);
18177
+ } else {
18178
+ this.onError(XMLParserErrorCode.MalformedElement);
18179
+ return;
18180
+ }
18181
+
18182
+ break;
18183
+
18184
+ default:
18185
+ var content = this._parseContent(s, j);
18186
+
18187
+ if (content === null) {
18188
+ this.onError(XMLParserErrorCode.MalformedElement);
18189
+ return;
18190
+ }
18191
+
18192
+ var isClosed = false;
18193
+
18194
+ if (s.substring(j + content.parsed, j + content.parsed + 2) === "/>") {
18195
+ isClosed = true;
18196
+ } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== ">") {
18197
+ this.onError(XMLParserErrorCode.UnterminatedElement);
18198
+ return;
18199
+ }
18200
+
18201
+ this.onBeginElement(content.name, content.attributes, isClosed);
18202
+ j += content.parsed + (isClosed ? 2 : 1);
18203
+ break;
18204
+ }
18205
+ } else {
18206
+ while (j < s.length && s[j] !== "<") {
18207
+ j++;
18208
+ }
18209
+
18210
+ var text = s.substring(i, j);
18211
+ this.onText(this._resolveEntities(text));
18212
+ }
18213
+
18214
+ i = j;
18215
+ }
18216
+ }
18217
+ }, {
18218
+ key: "onResolveEntity",
18219
+ value: function onResolveEntity(name) {
18220
+ return "&".concat(name, ";");
18221
+ }
18222
+ }, {
18223
+ key: "onPi",
18224
+ value: function onPi(name, value) {}
18225
+ }, {
18226
+ key: "onComment",
18227
+ value: function onComment(text) {}
18228
+ }, {
18229
+ key: "onCdata",
18230
+ value: function onCdata(text) {}
18231
+ }, {
18232
+ key: "onDoctype",
18233
+ value: function onDoctype(doctypeContent) {}
18234
+ }, {
18235
+ key: "onText",
18236
+ value: function onText(text) {}
18237
+ }, {
18238
+ key: "onBeginElement",
18239
+ value: function onBeginElement(name, attributes, isEmpty) {}
18240
+ }, {
18241
+ key: "onEndElement",
18242
+ value: function onEndElement(name) {}
18243
+ }, {
18244
+ key: "onError",
18245
+ value: function onError(code) {}
18246
+ }]);
18247
+
18248
+ return XMLParserBase;
18249
+ }();
18250
+
18251
+ var SimpleDOMNode =
18252
+ /*#__PURE__*/
18253
+ function () {
18254
+ function SimpleDOMNode(nodeName, nodeValue) {
18255
+ _classCallCheck(this, SimpleDOMNode);
18256
+
18257
+ this.nodeName = nodeName;
18258
+ this.nodeValue = nodeValue;
18259
+ Object.defineProperty(this, "parentNode", {
18260
+ value: null,
18261
+ writable: true
18262
+ });
18263
+ }
18264
+
18265
+ _createClass(SimpleDOMNode, [{
18266
+ key: "hasChildNodes",
18267
+ value: function hasChildNodes() {
18268
+ return this.childNodes && this.childNodes.length > 0;
18269
+ }
18270
+ }, {
18271
+ key: "firstChild",
18272
+ get: function get() {
18273
+ return this.childNodes && this.childNodes[0];
18274
+ }
18275
+ }, {
18276
+ key: "nextSibling",
18277
+ get: function get() {
18278
+ var childNodes = this.parentNode.childNodes;
18279
+
18280
+ if (!childNodes) {
18281
+ return undefined;
18282
+ }
18283
+
18284
+ var index = childNodes.indexOf(this);
18285
+
18286
+ if (index === -1) {
18287
+ return undefined;
18288
+ }
18289
+
18290
+ return childNodes[index + 1];
18291
+ }
18292
+ }, {
18293
+ key: "textContent",
18294
+ get: function get() {
18295
+ if (!this.childNodes) {
18296
+ return this.nodeValue || "";
18297
+ }
18298
+
18299
+ return this.childNodes.map(function (child) {
18300
+ return child.textContent;
18301
+ }).join("");
18302
+ }
18303
+ }]);
18304
+
18305
+ return SimpleDOMNode;
18306
+ }();
18307
+
18308
+ var SimpleXMLParser =
18309
+ /*#__PURE__*/
18310
+ function (_XMLParserBase) {
18311
+ _inherits(SimpleXMLParser, _XMLParserBase);
18312
+
18313
+ function SimpleXMLParser() {
18314
+ var _this2;
18315
+
18316
+ _classCallCheck(this, SimpleXMLParser);
18317
+
18318
+ _this2 = _possibleConstructorReturn(this, _getPrototypeOf(SimpleXMLParser).call(this));
18319
+ _this2._currentFragment = null;
18320
+ _this2._stack = null;
18321
+ _this2._errorCode = XMLParserErrorCode.NoError;
18322
+ return _this2;
18323
+ }
18324
+
18325
+ _createClass(SimpleXMLParser, [{
18326
+ key: "parseFromString",
18327
+ value: function parseFromString(data) {
18328
+ this._currentFragment = [];
18329
+ this._stack = [];
18330
+ this._errorCode = XMLParserErrorCode.NoError;
18331
+ this.parseXml(data);
18332
+
18333
+ if (this._errorCode !== XMLParserErrorCode.NoError) {
18334
+ return undefined;
18335
+ }
18336
+
18337
+ var _this$_currentFragmen = _slicedToArray(this._currentFragment, 1),
18338
+ documentElement = _this$_currentFragmen[0];
18339
+
18340
+ if (!documentElement) {
18341
+ return undefined;
18342
+ }
18343
+
18344
+ return {
18345
+ documentElement: documentElement
18346
+ };
18347
+ }
18348
+ }, {
18349
+ key: "onResolveEntity",
18350
+ value: function onResolveEntity(name) {
18351
+ switch (name) {
18352
+ case "apos":
18353
+ return "'";
18354
+ }
18355
+
18356
+ return _get(_getPrototypeOf(SimpleXMLParser.prototype), "onResolveEntity", this).call(this, name);
18357
+ }
18358
+ }, {
18359
+ key: "onText",
18360
+ value: function onText(text) {
18361
+ if (isWhitespaceString(text)) {
18362
+ return;
18363
+ }
18364
+
18365
+ var node = new SimpleDOMNode("#text", text);
18366
+
18367
+ this._currentFragment.push(node);
18368
+ }
18369
+ }, {
18370
+ key: "onCdata",
18371
+ value: function onCdata(text) {
18372
+ var node = new SimpleDOMNode("#text", text);
18373
+
18374
+ this._currentFragment.push(node);
18375
+ }
18376
+ }, {
18377
+ key: "onBeginElement",
18378
+ value: function onBeginElement(name, attributes, isEmpty) {
18379
+ var node = new SimpleDOMNode(name);
18380
+ node.childNodes = [];
18381
+
18382
+ this._currentFragment.push(node);
18383
+
18384
+ if (isEmpty) {
18385
+ return;
18386
+ }
18387
+
18388
+ this._stack.push(this._currentFragment);
18389
+
18390
+ this._currentFragment = node.childNodes;
18391
+ }
18392
+ }, {
18393
+ key: "onEndElement",
18394
+ value: function onEndElement(name) {
18395
+ this._currentFragment = this._stack.pop() || [];
18396
+ var lastElement = this._currentFragment[this._currentFragment.length - 1];
18397
+
18398
+ if (!lastElement) {
18399
+ return;
18400
+ }
18401
+
18402
+ for (var i = 0, ii = lastElement.childNodes.length; i < ii; i++) {
18403
+ lastElement.childNodes[i].parentNode = lastElement;
18404
+ }
18405
+ }
18406
+ }, {
18407
+ key: "onError",
18408
+ value: function onError(code) {
18409
+ this._errorCode = code;
18410
+ }
18411
+ }]);
18412
+
18413
+ return SimpleXMLParser;
18414
+ }(XMLParserBase);
18415
+
18416
+ exports.SimpleXMLParser = SimpleXMLParser;
18417
+
18418
+ /***/ }),
18419
+ /* 198 */
18420
+ /***/ (function(module, exports, __w_pdfjs_require__) {
18421
+
18422
+ "use strict";
18423
+
18424
+
18425
+ Object.defineProperty(exports, "__esModule", {
18426
+ value: true
18427
+ });
18428
+ exports.PDFDataTransportStream = void 0;
18429
+
18430
+ var _regenerator = _interopRequireDefault(__w_pdfjs_require__(186));
18431
+
18432
+ var _util = __w_pdfjs_require__(1);
18433
+
18434
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18435
+
18436
+ 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); } }
18437
+
18438
+ 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); }); }; }
18439
+
18440
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
18441
+
18442
+ 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); } }
18443
+
18444
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
18445
+
18446
+ var PDFDataTransportStream =
18447
+ /*#__PURE__*/
18448
+ function () {
18449
+ function PDFDataTransportStream(params, pdfDataRangeTransport) {
18450
+ var _this = this;
18451
+
18452
+ _classCallCheck(this, PDFDataTransportStream);
18453
+
18454
+ (0, _util.assert)(pdfDataRangeTransport);
18455
+ this._queuedChunks = [];
18456
+ this._progressiveDone = params.progressiveDone || false;
18457
+ var initialData = params.initialData;
18458
+
18459
+ if (initialData && initialData.length > 0) {
18460
+ var buffer = new Uint8Array(initialData).buffer;
18461
+
18462
+ this._queuedChunks.push(buffer);
18463
+ }
18464
+
18465
+ this._pdfDataRangeTransport = pdfDataRangeTransport;
18466
+ this._isStreamingSupported = !params.disableStream;
18467
+ this._isRangeSupported = !params.disableRange;
18468
+ this._contentLength = params.length;
18469
+ this._fullRequestReader = null;
18470
+ this._rangeReaders = [];
18471
+
18472
+ this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {
18473
+ _this._onReceiveData({
18474
+ begin: begin,
18475
+ chunk: chunk
18476
+ });
18477
+ });
18478
+
18479
+ this._pdfDataRangeTransport.addProgressListener(function (loaded, total) {
18480
+ _this._onProgress({
18481
+ loaded: loaded,
18482
+ total: total
18483
+ });
18484
+ });
18485
+
18486
+ this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {
18487
+ _this._onReceiveData({
18488
+ chunk: chunk
18489
+ });
18490
+ });
18491
+
18492
+ this._pdfDataRangeTransport.addProgressiveDoneListener(function () {
18493
+ _this._onProgressiveDone();
18494
+ });
18495
+
18496
+ this._pdfDataRangeTransport.transportReady();
18497
+ }
18498
+
18499
+ _createClass(PDFDataTransportStream, [{
18500
+ key: "_onReceiveData",
18501
+ value: function _onReceiveData(args) {
18502
+ var buffer = new Uint8Array(args.chunk).buffer;
18503
+
18504
+ if (args.begin === undefined) {
18505
+ if (this._fullRequestReader) {
18506
+ this._fullRequestReader._enqueue(buffer);
18507
+ } else {
18508
+ this._queuedChunks.push(buffer);
18509
+ }
18510
+ } else {
18511
+ var found = this._rangeReaders.some(function (rangeReader) {
18512
+ if (rangeReader._begin !== args.begin) {
18513
+ return false;
18514
+ }
18515
+
18516
+ rangeReader._enqueue(buffer);
18517
+
18518
+ return true;
18519
+ });
18520
+
18521
+ (0, _util.assert)(found);
18522
+ }
18523
+ }
18524
+ }, {
18525
+ key: "_onProgress",
18526
+ value: function _onProgress(evt) {
18527
+ if (evt.total === undefined) {
18528
+ var firstReader = this._rangeReaders[0];
18529
+
18530
+ if (firstReader && firstReader.onProgress) {
18531
+ firstReader.onProgress({
18532
+ loaded: evt.loaded
18533
+ });
18534
+ }
18535
+ } else {
18536
+ var fullReader = this._fullRequestReader;
18537
+
18538
+ if (fullReader && fullReader.onProgress) {
18539
+ fullReader.onProgress({
18540
+ loaded: evt.loaded,
18541
+ total: evt.total
18542
+ });
18543
+ }
18544
+ }
18545
+ }
18546
+ }, {
18547
+ key: "_onProgressiveDone",
18548
+ value: function _onProgressiveDone() {
18549
+ if (this._fullRequestReader) {
18550
+ this._fullRequestReader.progressiveDone();
18551
+ }
18552
+
18553
+ this._progressiveDone = true;
18554
+ }
18555
+ }, {
18556
+ key: "_removeRangeReader",
18557
+ value: function _removeRangeReader(reader) {
18558
+ var i = this._rangeReaders.indexOf(reader);
18559
+
18560
+ if (i >= 0) {
18561
+ this._rangeReaders.splice(i, 1);
18562
+ }
18563
+ }
18564
+ }, {
18565
+ key: "getFullReader",
18566
+ value: function getFullReader() {
18567
+ (0, _util.assert)(!this._fullRequestReader);
18568
+ var queuedChunks = this._queuedChunks;
18569
+ this._queuedChunks = null;
18570
+ return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone);
18571
+ }
18572
+ }, {
18573
+ key: "getRangeReader",
18574
+ value: function getRangeReader(begin, end) {
18575
+ if (end <= this._progressiveDataLength) {
18576
+ return null;
18577
+ }
18578
+
18579
+ var reader = new PDFDataTransportStreamRangeReader(this, begin, end);
18580
+
18581
+ this._pdfDataRangeTransport.requestDataRange(begin, end);
18582
+
18583
+ this._rangeReaders.push(reader);
18584
+
18585
+ return reader;
18586
+ }
18587
+ }, {
18588
+ key: "cancelAllRequests",
18589
+ value: function cancelAllRequests(reason) {
18590
+ if (this._fullRequestReader) {
18591
+ this._fullRequestReader.cancel(reason);
18592
+ }
18593
+
18594
+ var readers = this._rangeReaders.slice(0);
18595
+
18596
+ readers.forEach(function (rangeReader) {
18597
+ rangeReader.cancel(reason);
18598
+ });
18599
+
18600
+ this._pdfDataRangeTransport.abort();
18601
+ }
18602
+ }, {
18603
+ key: "_progressiveDataLength",
18604
+ get: function get() {
18605
+ return this._fullRequestReader ? this._fullRequestReader._loaded : 0;
18606
+ }
18607
+ }]);
18608
+
18609
+ return PDFDataTransportStream;
18610
+ }();
18611
+
18612
+ exports.PDFDataTransportStream = PDFDataTransportStream;
18613
+
18614
+ var PDFDataTransportStreamReader =
18615
+ /*#__PURE__*/
18616
+ function () {
18617
+ function PDFDataTransportStreamReader(stream, queuedChunks) {
18618
+ var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
18619
+
18620
+ _classCallCheck(this, PDFDataTransportStreamReader);
18621
+
18622
+ this._stream = stream;
18623
+ this._done = progressiveDone || false;
18624
+ this._filename = null;
18625
+ this._queuedChunks = queuedChunks || [];
18626
+ this._loaded = 0;
18627
+ var _iteratorNormalCompletion = true;
18628
+ var _didIteratorError = false;
18629
+ var _iteratorError = undefined;
18630
+
18631
+ try {
18632
+ for (var _iterator = this._queuedChunks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
18633
+ var chunk = _step.value;
18634
+ this._loaded += chunk.byteLength;
18635
+ }
18636
+ } catch (err) {
18637
+ _didIteratorError = true;
18638
+ _iteratorError = err;
18639
+ } finally {
18640
+ try {
18641
+ if (!_iteratorNormalCompletion && _iterator["return"] != null) {
18642
+ _iterator["return"]();
18643
+ }
18644
+ } finally {
18645
+ if (_didIteratorError) {
18646
+ throw _iteratorError;
18647
+ }
18648
+ }
18649
+ }
18650
+
18651
+ this._requests = [];
18652
+ this._headersReady = Promise.resolve();
18653
+ stream._fullRequestReader = this;
18654
+ this.onProgress = null;
18655
+ }
18656
+
18657
+ _createClass(PDFDataTransportStreamReader, [{
18658
+ key: "_enqueue",
18659
+ value: function _enqueue(chunk) {
18660
+ if (this._done) {
18661
+ return;
18662
+ }
18663
+
18664
+ if (this._requests.length > 0) {
18665
+ var requestCapability = this._requests.shift();
18666
+
18667
+ requestCapability.resolve({
18668
+ value: chunk,
18669
+ done: false
18670
+ });
18671
+ } else {
18672
+ this._queuedChunks.push(chunk);
18673
+ }
18674
+
18675
+ this._loaded += chunk.byteLength;
18676
+ }
18677
+ }, {
18678
+ key: "read",
18679
+ value: function () {
18680
+ var _read = _asyncToGenerator(
18681
+ /*#__PURE__*/
18682
+ _regenerator["default"].mark(function _callee() {
18683
+ var chunk, requestCapability;
18684
+ return _regenerator["default"].wrap(function _callee$(_context) {
18685
+ while (1) {
18686
+ switch (_context.prev = _context.next) {
18687
+ case 0:
18688
+ if (!(this._queuedChunks.length > 0)) {
18689
+ _context.next = 3;
18690
+ break;
18691
+ }
18692
+
18693
+ chunk = this._queuedChunks.shift();
18694
+ return _context.abrupt("return", {
18695
+ value: chunk,
18696
+ done: false
18697
+ });
18698
+
18699
+ case 3:
18700
+ if (!this._done) {
18701
+ _context.next = 5;
18702
+ break;
18703
+ }
18704
+
18705
+ return _context.abrupt("return", {
18706
+ value: undefined,
18707
+ done: true
18708
+ });
18709
+
18710
+ case 5:
18711
+ requestCapability = (0, _util.createPromiseCapability)();
18712
+
18713
+ this._requests.push(requestCapability);
18714
+
18715
+ return _context.abrupt("return", requestCapability.promise);
18716
+
18717
+ case 8:
18718
+ case "end":
18719
+ return _context.stop();
18720
+ }
18721
+ }
18722
+ }, _callee, this);
18723
+ }));
18724
+
18725
+ function read() {
18726
+ return _read.apply(this, arguments);
18727
+ }
18728
+
18729
+ return read;
18730
+ }()
18731
+ }, {
18732
+ key: "cancel",
18733
+ value: function cancel(reason) {
18734
+ this._done = true;
18735
+
18736
+ this._requests.forEach(function (requestCapability) {
18737
+ requestCapability.resolve({
18738
+ value: undefined,
18739
+ done: true
18740
+ });
18741
+ });
18742
+
18743
+ this._requests = [];
18744
+ }
18745
+ }, {
18746
+ key: "progressiveDone",
18747
+ value: function progressiveDone() {
18748
+ if (this._done) {
18749
+ return;
18750
+ }
18751
+
18752
+ this._done = true;
18753
+ }
18754
+ }, {
18755
+ key: "headersReady",
18756
+ get: function get() {
18757
+ return this._headersReady;
18758
+ }
18759
+ }, {
18760
+ key: "filename",
18761
+ get: function get() {
18762
+ return this._filename;
18763
+ }
18764
+ }, {
18765
+ key: "isRangeSupported",
18766
+ get: function get() {
18767
+ return this._stream._isRangeSupported;
18768
+ }
18769
+ }, {
18770
+ key: "isStreamingSupported",
18771
+ get: function get() {
18772
+ return this._stream._isStreamingSupported;
18773
+ }
18774
+ }, {
18775
+ key: "contentLength",
18776
+ get: function get() {
18777
+ return this._stream._contentLength;
18778
+ }
18779
+ }]);
18780
+
18781
+ return PDFDataTransportStreamReader;
18782
+ }();
18783
+
18784
+ var PDFDataTransportStreamRangeReader =
18785
+ /*#__PURE__*/
18786
+ function () {
18787
+ function PDFDataTransportStreamRangeReader(stream, begin, end) {
18788
+ _classCallCheck(this, PDFDataTransportStreamRangeReader);
18789
+
18790
+ this._stream = stream;
18791
+ this._begin = begin;
18792
+ this._end = end;
18793
+ this._queuedChunk = null;
18794
+ this._requests = [];
18795
+ this._done = false;
18796
+ this.onProgress = null;
18797
+ }
18798
+
18799
+ _createClass(PDFDataTransportStreamRangeReader, [{
18800
+ key: "_enqueue",
18801
+ value: function _enqueue(chunk) {
18802
+ if (this._done) {
18803
+ return;
18804
+ }
18805
+
18806
+ if (this._requests.length === 0) {
18807
+ this._queuedChunk = chunk;
18808
+ } else {
18809
+ var requestsCapability = this._requests.shift();
18810
+
18811
+ requestsCapability.resolve({
18812
+ value: chunk,
18813
+ done: false
18814
+ });
18815
+
18816
+ this._requests.forEach(function (requestCapability) {
18817
+ requestCapability.resolve({
18818
+ value: undefined,
18819
+ done: true
18820
+ });
18821
+ });
18822
+
18823
+ this._requests = [];
18824
+ }
18825
+
18826
+ this._done = true;
18827
+
18828
+ this._stream._removeRangeReader(this);
18829
+ }
18830
+ }, {
18831
+ key: "read",
18832
+ value: function () {
18833
+ var _read2 = _asyncToGenerator(
18834
+ /*#__PURE__*/
18835
+ _regenerator["default"].mark(function _callee2() {
18836
+ var chunk, requestCapability;
18837
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
18838
+ while (1) {
18839
+ switch (_context2.prev = _context2.next) {
18840
+ case 0:
18841
+ if (!this._queuedChunk) {
18842
+ _context2.next = 4;
18843
+ break;
18844
+ }
18845
+
18846
+ chunk = this._queuedChunk;
18847
+ this._queuedChunk = null;
18848
+ return _context2.abrupt("return", {
18849
+ value: chunk,
18850
+ done: false
18851
+ });
18852
+
18853
+ case 4:
18854
+ if (!this._done) {
18855
+ _context2.next = 6;
18856
+ break;
18857
+ }
18858
+
18859
+ return _context2.abrupt("return", {
18860
+ value: undefined,
18861
+ done: true
18862
+ });
18863
+
18864
+ case 6:
18865
+ requestCapability = (0, _util.createPromiseCapability)();
18866
+
18867
+ this._requests.push(requestCapability);
18868
+
18869
+ return _context2.abrupt("return", requestCapability.promise);
18870
+
18871
+ case 9:
18872
+ case "end":
18873
+ return _context2.stop();
18874
+ }
18875
+ }
18876
+ }, _callee2, this);
18877
+ }));
18878
+
18879
+ function read() {
18880
+ return _read2.apply(this, arguments);
18881
+ }
18882
+
18883
+ return read;
18884
+ }()
18885
+ }, {
18886
+ key: "cancel",
18887
+ value: function cancel(reason) {
18888
+ this._done = true;
18889
+
18890
+ this._requests.forEach(function (requestCapability) {
18891
+ requestCapability.resolve({
18892
+ value: undefined,
18893
+ done: true
18894
+ });
18895
+ });
18896
+
18897
+ this._requests = [];
18898
+
18899
+ this._stream._removeRangeReader(this);
18900
+ }
18901
+ }, {
18902
+ key: "isStreamingSupported",
18903
+ get: function get() {
18904
+ return false;
18905
+ }
18906
+ }]);
18907
+
18908
+ return PDFDataTransportStreamRangeReader;
18909
+ }();
18910
+
18911
+ /***/ }),
18912
+ /* 199 */
18913
+ /***/ (function(module, exports, __w_pdfjs_require__) {
18914
+
18915
+ "use strict";
18916
+
18917
+
18918
+ Object.defineProperty(exports, "__esModule", {
18919
+ value: true
18920
+ });
18921
+ exports.WebGLContext = void 0;
18922
+
18923
+ var _util = __w_pdfjs_require__(1);
18924
+
18925
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
18926
+
18927
+ 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); } }
18928
+
18929
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
18930
+
18931
+ var WebGLContext =
18932
+ /*#__PURE__*/
18933
+ function () {
18934
+ function WebGLContext(_ref) {
18935
+ var _ref$enable = _ref.enable,
18936
+ enable = _ref$enable === void 0 ? false : _ref$enable;
18937
+
18938
+ _classCallCheck(this, WebGLContext);
18939
+
18940
+ this._enabled = enable === true;
18941
+ }
18942
+
18943
+ _createClass(WebGLContext, [{
18944
+ key: "composeSMask",
18945
+ value: function composeSMask(_ref2) {
18946
+ var layer = _ref2.layer,
18947
+ mask = _ref2.mask,
18948
+ properties = _ref2.properties;
18949
+ return WebGLUtils.composeSMask(layer, mask, properties);
18950
+ }
18951
+ }, {
18952
+ key: "drawFigures",
18953
+ value: function drawFigures(_ref3) {
18954
+ var width = _ref3.width,
18955
+ height = _ref3.height,
18956
+ backgroundColor = _ref3.backgroundColor,
18957
+ figures = _ref3.figures,
18958
+ context = _ref3.context;
18959
+ return WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);
18960
+ }
18961
+ }, {
18962
+ key: "clear",
18963
+ value: function clear() {
18964
+ WebGLUtils.cleanup();
18965
+ }
18966
+ }, {
18967
+ key: "isEnabled",
18968
+ get: function get() {
18969
+ var enabled = this._enabled;
18970
+
18971
+ if (enabled) {
18972
+ enabled = WebGLUtils.tryInitGL();
18973
+ }
18974
+
18975
+ return (0, _util.shadow)(this, "isEnabled", enabled);
18976
+ }
18977
+ }]);
18978
+
18979
+ return WebGLContext;
18980
+ }();
18981
+
18982
+ exports.WebGLContext = WebGLContext;
18983
+
18984
+ var WebGLUtils = function WebGLUtilsClosure() {
18985
+ function loadShader(gl, code, shaderType) {
18986
+ var shader = gl.createShader(shaderType);
18987
+ gl.shaderSource(shader, code);
18988
+ gl.compileShader(shader);
18989
+ var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);
18990
+
18991
+ if (!compiled) {
18992
+ var errorMsg = gl.getShaderInfoLog(shader);
18993
+ throw new Error("Error during shader compilation: " + errorMsg);
18994
+ }
18995
+
18996
+ return shader;
18997
+ }
18998
+
18999
+ function createVertexShader(gl, code) {
19000
+ return loadShader(gl, code, gl.VERTEX_SHADER);
19001
+ }
19002
+
19003
+ function createFragmentShader(gl, code) {
19004
+ return loadShader(gl, code, gl.FRAGMENT_SHADER);
19005
+ }
19006
+
19007
+ function createProgram(gl, shaders) {
19008
+ var program = gl.createProgram();
19009
+
19010
+ for (var i = 0, ii = shaders.length; i < ii; ++i) {
19011
+ gl.attachShader(program, shaders[i]);
19012
+ }
19013
+
19014
+ gl.linkProgram(program);
19015
+ var linked = gl.getProgramParameter(program, gl.LINK_STATUS);
19016
+
19017
+ if (!linked) {
19018
+ var errorMsg = gl.getProgramInfoLog(program);
19019
+ throw new Error("Error during program linking: " + errorMsg);
19020
+ }
19021
+
19022
+ return program;
19023
+ }
19024
+
19025
+ function createTexture(gl, image, textureId) {
19026
+ gl.activeTexture(textureId);
19027
+ var texture = gl.createTexture();
19028
+ gl.bindTexture(gl.TEXTURE_2D, texture);
19029
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
19030
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
19031
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
19032
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
19033
+ gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);
19034
+ return texture;
19035
+ }
19036
+
19037
+ var currentGL, currentCanvas;
19038
+
19039
+ function generateGL() {
19040
+ if (currentGL) {
19041
+ return;
19042
+ }
19043
+
19044
+ currentCanvas = document.createElement("canvas");
19045
+ currentGL = currentCanvas.getContext("webgl", {
19046
+ premultipliedalpha: false
19047
+ });
19048
+ }
19049
+
19050
+ var smaskVertexShaderCode = "\
19051
+ attribute vec2 a_position; \
19052
+ attribute vec2 a_texCoord; \
19053
+ \
19054
+ uniform vec2 u_resolution; \
19055
+ \
19056
+ varying vec2 v_texCoord; \
19057
+ \
19058
+ void main() { \
19059
+ vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0; \
19060
+ gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \
19061
+ \
19062
+ v_texCoord = a_texCoord; \
19063
+ } ";
19064
+ var smaskFragmentShaderCode = "\
19065
+ precision mediump float; \
19066
+ \
19067
+ uniform vec4 u_backdrop; \
19068
+ uniform int u_subtype; \
19069
+ uniform sampler2D u_image; \
19070
+ uniform sampler2D u_mask; \
19071
+ \
19072
+ varying vec2 v_texCoord; \
19073
+ \
19074
+ void main() { \
19075
+ vec4 imageColor = texture2D(u_image, v_texCoord); \
19076
+ vec4 maskColor = texture2D(u_mask, v_texCoord); \
19077
+ if (u_backdrop.a > 0.0) { \
19078
+ maskColor.rgb = maskColor.rgb * maskColor.a + \
19079
+ u_backdrop.rgb * (1.0 - maskColor.a); \
19080
+ } \
19081
+ float lum; \
19082
+ if (u_subtype == 0) { \
19083
+ lum = maskColor.a; \
19084
+ } else { \
19085
+ lum = maskColor.r * 0.3 + maskColor.g * 0.59 + \
19086
+ maskColor.b * 0.11; \
19087
+ } \
19088
+ imageColor.a *= lum; \
19089
+ imageColor.rgb *= imageColor.a; \
19090
+ gl_FragColor = imageColor; \
19091
+ } ";
19092
+ var smaskCache = null;
19093
+
19094
+ function initSmaskGL() {
19095
+ var canvas, gl;
19096
+ generateGL();
19097
+ canvas = currentCanvas;
19098
+ currentCanvas = null;
19099
+ gl = currentGL;
19100
+ currentGL = null;
19101
+ var vertexShader = createVertexShader(gl, smaskVertexShaderCode);
19102
+ var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);
19103
+ var program = createProgram(gl, [vertexShader, fragmentShader]);
19104
+ gl.useProgram(program);
19105
+ var cache = {};
19106
+ cache.gl = gl;
19107
+ cache.canvas = canvas;
19108
+ cache.resolutionLocation = gl.getUniformLocation(program, "u_resolution");
19109
+ cache.positionLocation = gl.getAttribLocation(program, "a_position");
19110
+ cache.backdropLocation = gl.getUniformLocation(program, "u_backdrop");
19111
+ cache.subtypeLocation = gl.getUniformLocation(program, "u_subtype");
19112
+ var texCoordLocation = gl.getAttribLocation(program, "a_texCoord");
19113
+ var texLayerLocation = gl.getUniformLocation(program, "u_image");
19114
+ var texMaskLocation = gl.getUniformLocation(program, "u_mask");
19115
+ var texCoordBuffer = gl.createBuffer();
19116
+ gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);
19117
+ gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0]), gl.STATIC_DRAW);
19118
+ gl.enableVertexAttribArray(texCoordLocation);
19119
+ gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);
19120
+ gl.uniform1i(texLayerLocation, 0);
19121
+ gl.uniform1i(texMaskLocation, 1);
19122
+ smaskCache = cache;
19123
+ }
19124
+
19125
+ function composeSMask(layer, mask, properties) {
19126
+ var width = layer.width,
19127
+ height = layer.height;
19128
+
19129
+ if (!smaskCache) {
19130
+ initSmaskGL();
19131
+ }
19132
+
19133
+ var cache = smaskCache,
19134
+ canvas = cache.canvas,
19135
+ gl = cache.gl;
19136
+ canvas.width = width;
19137
+ canvas.height = height;
19138
+ gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);
19139
+ gl.uniform2f(cache.resolutionLocation, width, height);
19140
+
19141
+ if (properties.backdrop) {
19142
+ gl.uniform4f(cache.resolutionLocation, properties.backdrop[0], properties.backdrop[1], properties.backdrop[2], 1);
19143
+ } else {
19144
+ gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);
19145
+ }
19146
+
19147
+ gl.uniform1i(cache.subtypeLocation, properties.subtype === "Luminosity" ? 1 : 0);
19148
+ var texture = createTexture(gl, layer, gl.TEXTURE0);
19149
+ var maskTexture = createTexture(gl, mask, gl.TEXTURE1);
19150
+ var buffer = gl.createBuffer();
19151
+ gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
19152
+ gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0, 0, width, 0, 0, height, 0, height, width, 0, width, height]), gl.STATIC_DRAW);
19153
+ gl.enableVertexAttribArray(cache.positionLocation);
19154
+ gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);
19155
+ gl.clearColor(0, 0, 0, 0);
19156
+ gl.enable(gl.BLEND);
19157
+ gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);
19158
+ gl.clear(gl.COLOR_BUFFER_BIT);
19159
+ gl.drawArrays(gl.TRIANGLES, 0, 6);
19160
+ gl.flush();
19161
+ gl.deleteTexture(texture);
19162
+ gl.deleteTexture(maskTexture);
19163
+ gl.deleteBuffer(buffer);
19164
+ return canvas;
19165
+ }
19166
+
19167
+ var figuresVertexShaderCode = "\
19168
+ attribute vec2 a_position; \
19169
+ attribute vec3 a_color; \
19170
+ \
19171
+ uniform vec2 u_resolution; \
19172
+ uniform vec2 u_scale; \
19173
+ uniform vec2 u_offset; \
19174
+ \
19175
+ varying vec4 v_color; \
19176
+ \
19177
+ void main() { \
19178
+ vec2 position = (a_position + u_offset) * u_scale; \
19179
+ vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0; \
19180
+ gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \
19181
+ \
19182
+ v_color = vec4(a_color / 255.0, 1.0); \
19183
+ } ";
19184
+ var figuresFragmentShaderCode = "\
19185
+ precision mediump float; \
19186
+ \
19187
+ varying vec4 v_color; \
19188
+ \
19189
+ void main() { \
19190
+ gl_FragColor = v_color; \
19191
+ } ";
19192
+ var figuresCache = null;
19193
+
19194
+ function initFiguresGL() {
19195
+ var canvas, gl;
19196
+ generateGL();
19197
+ canvas = currentCanvas;
19198
+ currentCanvas = null;
19199
+ gl = currentGL;
19200
+ currentGL = null;
19201
+ var vertexShader = createVertexShader(gl, figuresVertexShaderCode);
19202
+ var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);
19203
+ var program = createProgram(gl, [vertexShader, fragmentShader]);
19204
+ gl.useProgram(program);
19205
+ var cache = {};
19206
+ cache.gl = gl;
19207
+ cache.canvas = canvas;
19208
+ cache.resolutionLocation = gl.getUniformLocation(program, "u_resolution");
19209
+ cache.scaleLocation = gl.getUniformLocation(program, "u_scale");
19210
+ cache.offsetLocation = gl.getUniformLocation(program, "u_offset");
19211
+ cache.positionLocation = gl.getAttribLocation(program, "a_position");
19212
+ cache.colorLocation = gl.getAttribLocation(program, "a_color");
19213
+ figuresCache = cache;
19214
+ }
19215
+
19216
+ function drawFigures(width, height, backgroundColor, figures, context) {
19217
+ if (!figuresCache) {
19218
+ initFiguresGL();
19219
+ }
19220
+
19221
+ var cache = figuresCache,
19222
+ canvas = cache.canvas,
19223
+ gl = cache.gl;
19224
+ canvas.width = width;
19225
+ canvas.height = height;
19226
+ gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);
19227
+ gl.uniform2f(cache.resolutionLocation, width, height);
19228
+ var count = 0;
19229
+ var i, ii, rows;
19230
+
19231
+ for (i = 0, ii = figures.length; i < ii; i++) {
19232
+ switch (figures[i].type) {
19233
+ case "lattice":
19234
+ rows = figures[i].coords.length / figures[i].verticesPerRow | 0;
19235
+ count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;
19236
+ break;
19237
+
19238
+ case "triangles":
19239
+ count += figures[i].coords.length;
19240
+ break;
19241
+ }
19242
+ }
19243
+
19244
+ var coords = new Float32Array(count * 2);
19245
+ var colors = new Uint8Array(count * 3);
19246
+ var coordsMap = context.coords,
19247
+ colorsMap = context.colors;
19248
+ var pIndex = 0,
19249
+ cIndex = 0;
19250
+
19251
+ for (i = 0, ii = figures.length; i < ii; i++) {
19252
+ var figure = figures[i],
19253
+ ps = figure.coords,
19254
+ cs = figure.colors;
19255
+
19256
+ switch (figure.type) {
19257
+ case "lattice":
19258
+ var cols = figure.verticesPerRow;
19259
+ rows = ps.length / cols | 0;
19260
+
19261
+ for (var row = 1; row < rows; row++) {
19262
+ var offset = row * cols + 1;
19263
+
19264
+ for (var col = 1; col < cols; col++, offset++) {
19265
+ coords[pIndex] = coordsMap[ps[offset - cols - 1]];
19266
+ coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1];
19267
+ coords[pIndex + 2] = coordsMap[ps[offset - cols]];
19268
+ coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1];
19269
+ coords[pIndex + 4] = coordsMap[ps[offset - 1]];
19270
+ coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1];
19271
+ colors[cIndex] = colorsMap[cs[offset - cols - 1]];
19272
+ colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1];
19273
+ colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2];
19274
+ colors[cIndex + 3] = colorsMap[cs[offset - cols]];
19275
+ colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1];
19276
+ colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2];
19277
+ colors[cIndex + 6] = colorsMap[cs[offset - 1]];
19278
+ colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1];
19279
+ colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2];
19280
+ coords[pIndex + 6] = coords[pIndex + 2];
19281
+ coords[pIndex + 7] = coords[pIndex + 3];
19282
+ coords[pIndex + 8] = coords[pIndex + 4];
19283
+ coords[pIndex + 9] = coords[pIndex + 5];
19284
+ coords[pIndex + 10] = coordsMap[ps[offset]];
19285
+ coords[pIndex + 11] = coordsMap[ps[offset] + 1];
19286
+ colors[cIndex + 9] = colors[cIndex + 3];
19287
+ colors[cIndex + 10] = colors[cIndex + 4];
19288
+ colors[cIndex + 11] = colors[cIndex + 5];
19289
+ colors[cIndex + 12] = colors[cIndex + 6];
19290
+ colors[cIndex + 13] = colors[cIndex + 7];
19291
+ colors[cIndex + 14] = colors[cIndex + 8];
19292
+ colors[cIndex + 15] = colorsMap[cs[offset]];
19293
+ colors[cIndex + 16] = colorsMap[cs[offset] + 1];
19294
+ colors[cIndex + 17] = colorsMap[cs[offset] + 2];
19295
+ pIndex += 12;
19296
+ cIndex += 18;
19297
+ }
19298
+ }
19299
+
19300
+ break;
19301
+
19302
+ case "triangles":
19303
+ for (var j = 0, jj = ps.length; j < jj; j++) {
19304
+ coords[pIndex] = coordsMap[ps[j]];
19305
+ coords[pIndex + 1] = coordsMap[ps[j] + 1];
19306
+ colors[cIndex] = colorsMap[cs[j]];
19307
+ colors[cIndex + 1] = colorsMap[cs[j] + 1];
19308
+ colors[cIndex + 2] = colorsMap[cs[j] + 2];
19309
+ pIndex += 2;
19310
+ cIndex += 3;
19311
+ }
19312
+
19313
+ break;
19314
+ }
19315
+ }
19316
+
19317
+ if (backgroundColor) {
19318
+ gl.clearColor(backgroundColor[0] / 255, backgroundColor[1] / 255, backgroundColor[2] / 255, 1.0);
19319
+ } else {
19320
+ gl.clearColor(0, 0, 0, 0);
19321
+ }
19322
+
19323
+ gl.clear(gl.COLOR_BUFFER_BIT);
19324
+ var coordsBuffer = gl.createBuffer();
19325
+ gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer);
19326
+ gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW);
19327
+ gl.enableVertexAttribArray(cache.positionLocation);
19328
+ gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);
19329
+ var colorsBuffer = gl.createBuffer();
19330
+ gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer);
19331
+ gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW);
19332
+ gl.enableVertexAttribArray(cache.colorLocation);
19333
+ gl.vertexAttribPointer(cache.colorLocation, 3, gl.UNSIGNED_BYTE, false, 0, 0);
19334
+ gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY);
19335
+ gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY);
19336
+ gl.drawArrays(gl.TRIANGLES, 0, count);
19337
+ gl.flush();
19338
+ gl.deleteBuffer(coordsBuffer);
19339
+ gl.deleteBuffer(colorsBuffer);
19340
+ return canvas;
19341
+ }
19342
+
19343
+ return {
19344
+ tryInitGL: function tryInitGL() {
19345
+ try {
19346
+ generateGL();
19347
+ return !!currentGL;
19348
+ } catch (ex) {}
19349
+
19350
+ return false;
19351
+ },
19352
+ composeSMask: composeSMask,
19353
+ drawFigures: drawFigures,
19354
+ cleanup: function cleanup() {
19355
+ if (smaskCache && smaskCache.canvas) {
19356
+ smaskCache.canvas.width = 0;
19357
+ smaskCache.canvas.height = 0;
19358
+ }
19359
+
19360
+ if (figuresCache && figuresCache.canvas) {
19361
+ figuresCache.canvas.width = 0;
19362
+ figuresCache.canvas.height = 0;
19363
+ }
19364
+
19365
+ smaskCache = null;
19366
+ figuresCache = null;
19367
+ }
19368
+ };
19369
+ }();
19370
+
19371
+ /***/ }),
19372
+ /* 200 */
19373
+ /***/ (function(module, exports, __w_pdfjs_require__) {
19374
+
19375
+ "use strict";
19376
+
19377
+
19378
+ Object.defineProperty(exports, "__esModule", {
19379
+ value: true
19380
+ });
19381
+ exports.renderTextLayer = void 0;
19382
+
19383
+ var _util = __w_pdfjs_require__(1);
19384
+
19385
+ var renderTextLayer = function renderTextLayerClosure() {
19386
+ var MAX_TEXT_DIVS_TO_RENDER = 100000;
19387
+ var NonWhitespaceRegexp = /\S/;
19388
+
19389
+ function isAllWhitespace(str) {
19390
+ return !NonWhitespaceRegexp.test(str);
19391
+ }
19392
+
19393
+ function appendText(task, geom, styles) {
19394
+ var textDiv = document.createElement("span");
19395
+ var textDivProperties = {
19396
+ angle: 0,
19397
+ canvasWidth: 0,
19398
+ isWhitespace: false,
19399
+ originalTransform: null,
19400
+ paddingBottom: 0,
19401
+ paddingLeft: 0,
19402
+ paddingRight: 0,
19403
+ paddingTop: 0,
19404
+ scale: 1
19405
+ };
19406
+
19407
+ task._textDivs.push(textDiv);
19408
+
19409
+ if (isAllWhitespace(geom.str)) {
19410
+ textDivProperties.isWhitespace = true;
19411
+
19412
+ task._textDivProperties.set(textDiv, textDivProperties);
19413
+
19414
+ return;
19415
+ }
19416
+
19417
+ var tx = _util.Util.transform(task._viewport.transform, geom.transform);
19418
+
19419
+ var angle = Math.atan2(tx[1], tx[0]);
19420
+ var style = styles[geom.fontName];
19421
+
19422
+ if (style.vertical) {
19423
+ angle += Math.PI / 2;
19424
+ }
19425
+
19426
+ var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);
19427
+ var fontAscent = fontHeight;
19428
+
19429
+ if (style.ascent) {
19430
+ fontAscent = style.ascent * fontAscent;
19431
+ } else if (style.descent) {
19432
+ fontAscent = (1 + style.descent) * fontAscent;
19433
+ }
19434
+
19435
+ var left, top;
19436
+
19437
+ if (angle === 0) {
19438
+ left = tx[4];
19439
+ top = tx[5] - fontAscent;
19440
+ } else {
19441
+ left = tx[4] + fontAscent * Math.sin(angle);
19442
+ top = tx[5] - fontAscent * Math.cos(angle);
19443
+ }
19444
+
19445
+ textDiv.style.left = "".concat(left, "px");
19446
+ textDiv.style.top = "".concat(top, "px");
19447
+ textDiv.style.fontSize = "".concat(fontHeight, "px");
19448
+ textDiv.style.fontFamily = style.fontFamily;
19449
+ textDiv.textContent = geom.str;
19450
+
19451
+ if (task._fontInspectorEnabled) {
19452
+ textDiv.dataset.fontName = geom.fontName;
19453
+ }
19454
+
19455
+ if (angle !== 0) {
19456
+ textDivProperties.angle = angle * (180 / Math.PI);
19457
+ }
19458
+
19459
+ if (geom.str.length > 1) {
19460
+ if (style.vertical) {
19461
+ textDivProperties.canvasWidth = geom.height * task._viewport.scale;
19462
+ } else {
19463
+ textDivProperties.canvasWidth = geom.width * task._viewport.scale;
19464
+ }
19465
+ }
19466
+
19467
+ task._textDivProperties.set(textDiv, textDivProperties);
19468
+
19469
+ if (task._textContentStream) {
19470
+ task._layoutText(textDiv);
19471
+ }
19472
+
19473
+ if (task._enhanceTextSelection) {
19474
+ var angleCos = 1,
19475
+ angleSin = 0;
19476
+
19477
+ if (angle !== 0) {
19478
+ angleCos = Math.cos(angle);
19479
+ angleSin = Math.sin(angle);
19480
+ }
19481
+
19482
+ var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;
19483
+ var divHeight = fontHeight;
19484
+ var m, b;
19485
+
19486
+ if (angle !== 0) {
19487
+ m = [angleCos, angleSin, -angleSin, angleCos, left, top];
19488
+ b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);
19489
+ } else {
19490
+ b = [left, top, left + divWidth, top + divHeight];
19491
+ }
19492
+
19493
+ task._bounds.push({
19494
+ left: b[0],
19495
+ top: b[1],
19496
+ right: b[2],
19497
+ bottom: b[3],
19498
+ div: textDiv,
19499
+ size: [divWidth, divHeight],
19500
+ m: m
19501
+ });
19502
+ }
19503
+ }
19504
+
19505
+ function render(task) {
19506
+ if (task._canceled) {
19507
+ return;
19508
+ }
19509
+
19510
+ var textDivs = task._textDivs;
19511
+ var capability = task._capability;
19512
+ var textDivsLength = textDivs.length;
19513
+
19514
+ if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {
19515
+ task._renderingDone = true;
19516
+ capability.resolve();
19517
+ return;
19518
+ }
19519
+
19520
+ if (!task._textContentStream) {
19521
+ for (var i = 0; i < textDivsLength; i++) {
19522
+ task._layoutText(textDivs[i]);
19523
+ }
19524
+ }
19525
+
19526
+ task._renderingDone = true;
19527
+ capability.resolve();
19528
+ }
19529
+
19530
+ function expand(task) {
19531
+ var bounds = task._bounds;
19532
+ var viewport = task._viewport;
19533
+ var expanded = expandBounds(viewport.width, viewport.height, bounds);
19534
+
19535
+ for (var i = 0; i < expanded.length; i++) {
19536
+ var div = bounds[i].div;
19537
+
19538
+ var divProperties = task._textDivProperties.get(div);
19539
+
19540
+ if (divProperties.angle === 0) {
19541
+ divProperties.paddingLeft = bounds[i].left - expanded[i].left;
19542
+ divProperties.paddingTop = bounds[i].top - expanded[i].top;
19543
+ divProperties.paddingRight = expanded[i].right - bounds[i].right;
19544
+ divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;
19545
+
19546
+ task._textDivProperties.set(div, divProperties);
19547
+
19548
+ continue;
19549
+ }
19550
+
19551
+ var e = expanded[i],
19552
+ b = bounds[i];
19553
+ var m = b.m,
19554
+ c = m[0],
19555
+ s = m[1];
19556
+ var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];
19557
+ var ts = new Float64Array(64);
19558
+ points.forEach(function (p, i) {
19559
+ var t = _util.Util.applyTransform(p, m);
19560
+
19561
+ ts[i + 0] = c && (e.left - t[0]) / c;
19562
+ ts[i + 4] = s && (e.top - t[1]) / s;
19563
+ ts[i + 8] = c && (e.right - t[0]) / c;
19564
+ ts[i + 12] = s && (e.bottom - t[1]) / s;
19565
+ ts[i + 16] = s && (e.left - t[0]) / -s;
19566
+ ts[i + 20] = c && (e.top - t[1]) / c;
19567
+ ts[i + 24] = s && (e.right - t[0]) / -s;
19568
+ ts[i + 28] = c && (e.bottom - t[1]) / c;
19569
+ ts[i + 32] = c && (e.left - t[0]) / -c;
19570
+ ts[i + 36] = s && (e.top - t[1]) / -s;
19571
+ ts[i + 40] = c && (e.right - t[0]) / -c;
19572
+ ts[i + 44] = s && (e.bottom - t[1]) / -s;
19573
+ ts[i + 48] = s && (e.left - t[0]) / s;
19574
+ ts[i + 52] = c && (e.top - t[1]) / -c;
19575
+ ts[i + 56] = s && (e.right - t[0]) / s;
19576
+ ts[i + 60] = c && (e.bottom - t[1]) / -c;
19577
+ });
19578
+
19579
+ var findPositiveMin = function findPositiveMin(ts, offset, count) {
19580
+ var result = 0;
19581
+
19582
+ for (var i = 0; i < count; i++) {
19583
+ var t = ts[offset++];
19584
+
19585
+ if (t > 0) {
19586
+ result = result ? Math.min(t, result) : t;
19587
+ }
19588
+ }
19589
+
19590
+ return result;
19591
+ };
19592
+
19593
+ var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));
19594
+ divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;
19595
+ divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;
19596
+ divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;
19597
+ divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;
19598
+
19599
+ task._textDivProperties.set(div, divProperties);
19600
+ }
19601
+ }
19602
+
19603
+ function expandBounds(width, height, boxes) {
19604
+ var bounds = boxes.map(function (box, i) {
19605
+ return {
19606
+ x1: box.left,
19607
+ y1: box.top,
19608
+ x2: box.right,
19609
+ y2: box.bottom,
19610
+ index: i,
19611
+ x1New: undefined,
19612
+ x2New: undefined
19613
+ };
19614
+ });
19615
+ expandBoundsLTR(width, bounds);
19616
+ var expanded = new Array(boxes.length);
19617
+ bounds.forEach(function (b) {
19618
+ var i = b.index;
19619
+ expanded[i] = {
19620
+ left: b.x1New,
19621
+ top: 0,
19622
+ right: b.x2New,
19623
+ bottom: 0
19624
+ };
19625
+ });
19626
+ boxes.map(function (box, i) {
19627
+ var e = expanded[i],
19628
+ b = bounds[i];
19629
+ b.x1 = box.top;
19630
+ b.y1 = width - e.right;
19631
+ b.x2 = box.bottom;
19632
+ b.y2 = width - e.left;
19633
+ b.index = i;
19634
+ b.x1New = undefined;
19635
+ b.x2New = undefined;
19636
+ });
19637
+ expandBoundsLTR(height, bounds);
19638
+ bounds.forEach(function (b) {
19639
+ var i = b.index;
19640
+ expanded[i].top = b.x1New;
19641
+ expanded[i].bottom = b.x2New;
19642
+ });
19643
+ return expanded;
19644
+ }
19645
+
19646
+ function expandBoundsLTR(width, bounds) {
19647
+ bounds.sort(function (a, b) {
19648
+ return a.x1 - b.x1 || a.index - b.index;
19649
+ });
19650
+ var fakeBoundary = {
19651
+ x1: -Infinity,
19652
+ y1: -Infinity,
19653
+ x2: 0,
19654
+ y2: Infinity,
19655
+ index: -1,
19656
+ x1New: 0,
19657
+ x2New: 0
19658
+ };
19659
+ var horizon = [{
19660
+ start: -Infinity,
19661
+ end: Infinity,
19662
+ boundary: fakeBoundary
19663
+ }];
19664
+ bounds.forEach(function (boundary) {
19665
+ var i = 0;
19666
+
19667
+ while (i < horizon.length && horizon[i].end <= boundary.y1) {
19668
+ i++;
19669
+ }
19670
+
19671
+ var j = horizon.length - 1;
19672
+
19673
+ while (j >= 0 && horizon[j].start >= boundary.y2) {
19674
+ j--;
19675
+ }
19676
+
19677
+ var horizonPart, affectedBoundary;
19678
+ var q,
19679
+ k,
19680
+ maxXNew = -Infinity;
19681
+
19682
+ for (q = i; q <= j; q++) {
19683
+ horizonPart = horizon[q];
19684
+ affectedBoundary = horizonPart.boundary;
19685
+ var xNew;
19686
+
19687
+ if (affectedBoundary.x2 > boundary.x1) {
19688
+ xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1;
19689
+ } else if (affectedBoundary.x2New === undefined) {
19690
+ xNew = (affectedBoundary.x2 + boundary.x1) / 2;
19691
+ } else {
19692
+ xNew = affectedBoundary.x2New;
19693
+ }
19694
+
19695
+ if (xNew > maxXNew) {
19696
+ maxXNew = xNew;
19697
+ }
19698
+ }
19699
+
19700
+ boundary.x1New = maxXNew;
19701
+
19702
+ for (q = i; q <= j; q++) {
19703
+ horizonPart = horizon[q];
19704
+ affectedBoundary = horizonPart.boundary;
19705
+
19706
+ if (affectedBoundary.x2New === undefined) {
19707
+ if (affectedBoundary.x2 > boundary.x1) {
19708
+ if (affectedBoundary.index > boundary.index) {
19709
+ affectedBoundary.x2New = affectedBoundary.x2;
19710
+ }
19711
+ } else {
19712
+ affectedBoundary.x2New = maxXNew;
19713
+ }
19714
+ } else if (affectedBoundary.x2New > maxXNew) {
19715
+ affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);
19716
+ }
19717
+ }
19718
+
19719
+ var changedHorizon = [],
19720
+ lastBoundary = null;
19721
+
19722
+ for (q = i; q <= j; q++) {
19723
+ horizonPart = horizon[q];
19724
+ affectedBoundary = horizonPart.boundary;
19725
+ var useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;
19726
+
19727
+ if (lastBoundary === useBoundary) {
19728
+ changedHorizon[changedHorizon.length - 1].end = horizonPart.end;
19729
+ } else {
19730
+ changedHorizon.push({
19731
+ start: horizonPart.start,
19732
+ end: horizonPart.end,
19733
+ boundary: useBoundary
19734
+ });
19735
+ lastBoundary = useBoundary;
19736
+ }
19737
+ }
19738
+
19739
+ if (horizon[i].start < boundary.y1) {
19740
+ changedHorizon[0].start = boundary.y1;
19741
+ changedHorizon.unshift({
19742
+ start: horizon[i].start,
19743
+ end: boundary.y1,
19744
+ boundary: horizon[i].boundary
19745
+ });
19746
+ }
19747
+
19748
+ if (boundary.y2 < horizon[j].end) {
19749
+ changedHorizon[changedHorizon.length - 1].end = boundary.y2;
19750
+ changedHorizon.push({
19751
+ start: boundary.y2,
19752
+ end: horizon[j].end,
19753
+ boundary: horizon[j].boundary
19754
+ });
19755
+ }
19756
+
19757
+ for (q = i; q <= j; q++) {
19758
+ horizonPart = horizon[q];
19759
+ affectedBoundary = horizonPart.boundary;
19760
+
19761
+ if (affectedBoundary.x2New !== undefined) {
19762
+ continue;
19763
+ }
19764
+
19765
+ var used = false;
19766
+
19767
+ for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {
19768
+ used = horizon[k].boundary === affectedBoundary;
19769
+ }
19770
+
19771
+ for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {
19772
+ used = horizon[k].boundary === affectedBoundary;
19773
+ }
19774
+
19775
+ for (k = 0; !used && k < changedHorizon.length; k++) {
19776
+ used = changedHorizon[k].boundary === affectedBoundary;
19777
+ }
19778
+
19779
+ if (!used) {
19780
+ affectedBoundary.x2New = maxXNew;
19781
+ }
19782
+ }
19783
+
19784
+ Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon));
19785
+ });
19786
+ horizon.forEach(function (horizonPart) {
19787
+ var affectedBoundary = horizonPart.boundary;
19788
+
19789
+ if (affectedBoundary.x2New === undefined) {
19790
+ affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);
19791
+ }
19792
+ });
19793
+ }
19794
+
19795
+ function TextLayerRenderTask(_ref) {
19796
+ var _this = this;
19797
+
19798
+ var textContent = _ref.textContent,
19799
+ textContentStream = _ref.textContentStream,
19800
+ container = _ref.container,
19801
+ viewport = _ref.viewport,
19802
+ textDivs = _ref.textDivs,
19803
+ textContentItemsStr = _ref.textContentItemsStr,
19804
+ enhanceTextSelection = _ref.enhanceTextSelection;
19805
+ this._textContent = textContent;
19806
+ this._textContentStream = textContentStream;
19807
+ this._container = container;
19808
+ this._viewport = viewport;
19809
+ this._textDivs = textDivs || [];
19810
+ this._textContentItemsStr = textContentItemsStr || [];
19811
+ this._enhanceTextSelection = !!enhanceTextSelection;
19812
+ this._fontInspectorEnabled = !!(globalThis.FontInspector && globalThis.FontInspector.enabled);
19813
+ this._reader = null;
19814
+ this._layoutTextLastFontSize = null;
19815
+ this._layoutTextLastFontFamily = null;
19816
+ this._layoutTextCtx = null;
19817
+ this._textDivProperties = new WeakMap();
19818
+ this._renderingDone = false;
19819
+ this._canceled = false;
19820
+ this._capability = (0, _util.createPromiseCapability)();
19821
+ this._renderTimer = null;
19822
+ this._bounds = [];
19823
+
19824
+ this._capability.promise["finally"](function () {
19825
+ if (_this._layoutTextCtx) {
19826
+ _this._layoutTextCtx.canvas.width = 0;
19827
+ _this._layoutTextCtx.canvas.height = 0;
19828
+ _this._layoutTextCtx = null;
19829
+ }
19830
+ })["catch"](function () {});
19831
+ }
19832
+
19833
+ TextLayerRenderTask.prototype = {
19834
+ get promise() {
19835
+ return this._capability.promise;
19836
+ },
19837
+
19838
+ cancel: function TextLayer_cancel() {
19839
+ this._canceled = true;
19840
+
19841
+ if (this._reader) {
19842
+ this._reader.cancel(new _util.AbortException("TextLayer task cancelled."));
19843
+
19844
+ this._reader = null;
19845
+ }
19846
+
19847
+ if (this._renderTimer !== null) {
19848
+ clearTimeout(this._renderTimer);
19849
+ this._renderTimer = null;
19850
+ }
19851
+
19852
+ this._capability.reject(new Error("TextLayer task cancelled."));
19853
+ },
19854
+ _processItems: function _processItems(items, styleCache) {
19855
+ for (var i = 0, len = items.length; i < len; i++) {
19856
+ this._textContentItemsStr.push(items[i].str);
19857
+
19858
+ appendText(this, items[i], styleCache);
19859
+ }
19860
+ },
19861
+ _layoutText: function _layoutText(textDiv) {
19862
+ var textDivProperties = this._textDivProperties.get(textDiv);
19863
+
19864
+ if (textDivProperties.isWhitespace) {
19865
+ return;
19866
+ }
19867
+
19868
+ var transform = "";
19869
+
19870
+ if (textDivProperties.canvasWidth !== 0) {
19871
+ var _textDiv$style = textDiv.style,
19872
+ fontSize = _textDiv$style.fontSize,
19873
+ fontFamily = _textDiv$style.fontFamily;
19874
+
19875
+ if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {
19876
+ this._layoutTextCtx.font = "".concat(fontSize, " ").concat(fontFamily);
19877
+ this._layoutTextLastFontSize = fontSize;
19878
+ this._layoutTextLastFontFamily = fontFamily;
19879
+ }
19880
+
19881
+ var _this$_layoutTextCtx$ = this._layoutTextCtx.measureText(textDiv.textContent),
19882
+ width = _this$_layoutTextCtx$.width;
19883
+
19884
+ if (width > 0) {
19885
+ textDivProperties.scale = textDivProperties.canvasWidth / width;
19886
+ transform = "scaleX(".concat(textDivProperties.scale, ")");
19887
+ }
19888
+ }
19889
+
19890
+ if (textDivProperties.angle !== 0) {
19891
+ transform = "rotate(".concat(textDivProperties.angle, "deg) ").concat(transform);
19892
+ }
19893
+
19894
+ if (transform.length > 0) {
19895
+ if (this._enhanceTextSelection) {
19896
+ textDivProperties.originalTransform = transform;
19897
+ }
19898
+
19899
+ textDiv.style.transform = transform;
19900
+ }
19901
+
19902
+ this._textDivProperties.set(textDiv, textDivProperties);
19903
+
19904
+ this._container.appendChild(textDiv);
19905
+ },
19906
+ _render: function TextLayer_render(timeout) {
19907
+ var _this2 = this;
19908
+
19909
+ var capability = (0, _util.createPromiseCapability)();
19910
+ var styleCache = Object.create(null);
19911
+ var canvas = document.createElement("canvas");
19912
+ canvas.mozOpaque = true;
19913
+ this._layoutTextCtx = canvas.getContext("2d", {
19914
+ alpha: false
19915
+ });
19916
+
19917
+ if (this._textContent) {
19918
+ var textItems = this._textContent.items;
19919
+ var textStyles = this._textContent.styles;
19920
+
19921
+ this._processItems(textItems, textStyles);
19922
+
19923
+ capability.resolve();
19924
+ } else if (this._textContentStream) {
19925
+ var pump = function pump() {
19926
+ _this2._reader.read().then(function (_ref2) {
19927
+ var value = _ref2.value,
19928
+ done = _ref2.done;
19929
+
19930
+ if (done) {
19931
+ capability.resolve();
19932
+ return;
19933
+ }
19934
+
19935
+ Object.assign(styleCache, value.styles);
19936
+
19937
+ _this2._processItems(value.items, styleCache);
19938
+
19939
+ pump();
19940
+ }, capability.reject);
19941
+ };
19942
+
19943
+ this._reader = this._textContentStream.getReader();
19944
+ pump();
19945
+ } else {
19946
+ throw new Error('Neither "textContent" nor "textContentStream"' + " parameters specified.");
19947
+ }
19948
+
19949
+ capability.promise.then(function () {
19950
+ styleCache = null;
19951
+
19952
+ if (!timeout) {
19953
+ render(_this2);
19954
+ } else {
19955
+ _this2._renderTimer = setTimeout(function () {
19956
+ render(_this2);
19957
+ _this2._renderTimer = null;
19958
+ }, timeout);
19959
+ }
19960
+ }, this._capability.reject);
19961
+ },
19962
+ expandTextDivs: function TextLayer_expandTextDivs(expandDivs) {
19963
+ if (!this._enhanceTextSelection || !this._renderingDone) {
19964
+ return;
19965
+ }
19966
+
19967
+ if (this._bounds !== null) {
19968
+ expand(this);
19969
+ this._bounds = null;
19970
+ }
19971
+
19972
+ var NO_PADDING = "0 0 0 0";
19973
+ var transformBuf = [],
19974
+ paddingBuf = [];
19975
+
19976
+ for (var i = 0, ii = this._textDivs.length; i < ii; i++) {
19977
+ var div = this._textDivs[i];
19978
+
19979
+ var divProps = this._textDivProperties.get(div);
19980
+
19981
+ if (divProps.isWhitespace) {
19982
+ continue;
19983
+ }
19984
+
19985
+ if (expandDivs) {
19986
+ transformBuf.length = 0;
19987
+ paddingBuf.length = 0;
19988
+
19989
+ if (divProps.originalTransform) {
19990
+ transformBuf.push(divProps.originalTransform);
19991
+ }
19992
+
19993
+ if (divProps.paddingTop > 0) {
19994
+ paddingBuf.push("".concat(divProps.paddingTop, "px"));
19995
+ transformBuf.push("translateY(".concat(-divProps.paddingTop, "px)"));
19996
+ } else {
19997
+ paddingBuf.push(0);
19998
+ }
19999
+
20000
+ if (divProps.paddingRight > 0) {
20001
+ paddingBuf.push("".concat(divProps.paddingRight / divProps.scale, "px"));
20002
+ } else {
20003
+ paddingBuf.push(0);
20004
+ }
20005
+
20006
+ if (divProps.paddingBottom > 0) {
20007
+ paddingBuf.push("".concat(divProps.paddingBottom, "px"));
20008
+ } else {
20009
+ paddingBuf.push(0);
20010
+ }
20011
+
20012
+ if (divProps.paddingLeft > 0) {
20013
+ paddingBuf.push("".concat(divProps.paddingLeft / divProps.scale, "px"));
20014
+ transformBuf.push("translateX(".concat(-divProps.paddingLeft / divProps.scale, "px)"));
20015
+ } else {
20016
+ paddingBuf.push(0);
20017
+ }
20018
+
20019
+ var padding = paddingBuf.join(" ");
20020
+
20021
+ if (padding !== NO_PADDING) {
20022
+ div.style.padding = padding;
20023
+ }
20024
+
20025
+ if (transformBuf.length) {
20026
+ div.style.transform = transformBuf.join(" ");
20027
+ }
20028
+ } else {
20029
+ div.style.padding = null;
20030
+ div.style.transform = divProps.originalTransform;
20031
+ }
20032
+ }
20033
+ }
20034
+ };
20035
+
20036
+ function renderTextLayer(renderParameters) {
20037
+ var task = new TextLayerRenderTask({
20038
+ textContent: renderParameters.textContent,
20039
+ textContentStream: renderParameters.textContentStream,
20040
+ container: renderParameters.container,
20041
+ viewport: renderParameters.viewport,
20042
+ textDivs: renderParameters.textDivs,
20043
+ textContentItemsStr: renderParameters.textContentItemsStr,
20044
+ enhanceTextSelection: renderParameters.enhanceTextSelection
20045
+ });
20046
+
20047
+ task._render(renderParameters.timeout);
20048
+
20049
+ return task;
20050
+ }
20051
+
20052
+ return renderTextLayer;
20053
+ }();
20054
+
20055
+ exports.renderTextLayer = renderTextLayer;
20056
+
20057
+ /***/ }),
20058
+ /* 201 */
20059
+ /***/ (function(module, exports, __w_pdfjs_require__) {
20060
+
20061
+ "use strict";
20062
+
20063
+
20064
+ Object.defineProperty(exports, "__esModule", {
20065
+ value: true
20066
+ });
20067
+ exports.AnnotationLayer = void 0;
20068
+
20069
+ var _display_utils = __w_pdfjs_require__(189);
20070
+
20071
+ var _util = __w_pdfjs_require__(1);
20072
+
20073
+ function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }
20074
+
20075
+ function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
20076
+
20077
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
20078
+
20079
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
20080
+
20081
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
20082
+
20083
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
20084
+
20085
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
20086
+
20087
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
20088
+
20089
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
20090
+
20091
+ 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); } }
20092
+
20093
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
20094
+
20095
+ var AnnotationElementFactory =
20096
+ /*#__PURE__*/
20097
+ function () {
20098
+ function AnnotationElementFactory() {
20099
+ _classCallCheck(this, AnnotationElementFactory);
20100
+ }
20101
+
20102
+ _createClass(AnnotationElementFactory, null, [{
20103
+ key: "create",
20104
+ value: function create(parameters) {
20105
+ var subtype = parameters.data.annotationType;
20106
+
20107
+ switch (subtype) {
20108
+ case _util.AnnotationType.LINK:
20109
+ return new LinkAnnotationElement(parameters);
20110
+
20111
+ case _util.AnnotationType.TEXT:
20112
+ return new TextAnnotationElement(parameters);
20113
+
20114
+ case _util.AnnotationType.WIDGET:
20115
+ var fieldType = parameters.data.fieldType;
20116
+
20117
+ switch (fieldType) {
20118
+ case "Tx":
20119
+ return new TextWidgetAnnotationElement(parameters);
20120
+
20121
+ case "Btn":
20122
+ if (parameters.data.radioButton) {
20123
+ return new RadioButtonWidgetAnnotationElement(parameters);
20124
+ } else if (parameters.data.checkBox) {
20125
+ return new CheckboxWidgetAnnotationElement(parameters);
20126
+ }
20127
+
20128
+ return new PushButtonWidgetAnnotationElement(parameters);
20129
+
20130
+ case "Ch":
20131
+ return new ChoiceWidgetAnnotationElement(parameters);
20132
+ }
20133
+
20134
+ return new WidgetAnnotationElement(parameters);
20135
+
20136
+ case _util.AnnotationType.POPUP:
20137
+ return new PopupAnnotationElement(parameters);
20138
+
20139
+ case _util.AnnotationType.FREETEXT:
20140
+ return new FreeTextAnnotationElement(parameters);
20141
+
20142
+ case _util.AnnotationType.LINE:
20143
+ return new LineAnnotationElement(parameters);
20144
+
20145
+ case _util.AnnotationType.SQUARE:
20146
+ return new SquareAnnotationElement(parameters);
20147
+
20148
+ case _util.AnnotationType.CIRCLE:
20149
+ return new CircleAnnotationElement(parameters);
20150
+
20151
+ case _util.AnnotationType.POLYLINE:
20152
+ return new PolylineAnnotationElement(parameters);
20153
+
20154
+ case _util.AnnotationType.CARET:
20155
+ return new CaretAnnotationElement(parameters);
20156
+
20157
+ case _util.AnnotationType.INK:
20158
+ return new InkAnnotationElement(parameters);
20159
+
20160
+ case _util.AnnotationType.POLYGON:
20161
+ return new PolygonAnnotationElement(parameters);
20162
+
20163
+ case _util.AnnotationType.HIGHLIGHT:
20164
+ return new HighlightAnnotationElement(parameters);
20165
+
20166
+ case _util.AnnotationType.UNDERLINE:
20167
+ return new UnderlineAnnotationElement(parameters);
20168
+
20169
+ case _util.AnnotationType.SQUIGGLY:
20170
+ return new SquigglyAnnotationElement(parameters);
20171
+
20172
+ case _util.AnnotationType.STRIKEOUT:
20173
+ return new StrikeOutAnnotationElement(parameters);
20174
+
20175
+ case _util.AnnotationType.STAMP:
20176
+ return new StampAnnotationElement(parameters);
20177
+
20178
+ case _util.AnnotationType.FILEATTACHMENT:
20179
+ return new FileAttachmentAnnotationElement(parameters);
20180
+
20181
+ default:
20182
+ return new AnnotationElement(parameters);
20183
+ }
20184
+ }
20185
+ }]);
20186
+
20187
+ return AnnotationElementFactory;
20188
+ }();
20189
+
20190
+ var AnnotationElement =
20191
+ /*#__PURE__*/
20192
+ function () {
20193
+ function AnnotationElement(parameters) {
20194
+ var isRenderable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
20195
+ var ignoreBorder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
20196
+
20197
+ _classCallCheck(this, AnnotationElement);
20198
+
20199
+ this.isRenderable = isRenderable;
20200
+ this.data = parameters.data;
20201
+ this.layer = parameters.layer;
20202
+ this.page = parameters.page;
20203
+ this.viewport = parameters.viewport;
20204
+ this.linkService = parameters.linkService;
20205
+ this.downloadManager = parameters.downloadManager;
20206
+ this.imageResourcesPath = parameters.imageResourcesPath;
20207
+ this.renderInteractiveForms = parameters.renderInteractiveForms;
20208
+ this.svgFactory = parameters.svgFactory;
20209
+
20210
+ if (isRenderable) {
20211
+ this.container = this._createContainer(ignoreBorder);
20212
+ }
20213
+ }
20214
+
20215
+ _createClass(AnnotationElement, [{
20216
+ key: "_createContainer",
20217
+ value: function _createContainer() {
20218
+ var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
20219
+ var data = this.data,
20220
+ page = this.page,
20221
+ viewport = this.viewport;
20222
+ var container = document.createElement("section");
20223
+ var width = data.rect[2] - data.rect[0];
20224
+ var height = data.rect[3] - data.rect[1];
20225
+ container.setAttribute("data-annotation-id", data.id);
20226
+
20227
+ 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]]);
20228
+
20229
+ container.style.transform = "matrix(".concat(viewport.transform.join(","), ")");
20230
+ container.style.transformOrigin = "-".concat(rect[0], "px -").concat(rect[1], "px");
20231
+
20232
+ if (!ignoreBorder && data.borderStyle.width > 0) {
20233
+ container.style.borderWidth = "".concat(data.borderStyle.width, "px");
20234
+
20235
+ if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {
20236
+ width = width - 2 * data.borderStyle.width;
20237
+ height = height - 2 * data.borderStyle.width;
20238
+ }
20239
+
20240
+ var horizontalRadius = data.borderStyle.horizontalCornerRadius;
20241
+ var verticalRadius = data.borderStyle.verticalCornerRadius;
20242
+
20243
+ if (horizontalRadius > 0 || verticalRadius > 0) {
20244
+ var radius = "".concat(horizontalRadius, "px / ").concat(verticalRadius, "px");
20245
+ container.style.borderRadius = radius;
20246
+ }
20247
+
20248
+ switch (data.borderStyle.style) {
20249
+ case _util.AnnotationBorderStyleType.SOLID:
20250
+ container.style.borderStyle = "solid";
20251
+ break;
20252
+
20253
+ case _util.AnnotationBorderStyleType.DASHED:
20254
+ container.style.borderStyle = "dashed";
20255
+ break;
20256
+
20257
+ case _util.AnnotationBorderStyleType.BEVELED:
20258
+ (0, _util.warn)("Unimplemented border style: beveled");
20259
+ break;
20260
+
20261
+ case _util.AnnotationBorderStyleType.INSET:
20262
+ (0, _util.warn)("Unimplemented border style: inset");
20263
+ break;
20264
+
20265
+ case _util.AnnotationBorderStyleType.UNDERLINE:
20266
+ container.style.borderBottomStyle = "solid";
20267
+ break;
20268
+
20269
+ default:
20270
+ break;
20271
+ }
20272
+
20273
+ if (data.color) {
20274
+ container.style.borderColor = _util.Util.makeCssRgb(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);
20275
+ } else {
20276
+ container.style.borderWidth = 0;
20277
+ }
20278
+ }
20279
+
20280
+ container.style.left = "".concat(rect[0], "px");
20281
+ container.style.top = "".concat(rect[1], "px");
20282
+ container.style.width = "".concat(width, "px");
20283
+ container.style.height = "".concat(height, "px");
20284
+ return container;
20285
+ }
20286
+ }, {
20287
+ key: "_createPopup",
20288
+ value: function _createPopup(container, trigger, data) {
20289
+ if (!trigger) {
20290
+ trigger = document.createElement("div");
20291
+ trigger.style.height = container.style.height;
20292
+ trigger.style.width = container.style.width;
20293
+ container.appendChild(trigger);
20294
+ }
20295
+
20296
+ var popupElement = new PopupElement({
20297
+ container: container,
20298
+ trigger: trigger,
20299
+ color: data.color,
20300
+ title: data.title,
20301
+ modificationDate: data.modificationDate,
20302
+ contents: data.contents,
20303
+ hideWrapper: true
20304
+ });
20305
+ var popup = popupElement.render();
20306
+ popup.style.left = container.style.width;
20307
+ container.appendChild(popup);
20308
+ }
20309
+ }, {
20310
+ key: "render",
20311
+ value: function render() {
20312
+ (0, _util.unreachable)("Abstract method `AnnotationElement.render` called");
20313
+ }
20314
+ }]);
20315
+
20316
+ return AnnotationElement;
20317
+ }();
20318
+
20319
+ var LinkAnnotationElement =
20320
+ /*#__PURE__*/
20321
+ function (_AnnotationElement) {
20322
+ _inherits(LinkAnnotationElement, _AnnotationElement);
20323
+
20324
+ function LinkAnnotationElement(parameters) {
20325
+ _classCallCheck(this, LinkAnnotationElement);
20326
+
20327
+ var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);
20328
+ return _possibleConstructorReturn(this, _getPrototypeOf(LinkAnnotationElement).call(this, parameters, isRenderable));
20329
+ }
20330
+
20331
+ _createClass(LinkAnnotationElement, [{
20332
+ key: "render",
20333
+ value: function render() {
20334
+ this.container.className = "linkAnnotation";
20335
+ var data = this.data,
20336
+ linkService = this.linkService;
20337
+ var link = document.createElement("a");
20338
+
20339
+ if (data.url) {
20340
+ (0, _display_utils.addLinkAttributes)(link, {
20341
+ url: data.url,
20342
+ target: data.newWindow ? _display_utils.LinkTarget.BLANK : linkService.externalLinkTarget,
20343
+ rel: linkService.externalLinkRel,
20344
+ enabled: linkService.externalLinkEnabled
20345
+ });
20346
+ } else if (data.action) {
20347
+ this._bindNamedAction(link, data.action);
20348
+ } else {
20349
+ this._bindLink(link, data.dest);
20350
+ }
20351
+
20352
+ this.container.appendChild(link);
20353
+ return this.container;
20354
+ }
20355
+ }, {
20356
+ key: "_bindLink",
20357
+ value: function _bindLink(link, destination) {
20358
+ var _this = this;
20359
+
20360
+ link.href = this.linkService.getDestinationHash(destination);
20361
+
20362
+ link.onclick = function () {
20363
+ if (destination) {
20364
+ _this.linkService.navigateTo(destination);
20365
+ }
20366
+
20367
+ return false;
20368
+ };
20369
+
20370
+ if (destination) {
20371
+ link.className = "internalLink";
20372
+ }
20373
+ }
20374
+ }, {
20375
+ key: "_bindNamedAction",
20376
+ value: function _bindNamedAction(link, action) {
20377
+ var _this2 = this;
20378
+
20379
+ link.href = this.linkService.getAnchorUrl("");
20380
+
20381
+ link.onclick = function () {
20382
+ _this2.linkService.executeNamedAction(action);
20383
+
20384
+ return false;
20385
+ };
20386
+
20387
+ link.className = "internalLink";
20388
+ }
20389
+ }]);
20390
+
20391
+ return LinkAnnotationElement;
20392
+ }(AnnotationElement);
20393
+
20394
+ var TextAnnotationElement =
20395
+ /*#__PURE__*/
20396
+ function (_AnnotationElement2) {
20397
+ _inherits(TextAnnotationElement, _AnnotationElement2);
20398
+
20399
+ function TextAnnotationElement(parameters) {
20400
+ _classCallCheck(this, TextAnnotationElement);
20401
+
20402
+ var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
20403
+ return _possibleConstructorReturn(this, _getPrototypeOf(TextAnnotationElement).call(this, parameters, isRenderable));
20404
+ }
20405
+
20406
+ _createClass(TextAnnotationElement, [{
20407
+ key: "render",
20408
+ value: function render() {
20409
+ this.container.className = "textAnnotation";
20410
+ var image = document.createElement("img");
20411
+ image.style.height = this.container.style.height;
20412
+ image.style.width = this.container.style.width;
20413
+ image.src = this.imageResourcesPath + "annotation-" + this.data.name.toLowerCase() + ".svg";
20414
+ image.alt = "[{{type}} Annotation]";
20415
+ image.dataset.l10nId = "text_annotation_type";
20416
+ image.dataset.l10nArgs = JSON.stringify({
20417
+ type: this.data.name
20418
+ });
20419
+
20420
+ if (!this.data.hasPopup) {
20421
+ this._createPopup(this.container, image, this.data);
20422
+ }
20423
+
20424
+ this.container.appendChild(image);
20425
+ return this.container;
20426
+ }
20427
+ }]);
20428
+
20429
+ return TextAnnotationElement;
20430
+ }(AnnotationElement);
20431
+
20432
+ var WidgetAnnotationElement =
20433
+ /*#__PURE__*/
20434
+ function (_AnnotationElement3) {
20435
+ _inherits(WidgetAnnotationElement, _AnnotationElement3);
20436
+
20437
+ function WidgetAnnotationElement() {
20438
+ _classCallCheck(this, WidgetAnnotationElement);
20439
+
20440
+ return _possibleConstructorReturn(this, _getPrototypeOf(WidgetAnnotationElement).apply(this, arguments));
20441
+ }
20442
+
20443
+ _createClass(WidgetAnnotationElement, [{
20444
+ key: "render",
20445
+ value: function render() {
20446
+ return this.container;
20447
+ }
20448
+ }]);
20449
+
20450
+ return WidgetAnnotationElement;
20451
+ }(AnnotationElement);
20452
+
20453
+ var TextWidgetAnnotationElement =
20454
+ /*#__PURE__*/
20455
+ function (_WidgetAnnotationElem) {
20456
+ _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);
20457
+
20458
+ function TextWidgetAnnotationElement(parameters) {
20459
+ _classCallCheck(this, TextWidgetAnnotationElement);
20460
+
20461
+ var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;
20462
+ return _possibleConstructorReturn(this, _getPrototypeOf(TextWidgetAnnotationElement).call(this, parameters, isRenderable));
20463
+ }
20464
+
20465
+ _createClass(TextWidgetAnnotationElement, [{
20466
+ key: "render",
20467
+ value: function render() {
20468
+ var TEXT_ALIGNMENT = ["left", "center", "right"];
20469
+ this.container.className = "textWidgetAnnotation";
20470
+ var element = null;
20471
+
20472
+ if (this.renderInteractiveForms) {
20473
+ if (this.data.multiLine) {
20474
+ element = document.createElement("textarea");
20475
+ element.textContent = this.data.fieldValue;
20476
+ } else {
20477
+ element = document.createElement("input");
20478
+ element.type = "text";
20479
+ element.setAttribute("value", this.data.fieldValue);
20480
+ }
20481
+
20482
+ element.disabled = this.data.readOnly;
20483
+
20484
+ if (this.data.maxLen !== null) {
20485
+ element.maxLength = this.data.maxLen;
20486
+ }
20487
+
20488
+ if (this.data.comb) {
20489
+ var fieldWidth = this.data.rect[2] - this.data.rect[0];
20490
+ var combWidth = fieldWidth / this.data.maxLen;
20491
+ element.classList.add("comb");
20492
+ element.style.letterSpacing = "calc(".concat(combWidth, "px - 1ch)");
20493
+ }
20494
+ } else {
20495
+ element = document.createElement("div");
20496
+ element.textContent = this.data.fieldValue;
20497
+ element.style.verticalAlign = "middle";
20498
+ element.style.display = "table-cell";
20499
+ var font = null;
20500
+
20501
+ if (this.data.fontRefName && this.page.commonObjs.has(this.data.fontRefName)) {
20502
+ font = this.page.commonObjs.get(this.data.fontRefName);
20503
+ }
20504
+
20505
+ this._setTextStyle(element, font);
20506
+ }
20507
+
20508
+ if (this.data.textAlignment !== null) {
20509
+ element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];
20510
+ }
20511
+
20512
+ this.container.appendChild(element);
20513
+ return this.container;
20514
+ }
20515
+ }, {
20516
+ key: "_setTextStyle",
20517
+ value: function _setTextStyle(element, font) {
20518
+ var style = element.style;
20519
+ style.fontSize = "".concat(this.data.fontSize, "px");
20520
+ style.direction = this.data.fontDirection < 0 ? "rtl" : "ltr";
20521
+
20522
+ if (!font) {
20523
+ return;
20524
+ }
20525
+
20526
+ var bold = "normal";
20527
+
20528
+ if (font.black) {
20529
+ bold = "900";
20530
+ } else if (font.bold) {
20531
+ bold = "bold";
20532
+ }
20533
+
20534
+ style.fontWeight = bold;
20535
+ style.fontStyle = font.italic ? "italic" : "normal";
20536
+ var fontFamily = font.loadedName ? "\"".concat(font.loadedName, "\", ") : "";
20537
+ var fallbackName = font.fallbackName || "Helvetica, sans-serif";
20538
+ style.fontFamily = fontFamily + fallbackName;
20539
+ }
20540
+ }]);
20541
+
20542
+ return TextWidgetAnnotationElement;
20543
+ }(WidgetAnnotationElement);
20544
+
20545
+ var CheckboxWidgetAnnotationElement =
20546
+ /*#__PURE__*/
20547
+ function (_WidgetAnnotationElem2) {
20548
+ _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);
20549
+
20550
+ function CheckboxWidgetAnnotationElement(parameters) {
20551
+ _classCallCheck(this, CheckboxWidgetAnnotationElement);
20552
+
20553
+ return _possibleConstructorReturn(this, _getPrototypeOf(CheckboxWidgetAnnotationElement).call(this, parameters, parameters.renderInteractiveForms));
20554
+ }
20555
+
20556
+ _createClass(CheckboxWidgetAnnotationElement, [{
20557
+ key: "render",
20558
+ value: function render() {
20559
+ this.container.className = "buttonWidgetAnnotation checkBox";
20560
+ var element = document.createElement("input");
20561
+ element.disabled = this.data.readOnly;
20562
+ element.type = "checkbox";
20563
+
20564
+ if (this.data.fieldValue && this.data.fieldValue !== "Off") {
20565
+ element.setAttribute("checked", true);
20566
+ }
20567
+
20568
+ this.container.appendChild(element);
20569
+ return this.container;
20570
+ }
20571
+ }]);
20572
+
20573
+ return CheckboxWidgetAnnotationElement;
20574
+ }(WidgetAnnotationElement);
20575
+
20576
+ var RadioButtonWidgetAnnotationElement =
20577
+ /*#__PURE__*/
20578
+ function (_WidgetAnnotationElem3) {
20579
+ _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);
20580
+
20581
+ function RadioButtonWidgetAnnotationElement(parameters) {
20582
+ _classCallCheck(this, RadioButtonWidgetAnnotationElement);
20583
+
20584
+ return _possibleConstructorReturn(this, _getPrototypeOf(RadioButtonWidgetAnnotationElement).call(this, parameters, parameters.renderInteractiveForms));
20585
+ }
20586
+
20587
+ _createClass(RadioButtonWidgetAnnotationElement, [{
20588
+ key: "render",
20589
+ value: function render() {
20590
+ this.container.className = "buttonWidgetAnnotation radioButton";
20591
+ var element = document.createElement("input");
20592
+ element.disabled = this.data.readOnly;
20593
+ element.type = "radio";
20594
+ element.name = this.data.fieldName;
20595
+
20596
+ if (this.data.fieldValue === this.data.buttonValue) {
20597
+ element.setAttribute("checked", true);
20598
+ }
20599
+
20600
+ this.container.appendChild(element);
20601
+ return this.container;
20602
+ }
20603
+ }]);
20604
+
20605
+ return RadioButtonWidgetAnnotationElement;
20606
+ }(WidgetAnnotationElement);
20607
+
20608
+ var PushButtonWidgetAnnotationElement =
20609
+ /*#__PURE__*/
20610
+ function (_LinkAnnotationElemen) {
20611
+ _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen);
20612
+
20613
+ function PushButtonWidgetAnnotationElement() {
20614
+ _classCallCheck(this, PushButtonWidgetAnnotationElement);
20615
+
20616
+ return _possibleConstructorReturn(this, _getPrototypeOf(PushButtonWidgetAnnotationElement).apply(this, arguments));
20617
+ }
20618
+
20619
+ _createClass(PushButtonWidgetAnnotationElement, [{
20620
+ key: "render",
20621
+ value: function render() {
20622
+ var container = _get(_getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), "render", this).call(this);
20623
+
20624
+ container.className = "buttonWidgetAnnotation pushButton";
20625
+ return container;
20626
+ }
20627
+ }]);
20628
+
20629
+ return PushButtonWidgetAnnotationElement;
20630
+ }(LinkAnnotationElement);
20631
+
20632
+ var ChoiceWidgetAnnotationElement =
20633
+ /*#__PURE__*/
20634
+ function (_WidgetAnnotationElem4) {
20635
+ _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);
20636
+
20637
+ function ChoiceWidgetAnnotationElement(parameters) {
20638
+ _classCallCheck(this, ChoiceWidgetAnnotationElement);
20639
+
20640
+ return _possibleConstructorReturn(this, _getPrototypeOf(ChoiceWidgetAnnotationElement).call(this, parameters, parameters.renderInteractiveForms));
20641
+ }
20642
+
20643
+ _createClass(ChoiceWidgetAnnotationElement, [{
20644
+ key: "render",
20645
+ value: function render() {
20646
+ this.container.className = "choiceWidgetAnnotation";
20647
+ var selectElement = document.createElement("select");
20648
+ selectElement.disabled = this.data.readOnly;
20649
+
20650
+ if (!this.data.combo) {
20651
+ selectElement.size = this.data.options.length;
20652
+
20653
+ if (this.data.multiSelect) {
20654
+ selectElement.multiple = true;
20655
+ }
20656
+ }
20657
+
20658
+ var _iteratorNormalCompletion = true;
20659
+ var _didIteratorError = false;
20660
+ var _iteratorError = undefined;
20661
+
20662
+ try {
20663
+ for (var _iterator = this.data.options[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
20664
+ var option = _step.value;
20665
+ var optionElement = document.createElement("option");
20666
+ optionElement.textContent = option.displayValue;
20667
+ optionElement.value = option.exportValue;
20668
+
20669
+ if (this.data.fieldValue.includes(option.displayValue)) {
20670
+ optionElement.setAttribute("selected", true);
20671
+ }
20672
+
20673
+ selectElement.appendChild(optionElement);
20674
+ }
20675
+ } catch (err) {
20676
+ _didIteratorError = true;
20677
+ _iteratorError = err;
20678
+ } finally {
20679
+ try {
20680
+ if (!_iteratorNormalCompletion && _iterator["return"] != null) {
20681
+ _iterator["return"]();
20682
+ }
20683
+ } finally {
20684
+ if (_didIteratorError) {
20685
+ throw _iteratorError;
20686
+ }
20687
+ }
20688
+ }
20689
+
20690
+ this.container.appendChild(selectElement);
20691
+ return this.container;
20692
+ }
20693
+ }]);
20694
+
20695
+ return ChoiceWidgetAnnotationElement;
20696
+ }(WidgetAnnotationElement);
20697
+
20698
+ var PopupAnnotationElement =
20699
+ /*#__PURE__*/
20700
+ function (_AnnotationElement4) {
20701
+ _inherits(PopupAnnotationElement, _AnnotationElement4);
20702
+
20703
+ function PopupAnnotationElement(parameters) {
20704
+ _classCallCheck(this, PopupAnnotationElement);
20705
+
20706
+ var isRenderable = !!(parameters.data.title || parameters.data.contents);
20707
+ return _possibleConstructorReturn(this, _getPrototypeOf(PopupAnnotationElement).call(this, parameters, isRenderable));
20708
+ }
20709
+
20710
+ _createClass(PopupAnnotationElement, [{
20711
+ key: "render",
20712
+ value: function render() {
20713
+ var IGNORE_TYPES = ["Line", "Square", "Circle", "PolyLine", "Polygon", "Ink"];
20714
+ this.container.className = "popupAnnotation";
20715
+
20716
+ if (IGNORE_TYPES.includes(this.data.parentType)) {
20717
+ return this.container;
20718
+ }
20719
+
20720
+ var selector = "[data-annotation-id=\"".concat(this.data.parentId, "\"]");
20721
+ var parentElement = this.layer.querySelector(selector);
20722
+
20723
+ if (!parentElement) {
20724
+ return this.container;
20725
+ }
20726
+
20727
+ var popup = new PopupElement({
20728
+ container: this.container,
20729
+ trigger: parentElement,
20730
+ color: this.data.color,
20731
+ title: this.data.title,
20732
+ modificationDate: this.data.modificationDate,
20733
+ contents: this.data.contents
20734
+ });
20735
+ var parentLeft = parseFloat(parentElement.style.left);
20736
+ var parentWidth = parseFloat(parentElement.style.width);
20737
+ this.container.style.transformOrigin = "-".concat(parentLeft + parentWidth, "px -").concat(parentElement.style.top);
20738
+ this.container.style.left = "".concat(parentLeft + parentWidth, "px");
20739
+ this.container.appendChild(popup.render());
20740
+ return this.container;
20741
+ }
20742
+ }]);
20743
+
20744
+ return PopupAnnotationElement;
20745
+ }(AnnotationElement);
20746
+
20747
+ var PopupElement =
20748
+ /*#__PURE__*/
20749
+ function () {
20750
+ function PopupElement(parameters) {
20751
+ _classCallCheck(this, PopupElement);
20752
+
20753
+ this.container = parameters.container;
20754
+ this.trigger = parameters.trigger;
20755
+ this.color = parameters.color;
20756
+ this.title = parameters.title;
20757
+ this.modificationDate = parameters.modificationDate;
20758
+ this.contents = parameters.contents;
20759
+ this.hideWrapper = parameters.hideWrapper || false;
20760
+ this.pinned = false;
20761
+ }
20762
+
20763
+ _createClass(PopupElement, [{
20764
+ key: "render",
20765
+ value: function render() {
20766
+ var BACKGROUND_ENLIGHT = 0.7;
20767
+ var wrapper = document.createElement("div");
20768
+ wrapper.className = "popupWrapper";
20769
+ this.hideElement = this.hideWrapper ? wrapper : this.container;
20770
+ this.hideElement.setAttribute("hidden", true);
20771
+ var popup = document.createElement("div");
20772
+ popup.className = "popup";
20773
+ var color = this.color;
20774
+
20775
+ if (color) {
20776
+ var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];
20777
+ var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];
20778
+ var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];
20779
+ popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0);
20780
+ }
20781
+
20782
+ var title = document.createElement("h1");
20783
+ title.textContent = this.title;
20784
+ popup.appendChild(title);
20785
+
20786
+ var dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);
20787
+
20788
+ if (dateObject) {
20789
+ var modificationDate = document.createElement("span");
20790
+ modificationDate.textContent = "{{date}}, {{time}}";
20791
+ modificationDate.dataset.l10nId = "annotation_date_string";
20792
+ modificationDate.dataset.l10nArgs = JSON.stringify({
20793
+ date: dateObject.toLocaleDateString(),
20794
+ time: dateObject.toLocaleTimeString()
20795
+ });
20796
+ popup.appendChild(modificationDate);
20797
+ }
20798
+
20799
+ var contents = this._formatContents(this.contents);
20800
+
20801
+ popup.appendChild(contents);
20802
+ this.trigger.addEventListener("click", this._toggle.bind(this));
20803
+ this.trigger.addEventListener("mouseover", this._show.bind(this, false));
20804
+ this.trigger.addEventListener("mouseout", this._hide.bind(this, false));
20805
+ popup.addEventListener("click", this._hide.bind(this, true));
20806
+ wrapper.appendChild(popup);
20807
+ return wrapper;
20808
+ }
20809
+ }, {
20810
+ key: "_formatContents",
20811
+ value: function _formatContents(contents) {
20812
+ var p = document.createElement("p");
20813
+ var lines = contents.split(/(?:\r\n?|\n)/);
20814
+
20815
+ for (var i = 0, ii = lines.length; i < ii; ++i) {
20816
+ var line = lines[i];
20817
+ p.appendChild(document.createTextNode(line));
20818
+
20819
+ if (i < ii - 1) {
20820
+ p.appendChild(document.createElement("br"));
20821
+ }
20822
+ }
20823
+
20824
+ return p;
20825
+ }
20826
+ }, {
20827
+ key: "_toggle",
20828
+ value: function _toggle() {
20829
+ if (this.pinned) {
20830
+ this._hide(true);
20831
+ } else {
20832
+ this._show(true);
20833
+ }
20834
+ }
20835
+ }, {
20836
+ key: "_show",
20837
+ value: function _show() {
20838
+ var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
20839
+
20840
+ if (pin) {
20841
+ this.pinned = true;
20842
+ }
20843
+
20844
+ if (this.hideElement.hasAttribute("hidden")) {
20845
+ this.hideElement.removeAttribute("hidden");
20846
+ this.container.style.zIndex += 1;
20847
+ }
20848
+ }
20849
+ }, {
20850
+ key: "_hide",
20851
+ value: function _hide() {
20852
+ var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
20853
+
20854
+ if (unpin) {
20855
+ this.pinned = false;
20856
+ }
20857
+
20858
+ if (!this.hideElement.hasAttribute("hidden") && !this.pinned) {
20859
+ this.hideElement.setAttribute("hidden", true);
20860
+ this.container.style.zIndex -= 1;
20861
+ }
20862
+ }
20863
+ }]);
20864
+
20865
+ return PopupElement;
20866
+ }();
20867
+
20868
+ var FreeTextAnnotationElement =
20869
+ /*#__PURE__*/
20870
+ function (_AnnotationElement5) {
20871
+ _inherits(FreeTextAnnotationElement, _AnnotationElement5);
20872
+
20873
+ function FreeTextAnnotationElement(parameters) {
20874
+ _classCallCheck(this, FreeTextAnnotationElement);
20875
+
20876
+ var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
20877
+ return _possibleConstructorReturn(this, _getPrototypeOf(FreeTextAnnotationElement).call(this, parameters, isRenderable, true));
20878
+ }
20879
+
20880
+ _createClass(FreeTextAnnotationElement, [{
20881
+ key: "render",
20882
+ value: function render() {
20883
+ this.container.className = "freeTextAnnotation";
20884
+
20885
+ if (!this.data.hasPopup) {
20886
+ this._createPopup(this.container, null, this.data);
20887
+ }
20888
+
20889
+ return this.container;
20890
+ }
20891
+ }]);
20892
+
20893
+ return FreeTextAnnotationElement;
20894
+ }(AnnotationElement);
20895
+
20896
+ var LineAnnotationElement =
20897
+ /*#__PURE__*/
20898
+ function (_AnnotationElement6) {
20899
+ _inherits(LineAnnotationElement, _AnnotationElement6);
20900
+
20901
+ function LineAnnotationElement(parameters) {
20902
+ _classCallCheck(this, LineAnnotationElement);
20903
+
20904
+ var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
20905
+ return _possibleConstructorReturn(this, _getPrototypeOf(LineAnnotationElement).call(this, parameters, isRenderable, true));
20906
+ }
20907
+
20908
+ _createClass(LineAnnotationElement, [{
20909
+ key: "render",
20910
+ value: function render() {
20911
+ this.container.className = "lineAnnotation";
20912
+ var data = this.data;
20913
+ var width = data.rect[2] - data.rect[0];
20914
+ var height = data.rect[3] - data.rect[1];
20915
+ var svg = this.svgFactory.create(width, height);
20916
+ var line = this.svgFactory.createElement("svg:line");
20917
+ line.setAttribute("x1", data.rect[2] - data.lineCoordinates[0]);
20918
+ line.setAttribute("y1", data.rect[3] - data.lineCoordinates[1]);
20919
+ line.setAttribute("x2", data.rect[2] - data.lineCoordinates[2]);
20920
+ line.setAttribute("y2", data.rect[3] - data.lineCoordinates[3]);
20921
+ line.setAttribute("stroke-width", data.borderStyle.width || 1);
20922
+ line.setAttribute("stroke", "transparent");
20923
+ svg.appendChild(line);
20924
+ this.container.append(svg);
20925
+
20926
+ this._createPopup(this.container, line, data);
20927
+
20928
+ return this.container;
20929
+ }
20930
+ }]);
20931
+
20932
+ return LineAnnotationElement;
20933
+ }(AnnotationElement);
20934
+
20935
+ var SquareAnnotationElement =
20936
+ /*#__PURE__*/
20937
+ function (_AnnotationElement7) {
20938
+ _inherits(SquareAnnotationElement, _AnnotationElement7);
20939
+
20940
+ function SquareAnnotationElement(parameters) {
20941
+ _classCallCheck(this, SquareAnnotationElement);
20942
+
20943
+ var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
20944
+ return _possibleConstructorReturn(this, _getPrototypeOf(SquareAnnotationElement).call(this, parameters, isRenderable, true));
20945
+ }
20946
+
20947
+ _createClass(SquareAnnotationElement, [{
20948
+ key: "render",
20949
+ value: function render() {
20950
+ this.container.className = "squareAnnotation";
20951
+ var data = this.data;
20952
+ var width = data.rect[2] - data.rect[0];
20953
+ var height = data.rect[3] - data.rect[1];
20954
+ var svg = this.svgFactory.create(width, height);
20955
+ var borderWidth = data.borderStyle.width;
20956
+ var square = this.svgFactory.createElement("svg:rect");
20957
+ square.setAttribute("x", borderWidth / 2);
20958
+ square.setAttribute("y", borderWidth / 2);
20959
+ square.setAttribute("width", width - borderWidth);
20960
+ square.setAttribute("height", height - borderWidth);
20961
+ square.setAttribute("stroke-width", borderWidth || 1);
20962
+ square.setAttribute("stroke", "transparent");
20963
+ square.setAttribute("fill", "none");
20964
+ svg.appendChild(square);
20965
+ this.container.append(svg);
20966
+
20967
+ this._createPopup(this.container, square, data);
20968
+
20969
+ return this.container;
20970
+ }
20971
+ }]);
20972
+
20973
+ return SquareAnnotationElement;
20974
+ }(AnnotationElement);
20975
+
20976
+ var CircleAnnotationElement =
20977
+ /*#__PURE__*/
20978
+ function (_AnnotationElement8) {
20979
+ _inherits(CircleAnnotationElement, _AnnotationElement8);
20980
+
20981
+ function CircleAnnotationElement(parameters) {
20982
+ _classCallCheck(this, CircleAnnotationElement);
20983
+
20984
+ var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
20985
+ return _possibleConstructorReturn(this, _getPrototypeOf(CircleAnnotationElement).call(this, parameters, isRenderable, true));
20986
+ }
20987
+
20988
+ _createClass(CircleAnnotationElement, [{
20989
+ key: "render",
20990
+ value: function render() {
20991
+ this.container.className = "circleAnnotation";
20992
+ var data = this.data;
20993
+ var width = data.rect[2] - data.rect[0];
20994
+ var height = data.rect[3] - data.rect[1];
20995
+ var svg = this.svgFactory.create(width, height);
20996
+ var borderWidth = data.borderStyle.width;
20997
+ var circle = this.svgFactory.createElement("svg:ellipse");
20998
+ circle.setAttribute("cx", width / 2);
20999
+ circle.setAttribute("cy", height / 2);
21000
+ circle.setAttribute("rx", width / 2 - borderWidth / 2);
21001
+ circle.setAttribute("ry", height / 2 - borderWidth / 2);
21002
+ circle.setAttribute("stroke-width", borderWidth || 1);
21003
+ circle.setAttribute("stroke", "transparent");
21004
+ circle.setAttribute("fill", "none");
21005
+ svg.appendChild(circle);
21006
+ this.container.append(svg);
21007
+
21008
+ this._createPopup(this.container, circle, data);
21009
+
21010
+ return this.container;
21011
+ }
21012
+ }]);
21013
+
21014
+ return CircleAnnotationElement;
21015
+ }(AnnotationElement);
21016
+
21017
+ var PolylineAnnotationElement =
21018
+ /*#__PURE__*/
21019
+ function (_AnnotationElement9) {
21020
+ _inherits(PolylineAnnotationElement, _AnnotationElement9);
21021
+
21022
+ function PolylineAnnotationElement(parameters) {
21023
+ var _this3;
21024
+
21025
+ _classCallCheck(this, PolylineAnnotationElement);
21026
+
21027
+ var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
21028
+ _this3 = _possibleConstructorReturn(this, _getPrototypeOf(PolylineAnnotationElement).call(this, parameters, isRenderable, true));
21029
+ _this3.containerClassName = "polylineAnnotation";
21030
+ _this3.svgElementName = "svg:polyline";
21031
+ return _this3;
21032
+ }
21033
+
21034
+ _createClass(PolylineAnnotationElement, [{
21035
+ key: "render",
21036
+ value: function render() {
21037
+ this.container.className = this.containerClassName;
21038
+ var data = this.data;
21039
+ var width = data.rect[2] - data.rect[0];
21040
+ var height = data.rect[3] - data.rect[1];
21041
+ var svg = this.svgFactory.create(width, height);
21042
+ var points = [];
21043
+ var _iteratorNormalCompletion2 = true;
21044
+ var _didIteratorError2 = false;
21045
+ var _iteratorError2 = undefined;
21046
+
21047
+ try {
21048
+ for (var _iterator2 = data.vertices[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
21049
+ var coordinate = _step2.value;
21050
+ var x = coordinate.x - data.rect[0];
21051
+ var y = data.rect[3] - coordinate.y;
21052
+ points.push(x + "," + y);
21053
+ }
21054
+ } catch (err) {
21055
+ _didIteratorError2 = true;
21056
+ _iteratorError2 = err;
21057
+ } finally {
21058
+ try {
21059
+ if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
21060
+ _iterator2["return"]();
21061
+ }
21062
+ } finally {
21063
+ if (_didIteratorError2) {
21064
+ throw _iteratorError2;
21065
+ }
21066
+ }
21067
+ }
21068
+
21069
+ points = points.join(" ");
21070
+ var polyline = this.svgFactory.createElement(this.svgElementName);
21071
+ polyline.setAttribute("points", points);
21072
+ polyline.setAttribute("stroke-width", data.borderStyle.width || 1);
21073
+ polyline.setAttribute("stroke", "transparent");
21074
+ polyline.setAttribute("fill", "none");
21075
+ svg.appendChild(polyline);
21076
+ this.container.append(svg);
21077
+
21078
+ this._createPopup(this.container, polyline, data);
21079
+
21080
+ return this.container;
21081
+ }
21082
+ }]);
21083
+
21084
+ return PolylineAnnotationElement;
21085
+ }(AnnotationElement);
21086
+
21087
+ var PolygonAnnotationElement =
21088
+ /*#__PURE__*/
21089
+ function (_PolylineAnnotationEl) {
21090
+ _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);
21091
+
21092
+ function PolygonAnnotationElement(parameters) {
21093
+ var _this4;
21094
+
21095
+ _classCallCheck(this, PolygonAnnotationElement);
21096
+
21097
+ _this4 = _possibleConstructorReturn(this, _getPrototypeOf(PolygonAnnotationElement).call(this, parameters));
21098
+ _this4.containerClassName = "polygonAnnotation";
21099
+ _this4.svgElementName = "svg:polygon";
21100
+ return _this4;
21101
+ }
21102
+
21103
+ return PolygonAnnotationElement;
21104
+ }(PolylineAnnotationElement);
21105
+
21106
+ var CaretAnnotationElement =
21107
+ /*#__PURE__*/
21108
+ function (_AnnotationElement10) {
21109
+ _inherits(CaretAnnotationElement, _AnnotationElement10);
21110
+
21111
+ function CaretAnnotationElement(parameters) {
21112
+ _classCallCheck(this, CaretAnnotationElement);
21113
+
21114
+ var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
21115
+ return _possibleConstructorReturn(this, _getPrototypeOf(CaretAnnotationElement).call(this, parameters, isRenderable, true));
21116
+ }
21117
+
21118
+ _createClass(CaretAnnotationElement, [{
21119
+ key: "render",
21120
+ value: function render() {
21121
+ this.container.className = "caretAnnotation";
21122
+
21123
+ if (!this.data.hasPopup) {
21124
+ this._createPopup(this.container, null, this.data);
21125
+ }
21126
+
21127
+ return this.container;
21128
+ }
21129
+ }]);
21130
+
21131
+ return CaretAnnotationElement;
21132
+ }(AnnotationElement);
21133
+
21134
+ var InkAnnotationElement =
21135
+ /*#__PURE__*/
21136
+ function (_AnnotationElement11) {
21137
+ _inherits(InkAnnotationElement, _AnnotationElement11);
21138
+
21139
+ function InkAnnotationElement(parameters) {
21140
+ var _this5;
21141
+
21142
+ _classCallCheck(this, InkAnnotationElement);
21143
+
21144
+ var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
21145
+ _this5 = _possibleConstructorReturn(this, _getPrototypeOf(InkAnnotationElement).call(this, parameters, isRenderable, true));
21146
+ _this5.containerClassName = "inkAnnotation";
21147
+ _this5.svgElementName = "svg:polyline";
21148
+ return _this5;
21149
+ }
21150
+
21151
+ _createClass(InkAnnotationElement, [{
21152
+ key: "render",
21153
+ value: function render() {
21154
+ this.container.className = this.containerClassName;
21155
+ var data = this.data;
21156
+ var width = data.rect[2] - data.rect[0];
21157
+ var height = data.rect[3] - data.rect[1];
21158
+ var svg = this.svgFactory.create(width, height);
21159
+ var _iteratorNormalCompletion3 = true;
21160
+ var _didIteratorError3 = false;
21161
+ var _iteratorError3 = undefined;
21162
+
21163
+ try {
21164
+ for (var _iterator3 = data.inkLists[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
21165
+ var inkList = _step3.value;
21166
+ var points = [];
21167
+ var _iteratorNormalCompletion4 = true;
21168
+ var _didIteratorError4 = false;
21169
+ var _iteratorError4 = undefined;
21170
+
21171
+ try {
21172
+ for (var _iterator4 = inkList[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
21173
+ var coordinate = _step4.value;
21174
+ var x = coordinate.x - data.rect[0];
21175
+ var y = data.rect[3] - coordinate.y;
21176
+ points.push("".concat(x, ",").concat(y));
21177
+ }
21178
+ } catch (err) {
21179
+ _didIteratorError4 = true;
21180
+ _iteratorError4 = err;
21181
+ } finally {
21182
+ try {
21183
+ if (!_iteratorNormalCompletion4 && _iterator4["return"] != null) {
21184
+ _iterator4["return"]();
21185
+ }
21186
+ } finally {
21187
+ if (_didIteratorError4) {
21188
+ throw _iteratorError4;
21189
+ }
21190
+ }
21191
+ }
21192
+
21193
+ points = points.join(" ");
21194
+ var polyline = this.svgFactory.createElement(this.svgElementName);
21195
+ polyline.setAttribute("points", points);
21196
+ polyline.setAttribute("stroke-width", data.borderStyle.width || 1);
21197
+ polyline.setAttribute("stroke", "transparent");
21198
+ polyline.setAttribute("fill", "none");
21199
+
21200
+ this._createPopup(this.container, polyline, data);
21201
+
21202
+ svg.appendChild(polyline);
21203
+ }
21204
+ } catch (err) {
21205
+ _didIteratorError3 = true;
21206
+ _iteratorError3 = err;
21207
+ } finally {
21208
+ try {
21209
+ if (!_iteratorNormalCompletion3 && _iterator3["return"] != null) {
21210
+ _iterator3["return"]();
21211
+ }
21212
+ } finally {
21213
+ if (_didIteratorError3) {
21214
+ throw _iteratorError3;
21215
+ }
21216
+ }
21217
+ }
21218
+
21219
+ this.container.append(svg);
21220
+ return this.container;
21221
+ }
21222
+ }]);
21223
+
21224
+ return InkAnnotationElement;
21225
+ }(AnnotationElement);
21226
+
21227
+ var HighlightAnnotationElement =
21228
+ /*#__PURE__*/
21229
+ function (_AnnotationElement12) {
21230
+ _inherits(HighlightAnnotationElement, _AnnotationElement12);
21231
+
21232
+ function HighlightAnnotationElement(parameters) {
21233
+ _classCallCheck(this, HighlightAnnotationElement);
21234
+
21235
+ var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
21236
+ return _possibleConstructorReturn(this, _getPrototypeOf(HighlightAnnotationElement).call(this, parameters, isRenderable, true));
21237
+ }
21238
+
21239
+ _createClass(HighlightAnnotationElement, [{
21240
+ key: "render",
21241
+ value: function render() {
21242
+ this.container.className = "highlightAnnotation";
21243
+
21244
+ if (!this.data.hasPopup) {
21245
+ this._createPopup(this.container, null, this.data);
21246
+ }
21247
+
21248
+ return this.container;
21249
+ }
21250
+ }]);
21251
+
21252
+ return HighlightAnnotationElement;
21253
+ }(AnnotationElement);
21254
+
21255
+ var UnderlineAnnotationElement =
21256
+ /*#__PURE__*/
21257
+ function (_AnnotationElement13) {
21258
+ _inherits(UnderlineAnnotationElement, _AnnotationElement13);
21259
+
21260
+ function UnderlineAnnotationElement(parameters) {
21261
+ _classCallCheck(this, UnderlineAnnotationElement);
21262
+
21263
+ var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
21264
+ return _possibleConstructorReturn(this, _getPrototypeOf(UnderlineAnnotationElement).call(this, parameters, isRenderable, true));
21265
+ }
21266
+
21267
+ _createClass(UnderlineAnnotationElement, [{
21268
+ key: "render",
21269
+ value: function render() {
21270
+ this.container.className = "underlineAnnotation";
21271
+
21272
+ if (!this.data.hasPopup) {
21273
+ this._createPopup(this.container, null, this.data);
21274
+ }
21275
+
21276
+ return this.container;
21277
+ }
21278
+ }]);
21279
+
21280
+ return UnderlineAnnotationElement;
21281
+ }(AnnotationElement);
21282
+
21283
+ var SquigglyAnnotationElement =
21284
+ /*#__PURE__*/
21285
+ function (_AnnotationElement14) {
21286
+ _inherits(SquigglyAnnotationElement, _AnnotationElement14);
21287
+
21288
+ function SquigglyAnnotationElement(parameters) {
21289
+ _classCallCheck(this, SquigglyAnnotationElement);
21290
+
21291
+ var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
21292
+ return _possibleConstructorReturn(this, _getPrototypeOf(SquigglyAnnotationElement).call(this, parameters, isRenderable, true));
21293
+ }
21294
+
21295
+ _createClass(SquigglyAnnotationElement, [{
21296
+ key: "render",
21297
+ value: function render() {
21298
+ this.container.className = "squigglyAnnotation";
21299
+
21300
+ if (!this.data.hasPopup) {
21301
+ this._createPopup(this.container, null, this.data);
21302
+ }
21303
+
21304
+ return this.container;
21305
+ }
21306
+ }]);
21307
+
21308
+ return SquigglyAnnotationElement;
21309
+ }(AnnotationElement);
21310
+
21311
+ var StrikeOutAnnotationElement =
21312
+ /*#__PURE__*/
21313
+ function (_AnnotationElement15) {
21314
+ _inherits(StrikeOutAnnotationElement, _AnnotationElement15);
21315
+
21316
+ function StrikeOutAnnotationElement(parameters) {
21317
+ _classCallCheck(this, StrikeOutAnnotationElement);
21318
+
21319
+ var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
21320
+ return _possibleConstructorReturn(this, _getPrototypeOf(StrikeOutAnnotationElement).call(this, parameters, isRenderable, true));
21321
+ }
21322
+
21323
+ _createClass(StrikeOutAnnotationElement, [{
21324
+ key: "render",
21325
+ value: function render() {
21326
+ this.container.className = "strikeoutAnnotation";
21327
+
21328
+ if (!this.data.hasPopup) {
21329
+ this._createPopup(this.container, null, this.data);
21330
+ }
21331
+
21332
+ return this.container;
21333
+ }
21334
+ }]);
21335
+
21336
+ return StrikeOutAnnotationElement;
21337
+ }(AnnotationElement);
21338
+
21339
+ var StampAnnotationElement =
21340
+ /*#__PURE__*/
21341
+ function (_AnnotationElement16) {
21342
+ _inherits(StampAnnotationElement, _AnnotationElement16);
21343
+
21344
+ function StampAnnotationElement(parameters) {
21345
+ _classCallCheck(this, StampAnnotationElement);
21346
+
21347
+ var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
21348
+ return _possibleConstructorReturn(this, _getPrototypeOf(StampAnnotationElement).call(this, parameters, isRenderable, true));
21349
+ }
21350
+
21351
+ _createClass(StampAnnotationElement, [{
21352
+ key: "render",
21353
+ value: function render() {
21354
+ this.container.className = "stampAnnotation";
21355
+
21356
+ if (!this.data.hasPopup) {
21357
+ this._createPopup(this.container, null, this.data);
21358
+ }
21359
+
21360
+ return this.container;
21361
+ }
21362
+ }]);
21363
+
21364
+ return StampAnnotationElement;
21365
+ }(AnnotationElement);
21366
+
21367
+ var FileAttachmentAnnotationElement =
21368
+ /*#__PURE__*/
21369
+ function (_AnnotationElement17) {
21370
+ _inherits(FileAttachmentAnnotationElement, _AnnotationElement17);
21371
+
21372
+ function FileAttachmentAnnotationElement(parameters) {
21373
+ var _this6;
21374
+
21375
+ _classCallCheck(this, FileAttachmentAnnotationElement);
21376
+
21377
+ _this6 = _possibleConstructorReturn(this, _getPrototypeOf(FileAttachmentAnnotationElement).call(this, parameters, true));
21378
+ var _this6$data$file = _this6.data.file,
21379
+ filename = _this6$data$file.filename,
21380
+ content = _this6$data$file.content;
21381
+ _this6.filename = (0, _display_utils.getFilenameFromUrl)(filename);
21382
+ _this6.content = content;
21383
+
21384
+ if (_this6.linkService.eventBus) {
21385
+ _this6.linkService.eventBus.dispatch("fileattachmentannotation", {
21386
+ source: _assertThisInitialized(_this6),
21387
+ id: (0, _util.stringToPDFString)(filename),
21388
+ filename: filename,
21389
+ content: content
21390
+ });
21391
+ }
21392
+
21393
+ return _this6;
21394
+ }
21395
+
21396
+ _createClass(FileAttachmentAnnotationElement, [{
21397
+ key: "render",
21398
+ value: function render() {
21399
+ this.container.className = "fileAttachmentAnnotation";
21400
+ var trigger = document.createElement("div");
21401
+ trigger.style.height = this.container.style.height;
21402
+ trigger.style.width = this.container.style.width;
21403
+ trigger.addEventListener("dblclick", this._download.bind(this));
21404
+
21405
+ if (!this.data.hasPopup && (this.data.title || this.data.contents)) {
21406
+ this._createPopup(this.container, trigger, this.data);
21407
+ }
21408
+
21409
+ this.container.appendChild(trigger);
21410
+ return this.container;
21411
+ }
21412
+ }, {
21413
+ key: "_download",
21414
+ value: function _download() {
21415
+ if (!this.downloadManager) {
21416
+ (0, _util.warn)("Download cannot be started due to unavailable download manager");
21417
+ return;
21418
+ }
21419
+
21420
+ this.downloadManager.downloadData(this.content, this.filename, "");
21421
+ }
21422
+ }]);
21423
+
21424
+ return FileAttachmentAnnotationElement;
21425
+ }(AnnotationElement);
21426
+
21427
+ var AnnotationLayer =
21428
+ /*#__PURE__*/
21429
+ function () {
21430
+ function AnnotationLayer() {
21431
+ _classCallCheck(this, AnnotationLayer);
21432
+ }
21433
+
21434
+ _createClass(AnnotationLayer, null, [{
21435
+ key: "render",
21436
+ value: function render(parameters) {
21437
+ var sortedAnnotations = [],
21438
+ popupAnnotations = [];
21439
+ var _iteratorNormalCompletion5 = true;
21440
+ var _didIteratorError5 = false;
21441
+ var _iteratorError5 = undefined;
21442
+
21443
+ try {
21444
+ for (var _iterator5 = parameters.annotations[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
21445
+ var data = _step5.value;
21446
+
21447
+ if (!data) {
21448
+ continue;
21449
+ }
21450
+
21451
+ if (data.annotationType === _util.AnnotationType.POPUP) {
21452
+ popupAnnotations.push(data);
21453
+ continue;
21454
+ }
21455
+
21456
+ sortedAnnotations.push(data);
21457
+ }
21458
+ } catch (err) {
21459
+ _didIteratorError5 = true;
21460
+ _iteratorError5 = err;
21461
+ } finally {
21462
+ try {
21463
+ if (!_iteratorNormalCompletion5 && _iterator5["return"] != null) {
21464
+ _iterator5["return"]();
21465
+ }
21466
+ } finally {
21467
+ if (_didIteratorError5) {
21468
+ throw _iteratorError5;
21469
+ }
21470
+ }
21471
+ }
21472
+
21473
+ if (popupAnnotations.length) {
21474
+ sortedAnnotations.push.apply(sortedAnnotations, popupAnnotations);
21475
+ }
21476
+
21477
+ for (var _i = 0, _sortedAnnotations = sortedAnnotations; _i < _sortedAnnotations.length; _i++) {
21478
+ var _data = _sortedAnnotations[_i];
21479
+ var element = AnnotationElementFactory.create({
21480
+ data: _data,
21481
+ layer: parameters.div,
21482
+ page: parameters.page,
21483
+ viewport: parameters.viewport,
21484
+ linkService: parameters.linkService,
21485
+ downloadManager: parameters.downloadManager,
21486
+ imageResourcesPath: parameters.imageResourcesPath || "",
21487
+ renderInteractiveForms: parameters.renderInteractiveForms || false,
21488
+ svgFactory: new _display_utils.DOMSVGFactory()
21489
+ });
21490
+
21491
+ if (element.isRenderable) {
21492
+ parameters.div.appendChild(element.render());
21493
+ }
21494
+ }
21495
+ }
21496
+ }, {
21497
+ key: "update",
21498
+ value: function update(parameters) {
21499
+ var _iteratorNormalCompletion6 = true;
21500
+ var _didIteratorError6 = false;
21501
+ var _iteratorError6 = undefined;
21502
+
21503
+ try {
21504
+ for (var _iterator6 = parameters.annotations[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
21505
+ var data = _step6.value;
21506
+ var element = parameters.div.querySelector("[data-annotation-id=\"".concat(data.id, "\"]"));
21507
+
21508
+ if (element) {
21509
+ element.style.transform = "matrix(".concat(parameters.viewport.transform.join(","), ")");
21510
+ }
21511
+ }
21512
+ } catch (err) {
21513
+ _didIteratorError6 = true;
21514
+ _iteratorError6 = err;
21515
+ } finally {
21516
+ try {
21517
+ if (!_iteratorNormalCompletion6 && _iterator6["return"] != null) {
21518
+ _iterator6["return"]();
21519
+ }
21520
+ } finally {
21521
+ if (_didIteratorError6) {
21522
+ throw _iteratorError6;
21523
+ }
21524
+ }
21525
+ }
21526
+
21527
+ parameters.div.removeAttribute("hidden");
21528
+ }
21529
+ }]);
21530
+
21531
+ return AnnotationLayer;
21532
+ }();
21533
+
21534
+ exports.AnnotationLayer = AnnotationLayer;
21535
+
21536
+ /***/ }),
21537
+ /* 202 */
21538
+ /***/ (function(module, exports, __w_pdfjs_require__) {
21539
+
21540
+ "use strict";
21541
+
21542
+
21543
+ Object.defineProperty(exports, "__esModule", {
21544
+ value: true
21545
+ });
21546
+ exports.SVGGraphics = void 0;
21547
+
21548
+ var _util = __w_pdfjs_require__(1);
21549
+
21550
+ var _display_utils = __w_pdfjs_require__(189);
21551
+
21552
+ var _is_node = __w_pdfjs_require__(48);
21553
+
21554
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
21555
+
21556
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
21557
+
21558
+ function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
21559
+
21560
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
21561
+
21562
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
21563
+
21564
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
21565
+
21566
+ function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
21567
+
21568
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
21569
+
21570
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
21571
+
21572
+ 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); } }
21573
+
21574
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
21575
+
21576
+ var SVGGraphics = function SVGGraphics() {
21577
+ throw new Error("Not implemented: SVGGraphics");
21578
+ };
21579
+
21580
+ exports.SVGGraphics = SVGGraphics;
21581
+ {
21582
+ var opListToTree = function opListToTree(opList) {
21583
+ var opTree = [];
21584
+ var tmp = [];
21585
+ var _iteratorNormalCompletion = true;
21586
+ var _didIteratorError = false;
21587
+ var _iteratorError = undefined;
21588
+
21589
+ try {
21590
+ for (var _iterator = opList[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
21591
+ var opListElement = _step.value;
21592
+
21593
+ if (opListElement.fn === "save") {
21594
+ opTree.push({
21595
+ fnId: 92,
21596
+ fn: "group",
21597
+ items: []
21598
+ });
21599
+ tmp.push(opTree);
21600
+ opTree = opTree[opTree.length - 1].items;
21601
+ continue;
21602
+ }
21603
+
21604
+ if (opListElement.fn === "restore") {
21605
+ opTree = tmp.pop();
21606
+ } else {
21607
+ opTree.push(opListElement);
21608
+ }
21609
+ }
21610
+ } catch (err) {
21611
+ _didIteratorError = true;
21612
+ _iteratorError = err;
21613
+ } finally {
21614
+ try {
21615
+ if (!_iteratorNormalCompletion && _iterator["return"] != null) {
21616
+ _iterator["return"]();
21617
+ }
21618
+ } finally {
21619
+ if (_didIteratorError) {
21620
+ throw _iteratorError;
21621
+ }
21622
+ }
21623
+ }
21624
+
21625
+ return opTree;
21626
+ };
21627
+
21628
+ var pf = function pf(value) {
21629
+ if (Number.isInteger(value)) {
21630
+ return value.toString();
21631
+ }
21632
+
21633
+ var s = value.toFixed(10);
21634
+ var i = s.length - 1;
21635
+
21636
+ if (s[i] !== "0") {
21637
+ return s;
21638
+ }
21639
+
21640
+ do {
21641
+ i--;
21642
+ } while (s[i] === "0");
21643
+
21644
+ return s.substring(0, s[i] === "." ? i : i + 1);
21645
+ };
21646
+
21647
+ var pm = function pm(m) {
21648
+ if (m[4] === 0 && m[5] === 0) {
21649
+ if (m[1] === 0 && m[2] === 0) {
21650
+ if (m[0] === 1 && m[3] === 1) {
21651
+ return "";
21652
+ }
21653
+
21654
+ return "scale(".concat(pf(m[0]), " ").concat(pf(m[3]), ")");
21655
+ }
21656
+
21657
+ if (m[0] === m[3] && m[1] === -m[2]) {
21658
+ var a = Math.acos(m[0]) * 180 / Math.PI;
21659
+ return "rotate(".concat(pf(a), ")");
21660
+ }
21661
+ } else {
21662
+ if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {
21663
+ return "translate(".concat(pf(m[4]), " ").concat(pf(m[5]), ")");
21664
+ }
21665
+ }
21666
+
21667
+ 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]), ")");
21668
+ };
21669
+
21670
+ var SVG_DEFAULTS = {
21671
+ fontStyle: "normal",
21672
+ fontWeight: "normal",
21673
+ fillColor: "#000000"
21674
+ };
21675
+ var XML_NS = "http://www.w3.org/XML/1998/namespace";
21676
+ var XLINK_NS = "http://www.w3.org/1999/xlink";
21677
+ var LINE_CAP_STYLES = ["butt", "round", "square"];
21678
+ var LINE_JOIN_STYLES = ["miter", "round", "bevel"];
21679
+
21680
+ var convertImgDataToPng = function () {
21681
+ var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);
21682
+ var CHUNK_WRAPPER_SIZE = 12;
21683
+ var crcTable = new Int32Array(256);
21684
+
21685
+ for (var i = 0; i < 256; i++) {
21686
+ var c = i;
21687
+
21688
+ for (var h = 0; h < 8; h++) {
21689
+ if (c & 1) {
21690
+ c = 0xedb88320 ^ c >> 1 & 0x7fffffff;
21691
+ } else {
21692
+ c = c >> 1 & 0x7fffffff;
21693
+ }
21694
+ }
21695
+
21696
+ crcTable[i] = c;
21697
+ }
21698
+
21699
+ function crc32(data, start, end) {
21700
+ var crc = -1;
21701
+
21702
+ for (var _i = start; _i < end; _i++) {
21703
+ var a = (crc ^ data[_i]) & 0xff;
21704
+ var b = crcTable[a];
21705
+ crc = crc >>> 8 ^ b;
21706
+ }
21707
+
21708
+ return crc ^ -1;
21709
+ }
21710
+
21711
+ function writePngChunk(type, body, data, offset) {
21712
+ var p = offset;
21713
+ var len = body.length;
21714
+ data[p] = len >> 24 & 0xff;
21715
+ data[p + 1] = len >> 16 & 0xff;
21716
+ data[p + 2] = len >> 8 & 0xff;
21717
+ data[p + 3] = len & 0xff;
21718
+ p += 4;
21719
+ data[p] = type.charCodeAt(0) & 0xff;
21720
+ data[p + 1] = type.charCodeAt(1) & 0xff;
21721
+ data[p + 2] = type.charCodeAt(2) & 0xff;
21722
+ data[p + 3] = type.charCodeAt(3) & 0xff;
21723
+ p += 4;
21724
+ data.set(body, p);
21725
+ p += body.length;
21726
+ var crc = crc32(data, offset + 4, p);
21727
+ data[p] = crc >> 24 & 0xff;
21728
+ data[p + 1] = crc >> 16 & 0xff;
21729
+ data[p + 2] = crc >> 8 & 0xff;
21730
+ data[p + 3] = crc & 0xff;
21731
+ }
21732
+
21733
+ function adler32(data, start, end) {
21734
+ var a = 1;
21735
+ var b = 0;
21736
+
21737
+ for (var _i2 = start; _i2 < end; ++_i2) {
21738
+ a = (a + (data[_i2] & 0xff)) % 65521;
21739
+ b = (b + a) % 65521;
21740
+ }
21741
+
21742
+ return b << 16 | a;
21743
+ }
21744
+
21745
+ function deflateSync(literals) {
21746
+ if (!_is_node.isNodeJS) {
21747
+ return deflateSyncUncompressed(literals);
21748
+ }
21749
+
21750
+ try {
21751
+ var input;
21752
+
21753
+ if (parseInt(process.versions.node) >= 8) {
21754
+ input = literals;
21755
+ } else {
21756
+ input = new Buffer(literals);
21757
+ }
21758
+
21759
+ var output = require("zlib").deflateSync(input, {
21760
+ level: 9
21761
+ });
21762
+
21763
+ return output instanceof Uint8Array ? output : new Uint8Array(output);
21764
+ } catch (e) {
21765
+ (0, _util.warn)("Not compressing PNG because zlib.deflateSync is unavailable: " + e);
21766
+ }
21767
+
21768
+ return deflateSyncUncompressed(literals);
21769
+ }
21770
+
21771
+ function deflateSyncUncompressed(literals) {
21772
+ var len = literals.length;
21773
+ var maxBlockLength = 0xffff;
21774
+ var deflateBlocks = Math.ceil(len / maxBlockLength);
21775
+ var idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);
21776
+ var pi = 0;
21777
+ idat[pi++] = 0x78;
21778
+ idat[pi++] = 0x9c;
21779
+ var pos = 0;
21780
+
21781
+ while (len > maxBlockLength) {
21782
+ idat[pi++] = 0x00;
21783
+ idat[pi++] = 0xff;
21784
+ idat[pi++] = 0xff;
21785
+ idat[pi++] = 0x00;
21786
+ idat[pi++] = 0x00;
21787
+ idat.set(literals.subarray(pos, pos + maxBlockLength), pi);
21788
+ pi += maxBlockLength;
21789
+ pos += maxBlockLength;
21790
+ len -= maxBlockLength;
21791
+ }
21792
+
21793
+ idat[pi++] = 0x01;
21794
+ idat[pi++] = len & 0xff;
21795
+ idat[pi++] = len >> 8 & 0xff;
21796
+ idat[pi++] = ~len & 0xffff & 0xff;
21797
+ idat[pi++] = (~len & 0xffff) >> 8 & 0xff;
21798
+ idat.set(literals.subarray(pos), pi);
21799
+ pi += literals.length - pos;
21800
+ var adler = adler32(literals, 0, literals.length);
21801
+ idat[pi++] = adler >> 24 & 0xff;
21802
+ idat[pi++] = adler >> 16 & 0xff;
21803
+ idat[pi++] = adler >> 8 & 0xff;
21804
+ idat[pi++] = adler & 0xff;
21805
+ return idat;
21806
+ }
21807
+
21808
+ function encode(imgData, kind, forceDataSchema, isMask) {
21809
+ var width = imgData.width;
21810
+ var height = imgData.height;
21811
+ var bitDepth, colorType, lineSize;
21812
+ var bytes = imgData.data;
21813
+
21814
+ switch (kind) {
21815
+ case _util.ImageKind.GRAYSCALE_1BPP:
21816
+ colorType = 0;
21817
+ bitDepth = 1;
21818
+ lineSize = width + 7 >> 3;
21819
+ break;
21820
+
21821
+ case _util.ImageKind.RGB_24BPP:
21822
+ colorType = 2;
21823
+ bitDepth = 8;
21824
+ lineSize = width * 3;
21825
+ break;
21826
+
21827
+ case _util.ImageKind.RGBA_32BPP:
21828
+ colorType = 6;
21829
+ bitDepth = 8;
21830
+ lineSize = width * 4;
21831
+ break;
21832
+
21833
+ default:
21834
+ throw new Error("invalid format");
21835
+ }
21836
+
21837
+ var literals = new Uint8Array((1 + lineSize) * height);
21838
+ var offsetLiterals = 0,
21839
+ offsetBytes = 0;
21840
+
21841
+ for (var y = 0; y < height; ++y) {
21842
+ literals[offsetLiterals++] = 0;
21843
+ literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);
21844
+ offsetBytes += lineSize;
21845
+ offsetLiterals += lineSize;
21846
+ }
21847
+
21848
+ if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {
21849
+ offsetLiterals = 0;
21850
+
21851
+ for (var _y = 0; _y < height; _y++) {
21852
+ offsetLiterals++;
21853
+
21854
+ for (var _i3 = 0; _i3 < lineSize; _i3++) {
21855
+ literals[offsetLiterals++] ^= 0xff;
21856
+ }
21857
+ }
21858
+ }
21859
+
21860
+ 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]);
21861
+ var idat = deflateSync(literals);
21862
+ var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;
21863
+ var data = new Uint8Array(pngLength);
21864
+ var offset = 0;
21865
+ data.set(PNG_HEADER, offset);
21866
+ offset += PNG_HEADER.length;
21867
+ writePngChunk("IHDR", ihdr, data, offset);
21868
+ offset += CHUNK_WRAPPER_SIZE + ihdr.length;
21869
+ writePngChunk("IDATA", idat, data, offset);
21870
+ offset += CHUNK_WRAPPER_SIZE + idat.length;
21871
+ writePngChunk("IEND", new Uint8Array(0), data, offset);
21872
+ return (0, _util.createObjectURL)(data, "image/png", forceDataSchema);
21873
+ }
21874
+
21875
+ return function convertImgDataToPng(imgData, forceDataSchema, isMask) {
21876
+ var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;
21877
+ return encode(imgData, kind, forceDataSchema, isMask);
21878
+ };
21879
+ }();
21880
+
21881
+ var SVGExtraState =
21882
+ /*#__PURE__*/
21883
+ function () {
21884
+ function SVGExtraState() {
21885
+ _classCallCheck(this, SVGExtraState);
21886
+
21887
+ this.fontSizeScale = 1;
21888
+ this.fontWeight = SVG_DEFAULTS.fontWeight;
21889
+ this.fontSize = 0;
21890
+ this.textMatrix = _util.IDENTITY_MATRIX;
21891
+ this.fontMatrix = _util.FONT_IDENTITY_MATRIX;
21892
+ this.leading = 0;
21893
+ this.textRenderingMode = _util.TextRenderingMode.FILL;
21894
+ this.textMatrixScale = 1;
21895
+ this.x = 0;
21896
+ this.y = 0;
21897
+ this.lineX = 0;
21898
+ this.lineY = 0;
21899
+ this.charSpacing = 0;
21900
+ this.wordSpacing = 0;
21901
+ this.textHScale = 1;
21902
+ this.textRise = 0;
21903
+ this.fillColor = SVG_DEFAULTS.fillColor;
21904
+ this.strokeColor = "#000000";
21905
+ this.fillAlpha = 1;
21906
+ this.strokeAlpha = 1;
21907
+ this.lineWidth = 1;
21908
+ this.lineJoin = "";
21909
+ this.lineCap = "";
21910
+ this.miterLimit = 0;
21911
+ this.dashArray = [];
21912
+ this.dashPhase = 0;
21913
+ this.dependencies = [];
21914
+ this.activeClipUrl = null;
21915
+ this.clipGroup = null;
21916
+ this.maskId = "";
21917
+ }
21918
+
21919
+ _createClass(SVGExtraState, [{
21920
+ key: "clone",
21921
+ value: function clone() {
21922
+ return Object.create(this);
21923
+ }
21924
+ }, {
21925
+ key: "setCurrentPoint",
21926
+ value: function setCurrentPoint(x, y) {
21927
+ this.x = x;
21928
+ this.y = y;
21929
+ }
21930
+ }]);
21931
+
21932
+ return SVGExtraState;
21933
+ }();
21934
+
21935
+ var clipCount = 0;
21936
+ var maskCount = 0;
21937
+ var shadingCount = 0;
21938
+
21939
+ exports.SVGGraphics = SVGGraphics =
21940
+ /*#__PURE__*/
21941
+ function () {
21942
+ function SVGGraphics(commonObjs, objs, forceDataSchema) {
21943
+ _classCallCheck(this, SVGGraphics);
21944
+
21945
+ this.svgFactory = new _display_utils.DOMSVGFactory();
21946
+ this.current = new SVGExtraState();
21947
+ this.transformMatrix = _util.IDENTITY_MATRIX;
21948
+ this.transformStack = [];
21949
+ this.extraStack = [];
21950
+ this.commonObjs = commonObjs;
21951
+ this.objs = objs;
21952
+ this.pendingClip = null;
21953
+ this.pendingEOFill = false;
21954
+ this.embedFonts = false;
21955
+ this.embeddedFonts = Object.create(null);
21956
+ this.cssStyle = null;
21957
+ this.forceDataSchema = !!forceDataSchema;
21958
+ this._operatorIdMapping = [];
21959
+
21960
+ for (var op in _util.OPS) {
21961
+ this._operatorIdMapping[_util.OPS[op]] = op;
21962
+ }
21963
+ }
21964
+
21965
+ _createClass(SVGGraphics, [{
21966
+ key: "save",
21967
+ value: function save() {
21968
+ this.transformStack.push(this.transformMatrix);
21969
+ var old = this.current;
21970
+ this.extraStack.push(old);
21971
+ this.current = old.clone();
21972
+ }
21973
+ }, {
21974
+ key: "restore",
21975
+ value: function restore() {
21976
+ this.transformMatrix = this.transformStack.pop();
21977
+ this.current = this.extraStack.pop();
21978
+ this.pendingClip = null;
21979
+ this.tgrp = null;
21980
+ }
21981
+ }, {
21982
+ key: "group",
21983
+ value: function group(items) {
21984
+ this.save();
21985
+ this.executeOpTree(items);
21986
+ this.restore();
21987
+ }
21988
+ }, {
21989
+ key: "loadDependencies",
21990
+ value: function loadDependencies(operatorList) {
21991
+ var _this = this;
21992
+
21993
+ var fnArray = operatorList.fnArray;
21994
+ var argsArray = operatorList.argsArray;
21995
+
21996
+ for (var i = 0, ii = fnArray.length; i < ii; i++) {
21997
+ if (fnArray[i] !== _util.OPS.dependency) {
21998
+ continue;
21999
+ }
22000
+
22001
+ var _iteratorNormalCompletion2 = true;
22002
+ var _didIteratorError2 = false;
22003
+ var _iteratorError2 = undefined;
22004
+
22005
+ try {
22006
+ var _loop = function _loop() {
22007
+ var obj = _step2.value;
22008
+ var objsPool = obj.startsWith("g_") ? _this.commonObjs : _this.objs;
22009
+ var promise = new Promise(function (resolve) {
22010
+ objsPool.get(obj, resolve);
22011
+ });
22012
+
22013
+ _this.current.dependencies.push(promise);
22014
+ };
22015
+
22016
+ for (var _iterator2 = argsArray[i][Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
22017
+ _loop();
22018
+ }
22019
+ } catch (err) {
22020
+ _didIteratorError2 = true;
22021
+ _iteratorError2 = err;
22022
+ } finally {
22023
+ try {
22024
+ if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
22025
+ _iterator2["return"]();
22026
+ }
22027
+ } finally {
22028
+ if (_didIteratorError2) {
22029
+ throw _iteratorError2;
22030
+ }
22031
+ }
22032
+ }
22033
+ }
22034
+
22035
+ return Promise.all(this.current.dependencies);
22036
+ }
22037
+ }, {
22038
+ key: "transform",
22039
+ value: function transform(a, b, c, d, e, f) {
22040
+ var transformMatrix = [a, b, c, d, e, f];
22041
+ this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);
22042
+ this.tgrp = null;
22043
+ }
22044
+ }, {
22045
+ key: "getSVG",
22046
+ value: function getSVG(operatorList, viewport) {
22047
+ var _this2 = this;
22048
+
22049
+ this.viewport = viewport;
22050
+
22051
+ var svgElement = this._initialize(viewport);
22052
+
22053
+ return this.loadDependencies(operatorList).then(function () {
22054
+ _this2.transformMatrix = _util.IDENTITY_MATRIX;
22055
+
22056
+ _this2.executeOpTree(_this2.convertOpList(operatorList));
22057
+
22058
+ return svgElement;
22059
+ });
22060
+ }
22061
+ }, {
22062
+ key: "convertOpList",
22063
+ value: function convertOpList(operatorList) {
22064
+ var operatorIdMapping = this._operatorIdMapping;
22065
+ var argsArray = operatorList.argsArray;
22066
+ var fnArray = operatorList.fnArray;
22067
+ var opList = [];
22068
+
22069
+ for (var i = 0, ii = fnArray.length; i < ii; i++) {
22070
+ var fnId = fnArray[i];
22071
+ opList.push({
22072
+ fnId: fnId,
22073
+ fn: operatorIdMapping[fnId],
22074
+ args: argsArray[i]
22075
+ });
22076
+ }
22077
+
22078
+ return opListToTree(opList);
22079
+ }
22080
+ }, {
22081
+ key: "executeOpTree",
22082
+ value: function executeOpTree(opTree) {
22083
+ var _iteratorNormalCompletion3 = true;
22084
+ var _didIteratorError3 = false;
22085
+ var _iteratorError3 = undefined;
22086
+
22087
+ try {
22088
+ for (var _iterator3 = opTree[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
22089
+ var opTreeElement = _step3.value;
22090
+ var fn = opTreeElement.fn;
22091
+ var fnId = opTreeElement.fnId;
22092
+ var args = opTreeElement.args;
22093
+
22094
+ switch (fnId | 0) {
22095
+ case _util.OPS.beginText:
22096
+ this.beginText();
22097
+ break;
22098
+
22099
+ case _util.OPS.dependency:
22100
+ break;
22101
+
22102
+ case _util.OPS.setLeading:
22103
+ this.setLeading(args);
22104
+ break;
22105
+
22106
+ case _util.OPS.setLeadingMoveText:
22107
+ this.setLeadingMoveText(args[0], args[1]);
22108
+ break;
22109
+
22110
+ case _util.OPS.setFont:
22111
+ this.setFont(args);
22112
+ break;
22113
+
22114
+ case _util.OPS.showText:
22115
+ this.showText(args[0]);
22116
+ break;
22117
+
22118
+ case _util.OPS.showSpacedText:
22119
+ this.showText(args[0]);
22120
+ break;
22121
+
22122
+ case _util.OPS.endText:
22123
+ this.endText();
22124
+ break;
22125
+
22126
+ case _util.OPS.moveText:
22127
+ this.moveText(args[0], args[1]);
22128
+ break;
22129
+
22130
+ case _util.OPS.setCharSpacing:
22131
+ this.setCharSpacing(args[0]);
22132
+ break;
22133
+
22134
+ case _util.OPS.setWordSpacing:
22135
+ this.setWordSpacing(args[0]);
22136
+ break;
22137
+
22138
+ case _util.OPS.setHScale:
22139
+ this.setHScale(args[0]);
22140
+ break;
22141
+
22142
+ case _util.OPS.setTextMatrix:
22143
+ this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);
22144
+ break;
22145
+
22146
+ case _util.OPS.setTextRise:
22147
+ this.setTextRise(args[0]);
22148
+ break;
22149
+
22150
+ case _util.OPS.setTextRenderingMode:
22151
+ this.setTextRenderingMode(args[0]);
22152
+ break;
22153
+
22154
+ case _util.OPS.setLineWidth:
22155
+ this.setLineWidth(args[0]);
22156
+ break;
22157
+
22158
+ case _util.OPS.setLineJoin:
22159
+ this.setLineJoin(args[0]);
22160
+ break;
22161
+
22162
+ case _util.OPS.setLineCap:
22163
+ this.setLineCap(args[0]);
22164
+ break;
22165
+
22166
+ case _util.OPS.setMiterLimit:
22167
+ this.setMiterLimit(args[0]);
22168
+ break;
22169
+
22170
+ case _util.OPS.setFillRGBColor:
22171
+ this.setFillRGBColor(args[0], args[1], args[2]);
22172
+ break;
22173
+
22174
+ case _util.OPS.setStrokeRGBColor:
22175
+ this.setStrokeRGBColor(args[0], args[1], args[2]);
22176
+ break;
22177
+
22178
+ case _util.OPS.setStrokeColorN:
22179
+ this.setStrokeColorN(args);
22180
+ break;
22181
+
22182
+ case _util.OPS.setFillColorN:
22183
+ this.setFillColorN(args);
22184
+ break;
22185
+
22186
+ case _util.OPS.shadingFill:
22187
+ this.shadingFill(args[0]);
22188
+ break;
22189
+
22190
+ case _util.OPS.setDash:
22191
+ this.setDash(args[0], args[1]);
22192
+ break;
22193
+
22194
+ case _util.OPS.setRenderingIntent:
22195
+ this.setRenderingIntent(args[0]);
22196
+ break;
22197
+
22198
+ case _util.OPS.setFlatness:
22199
+ this.setFlatness(args[0]);
22200
+ break;
22201
+
22202
+ case _util.OPS.setGState:
22203
+ this.setGState(args[0]);
22204
+ break;
22205
+
22206
+ case _util.OPS.fill:
22207
+ this.fill();
22208
+ break;
22209
+
22210
+ case _util.OPS.eoFill:
22211
+ this.eoFill();
22212
+ break;
22213
+
22214
+ case _util.OPS.stroke:
22215
+ this.stroke();
22216
+ break;
22217
+
22218
+ case _util.OPS.fillStroke:
22219
+ this.fillStroke();
22220
+ break;
22221
+
22222
+ case _util.OPS.eoFillStroke:
22223
+ this.eoFillStroke();
22224
+ break;
22225
+
22226
+ case _util.OPS.clip:
22227
+ this.clip("nonzero");
22228
+ break;
22229
+
22230
+ case _util.OPS.eoClip:
22231
+ this.clip("evenodd");
22232
+ break;
22233
+
22234
+ case _util.OPS.paintSolidColorImageMask:
22235
+ this.paintSolidColorImageMask();
22236
+ break;
22237
+
22238
+ case _util.OPS.paintJpegXObject:
22239
+ this.paintJpegXObject(args[0], args[1], args[2]);
22240
+ break;
22241
+
22242
+ case _util.OPS.paintImageXObject:
22243
+ this.paintImageXObject(args[0]);
22244
+ break;
22245
+
22246
+ case _util.OPS.paintInlineImageXObject:
22247
+ this.paintInlineImageXObject(args[0]);
22248
+ break;
22249
+
22250
+ case _util.OPS.paintImageMaskXObject:
22251
+ this.paintImageMaskXObject(args[0]);
22252
+ break;
22253
+
22254
+ case _util.OPS.paintFormXObjectBegin:
22255
+ this.paintFormXObjectBegin(args[0], args[1]);
22256
+ break;
22257
+
22258
+ case _util.OPS.paintFormXObjectEnd:
22259
+ this.paintFormXObjectEnd();
22260
+ break;
22261
+
22262
+ case _util.OPS.closePath:
22263
+ this.closePath();
22264
+ break;
22265
+
22266
+ case _util.OPS.closeStroke:
22267
+ this.closeStroke();
22268
+ break;
22269
+
22270
+ case _util.OPS.closeFillStroke:
22271
+ this.closeFillStroke();
22272
+ break;
22273
+
22274
+ case _util.OPS.closeEOFillStroke:
22275
+ this.closeEOFillStroke();
22276
+ break;
22277
+
22278
+ case _util.OPS.nextLine:
22279
+ this.nextLine();
22280
+ break;
22281
+
22282
+ case _util.OPS.transform:
22283
+ this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);
22284
+ break;
22285
+
22286
+ case _util.OPS.constructPath:
22287
+ this.constructPath(args[0], args[1]);
22288
+ break;
22289
+
22290
+ case _util.OPS.endPath:
22291
+ this.endPath();
22292
+ break;
22293
+
22294
+ case 92:
22295
+ this.group(opTreeElement.items);
22296
+ break;
22297
+
22298
+ default:
22299
+ (0, _util.warn)("Unimplemented operator ".concat(fn));
22300
+ break;
22301
+ }
22302
+ }
22303
+ } catch (err) {
22304
+ _didIteratorError3 = true;
22305
+ _iteratorError3 = err;
22306
+ } finally {
22307
+ try {
22308
+ if (!_iteratorNormalCompletion3 && _iterator3["return"] != null) {
22309
+ _iterator3["return"]();
22310
+ }
22311
+ } finally {
22312
+ if (_didIteratorError3) {
22313
+ throw _iteratorError3;
22314
+ }
22315
+ }
22316
+ }
22317
+ }
22318
+ }, {
22319
+ key: "setWordSpacing",
22320
+ value: function setWordSpacing(wordSpacing) {
22321
+ this.current.wordSpacing = wordSpacing;
22322
+ }
22323
+ }, {
22324
+ key: "setCharSpacing",
22325
+ value: function setCharSpacing(charSpacing) {
22326
+ this.current.charSpacing = charSpacing;
22327
+ }
22328
+ }, {
22329
+ key: "nextLine",
22330
+ value: function nextLine() {
22331
+ this.moveText(0, this.current.leading);
22332
+ }
22333
+ }, {
22334
+ key: "setTextMatrix",
22335
+ value: function setTextMatrix(a, b, c, d, e, f) {
22336
+ var current = this.current;
22337
+ current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];
22338
+ current.textMatrixScale = Math.sqrt(a * a + b * b);
22339
+ current.x = current.lineX = 0;
22340
+ current.y = current.lineY = 0;
22341
+ current.xcoords = [];
22342
+ current.tspan = this.svgFactory.createElement("svg:tspan");
22343
+ current.tspan.setAttributeNS(null, "font-family", current.fontFamily);
22344
+ current.tspan.setAttributeNS(null, "font-size", "".concat(pf(current.fontSize), "px"));
22345
+ current.tspan.setAttributeNS(null, "y", pf(-current.y));
22346
+ current.txtElement = this.svgFactory.createElement("svg:text");
22347
+ current.txtElement.appendChild(current.tspan);
22348
+ }
22349
+ }, {
22350
+ key: "beginText",
22351
+ value: function beginText() {
22352
+ var current = this.current;
22353
+ current.x = current.lineX = 0;
22354
+ current.y = current.lineY = 0;
22355
+ current.textMatrix = _util.IDENTITY_MATRIX;
22356
+ current.lineMatrix = _util.IDENTITY_MATRIX;
22357
+ current.textMatrixScale = 1;
22358
+ current.tspan = this.svgFactory.createElement("svg:tspan");
22359
+ current.txtElement = this.svgFactory.createElement("svg:text");
22360
+ current.txtgrp = this.svgFactory.createElement("svg:g");
22361
+ current.xcoords = [];
22362
+ }
22363
+ }, {
22364
+ key: "moveText",
22365
+ value: function moveText(x, y) {
22366
+ var current = this.current;
22367
+ current.x = current.lineX += x;
22368
+ current.y = current.lineY += y;
22369
+ current.xcoords = [];
22370
+ current.tspan = this.svgFactory.createElement("svg:tspan");
22371
+ current.tspan.setAttributeNS(null, "font-family", current.fontFamily);
22372
+ current.tspan.setAttributeNS(null, "font-size", "".concat(pf(current.fontSize), "px"));
22373
+ current.tspan.setAttributeNS(null, "y", pf(-current.y));
22374
+ }
22375
+ }, {
22376
+ key: "showText",
22377
+ value: function showText(glyphs) {
22378
+ var current = this.current;
22379
+ var font = current.font;
22380
+ var fontSize = current.fontSize;
22381
+
22382
+ if (fontSize === 0) {
22383
+ return;
22384
+ }
22385
+
22386
+ var charSpacing = current.charSpacing;
22387
+ var wordSpacing = current.wordSpacing;
22388
+ var fontDirection = current.fontDirection;
22389
+ var textHScale = current.textHScale * fontDirection;
22390
+ var vertical = font.vertical;
22391
+ var widthAdvanceScale = fontSize * current.fontMatrix[0];
22392
+ var x = 0;
22393
+ var _iteratorNormalCompletion4 = true;
22394
+ var _didIteratorError4 = false;
22395
+ var _iteratorError4 = undefined;
22396
+
22397
+ try {
22398
+ for (var _iterator4 = glyphs[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
22399
+ var glyph = _step4.value;
22400
+
22401
+ if (glyph === null) {
22402
+ x += fontDirection * wordSpacing;
22403
+ continue;
22404
+ } else if ((0, _util.isNum)(glyph)) {
22405
+ x += -glyph * fontSize * 0.001;
22406
+ continue;
22407
+ }
22408
+
22409
+ var width = glyph.width;
22410
+ var character = glyph.fontChar;
22411
+ var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;
22412
+ var charWidth = width * widthAdvanceScale + spacing * fontDirection;
22413
+
22414
+ if (!glyph.isInFont && !font.missingFile) {
22415
+ x += charWidth;
22416
+ continue;
22417
+ }
22418
+
22419
+ current.xcoords.push(current.x + x * textHScale);
22420
+ current.tspan.textContent += character;
22421
+ x += charWidth;
22422
+ }
22423
+ } catch (err) {
22424
+ _didIteratorError4 = true;
22425
+ _iteratorError4 = err;
22426
+ } finally {
22427
+ try {
22428
+ if (!_iteratorNormalCompletion4 && _iterator4["return"] != null) {
22429
+ _iterator4["return"]();
22430
+ }
22431
+ } finally {
22432
+ if (_didIteratorError4) {
22433
+ throw _iteratorError4;
22434
+ }
22435
+ }
22436
+ }
22437
+
22438
+ if (vertical) {
22439
+ current.y -= x * textHScale;
22440
+ } else {
22441
+ current.x += x * textHScale;
22442
+ }
22443
+
22444
+ current.tspan.setAttributeNS(null, "x", current.xcoords.map(pf).join(" "));
22445
+ current.tspan.setAttributeNS(null, "y", pf(-current.y));
22446
+ current.tspan.setAttributeNS(null, "font-family", current.fontFamily);
22447
+ current.tspan.setAttributeNS(null, "font-size", "".concat(pf(current.fontSize), "px"));
22448
+
22449
+ if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {
22450
+ current.tspan.setAttributeNS(null, "font-style", current.fontStyle);
22451
+ }
22452
+
22453
+ if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {
22454
+ current.tspan.setAttributeNS(null, "font-weight", current.fontWeight);
22455
+ }
22456
+
22457
+ var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;
22458
+
22459
+ if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
22460
+ if (current.fillColor !== SVG_DEFAULTS.fillColor) {
22461
+ current.tspan.setAttributeNS(null, "fill", current.fillColor);
22462
+ }
22463
+
22464
+ if (current.fillAlpha < 1) {
22465
+ current.tspan.setAttributeNS(null, "fill-opacity", current.fillAlpha);
22466
+ }
22467
+ } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {
22468
+ current.tspan.setAttributeNS(null, "fill", "transparent");
22469
+ } else {
22470
+ current.tspan.setAttributeNS(null, "fill", "none");
22471
+ }
22472
+
22473
+ if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
22474
+ var lineWidthScale = 1 / (current.textMatrixScale || 1);
22475
+
22476
+ this._setStrokeAttributes(current.tspan, lineWidthScale);
22477
+ }
22478
+
22479
+ var textMatrix = current.textMatrix;
22480
+
22481
+ if (current.textRise !== 0) {
22482
+ textMatrix = textMatrix.slice();
22483
+ textMatrix[5] += current.textRise;
22484
+ }
22485
+
22486
+ current.txtElement.setAttributeNS(null, "transform", "".concat(pm(textMatrix), " scale(1, -1)"));
22487
+ current.txtElement.setAttributeNS(XML_NS, "xml:space", "preserve");
22488
+ current.txtElement.appendChild(current.tspan);
22489
+ current.txtgrp.appendChild(current.txtElement);
22490
+
22491
+ this._ensureTransformGroup().appendChild(current.txtElement);
22492
+ }
22493
+ }, {
22494
+ key: "setLeadingMoveText",
22495
+ value: function setLeadingMoveText(x, y) {
22496
+ this.setLeading(-y);
22497
+ this.moveText(x, y);
22498
+ }
22499
+ }, {
22500
+ key: "addFontStyle",
22501
+ value: function addFontStyle(fontObj) {
22502
+ if (!this.cssStyle) {
22503
+ this.cssStyle = this.svgFactory.createElement("svg:style");
22504
+ this.cssStyle.setAttributeNS(null, "type", "text/css");
22505
+ this.defs.appendChild(this.cssStyle);
22506
+ }
22507
+
22508
+ var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);
22509
+ this.cssStyle.textContent += "@font-face { font-family: \"".concat(fontObj.loadedName, "\";") + " src: url(".concat(url, "); }\n");
22510
+ }
22511
+ }, {
22512
+ key: "setFont",
22513
+ value: function setFont(details) {
22514
+ var current = this.current;
22515
+ var fontObj = this.commonObjs.get(details[0]);
22516
+ var size = details[1];
22517
+ current.font = fontObj;
22518
+
22519
+ if (this.embedFonts && fontObj.data && !this.embeddedFonts[fontObj.loadedName]) {
22520
+ this.addFontStyle(fontObj);
22521
+ this.embeddedFonts[fontObj.loadedName] = fontObj;
22522
+ }
22523
+
22524
+ current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;
22525
+ var bold = "normal";
22526
+
22527
+ if (fontObj.black) {
22528
+ bold = "900";
22529
+ } else if (fontObj.bold) {
22530
+ bold = "bold";
22531
+ }
22532
+
22533
+ var italic = fontObj.italic ? "italic" : "normal";
22534
+
22535
+ if (size < 0) {
22536
+ size = -size;
22537
+ current.fontDirection = -1;
22538
+ } else {
22539
+ current.fontDirection = 1;
22540
+ }
22541
+
22542
+ current.fontSize = size;
22543
+ current.fontFamily = fontObj.loadedName;
22544
+ current.fontWeight = bold;
22545
+ current.fontStyle = italic;
22546
+ current.tspan = this.svgFactory.createElement("svg:tspan");
22547
+ current.tspan.setAttributeNS(null, "y", pf(-current.y));
22548
+ current.xcoords = [];
22549
+ }
22550
+ }, {
22551
+ key: "endText",
22552
+ value: function endText() {
22553
+ var current = this.current;
22554
+
22555
+ if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement && current.txtElement.hasChildNodes()) {
22556
+ current.element = current.txtElement;
22557
+ this.clip("nonzero");
22558
+ this.endPath();
22559
+ }
22560
+ }
22561
+ }, {
22562
+ key: "setLineWidth",
22563
+ value: function setLineWidth(width) {
22564
+ if (width > 0) {
22565
+ this.current.lineWidth = width;
22566
+ }
22567
+ }
22568
+ }, {
22569
+ key: "setLineCap",
22570
+ value: function setLineCap(style) {
22571
+ this.current.lineCap = LINE_CAP_STYLES[style];
22572
+ }
22573
+ }, {
22574
+ key: "setLineJoin",
22575
+ value: function setLineJoin(style) {
22576
+ this.current.lineJoin = LINE_JOIN_STYLES[style];
22577
+ }
22578
+ }, {
22579
+ key: "setMiterLimit",
22580
+ value: function setMiterLimit(limit) {
22581
+ this.current.miterLimit = limit;
22582
+ }
22583
+ }, {
22584
+ key: "setStrokeAlpha",
22585
+ value: function setStrokeAlpha(strokeAlpha) {
22586
+ this.current.strokeAlpha = strokeAlpha;
22587
+ }
22588
+ }, {
22589
+ key: "setStrokeRGBColor",
22590
+ value: function setStrokeRGBColor(r, g, b) {
22591
+ this.current.strokeColor = _util.Util.makeCssRgb(r, g, b);
22592
+ }
22593
+ }, {
22594
+ key: "setFillAlpha",
22595
+ value: function setFillAlpha(fillAlpha) {
22596
+ this.current.fillAlpha = fillAlpha;
22597
+ }
22598
+ }, {
22599
+ key: "setFillRGBColor",
22600
+ value: function setFillRGBColor(r, g, b) {
22601
+ this.current.fillColor = _util.Util.makeCssRgb(r, g, b);
22602
+ this.current.tspan = this.svgFactory.createElement("svg:tspan");
22603
+ this.current.xcoords = [];
22604
+ }
22605
+ }, {
22606
+ key: "setStrokeColorN",
22607
+ value: function setStrokeColorN(args) {
22608
+ this.current.strokeColor = this._makeColorN_Pattern(args);
22609
+ }
22610
+ }, {
22611
+ key: "setFillColorN",
22612
+ value: function setFillColorN(args) {
22613
+ this.current.fillColor = this._makeColorN_Pattern(args);
22614
+ }
22615
+ }, {
22616
+ key: "shadingFill",
22617
+ value: function shadingFill(args) {
22618
+ var width = this.viewport.width;
22619
+ var height = this.viewport.height;
22620
+
22621
+ var inv = _util.Util.inverseTransform(this.transformMatrix);
22622
+
22623
+ var bl = _util.Util.applyTransform([0, 0], inv);
22624
+
22625
+ var br = _util.Util.applyTransform([0, height], inv);
22626
+
22627
+ var ul = _util.Util.applyTransform([width, 0], inv);
22628
+
22629
+ var ur = _util.Util.applyTransform([width, height], inv);
22630
+
22631
+ var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);
22632
+ var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);
22633
+ var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);
22634
+ var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);
22635
+ var rect = this.svgFactory.createElement("svg:rect");
22636
+ rect.setAttributeNS(null, "x", x0);
22637
+ rect.setAttributeNS(null, "y", y0);
22638
+ rect.setAttributeNS(null, "width", x1 - x0);
22639
+ rect.setAttributeNS(null, "height", y1 - y0);
22640
+ rect.setAttributeNS(null, "fill", this._makeShadingPattern(args));
22641
+
22642
+ this._ensureTransformGroup().appendChild(rect);
22643
+ }
22644
+ }, {
22645
+ key: "_makeColorN_Pattern",
22646
+ value: function _makeColorN_Pattern(args) {
22647
+ if (args[0] === "TilingPattern") {
22648
+ return this._makeTilingPattern(args);
22649
+ }
22650
+
22651
+ return this._makeShadingPattern(args);
22652
+ }
22653
+ }, {
22654
+ key: "_makeTilingPattern",
22655
+ value: function _makeTilingPattern(args) {
22656
+ var color = args[1];
22657
+ var operatorList = args[2];
22658
+ var matrix = args[3] || _util.IDENTITY_MATRIX;
22659
+
22660
+ var _args$ = _slicedToArray(args[4], 4),
22661
+ x0 = _args$[0],
22662
+ y0 = _args$[1],
22663
+ x1 = _args$[2],
22664
+ y1 = _args$[3];
22665
+
22666
+ var xstep = args[5];
22667
+ var ystep = args[6];
22668
+ var paintType = args[7];
22669
+ var tilingId = "shading".concat(shadingCount++);
22670
+
22671
+ var _Util$applyTransform = _util.Util.applyTransform([x0, y0], matrix),
22672
+ _Util$applyTransform2 = _slicedToArray(_Util$applyTransform, 2),
22673
+ tx0 = _Util$applyTransform2[0],
22674
+ ty0 = _Util$applyTransform2[1];
22675
+
22676
+ var _Util$applyTransform3 = _util.Util.applyTransform([x1, y1], matrix),
22677
+ _Util$applyTransform4 = _slicedToArray(_Util$applyTransform3, 2),
22678
+ tx1 = _Util$applyTransform4[0],
22679
+ ty1 = _Util$applyTransform4[1];
22680
+
22681
+ var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(matrix),
22682
+ _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2),
22683
+ xscale = _Util$singularValueDe2[0],
22684
+ yscale = _Util$singularValueDe2[1];
22685
+
22686
+ var txstep = xstep * xscale;
22687
+ var tystep = ystep * yscale;
22688
+ var tiling = this.svgFactory.createElement("svg:pattern");
22689
+ tiling.setAttributeNS(null, "id", tilingId);
22690
+ tiling.setAttributeNS(null, "patternUnits", "userSpaceOnUse");
22691
+ tiling.setAttributeNS(null, "width", txstep);
22692
+ tiling.setAttributeNS(null, "height", tystep);
22693
+ tiling.setAttributeNS(null, "x", "".concat(tx0));
22694
+ tiling.setAttributeNS(null, "y", "".concat(ty0));
22695
+ var svg = this.svg;
22696
+ var transformMatrix = this.transformMatrix;
22697
+ var fillColor = this.current.fillColor;
22698
+ var strokeColor = this.current.strokeColor;
22699
+ var bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);
22700
+ this.svg = bbox;
22701
+ this.transformMatrix = matrix;
22702
+
22703
+ if (paintType === 2) {
22704
+ var cssColor = _util.Util.makeCssRgb.apply(_util.Util, _toConsumableArray(color));
22705
+
22706
+ this.current.fillColor = cssColor;
22707
+ this.current.strokeColor = cssColor;
22708
+ }
22709
+
22710
+ this.executeOpTree(this.convertOpList(operatorList));
22711
+ this.svg = svg;
22712
+ this.transformMatrix = transformMatrix;
22713
+ this.current.fillColor = fillColor;
22714
+ this.current.strokeColor = strokeColor;
22715
+ tiling.appendChild(bbox.childNodes[0]);
22716
+ this.defs.appendChild(tiling);
22717
+ return "url(#".concat(tilingId, ")");
22718
+ }
22719
+ }, {
22720
+ key: "_makeShadingPattern",
22721
+ value: function _makeShadingPattern(args) {
22722
+ switch (args[0]) {
22723
+ case "RadialAxial":
22724
+ var shadingId = "shading".concat(shadingCount++);
22725
+ var colorStops = args[3];
22726
+ var gradient;
22727
+
22728
+ switch (args[1]) {
22729
+ case "axial":
22730
+ var point0 = args[4];
22731
+ var point1 = args[5];
22732
+ gradient = this.svgFactory.createElement("svg:linearGradient");
22733
+ gradient.setAttributeNS(null, "id", shadingId);
22734
+ gradient.setAttributeNS(null, "gradientUnits", "userSpaceOnUse");
22735
+ gradient.setAttributeNS(null, "x1", point0[0]);
22736
+ gradient.setAttributeNS(null, "y1", point0[1]);
22737
+ gradient.setAttributeNS(null, "x2", point1[0]);
22738
+ gradient.setAttributeNS(null, "y2", point1[1]);
22739
+ break;
22740
+
22741
+ case "radial":
22742
+ var focalPoint = args[4];
22743
+ var circlePoint = args[5];
22744
+ var focalRadius = args[6];
22745
+ var circleRadius = args[7];
22746
+ gradient = this.svgFactory.createElement("svg:radialGradient");
22747
+ gradient.setAttributeNS(null, "id", shadingId);
22748
+ gradient.setAttributeNS(null, "gradientUnits", "userSpaceOnUse");
22749
+ gradient.setAttributeNS(null, "cx", circlePoint[0]);
22750
+ gradient.setAttributeNS(null, "cy", circlePoint[1]);
22751
+ gradient.setAttributeNS(null, "r", circleRadius);
22752
+ gradient.setAttributeNS(null, "fx", focalPoint[0]);
22753
+ gradient.setAttributeNS(null, "fy", focalPoint[1]);
22754
+ gradient.setAttributeNS(null, "fr", focalRadius);
22755
+ break;
22756
+
22757
+ default:
22758
+ throw new Error("Unknown RadialAxial type: ".concat(args[1]));
22759
+ }
22760
+
22761
+ var _iteratorNormalCompletion5 = true;
22762
+ var _didIteratorError5 = false;
22763
+ var _iteratorError5 = undefined;
22764
+
22765
+ try {
22766
+ for (var _iterator5 = colorStops[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
22767
+ var colorStop = _step5.value;
22768
+ var stop = this.svgFactory.createElement("svg:stop");
22769
+ stop.setAttributeNS(null, "offset", colorStop[0]);
22770
+ stop.setAttributeNS(null, "stop-color", colorStop[1]);
22771
+ gradient.appendChild(stop);
22772
+ }
22773
+ } catch (err) {
22774
+ _didIteratorError5 = true;
22775
+ _iteratorError5 = err;
22776
+ } finally {
22777
+ try {
22778
+ if (!_iteratorNormalCompletion5 && _iterator5["return"] != null) {
22779
+ _iterator5["return"]();
22780
+ }
22781
+ } finally {
22782
+ if (_didIteratorError5) {
22783
+ throw _iteratorError5;
22784
+ }
22785
+ }
22786
+ }
22787
+
22788
+ this.defs.appendChild(gradient);
22789
+ return "url(#".concat(shadingId, ")");
22790
+
22791
+ case "Mesh":
22792
+ (0, _util.warn)("Unimplemented pattern Mesh");
22793
+ return null;
22794
+
22795
+ case "Dummy":
22796
+ return "hotpink";
22797
+
22798
+ default:
22799
+ throw new Error("Unknown IR type: ".concat(args[0]));
22800
+ }
22801
+ }
22802
+ }, {
22803
+ key: "setDash",
22804
+ value: function setDash(dashArray, dashPhase) {
22805
+ this.current.dashArray = dashArray;
22806
+ this.current.dashPhase = dashPhase;
22807
+ }
22808
+ }, {
22809
+ key: "constructPath",
22810
+ value: function constructPath(ops, args) {
22811
+ var current = this.current;
22812
+ var x = current.x,
22813
+ y = current.y;
22814
+ var d = [];
22815
+ var j = 0;
22816
+ var _iteratorNormalCompletion6 = true;
22817
+ var _didIteratorError6 = false;
22818
+ var _iteratorError6 = undefined;
22819
+
22820
+ try {
22821
+ for (var _iterator6 = ops[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
22822
+ var op = _step6.value;
22823
+
22824
+ switch (op | 0) {
22825
+ case _util.OPS.rectangle:
22826
+ x = args[j++];
22827
+ y = args[j++];
22828
+ var width = args[j++];
22829
+ var height = args[j++];
22830
+ var xw = x + width;
22831
+ var yh = y + height;
22832
+ d.push("M", pf(x), pf(y), "L", pf(xw), pf(y), "L", pf(xw), pf(yh), "L", pf(x), pf(yh), "Z");
22833
+ break;
22834
+
22835
+ case _util.OPS.moveTo:
22836
+ x = args[j++];
22837
+ y = args[j++];
22838
+ d.push("M", pf(x), pf(y));
22839
+ break;
22840
+
22841
+ case _util.OPS.lineTo:
22842
+ x = args[j++];
22843
+ y = args[j++];
22844
+ d.push("L", pf(x), pf(y));
22845
+ break;
22846
+
22847
+ case _util.OPS.curveTo:
22848
+ x = args[j + 4];
22849
+ y = args[j + 5];
22850
+ d.push("C", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));
22851
+ j += 6;
22852
+ break;
22853
+
22854
+ case _util.OPS.curveTo2:
22855
+ d.push("C", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));
22856
+ x = args[j + 2];
22857
+ y = args[j + 3];
22858
+ j += 4;
22859
+ break;
22860
+
22861
+ case _util.OPS.curveTo3:
22862
+ x = args[j + 2];
22863
+ y = args[j + 3];
22864
+ d.push("C", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));
22865
+ j += 4;
22866
+ break;
22867
+
22868
+ case _util.OPS.closePath:
22869
+ d.push("Z");
22870
+ break;
22871
+ }
22872
+ }
22873
+ } catch (err) {
22874
+ _didIteratorError6 = true;
22875
+ _iteratorError6 = err;
22876
+ } finally {
22877
+ try {
22878
+ if (!_iteratorNormalCompletion6 && _iterator6["return"] != null) {
22879
+ _iterator6["return"]();
22880
+ }
22881
+ } finally {
22882
+ if (_didIteratorError6) {
22883
+ throw _iteratorError6;
22884
+ }
22885
+ }
22886
+ }
22887
+
22888
+ d = d.join(" ");
22889
+
22890
+ if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {
22891
+ d = current.path.getAttributeNS(null, "d") + d;
22892
+ } else {
22893
+ current.path = this.svgFactory.createElement("svg:path");
22894
+
22895
+ this._ensureTransformGroup().appendChild(current.path);
22896
+ }
22897
+
22898
+ current.path.setAttributeNS(null, "d", d);
22899
+ current.path.setAttributeNS(null, "fill", "none");
22900
+ current.element = current.path;
22901
+ current.setCurrentPoint(x, y);
22902
+ }
22903
+ }, {
22904
+ key: "endPath",
22905
+ value: function endPath() {
22906
+ var current = this.current;
22907
+ current.path = null;
22908
+
22909
+ if (!this.pendingClip) {
22910
+ return;
22911
+ }
22912
+
22913
+ if (!current.element) {
22914
+ this.pendingClip = null;
22915
+ return;
22916
+ }
22917
+
22918
+ var clipId = "clippath".concat(clipCount++);
22919
+ var clipPath = this.svgFactory.createElement("svg:clipPath");
22920
+ clipPath.setAttributeNS(null, "id", clipId);
22921
+ clipPath.setAttributeNS(null, "transform", pm(this.transformMatrix));
22922
+ var clipElement = current.element.cloneNode(true);
22923
+
22924
+ if (this.pendingClip === "evenodd") {
22925
+ clipElement.setAttributeNS(null, "clip-rule", "evenodd");
22926
+ } else {
22927
+ clipElement.setAttributeNS(null, "clip-rule", "nonzero");
22928
+ }
22929
+
22930
+ this.pendingClip = null;
22931
+ clipPath.appendChild(clipElement);
22932
+ this.defs.appendChild(clipPath);
22933
+
22934
+ if (current.activeClipUrl) {
22935
+ current.clipGroup = null;
22936
+ this.extraStack.forEach(function (prev) {
22937
+ prev.clipGroup = null;
22938
+ });
22939
+ clipPath.setAttributeNS(null, "clip-path", current.activeClipUrl);
22940
+ }
22941
+
22942
+ current.activeClipUrl = "url(#".concat(clipId, ")");
22943
+ this.tgrp = null;
22944
+ }
22945
+ }, {
22946
+ key: "clip",
22947
+ value: function clip(type) {
22948
+ this.pendingClip = type;
22949
+ }
22950
+ }, {
22951
+ key: "closePath",
22952
+ value: function closePath() {
22953
+ var current = this.current;
22954
+
22955
+ if (current.path) {
22956
+ var d = "".concat(current.path.getAttributeNS(null, "d"), "Z");
22957
+ current.path.setAttributeNS(null, "d", d);
22958
+ }
22959
+ }
22960
+ }, {
22961
+ key: "setLeading",
22962
+ value: function setLeading(leading) {
22963
+ this.current.leading = -leading;
22964
+ }
22965
+ }, {
22966
+ key: "setTextRise",
22967
+ value: function setTextRise(textRise) {
22968
+ this.current.textRise = textRise;
22969
+ }
22970
+ }, {
22971
+ key: "setTextRenderingMode",
22972
+ value: function setTextRenderingMode(textRenderingMode) {
22973
+ this.current.textRenderingMode = textRenderingMode;
22974
+ }
22975
+ }, {
22976
+ key: "setHScale",
22977
+ value: function setHScale(scale) {
22978
+ this.current.textHScale = scale / 100;
22979
+ }
22980
+ }, {
22981
+ key: "setRenderingIntent",
22982
+ value: function setRenderingIntent(intent) {}
22983
+ }, {
22984
+ key: "setFlatness",
22985
+ value: function setFlatness(flatness) {}
22986
+ }, {
22987
+ key: "setGState",
22988
+ value: function setGState(states) {
22989
+ var _iteratorNormalCompletion7 = true;
22990
+ var _didIteratorError7 = false;
22991
+ var _iteratorError7 = undefined;
22992
+
22993
+ try {
22994
+ for (var _iterator7 = states[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {
22995
+ var _step7$value = _slicedToArray(_step7.value, 2),
22996
+ key = _step7$value[0],
22997
+ value = _step7$value[1];
22998
+
22999
+ switch (key) {
23000
+ case "LW":
23001
+ this.setLineWidth(value);
23002
+ break;
23003
+
23004
+ case "LC":
23005
+ this.setLineCap(value);
23006
+ break;
23007
+
23008
+ case "LJ":
23009
+ this.setLineJoin(value);
23010
+ break;
23011
+
23012
+ case "ML":
23013
+ this.setMiterLimit(value);
23014
+ break;
23015
+
23016
+ case "D":
23017
+ this.setDash(value[0], value[1]);
23018
+ break;
23019
+
23020
+ case "RI":
23021
+ this.setRenderingIntent(value);
23022
+ break;
23023
+
23024
+ case "FL":
23025
+ this.setFlatness(value);
23026
+ break;
23027
+
23028
+ case "Font":
23029
+ this.setFont(value);
23030
+ break;
23031
+
23032
+ case "CA":
23033
+ this.setStrokeAlpha(value);
23034
+ break;
23035
+
23036
+ case "ca":
23037
+ this.setFillAlpha(value);
23038
+ break;
23039
+
23040
+ default:
23041
+ (0, _util.warn)("Unimplemented graphic state operator ".concat(key));
23042
+ break;
23043
+ }
23044
+ }
23045
+ } catch (err) {
23046
+ _didIteratorError7 = true;
23047
+ _iteratorError7 = err;
23048
+ } finally {
23049
+ try {
23050
+ if (!_iteratorNormalCompletion7 && _iterator7["return"] != null) {
23051
+ _iterator7["return"]();
23052
+ }
23053
+ } finally {
23054
+ if (_didIteratorError7) {
23055
+ throw _iteratorError7;
23056
+ }
23057
+ }
23058
+ }
23059
+ }
23060
+ }, {
23061
+ key: "fill",
23062
+ value: function fill() {
23063
+ var current = this.current;
23064
+
23065
+ if (current.element) {
23066
+ current.element.setAttributeNS(null, "fill", current.fillColor);
23067
+ current.element.setAttributeNS(null, "fill-opacity", current.fillAlpha);
23068
+ this.endPath();
23069
+ }
23070
+ }
23071
+ }, {
23072
+ key: "stroke",
23073
+ value: function stroke() {
23074
+ var current = this.current;
23075
+
23076
+ if (current.element) {
23077
+ this._setStrokeAttributes(current.element);
23078
+
23079
+ current.element.setAttributeNS(null, "fill", "none");
23080
+ this.endPath();
23081
+ }
23082
+ }
23083
+ }, {
23084
+ key: "_setStrokeAttributes",
23085
+ value: function _setStrokeAttributes(element) {
23086
+ var lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
23087
+ var current = this.current;
23088
+ var dashArray = current.dashArray;
23089
+
23090
+ if (lineWidthScale !== 1 && dashArray.length > 0) {
23091
+ dashArray = dashArray.map(function (value) {
23092
+ return lineWidthScale * value;
23093
+ });
23094
+ }
23095
+
23096
+ element.setAttributeNS(null, "stroke", current.strokeColor);
23097
+ element.setAttributeNS(null, "stroke-opacity", current.strokeAlpha);
23098
+ element.setAttributeNS(null, "stroke-miterlimit", pf(current.miterLimit));
23099
+ element.setAttributeNS(null, "stroke-linecap", current.lineCap);
23100
+ element.setAttributeNS(null, "stroke-linejoin", current.lineJoin);
23101
+ element.setAttributeNS(null, "stroke-width", pf(lineWidthScale * current.lineWidth) + "px");
23102
+ element.setAttributeNS(null, "stroke-dasharray", dashArray.map(pf).join(" "));
23103
+ element.setAttributeNS(null, "stroke-dashoffset", pf(lineWidthScale * current.dashPhase) + "px");
23104
+ }
23105
+ }, {
23106
+ key: "eoFill",
23107
+ value: function eoFill() {
23108
+ if (this.current.element) {
23109
+ this.current.element.setAttributeNS(null, "fill-rule", "evenodd");
23110
+ }
23111
+
23112
+ this.fill();
23113
+ }
23114
+ }, {
23115
+ key: "fillStroke",
23116
+ value: function fillStroke() {
23117
+ this.stroke();
23118
+ this.fill();
23119
+ }
23120
+ }, {
23121
+ key: "eoFillStroke",
23122
+ value: function eoFillStroke() {
23123
+ if (this.current.element) {
23124
+ this.current.element.setAttributeNS(null, "fill-rule", "evenodd");
23125
+ }
23126
+
23127
+ this.fillStroke();
23128
+ }
23129
+ }, {
23130
+ key: "closeStroke",
23131
+ value: function closeStroke() {
23132
+ this.closePath();
23133
+ this.stroke();
23134
+ }
23135
+ }, {
23136
+ key: "closeFillStroke",
23137
+ value: function closeFillStroke() {
23138
+ this.closePath();
23139
+ this.fillStroke();
23140
+ }
23141
+ }, {
23142
+ key: "closeEOFillStroke",
23143
+ value: function closeEOFillStroke() {
23144
+ this.closePath();
23145
+ this.eoFillStroke();
23146
+ }
23147
+ }, {
23148
+ key: "paintSolidColorImageMask",
23149
+ value: function paintSolidColorImageMask() {
23150
+ var rect = this.svgFactory.createElement("svg:rect");
23151
+ rect.setAttributeNS(null, "x", "0");
23152
+ rect.setAttributeNS(null, "y", "0");
23153
+ rect.setAttributeNS(null, "width", "1px");
23154
+ rect.setAttributeNS(null, "height", "1px");
23155
+ rect.setAttributeNS(null, "fill", this.current.fillColor);
23156
+
23157
+ this._ensureTransformGroup().appendChild(rect);
23158
+ }
23159
+ }, {
23160
+ key: "paintJpegXObject",
23161
+ value: function paintJpegXObject(objId, w, h) {
23162
+ var imgObj = this.objs.get(objId);
23163
+ var imgEl = this.svgFactory.createElement("svg:image");
23164
+ imgEl.setAttributeNS(XLINK_NS, "xlink:href", imgObj.src);
23165
+ imgEl.setAttributeNS(null, "width", pf(w));
23166
+ imgEl.setAttributeNS(null, "height", pf(h));
23167
+ imgEl.setAttributeNS(null, "x", "0");
23168
+ imgEl.setAttributeNS(null, "y", pf(-h));
23169
+ imgEl.setAttributeNS(null, "transform", "scale(".concat(pf(1 / w), " ").concat(pf(-1 / h), ")"));
23170
+
23171
+ this._ensureTransformGroup().appendChild(imgEl);
23172
+ }
23173
+ }, {
23174
+ key: "paintImageXObject",
23175
+ value: function paintImageXObject(objId) {
23176
+ var imgData = this.objs.get(objId);
23177
+
23178
+ if (!imgData) {
23179
+ (0, _util.warn)("Dependent image with object ID ".concat(objId, " is not ready yet"));
23180
+ return;
23181
+ }
23182
+
23183
+ this.paintInlineImageXObject(imgData);
23184
+ }
23185
+ }, {
23186
+ key: "paintInlineImageXObject",
23187
+ value: function paintInlineImageXObject(imgData, mask) {
23188
+ var width = imgData.width;
23189
+ var height = imgData.height;
23190
+ var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);
23191
+ var cliprect = this.svgFactory.createElement("svg:rect");
23192
+ cliprect.setAttributeNS(null, "x", "0");
23193
+ cliprect.setAttributeNS(null, "y", "0");
23194
+ cliprect.setAttributeNS(null, "width", pf(width));
23195
+ cliprect.setAttributeNS(null, "height", pf(height));
23196
+ this.current.element = cliprect;
23197
+ this.clip("nonzero");
23198
+ var imgEl = this.svgFactory.createElement("svg:image");
23199
+ imgEl.setAttributeNS(XLINK_NS, "xlink:href", imgSrc);
23200
+ imgEl.setAttributeNS(null, "x", "0");
23201
+ imgEl.setAttributeNS(null, "y", pf(-height));
23202
+ imgEl.setAttributeNS(null, "width", pf(width) + "px");
23203
+ imgEl.setAttributeNS(null, "height", pf(height) + "px");
23204
+ imgEl.setAttributeNS(null, "transform", "scale(".concat(pf(1 / width), " ").concat(pf(-1 / height), ")"));
23205
+
23206
+ if (mask) {
23207
+ mask.appendChild(imgEl);
23208
+ } else {
23209
+ this._ensureTransformGroup().appendChild(imgEl);
23210
+ }
23211
+ }
23212
+ }, {
23213
+ key: "paintImageMaskXObject",
23214
+ value: function paintImageMaskXObject(imgData) {
23215
+ var current = this.current;
23216
+ var width = imgData.width;
23217
+ var height = imgData.height;
23218
+ var fillColor = current.fillColor;
23219
+ current.maskId = "mask".concat(maskCount++);
23220
+ var mask = this.svgFactory.createElement("svg:mask");
23221
+ mask.setAttributeNS(null, "id", current.maskId);
23222
+ var rect = this.svgFactory.createElement("svg:rect");
23223
+ rect.setAttributeNS(null, "x", "0");
23224
+ rect.setAttributeNS(null, "y", "0");
23225
+ rect.setAttributeNS(null, "width", pf(width));
23226
+ rect.setAttributeNS(null, "height", pf(height));
23227
+ rect.setAttributeNS(null, "fill", fillColor);
23228
+ rect.setAttributeNS(null, "mask", "url(#".concat(current.maskId, ")"));
23229
+ this.defs.appendChild(mask);
23230
+
23231
+ this._ensureTransformGroup().appendChild(rect);
23232
+
23233
+ this.paintInlineImageXObject(imgData, mask);
23234
+ }
23235
+ }, {
23236
+ key: "paintFormXObjectBegin",
23237
+ value: function paintFormXObjectBegin(matrix, bbox) {
23238
+ if (Array.isArray(matrix) && matrix.length === 6) {
23239
+ this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);
23240
+ }
23241
+
23242
+ if (bbox) {
23243
+ var width = bbox[2] - bbox[0];
23244
+ var height = bbox[3] - bbox[1];
23245
+ var cliprect = this.svgFactory.createElement("svg:rect");
23246
+ cliprect.setAttributeNS(null, "x", bbox[0]);
23247
+ cliprect.setAttributeNS(null, "y", bbox[1]);
23248
+ cliprect.setAttributeNS(null, "width", pf(width));
23249
+ cliprect.setAttributeNS(null, "height", pf(height));
23250
+ this.current.element = cliprect;
23251
+ this.clip("nonzero");
23252
+ this.endPath();
23253
+ }
23254
+ }
23255
+ }, {
23256
+ key: "paintFormXObjectEnd",
23257
+ value: function paintFormXObjectEnd() {}
23258
+ }, {
23259
+ key: "_initialize",
23260
+ value: function _initialize(viewport) {
23261
+ var svg = this.svgFactory.create(viewport.width, viewport.height);
23262
+ var definitions = this.svgFactory.createElement("svg:defs");
23263
+ svg.appendChild(definitions);
23264
+ this.defs = definitions;
23265
+ var rootGroup = this.svgFactory.createElement("svg:g");
23266
+ rootGroup.setAttributeNS(null, "transform", pm(viewport.transform));
23267
+ svg.appendChild(rootGroup);
23268
+ this.svg = rootGroup;
23269
+ return svg;
23270
+ }
23271
+ }, {
23272
+ key: "_ensureClipGroup",
23273
+ value: function _ensureClipGroup() {
23274
+ if (!this.current.clipGroup) {
23275
+ var clipGroup = this.svgFactory.createElement("svg:g");
23276
+ clipGroup.setAttributeNS(null, "clip-path", this.current.activeClipUrl);
23277
+ this.svg.appendChild(clipGroup);
23278
+ this.current.clipGroup = clipGroup;
23279
+ }
23280
+
23281
+ return this.current.clipGroup;
23282
+ }
23283
+ }, {
23284
+ key: "_ensureTransformGroup",
23285
+ value: function _ensureTransformGroup() {
23286
+ if (!this.tgrp) {
23287
+ this.tgrp = this.svgFactory.createElement("svg:g");
23288
+ this.tgrp.setAttributeNS(null, "transform", pm(this.transformMatrix));
23289
+
23290
+ if (this.current.activeClipUrl) {
23291
+ this._ensureClipGroup().appendChild(this.tgrp);
23292
+ } else {
23293
+ this.svg.appendChild(this.tgrp);
23294
+ }
23295
+ }
23296
+
23297
+ return this.tgrp;
23298
+ }
23299
+ }]);
23300
+
23301
+ return SVGGraphics;
23302
+ }();
23303
+ }
23304
+
23305
+ /***/ }),
23306
+ /* 203 */
23307
+ /***/ (function(module, exports, __w_pdfjs_require__) {
23308
+
23309
+ "use strict";
23310
+
23311
+
23312
+ Object.defineProperty(exports, "__esModule", {
23313
+ value: true
23314
+ });
23315
+ exports.PDFNodeStream = void 0;
23316
+
23317
+ var _regenerator = _interopRequireDefault(__w_pdfjs_require__(186));
23318
+
23319
+ var _util = __w_pdfjs_require__(1);
23320
+
23321
+ var _network_utils = __w_pdfjs_require__(204);
23322
+
23323
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23324
+
23325
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
23326
+
23327
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
23328
+
23329
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
23330
+
23331
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
23332
+
23333
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
23334
+
23335
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
23336
+
23337
+ 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); } }
23338
+
23339
+ 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); }); }; }
23340
+
23341
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
23342
+
23343
+ 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); } }
23344
+
23345
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
23346
+
23347
+ var fs = require("fs");
23348
+
23349
+ var http = require("http");
23350
+
23351
+ var https = require("https");
23352
+
23353
+ var url = require("url");
23354
+
23355
+ var fileUriRegex = /^file:\/\/\/[a-zA-Z]:\//;
23356
+
23357
+ function parseUrl(sourceUrl) {
23358
+ var parsedUrl = url.parse(sourceUrl);
23359
+
23360
+ if (parsedUrl.protocol === "file:" || parsedUrl.host) {
23361
+ return parsedUrl;
23362
+ }
23363
+
23364
+ if (/^[a-z]:[/\\]/i.test(sourceUrl)) {
23365
+ return url.parse("file:///".concat(sourceUrl));
23366
+ }
23367
+
23368
+ if (!parsedUrl.host) {
23369
+ parsedUrl.protocol = "file:";
23370
+ }
23371
+
23372
+ return parsedUrl;
23373
+ }
23374
+
23375
+ var PDFNodeStream =
23376
+ /*#__PURE__*/
23377
+ function () {
23378
+ function PDFNodeStream(source) {
23379
+ _classCallCheck(this, PDFNodeStream);
23380
+
23381
+ this.source = source;
23382
+ this.url = parseUrl(source.url);
23383
+ this.isHttp = this.url.protocol === "http:" || this.url.protocol === "https:";
23384
+ this.isFsUrl = this.url.protocol === "file:";
23385
+ this.httpHeaders = this.isHttp && source.httpHeaders || {};
23386
+ this._fullRequestReader = null;
23387
+ this._rangeRequestReaders = [];
23388
+ }
23389
+
23390
+ _createClass(PDFNodeStream, [{
23391
+ key: "getFullReader",
23392
+ value: function getFullReader() {
23393
+ (0, _util.assert)(!this._fullRequestReader);
23394
+ this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);
23395
+ return this._fullRequestReader;
23396
+ }
23397
+ }, {
23398
+ key: "getRangeReader",
23399
+ value: function getRangeReader(start, end) {
23400
+ if (end <= this._progressiveDataLength) {
23401
+ return null;
23402
+ }
23403
+
23404
+ var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);
23405
+
23406
+ this._rangeRequestReaders.push(rangeReader);
23407
+
23408
+ return rangeReader;
23409
+ }
23410
+ }, {
23411
+ key: "cancelAllRequests",
23412
+ value: function cancelAllRequests(reason) {
23413
+ if (this._fullRequestReader) {
23414
+ this._fullRequestReader.cancel(reason);
23415
+ }
23416
+
23417
+ var readers = this._rangeRequestReaders.slice(0);
23418
+
23419
+ readers.forEach(function (reader) {
23420
+ reader.cancel(reason);
23421
+ });
23422
+ }
23423
+ }, {
23424
+ key: "_progressiveDataLength",
23425
+ get: function get() {
23426
+ return this._fullRequestReader ? this._fullRequestReader._loaded : 0;
23427
+ }
23428
+ }]);
23429
+
23430
+ return PDFNodeStream;
23431
+ }();
23432
+
23433
+ exports.PDFNodeStream = PDFNodeStream;
23434
+
23435
+ var BaseFullReader =
23436
+ /*#__PURE__*/
23437
+ function () {
23438
+ function BaseFullReader(stream) {
23439
+ _classCallCheck(this, BaseFullReader);
23440
+
23441
+ this._url = stream.url;
23442
+ this._done = false;
23443
+ this._storedError = null;
23444
+ this.onProgress = null;
23445
+ var source = stream.source;
23446
+ this._contentLength = source.length;
23447
+ this._loaded = 0;
23448
+ this._filename = null;
23449
+ this._disableRange = source.disableRange || false;
23450
+ this._rangeChunkSize = source.rangeChunkSize;
23451
+
23452
+ if (!this._rangeChunkSize && !this._disableRange) {
23453
+ this._disableRange = true;
23454
+ }
23455
+
23456
+ this._isStreamingSupported = !source.disableStream;
23457
+ this._isRangeSupported = !source.disableRange;
23458
+ this._readableStream = null;
23459
+ this._readCapability = (0, _util.createPromiseCapability)();
23460
+ this._headersCapability = (0, _util.createPromiseCapability)();
23461
+ }
23462
+
23463
+ _createClass(BaseFullReader, [{
23464
+ key: "read",
23465
+ value: function () {
23466
+ var _read = _asyncToGenerator(
23467
+ /*#__PURE__*/
23468
+ _regenerator["default"].mark(function _callee() {
23469
+ var chunk, buffer;
23470
+ return _regenerator["default"].wrap(function _callee$(_context) {
23471
+ while (1) {
23472
+ switch (_context.prev = _context.next) {
23473
+ case 0:
23474
+ _context.next = 2;
23475
+ return this._readCapability.promise;
23476
+
23477
+ case 2:
23478
+ if (!this._done) {
23479
+ _context.next = 4;
23480
+ break;
23481
+ }
23482
+
23483
+ return _context.abrupt("return", {
23484
+ value: undefined,
23485
+ done: true
23486
+ });
23487
+
23488
+ case 4:
23489
+ if (!this._storedError) {
23490
+ _context.next = 6;
23491
+ break;
23492
+ }
23493
+
23494
+ throw this._storedError;
23495
+
23496
+ case 6:
23497
+ chunk = this._readableStream.read();
23498
+
23499
+ if (!(chunk === null)) {
23500
+ _context.next = 10;
23501
+ break;
23502
+ }
23503
+
23504
+ this._readCapability = (0, _util.createPromiseCapability)();
23505
+ return _context.abrupt("return", this.read());
23506
+
23507
+ case 10:
23508
+ this._loaded += chunk.length;
23509
+
23510
+ if (this.onProgress) {
23511
+ this.onProgress({
23512
+ loaded: this._loaded,
23513
+ total: this._contentLength
23514
+ });
23515
+ }
23516
+
23517
+ buffer = new Uint8Array(chunk).buffer;
23518
+ return _context.abrupt("return", {
23519
+ value: buffer,
23520
+ done: false
23521
+ });
23522
+
23523
+ case 14:
23524
+ case "end":
23525
+ return _context.stop();
23526
+ }
23527
+ }
23528
+ }, _callee, this);
23529
+ }));
23530
+
23531
+ function read() {
23532
+ return _read.apply(this, arguments);
23533
+ }
23534
+
23535
+ return read;
23536
+ }()
23537
+ }, {
23538
+ key: "cancel",
23539
+ value: function cancel(reason) {
23540
+ if (!this._readableStream) {
23541
+ this._error(reason);
23542
+
23543
+ return;
23544
+ }
23545
+
23546
+ this._readableStream.destroy(reason);
23547
+ }
23548
+ }, {
23549
+ key: "_error",
23550
+ value: function _error(reason) {
23551
+ this._storedError = reason;
23552
+
23553
+ this._readCapability.resolve();
23554
+ }
23555
+ }, {
23556
+ key: "_setReadableStream",
23557
+ value: function _setReadableStream(readableStream) {
23558
+ var _this = this;
23559
+
23560
+ this._readableStream = readableStream;
23561
+ readableStream.on("readable", function () {
23562
+ _this._readCapability.resolve();
23563
+ });
23564
+ readableStream.on("end", function () {
23565
+ readableStream.destroy();
23566
+ _this._done = true;
23567
+
23568
+ _this._readCapability.resolve();
23569
+ });
23570
+ readableStream.on("error", function (reason) {
23571
+ _this._error(reason);
23572
+ });
23573
+
23574
+ if (!this._isStreamingSupported && this._isRangeSupported) {
23575
+ this._error(new _util.AbortException("streaming is disabled"));
23576
+ }
23577
+
23578
+ if (this._storedError) {
23579
+ this._readableStream.destroy(this._storedError);
23580
+ }
23581
+ }
23582
+ }, {
23583
+ key: "headersReady",
23584
+ get: function get() {
23585
+ return this._headersCapability.promise;
23586
+ }
23587
+ }, {
23588
+ key: "filename",
23589
+ get: function get() {
23590
+ return this._filename;
23591
+ }
23592
+ }, {
23593
+ key: "contentLength",
23594
+ get: function get() {
23595
+ return this._contentLength;
23596
+ }
23597
+ }, {
23598
+ key: "isRangeSupported",
23599
+ get: function get() {
23600
+ return this._isRangeSupported;
23601
+ }
23602
+ }, {
23603
+ key: "isStreamingSupported",
23604
+ get: function get() {
23605
+ return this._isStreamingSupported;
23606
+ }
23607
+ }]);
23608
+
23609
+ return BaseFullReader;
23610
+ }();
23611
+
23612
+ var BaseRangeReader =
23613
+ /*#__PURE__*/
23614
+ function () {
23615
+ function BaseRangeReader(stream) {
23616
+ _classCallCheck(this, BaseRangeReader);
23617
+
23618
+ this._url = stream.url;
23619
+ this._done = false;
23620
+ this._storedError = null;
23621
+ this.onProgress = null;
23622
+ this._loaded = 0;
23623
+ this._readableStream = null;
23624
+ this._readCapability = (0, _util.createPromiseCapability)();
23625
+ var source = stream.source;
23626
+ this._isStreamingSupported = !source.disableStream;
23627
+ }
23628
+
23629
+ _createClass(BaseRangeReader, [{
23630
+ key: "read",
23631
+ value: function () {
23632
+ var _read2 = _asyncToGenerator(
23633
+ /*#__PURE__*/
23634
+ _regenerator["default"].mark(function _callee2() {
23635
+ var chunk, buffer;
23636
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
23637
+ while (1) {
23638
+ switch (_context2.prev = _context2.next) {
23639
+ case 0:
23640
+ _context2.next = 2;
23641
+ return this._readCapability.promise;
23642
+
23643
+ case 2:
23644
+ if (!this._done) {
23645
+ _context2.next = 4;
23646
+ break;
23647
+ }
23648
+
23649
+ return _context2.abrupt("return", {
23650
+ value: undefined,
23651
+ done: true
23652
+ });
23653
+
23654
+ case 4:
23655
+ if (!this._storedError) {
23656
+ _context2.next = 6;
23657
+ break;
23658
+ }
23659
+
23660
+ throw this._storedError;
23661
+
23662
+ case 6:
23663
+ chunk = this._readableStream.read();
23664
+
23665
+ if (!(chunk === null)) {
23666
+ _context2.next = 10;
23667
+ break;
23668
+ }
23669
+
23670
+ this._readCapability = (0, _util.createPromiseCapability)();
23671
+ return _context2.abrupt("return", this.read());
23672
+
23673
+ case 10:
23674
+ this._loaded += chunk.length;
23675
+
23676
+ if (this.onProgress) {
23677
+ this.onProgress({
23678
+ loaded: this._loaded
23679
+ });
23680
+ }
23681
+
23682
+ buffer = new Uint8Array(chunk).buffer;
23683
+ return _context2.abrupt("return", {
23684
+ value: buffer,
23685
+ done: false
23686
+ });
23687
+
23688
+ case 14:
23689
+ case "end":
23690
+ return _context2.stop();
23691
+ }
23692
+ }
23693
+ }, _callee2, this);
23694
+ }));
23695
+
23696
+ function read() {
23697
+ return _read2.apply(this, arguments);
23698
+ }
23699
+
23700
+ return read;
23701
+ }()
23702
+ }, {
23703
+ key: "cancel",
23704
+ value: function cancel(reason) {
23705
+ if (!this._readableStream) {
23706
+ this._error(reason);
23707
+
23708
+ return;
23709
+ }
23710
+
23711
+ this._readableStream.destroy(reason);
23712
+ }
23713
+ }, {
23714
+ key: "_error",
23715
+ value: function _error(reason) {
23716
+ this._storedError = reason;
23717
+
23718
+ this._readCapability.resolve();
23719
+ }
23720
+ }, {
23721
+ key: "_setReadableStream",
23722
+ value: function _setReadableStream(readableStream) {
23723
+ var _this2 = this;
23724
+
23725
+ this._readableStream = readableStream;
23726
+ readableStream.on("readable", function () {
23727
+ _this2._readCapability.resolve();
23728
+ });
23729
+ readableStream.on("end", function () {
23730
+ readableStream.destroy();
23731
+ _this2._done = true;
23732
+
23733
+ _this2._readCapability.resolve();
23734
+ });
23735
+ readableStream.on("error", function (reason) {
23736
+ _this2._error(reason);
23737
+ });
23738
+
23739
+ if (this._storedError) {
23740
+ this._readableStream.destroy(this._storedError);
23741
+ }
23742
+ }
23743
+ }, {
23744
+ key: "isStreamingSupported",
23745
+ get: function get() {
23746
+ return this._isStreamingSupported;
23747
+ }
23748
+ }]);
23749
+
23750
+ return BaseRangeReader;
23751
+ }();
23752
+
23753
+ function createRequestOptions(url, headers) {
23754
+ return {
23755
+ protocol: url.protocol,
23756
+ auth: url.auth,
23757
+ host: url.hostname,
23758
+ port: url.port,
23759
+ path: url.path,
23760
+ method: "GET",
23761
+ headers: headers
23762
+ };
23763
+ }
23764
+
23765
+ var PDFNodeStreamFullReader =
23766
+ /*#__PURE__*/
23767
+ function (_BaseFullReader) {
23768
+ _inherits(PDFNodeStreamFullReader, _BaseFullReader);
23769
+
23770
+ function PDFNodeStreamFullReader(stream) {
23771
+ var _this3;
23772
+
23773
+ _classCallCheck(this, PDFNodeStreamFullReader);
23774
+
23775
+ _this3 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFullReader).call(this, stream));
23776
+
23777
+ var handleResponse = function handleResponse(response) {
23778
+ if (response.statusCode === 404) {
23779
+ var error = new _util.MissingPDFException("Missing PDF \"".concat(_this3._url, "\"."));
23780
+ _this3._storedError = error;
23781
+
23782
+ _this3._headersCapability.reject(error);
23783
+
23784
+ return;
23785
+ }
23786
+
23787
+ _this3._headersCapability.resolve();
23788
+
23789
+ _this3._setReadableStream(response);
23790
+
23791
+ var getResponseHeader = function getResponseHeader(name) {
23792
+ return _this3._readableStream.headers[name.toLowerCase()];
23793
+ };
23794
+
23795
+ var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({
23796
+ getResponseHeader: getResponseHeader,
23797
+ isHttp: stream.isHttp,
23798
+ rangeChunkSize: _this3._rangeChunkSize,
23799
+ disableRange: _this3._disableRange
23800
+ }),
23801
+ allowRangeRequests = _validateRangeRequest.allowRangeRequests,
23802
+ suggestedLength = _validateRangeRequest.suggestedLength;
23803
+
23804
+ _this3._isRangeSupported = allowRangeRequests;
23805
+ _this3._contentLength = suggestedLength || _this3._contentLength;
23806
+ _this3._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
23807
+ };
23808
+
23809
+ _this3._request = null;
23810
+
23811
+ if (_this3._url.protocol === "http:") {
23812
+ _this3._request = http.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);
23813
+ } else {
23814
+ _this3._request = https.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);
23815
+ }
23816
+
23817
+ _this3._request.on("error", function (reason) {
23818
+ _this3._storedError = reason;
23819
+
23820
+ _this3._headersCapability.reject(reason);
23821
+ });
23822
+
23823
+ _this3._request.end();
23824
+
23825
+ return _this3;
23826
+ }
23827
+
23828
+ return PDFNodeStreamFullReader;
23829
+ }(BaseFullReader);
23830
+
23831
+ var PDFNodeStreamRangeReader =
23832
+ /*#__PURE__*/
23833
+ function (_BaseRangeReader) {
23834
+ _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);
23835
+
23836
+ function PDFNodeStreamRangeReader(stream, start, end) {
23837
+ var _this4;
23838
+
23839
+ _classCallCheck(this, PDFNodeStreamRangeReader);
23840
+
23841
+ _this4 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamRangeReader).call(this, stream));
23842
+ _this4._httpHeaders = {};
23843
+
23844
+ for (var property in stream.httpHeaders) {
23845
+ var value = stream.httpHeaders[property];
23846
+
23847
+ if (typeof value === "undefined") {
23848
+ continue;
23849
+ }
23850
+
23851
+ _this4._httpHeaders[property] = value;
23852
+ }
23853
+
23854
+ _this4._httpHeaders["Range"] = "bytes=".concat(start, "-").concat(end - 1);
23855
+
23856
+ var handleResponse = function handleResponse(response) {
23857
+ if (response.statusCode === 404) {
23858
+ var error = new _util.MissingPDFException("Missing PDF \"".concat(_this4._url, "\"."));
23859
+ _this4._storedError = error;
23860
+ return;
23861
+ }
23862
+
23863
+ _this4._setReadableStream(response);
23864
+ };
23865
+
23866
+ _this4._request = null;
23867
+
23868
+ if (_this4._url.protocol === "http:") {
23869
+ _this4._request = http.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);
23870
+ } else {
23871
+ _this4._request = https.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);
23872
+ }
23873
+
23874
+ _this4._request.on("error", function (reason) {
23875
+ _this4._storedError = reason;
23876
+ });
23877
+
23878
+ _this4._request.end();
23879
+
23880
+ return _this4;
23881
+ }
23882
+
23883
+ return PDFNodeStreamRangeReader;
23884
+ }(BaseRangeReader);
23885
+
23886
+ var PDFNodeStreamFsFullReader =
23887
+ /*#__PURE__*/
23888
+ function (_BaseFullReader2) {
23889
+ _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);
23890
+
23891
+ function PDFNodeStreamFsFullReader(stream) {
23892
+ var _this5;
23893
+
23894
+ _classCallCheck(this, PDFNodeStreamFsFullReader);
23895
+
23896
+ _this5 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFsFullReader).call(this, stream));
23897
+ var path = decodeURIComponent(_this5._url.path);
23898
+
23899
+ if (fileUriRegex.test(_this5._url.href)) {
23900
+ path = path.replace(/^\//, "");
23901
+ }
23902
+
23903
+ fs.lstat(path, function (error, stat) {
23904
+ if (error) {
23905
+ if (error.code === "ENOENT") {
23906
+ error = new _util.MissingPDFException("Missing PDF \"".concat(path, "\"."));
23907
+ }
23908
+
23909
+ _this5._storedError = error;
23910
+
23911
+ _this5._headersCapability.reject(error);
23912
+
23913
+ return;
23914
+ }
23915
+
23916
+ _this5._contentLength = stat.size;
23917
+
23918
+ _this5._setReadableStream(fs.createReadStream(path));
23919
+
23920
+ _this5._headersCapability.resolve();
23921
+ });
23922
+ return _this5;
23923
+ }
23924
+
23925
+ return PDFNodeStreamFsFullReader;
23926
+ }(BaseFullReader);
23927
+
23928
+ var PDFNodeStreamFsRangeReader =
23929
+ /*#__PURE__*/
23930
+ function (_BaseRangeReader2) {
23931
+ _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);
23932
+
23933
+ function PDFNodeStreamFsRangeReader(stream, start, end) {
23934
+ var _this6;
23935
+
23936
+ _classCallCheck(this, PDFNodeStreamFsRangeReader);
23937
+
23938
+ _this6 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFsRangeReader).call(this, stream));
23939
+ var path = decodeURIComponent(_this6._url.path);
23940
+
23941
+ if (fileUriRegex.test(_this6._url.href)) {
23942
+ path = path.replace(/^\//, "");
23943
+ }
23944
+
23945
+ _this6._setReadableStream(fs.createReadStream(path, {
23946
+ start: start,
23947
+ end: end - 1
23948
+ }));
23949
+
23950
+ return _this6;
23951
+ }
23952
+
23953
+ return PDFNodeStreamFsRangeReader;
23954
+ }(BaseRangeReader);
23955
+
23956
+ /***/ }),
23957
+ /* 204 */
23958
+ /***/ (function(module, exports, __w_pdfjs_require__) {
23959
+
23960
+ "use strict";
23961
+
23962
+
23963
+ Object.defineProperty(exports, "__esModule", {
23964
+ value: true
23965
+ });
23966
+ exports.createResponseStatusError = createResponseStatusError;
23967
+ exports.extractFilenameFromHeader = extractFilenameFromHeader;
23968
+ exports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;
23969
+ exports.validateResponseStatus = validateResponseStatus;
23970
+
23971
+ var _util = __w_pdfjs_require__(1);
23972
+
23973
+ var _content_disposition = __w_pdfjs_require__(205);
23974
+
23975
+ function validateRangeRequestCapabilities(_ref) {
23976
+ var getResponseHeader = _ref.getResponseHeader,
23977
+ isHttp = _ref.isHttp,
23978
+ rangeChunkSize = _ref.rangeChunkSize,
23979
+ disableRange = _ref.disableRange;
23980
+ (0, _util.assert)(rangeChunkSize > 0, "Range chunk size must be larger than zero");
23981
+ var returnValues = {
23982
+ allowRangeRequests: false,
23983
+ suggestedLength: undefined
23984
+ };
23985
+ var length = parseInt(getResponseHeader("Content-Length"), 10);
23986
+
23987
+ if (!Number.isInteger(length)) {
23988
+ return returnValues;
23989
+ }
23990
+
23991
+ returnValues.suggestedLength = length;
23992
+
23993
+ if (length <= 2 * rangeChunkSize) {
23994
+ return returnValues;
23995
+ }
23996
+
23997
+ if (disableRange || !isHttp) {
23998
+ return returnValues;
23999
+ }
24000
+
24001
+ if (getResponseHeader("Accept-Ranges") !== "bytes") {
24002
+ return returnValues;
24003
+ }
24004
+
24005
+ var contentEncoding = getResponseHeader("Content-Encoding") || "identity";
24006
+
24007
+ if (contentEncoding !== "identity") {
24008
+ return returnValues;
24009
+ }
24010
+
24011
+ returnValues.allowRangeRequests = true;
24012
+ return returnValues;
24013
+ }
24014
+
24015
+ function extractFilenameFromHeader(getResponseHeader) {
24016
+ var contentDisposition = getResponseHeader("Content-Disposition");
24017
+
24018
+ if (contentDisposition) {
24019
+ var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);
24020
+
24021
+ if (filename.includes("%")) {
24022
+ try {
24023
+ filename = decodeURIComponent(filename);
24024
+ } catch (ex) {}
24025
+ }
24026
+
24027
+ if (/\.pdf$/i.test(filename)) {
24028
+ return filename;
24029
+ }
24030
+ }
24031
+
24032
+ return null;
24033
+ }
24034
+
24035
+ function createResponseStatusError(status, url) {
24036
+ if (status === 404 || status === 0 && /^file:/.test(url)) {
24037
+ return new _util.MissingPDFException('Missing PDF "' + url + '".');
24038
+ }
24039
+
24040
+ return new _util.UnexpectedResponseException("Unexpected server response (" + status + ') while retrieving PDF "' + url + '".', status);
24041
+ }
24042
+
24043
+ function validateResponseStatus(status) {
24044
+ return status === 200 || status === 206;
24045
+ }
24046
+
24047
+ /***/ }),
24048
+ /* 205 */
24049
+ /***/ (function(module, exports, __w_pdfjs_require__) {
24050
+
24051
+ "use strict";
24052
+
24053
+
24054
+ Object.defineProperty(exports, "__esModule", {
24055
+ value: true
24056
+ });
24057
+ exports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;
24058
+
24059
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
24060
+
24061
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
24062
+
24063
+ function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
24064
+
24065
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
24066
+
24067
+ function getFilenameFromContentDispositionHeader(contentDisposition) {
24068
+ var needsEncodingFixup = true;
24069
+ var tmp = toParamRegExp("filename\\*", "i").exec(contentDisposition);
24070
+
24071
+ if (tmp) {
24072
+ tmp = tmp[1];
24073
+ var filename = rfc2616unquote(tmp);
24074
+ filename = unescape(filename);
24075
+ filename = rfc5987decode(filename);
24076
+ filename = rfc2047decode(filename);
24077
+ return fixupEncoding(filename);
24078
+ }
24079
+
24080
+ tmp = rfc2231getparam(contentDisposition);
24081
+
24082
+ if (tmp) {
24083
+ var _filename = rfc2047decode(tmp);
24084
+
24085
+ return fixupEncoding(_filename);
24086
+ }
24087
+
24088
+ tmp = toParamRegExp("filename", "i").exec(contentDisposition);
24089
+
24090
+ if (tmp) {
24091
+ tmp = tmp[1];
24092
+
24093
+ var _filename2 = rfc2616unquote(tmp);
24094
+
24095
+ _filename2 = rfc2047decode(_filename2);
24096
+ return fixupEncoding(_filename2);
24097
+ }
24098
+
24099
+ function toParamRegExp(attributePattern, flags) {
24100
+ return new RegExp("(?:^|;)\\s*" + attributePattern + "\\s*=\\s*" + "(" + '[^";\\s][^;\\s]*' + "|" + '"(?:[^"\\\\]|\\\\"?)+"?' + ")", flags);
24101
+ }
24102
+
24103
+ function textdecode(encoding, value) {
24104
+ if (encoding) {
24105
+ if (!/^[\x00-\xFF]+$/.test(value)) {
24106
+ return value;
24107
+ }
24108
+
24109
+ try {
24110
+ var decoder = new TextDecoder(encoding, {
24111
+ fatal: true
24112
+ });
24113
+ var bytes = Array.from(value, function (ch) {
24114
+ return ch.charCodeAt(0) & 0xff;
24115
+ });
24116
+ value = decoder.decode(new Uint8Array(bytes));
24117
+ needsEncodingFixup = false;
24118
+ } catch (e) {
24119
+ if (/^utf-?8$/i.test(encoding)) {
24120
+ try {
24121
+ value = decodeURIComponent(escape(value));
24122
+ needsEncodingFixup = false;
24123
+ } catch (err) {}
24124
+ }
24125
+ }
24126
+ }
24127
+
24128
+ return value;
24129
+ }
24130
+
24131
+ function fixupEncoding(value) {
24132
+ if (needsEncodingFixup && /[\x80-\xff]/.test(value)) {
24133
+ value = textdecode("utf-8", value);
24134
+
24135
+ if (needsEncodingFixup) {
24136
+ value = textdecode("iso-8859-1", value);
24137
+ }
24138
+ }
24139
+
24140
+ return value;
24141
+ }
24142
+
24143
+ function rfc2231getparam(contentDisposition) {
24144
+ var matches = [];
24145
+ var match;
24146
+ var iter = toParamRegExp("filename\\*((?!0\\d)\\d+)(\\*?)", "ig");
24147
+
24148
+ while ((match = iter.exec(contentDisposition)) !== null) {
24149
+ var _match = match,
24150
+ _match2 = _slicedToArray(_match, 4),
24151
+ n = _match2[1],
24152
+ quot = _match2[2],
24153
+ part = _match2[3];
24154
+
24155
+ n = parseInt(n, 10);
24156
+
24157
+ if (n in matches) {
24158
+ if (n === 0) {
24159
+ break;
24160
+ }
24161
+
24162
+ continue;
24163
+ }
24164
+
24165
+ matches[n] = [quot, part];
24166
+ }
24167
+
24168
+ var parts = [];
24169
+
24170
+ for (var _n2 = 0; _n2 < matches.length; ++_n2) {
24171
+ if (!(_n2 in matches)) {
24172
+ break;
24173
+ }
24174
+
24175
+ var _matches$_n = _slicedToArray(matches[_n2], 2),
24176
+ _quot = _matches$_n[0],
24177
+ _part = _matches$_n[1];
24178
+
24179
+ _part = rfc2616unquote(_part);
24180
+
24181
+ if (_quot) {
24182
+ _part = unescape(_part);
24183
+
24184
+ if (_n2 === 0) {
24185
+ _part = rfc5987decode(_part);
24186
+ }
24187
+ }
24188
+
24189
+ parts.push(_part);
24190
+ }
24191
+
24192
+ return parts.join("");
24193
+ }
24194
+
24195
+ function rfc2616unquote(value) {
24196
+ if (value.startsWith('"')) {
24197
+ var parts = value.slice(1).split('\\"');
24198
+
24199
+ for (var i = 0; i < parts.length; ++i) {
24200
+ var quotindex = parts[i].indexOf('"');
24201
+
24202
+ if (quotindex !== -1) {
24203
+ parts[i] = parts[i].slice(0, quotindex);
24204
+ parts.length = i + 1;
24205
+ }
24206
+
24207
+ parts[i] = parts[i].replace(/\\(.)/g, "$1");
24208
+ }
24209
+
24210
+ value = parts.join('"');
24211
+ }
24212
+
24213
+ return value;
24214
+ }
24215
+
24216
+ function rfc5987decode(extvalue) {
24217
+ var encodingend = extvalue.indexOf("'");
24218
+
24219
+ if (encodingend === -1) {
24220
+ return extvalue;
24221
+ }
24222
+
24223
+ var encoding = extvalue.slice(0, encodingend);
24224
+ var langvalue = extvalue.slice(encodingend + 1);
24225
+ var value = langvalue.replace(/^[^']*'/, "");
24226
+ return textdecode(encoding, value);
24227
+ }
24228
+
24229
+ function rfc2047decode(value) {
24230
+ if (!value.startsWith("=?") || /[\x00-\x19\x80-\xff]/.test(value)) {
24231
+ return value;
24232
+ }
24233
+
24234
+ return value.replace(/=\?([\w-]*)\?([QqBb])\?((?:[^?]|\?(?!=))*)\?=/g, function (_, charset, encoding, text) {
24235
+ if (encoding === "q" || encoding === "Q") {
24236
+ text = text.replace(/_/g, " ");
24237
+ text = text.replace(/=([0-9a-fA-F]{2})/g, function (_, hex) {
24238
+ return String.fromCharCode(parseInt(hex, 16));
24239
+ });
24240
+ return textdecode(charset, text);
24241
+ }
24242
+
24243
+ try {
24244
+ text = atob(text);
24245
+ } catch (e) {}
24246
+
24247
+ return textdecode(charset, text);
24248
+ });
24249
+ }
24250
+
24251
+ return "";
24252
+ }
24253
+
24254
+ /***/ }),
24255
+ /* 206 */
24256
+ /***/ (function(module, exports, __w_pdfjs_require__) {
24257
+
24258
+ "use strict";
24259
+
24260
+
24261
+ Object.defineProperty(exports, "__esModule", {
24262
+ value: true
24263
+ });
24264
+ exports.PDFNetworkStream = void 0;
24265
+
24266
+ var _regenerator = _interopRequireDefault(__w_pdfjs_require__(186));
24267
+
24268
+ var _util = __w_pdfjs_require__(1);
24269
+
24270
+ var _network_utils = __w_pdfjs_require__(204);
24271
+
24272
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24273
+
24274
+ 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); } }
24275
+
24276
+ 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); }); }; }
24277
+
24278
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
24279
+
24280
+ 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); } }
24281
+
24282
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
24283
+
24284
+ ;
24285
+ var OK_RESPONSE = 200;
24286
+ var PARTIAL_CONTENT_RESPONSE = 206;
24287
+
24288
+ function getArrayBuffer(xhr) {
24289
+ var data = xhr.response;
24290
+
24291
+ if (typeof data !== "string") {
24292
+ return data;
24293
+ }
24294
+
24295
+ var array = (0, _util.stringToBytes)(data);
24296
+ return array.buffer;
24297
+ }
24298
+
24299
+ var NetworkManager =
24300
+ /*#__PURE__*/
24301
+ function () {
24302
+ function NetworkManager(url, args) {
24303
+ _classCallCheck(this, NetworkManager);
24304
+
24305
+ this.url = url;
24306
+ args = args || {};
24307
+ this.isHttp = /^https?:/i.test(url);
24308
+ this.httpHeaders = this.isHttp && args.httpHeaders || {};
24309
+ this.withCredentials = args.withCredentials || false;
24310
+
24311
+ this.getXhr = args.getXhr || function NetworkManager_getXhr() {
24312
+ return new XMLHttpRequest();
24313
+ };
24314
+
24315
+ this.currXhrId = 0;
24316
+ this.pendingRequests = Object.create(null);
24317
+ }
24318
+
24319
+ _createClass(NetworkManager, [{
24320
+ key: "requestRange",
24321
+ value: function requestRange(begin, end, listeners) {
24322
+ var args = {
24323
+ begin: begin,
24324
+ end: end
24325
+ };
24326
+
24327
+ for (var prop in listeners) {
24328
+ args[prop] = listeners[prop];
24329
+ }
24330
+
24331
+ return this.request(args);
24332
+ }
24333
+ }, {
24334
+ key: "requestFull",
24335
+ value: function requestFull(listeners) {
24336
+ return this.request(listeners);
24337
+ }
24338
+ }, {
24339
+ key: "request",
24340
+ value: function request(args) {
24341
+ var xhr = this.getXhr();
24342
+ var xhrId = this.currXhrId++;
24343
+ var pendingRequest = this.pendingRequests[xhrId] = {
24344
+ xhr: xhr
24345
+ };
24346
+ xhr.open("GET", this.url);
24347
+ xhr.withCredentials = this.withCredentials;
24348
+
24349
+ for (var property in this.httpHeaders) {
24350
+ var value = this.httpHeaders[property];
24351
+
24352
+ if (typeof value === "undefined") {
24353
+ continue;
24354
+ }
24355
+
24356
+ xhr.setRequestHeader(property, value);
24357
+ }
24358
+
24359
+ if (this.isHttp && "begin" in args && "end" in args) {
24360
+ xhr.setRequestHeader("Range", "bytes=".concat(args.begin, "-").concat(args.end - 1));
24361
+ pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;
24362
+ } else {
24363
+ pendingRequest.expectedStatus = OK_RESPONSE;
24364
+ }
24365
+
24366
+ xhr.responseType = "arraybuffer";
24367
+
24368
+ if (args.onError) {
24369
+ xhr.onerror = function (evt) {
24370
+ args.onError(xhr.status);
24371
+ };
24372
+ }
24373
+
24374
+ xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);
24375
+ xhr.onprogress = this.onProgress.bind(this, xhrId);
24376
+ pendingRequest.onHeadersReceived = args.onHeadersReceived;
24377
+ pendingRequest.onDone = args.onDone;
24378
+ pendingRequest.onError = args.onError;
24379
+ pendingRequest.onProgress = args.onProgress;
24380
+ xhr.send(null);
24381
+ return xhrId;
24382
+ }
24383
+ }, {
24384
+ key: "onProgress",
24385
+ value: function onProgress(xhrId, evt) {
24386
+ var pendingRequest = this.pendingRequests[xhrId];
24387
+
24388
+ if (!pendingRequest) {
24389
+ return;
24390
+ }
24391
+
24392
+ if (pendingRequest.onProgress) {
24393
+ pendingRequest.onProgress(evt);
24394
+ }
24395
+ }
24396
+ }, {
24397
+ key: "onStateChange",
24398
+ value: function onStateChange(xhrId, evt) {
24399
+ var pendingRequest = this.pendingRequests[xhrId];
24400
+
24401
+ if (!pendingRequest) {
24402
+ return;
24403
+ }
24404
+
24405
+ var xhr = pendingRequest.xhr;
24406
+
24407
+ if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {
24408
+ pendingRequest.onHeadersReceived();
24409
+ delete pendingRequest.onHeadersReceived;
24410
+ }
24411
+
24412
+ if (xhr.readyState !== 4) {
24413
+ return;
24414
+ }
24415
+
24416
+ if (!(xhrId in this.pendingRequests)) {
24417
+ return;
24418
+ }
24419
+
24420
+ delete this.pendingRequests[xhrId];
24421
+
24422
+ if (xhr.status === 0 && this.isHttp) {
24423
+ if (pendingRequest.onError) {
24424
+ pendingRequest.onError(xhr.status);
24425
+ }
24426
+
24427
+ return;
24428
+ }
24429
+
24430
+ var xhrStatus = xhr.status || OK_RESPONSE;
24431
+ var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;
24432
+
24433
+ if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {
24434
+ if (pendingRequest.onError) {
24435
+ pendingRequest.onError(xhr.status);
24436
+ }
24437
+
24438
+ return;
24439
+ }
24440
+
24441
+ var chunk = getArrayBuffer(xhr);
24442
+
24443
+ if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {
24444
+ var rangeHeader = xhr.getResponseHeader("Content-Range");
24445
+ var matches = /bytes (\d+)-(\d+)\/(\d+)/.exec(rangeHeader);
24446
+ pendingRequest.onDone({
24447
+ begin: parseInt(matches[1], 10),
24448
+ chunk: chunk
24449
+ });
24450
+ } else if (chunk) {
24451
+ pendingRequest.onDone({
24452
+ begin: 0,
24453
+ chunk: chunk
24454
+ });
24455
+ } else if (pendingRequest.onError) {
24456
+ pendingRequest.onError(xhr.status);
24457
+ }
24458
+ }
24459
+ }, {
24460
+ key: "hasPendingRequests",
24461
+ value: function hasPendingRequests() {
24462
+ for (var xhrId in this.pendingRequests) {
24463
+ return true;
24464
+ }
24465
+
24466
+ return false;
24467
+ }
24468
+ }, {
24469
+ key: "getRequestXhr",
24470
+ value: function getRequestXhr(xhrId) {
24471
+ return this.pendingRequests[xhrId].xhr;
24472
+ }
24473
+ }, {
24474
+ key: "isPendingRequest",
24475
+ value: function isPendingRequest(xhrId) {
24476
+ return xhrId in this.pendingRequests;
24477
+ }
24478
+ }, {
24479
+ key: "abortAllRequests",
24480
+ value: function abortAllRequests() {
24481
+ for (var xhrId in this.pendingRequests) {
24482
+ this.abortRequest(xhrId | 0);
24483
+ }
24484
+ }
24485
+ }, {
24486
+ key: "abortRequest",
24487
+ value: function abortRequest(xhrId) {
24488
+ var xhr = this.pendingRequests[xhrId].xhr;
24489
+ delete this.pendingRequests[xhrId];
24490
+ xhr.abort();
24491
+ }
24492
+ }]);
24493
+
24494
+ return NetworkManager;
24495
+ }();
24496
+
24497
+ var PDFNetworkStream =
24498
+ /*#__PURE__*/
24499
+ function () {
24500
+ function PDFNetworkStream(source) {
24501
+ _classCallCheck(this, PDFNetworkStream);
24502
+
24503
+ this._source = source;
24504
+ this._manager = new NetworkManager(source.url, {
24505
+ httpHeaders: source.httpHeaders,
24506
+ withCredentials: source.withCredentials
24507
+ });
24508
+ this._rangeChunkSize = source.rangeChunkSize;
24509
+ this._fullRequestReader = null;
24510
+ this._rangeRequestReaders = [];
24511
+ }
24512
+
24513
+ _createClass(PDFNetworkStream, [{
24514
+ key: "_onRangeRequestReaderClosed",
24515
+ value: function _onRangeRequestReaderClosed(reader) {
24516
+ var i = this._rangeRequestReaders.indexOf(reader);
24517
+
24518
+ if (i >= 0) {
24519
+ this._rangeRequestReaders.splice(i, 1);
24520
+ }
24521
+ }
24522
+ }, {
24523
+ key: "getFullReader",
24524
+ value: function getFullReader() {
24525
+ (0, _util.assert)(!this._fullRequestReader);
24526
+ this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);
24527
+ return this._fullRequestReader;
24528
+ }
24529
+ }, {
24530
+ key: "getRangeReader",
24531
+ value: function getRangeReader(begin, end) {
24532
+ var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);
24533
+ reader.onClosed = this._onRangeRequestReaderClosed.bind(this);
24534
+
24535
+ this._rangeRequestReaders.push(reader);
24536
+
24537
+ return reader;
24538
+ }
24539
+ }, {
24540
+ key: "cancelAllRequests",
24541
+ value: function cancelAllRequests(reason) {
24542
+ if (this._fullRequestReader) {
24543
+ this._fullRequestReader.cancel(reason);
24544
+ }
24545
+
24546
+ var readers = this._rangeRequestReaders.slice(0);
24547
+
24548
+ readers.forEach(function (reader) {
24549
+ reader.cancel(reason);
24550
+ });
24551
+ }
24552
+ }]);
24553
+
24554
+ return PDFNetworkStream;
24555
+ }();
24556
+
24557
+ exports.PDFNetworkStream = PDFNetworkStream;
24558
+
24559
+ var PDFNetworkStreamFullRequestReader =
24560
+ /*#__PURE__*/
24561
+ function () {
24562
+ function PDFNetworkStreamFullRequestReader(manager, source) {
24563
+ _classCallCheck(this, PDFNetworkStreamFullRequestReader);
24564
+
24565
+ this._manager = manager;
24566
+ var args = {
24567
+ onHeadersReceived: this._onHeadersReceived.bind(this),
24568
+ onDone: this._onDone.bind(this),
24569
+ onError: this._onError.bind(this),
24570
+ onProgress: this._onProgress.bind(this)
24571
+ };
24572
+ this._url = source.url;
24573
+ this._fullRequestId = manager.requestFull(args);
24574
+ this._headersReceivedCapability = (0, _util.createPromiseCapability)();
24575
+ this._disableRange = source.disableRange || false;
24576
+ this._contentLength = source.length;
24577
+ this._rangeChunkSize = source.rangeChunkSize;
24578
+
24579
+ if (!this._rangeChunkSize && !this._disableRange) {
24580
+ this._disableRange = true;
24581
+ }
24582
+
24583
+ this._isStreamingSupported = false;
24584
+ this._isRangeSupported = false;
24585
+ this._cachedChunks = [];
24586
+ this._requests = [];
24587
+ this._done = false;
24588
+ this._storedError = undefined;
24589
+ this._filename = null;
24590
+ this.onProgress = null;
24591
+ }
24592
+
24593
+ _createClass(PDFNetworkStreamFullRequestReader, [{
24594
+ key: "_onHeadersReceived",
24595
+ value: function _onHeadersReceived() {
24596
+ var fullRequestXhrId = this._fullRequestId;
24597
+
24598
+ var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);
24599
+
24600
+ var getResponseHeader = function getResponseHeader(name) {
24601
+ return fullRequestXhr.getResponseHeader(name);
24602
+ };
24603
+
24604
+ var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({
24605
+ getResponseHeader: getResponseHeader,
24606
+ isHttp: this._manager.isHttp,
24607
+ rangeChunkSize: this._rangeChunkSize,
24608
+ disableRange: this._disableRange
24609
+ }),
24610
+ allowRangeRequests = _validateRangeRequest.allowRangeRequests,
24611
+ suggestedLength = _validateRangeRequest.suggestedLength;
24612
+
24613
+ if (allowRangeRequests) {
24614
+ this._isRangeSupported = true;
24615
+ }
24616
+
24617
+ this._contentLength = suggestedLength || this._contentLength;
24618
+ this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
24619
+
24620
+ if (this._isRangeSupported) {
24621
+ this._manager.abortRequest(fullRequestXhrId);
24622
+ }
24623
+
24624
+ this._headersReceivedCapability.resolve();
24625
+ }
24626
+ }, {
24627
+ key: "_onDone",
24628
+ value: function _onDone(args) {
24629
+ if (args) {
24630
+ if (this._requests.length > 0) {
24631
+ var requestCapability = this._requests.shift();
24632
+
24633
+ requestCapability.resolve({
24634
+ value: args.chunk,
24635
+ done: false
24636
+ });
24637
+ } else {
24638
+ this._cachedChunks.push(args.chunk);
24639
+ }
24640
+ }
24641
+
24642
+ this._done = true;
24643
+
24644
+ if (this._cachedChunks.length > 0) {
24645
+ return;
24646
+ }
24647
+
24648
+ this._requests.forEach(function (requestCapability) {
24649
+ requestCapability.resolve({
24650
+ value: undefined,
24651
+ done: true
24652
+ });
24653
+ });
24654
+
24655
+ this._requests = [];
24656
+ }
24657
+ }, {
24658
+ key: "_onError",
24659
+ value: function _onError(status) {
24660
+ var url = this._url;
24661
+ var exception = (0, _network_utils.createResponseStatusError)(status, url);
24662
+ this._storedError = exception;
24663
+
24664
+ this._headersReceivedCapability.reject(exception);
24665
+
24666
+ this._requests.forEach(function (requestCapability) {
24667
+ requestCapability.reject(exception);
24668
+ });
24669
+
24670
+ this._requests = [];
24671
+ this._cachedChunks = [];
24672
+ }
24673
+ }, {
24674
+ key: "_onProgress",
24675
+ value: function _onProgress(data) {
24676
+ if (this.onProgress) {
24677
+ this.onProgress({
24678
+ loaded: data.loaded,
24679
+ total: data.lengthComputable ? data.total : this._contentLength
24680
+ });
24681
+ }
24682
+ }
24683
+ }, {
24684
+ key: "read",
24685
+ value: function () {
24686
+ var _read = _asyncToGenerator(
24687
+ /*#__PURE__*/
24688
+ _regenerator["default"].mark(function _callee() {
24689
+ var chunk, requestCapability;
24690
+ return _regenerator["default"].wrap(function _callee$(_context) {
24691
+ while (1) {
24692
+ switch (_context.prev = _context.next) {
24693
+ case 0:
24694
+ if (!this._storedError) {
24695
+ _context.next = 2;
24696
+ break;
24697
+ }
24698
+
24699
+ throw this._storedError;
24700
+
24701
+ case 2:
24702
+ if (!(this._cachedChunks.length > 0)) {
24703
+ _context.next = 5;
24704
+ break;
24705
+ }
24706
+
24707
+ chunk = this._cachedChunks.shift();
24708
+ return _context.abrupt("return", {
24709
+ value: chunk,
24710
+ done: false
24711
+ });
24712
+
24713
+ case 5:
24714
+ if (!this._done) {
24715
+ _context.next = 7;
24716
+ break;
24717
+ }
24718
+
24719
+ return _context.abrupt("return", {
24720
+ value: undefined,
24721
+ done: true
24722
+ });
24723
+
24724
+ case 7:
24725
+ requestCapability = (0, _util.createPromiseCapability)();
24726
+
24727
+ this._requests.push(requestCapability);
24728
+
24729
+ return _context.abrupt("return", requestCapability.promise);
24730
+
24731
+ case 10:
24732
+ case "end":
24733
+ return _context.stop();
24734
+ }
24735
+ }
24736
+ }, _callee, this);
24737
+ }));
24738
+
24739
+ function read() {
24740
+ return _read.apply(this, arguments);
24741
+ }
24742
+
24743
+ return read;
24744
+ }()
24745
+ }, {
24746
+ key: "cancel",
24747
+ value: function cancel(reason) {
24748
+ this._done = true;
24749
+
24750
+ this._headersReceivedCapability.reject(reason);
24751
+
24752
+ this._requests.forEach(function (requestCapability) {
24753
+ requestCapability.resolve({
24754
+ value: undefined,
24755
+ done: true
24756
+ });
24757
+ });
24758
+
24759
+ this._requests = [];
24760
+
24761
+ if (this._manager.isPendingRequest(this._fullRequestId)) {
24762
+ this._manager.abortRequest(this._fullRequestId);
24763
+ }
24764
+
24765
+ this._fullRequestReader = null;
24766
+ }
24767
+ }, {
24768
+ key: "filename",
24769
+ get: function get() {
24770
+ return this._filename;
24771
+ }
24772
+ }, {
24773
+ key: "isRangeSupported",
24774
+ get: function get() {
24775
+ return this._isRangeSupported;
24776
+ }
24777
+ }, {
24778
+ key: "isStreamingSupported",
24779
+ get: function get() {
24780
+ return this._isStreamingSupported;
24781
+ }
24782
+ }, {
24783
+ key: "contentLength",
24784
+ get: function get() {
24785
+ return this._contentLength;
24786
+ }
24787
+ }, {
24788
+ key: "headersReady",
24789
+ get: function get() {
24790
+ return this._headersReceivedCapability.promise;
24791
+ }
24792
+ }]);
24793
+
24794
+ return PDFNetworkStreamFullRequestReader;
24795
+ }();
24796
+
24797
+ var PDFNetworkStreamRangeRequestReader =
24798
+ /*#__PURE__*/
24799
+ function () {
24800
+ function PDFNetworkStreamRangeRequestReader(manager, begin, end) {
24801
+ _classCallCheck(this, PDFNetworkStreamRangeRequestReader);
24802
+
24803
+ this._manager = manager;
24804
+ var args = {
24805
+ onDone: this._onDone.bind(this),
24806
+ onProgress: this._onProgress.bind(this)
24807
+ };
24808
+ this._requestId = manager.requestRange(begin, end, args);
24809
+ this._requests = [];
24810
+ this._queuedChunk = null;
24811
+ this._done = false;
24812
+ this.onProgress = null;
24813
+ this.onClosed = null;
24814
+ }
24815
+
24816
+ _createClass(PDFNetworkStreamRangeRequestReader, [{
24817
+ key: "_close",
24818
+ value: function _close() {
24819
+ if (this.onClosed) {
24820
+ this.onClosed(this);
24821
+ }
24822
+ }
24823
+ }, {
24824
+ key: "_onDone",
24825
+ value: function _onDone(data) {
24826
+ var chunk = data.chunk;
24827
+
24828
+ if (this._requests.length > 0) {
24829
+ var requestCapability = this._requests.shift();
24830
+
24831
+ requestCapability.resolve({
24832
+ value: chunk,
24833
+ done: false
24834
+ });
24835
+ } else {
24836
+ this._queuedChunk = chunk;
24837
+ }
24838
+
24839
+ this._done = true;
24840
+
24841
+ this._requests.forEach(function (requestCapability) {
24842
+ requestCapability.resolve({
24843
+ value: undefined,
24844
+ done: true
24845
+ });
24846
+ });
24847
+
24848
+ this._requests = [];
24849
+
24850
+ this._close();
24851
+ }
24852
+ }, {
24853
+ key: "_onProgress",
24854
+ value: function _onProgress(evt) {
24855
+ if (!this.isStreamingSupported && this.onProgress) {
24856
+ this.onProgress({
24857
+ loaded: evt.loaded
24858
+ });
24859
+ }
24860
+ }
24861
+ }, {
24862
+ key: "read",
24863
+ value: function () {
24864
+ var _read2 = _asyncToGenerator(
24865
+ /*#__PURE__*/
24866
+ _regenerator["default"].mark(function _callee2() {
24867
+ var chunk, requestCapability;
24868
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
24869
+ while (1) {
24870
+ switch (_context2.prev = _context2.next) {
24871
+ case 0:
24872
+ if (!(this._queuedChunk !== null)) {
24873
+ _context2.next = 4;
24874
+ break;
24875
+ }
24876
+
24877
+ chunk = this._queuedChunk;
24878
+ this._queuedChunk = null;
24879
+ return _context2.abrupt("return", {
24880
+ value: chunk,
24881
+ done: false
24882
+ });
24883
+
24884
+ case 4:
24885
+ if (!this._done) {
24886
+ _context2.next = 6;
24887
+ break;
24888
+ }
24889
+
24890
+ return _context2.abrupt("return", {
24891
+ value: undefined,
24892
+ done: true
24893
+ });
24894
+
24895
+ case 6:
24896
+ requestCapability = (0, _util.createPromiseCapability)();
24897
+
24898
+ this._requests.push(requestCapability);
24899
+
24900
+ return _context2.abrupt("return", requestCapability.promise);
24901
+
24902
+ case 9:
24903
+ case "end":
24904
+ return _context2.stop();
24905
+ }
24906
+ }
24907
+ }, _callee2, this);
24908
+ }));
24909
+
24910
+ function read() {
24911
+ return _read2.apply(this, arguments);
24912
+ }
24913
+
24914
+ return read;
24915
+ }()
24916
+ }, {
24917
+ key: "cancel",
24918
+ value: function cancel(reason) {
24919
+ this._done = true;
24920
+
24921
+ this._requests.forEach(function (requestCapability) {
24922
+ requestCapability.resolve({
24923
+ value: undefined,
24924
+ done: true
24925
+ });
24926
+ });
24927
+
24928
+ this._requests = [];
24929
+
24930
+ if (this._manager.isPendingRequest(this._requestId)) {
24931
+ this._manager.abortRequest(this._requestId);
24932
+ }
24933
+
24934
+ this._close();
24935
+ }
24936
+ }, {
24937
+ key: "isStreamingSupported",
24938
+ get: function get() {
24939
+ return false;
24940
+ }
24941
+ }]);
24942
+
24943
+ return PDFNetworkStreamRangeRequestReader;
24944
+ }();
24945
+
24946
+ /***/ }),
24947
+ /* 207 */
24948
+ /***/ (function(module, exports, __w_pdfjs_require__) {
24949
+
24950
+ "use strict";
24951
+
24952
+
24953
+ Object.defineProperty(exports, "__esModule", {
24954
+ value: true
24955
+ });
24956
+ exports.PDFFetchStream = void 0;
24957
+
24958
+ var _regenerator = _interopRequireDefault(__w_pdfjs_require__(186));
24959
+
24960
+ var _util = __w_pdfjs_require__(1);
24961
+
24962
+ var _network_utils = __w_pdfjs_require__(204);
24963
+
24964
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24965
+
24966
+ 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); } }
24967
+
24968
+ 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); }); }; }
24969
+
24970
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
24971
+
24972
+ 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); } }
24973
+
24974
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
24975
+
24976
+ function createFetchOptions(headers, withCredentials, abortController) {
24977
+ return {
24978
+ method: "GET",
24979
+ headers: headers,
24980
+ signal: abortController && abortController.signal,
24981
+ mode: "cors",
24982
+ credentials: withCredentials ? "include" : "same-origin",
24983
+ redirect: "follow"
24984
+ };
24985
+ }
24986
+
24987
+ function createHeaders(httpHeaders) {
24988
+ var headers = new Headers();
24989
+
24990
+ for (var property in httpHeaders) {
24991
+ var value = httpHeaders[property];
24992
+
24993
+ if (typeof value === "undefined") {
24994
+ continue;
24995
+ }
24996
+
24997
+ headers.append(property, value);
24998
+ }
24999
+
25000
+ return headers;
25001
+ }
25002
+
25003
+ var PDFFetchStream =
25004
+ /*#__PURE__*/
25005
+ function () {
25006
+ function PDFFetchStream(source) {
25007
+ _classCallCheck(this, PDFFetchStream);
25008
+
25009
+ this.source = source;
25010
+ this.isHttp = /^https?:/i.test(source.url);
25011
+ this.httpHeaders = this.isHttp && source.httpHeaders || {};
25012
+ this._fullRequestReader = null;
25013
+ this._rangeRequestReaders = [];
25014
+ }
25015
+
25016
+ _createClass(PDFFetchStream, [{
25017
+ key: "getFullReader",
25018
+ value: function getFullReader() {
25019
+ (0, _util.assert)(!this._fullRequestReader);
25020
+ this._fullRequestReader = new PDFFetchStreamReader(this);
25021
+ return this._fullRequestReader;
25022
+ }
25023
+ }, {
25024
+ key: "getRangeReader",
25025
+ value: function getRangeReader(begin, end) {
25026
+ if (end <= this._progressiveDataLength) {
25027
+ return null;
25028
+ }
25029
+
25030
+ var reader = new PDFFetchStreamRangeReader(this, begin, end);
25031
+
25032
+ this._rangeRequestReaders.push(reader);
25033
+
25034
+ return reader;
25035
+ }
25036
+ }, {
25037
+ key: "cancelAllRequests",
25038
+ value: function cancelAllRequests(reason) {
25039
+ if (this._fullRequestReader) {
25040
+ this._fullRequestReader.cancel(reason);
25041
+ }
25042
+
25043
+ var readers = this._rangeRequestReaders.slice(0);
25044
+
25045
+ readers.forEach(function (reader) {
25046
+ reader.cancel(reason);
25047
+ });
25048
+ }
25049
+ }, {
25050
+ key: "_progressiveDataLength",
25051
+ get: function get() {
25052
+ return this._fullRequestReader ? this._fullRequestReader._loaded : 0;
25053
+ }
25054
+ }]);
25055
+
25056
+ return PDFFetchStream;
25057
+ }();
25058
+
25059
+ exports.PDFFetchStream = PDFFetchStream;
25060
+
25061
+ var PDFFetchStreamReader =
25062
+ /*#__PURE__*/
25063
+ function () {
25064
+ function PDFFetchStreamReader(stream) {
25065
+ var _this = this;
25066
+
25067
+ _classCallCheck(this, PDFFetchStreamReader);
25068
+
25069
+ this._stream = stream;
25070
+ this._reader = null;
25071
+ this._loaded = 0;
25072
+ this._filename = null;
25073
+ var source = stream.source;
25074
+ this._withCredentials = source.withCredentials || false;
25075
+ this._contentLength = source.length;
25076
+ this._headersCapability = (0, _util.createPromiseCapability)();
25077
+ this._disableRange = source.disableRange || false;
25078
+ this._rangeChunkSize = source.rangeChunkSize;
25079
+
25080
+ if (!this._rangeChunkSize && !this._disableRange) {
25081
+ this._disableRange = true;
25082
+ }
25083
+
25084
+ if (typeof AbortController !== "undefined") {
25085
+ this._abortController = new AbortController();
25086
+ }
25087
+
25088
+ this._isStreamingSupported = !source.disableStream;
25089
+ this._isRangeSupported = !source.disableRange;
25090
+ this._headers = createHeaders(this._stream.httpHeaders);
25091
+ var url = source.url;
25092
+ fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {
25093
+ if (!(0, _network_utils.validateResponseStatus)(response.status)) {
25094
+ throw (0, _network_utils.createResponseStatusError)(response.status, url);
25095
+ }
25096
+
25097
+ _this._reader = response.body.getReader();
25098
+
25099
+ _this._headersCapability.resolve();
25100
+
25101
+ var getResponseHeader = function getResponseHeader(name) {
25102
+ return response.headers.get(name);
25103
+ };
25104
+
25105
+ var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({
25106
+ getResponseHeader: getResponseHeader,
25107
+ isHttp: _this._stream.isHttp,
25108
+ rangeChunkSize: _this._rangeChunkSize,
25109
+ disableRange: _this._disableRange
25110
+ }),
25111
+ allowRangeRequests = _validateRangeRequest.allowRangeRequests,
25112
+ suggestedLength = _validateRangeRequest.suggestedLength;
25113
+
25114
+ _this._isRangeSupported = allowRangeRequests;
25115
+ _this._contentLength = suggestedLength || _this._contentLength;
25116
+ _this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
25117
+
25118
+ if (!_this._isStreamingSupported && _this._isRangeSupported) {
25119
+ _this.cancel(new _util.AbortException("Streaming is disabled."));
25120
+ }
25121
+ })["catch"](this._headersCapability.reject);
25122
+ this.onProgress = null;
25123
+ }
25124
+
25125
+ _createClass(PDFFetchStreamReader, [{
25126
+ key: "read",
25127
+ value: function () {
25128
+ var _read = _asyncToGenerator(
25129
+ /*#__PURE__*/
25130
+ _regenerator["default"].mark(function _callee() {
25131
+ var _ref, value, done, buffer;
25132
+
25133
+ return _regenerator["default"].wrap(function _callee$(_context) {
25134
+ while (1) {
25135
+ switch (_context.prev = _context.next) {
25136
+ case 0:
25137
+ _context.next = 2;
25138
+ return this._headersCapability.promise;
25139
+
25140
+ case 2:
25141
+ _context.next = 4;
25142
+ return this._reader.read();
25143
+
25144
+ case 4:
25145
+ _ref = _context.sent;
25146
+ value = _ref.value;
25147
+ done = _ref.done;
25148
+
25149
+ if (!done) {
25150
+ _context.next = 9;
25151
+ break;
25152
+ }
25153
+
25154
+ return _context.abrupt("return", {
25155
+ value: value,
25156
+ done: done
25157
+ });
25158
+
25159
+ case 9:
25160
+ this._loaded += value.byteLength;
25161
+
25162
+ if (this.onProgress) {
25163
+ this.onProgress({
25164
+ loaded: this._loaded,
25165
+ total: this._contentLength
25166
+ });
25167
+ }
25168
+
25169
+ buffer = new Uint8Array(value).buffer;
25170
+ return _context.abrupt("return", {
25171
+ value: buffer,
25172
+ done: false
25173
+ });
25174
+
25175
+ case 13:
25176
+ case "end":
25177
+ return _context.stop();
25178
+ }
25179
+ }
25180
+ }, _callee, this);
25181
+ }));
25182
+
25183
+ function read() {
25184
+ return _read.apply(this, arguments);
25185
+ }
25186
+
25187
+ return read;
25188
+ }()
25189
+ }, {
25190
+ key: "cancel",
25191
+ value: function cancel(reason) {
25192
+ if (this._reader) {
25193
+ this._reader.cancel(reason);
25194
+ }
25195
+
25196
+ if (this._abortController) {
25197
+ this._abortController.abort();
25198
+ }
25199
+ }
25200
+ }, {
25201
+ key: "headersReady",
25202
+ get: function get() {
25203
+ return this._headersCapability.promise;
25204
+ }
25205
+ }, {
25206
+ key: "filename",
25207
+ get: function get() {
25208
+ return this._filename;
25209
+ }
25210
+ }, {
25211
+ key: "contentLength",
25212
+ get: function get() {
25213
+ return this._contentLength;
25214
+ }
25215
+ }, {
25216
+ key: "isRangeSupported",
25217
+ get: function get() {
25218
+ return this._isRangeSupported;
25219
+ }
25220
+ }, {
25221
+ key: "isStreamingSupported",
25222
+ get: function get() {
25223
+ return this._isStreamingSupported;
25224
+ }
25225
+ }]);
25226
+
25227
+ return PDFFetchStreamReader;
25228
+ }();
25229
+
25230
+ var PDFFetchStreamRangeReader =
25231
+ /*#__PURE__*/
25232
+ function () {
25233
+ function PDFFetchStreamRangeReader(stream, begin, end) {
25234
+ var _this2 = this;
25235
+
25236
+ _classCallCheck(this, PDFFetchStreamRangeReader);
25237
+
25238
+ this._stream = stream;
25239
+ this._reader = null;
25240
+ this._loaded = 0;
25241
+ var source = stream.source;
25242
+ this._withCredentials = source.withCredentials || false;
25243
+ this._readCapability = (0, _util.createPromiseCapability)();
25244
+ this._isStreamingSupported = !source.disableStream;
25245
+
25246
+ if (typeof AbortController !== "undefined") {
25247
+ this._abortController = new AbortController();
25248
+ }
25249
+
25250
+ this._headers = createHeaders(this._stream.httpHeaders);
25251
+
25252
+ this._headers.append("Range", "bytes=".concat(begin, "-").concat(end - 1));
25253
+
25254
+ var url = source.url;
25255
+ fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {
25256
+ if (!(0, _network_utils.validateResponseStatus)(response.status)) {
25257
+ throw (0, _network_utils.createResponseStatusError)(response.status, url);
25258
+ }
25259
+
25260
+ _this2._readCapability.resolve();
25261
+
25262
+ _this2._reader = response.body.getReader();
25263
+ });
25264
+ this.onProgress = null;
25265
+ }
25266
+
25267
+ _createClass(PDFFetchStreamRangeReader, [{
25268
+ key: "read",
25269
+ value: function () {
25270
+ var _read2 = _asyncToGenerator(
25271
+ /*#__PURE__*/
25272
+ _regenerator["default"].mark(function _callee2() {
25273
+ var _ref2, value, done, buffer;
25274
+
25275
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
25276
+ while (1) {
25277
+ switch (_context2.prev = _context2.next) {
25278
+ case 0:
25279
+ _context2.next = 2;
25280
+ return this._readCapability.promise;
25281
+
25282
+ case 2:
25283
+ _context2.next = 4;
25284
+ return this._reader.read();
25285
+
25286
+ case 4:
25287
+ _ref2 = _context2.sent;
25288
+ value = _ref2.value;
25289
+ done = _ref2.done;
25290
+
25291
+ if (!done) {
25292
+ _context2.next = 9;
25293
+ break;
25294
+ }
25295
+
25296
+ return _context2.abrupt("return", {
25297
+ value: value,
25298
+ done: done
25299
+ });
25300
+
25301
+ case 9:
25302
+ this._loaded += value.byteLength;
25303
+
25304
+ if (this.onProgress) {
25305
+ this.onProgress({
25306
+ loaded: this._loaded
25307
+ });
25308
+ }
25309
+
25310
+ buffer = new Uint8Array(value).buffer;
25311
+ return _context2.abrupt("return", {
25312
+ value: buffer,
25313
+ done: false
25314
+ });
25315
+
25316
+ case 13:
25317
+ case "end":
25318
+ return _context2.stop();
25319
+ }
25320
+ }
25321
+ }, _callee2, this);
25322
+ }));
25323
+
25324
+ function read() {
25325
+ return _read2.apply(this, arguments);
25326
+ }
25327
+
25328
+ return read;
25329
+ }()
25330
+ }, {
25331
+ key: "cancel",
25332
+ value: function cancel(reason) {
25333
+ if (this._reader) {
25334
+ this._reader.cancel(reason);
25335
+ }
25336
+
25337
+ if (this._abortController) {
25338
+ this._abortController.abort();
25339
+ }
25340
+ }
25341
+ }, {
25342
+ key: "isStreamingSupported",
25343
+ get: function get() {
25344
+ return this._isStreamingSupported;
25345
+ }
25346
+ }]);
25347
+
25348
+ return PDFFetchStreamRangeReader;
25349
+ }();
25350
+
25351
+ /***/ })
25352
+ /******/ ]);
25353
+ });
25354
+ //# sourceMappingURL=pdf.js.map
assets/pdfjs/build/pdf.js.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"sources":["webpack://pdfjs-dist/build/pdf/webpack/universalModuleDefinition","webpack://pdfjs-dist/build/pdf/webpack/bootstrap","webpack://pdfjs-dist/build/pdf/src/pdf.js","webpack://pdfjs-dist/build/pdf/src/shared/util.js","webpack://pdfjs-dist/build/pdf/src/shared/compatibility.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/global-this.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.global-this.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/export.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/global.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/descriptors.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/fails.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-property-is-enumerable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-property-descriptor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-indexed-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/indexed-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/classof-raw.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/require-object-coercible.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-primitive.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/has.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/ie8-dom-define.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/document-create-element.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-non-enumerable-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-define-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/an-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/redefine.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-global.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/inspect-source.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared-store.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/internal-state.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/native-weak-map.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared-key.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-pure.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/uid.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/hidden-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/copy-constructor-properties.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/own-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-built-in.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/path.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-names.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-keys-internal.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-includes.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-length.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-integer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-absolute-index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/enum-bug-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-forced.js","webpack://pdfjs-dist/build/pdf/src/shared/is_node.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/starts-with.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.starts-with.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/not-a-regexp.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-regexp.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/well-known-symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/native-symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/use-symbol-as-uid.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/correct-is-regexp-logic.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/entry-unbind.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-bind-context.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-function.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/ends-with.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.ends-with.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/includes.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.includes.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/array/includes.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.includes.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/add-to-unscopables.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-create.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-define-properties.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/html.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-method-uses-to-length.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/array/from.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/string-multibyte.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/define-iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-iterator-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterators-core.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-prototype-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/correct-prototype-getter.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-to-string-tag.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterators.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-set-prototype-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-possible-prototype.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.from.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-from.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-array-iterator-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-iterator-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/classof.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-string-tag-support.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/object/assign.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.object.assign.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-assign.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/math/log2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.math.log2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/number/is-nan.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.number.is-nan.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/number/is-integer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.number.is-integer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-integer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/promise/index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.object.to-string.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-to-string.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/dom-iterables.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/native-promise-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/redefine-all.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-species.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/an-instance.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterate.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/species-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/task.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-ios.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-user-agent.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/microtask.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/promise-resolve.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/new-promise-capability.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/host-report-errors.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/perform.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-v8-version.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.all-settled.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.finally.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/web/url.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.url.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/native-url.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/string-punycode-to-ascii.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.url-search-params.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.url.to-json.js","webpack://pdfjs-dist/build/pdf/node_modules/web-streams-polyfill/dist/ponyfill.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/weak-map/index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.weak-map.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/internal-metadata.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/freezing.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/collection.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-weak.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-iteration.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-species-create.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-array.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/weak-set/index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.weak-set.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/code-point-at.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.code-point-at.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/from-code-point.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.from-code-point.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/symbol/index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.concat.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-method-has-species-support.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/define-well-known-symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.async-iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.description.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.has-instance.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.is-concat-spreadable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.match.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.match-all.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.replace.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.search.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.species.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.split.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.to-primitive.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.to-string-tag.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.unscopables.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.math.to-string-tag.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.json.to-string-tag.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/pad-start.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.pad-start.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/string-pad.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/string-repeat.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/string-pad-webkit-bug.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/pad-end.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.pad-end.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/object/values.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.object.values.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-to-array.js","webpack://pdfjs-dist/build/pdf/src/display/api.js","webpack://pdfjs-dist/build/pdf/node_modules/@babel/runtime/regenerator/index.js","webpack://pdfjs-dist/build/pdf/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js","webpack://pdfjs-dist/build/pdf/node_modules/webpack/buildin/module.js","webpack://pdfjs-dist/build/pdf/src/display/display_utils.js","webpack://pdfjs-dist/build/pdf/src/display/font_loader.js","webpack://pdfjs-dist/build/pdf/src/display/api_compatibility.js","webpack://pdfjs-dist/build/pdf/src/display/canvas.js","webpack://pdfjs-dist/build/pdf/src/display/pattern_helper.js","webpack://pdfjs-dist/build/pdf/src/display/worker_options.js","webpack://pdfjs-dist/build/pdf/src/shared/message_handler.js","webpack://pdfjs-dist/build/pdf/src/display/metadata.js","webpack://pdfjs-dist/build/pdf/src/display/xml_parser.js","webpack://pdfjs-dist/build/pdf/src/display/transport_stream.js","webpack://pdfjs-dist/build/pdf/src/display/webgl.js","webpack://pdfjs-dist/build/pdf/src/display/text_layer.js","webpack://pdfjs-dist/build/pdf/src/display/annotation_layer.js","webpack://pdfjs-dist/build/pdf/src/display/svg.js","webpack://pdfjs-dist/build/pdf/src/display/node_stream.js","webpack://pdfjs-dist/build/pdf/src/display/network_utils.js","webpack://pdfjs-dist/build/pdf/src/display/content_disposition.js","webpack://pdfjs-dist/build/pdf/src/display/network.js","webpack://pdfjs-dist/build/pdf/src/display/fetch_stream.js"],"names":["pdfjsVersion","pdfjsBuild","pdfjsSharedUtil","require","pdfjsDisplayAPI","pdfjsDisplayTextLayer","pdfjsDisplayAnnotationLayer","pdfjsDisplayDisplayUtils","pdfjsDisplaySVG","pdfjsDisplayWorkerOptions","pdfjsDisplayAPICompatibility","PDFNodeStream","params","PDFNetworkStream","PDFFetchStream","exports","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","NativeImageDecoding","NONE","DECODE","DISPLAY","PermissionFlag","PRINT","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","TextRenderingMode","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","ImageKind","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","AnnotationType","TEXT","LINK","FREETEXT","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","STAMP","CARET","INK","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","AnnotationStateModelType","MARKED","REVIEW","AnnotationMarkedState","UNMARKED","AnnotationReviewState","ACCEPTED","REJECTED","CANCELLED","COMPLETED","AnnotationReplyType","GROUP","REPLY","AnnotationFlag","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","AnnotationFieldFlag","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","AnnotationBorderStyleType","SOLID","DASHED","BEVELED","INSET","StreamType","UNKNOWN","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RLX","FontType","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","VerbosityLevel","ERRORS","WARNINGS","INFOS","CMapCompressionType","BINARY","STREAM","OPS","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","transform","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","paintJpegXObject","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","UNSUPPORTED_FEATURES","unknown","forms","javaScript","smask","shadingPattern","font","PasswordResponses","NEED_PASSWORD","INCORRECT_PASSWORD","verbosity","Number","console","unreachable","base","other","url","absoluteUrl","baseUrl","_isValidProtocol","Object","value","enumerable","configurable","writable","BaseException","constructor","NullCharactersRegExp","warn","str","assert","bytes","length","MAX_ARGUMENT_COUNT","String","strBuf","i","chunkEnd","Math","chunk","arr","resultLength","arrayByteLength","pos","data","item","stringToBytes","itemLength","buffer8","view32","rgbBuf","m1","m2","xt","p","m","yt","d","p1","Util","p2","r","p3","p4","v","transpose","a","b","c","first","second","sx","sy","rect","orderedX","rect1","rect2","orderedY","result","PDFStringTranslateTable","code","decodeURIComponent","escape","unescape","encodeURIComponent","arr1","arr2","element","capability","isSettled","get","resolve","reject","createObjectURL","digits","forceDataSchema","URL","blob","type","buffer","ii","b1","b2","b3","d1","d2","d3","d4","globalThis","hasDOM","userAgent","navigator","isIE","Buffer","Element","div","document","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","token","force","arguments","OriginalPushState","window","OriginalReplaceState","args","Array","isReadableStreamSupported","start","controller","module","$","global","getOwnPropertyDescriptor","f","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","options","source","TARGET","target","GLOBAL","STATIC","stat","FORCED","key","targetProperty","sourceProperty","descriptor","prototype","noTargetGet","forced","undefined","sham","check","it","self","Function","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","O","P","error","call","fails","defineProperty","exec","nativePropertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","V","bitmap","IndexedObject","requireObjectCoercible","classof","split","toString","slice","TypeError","isObject","input","PREFERRED_STRING","fn","val","valueOf","hasOwnProperty","createElement","EXISTS","definePropertyModule","object","anObject","nativeDefineProperty","Attributes","inspectSource","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","join","store","functionToString","SHARED","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","set","getterFor","TYPE","state","wmget","wmhas","wmset","metadata","STATE","test","shared","uid","keys","IS_PURE","push","version","mode","copyright","id","postfix","random","ownKeys","getOwnPropertyDescriptorModule","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","concat","path","aFunction","variable","namespace","method","internalObjectKeys","enumBugKeys","getOwnPropertyNames","indexOf","names","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","index","includes","toInteger","min","argument","ceil","floor","isNaN","max","integer","replacement","feature","detection","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","isNodeJS","process","entryUnbind","notARegExp","correctIsRegExpLogic","nativeStartsWith","startsWith","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","proto","searchString","that","search","isRegExp","wellKnownSymbol","MATCH","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","Symbol","createWellKnownSymbol","withoutSetter","name","iterator","METHOD_NAME","regexp","e","bind","CONSTRUCTOR","METHOD","apply","nativeEndsWith","endsWith","endPosition","len","end","$includes","addToUnscopables","arrayMethodUsesToLength","USES_TO_LENGTH","ACCESSORS","create","UNSCOPABLES","ArrayPrototype","defineProperties","html","documentCreateElement","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","NullProtoObjectViaActiveX","activeXDocument","write","close","temp","parentWindow","NullProtoObjectViaIFrame","iframe","JS","iframeDocument","style","display","appendChild","src","contentWindow","open","F","NullProtoObject","domain","ActiveXObject","Properties","objectKeys","cache","thrower","argument0","argument1","from","charAt","defineIterator","STRING_ITERATOR","setInternalState","iterated","next","point","done","CONVERT_TO_STRING","S","position","size","charCodeAt","codeAt","createIteratorConstructor","getPrototypeOf","setPrototypeOf","setToStringTag","Iterators","IteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","returnThis","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","getIterationMethod","KIND","defaultIterator","IterablePrototype","values","entries","TO_STRING_TAG","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","CurrentIteratorPrototype","methods","KEY","PrototypeOfArrayIteratorPrototype","arrayIterator","toObject","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","TAG","aPossiblePrototype","CORRECT_SETTER","setter","__proto__","checkCorrectnessOfIteration","INCORRECT_ITERATION","iterable","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","C","argumentsLength","mapfn","mapping","iteratorMethod","step","returnMethod","propertyKey","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tryGet","tag","callee","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","assign","nativeAssign","A","B","symbol","alphabet","forEach","chr","T","j","log2","log","LN2","x","number","isInteger","isFinite","Promise","DOMIterables","ArrayIteratorMethods","ArrayValues","COLLECTION_NAME","Collection","CollectionPrototype","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","ARRAY_ITERATOR","kind","Arguments","NativePromise","redefineAll","setSpecies","anInstance","iterate","speciesConstructor","task","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","V8_VERSION","SPECIES","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","newPromiseCapability","newGenericPromiseCapability","IS_NODE","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","HANDLED","UNHANDLED","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","GLOBAL_CORE_JS_PROMISE","PromiseRejectionEvent","promise","FakePromise","then","all","isThenable","notify","isReject","notified","chain","reactions","ok","reaction","handler","fail","exited","rejection","onHandleUnhandled","enter","exit","onUnhandled","reason","event","initEvent","IS_UNHANDLED","isUnhandled","emit","parent","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","fetch","wrap","$promiseResolve","counter","remaining","alreadyCalled","race","CONSTRUCTOR_NAME","Constructor","Result","stopped","AS_ENTRIES","IS_ITERATOR","boundFunction","iterFn","stop","defaultConstructor","IS_IOS","location","setImmediate","clear","clearImmediate","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","defer","channel","port","run","runner","listener","post","postMessage","protocol","host","nextTick","now","port2","port1","onmessage","addEventListener","importScripts","removeChild","setTimeout","macrotask","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","flush","head","last","toggle","node","createTextNode","observe","characterData","promiseCapability","PromiseCapability","$$resolve","$$reject","versions","v8","match","allSettled","status","NON_GENERIC","real","onFinally","isFunction","USE_NATIVE_URL","arrayFrom","toASCII","URLSearchParamsModule","NativeURL","URLSearchParams","getInternalSearchParamsState","getState","getInternalURLState","pow","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","EOF","parseHost","codePoints","parseIPv6","isSpecial","percentEncode","C0ControlPercentEncodeSet","parseIPv4","parts","partsLength","numbers","part","radix","ipv4","pop","parseInt","address","pieceIndex","compress","pointer","numbersSeen","ipv4Piece","swaps","swap","char","findLongestZeroSequence","ipv6","maxIndex","maxLength","currStart","currLength","serializeHost","ignore0","unshift","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","file","http","https","ws","wss","scheme","includesCredentials","username","password","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","normalized","startsWithWindowsDriveLetter","third","shortenURLsPath","pathSize","isSingleDot","segment","isDoubleDot","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","seenAt","seenBracket","seenPasswordToken","bufferCodePoints","failure","query","fragment","codePoint","encodedCodePoints","shift","URLConstructor","urlString","baseState","searchParams","searchParamsState","updateSearchParams","updateURL","href","serializeURL","origin","getOrigin","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","pathname","getPathname","getSearch","getSearchParams","hash","getHash","URLPrototype","output","accessorDescriptor","getter","toJSON","nativeCreateObjectURL","nativeRevokeObjectURL","revokeObjectURL","sort","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","stringFromCharCode","fromCharCode","ucs2decode","extra","digitToBasic","digit","adapt","delta","numPoints","firstTime","k","encode","inputLength","n","bias","currentValue","basicLength","handledCPCount","handledCPCountPlusOne","RangeError","q","t","qMinusT","baseMinusT","encoded","labels","label","hasOwn","getIterator","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","plus","sequences","percentSequence","RegExp","percentDecode","sequence","deserialize","find","replacer","serialize","parseSearchParams","attributes","attribute","entry","validateArgumentsLength","passed","required","URLSearchParamsIterator","Iterator","URLSearchParamsConstructor","init","entryIterator","entryNext","URLSearchParamsPrototype","append","splice","getAll","found","entriesIndex","sliceIndex","callback","body","headers","factory","SymbolPolyfill","description","noop","NumberIsNaN","rethrowAssertionErrorRejection","typeIsObject","createArrayFromList","elements","ArrayBufferCopy","dest","destOffset","srcOffset","Uint8Array","IsFiniteNonNegativeNumber","IsNonNegativeNumber","Infinity","Call","CreateAlgorithmFromUnderlyingMethod","underlyingObject","methodName","algoArgCount","extraArgs","PromiseCall","arg","fullArgs","promiseResolvedWith","InvokeOrNoop","promiseRejectedWith","TransferArrayBuffer","IsDetachedBuffer","ValidateAndNormalizeHighWaterMark","highWaterMark","MakeSizeAlgorithmFromSizeFunction","originalPromise","originalPromiseThen","originalPromiseResolve","originalPromiseReject","newPromise","PerformPromiseThen","uponPromise","uponFulfillment","uponRejection","transformPromiseWith","fulfillmentHandler","rejectionHandler","setPromiseIsHandledToTrue","QUEUE_MAX_ARRAY_SIZE","SimpleQueue","_cursor","_size","_front","_elements","_next","_back","oldBack","newBack","oldFront","newFront","oldCursor","newCursor","peek","front","cursor","ReadableStreamCreateReadResult","forAuthorCode","obj","ReadableStreamReaderGenericInitialize","reader","stream","_forAuthorCode","_ownerReadableStream","_reader","_state","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","_storedError","ReadableStreamReaderGenericCancel","ReadableStreamCancel","ReadableStreamReaderGenericRelease","defaultReaderClosedPromiseReject","defaultReaderClosedPromiseResetToRejected","readerLockException","_closedPromise","_closedPromise_resolve","_closedPromise_reject","defaultReaderClosedPromiseResolve","CancelSteps","PullSteps","AcquireReadableStreamDefaultReader","ReadableStreamDefaultReader","ReadableStreamAddReadRequest","readRequest","_resolve","_reject","_readRequests","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadRequests","ReadableStreamHasDefaultReader","IsReadableStreamDefaultReader","IsReadableStream","IsReadableStreamLocked","defaultReaderBrandCheckException","cancel","read","ReadableStreamDefaultReaderRead","releaseLock","_disturbed","_readableStreamController","_a","AsyncIteratorPrototype","asyncIterator","ReadableStreamAsyncIteratorPrototype","IsReadableStreamAsyncIterator","streamAsyncIteratorBrandCheckException","_asyncIteratorReader","return","_preventCancel","AcquireReadableStreamAsyncIterator","preventCancel","Boolean","DequeueValue","container","pair","_queue","_queueTotalSize","EnqueueValueWithSize","PeekQueueValue","ResetQueue","AbortSteps","ErrorSteps","WritableStream","underlyingSink","strategy","InitializeWritableStream","sizeAlgorithm","SetUpWritableStreamDefaultControllerFromUnderlyingSink","IsWritableStream","streamBrandCheckException","IsWritableStreamLocked","abort","WritableStreamAbort","getWriter","AcquireWritableStreamDefaultWriter","WritableStreamDefaultWriter","CreateWritableStream","startAlgorithm","writeAlgorithm","closeAlgorithm","abortAlgorithm","WritableStreamDefaultController","SetUpWritableStreamDefaultController","_writer","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","_promise","wasAlreadyErroring","_reason","_wasAlreadyErroring","WritableStreamStartErroring","WritableStreamAddWriteRequest","writeRequest","WritableStreamDealWithRejection","WritableStreamFinishErroring","writer","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","storedError","WritableStreamRejectCloseAndClosedPromiseIfNeeded","abortRequest","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamFinishInFlightClose","defaultWriterClosedPromiseResolve","WritableStreamFinishInFlightCloseWithError","WritableStreamCloseQueuedOrInFlight","WritableStreamMarkCloseRequestInFlight","WritableStreamMarkFirstWriteRequestInFlight","defaultWriterClosedPromiseReject","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseReset","defaultWriterReadyPromiseResolve","_ownerWritableStream","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","defaultWriterClosedPromiseInitializeAsResolved","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultWriterGetDesiredSize","_readyPromise","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","closeRequest","WritableStreamDefaultControllerClose","WritableStreamDefaultWriterCloseWithErrorPropagation","WritableStreamDefaultWriterEnsureClosedPromiseRejected","_closedPromiseState","defaultWriterClosedPromiseResetToRejected","_readyPromiseState","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","WritableStreamDefaultControllerGetDesiredSize","releasedError","chunkSize","WritableStreamDefaultControllerGetChunkSize","WritableStreamDefaultControllerWrite","IsWritableStreamDefaultController","_controlledWritableStream","WritableStreamDefaultControllerError","_abortAlgorithm","WritableStreamDefaultControllerClearAlgorithms","_strategySizeAlgorithm","_strategyHWM","_writeAlgorithm","_closeAlgorithm","WritableStreamDefaultControllerGetBackpressure","startResult","startPromise","WritableStreamDefaultControllerAdvanceQueueIfNeeded","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","writeRecord","enqueueE","WritableStreamDefaultControllerProcessClose","WritableStreamDefaultControllerProcessWrite","sinkClosePromise","sinkWritePromise","desiredSize","_readyPromise_resolve","_readyPromise_reject","isAbortSignal","aborted","NativeDOMException","DOMException","isDOMExceptionConstructor","ctor","createDOMExceptionPolyfill","message","Error","captureStackTrace","DOMException$1","ReadableStreamPipeTo","preventClose","preventAbort","signal","shuttingDown","currentWrite","actions","shutdownWithAction","map","action","pipeLoop","resolveLoop","rejectLoop","pipeStep","isOrBecomesErrored","shutdown","isOrBecomesClosed","destClosed_1","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","finalize","newError","isError","removeEventListener","ReadableStreamDefaultController","IsReadableStreamDefaultController","defaultControllerBrandCheckException","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamDefaultControllerCanCloseOrEnqueue","ReadableStreamDefaultControllerClose","enqueue","ReadableStreamDefaultControllerEnqueue","ReadableStreamDefaultControllerError","_cancelAlgorithm","ReadableStreamDefaultControllerClearAlgorithms","_controlledReadableStream","_closeRequested","ReadableStreamClose","ReadableStreamDefaultControllerCallPullIfNeeded","pendingPromise","shouldPull","ReadableStreamDefaultControllerShouldCallPull","_pulling","_pullAgain","pullPromise","_pullAlgorithm","ReadableStreamError","ReadableStreamDefaultControllerHasBackpressure","SetUpReadableStreamDefaultController","pullAlgorithm","cancelAlgorithm","SetUpReadableStreamDefaultControllerFromUnderlyingSource","underlyingSource","ReadableStreamTee","cloneForBranch2","reading","canceled1","canceled2","reason1","reason2","branch1","branch2","resolveCancelPromise","cancelPromise","readPromise","value1","value2","cancel1Algorithm","compositeReason","cancelResult","cancel2Algorithm","CreateReadableStream","NumberIsInteger","ReadableStreamBYOBRequest","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","_view","respond","bytesWritten","_associatedReadableByteStreamController","ReadableByteStreamControllerRespond","respondWithNewView","view","ArrayBuffer","isView","ReadableByteStreamControllerRespondWithNewView","ReadableByteStreamController","IsReadableByteStreamController","byteStreamControllerBrandCheckException","_byobRequest","_pendingPullIntos","firstDescriptor","byteOffset","bytesFilled","byteLength","byobRequest","SetUpReadableStreamBYOBRequest","ReadableByteStreamControllerGetDesiredSize","_controlledReadableByteStream","ReadableByteStreamControllerClose","ReadableByteStreamControllerEnqueue","ReadableByteStreamControllerError","ReadableByteStreamControllerClearAlgorithms","ReadableByteStreamControllerHandleQueueDrain","viewE","autoAllocateChunkSize","_autoAllocateChunkSize","bufferE","pullIntoDescriptor","elementSize","readerType","ReadableByteStreamControllerCallPullIfNeeded","ReadableByteStreamControllerShouldCallPull","ReadableByteStreamControllerClearPendingPullIntos","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerCommitPullIntoDescriptor","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","ReadableStreamFulfillReadIntoRequest","ReadableByteStreamControllerEnqueueChunkToQueue","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","ready","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerShiftPendingPullInto","ReadableByteStreamControllerPullInto","DataView","BYTES_PER_ELEMENT","ReadableStreamAddReadIntoRequest","emptyView","ReadableByteStreamControllerRespondInClosedState","ReadableStreamHasBYOBReader","ReadableStreamGetNumReadIntoRequests","ReadableByteStreamControllerRespondInReadableState","remainderSize","remainder","ReadableByteStreamControllerRespondInternal","firstPendingPullInto","transferredBuffer","transferredView","SetUpReadableByteStreamController","SetUpReadableByteStreamControllerFromUnderlyingSource","underlyingByteSource","request","AcquireReadableStreamBYOBReader","ReadableStreamBYOBReader","readIntoRequest","_readIntoRequests","IsReadableStreamBYOBReader","byobReaderBrandCheckException","ReadableStreamBYOBReaderRead","ReadableStream","InitializeReadableStream","typeString","streamBrandCheckException$1","getReader","pipeThrough","_b","readable","_c","pipeTo","tee","branches","sourceCancelPromise","ByteLengthQueuingStrategy","CountQueuingStrategy","TransformStream","transformer","writableStrategy","readableStrategy","writableSizeFunction","writableHighWaterMark","readableSizeFunction","readableHighWaterMark","writableType","writableSizeAlgorithm","readableType","readableSizeAlgorithm","startPromise_resolve","InitializeTransformStream","SetUpTransformStreamDefaultControllerFromTransformer","_transformStreamController","IsTransformStream","streamBrandCheckException$2","_readable","_writable","TransformStreamDefaultSinkWriteAlgorithm","TransformStreamDefaultSinkAbortAlgorithm","TransformStreamDefaultSinkCloseAlgorithm","TransformStreamDefaultSourcePullAlgorithm","TransformStreamErrorWritableAndUnblockWrite","_backpressureChangePromise","_backpressureChangePromise_resolve","TransformStreamSetBackpressure","TransformStreamError","TransformStreamDefaultControllerClearAlgorithms","TransformStreamDefaultController","IsTransformStreamDefaultController","defaultControllerBrandCheckException$1","readableController","_controlledTransformStream","TransformStreamDefaultControllerEnqueue","TransformStreamDefaultControllerError","terminate","TransformStreamDefaultControllerTerminate","SetUpTransformStreamDefaultController","transformAlgorithm","flushAlgorithm","_transformAlgorithm","_flushAlgorithm","transformResultE","transformMethod","TransformStreamDefaultControllerPerformTransform","transformPromise","backpressureChangePromise","flushPromise","InternalMetadataModule","collection","collectionWeak","enforceIternalState","IS_IE11","isExtensible","InternalWeakMap","$WeakMap","getConstructor","WeakMapPrototype","nativeDelete","nativeHas","nativeGet","nativeSet","frozen","FREEZING","METADATA","setMetadata","objectID","weakData","fastKey","getWeakData","onFreeze","meta","preventExtensions","inheritIfRequired","common","IS_MAP","IS_WEAK","ADDER","NativeConstructor","NativePrototype","exported","fixMethod","nativeMethod","add","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","setStrong","Wrapper","NewTarget","NewTargetPrototype","ArrayIterationModule","$has","internalStateGetterFor","findIndex","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","define","arraySpeciesCreate","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","callbackfn","specificCreate","filter","some","every","isArray","originalArray","WeakSet","codePointAt","fromCodePoint","nativeFromCodePoint","INCORRECT_LENGTH","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","array","SPECIES_SUPPORT","isConcatSpreadable","spreadable","E","foo","nativeObjectCreate","getOwnPropertyNamesExternal","wrappedWellKnownSymbolModule","defineWellKnownSymbol","$forEach","SYMBOL","TO_PRIMITIVE","$Symbol","$stringify","nativeGetOwnPropertyNames","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","isSymbol","$defineProperty","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$create","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","FORCED_JSON_STRINGIFY","stringify","space","$replacer","windowNames","getWindowNames","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","desc","JSON","$padStart","WEBKIT_BUG","padStart","repeat","IS_END","fillString","stringLength","fillStr","intMaxLength","fillLen","stringFiller","count","$padEnd","padEnd","$values","TO_ENTRIES","DEFAULT_RANGE_CHUNK_SIZE","RENDERING_CANCELLED_TIMEOUT","createPDFNetworkStream","isArrayBuffer","range","rangeTransport","worker","pdfBytes","NativeImageDecoderValues","apiCompatibilityParams","setVerbosityLevel","workerParams","GlobalWorkerOptions","PDFWorker","docId","networkStream","initialData","progressiveDone","disableRange","disableStream","httpHeaders","withCredentials","rangeChunkSize","messageHandler","transport","pdfDataRangeTransport","apiVersion","disableAutoFetch","maxImageSize","disableFontFace","disableCreateObjectURL","postMessageTransfers","docBaseUrl","nativeImageDecoderSupport","ignoreErrors","isEvalSupported","PDFDocumentLoadingTask","nextDocumentId","transportDestroyed","addRangeListener","addProgressListener","addProgressiveReadListener","addProgressiveDoneListener","onDataRange","onDataProgress","onDataProgressiveRead","requestDataRange","getPage","getPageIndex","getDestination","pdfBug","getViewport","rotation","offsetX","offsetY","dontFlip","viewBox","scale","getAnnotations","intent","enableWebGL","renderInteractiveForms","imageLayer","canvasFactory","background","render","renderingIntent","intentState","clearTimeout","canvasFactoryInstance","webGLContext","enable","fnArray","argsArray","lastChunk","pageIndex","complete","internalRenderTask","canvasContext","viewport","objs","commonObjs","operatorList","pageNumber","useRequestAnimationFrame","renderTask","transparency","opListTask","streamTextContent","normalizeWhitespace","disableCombineTextItems","TEXT_CONTENT_CHUNK_SIZE","combineTextItems","textContent","getTextContent","readableStream","pump","items","styles","waitOn","renderCompleted","resetStats","cleanup","_tryCleanup","_startRenderPage","_renderPageChunk","operatorListChunk","_pumpOperatorList","_abortOperatorList","cloned","transferable","transfers","cloneValue","pdfWorkerPorts","isWorkerDisabled","nextFakeWorkerId","fallbackWorkerSrc","pdfjsFilePath","deprecated","mainWorkerMessageHandler","fakeWorkerCapability","loader","getMainThreadWorkerMessageHandler","eval","getWorkerSrc","loadScript","_initializeFromPort","workerSrc","isSameOrigin","createCDNWrapper","terminateEarly","onWorkerError","sendTest","testObj","info","setupFakeWorkerGlobal","WorkerMessageHandler","workerHandler","loadingTask","onUnsupportedFeature","isCompressed","page","terminated","evt","loaded","total","sink","headersCapability","fullReader","isStreamingSupported","isRangeSupported","contentLength","rangeReader","pdfInfo","ex","exception","updatePassword","exportedError","exportedData","fontRegistry","registerFont","pageProxy","img","releaseImageResources","MAX_IMAGE_SIZE_TO_STORE","imageData","components","width","rgbaLength","buf","tmpCanvas","tmpCtx","height","fetched","builtInCMap","_onUnsupportedFeature","pageInfo","ref","results","contentDispositionFilename","cleanupSuccessful","_ensureObj","resolved","InternalRenderTask","canvasInRendering","initializeGraphics","build","runtime","Op","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","protoGenerator","outerFn","generator","context","tryLocsList","makeInvokeMethod","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","getProto","NativeIteratorPrototype","Gp","GeneratorFunctionPrototype","Generator","GeneratorFunction","genFun","__await","record","tryCatch","invoke","previousPromise","callInvokeWithMethodAndArg","defineIteratorMethods","AsyncIterator","iter","doneResult","delegate","delegateResult","maybeInvokeDelegate","tryLoc","locs","Context","reset","rootEntry","rootRecord","dispatchException","handle","hasCatch","hasFinally","abrupt","finallyEntry","finish","resetTryEntry","thrown","delegateYield","resultName","nextLoc","regeneratorRuntime","DEFAULT_LINK_REL","SVG_NS","canvas","canvasAndContext","destroy","compressionType","isFetchSupported","isValidFetchUrl","response","cMapData","XMLHttpRequest","svg","centerX","centerY","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","clone","convertToViewportPoint","convertToViewportRectangle","topLeft","bottomRight","convertToPdfPoint","LinkTarget","SELF","BLANK","PARENT","TOP","enabled","urlNullRemoved","removeNullCharacters","link","targetStr","anchor","time","Date","timeEnd","outBuf","longest","duration","Response","script","isString","pdfDateStringRegex","matches","year","month","day","hour","minute","universalTimeRelation","offsetHour","offsetMinute","addNativeFontFace","insertRule","styleElement","styleSheet","nativeFontFace","featureId","rule","_queueLoadingCallback","_prepareFontLoadEvent","FontLoader","requests","nextRequestId","otherRequest","offset","chunk1","s","chunk2","ctx","isFontReady","loadTestFontId","COMMENT_OFFSET","spliceString","CFF_CHECKSUM_OFFSET","XXXX_VALUE","checksum","int32","string32","btoa","fonts","span","supported","shadow","getLoadTestFont","atob","IsEvalSupportedCached","translatedData","bytesToString","getPathGenerator","cmds","js","current","compatibilityParams","isIOSChrome","MIN_FONT_SIZE","MAX_FONT_SIZE","MAX_GROUP_SIZE","MIN_WIDTH_FACTOR","COMPILE_TYPE3_GLYPHS","MAX_SIZE_TO_COMPILE","FULL_CHUNK_HEIGHT","IsLittleEndianCached","ad_bc","bc_ad","old","prev","cosValue","sinValue","CachedCanvases","getCanvas","canvasEntry","addContextCurrentTransform","POINT_TO_PROCESS_LIMIT","imgData","width1","points","POINT_TYPES","lineSize","data0","mask","elem","j0","sum","steps","outlines","coords","p0","pp","drawOutline","o","jj","CanvasExtraState","setCurrentPoint","CanvasGraphics","EXECUTION_TIME","EXECUTION_STEPS","partialChunkHeight","fullChunks","totalChunks","chunkImgData","srcPos","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","thisChunkHeight","destPos","srcDiff","kEnd","kEndUnrolled","srcByte","elemsInThisChunk","property","sourceCtx","destCtx","alpha","alpha_","r0","g0","b0","maskData","transferMap","layerData","y","hasBackdrop","backdrop","subtype","composeFn","PIXELS_TO_PROCESS","row","chunkHeight","maskCtx","layerCtx","composeSMaskBackdrop","composed","layer","genericComposeSMask","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","beginDrawing","transparentCanvas","resetCtxToDefault","executeOperatorList","executionStartIdx","argsArrayLen","chunkOperations","endTime","stepper","fnId","objsPool","depObjId","continueCallback","endDrawing","states","beginSMaskGroup","activeSMask","drawnWidth","drawnHeight","cacheId","scratchCanvas","currentCtx","currentTransform","groupCtx","copyCtxState","suspendSMaskGroup","composeSMask","deltaTransform","resumeSMaskGroup","endSMaskGroup","ops","xw","yh","consumePath","strokeColor","fillColor","isPatternFill","needRestore","paths","fontObj","bold","italic","typeface","browserFontSize","paintChar","textRenderingMode","fontSize","fillStrokeMode","isAddToPathSet","patternFill","addToPath","fontSizeScale","charSpacing","wordSpacing","fontDirection","textHScale","glyphsLength","glyphs","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","patternTransform","lineWidth","glyph","isNum","restoreNeeded","spacing","character","accent","vmetric","vx","vy","scaledX","scaledY","measuredWidth","characterScaleX","scaledAccentX","scaledAccentY","charWidth","showType3Text","fontMatrix","isTextInvisible","spacingLength","transformed","urx","ury","getColorN_Pattern","IR","color","baseTransform","canvasGraphicsFactory","createCanvasGraphics","getShadingPatternFromIR","inv","bl","br","ul","ur","x0","y0","x1","y1","matrix","bbox","group","bounds","canvasBounds","scaleX","scaleY","startTransformInverse","domImage","objId","left","top","w","h","maskCanvas","putBinaryImageMask","positions","images","image","widthScale","heightScale","imgToPaint","putBinaryImageData","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","getSinglePixelWidth","inverse","getCanvasPosition","ShadingIRs","region","fromIR","raw","colorStops","r1","getPattern","applyBoundingBox","grad","createMeshCanvas","colors","rowSize","tmp","c1","c2","c3","x2","y2","x3","y3","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","maxY","xa","car","cag","cab","xb","cbr","cbg","cbb","x1_","x2_","ps","figure","cs","verticesPerRow","rows","cols","drawTriangle","EXPECTED_SCALE","MAX_PATTERN_SIZE","BORDER_SIZE","boundsWidth","boundsHeight","combinesScale","paddedWidth","paddedHeight","backgroundColor","figures","cachedCanvases","drawFigure","owner","matrixScale","temporaryPatternCanvas","shadingIR","TilingPattern","PaintType","COLORED","UNCOLORED","createPatternCanvas","xstep","ystep","paintType","tilingType","curMatrixScale","combinedScale","dimx","dimy","graphics","getSizeAndScale","maxSize","clipBbox","bboxWidth","bboxHeight","setFillAndStrokeStyleToContext","cssColor","CallbackKind","DATA","ERROR","StreamKind","CANCEL","CANCEL_COMPLETE","CLOSE","ENQUEUE","PULL","PULL_COMPLETE","START_COMPLETE","callbackId","wrapReason","sourceName","targetName","comObj","on","ah","send","sendWithPromise","sendWithStream","streamId","startCapability","startCall","pullCall","cancelCall","isClosed","pull","pullCapability","cancelCapability","_createStreamSink","streamSink","lastDesiredSize","sinkCapability","onPull","onCancel","isCancelled","success","_processStreamMessage","_postMessage","parser","xmlDocument","_repair","chars","_parse","rdf","nodeName","children","XMLParserErrorCode","NoError","EndOfDocument","UnterminatedCdat","UnterminatedXmlDeclaration","UnterminatedDoctypeDeclaration","UnterminatedComment","MalformedElement","OutOfMemory","UnterminatedAttributeValue","UnterminatedElement","ElementNeverBegun","ch","isWhitespace","_resolveEntities","entity","_parseContent","skipWs","attrName","attrValue","attrEndChar","attrEndIndex","parsed","_parseProcessingInstruction","attrStart","parseXml","ch2","pi","q2","complexDoctype","doctypeContent","text","onResolveEntity","onPi","onComment","onCdata","onDoctype","onText","onBeginElement","onEndElement","onError","childNodes","child","parseFromString","documentElement","isWhitespaceString","lastElement","begin","_onReceiveData","_onProgress","firstReader","_removeRangeReader","queuedChunks","getRangeReader","cancelAllRequests","readers","_enqueue","requestCapability","requestsCapability","WebGLUtils","drawFigures","shader","gl","compiled","errorMsg","loadShader","program","shaders","linked","texture","currentCanvas","currentGL","premultipliedalpha","smaskVertexShaderCode","smaskFragmentShaderCode","smaskCache","generateGL","vertexShader","createVertexShader","fragmentShader","createFragmentShader","texCoordLocation","texLayerLocation","texMaskLocation","texCoordBuffer","initSmaskGL","createTexture","maskTexture","figuresVertexShaderCode","figuresFragmentShaderCode","figuresCache","initFiguresGL","coordsMap","colorsMap","pIndex","cIndex","col","coordsBuffer","colorsBuffer","tryInitGL","renderTextLayer","MAX_TEXT_DIVS_TO_RENDER","NonWhitespaceRegexp","textDiv","textDivProperties","angle","canvasWidth","originalTransform","paddingBottom","paddingLeft","paddingRight","paddingTop","isAllWhitespace","geom","tx","fontHeight","fontAscent","angleCos","angleSin","divWidth","divHeight","right","bottom","textDivs","textDivsLength","expanded","expandBounds","divProperties","ts","findPositiveMin","boxScale","box","x1New","x2New","expandBoundsLTR","boxes","fakeBoundary","horizon","boundary","maxXNew","horizonPart","affectedBoundary","xNew","changedHorizon","lastBoundary","useBoundary","used","textContentItemsStr","TextLayerRenderTask","_processItems","appendText","_layoutText","fontFamily","_render","styleCache","textItems","textStyles","expandTextDivs","expand","NO_PADDING","transformBuf","paddingBuf","divProps","padding","renderParameters","textContentStream","enhanceTextSelection","parameters","fieldType","isRenderable","ignoreBorder","_createContainer","horizontalRadius","verticalRadius","radius","_createPopup","trigger","popupElement","title","modificationDate","contents","hideWrapper","popup","addLinkAttributes","linkService","rel","_bindLink","_bindNamedAction","TEXT_ALIGNMENT","fieldWidth","combWidth","_setTextStyle","fallbackName","selectElement","optionElement","option","IGNORE_TYPES","selector","parentElement","parentLeft","parseFloat","parentWidth","BACKGROUND_ENLIGHT","g","dateObject","PDFDateString","date","_formatContents","lines","line","pin","_show","unpin","_hide","borderWidth","square","circle","coordinate","polyline","getFilenameFromUrl","stringToPDFString","filename","sortedAnnotations","popupAnnotations","downloadManager","imageResourcesPath","svgFactory","SVGGraphics","opTree","opListElement","pf","SVG_DEFAULTS","fontStyle","fontWeight","XML_NS","XLINK_NS","convertImgDataToPng","PNG_HEADER","CHUNK_WRAPPER_SIZE","crcTable","crc","crc32","deflateSyncUncompressed","__non_webpack_require__","level","literals","maxBlockLength","deflateBlocks","idat","adler","adler32","colorType","bitDepth","offsetLiterals","offsetBytes","ihdr","deflateSync","pngLength","writePngChunk","clipCount","maskCount","shadingCount","loadDependencies","transformMatrix","getSVG","svgElement","convertOpList","operatorIdMapping","opList","opListToTree","executeOpTree","opTreeElement","lineWidthScale","textMatrix","pm","addFontStyle","details","setStrokeAlpha","setFillAlpha","_makeColorN_Pattern","_makeTilingPattern","tilingId","txstep","tystep","tiling","tx1","ty1","_makeShadingPattern","shadingId","point0","point1","gradient","focalPoint","circlePoint","focalRadius","circleRadius","colorStop","op","clipId","clipPath","clipElement","_setStrokeAttributes","dashArray","imgObj","imgEl","imgSrc","cliprect","_initialize","definitions","rootGroup","clipGroup","fs","fileUriRegex","parsedUrl","parseUrl","_error","_setReadableStream","auth","handleResponse","getResponseHeader","isHttp","suggestedLength","extractFilenameFromHeader","createRequestOptions","returnValues","allowRangeRequests","contentEncoding","contentDisposition","getFilenameFromContentDispositionHeader","needsEncodingFixup","toParamRegExp","rfc2616unquote","rfc5987decode","rfc2047decode","fixupEncoding","rfc2231getparam","decoder","fatal","textdecode","quotindex","encodingend","extvalue","encoding","langvalue","OK_RESPONSE","PARTIAL_CONTENT_RESPONSE","xhr","requestRange","listeners","requestFull","xhrId","pendingRequest","onProgress","onStateChange","xhrStatus","ok_response_on_range_request","getArrayBuffer","rangeHeader","getRequestXhr","isPendingRequest","_onRangeRequestReaderClosed","onHeadersReceived","onDone","manager","fullRequestXhrId","fullRequestXhr","_onDone","_onError","createResponseStatusError","abortController","credentials","redirect","createHeaders","createFetchOptions","validateResponseStatus"],"mappings":"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