@esri/solutions-components 0.6.16 → 0.6.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/README.md +1 -1
  2. package/dist/assets/t9n/map-tools/resources.json +2 -1
  3. package/dist/assets/t9n/map-tools/resources_en.json +2 -1
  4. package/dist/assets/t9n/solution-spatial-ref/resources.json +0 -1
  5. package/dist/assets/t9n/solution-spatial-ref/resources_en.json +0 -1
  6. package/dist/assets/t9n/solution-spatial-ref/resources_fr.json +6 -0
  7. package/dist/assets/t9n/solution-spatial-ref/resources_he.json +6 -0
  8. package/dist/assets/t9n/spatial-ref/resources.json +3 -0
  9. package/dist/assets/t9n/spatial-ref/resources_en.json +3 -0
  10. package/dist/assets/t9n/spatial-ref/resources_fr.json +3 -0
  11. package/dist/assets/t9n/spatial-ref/resources_he.json +3 -0
  12. package/dist/cjs/{basemap-gallery_6.cjs.entry.js → basemap-gallery_7.cjs.entry.js} +124 -3
  13. package/dist/cjs/{calcite-tree_3.cjs.entry.js → calcite-checkbox_3.cjs.entry.js} +123 -319
  14. package/dist/cjs/calcite-combobox_6.cjs.entry.js +1 -1
  15. package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +4 -3
  16. package/dist/cjs/card-manager_3.cjs.entry.js +10 -7
  17. package/dist/{collection/components/basemap-gallery/test/basemap-gallery.e2e.js → cjs/common-13719149.js} +17 -9
  18. package/dist/cjs/crowdsource-manager.cjs.entry.js +12 -7
  19. package/dist/cjs/{downloadUtils-34a515ad.js → downloadUtils-121fd7ff.js} +2 -2
  20. package/dist/cjs/edit-card_2.cjs.entry.js +4 -3
  21. package/dist/cjs/{index.es-0ba11065.js → index.es-5c0c137a.js} +2 -2
  22. package/dist/cjs/loader.cjs.js +1 -1
  23. package/dist/cjs/map-select-tools_3.cjs.entry.js +2 -2
  24. package/dist/cjs/{mapViewUtils-a2884698.js → mapViewUtils-786a219b.js} +32 -19
  25. package/dist/cjs/public-notification.cjs.entry.js +2 -2
  26. package/dist/cjs/solution-configuration.cjs.entry.js +2 -1
  27. package/dist/cjs/solution-contents_3.cjs.entry.js +21 -21256
  28. package/dist/cjs/solution-item-icon.cjs.entry.js +327 -0
  29. package/dist/cjs/{solution-store-c443e657.js → solution-resource-f9e3b289.js} +2 -1698
  30. package/dist/cjs/solution-store-2414dd8a.js +1707 -0
  31. package/dist/cjs/solutions-components.cjs.js +1 -1
  32. package/dist/cjs/spatial-ref.cjs.entry.js +21293 -0
  33. package/dist/collection/collection-manifest.json +2 -0
  34. package/dist/collection/components/card-manager/card-manager.js +1 -1
  35. package/dist/collection/components/crowdsource-manager/crowdsource-manager.css +17 -2
  36. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +47 -6
  37. package/dist/collection/components/edit-card/edit-card.css +0 -8
  38. package/dist/collection/components/floor-filter/floor-filter.css +19 -0
  39. package/dist/collection/components/floor-filter/floor-filter.js +163 -0
  40. package/dist/collection/components/info-card/info-card.js +3 -2
  41. package/dist/collection/components/layer-table/layer-table.css +8 -0
  42. package/dist/collection/components/layer-table/layer-table.js +18 -2
  43. package/dist/collection/components/map-card/map-card.js +19 -1
  44. package/dist/collection/components/map-picker/map-picker.css +0 -4
  45. package/dist/collection/components/map-picker/map-picker.js +1 -1
  46. package/dist/collection/components/map-tools/map-tools.js +54 -1
  47. package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.css +1 -7
  48. package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +37 -291
  49. package/dist/collection/components/solution-spatial-ref/test/solution-spatial-ref.e2e.js +24 -12
  50. package/dist/collection/components/solution-spatial-ref/test/solution-spatial-ref.spec.js +32 -128
  51. package/dist/collection/components/spatial-ref/spatial-ref.css +20 -0
  52. package/dist/collection/components/spatial-ref/spatial-ref.js +445 -0
  53. package/dist/collection/components/spatial-ref/test/spatial-ref.e2e.js +71 -0
  54. package/dist/collection/components/spatial-ref/test/spatial-ref.spec.js +158 -0
  55. package/dist/collection/demos/crowdsource-manager.html +4 -0
  56. package/dist/collection/demos/solution-spatial-ref.html +9 -16
  57. package/dist/collection/demos/spatial-ref.html +53 -0
  58. package/dist/collection/utils/mapViewUtils.js +32 -19
  59. package/dist/collection/utils/mapViewUtils.ts +43 -20
  60. package/dist/collection/utils/{templates.e2e.js → test/templates.e2e.js} +2 -2
  61. package/dist/collection/utils/{templates.e2e.ts → test/templates.e2e.ts} +2 -2
  62. package/dist/components/card-manager2.js +1 -1
  63. package/dist/components/crowdsource-manager.js +86 -73
  64. package/dist/components/edit-card2.js +1 -1
  65. package/dist/components/floor-filter.d.ts +11 -0
  66. package/dist/components/floor-filter.js +11 -0
  67. package/dist/components/floor-filter2.js +115 -0
  68. package/dist/components/info-card2.js +3 -2
  69. package/dist/components/layer-table2.js +5 -3
  70. package/dist/components/map-card2.js +45 -37
  71. package/dist/components/map-picker2.js +2 -2
  72. package/dist/components/map-tools2.js +52 -11
  73. package/dist/components/mapViewUtils.js +32 -19
  74. package/dist/components/solution-configuration.js +79 -72
  75. package/dist/components/solution-resource-item2.js +2 -1
  76. package/dist/components/solution-resource.js +1836 -0
  77. package/dist/components/solution-spatial-ref2.js +41 -21277
  78. package/dist/components/solution-store.js +2 -1830
  79. package/dist/components/spatial-ref.d.ts +11 -0
  80. package/dist/components/spatial-ref.js +11 -0
  81. package/dist/components/spatial-ref2.js +21374 -0
  82. package/dist/esm/{basemap-gallery_6.entry.js → basemap-gallery_7.entry.js} +124 -4
  83. package/dist/esm/{calcite-tree_3.entry.js → calcite-checkbox_3.entry.js} +125 -321
  84. package/dist/esm/calcite-combobox_6.entry.js +1 -1
  85. package/dist/esm/calcite-shell-panel_14.entry.js +2 -1
  86. package/dist/esm/card-manager_3.entry.js +10 -7
  87. package/dist/{collection/components/layer-table/test/layer-table.e2e.js → esm/common-e4a8e353.js} +15 -9
  88. package/dist/esm/crowdsource-manager.entry.js +12 -7
  89. package/dist/esm/{downloadUtils-ac67a786.js → downloadUtils-287994b1.js} +2 -2
  90. package/dist/esm/edit-card_2.entry.js +4 -3
  91. package/dist/esm/{index.es-f553598f.js → index.es-a3f8409f.js} +2 -2
  92. package/dist/esm/loader.js +1 -1
  93. package/dist/esm/map-select-tools_3.entry.js +2 -2
  94. package/dist/esm/{mapViewUtils-8141d8c1.js → mapViewUtils-8bfabd80.js} +32 -19
  95. package/dist/esm/public-notification.entry.js +2 -2
  96. package/dist/esm/solution-configuration.entry.js +2 -1
  97. package/dist/esm/solution-contents_3.entry.js +20 -21255
  98. package/dist/esm/solution-item-icon.entry.js +323 -0
  99. package/dist/esm/{solution-store-b29d50f7.js → solution-resource-be35d35b.js} +1 -1697
  100. package/dist/esm/solution-store-e734626a.js +1704 -0
  101. package/dist/esm/solutions-components.js +1 -1
  102. package/dist/esm/spatial-ref.entry.js +21289 -0
  103. package/dist/solutions-components/demos/crowdsource-manager.html +4 -0
  104. package/dist/solutions-components/demos/solution-spatial-ref.html +9 -16
  105. package/dist/solutions-components/demos/spatial-ref.html +53 -0
  106. package/dist/solutions-components/{p-64d29ba2.entry.js → p-0bc27ba7.entry.js} +2 -2
  107. package/dist/{collection/components/map-card/test/map-card.e2e.js → solutions-components/p-1b228f97.js} +2 -10
  108. package/dist/solutions-components/{p-9f11a403.entry.js → p-3c5c1487.entry.js} +1 -1
  109. package/dist/solutions-components/{p-a26711e8.js → p-469c8f8a.js} +1 -1
  110. package/dist/solutions-components/p-53bc5fc1.js +36 -0
  111. package/dist/solutions-components/p-5b8c8942.entry.js +21 -0
  112. package/dist/solutions-components/p-63c6fc29.entry.js +6 -0
  113. package/dist/solutions-components/p-64945b43.entry.js +18 -0
  114. package/dist/solutions-components/{p-c8d0ce92.js → p-698c6a56.js} +2 -2
  115. package/dist/solutions-components/{p-b9d29f30.entry.js → p-734cb206.entry.js} +1 -1
  116. package/dist/solutions-components/p-770bff06.entry.js +6 -0
  117. package/dist/solutions-components/p-7741dbab.entry.js +6 -0
  118. package/dist/solutions-components/p-80465067.entry.js +6 -0
  119. package/dist/solutions-components/p-846df994.entry.js +6 -0
  120. package/dist/solutions-components/p-b3f8d2cb.js +192 -0
  121. package/dist/solutions-components/p-c26d8b36.entry.js +6 -0
  122. package/dist/solutions-components/{p-57cf6784.entry.js → p-d22be647.entry.js} +1 -1
  123. package/dist/solutions-components/{p-4d942b0f.entry.js → p-f35147d5.entry.js} +1 -1
  124. package/dist/solutions-components/p-ff0d7712.js +44 -0
  125. package/dist/solutions-components/solutions-components.esm.js +1 -1
  126. package/dist/solutions-components/utils/mapViewUtils.ts +43 -20
  127. package/dist/solutions-components/utils/{templates.e2e.ts → test/templates.e2e.ts} +2 -2
  128. package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +9 -1
  129. package/dist/types/components/floor-filter/floor-filter.d.ts +61 -0
  130. package/dist/types/components/layer-table/layer-table.d.ts +4 -0
  131. package/dist/types/components/map-card/map-card.d.ts +4 -0
  132. package/dist/types/components/map-tools/map-tools.d.ts +24 -0
  133. package/dist/types/components/solution-spatial-ref/solution-spatial-ref.d.ts +11 -93
  134. package/dist/types/components/spatial-ref/spatial-ref.d.ts +142 -0
  135. package/dist/types/components.d.ts +123 -16
  136. package/dist/types/preact.d.ts +8 -1
  137. package/package.json +6 -6
  138. package/dist/cjs/calcite-checkbox.cjs.entry.js +0 -136
  139. package/dist/collection/components/basemap-gallery/test/basemap-gallery.spec.js +0 -37
  140. package/dist/collection/components/buffer-tools/test/buffer-tools.e2e.js +0 -29
  141. package/dist/collection/components/buffer-tools/test/buffer-tools.spec.js +0 -160
  142. package/dist/collection/components/card-manager/test/card-manager.e2e.js +0 -29
  143. package/dist/collection/components/card-manager/test/card-manager.spec.js +0 -37
  144. package/dist/collection/components/crowdsource-manager/test/crowdsource-manager.e2e.js +0 -29
  145. package/dist/collection/components/crowdsource-manager/test/crowdsource-manager.spec.js +0 -37
  146. package/dist/collection/components/crowdsource-reporter/test/crowdsource-reporter.e2e.js +0 -29
  147. package/dist/collection/components/crowdsource-reporter/test/crowdsource-reporter.spec.js +0 -37
  148. package/dist/collection/components/deduct-calculator/test/deduct-calculator.e2e.js +0 -29
  149. package/dist/collection/components/deduct-calculator/test/deduct-calculator.spec.js +0 -37
  150. package/dist/collection/components/edit-card/test/edit-card.e2e.js +0 -14
  151. package/dist/collection/components/edit-card/test/edit-card.spec.js +0 -22
  152. package/dist/collection/components/info-card/test/info-card.e2e.js +0 -29
  153. package/dist/collection/components/info-card/test/info-card.spec.js +0 -37
  154. package/dist/collection/components/json-editor/test/json-editor.e2e.js +0 -36
  155. package/dist/collection/components/json-editor/test/json-editor.spec.js +0 -65
  156. package/dist/collection/components/layer-table/test/layer-table.spec.js +0 -37
  157. package/dist/collection/components/layout-manager/test/layout-manager.e2e.js +0 -29
  158. package/dist/collection/components/layout-manager/test/layout-manager.spec.js +0 -37
  159. package/dist/collection/components/list-item/test/list-item.e2e.js +0 -29
  160. package/dist/collection/components/list-item/test/list-item.spec.js +0 -37
  161. package/dist/collection/components/map-card/test/map-card.spec.js +0 -37
  162. package/dist/collection/components/map-draw-tools/test/map-draw-tools.e2e.js +0 -29
  163. package/dist/collection/components/map-draw-tools/test/map-draw-tools.spec.js +0 -37
  164. package/dist/collection/components/map-fullscreen/test/map-fullscreen.e2e.js +0 -29
  165. package/dist/collection/components/map-fullscreen/test/map-fullscreen.spec.js +0 -37
  166. package/dist/collection/components/map-layer-picker/test/map-layer-picker.e2e.js +0 -29
  167. package/dist/collection/components/map-layer-picker/test/map-layer-picker.spec.js +0 -114
  168. package/dist/collection/components/map-legend/test/map-legend.e2e.js +0 -14
  169. package/dist/collection/components/map-legend/test/map-legend.spec.js +0 -22
  170. package/dist/collection/components/map-picker/test/map-picker.e2e.js +0 -29
  171. package/dist/collection/components/map-picker/test/map-picker.spec.js +0 -37
  172. package/dist/collection/components/map-search/test/map-search.e2e.js +0 -29
  173. package/dist/collection/components/map-search/test/map-search.spec.js +0 -37
  174. package/dist/collection/components/map-select-tools/test/map-select-tools.e2e.js +0 -29
  175. package/dist/collection/components/map-select-tools/test/map-select-tools.spec.js +0 -366
  176. package/dist/collection/components/map-tools/test/map-tools.e2e.js +0 -29
  177. package/dist/collection/components/map-tools/test/map-tools.spec.js +0 -37
  178. package/dist/collection/components/pci-calculator/test/pci-calculator.e2e.js +0 -29
  179. package/dist/collection/components/pci-calculator/test/pci-calculator.spec.js +0 -37
  180. package/dist/collection/components/pdf-download/test/pdf-download.e2e.js +0 -76
  181. package/dist/collection/components/pdf-download/test/pdf-download.spec.js +0 -107
  182. package/dist/collection/components/public-notification/test/public-notification.spec.js +0 -161
  183. package/dist/collection/components/refine-selection/test/refine-selection.e2e.js +0 -14
  184. package/dist/collection/components/refine-selection/test/refine-selection.spec.js +0 -22
  185. package/dist/collection/components/solution-configuration/test/solution-configuration.e2e.js +0 -36
  186. package/dist/collection/components/solution-configuration/test/solution-configuration.spec.js +0 -119
  187. package/dist/collection/components/solution-contents/test/solution-contents.e2e.js +0 -94
  188. package/dist/collection/components/solution-contents/test/solution-contents.spec.js +0 -143
  189. package/dist/collection/components/solution-item/test/solution-item.e2e.js +0 -36
  190. package/dist/collection/components/solution-item/test/solution-item.spec.js +0 -77
  191. package/dist/collection/components/solution-item-details/test/solution-item-details.e2e.js +0 -36
  192. package/dist/collection/components/solution-item-details/test/solution-item-details.spec.js +0 -142
  193. package/dist/collection/components/solution-item-icon/test/solution-item-icon.e2e.js +0 -29
  194. package/dist/collection/components/solution-item-icon/test/solution-item-icon.spec.js +0 -39
  195. package/dist/collection/components/solution-item-sharing/test/solution-item-sharing.e2e.js +0 -36
  196. package/dist/collection/components/solution-item-sharing/test/solution-item-sharing.spec.js +0 -54
  197. package/dist/collection/components/solution-organization-variables/test/solution-organization-variables.e2e.js +0 -36
  198. package/dist/collection/components/solution-organization-variables/test/solution-organization-variables.spec.js +0 -65
  199. package/dist/collection/components/solution-resource-item/test/solution-resource-item.e2e.js +0 -36
  200. package/dist/collection/components/solution-resource-item/test/solution-resource-item.spec.js +0 -55
  201. package/dist/collection/components/solution-template-data/test/solution-template-data.e2e.js +0 -36
  202. package/dist/collection/components/solution-template-data/test/solution-template-data.spec.js +0 -60
  203. package/dist/collection/components/solution-variables/test/solution-variables.e2e.js +0 -36
  204. package/dist/collection/components/solution-variables/test/solution-variables.spec.js +0 -131
  205. package/dist/esm/calcite-checkbox.entry.js +0 -132
  206. package/dist/solutions-components/p-07d7e11f.entry.js +0 -6
  207. package/dist/solutions-components/p-16362eb4.js +0 -36
  208. package/dist/solutions-components/p-17d176b5.js +0 -230
  209. package/dist/solutions-components/p-1d9a5198.entry.js +0 -37
  210. package/dist/solutions-components/p-3707d9bd.entry.js +0 -6
  211. package/dist/solutions-components/p-4dbe8337.entry.js +0 -6
  212. package/dist/solutions-components/p-5ffaaaf4.entry.js +0 -6
  213. package/dist/solutions-components/p-736e76fb.entry.js +0 -17
  214. package/dist/solutions-components/p-99f1a767.entry.js +0 -6
  215. /package/dist/collection/components/{solution-spatial-ref → spatial-ref}/spatialreferences.js +0 -0
  216. /package/dist/types/components/{solution-spatial-ref → spatial-ref}/spatialreferences.d.ts +0 -0
@@ -0,0 +1,1836 @@
1
+ /*!
2
+ * Copyright 2022 Esri
3
+ * Licensed under the Apache License, Version 2.0
4
+ * http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import { c as createCommonjsModule, a as commonjsGlobal, b as commonjsRequire } from './_commonjsHelpers.js';
7
+
8
+ /** @license
9
+ * Copyright 2018 Esri
10
+ *
11
+ * Licensed under the Apache License, Version 2.0 (the "License");
12
+ * you may not use this file except in compliance with the License.
13
+ * You may obtain a copy of the License at
14
+ *
15
+ * http://www.apache.org/licenses/LICENSE-2.0
16
+ *
17
+ * Unless required by applicable law or agreed to in writing, software
18
+ * distributed under the License is distributed on an "AS IS" BASIS,
19
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
+ * See the License for the specific language governing permissions and
21
+ * limitations under the License.
22
+ */
23
+ //#endregion ---------------------------------------------------------------------------------------------------------//
24
+ const SolutionTemplateFormatVersion = 1;
25
+ //#region Enums ------------------------------------------------------------------------------------------------------//
26
+ /**
27
+ * Flags for storing an item's binary resources.
28
+ */
29
+ var EFileType;
30
+ (function (EFileType) {
31
+ EFileType[EFileType["Data"] = 0] = "Data";
32
+ EFileType[EFileType["Info"] = 1] = "Info";
33
+ EFileType[EFileType["Metadata"] = 2] = "Metadata";
34
+ EFileType[EFileType["Resource"] = 3] = "Resource";
35
+ EFileType[EFileType["Thumbnail"] = 4] = "Thumbnail";
36
+ })(EFileType || (EFileType = {}));
37
+ /**
38
+ * Text versions of flags for storing an item's binary resources.
39
+ */
40
+ var SFileType;
41
+ (function (SFileType) {
42
+ SFileType[SFileType["Data"] = 0] = "Data";
43
+ SFileType[SFileType["Info"] = 1] = "Info";
44
+ SFileType[SFileType["Metadata"] = 2] = "Metadata";
45
+ SFileType[SFileType["Resource"] = 3] = "Resource";
46
+ SFileType[SFileType["Thumbnail"] = 4] = "Thumbnail";
47
+ })(SFileType || (SFileType = {}));
48
+ /**
49
+ * Flags for reporting the status of creating or deploying an item.
50
+ */
51
+ var EItemProgressStatus;
52
+ (function (EItemProgressStatus) {
53
+ EItemProgressStatus[EItemProgressStatus["Started"] = 0] = "Started";
54
+ EItemProgressStatus[EItemProgressStatus["Created"] = 1] = "Created";
55
+ EItemProgressStatus[EItemProgressStatus["Cancelled"] = 2] = "Cancelled";
56
+ EItemProgressStatus[EItemProgressStatus["Finished"] = 3] = "Finished";
57
+ EItemProgressStatus[EItemProgressStatus["Ignored"] = 4] = "Ignored";
58
+ EItemProgressStatus[EItemProgressStatus["Failed"] = 5] = "Failed";
59
+ EItemProgressStatus[EItemProgressStatus["Unknown"] = 6] = "Unknown";
60
+ })(EItemProgressStatus || (EItemProgressStatus = {}));
61
+ //#endregion ---------------------------------------------------------------------------------------------------------//
62
+
63
+ var jszip_min = createCommonjsModule(function (module, exports) {
64
+ /*!
65
+
66
+ JSZip v3.10.1 - A JavaScript class for generating and reading zip files
67
+ <http://stuartk.com/jszip>
68
+
69
+ (c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
70
+ Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.
71
+
72
+ JSZip uses the library pako released under the MIT license :
73
+ https://github.com/nodeca/pako/blob/main/LICENSE
74
+ */
75
+
76
+ !function(e){module.exports=e();}(function(){return function s(a,o,h){function u(r,e){if(!o[r]){if(!a[r]){var t="function"==typeof commonjsRequire&&commonjsRequire;if(!e&&t)return t(r,!0);if(l)return l(r,!0);var n=new Error("Cannot find module '"+r+"'");throw n.code="MODULE_NOT_FOUND",n}var i=o[r]={exports:{}};a[r][0].call(i.exports,function(e){var t=a[r][1][e];return u(t||e)},i,i.exports,s,a,o,h);}return o[r].exports}for(var l="function"==typeof commonjsRequire&&commonjsRequire,e=0;e<h.length;e++)u(h[e]);return u}({1:[function(e,t,r){var d=e("./utils"),c=e("./support"),p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";r.encode=function(e){for(var t,r,n,i,s,a,o,h=[],u=0,l=e.length,f=l,c="string"!==d.getTypeOf(e);u<e.length;)f=l-u,n=c?(t=e[u++],r=u<l?e[u++]:0,u<l?e[u++]:0):(t=e.charCodeAt(u++),r=u<l?e.charCodeAt(u++):0,u<l?e.charCodeAt(u++):0),i=t>>2,s=(3&t)<<4|r>>4,a=1<f?(15&r)<<2|n>>6:64,o=2<f?63&n:64,h.push(p.charAt(i)+p.charAt(s)+p.charAt(a)+p.charAt(o));return h.join("")},r.decode=function(e){var t,r,n,i,s,a,o=0,h=0,u="data:";if(e.substr(0,u.length)===u)throw new Error("Invalid base64 input, it looks like a data url.");var l,f=3*(e=e.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(e.charAt(e.length-1)===p.charAt(64)&&f--,e.charAt(e.length-2)===p.charAt(64)&&f--,f%1!=0)throw new Error("Invalid base64 input, bad content length.");for(l=c.uint8array?new Uint8Array(0|f):new Array(0|f);o<e.length;)t=p.indexOf(e.charAt(o++))<<2|(i=p.indexOf(e.charAt(o++)))>>4,r=(15&i)<<4|(s=p.indexOf(e.charAt(o++)))>>2,n=(3&s)<<6|(a=p.indexOf(e.charAt(o++))),l[h++]=t,64!==s&&(l[h++]=r),64!==a&&(l[h++]=n);return l};},{"./support":30,"./utils":32}],2:[function(e,t,r){var n=e("./external"),i=e("./stream/DataWorker"),s=e("./stream/Crc32Probe"),a=e("./stream/DataLengthProbe");function o(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i;}o.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a("data_length")),t=this;return e.on("end",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},o.createWorkerFrom=function(e,t,r){return e.pipe(new s).pipe(new a("uncompressedSize")).pipe(t.compressWorker(r)).pipe(new a("compressedSize")).withStreamInfo("compression",t)},t.exports=o;},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,t,r){var n=e("./stream/GenericWorker");r.STORE={magic:"\0\0",compressWorker:function(){return new n("STORE compression")},uncompressWorker:function(){return new n("STORE decompression")}},r.DEFLATE=e("./flate");},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,t,r){var n=e("./utils");var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e;}return t}();t.exports=function(e,t){return void 0!==e&&e.length?"string"!==n.getTypeOf(e)?function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return -1^e}(0|t,e,e.length,0):function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t.charCodeAt(a))];return -1^e}(0|t,e,e.length,0):0};},{"./utils":32}],5:[function(e,t,r){r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null;},{}],6:[function(e,t,r){var n=null;n="undefined"!=typeof Promise?Promise:e("lie"),t.exports={Promise:n};},{lie:37}],7:[function(e,t,r){var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,i=e("pako"),s=e("./utils"),a=e("./stream/GenericWorker"),o=n?"uint8array":"array";function h(e,t){a.call(this,"FlateWorker/"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={};}r.magic="\b\0",s.inherits(h,a),h.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,e.data),!1);},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0);},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null;},h.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var t=this;this._pako.onData=function(e){t.push({data:e,meta:t.meta});};},r.compressWorker=function(e){return new h("Deflate",e)},r.uncompressWorker=function(){return new h("Inflate",{})};},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,t,r){function A(e,t){var r,n="";for(r=0;r<t;r++)n+=String.fromCharCode(255&e),e>>>=8;return n}function n(e,t,r,n,i,s){var a,o,h=e.file,u=e.compression,l=s!==O.utf8encode,f=I.transformTo("string",s(h.name)),c=I.transformTo("string",O.utf8encode(h.name)),d=h.comment,p=I.transformTo("string",s(d)),m=I.transformTo("string",O.utf8encode(d)),_=c.length!==h.name.length,g=m.length!==d.length,b="",v="",y="",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};t&&!r||(x.crc32=e.crc32,x.compressedSize=e.compressedSize,x.uncompressedSize=e.uncompressedSize);var S=0;t&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),"UNIX"===i?(C=798,z|=function(e,t){var r=e;return e||(r=t?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(e){return 63&(e||0)}(h.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+c,b+="up"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+="uc"+A(y.length,2)+y);var E="";return E+="\n\0",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+A(p.length,2)+"\0\0\0\0"+A(z,4)+A(n,4)+f+b+p}}var I=e("../utils"),i=e("../stream/GenericWorker"),O=e("../utf8"),B=e("../crc32"),R=e("../signature");function s(e,t,r,n){i.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=r,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[];}I.inherits(s,i),s.prototype.push=function(e){var t=e.meta.percent||0,r=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,i.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:r?(t+100*(r-n-1))/r:100}}));},s.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var r=n(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}});}else this.accumulate=!0;},s.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,r=n(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),t)this.push({data:function(e){return R.DATA_DESCRIPTOR+A(e.crc32,4)+A(e.compressedSize,4)+A(e.uncompressedSize,4)}(e),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null;},s.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t<this.dirRecords.length;t++)this.push({data:this.dirRecords[t],meta:{percent:100}});var r=this.bytesWritten-e,n=function(e,t,r,n,i){var s=I.transformTo("string",i(n));return R.CENTRAL_DIRECTORY_END+"\0\0\0\0"+A(e,2)+A(e,2)+A(t,4)+A(r,4)+A(s.length,2)+s}(this.dirRecords.length,r,e,this.zipComment,this.encodeFileName);this.push({data:n,meta:{percent:100}});},s.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume();},s.prototype.registerPrevious=function(e){this._sources.push(e);var t=this;return e.on("data",function(e){t.processChunk(e);}),e.on("end",function(){t.closedSource(t.previous.streamInfo),t._sources.length?t.prepareNextSource():t.end();}),e.on("error",function(e){t.error(e);}),this},s.prototype.resume=function(){return !!i.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},s.prototype.error=function(e){var t=this._sources;if(!i.prototype.error.call(this,e))return !1;for(var r=0;r<t.length;r++)try{t[r].error(e);}catch(e){}return !0},s.prototype.lock=function(){i.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock();},t.exports=s;},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(e,t,r){var u=e("../compressions"),n=e("./ZipFileWorker");r.generateWorker=function(e,a,t){var o=new n(a.streamFiles,t,a.platform,a.encodeFileName),h=0;try{e.forEach(function(e,t){h++;var r=function(e,t){var r=e||t,n=u[r];if(!n)throw new Error(r+" is not a valid compression method !");return n}(t.options.compression,a.compression),n=t.options.compressionOptions||a.compressionOptions||{},i=t.dir,s=t.date;t._compressWorker(r,n).withStreamInfo("file",{name:e,dir:i,date:s,comment:t.comment||"",unixPermissions:t.unixPermissions,dosPermissions:t.dosPermissions}).pipe(o);}),o.entriesCount=h;}catch(e){o.error(e);}return o};},{"../compressions":3,"./ZipFileWorker":8}],10:[function(e,t,r){function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var e=new n;for(var t in this)"function"!=typeof this[t]&&(e[t]=this[t]);return e};}(n.prototype=e("./object")).loadAsync=e("./load"),n.support=e("./support"),n.defaults=e("./defaults"),n.version="3.10.1",n.loadAsync=function(e,t){return (new n).loadAsync(e,t)},n.external=e("./external"),t.exports=n;},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(e,t,r){var u=e("./utils"),i=e("./external"),n=e("./utf8"),s=e("./zipEntries"),a=e("./stream/Crc32Probe"),l=e("./nodejsUtils");function f(n){return new i.Promise(function(e,t){var r=n.decompressed.getContentWorker().pipe(new a);r.on("error",function(e){t(e);}).on("end",function(){r.streamInfo.crc32!==n.decompressed.crc32?t(new Error("Corrupted zip : CRC32 mismatch")):e();}).resume();})}t.exports=function(e,o){var h=this;return o=u.extend(o||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:n.utf8decode}),l.isNode&&l.isStream(e)?i.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):u.prepareContent("the loaded zip file",e,!0,o.optimizedBinaryString,o.base64).then(function(e){var t=new s(o);return t.load(e),t}).then(function(e){var t=[i.Promise.resolve(e)],r=e.files;if(o.checkCRC32)for(var n=0;n<r.length;n++)t.push(f(r[n]));return i.Promise.all(t)}).then(function(e){for(var t=e.shift(),r=t.files,n=0;n<r.length;n++){var i=r[n],s=i.fileNameStr,a=u.resolve(i.fileNameStr);h.file(a,i.decompressed,{binary:!0,optimizedBinaryString:!0,date:i.date,dir:i.dir,comment:i.fileCommentStr.length?i.fileCommentStr:null,unixPermissions:i.unixPermissions,dosPermissions:i.dosPermissions,createFolders:o.createFolders}),i.dir||(h.file(a).unsafeOriginalName=s);}return t.zipComment.length&&(h.comment=t.zipComment),h})};},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(e,t,r){var n=e("../utils"),i=e("../stream/GenericWorker");function s(e,t){i.call(this,"Nodejs stream input adapter for "+e),this._upstreamEnded=!1,this._bindStream(t);}n.inherits(s,i),s.prototype._bindStream=function(e){var t=this;(this._stream=e).pause(),e.on("data",function(e){t.push({data:e,meta:{percent:0}});}).on("error",function(e){t.isPaused?this.generatedError=e:t.error(e);}).on("end",function(){t.isPaused?t._upstreamEnded=!0:t.end();});},s.prototype.pause=function(){return !!i.prototype.pause.call(this)&&(this._stream.pause(),!0)},s.prototype.resume=function(){return !!i.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=s;},{"../stream/GenericWorker":28,"../utils":32}],13:[function(e,t,r){var i=e("readable-stream").Readable;function n(e,t,r){i.call(this,t),this._helper=e;var n=this;e.on("data",function(e,t){n.push(e)||n._helper.pause(),r&&r(t);}).on("error",function(e){n.emit("error",e);}).on("end",function(){n.push(null);});}e("../utils").inherits(n,i),n.prototype._read=function(){this._helper.resume();},t.exports=n;},{"../utils":32,"readable-stream":16}],14:[function(e,t,r){t.exports={isNode:"undefined"!=typeof Buffer,newBufferFrom:function(e,t){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(e,t);if("number"==typeof e)throw new Error('The "data" argument must not be a number');return new Buffer(e,t)},allocBuffer:function(e){if(Buffer.alloc)return Buffer.alloc(e);var t=new Buffer(e);return t.fill(0),t},isBuffer:function(e){return Buffer.isBuffer(e)},isStream:function(e){return e&&"function"==typeof e.on&&"function"==typeof e.pause&&"function"==typeof e.resume}};},{}],15:[function(e,t,r){function s(e,t,r){var n,i=u.getTypeOf(t),s=u.extend(r||{},f);s.date=s.date||new Date,null!==s.compression&&(s.compression=s.compression.toUpperCase()),"string"==typeof s.unixPermissions&&(s.unixPermissions=parseInt(s.unixPermissions,8)),s.unixPermissions&&16384&s.unixPermissions&&(s.dir=!0),s.dosPermissions&&16&s.dosPermissions&&(s.dir=!0),s.dir&&(e=g(e)),s.createFolders&&(n=_(e))&&b.call(this,n,!0);var a="string"===i&&!1===s.binary&&!1===s.base64;r&&void 0!==r.binary||(s.binary=!a),(t instanceof c&&0===t.uncompressedSize||s.dir||!t||0===t.length)&&(s.base64=!1,s.binary=!0,t="",s.compression="STORE",i="string");var o=null;o=t instanceof c||t instanceof l?t:p.isNode&&p.isStream(t)?new m(e,t):u.prepareContent(e,t,s.binary,s.optimizedBinaryString,s.base64);var h=new d(e,o,s);this.files[e]=h;}var i=e("./utf8"),u=e("./utils"),l=e("./stream/GenericWorker"),a=e("./stream/StreamHelper"),f=e("./defaults"),c=e("./compressedObject"),d=e("./zipObject"),o=e("./generate"),p=e("./nodejsUtils"),m=e("./nodejs/NodejsStreamInputAdapter"),_=function(e){"/"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf("/");return 0<t?e.substring(0,t):""},g=function(e){return "/"!==e.slice(-1)&&(e+="/"),e},b=function(e,t){return t=void 0!==t?t:f.createFolders,e=g(e),this.files[e]||s.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function h(e){return "[object RegExp]"===Object.prototype.toString.call(e)}var n={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(e){var t,r,n;for(t in this.files)n=this.files[t],(r=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(r,n);},filter:function(r){var n=[];return this.forEach(function(e,t){r(e,t)&&n.push(t);}),n},file:function(e,t,r){if(1!==arguments.length)return e=this.root+e,s.call(this,e,t,r),this;if(h(e)){var n=e;return this.filter(function(e,t){return !t.dir&&n.test(e)})}var i=this.files[this.root+e];return i&&!i.dir?i:null},folder:function(r){if(!r)return this;if(h(r))return this.filter(function(e,t){return t.dir&&r.test(e)});var e=this.root+r,t=b.call(this,e),n=this.clone();return n.root=t.name,n},remove:function(r){r=this.root+r;var e=this.files[r];if(e||("/"!==r.slice(-1)&&(r+="/"),e=this.files[r]),e&&!e.dir)delete this.files[r];else for(var t=this.filter(function(e,t){return t.name.slice(0,r.length)===r}),n=0;n<t.length;n++)delete this.files[t[n].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(e){var t,r={};try{if((r=u.extend(e||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:i.utf8encode})).type=r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),"binarystring"===r.type&&(r.type="string"),!r.type)throw new Error("No output type specified.");u.checkSupport(r.type),"darwin"!==r.platform&&"freebsd"!==r.platform&&"linux"!==r.platform&&"sunos"!==r.platform||(r.platform="UNIX"),"win32"===r.platform&&(r.platform="DOS");var n=r.comment||this.comment||"";t=o.generateWorker(this,r,n);}catch(e){(t=new l("error")).error(e);}return new a(t,r.type||"string",r.mimeType)},generateAsync:function(e,t){return this.generateInternalStream(e).accumulate(t)},generateNodeStream:function(e,t){return (e=e||{}).type||(e.type="nodebuffer"),this.generateInternalStream(e).toNodejsStream(t)}};t.exports=n;},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(e,t,r){t.exports=e("stream");},{stream:void 0}],17:[function(e,t,r){var n=e("./DataReader");function i(e){n.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t];}e("../utils").inherits(i,n),i.prototype.byteAt=function(e){return this.data[this.zero+e]},i.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.length-4;0<=s;--s)if(this.data[s]===t&&this.data[s+1]===r&&this.data[s+2]===n&&this.data[s+3]===i)return s-this.zero;return -1},i.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.readData(4);return t===s[0]&&r===s[1]&&n===s[2]&&i===s[3]},i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return [];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i;},{"../utils":32,"./DataReader":18}],18:[function(e,t,r){var n=e("../utils");function i(e){this.data=e,this.length=e.length,this.index=0,this.zero=0;}i.prototype={checkOffset:function(e){this.checkIndex(this.index+e);},checkIndex:function(e){if(this.length<this.zero+e||e<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+e+"). Corrupted zip ?")},setIndex:function(e){this.checkIndex(e),this.index=e;},skip:function(e){this.setIndex(this.index+e);},byteAt:function(){},readInt:function(e){var t,r=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)r=(r<<8)+this.byteAt(t);return this.index+=e,r},readString:function(e){return n.transformTo("string",this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=i;},{"../utils":32}],19:[function(e,t,r){var n=e("./Uint8ArrayReader");function i(e){n.call(this,e);}e("../utils").inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i;},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,t,r){var n=e("./DataReader");function i(e){n.call(this,e);}e("../utils").inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i;},{"../utils":32,"./DataReader":18}],21:[function(e,t,r){var n=e("./ArrayReader");function i(e){n.call(this,e);}e("../utils").inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i;},{"../utils":32,"./ArrayReader":17}],22:[function(e,t,r){var n=e("../utils"),i=e("../support"),s=e("./ArrayReader"),a=e("./StringReader"),o=e("./NodeBufferReader"),h=e("./Uint8ArrayReader");t.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),"string"!==t||i.uint8array?"nodebuffer"===t?new o(e):i.uint8array?new h(n.transformTo("uint8array",e)):new s(n.transformTo("array",e)):new a(e)};},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,t,r){r.LOCAL_FILE_HEADER="PK",r.CENTRAL_FILE_HEADER="PK",r.CENTRAL_DIRECTORY_END="PK",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",r.ZIP64_CENTRAL_DIRECTORY_END="PK",r.DATA_DESCRIPTOR="PK\b";},{}],24:[function(e,t,r){var n=e("./GenericWorker"),i=e("../utils");function s(e){n.call(this,"ConvertWorker to "+e),this.destType=e;}i.inherits(s,n),s.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta});},t.exports=s;},{"../utils":32,"./GenericWorker":28}],25:[function(e,t,r){var n=e("./GenericWorker"),i=e("../crc32");function s(){n.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0);}e("../utils").inherits(s,n),s.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e);},t.exports=s;},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,t,r){var n=e("../utils"),i=e("./GenericWorker");function s(e){i.call(this,"DataLengthProbe for "+e),this.propName=e,this.withStreamInfo(e,0);}n.inherits(s,i),s.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length;}i.prototype.processChunk.call(this,e);},t.exports=s;},{"../utils":32,"./GenericWorker":28}],27:[function(e,t,r){var n=e("../utils"),i=e("./GenericWorker");function s(e){i.call(this,"DataWorker");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=n.getTypeOf(e),t.isPaused||t._tickAndRepeat();},function(e){t.error(e);});}n.inherits(s,i),s.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null;},s.prototype.resume=function(){return !!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0));},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return !1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,t);break;case"uint8array":e=this.data.subarray(this.index,t);break;case"array":case"nodebuffer":e=this.data.slice(this.index,t);}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=s;},{"../utils":32,"./GenericWorker":28}],28:[function(e,t,r){function n(e){this.name=e||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null;}n.prototype={push:function(e){this.emit("data",e);},end:function(){if(this.isFinished)return !1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0;}catch(e){this.emit("error",e);}return !0},error:function(e){return !this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit("error",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[];},emit:function(e,t){if(this._listeners[e])for(var r=0;r<this._listeners[e].length;r++)this._listeners[e][r].call(this,t);},pipe:function(e){return e.registerPrevious(this)},registerPrevious:function(e){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=e.streamInfo,this.mergeStreamInfo(),this.previous=e;var t=this;return e.on("data",function(e){t.processChunk(e);}),e.on("end",function(){t.end();}),e.on("error",function(e){t.error(e);}),this},pause:function(){return !this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return !1;var e=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),e=!0),this.previous&&this.previous.resume(),!e},flush:function(){},processChunk:function(e){this.push(e);},withStreamInfo:function(e,t){return this.extraStreamInfo[e]=t,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var e in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,e)&&(this.streamInfo[e]=this.extraStreamInfo[e]);},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock();},toString:function(){var e="Worker "+this.name;return this.previous?this.previous+" -> "+e:e}},t.exports=n;},{}],29:[function(e,t,r){var h=e("../utils"),i=e("./ConvertWorker"),s=e("./GenericWorker"),u=e("../base64"),n=e("../support"),a=e("../external"),o=null;if(n.nodestream)try{o=e("../nodejs/NodejsStreamOutputAdapter");}catch(e){}function l(e,o){return new a.Promise(function(t,r){var n=[],i=e._internalType,s=e._outputType,a=e._mimeType;e.on("data",function(e,t){n.push(e),o&&o(t);}).on("error",function(e){n=[],r(e);}).on("end",function(){try{var e=function(e,t,r){switch(e){case"blob":return h.newBlob(h.transformTo("arraybuffer",t),r);case"base64":return u.encode(t);default:return h.transformTo(e,t)}}(s,function(e,t){var r,n=0,i=null,s=0;for(r=0;r<t.length;r++)s+=t[r].length;switch(e){case"string":return t.join("");case"array":return Array.prototype.concat.apply([],t);case"uint8array":for(i=new Uint8Array(s),r=0;r<t.length;r++)i.set(t[r],n),n+=t[r].length;return i;case"nodebuffer":return Buffer.concat(t);default:throw new Error("concat : unsupported type '"+e+"'")}}(i,n),a);t(e);}catch(e){r(e);}n=[];}).resume();})}function f(e,t,r){var n=t;switch(t){case"blob":case"arraybuffer":n="uint8array";break;case"base64":n="string";}try{this._internalType=n,this._outputType=t,this._mimeType=r,h.checkSupport(n),this._worker=e.pipe(new i(n)),e.lock();}catch(e){this._worker=new s("error"),this._worker.error(e);}}f.prototype={accumulate:function(e){return l(this,e)},on:function(e,t){var r=this;return "data"===e?this._worker.on(e,function(e){t.call(r,e.data,e.meta);}):this._worker.on(e,function(){h.delay(t,arguments,r);}),this},resume:function(){return h.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(h.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new o(this,{objectMode:"nodebuffer"!==this._outputType},e)}},t.exports=f;},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(e,t,r){if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,r.nodebuffer="undefined"!=typeof Buffer,r.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)r.blob=!1;else {var n=new ArrayBuffer(0);try{r.blob=0===new Blob([n],{type:"application/zip"}).size;}catch(e){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);i.append(n),r.blob=0===i.getBlob("application/zip").size;}catch(e){r.blob=!1;}}}try{r.nodestream=!!e("readable-stream").Readable;}catch(e){r.nodestream=!1;}},{"readable-stream":16}],31:[function(e,t,s){for(var o=e("./utils"),h=e("./support"),r=e("./nodejsUtils"),n=e("./stream/GenericWorker"),u=new Array(256),i=0;i<256;i++)u[i]=252<=i?6:248<=i?5:240<=i?4:224<=i?3:192<=i?2:1;u[254]=u[254]=1;function a(){n.call(this,"utf-8 decode"),this.leftOver=null;}function l(){n.call(this,"utf-8 encode");}s.utf8encode=function(e){return h.nodebuffer?r.newBufferFrom(e,"utf-8"):function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=h.uint8array?new Uint8Array(o):new Array(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t}(e)},s.utf8decode=function(e){return h.nodebuffer?o.transformTo("nodebuffer",e).toString("utf-8"):function(e){var t,r,n,i,s=e.length,a=new Array(2*s);for(t=r=0;t<s;)if((n=e[t++])<128)a[r++]=n;else if(4<(i=u[n]))a[r++]=65533,t+=i-1;else {for(n&=2===i?31:3===i?15:7;1<i&&t<s;)n=n<<6|63&e[t++],i--;1<i?a[r++]=65533:n<65536?a[r++]=n:(n-=65536,a[r++]=55296|n>>10&1023,a[r++]=56320|1023&n);}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(e=o.transformTo(h.uint8array?"uint8array":"array",e))},o.inherits(a,n),a.prototype.processChunk=function(e){var t=o.transformTo(h.uint8array?"uint8array":"array",e.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=t;(t=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),t.set(r,this.leftOver.length);}else t=this.leftOver.concat(t);this.leftOver=null;}var n=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}(t),i=t;n!==t.length&&(h.uint8array?(i=t.subarray(0,n),this.leftOver=t.subarray(n,t.length)):(i=t.slice(0,n),this.leftOver=t.slice(n,t.length))),this.push({data:s.utf8decode(i),meta:e.meta});},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null);},s.Utf8DecodeWorker=a,o.inherits(l,n),l.prototype.processChunk=function(e){this.push({data:s.utf8encode(e.data),meta:e.meta});},s.Utf8EncodeWorker=l;},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,t,a){var o=e("./support"),h=e("./base64"),r=e("./nodejsUtils"),u=e("./external");function n(e){return e}function l(e,t){for(var r=0;r<e.length;++r)t[r]=255&e.charCodeAt(r);return t}e("setimmediate"),a.newBlob=function(t,r){a.checkSupport("blob");try{return new Blob([t],{type:r})}catch(e){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return n.append(t),n.getBlob(r)}catch(e){throw new Error("Bug : can't construct the Blob.")}}};var i={stringifyByChunk:function(e,t,r){var n=[],i=0,s=e.length;if(s<=r)return String.fromCharCode.apply(null,e);for(;i<s;)"array"===t||"nodebuffer"===t?n.push(String.fromCharCode.apply(null,e.slice(i,Math.min(i+r,s)))):n.push(String.fromCharCode.apply(null,e.subarray(i,Math.min(i+r,s)))),i+=r;return n.join("")},stringifyByChar:function(e){for(var t="",r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},applyCanBeUsed:{uint8array:function(){try{return o.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return !1}}(),nodebuffer:function(){try{return o.nodebuffer&&1===String.fromCharCode.apply(null,r.allocBuffer(1)).length}catch(e){return !1}}()}};function s(e){var t=65536,r=a.getTypeOf(e),n=!0;if("uint8array"===r?n=i.applyCanBeUsed.uint8array:"nodebuffer"===r&&(n=i.applyCanBeUsed.nodebuffer),n)for(;1<t;)try{return i.stringifyByChunk(e,r,t)}catch(e){t=Math.floor(t/2);}return i.stringifyByChar(e)}function f(e,t){for(var r=0;r<e.length;r++)t[r]=e[r];return t}a.applyFromCharCode=s;var c={};c.string={string:n,array:function(e){return l(e,new Array(e.length))},arraybuffer:function(e){return c.string.uint8array(e).buffer},uint8array:function(e){return l(e,new Uint8Array(e.length))},nodebuffer:function(e){return l(e,r.allocBuffer(e.length))}},c.array={string:s,array:n,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(e)}},c.arraybuffer={string:function(e){return s(new Uint8Array(e))},array:function(e){return f(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:n,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(new Uint8Array(e))}},c.uint8array={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:n,nodebuffer:function(e){return r.newBufferFrom(e)}},c.nodebuffer={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return c.nodebuffer.uint8array(e).buffer},uint8array:function(e){return f(e,new Uint8Array(e.length))},nodebuffer:n},a.transformTo=function(e,t){if(t=t||"",!e)return t;a.checkSupport(e);var r=a.getTypeOf(t);return c[r][e](t)},a.resolve=function(e){for(var t=e.split("/"),r=[],n=0;n<t.length;n++){var i=t[n];"."===i||""===i&&0!==n&&n!==t.length-1||(".."===i?r.pop():r.push(i));}return r.join("/")},a.getTypeOf=function(e){return "string"==typeof e?"string":"[object Array]"===Object.prototype.toString.call(e)?"array":o.nodebuffer&&r.isBuffer(e)?"nodebuffer":o.uint8array&&e instanceof Uint8Array?"uint8array":o.arraybuffer&&e instanceof ArrayBuffer?"arraybuffer":void 0},a.checkSupport=function(e){if(!o[e.toLowerCase()])throw new Error(e+" is not supported by this platform")},a.MAX_VALUE_16BITS=65535,a.MAX_VALUE_32BITS=-1,a.pretty=function(e){var t,r,n="";for(r=0;r<(e||"").length;r++)n+="\\x"+((t=e.charCodeAt(r))<16?"0":"")+t.toString(16).toUpperCase();return n},a.delay=function(e,t,r){setImmediate(function(){e.apply(r||null,t||[]);});},a.inherits=function(e,t){function r(){}r.prototype=t.prototype,e.prototype=new r;},a.extend=function(){var e,t,r={};for(e=0;e<arguments.length;e++)for(t in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],t)&&void 0===r[t]&&(r[t]=arguments[e][t]);return r},a.prepareContent=function(r,e,n,i,s){return u.Promise.resolve(e).then(function(n){return o.blob&&(n instanceof Blob||-1!==["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(n)))&&"undefined"!=typeof FileReader?new u.Promise(function(t,r){var e=new FileReader;e.onload=function(e){t(e.target.result);},e.onerror=function(e){r(e.target.error);},e.readAsArrayBuffer(n);}):n}).then(function(e){var t=a.getTypeOf(e);return t?("arraybuffer"===t?e=a.transformTo("uint8array",e):"string"===t&&(s?e=h.decode(e):n&&!0!==i&&(e=function(e){return l(e,o.uint8array?new Uint8Array(e.length):new Array(e.length))}(e))),e):u.Promise.reject(new Error("Can't read the data of '"+r+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})};},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(e,t,r){var n=e("./reader/readerFor"),i=e("./utils"),s=e("./signature"),a=e("./zipEntry"),o=e("./support");function h(e){this.files=[],this.loadOptions=e;}h.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+i.pretty(t)+", expected "+i.pretty(e)+")")}},isSignature:function(e,t){var r=this.reader.index;this.reader.setIndex(e);var n=this.reader.readString(4)===t;return this.reader.setIndex(r),n},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=o.uint8array?"uint8array":"array",r=i.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(r);},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,r,n=this.zip64EndOfCentralSize-44;0<n;)e=this.reader.readInt(2),t=this.reader.readInt(4),r=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:r};},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(s.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes();},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(e=new a({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);if(e<0)throw !this.isSignature(0,s.LOCAL_FILE_HEADER)?new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html"):new Error("Corrupted zip: can't find end of central directory");this.reader.setIndex(e);var t=e;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(e),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,s.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral();}var r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var n=t-r;if(0<n)this.isSignature(t,s.CENTRAL_FILE_HEADER)||(this.reader.zero=n);else if(n<0)throw new Error("Corrupted zip: missing "+Math.abs(n)+" bytes.")},prepareReader:function(e){this.reader=n(e);},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles();}},t.exports=h;},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(e,t,r){var n=e("./reader/readerFor"),s=e("./utils"),i=e("./compressedObject"),a=e("./crc32"),o=e("./utf8"),h=e("./compressions"),u=e("./support");function l(e,t){this.options=e,this.loadOptions=t;}l.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(e){var t,r;if(e.skip(22),this.fileNameLength=e.readInt(2),r=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(null===(t=function(e){for(var t in h)if(Object.prototype.hasOwnProperty.call(h,t)&&h[t].magic===e)return h[t];return null}(this.compressionMethod)))throw new Error("Corrupted zip : compression "+s.pretty(this.compressionMethod)+" unknown (inner file : "+s.transformTo("string",this.fileName)+")");this.decompressed=new i(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize));},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength);},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0);},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=n(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4));}},readExtraFields:function(e){var t,r,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4<i;)t=e.readInt(2),r=e.readInt(2),n=e.readData(r),this.extraFields[t]={id:t,length:r,value:n};e.setIndex(i);},handleUTF8:function(){var e=u.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=o.utf8decode(this.fileName),this.fileCommentStr=o.utf8decode(this.fileComment);else {var t=this.findExtraFieldUnicodePath();if(null!==t)this.fileNameStr=t;else {var r=s.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r);}var n=this.findExtraFieldUnicodeComment();if(null!==n)this.fileCommentStr=n;else {var i=s.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(i);}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileName)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileComment)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null}},t.exports=l;},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(e,t,r){function n(e,t,r){this.name=e,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=t,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions};}var s=e("./stream/StreamHelper"),i=e("./stream/DataWorker"),a=e("./utf8"),o=e("./compressedObject"),h=e("./stream/GenericWorker");n.prototype={internalStream:function(e){var t=null,r="string";try{if(!e)throw new Error("No output type specified.");var n="string"===(r=e.toLowerCase())||"text"===r;"binarystring"!==r&&"text"!==r||(r="string"),t=this._decompressWorker();var i=!this._dataBinary;i&&!n&&(t=t.pipe(new a.Utf8EncodeWorker)),!i&&n&&(t=t.pipe(new a.Utf8DecodeWorker));}catch(e){(t=new h("error")).error(e);}return new s(t,r,"")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||"nodebuffer").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof o&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new a.Utf8EncodeWorker)),o.createWorkerFrom(r,e,t)},_decompressWorker:function(){return this._data instanceof o?this._data.getContentWorker():this._data instanceof h?this._data:new i(this._data)}};for(var u=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],l=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},f=0;f<u.length;f++)n.prototype[u[f]]=l;t.exports=n;},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(e,l,t){(function(t){var r,n,e=t.MutationObserver||t.WebKitMutationObserver;if(e){var i=0,s=new e(u),a=t.document.createTextNode("");s.observe(a,{characterData:!0}),r=function(){a.data=i=++i%2;};}else if(t.setImmediate||void 0===t.MessageChannel)r="document"in t&&"onreadystatechange"in t.document.createElement("script")?function(){var e=t.document.createElement("script");e.onreadystatechange=function(){u(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null;},t.document.documentElement.appendChild(e);}:function(){setTimeout(u,0);};else {var o=new t.MessageChannel;o.port1.onmessage=u,r=function(){o.port2.postMessage(0);};}var h=[];function u(){var e,t;n=!0;for(var r=h.length;r;){for(t=h,h=[],e=-1;++e<r;)t[e]();r=h.length;}n=!1;}l.exports=function(e){1!==h.push(e)||n||r();};}).call(this,"undefined"!=typeof commonjsGlobal?commonjsGlobal:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}],37:[function(e,t,r){var i=e("immediate");function u(){}var l={},s=["REJECTED"],a=["FULFILLED"],n=["PENDING"];function o(e){if("function"!=typeof e)throw new TypeError("resolver must be a function");this.state=n,this.queue=[],this.outcome=void 0,e!==u&&d(this,e);}function h(e,t,r){this.promise=e,"function"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),"function"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected);}function f(t,r,n){i(function(){var e;try{e=r(n);}catch(e){return l.reject(t,e)}e===t?l.reject(t,new TypeError("Cannot resolve promise with itself")):l.resolve(t,e);});}function c(e){var t=e&&e.then;if(e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof t)return function(){t.apply(e,arguments);}}function d(t,e){var r=!1;function n(e){r||(r=!0,l.reject(t,e));}function i(e){r||(r=!0,l.resolve(t,e));}var s=p(function(){e(i,n);});"error"===s.status&&n(s.value);}function p(e,t){var r={};try{r.value=e(t),r.status="success";}catch(e){r.status="error",r.value=e;}return r}(t.exports=o).prototype.finally=function(t){if("function"!=typeof t)return this;var r=this.constructor;return this.then(function(e){return r.resolve(t()).then(function(){return e})},function(e){return r.resolve(t()).then(function(){throw e})})},o.prototype.catch=function(e){return this.then(null,e)},o.prototype.then=function(e,t){if("function"!=typeof e&&this.state===a||"function"!=typeof t&&this.state===s)return this;var r=new this.constructor(u);this.state!==n?f(r,this.state===a?e:t,this.outcome):this.queue.push(new h(r,e,t));return r},h.prototype.callFulfilled=function(e){l.resolve(this.promise,e);},h.prototype.otherCallFulfilled=function(e){f(this.promise,this.onFulfilled,e);},h.prototype.callRejected=function(e){l.reject(this.promise,e);},h.prototype.otherCallRejected=function(e){f(this.promise,this.onRejected,e);},l.resolve=function(e,t){var r=p(c,t);if("error"===r.status)return l.reject(e,r.value);var n=r.value;if(n)d(e,n);else {e.state=a,e.outcome=t;for(var i=-1,s=e.queue.length;++i<s;)e.queue[i].callFulfilled(t);}return e},l.reject=function(e,t){e.state=s,e.outcome=t;for(var r=-1,n=e.queue.length;++r<n;)e.queue[r].callRejected(t);return e},o.resolve=function(e){if(e instanceof this)return e;return l.resolve(new this(u),e)},o.reject=function(e){var t=new this(u);return l.reject(t,e)},o.all=function(e){var r=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var n=e.length,i=!1;if(!n)return this.resolve([]);var s=new Array(n),a=0,t=-1,o=new this(u);for(;++t<n;)h(e[t],t);return o;function h(e,t){r.resolve(e).then(function(e){s[t]=e,++a!==n||i||(i=!0,l.resolve(o,s));},function(e){i||(i=!0,l.reject(o,e));});}},o.race=function(e){var t=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var r=e.length,n=!1;if(!r)return this.resolve([]);var i=-1,s=new this(u);for(;++i<r;)a=e[i],t.resolve(a).then(function(e){n||(n=!0,l.resolve(s,e));},function(e){n||(n=!0,l.reject(s,e));});var a;return s};},{immediate:36}],38:[function(e,t,r){var n={};(0, e("./lib/utils/common").assign)(n,e("./lib/deflate"),e("./lib/inflate"),e("./lib/zlib/constants")),t.exports=n;},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(e,t,r){var a=e("./zlib/deflate"),o=e("./utils/common"),h=e("./utils/strings"),i=e("./zlib/messages"),s=e("./zlib/zstream"),u=Object.prototype.toString,l=0,f=-1,c=0,d=8;function p(e){if(!(this instanceof p))return new p(e);this.options=o.assign({level:f,method:d,chunkSize:16384,windowBits:15,memLevel:8,strategy:c,to:""},e||{});var t=this.options;t.raw&&0<t.windowBits?t.windowBits=-t.windowBits:t.gzip&&0<t.windowBits&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;var r=a.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(r!==l)throw new Error(i[r]);if(t.header&&a.deflateSetHeader(this.strm,t.header),t.dictionary){var n;if(n="string"==typeof t.dictionary?h.string2buf(t.dictionary):"[object ArrayBuffer]"===u.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(r=a.deflateSetDictionary(this.strm,n))!==l)throw new Error(i[r]);this._dict_set=!0;}}function n(e,t){var r=new p(t);if(r.push(e,!0),r.err)throw r.msg||i[r.err];return r.result}p.prototype.push=function(e,t){var r,n,i=this.strm,s=this.options.chunkSize;if(this.ended)return !1;n=t===~~t?t:!0===t?4:0,"string"==typeof e?i.input=h.string2buf(e):"[object ArrayBuffer]"===u.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;do{if(0===i.avail_out&&(i.output=new o.Buf8(s),i.next_out=0,i.avail_out=s),1!==(r=a.deflate(i,n))&&r!==l)return this.onEnd(r),!(this.ended=!0);0!==i.avail_out&&(0!==i.avail_in||4!==n&&2!==n)||("string"===this.options.to?this.onData(h.buf2binstring(o.shrinkBuf(i.output,i.next_out))):this.onData(o.shrinkBuf(i.output,i.next_out)));}while((0<i.avail_in||0===i.avail_out)&&1!==r);return 4===n?(r=a.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===l):2!==n||(this.onEnd(l),!(i.avail_out=0))},p.prototype.onData=function(e){this.chunks.push(e);},p.prototype.onEnd=function(e){e===l&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg;},r.Deflate=p,r.deflate=n,r.deflateRaw=function(e,t){return (t=t||{}).raw=!0,n(e,t)},r.gzip=function(e,t){return (t=t||{}).gzip=!0,n(e,t)};},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(e,t,r){var c=e("./zlib/inflate"),d=e("./utils/common"),p=e("./utils/strings"),m=e("./zlib/constants"),n=e("./zlib/messages"),i=e("./zlib/zstream"),s=e("./zlib/gzheader"),_=Object.prototype.toString;function a(e){if(!(this instanceof a))return new a(e);this.options=d.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&0<=t.windowBits&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(0<=t.windowBits&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),15<t.windowBits&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new i,this.strm.avail_out=0;var r=c.inflateInit2(this.strm,t.windowBits);if(r!==m.Z_OK)throw new Error(n[r]);this.header=new s,c.inflateGetHeader(this.strm,this.header);}function o(e,t){var r=new a(t);if(r.push(e,!0),r.err)throw r.msg||n[r.err];return r.result}a.prototype.push=function(e,t){var r,n,i,s,a,o,h=this.strm,u=this.options.chunkSize,l=this.options.dictionary,f=!1;if(this.ended)return !1;n=t===~~t?t:!0===t?m.Z_FINISH:m.Z_NO_FLUSH,"string"==typeof e?h.input=p.binstring2buf(e):"[object ArrayBuffer]"===_.call(e)?h.input=new Uint8Array(e):h.input=e,h.next_in=0,h.avail_in=h.input.length;do{if(0===h.avail_out&&(h.output=new d.Buf8(u),h.next_out=0,h.avail_out=u),(r=c.inflate(h,m.Z_NO_FLUSH))===m.Z_NEED_DICT&&l&&(o="string"==typeof l?p.string2buf(l):"[object ArrayBuffer]"===_.call(l)?new Uint8Array(l):l,r=c.inflateSetDictionary(this.strm,o)),r===m.Z_BUF_ERROR&&!0===f&&(r=m.Z_OK,f=!1),r!==m.Z_STREAM_END&&r!==m.Z_OK)return this.onEnd(r),!(this.ended=!0);h.next_out&&(0!==h.avail_out&&r!==m.Z_STREAM_END&&(0!==h.avail_in||n!==m.Z_FINISH&&n!==m.Z_SYNC_FLUSH)||("string"===this.options.to?(i=p.utf8border(h.output,h.next_out),s=h.next_out-i,a=p.buf2string(h.output,i),h.next_out=s,h.avail_out=u-s,s&&d.arraySet(h.output,h.output,i,s,0),this.onData(a)):this.onData(d.shrinkBuf(h.output,h.next_out)))),0===h.avail_in&&0===h.avail_out&&(f=!0);}while((0<h.avail_in||0===h.avail_out)&&r!==m.Z_STREAM_END);return r===m.Z_STREAM_END&&(n=m.Z_FINISH),n===m.Z_FINISH?(r=c.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===m.Z_OK):n!==m.Z_SYNC_FLUSH||(this.onEnd(m.Z_OK),!(h.avail_out=0))},a.prototype.onData=function(e){this.chunks.push(e);},a.prototype.onEnd=function(e){e===m.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=d.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg;},r.Inflate=a,r.inflate=o,r.inflateRaw=function(e,t){return (t=t||{}).raw=!0,o(e,t)},r.ungzip=o;},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(e,t,r){var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;r.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n]);}}return e},r.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var i={arraySet:function(e,t,r,n,i){if(t.subarray&&e.subarray)e.set(t.subarray(r,r+n),i);else for(var s=0;s<n;s++)e[i+s]=t[r+s];},flattenChunks:function(e){var t,r,n,i,s,a;for(t=n=0,r=e.length;t<r;t++)n+=e[t].length;for(a=new Uint8Array(n),t=i=0,r=e.length;t<r;t++)s=e[t],a.set(s,i),i+=s.length;return a}},s={arraySet:function(e,t,r,n,i){for(var s=0;s<n;s++)e[i+s]=t[r+s];},flattenChunks:function(e){return [].concat.apply([],e)}};r.setTyped=function(e){e?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,i)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,s));},r.setTyped(n);},{}],42:[function(e,t,r){var h=e("./common"),i=!0,s=!0;try{String.fromCharCode.apply(null,[0]);}catch(e){i=!1;}try{String.fromCharCode.apply(null,new Uint8Array(1));}catch(e){s=!1;}for(var u=new h.Buf8(256),n=0;n<256;n++)u[n]=252<=n?6:248<=n?5:240<=n?4:224<=n?3:192<=n?2:1;function l(e,t){if(t<65537&&(e.subarray&&s||!e.subarray&&i))return String.fromCharCode.apply(null,h.shrinkBuf(e,t));for(var r="",n=0;n<t;n++)r+=String.fromCharCode(e[n]);return r}u[254]=u[254]=1,r.string2buf=function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=new h.Buf8(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t},r.buf2binstring=function(e){return l(e,e.length)},r.binstring2buf=function(e){for(var t=new h.Buf8(e.length),r=0,n=t.length;r<n;r++)t[r]=e.charCodeAt(r);return t},r.buf2string=function(e,t){var r,n,i,s,a=t||e.length,o=new Array(2*a);for(r=n=0;r<a;)if((i=e[r++])<128)o[n++]=i;else if(4<(s=u[i]))o[n++]=65533,r+=s-1;else {for(i&=2===s?31:3===s?15:7;1<s&&r<a;)i=i<<6|63&e[r++],s--;1<s?o[n++]=65533:i<65536?o[n++]=i:(i-=65536,o[n++]=55296|i>>10&1023,o[n++]=56320|1023&i);}return l(o,n)},r.utf8border=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t};},{"./common":41}],43:[function(e,t,r){t.exports=function(e,t,r,n){for(var i=65535&e|0,s=e>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3<r?2e3:r;s=s+(i=i+t[n++]|0)|0,--a;);i%=65521,s%=65521;}return i|s<<16|0};},{}],44:[function(e,t,r){t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};},{}],45:[function(e,t,r){var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e;}return t}();t.exports=function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return -1^e};},{}],46:[function(e,t,r){var h,c=e("../utils/common"),u=e("./trees"),d=e("./adler32"),p=e("./crc32"),n=e("./messages"),l=0,f=4,m=0,_=-2,g=-1,b=4,i=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(e,t){return e.msg=n[t],t}function T(e){return (e<<1)-(4<e?9:0)}function D(e){for(var t=e.length;0<=--t;)e[t]=0;}function F(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(c.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0));}function N(e,t){u._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,F(e.strm);}function U(e,t){e.pending_buf[e.pending++]=t;}function P(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t;}function L(e,t){var r,n,i=e.max_chain_length,s=e.strstart,a=e.prev_length,o=e.nice_match,h=e.strstart>e.w_size-z?e.strstart-(e.w_size-z):0,u=e.window,l=e.w_mask,f=e.prev,c=e.strstart+S,d=u[s+a-1],p=u[s+a];e.prev_length>=e.good_match&&(i>>=2),o>e.lookahead&&(o=e.lookahead);do{if(u[(r=t)+a]===p&&u[r+a-1]===d&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&s<c);if(n=S-(c-s),s=c-S,a<n){if(e.match_start=t,o<=(a=n))break;d=u[s+a-1],p=u[s+a];}}}while((t=f[t&l])>h&&0!=--i);return a<=e.lookahead?a:e.lookahead}function j(e){var t,r,n,i,s,a,o,h,u,l,f=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-z)){for(c.arraySet(e.window,e.window,f,f,0),e.match_start-=f,e.strstart-=f,e.block_start-=f,t=r=e.hash_size;n=e.head[--t],e.head[t]=f<=n?n-f:0,--r;);for(t=r=f;n=e.prev[--t],e.prev[t]=f<=n?n-f:0,--r;);i+=f;}if(0===e.strm.avail_in)break;if(a=e.strm,o=e.window,h=e.strstart+e.lookahead,u=i,l=void 0,l=a.avail_in,u<l&&(l=u),r=0===l?0:(a.avail_in-=l,c.arraySet(o,a.input,a.next_in,l,h),1===a.state.wrap?a.adler=d(a.adler,o,l,h):2===a.state.wrap&&(a.adler=p(a.adler,o,l,h)),a.next_in+=l,a.total_in+=l,l),e.lookahead+=r,e.lookahead+e.insert>=x)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+x-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<x)););}while(e.lookahead<z&&0!==e.strm.avail_in)}function Z(e,t){for(var r,n;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&t===l)return A;if(0===e.lookahead)break}if(r=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-z&&(e.match_length=L(e,r)),e.match_length>=x)if(n=u._tr_tally(e,e.strstart-e.match_start,e.match_length-x),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=x){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart,0!=--e.match_length;);e.strstart++;}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=e.strstart<x-1?e.strstart:x-1,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}function W(e,t){for(var r,n,i;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&t===l)return A;if(0===e.lookahead)break}if(r=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=x-1,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-z&&(e.match_length=L(e,r),e.match_length<=5&&(1===e.strategy||e.match_length===x&&4096<e.strstart-e.match_start)&&(e.match_length=x-1)),e.prev_length>=x&&e.match_length<=e.prev_length){for(i=e.strstart+e.lookahead-x,n=u._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-x),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!=--e.prev_length;);if(e.match_available=0,e.match_length=x-1,e.strstart++,n&&(N(e,!1),0===e.strm.avail_out))return A}else if(e.match_available){if((n=u._tr_tally(e,0,e.window[e.strstart-1]))&&N(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return A}else e.match_available=1,e.strstart++,e.lookahead--;}return e.match_available&&(n=u._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<x-1?e.strstart:x-1,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}function M(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i;}function H(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=v,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new c.Buf16(2*w),this.dyn_dtree=new c.Buf16(2*(2*a+1)),this.bl_tree=new c.Buf16(2*(2*o+1)),D(this.dyn_ltree),D(this.dyn_dtree),D(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new c.Buf16(k+1),this.heap=new c.Buf16(2*s+1),D(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new c.Buf16(2*s+1),D(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0;}function G(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=i,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?C:E,e.adler=2===t.wrap?0:1,t.last_flush=l,u._tr_init(t),m):R(e,_)}function K(e){var t=G(e);return t===m&&function(e){e.window_size=2*e.w_size,D(e.head),e.max_lazy_match=h[e.level].max_lazy,e.good_match=h[e.level].good_length,e.nice_match=h[e.level].nice_length,e.max_chain_length=h[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=x-1,e.match_available=0,e.ins_h=0;}(e.state),t}function Y(e,t,r,n,i,s){if(!e)return _;var a=1;if(t===g&&(t=6),n<0?(a=0,n=-n):15<n&&(a=2,n-=16),i<1||y<i||r!==v||n<8||15<n||t<0||9<t||s<0||b<s)return R(e,_);8===n&&(n=9);var o=new H;return (e.state=o).strm=e,o.wrap=a,o.gzhead=null,o.w_bits=n,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=i+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+x-1)/x),o.window=new c.Buf8(2*o.w_size),o.head=new c.Buf16(o.hash_size),o.prev=new c.Buf16(o.w_size),o.lit_bufsize=1<<i+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new c.Buf8(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=t,o.strategy=s,o.method=r,K(e)}h=[new M(0,0,0,0,function(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(j(e),0===e.lookahead&&t===l)return A;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,N(e,!1),0===e.strm.avail_out))return A;if(e.strstart-e.block_start>=e.w_size-z&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):(e.strstart>e.block_start&&(N(e,!1),e.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,258,258,4096,W)],r.deflateInit=function(e,t){return Y(e,t,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?_:(e.state.gzhead=t,m):_},r.deflate=function(e,t){var r,n,i,s;if(!e||!e.state||5<t||t<0)return e?R(e,_):_;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||666===n.status&&t!==f)return R(e,0===e.avail_out?-5:_);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===C)if(2===n.wrap)e.adler=0,U(n,31),U(n,139),U(n,8),n.gzhead?(U(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),U(n,255&n.gzhead.time),U(n,n.gzhead.time>>8&255),U(n,n.gzhead.time>>16&255),U(n,n.gzhead.time>>24&255),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(U(n,255&n.gzhead.extra.length),U(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=p(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(U(n,0),U(n,0),U(n,0),U(n,0),U(n,0),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,3),n.status=E);else {var a=v+(n.w_bits-8<<4)<<8;a|=(2<=n.strategy||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(a|=32),a+=31-a%31,n.status=E,P(n,a),0!==n.strstart&&(P(n,e.adler>>>16),P(n,65535&e.adler)),e.adler=1;}if(69===n.status)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending!==n.pending_buf_size));)U(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73);}else n.status=73;if(73===n.status)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,U(n,s);}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.gzindex=0,n.status=91);}else n.status=91;if(91===n.status)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,U(n,s);}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.status=103);}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&F(e),n.pending+2<=n.pending_buf_size&&(U(n,255&e.adler),U(n,e.adler>>8&255),e.adler=0,n.status=E)):n.status=E),0!==n.pending){if(F(e),0===e.avail_out)return n.last_flush=-1,m}else if(0===e.avail_in&&T(t)<=T(r)&&t!==f)return R(e,-5);if(666===n.status&&0!==e.avail_in)return R(e,-5);if(0!==e.avail_in||0!==n.lookahead||t!==l&&666!==n.status){var o=2===n.strategy?function(e,t){for(var r;;){if(0===e.lookahead&&(j(e),0===e.lookahead)){if(t===l)return A;break}if(e.match_length=0,r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):3===n.strategy?function(e,t){for(var r,n,i,s,a=e.window;;){if(e.lookahead<=S){if(j(e),e.lookahead<=S&&t===l)return A;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=x&&0<e.strstart&&(n=a[i=e.strstart-1])===a[++i]&&n===a[++i]&&n===a[++i]){s=e.strstart+S;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&i<s);e.match_length=S-(s-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead);}if(e.match_length>=x?(r=u._tr_tally(e,1,e.match_length-x),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):h[n.level].func(n,t);if(o!==O&&o!==B||(n.status=666),o===A||o===O)return 0===e.avail_out&&(n.last_flush=-1),m;if(o===I&&(1===t?u._tr_align(n):5!==t&&(u._tr_stored_block(n,0,0,!1),3===t&&(D(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),F(e),0===e.avail_out))return n.last_flush=-1,m}return t!==f?m:n.wrap<=0?1:(2===n.wrap?(U(n,255&e.adler),U(n,e.adler>>8&255),U(n,e.adler>>16&255),U(n,e.adler>>24&255),U(n,255&e.total_in),U(n,e.total_in>>8&255),U(n,e.total_in>>16&255),U(n,e.total_in>>24&255)):(P(n,e.adler>>>16),P(n,65535&e.adler)),F(e),0<n.wrap&&(n.wrap=-n.wrap),0!==n.pending?m:1)},r.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==C&&69!==t&&73!==t&&91!==t&&103!==t&&t!==E&&666!==t?R(e,_):(e.state=null,t===E?R(e,-3):m):_},r.deflateSetDictionary=function(e,t){var r,n,i,s,a,o,h,u,l=t.length;if(!e||!e.state)return _;if(2===(s=(r=e.state).wrap)||1===s&&r.status!==C||r.lookahead)return _;for(1===s&&(e.adler=d(e.adler,t,l,0)),r.wrap=0,l>=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new c.Buf8(r.w_size),c.arraySet(u,t,l-r.w_size,r.w_size,0),t=u,l=r.w_size),a=e.avail_in,o=e.next_in,h=e.input,e.avail_in=l,e.next_in=0,e.input=t,j(r);r.lookahead>=x;){for(n=r.strstart,i=r.lookahead-(x-1);r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+x-1])&r.hash_mask,r.prev[n&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=n,n++,--i;);r.strstart=n,r.lookahead=x-1,j(r);}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=x-1,r.match_available=0,e.next_in=o,e.input=h,e.avail_in=a,r.wrap=s,m},r.deflateInfo="pako deflate (from Nodeca project)";},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(e,t,r){t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1;};},{}],48:[function(e,t,r){t.exports=function(e,t){var r,n,i,s,a,o,h,u,l,f,c,d,p,m,_,g,b,v,y,w,k,x,S,z,C;r=e.state,n=e.next_in,z=e.input,i=n+(e.avail_in-5),s=e.next_out,C=e.output,a=s-(t-e.avail_out),o=s+(e.avail_out-257),h=r.dmax,u=r.wsize,l=r.whave,f=r.wnext,c=r.window,d=r.hold,p=r.bits,m=r.lencode,_=r.distcode,g=(1<<r.lenbits)-1,b=(1<<r.distbits)-1;e:do{p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=m[d&g];t:for(;;){if(d>>>=y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else {if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(d&(1<<y)-1)];continue t}if(32&y){r.mode=12;break e}e.msg="invalid literal/length code",r.mode=30;break e}w=65535&v,(y&=15)&&(p<y&&(d+=z[n++]<<p,p+=8),w+=d&(1<<y)-1,d>>>=y,p-=y),p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=_[d&b];r:for(;;){if(d>>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(d&(1<<y)-1)];continue r}e.msg="invalid distance code",r.mode=30;break e}if(k=65535&v,p<(y&=15)&&(d+=z[n++]<<p,(p+=8)<y&&(d+=z[n++]<<p,p+=8)),h<(k+=d&(1<<y)-1)){e.msg="invalid distance too far back",r.mode=30;break e}if(d>>>=y,p-=y,(y=s-a)<k){if(l<(y=k-y)&&r.sane){e.msg="invalid distance too far back",r.mode=30;break e}if(S=c,(x=0)===f){if(x+=u-y,y<w){for(w-=y;C[s++]=c[x++],--y;);x=s-k,S=C;}}else if(f<y){if(x+=u+f-y,(y-=f)<w){for(w-=y;C[s++]=c[x++],--y;);if(x=0,f<w){for(w-=y=f;C[s++]=c[x++],--y;);x=s-k,S=C;}}}else if(x+=f-y,y<w){for(w-=y;C[s++]=c[x++],--y;);x=s-k,S=C;}for(;2<w;)C[s++]=S[x++],C[s++]=S[x++],C[s++]=S[x++],w-=3;w&&(C[s++]=S[x++],1<w&&(C[s++]=S[x++]));}else {for(x=s-k;C[s++]=C[x++],C[s++]=C[x++],C[s++]=C[x++],2<(w-=3););w&&(C[s++]=C[x++],1<w&&(C[s++]=C[x++]));}break}}break}}while(n<i&&s<o);n-=w=p>>3,d&=(1<<(p-=w<<3))-1,e.next_in=n,e.next_out=s,e.avail_in=n<i?i-n+5:5-(n-i),e.avail_out=s<o?o-s+257:257-(s-o),r.hold=d,r.bits=p;};},{}],49:[function(e,t,r){var I=e("../utils/common"),O=e("./adler32"),B=e("./crc32"),R=e("./inffast"),T=e("./inftrees"),D=1,F=2,N=0,U=-2,P=1,n=852,i=592;function L(e){return (e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0;}function a(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=P,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new I.Buf32(n),t.distcode=t.distdyn=new I.Buf32(i),t.sane=1,t.back=-1,N):U}function o(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,a(e)):U}function h(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15<t)?U:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,o(e))):U}function u(e,t){var r,n;return e?(n=new s,(e.state=n).window=null,(r=h(e,t))!==N&&(e.state=null),r):U}var l,f,c=!0;function j(e){if(c){var t;for(l=new I.Buf32(512),f=new I.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(T(D,e.lens,0,288,l,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;T(F,e.lens,0,32,f,0,e.work,{bits:5}),c=!1;}e.lencode=l,e.lenbits=9,e.distcode=f,e.distbits=5;}function Z(e,t,r,n){var i,s=e.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new I.Buf8(s.wsize)),n>=s.wsize?(I.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(n<(i=s.wsize-s.wnext)&&(i=n),I.arraySet(s.window,t,r-n,i,s.wnext),(n-=i)?(I.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=i))),0}r.inflateReset=o,r.inflateReset2=h,r.inflateResetKeep=a,r.inflateInit=function(e){return u(e,15)},r.inflateInit2=u,r.inflate=function(e,t){var r,n,i,s,a,o,h,u,l,f,c,d,p,m,_,g,b,v,y,w,k,x,S,z,C=0,E=new I.Buf8(4),A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return U;12===(r=e.state).mode&&(r.mode=13),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,f=o,c=h,x=N;e:for(;;)switch(r.mode){case P:if(0===r.wrap){r.mode=13;break}for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}if(2&r.wrap&&35615===u){E[r.check=0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg="incorrect header check",r.mode=30;break}if(8!=(15&u)){e.msg="unknown compression method",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg="invalid window size",r.mode=30;break}r.dmax=1<<k,e.adler=r.check=1,r.mode=512&u?10:12,l=u=0;break;case 2:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}if(r.flags=u,8!=(255&r.flags)){e.msg="unknown compression method",r.mode=30;break}if(57344&r.flags){e.msg="unknown header flags set",r.mode=30;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}r.head&&(r.head.time=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0;}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(d=r.length)&&(d=o),d&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,n,s,d,k)),512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,r.length-=d),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&d<o;);if(512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,k)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.comment+=String.fromCharCode(k)),k&&d<o;);if(512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,k)break e}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}if(u!==(65535&r.check)){e.msg="header crc mismatch",r.mode=30;break}l=u=0;}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}e.adler=r.check=L(u),l=u=0,r.mode=11;case 11:if(0===r.havedict)return e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,2;e.adler=r.check=1,r.mode=12;case 12:if(5===t||6===t)break e;case 13:if(r.last){u>>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}switch(r.last=1&u,l-=1,3&(u>>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==t)break;u>>>=2,l-=2;break e;case 2:r.mode=17;break;case 3:e.msg="invalid block type",r.mode=30;}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}if((65535&u)!=(u>>>16^65535)){e.msg="invalid stored block lengths",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===t)break e;case 15:r.mode=16;case 16:if(d=r.length){if(o<d&&(d=o),h<d&&(d=h),0===d)break e;I.arraySet(i,n,s,d,a),o-=d,s+=d,h-=d,a+=d,r.length-=d;break}r.mode=12;break;case 17:for(;l<14;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286<r.nlen||30<r.ndist){e.msg="too many length or distance symbols",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;l<3;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}r.lens[A[r.have++]]=7&u,u>>>=3,l-=3;}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg="invalid code lengths set",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}if(b<16)u>>>=_,l-=_,r.lens[r.have++]=b;else {if(16===b){for(z=_+2;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}if(u>>>=_,l-=_,0===r.have){e.msg="invalid bit length repeat",r.mode=30;break}k=r.lens[r.have-1],d=3+(3&u),u>>>=2,l-=2;}else if(17===b){for(z=_+3;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}l-=_,k=0,d=3+(7&(u>>>=_)),u>>>=3,l-=3;}else {for(z=_+7;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}l-=_,k=0,d=11+(127&(u>>>=_)),u>>>=7,l-=7;}if(r.have+d>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=30;break}for(;d--;)r.lens[r.have++]=k;}}if(30===r.mode)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg="invalid literal/lengths set",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){e.msg="invalid distances set",r.mode=30;break}if(r.mode=20,6===t)break e;case 20:r.mode=21;case 21:if(6<=o&&258<=h){e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,R(e,c),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}if(g&&0==(240&g)){for(v=_,y=g,w=b;g=(C=r.lencode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}u>>>=v,l-=v,r.back+=v;}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){e.msg="invalid literal/length code",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra;}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<<r.distbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}if(0==(240&g)){for(v=_,y=g,w=b;g=(C=r.distcode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}u>>>=v,l-=v,r.back+=v;}if(u>>>=_,l-=_,r.back+=_,64&g){e.msg="invalid distance code",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra;}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=30;break}r.mode=25;case 25:if(0===h)break e;if(d=c-h,r.offset>d){if((d=r.offset-d)>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=30;break}p=d>r.wnext?(d-=r.wnext,r.wsize-d):r.wnext-d,d>r.length&&(d=r.length),m=r.window;}else m=i,p=a-r.offset,d=r.length;for(h<d&&(d=h),h-=d,r.length-=d;i[a++]=m[p++],--d;);0===r.length&&(r.mode=21);break;case 26:if(0===h)break e;i[a++]=r.length,h--,r.mode=21;break;case 27:if(r.wrap){for(;l<32;){if(0===o)break e;o--,u|=n[s++]<<l,l+=8;}if(c-=h,e.total_out+=c,r.total+=c,c&&(e.adler=r.check=r.flags?B(r.check,i,c,a-c):O(r.check,i,c,a-c)),c=h,(r.flags?u:L(u))!==r.check){e.msg="incorrect data check",r.mode=30;break}l=u=0;}r.mode=28;case 28:if(r.wrap&&r.flags){for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}if(u!==(4294967295&r.total)){e.msg="incorrect length check",r.mode=30;break}l=u=0;}r.mode=29;case 29:x=1;break e;case 30:x=-3;break e;case 31:return -4;case 32:default:return U}return e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,(r.wsize||c!==e.avail_out&&r.mode<30&&(r.mode<27||4!==t))&&Z(e,e.output,e.next_out,c-e.avail_out)?(r.mode=31,-4):(f-=e.avail_in,c-=e.avail_out,e.total_in+=f,e.total_out+=c,r.total+=c,r.wrap&&c&&(e.adler=r.check=r.flags?B(r.check,i,c,e.next_out-c):O(r.check,i,c,e.next_out-c)),e.data_type=r.bits+(r.last?64:0)+(12===r.mode?128:0)+(20===r.mode||15===r.mode?256:0),(0==f&&0===c||4===t)&&x===N&&(x=-5),x)},r.inflateEnd=function(e){if(!e||!e.state)return U;var t=e.state;return t.window&&(t.window=null),e.state=null,N},r.inflateGetHeader=function(e,t){var r;return e&&e.state?0==(2&(r=e.state).wrap)?U:((r.head=t).done=!1,N):U},r.inflateSetDictionary=function(e,t){var r,n=t.length;return e&&e.state?0!==(r=e.state).wrap&&11!==r.mode?U:11===r.mode&&O(1,t,n,0)!==r.check?-3:Z(e,t,n,n)?(r.mode=31,-4):(r.havedict=1,N):U},r.inflateInfo="pako inflate (from Nodeca project)";},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(e,t,r){var D=e("../utils/common"),F=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],N=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],U=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],P=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(e,t,r,n,i,s,a,o){var h,u,l,f,c,d,p,m,_,g=o.bits,b=0,v=0,y=0,w=0,k=0,x=0,S=0,z=0,C=0,E=0,A=null,I=0,O=new D.Buf16(16),B=new D.Buf16(16),R=null,T=0;for(b=0;b<=15;b++)O[b]=0;for(v=0;v<n;v++)O[t[r+v]]++;for(k=g,w=15;1<=w&&0===O[w];w--);if(w<k&&(k=w),0===w)return i[s++]=20971520,i[s++]=20971520,o.bits=1,0;for(y=1;y<w&&0===O[y];y++);for(k<y&&(k=y),b=z=1;b<=15;b++)if(z<<=1,(z-=O[b])<0)return -1;if(0<z&&(0===e||1!==w))return -1;for(B[1]=0,b=1;b<15;b++)B[b+1]=B[b]+O[b];for(v=0;v<n;v++)0!==t[r+v]&&(a[B[t[r+v]]++]=v);if(d=0===e?(A=R=a,19):1===e?(A=F,I-=257,R=N,T-=257,256):(A=U,R=P,-1),b=y,c=s,S=v=E=0,l=-1,f=(C=1<<(x=k))-1,1===e&&852<C||2===e&&592<C)return 1;for(;;){for(p=b-S,_=a[v]<d?(m=0,a[v]):a[v]>d?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<<b-S,y=u=1<<x;i[c+(E>>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<<b-1;E&h;)h>>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=t[r+a[v]];}if(k<b&&(E&f)!==l){for(0===S&&(S=k),c+=y,z=1<<(x=b-S);x+S<w&&!((z-=O[x+S])<=0);)x++,z<<=1;if(C+=1<<x,1===e&&852<C||2===e&&592<C)return 1;i[l=E&f]=k<<24|x<<16|c-s|0;}}return 0!==E&&(i[c+E]=b-S<<24|64<<16|0),o.bits=k,0};},{"../utils/common":41}],51:[function(e,t,r){t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};},{}],52:[function(e,t,r){var i=e("../utils/common"),o=0,h=1;function n(e){for(var t=e.length;0<=--t;)e[t]=0;}var s=0,a=29,u=256,l=u+1+a,f=30,c=19,_=2*l+1,g=15,d=16,p=7,m=256,b=16,v=17,y=18,w=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],k=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],x=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],z=new Array(2*(l+2));n(z);var C=new Array(2*f);n(C);var E=new Array(512);n(E);var A=new Array(256);n(A);var I=new Array(a);n(I);var O,B,R,T=new Array(f);function D(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length;}function F(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t;}function N(e){return e<256?E[e]:E[256+(e>>>7)]}function U(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255;}function P(e,t,r){e.bi_valid>d-r?(e.bi_buf|=t<<e.bi_valid&65535,U(e,e.bi_buf),e.bi_buf=t>>d-e.bi_valid,e.bi_valid+=r-d):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r);}function L(e,t,r){P(e,r[2*t],r[2*t+1]);}function j(e,t){for(var r=0;r|=1&e,e>>>=1,r<<=1,0<--t;);return r>>>1}function Z(e,t,r){var n,i,s=new Array(g+1),a=0;for(n=1;n<=g;n++)s[n]=a=a+r[n-1]<<1;for(i=0;i<=t;i++){var o=e[2*i+1];0!==o&&(e[2*i]=j(s[o]++,o));}}function W(e){var t;for(t=0;t<l;t++)e.dyn_ltree[2*t]=0;for(t=0;t<f;t++)e.dyn_dtree[2*t]=0;for(t=0;t<c;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*m]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0;}function M(e){8<e.bi_valid?U(e,e.bi_buf):0<e.bi_valid&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0;}function H(e,t,r,n){var i=2*t,s=2*r;return e[i]<e[s]||e[i]===e[s]&&n[t]<=n[r]}function G(e,t,r){for(var n=e.heap[r],i=r<<1;i<=e.heap_len&&(i<e.heap_len&&H(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!H(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n;}function K(e,t,r){var n,i,s,a,o=0;if(0!==e.last_lit)for(;n=e.pending_buf[e.d_buf+2*o]<<8|e.pending_buf[e.d_buf+2*o+1],i=e.pending_buf[e.l_buf+o],o++,0===n?L(e,i,t):(L(e,(s=A[i])+u+1,t),0!==(a=w[s])&&P(e,i-=I[s],a),L(e,s=N(--n),r),0!==(a=k[s])&&P(e,n-=T[s],a)),o<e.last_lit;);L(e,m,t);}function Y(e,t){var r,n,i,s=t.dyn_tree,a=t.stat_desc.static_tree,o=t.stat_desc.has_stree,h=t.stat_desc.elems,u=-1;for(e.heap_len=0,e.heap_max=_,r=0;r<h;r++)0!==s[2*r]?(e.heap[++e.heap_len]=u=r,e.depth[r]=0):s[2*r+1]=0;for(;e.heap_len<2;)s[2*(i=e.heap[++e.heap_len]=u<2?++u:0)]=1,e.depth[i]=0,e.opt_len--,o&&(e.static_len-=a[2*i+1]);for(t.max_code=u,r=e.heap_len>>1;1<=r;r--)G(e,s,r);for(i=h;r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],G(e,s,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,s[2*i]=s[2*r]+s[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,s[2*r+1]=s[2*n+1]=i,e.heap[1]=i++,G(e,s,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,s,a,o,h=t.dyn_tree,u=t.max_code,l=t.stat_desc.static_tree,f=t.stat_desc.has_stree,c=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(s=0;s<=g;s++)e.bl_count[s]=0;for(h[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<_;r++)p<(s=h[2*h[2*(n=e.heap[r])+1]+1]+1)&&(s=p,m++),h[2*n+1]=s,u<n||(e.bl_count[s]++,a=0,d<=n&&(a=c[n-d]),o=h[2*n],e.opt_len+=o*(s+a),f&&(e.static_len+=o*(l[2*n+1]+a)));if(0!==m){do{for(s=p-1;0===e.bl_count[s];)s--;e.bl_count[s]--,e.bl_count[s+1]+=2,e.bl_count[p]--,m-=2;}while(0<m);for(s=p;0!==s;s--)for(n=e.bl_count[s];0!==n;)u<(i=e.heap[--r])||(h[2*i+1]!==s&&(e.opt_len+=(s-h[2*i+1])*h[2*i],h[2*i+1]=s),n--);}}(e,t),Z(s,u,e.bl_count);}function X(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=a,a=t[2*(n+1)+1],++o<h&&i===a||(o<u?e.bl_tree[2*i]+=o:0!==i?(i!==s&&e.bl_tree[2*i]++,e.bl_tree[2*b]++):o<=10?e.bl_tree[2*v]++:e.bl_tree[2*y]++,s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4));}function V(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),n=0;n<=r;n++)if(i=a,a=t[2*(n+1)+1],!(++o<h&&i===a)){if(o<u)for(;L(e,i,e.bl_tree),0!=--o;);else 0!==i?(i!==s&&(L(e,i,e.bl_tree),o--),L(e,b,e.bl_tree),P(e,o-3,2)):o<=10?(L(e,v,e.bl_tree),P(e,o-3,3)):(L(e,y,e.bl_tree),P(e,o-11,7));s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4);}}n(T);var q=!1;function J(e,t,r,n){P(e,(s<<1)+(n?1:0),3),function(e,t,r,n){M(e),n&&(U(e,r),U(e,~r)),i.arraySet(e.pending_buf,e.window,t,r,e.pending),e.pending+=r;}(e,t,r,!0);}r._tr_init=function(e){q||(function(){var e,t,r,n,i,s=new Array(g+1);for(n=r=0;n<a-1;n++)for(I[n]=r,e=0;e<1<<w[n];e++)A[r++]=n;for(A[r-1]=n,n=i=0;n<16;n++)for(T[n]=i,e=0;e<1<<k[n];e++)E[i++]=n;for(i>>=7;n<f;n++)for(T[n]=i<<7,e=0;e<1<<k[n]-7;e++)E[256+i++]=n;for(t=0;t<=g;t++)s[t]=0;for(e=0;e<=143;)z[2*e+1]=8,e++,s[8]++;for(;e<=255;)z[2*e+1]=9,e++,s[9]++;for(;e<=279;)z[2*e+1]=7,e++,s[7]++;for(;e<=287;)z[2*e+1]=8,e++,s[8]++;for(Z(z,l+1,s),e=0;e<f;e++)C[2*e+1]=5,C[2*e]=j(e,5);O=new D(z,w,u+1,l,g),B=new D(C,k,0,f,g),R=new D(new Array(0),x,0,c,p);}(),q=!0),e.l_desc=new F(e.dyn_ltree,O),e.d_desc=new F(e.dyn_dtree,B),e.bl_desc=new F(e.bl_tree,R),e.bi_buf=0,e.bi_valid=0,W(e);},r._tr_stored_block=J,r._tr_flush_block=function(e,t,r,n){var i,s,a=0;0<e.level?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return o;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return h;for(t=32;t<u;t++)if(0!==e.dyn_ltree[2*t])return h;return o}(e)),Y(e,e.l_desc),Y(e,e.d_desc),a=function(e){var t;for(X(e,e.dyn_ltree,e.l_desc.max_code),X(e,e.dyn_dtree,e.d_desc.max_code),Y(e,e.bl_desc),t=c-1;3<=t&&0===e.bl_tree[2*S[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(s=e.static_len+3+7>>>3)<=i&&(i=s)):i=s=r+5,r+4<=i&&-1!==t?J(e,t,r,n):4===e.strategy||s===i?(P(e,2+(n?1:0),3),K(e,z,C)):(P(e,4+(n?1:0),3),function(e,t,r,n){var i;for(P(e,t-257,5),P(e,r-1,5),P(e,n-4,4),i=0;i<n;i++)P(e,e.bl_tree[2*S[i]+1],3);V(e,e.dyn_ltree,t-1),V(e,e.dyn_dtree,r-1);}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),K(e,e.dyn_ltree,e.dyn_dtree)),W(e),n&&M(e);},r._tr_tally=function(e,t,r){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(A[r]+u+1)]++,e.dyn_dtree[2*N(t)]++),e.last_lit===e.lit_bufsize-1},r._tr_align=function(e){P(e,2,3),L(e,m,z),function(e){16===e.bi_valid?(U(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8);}(e);};},{"../utils/common":41}],53:[function(e,t,r){t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0;};},{}],54:[function(e,t,r){(function(e){!function(r,n){if(!r.setImmediate){var i,s,t,a,o=1,h={},u=!1,l=r.document,e=Object.getPrototypeOf&&Object.getPrototypeOf(r);e=e&&e.setTimeout?e:r,i="[object process]"==={}.toString.call(r.process)?function(e){process.nextTick(function(){c(e);});}:function(){if(r.postMessage&&!r.importScripts){var e=!0,t=r.onmessage;return r.onmessage=function(){e=!1;},r.postMessage("","*"),r.onmessage=t,e}}()?(a="setImmediate$"+Math.random()+"$",r.addEventListener?r.addEventListener("message",d,!1):r.attachEvent("onmessage",d),function(e){r.postMessage(a+e,"*");}):r.MessageChannel?((t=new MessageChannel).port1.onmessage=function(e){c(e.data);},function(e){t.port2.postMessage(e);}):l&&"onreadystatechange"in l.createElement("script")?(s=l.documentElement,function(e){var t=l.createElement("script");t.onreadystatechange=function(){c(e),t.onreadystatechange=null,s.removeChild(t),t=null;},s.appendChild(t);}):function(e){setTimeout(c,0,e);},e.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),r=0;r<t.length;r++)t[r]=arguments[r+1];var n={callback:e,args:t};return h[o]=n,i(o),o++},e.clearImmediate=f;}function f(e){delete h[e];}function c(e){if(u)setTimeout(c,0,e);else {var t=h[e];if(t){u=!0;try{!function(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(n,r);}}(t);}finally{f(e),u=!1;}}}}function d(e){e.source===r&&"string"==typeof e.data&&0===e.data.indexOf(a)&&c(+e.data.slice(a.length));}}("undefined"==typeof self?void 0===e?this:e:self);}).call(this,"undefined"!=typeof commonjsGlobal?commonjsGlobal:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[10])(10)});
77
+ });
78
+
79
+ /*!
80
+ * @esri/arcgis-html-sanitizer - v3.0.1 - Tue Nov 15 2022 09:46:54 GMT-0800 (Pacific Standard Time)
81
+ * Copyright (c) 2022 - Environmental Systems Research Institute, Inc.
82
+ * Apache-2.0
83
+ *
84
+ * js-xss
85
+ * Copyright (c) 2012-2018 Zongmin Lei(雷宗民) <leizongmin@gmail.com>
86
+ * http://ucdok.com
87
+ * MIT License, see https://github.com/leizongmin/js-xss/blob/master/LICENSE for details
88
+ */
89
+
90
+ var lib$1 = {exports: {}};
91
+
92
+ var _default$1 = {};
93
+
94
+ var lib = {exports: {}};
95
+
96
+ var _default = {};
97
+
98
+ /**
99
+ * cssfilter
100
+ *
101
+ * @author 老雷<leizongmin@gmail.com>
102
+ */
103
+
104
+ function getDefaultWhiteList$1 () {
105
+ // 白名单值说明:
106
+ // true: 允许该属性
107
+ // Function: function (val) { } 返回true表示允许该属性,其他值均表示不允许
108
+ // RegExp: regexp.test(val) 返回true表示允许该属性,其他值均表示不允许
109
+ // 除上面列出的值外均表示不允许
110
+ var whiteList = {};
111
+
112
+ whiteList['align-content'] = false; // default: auto
113
+ whiteList['align-items'] = false; // default: auto
114
+ whiteList['align-self'] = false; // default: auto
115
+ whiteList['alignment-adjust'] = false; // default: auto
116
+ whiteList['alignment-baseline'] = false; // default: baseline
117
+ whiteList['all'] = false; // default: depending on individual properties
118
+ whiteList['anchor-point'] = false; // default: none
119
+ whiteList['animation'] = false; // default: depending on individual properties
120
+ whiteList['animation-delay'] = false; // default: 0
121
+ whiteList['animation-direction'] = false; // default: normal
122
+ whiteList['animation-duration'] = false; // default: 0
123
+ whiteList['animation-fill-mode'] = false; // default: none
124
+ whiteList['animation-iteration-count'] = false; // default: 1
125
+ whiteList['animation-name'] = false; // default: none
126
+ whiteList['animation-play-state'] = false; // default: running
127
+ whiteList['animation-timing-function'] = false; // default: ease
128
+ whiteList['azimuth'] = false; // default: center
129
+ whiteList['backface-visibility'] = false; // default: visible
130
+ whiteList['background'] = true; // default: depending on individual properties
131
+ whiteList['background-attachment'] = true; // default: scroll
132
+ whiteList['background-clip'] = true; // default: border-box
133
+ whiteList['background-color'] = true; // default: transparent
134
+ whiteList['background-image'] = true; // default: none
135
+ whiteList['background-origin'] = true; // default: padding-box
136
+ whiteList['background-position'] = true; // default: 0% 0%
137
+ whiteList['background-repeat'] = true; // default: repeat
138
+ whiteList['background-size'] = true; // default: auto
139
+ whiteList['baseline-shift'] = false; // default: baseline
140
+ whiteList['binding'] = false; // default: none
141
+ whiteList['bleed'] = false; // default: 6pt
142
+ whiteList['bookmark-label'] = false; // default: content()
143
+ whiteList['bookmark-level'] = false; // default: none
144
+ whiteList['bookmark-state'] = false; // default: open
145
+ whiteList['border'] = true; // default: depending on individual properties
146
+ whiteList['border-bottom'] = true; // default: depending on individual properties
147
+ whiteList['border-bottom-color'] = true; // default: current color
148
+ whiteList['border-bottom-left-radius'] = true; // default: 0
149
+ whiteList['border-bottom-right-radius'] = true; // default: 0
150
+ whiteList['border-bottom-style'] = true; // default: none
151
+ whiteList['border-bottom-width'] = true; // default: medium
152
+ whiteList['border-collapse'] = true; // default: separate
153
+ whiteList['border-color'] = true; // default: depending on individual properties
154
+ whiteList['border-image'] = true; // default: none
155
+ whiteList['border-image-outset'] = true; // default: 0
156
+ whiteList['border-image-repeat'] = true; // default: stretch
157
+ whiteList['border-image-slice'] = true; // default: 100%
158
+ whiteList['border-image-source'] = true; // default: none
159
+ whiteList['border-image-width'] = true; // default: 1
160
+ whiteList['border-left'] = true; // default: depending on individual properties
161
+ whiteList['border-left-color'] = true; // default: current color
162
+ whiteList['border-left-style'] = true; // default: none
163
+ whiteList['border-left-width'] = true; // default: medium
164
+ whiteList['border-radius'] = true; // default: 0
165
+ whiteList['border-right'] = true; // default: depending on individual properties
166
+ whiteList['border-right-color'] = true; // default: current color
167
+ whiteList['border-right-style'] = true; // default: none
168
+ whiteList['border-right-width'] = true; // default: medium
169
+ whiteList['border-spacing'] = true; // default: 0
170
+ whiteList['border-style'] = true; // default: depending on individual properties
171
+ whiteList['border-top'] = true; // default: depending on individual properties
172
+ whiteList['border-top-color'] = true; // default: current color
173
+ whiteList['border-top-left-radius'] = true; // default: 0
174
+ whiteList['border-top-right-radius'] = true; // default: 0
175
+ whiteList['border-top-style'] = true; // default: none
176
+ whiteList['border-top-width'] = true; // default: medium
177
+ whiteList['border-width'] = true; // default: depending on individual properties
178
+ whiteList['bottom'] = false; // default: auto
179
+ whiteList['box-decoration-break'] = true; // default: slice
180
+ whiteList['box-shadow'] = true; // default: none
181
+ whiteList['box-sizing'] = true; // default: content-box
182
+ whiteList['box-snap'] = true; // default: none
183
+ whiteList['box-suppress'] = true; // default: show
184
+ whiteList['break-after'] = true; // default: auto
185
+ whiteList['break-before'] = true; // default: auto
186
+ whiteList['break-inside'] = true; // default: auto
187
+ whiteList['caption-side'] = false; // default: top
188
+ whiteList['chains'] = false; // default: none
189
+ whiteList['clear'] = true; // default: none
190
+ whiteList['clip'] = false; // default: auto
191
+ whiteList['clip-path'] = false; // default: none
192
+ whiteList['clip-rule'] = false; // default: nonzero
193
+ whiteList['color'] = true; // default: implementation dependent
194
+ whiteList['color-interpolation-filters'] = true; // default: auto
195
+ whiteList['column-count'] = false; // default: auto
196
+ whiteList['column-fill'] = false; // default: balance
197
+ whiteList['column-gap'] = false; // default: normal
198
+ whiteList['column-rule'] = false; // default: depending on individual properties
199
+ whiteList['column-rule-color'] = false; // default: current color
200
+ whiteList['column-rule-style'] = false; // default: medium
201
+ whiteList['column-rule-width'] = false; // default: medium
202
+ whiteList['column-span'] = false; // default: none
203
+ whiteList['column-width'] = false; // default: auto
204
+ whiteList['columns'] = false; // default: depending on individual properties
205
+ whiteList['contain'] = false; // default: none
206
+ whiteList['content'] = false; // default: normal
207
+ whiteList['counter-increment'] = false; // default: none
208
+ whiteList['counter-reset'] = false; // default: none
209
+ whiteList['counter-set'] = false; // default: none
210
+ whiteList['crop'] = false; // default: auto
211
+ whiteList['cue'] = false; // default: depending on individual properties
212
+ whiteList['cue-after'] = false; // default: none
213
+ whiteList['cue-before'] = false; // default: none
214
+ whiteList['cursor'] = false; // default: auto
215
+ whiteList['direction'] = false; // default: ltr
216
+ whiteList['display'] = true; // default: depending on individual properties
217
+ whiteList['display-inside'] = true; // default: auto
218
+ whiteList['display-list'] = true; // default: none
219
+ whiteList['display-outside'] = true; // default: inline-level
220
+ whiteList['dominant-baseline'] = false; // default: auto
221
+ whiteList['elevation'] = false; // default: level
222
+ whiteList['empty-cells'] = false; // default: show
223
+ whiteList['filter'] = false; // default: none
224
+ whiteList['flex'] = false; // default: depending on individual properties
225
+ whiteList['flex-basis'] = false; // default: auto
226
+ whiteList['flex-direction'] = false; // default: row
227
+ whiteList['flex-flow'] = false; // default: depending on individual properties
228
+ whiteList['flex-grow'] = false; // default: 0
229
+ whiteList['flex-shrink'] = false; // default: 1
230
+ whiteList['flex-wrap'] = false; // default: nowrap
231
+ whiteList['float'] = false; // default: none
232
+ whiteList['float-offset'] = false; // default: 0 0
233
+ whiteList['flood-color'] = false; // default: black
234
+ whiteList['flood-opacity'] = false; // default: 1
235
+ whiteList['flow-from'] = false; // default: none
236
+ whiteList['flow-into'] = false; // default: none
237
+ whiteList['font'] = true; // default: depending on individual properties
238
+ whiteList['font-family'] = true; // default: implementation dependent
239
+ whiteList['font-feature-settings'] = true; // default: normal
240
+ whiteList['font-kerning'] = true; // default: auto
241
+ whiteList['font-language-override'] = true; // default: normal
242
+ whiteList['font-size'] = true; // default: medium
243
+ whiteList['font-size-adjust'] = true; // default: none
244
+ whiteList['font-stretch'] = true; // default: normal
245
+ whiteList['font-style'] = true; // default: normal
246
+ whiteList['font-synthesis'] = true; // default: weight style
247
+ whiteList['font-variant'] = true; // default: normal
248
+ whiteList['font-variant-alternates'] = true; // default: normal
249
+ whiteList['font-variant-caps'] = true; // default: normal
250
+ whiteList['font-variant-east-asian'] = true; // default: normal
251
+ whiteList['font-variant-ligatures'] = true; // default: normal
252
+ whiteList['font-variant-numeric'] = true; // default: normal
253
+ whiteList['font-variant-position'] = true; // default: normal
254
+ whiteList['font-weight'] = true; // default: normal
255
+ whiteList['grid'] = false; // default: depending on individual properties
256
+ whiteList['grid-area'] = false; // default: depending on individual properties
257
+ whiteList['grid-auto-columns'] = false; // default: auto
258
+ whiteList['grid-auto-flow'] = false; // default: none
259
+ whiteList['grid-auto-rows'] = false; // default: auto
260
+ whiteList['grid-column'] = false; // default: depending on individual properties
261
+ whiteList['grid-column-end'] = false; // default: auto
262
+ whiteList['grid-column-start'] = false; // default: auto
263
+ whiteList['grid-row'] = false; // default: depending on individual properties
264
+ whiteList['grid-row-end'] = false; // default: auto
265
+ whiteList['grid-row-start'] = false; // default: auto
266
+ whiteList['grid-template'] = false; // default: depending on individual properties
267
+ whiteList['grid-template-areas'] = false; // default: none
268
+ whiteList['grid-template-columns'] = false; // default: none
269
+ whiteList['grid-template-rows'] = false; // default: none
270
+ whiteList['hanging-punctuation'] = false; // default: none
271
+ whiteList['height'] = true; // default: auto
272
+ whiteList['hyphens'] = false; // default: manual
273
+ whiteList['icon'] = false; // default: auto
274
+ whiteList['image-orientation'] = false; // default: auto
275
+ whiteList['image-resolution'] = false; // default: normal
276
+ whiteList['ime-mode'] = false; // default: auto
277
+ whiteList['initial-letters'] = false; // default: normal
278
+ whiteList['inline-box-align'] = false; // default: last
279
+ whiteList['justify-content'] = false; // default: auto
280
+ whiteList['justify-items'] = false; // default: auto
281
+ whiteList['justify-self'] = false; // default: auto
282
+ whiteList['left'] = false; // default: auto
283
+ whiteList['letter-spacing'] = true; // default: normal
284
+ whiteList['lighting-color'] = true; // default: white
285
+ whiteList['line-box-contain'] = false; // default: block inline replaced
286
+ whiteList['line-break'] = false; // default: auto
287
+ whiteList['line-grid'] = false; // default: match-parent
288
+ whiteList['line-height'] = false; // default: normal
289
+ whiteList['line-snap'] = false; // default: none
290
+ whiteList['line-stacking'] = false; // default: depending on individual properties
291
+ whiteList['line-stacking-ruby'] = false; // default: exclude-ruby
292
+ whiteList['line-stacking-shift'] = false; // default: consider-shifts
293
+ whiteList['line-stacking-strategy'] = false; // default: inline-line-height
294
+ whiteList['list-style'] = true; // default: depending on individual properties
295
+ whiteList['list-style-image'] = true; // default: none
296
+ whiteList['list-style-position'] = true; // default: outside
297
+ whiteList['list-style-type'] = true; // default: disc
298
+ whiteList['margin'] = true; // default: depending on individual properties
299
+ whiteList['margin-bottom'] = true; // default: 0
300
+ whiteList['margin-left'] = true; // default: 0
301
+ whiteList['margin-right'] = true; // default: 0
302
+ whiteList['margin-top'] = true; // default: 0
303
+ whiteList['marker-offset'] = false; // default: auto
304
+ whiteList['marker-side'] = false; // default: list-item
305
+ whiteList['marks'] = false; // default: none
306
+ whiteList['mask'] = false; // default: border-box
307
+ whiteList['mask-box'] = false; // default: see individual properties
308
+ whiteList['mask-box-outset'] = false; // default: 0
309
+ whiteList['mask-box-repeat'] = false; // default: stretch
310
+ whiteList['mask-box-slice'] = false; // default: 0 fill
311
+ whiteList['mask-box-source'] = false; // default: none
312
+ whiteList['mask-box-width'] = false; // default: auto
313
+ whiteList['mask-clip'] = false; // default: border-box
314
+ whiteList['mask-image'] = false; // default: none
315
+ whiteList['mask-origin'] = false; // default: border-box
316
+ whiteList['mask-position'] = false; // default: center
317
+ whiteList['mask-repeat'] = false; // default: no-repeat
318
+ whiteList['mask-size'] = false; // default: border-box
319
+ whiteList['mask-source-type'] = false; // default: auto
320
+ whiteList['mask-type'] = false; // default: luminance
321
+ whiteList['max-height'] = true; // default: none
322
+ whiteList['max-lines'] = false; // default: none
323
+ whiteList['max-width'] = true; // default: none
324
+ whiteList['min-height'] = true; // default: 0
325
+ whiteList['min-width'] = true; // default: 0
326
+ whiteList['move-to'] = false; // default: normal
327
+ whiteList['nav-down'] = false; // default: auto
328
+ whiteList['nav-index'] = false; // default: auto
329
+ whiteList['nav-left'] = false; // default: auto
330
+ whiteList['nav-right'] = false; // default: auto
331
+ whiteList['nav-up'] = false; // default: auto
332
+ whiteList['object-fit'] = false; // default: fill
333
+ whiteList['object-position'] = false; // default: 50% 50%
334
+ whiteList['opacity'] = false; // default: 1
335
+ whiteList['order'] = false; // default: 0
336
+ whiteList['orphans'] = false; // default: 2
337
+ whiteList['outline'] = false; // default: depending on individual properties
338
+ whiteList['outline-color'] = false; // default: invert
339
+ whiteList['outline-offset'] = false; // default: 0
340
+ whiteList['outline-style'] = false; // default: none
341
+ whiteList['outline-width'] = false; // default: medium
342
+ whiteList['overflow'] = false; // default: depending on individual properties
343
+ whiteList['overflow-wrap'] = false; // default: normal
344
+ whiteList['overflow-x'] = false; // default: visible
345
+ whiteList['overflow-y'] = false; // default: visible
346
+ whiteList['padding'] = true; // default: depending on individual properties
347
+ whiteList['padding-bottom'] = true; // default: 0
348
+ whiteList['padding-left'] = true; // default: 0
349
+ whiteList['padding-right'] = true; // default: 0
350
+ whiteList['padding-top'] = true; // default: 0
351
+ whiteList['page'] = false; // default: auto
352
+ whiteList['page-break-after'] = false; // default: auto
353
+ whiteList['page-break-before'] = false; // default: auto
354
+ whiteList['page-break-inside'] = false; // default: auto
355
+ whiteList['page-policy'] = false; // default: start
356
+ whiteList['pause'] = false; // default: implementation dependent
357
+ whiteList['pause-after'] = false; // default: implementation dependent
358
+ whiteList['pause-before'] = false; // default: implementation dependent
359
+ whiteList['perspective'] = false; // default: none
360
+ whiteList['perspective-origin'] = false; // default: 50% 50%
361
+ whiteList['pitch'] = false; // default: medium
362
+ whiteList['pitch-range'] = false; // default: 50
363
+ whiteList['play-during'] = false; // default: auto
364
+ whiteList['position'] = false; // default: static
365
+ whiteList['presentation-level'] = false; // default: 0
366
+ whiteList['quotes'] = false; // default: text
367
+ whiteList['region-fragment'] = false; // default: auto
368
+ whiteList['resize'] = false; // default: none
369
+ whiteList['rest'] = false; // default: depending on individual properties
370
+ whiteList['rest-after'] = false; // default: none
371
+ whiteList['rest-before'] = false; // default: none
372
+ whiteList['richness'] = false; // default: 50
373
+ whiteList['right'] = false; // default: auto
374
+ whiteList['rotation'] = false; // default: 0
375
+ whiteList['rotation-point'] = false; // default: 50% 50%
376
+ whiteList['ruby-align'] = false; // default: auto
377
+ whiteList['ruby-merge'] = false; // default: separate
378
+ whiteList['ruby-position'] = false; // default: before
379
+ whiteList['shape-image-threshold'] = false; // default: 0.0
380
+ whiteList['shape-outside'] = false; // default: none
381
+ whiteList['shape-margin'] = false; // default: 0
382
+ whiteList['size'] = false; // default: auto
383
+ whiteList['speak'] = false; // default: auto
384
+ whiteList['speak-as'] = false; // default: normal
385
+ whiteList['speak-header'] = false; // default: once
386
+ whiteList['speak-numeral'] = false; // default: continuous
387
+ whiteList['speak-punctuation'] = false; // default: none
388
+ whiteList['speech-rate'] = false; // default: medium
389
+ whiteList['stress'] = false; // default: 50
390
+ whiteList['string-set'] = false; // default: none
391
+ whiteList['tab-size'] = false; // default: 8
392
+ whiteList['table-layout'] = false; // default: auto
393
+ whiteList['text-align'] = true; // default: start
394
+ whiteList['text-align-last'] = true; // default: auto
395
+ whiteList['text-combine-upright'] = true; // default: none
396
+ whiteList['text-decoration'] = true; // default: none
397
+ whiteList['text-decoration-color'] = true; // default: currentColor
398
+ whiteList['text-decoration-line'] = true; // default: none
399
+ whiteList['text-decoration-skip'] = true; // default: objects
400
+ whiteList['text-decoration-style'] = true; // default: solid
401
+ whiteList['text-emphasis'] = true; // default: depending on individual properties
402
+ whiteList['text-emphasis-color'] = true; // default: currentColor
403
+ whiteList['text-emphasis-position'] = true; // default: over right
404
+ whiteList['text-emphasis-style'] = true; // default: none
405
+ whiteList['text-height'] = true; // default: auto
406
+ whiteList['text-indent'] = true; // default: 0
407
+ whiteList['text-justify'] = true; // default: auto
408
+ whiteList['text-orientation'] = true; // default: mixed
409
+ whiteList['text-overflow'] = true; // default: clip
410
+ whiteList['text-shadow'] = true; // default: none
411
+ whiteList['text-space-collapse'] = true; // default: collapse
412
+ whiteList['text-transform'] = true; // default: none
413
+ whiteList['text-underline-position'] = true; // default: auto
414
+ whiteList['text-wrap'] = true; // default: normal
415
+ whiteList['top'] = false; // default: auto
416
+ whiteList['transform'] = false; // default: none
417
+ whiteList['transform-origin'] = false; // default: 50% 50% 0
418
+ whiteList['transform-style'] = false; // default: flat
419
+ whiteList['transition'] = false; // default: depending on individual properties
420
+ whiteList['transition-delay'] = false; // default: 0s
421
+ whiteList['transition-duration'] = false; // default: 0s
422
+ whiteList['transition-property'] = false; // default: all
423
+ whiteList['transition-timing-function'] = false; // default: ease
424
+ whiteList['unicode-bidi'] = false; // default: normal
425
+ whiteList['vertical-align'] = false; // default: baseline
426
+ whiteList['visibility'] = false; // default: visible
427
+ whiteList['voice-balance'] = false; // default: center
428
+ whiteList['voice-duration'] = false; // default: auto
429
+ whiteList['voice-family'] = false; // default: implementation dependent
430
+ whiteList['voice-pitch'] = false; // default: medium
431
+ whiteList['voice-range'] = false; // default: medium
432
+ whiteList['voice-rate'] = false; // default: normal
433
+ whiteList['voice-stress'] = false; // default: normal
434
+ whiteList['voice-volume'] = false; // default: medium
435
+ whiteList['volume'] = false; // default: medium
436
+ whiteList['white-space'] = false; // default: normal
437
+ whiteList['widows'] = false; // default: 2
438
+ whiteList['width'] = true; // default: auto
439
+ whiteList['will-change'] = false; // default: auto
440
+ whiteList['word-break'] = true; // default: normal
441
+ whiteList['word-spacing'] = true; // default: normal
442
+ whiteList['word-wrap'] = true; // default: normal
443
+ whiteList['wrap-flow'] = false; // default: auto
444
+ whiteList['wrap-through'] = false; // default: wrap
445
+ whiteList['writing-mode'] = false; // default: horizontal-tb
446
+ whiteList['z-index'] = false; // default: auto
447
+
448
+ return whiteList;
449
+ }
450
+
451
+
452
+ /**
453
+ * 匹配到白名单上的一个属性时
454
+ *
455
+ * @param {String} name
456
+ * @param {String} value
457
+ * @param {Object} options
458
+ * @return {String}
459
+ */
460
+ function onAttr (name, value, options) {
461
+ // do nothing
462
+ }
463
+
464
+ /**
465
+ * 匹配到不在白名单上的一个属性时
466
+ *
467
+ * @param {String} name
468
+ * @param {String} value
469
+ * @param {Object} options
470
+ * @return {String}
471
+ */
472
+ function onIgnoreAttr (name, value, options) {
473
+ // do nothing
474
+ }
475
+
476
+ var REGEXP_URL_JAVASCRIPT = /javascript\s*\:/img;
477
+
478
+ /**
479
+ * 过滤属性值
480
+ *
481
+ * @param {String} name
482
+ * @param {String} value
483
+ * @return {String}
484
+ */
485
+ function safeAttrValue$1(name, value) {
486
+ if (REGEXP_URL_JAVASCRIPT.test(value)) return '';
487
+ return value;
488
+ }
489
+
490
+
491
+ _default.whiteList = getDefaultWhiteList$1();
492
+ _default.getDefaultWhiteList = getDefaultWhiteList$1;
493
+ _default.onAttr = onAttr;
494
+ _default.onIgnoreAttr = onIgnoreAttr;
495
+ _default.safeAttrValue = safeAttrValue$1;
496
+
497
+ var util$1 = {
498
+ indexOf: function (arr, item) {
499
+ var i, j;
500
+ if (Array.prototype.indexOf) {
501
+ return arr.indexOf(item);
502
+ }
503
+ for (i = 0, j = arr.length; i < j; i++) {
504
+ if (arr[i] === item) {
505
+ return i;
506
+ }
507
+ }
508
+ return -1;
509
+ },
510
+ forEach: function (arr, fn, scope) {
511
+ var i, j;
512
+ if (Array.prototype.forEach) {
513
+ return arr.forEach(fn, scope);
514
+ }
515
+ for (i = 0, j = arr.length; i < j; i++) {
516
+ fn.call(scope, arr[i], i, arr);
517
+ }
518
+ },
519
+ trim: function (str) {
520
+ if (String.prototype.trim) {
521
+ return str.trim();
522
+ }
523
+ return str.replace(/(^\s*)|(\s*$)/g, '');
524
+ },
525
+ trimRight: function (str) {
526
+ if (String.prototype.trimRight) {
527
+ return str.trimRight();
528
+ }
529
+ return str.replace(/(\s*$)/g, '');
530
+ }
531
+ };
532
+
533
+ /**
534
+ * cssfilter
535
+ *
536
+ * @author 老雷<leizongmin@gmail.com>
537
+ */
538
+
539
+ var _$3 = util$1;
540
+
541
+
542
+ /**
543
+ * 解析style
544
+ *
545
+ * @param {String} css
546
+ * @param {Function} onAttr 处理属性的函数
547
+ * 参数格式: function (sourcePosition, position, name, value, source)
548
+ * @return {String}
549
+ */
550
+ function parseStyle$1 (css, onAttr) {
551
+ css = _$3.trimRight(css);
552
+ if (css[css.length - 1] !== ';') css += ';';
553
+ var cssLength = css.length;
554
+ var isParenthesisOpen = false;
555
+ var lastPos = 0;
556
+ var i = 0;
557
+ var retCSS = '';
558
+
559
+ function addNewAttr () {
560
+ // 如果没有正常的闭合圆括号,则直接忽略当前属性
561
+ if (!isParenthesisOpen) {
562
+ var source = _$3.trim(css.slice(lastPos, i));
563
+ var j = source.indexOf(':');
564
+ if (j !== -1) {
565
+ var name = _$3.trim(source.slice(0, j));
566
+ var value = _$3.trim(source.slice(j + 1));
567
+ // 必须有属性名称
568
+ if (name) {
569
+ var ret = onAttr(lastPos, retCSS.length, name, value, source);
570
+ if (ret) retCSS += ret + '; ';
571
+ }
572
+ }
573
+ }
574
+ lastPos = i + 1;
575
+ }
576
+
577
+ for (; i < cssLength; i++) {
578
+ var c = css[i];
579
+ if (c === '/' && css[i + 1] === '*') {
580
+ // 备注开始
581
+ var j = css.indexOf('*/', i + 2);
582
+ // 如果没有正常的备注结束,则后面的部分全部跳过
583
+ if (j === -1) break;
584
+ // 直接将当前位置调到备注结尾,并且初始化状态
585
+ i = j + 1;
586
+ lastPos = i + 1;
587
+ isParenthesisOpen = false;
588
+ } else if (c === '(') {
589
+ isParenthesisOpen = true;
590
+ } else if (c === ')') {
591
+ isParenthesisOpen = false;
592
+ } else if (c === ';') {
593
+ if (isParenthesisOpen) ; else {
594
+ addNewAttr();
595
+ }
596
+ } else if (c === '\n') {
597
+ addNewAttr();
598
+ }
599
+ }
600
+
601
+ return _$3.trim(retCSS);
602
+ }
603
+
604
+ var parser$2 = parseStyle$1;
605
+
606
+ /**
607
+ * cssfilter
608
+ *
609
+ * @author 老雷<leizongmin@gmail.com>
610
+ */
611
+
612
+ var DEFAULT$1 = _default;
613
+ var parseStyle = parser$2;
614
+
615
+
616
+ /**
617
+ * 返回值是否为空
618
+ *
619
+ * @param {Object} obj
620
+ * @return {Boolean}
621
+ */
622
+ function isNull$1 (obj) {
623
+ return (obj === undefined || obj === null);
624
+ }
625
+
626
+ /**
627
+ * 浅拷贝对象
628
+ *
629
+ * @param {Object} obj
630
+ * @return {Object}
631
+ */
632
+ function shallowCopyObject$1 (obj) {
633
+ var ret = {};
634
+ for (var i in obj) {
635
+ ret[i] = obj[i];
636
+ }
637
+ return ret;
638
+ }
639
+
640
+ /**
641
+ * 创建CSS过滤器
642
+ *
643
+ * @param {Object} options
644
+ * - {Object} whiteList
645
+ * - {Function} onAttr
646
+ * - {Function} onIgnoreAttr
647
+ * - {Function} safeAttrValue
648
+ */
649
+ function FilterCSS$2 (options) {
650
+ options = shallowCopyObject$1(options || {});
651
+ options.whiteList = options.whiteList || DEFAULT$1.whiteList;
652
+ options.onAttr = options.onAttr || DEFAULT$1.onAttr;
653
+ options.onIgnoreAttr = options.onIgnoreAttr || DEFAULT$1.onIgnoreAttr;
654
+ options.safeAttrValue = options.safeAttrValue || DEFAULT$1.safeAttrValue;
655
+ this.options = options;
656
+ }
657
+
658
+ FilterCSS$2.prototype.process = function (css) {
659
+ // 兼容各种奇葩输入
660
+ css = css || '';
661
+ css = css.toString();
662
+ if (!css) return '';
663
+
664
+ var me = this;
665
+ var options = me.options;
666
+ var whiteList = options.whiteList;
667
+ var onAttr = options.onAttr;
668
+ var onIgnoreAttr = options.onIgnoreAttr;
669
+ var safeAttrValue = options.safeAttrValue;
670
+
671
+ var retCSS = parseStyle(css, function (sourcePosition, position, name, value, source) {
672
+
673
+ var check = whiteList[name];
674
+ var isWhite = false;
675
+ if (check === true) isWhite = check;
676
+ else if (typeof check === 'function') isWhite = check(value);
677
+ else if (check instanceof RegExp) isWhite = check.test(value);
678
+ if (isWhite !== true) isWhite = false;
679
+
680
+ // 如果过滤后 value 为空则直接忽略
681
+ value = safeAttrValue(name, value);
682
+ if (!value) return;
683
+
684
+ var opts = {
685
+ position: position,
686
+ sourcePosition: sourcePosition,
687
+ source: source,
688
+ isWhite: isWhite
689
+ };
690
+
691
+ if (isWhite) {
692
+
693
+ var ret = onAttr(name, value, opts);
694
+ if (isNull$1(ret)) {
695
+ return name + ':' + value;
696
+ } else {
697
+ return ret;
698
+ }
699
+
700
+ } else {
701
+
702
+ var ret = onIgnoreAttr(name, value, opts);
703
+ if (!isNull$1(ret)) {
704
+ return ret;
705
+ }
706
+
707
+ }
708
+ });
709
+
710
+ return retCSS;
711
+ };
712
+
713
+
714
+ var css = FilterCSS$2;
715
+
716
+ /**
717
+ * cssfilter
718
+ *
719
+ * @author 老雷<leizongmin@gmail.com>
720
+ */
721
+
722
+ (function (module, exports) {
723
+ var DEFAULT = _default;
724
+ var FilterCSS = css;
725
+
726
+
727
+ /**
728
+ * XSS过滤
729
+ *
730
+ * @param {String} css 要过滤的CSS代码
731
+ * @param {Object} options 选项:whiteList, onAttr, onIgnoreAttr
732
+ * @return {String}
733
+ */
734
+ function filterCSS (html, options) {
735
+ var xss = new FilterCSS(options);
736
+ return xss.process(html);
737
+ }
738
+
739
+
740
+ // 输出
741
+ exports = module.exports = filterCSS;
742
+ exports.FilterCSS = FilterCSS;
743
+ for (var i in DEFAULT) exports[i] = DEFAULT[i];
744
+ } (lib, lib.exports));
745
+
746
+ var util = {
747
+ indexOf: function (arr, item) {
748
+ var i, j;
749
+ if (Array.prototype.indexOf) {
750
+ return arr.indexOf(item);
751
+ }
752
+ for (i = 0, j = arr.length; i < j; i++) {
753
+ if (arr[i] === item) {
754
+ return i;
755
+ }
756
+ }
757
+ return -1;
758
+ },
759
+ forEach: function (arr, fn, scope) {
760
+ var i, j;
761
+ if (Array.prototype.forEach) {
762
+ return arr.forEach(fn, scope);
763
+ }
764
+ for (i = 0, j = arr.length; i < j; i++) {
765
+ fn.call(scope, arr[i], i, arr);
766
+ }
767
+ },
768
+ trim: function (str) {
769
+ if (String.prototype.trim) {
770
+ return str.trim();
771
+ }
772
+ return str.replace(/(^\s*)|(\s*$)/g, "");
773
+ },
774
+ spaceIndex: function (str) {
775
+ var reg = /\s|\n|\t/;
776
+ var match = reg.exec(str);
777
+ return match ? match.index : -1;
778
+ },
779
+ };
780
+
781
+ /**
782
+ * default settings
783
+ *
784
+ * @author Zongmin Lei<leizongmin@gmail.com>
785
+ */
786
+
787
+ var FilterCSS$1 = lib.exports.FilterCSS;
788
+ var getDefaultCSSWhiteList = lib.exports.getDefaultWhiteList;
789
+ var _$2 = util;
790
+
791
+ function getDefaultWhiteList() {
792
+ return {
793
+ a: ["target", "href", "title"],
794
+ abbr: ["title"],
795
+ address: [],
796
+ area: ["shape", "coords", "href", "alt"],
797
+ article: [],
798
+ aside: [],
799
+ audio: [
800
+ "autoplay",
801
+ "controls",
802
+ "crossorigin",
803
+ "loop",
804
+ "muted",
805
+ "preload",
806
+ "src",
807
+ ],
808
+ b: [],
809
+ bdi: ["dir"],
810
+ bdo: ["dir"],
811
+ big: [],
812
+ blockquote: ["cite"],
813
+ br: [],
814
+ caption: [],
815
+ center: [],
816
+ cite: [],
817
+ code: [],
818
+ col: ["align", "valign", "span", "width"],
819
+ colgroup: ["align", "valign", "span", "width"],
820
+ dd: [],
821
+ del: ["datetime"],
822
+ details: ["open"],
823
+ div: [],
824
+ dl: [],
825
+ dt: [],
826
+ em: [],
827
+ figcaption: [],
828
+ figure: [],
829
+ font: ["color", "size", "face"],
830
+ footer: [],
831
+ h1: [],
832
+ h2: [],
833
+ h3: [],
834
+ h4: [],
835
+ h5: [],
836
+ h6: [],
837
+ header: [],
838
+ hr: [],
839
+ i: [],
840
+ img: ["src", "alt", "title", "width", "height"],
841
+ ins: ["datetime"],
842
+ li: [],
843
+ mark: [],
844
+ nav: [],
845
+ ol: [],
846
+ p: [],
847
+ pre: [],
848
+ s: [],
849
+ section: [],
850
+ small: [],
851
+ span: [],
852
+ sub: [],
853
+ summary: [],
854
+ sup: [],
855
+ strong: [],
856
+ strike: [],
857
+ table: ["width", "border", "align", "valign"],
858
+ tbody: ["align", "valign"],
859
+ td: ["width", "rowspan", "colspan", "align", "valign"],
860
+ tfoot: ["align", "valign"],
861
+ th: ["width", "rowspan", "colspan", "align", "valign"],
862
+ thead: ["align", "valign"],
863
+ tr: ["rowspan", "align", "valign"],
864
+ tt: [],
865
+ u: [],
866
+ ul: [],
867
+ video: [
868
+ "autoplay",
869
+ "controls",
870
+ "crossorigin",
871
+ "loop",
872
+ "muted",
873
+ "playsinline",
874
+ "poster",
875
+ "preload",
876
+ "src",
877
+ "height",
878
+ "width",
879
+ ],
880
+ };
881
+ }
882
+
883
+ var defaultCSSFilter = new FilterCSS$1();
884
+
885
+ /**
886
+ * default onTag function
887
+ *
888
+ * @param {String} tag
889
+ * @param {String} html
890
+ * @param {Object} options
891
+ * @return {String}
892
+ */
893
+ function onTag(tag, html, options) {
894
+ // do nothing
895
+ }
896
+
897
+ /**
898
+ * default onIgnoreTag function
899
+ *
900
+ * @param {String} tag
901
+ * @param {String} html
902
+ * @param {Object} options
903
+ * @return {String}
904
+ */
905
+ function onIgnoreTag(tag, html, options) {
906
+ // do nothing
907
+ }
908
+
909
+ /**
910
+ * default onTagAttr function
911
+ *
912
+ * @param {String} tag
913
+ * @param {String} name
914
+ * @param {String} value
915
+ * @return {String}
916
+ */
917
+ function onTagAttr(tag, name, value) {
918
+ // do nothing
919
+ }
920
+
921
+ /**
922
+ * default onIgnoreTagAttr function
923
+ *
924
+ * @param {String} tag
925
+ * @param {String} name
926
+ * @param {String} value
927
+ * @return {String}
928
+ */
929
+ function onIgnoreTagAttr(tag, name, value) {
930
+ // do nothing
931
+ }
932
+
933
+ /**
934
+ * default escapeHtml function
935
+ *
936
+ * @param {String} html
937
+ */
938
+ function escapeHtml(html) {
939
+ return html.replace(REGEXP_LT, "&lt;").replace(REGEXP_GT, "&gt;");
940
+ }
941
+
942
+ /**
943
+ * default safeAttrValue function
944
+ *
945
+ * @param {String} tag
946
+ * @param {String} name
947
+ * @param {String} value
948
+ * @param {Object} cssFilter
949
+ * @return {String}
950
+ */
951
+ function safeAttrValue(tag, name, value, cssFilter) {
952
+ // unescape attribute value firstly
953
+ value = friendlyAttrValue(value);
954
+
955
+ if (name === "href" || name === "src") {
956
+ // filter `href` and `src` attribute
957
+ // only allow the value that starts with `http://` | `https://` | `mailto:` | `/` | `#`
958
+ value = _$2.trim(value);
959
+ if (value === "#") return "#";
960
+ if (
961
+ !(
962
+ value.substr(0, 7) === "http://" ||
963
+ value.substr(0, 8) === "https://" ||
964
+ value.substr(0, 7) === "mailto:" ||
965
+ value.substr(0, 4) === "tel:" ||
966
+ value.substr(0, 11) === "data:image/" ||
967
+ value.substr(0, 6) === "ftp://" ||
968
+ value.substr(0, 2) === "./" ||
969
+ value.substr(0, 3) === "../" ||
970
+ value[0] === "#" ||
971
+ value[0] === "/"
972
+ )
973
+ ) {
974
+ return "";
975
+ }
976
+ } else if (name === "background") {
977
+ // filter `background` attribute (maybe no use)
978
+ // `javascript:`
979
+ REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;
980
+ if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {
981
+ return "";
982
+ }
983
+ } else if (name === "style") {
984
+ // `expression()`
985
+ REGEXP_DEFAULT_ON_TAG_ATTR_7.lastIndex = 0;
986
+ if (REGEXP_DEFAULT_ON_TAG_ATTR_7.test(value)) {
987
+ return "";
988
+ }
989
+ // `url()`
990
+ REGEXP_DEFAULT_ON_TAG_ATTR_8.lastIndex = 0;
991
+ if (REGEXP_DEFAULT_ON_TAG_ATTR_8.test(value)) {
992
+ REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;
993
+ if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {
994
+ return "";
995
+ }
996
+ }
997
+ if (cssFilter !== false) {
998
+ cssFilter = cssFilter || defaultCSSFilter;
999
+ value = cssFilter.process(value);
1000
+ }
1001
+ }
1002
+
1003
+ // escape `<>"` before returns
1004
+ value = escapeAttrValue(value);
1005
+ return value;
1006
+ }
1007
+
1008
+ // RegExp list
1009
+ var REGEXP_LT = /</g;
1010
+ var REGEXP_GT = />/g;
1011
+ var REGEXP_QUOTE = /"/g;
1012
+ var REGEXP_QUOTE_2 = /&quot;/g;
1013
+ var REGEXP_ATTR_VALUE_1 = /&#([a-zA-Z0-9]*);?/gim;
1014
+ var REGEXP_ATTR_VALUE_COLON = /&colon;?/gim;
1015
+ var REGEXP_ATTR_VALUE_NEWLINE = /&newline;?/gim;
1016
+ // var REGEXP_DEFAULT_ON_TAG_ATTR_3 = /\/\*|\*\//gm;
1017
+ var REGEXP_DEFAULT_ON_TAG_ATTR_4 =
1018
+ /((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a):/gi;
1019
+ // var REGEXP_DEFAULT_ON_TAG_ATTR_5 = /^[\s"'`]*(d\s*a\s*t\s*a\s*)\:/gi;
1020
+ // var REGEXP_DEFAULT_ON_TAG_ATTR_6 = /^[\s"'`]*(d\s*a\s*t\s*a\s*)\:\s*image\//gi;
1021
+ var REGEXP_DEFAULT_ON_TAG_ATTR_7 =
1022
+ /e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi;
1023
+ var REGEXP_DEFAULT_ON_TAG_ATTR_8 = /u\s*r\s*l\s*\(.*/gi;
1024
+
1025
+ /**
1026
+ * escape double quote
1027
+ *
1028
+ * @param {String} str
1029
+ * @return {String} str
1030
+ */
1031
+ function escapeQuote(str) {
1032
+ return str.replace(REGEXP_QUOTE, "&quot;");
1033
+ }
1034
+
1035
+ /**
1036
+ * unescape double quote
1037
+ *
1038
+ * @param {String} str
1039
+ * @return {String} str
1040
+ */
1041
+ function unescapeQuote(str) {
1042
+ return str.replace(REGEXP_QUOTE_2, '"');
1043
+ }
1044
+
1045
+ /**
1046
+ * escape html entities
1047
+ *
1048
+ * @param {String} str
1049
+ * @return {String}
1050
+ */
1051
+ function escapeHtmlEntities(str) {
1052
+ return str.replace(REGEXP_ATTR_VALUE_1, function replaceUnicode(str, code) {
1053
+ return code[0] === "x" || code[0] === "X"
1054
+ ? String.fromCharCode(parseInt(code.substr(1), 16))
1055
+ : String.fromCharCode(parseInt(code, 10));
1056
+ });
1057
+ }
1058
+
1059
+ /**
1060
+ * escape html5 new danger entities
1061
+ *
1062
+ * @param {String} str
1063
+ * @return {String}
1064
+ */
1065
+ function escapeDangerHtml5Entities(str) {
1066
+ return str
1067
+ .replace(REGEXP_ATTR_VALUE_COLON, ":")
1068
+ .replace(REGEXP_ATTR_VALUE_NEWLINE, " ");
1069
+ }
1070
+
1071
+ /**
1072
+ * clear nonprintable characters
1073
+ *
1074
+ * @param {String} str
1075
+ * @return {String}
1076
+ */
1077
+ function clearNonPrintableCharacter(str) {
1078
+ var str2 = "";
1079
+ for (var i = 0, len = str.length; i < len; i++) {
1080
+ str2 += str.charCodeAt(i) < 32 ? " " : str.charAt(i);
1081
+ }
1082
+ return _$2.trim(str2);
1083
+ }
1084
+
1085
+ /**
1086
+ * get friendly attribute value
1087
+ *
1088
+ * @param {String} str
1089
+ * @return {String}
1090
+ */
1091
+ function friendlyAttrValue(str) {
1092
+ str = unescapeQuote(str);
1093
+ str = escapeHtmlEntities(str);
1094
+ str = escapeDangerHtml5Entities(str);
1095
+ str = clearNonPrintableCharacter(str);
1096
+ return str;
1097
+ }
1098
+
1099
+ /**
1100
+ * unescape attribute value
1101
+ *
1102
+ * @param {String} str
1103
+ * @return {String}
1104
+ */
1105
+ function escapeAttrValue(str) {
1106
+ str = escapeQuote(str);
1107
+ str = escapeHtml(str);
1108
+ return str;
1109
+ }
1110
+
1111
+ /**
1112
+ * `onIgnoreTag` function for removing all the tags that are not in whitelist
1113
+ */
1114
+ function onIgnoreTagStripAll() {
1115
+ return "";
1116
+ }
1117
+
1118
+ /**
1119
+ * remove tag body
1120
+ * specify a `tags` list, if the tag is not in the `tags` list then process by the specify function (optional)
1121
+ *
1122
+ * @param {array} tags
1123
+ * @param {function} next
1124
+ */
1125
+ function StripTagBody(tags, next) {
1126
+ if (typeof next !== "function") {
1127
+ next = function () {};
1128
+ }
1129
+
1130
+ var isRemoveAllTag = !Array.isArray(tags);
1131
+ function isRemoveTag(tag) {
1132
+ if (isRemoveAllTag) return true;
1133
+ return _$2.indexOf(tags, tag) !== -1;
1134
+ }
1135
+
1136
+ var removeList = [];
1137
+ var posStart = false;
1138
+
1139
+ return {
1140
+ onIgnoreTag: function (tag, html, options) {
1141
+ if (isRemoveTag(tag)) {
1142
+ if (options.isClosing) {
1143
+ var ret = "[/removed]";
1144
+ var end = options.position + ret.length;
1145
+ removeList.push([
1146
+ posStart !== false ? posStart : options.position,
1147
+ end,
1148
+ ]);
1149
+ posStart = false;
1150
+ return ret;
1151
+ } else {
1152
+ if (!posStart) {
1153
+ posStart = options.position;
1154
+ }
1155
+ return "[removed]";
1156
+ }
1157
+ } else {
1158
+ return next(tag, html, options);
1159
+ }
1160
+ },
1161
+ remove: function (html) {
1162
+ var rethtml = "";
1163
+ var lastPos = 0;
1164
+ _$2.forEach(removeList, function (pos) {
1165
+ rethtml += html.slice(lastPos, pos[0]);
1166
+ lastPos = pos[1];
1167
+ });
1168
+ rethtml += html.slice(lastPos);
1169
+ return rethtml;
1170
+ },
1171
+ };
1172
+ }
1173
+
1174
+ /**
1175
+ * remove html comments
1176
+ *
1177
+ * @param {String} html
1178
+ * @return {String}
1179
+ */
1180
+ function stripCommentTag(html) {
1181
+ var retHtml = "";
1182
+ var lastPos = 0;
1183
+ while (lastPos < html.length) {
1184
+ var i = html.indexOf("<!--", lastPos);
1185
+ if (i === -1) {
1186
+ retHtml += html.slice(lastPos);
1187
+ break;
1188
+ }
1189
+ retHtml += html.slice(lastPos, i);
1190
+ var j = html.indexOf("-->", i);
1191
+ if (j === -1) {
1192
+ break;
1193
+ }
1194
+ lastPos = j + 3;
1195
+ }
1196
+ return retHtml;
1197
+ }
1198
+
1199
+ /**
1200
+ * remove invisible characters
1201
+ *
1202
+ * @param {String} html
1203
+ * @return {String}
1204
+ */
1205
+ function stripBlankChar(html) {
1206
+ var chars = html.split("");
1207
+ chars = chars.filter(function (char) {
1208
+ var c = char.charCodeAt(0);
1209
+ if (c === 127) return false;
1210
+ if (c <= 31) {
1211
+ if (c === 10 || c === 13) return true;
1212
+ return false;
1213
+ }
1214
+ return true;
1215
+ });
1216
+ return chars.join("");
1217
+ }
1218
+
1219
+ _default$1.whiteList = getDefaultWhiteList();
1220
+ _default$1.getDefaultWhiteList = getDefaultWhiteList;
1221
+ _default$1.onTag = onTag;
1222
+ _default$1.onIgnoreTag = onIgnoreTag;
1223
+ _default$1.onTagAttr = onTagAttr;
1224
+ _default$1.onIgnoreTagAttr = onIgnoreTagAttr;
1225
+ _default$1.safeAttrValue = safeAttrValue;
1226
+ _default$1.escapeHtml = escapeHtml;
1227
+ _default$1.escapeQuote = escapeQuote;
1228
+ _default$1.unescapeQuote = unescapeQuote;
1229
+ _default$1.escapeHtmlEntities = escapeHtmlEntities;
1230
+ _default$1.escapeDangerHtml5Entities = escapeDangerHtml5Entities;
1231
+ _default$1.clearNonPrintableCharacter = clearNonPrintableCharacter;
1232
+ _default$1.friendlyAttrValue = friendlyAttrValue;
1233
+ _default$1.escapeAttrValue = escapeAttrValue;
1234
+ _default$1.onIgnoreTagStripAll = onIgnoreTagStripAll;
1235
+ _default$1.StripTagBody = StripTagBody;
1236
+ _default$1.stripCommentTag = stripCommentTag;
1237
+ _default$1.stripBlankChar = stripBlankChar;
1238
+ _default$1.cssFilter = defaultCSSFilter;
1239
+ _default$1.getDefaultCSSWhiteList = getDefaultCSSWhiteList;
1240
+
1241
+ var parser$1 = {};
1242
+
1243
+ /**
1244
+ * Simple HTML Parser
1245
+ *
1246
+ * @author Zongmin Lei<leizongmin@gmail.com>
1247
+ */
1248
+
1249
+ var _$1 = util;
1250
+
1251
+ /**
1252
+ * get tag name
1253
+ *
1254
+ * @param {String} html e.g. '<a hef="#">'
1255
+ * @return {String}
1256
+ */
1257
+ function getTagName(html) {
1258
+ var i = _$1.spaceIndex(html);
1259
+ var tagName;
1260
+ if (i === -1) {
1261
+ tagName = html.slice(1, -1);
1262
+ } else {
1263
+ tagName = html.slice(1, i + 1);
1264
+ }
1265
+ tagName = _$1.trim(tagName).toLowerCase();
1266
+ if (tagName.slice(0, 1) === "/") tagName = tagName.slice(1);
1267
+ if (tagName.slice(-1) === "/") tagName = tagName.slice(0, -1);
1268
+ return tagName;
1269
+ }
1270
+
1271
+ /**
1272
+ * is close tag?
1273
+ *
1274
+ * @param {String} html 如:'<a hef="#">'
1275
+ * @return {Boolean}
1276
+ */
1277
+ function isClosing(html) {
1278
+ return html.slice(0, 2) === "</";
1279
+ }
1280
+
1281
+ /**
1282
+ * parse input html and returns processed html
1283
+ *
1284
+ * @param {String} html
1285
+ * @param {Function} onTag e.g. function (sourcePosition, position, tag, html, isClosing)
1286
+ * @param {Function} escapeHtml
1287
+ * @return {String}
1288
+ */
1289
+ function parseTag$1(html, onTag, escapeHtml) {
1290
+
1291
+ var rethtml = "";
1292
+ var lastPos = 0;
1293
+ var tagStart = false;
1294
+ var quoteStart = false;
1295
+ var currentPos = 0;
1296
+ var len = html.length;
1297
+ var currentTagName = "";
1298
+ var currentHtml = "";
1299
+
1300
+ chariterator: for (currentPos = 0; currentPos < len; currentPos++) {
1301
+ var c = html.charAt(currentPos);
1302
+ if (tagStart === false) {
1303
+ if (c === "<") {
1304
+ tagStart = currentPos;
1305
+ continue;
1306
+ }
1307
+ } else {
1308
+ if (quoteStart === false) {
1309
+ if (c === "<") {
1310
+ rethtml += escapeHtml(html.slice(lastPos, currentPos));
1311
+ tagStart = currentPos;
1312
+ lastPos = currentPos;
1313
+ continue;
1314
+ }
1315
+ if (c === ">") {
1316
+ rethtml += escapeHtml(html.slice(lastPos, tagStart));
1317
+ currentHtml = html.slice(tagStart, currentPos + 1);
1318
+ currentTagName = getTagName(currentHtml);
1319
+ rethtml += onTag(
1320
+ tagStart,
1321
+ rethtml.length,
1322
+ currentTagName,
1323
+ currentHtml,
1324
+ isClosing(currentHtml)
1325
+ );
1326
+ lastPos = currentPos + 1;
1327
+ tagStart = false;
1328
+ continue;
1329
+ }
1330
+ if (c === '"' || c === "'") {
1331
+ var i = 1;
1332
+ var ic = html.charAt(currentPos - i);
1333
+
1334
+ while (ic.trim() === "" || ic === "=") {
1335
+ if (ic === "=") {
1336
+ quoteStart = c;
1337
+ continue chariterator;
1338
+ }
1339
+ ic = html.charAt(currentPos - ++i);
1340
+ }
1341
+ }
1342
+ } else {
1343
+ if (c === quoteStart) {
1344
+ quoteStart = false;
1345
+ continue;
1346
+ }
1347
+ }
1348
+ }
1349
+ }
1350
+ if (lastPos < html.length) {
1351
+ rethtml += escapeHtml(html.substr(lastPos));
1352
+ }
1353
+
1354
+ return rethtml;
1355
+ }
1356
+
1357
+ var REGEXP_ILLEGAL_ATTR_NAME = /[^a-zA-Z0-9\\_:.-]/gim;
1358
+
1359
+ /**
1360
+ * parse input attributes and returns processed attributes
1361
+ *
1362
+ * @param {String} html e.g. `href="#" target="_blank"`
1363
+ * @param {Function} onAttr e.g. `function (name, value)`
1364
+ * @return {String}
1365
+ */
1366
+ function parseAttr$1(html, onAttr) {
1367
+
1368
+ var lastPos = 0;
1369
+ var lastMarkPos = 0;
1370
+ var retAttrs = [];
1371
+ var tmpName = false;
1372
+ var len = html.length;
1373
+
1374
+ function addAttr(name, value) {
1375
+ name = _$1.trim(name);
1376
+ name = name.replace(REGEXP_ILLEGAL_ATTR_NAME, "").toLowerCase();
1377
+ if (name.length < 1) return;
1378
+ var ret = onAttr(name, value || "");
1379
+ if (ret) retAttrs.push(ret);
1380
+ }
1381
+
1382
+ // 逐个分析字符
1383
+ for (var i = 0; i < len; i++) {
1384
+ var c = html.charAt(i);
1385
+ var v, j;
1386
+ if (tmpName === false && c === "=") {
1387
+ tmpName = html.slice(lastPos, i);
1388
+ lastPos = i + 1;
1389
+ lastMarkPos = html.charAt(lastPos) === '"' || html.charAt(lastPos) === "'" ? lastPos : findNextQuotationMark(html, i + 1);
1390
+ continue;
1391
+ }
1392
+ if (tmpName !== false) {
1393
+ if (
1394
+ i === lastMarkPos
1395
+ ) {
1396
+ j = html.indexOf(c, i + 1);
1397
+ if (j === -1) {
1398
+ break;
1399
+ } else {
1400
+ v = _$1.trim(html.slice(lastMarkPos + 1, j));
1401
+ addAttr(tmpName, v);
1402
+ tmpName = false;
1403
+ i = j;
1404
+ lastPos = i + 1;
1405
+ continue;
1406
+ }
1407
+ }
1408
+ }
1409
+ if (/\s|\n|\t/.test(c)) {
1410
+ html = html.replace(/\s|\n|\t/g, " ");
1411
+ if (tmpName === false) {
1412
+ j = findNextEqual(html, i);
1413
+ if (j === -1) {
1414
+ v = _$1.trim(html.slice(lastPos, i));
1415
+ addAttr(v);
1416
+ tmpName = false;
1417
+ lastPos = i + 1;
1418
+ continue;
1419
+ } else {
1420
+ i = j - 1;
1421
+ continue;
1422
+ }
1423
+ } else {
1424
+ j = findBeforeEqual(html, i - 1);
1425
+ if (j === -1) {
1426
+ v = _$1.trim(html.slice(lastPos, i));
1427
+ v = stripQuoteWrap(v);
1428
+ addAttr(tmpName, v);
1429
+ tmpName = false;
1430
+ lastPos = i + 1;
1431
+ continue;
1432
+ } else {
1433
+ continue;
1434
+ }
1435
+ }
1436
+ }
1437
+ }
1438
+
1439
+ if (lastPos < html.length) {
1440
+ if (tmpName === false) {
1441
+ addAttr(html.slice(lastPos));
1442
+ } else {
1443
+ addAttr(tmpName, stripQuoteWrap(_$1.trim(html.slice(lastPos))));
1444
+ }
1445
+ }
1446
+
1447
+ return _$1.trim(retAttrs.join(" "));
1448
+ }
1449
+
1450
+ function findNextEqual(str, i) {
1451
+ for (; i < str.length; i++) {
1452
+ var c = str[i];
1453
+ if (c === " ") continue;
1454
+ if (c === "=") return i;
1455
+ return -1;
1456
+ }
1457
+ }
1458
+
1459
+ function findNextQuotationMark(str, i) {
1460
+ for (; i < str.length; i++) {
1461
+ var c = str[i];
1462
+ if (c === " ") continue;
1463
+ if (c === "'" || c === '"') return i;
1464
+ return -1;
1465
+ }
1466
+ }
1467
+
1468
+ function findBeforeEqual(str, i) {
1469
+ for (; i > 0; i--) {
1470
+ var c = str[i];
1471
+ if (c === " ") continue;
1472
+ if (c === "=") return i;
1473
+ return -1;
1474
+ }
1475
+ }
1476
+
1477
+ function isQuoteWrapString(text) {
1478
+ if (
1479
+ (text[0] === '"' && text[text.length - 1] === '"') ||
1480
+ (text[0] === "'" && text[text.length - 1] === "'")
1481
+ ) {
1482
+ return true;
1483
+ } else {
1484
+ return false;
1485
+ }
1486
+ }
1487
+
1488
+ function stripQuoteWrap(text) {
1489
+ if (isQuoteWrapString(text)) {
1490
+ return text.substr(1, text.length - 2);
1491
+ } else {
1492
+ return text;
1493
+ }
1494
+ }
1495
+
1496
+ parser$1.parseTag = parseTag$1;
1497
+ parser$1.parseAttr = parseAttr$1;
1498
+
1499
+ /**
1500
+ * filter xss
1501
+ *
1502
+ * @author Zongmin Lei<leizongmin@gmail.com>
1503
+ */
1504
+
1505
+ var FilterCSS = lib.exports.FilterCSS;
1506
+ var DEFAULT = _default$1;
1507
+ var parser = parser$1;
1508
+ var parseTag = parser.parseTag;
1509
+ var parseAttr = parser.parseAttr;
1510
+ var _ = util;
1511
+
1512
+ /**
1513
+ * returns `true` if the input value is `undefined` or `null`
1514
+ *
1515
+ * @param {Object} obj
1516
+ * @return {Boolean}
1517
+ */
1518
+ function isNull(obj) {
1519
+ return obj === undefined || obj === null;
1520
+ }
1521
+
1522
+ /**
1523
+ * get attributes for a tag
1524
+ *
1525
+ * @param {String} html
1526
+ * @return {Object}
1527
+ * - {String} html
1528
+ * - {Boolean} closing
1529
+ */
1530
+ function getAttrs(html) {
1531
+ var i = _.spaceIndex(html);
1532
+ if (i === -1) {
1533
+ return {
1534
+ html: "",
1535
+ closing: html[html.length - 2] === "/",
1536
+ };
1537
+ }
1538
+ html = _.trim(html.slice(i + 1, -1));
1539
+ var isClosing = html[html.length - 1] === "/";
1540
+ if (isClosing) html = _.trim(html.slice(0, -1));
1541
+ return {
1542
+ html: html,
1543
+ closing: isClosing,
1544
+ };
1545
+ }
1546
+
1547
+ /**
1548
+ * shallow copy
1549
+ *
1550
+ * @param {Object} obj
1551
+ * @return {Object}
1552
+ */
1553
+ function shallowCopyObject(obj) {
1554
+ var ret = {};
1555
+ for (var i in obj) {
1556
+ ret[i] = obj[i];
1557
+ }
1558
+ return ret;
1559
+ }
1560
+
1561
+ function keysToLowerCase(obj) {
1562
+ var ret = {};
1563
+ for (var i in obj) {
1564
+ if (Array.isArray(obj[i])) {
1565
+ ret[i.toLowerCase()] = obj[i].map(function (item) {
1566
+ return item.toLowerCase();
1567
+ });
1568
+ } else {
1569
+ ret[i.toLowerCase()] = obj[i];
1570
+ }
1571
+ }
1572
+ return ret;
1573
+ }
1574
+
1575
+ /**
1576
+ * FilterXSS class
1577
+ *
1578
+ * @param {Object} options
1579
+ * whiteList (or allowList), onTag, onTagAttr, onIgnoreTag,
1580
+ * onIgnoreTagAttr, safeAttrValue, escapeHtml
1581
+ * stripIgnoreTagBody, allowCommentTag, stripBlankChar
1582
+ * css{whiteList, onAttr, onIgnoreAttr} `css=false` means don't use `cssfilter`
1583
+ */
1584
+ function FilterXSS(options) {
1585
+ options = shallowCopyObject(options || {});
1586
+
1587
+ if (options.stripIgnoreTag) {
1588
+ if (options.onIgnoreTag) {
1589
+ console.error(
1590
+ 'Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'
1591
+ );
1592
+ }
1593
+ options.onIgnoreTag = DEFAULT.onIgnoreTagStripAll;
1594
+ }
1595
+ if (options.whiteList || options.allowList) {
1596
+ options.whiteList = keysToLowerCase(options.whiteList || options.allowList);
1597
+ } else {
1598
+ options.whiteList = DEFAULT.whiteList;
1599
+ }
1600
+
1601
+ options.onTag = options.onTag || DEFAULT.onTag;
1602
+ options.onTagAttr = options.onTagAttr || DEFAULT.onTagAttr;
1603
+ options.onIgnoreTag = options.onIgnoreTag || DEFAULT.onIgnoreTag;
1604
+ options.onIgnoreTagAttr = options.onIgnoreTagAttr || DEFAULT.onIgnoreTagAttr;
1605
+ options.safeAttrValue = options.safeAttrValue || DEFAULT.safeAttrValue;
1606
+ options.escapeHtml = options.escapeHtml || DEFAULT.escapeHtml;
1607
+ this.options = options;
1608
+
1609
+ if (options.css === false) {
1610
+ this.cssFilter = false;
1611
+ } else {
1612
+ options.css = options.css || {};
1613
+ this.cssFilter = new FilterCSS(options.css);
1614
+ }
1615
+ }
1616
+
1617
+ /**
1618
+ * start process and returns result
1619
+ *
1620
+ * @param {String} html
1621
+ * @return {String}
1622
+ */
1623
+ FilterXSS.prototype.process = function (html) {
1624
+ // compatible with the input
1625
+ html = html || "";
1626
+ html = html.toString();
1627
+ if (!html) return "";
1628
+
1629
+ var me = this;
1630
+ var options = me.options;
1631
+ var whiteList = options.whiteList;
1632
+ var onTag = options.onTag;
1633
+ var onIgnoreTag = options.onIgnoreTag;
1634
+ var onTagAttr = options.onTagAttr;
1635
+ var onIgnoreTagAttr = options.onIgnoreTagAttr;
1636
+ var safeAttrValue = options.safeAttrValue;
1637
+ var escapeHtml = options.escapeHtml;
1638
+ var cssFilter = me.cssFilter;
1639
+
1640
+ // remove invisible characters
1641
+ if (options.stripBlankChar) {
1642
+ html = DEFAULT.stripBlankChar(html);
1643
+ }
1644
+
1645
+ // remove html comments
1646
+ if (!options.allowCommentTag) {
1647
+ html = DEFAULT.stripCommentTag(html);
1648
+ }
1649
+
1650
+ // if enable stripIgnoreTagBody
1651
+ var stripIgnoreTagBody = false;
1652
+ if (options.stripIgnoreTagBody) {
1653
+ stripIgnoreTagBody = DEFAULT.StripTagBody(
1654
+ options.stripIgnoreTagBody,
1655
+ onIgnoreTag
1656
+ );
1657
+ onIgnoreTag = stripIgnoreTagBody.onIgnoreTag;
1658
+ }
1659
+
1660
+ var retHtml = parseTag(
1661
+ html,
1662
+ function (sourcePosition, position, tag, html, isClosing) {
1663
+ var info = {
1664
+ sourcePosition: sourcePosition,
1665
+ position: position,
1666
+ isClosing: isClosing,
1667
+ isWhite: Object.prototype.hasOwnProperty.call(whiteList, tag),
1668
+ };
1669
+
1670
+ // call `onTag()`
1671
+ var ret = onTag(tag, html, info);
1672
+ if (!isNull(ret)) return ret;
1673
+
1674
+ if (info.isWhite) {
1675
+ if (info.isClosing) {
1676
+ return "</" + tag + ">";
1677
+ }
1678
+
1679
+ var attrs = getAttrs(html);
1680
+ var whiteAttrList = whiteList[tag];
1681
+ var attrsHtml = parseAttr(attrs.html, function (name, value) {
1682
+ // call `onTagAttr()`
1683
+ var isWhiteAttr = _.indexOf(whiteAttrList, name) !== -1;
1684
+ var ret = onTagAttr(tag, name, value, isWhiteAttr);
1685
+ if (!isNull(ret)) return ret;
1686
+
1687
+ if (isWhiteAttr) {
1688
+ // call `safeAttrValue()`
1689
+ value = safeAttrValue(tag, name, value, cssFilter);
1690
+ if (value) {
1691
+ return name + '="' + value + '"';
1692
+ } else {
1693
+ return name;
1694
+ }
1695
+ } else {
1696
+ // call `onIgnoreTagAttr()`
1697
+ ret = onIgnoreTagAttr(tag, name, value, isWhiteAttr);
1698
+ if (!isNull(ret)) return ret;
1699
+ return;
1700
+ }
1701
+ });
1702
+
1703
+ // build new tag html
1704
+ html = "<" + tag;
1705
+ if (attrsHtml) html += " " + attrsHtml;
1706
+ if (attrs.closing) html += " /";
1707
+ html += ">";
1708
+ return html;
1709
+ } else {
1710
+ // call `onIgnoreTag()`
1711
+ ret = onIgnoreTag(tag, html, info);
1712
+ if (!isNull(ret)) return ret;
1713
+ return escapeHtml(html);
1714
+ }
1715
+ },
1716
+ escapeHtml
1717
+ );
1718
+
1719
+ // if enable stripIgnoreTagBody
1720
+ if (stripIgnoreTagBody) {
1721
+ retHtml = stripIgnoreTagBody.remove(retHtml);
1722
+ }
1723
+
1724
+ return retHtml;
1725
+ };
1726
+
1727
+ var xss = FilterXSS;
1728
+
1729
+ /**
1730
+ * xss
1731
+ *
1732
+ * @author Zongmin Lei<leizongmin@gmail.com>
1733
+ */
1734
+
1735
+ (function (module, exports) {
1736
+ var DEFAULT = _default$1;
1737
+ var parser = parser$1;
1738
+ var FilterXSS = xss;
1739
+
1740
+ /**
1741
+ * filter xss function
1742
+ *
1743
+ * @param {String} html
1744
+ * @param {Object} options { whiteList, onTag, onTagAttr, onIgnoreTag, onIgnoreTagAttr, safeAttrValue, escapeHtml }
1745
+ * @return {String}
1746
+ */
1747
+ function filterXSS(html, options) {
1748
+ var xss = new FilterXSS(options);
1749
+ return xss.process(html);
1750
+ }
1751
+
1752
+ exports = module.exports = filterXSS;
1753
+ exports.filterXSS = filterXSS;
1754
+ exports.FilterXSS = FilterXSS;
1755
+
1756
+ (function () {
1757
+ for (var i in DEFAULT) {
1758
+ exports[i] = DEFAULT[i];
1759
+ }
1760
+ for (var j in parser) {
1761
+ exports[j] = parser[j];
1762
+ }
1763
+ })();
1764
+
1765
+ // using `xss` on the WebWorker, output `filterXSS` to the globals
1766
+ function isWorkerEnv() {
1767
+ return (
1768
+ typeof self !== "undefined" &&
1769
+ typeof DedicatedWorkerGlobalScope !== "undefined" &&
1770
+ self instanceof DedicatedWorkerGlobalScope
1771
+ );
1772
+ }
1773
+ if (isWorkerEnv()) {
1774
+ self.filterXSS = module.exports;
1775
+ }
1776
+ } (lib$1, lib$1.exports));
1777
+
1778
+ /** @license
1779
+ * Copyright 2018 Esri
1780
+ *
1781
+ * Licensed under the Apache License, Version 2.0 (the "License");
1782
+ * you may not use this file except in compliance with the License.
1783
+ * You may obtain a copy of the License at
1784
+ *
1785
+ * http://www.apache.org/licenses/LICENSE-2.0
1786
+ *
1787
+ * Unless required by applicable law or agreed to in writing, software
1788
+ * distributed under the License is distributed on an "AS IS" BASIS,
1789
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1790
+ * See the License for the specific language governing permissions and
1791
+ * limitations under the License.
1792
+ */
1793
+ /**
1794
+ * A visit flag used in the topological sort algorithm.
1795
+ *
1796
+ * @private
1797
+ */
1798
+ var ESortVisitState;
1799
+ (function (ESortVisitState) {
1800
+ /** not yet visited */
1801
+ ESortVisitState[ESortVisitState["NotYetVisited"] = 0] = "NotYetVisited";
1802
+ /** visited, in progress */
1803
+ ESortVisitState[ESortVisitState["InProgress"] = 1] = "InProgress";
1804
+ /** finished */
1805
+ ESortVisitState[ESortVisitState["Finished"] = 2] = "Finished"; // BLACK
1806
+ })(ESortVisitState || (ESortVisitState = {}));
1807
+
1808
+ /** @license
1809
+ * Copyright 2020 Esri
1810
+ *
1811
+ * Licensed under the Apache License, Version 2.0 (the "License");
1812
+ * you may not use this file except in compliance with the License.
1813
+ * You may obtain a copy of the License at
1814
+ *
1815
+ * http://www.apache.org/licenses/LICENSE-2.0
1816
+ *
1817
+ * Unless required by applicable law or agreed to in writing, software
1818
+ * distributed under the License is distributed on an "AS IS" BASIS,
1819
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1820
+ * See the License for the specific language governing permissions and
1821
+ * limitations under the License.
1822
+ */
1823
+ /**
1824
+ * Denotes type information for a SolutionResource
1825
+ */
1826
+ var SolutionResourceType;
1827
+ (function (SolutionResourceType) {
1828
+ SolutionResourceType[SolutionResourceType["thumbnail"] = 0] = "thumbnail";
1829
+ SolutionResourceType[SolutionResourceType["metadata"] = 1] = "metadata";
1830
+ SolutionResourceType[SolutionResourceType["resource"] = 2] = "resource";
1831
+ SolutionResourceType[SolutionResourceType["data"] = 3] = "data";
1832
+ SolutionResourceType[SolutionResourceType["fakezip"] = 4] = "fakezip";
1833
+ SolutionResourceType[SolutionResourceType["info"] = 5] = "info";
1834
+ })(SolutionResourceType || (SolutionResourceType = {}));
1835
+
1836
+ export { EFileType as E, SolutionTemplateFormatVersion as S, jszip_min as j };