domql 1.5.71 → 1.5.72

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 (3125) hide show
  1. package/package.json +1 -1
  2. package/packages/{emotion/node_modules/@domql/create → all/node_modules/@domql/cache}/LICENSE +0 -0
  3. package/packages/all/node_modules/@domql/cache/index.js +3 -0
  4. package/packages/all/node_modules/@domql/cache/package.json +11 -0
  5. package/packages/{emotion/node_modules/@domql/define → all/node_modules/@domql/create}/LICENSE +0 -0
  6. package/packages/{emotion → all}/node_modules/@domql/create/index.js +0 -0
  7. package/packages/{emotion → all}/node_modules/@domql/create/package.json +0 -0
  8. package/packages/{emotion/node_modules/@domql/event → all/node_modules/@domql/define}/LICENSE +0 -0
  9. package/packages/{emotion → all}/node_modules/@domql/define/index.js +0 -0
  10. package/packages/{emotion → all}/node_modules/@domql/define/package.json +0 -0
  11. package/packages/{emotion/node_modules/@domql/extends → all/node_modules/@domql/event}/LICENSE +0 -0
  12. package/packages/{emotion → all}/node_modules/@domql/event/can.js +0 -0
  13. package/packages/{emotion → all}/node_modules/@domql/event/index.js +0 -0
  14. package/packages/{emotion → all}/node_modules/@domql/event/is.js +0 -0
  15. package/packages/{emotion → all}/node_modules/@domql/event/on.js +0 -0
  16. package/packages/{emotion → all}/node_modules/@domql/event/package.json +0 -0
  17. package/packages/{emotion → all}/node_modules/@domql/event/store.js +0 -0
  18. package/packages/{emotion → all}/node_modules/@domql/event/wrappers.js +0 -0
  19. package/packages/{emotion/node_modules/@domql/key → all/node_modules/@domql/extends}/LICENSE +0 -0
  20. package/packages/{emotion → all}/node_modules/@domql/extends/extendUtils.js +0 -0
  21. package/packages/{emotion → all}/node_modules/@domql/extends/index.js +0 -0
  22. package/packages/{emotion → all}/node_modules/@domql/extends/package.json +0 -0
  23. package/packages/{emotion → all}/node_modules/@domql/extends/test/index.test.js +0 -0
  24. package/packages/{emotion/node_modules/@domql/mixins → all/node_modules/@domql/iterate}/LICENSE +0 -0
  25. package/packages/all/node_modules/@domql/iterate/index.js +80 -0
  26. package/packages/all/node_modules/@domql/iterate/package.json +12 -0
  27. package/packages/{emotion/node_modules/@domql/props → all/node_modules/@domql/key}/LICENSE +0 -0
  28. package/packages/{emotion → all}/node_modules/@domql/key/index.js +0 -0
  29. package/packages/{emotion → all}/node_modules/@domql/key/package.json +0 -0
  30. package/packages/{emotion/node_modules/@domql/registry → all/node_modules/@domql/methods}/LICENSE +0 -0
  31. package/packages/all/node_modules/@domql/methods/index.js +96 -0
  32. package/packages/all/node_modules/@domql/methods/package.json +12 -0
  33. package/packages/{emotion/node_modules/@domql/report → all/node_modules/@domql/mixins}/LICENSE +0 -0
  34. package/packages/{emotion → all}/node_modules/@domql/mixins/attr.js +0 -0
  35. package/packages/{emotion → all}/node_modules/@domql/mixins/classList.js +0 -0
  36. package/packages/{emotion → all}/node_modules/@domql/mixins/content.js +0 -0
  37. package/packages/{emotion → all}/node_modules/@domql/mixins/data.js +0 -0
  38. package/packages/{emotion → all}/node_modules/@domql/mixins/html.js +0 -0
  39. package/packages/{emotion → all}/node_modules/@domql/mixins/index.js +0 -0
  40. package/packages/{emotion → all}/node_modules/@domql/mixins/methods.js +0 -0
  41. package/packages/{emotion → all}/node_modules/@domql/mixins/package.json +0 -0
  42. package/packages/{emotion → all}/node_modules/@domql/mixins/state.js +0 -0
  43. package/packages/{emotion → all}/node_modules/@domql/mixins/style.js +0 -0
  44. package/packages/{emotion → all}/node_modules/@domql/mixins/text.js +0 -0
  45. package/packages/{emotion/node_modules/@domql/set → all/node_modules/@domql/props}/LICENSE +0 -0
  46. package/packages/{emotion → all}/node_modules/@domql/props/index.js +0 -0
  47. package/packages/{emotion → all}/node_modules/@domql/props/package.json +0 -0
  48. package/packages/{emotion/node_modules/@domql/state → all/node_modules/@domql/registry}/LICENSE +0 -0
  49. package/packages/{emotion → all}/node_modules/@domql/registry/index.js +0 -0
  50. package/packages/{emotion → all}/node_modules/@domql/registry/methods.js +0 -0
  51. package/packages/{emotion → all}/node_modules/@domql/registry/package.json +0 -0
  52. package/packages/{emotion → all}/node_modules/@domql/registry/tags.js +0 -0
  53. package/packages/{emotion/node_modules/@domql/tags → all/node_modules/@domql/report}/LICENSE +0 -0
  54. package/packages/{emotion → all}/node_modules/@domql/report/index.js +0 -0
  55. package/packages/{emotion → all}/node_modules/@domql/report/package.json +0 -0
  56. package/packages/{emotion/node_modules/@domql/tree → all/node_modules/@domql/set}/LICENSE +0 -0
  57. package/packages/{emotion → all}/node_modules/@domql/set/index.js +0 -0
  58. package/packages/{emotion → all}/node_modules/@domql/set/package.json +0 -0
  59. package/packages/{emotion/node_modules/@domql/utils → all/node_modules/@domql/state}/LICENSE +0 -0
  60. package/packages/{emotion → all}/node_modules/@domql/state/index.js +0 -0
  61. package/packages/{emotion → all}/node_modules/@domql/state/package.json +0 -0
  62. package/packages/all/node_modules/@domql/tags/LICENSE +21 -0
  63. package/packages/{emotion → all}/node_modules/@domql/tags/htmlTags.js +0 -0
  64. package/packages/{emotion → all}/node_modules/@domql/tags/index.js +0 -0
  65. package/packages/{emotion → all}/node_modules/@domql/tags/package.json +0 -0
  66. package/packages/all/node_modules/@domql/tree/LICENSE +21 -0
  67. package/packages/{emotion → all}/node_modules/@domql/tree/index.js +0 -0
  68. package/packages/{emotion → all}/node_modules/@domql/tree/package.json +0 -0
  69. package/packages/{emotion → all}/node_modules/@domql/tree/root.js +0 -0
  70. package/packages/all/node_modules/@domql/update/LICENSE +21 -0
  71. package/packages/all/node_modules/@domql/update/index copy.js +85 -0
  72. package/packages/all/node_modules/@domql/update/index.js +125 -0
  73. package/packages/all/node_modules/@domql/update/package.json +18 -0
  74. package/packages/all/node_modules/@domql/update/update2.js +34 -0
  75. package/packages/all/node_modules/@domql/utils/LICENSE +21 -0
  76. package/packages/{emotion → all}/node_modules/@domql/utils/array.js +0 -0
  77. package/packages/{emotion → all}/node_modules/@domql/utils/function.js +0 -0
  78. package/packages/{emotion → all}/node_modules/@domql/utils/index.js +0 -0
  79. package/packages/{emotion → all}/node_modules/@domql/utils/log.js +0 -0
  80. package/packages/{emotion → all}/node_modules/@domql/utils/node.js +0 -0
  81. package/packages/{emotion → all}/node_modules/@domql/utils/object.js +0 -0
  82. package/packages/{emotion → all}/node_modules/@domql/utils/package.json +0 -0
  83. package/packages/{emotion → all}/node_modules/@domql/utils/types.js +0 -0
  84. package/packages/classList/node_modules/@domql/tags/LICENSE +21 -0
  85. package/packages/classList/node_modules/@domql/tags/htmlTags.js +139 -0
  86. package/packages/classList/node_modules/@domql/tags/index.js +3 -0
  87. package/packages/classList/node_modules/@domql/tags/package.json +8 -0
  88. package/packages/classList/node_modules/@domql/utils/LICENSE +21 -0
  89. package/packages/classList/node_modules/@domql/utils/array.js +1 -0
  90. package/packages/classList/node_modules/@domql/utils/function.js +23 -0
  91. package/packages/classList/node_modules/@domql/utils/index.js +8 -0
  92. package/packages/classList/node_modules/@domql/utils/log.js +10 -0
  93. package/packages/classList/node_modules/@domql/utils/node.js +10 -0
  94. package/packages/classList/node_modules/@domql/utils/object.js +195 -0
  95. package/packages/classList/node_modules/@domql/utils/package.json +11 -0
  96. package/packages/classList/node_modules/@domql/utils/types.js +74 -0
  97. package/packages/create/node_modules/@domql/event/LICENSE +21 -0
  98. package/packages/create/node_modules/@domql/event/can.js +10 -0
  99. package/packages/create/node_modules/@domql/event/index.js +11 -0
  100. package/packages/create/node_modules/@domql/event/is.js +13 -0
  101. package/packages/create/node_modules/@domql/event/on.js +58 -0
  102. package/packages/create/node_modules/@domql/event/package.json +14 -0
  103. package/packages/create/node_modules/@domql/event/store.js +6 -0
  104. package/packages/create/node_modules/@domql/event/wrappers.js +14 -0
  105. package/packages/create/node_modules/@domql/extends/LICENSE +21 -0
  106. package/packages/create/node_modules/@domql/extends/extendUtils.js +118 -0
  107. package/packages/create/node_modules/@domql/extends/index.js +56 -0
  108. package/packages/create/node_modules/@domql/extends/package.json +12 -0
  109. package/packages/create/node_modules/@domql/extends/test/index.test.js +53 -0
  110. package/packages/create/node_modules/@domql/key/LICENSE +21 -0
  111. package/packages/create/node_modules/@domql/key/index.js +12 -0
  112. package/packages/create/node_modules/@domql/key/package.json +11 -0
  113. package/packages/create/node_modules/@domql/props/LICENSE +21 -0
  114. package/packages/create/node_modules/@domql/props/index.js +64 -0
  115. package/packages/create/node_modules/@domql/props/package.json +12 -0
  116. package/packages/create/node_modules/@domql/registry/LICENSE +21 -0
  117. package/packages/create/node_modules/@domql/registry/index.js +4 -0
  118. package/packages/create/node_modules/@domql/registry/methods.js +67 -0
  119. package/packages/create/node_modules/@domql/registry/package.json +11 -0
  120. package/packages/create/node_modules/@domql/registry/tags.js +139 -0
  121. package/packages/create/node_modules/@domql/report/LICENSE +21 -0
  122. package/packages/create/node_modules/@domql/report/index.js +62 -0
  123. package/packages/create/node_modules/@domql/report/package.json +8 -0
  124. package/packages/create/node_modules/@domql/state/LICENSE +21 -0
  125. package/packages/create/node_modules/@domql/state/index.js +44 -0
  126. package/packages/create/node_modules/@domql/state/package.json +12 -0
  127. package/packages/create/node_modules/@domql/tags/LICENSE +21 -0
  128. package/packages/create/node_modules/@domql/tags/htmlTags.js +139 -0
  129. package/packages/create/node_modules/@domql/tags/index.js +3 -0
  130. package/packages/create/node_modules/@domql/tags/package.json +8 -0
  131. package/packages/create/node_modules/@domql/tree/LICENSE +21 -0
  132. package/packages/create/node_modules/@domql/tree/index.js +6 -0
  133. package/packages/create/node_modules/@domql/tree/package.json +11 -0
  134. package/packages/create/node_modules/@domql/tree/root.js +10 -0
  135. package/packages/create/node_modules/@domql/utils/LICENSE +21 -0
  136. package/packages/create/node_modules/@domql/utils/array.js +1 -0
  137. package/packages/create/node_modules/@domql/utils/function.js +23 -0
  138. package/packages/create/node_modules/@domql/utils/index.js +8 -0
  139. package/packages/create/node_modules/@domql/utils/log.js +10 -0
  140. package/packages/create/node_modules/@domql/utils/node.js +10 -0
  141. package/packages/create/node_modules/@domql/utils/object.js +195 -0
  142. package/packages/create/node_modules/@domql/utils/package.json +11 -0
  143. package/packages/create/node_modules/@domql/utils/types.js +74 -0
  144. package/packages/define/node_modules/@domql/registry/LICENSE +21 -0
  145. package/packages/define/node_modules/@domql/registry/index.js +4 -0
  146. package/packages/define/node_modules/@domql/registry/methods.js +67 -0
  147. package/packages/define/node_modules/@domql/registry/package.json +11 -0
  148. package/packages/define/node_modules/@domql/registry/tags.js +139 -0
  149. package/packages/define/node_modules/@domql/report/LICENSE +21 -0
  150. package/packages/define/node_modules/@domql/report/index.js +62 -0
  151. package/packages/define/node_modules/@domql/report/package.json +8 -0
  152. package/packages/define/node_modules/@domql/tags/LICENSE +21 -0
  153. package/packages/define/node_modules/@domql/tags/htmlTags.js +139 -0
  154. package/packages/define/node_modules/@domql/tags/index.js +3 -0
  155. package/packages/define/node_modules/@domql/tags/package.json +8 -0
  156. package/packages/define/node_modules/@domql/utils/LICENSE +21 -0
  157. package/packages/define/node_modules/@domql/utils/array.js +1 -0
  158. package/packages/define/node_modules/@domql/utils/function.js +23 -0
  159. package/packages/define/node_modules/@domql/utils/index.js +8 -0
  160. package/packages/define/node_modules/@domql/utils/log.js +10 -0
  161. package/packages/define/node_modules/@domql/utils/node.js +10 -0
  162. package/packages/define/node_modules/@domql/utils/object.js +195 -0
  163. package/packages/define/node_modules/@domql/utils/package.json +11 -0
  164. package/packages/define/node_modules/@domql/utils/types.js +74 -0
  165. package/packages/element/node_modules/@domql/create/LICENSE +21 -0
  166. package/packages/element/node_modules/@domql/create/index.js +181 -0
  167. package/packages/element/node_modules/@domql/create/package.json +17 -0
  168. package/packages/element/node_modules/@domql/event/LICENSE +21 -0
  169. package/packages/element/node_modules/@domql/event/can.js +10 -0
  170. package/packages/element/node_modules/@domql/event/index.js +11 -0
  171. package/packages/element/node_modules/@domql/event/is.js +13 -0
  172. package/packages/element/node_modules/@domql/event/on.js +58 -0
  173. package/packages/element/node_modules/@domql/event/package.json +14 -0
  174. package/packages/element/node_modules/@domql/event/store.js +6 -0
  175. package/packages/element/node_modules/@domql/event/wrappers.js +14 -0
  176. package/packages/element/node_modules/@domql/extends/LICENSE +21 -0
  177. package/packages/element/node_modules/@domql/extends/extendUtils.js +118 -0
  178. package/packages/element/node_modules/@domql/extends/index.js +56 -0
  179. package/packages/element/node_modules/@domql/extends/package.json +12 -0
  180. package/packages/element/node_modules/@domql/extends/test/index.test.js +53 -0
  181. package/packages/element/node_modules/@domql/iterate/LICENSE +21 -0
  182. package/packages/element/node_modules/@domql/iterate/index.js +80 -0
  183. package/packages/element/node_modules/@domql/iterate/package.json +12 -0
  184. package/packages/element/node_modules/@domql/key/LICENSE +21 -0
  185. package/packages/element/node_modules/@domql/key/index.js +12 -0
  186. package/packages/element/node_modules/@domql/key/package.json +11 -0
  187. package/packages/element/node_modules/@domql/methods/LICENSE +21 -0
  188. package/packages/element/node_modules/@domql/methods/index.js +96 -0
  189. package/packages/element/node_modules/@domql/methods/package.json +12 -0
  190. package/packages/element/node_modules/@domql/mixins/LICENSE +21 -0
  191. package/packages/element/node_modules/@domql/mixins/attr.js +19 -0
  192. package/packages/element/node_modules/@domql/mixins/classList.js +37 -0
  193. package/packages/element/node_modules/@domql/mixins/content.js +17 -0
  194. package/packages/element/node_modules/@domql/mixins/data.js +21 -0
  195. package/packages/element/node_modules/@domql/mixins/html.js +17 -0
  196. package/packages/element/node_modules/@domql/mixins/index.js +11 -0
  197. package/packages/element/node_modules/@domql/mixins/methods.js +55 -0
  198. package/packages/element/node_modules/@domql/mixins/package.json +15 -0
  199. package/packages/element/node_modules/@domql/mixins/state.js +16 -0
  200. package/packages/element/node_modules/@domql/mixins/style.js +14 -0
  201. package/packages/element/node_modules/@domql/mixins/text.js +19 -0
  202. package/packages/element/node_modules/@domql/props/LICENSE +21 -0
  203. package/packages/element/node_modules/@domql/props/index.js +64 -0
  204. package/packages/element/node_modules/@domql/props/package.json +12 -0
  205. package/packages/element/node_modules/@domql/registry/LICENSE +21 -0
  206. package/packages/element/node_modules/@domql/registry/index.js +4 -0
  207. package/packages/element/node_modules/@domql/registry/methods.js +67 -0
  208. package/packages/element/node_modules/@domql/registry/package.json +11 -0
  209. package/packages/element/node_modules/@domql/registry/tags.js +139 -0
  210. package/packages/element/node_modules/@domql/report/LICENSE +21 -0
  211. package/packages/element/node_modules/@domql/report/index.js +62 -0
  212. package/packages/element/node_modules/@domql/report/package.json +8 -0
  213. package/packages/element/node_modules/@domql/set/LICENSE +21 -0
  214. package/packages/element/node_modules/@domql/set/index.js +35 -0
  215. package/packages/element/node_modules/@domql/set/package.json +11 -0
  216. package/packages/element/node_modules/@domql/state/LICENSE +21 -0
  217. package/packages/element/node_modules/@domql/state/index.js +44 -0
  218. package/packages/element/node_modules/@domql/state/package.json +12 -0
  219. package/packages/element/node_modules/@domql/tags/LICENSE +21 -0
  220. package/packages/element/node_modules/@domql/tags/htmlTags.js +139 -0
  221. package/packages/element/node_modules/@domql/tags/index.js +3 -0
  222. package/packages/element/node_modules/@domql/tags/package.json +8 -0
  223. package/packages/element/node_modules/@domql/tree/LICENSE +21 -0
  224. package/packages/element/node_modules/@domql/tree/index.js +6 -0
  225. package/packages/element/node_modules/@domql/tree/package.json +11 -0
  226. package/packages/element/node_modules/@domql/tree/root.js +10 -0
  227. package/packages/element/node_modules/@domql/update/LICENSE +21 -0
  228. package/packages/element/node_modules/@domql/update/index copy.js +85 -0
  229. package/packages/element/node_modules/@domql/update/index.js +125 -0
  230. package/packages/element/node_modules/@domql/update/package.json +18 -0
  231. package/packages/element/node_modules/@domql/update/update2.js +34 -0
  232. package/packages/element/node_modules/@domql/utils/LICENSE +21 -0
  233. package/packages/element/node_modules/@domql/utils/array.js +1 -0
  234. package/packages/element/node_modules/@domql/utils/function.js +23 -0
  235. package/packages/element/node_modules/@domql/utils/index.js +8 -0
  236. package/packages/element/node_modules/@domql/utils/log.js +10 -0
  237. package/packages/element/node_modules/@domql/utils/node.js +10 -0
  238. package/packages/element/node_modules/@domql/utils/object.js +195 -0
  239. package/packages/element/node_modules/@domql/utils/package.json +11 -0
  240. package/packages/element/node_modules/@domql/utils/types.js +74 -0
  241. package/packages/event/node_modules/@domql/tags/LICENSE +21 -0
  242. package/packages/event/node_modules/@domql/tags/htmlTags.js +139 -0
  243. package/packages/event/node_modules/@domql/tags/index.js +3 -0
  244. package/packages/event/node_modules/@domql/tags/package.json +8 -0
  245. package/packages/event/node_modules/@domql/utils/LICENSE +21 -0
  246. package/packages/event/node_modules/@domql/utils/array.js +1 -0
  247. package/packages/event/node_modules/@domql/utils/function.js +23 -0
  248. package/packages/event/node_modules/@domql/utils/index.js +8 -0
  249. package/packages/event/node_modules/@domql/utils/log.js +10 -0
  250. package/packages/event/node_modules/@domql/utils/node.js +10 -0
  251. package/packages/event/node_modules/@domql/utils/object.js +195 -0
  252. package/packages/event/node_modules/@domql/utils/package.json +11 -0
  253. package/packages/event/node_modules/@domql/utils/types.js +74 -0
  254. package/packages/extends/node_modules/@domql/report/LICENSE +21 -0
  255. package/packages/extends/node_modules/@domql/report/index.js +62 -0
  256. package/packages/extends/node_modules/@domql/report/package.json +8 -0
  257. package/packages/extends/node_modules/@domql/tags/LICENSE +21 -0
  258. package/packages/extends/node_modules/@domql/tags/htmlTags.js +139 -0
  259. package/packages/extends/node_modules/@domql/tags/index.js +3 -0
  260. package/packages/extends/node_modules/@domql/tags/package.json +8 -0
  261. package/packages/extends/node_modules/@domql/tree/LICENSE +21 -0
  262. package/packages/extends/node_modules/@domql/tree/index.js +6 -0
  263. package/packages/extends/node_modules/@domql/tree/package.json +11 -0
  264. package/packages/extends/node_modules/@domql/tree/root.js +10 -0
  265. package/packages/extends/node_modules/@domql/utils/LICENSE +21 -0
  266. package/packages/extends/node_modules/@domql/utils/array.js +1 -0
  267. package/packages/extends/node_modules/@domql/utils/function.js +23 -0
  268. package/packages/extends/node_modules/@domql/utils/index.js +8 -0
  269. package/packages/extends/node_modules/@domql/utils/log.js +10 -0
  270. package/packages/extends/node_modules/@domql/utils/node.js +10 -0
  271. package/packages/extends/node_modules/@domql/utils/object.js +195 -0
  272. package/packages/extends/node_modules/@domql/utils/package.json +11 -0
  273. package/packages/extends/node_modules/@domql/utils/types.js +74 -0
  274. package/packages/iterate/node_modules/@domql/methods/LICENSE +21 -0
  275. package/packages/iterate/node_modules/@domql/methods/index.js +96 -0
  276. package/packages/iterate/node_modules/@domql/methods/package.json +12 -0
  277. package/packages/iterate/node_modules/@domql/registry/LICENSE +21 -0
  278. package/packages/iterate/node_modules/@domql/registry/index.js +4 -0
  279. package/packages/iterate/node_modules/@domql/registry/methods.js +67 -0
  280. package/packages/iterate/node_modules/@domql/registry/package.json +11 -0
  281. package/packages/iterate/node_modules/@domql/registry/tags.js +139 -0
  282. package/packages/iterate/node_modules/@domql/tags/LICENSE +21 -0
  283. package/packages/iterate/node_modules/@domql/tags/htmlTags.js +139 -0
  284. package/packages/iterate/node_modules/@domql/tags/index.js +3 -0
  285. package/packages/iterate/node_modules/@domql/tags/package.json +8 -0
  286. package/packages/iterate/node_modules/@domql/utils/LICENSE +21 -0
  287. package/packages/iterate/node_modules/@domql/utils/array.js +1 -0
  288. package/packages/iterate/node_modules/@domql/utils/function.js +23 -0
  289. package/packages/iterate/node_modules/@domql/utils/index.js +8 -0
  290. package/packages/iterate/node_modules/@domql/utils/log.js +10 -0
  291. package/packages/iterate/node_modules/@domql/utils/node.js +10 -0
  292. package/packages/iterate/node_modules/@domql/utils/object.js +195 -0
  293. package/packages/iterate/node_modules/@domql/utils/package.json +11 -0
  294. package/packages/iterate/node_modules/@domql/utils/types.js +74 -0
  295. package/packages/methods/node_modules/@domql/registry/LICENSE +21 -0
  296. package/packages/methods/node_modules/@domql/registry/index.js +4 -0
  297. package/packages/methods/node_modules/@domql/registry/methods.js +67 -0
  298. package/packages/methods/node_modules/@domql/registry/package.json +11 -0
  299. package/packages/methods/node_modules/@domql/registry/tags.js +139 -0
  300. package/packages/methods/node_modules/@domql/tags/LICENSE +21 -0
  301. package/packages/methods/node_modules/@domql/tags/htmlTags.js +139 -0
  302. package/packages/methods/node_modules/@domql/tags/index.js +3 -0
  303. package/packages/methods/node_modules/@domql/tags/package.json +8 -0
  304. package/packages/methods/node_modules/@domql/utils/LICENSE +21 -0
  305. package/packages/methods/node_modules/@domql/utils/array.js +1 -0
  306. package/packages/methods/node_modules/@domql/utils/function.js +23 -0
  307. package/packages/methods/node_modules/@domql/utils/index.js +8 -0
  308. package/packages/methods/node_modules/@domql/utils/log.js +10 -0
  309. package/packages/methods/node_modules/@domql/utils/node.js +10 -0
  310. package/packages/methods/node_modules/@domql/utils/object.js +195 -0
  311. package/packages/methods/node_modules/@domql/utils/package.json +11 -0
  312. package/packages/methods/node_modules/@domql/utils/types.js +74 -0
  313. package/packages/mixins/node_modules/@domql/create/LICENSE +21 -0
  314. package/packages/mixins/node_modules/@domql/create/index.js +181 -0
  315. package/packages/mixins/node_modules/@domql/create/package.json +17 -0
  316. package/packages/mixins/node_modules/@domql/event/LICENSE +21 -0
  317. package/packages/mixins/node_modules/@domql/event/can.js +10 -0
  318. package/packages/mixins/node_modules/@domql/event/index.js +11 -0
  319. package/packages/mixins/node_modules/@domql/event/is.js +13 -0
  320. package/packages/mixins/node_modules/@domql/event/on.js +58 -0
  321. package/packages/mixins/node_modules/@domql/event/package.json +14 -0
  322. package/packages/mixins/node_modules/@domql/event/store.js +6 -0
  323. package/packages/mixins/node_modules/@domql/event/wrappers.js +14 -0
  324. package/packages/mixins/node_modules/@domql/extends/LICENSE +21 -0
  325. package/packages/mixins/node_modules/@domql/extends/extendUtils.js +118 -0
  326. package/packages/mixins/node_modules/@domql/extends/index.js +56 -0
  327. package/packages/mixins/node_modules/@domql/extends/package.json +12 -0
  328. package/packages/mixins/node_modules/@domql/extends/test/index.test.js +53 -0
  329. package/packages/mixins/node_modules/@domql/key/LICENSE +21 -0
  330. package/packages/mixins/node_modules/@domql/key/index.js +12 -0
  331. package/packages/mixins/node_modules/@domql/key/package.json +11 -0
  332. package/packages/mixins/node_modules/@domql/props/LICENSE +21 -0
  333. package/packages/mixins/node_modules/@domql/props/index.js +64 -0
  334. package/packages/mixins/node_modules/@domql/props/package.json +12 -0
  335. package/packages/mixins/node_modules/@domql/registry/LICENSE +21 -0
  336. package/packages/mixins/node_modules/@domql/registry/index.js +4 -0
  337. package/packages/mixins/node_modules/@domql/registry/methods.js +67 -0
  338. package/packages/mixins/node_modules/@domql/registry/package.json +11 -0
  339. package/packages/mixins/node_modules/@domql/registry/tags.js +139 -0
  340. package/packages/mixins/node_modules/@domql/report/LICENSE +21 -0
  341. package/packages/mixins/node_modules/@domql/report/index.js +62 -0
  342. package/packages/mixins/node_modules/@domql/report/package.json +8 -0
  343. package/packages/mixins/node_modules/@domql/set/LICENSE +21 -0
  344. package/packages/mixins/node_modules/@domql/set/index.js +35 -0
  345. package/packages/mixins/node_modules/@domql/set/package.json +11 -0
  346. package/packages/mixins/node_modules/@domql/state/LICENSE +21 -0
  347. package/packages/mixins/node_modules/@domql/state/index.js +44 -0
  348. package/packages/mixins/node_modules/@domql/state/package.json +12 -0
  349. package/packages/mixins/node_modules/@domql/tags/LICENSE +21 -0
  350. package/packages/mixins/node_modules/@domql/tags/htmlTags.js +139 -0
  351. package/packages/mixins/node_modules/@domql/tags/index.js +3 -0
  352. package/packages/mixins/node_modules/@domql/tags/package.json +8 -0
  353. package/packages/mixins/node_modules/@domql/tree/LICENSE +21 -0
  354. package/packages/mixins/node_modules/@domql/tree/index.js +6 -0
  355. package/packages/mixins/node_modules/@domql/tree/package.json +11 -0
  356. package/packages/mixins/node_modules/@domql/tree/root.js +10 -0
  357. package/packages/mixins/node_modules/@domql/utils/LICENSE +21 -0
  358. package/packages/mixins/node_modules/@domql/utils/array.js +1 -0
  359. package/packages/mixins/node_modules/@domql/utils/function.js +23 -0
  360. package/packages/mixins/node_modules/@domql/utils/index.js +8 -0
  361. package/packages/mixins/node_modules/@domql/utils/log.js +10 -0
  362. package/packages/mixins/node_modules/@domql/utils/node.js +10 -0
  363. package/packages/mixins/node_modules/@domql/utils/object.js +195 -0
  364. package/packages/mixins/node_modules/@domql/utils/package.json +11 -0
  365. package/packages/mixins/node_modules/@domql/utils/types.js +74 -0
  366. package/packages/node/node_modules/@domql/cache/LICENSE +21 -0
  367. package/packages/node/node_modules/@domql/cache/index.js +3 -0
  368. package/packages/node/node_modules/@domql/cache/package.json +11 -0
  369. package/packages/node/node_modules/@domql/create/LICENSE +21 -0
  370. package/packages/node/node_modules/@domql/create/index.js +181 -0
  371. package/packages/node/node_modules/@domql/create/package.json +17 -0
  372. package/packages/node/node_modules/@domql/define/LICENSE +21 -0
  373. package/packages/node/node_modules/@domql/define/index.js +14 -0
  374. package/packages/node/node_modules/@domql/define/package.json +12 -0
  375. package/packages/node/node_modules/@domql/event/LICENSE +21 -0
  376. package/packages/node/node_modules/@domql/event/can.js +10 -0
  377. package/packages/node/node_modules/@domql/event/index.js +11 -0
  378. package/packages/node/node_modules/@domql/event/is.js +13 -0
  379. package/packages/node/node_modules/@domql/event/on.js +58 -0
  380. package/packages/node/node_modules/@domql/event/package.json +14 -0
  381. package/packages/node/node_modules/@domql/event/store.js +6 -0
  382. package/packages/node/node_modules/@domql/event/wrappers.js +14 -0
  383. package/packages/node/node_modules/@domql/extends/LICENSE +21 -0
  384. package/packages/node/node_modules/@domql/extends/extendUtils.js +118 -0
  385. package/packages/node/node_modules/@domql/extends/index.js +56 -0
  386. package/packages/node/node_modules/@domql/extends/package.json +12 -0
  387. package/packages/node/node_modules/@domql/extends/test/index.test.js +53 -0
  388. package/packages/node/node_modules/@domql/iterate/LICENSE +21 -0
  389. package/packages/node/node_modules/@domql/iterate/index.js +80 -0
  390. package/packages/node/node_modules/@domql/iterate/package.json +12 -0
  391. package/packages/node/node_modules/@domql/key/LICENSE +21 -0
  392. package/packages/node/node_modules/@domql/key/index.js +12 -0
  393. package/packages/node/node_modules/@domql/key/package.json +11 -0
  394. package/packages/node/node_modules/@domql/methods/LICENSE +21 -0
  395. package/packages/node/node_modules/@domql/methods/index.js +96 -0
  396. package/packages/node/node_modules/@domql/methods/package.json +12 -0
  397. package/packages/node/node_modules/@domql/mixins/LICENSE +21 -0
  398. package/packages/node/node_modules/@domql/mixins/attr.js +19 -0
  399. package/packages/node/node_modules/@domql/mixins/classList.js +37 -0
  400. package/packages/node/node_modules/@domql/mixins/content.js +17 -0
  401. package/packages/node/node_modules/@domql/mixins/data.js +21 -0
  402. package/packages/node/node_modules/@domql/mixins/html.js +17 -0
  403. package/packages/node/node_modules/@domql/mixins/index.js +11 -0
  404. package/packages/node/node_modules/@domql/mixins/methods.js +55 -0
  405. package/packages/node/node_modules/@domql/mixins/package.json +15 -0
  406. package/packages/node/node_modules/@domql/mixins/state.js +16 -0
  407. package/packages/node/node_modules/@domql/mixins/style.js +14 -0
  408. package/packages/node/node_modules/@domql/mixins/text.js +19 -0
  409. package/packages/node/node_modules/@domql/props/LICENSE +21 -0
  410. package/packages/node/node_modules/@domql/props/index.js +64 -0
  411. package/packages/node/node_modules/@domql/props/package.json +12 -0
  412. package/packages/node/node_modules/@domql/registry/LICENSE +21 -0
  413. package/packages/node/node_modules/@domql/registry/index.js +4 -0
  414. package/packages/node/node_modules/@domql/registry/methods.js +67 -0
  415. package/packages/node/node_modules/@domql/registry/package.json +11 -0
  416. package/packages/node/node_modules/@domql/registry/tags.js +139 -0
  417. package/packages/node/node_modules/@domql/report/LICENSE +21 -0
  418. package/packages/node/node_modules/@domql/report/index.js +62 -0
  419. package/packages/node/node_modules/@domql/report/package.json +8 -0
  420. package/packages/node/node_modules/@domql/set/LICENSE +21 -0
  421. package/packages/node/node_modules/@domql/set/index.js +35 -0
  422. package/packages/node/node_modules/@domql/set/package.json +11 -0
  423. package/packages/node/node_modules/@domql/state/LICENSE +21 -0
  424. package/packages/node/node_modules/@domql/state/index.js +44 -0
  425. package/packages/node/node_modules/@domql/state/package.json +12 -0
  426. package/packages/node/node_modules/@domql/tags/LICENSE +21 -0
  427. package/packages/node/node_modules/@domql/tags/htmlTags.js +139 -0
  428. package/packages/node/node_modules/@domql/tags/index.js +3 -0
  429. package/packages/node/node_modules/@domql/tags/package.json +8 -0
  430. package/packages/node/node_modules/@domql/tree/LICENSE +21 -0
  431. package/packages/node/node_modules/@domql/tree/index.js +6 -0
  432. package/packages/node/node_modules/@domql/tree/package.json +11 -0
  433. package/packages/node/node_modules/@domql/tree/root.js +10 -0
  434. package/packages/node/node_modules/@domql/utils/LICENSE +21 -0
  435. package/packages/node/node_modules/@domql/utils/array.js +1 -0
  436. package/packages/node/node_modules/@domql/utils/function.js +23 -0
  437. package/packages/node/node_modules/@domql/utils/index.js +8 -0
  438. package/packages/node/node_modules/@domql/utils/log.js +10 -0
  439. package/packages/node/node_modules/@domql/utils/node.js +10 -0
  440. package/packages/node/node_modules/@domql/utils/object.js +195 -0
  441. package/packages/node/node_modules/@domql/utils/package.json +11 -0
  442. package/packages/node/node_modules/@domql/utils/types.js +74 -0
  443. package/packages/parse/node_modules/@domql/create/LICENSE +21 -0
  444. package/packages/parse/node_modules/@domql/create/index.js +181 -0
  445. package/packages/parse/node_modules/@domql/create/package.json +17 -0
  446. package/packages/parse/node_modules/@domql/event/LICENSE +21 -0
  447. package/packages/parse/node_modules/@domql/event/can.js +10 -0
  448. package/packages/parse/node_modules/@domql/event/index.js +11 -0
  449. package/packages/parse/node_modules/@domql/event/is.js +13 -0
  450. package/packages/parse/node_modules/@domql/event/on.js +58 -0
  451. package/packages/parse/node_modules/@domql/event/package.json +14 -0
  452. package/packages/parse/node_modules/@domql/event/store.js +6 -0
  453. package/packages/parse/node_modules/@domql/event/wrappers.js +14 -0
  454. package/packages/parse/node_modules/@domql/extends/LICENSE +21 -0
  455. package/packages/parse/node_modules/@domql/extends/extendUtils.js +118 -0
  456. package/packages/parse/node_modules/@domql/extends/index.js +56 -0
  457. package/packages/parse/node_modules/@domql/extends/package.json +12 -0
  458. package/packages/parse/node_modules/@domql/extends/test/index.test.js +53 -0
  459. package/packages/parse/node_modules/@domql/key/LICENSE +21 -0
  460. package/packages/parse/node_modules/@domql/key/index.js +12 -0
  461. package/packages/parse/node_modules/@domql/key/package.json +11 -0
  462. package/packages/parse/node_modules/@domql/props/LICENSE +21 -0
  463. package/packages/parse/node_modules/@domql/props/index.js +64 -0
  464. package/packages/parse/node_modules/@domql/props/package.json +12 -0
  465. package/packages/parse/node_modules/@domql/registry/LICENSE +21 -0
  466. package/packages/parse/node_modules/@domql/registry/index.js +4 -0
  467. package/packages/parse/node_modules/@domql/registry/methods.js +67 -0
  468. package/packages/parse/node_modules/@domql/registry/package.json +11 -0
  469. package/packages/parse/node_modules/@domql/registry/tags.js +139 -0
  470. package/packages/parse/node_modules/@domql/render/LICENSE +21 -0
  471. package/packages/parse/node_modules/@domql/render/index.js +26 -0
  472. package/packages/parse/node_modules/@domql/render/package.json +8 -0
  473. package/packages/parse/node_modules/@domql/report/LICENSE +21 -0
  474. package/packages/parse/node_modules/@domql/report/index.js +62 -0
  475. package/packages/parse/node_modules/@domql/report/package.json +8 -0
  476. package/packages/parse/node_modules/@domql/state/LICENSE +21 -0
  477. package/packages/parse/node_modules/@domql/state/index.js +44 -0
  478. package/packages/parse/node_modules/@domql/state/package.json +12 -0
  479. package/packages/parse/node_modules/@domql/tags/LICENSE +21 -0
  480. package/packages/parse/node_modules/@domql/tags/htmlTags.js +139 -0
  481. package/packages/parse/node_modules/@domql/tags/index.js +3 -0
  482. package/packages/parse/node_modules/@domql/tags/package.json +8 -0
  483. package/packages/parse/node_modules/@domql/tree/LICENSE +21 -0
  484. package/packages/parse/node_modules/@domql/tree/index.js +6 -0
  485. package/packages/parse/node_modules/@domql/tree/package.json +11 -0
  486. package/packages/parse/node_modules/@domql/tree/root.js +10 -0
  487. package/packages/parse/node_modules/@domql/utils/LICENSE +21 -0
  488. package/packages/parse/node_modules/@domql/utils/array.js +1 -0
  489. package/packages/parse/node_modules/@domql/utils/function.js +23 -0
  490. package/packages/parse/node_modules/@domql/utils/index.js +8 -0
  491. package/packages/parse/node_modules/@domql/utils/log.js +10 -0
  492. package/packages/parse/node_modules/@domql/utils/node.js +10 -0
  493. package/packages/parse/node_modules/@domql/utils/object.js +195 -0
  494. package/packages/parse/node_modules/@domql/utils/package.json +11 -0
  495. package/packages/parse/node_modules/@domql/utils/types.js +74 -0
  496. package/packages/props/node_modules/@domql/event/LICENSE +21 -0
  497. package/packages/props/node_modules/@domql/event/can.js +10 -0
  498. package/packages/props/node_modules/@domql/event/index.js +11 -0
  499. package/packages/props/node_modules/@domql/event/is.js +13 -0
  500. package/packages/props/node_modules/@domql/event/on.js +58 -0
  501. package/packages/props/node_modules/@domql/event/package.json +14 -0
  502. package/packages/props/node_modules/@domql/event/store.js +6 -0
  503. package/packages/props/node_modules/@domql/event/wrappers.js +14 -0
  504. package/packages/props/node_modules/@domql/tags/LICENSE +21 -0
  505. package/packages/props/node_modules/@domql/tags/htmlTags.js +139 -0
  506. package/packages/props/node_modules/@domql/tags/index.js +3 -0
  507. package/packages/props/node_modules/@domql/tags/package.json +8 -0
  508. package/packages/props/node_modules/@domql/utils/LICENSE +21 -0
  509. package/packages/props/node_modules/@domql/utils/array.js +1 -0
  510. package/packages/props/node_modules/@domql/utils/function.js +23 -0
  511. package/packages/props/node_modules/@domql/utils/index.js +8 -0
  512. package/packages/props/node_modules/@domql/utils/log.js +10 -0
  513. package/packages/props/node_modules/@domql/utils/node.js +10 -0
  514. package/packages/props/node_modules/@domql/utils/object.js +195 -0
  515. package/packages/props/node_modules/@domql/utils/package.json +11 -0
  516. package/packages/props/node_modules/@domql/utils/types.js +74 -0
  517. package/packages/registry/node_modules/@domql/tags/LICENSE +21 -0
  518. package/packages/registry/node_modules/@domql/tags/htmlTags.js +139 -0
  519. package/packages/registry/node_modules/@domql/tags/index.js +3 -0
  520. package/packages/registry/node_modules/@domql/tags/package.json +8 -0
  521. package/packages/registry/node_modules/@domql/utils/LICENSE +21 -0
  522. package/packages/registry/node_modules/@domql/utils/array.js +1 -0
  523. package/packages/registry/node_modules/@domql/utils/function.js +23 -0
  524. package/packages/registry/node_modules/@domql/utils/index.js +8 -0
  525. package/packages/registry/node_modules/@domql/utils/log.js +10 -0
  526. package/packages/registry/node_modules/@domql/utils/node.js +10 -0
  527. package/packages/registry/node_modules/@domql/utils/object.js +195 -0
  528. package/packages/registry/node_modules/@domql/utils/package.json +11 -0
  529. package/packages/registry/node_modules/@domql/utils/types.js +74 -0
  530. package/packages/router/node_modules/@domql/tags/LICENSE +21 -0
  531. package/packages/router/node_modules/@domql/tags/htmlTags.js +139 -0
  532. package/packages/router/node_modules/@domql/tags/index.js +3 -0
  533. package/packages/router/node_modules/@domql/tags/package.json +8 -0
  534. package/packages/router/node_modules/@domql/utils/LICENSE +21 -0
  535. package/packages/router/node_modules/@domql/utils/array.js +1 -0
  536. package/packages/router/node_modules/@domql/utils/function.js +23 -0
  537. package/packages/router/node_modules/@domql/utils/index.js +8 -0
  538. package/packages/router/node_modules/@domql/utils/log.js +10 -0
  539. package/packages/router/node_modules/@domql/utils/node.js +10 -0
  540. package/packages/router/node_modules/@domql/utils/object.js +195 -0
  541. package/packages/router/node_modules/@domql/utils/package.json +11 -0
  542. package/packages/router/node_modules/@domql/utils/types.js +74 -0
  543. package/packages/set/node_modules/@domql/create/LICENSE +21 -0
  544. package/packages/set/node_modules/@domql/create/index.js +181 -0
  545. package/packages/set/node_modules/@domql/create/package.json +17 -0
  546. package/packages/set/node_modules/@domql/event/LICENSE +21 -0
  547. package/packages/set/node_modules/@domql/event/can.js +10 -0
  548. package/packages/set/node_modules/@domql/event/index.js +11 -0
  549. package/packages/set/node_modules/@domql/event/is.js +13 -0
  550. package/packages/set/node_modules/@domql/event/on.js +58 -0
  551. package/packages/set/node_modules/@domql/event/package.json +14 -0
  552. package/packages/set/node_modules/@domql/event/store.js +6 -0
  553. package/packages/set/node_modules/@domql/event/wrappers.js +14 -0
  554. package/packages/set/node_modules/@domql/extends/LICENSE +21 -0
  555. package/packages/set/node_modules/@domql/extends/extendUtils.js +118 -0
  556. package/packages/set/node_modules/@domql/extends/index.js +56 -0
  557. package/packages/set/node_modules/@domql/extends/package.json +12 -0
  558. package/packages/set/node_modules/@domql/extends/test/index.test.js +53 -0
  559. package/packages/set/node_modules/@domql/key/LICENSE +21 -0
  560. package/packages/set/node_modules/@domql/key/index.js +12 -0
  561. package/packages/set/node_modules/@domql/key/package.json +11 -0
  562. package/packages/set/node_modules/@domql/props/LICENSE +21 -0
  563. package/packages/set/node_modules/@domql/props/index.js +64 -0
  564. package/packages/set/node_modules/@domql/props/package.json +12 -0
  565. package/packages/set/node_modules/@domql/registry/LICENSE +21 -0
  566. package/packages/set/node_modules/@domql/registry/index.js +4 -0
  567. package/packages/set/node_modules/@domql/registry/methods.js +67 -0
  568. package/packages/set/node_modules/@domql/registry/package.json +11 -0
  569. package/packages/set/node_modules/@domql/registry/tags.js +139 -0
  570. package/packages/set/node_modules/@domql/report/LICENSE +21 -0
  571. package/packages/set/node_modules/@domql/report/index.js +62 -0
  572. package/packages/set/node_modules/@domql/report/package.json +8 -0
  573. package/packages/set/node_modules/@domql/state/LICENSE +21 -0
  574. package/packages/set/node_modules/@domql/state/index.js +44 -0
  575. package/packages/set/node_modules/@domql/state/package.json +12 -0
  576. package/packages/set/node_modules/@domql/tags/LICENSE +21 -0
  577. package/packages/set/node_modules/@domql/tags/htmlTags.js +139 -0
  578. package/packages/set/node_modules/@domql/tags/index.js +3 -0
  579. package/packages/set/node_modules/@domql/tags/package.json +8 -0
  580. package/packages/set/node_modules/@domql/tree/LICENSE +21 -0
  581. package/packages/set/node_modules/@domql/tree/index.js +6 -0
  582. package/packages/set/node_modules/@domql/tree/package.json +11 -0
  583. package/packages/set/node_modules/@domql/tree/root.js +10 -0
  584. package/packages/set/node_modules/@domql/utils/LICENSE +21 -0
  585. package/packages/set/node_modules/@domql/utils/array.js +1 -0
  586. package/packages/set/node_modules/@domql/utils/function.js +23 -0
  587. package/packages/set/node_modules/@domql/utils/index.js +8 -0
  588. package/packages/set/node_modules/@domql/utils/log.js +10 -0
  589. package/packages/set/node_modules/@domql/utils/node.js +10 -0
  590. package/packages/set/node_modules/@domql/utils/object.js +195 -0
  591. package/packages/set/node_modules/@domql/utils/package.json +11 -0
  592. package/packages/set/node_modules/@domql/utils/types.js +74 -0
  593. package/packages/state/node_modules/@domql/event/LICENSE +21 -0
  594. package/packages/state/node_modules/@domql/event/can.js +10 -0
  595. package/packages/state/node_modules/@domql/event/index.js +11 -0
  596. package/packages/state/node_modules/@domql/event/is.js +13 -0
  597. package/packages/state/node_modules/@domql/event/on.js +58 -0
  598. package/packages/state/node_modules/@domql/event/package.json +14 -0
  599. package/packages/state/node_modules/@domql/event/store.js +6 -0
  600. package/packages/state/node_modules/@domql/event/wrappers.js +14 -0
  601. package/packages/state/node_modules/@domql/tags/LICENSE +21 -0
  602. package/packages/state/node_modules/@domql/tags/htmlTags.js +139 -0
  603. package/packages/state/node_modules/@domql/tags/index.js +3 -0
  604. package/packages/state/node_modules/@domql/tags/package.json +8 -0
  605. package/packages/state/node_modules/@domql/utils/LICENSE +21 -0
  606. package/packages/state/node_modules/@domql/utils/array.js +1 -0
  607. package/packages/state/node_modules/@domql/utils/function.js +23 -0
  608. package/packages/state/node_modules/@domql/utils/index.js +8 -0
  609. package/packages/state/node_modules/@domql/utils/log.js +10 -0
  610. package/packages/state/node_modules/@domql/utils/node.js +10 -0
  611. package/packages/state/node_modules/@domql/utils/object.js +195 -0
  612. package/packages/state/node_modules/@domql/utils/package.json +11 -0
  613. package/packages/state/node_modules/@domql/utils/types.js +74 -0
  614. package/packages/transform-emotion/node_modules/@domql/classlist/LICENSE +21 -0
  615. package/packages/transform-emotion/node_modules/@domql/classlist/index.js +37 -0
  616. package/packages/transform-emotion/node_modules/@domql/classlist/package.json +11 -0
  617. package/packages/transform-emotion/node_modules/@domql/tags/LICENSE +21 -0
  618. package/packages/transform-emotion/node_modules/@domql/tags/htmlTags.js +139 -0
  619. package/packages/transform-emotion/node_modules/@domql/tags/index.js +3 -0
  620. package/packages/transform-emotion/node_modules/@domql/tags/package.json +8 -0
  621. package/packages/transform-emotion/node_modules/@domql/utils/LICENSE +21 -0
  622. package/packages/transform-emotion/node_modules/@domql/utils/array.js +1 -0
  623. package/packages/transform-emotion/node_modules/@domql/utils/function.js +23 -0
  624. package/packages/transform-emotion/node_modules/@domql/utils/index.js +8 -0
  625. package/packages/transform-emotion/node_modules/@domql/utils/log.js +10 -0
  626. package/packages/transform-emotion/node_modules/@domql/utils/node.js +10 -0
  627. package/packages/transform-emotion/node_modules/@domql/utils/object.js +195 -0
  628. package/packages/transform-emotion/node_modules/@domql/utils/package.json +11 -0
  629. package/packages/transform-emotion/node_modules/@domql/utils/types.js +74 -0
  630. package/packages/transform-react/node_modules/@domql/create/LICENSE +21 -0
  631. package/packages/transform-react/node_modules/@domql/create/index.js +181 -0
  632. package/packages/transform-react/node_modules/@domql/create/package.json +17 -0
  633. package/packages/transform-react/node_modules/@domql/element/LICENSE +21 -0
  634. package/packages/transform-react/node_modules/@domql/element/README.md +21 -0
  635. package/packages/transform-react/node_modules/@domql/element/index.js +7 -0
  636. package/packages/transform-react/node_modules/@domql/element/package.json +15 -0
  637. package/packages/transform-react/node_modules/@domql/element/test/create.test.js +136 -0
  638. package/packages/transform-react/node_modules/@domql/event/LICENSE +21 -0
  639. package/packages/transform-react/node_modules/@domql/event/can.js +10 -0
  640. package/packages/transform-react/node_modules/@domql/event/index.js +11 -0
  641. package/packages/transform-react/node_modules/@domql/event/is.js +13 -0
  642. package/packages/transform-react/node_modules/@domql/event/on.js +58 -0
  643. package/packages/transform-react/node_modules/@domql/event/package.json +14 -0
  644. package/packages/transform-react/node_modules/@domql/event/store.js +6 -0
  645. package/packages/transform-react/node_modules/@domql/event/wrappers.js +14 -0
  646. package/packages/transform-react/node_modules/@domql/extends/LICENSE +21 -0
  647. package/packages/transform-react/node_modules/@domql/extends/extendUtils.js +118 -0
  648. package/packages/transform-react/node_modules/@domql/extends/index.js +56 -0
  649. package/packages/transform-react/node_modules/@domql/extends/package.json +12 -0
  650. package/packages/transform-react/node_modules/@domql/extends/test/index.test.js +53 -0
  651. package/packages/transform-react/node_modules/@domql/iterate/LICENSE +21 -0
  652. package/packages/transform-react/node_modules/@domql/iterate/index.js +80 -0
  653. package/packages/transform-react/node_modules/@domql/iterate/package.json +12 -0
  654. package/packages/transform-react/node_modules/@domql/key/LICENSE +21 -0
  655. package/packages/transform-react/node_modules/@domql/key/index.js +12 -0
  656. package/packages/transform-react/node_modules/@domql/key/package.json +11 -0
  657. package/packages/transform-react/node_modules/@domql/methods/LICENSE +21 -0
  658. package/packages/transform-react/node_modules/@domql/methods/index.js +96 -0
  659. package/packages/transform-react/node_modules/@domql/methods/package.json +12 -0
  660. package/packages/transform-react/node_modules/@domql/mixins/LICENSE +21 -0
  661. package/packages/transform-react/node_modules/@domql/mixins/attr.js +19 -0
  662. package/packages/transform-react/node_modules/@domql/mixins/classList.js +37 -0
  663. package/packages/transform-react/node_modules/@domql/mixins/content.js +17 -0
  664. package/packages/transform-react/node_modules/@domql/mixins/data.js +21 -0
  665. package/packages/transform-react/node_modules/@domql/mixins/html.js +17 -0
  666. package/packages/transform-react/node_modules/@domql/mixins/index.js +11 -0
  667. package/packages/transform-react/node_modules/@domql/mixins/methods.js +55 -0
  668. package/packages/transform-react/node_modules/@domql/mixins/package.json +15 -0
  669. package/packages/transform-react/node_modules/@domql/mixins/state.js +16 -0
  670. package/packages/transform-react/node_modules/@domql/mixins/style.js +14 -0
  671. package/packages/transform-react/node_modules/@domql/mixins/text.js +19 -0
  672. package/packages/transform-react/node_modules/@domql/props/LICENSE +21 -0
  673. package/packages/transform-react/node_modules/@domql/props/index.js +64 -0
  674. package/packages/transform-react/node_modules/@domql/props/package.json +12 -0
  675. package/packages/transform-react/node_modules/@domql/registry/LICENSE +21 -0
  676. package/packages/transform-react/node_modules/@domql/registry/index.js +4 -0
  677. package/packages/transform-react/node_modules/@domql/registry/methods.js +67 -0
  678. package/packages/transform-react/node_modules/@domql/registry/package.json +11 -0
  679. package/packages/transform-react/node_modules/@domql/registry/tags.js +139 -0
  680. package/packages/transform-react/node_modules/@domql/report/LICENSE +21 -0
  681. package/packages/transform-react/node_modules/@domql/report/index.js +62 -0
  682. package/packages/transform-react/node_modules/@domql/report/package.json +8 -0
  683. package/packages/transform-react/node_modules/@domql/set/LICENSE +21 -0
  684. package/packages/transform-react/node_modules/@domql/set/index.js +35 -0
  685. package/packages/transform-react/node_modules/@domql/set/package.json +11 -0
  686. package/packages/transform-react/node_modules/@domql/state/LICENSE +21 -0
  687. package/packages/transform-react/node_modules/@domql/state/index.js +44 -0
  688. package/packages/transform-react/node_modules/@domql/state/package.json +12 -0
  689. package/packages/transform-react/node_modules/@domql/tags/LICENSE +21 -0
  690. package/packages/transform-react/node_modules/@domql/tags/htmlTags.js +139 -0
  691. package/packages/transform-react/node_modules/@domql/tags/index.js +3 -0
  692. package/packages/transform-react/node_modules/@domql/tags/package.json +8 -0
  693. package/packages/transform-react/node_modules/@domql/tree/LICENSE +21 -0
  694. package/packages/transform-react/node_modules/@domql/tree/index.js +6 -0
  695. package/packages/transform-react/node_modules/@domql/tree/package.json +11 -0
  696. package/packages/transform-react/node_modules/@domql/tree/root.js +10 -0
  697. package/packages/transform-react/node_modules/@domql/update/LICENSE +21 -0
  698. package/packages/transform-react/node_modules/@domql/update/index copy.js +85 -0
  699. package/packages/transform-react/node_modules/@domql/update/index.js +125 -0
  700. package/packages/transform-react/node_modules/@domql/update/package.json +18 -0
  701. package/packages/transform-react/node_modules/@domql/update/update2.js +34 -0
  702. package/packages/transform-react/node_modules/@domql/utils/LICENSE +21 -0
  703. package/packages/transform-react/node_modules/@domql/utils/array.js +1 -0
  704. package/packages/transform-react/node_modules/@domql/utils/function.js +23 -0
  705. package/packages/transform-react/node_modules/@domql/utils/index.js +8 -0
  706. package/packages/transform-react/node_modules/@domql/utils/log.js +10 -0
  707. package/packages/transform-react/node_modules/@domql/utils/node.js +10 -0
  708. package/packages/transform-react/node_modules/@domql/utils/object.js +195 -0
  709. package/packages/transform-react/node_modules/@domql/utils/package.json +11 -0
  710. package/packages/transform-react/node_modules/@domql/utils/types.js +74 -0
  711. package/packages/tree/node_modules/@domql/report/LICENSE +21 -0
  712. package/packages/tree/node_modules/@domql/report/index.js +62 -0
  713. package/packages/tree/node_modules/@domql/report/package.json +8 -0
  714. package/packages/update/node_modules/@domql/create/LICENSE +21 -0
  715. package/packages/update/node_modules/@domql/create/index.js +181 -0
  716. package/packages/update/node_modules/@domql/create/package.json +17 -0
  717. package/packages/update/node_modules/@domql/event/LICENSE +21 -0
  718. package/packages/update/node_modules/@domql/event/can.js +10 -0
  719. package/packages/update/node_modules/@domql/event/index.js +11 -0
  720. package/packages/update/node_modules/@domql/event/is.js +13 -0
  721. package/packages/update/node_modules/@domql/event/on.js +58 -0
  722. package/packages/update/node_modules/@domql/event/package.json +14 -0
  723. package/packages/update/node_modules/@domql/event/store.js +6 -0
  724. package/packages/update/node_modules/@domql/event/wrappers.js +14 -0
  725. package/packages/update/node_modules/@domql/extends/LICENSE +21 -0
  726. package/packages/update/node_modules/@domql/extends/extendUtils.js +118 -0
  727. package/packages/update/node_modules/@domql/extends/index.js +56 -0
  728. package/packages/update/node_modules/@domql/extends/package.json +12 -0
  729. package/packages/update/node_modules/@domql/extends/test/index.test.js +53 -0
  730. package/packages/update/node_modules/@domql/iterate/LICENSE +21 -0
  731. package/packages/update/node_modules/@domql/iterate/index.js +80 -0
  732. package/packages/update/node_modules/@domql/iterate/package.json +12 -0
  733. package/packages/update/node_modules/@domql/key/LICENSE +21 -0
  734. package/packages/update/node_modules/@domql/key/index.js +12 -0
  735. package/packages/update/node_modules/@domql/key/package.json +11 -0
  736. package/packages/update/node_modules/@domql/methods/LICENSE +21 -0
  737. package/packages/update/node_modules/@domql/methods/index.js +96 -0
  738. package/packages/update/node_modules/@domql/methods/package.json +12 -0
  739. package/packages/update/node_modules/@domql/mixins/LICENSE +21 -0
  740. package/packages/update/node_modules/@domql/mixins/attr.js +19 -0
  741. package/packages/update/node_modules/@domql/mixins/classList.js +37 -0
  742. package/packages/update/node_modules/@domql/mixins/content.js +17 -0
  743. package/packages/update/node_modules/@domql/mixins/data.js +21 -0
  744. package/packages/update/node_modules/@domql/mixins/html.js +17 -0
  745. package/packages/update/node_modules/@domql/mixins/index.js +11 -0
  746. package/packages/update/node_modules/@domql/mixins/methods.js +55 -0
  747. package/packages/update/node_modules/@domql/mixins/package.json +15 -0
  748. package/packages/update/node_modules/@domql/mixins/state.js +16 -0
  749. package/packages/update/node_modules/@domql/mixins/style.js +14 -0
  750. package/packages/update/node_modules/@domql/mixins/text.js +19 -0
  751. package/packages/update/node_modules/@domql/props/LICENSE +21 -0
  752. package/packages/update/node_modules/@domql/props/index.js +64 -0
  753. package/packages/update/node_modules/@domql/props/package.json +12 -0
  754. package/packages/update/node_modules/@domql/registry/LICENSE +21 -0
  755. package/packages/update/node_modules/@domql/registry/index.js +4 -0
  756. package/packages/update/node_modules/@domql/registry/methods.js +67 -0
  757. package/packages/update/node_modules/@domql/registry/package.json +11 -0
  758. package/packages/update/node_modules/@domql/registry/tags.js +139 -0
  759. package/packages/update/node_modules/@domql/report/LICENSE +21 -0
  760. package/packages/update/node_modules/@domql/report/index.js +62 -0
  761. package/packages/update/node_modules/@domql/report/package.json +8 -0
  762. package/packages/update/node_modules/@domql/set/LICENSE +21 -0
  763. package/packages/update/node_modules/@domql/set/index.js +35 -0
  764. package/packages/update/node_modules/@domql/set/package.json +11 -0
  765. package/packages/update/node_modules/@domql/state/LICENSE +21 -0
  766. package/packages/update/node_modules/@domql/state/index.js +44 -0
  767. package/packages/update/node_modules/@domql/state/package.json +12 -0
  768. package/packages/update/node_modules/@domql/tags/LICENSE +21 -0
  769. package/packages/update/node_modules/@domql/tags/htmlTags.js +139 -0
  770. package/packages/update/node_modules/@domql/tags/index.js +3 -0
  771. package/packages/update/node_modules/@domql/tags/package.json +8 -0
  772. package/packages/update/node_modules/@domql/tree/LICENSE +21 -0
  773. package/packages/update/node_modules/@domql/tree/index.js +6 -0
  774. package/packages/update/node_modules/@domql/tree/package.json +11 -0
  775. package/packages/update/node_modules/@domql/tree/root.js +10 -0
  776. package/packages/update/node_modules/@domql/utils/LICENSE +21 -0
  777. package/packages/update/node_modules/@domql/utils/array.js +1 -0
  778. package/packages/update/node_modules/@domql/utils/function.js +23 -0
  779. package/packages/update/node_modules/@domql/utils/index.js +8 -0
  780. package/packages/update/node_modules/@domql/utils/log.js +10 -0
  781. package/packages/update/node_modules/@domql/utils/node.js +10 -0
  782. package/packages/update/node_modules/@domql/utils/object.js +195 -0
  783. package/packages/update/node_modules/@domql/utils/package.json +11 -0
  784. package/packages/update/node_modules/@domql/utils/types.js +74 -0
  785. package/packages/utils/node_modules/@domql/tags/LICENSE +21 -0
  786. package/packages/utils/node_modules/@domql/tags/htmlTags.js +139 -0
  787. package/packages/utils/node_modules/@domql/tags/index.js +3 -0
  788. package/packages/utils/node_modules/@domql/tags/package.json +8 -0
  789. package/src/element/create.js +18 -6
  790. package/packages/emotion/node_modules/.yarn-integrity +0 -147
  791. package/packages/emotion/node_modules/@ampproject/remapping/LICENSE +0 -202
  792. package/packages/emotion/node_modules/@ampproject/remapping/README.md +0 -218
  793. package/packages/emotion/node_modules/@ampproject/remapping/dist/remapping.mjs +0 -204
  794. package/packages/emotion/node_modules/@ampproject/remapping/dist/remapping.mjs.map +0 -1
  795. package/packages/emotion/node_modules/@ampproject/remapping/dist/remapping.umd.js +0 -209
  796. package/packages/emotion/node_modules/@ampproject/remapping/dist/remapping.umd.js.map +0 -1
  797. package/packages/emotion/node_modules/@ampproject/remapping/dist/types/build-source-map-tree.d.ts +0 -14
  798. package/packages/emotion/node_modules/@ampproject/remapping/dist/types/remapping.d.ts +0 -19
  799. package/packages/emotion/node_modules/@ampproject/remapping/dist/types/source-map-tree.d.ts +0 -48
  800. package/packages/emotion/node_modules/@ampproject/remapping/dist/types/source-map.d.ts +0 -17
  801. package/packages/emotion/node_modules/@ampproject/remapping/dist/types/types.d.ts +0 -14
  802. package/packages/emotion/node_modules/@ampproject/remapping/package.json +0 -63
  803. package/packages/emotion/node_modules/@babel/code-frame/LICENSE +0 -22
  804. package/packages/emotion/node_modules/@babel/code-frame/README.md +0 -19
  805. package/packages/emotion/node_modules/@babel/code-frame/lib/index.js +0 -163
  806. package/packages/emotion/node_modules/@babel/code-frame/package.json +0 -30
  807. package/packages/emotion/node_modules/@babel/compat-data/LICENSE +0 -22
  808. package/packages/emotion/node_modules/@babel/compat-data/README.md +0 -19
  809. package/packages/emotion/node_modules/@babel/compat-data/corejs2-built-ins.js +0 -1
  810. package/packages/emotion/node_modules/@babel/compat-data/corejs3-shipped-proposals.js +0 -1
  811. package/packages/emotion/node_modules/@babel/compat-data/data/corejs2-built-ins.json +0 -1935
  812. package/packages/emotion/node_modules/@babel/compat-data/data/corejs3-shipped-proposals.json +0 -5
  813. package/packages/emotion/node_modules/@babel/compat-data/data/native-modules.json +0 -18
  814. package/packages/emotion/node_modules/@babel/compat-data/data/overlapping-plugins.json +0 -25
  815. package/packages/emotion/node_modules/@babel/compat-data/data/plugin-bugfixes.json +0 -183
  816. package/packages/emotion/node_modules/@babel/compat-data/data/plugins.json +0 -685
  817. package/packages/emotion/node_modules/@babel/compat-data/native-modules.js +0 -1
  818. package/packages/emotion/node_modules/@babel/compat-data/overlapping-plugins.js +0 -1
  819. package/packages/emotion/node_modules/@babel/compat-data/package.json +0 -40
  820. package/packages/emotion/node_modules/@babel/compat-data/plugin-bugfixes.js +0 -1
  821. package/packages/emotion/node_modules/@babel/compat-data/plugins.js +0 -1
  822. package/packages/emotion/node_modules/@babel/core/LICENSE +0 -22
  823. package/packages/emotion/node_modules/@babel/core/README.md +0 -19
  824. package/packages/emotion/node_modules/@babel/core/cjs-proxy.cjs +0 -29
  825. package/packages/emotion/node_modules/@babel/core/lib/config/cache-contexts.js +0 -3
  826. package/packages/emotion/node_modules/@babel/core/lib/config/cache-contexts.js.map +0 -1
  827. package/packages/emotion/node_modules/@babel/core/lib/config/caching.js +0 -328
  828. package/packages/emotion/node_modules/@babel/core/lib/config/caching.js.map +0 -1
  829. package/packages/emotion/node_modules/@babel/core/lib/config/config-chain.js +0 -572
  830. package/packages/emotion/node_modules/@babel/core/lib/config/config-chain.js.map +0 -1
  831. package/packages/emotion/node_modules/@babel/core/lib/config/config-descriptors.js +0 -233
  832. package/packages/emotion/node_modules/@babel/core/lib/config/config-descriptors.js.map +0 -1
  833. package/packages/emotion/node_modules/@babel/core/lib/config/files/configuration.js +0 -362
  834. package/packages/emotion/node_modules/@babel/core/lib/config/files/configuration.js.map +0 -1
  835. package/packages/emotion/node_modules/@babel/core/lib/config/files/import-meta-resolve.js +0 -45
  836. package/packages/emotion/node_modules/@babel/core/lib/config/files/import-meta-resolve.js.map +0 -1
  837. package/packages/emotion/node_modules/@babel/core/lib/config/files/import.cjs +0 -7
  838. package/packages/emotion/node_modules/@babel/core/lib/config/files/import.cjs.map +0 -1
  839. package/packages/emotion/node_modules/@babel/core/lib/config/files/index-browser.js +0 -71
  840. package/packages/emotion/node_modules/@babel/core/lib/config/files/index-browser.js.map +0 -1
  841. package/packages/emotion/node_modules/@babel/core/lib/config/files/index.js +0 -89
  842. package/packages/emotion/node_modules/@babel/core/lib/config/files/index.js.map +0 -1
  843. package/packages/emotion/node_modules/@babel/core/lib/config/files/module-types.js +0 -126
  844. package/packages/emotion/node_modules/@babel/core/lib/config/files/module-types.js.map +0 -1
  845. package/packages/emotion/node_modules/@babel/core/lib/config/files/package.js +0 -80
  846. package/packages/emotion/node_modules/@babel/core/lib/config/files/package.js.map +0 -1
  847. package/packages/emotion/node_modules/@babel/core/lib/config/files/plugins.js +0 -277
  848. package/packages/emotion/node_modules/@babel/core/lib/config/files/plugins.js.map +0 -1
  849. package/packages/emotion/node_modules/@babel/core/lib/config/files/types.js +0 -3
  850. package/packages/emotion/node_modules/@babel/core/lib/config/files/types.js.map +0 -1
  851. package/packages/emotion/node_modules/@babel/core/lib/config/files/utils.js +0 -48
  852. package/packages/emotion/node_modules/@babel/core/lib/config/files/utils.js.map +0 -1
  853. package/packages/emotion/node_modules/@babel/core/lib/config/full.js +0 -386
  854. package/packages/emotion/node_modules/@babel/core/lib/config/full.js.map +0 -1
  855. package/packages/emotion/node_modules/@babel/core/lib/config/helpers/config-api.js +0 -109
  856. package/packages/emotion/node_modules/@babel/core/lib/config/helpers/config-api.js.map +0 -1
  857. package/packages/emotion/node_modules/@babel/core/lib/config/helpers/deep-array.js +0 -28
  858. package/packages/emotion/node_modules/@babel/core/lib/config/helpers/deep-array.js.map +0 -1
  859. package/packages/emotion/node_modules/@babel/core/lib/config/helpers/environment.js +0 -14
  860. package/packages/emotion/node_modules/@babel/core/lib/config/helpers/environment.js.map +0 -1
  861. package/packages/emotion/node_modules/@babel/core/lib/config/index.js +0 -85
  862. package/packages/emotion/node_modules/@babel/core/lib/config/index.js.map +0 -1
  863. package/packages/emotion/node_modules/@babel/core/lib/config/item.js +0 -79
  864. package/packages/emotion/node_modules/@babel/core/lib/config/item.js.map +0 -1
  865. package/packages/emotion/node_modules/@babel/core/lib/config/partial.js +0 -200
  866. package/packages/emotion/node_modules/@babel/core/lib/config/partial.js.map +0 -1
  867. package/packages/emotion/node_modules/@babel/core/lib/config/pattern-to-regex.js +0 -48
  868. package/packages/emotion/node_modules/@babel/core/lib/config/pattern-to-regex.js.map +0 -1
  869. package/packages/emotion/node_modules/@babel/core/lib/config/plugin.js +0 -37
  870. package/packages/emotion/node_modules/@babel/core/lib/config/plugin.js.map +0 -1
  871. package/packages/emotion/node_modules/@babel/core/lib/config/printer.js +0 -142
  872. package/packages/emotion/node_modules/@babel/core/lib/config/printer.js.map +0 -1
  873. package/packages/emotion/node_modules/@babel/core/lib/config/resolve-targets-browser.js +0 -49
  874. package/packages/emotion/node_modules/@babel/core/lib/config/resolve-targets-browser.js.map +0 -1
  875. package/packages/emotion/node_modules/@babel/core/lib/config/resolve-targets.js +0 -75
  876. package/packages/emotion/node_modules/@babel/core/lib/config/resolve-targets.js.map +0 -1
  877. package/packages/emotion/node_modules/@babel/core/lib/config/util.js +0 -35
  878. package/packages/emotion/node_modules/@babel/core/lib/config/util.js.map +0 -1
  879. package/packages/emotion/node_modules/@babel/core/lib/config/validation/option-assertions.js +0 -356
  880. package/packages/emotion/node_modules/@babel/core/lib/config/validation/option-assertions.js.map +0 -1
  881. package/packages/emotion/node_modules/@babel/core/lib/config/validation/options.js +0 -221
  882. package/packages/emotion/node_modules/@babel/core/lib/config/validation/options.js.map +0 -1
  883. package/packages/emotion/node_modules/@babel/core/lib/config/validation/plugins.js +0 -75
  884. package/packages/emotion/node_modules/@babel/core/lib/config/validation/plugins.js.map +0 -1
  885. package/packages/emotion/node_modules/@babel/core/lib/config/validation/removed.js +0 -69
  886. package/packages/emotion/node_modules/@babel/core/lib/config/validation/removed.js.map +0 -1
  887. package/packages/emotion/node_modules/@babel/core/lib/errors/config-error.js +0 -22
  888. package/packages/emotion/node_modules/@babel/core/lib/errors/config-error.js.map +0 -1
  889. package/packages/emotion/node_modules/@babel/core/lib/errors/rewrite-stack-trace.js +0 -111
  890. package/packages/emotion/node_modules/@babel/core/lib/errors/rewrite-stack-trace.js.map +0 -1
  891. package/packages/emotion/node_modules/@babel/core/lib/gensync-utils/async.js +0 -116
  892. package/packages/emotion/node_modules/@babel/core/lib/gensync-utils/async.js.map +0 -1
  893. package/packages/emotion/node_modules/@babel/core/lib/gensync-utils/fs.js +0 -43
  894. package/packages/emotion/node_modules/@babel/core/lib/gensync-utils/fs.js.map +0 -1
  895. package/packages/emotion/node_modules/@babel/core/lib/gensync-utils/functional.js +0 -37
  896. package/packages/emotion/node_modules/@babel/core/lib/gensync-utils/functional.js.map +0 -1
  897. package/packages/emotion/node_modules/@babel/core/lib/index.js +0 -270
  898. package/packages/emotion/node_modules/@babel/core/lib/index.js.map +0 -1
  899. package/packages/emotion/node_modules/@babel/core/lib/parse.js +0 -65
  900. package/packages/emotion/node_modules/@babel/core/lib/parse.js.map +0 -1
  901. package/packages/emotion/node_modules/@babel/core/lib/parser/index.js +0 -99
  902. package/packages/emotion/node_modules/@babel/core/lib/parser/index.js.map +0 -1
  903. package/packages/emotion/node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js +0 -327
  904. package/packages/emotion/node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js.map +0 -1
  905. package/packages/emotion/node_modules/@babel/core/lib/tools/build-external-helpers.js +0 -168
  906. package/packages/emotion/node_modules/@babel/core/lib/tools/build-external-helpers.js.map +0 -1
  907. package/packages/emotion/node_modules/@babel/core/lib/transform-ast.js +0 -66
  908. package/packages/emotion/node_modules/@babel/core/lib/transform-ast.js.map +0 -1
  909. package/packages/emotion/node_modules/@babel/core/lib/transform-file-browser.js +0 -30
  910. package/packages/emotion/node_modules/@babel/core/lib/transform-file-browser.js.map +0 -1
  911. package/packages/emotion/node_modules/@babel/core/lib/transform-file.js +0 -52
  912. package/packages/emotion/node_modules/@babel/core/lib/transform-file.js.map +0 -1
  913. package/packages/emotion/node_modules/@babel/core/lib/transform.js +0 -65
  914. package/packages/emotion/node_modules/@babel/core/lib/transform.js.map +0 -1
  915. package/packages/emotion/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js +0 -97
  916. package/packages/emotion/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js.map +0 -1
  917. package/packages/emotion/node_modules/@babel/core/lib/transformation/file/file.js +0 -257
  918. package/packages/emotion/node_modules/@babel/core/lib/transformation/file/file.js.map +0 -1
  919. package/packages/emotion/node_modules/@babel/core/lib/transformation/file/generate.js +0 -98
  920. package/packages/emotion/node_modules/@babel/core/lib/transformation/file/generate.js.map +0 -1
  921. package/packages/emotion/node_modules/@babel/core/lib/transformation/file/merge-map.js +0 -47
  922. package/packages/emotion/node_modules/@babel/core/lib/transformation/file/merge-map.js.map +0 -1
  923. package/packages/emotion/node_modules/@babel/core/lib/transformation/index.js +0 -131
  924. package/packages/emotion/node_modules/@babel/core/lib/transformation/index.js.map +0 -1
  925. package/packages/emotion/node_modules/@babel/core/lib/transformation/normalize-file.js +0 -171
  926. package/packages/emotion/node_modules/@babel/core/lib/transformation/normalize-file.js.map +0 -1
  927. package/packages/emotion/node_modules/@babel/core/lib/transformation/normalize-opts.js +0 -66
  928. package/packages/emotion/node_modules/@babel/core/lib/transformation/normalize-opts.js.map +0 -1
  929. package/packages/emotion/node_modules/@babel/core/lib/transformation/plugin-pass.js +0 -57
  930. package/packages/emotion/node_modules/@babel/core/lib/transformation/plugin-pass.js.map +0 -1
  931. package/packages/emotion/node_modules/@babel/core/lib/transformation/util/clone-deep.js +0 -43
  932. package/packages/emotion/node_modules/@babel/core/lib/transformation/util/clone-deep.js.map +0 -1
  933. package/packages/emotion/node_modules/@babel/core/lib/vendor/import-meta-resolve.js +0 -3559
  934. package/packages/emotion/node_modules/@babel/core/lib/vendor/import-meta-resolve.js.map +0 -1
  935. package/packages/emotion/node_modules/@babel/core/package.json +0 -80
  936. package/packages/emotion/node_modules/@babel/core/src/config/files/index-browser.ts +0 -109
  937. package/packages/emotion/node_modules/@babel/core/src/config/files/index.ts +0 -30
  938. package/packages/emotion/node_modules/@babel/core/src/config/resolve-targets-browser.ts +0 -40
  939. package/packages/emotion/node_modules/@babel/core/src/config/resolve-targets.ts +0 -56
  940. package/packages/emotion/node_modules/@babel/core/src/transform-file-browser.ts +0 -31
  941. package/packages/emotion/node_modules/@babel/core/src/transform-file.ts +0 -55
  942. package/packages/emotion/node_modules/@babel/generator/LICENSE +0 -22
  943. package/packages/emotion/node_modules/@babel/generator/README.md +0 -19
  944. package/packages/emotion/node_modules/@babel/generator/lib/buffer.js +0 -294
  945. package/packages/emotion/node_modules/@babel/generator/lib/buffer.js.map +0 -1
  946. package/packages/emotion/node_modules/@babel/generator/lib/generators/base.js +0 -95
  947. package/packages/emotion/node_modules/@babel/generator/lib/generators/base.js.map +0 -1
  948. package/packages/emotion/node_modules/@babel/generator/lib/generators/classes.js +0 -186
  949. package/packages/emotion/node_modules/@babel/generator/lib/generators/classes.js.map +0 -1
  950. package/packages/emotion/node_modules/@babel/generator/lib/generators/expressions.js +0 -305
  951. package/packages/emotion/node_modules/@babel/generator/lib/generators/expressions.js.map +0 -1
  952. package/packages/emotion/node_modules/@babel/generator/lib/generators/flow.js +0 -663
  953. package/packages/emotion/node_modules/@babel/generator/lib/generators/flow.js.map +0 -1
  954. package/packages/emotion/node_modules/@babel/generator/lib/generators/index.js +0 -128
  955. package/packages/emotion/node_modules/@babel/generator/lib/generators/index.js.map +0 -1
  956. package/packages/emotion/node_modules/@babel/generator/lib/generators/jsx.js +0 -123
  957. package/packages/emotion/node_modules/@babel/generator/lib/generators/jsx.js.map +0 -1
  958. package/packages/emotion/node_modules/@babel/generator/lib/generators/methods.js +0 -150
  959. package/packages/emotion/node_modules/@babel/generator/lib/generators/methods.js.map +0 -1
  960. package/packages/emotion/node_modules/@babel/generator/lib/generators/modules.js +0 -252
  961. package/packages/emotion/node_modules/@babel/generator/lib/generators/modules.js.map +0 -1
  962. package/packages/emotion/node_modules/@babel/generator/lib/generators/statements.js +0 -295
  963. package/packages/emotion/node_modules/@babel/generator/lib/generators/statements.js.map +0 -1
  964. package/packages/emotion/node_modules/@babel/generator/lib/generators/template-literals.js +0 -30
  965. package/packages/emotion/node_modules/@babel/generator/lib/generators/template-literals.js.map +0 -1
  966. package/packages/emotion/node_modules/@babel/generator/lib/generators/types.js +0 -224
  967. package/packages/emotion/node_modules/@babel/generator/lib/generators/types.js.map +0 -1
  968. package/packages/emotion/node_modules/@babel/generator/lib/generators/typescript.js +0 -697
  969. package/packages/emotion/node_modules/@babel/generator/lib/generators/typescript.js.map +0 -1
  970. package/packages/emotion/node_modules/@babel/generator/lib/index.js +0 -87
  971. package/packages/emotion/node_modules/@babel/generator/lib/index.js.map +0 -1
  972. package/packages/emotion/node_modules/@babel/generator/lib/node/index.js +0 -79
  973. package/packages/emotion/node_modules/@babel/generator/lib/node/index.js.map +0 -1
  974. package/packages/emotion/node_modules/@babel/generator/lib/node/parentheses.js +0 -312
  975. package/packages/emotion/node_modules/@babel/generator/lib/node/parentheses.js.map +0 -1
  976. package/packages/emotion/node_modules/@babel/generator/lib/node/whitespace.js +0 -160
  977. package/packages/emotion/node_modules/@babel/generator/lib/node/whitespace.js.map +0 -1
  978. package/packages/emotion/node_modules/@babel/generator/lib/printer.js +0 -638
  979. package/packages/emotion/node_modules/@babel/generator/lib/printer.js.map +0 -1
  980. package/packages/emotion/node_modules/@babel/generator/lib/source-map.js +0 -58
  981. package/packages/emotion/node_modules/@babel/generator/lib/source-map.js.map +0 -1
  982. package/packages/emotion/node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping/LICENSE +0 -19
  983. package/packages/emotion/node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping/README.md +0 -227
  984. package/packages/emotion/node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs +0 -230
  985. package/packages/emotion/node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs.map +0 -1
  986. package/packages/emotion/node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js +0 -236
  987. package/packages/emotion/node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js.map +0 -1
  988. package/packages/emotion/node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping/dist/types/gen-mapping.d.ts +0 -90
  989. package/packages/emotion/node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping/dist/types/sourcemap-segment.d.ts +0 -12
  990. package/packages/emotion/node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping/dist/types/types.d.ts +0 -35
  991. package/packages/emotion/node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping/package.json +0 -78
  992. package/packages/emotion/node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping/src/gen-mapping.ts +0 -458
  993. package/packages/emotion/node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping/src/sourcemap-segment.ts +0 -16
  994. package/packages/emotion/node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping/src/types.ts +0 -43
  995. package/packages/emotion/node_modules/@babel/generator/package.json +0 -37
  996. package/packages/emotion/node_modules/@babel/helper-compilation-targets/LICENSE +0 -22
  997. package/packages/emotion/node_modules/@babel/helper-compilation-targets/README.md +0 -19
  998. package/packages/emotion/node_modules/@babel/helper-compilation-targets/lib/debug.js +0 -35
  999. package/packages/emotion/node_modules/@babel/helper-compilation-targets/lib/debug.js.map +0 -1
  1000. package/packages/emotion/node_modules/@babel/helper-compilation-targets/lib/filter-items.js +0 -90
  1001. package/packages/emotion/node_modules/@babel/helper-compilation-targets/lib/filter-items.js.map +0 -1
  1002. package/packages/emotion/node_modules/@babel/helper-compilation-targets/lib/index.js +0 -252
  1003. package/packages/emotion/node_modules/@babel/helper-compilation-targets/lib/index.js.map +0 -1
  1004. package/packages/emotion/node_modules/@babel/helper-compilation-targets/lib/options.js +0 -24
  1005. package/packages/emotion/node_modules/@babel/helper-compilation-targets/lib/options.js.map +0 -1
  1006. package/packages/emotion/node_modules/@babel/helper-compilation-targets/lib/pretty.js +0 -49
  1007. package/packages/emotion/node_modules/@babel/helper-compilation-targets/lib/pretty.js.map +0 -1
  1008. package/packages/emotion/node_modules/@babel/helper-compilation-targets/lib/targets.js +0 -30
  1009. package/packages/emotion/node_modules/@babel/helper-compilation-targets/lib/targets.js.map +0 -1
  1010. package/packages/emotion/node_modules/@babel/helper-compilation-targets/lib/utils.js +0 -74
  1011. package/packages/emotion/node_modules/@babel/helper-compilation-targets/lib/utils.js.map +0 -1
  1012. package/packages/emotion/node_modules/@babel/helper-compilation-targets/package.json +0 -42
  1013. package/packages/emotion/node_modules/@babel/helper-environment-visitor/LICENSE +0 -22
  1014. package/packages/emotion/node_modules/@babel/helper-environment-visitor/README.md +0 -19
  1015. package/packages/emotion/node_modules/@babel/helper-environment-visitor/lib/index.js +0 -59
  1016. package/packages/emotion/node_modules/@babel/helper-environment-visitor/package.json +0 -29
  1017. package/packages/emotion/node_modules/@babel/helper-function-name/LICENSE +0 -22
  1018. package/packages/emotion/node_modules/@babel/helper-function-name/README.md +0 -19
  1019. package/packages/emotion/node_modules/@babel/helper-function-name/lib/index.js +0 -201
  1020. package/packages/emotion/node_modules/@babel/helper-function-name/lib/index.js.map +0 -1
  1021. package/packages/emotion/node_modules/@babel/helper-function-name/package.json +0 -25
  1022. package/packages/emotion/node_modules/@babel/helper-hoist-variables/LICENSE +0 -22
  1023. package/packages/emotion/node_modules/@babel/helper-hoist-variables/README.md +0 -19
  1024. package/packages/emotion/node_modules/@babel/helper-hoist-variables/lib/index.js +0 -58
  1025. package/packages/emotion/node_modules/@babel/helper-hoist-variables/package.json +0 -28
  1026. package/packages/emotion/node_modules/@babel/helper-module-imports/LICENSE +0 -22
  1027. package/packages/emotion/node_modules/@babel/helper-module-imports/README.md +0 -19
  1028. package/packages/emotion/node_modules/@babel/helper-module-imports/lib/import-builder.js +0 -164
  1029. package/packages/emotion/node_modules/@babel/helper-module-imports/lib/import-injector.js +0 -280
  1030. package/packages/emotion/node_modules/@babel/helper-module-imports/lib/index.js +0 -41
  1031. package/packages/emotion/node_modules/@babel/helper-module-imports/lib/is-module.js +0 -18
  1032. package/packages/emotion/node_modules/@babel/helper-module-imports/package.json +0 -28
  1033. package/packages/emotion/node_modules/@babel/helper-module-transforms/LICENSE +0 -22
  1034. package/packages/emotion/node_modules/@babel/helper-module-transforms/README.md +0 -19
  1035. package/packages/emotion/node_modules/@babel/helper-module-transforms/lib/dynamic-import.js +0 -17
  1036. package/packages/emotion/node_modules/@babel/helper-module-transforms/lib/dynamic-import.js.map +0 -1
  1037. package/packages/emotion/node_modules/@babel/helper-module-transforms/lib/get-module-name.js +0 -56
  1038. package/packages/emotion/node_modules/@babel/helper-module-transforms/lib/get-module-name.js.map +0 -1
  1039. package/packages/emotion/node_modules/@babel/helper-module-transforms/lib/index.js +0 -434
  1040. package/packages/emotion/node_modules/@babel/helper-module-transforms/lib/index.js.map +0 -1
  1041. package/packages/emotion/node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js +0 -403
  1042. package/packages/emotion/node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js.map +0 -1
  1043. package/packages/emotion/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js +0 -414
  1044. package/packages/emotion/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js.map +0 -1
  1045. package/packages/emotion/node_modules/@babel/helper-module-transforms/lib/rewrite-this.js +0 -32
  1046. package/packages/emotion/node_modules/@babel/helper-module-transforms/lib/rewrite-this.js.map +0 -1
  1047. package/packages/emotion/node_modules/@babel/helper-module-transforms/package.json +0 -31
  1048. package/packages/emotion/node_modules/@babel/helper-plugin-utils/LICENSE +0 -22
  1049. package/packages/emotion/node_modules/@babel/helper-plugin-utils/README.md +0 -19
  1050. package/packages/emotion/node_modules/@babel/helper-plugin-utils/lib/index.js +0 -97
  1051. package/packages/emotion/node_modules/@babel/helper-plugin-utils/lib/index.js.map +0 -1
  1052. package/packages/emotion/node_modules/@babel/helper-plugin-utils/package.json +0 -21
  1053. package/packages/emotion/node_modules/@babel/helper-simple-access/LICENSE +0 -22
  1054. package/packages/emotion/node_modules/@babel/helper-simple-access/README.md +0 -19
  1055. package/packages/emotion/node_modules/@babel/helper-simple-access/lib/index.js +0 -102
  1056. package/packages/emotion/node_modules/@babel/helper-simple-access/lib/index.js.map +0 -1
  1057. package/packages/emotion/node_modules/@babel/helper-simple-access/package.json +0 -28
  1058. package/packages/emotion/node_modules/@babel/helper-split-export-declaration/LICENSE +0 -22
  1059. package/packages/emotion/node_modules/@babel/helper-split-export-declaration/README.md +0 -19
  1060. package/packages/emotion/node_modules/@babel/helper-split-export-declaration/lib/index.js +0 -63
  1061. package/packages/emotion/node_modules/@babel/helper-split-export-declaration/package.json +0 -24
  1062. package/packages/emotion/node_modules/@babel/helper-string-parser/LICENSE +0 -22
  1063. package/packages/emotion/node_modules/@babel/helper-string-parser/README.md +0 -19
  1064. package/packages/emotion/node_modules/@babel/helper-string-parser/lib/index.js +0 -347
  1065. package/packages/emotion/node_modules/@babel/helper-string-parser/lib/index.js.map +0 -1
  1066. package/packages/emotion/node_modules/@babel/helper-string-parser/package.json +0 -28
  1067. package/packages/emotion/node_modules/@babel/helper-validator-identifier/LICENSE +0 -22
  1068. package/packages/emotion/node_modules/@babel/helper-validator-identifier/README.md +0 -19
  1069. package/packages/emotion/node_modules/@babel/helper-validator-identifier/lib/identifier.js +0 -86
  1070. package/packages/emotion/node_modules/@babel/helper-validator-identifier/lib/identifier.js.map +0 -1
  1071. package/packages/emotion/node_modules/@babel/helper-validator-identifier/lib/index.js +0 -59
  1072. package/packages/emotion/node_modules/@babel/helper-validator-identifier/lib/index.js.map +0 -1
  1073. package/packages/emotion/node_modules/@babel/helper-validator-identifier/lib/keyword.js +0 -40
  1074. package/packages/emotion/node_modules/@babel/helper-validator-identifier/lib/keyword.js.map +0 -1
  1075. package/packages/emotion/node_modules/@babel/helper-validator-identifier/package.json +0 -28
  1076. package/packages/emotion/node_modules/@babel/helper-validator-identifier/scripts/generate-identifier-regex.js +0 -75
  1077. package/packages/emotion/node_modules/@babel/helper-validator-option/LICENSE +0 -22
  1078. package/packages/emotion/node_modules/@babel/helper-validator-option/README.md +0 -19
  1079. package/packages/emotion/node_modules/@babel/helper-validator-option/lib/find-suggestion.js +0 -45
  1080. package/packages/emotion/node_modules/@babel/helper-validator-option/lib/index.js +0 -21
  1081. package/packages/emotion/node_modules/@babel/helper-validator-option/lib/validator.js +0 -58
  1082. package/packages/emotion/node_modules/@babel/helper-validator-option/package.json +0 -24
  1083. package/packages/emotion/node_modules/@babel/helpers/LICENSE +0 -22
  1084. package/packages/emotion/node_modules/@babel/helpers/README.md +0 -19
  1085. package/packages/emotion/node_modules/@babel/helpers/lib/helpers/AsyncGenerator.js +0 -94
  1086. package/packages/emotion/node_modules/@babel/helpers/lib/helpers/AsyncGenerator.js.map +0 -1
  1087. package/packages/emotion/node_modules/@babel/helpers/lib/helpers/OverloadYield.js +0 -13
  1088. package/packages/emotion/node_modules/@babel/helpers/lib/helpers/OverloadYield.js.map +0 -1
  1089. package/packages/emotion/node_modules/@babel/helpers/lib/helpers/applyDecs.js +0 -451
  1090. package/packages/emotion/node_modules/@babel/helpers/lib/helpers/applyDecs.js.map +0 -1
  1091. package/packages/emotion/node_modules/@babel/helpers/lib/helpers/applyDecs2203.js +0 -359
  1092. package/packages/emotion/node_modules/@babel/helpers/lib/helpers/applyDecs2203.js.map +0 -1
  1093. package/packages/emotion/node_modules/@babel/helpers/lib/helpers/asyncGeneratorDelegate.js +0 -53
  1094. package/packages/emotion/node_modules/@babel/helpers/lib/helpers/asyncGeneratorDelegate.js.map +0 -1
  1095. package/packages/emotion/node_modules/@babel/helpers/lib/helpers/asyncIterator.js +0 -71
  1096. package/packages/emotion/node_modules/@babel/helpers/lib/helpers/asyncIterator.js.map +0 -1
  1097. package/packages/emotion/node_modules/@babel/helpers/lib/helpers/awaitAsyncGenerator.js +0 -13
  1098. package/packages/emotion/node_modules/@babel/helpers/lib/helpers/awaitAsyncGenerator.js.map +0 -1
  1099. package/packages/emotion/node_modules/@babel/helpers/lib/helpers/jsx.js +0 -49
  1100. package/packages/emotion/node_modules/@babel/helpers/lib/helpers/jsx.js.map +0 -1
  1101. package/packages/emotion/node_modules/@babel/helpers/lib/helpers/objectSpread2.js +0 -40
  1102. package/packages/emotion/node_modules/@babel/helpers/lib/helpers/objectSpread2.js.map +0 -1
  1103. package/packages/emotion/node_modules/@babel/helpers/lib/helpers/regeneratorRuntime.js +0 -526
  1104. package/packages/emotion/node_modules/@babel/helpers/lib/helpers/regeneratorRuntime.js.map +0 -1
  1105. package/packages/emotion/node_modules/@babel/helpers/lib/helpers/typeof.js +0 -23
  1106. package/packages/emotion/node_modules/@babel/helpers/lib/helpers/typeof.js.map +0 -1
  1107. package/packages/emotion/node_modules/@babel/helpers/lib/helpers/wrapRegExp.js +0 -68
  1108. package/packages/emotion/node_modules/@babel/helpers/lib/helpers/wrapRegExp.js.map +0 -1
  1109. package/packages/emotion/node_modules/@babel/helpers/lib/helpers-generated.js +0 -33
  1110. package/packages/emotion/node_modules/@babel/helpers/lib/helpers-generated.js.map +0 -1
  1111. package/packages/emotion/node_modules/@babel/helpers/lib/helpers.js +0 -1839
  1112. package/packages/emotion/node_modules/@babel/helpers/lib/helpers.js.map +0 -1
  1113. package/packages/emotion/node_modules/@babel/helpers/lib/index.js +0 -247
  1114. package/packages/emotion/node_modules/@babel/helpers/lib/index.js.map +0 -1
  1115. package/packages/emotion/node_modules/@babel/helpers/package.json +0 -33
  1116. package/packages/emotion/node_modules/@babel/helpers/scripts/generate-helpers.js +0 -64
  1117. package/packages/emotion/node_modules/@babel/helpers/scripts/generate-regenerator-runtime.js +0 -64
  1118. package/packages/emotion/node_modules/@babel/helpers/scripts/package.json +0 -1
  1119. package/packages/emotion/node_modules/@babel/highlight/LICENSE +0 -22
  1120. package/packages/emotion/node_modules/@babel/highlight/README.md +0 -19
  1121. package/packages/emotion/node_modules/@babel/highlight/lib/index.js +0 -116
  1122. package/packages/emotion/node_modules/@babel/highlight/package.json +0 -30
  1123. package/packages/emotion/node_modules/@babel/parser/CHANGELOG.md +0 -1073
  1124. package/packages/emotion/node_modules/@babel/parser/LICENSE +0 -19
  1125. package/packages/emotion/node_modules/@babel/parser/README.md +0 -19
  1126. package/packages/emotion/node_modules/@babel/parser/bin/babel-parser.js +0 -15
  1127. package/packages/emotion/node_modules/@babel/parser/index.cjs +0 -5
  1128. package/packages/emotion/node_modules/@babel/parser/lib/index.js +0 -14761
  1129. package/packages/emotion/node_modules/@babel/parser/lib/index.js.map +0 -1
  1130. package/packages/emotion/node_modules/@babel/parser/package.json +0 -46
  1131. package/packages/emotion/node_modules/@babel/parser/typings/babel-parser.d.ts +0 -215
  1132. package/packages/emotion/node_modules/@babel/plugin-syntax-jsx/LICENSE +0 -22
  1133. package/packages/emotion/node_modules/@babel/plugin-syntax-jsx/README.md +0 -19
  1134. package/packages/emotion/node_modules/@babel/plugin-syntax-jsx/lib/index.js +0 -30
  1135. package/packages/emotion/node_modules/@babel/plugin-syntax-jsx/package.json +0 -33
  1136. package/packages/emotion/node_modules/@babel/runtime/LICENSE +0 -22
  1137. package/packages/emotion/node_modules/@babel/runtime/README.md +0 -19
  1138. package/packages/emotion/node_modules/@babel/runtime/helpers/AsyncGenerator.js +0 -64
  1139. package/packages/emotion/node_modules/@babel/runtime/helpers/AwaitValue.js +0 -4
  1140. package/packages/emotion/node_modules/@babel/runtime/helpers/OverloadYield.js +0 -4
  1141. package/packages/emotion/node_modules/@babel/runtime/helpers/applyDecoratedDescriptor.js +0 -24
  1142. package/packages/emotion/node_modules/@babel/runtime/helpers/applyDecs.js +0 -242
  1143. package/packages/emotion/node_modules/@babel/runtime/helpers/applyDecs2203.js +0 -190
  1144. package/packages/emotion/node_modules/@babel/runtime/helpers/arrayLikeToArray.js +0 -8
  1145. package/packages/emotion/node_modules/@babel/runtime/helpers/arrayWithHoles.js +0 -4
  1146. package/packages/emotion/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js +0 -5
  1147. package/packages/emotion/node_modules/@babel/runtime/helpers/assertThisInitialized.js +0 -7
  1148. package/packages/emotion/node_modules/@babel/runtime/helpers/asyncGeneratorDelegate.js +0 -24
  1149. package/packages/emotion/node_modules/@babel/runtime/helpers/asyncIterator.js +0 -45
  1150. package/packages/emotion/node_modules/@babel/runtime/helpers/asyncToGenerator.js +0 -31
  1151. package/packages/emotion/node_modules/@babel/runtime/helpers/awaitAsyncGenerator.js +0 -5
  1152. package/packages/emotion/node_modules/@babel/runtime/helpers/checkPrivateRedeclaration.js +0 -6
  1153. package/packages/emotion/node_modules/@babel/runtime/helpers/classApplyDescriptorDestructureSet.js +0 -18
  1154. package/packages/emotion/node_modules/@babel/runtime/helpers/classApplyDescriptorGet.js +0 -7
  1155. package/packages/emotion/node_modules/@babel/runtime/helpers/classApplyDescriptorSet.js +0 -11
  1156. package/packages/emotion/node_modules/@babel/runtime/helpers/classCallCheck.js +0 -6
  1157. package/packages/emotion/node_modules/@babel/runtime/helpers/classCheckPrivateStaticAccess.js +0 -6
  1158. package/packages/emotion/node_modules/@babel/runtime/helpers/classCheckPrivateStaticFieldDescriptor.js +0 -6
  1159. package/packages/emotion/node_modules/@babel/runtime/helpers/classExtractFieldDescriptor.js +0 -7
  1160. package/packages/emotion/node_modules/@babel/runtime/helpers/classNameTDZError.js +0 -4
  1161. package/packages/emotion/node_modules/@babel/runtime/helpers/classPrivateFieldDestructureSet.js +0 -7
  1162. package/packages/emotion/node_modules/@babel/runtime/helpers/classPrivateFieldGet.js +0 -7
  1163. package/packages/emotion/node_modules/@babel/runtime/helpers/classPrivateFieldInitSpec.js +0 -6
  1164. package/packages/emotion/node_modules/@babel/runtime/helpers/classPrivateFieldLooseBase.js +0 -7
  1165. package/packages/emotion/node_modules/@babel/runtime/helpers/classPrivateFieldLooseKey.js +0 -5
  1166. package/packages/emotion/node_modules/@babel/runtime/helpers/classPrivateFieldSet.js +0 -8
  1167. package/packages/emotion/node_modules/@babel/runtime/helpers/classPrivateMethodGet.js +0 -7
  1168. package/packages/emotion/node_modules/@babel/runtime/helpers/classPrivateMethodInitSpec.js +0 -6
  1169. package/packages/emotion/node_modules/@babel/runtime/helpers/classPrivateMethodSet.js +0 -4
  1170. package/packages/emotion/node_modules/@babel/runtime/helpers/classStaticPrivateFieldDestructureSet.js +0 -9
  1171. package/packages/emotion/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecGet.js +0 -9
  1172. package/packages/emotion/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecSet.js +0 -10
  1173. package/packages/emotion/node_modules/@babel/runtime/helpers/classStaticPrivateMethodGet.js +0 -6
  1174. package/packages/emotion/node_modules/@babel/runtime/helpers/classStaticPrivateMethodSet.js +0 -4
  1175. package/packages/emotion/node_modules/@babel/runtime/helpers/construct.js +0 -18
  1176. package/packages/emotion/node_modules/@babel/runtime/helpers/createClass.js +0 -18
  1177. package/packages/emotion/node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js +0 -53
  1178. package/packages/emotion/node_modules/@babel/runtime/helpers/createForOfIteratorHelperLoose.js +0 -20
  1179. package/packages/emotion/node_modules/@babel/runtime/helpers/createSuper.js +0 -18
  1180. package/packages/emotion/node_modules/@babel/runtime/helpers/decorate.js +0 -343
  1181. package/packages/emotion/node_modules/@babel/runtime/helpers/defaults.js +0 -12
  1182. package/packages/emotion/node_modules/@babel/runtime/helpers/defineEnumerableProperties.js +0 -20
  1183. package/packages/emotion/node_modules/@babel/runtime/helpers/defineProperty.js +0 -14
  1184. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/AsyncGenerator.js +0 -63
  1185. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/AwaitValue.js +0 -3
  1186. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/OverloadYield.js +0 -3
  1187. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/applyDecoratedDescriptor.js +0 -23
  1188. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/applyDecs.js +0 -241
  1189. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/applyDecs2203.js +0 -189
  1190. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js +0 -7
  1191. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js +0 -3
  1192. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js +0 -4
  1193. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js +0 -6
  1194. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/asyncGeneratorDelegate.js +0 -23
  1195. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/asyncIterator.js +0 -44
  1196. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js +0 -30
  1197. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js +0 -4
  1198. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js +0 -5
  1199. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorDestructureSet.js +0 -17
  1200. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js +0 -6
  1201. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js +0 -10
  1202. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/classCallCheck.js +0 -5
  1203. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticAccess.js +0 -5
  1204. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticFieldDescriptor.js +0 -5
  1205. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js +0 -6
  1206. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/classNameTDZError.js +0 -3
  1207. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/classPrivateFieldDestructureSet.js +0 -6
  1208. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js +0 -6
  1209. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js +0 -5
  1210. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js +0 -6
  1211. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js +0 -4
  1212. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js +0 -7
  1213. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js +0 -6
  1214. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js +0 -5
  1215. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/classPrivateMethodSet.js +0 -3
  1216. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldDestructureSet.js +0 -8
  1217. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecGet.js +0 -8
  1218. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecSet.js +0 -9
  1219. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodGet.js +0 -5
  1220. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodSet.js +0 -3
  1221. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/construct.js +0 -17
  1222. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/createClass.js +0 -17
  1223. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js +0 -52
  1224. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js +0 -19
  1225. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/createSuper.js +0 -17
  1226. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/decorate.js +0 -342
  1227. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/defaults.js +0 -11
  1228. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/defineEnumerableProperties.js +0 -19
  1229. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/defineProperty.js +0 -13
  1230. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/extends.js +0 -14
  1231. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/get.js +0 -17
  1232. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js +0 -6
  1233. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/identity.js +0 -3
  1234. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/inherits.js +0 -17
  1235. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js +0 -6
  1236. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/initializerDefineProperty.js +0 -9
  1237. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/initializerWarningHelper.js +0 -3
  1238. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/instanceof.js +0 -7
  1239. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/interopRequireDefault.js +0 -5
  1240. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/interopRequireWildcard.js +0 -40
  1241. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js +0 -3
  1242. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js +0 -11
  1243. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/iterableToArray.js +0 -3
  1244. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js +0 -24
  1245. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimitLoose.js +0 -10
  1246. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/jsx.js +0 -25
  1247. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/maybeArrayLike.js +0 -8
  1248. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/newArrowCheck.js +0 -5
  1249. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js +0 -3
  1250. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js +0 -3
  1251. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js +0 -3
  1252. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/objectSpread.js +0 -16
  1253. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/objectSpread2.js +0 -22
  1254. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js +0 -16
  1255. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +0 -12
  1256. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/package.json +0 -3
  1257. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js +0 -10
  1258. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/readOnlyError.js +0 -3
  1259. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js +0 -314
  1260. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/set.js +0 -40
  1261. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +0 -7
  1262. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/skipFirstGeneratorNext.js +0 -7
  1263. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/slicedToArray.js +0 -7
  1264. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/slicedToArrayLoose.js +0 -7
  1265. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/superPropBase.js +0 -8
  1266. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js +0 -10
  1267. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js +0 -7
  1268. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/tdz.js +0 -3
  1269. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/temporalRef.js +0 -5
  1270. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/temporalUndefined.js +0 -1
  1271. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/toArray.js +0 -7
  1272. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js +0 -7
  1273. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +0 -11
  1274. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +0 -6
  1275. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/typeof.js +0 -9
  1276. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js +0 -9
  1277. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js +0 -6
  1278. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js +0 -30
  1279. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/wrapRegExp.js +0 -52
  1280. package/packages/emotion/node_modules/@babel/runtime/helpers/esm/writeOnlyError.js +0 -3
  1281. package/packages/emotion/node_modules/@babel/runtime/helpers/extends.js +0 -15
  1282. package/packages/emotion/node_modules/@babel/runtime/helpers/get.js +0 -18
  1283. package/packages/emotion/node_modules/@babel/runtime/helpers/getPrototypeOf.js +0 -7
  1284. package/packages/emotion/node_modules/@babel/runtime/helpers/identity.js +0 -4
  1285. package/packages/emotion/node_modules/@babel/runtime/helpers/inherits.js +0 -18
  1286. package/packages/emotion/node_modules/@babel/runtime/helpers/inheritsLoose.js +0 -7
  1287. package/packages/emotion/node_modules/@babel/runtime/helpers/initializerDefineProperty.js +0 -10
  1288. package/packages/emotion/node_modules/@babel/runtime/helpers/initializerWarningHelper.js +0 -4
  1289. package/packages/emotion/node_modules/@babel/runtime/helpers/instanceof.js +0 -8
  1290. package/packages/emotion/node_modules/@babel/runtime/helpers/interopRequireDefault.js +0 -6
  1291. package/packages/emotion/node_modules/@babel/runtime/helpers/interopRequireWildcard.js +0 -41
  1292. package/packages/emotion/node_modules/@babel/runtime/helpers/isNativeFunction.js +0 -4
  1293. package/packages/emotion/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js +0 -12
  1294. package/packages/emotion/node_modules/@babel/runtime/helpers/iterableToArray.js +0 -4
  1295. package/packages/emotion/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js +0 -25
  1296. package/packages/emotion/node_modules/@babel/runtime/helpers/iterableToArrayLimitLoose.js +0 -11
  1297. package/packages/emotion/node_modules/@babel/runtime/helpers/jsx.js +0 -26
  1298. package/packages/emotion/node_modules/@babel/runtime/helpers/maybeArrayLike.js +0 -9
  1299. package/packages/emotion/node_modules/@babel/runtime/helpers/newArrowCheck.js +0 -6
  1300. package/packages/emotion/node_modules/@babel/runtime/helpers/nonIterableRest.js +0 -4
  1301. package/packages/emotion/node_modules/@babel/runtime/helpers/nonIterableSpread.js +0 -4
  1302. package/packages/emotion/node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js +0 -4
  1303. package/packages/emotion/node_modules/@babel/runtime/helpers/objectSpread.js +0 -17
  1304. package/packages/emotion/node_modules/@babel/runtime/helpers/objectSpread2.js +0 -23
  1305. package/packages/emotion/node_modules/@babel/runtime/helpers/objectWithoutProperties.js +0 -17
  1306. package/packages/emotion/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js +0 -13
  1307. package/packages/emotion/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js +0 -11
  1308. package/packages/emotion/node_modules/@babel/runtime/helpers/readOnlyError.js +0 -4
  1309. package/packages/emotion/node_modules/@babel/runtime/helpers/regeneratorRuntime.js +0 -315
  1310. package/packages/emotion/node_modules/@babel/runtime/helpers/set.js +0 -41
  1311. package/packages/emotion/node_modules/@babel/runtime/helpers/setPrototypeOf.js +0 -8
  1312. package/packages/emotion/node_modules/@babel/runtime/helpers/skipFirstGeneratorNext.js +0 -8
  1313. package/packages/emotion/node_modules/@babel/runtime/helpers/slicedToArray.js +0 -8
  1314. package/packages/emotion/node_modules/@babel/runtime/helpers/slicedToArrayLoose.js +0 -8
  1315. package/packages/emotion/node_modules/@babel/runtime/helpers/superPropBase.js +0 -9
  1316. package/packages/emotion/node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js +0 -11
  1317. package/packages/emotion/node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js +0 -8
  1318. package/packages/emotion/node_modules/@babel/runtime/helpers/tdz.js +0 -4
  1319. package/packages/emotion/node_modules/@babel/runtime/helpers/temporalRef.js +0 -6
  1320. package/packages/emotion/node_modules/@babel/runtime/helpers/temporalUndefined.js +0 -2
  1321. package/packages/emotion/node_modules/@babel/runtime/helpers/toArray.js +0 -8
  1322. package/packages/emotion/node_modules/@babel/runtime/helpers/toConsumableArray.js +0 -8
  1323. package/packages/emotion/node_modules/@babel/runtime/helpers/toPrimitive.js +0 -12
  1324. package/packages/emotion/node_modules/@babel/runtime/helpers/toPropertyKey.js +0 -7
  1325. package/packages/emotion/node_modules/@babel/runtime/helpers/typeof.js +0 -10
  1326. package/packages/emotion/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js +0 -10
  1327. package/packages/emotion/node_modules/@babel/runtime/helpers/wrapAsyncGenerator.js +0 -7
  1328. package/packages/emotion/node_modules/@babel/runtime/helpers/wrapNativeSuper.js +0 -31
  1329. package/packages/emotion/node_modules/@babel/runtime/helpers/wrapRegExp.js +0 -53
  1330. package/packages/emotion/node_modules/@babel/runtime/helpers/writeOnlyError.js +0 -4
  1331. package/packages/emotion/node_modules/@babel/runtime/package.json +0 -894
  1332. package/packages/emotion/node_modules/@babel/runtime/regenerator/index.js +0 -15
  1333. package/packages/emotion/node_modules/@babel/template/LICENSE +0 -22
  1334. package/packages/emotion/node_modules/@babel/template/README.md +0 -19
  1335. package/packages/emotion/node_modules/@babel/template/lib/builder.js +0 -81
  1336. package/packages/emotion/node_modules/@babel/template/lib/formatters.js +0 -71
  1337. package/packages/emotion/node_modules/@babel/template/lib/index.js +0 -32
  1338. package/packages/emotion/node_modules/@babel/template/lib/literal.js +0 -80
  1339. package/packages/emotion/node_modules/@babel/template/lib/options.js +0 -83
  1340. package/packages/emotion/node_modules/@babel/template/lib/parse.js +0 -188
  1341. package/packages/emotion/node_modules/@babel/template/lib/populate.js +0 -135
  1342. package/packages/emotion/node_modules/@babel/template/lib/string.js +0 -22
  1343. package/packages/emotion/node_modules/@babel/template/package.json +0 -27
  1344. package/packages/emotion/node_modules/@babel/traverse/LICENSE +0 -22
  1345. package/packages/emotion/node_modules/@babel/traverse/README.md +0 -19
  1346. package/packages/emotion/node_modules/@babel/traverse/lib/cache.js +0 -25
  1347. package/packages/emotion/node_modules/@babel/traverse/lib/cache.js.map +0 -1
  1348. package/packages/emotion/node_modules/@babel/traverse/lib/context.js +0 -127
  1349. package/packages/emotion/node_modules/@babel/traverse/lib/context.js.map +0 -1
  1350. package/packages/emotion/node_modules/@babel/traverse/lib/hub.js +0 -19
  1351. package/packages/emotion/node_modules/@babel/traverse/lib/hub.js.map +0 -1
  1352. package/packages/emotion/node_modules/@babel/traverse/lib/index.js +0 -95
  1353. package/packages/emotion/node_modules/@babel/traverse/lib/index.js.map +0 -1
  1354. package/packages/emotion/node_modules/@babel/traverse/lib/path/ancestry.js +0 -160
  1355. package/packages/emotion/node_modules/@babel/traverse/lib/path/ancestry.js.map +0 -1
  1356. package/packages/emotion/node_modules/@babel/traverse/lib/path/comments.js +0 -40
  1357. package/packages/emotion/node_modules/@babel/traverse/lib/path/comments.js.map +0 -1
  1358. package/packages/emotion/node_modules/@babel/traverse/lib/path/context.js +0 -231
  1359. package/packages/emotion/node_modules/@babel/traverse/lib/path/context.js.map +0 -1
  1360. package/packages/emotion/node_modules/@babel/traverse/lib/path/conversion.js +0 -488
  1361. package/packages/emotion/node_modules/@babel/traverse/lib/path/conversion.js.map +0 -1
  1362. package/packages/emotion/node_modules/@babel/traverse/lib/path/evaluation.js +0 -340
  1363. package/packages/emotion/node_modules/@babel/traverse/lib/path/evaluation.js.map +0 -1
  1364. package/packages/emotion/node_modules/@babel/traverse/lib/path/family.js +0 -342
  1365. package/packages/emotion/node_modules/@babel/traverse/lib/path/family.js.map +0 -1
  1366. package/packages/emotion/node_modules/@babel/traverse/lib/path/index.js +0 -202
  1367. package/packages/emotion/node_modules/@babel/traverse/lib/path/index.js.map +0 -1
  1368. package/packages/emotion/node_modules/@babel/traverse/lib/path/inference/index.js +0 -157
  1369. package/packages/emotion/node_modules/@babel/traverse/lib/path/inference/index.js.map +0 -1
  1370. package/packages/emotion/node_modules/@babel/traverse/lib/path/inference/inferer-reference.js +0 -162
  1371. package/packages/emotion/node_modules/@babel/traverse/lib/path/inference/inferer-reference.js.map +0 -1
  1372. package/packages/emotion/node_modules/@babel/traverse/lib/path/inference/inferers.js +0 -210
  1373. package/packages/emotion/node_modules/@babel/traverse/lib/path/inference/inferers.js.map +0 -1
  1374. package/packages/emotion/node_modules/@babel/traverse/lib/path/inference/util.js +0 -30
  1375. package/packages/emotion/node_modules/@babel/traverse/lib/path/inference/util.js.map +0 -1
  1376. package/packages/emotion/node_modules/@babel/traverse/lib/path/introspection.js +0 -426
  1377. package/packages/emotion/node_modules/@babel/traverse/lib/path/introspection.js.map +0 -1
  1378. package/packages/emotion/node_modules/@babel/traverse/lib/path/lib/hoister.js +0 -192
  1379. package/packages/emotion/node_modules/@babel/traverse/lib/path/lib/hoister.js.map +0 -1
  1380. package/packages/emotion/node_modules/@babel/traverse/lib/path/lib/removal-hooks.js +0 -44
  1381. package/packages/emotion/node_modules/@babel/traverse/lib/path/lib/removal-hooks.js.map +0 -1
  1382. package/packages/emotion/node_modules/@babel/traverse/lib/path/lib/virtual-types-validator.js +0 -163
  1383. package/packages/emotion/node_modules/@babel/traverse/lib/path/lib/virtual-types-validator.js.map +0 -1
  1384. package/packages/emotion/node_modules/@babel/traverse/lib/path/lib/virtual-types.js +0 -45
  1385. package/packages/emotion/node_modules/@babel/traverse/lib/path/lib/virtual-types.js.map +0 -1
  1386. package/packages/emotion/node_modules/@babel/traverse/lib/path/modification.js +0 -236
  1387. package/packages/emotion/node_modules/@babel/traverse/lib/path/modification.js.map +0 -1
  1388. package/packages/emotion/node_modules/@babel/traverse/lib/path/removal.js +0 -59
  1389. package/packages/emotion/node_modules/@babel/traverse/lib/path/removal.js.map +0 -1
  1390. package/packages/emotion/node_modules/@babel/traverse/lib/path/replacement.js +0 -219
  1391. package/packages/emotion/node_modules/@babel/traverse/lib/path/replacement.js.map +0 -1
  1392. package/packages/emotion/node_modules/@babel/traverse/lib/scope/binding.js +0 -90
  1393. package/packages/emotion/node_modules/@babel/traverse/lib/scope/binding.js.map +0 -1
  1394. package/packages/emotion/node_modules/@babel/traverse/lib/scope/index.js +0 -907
  1395. package/packages/emotion/node_modules/@babel/traverse/lib/scope/index.js.map +0 -1
  1396. package/packages/emotion/node_modules/@babel/traverse/lib/scope/lib/renamer.js +0 -106
  1397. package/packages/emotion/node_modules/@babel/traverse/lib/scope/lib/renamer.js.map +0 -1
  1398. package/packages/emotion/node_modules/@babel/traverse/lib/traverse-node.js +0 -25
  1399. package/packages/emotion/node_modules/@babel/traverse/lib/traverse-node.js.map +0 -1
  1400. package/packages/emotion/node_modules/@babel/traverse/lib/types.js +0 -3
  1401. package/packages/emotion/node_modules/@babel/traverse/lib/types.js.map +0 -1
  1402. package/packages/emotion/node_modules/@babel/traverse/lib/visitors.js +0 -217
  1403. package/packages/emotion/node_modules/@babel/traverse/lib/visitors.js.map +0 -1
  1404. package/packages/emotion/node_modules/@babel/traverse/package.json +0 -37
  1405. package/packages/emotion/node_modules/@babel/types/LICENSE +0 -22
  1406. package/packages/emotion/node_modules/@babel/types/README.md +0 -19
  1407. package/packages/emotion/node_modules/@babel/types/lib/asserts/assertNode.js +0 -19
  1408. package/packages/emotion/node_modules/@babel/types/lib/asserts/assertNode.js.map +0 -1
  1409. package/packages/emotion/node_modules/@babel/types/lib/asserts/generated/index.js +0 -1529
  1410. package/packages/emotion/node_modules/@babel/types/lib/asserts/generated/index.js.map +0 -1
  1411. package/packages/emotion/node_modules/@babel/types/lib/ast-types/generated/index.js +0 -3
  1412. package/packages/emotion/node_modules/@babel/types/lib/ast-types/generated/index.js.map +0 -1
  1413. package/packages/emotion/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js +0 -22
  1414. package/packages/emotion/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js.map +0 -1
  1415. package/packages/emotion/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js +0 -43
  1416. package/packages/emotion/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js.map +0 -1
  1417. package/packages/emotion/node_modules/@babel/types/lib/builders/generated/index.js +0 -2238
  1418. package/packages/emotion/node_modules/@babel/types/lib/builders/generated/index.js.map +0 -1
  1419. package/packages/emotion/node_modules/@babel/types/lib/builders/generated/uppercase.js +0 -1527
  1420. package/packages/emotion/node_modules/@babel/types/lib/builders/generated/uppercase.js.map +0 -1
  1421. package/packages/emotion/node_modules/@babel/types/lib/builders/react/buildChildren.js +0 -31
  1422. package/packages/emotion/node_modules/@babel/types/lib/builders/react/buildChildren.js.map +0 -1
  1423. package/packages/emotion/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js +0 -27
  1424. package/packages/emotion/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js.map +0 -1
  1425. package/packages/emotion/node_modules/@babel/types/lib/builders/validateNode.js +0 -22
  1426. package/packages/emotion/node_modules/@babel/types/lib/builders/validateNode.js.map +0 -1
  1427. package/packages/emotion/node_modules/@babel/types/lib/clone/clone.js +0 -14
  1428. package/packages/emotion/node_modules/@babel/types/lib/clone/clone.js.map +0 -1
  1429. package/packages/emotion/node_modules/@babel/types/lib/clone/cloneDeep.js +0 -14
  1430. package/packages/emotion/node_modules/@babel/types/lib/clone/cloneDeep.js.map +0 -1
  1431. package/packages/emotion/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js +0 -14
  1432. package/packages/emotion/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js.map +0 -1
  1433. package/packages/emotion/node_modules/@babel/types/lib/clone/cloneNode.js +0 -122
  1434. package/packages/emotion/node_modules/@babel/types/lib/clone/cloneNode.js.map +0 -1
  1435. package/packages/emotion/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js +0 -14
  1436. package/packages/emotion/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js.map +0 -1
  1437. package/packages/emotion/node_modules/@babel/types/lib/comments/addComment.js +0 -17
  1438. package/packages/emotion/node_modules/@babel/types/lib/comments/addComment.js.map +0 -1
  1439. package/packages/emotion/node_modules/@babel/types/lib/comments/addComments.js +0 -25
  1440. package/packages/emotion/node_modules/@babel/types/lib/comments/addComments.js.map +0 -1
  1441. package/packages/emotion/node_modules/@babel/types/lib/comments/inheritInnerComments.js +0 -14
  1442. package/packages/emotion/node_modules/@babel/types/lib/comments/inheritInnerComments.js.map +0 -1
  1443. package/packages/emotion/node_modules/@babel/types/lib/comments/inheritLeadingComments.js +0 -14
  1444. package/packages/emotion/node_modules/@babel/types/lib/comments/inheritLeadingComments.js.map +0 -1
  1445. package/packages/emotion/node_modules/@babel/types/lib/comments/inheritTrailingComments.js +0 -14
  1446. package/packages/emotion/node_modules/@babel/types/lib/comments/inheritTrailingComments.js.map +0 -1
  1447. package/packages/emotion/node_modules/@babel/types/lib/comments/inheritsComments.js +0 -21
  1448. package/packages/emotion/node_modules/@babel/types/lib/comments/inheritsComments.js.map +0 -1
  1449. package/packages/emotion/node_modules/@babel/types/lib/comments/removeComments.js +0 -18
  1450. package/packages/emotion/node_modules/@babel/types/lib/comments/removeComments.js.map +0 -1
  1451. package/packages/emotion/node_modules/@babel/types/lib/constants/generated/index.js +0 -109
  1452. package/packages/emotion/node_modules/@babel/types/lib/constants/generated/index.js.map +0 -1
  1453. package/packages/emotion/node_modules/@babel/types/lib/constants/index.js +0 -51
  1454. package/packages/emotion/node_modules/@babel/types/lib/constants/index.js.map +0 -1
  1455. package/packages/emotion/node_modules/@babel/types/lib/converters/ensureBlock.js +0 -16
  1456. package/packages/emotion/node_modules/@babel/types/lib/converters/ensureBlock.js.map +0 -1
  1457. package/packages/emotion/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js +0 -77
  1458. package/packages/emotion/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js.map +0 -1
  1459. package/packages/emotion/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js +0 -16
  1460. package/packages/emotion/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js.map +0 -1
  1461. package/packages/emotion/node_modules/@babel/types/lib/converters/toBlock.js +0 -36
  1462. package/packages/emotion/node_modules/@babel/types/lib/converters/toBlock.js.map +0 -1
  1463. package/packages/emotion/node_modules/@babel/types/lib/converters/toComputedKey.js +0 -17
  1464. package/packages/emotion/node_modules/@babel/types/lib/converters/toComputedKey.js.map +0 -1
  1465. package/packages/emotion/node_modules/@babel/types/lib/converters/toExpression.js +0 -35
  1466. package/packages/emotion/node_modules/@babel/types/lib/converters/toExpression.js.map +0 -1
  1467. package/packages/emotion/node_modules/@babel/types/lib/converters/toIdentifier.js +0 -32
  1468. package/packages/emotion/node_modules/@babel/types/lib/converters/toIdentifier.js.map +0 -1
  1469. package/packages/emotion/node_modules/@babel/types/lib/converters/toKeyAlias.js +0 -48
  1470. package/packages/emotion/node_modules/@babel/types/lib/converters/toKeyAlias.js.map +0 -1
  1471. package/packages/emotion/node_modules/@babel/types/lib/converters/toSequenceExpression.js +0 -23
  1472. package/packages/emotion/node_modules/@babel/types/lib/converters/toSequenceExpression.js.map +0 -1
  1473. package/packages/emotion/node_modules/@babel/types/lib/converters/toStatement.js +0 -49
  1474. package/packages/emotion/node_modules/@babel/types/lib/converters/toStatement.js.map +0 -1
  1475. package/packages/emotion/node_modules/@babel/types/lib/converters/valueToNode.js +0 -101
  1476. package/packages/emotion/node_modules/@babel/types/lib/converters/valueToNode.js.map +0 -1
  1477. package/packages/emotion/node_modules/@babel/types/lib/definitions/core.js +0 -1712
  1478. package/packages/emotion/node_modules/@babel/types/lib/definitions/core.js.map +0 -1
  1479. package/packages/emotion/node_modules/@babel/types/lib/definitions/experimental.js +0 -135
  1480. package/packages/emotion/node_modules/@babel/types/lib/definitions/experimental.js.map +0 -1
  1481. package/packages/emotion/node_modules/@babel/types/lib/definitions/flow.js +0 -488
  1482. package/packages/emotion/node_modules/@babel/types/lib/definitions/flow.js.map +0 -1
  1483. package/packages/emotion/node_modules/@babel/types/lib/definitions/index.js +0 -105
  1484. package/packages/emotion/node_modules/@babel/types/lib/definitions/index.js.map +0 -1
  1485. package/packages/emotion/node_modules/@babel/types/lib/definitions/jsx.js +0 -159
  1486. package/packages/emotion/node_modules/@babel/types/lib/definitions/jsx.js.map +0 -1
  1487. package/packages/emotion/node_modules/@babel/types/lib/definitions/misc.js +0 -34
  1488. package/packages/emotion/node_modules/@babel/types/lib/definitions/misc.js.map +0 -1
  1489. package/packages/emotion/node_modules/@babel/types/lib/definitions/placeholders.js +0 -35
  1490. package/packages/emotion/node_modules/@babel/types/lib/definitions/placeholders.js.map +0 -1
  1491. package/packages/emotion/node_modules/@babel/types/lib/definitions/typescript.js +0 -499
  1492. package/packages/emotion/node_modules/@babel/types/lib/definitions/typescript.js.map +0 -1
  1493. package/packages/emotion/node_modules/@babel/types/lib/definitions/utils.js +0 -345
  1494. package/packages/emotion/node_modules/@babel/types/lib/definitions/utils.js.map +0 -1
  1495. package/packages/emotion/node_modules/@babel/types/lib/index-legacy.d.ts +0 -2742
  1496. package/packages/emotion/node_modules/@babel/types/lib/index.d.ts +0 -3232
  1497. package/packages/emotion/node_modules/@babel/types/lib/index.d.ts.map +0 -1
  1498. package/packages/emotion/node_modules/@babel/types/lib/index.js +0 -649
  1499. package/packages/emotion/node_modules/@babel/types/lib/index.js.flow +0 -2596
  1500. package/packages/emotion/node_modules/@babel/types/lib/index.js.map +0 -1
  1501. package/packages/emotion/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js +0 -17
  1502. package/packages/emotion/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js.map +0 -1
  1503. package/packages/emotion/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js +0 -80
  1504. package/packages/emotion/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js.map +0 -1
  1505. package/packages/emotion/node_modules/@babel/types/lib/modifications/inherits.js +0 -35
  1506. package/packages/emotion/node_modules/@babel/types/lib/modifications/inherits.js.map +0 -1
  1507. package/packages/emotion/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js +0 -21
  1508. package/packages/emotion/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js.map +0 -1
  1509. package/packages/emotion/node_modules/@babel/types/lib/modifications/removeProperties.js +0 -31
  1510. package/packages/emotion/node_modules/@babel/types/lib/modifications/removeProperties.js.map +0 -1
  1511. package/packages/emotion/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js +0 -17
  1512. package/packages/emotion/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js.map +0 -1
  1513. package/packages/emotion/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js +0 -80
  1514. package/packages/emotion/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js.map +0 -1
  1515. package/packages/emotion/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js +0 -107
  1516. package/packages/emotion/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js.map +0 -1
  1517. package/packages/emotion/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js +0 -17
  1518. package/packages/emotion/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js.map +0 -1
  1519. package/packages/emotion/node_modules/@babel/types/lib/traverse/traverse.js +0 -57
  1520. package/packages/emotion/node_modules/@babel/types/lib/traverse/traverse.js.map +0 -1
  1521. package/packages/emotion/node_modules/@babel/types/lib/traverse/traverseFast.js +0 -30
  1522. package/packages/emotion/node_modules/@babel/types/lib/traverse/traverseFast.js.map +0 -1
  1523. package/packages/emotion/node_modules/@babel/types/lib/utils/inherit.js +0 -14
  1524. package/packages/emotion/node_modules/@babel/types/lib/utils/inherit.js.map +0 -1
  1525. package/packages/emotion/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js +0 -49
  1526. package/packages/emotion/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js.map +0 -1
  1527. package/packages/emotion/node_modules/@babel/types/lib/utils/shallowEqual.js +0 -20
  1528. package/packages/emotion/node_modules/@babel/types/lib/utils/shallowEqual.js.map +0 -1
  1529. package/packages/emotion/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js +0 -15
  1530. package/packages/emotion/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js.map +0 -1
  1531. package/packages/emotion/node_modules/@babel/types/lib/validators/generated/index.js +0 -4845
  1532. package/packages/emotion/node_modules/@babel/types/lib/validators/generated/index.js.map +0 -1
  1533. package/packages/emotion/node_modules/@babel/types/lib/validators/is.js +0 -35
  1534. package/packages/emotion/node_modules/@babel/types/lib/validators/is.js.map +0 -1
  1535. package/packages/emotion/node_modules/@babel/types/lib/validators/isBinding.js +0 -33
  1536. package/packages/emotion/node_modules/@babel/types/lib/validators/isBinding.js.map +0 -1
  1537. package/packages/emotion/node_modules/@babel/types/lib/validators/isBlockScoped.js +0 -16
  1538. package/packages/emotion/node_modules/@babel/types/lib/validators/isBlockScoped.js.map +0 -1
  1539. package/packages/emotion/node_modules/@babel/types/lib/validators/isImmutable.js +0 -26
  1540. package/packages/emotion/node_modules/@babel/types/lib/validators/isImmutable.js.map +0 -1
  1541. package/packages/emotion/node_modules/@babel/types/lib/validators/isLet.js +0 -16
  1542. package/packages/emotion/node_modules/@babel/types/lib/validators/isLet.js.map +0 -1
  1543. package/packages/emotion/node_modules/@babel/types/lib/validators/isNode.js +0 -14
  1544. package/packages/emotion/node_modules/@babel/types/lib/validators/isNode.js.map +0 -1
  1545. package/packages/emotion/node_modules/@babel/types/lib/validators/isNodesEquivalent.js +0 -72
  1546. package/packages/emotion/node_modules/@babel/types/lib/validators/isNodesEquivalent.js.map +0 -1
  1547. package/packages/emotion/node_modules/@babel/types/lib/validators/isPlaceholderType.js +0 -23
  1548. package/packages/emotion/node_modules/@babel/types/lib/validators/isPlaceholderType.js.map +0 -1
  1549. package/packages/emotion/node_modules/@babel/types/lib/validators/isReferenced.js +0 -130
  1550. package/packages/emotion/node_modules/@babel/types/lib/validators/isReferenced.js.map +0 -1
  1551. package/packages/emotion/node_modules/@babel/types/lib/validators/isScope.js +0 -22
  1552. package/packages/emotion/node_modules/@babel/types/lib/validators/isScope.js.map +0 -1
  1553. package/packages/emotion/node_modules/@babel/types/lib/validators/isSpecifierDefault.js +0 -16
  1554. package/packages/emotion/node_modules/@babel/types/lib/validators/isSpecifierDefault.js.map +0 -1
  1555. package/packages/emotion/node_modules/@babel/types/lib/validators/isType.js +0 -26
  1556. package/packages/emotion/node_modules/@babel/types/lib/validators/isType.js.map +0 -1
  1557. package/packages/emotion/node_modules/@babel/types/lib/validators/isValidES3Identifier.js +0 -16
  1558. package/packages/emotion/node_modules/@babel/types/lib/validators/isValidES3Identifier.js.map +0 -1
  1559. package/packages/emotion/node_modules/@babel/types/lib/validators/isValidIdentifier.js +0 -22
  1560. package/packages/emotion/node_modules/@babel/types/lib/validators/isValidIdentifier.js.map +0 -1
  1561. package/packages/emotion/node_modules/@babel/types/lib/validators/isVar.js +0 -18
  1562. package/packages/emotion/node_modules/@babel/types/lib/validators/isVar.js.map +0 -1
  1563. package/packages/emotion/node_modules/@babel/types/lib/validators/matchesPattern.js +0 -44
  1564. package/packages/emotion/node_modules/@babel/types/lib/validators/matchesPattern.js.map +0 -1
  1565. package/packages/emotion/node_modules/@babel/types/lib/validators/react/isCompatTag.js +0 -12
  1566. package/packages/emotion/node_modules/@babel/types/lib/validators/react/isCompatTag.js.map +0 -1
  1567. package/packages/emotion/node_modules/@babel/types/lib/validators/react/isReactComponent.js +0 -14
  1568. package/packages/emotion/node_modules/@babel/types/lib/validators/react/isReactComponent.js.map +0 -1
  1569. package/packages/emotion/node_modules/@babel/types/lib/validators/validate.js +0 -34
  1570. package/packages/emotion/node_modules/@babel/types/lib/validators/validate.js.map +0 -1
  1571. package/packages/emotion/node_modules/@babel/types/package.json +0 -41
  1572. package/packages/emotion/node_modules/@emotion/babel-plugin/LICENSE +0 -21
  1573. package/packages/emotion/node_modules/@emotion/babel-plugin/README.md +0 -346
  1574. package/packages/emotion/node_modules/@emotion/babel-plugin/dist/emotion-babel-plugin.cjs.dev.js +0 -1390
  1575. package/packages/emotion/node_modules/@emotion/babel-plugin/dist/emotion-babel-plugin.cjs.js +0 -7
  1576. package/packages/emotion/node_modules/@emotion/babel-plugin/dist/emotion-babel-plugin.cjs.js.flow +0 -3
  1577. package/packages/emotion/node_modules/@emotion/babel-plugin/dist/emotion-babel-plugin.cjs.prod.js +0 -1390
  1578. package/packages/emotion/node_modules/@emotion/babel-plugin/dist/emotion-babel-plugin.esm.js +0 -1376
  1579. package/packages/emotion/node_modules/@emotion/babel-plugin/package.json +0 -54
  1580. package/packages/emotion/node_modules/@emotion/babel-plugin/src/core-macro.js +0 -198
  1581. package/packages/emotion/node_modules/@emotion/babel-plugin/src/emotion-macro.js +0 -63
  1582. package/packages/emotion/node_modules/@emotion/babel-plugin/src/index.js +0 -300
  1583. package/packages/emotion/node_modules/@emotion/babel-plugin/src/styled-macro.js +0 -141
  1584. package/packages/emotion/node_modules/@emotion/babel-plugin/src/utils/add-import.js +0 -30
  1585. package/packages/emotion/node_modules/@emotion/babel-plugin/src/utils/create-node-env-conditional.js +0 -14
  1586. package/packages/emotion/node_modules/@emotion/babel-plugin/src/utils/get-styled-options.js +0 -103
  1587. package/packages/emotion/node_modules/@emotion/babel-plugin/src/utils/get-target-class-name.js +0 -52
  1588. package/packages/emotion/node_modules/@emotion/babel-plugin/src/utils/index.js +0 -13
  1589. package/packages/emotion/node_modules/@emotion/babel-plugin/src/utils/label.js +0 -193
  1590. package/packages/emotion/node_modules/@emotion/babel-plugin/src/utils/minify.js +0 -153
  1591. package/packages/emotion/node_modules/@emotion/babel-plugin/src/utils/object-to-string.js +0 -40
  1592. package/packages/emotion/node_modules/@emotion/babel-plugin/src/utils/source-maps.js +0 -45
  1593. package/packages/emotion/node_modules/@emotion/babel-plugin/src/utils/strings.js +0 -61
  1594. package/packages/emotion/node_modules/@emotion/babel-plugin/src/utils/transform-expression-with-styles.js +0 -149
  1595. package/packages/emotion/node_modules/@emotion/babel-plugin/src/utils/transformer-macro.js +0 -58
  1596. package/packages/emotion/node_modules/@emotion/babel-plugin/src/utils/transpiled-output-utils.js +0 -80
  1597. package/packages/emotion/node_modules/@emotion/cache/LICENSE +0 -21
  1598. package/packages/emotion/node_modules/@emotion/cache/README.md +0 -62
  1599. package/packages/emotion/node_modules/@emotion/cache/dist/declarations/src/index.d.ts +0 -2
  1600. package/packages/emotion/node_modules/@emotion/cache/dist/declarations/types/index.d.ts +0 -44
  1601. package/packages/emotion/node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js +0 -583
  1602. package/packages/emotion/node_modules/@emotion/cache/dist/emotion-cache.cjs.d.ts +0 -2
  1603. package/packages/emotion/node_modules/@emotion/cache/dist/emotion-cache.cjs.dev.js +0 -657
  1604. package/packages/emotion/node_modules/@emotion/cache/dist/emotion-cache.cjs.js +0 -7
  1605. package/packages/emotion/node_modules/@emotion/cache/dist/emotion-cache.cjs.js.flow +0 -3
  1606. package/packages/emotion/node_modules/@emotion/cache/dist/emotion-cache.cjs.prod.js +0 -505
  1607. package/packages/emotion/node_modules/@emotion/cache/dist/emotion-cache.esm.js +0 -648
  1608. package/packages/emotion/node_modules/@emotion/cache/dist/emotion-cache.worker.esm.js +0 -571
  1609. package/packages/emotion/node_modules/@emotion/cache/package.json +0 -52
  1610. package/packages/emotion/node_modules/@emotion/cache/src/index.d.ts +0 -2
  1611. package/packages/emotion/node_modules/@emotion/cache/src/index.js +0 -269
  1612. package/packages/emotion/node_modules/@emotion/cache/src/prefixer.js +0 -340
  1613. package/packages/emotion/node_modules/@emotion/cache/src/stylis-plugins.js +0 -269
  1614. package/packages/emotion/node_modules/@emotion/cache/src/types.js +0 -26
  1615. package/packages/emotion/node_modules/@emotion/cache/types/index.d.ts +0 -44
  1616. package/packages/emotion/node_modules/@emotion/css/LICENSE +0 -21
  1617. package/packages/emotion/node_modules/@emotion/css/README.md +0 -345
  1618. package/packages/emotion/node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.cjs.d.ts +0 -2
  1619. package/packages/emotion/node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.cjs.dev.js +0 -152
  1620. package/packages/emotion/node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.cjs.js +0 -7
  1621. package/packages/emotion/node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.cjs.js.flow +0 -3
  1622. package/packages/emotion/node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.cjs.prod.js +0 -149
  1623. package/packages/emotion/node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.esm.js +0 -144
  1624. package/packages/emotion/node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.umd.min.js +0 -2
  1625. package/packages/emotion/node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.umd.min.js.map +0 -1
  1626. package/packages/emotion/node_modules/@emotion/css/create-instance/package.json +0 -9
  1627. package/packages/emotion/node_modules/@emotion/css/dist/declarations/src/create-instance.d.ts +0 -2
  1628. package/packages/emotion/node_modules/@emotion/css/dist/declarations/src/index.d.ts +0 -1
  1629. package/packages/emotion/node_modules/@emotion/css/dist/declarations/types/create-instance.d.ts +0 -55
  1630. package/packages/emotion/node_modules/@emotion/css/dist/declarations/types/index.d.ts +0 -26
  1631. package/packages/emotion/node_modules/@emotion/css/dist/emotion-css.cjs.d.ts +0 -1
  1632. package/packages/emotion/node_modules/@emotion/css/dist/emotion-css.cjs.dev.js +0 -33
  1633. package/packages/emotion/node_modules/@emotion/css/dist/emotion-css.cjs.js +0 -7
  1634. package/packages/emotion/node_modules/@emotion/css/dist/emotion-css.cjs.js.flow +0 -2
  1635. package/packages/emotion/node_modules/@emotion/css/dist/emotion-css.cjs.prod.js +0 -33
  1636. package/packages/emotion/node_modules/@emotion/css/dist/emotion-css.esm.js +0 -20
  1637. package/packages/emotion/node_modules/@emotion/css/dist/emotion-css.umd.min.js +0 -2
  1638. package/packages/emotion/node_modules/@emotion/css/dist/emotion-css.umd.min.js.map +0 -1
  1639. package/packages/emotion/node_modules/@emotion/css/macro.d.ts +0 -1
  1640. package/packages/emotion/node_modules/@emotion/css/macro.js +0 -1
  1641. package/packages/emotion/node_modules/@emotion/css/macro.js.flow +0 -2
  1642. package/packages/emotion/node_modules/@emotion/css/package.json +0 -79
  1643. package/packages/emotion/node_modules/@emotion/css/src/create-instance.d.ts +0 -2
  1644. package/packages/emotion/node_modules/@emotion/css/src/create-instance.js +0 -161
  1645. package/packages/emotion/node_modules/@emotion/css/src/index.d.ts +0 -1
  1646. package/packages/emotion/node_modules/@emotion/css/src/index.js +0 -15
  1647. package/packages/emotion/node_modules/@emotion/css/types/create-instance.d.ts +0 -55
  1648. package/packages/emotion/node_modules/@emotion/css/types/index.d.ts +0 -26
  1649. package/packages/emotion/node_modules/@emotion/css/types/tests-create-instance.ts +0 -171
  1650. package/packages/emotion/node_modules/@emotion/css/types/tests.ts +0 -91
  1651. package/packages/emotion/node_modules/@emotion/css/types/tsconfig.json +0 -15
  1652. package/packages/emotion/node_modules/@emotion/css/types/tslint.json +0 -23
  1653. package/packages/emotion/node_modules/@emotion/hash/LICENSE +0 -21
  1654. package/packages/emotion/node_modules/@emotion/hash/README.md +0 -11
  1655. package/packages/emotion/node_modules/@emotion/hash/dist/declarations/src/index.d.ts +0 -2
  1656. package/packages/emotion/node_modules/@emotion/hash/dist/declarations/types/index.d.ts +0 -1
  1657. package/packages/emotion/node_modules/@emotion/hash/dist/emotion-hash.cjs.d.ts +0 -2
  1658. package/packages/emotion/node_modules/@emotion/hash/dist/emotion-hash.cjs.dev.js +0 -59
  1659. package/packages/emotion/node_modules/@emotion/hash/dist/emotion-hash.cjs.js +0 -7
  1660. package/packages/emotion/node_modules/@emotion/hash/dist/emotion-hash.cjs.js.flow +0 -3
  1661. package/packages/emotion/node_modules/@emotion/hash/dist/emotion-hash.cjs.prod.js +0 -59
  1662. package/packages/emotion/node_modules/@emotion/hash/dist/emotion-hash.esm.js +0 -55
  1663. package/packages/emotion/node_modules/@emotion/hash/package.json +0 -32
  1664. package/packages/emotion/node_modules/@emotion/hash/src/index.d.ts +0 -2
  1665. package/packages/emotion/node_modules/@emotion/hash/src/index.js +0 -64
  1666. package/packages/emotion/node_modules/@emotion/hash/types/index.d.ts +0 -1
  1667. package/packages/emotion/node_modules/@emotion/memoize/LICENSE +0 -21
  1668. package/packages/emotion/node_modules/@emotion/memoize/dist/declarations/src/index.d.ts +0 -2
  1669. package/packages/emotion/node_modules/@emotion/memoize/dist/declarations/types/index.d.ts +0 -3
  1670. package/packages/emotion/node_modules/@emotion/memoize/dist/emotion-memoize.cjs.d.ts +0 -2
  1671. package/packages/emotion/node_modules/@emotion/memoize/dist/emotion-memoize.cjs.dev.js +0 -13
  1672. package/packages/emotion/node_modules/@emotion/memoize/dist/emotion-memoize.cjs.js +0 -7
  1673. package/packages/emotion/node_modules/@emotion/memoize/dist/emotion-memoize.cjs.js.flow +0 -3
  1674. package/packages/emotion/node_modules/@emotion/memoize/dist/emotion-memoize.cjs.prod.js +0 -13
  1675. package/packages/emotion/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js +0 -9
  1676. package/packages/emotion/node_modules/@emotion/memoize/package.json +0 -32
  1677. package/packages/emotion/node_modules/@emotion/memoize/src/index.d.ts +0 -2
  1678. package/packages/emotion/node_modules/@emotion/memoize/src/index.js +0 -10
  1679. package/packages/emotion/node_modules/@emotion/memoize/types/index.d.ts +0 -3
  1680. package/packages/emotion/node_modules/@emotion/serialize/LICENSE +0 -21
  1681. package/packages/emotion/node_modules/@emotion/serialize/dist/declarations/src/index.d.ts +0 -2
  1682. package/packages/emotion/node_modules/@emotion/serialize/dist/declarations/types/index.d.ts +0 -69
  1683. package/packages/emotion/node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js +0 -316
  1684. package/packages/emotion/node_modules/@emotion/serialize/dist/emotion-serialize.cjs.d.ts +0 -1
  1685. package/packages/emotion/node_modules/@emotion/serialize/dist/emotion-serialize.cjs.dev.js +0 -326
  1686. package/packages/emotion/node_modules/@emotion/serialize/dist/emotion-serialize.cjs.js +0 -7
  1687. package/packages/emotion/node_modules/@emotion/serialize/dist/emotion-serialize.cjs.js.flow +0 -2
  1688. package/packages/emotion/node_modules/@emotion/serialize/dist/emotion-serialize.cjs.prod.js +0 -235
  1689. package/packages/emotion/node_modules/@emotion/serialize/dist/emotion-serialize.esm.js +0 -316
  1690. package/packages/emotion/node_modules/@emotion/serialize/package.json +0 -52
  1691. package/packages/emotion/node_modules/@emotion/serialize/src/index.d.ts +0 -2
  1692. package/packages/emotion/node_modules/@emotion/serialize/src/index.js +0 -388
  1693. package/packages/emotion/node_modules/@emotion/serialize/types/index.d.ts +0 -69
  1694. package/packages/emotion/node_modules/@emotion/sheet/LICENSE +0 -21
  1695. package/packages/emotion/node_modules/@emotion/sheet/README.md +0 -121
  1696. package/packages/emotion/node_modules/@emotion/sheet/dist/declarations/src/index.d.ts +0 -2
  1697. package/packages/emotion/node_modules/@emotion/sheet/dist/declarations/types/index.d.ts +0 -26
  1698. package/packages/emotion/node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js +0 -154
  1699. package/packages/emotion/node_modules/@emotion/sheet/dist/emotion-sheet.cjs.d.ts +0 -1
  1700. package/packages/emotion/node_modules/@emotion/sheet/dist/emotion-sheet.cjs.dev.js +0 -158
  1701. package/packages/emotion/node_modules/@emotion/sheet/dist/emotion-sheet.cjs.js +0 -7
  1702. package/packages/emotion/node_modules/@emotion/sheet/dist/emotion-sheet.cjs.js.flow +0 -2
  1703. package/packages/emotion/node_modules/@emotion/sheet/dist/emotion-sheet.cjs.prod.js +0 -139
  1704. package/packages/emotion/node_modules/@emotion/sheet/dist/emotion-sheet.esm.js +0 -154
  1705. package/packages/emotion/node_modules/@emotion/sheet/package.json +0 -45
  1706. package/packages/emotion/node_modules/@emotion/sheet/src/index.d.ts +0 -2
  1707. package/packages/emotion/node_modules/@emotion/sheet/src/index.js +0 -175
  1708. package/packages/emotion/node_modules/@emotion/sheet/types/index.d.ts +0 -26
  1709. package/packages/emotion/node_modules/@emotion/unitless/LICENSE +0 -21
  1710. package/packages/emotion/node_modules/@emotion/unitless/README.md +0 -11
  1711. package/packages/emotion/node_modules/@emotion/unitless/dist/declarations/src/index.d.ts +0 -2
  1712. package/packages/emotion/node_modules/@emotion/unitless/dist/emotion-unitless.cjs.d.ts +0 -2
  1713. package/packages/emotion/node_modules/@emotion/unitless/dist/emotion-unitless.cjs.dev.js +0 -54
  1714. package/packages/emotion/node_modules/@emotion/unitless/dist/emotion-unitless.cjs.js +0 -7
  1715. package/packages/emotion/node_modules/@emotion/unitless/dist/emotion-unitless.cjs.js.flow +0 -3
  1716. package/packages/emotion/node_modules/@emotion/unitless/dist/emotion-unitless.cjs.prod.js +0 -54
  1717. package/packages/emotion/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js +0 -50
  1718. package/packages/emotion/node_modules/@emotion/unitless/package.json +0 -26
  1719. package/packages/emotion/node_modules/@emotion/unitless/src/index.d.ts +0 -2
  1720. package/packages/emotion/node_modules/@emotion/unitless/src/index.js +0 -53
  1721. package/packages/emotion/node_modules/@emotion/utils/LICENSE +0 -21
  1722. package/packages/emotion/node_modules/@emotion/utils/dist/declarations/src/index.d.ts +0 -1
  1723. package/packages/emotion/node_modules/@emotion/utils/dist/declarations/types/index.d.ts +0 -59
  1724. package/packages/emotion/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js +0 -44
  1725. package/packages/emotion/node_modules/@emotion/utils/dist/emotion-utils.cjs.d.ts +0 -1
  1726. package/packages/emotion/node_modules/@emotion/utils/dist/emotion-utils.cjs.dev.js +0 -59
  1727. package/packages/emotion/node_modules/@emotion/utils/dist/emotion-utils.cjs.js +0 -7
  1728. package/packages/emotion/node_modules/@emotion/utils/dist/emotion-utils.cjs.js.flow +0 -2
  1729. package/packages/emotion/node_modules/@emotion/utils/dist/emotion-utils.cjs.prod.js +0 -59
  1730. package/packages/emotion/node_modules/@emotion/utils/dist/emotion-utils.esm.js +0 -53
  1731. package/packages/emotion/node_modules/@emotion/utils/dist/emotion-utils.worker.esm.js +0 -52
  1732. package/packages/emotion/node_modules/@emotion/utils/package.json +0 -47
  1733. package/packages/emotion/node_modules/@emotion/utils/src/index.d.ts +0 -1
  1734. package/packages/emotion/node_modules/@emotion/utils/src/index.js +0 -77
  1735. package/packages/emotion/node_modules/@emotion/utils/src/types.js +0 -28
  1736. package/packages/emotion/node_modules/@emotion/utils/types/index.d.ts +0 -59
  1737. package/packages/emotion/node_modules/@emotion/weak-memoize/LICENSE +0 -21
  1738. package/packages/emotion/node_modules/@emotion/weak-memoize/README.md +0 -35
  1739. package/packages/emotion/node_modules/@emotion/weak-memoize/dist/declarations/src/index.d.ts +0 -2
  1740. package/packages/emotion/node_modules/@emotion/weak-memoize/dist/declarations/types/index.d.ts +0 -7
  1741. package/packages/emotion/node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.cjs.d.ts +0 -2
  1742. package/packages/emotion/node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.cjs.dev.js +0 -20
  1743. package/packages/emotion/node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.cjs.js +0 -7
  1744. package/packages/emotion/node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.cjs.js.flow +0 -3
  1745. package/packages/emotion/node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.cjs.prod.js +0 -20
  1746. package/packages/emotion/node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js +0 -16
  1747. package/packages/emotion/node_modules/@emotion/weak-memoize/package.json +0 -32
  1748. package/packages/emotion/node_modules/@emotion/weak-memoize/src/index.d.ts +0 -2
  1749. package/packages/emotion/node_modules/@emotion/weak-memoize/src/index.js +0 -16
  1750. package/packages/emotion/node_modules/@emotion/weak-memoize/types/index.d.ts +0 -7
  1751. package/packages/emotion/node_modules/@jridgewell/gen-mapping/LICENSE +0 -19
  1752. package/packages/emotion/node_modules/@jridgewell/gen-mapping/README.md +0 -128
  1753. package/packages/emotion/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs +0 -167
  1754. package/packages/emotion/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs.map +0 -1
  1755. package/packages/emotion/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js +0 -174
  1756. package/packages/emotion/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js.map +0 -1
  1757. package/packages/emotion/node_modules/@jridgewell/gen-mapping/dist/types/gen-mapping.d.ts +0 -70
  1758. package/packages/emotion/node_modules/@jridgewell/gen-mapping/dist/types/sourcemap-segment.d.ts +0 -12
  1759. package/packages/emotion/node_modules/@jridgewell/gen-mapping/dist/types/types.d.ts +0 -35
  1760. package/packages/emotion/node_modules/@jridgewell/gen-mapping/package.json +0 -72
  1761. package/packages/emotion/node_modules/@jridgewell/resolve-uri/LICENSE +0 -19
  1762. package/packages/emotion/node_modules/@jridgewell/resolve-uri/README.md +0 -40
  1763. package/packages/emotion/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs +0 -242
  1764. package/packages/emotion/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs.map +0 -1
  1765. package/packages/emotion/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js +0 -250
  1766. package/packages/emotion/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js.map +0 -1
  1767. package/packages/emotion/node_modules/@jridgewell/resolve-uri/dist/types/resolve-uri.d.ts +0 -4
  1768. package/packages/emotion/node_modules/@jridgewell/resolve-uri/package.json +0 -69
  1769. package/packages/emotion/node_modules/@jridgewell/set-array/LICENSE +0 -19
  1770. package/packages/emotion/node_modules/@jridgewell/set-array/README.md +0 -37
  1771. package/packages/emotion/node_modules/@jridgewell/set-array/dist/set-array.mjs +0 -48
  1772. package/packages/emotion/node_modules/@jridgewell/set-array/dist/set-array.mjs.map +0 -1
  1773. package/packages/emotion/node_modules/@jridgewell/set-array/dist/set-array.umd.js +0 -58
  1774. package/packages/emotion/node_modules/@jridgewell/set-array/dist/set-array.umd.js.map +0 -1
  1775. package/packages/emotion/node_modules/@jridgewell/set-array/dist/types/set-array.d.ts +0 -26
  1776. package/packages/emotion/node_modules/@jridgewell/set-array/package.json +0 -66
  1777. package/packages/emotion/node_modules/@jridgewell/set-array/src/set-array.ts +0 -55
  1778. package/packages/emotion/node_modules/@jridgewell/sourcemap-codec/LICENSE +0 -21
  1779. package/packages/emotion/node_modules/@jridgewell/sourcemap-codec/README.md +0 -200
  1780. package/packages/emotion/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs +0 -164
  1781. package/packages/emotion/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map +0 -1
  1782. package/packages/emotion/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js +0 -175
  1783. package/packages/emotion/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map +0 -1
  1784. package/packages/emotion/node_modules/@jridgewell/sourcemap-codec/dist/types/sourcemap-codec.d.ts +0 -6
  1785. package/packages/emotion/node_modules/@jridgewell/sourcemap-codec/package.json +0 -75
  1786. package/packages/emotion/node_modules/@jridgewell/sourcemap-codec/src/sourcemap-codec.ts +0 -198
  1787. package/packages/emotion/node_modules/@jridgewell/trace-mapping/LICENSE +0 -19
  1788. package/packages/emotion/node_modules/@jridgewell/trace-mapping/README.md +0 -252
  1789. package/packages/emotion/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs +0 -552
  1790. package/packages/emotion/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs.map +0 -1
  1791. package/packages/emotion/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js +0 -566
  1792. package/packages/emotion/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js.map +0 -1
  1793. package/packages/emotion/node_modules/@jridgewell/trace-mapping/dist/types/any-map.d.ts +0 -8
  1794. package/packages/emotion/node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts +0 -32
  1795. package/packages/emotion/node_modules/@jridgewell/trace-mapping/dist/types/by-source.d.ts +0 -7
  1796. package/packages/emotion/node_modules/@jridgewell/trace-mapping/dist/types/resolve.d.ts +0 -1
  1797. package/packages/emotion/node_modules/@jridgewell/trace-mapping/dist/types/sort.d.ts +0 -2
  1798. package/packages/emotion/node_modules/@jridgewell/trace-mapping/dist/types/sourcemap-segment.d.ts +0 -16
  1799. package/packages/emotion/node_modules/@jridgewell/trace-mapping/dist/types/strip-filename.d.ts +0 -4
  1800. package/packages/emotion/node_modules/@jridgewell/trace-mapping/dist/types/trace-mapping.d.ts +0 -74
  1801. package/packages/emotion/node_modules/@jridgewell/trace-mapping/dist/types/types.d.ts +0 -92
  1802. package/packages/emotion/node_modules/@jridgewell/trace-mapping/package.json +0 -75
  1803. package/packages/emotion/node_modules/@types/parse-json/LICENSE +0 -21
  1804. package/packages/emotion/node_modules/@types/parse-json/README.md +0 -16
  1805. package/packages/emotion/node_modules/@types/parse-json/index.d.ts +0 -9
  1806. package/packages/emotion/node_modules/@types/parse-json/package.json +0 -22
  1807. package/packages/emotion/node_modules/ansi-styles/index.js +0 -165
  1808. package/packages/emotion/node_modules/ansi-styles/license +0 -9
  1809. package/packages/emotion/node_modules/ansi-styles/package.json +0 -56
  1810. package/packages/emotion/node_modules/ansi-styles/readme.md +0 -147
  1811. package/packages/emotion/node_modules/babel-plugin-macros/CHANGELOG.md +0 -5
  1812. package/packages/emotion/node_modules/babel-plugin-macros/LICENSE +0 -20
  1813. package/packages/emotion/node_modules/babel-plugin-macros/README.md +0 -457
  1814. package/packages/emotion/node_modules/babel-plugin-macros/dist/index.js +0 -351
  1815. package/packages/emotion/node_modules/babel-plugin-macros/package.json +0 -68
  1816. package/packages/emotion/node_modules/browserslist/LICENSE +0 -20
  1817. package/packages/emotion/node_modules/browserslist/README.md +0 -75
  1818. package/packages/emotion/node_modules/browserslist/browser.js +0 -50
  1819. package/packages/emotion/node_modules/browserslist/cli.js +0 -151
  1820. package/packages/emotion/node_modules/browserslist/error.d.ts +0 -7
  1821. package/packages/emotion/node_modules/browserslist/error.js +0 -12
  1822. package/packages/emotion/node_modules/browserslist/index.d.ts +0 -198
  1823. package/packages/emotion/node_modules/browserslist/index.js +0 -1189
  1824. package/packages/emotion/node_modules/browserslist/node.js +0 -407
  1825. package/packages/emotion/node_modules/browserslist/package.json +0 -40
  1826. package/packages/emotion/node_modules/browserslist/parse.js +0 -78
  1827. package/packages/emotion/node_modules/callsites/index.d.ts +0 -96
  1828. package/packages/emotion/node_modules/callsites/index.js +0 -13
  1829. package/packages/emotion/node_modules/callsites/license +0 -9
  1830. package/packages/emotion/node_modules/callsites/package.json +0 -39
  1831. package/packages/emotion/node_modules/callsites/readme.md +0 -48
  1832. package/packages/emotion/node_modules/caniuse-lite/LICENSE +0 -395
  1833. package/packages/emotion/node_modules/caniuse-lite/README.md +0 -92
  1834. package/packages/emotion/node_modules/caniuse-lite/data/agents.js +0 -1
  1835. package/packages/emotion/node_modules/caniuse-lite/data/browserVersions.js +0 -1
  1836. package/packages/emotion/node_modules/caniuse-lite/data/browsers.js +0 -1
  1837. package/packages/emotion/node_modules/caniuse-lite/data/features/aac.js +0 -1
  1838. package/packages/emotion/node_modules/caniuse-lite/data/features/abortcontroller.js +0 -1
  1839. package/packages/emotion/node_modules/caniuse-lite/data/features/ac3-ec3.js +0 -1
  1840. package/packages/emotion/node_modules/caniuse-lite/data/features/accelerometer.js +0 -1
  1841. package/packages/emotion/node_modules/caniuse-lite/data/features/addeventlistener.js +0 -1
  1842. package/packages/emotion/node_modules/caniuse-lite/data/features/alternate-stylesheet.js +0 -1
  1843. package/packages/emotion/node_modules/caniuse-lite/data/features/ambient-light.js +0 -1
  1844. package/packages/emotion/node_modules/caniuse-lite/data/features/apng.js +0 -1
  1845. package/packages/emotion/node_modules/caniuse-lite/data/features/array-find-index.js +0 -1
  1846. package/packages/emotion/node_modules/caniuse-lite/data/features/array-find.js +0 -1
  1847. package/packages/emotion/node_modules/caniuse-lite/data/features/array-flat.js +0 -1
  1848. package/packages/emotion/node_modules/caniuse-lite/data/features/array-includes.js +0 -1
  1849. package/packages/emotion/node_modules/caniuse-lite/data/features/arrow-functions.js +0 -1
  1850. package/packages/emotion/node_modules/caniuse-lite/data/features/asmjs.js +0 -1
  1851. package/packages/emotion/node_modules/caniuse-lite/data/features/async-clipboard.js +0 -1
  1852. package/packages/emotion/node_modules/caniuse-lite/data/features/async-functions.js +0 -1
  1853. package/packages/emotion/node_modules/caniuse-lite/data/features/atob-btoa.js +0 -1
  1854. package/packages/emotion/node_modules/caniuse-lite/data/features/audio-api.js +0 -1
  1855. package/packages/emotion/node_modules/caniuse-lite/data/features/audio.js +0 -1
  1856. package/packages/emotion/node_modules/caniuse-lite/data/features/audiotracks.js +0 -1
  1857. package/packages/emotion/node_modules/caniuse-lite/data/features/autofocus.js +0 -1
  1858. package/packages/emotion/node_modules/caniuse-lite/data/features/auxclick.js +0 -1
  1859. package/packages/emotion/node_modules/caniuse-lite/data/features/av1.js +0 -1
  1860. package/packages/emotion/node_modules/caniuse-lite/data/features/avif.js +0 -1
  1861. package/packages/emotion/node_modules/caniuse-lite/data/features/background-attachment.js +0 -1
  1862. package/packages/emotion/node_modules/caniuse-lite/data/features/background-clip-text.js +0 -1
  1863. package/packages/emotion/node_modules/caniuse-lite/data/features/background-img-opts.js +0 -1
  1864. package/packages/emotion/node_modules/caniuse-lite/data/features/background-position-x-y.js +0 -1
  1865. package/packages/emotion/node_modules/caniuse-lite/data/features/background-repeat-round-space.js +0 -1
  1866. package/packages/emotion/node_modules/caniuse-lite/data/features/background-sync.js +0 -1
  1867. package/packages/emotion/node_modules/caniuse-lite/data/features/battery-status.js +0 -1
  1868. package/packages/emotion/node_modules/caniuse-lite/data/features/beacon.js +0 -1
  1869. package/packages/emotion/node_modules/caniuse-lite/data/features/beforeafterprint.js +0 -1
  1870. package/packages/emotion/node_modules/caniuse-lite/data/features/bigint.js +0 -1
  1871. package/packages/emotion/node_modules/caniuse-lite/data/features/blobbuilder.js +0 -1
  1872. package/packages/emotion/node_modules/caniuse-lite/data/features/bloburls.js +0 -1
  1873. package/packages/emotion/node_modules/caniuse-lite/data/features/border-image.js +0 -1
  1874. package/packages/emotion/node_modules/caniuse-lite/data/features/border-radius.js +0 -1
  1875. package/packages/emotion/node_modules/caniuse-lite/data/features/broadcastchannel.js +0 -1
  1876. package/packages/emotion/node_modules/caniuse-lite/data/features/brotli.js +0 -1
  1877. package/packages/emotion/node_modules/caniuse-lite/data/features/calc.js +0 -1
  1878. package/packages/emotion/node_modules/caniuse-lite/data/features/canvas-blending.js +0 -1
  1879. package/packages/emotion/node_modules/caniuse-lite/data/features/canvas-text.js +0 -1
  1880. package/packages/emotion/node_modules/caniuse-lite/data/features/canvas.js +0 -1
  1881. package/packages/emotion/node_modules/caniuse-lite/data/features/ch-unit.js +0 -1
  1882. package/packages/emotion/node_modules/caniuse-lite/data/features/chacha20-poly1305.js +0 -1
  1883. package/packages/emotion/node_modules/caniuse-lite/data/features/channel-messaging.js +0 -1
  1884. package/packages/emotion/node_modules/caniuse-lite/data/features/childnode-remove.js +0 -1
  1885. package/packages/emotion/node_modules/caniuse-lite/data/features/classlist.js +0 -1
  1886. package/packages/emotion/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js +0 -1
  1887. package/packages/emotion/node_modules/caniuse-lite/data/features/clipboard.js +0 -1
  1888. package/packages/emotion/node_modules/caniuse-lite/data/features/colr-v1.js +0 -1
  1889. package/packages/emotion/node_modules/caniuse-lite/data/features/colr.js +0 -1
  1890. package/packages/emotion/node_modules/caniuse-lite/data/features/comparedocumentposition.js +0 -1
  1891. package/packages/emotion/node_modules/caniuse-lite/data/features/console-basic.js +0 -1
  1892. package/packages/emotion/node_modules/caniuse-lite/data/features/console-time.js +0 -1
  1893. package/packages/emotion/node_modules/caniuse-lite/data/features/const.js +0 -1
  1894. package/packages/emotion/node_modules/caniuse-lite/data/features/constraint-validation.js +0 -1
  1895. package/packages/emotion/node_modules/caniuse-lite/data/features/contenteditable.js +0 -1
  1896. package/packages/emotion/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js +0 -1
  1897. package/packages/emotion/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js +0 -1
  1898. package/packages/emotion/node_modules/caniuse-lite/data/features/cookie-store-api.js +0 -1
  1899. package/packages/emotion/node_modules/caniuse-lite/data/features/cors.js +0 -1
  1900. package/packages/emotion/node_modules/caniuse-lite/data/features/createimagebitmap.js +0 -1
  1901. package/packages/emotion/node_modules/caniuse-lite/data/features/credential-management.js +0 -1
  1902. package/packages/emotion/node_modules/caniuse-lite/data/features/cryptography.js +0 -1
  1903. package/packages/emotion/node_modules/caniuse-lite/data/features/css-all.js +0 -1
  1904. package/packages/emotion/node_modules/caniuse-lite/data/features/css-animation.js +0 -1
  1905. package/packages/emotion/node_modules/caniuse-lite/data/features/css-any-link.js +0 -1
  1906. package/packages/emotion/node_modules/caniuse-lite/data/features/css-appearance.js +0 -1
  1907. package/packages/emotion/node_modules/caniuse-lite/data/features/css-at-counter-style.js +0 -1
  1908. package/packages/emotion/node_modules/caniuse-lite/data/features/css-autofill.js +0 -1
  1909. package/packages/emotion/node_modules/caniuse-lite/data/features/css-backdrop-filter.js +0 -1
  1910. package/packages/emotion/node_modules/caniuse-lite/data/features/css-background-offsets.js +0 -1
  1911. package/packages/emotion/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js +0 -1
  1912. package/packages/emotion/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js +0 -1
  1913. package/packages/emotion/node_modules/caniuse-lite/data/features/css-boxshadow.js +0 -1
  1914. package/packages/emotion/node_modules/caniuse-lite/data/features/css-canvas.js +0 -1
  1915. package/packages/emotion/node_modules/caniuse-lite/data/features/css-caret-color.js +0 -1
  1916. package/packages/emotion/node_modules/caniuse-lite/data/features/css-cascade-layers.js +0 -1
  1917. package/packages/emotion/node_modules/caniuse-lite/data/features/css-case-insensitive.js +0 -1
  1918. package/packages/emotion/node_modules/caniuse-lite/data/features/css-clip-path.js +0 -1
  1919. package/packages/emotion/node_modules/caniuse-lite/data/features/css-color-adjust.js +0 -1
  1920. package/packages/emotion/node_modules/caniuse-lite/data/features/css-color-function.js +0 -1
  1921. package/packages/emotion/node_modules/caniuse-lite/data/features/css-conic-gradients.js +0 -1
  1922. package/packages/emotion/node_modules/caniuse-lite/data/features/css-container-queries.js +0 -1
  1923. package/packages/emotion/node_modules/caniuse-lite/data/features/css-container-query-units.js +0 -1
  1924. package/packages/emotion/node_modules/caniuse-lite/data/features/css-containment.js +0 -1
  1925. package/packages/emotion/node_modules/caniuse-lite/data/features/css-content-visibility.js +0 -1
  1926. package/packages/emotion/node_modules/caniuse-lite/data/features/css-counters.js +0 -1
  1927. package/packages/emotion/node_modules/caniuse-lite/data/features/css-crisp-edges.js +0 -1
  1928. package/packages/emotion/node_modules/caniuse-lite/data/features/css-cross-fade.js +0 -1
  1929. package/packages/emotion/node_modules/caniuse-lite/data/features/css-default-pseudo.js +0 -1
  1930. package/packages/emotion/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js +0 -1
  1931. package/packages/emotion/node_modules/caniuse-lite/data/features/css-deviceadaptation.js +0 -1
  1932. package/packages/emotion/node_modules/caniuse-lite/data/features/css-dir-pseudo.js +0 -1
  1933. package/packages/emotion/node_modules/caniuse-lite/data/features/css-display-contents.js +0 -1
  1934. package/packages/emotion/node_modules/caniuse-lite/data/features/css-element-function.js +0 -1
  1935. package/packages/emotion/node_modules/caniuse-lite/data/features/css-env-function.js +0 -1
  1936. package/packages/emotion/node_modules/caniuse-lite/data/features/css-exclusions.js +0 -1
  1937. package/packages/emotion/node_modules/caniuse-lite/data/features/css-featurequeries.js +0 -1
  1938. package/packages/emotion/node_modules/caniuse-lite/data/features/css-file-selector-button.js +0 -1
  1939. package/packages/emotion/node_modules/caniuse-lite/data/features/css-filter-function.js +0 -1
  1940. package/packages/emotion/node_modules/caniuse-lite/data/features/css-filters.js +0 -1
  1941. package/packages/emotion/node_modules/caniuse-lite/data/features/css-first-letter.js +0 -1
  1942. package/packages/emotion/node_modules/caniuse-lite/data/features/css-first-line.js +0 -1
  1943. package/packages/emotion/node_modules/caniuse-lite/data/features/css-fixed.js +0 -1
  1944. package/packages/emotion/node_modules/caniuse-lite/data/features/css-focus-visible.js +0 -1
  1945. package/packages/emotion/node_modules/caniuse-lite/data/features/css-focus-within.js +0 -1
  1946. package/packages/emotion/node_modules/caniuse-lite/data/features/css-font-palette.js +0 -1
  1947. package/packages/emotion/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js +0 -1
  1948. package/packages/emotion/node_modules/caniuse-lite/data/features/css-font-stretch.js +0 -1
  1949. package/packages/emotion/node_modules/caniuse-lite/data/features/css-gencontent.js +0 -1
  1950. package/packages/emotion/node_modules/caniuse-lite/data/features/css-gradients.js +0 -1
  1951. package/packages/emotion/node_modules/caniuse-lite/data/features/css-grid-animation.js +0 -1
  1952. package/packages/emotion/node_modules/caniuse-lite/data/features/css-grid.js +0 -1
  1953. package/packages/emotion/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js +0 -1
  1954. package/packages/emotion/node_modules/caniuse-lite/data/features/css-has.js +0 -1
  1955. package/packages/emotion/node_modules/caniuse-lite/data/features/css-hyphens.js +0 -1
  1956. package/packages/emotion/node_modules/caniuse-lite/data/features/css-image-orientation.js +0 -1
  1957. package/packages/emotion/node_modules/caniuse-lite/data/features/css-image-set.js +0 -1
  1958. package/packages/emotion/node_modules/caniuse-lite/data/features/css-in-out-of-range.js +0 -1
  1959. package/packages/emotion/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js +0 -1
  1960. package/packages/emotion/node_modules/caniuse-lite/data/features/css-initial-letter.js +0 -1
  1961. package/packages/emotion/node_modules/caniuse-lite/data/features/css-initial-value.js +0 -1
  1962. package/packages/emotion/node_modules/caniuse-lite/data/features/css-lch-lab.js +0 -1
  1963. package/packages/emotion/node_modules/caniuse-lite/data/features/css-letter-spacing.js +0 -1
  1964. package/packages/emotion/node_modules/caniuse-lite/data/features/css-line-clamp.js +0 -1
  1965. package/packages/emotion/node_modules/caniuse-lite/data/features/css-logical-props.js +0 -1
  1966. package/packages/emotion/node_modules/caniuse-lite/data/features/css-marker-pseudo.js +0 -1
  1967. package/packages/emotion/node_modules/caniuse-lite/data/features/css-masks.js +0 -1
  1968. package/packages/emotion/node_modules/caniuse-lite/data/features/css-matches-pseudo.js +0 -1
  1969. package/packages/emotion/node_modules/caniuse-lite/data/features/css-math-functions.js +0 -1
  1970. package/packages/emotion/node_modules/caniuse-lite/data/features/css-media-interaction.js +0 -1
  1971. package/packages/emotion/node_modules/caniuse-lite/data/features/css-media-range-syntax.js +0 -1
  1972. package/packages/emotion/node_modules/caniuse-lite/data/features/css-media-resolution.js +0 -1
  1973. package/packages/emotion/node_modules/caniuse-lite/data/features/css-media-scripting.js +0 -1
  1974. package/packages/emotion/node_modules/caniuse-lite/data/features/css-mediaqueries.js +0 -1
  1975. package/packages/emotion/node_modules/caniuse-lite/data/features/css-mixblendmode.js +0 -1
  1976. package/packages/emotion/node_modules/caniuse-lite/data/features/css-motion-paths.js +0 -1
  1977. package/packages/emotion/node_modules/caniuse-lite/data/features/css-namespaces.js +0 -1
  1978. package/packages/emotion/node_modules/caniuse-lite/data/features/css-nesting.js +0 -1
  1979. package/packages/emotion/node_modules/caniuse-lite/data/features/css-not-sel-list.js +0 -1
  1980. package/packages/emotion/node_modules/caniuse-lite/data/features/css-nth-child-of.js +0 -1
  1981. package/packages/emotion/node_modules/caniuse-lite/data/features/css-opacity.js +0 -1
  1982. package/packages/emotion/node_modules/caniuse-lite/data/features/css-optional-pseudo.js +0 -1
  1983. package/packages/emotion/node_modules/caniuse-lite/data/features/css-overflow-anchor.js +0 -1
  1984. package/packages/emotion/node_modules/caniuse-lite/data/features/css-overflow-overlay.js +0 -1
  1985. package/packages/emotion/node_modules/caniuse-lite/data/features/css-overflow.js +0 -1
  1986. package/packages/emotion/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js +0 -1
  1987. package/packages/emotion/node_modules/caniuse-lite/data/features/css-page-break.js +0 -1
  1988. package/packages/emotion/node_modules/caniuse-lite/data/features/css-paged-media.js +0 -1
  1989. package/packages/emotion/node_modules/caniuse-lite/data/features/css-paint-api.js +0 -1
  1990. package/packages/emotion/node_modules/caniuse-lite/data/features/css-placeholder-shown.js +0 -1
  1991. package/packages/emotion/node_modules/caniuse-lite/data/features/css-placeholder.js +0 -1
  1992. package/packages/emotion/node_modules/caniuse-lite/data/features/css-print-color-adjust.js +0 -1
  1993. package/packages/emotion/node_modules/caniuse-lite/data/features/css-read-only-write.js +0 -1
  1994. package/packages/emotion/node_modules/caniuse-lite/data/features/css-rebeccapurple.js +0 -1
  1995. package/packages/emotion/node_modules/caniuse-lite/data/features/css-reflections.js +0 -1
  1996. package/packages/emotion/node_modules/caniuse-lite/data/features/css-regions.js +0 -1
  1997. package/packages/emotion/node_modules/caniuse-lite/data/features/css-repeating-gradients.js +0 -1
  1998. package/packages/emotion/node_modules/caniuse-lite/data/features/css-resize.js +0 -1
  1999. package/packages/emotion/node_modules/caniuse-lite/data/features/css-revert-value.js +0 -1
  2000. package/packages/emotion/node_modules/caniuse-lite/data/features/css-rrggbbaa.js +0 -1
  2001. package/packages/emotion/node_modules/caniuse-lite/data/features/css-scroll-behavior.js +0 -1
  2002. package/packages/emotion/node_modules/caniuse-lite/data/features/css-scroll-timeline.js +0 -1
  2003. package/packages/emotion/node_modules/caniuse-lite/data/features/css-scrollbar.js +0 -1
  2004. package/packages/emotion/node_modules/caniuse-lite/data/features/css-sel2.js +0 -1
  2005. package/packages/emotion/node_modules/caniuse-lite/data/features/css-sel3.js +0 -1
  2006. package/packages/emotion/node_modules/caniuse-lite/data/features/css-selection.js +0 -1
  2007. package/packages/emotion/node_modules/caniuse-lite/data/features/css-shapes.js +0 -1
  2008. package/packages/emotion/node_modules/caniuse-lite/data/features/css-snappoints.js +0 -1
  2009. package/packages/emotion/node_modules/caniuse-lite/data/features/css-sticky.js +0 -1
  2010. package/packages/emotion/node_modules/caniuse-lite/data/features/css-subgrid.js +0 -1
  2011. package/packages/emotion/node_modules/caniuse-lite/data/features/css-supports-api.js +0 -1
  2012. package/packages/emotion/node_modules/caniuse-lite/data/features/css-table.js +0 -1
  2013. package/packages/emotion/node_modules/caniuse-lite/data/features/css-text-align-last.js +0 -1
  2014. package/packages/emotion/node_modules/caniuse-lite/data/features/css-text-indent.js +0 -1
  2015. package/packages/emotion/node_modules/caniuse-lite/data/features/css-text-justify.js +0 -1
  2016. package/packages/emotion/node_modules/caniuse-lite/data/features/css-text-orientation.js +0 -1
  2017. package/packages/emotion/node_modules/caniuse-lite/data/features/css-text-spacing.js +0 -1
  2018. package/packages/emotion/node_modules/caniuse-lite/data/features/css-textshadow.js +0 -1
  2019. package/packages/emotion/node_modules/caniuse-lite/data/features/css-touch-action.js +0 -1
  2020. package/packages/emotion/node_modules/caniuse-lite/data/features/css-transitions.js +0 -1
  2021. package/packages/emotion/node_modules/caniuse-lite/data/features/css-unicode-bidi.js +0 -1
  2022. package/packages/emotion/node_modules/caniuse-lite/data/features/css-unset-value.js +0 -1
  2023. package/packages/emotion/node_modules/caniuse-lite/data/features/css-variables.js +0 -1
  2024. package/packages/emotion/node_modules/caniuse-lite/data/features/css-when-else.js +0 -1
  2025. package/packages/emotion/node_modules/caniuse-lite/data/features/css-widows-orphans.js +0 -1
  2026. package/packages/emotion/node_modules/caniuse-lite/data/features/css-width-stretch.js +0 -1
  2027. package/packages/emotion/node_modules/caniuse-lite/data/features/css-writing-mode.js +0 -1
  2028. package/packages/emotion/node_modules/caniuse-lite/data/features/css-zoom.js +0 -1
  2029. package/packages/emotion/node_modules/caniuse-lite/data/features/css3-attr.js +0 -1
  2030. package/packages/emotion/node_modules/caniuse-lite/data/features/css3-boxsizing.js +0 -1
  2031. package/packages/emotion/node_modules/caniuse-lite/data/features/css3-colors.js +0 -1
  2032. package/packages/emotion/node_modules/caniuse-lite/data/features/css3-cursors-grab.js +0 -1
  2033. package/packages/emotion/node_modules/caniuse-lite/data/features/css3-cursors-newer.js +0 -1
  2034. package/packages/emotion/node_modules/caniuse-lite/data/features/css3-cursors.js +0 -1
  2035. package/packages/emotion/node_modules/caniuse-lite/data/features/css3-tabsize.js +0 -1
  2036. package/packages/emotion/node_modules/caniuse-lite/data/features/currentcolor.js +0 -1
  2037. package/packages/emotion/node_modules/caniuse-lite/data/features/custom-elements.js +0 -1
  2038. package/packages/emotion/node_modules/caniuse-lite/data/features/custom-elementsv1.js +0 -1
  2039. package/packages/emotion/node_modules/caniuse-lite/data/features/customevent.js +0 -1
  2040. package/packages/emotion/node_modules/caniuse-lite/data/features/datalist.js +0 -1
  2041. package/packages/emotion/node_modules/caniuse-lite/data/features/dataset.js +0 -1
  2042. package/packages/emotion/node_modules/caniuse-lite/data/features/datauri.js +0 -1
  2043. package/packages/emotion/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js +0 -1
  2044. package/packages/emotion/node_modules/caniuse-lite/data/features/declarative-shadow-dom.js +0 -1
  2045. package/packages/emotion/node_modules/caniuse-lite/data/features/decorators.js +0 -1
  2046. package/packages/emotion/node_modules/caniuse-lite/data/features/details.js +0 -1
  2047. package/packages/emotion/node_modules/caniuse-lite/data/features/deviceorientation.js +0 -1
  2048. package/packages/emotion/node_modules/caniuse-lite/data/features/devicepixelratio.js +0 -1
  2049. package/packages/emotion/node_modules/caniuse-lite/data/features/dialog.js +0 -1
  2050. package/packages/emotion/node_modules/caniuse-lite/data/features/dispatchevent.js +0 -1
  2051. package/packages/emotion/node_modules/caniuse-lite/data/features/dnssec.js +0 -1
  2052. package/packages/emotion/node_modules/caniuse-lite/data/features/do-not-track.js +0 -1
  2053. package/packages/emotion/node_modules/caniuse-lite/data/features/document-currentscript.js +0 -1
  2054. package/packages/emotion/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js +0 -1
  2055. package/packages/emotion/node_modules/caniuse-lite/data/features/document-execcommand.js +0 -1
  2056. package/packages/emotion/node_modules/caniuse-lite/data/features/document-policy.js +0 -1
  2057. package/packages/emotion/node_modules/caniuse-lite/data/features/document-scrollingelement.js +0 -1
  2058. package/packages/emotion/node_modules/caniuse-lite/data/features/documenthead.js +0 -1
  2059. package/packages/emotion/node_modules/caniuse-lite/data/features/dom-manip-convenience.js +0 -1
  2060. package/packages/emotion/node_modules/caniuse-lite/data/features/dom-range.js +0 -1
  2061. package/packages/emotion/node_modules/caniuse-lite/data/features/domcontentloaded.js +0 -1
  2062. package/packages/emotion/node_modules/caniuse-lite/data/features/dommatrix.js +0 -1
  2063. package/packages/emotion/node_modules/caniuse-lite/data/features/download.js +0 -1
  2064. package/packages/emotion/node_modules/caniuse-lite/data/features/dragndrop.js +0 -1
  2065. package/packages/emotion/node_modules/caniuse-lite/data/features/element-closest.js +0 -1
  2066. package/packages/emotion/node_modules/caniuse-lite/data/features/element-from-point.js +0 -1
  2067. package/packages/emotion/node_modules/caniuse-lite/data/features/element-scroll-methods.js +0 -1
  2068. package/packages/emotion/node_modules/caniuse-lite/data/features/eme.js +0 -1
  2069. package/packages/emotion/node_modules/caniuse-lite/data/features/eot.js +0 -1
  2070. package/packages/emotion/node_modules/caniuse-lite/data/features/es5.js +0 -1
  2071. package/packages/emotion/node_modules/caniuse-lite/data/features/es6-class.js +0 -1
  2072. package/packages/emotion/node_modules/caniuse-lite/data/features/es6-generators.js +0 -1
  2073. package/packages/emotion/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js +0 -1
  2074. package/packages/emotion/node_modules/caniuse-lite/data/features/es6-module.js +0 -1
  2075. package/packages/emotion/node_modules/caniuse-lite/data/features/es6-number.js +0 -1
  2076. package/packages/emotion/node_modules/caniuse-lite/data/features/es6-string-includes.js +0 -1
  2077. package/packages/emotion/node_modules/caniuse-lite/data/features/es6.js +0 -1
  2078. package/packages/emotion/node_modules/caniuse-lite/data/features/eventsource.js +0 -1
  2079. package/packages/emotion/node_modules/caniuse-lite/data/features/extended-system-fonts.js +0 -1
  2080. package/packages/emotion/node_modules/caniuse-lite/data/features/feature-policy.js +0 -1
  2081. package/packages/emotion/node_modules/caniuse-lite/data/features/fetch.js +0 -1
  2082. package/packages/emotion/node_modules/caniuse-lite/data/features/fieldset-disabled.js +0 -1
  2083. package/packages/emotion/node_modules/caniuse-lite/data/features/fileapi.js +0 -1
  2084. package/packages/emotion/node_modules/caniuse-lite/data/features/filereader.js +0 -1
  2085. package/packages/emotion/node_modules/caniuse-lite/data/features/filereadersync.js +0 -1
  2086. package/packages/emotion/node_modules/caniuse-lite/data/features/filesystem.js +0 -1
  2087. package/packages/emotion/node_modules/caniuse-lite/data/features/flac.js +0 -1
  2088. package/packages/emotion/node_modules/caniuse-lite/data/features/flexbox-gap.js +0 -1
  2089. package/packages/emotion/node_modules/caniuse-lite/data/features/flexbox.js +0 -1
  2090. package/packages/emotion/node_modules/caniuse-lite/data/features/flow-root.js +0 -1
  2091. package/packages/emotion/node_modules/caniuse-lite/data/features/focusin-focusout-events.js +0 -1
  2092. package/packages/emotion/node_modules/caniuse-lite/data/features/font-family-system-ui.js +0 -1
  2093. package/packages/emotion/node_modules/caniuse-lite/data/features/font-feature.js +0 -1
  2094. package/packages/emotion/node_modules/caniuse-lite/data/features/font-kerning.js +0 -1
  2095. package/packages/emotion/node_modules/caniuse-lite/data/features/font-loading.js +0 -1
  2096. package/packages/emotion/node_modules/caniuse-lite/data/features/font-size-adjust.js +0 -1
  2097. package/packages/emotion/node_modules/caniuse-lite/data/features/font-smooth.js +0 -1
  2098. package/packages/emotion/node_modules/caniuse-lite/data/features/font-unicode-range.js +0 -1
  2099. package/packages/emotion/node_modules/caniuse-lite/data/features/font-variant-alternates.js +0 -1
  2100. package/packages/emotion/node_modules/caniuse-lite/data/features/font-variant-numeric.js +0 -1
  2101. package/packages/emotion/node_modules/caniuse-lite/data/features/fontface.js +0 -1
  2102. package/packages/emotion/node_modules/caniuse-lite/data/features/form-attribute.js +0 -1
  2103. package/packages/emotion/node_modules/caniuse-lite/data/features/form-submit-attributes.js +0 -1
  2104. package/packages/emotion/node_modules/caniuse-lite/data/features/form-validation.js +0 -1
  2105. package/packages/emotion/node_modules/caniuse-lite/data/features/forms.js +0 -1
  2106. package/packages/emotion/node_modules/caniuse-lite/data/features/fullscreen.js +0 -1
  2107. package/packages/emotion/node_modules/caniuse-lite/data/features/gamepad.js +0 -1
  2108. package/packages/emotion/node_modules/caniuse-lite/data/features/geolocation.js +0 -1
  2109. package/packages/emotion/node_modules/caniuse-lite/data/features/getboundingclientrect.js +0 -1
  2110. package/packages/emotion/node_modules/caniuse-lite/data/features/getcomputedstyle.js +0 -1
  2111. package/packages/emotion/node_modules/caniuse-lite/data/features/getelementsbyclassname.js +0 -1
  2112. package/packages/emotion/node_modules/caniuse-lite/data/features/getrandomvalues.js +0 -1
  2113. package/packages/emotion/node_modules/caniuse-lite/data/features/gyroscope.js +0 -1
  2114. package/packages/emotion/node_modules/caniuse-lite/data/features/hardwareconcurrency.js +0 -1
  2115. package/packages/emotion/node_modules/caniuse-lite/data/features/hashchange.js +0 -1
  2116. package/packages/emotion/node_modules/caniuse-lite/data/features/heif.js +0 -1
  2117. package/packages/emotion/node_modules/caniuse-lite/data/features/hevc.js +0 -1
  2118. package/packages/emotion/node_modules/caniuse-lite/data/features/hidden.js +0 -1
  2119. package/packages/emotion/node_modules/caniuse-lite/data/features/high-resolution-time.js +0 -1
  2120. package/packages/emotion/node_modules/caniuse-lite/data/features/history.js +0 -1
  2121. package/packages/emotion/node_modules/caniuse-lite/data/features/html-media-capture.js +0 -1
  2122. package/packages/emotion/node_modules/caniuse-lite/data/features/html5semantic.js +0 -1
  2123. package/packages/emotion/node_modules/caniuse-lite/data/features/http-live-streaming.js +0 -1
  2124. package/packages/emotion/node_modules/caniuse-lite/data/features/http2.js +0 -1
  2125. package/packages/emotion/node_modules/caniuse-lite/data/features/http3.js +0 -1
  2126. package/packages/emotion/node_modules/caniuse-lite/data/features/iframe-sandbox.js +0 -1
  2127. package/packages/emotion/node_modules/caniuse-lite/data/features/iframe-seamless.js +0 -1
  2128. package/packages/emotion/node_modules/caniuse-lite/data/features/iframe-srcdoc.js +0 -1
  2129. package/packages/emotion/node_modules/caniuse-lite/data/features/imagecapture.js +0 -1
  2130. package/packages/emotion/node_modules/caniuse-lite/data/features/ime.js +0 -1
  2131. package/packages/emotion/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js +0 -1
  2132. package/packages/emotion/node_modules/caniuse-lite/data/features/import-maps.js +0 -1
  2133. package/packages/emotion/node_modules/caniuse-lite/data/features/imports.js +0 -1
  2134. package/packages/emotion/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js +0 -1
  2135. package/packages/emotion/node_modules/caniuse-lite/data/features/indexeddb.js +0 -1
  2136. package/packages/emotion/node_modules/caniuse-lite/data/features/indexeddb2.js +0 -1
  2137. package/packages/emotion/node_modules/caniuse-lite/data/features/inline-block.js +0 -1
  2138. package/packages/emotion/node_modules/caniuse-lite/data/features/innertext.js +0 -1
  2139. package/packages/emotion/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js +0 -1
  2140. package/packages/emotion/node_modules/caniuse-lite/data/features/input-color.js +0 -1
  2141. package/packages/emotion/node_modules/caniuse-lite/data/features/input-datetime.js +0 -1
  2142. package/packages/emotion/node_modules/caniuse-lite/data/features/input-email-tel-url.js +0 -1
  2143. package/packages/emotion/node_modules/caniuse-lite/data/features/input-event.js +0 -1
  2144. package/packages/emotion/node_modules/caniuse-lite/data/features/input-file-accept.js +0 -1
  2145. package/packages/emotion/node_modules/caniuse-lite/data/features/input-file-directory.js +0 -1
  2146. package/packages/emotion/node_modules/caniuse-lite/data/features/input-file-multiple.js +0 -1
  2147. package/packages/emotion/node_modules/caniuse-lite/data/features/input-inputmode.js +0 -1
  2148. package/packages/emotion/node_modules/caniuse-lite/data/features/input-minlength.js +0 -1
  2149. package/packages/emotion/node_modules/caniuse-lite/data/features/input-number.js +0 -1
  2150. package/packages/emotion/node_modules/caniuse-lite/data/features/input-pattern.js +0 -1
  2151. package/packages/emotion/node_modules/caniuse-lite/data/features/input-placeholder.js +0 -1
  2152. package/packages/emotion/node_modules/caniuse-lite/data/features/input-range.js +0 -1
  2153. package/packages/emotion/node_modules/caniuse-lite/data/features/input-search.js +0 -1
  2154. package/packages/emotion/node_modules/caniuse-lite/data/features/input-selection.js +0 -1
  2155. package/packages/emotion/node_modules/caniuse-lite/data/features/insert-adjacent.js +0 -1
  2156. package/packages/emotion/node_modules/caniuse-lite/data/features/insertadjacenthtml.js +0 -1
  2157. package/packages/emotion/node_modules/caniuse-lite/data/features/internationalization.js +0 -1
  2158. package/packages/emotion/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js +0 -1
  2159. package/packages/emotion/node_modules/caniuse-lite/data/features/intersectionobserver.js +0 -1
  2160. package/packages/emotion/node_modules/caniuse-lite/data/features/intl-pluralrules.js +0 -1
  2161. package/packages/emotion/node_modules/caniuse-lite/data/features/intrinsic-width.js +0 -1
  2162. package/packages/emotion/node_modules/caniuse-lite/data/features/jpeg2000.js +0 -1
  2163. package/packages/emotion/node_modules/caniuse-lite/data/features/jpegxl.js +0 -1
  2164. package/packages/emotion/node_modules/caniuse-lite/data/features/jpegxr.js +0 -1
  2165. package/packages/emotion/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js +0 -1
  2166. package/packages/emotion/node_modules/caniuse-lite/data/features/json.js +0 -1
  2167. package/packages/emotion/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js +0 -1
  2168. package/packages/emotion/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js +0 -1
  2169. package/packages/emotion/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js +0 -1
  2170. package/packages/emotion/node_modules/caniuse-lite/data/features/keyboardevent-code.js +0 -1
  2171. package/packages/emotion/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js +0 -1
  2172. package/packages/emotion/node_modules/caniuse-lite/data/features/keyboardevent-key.js +0 -1
  2173. package/packages/emotion/node_modules/caniuse-lite/data/features/keyboardevent-location.js +0 -1
  2174. package/packages/emotion/node_modules/caniuse-lite/data/features/keyboardevent-which.js +0 -1
  2175. package/packages/emotion/node_modules/caniuse-lite/data/features/lazyload.js +0 -1
  2176. package/packages/emotion/node_modules/caniuse-lite/data/features/let.js +0 -1
  2177. package/packages/emotion/node_modules/caniuse-lite/data/features/link-icon-png.js +0 -1
  2178. package/packages/emotion/node_modules/caniuse-lite/data/features/link-icon-svg.js +0 -1
  2179. package/packages/emotion/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js +0 -1
  2180. package/packages/emotion/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js +0 -1
  2181. package/packages/emotion/node_modules/caniuse-lite/data/features/link-rel-preconnect.js +0 -1
  2182. package/packages/emotion/node_modules/caniuse-lite/data/features/link-rel-prefetch.js +0 -1
  2183. package/packages/emotion/node_modules/caniuse-lite/data/features/link-rel-preload.js +0 -1
  2184. package/packages/emotion/node_modules/caniuse-lite/data/features/link-rel-prerender.js +0 -1
  2185. package/packages/emotion/node_modules/caniuse-lite/data/features/loading-lazy-attr.js +0 -1
  2186. package/packages/emotion/node_modules/caniuse-lite/data/features/localecompare.js +0 -1
  2187. package/packages/emotion/node_modules/caniuse-lite/data/features/magnetometer.js +0 -1
  2188. package/packages/emotion/node_modules/caniuse-lite/data/features/matchesselector.js +0 -1
  2189. package/packages/emotion/node_modules/caniuse-lite/data/features/matchmedia.js +0 -1
  2190. package/packages/emotion/node_modules/caniuse-lite/data/features/mathml.js +0 -1
  2191. package/packages/emotion/node_modules/caniuse-lite/data/features/maxlength.js +0 -1
  2192. package/packages/emotion/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js +0 -1
  2193. package/packages/emotion/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js +0 -1
  2194. package/packages/emotion/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js +0 -1
  2195. package/packages/emotion/node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js +0 -1
  2196. package/packages/emotion/node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js +0 -1
  2197. package/packages/emotion/node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js +0 -1
  2198. package/packages/emotion/node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js +0 -1
  2199. package/packages/emotion/node_modules/caniuse-lite/data/features/media-fragments.js +0 -1
  2200. package/packages/emotion/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js +0 -1
  2201. package/packages/emotion/node_modules/caniuse-lite/data/features/mediarecorder.js +0 -1
  2202. package/packages/emotion/node_modules/caniuse-lite/data/features/mediasource.js +0 -1
  2203. package/packages/emotion/node_modules/caniuse-lite/data/features/menu.js +0 -1
  2204. package/packages/emotion/node_modules/caniuse-lite/data/features/meta-theme-color.js +0 -1
  2205. package/packages/emotion/node_modules/caniuse-lite/data/features/meter.js +0 -1
  2206. package/packages/emotion/node_modules/caniuse-lite/data/features/midi.js +0 -1
  2207. package/packages/emotion/node_modules/caniuse-lite/data/features/minmaxwh.js +0 -1
  2208. package/packages/emotion/node_modules/caniuse-lite/data/features/mp3.js +0 -1
  2209. package/packages/emotion/node_modules/caniuse-lite/data/features/mpeg-dash.js +0 -1
  2210. package/packages/emotion/node_modules/caniuse-lite/data/features/mpeg4.js +0 -1
  2211. package/packages/emotion/node_modules/caniuse-lite/data/features/multibackgrounds.js +0 -1
  2212. package/packages/emotion/node_modules/caniuse-lite/data/features/multicolumn.js +0 -1
  2213. package/packages/emotion/node_modules/caniuse-lite/data/features/mutation-events.js +0 -1
  2214. package/packages/emotion/node_modules/caniuse-lite/data/features/mutationobserver.js +0 -1
  2215. package/packages/emotion/node_modules/caniuse-lite/data/features/namevalue-storage.js +0 -1
  2216. package/packages/emotion/node_modules/caniuse-lite/data/features/native-filesystem-api.js +0 -1
  2217. package/packages/emotion/node_modules/caniuse-lite/data/features/nav-timing.js +0 -1
  2218. package/packages/emotion/node_modules/caniuse-lite/data/features/netinfo.js +0 -1
  2219. package/packages/emotion/node_modules/caniuse-lite/data/features/notifications.js +0 -1
  2220. package/packages/emotion/node_modules/caniuse-lite/data/features/object-entries.js +0 -1
  2221. package/packages/emotion/node_modules/caniuse-lite/data/features/object-fit.js +0 -1
  2222. package/packages/emotion/node_modules/caniuse-lite/data/features/object-observe.js +0 -1
  2223. package/packages/emotion/node_modules/caniuse-lite/data/features/object-values.js +0 -1
  2224. package/packages/emotion/node_modules/caniuse-lite/data/features/objectrtc.js +0 -1
  2225. package/packages/emotion/node_modules/caniuse-lite/data/features/offline-apps.js +0 -1
  2226. package/packages/emotion/node_modules/caniuse-lite/data/features/offscreencanvas.js +0 -1
  2227. package/packages/emotion/node_modules/caniuse-lite/data/features/ogg-vorbis.js +0 -1
  2228. package/packages/emotion/node_modules/caniuse-lite/data/features/ogv.js +0 -1
  2229. package/packages/emotion/node_modules/caniuse-lite/data/features/ol-reversed.js +0 -1
  2230. package/packages/emotion/node_modules/caniuse-lite/data/features/once-event-listener.js +0 -1
  2231. package/packages/emotion/node_modules/caniuse-lite/data/features/online-status.js +0 -1
  2232. package/packages/emotion/node_modules/caniuse-lite/data/features/opus.js +0 -1
  2233. package/packages/emotion/node_modules/caniuse-lite/data/features/orientation-sensor.js +0 -1
  2234. package/packages/emotion/node_modules/caniuse-lite/data/features/outline.js +0 -1
  2235. package/packages/emotion/node_modules/caniuse-lite/data/features/pad-start-end.js +0 -1
  2236. package/packages/emotion/node_modules/caniuse-lite/data/features/page-transition-events.js +0 -1
  2237. package/packages/emotion/node_modules/caniuse-lite/data/features/pagevisibility.js +0 -1
  2238. package/packages/emotion/node_modules/caniuse-lite/data/features/passive-event-listener.js +0 -1
  2239. package/packages/emotion/node_modules/caniuse-lite/data/features/passwordrules.js +0 -1
  2240. package/packages/emotion/node_modules/caniuse-lite/data/features/path2d.js +0 -1
  2241. package/packages/emotion/node_modules/caniuse-lite/data/features/payment-request.js +0 -1
  2242. package/packages/emotion/node_modules/caniuse-lite/data/features/pdf-viewer.js +0 -1
  2243. package/packages/emotion/node_modules/caniuse-lite/data/features/permissions-api.js +0 -1
  2244. package/packages/emotion/node_modules/caniuse-lite/data/features/permissions-policy.js +0 -1
  2245. package/packages/emotion/node_modules/caniuse-lite/data/features/picture-in-picture.js +0 -1
  2246. package/packages/emotion/node_modules/caniuse-lite/data/features/picture.js +0 -1
  2247. package/packages/emotion/node_modules/caniuse-lite/data/features/ping.js +0 -1
  2248. package/packages/emotion/node_modules/caniuse-lite/data/features/png-alpha.js +0 -1
  2249. package/packages/emotion/node_modules/caniuse-lite/data/features/pointer-events.js +0 -1
  2250. package/packages/emotion/node_modules/caniuse-lite/data/features/pointer.js +0 -1
  2251. package/packages/emotion/node_modules/caniuse-lite/data/features/pointerlock.js +0 -1
  2252. package/packages/emotion/node_modules/caniuse-lite/data/features/portals.js +0 -1
  2253. package/packages/emotion/node_modules/caniuse-lite/data/features/prefers-color-scheme.js +0 -1
  2254. package/packages/emotion/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js +0 -1
  2255. package/packages/emotion/node_modules/caniuse-lite/data/features/progress.js +0 -1
  2256. package/packages/emotion/node_modules/caniuse-lite/data/features/promise-finally.js +0 -1
  2257. package/packages/emotion/node_modules/caniuse-lite/data/features/promises.js +0 -1
  2258. package/packages/emotion/node_modules/caniuse-lite/data/features/proximity.js +0 -1
  2259. package/packages/emotion/node_modules/caniuse-lite/data/features/proxy.js +0 -1
  2260. package/packages/emotion/node_modules/caniuse-lite/data/features/publickeypinning.js +0 -1
  2261. package/packages/emotion/node_modules/caniuse-lite/data/features/push-api.js +0 -1
  2262. package/packages/emotion/node_modules/caniuse-lite/data/features/queryselector.js +0 -1
  2263. package/packages/emotion/node_modules/caniuse-lite/data/features/readonly-attr.js +0 -1
  2264. package/packages/emotion/node_modules/caniuse-lite/data/features/referrer-policy.js +0 -1
  2265. package/packages/emotion/node_modules/caniuse-lite/data/features/registerprotocolhandler.js +0 -1
  2266. package/packages/emotion/node_modules/caniuse-lite/data/features/rel-noopener.js +0 -1
  2267. package/packages/emotion/node_modules/caniuse-lite/data/features/rel-noreferrer.js +0 -1
  2268. package/packages/emotion/node_modules/caniuse-lite/data/features/rellist.js +0 -1
  2269. package/packages/emotion/node_modules/caniuse-lite/data/features/rem.js +0 -1
  2270. package/packages/emotion/node_modules/caniuse-lite/data/features/requestanimationframe.js +0 -1
  2271. package/packages/emotion/node_modules/caniuse-lite/data/features/requestidlecallback.js +0 -1
  2272. package/packages/emotion/node_modules/caniuse-lite/data/features/resizeobserver.js +0 -1
  2273. package/packages/emotion/node_modules/caniuse-lite/data/features/resource-timing.js +0 -1
  2274. package/packages/emotion/node_modules/caniuse-lite/data/features/rest-parameters.js +0 -1
  2275. package/packages/emotion/node_modules/caniuse-lite/data/features/rtcpeerconnection.js +0 -1
  2276. package/packages/emotion/node_modules/caniuse-lite/data/features/ruby.js +0 -1
  2277. package/packages/emotion/node_modules/caniuse-lite/data/features/run-in.js +0 -1
  2278. package/packages/emotion/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js +0 -1
  2279. package/packages/emotion/node_modules/caniuse-lite/data/features/screen-orientation.js +0 -1
  2280. package/packages/emotion/node_modules/caniuse-lite/data/features/script-async.js +0 -1
  2281. package/packages/emotion/node_modules/caniuse-lite/data/features/script-defer.js +0 -1
  2282. package/packages/emotion/node_modules/caniuse-lite/data/features/scrollintoview.js +0 -1
  2283. package/packages/emotion/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js +0 -1
  2284. package/packages/emotion/node_modules/caniuse-lite/data/features/sdch.js +0 -1
  2285. package/packages/emotion/node_modules/caniuse-lite/data/features/selection-api.js +0 -1
  2286. package/packages/emotion/node_modules/caniuse-lite/data/features/server-timing.js +0 -1
  2287. package/packages/emotion/node_modules/caniuse-lite/data/features/serviceworkers.js +0 -1
  2288. package/packages/emotion/node_modules/caniuse-lite/data/features/setimmediate.js +0 -1
  2289. package/packages/emotion/node_modules/caniuse-lite/data/features/shadowdom.js +0 -1
  2290. package/packages/emotion/node_modules/caniuse-lite/data/features/shadowdomv1.js +0 -1
  2291. package/packages/emotion/node_modules/caniuse-lite/data/features/sharedarraybuffer.js +0 -1
  2292. package/packages/emotion/node_modules/caniuse-lite/data/features/sharedworkers.js +0 -1
  2293. package/packages/emotion/node_modules/caniuse-lite/data/features/sni.js +0 -1
  2294. package/packages/emotion/node_modules/caniuse-lite/data/features/spdy.js +0 -1
  2295. package/packages/emotion/node_modules/caniuse-lite/data/features/speech-recognition.js +0 -1
  2296. package/packages/emotion/node_modules/caniuse-lite/data/features/speech-synthesis.js +0 -1
  2297. package/packages/emotion/node_modules/caniuse-lite/data/features/spellcheck-attribute.js +0 -1
  2298. package/packages/emotion/node_modules/caniuse-lite/data/features/sql-storage.js +0 -1
  2299. package/packages/emotion/node_modules/caniuse-lite/data/features/srcset.js +0 -1
  2300. package/packages/emotion/node_modules/caniuse-lite/data/features/stream.js +0 -1
  2301. package/packages/emotion/node_modules/caniuse-lite/data/features/streams.js +0 -1
  2302. package/packages/emotion/node_modules/caniuse-lite/data/features/stricttransportsecurity.js +0 -1
  2303. package/packages/emotion/node_modules/caniuse-lite/data/features/style-scoped.js +0 -1
  2304. package/packages/emotion/node_modules/caniuse-lite/data/features/subresource-bundling.js +0 -1
  2305. package/packages/emotion/node_modules/caniuse-lite/data/features/subresource-integrity.js +0 -1
  2306. package/packages/emotion/node_modules/caniuse-lite/data/features/svg-css.js +0 -1
  2307. package/packages/emotion/node_modules/caniuse-lite/data/features/svg-filters.js +0 -1
  2308. package/packages/emotion/node_modules/caniuse-lite/data/features/svg-fonts.js +0 -1
  2309. package/packages/emotion/node_modules/caniuse-lite/data/features/svg-fragment.js +0 -1
  2310. package/packages/emotion/node_modules/caniuse-lite/data/features/svg-html.js +0 -1
  2311. package/packages/emotion/node_modules/caniuse-lite/data/features/svg-html5.js +0 -1
  2312. package/packages/emotion/node_modules/caniuse-lite/data/features/svg-img.js +0 -1
  2313. package/packages/emotion/node_modules/caniuse-lite/data/features/svg-smil.js +0 -1
  2314. package/packages/emotion/node_modules/caniuse-lite/data/features/svg.js +0 -1
  2315. package/packages/emotion/node_modules/caniuse-lite/data/features/sxg.js +0 -1
  2316. package/packages/emotion/node_modules/caniuse-lite/data/features/tabindex-attr.js +0 -1
  2317. package/packages/emotion/node_modules/caniuse-lite/data/features/template-literals.js +0 -1
  2318. package/packages/emotion/node_modules/caniuse-lite/data/features/template.js +0 -1
  2319. package/packages/emotion/node_modules/caniuse-lite/data/features/temporal.js +0 -1
  2320. package/packages/emotion/node_modules/caniuse-lite/data/features/testfeat.js +0 -1
  2321. package/packages/emotion/node_modules/caniuse-lite/data/features/text-decoration.js +0 -1
  2322. package/packages/emotion/node_modules/caniuse-lite/data/features/text-emphasis.js +0 -1
  2323. package/packages/emotion/node_modules/caniuse-lite/data/features/text-overflow.js +0 -1
  2324. package/packages/emotion/node_modules/caniuse-lite/data/features/text-size-adjust.js +0 -1
  2325. package/packages/emotion/node_modules/caniuse-lite/data/features/text-stroke.js +0 -1
  2326. package/packages/emotion/node_modules/caniuse-lite/data/features/textcontent.js +0 -1
  2327. package/packages/emotion/node_modules/caniuse-lite/data/features/textencoder.js +0 -1
  2328. package/packages/emotion/node_modules/caniuse-lite/data/features/tls1-1.js +0 -1
  2329. package/packages/emotion/node_modules/caniuse-lite/data/features/tls1-2.js +0 -1
  2330. package/packages/emotion/node_modules/caniuse-lite/data/features/tls1-3.js +0 -1
  2331. package/packages/emotion/node_modules/caniuse-lite/data/features/touch.js +0 -1
  2332. package/packages/emotion/node_modules/caniuse-lite/data/features/transforms2d.js +0 -1
  2333. package/packages/emotion/node_modules/caniuse-lite/data/features/transforms3d.js +0 -1
  2334. package/packages/emotion/node_modules/caniuse-lite/data/features/trusted-types.js +0 -1
  2335. package/packages/emotion/node_modules/caniuse-lite/data/features/ttf.js +0 -1
  2336. package/packages/emotion/node_modules/caniuse-lite/data/features/typedarrays.js +0 -1
  2337. package/packages/emotion/node_modules/caniuse-lite/data/features/u2f.js +0 -1
  2338. package/packages/emotion/node_modules/caniuse-lite/data/features/unhandledrejection.js +0 -1
  2339. package/packages/emotion/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js +0 -1
  2340. package/packages/emotion/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js +0 -1
  2341. package/packages/emotion/node_modules/caniuse-lite/data/features/url.js +0 -1
  2342. package/packages/emotion/node_modules/caniuse-lite/data/features/urlsearchparams.js +0 -1
  2343. package/packages/emotion/node_modules/caniuse-lite/data/features/use-strict.js +0 -1
  2344. package/packages/emotion/node_modules/caniuse-lite/data/features/user-select-none.js +0 -1
  2345. package/packages/emotion/node_modules/caniuse-lite/data/features/user-timing.js +0 -1
  2346. package/packages/emotion/node_modules/caniuse-lite/data/features/variable-fonts.js +0 -1
  2347. package/packages/emotion/node_modules/caniuse-lite/data/features/vector-effect.js +0 -1
  2348. package/packages/emotion/node_modules/caniuse-lite/data/features/vibration.js +0 -1
  2349. package/packages/emotion/node_modules/caniuse-lite/data/features/video.js +0 -1
  2350. package/packages/emotion/node_modules/caniuse-lite/data/features/videotracks.js +0 -1
  2351. package/packages/emotion/node_modules/caniuse-lite/data/features/viewport-unit-variants.js +0 -1
  2352. package/packages/emotion/node_modules/caniuse-lite/data/features/viewport-units.js +0 -1
  2353. package/packages/emotion/node_modules/caniuse-lite/data/features/wai-aria.js +0 -1
  2354. package/packages/emotion/node_modules/caniuse-lite/data/features/wake-lock.js +0 -1
  2355. package/packages/emotion/node_modules/caniuse-lite/data/features/wasm.js +0 -1
  2356. package/packages/emotion/node_modules/caniuse-lite/data/features/wav.js +0 -1
  2357. package/packages/emotion/node_modules/caniuse-lite/data/features/wbr-element.js +0 -1
  2358. package/packages/emotion/node_modules/caniuse-lite/data/features/web-animation.js +0 -1
  2359. package/packages/emotion/node_modules/caniuse-lite/data/features/web-app-manifest.js +0 -1
  2360. package/packages/emotion/node_modules/caniuse-lite/data/features/web-bluetooth.js +0 -1
  2361. package/packages/emotion/node_modules/caniuse-lite/data/features/web-serial.js +0 -1
  2362. package/packages/emotion/node_modules/caniuse-lite/data/features/web-share.js +0 -1
  2363. package/packages/emotion/node_modules/caniuse-lite/data/features/webauthn.js +0 -1
  2364. package/packages/emotion/node_modules/caniuse-lite/data/features/webcodecs.js +0 -1
  2365. package/packages/emotion/node_modules/caniuse-lite/data/features/webgl.js +0 -1
  2366. package/packages/emotion/node_modules/caniuse-lite/data/features/webgl2.js +0 -1
  2367. package/packages/emotion/node_modules/caniuse-lite/data/features/webgpu.js +0 -1
  2368. package/packages/emotion/node_modules/caniuse-lite/data/features/webhid.js +0 -1
  2369. package/packages/emotion/node_modules/caniuse-lite/data/features/webkit-user-drag.js +0 -1
  2370. package/packages/emotion/node_modules/caniuse-lite/data/features/webm.js +0 -1
  2371. package/packages/emotion/node_modules/caniuse-lite/data/features/webnfc.js +0 -1
  2372. package/packages/emotion/node_modules/caniuse-lite/data/features/webp.js +0 -1
  2373. package/packages/emotion/node_modules/caniuse-lite/data/features/websockets.js +0 -1
  2374. package/packages/emotion/node_modules/caniuse-lite/data/features/webtransport.js +0 -1
  2375. package/packages/emotion/node_modules/caniuse-lite/data/features/webusb.js +0 -1
  2376. package/packages/emotion/node_modules/caniuse-lite/data/features/webvr.js +0 -1
  2377. package/packages/emotion/node_modules/caniuse-lite/data/features/webvtt.js +0 -1
  2378. package/packages/emotion/node_modules/caniuse-lite/data/features/webworkers.js +0 -1
  2379. package/packages/emotion/node_modules/caniuse-lite/data/features/webxr.js +0 -1
  2380. package/packages/emotion/node_modules/caniuse-lite/data/features/will-change.js +0 -1
  2381. package/packages/emotion/node_modules/caniuse-lite/data/features/woff.js +0 -1
  2382. package/packages/emotion/node_modules/caniuse-lite/data/features/woff2.js +0 -1
  2383. package/packages/emotion/node_modules/caniuse-lite/data/features/word-break.js +0 -1
  2384. package/packages/emotion/node_modules/caniuse-lite/data/features/wordwrap.js +0 -1
  2385. package/packages/emotion/node_modules/caniuse-lite/data/features/x-doc-messaging.js +0 -1
  2386. package/packages/emotion/node_modules/caniuse-lite/data/features/x-frame-options.js +0 -1
  2387. package/packages/emotion/node_modules/caniuse-lite/data/features/xhr2.js +0 -1
  2388. package/packages/emotion/node_modules/caniuse-lite/data/features/xhtml.js +0 -1
  2389. package/packages/emotion/node_modules/caniuse-lite/data/features/xhtmlsmil.js +0 -1
  2390. package/packages/emotion/node_modules/caniuse-lite/data/features/xml-serializer.js +0 -1
  2391. package/packages/emotion/node_modules/caniuse-lite/data/features.js +0 -1
  2392. package/packages/emotion/node_modules/caniuse-lite/data/regions/AD.js +0 -1
  2393. package/packages/emotion/node_modules/caniuse-lite/data/regions/AE.js +0 -1
  2394. package/packages/emotion/node_modules/caniuse-lite/data/regions/AF.js +0 -1
  2395. package/packages/emotion/node_modules/caniuse-lite/data/regions/AG.js +0 -1
  2396. package/packages/emotion/node_modules/caniuse-lite/data/regions/AI.js +0 -1
  2397. package/packages/emotion/node_modules/caniuse-lite/data/regions/AL.js +0 -1
  2398. package/packages/emotion/node_modules/caniuse-lite/data/regions/AM.js +0 -1
  2399. package/packages/emotion/node_modules/caniuse-lite/data/regions/AO.js +0 -1
  2400. package/packages/emotion/node_modules/caniuse-lite/data/regions/AR.js +0 -1
  2401. package/packages/emotion/node_modules/caniuse-lite/data/regions/AS.js +0 -1
  2402. package/packages/emotion/node_modules/caniuse-lite/data/regions/AT.js +0 -1
  2403. package/packages/emotion/node_modules/caniuse-lite/data/regions/AU.js +0 -1
  2404. package/packages/emotion/node_modules/caniuse-lite/data/regions/AW.js +0 -1
  2405. package/packages/emotion/node_modules/caniuse-lite/data/regions/AX.js +0 -1
  2406. package/packages/emotion/node_modules/caniuse-lite/data/regions/AZ.js +0 -1
  2407. package/packages/emotion/node_modules/caniuse-lite/data/regions/BA.js +0 -1
  2408. package/packages/emotion/node_modules/caniuse-lite/data/regions/BB.js +0 -1
  2409. package/packages/emotion/node_modules/caniuse-lite/data/regions/BD.js +0 -1
  2410. package/packages/emotion/node_modules/caniuse-lite/data/regions/BE.js +0 -1
  2411. package/packages/emotion/node_modules/caniuse-lite/data/regions/BF.js +0 -1
  2412. package/packages/emotion/node_modules/caniuse-lite/data/regions/BG.js +0 -1
  2413. package/packages/emotion/node_modules/caniuse-lite/data/regions/BH.js +0 -1
  2414. package/packages/emotion/node_modules/caniuse-lite/data/regions/BI.js +0 -1
  2415. package/packages/emotion/node_modules/caniuse-lite/data/regions/BJ.js +0 -1
  2416. package/packages/emotion/node_modules/caniuse-lite/data/regions/BM.js +0 -1
  2417. package/packages/emotion/node_modules/caniuse-lite/data/regions/BN.js +0 -1
  2418. package/packages/emotion/node_modules/caniuse-lite/data/regions/BO.js +0 -1
  2419. package/packages/emotion/node_modules/caniuse-lite/data/regions/BR.js +0 -1
  2420. package/packages/emotion/node_modules/caniuse-lite/data/regions/BS.js +0 -1
  2421. package/packages/emotion/node_modules/caniuse-lite/data/regions/BT.js +0 -1
  2422. package/packages/emotion/node_modules/caniuse-lite/data/regions/BW.js +0 -1
  2423. package/packages/emotion/node_modules/caniuse-lite/data/regions/BY.js +0 -1
  2424. package/packages/emotion/node_modules/caniuse-lite/data/regions/BZ.js +0 -1
  2425. package/packages/emotion/node_modules/caniuse-lite/data/regions/CA.js +0 -1
  2426. package/packages/emotion/node_modules/caniuse-lite/data/regions/CD.js +0 -1
  2427. package/packages/emotion/node_modules/caniuse-lite/data/regions/CF.js +0 -1
  2428. package/packages/emotion/node_modules/caniuse-lite/data/regions/CG.js +0 -1
  2429. package/packages/emotion/node_modules/caniuse-lite/data/regions/CH.js +0 -1
  2430. package/packages/emotion/node_modules/caniuse-lite/data/regions/CI.js +0 -1
  2431. package/packages/emotion/node_modules/caniuse-lite/data/regions/CK.js +0 -1
  2432. package/packages/emotion/node_modules/caniuse-lite/data/regions/CL.js +0 -1
  2433. package/packages/emotion/node_modules/caniuse-lite/data/regions/CM.js +0 -1
  2434. package/packages/emotion/node_modules/caniuse-lite/data/regions/CN.js +0 -1
  2435. package/packages/emotion/node_modules/caniuse-lite/data/regions/CO.js +0 -1
  2436. package/packages/emotion/node_modules/caniuse-lite/data/regions/CR.js +0 -1
  2437. package/packages/emotion/node_modules/caniuse-lite/data/regions/CU.js +0 -1
  2438. package/packages/emotion/node_modules/caniuse-lite/data/regions/CV.js +0 -1
  2439. package/packages/emotion/node_modules/caniuse-lite/data/regions/CX.js +0 -1
  2440. package/packages/emotion/node_modules/caniuse-lite/data/regions/CY.js +0 -1
  2441. package/packages/emotion/node_modules/caniuse-lite/data/regions/CZ.js +0 -1
  2442. package/packages/emotion/node_modules/caniuse-lite/data/regions/DE.js +0 -1
  2443. package/packages/emotion/node_modules/caniuse-lite/data/regions/DJ.js +0 -1
  2444. package/packages/emotion/node_modules/caniuse-lite/data/regions/DK.js +0 -1
  2445. package/packages/emotion/node_modules/caniuse-lite/data/regions/DM.js +0 -1
  2446. package/packages/emotion/node_modules/caniuse-lite/data/regions/DO.js +0 -1
  2447. package/packages/emotion/node_modules/caniuse-lite/data/regions/DZ.js +0 -1
  2448. package/packages/emotion/node_modules/caniuse-lite/data/regions/EC.js +0 -1
  2449. package/packages/emotion/node_modules/caniuse-lite/data/regions/EE.js +0 -1
  2450. package/packages/emotion/node_modules/caniuse-lite/data/regions/EG.js +0 -1
  2451. package/packages/emotion/node_modules/caniuse-lite/data/regions/ER.js +0 -1
  2452. package/packages/emotion/node_modules/caniuse-lite/data/regions/ES.js +0 -1
  2453. package/packages/emotion/node_modules/caniuse-lite/data/regions/ET.js +0 -1
  2454. package/packages/emotion/node_modules/caniuse-lite/data/regions/FI.js +0 -1
  2455. package/packages/emotion/node_modules/caniuse-lite/data/regions/FJ.js +0 -1
  2456. package/packages/emotion/node_modules/caniuse-lite/data/regions/FK.js +0 -1
  2457. package/packages/emotion/node_modules/caniuse-lite/data/regions/FM.js +0 -1
  2458. package/packages/emotion/node_modules/caniuse-lite/data/regions/FO.js +0 -1
  2459. package/packages/emotion/node_modules/caniuse-lite/data/regions/FR.js +0 -1
  2460. package/packages/emotion/node_modules/caniuse-lite/data/regions/GA.js +0 -1
  2461. package/packages/emotion/node_modules/caniuse-lite/data/regions/GB.js +0 -1
  2462. package/packages/emotion/node_modules/caniuse-lite/data/regions/GD.js +0 -1
  2463. package/packages/emotion/node_modules/caniuse-lite/data/regions/GE.js +0 -1
  2464. package/packages/emotion/node_modules/caniuse-lite/data/regions/GF.js +0 -1
  2465. package/packages/emotion/node_modules/caniuse-lite/data/regions/GG.js +0 -1
  2466. package/packages/emotion/node_modules/caniuse-lite/data/regions/GH.js +0 -1
  2467. package/packages/emotion/node_modules/caniuse-lite/data/regions/GI.js +0 -1
  2468. package/packages/emotion/node_modules/caniuse-lite/data/regions/GL.js +0 -1
  2469. package/packages/emotion/node_modules/caniuse-lite/data/regions/GM.js +0 -1
  2470. package/packages/emotion/node_modules/caniuse-lite/data/regions/GN.js +0 -1
  2471. package/packages/emotion/node_modules/caniuse-lite/data/regions/GP.js +0 -1
  2472. package/packages/emotion/node_modules/caniuse-lite/data/regions/GQ.js +0 -1
  2473. package/packages/emotion/node_modules/caniuse-lite/data/regions/GR.js +0 -1
  2474. package/packages/emotion/node_modules/caniuse-lite/data/regions/GT.js +0 -1
  2475. package/packages/emotion/node_modules/caniuse-lite/data/regions/GU.js +0 -1
  2476. package/packages/emotion/node_modules/caniuse-lite/data/regions/GW.js +0 -1
  2477. package/packages/emotion/node_modules/caniuse-lite/data/regions/GY.js +0 -1
  2478. package/packages/emotion/node_modules/caniuse-lite/data/regions/HK.js +0 -1
  2479. package/packages/emotion/node_modules/caniuse-lite/data/regions/HN.js +0 -1
  2480. package/packages/emotion/node_modules/caniuse-lite/data/regions/HR.js +0 -1
  2481. package/packages/emotion/node_modules/caniuse-lite/data/regions/HT.js +0 -1
  2482. package/packages/emotion/node_modules/caniuse-lite/data/regions/HU.js +0 -1
  2483. package/packages/emotion/node_modules/caniuse-lite/data/regions/ID.js +0 -1
  2484. package/packages/emotion/node_modules/caniuse-lite/data/regions/IE.js +0 -1
  2485. package/packages/emotion/node_modules/caniuse-lite/data/regions/IL.js +0 -1
  2486. package/packages/emotion/node_modules/caniuse-lite/data/regions/IM.js +0 -1
  2487. package/packages/emotion/node_modules/caniuse-lite/data/regions/IN.js +0 -1
  2488. package/packages/emotion/node_modules/caniuse-lite/data/regions/IQ.js +0 -1
  2489. package/packages/emotion/node_modules/caniuse-lite/data/regions/IR.js +0 -1
  2490. package/packages/emotion/node_modules/caniuse-lite/data/regions/IS.js +0 -1
  2491. package/packages/emotion/node_modules/caniuse-lite/data/regions/IT.js +0 -1
  2492. package/packages/emotion/node_modules/caniuse-lite/data/regions/JE.js +0 -1
  2493. package/packages/emotion/node_modules/caniuse-lite/data/regions/JM.js +0 -1
  2494. package/packages/emotion/node_modules/caniuse-lite/data/regions/JO.js +0 -1
  2495. package/packages/emotion/node_modules/caniuse-lite/data/regions/JP.js +0 -1
  2496. package/packages/emotion/node_modules/caniuse-lite/data/regions/KE.js +0 -1
  2497. package/packages/emotion/node_modules/caniuse-lite/data/regions/KG.js +0 -1
  2498. package/packages/emotion/node_modules/caniuse-lite/data/regions/KH.js +0 -1
  2499. package/packages/emotion/node_modules/caniuse-lite/data/regions/KI.js +0 -1
  2500. package/packages/emotion/node_modules/caniuse-lite/data/regions/KM.js +0 -1
  2501. package/packages/emotion/node_modules/caniuse-lite/data/regions/KN.js +0 -1
  2502. package/packages/emotion/node_modules/caniuse-lite/data/regions/KP.js +0 -1
  2503. package/packages/emotion/node_modules/caniuse-lite/data/regions/KR.js +0 -1
  2504. package/packages/emotion/node_modules/caniuse-lite/data/regions/KW.js +0 -1
  2505. package/packages/emotion/node_modules/caniuse-lite/data/regions/KY.js +0 -1
  2506. package/packages/emotion/node_modules/caniuse-lite/data/regions/KZ.js +0 -1
  2507. package/packages/emotion/node_modules/caniuse-lite/data/regions/LA.js +0 -1
  2508. package/packages/emotion/node_modules/caniuse-lite/data/regions/LB.js +0 -1
  2509. package/packages/emotion/node_modules/caniuse-lite/data/regions/LC.js +0 -1
  2510. package/packages/emotion/node_modules/caniuse-lite/data/regions/LI.js +0 -1
  2511. package/packages/emotion/node_modules/caniuse-lite/data/regions/LK.js +0 -1
  2512. package/packages/emotion/node_modules/caniuse-lite/data/regions/LR.js +0 -1
  2513. package/packages/emotion/node_modules/caniuse-lite/data/regions/LS.js +0 -1
  2514. package/packages/emotion/node_modules/caniuse-lite/data/regions/LT.js +0 -1
  2515. package/packages/emotion/node_modules/caniuse-lite/data/regions/LU.js +0 -1
  2516. package/packages/emotion/node_modules/caniuse-lite/data/regions/LV.js +0 -1
  2517. package/packages/emotion/node_modules/caniuse-lite/data/regions/LY.js +0 -1
  2518. package/packages/emotion/node_modules/caniuse-lite/data/regions/MA.js +0 -1
  2519. package/packages/emotion/node_modules/caniuse-lite/data/regions/MC.js +0 -1
  2520. package/packages/emotion/node_modules/caniuse-lite/data/regions/MD.js +0 -1
  2521. package/packages/emotion/node_modules/caniuse-lite/data/regions/ME.js +0 -1
  2522. package/packages/emotion/node_modules/caniuse-lite/data/regions/MG.js +0 -1
  2523. package/packages/emotion/node_modules/caniuse-lite/data/regions/MH.js +0 -1
  2524. package/packages/emotion/node_modules/caniuse-lite/data/regions/MK.js +0 -1
  2525. package/packages/emotion/node_modules/caniuse-lite/data/regions/ML.js +0 -1
  2526. package/packages/emotion/node_modules/caniuse-lite/data/regions/MM.js +0 -1
  2527. package/packages/emotion/node_modules/caniuse-lite/data/regions/MN.js +0 -1
  2528. package/packages/emotion/node_modules/caniuse-lite/data/regions/MO.js +0 -1
  2529. package/packages/emotion/node_modules/caniuse-lite/data/regions/MP.js +0 -1
  2530. package/packages/emotion/node_modules/caniuse-lite/data/regions/MQ.js +0 -1
  2531. package/packages/emotion/node_modules/caniuse-lite/data/regions/MR.js +0 -1
  2532. package/packages/emotion/node_modules/caniuse-lite/data/regions/MS.js +0 -1
  2533. package/packages/emotion/node_modules/caniuse-lite/data/regions/MT.js +0 -1
  2534. package/packages/emotion/node_modules/caniuse-lite/data/regions/MU.js +0 -1
  2535. package/packages/emotion/node_modules/caniuse-lite/data/regions/MV.js +0 -1
  2536. package/packages/emotion/node_modules/caniuse-lite/data/regions/MW.js +0 -1
  2537. package/packages/emotion/node_modules/caniuse-lite/data/regions/MX.js +0 -1
  2538. package/packages/emotion/node_modules/caniuse-lite/data/regions/MY.js +0 -1
  2539. package/packages/emotion/node_modules/caniuse-lite/data/regions/MZ.js +0 -1
  2540. package/packages/emotion/node_modules/caniuse-lite/data/regions/NA.js +0 -1
  2541. package/packages/emotion/node_modules/caniuse-lite/data/regions/NC.js +0 -1
  2542. package/packages/emotion/node_modules/caniuse-lite/data/regions/NE.js +0 -1
  2543. package/packages/emotion/node_modules/caniuse-lite/data/regions/NF.js +0 -1
  2544. package/packages/emotion/node_modules/caniuse-lite/data/regions/NG.js +0 -1
  2545. package/packages/emotion/node_modules/caniuse-lite/data/regions/NI.js +0 -1
  2546. package/packages/emotion/node_modules/caniuse-lite/data/regions/NL.js +0 -1
  2547. package/packages/emotion/node_modules/caniuse-lite/data/regions/NO.js +0 -1
  2548. package/packages/emotion/node_modules/caniuse-lite/data/regions/NP.js +0 -1
  2549. package/packages/emotion/node_modules/caniuse-lite/data/regions/NR.js +0 -1
  2550. package/packages/emotion/node_modules/caniuse-lite/data/regions/NU.js +0 -1
  2551. package/packages/emotion/node_modules/caniuse-lite/data/regions/NZ.js +0 -1
  2552. package/packages/emotion/node_modules/caniuse-lite/data/regions/OM.js +0 -1
  2553. package/packages/emotion/node_modules/caniuse-lite/data/regions/PA.js +0 -1
  2554. package/packages/emotion/node_modules/caniuse-lite/data/regions/PE.js +0 -1
  2555. package/packages/emotion/node_modules/caniuse-lite/data/regions/PF.js +0 -1
  2556. package/packages/emotion/node_modules/caniuse-lite/data/regions/PG.js +0 -1
  2557. package/packages/emotion/node_modules/caniuse-lite/data/regions/PH.js +0 -1
  2558. package/packages/emotion/node_modules/caniuse-lite/data/regions/PK.js +0 -1
  2559. package/packages/emotion/node_modules/caniuse-lite/data/regions/PL.js +0 -1
  2560. package/packages/emotion/node_modules/caniuse-lite/data/regions/PM.js +0 -1
  2561. package/packages/emotion/node_modules/caniuse-lite/data/regions/PN.js +0 -1
  2562. package/packages/emotion/node_modules/caniuse-lite/data/regions/PR.js +0 -1
  2563. package/packages/emotion/node_modules/caniuse-lite/data/regions/PS.js +0 -1
  2564. package/packages/emotion/node_modules/caniuse-lite/data/regions/PT.js +0 -1
  2565. package/packages/emotion/node_modules/caniuse-lite/data/regions/PW.js +0 -1
  2566. package/packages/emotion/node_modules/caniuse-lite/data/regions/PY.js +0 -1
  2567. package/packages/emotion/node_modules/caniuse-lite/data/regions/QA.js +0 -1
  2568. package/packages/emotion/node_modules/caniuse-lite/data/regions/RE.js +0 -1
  2569. package/packages/emotion/node_modules/caniuse-lite/data/regions/RO.js +0 -1
  2570. package/packages/emotion/node_modules/caniuse-lite/data/regions/RS.js +0 -1
  2571. package/packages/emotion/node_modules/caniuse-lite/data/regions/RU.js +0 -1
  2572. package/packages/emotion/node_modules/caniuse-lite/data/regions/RW.js +0 -1
  2573. package/packages/emotion/node_modules/caniuse-lite/data/regions/SA.js +0 -1
  2574. package/packages/emotion/node_modules/caniuse-lite/data/regions/SB.js +0 -1
  2575. package/packages/emotion/node_modules/caniuse-lite/data/regions/SC.js +0 -1
  2576. package/packages/emotion/node_modules/caniuse-lite/data/regions/SD.js +0 -1
  2577. package/packages/emotion/node_modules/caniuse-lite/data/regions/SE.js +0 -1
  2578. package/packages/emotion/node_modules/caniuse-lite/data/regions/SG.js +0 -1
  2579. package/packages/emotion/node_modules/caniuse-lite/data/regions/SH.js +0 -1
  2580. package/packages/emotion/node_modules/caniuse-lite/data/regions/SI.js +0 -1
  2581. package/packages/emotion/node_modules/caniuse-lite/data/regions/SK.js +0 -1
  2582. package/packages/emotion/node_modules/caniuse-lite/data/regions/SL.js +0 -1
  2583. package/packages/emotion/node_modules/caniuse-lite/data/regions/SM.js +0 -1
  2584. package/packages/emotion/node_modules/caniuse-lite/data/regions/SN.js +0 -1
  2585. package/packages/emotion/node_modules/caniuse-lite/data/regions/SO.js +0 -1
  2586. package/packages/emotion/node_modules/caniuse-lite/data/regions/SR.js +0 -1
  2587. package/packages/emotion/node_modules/caniuse-lite/data/regions/ST.js +0 -1
  2588. package/packages/emotion/node_modules/caniuse-lite/data/regions/SV.js +0 -1
  2589. package/packages/emotion/node_modules/caniuse-lite/data/regions/SY.js +0 -1
  2590. package/packages/emotion/node_modules/caniuse-lite/data/regions/SZ.js +0 -1
  2591. package/packages/emotion/node_modules/caniuse-lite/data/regions/TC.js +0 -1
  2592. package/packages/emotion/node_modules/caniuse-lite/data/regions/TD.js +0 -1
  2593. package/packages/emotion/node_modules/caniuse-lite/data/regions/TG.js +0 -1
  2594. package/packages/emotion/node_modules/caniuse-lite/data/regions/TH.js +0 -1
  2595. package/packages/emotion/node_modules/caniuse-lite/data/regions/TJ.js +0 -1
  2596. package/packages/emotion/node_modules/caniuse-lite/data/regions/TK.js +0 -1
  2597. package/packages/emotion/node_modules/caniuse-lite/data/regions/TL.js +0 -1
  2598. package/packages/emotion/node_modules/caniuse-lite/data/regions/TM.js +0 -1
  2599. package/packages/emotion/node_modules/caniuse-lite/data/regions/TN.js +0 -1
  2600. package/packages/emotion/node_modules/caniuse-lite/data/regions/TO.js +0 -1
  2601. package/packages/emotion/node_modules/caniuse-lite/data/regions/TR.js +0 -1
  2602. package/packages/emotion/node_modules/caniuse-lite/data/regions/TT.js +0 -1
  2603. package/packages/emotion/node_modules/caniuse-lite/data/regions/TV.js +0 -1
  2604. package/packages/emotion/node_modules/caniuse-lite/data/regions/TW.js +0 -1
  2605. package/packages/emotion/node_modules/caniuse-lite/data/regions/TZ.js +0 -1
  2606. package/packages/emotion/node_modules/caniuse-lite/data/regions/UA.js +0 -1
  2607. package/packages/emotion/node_modules/caniuse-lite/data/regions/UG.js +0 -1
  2608. package/packages/emotion/node_modules/caniuse-lite/data/regions/US.js +0 -1
  2609. package/packages/emotion/node_modules/caniuse-lite/data/regions/UY.js +0 -1
  2610. package/packages/emotion/node_modules/caniuse-lite/data/regions/UZ.js +0 -1
  2611. package/packages/emotion/node_modules/caniuse-lite/data/regions/VA.js +0 -1
  2612. package/packages/emotion/node_modules/caniuse-lite/data/regions/VC.js +0 -1
  2613. package/packages/emotion/node_modules/caniuse-lite/data/regions/VE.js +0 -1
  2614. package/packages/emotion/node_modules/caniuse-lite/data/regions/VG.js +0 -1
  2615. package/packages/emotion/node_modules/caniuse-lite/data/regions/VI.js +0 -1
  2616. package/packages/emotion/node_modules/caniuse-lite/data/regions/VN.js +0 -1
  2617. package/packages/emotion/node_modules/caniuse-lite/data/regions/VU.js +0 -1
  2618. package/packages/emotion/node_modules/caniuse-lite/data/regions/WF.js +0 -1
  2619. package/packages/emotion/node_modules/caniuse-lite/data/regions/WS.js +0 -1
  2620. package/packages/emotion/node_modules/caniuse-lite/data/regions/YE.js +0 -1
  2621. package/packages/emotion/node_modules/caniuse-lite/data/regions/YT.js +0 -1
  2622. package/packages/emotion/node_modules/caniuse-lite/data/regions/ZA.js +0 -1
  2623. package/packages/emotion/node_modules/caniuse-lite/data/regions/ZM.js +0 -1
  2624. package/packages/emotion/node_modules/caniuse-lite/data/regions/ZW.js +0 -1
  2625. package/packages/emotion/node_modules/caniuse-lite/data/regions/alt-af.js +0 -1
  2626. package/packages/emotion/node_modules/caniuse-lite/data/regions/alt-an.js +0 -1
  2627. package/packages/emotion/node_modules/caniuse-lite/data/regions/alt-as.js +0 -1
  2628. package/packages/emotion/node_modules/caniuse-lite/data/regions/alt-eu.js +0 -1
  2629. package/packages/emotion/node_modules/caniuse-lite/data/regions/alt-na.js +0 -1
  2630. package/packages/emotion/node_modules/caniuse-lite/data/regions/alt-oc.js +0 -1
  2631. package/packages/emotion/node_modules/caniuse-lite/data/regions/alt-sa.js +0 -1
  2632. package/packages/emotion/node_modules/caniuse-lite/data/regions/alt-ww.js +0 -1
  2633. package/packages/emotion/node_modules/caniuse-lite/dist/lib/statuses.js +0 -9
  2634. package/packages/emotion/node_modules/caniuse-lite/dist/lib/supported.js +0 -9
  2635. package/packages/emotion/node_modules/caniuse-lite/dist/unpacker/agents.js +0 -47
  2636. package/packages/emotion/node_modules/caniuse-lite/dist/unpacker/browserVersions.js +0 -1
  2637. package/packages/emotion/node_modules/caniuse-lite/dist/unpacker/browsers.js +0 -1
  2638. package/packages/emotion/node_modules/caniuse-lite/dist/unpacker/feature.js +0 -48
  2639. package/packages/emotion/node_modules/caniuse-lite/dist/unpacker/features.js +0 -6
  2640. package/packages/emotion/node_modules/caniuse-lite/dist/unpacker/index.js +0 -4
  2641. package/packages/emotion/node_modules/caniuse-lite/dist/unpacker/region.js +0 -22
  2642. package/packages/emotion/node_modules/caniuse-lite/package.json +0 -34
  2643. package/packages/emotion/node_modules/chalk/index.js +0 -228
  2644. package/packages/emotion/node_modules/chalk/index.js.flow +0 -93
  2645. package/packages/emotion/node_modules/chalk/license +0 -9
  2646. package/packages/emotion/node_modules/chalk/node_modules/escape-string-regexp/index.js +0 -11
  2647. package/packages/emotion/node_modules/chalk/node_modules/escape-string-regexp/license +0 -21
  2648. package/packages/emotion/node_modules/chalk/node_modules/escape-string-regexp/package.json +0 -41
  2649. package/packages/emotion/node_modules/chalk/node_modules/escape-string-regexp/readme.md +0 -27
  2650. package/packages/emotion/node_modules/chalk/package.json +0 -71
  2651. package/packages/emotion/node_modules/chalk/readme.md +0 -314
  2652. package/packages/emotion/node_modules/chalk/templates.js +0 -128
  2653. package/packages/emotion/node_modules/chalk/types/index.d.ts +0 -97
  2654. package/packages/emotion/node_modules/color-convert/CHANGELOG.md +0 -54
  2655. package/packages/emotion/node_modules/color-convert/LICENSE +0 -21
  2656. package/packages/emotion/node_modules/color-convert/README.md +0 -68
  2657. package/packages/emotion/node_modules/color-convert/conversions.js +0 -868
  2658. package/packages/emotion/node_modules/color-convert/index.js +0 -78
  2659. package/packages/emotion/node_modules/color-convert/package.json +0 -46
  2660. package/packages/emotion/node_modules/color-convert/route.js +0 -97
  2661. package/packages/emotion/node_modules/color-name/.eslintrc.json +0 -43
  2662. package/packages/emotion/node_modules/color-name/LICENSE +0 -8
  2663. package/packages/emotion/node_modules/color-name/README.md +0 -11
  2664. package/packages/emotion/node_modules/color-name/index.js +0 -152
  2665. package/packages/emotion/node_modules/color-name/package.json +0 -25
  2666. package/packages/emotion/node_modules/color-name/test.js +0 -7
  2667. package/packages/emotion/node_modules/convert-source-map/LICENSE +0 -23
  2668. package/packages/emotion/node_modules/convert-source-map/README.md +0 -123
  2669. package/packages/emotion/node_modules/convert-source-map/index.js +0 -179
  2670. package/packages/emotion/node_modules/convert-source-map/package.json +0 -41
  2671. package/packages/emotion/node_modules/cosmiconfig/LICENSE +0 -22
  2672. package/packages/emotion/node_modules/cosmiconfig/README.md +0 -572
  2673. package/packages/emotion/node_modules/cosmiconfig/dist/Explorer.d.ts +0 -14
  2674. package/packages/emotion/node_modules/cosmiconfig/dist/Explorer.d.ts.map +0 -1
  2675. package/packages/emotion/node_modules/cosmiconfig/dist/Explorer.js +0 -118
  2676. package/packages/emotion/node_modules/cosmiconfig/dist/Explorer.js.map +0 -1
  2677. package/packages/emotion/node_modules/cosmiconfig/dist/ExplorerBase.d.ts +0 -21
  2678. package/packages/emotion/node_modules/cosmiconfig/dist/ExplorerBase.d.ts.map +0 -1
  2679. package/packages/emotion/node_modules/cosmiconfig/dist/ExplorerBase.js +0 -142
  2680. package/packages/emotion/node_modules/cosmiconfig/dist/ExplorerBase.js.map +0 -1
  2681. package/packages/emotion/node_modules/cosmiconfig/dist/ExplorerSync.d.ts +0 -14
  2682. package/packages/emotion/node_modules/cosmiconfig/dist/ExplorerSync.d.ts.map +0 -1
  2683. package/packages/emotion/node_modules/cosmiconfig/dist/ExplorerSync.js +0 -118
  2684. package/packages/emotion/node_modules/cosmiconfig/dist/ExplorerSync.js.map +0 -1
  2685. package/packages/emotion/node_modules/cosmiconfig/dist/cacheWrapper.d.ts +0 -5
  2686. package/packages/emotion/node_modules/cosmiconfig/dist/cacheWrapper.d.ts.map +0 -1
  2687. package/packages/emotion/node_modules/cosmiconfig/dist/cacheWrapper.js +0 -32
  2688. package/packages/emotion/node_modules/cosmiconfig/dist/cacheWrapper.js.map +0 -1
  2689. package/packages/emotion/node_modules/cosmiconfig/dist/getDirectory.d.ts +0 -4
  2690. package/packages/emotion/node_modules/cosmiconfig/dist/getDirectory.d.ts.map +0 -1
  2691. package/packages/emotion/node_modules/cosmiconfig/dist/getDirectory.js +0 -38
  2692. package/packages/emotion/node_modules/cosmiconfig/dist/getDirectory.js.map +0 -1
  2693. package/packages/emotion/node_modules/cosmiconfig/dist/getPropertyByPath.d.ts +0 -5
  2694. package/packages/emotion/node_modules/cosmiconfig/dist/getPropertyByPath.d.ts.map +0 -1
  2695. package/packages/emotion/node_modules/cosmiconfig/dist/getPropertyByPath.js +0 -28
  2696. package/packages/emotion/node_modules/cosmiconfig/dist/getPropertyByPath.js.map +0 -1
  2697. package/packages/emotion/node_modules/cosmiconfig/dist/index.d.ts +0 -45
  2698. package/packages/emotion/node_modules/cosmiconfig/dist/index.d.ts.map +0 -1
  2699. package/packages/emotion/node_modules/cosmiconfig/dist/index.js +0 -82
  2700. package/packages/emotion/node_modules/cosmiconfig/dist/index.js.map +0 -1
  2701. package/packages/emotion/node_modules/cosmiconfig/dist/loaders.d.ts +0 -4
  2702. package/packages/emotion/node_modules/cosmiconfig/dist/loaders.d.ts.map +0 -1
  2703. package/packages/emotion/node_modules/cosmiconfig/dist/loaders.js +0 -60
  2704. package/packages/emotion/node_modules/cosmiconfig/dist/loaders.js.map +0 -1
  2705. package/packages/emotion/node_modules/cosmiconfig/dist/readFile.d.ts +0 -7
  2706. package/packages/emotion/node_modules/cosmiconfig/dist/readFile.d.ts.map +0 -1
  2707. package/packages/emotion/node_modules/cosmiconfig/dist/readFile.js +0 -56
  2708. package/packages/emotion/node_modules/cosmiconfig/dist/readFile.js.map +0 -1
  2709. package/packages/emotion/node_modules/cosmiconfig/dist/types.d.ts +0 -20
  2710. package/packages/emotion/node_modules/cosmiconfig/dist/types.d.ts.map +0 -1
  2711. package/packages/emotion/node_modules/cosmiconfig/dist/types.js +0 -6
  2712. package/packages/emotion/node_modules/cosmiconfig/dist/types.js.map +0 -1
  2713. package/packages/emotion/node_modules/cosmiconfig/package.json +0 -145
  2714. package/packages/emotion/node_modules/csstype/LICENSE +0 -19
  2715. package/packages/emotion/node_modules/csstype/README.md +0 -271
  2716. package/packages/emotion/node_modules/csstype/index.d.ts +0 -20256
  2717. package/packages/emotion/node_modules/csstype/index.js.flow +0 -6325
  2718. package/packages/emotion/node_modules/csstype/package.json +0 -66
  2719. package/packages/emotion/node_modules/debug/LICENSE +0 -20
  2720. package/packages/emotion/node_modules/debug/README.md +0 -481
  2721. package/packages/emotion/node_modules/debug/package.json +0 -59
  2722. package/packages/emotion/node_modules/debug/src/browser.js +0 -269
  2723. package/packages/emotion/node_modules/debug/src/common.js +0 -274
  2724. package/packages/emotion/node_modules/debug/src/index.js +0 -10
  2725. package/packages/emotion/node_modules/debug/src/node.js +0 -263
  2726. package/packages/emotion/node_modules/electron-to-chromium/CHANGELOG.md +0 -14
  2727. package/packages/emotion/node_modules/electron-to-chromium/LICENSE +0 -5
  2728. package/packages/emotion/node_modules/electron-to-chromium/README.md +0 -186
  2729. package/packages/emotion/node_modules/electron-to-chromium/chromium-versions.js +0 -52
  2730. package/packages/emotion/node_modules/electron-to-chromium/chromium-versions.json +0 -1
  2731. package/packages/emotion/node_modules/electron-to-chromium/full-chromium-versions.js +0 -2188
  2732. package/packages/emotion/node_modules/electron-to-chromium/full-chromium-versions.json +0 -1
  2733. package/packages/emotion/node_modules/electron-to-chromium/full-versions.js +0 -1618
  2734. package/packages/emotion/node_modules/electron-to-chromium/full-versions.json +0 -1
  2735. package/packages/emotion/node_modules/electron-to-chromium/index.js +0 -36
  2736. package/packages/emotion/node_modules/electron-to-chromium/package.json +0 -42
  2737. package/packages/emotion/node_modules/electron-to-chromium/versions.js +0 -105
  2738. package/packages/emotion/node_modules/electron-to-chromium/versions.json +0 -1
  2739. package/packages/emotion/node_modules/error-ex/LICENSE +0 -21
  2740. package/packages/emotion/node_modules/error-ex/README.md +0 -144
  2741. package/packages/emotion/node_modules/error-ex/index.js +0 -141
  2742. package/packages/emotion/node_modules/error-ex/package.json +0 -46
  2743. package/packages/emotion/node_modules/escalade/dist/index.js +0 -22
  2744. package/packages/emotion/node_modules/escalade/dist/index.mjs +0 -22
  2745. package/packages/emotion/node_modules/escalade/index.d.ts +0 -3
  2746. package/packages/emotion/node_modules/escalade/license +0 -9
  2747. package/packages/emotion/node_modules/escalade/package.json +0 -61
  2748. package/packages/emotion/node_modules/escalade/readme.md +0 -211
  2749. package/packages/emotion/node_modules/escalade/sync/index.d.ts +0 -2
  2750. package/packages/emotion/node_modules/escalade/sync/index.js +0 -18
  2751. package/packages/emotion/node_modules/escalade/sync/index.mjs +0 -18
  2752. package/packages/emotion/node_modules/escape-string-regexp/index.d.ts +0 -18
  2753. package/packages/emotion/node_modules/escape-string-regexp/index.js +0 -13
  2754. package/packages/emotion/node_modules/escape-string-regexp/license +0 -9
  2755. package/packages/emotion/node_modules/escape-string-regexp/package.json +0 -38
  2756. package/packages/emotion/node_modules/escape-string-regexp/readme.md +0 -34
  2757. package/packages/emotion/node_modules/find-root/.travis.yml +0 -10
  2758. package/packages/emotion/node_modules/find-root/LICENSE.md +0 -7
  2759. package/packages/emotion/node_modules/find-root/README.md +0 -69
  2760. package/packages/emotion/node_modules/find-root/index.js +0 -31
  2761. package/packages/emotion/node_modules/find-root/package.json +0 -30
  2762. package/packages/emotion/node_modules/find-root/test/test.js +0 -61
  2763. package/packages/emotion/node_modules/function-bind/.editorconfig +0 -20
  2764. package/packages/emotion/node_modules/function-bind/.eslintrc +0 -15
  2765. package/packages/emotion/node_modules/function-bind/.jscs.json +0 -176
  2766. package/packages/emotion/node_modules/function-bind/.travis.yml +0 -168
  2767. package/packages/emotion/node_modules/function-bind/LICENSE +0 -20
  2768. package/packages/emotion/node_modules/function-bind/README.md +0 -48
  2769. package/packages/emotion/node_modules/function-bind/implementation.js +0 -52
  2770. package/packages/emotion/node_modules/function-bind/index.js +0 -5
  2771. package/packages/emotion/node_modules/function-bind/package.json +0 -63
  2772. package/packages/emotion/node_modules/function-bind/test/.eslintrc +0 -9
  2773. package/packages/emotion/node_modules/function-bind/test/index.js +0 -252
  2774. package/packages/emotion/node_modules/gensync/LICENSE +0 -7
  2775. package/packages/emotion/node_modules/gensync/README.md +0 -196
  2776. package/packages/emotion/node_modules/gensync/index.js +0 -373
  2777. package/packages/emotion/node_modules/gensync/index.js.flow +0 -32
  2778. package/packages/emotion/node_modules/gensync/package.json +0 -37
  2779. package/packages/emotion/node_modules/gensync/test/.babelrc +0 -5
  2780. package/packages/emotion/node_modules/gensync/test/index.test.js +0 -489
  2781. package/packages/emotion/node_modules/globals/globals.json +0 -1563
  2782. package/packages/emotion/node_modules/globals/index.js +0 -2
  2783. package/packages/emotion/node_modules/globals/license +0 -9
  2784. package/packages/emotion/node_modules/globals/package.json +0 -41
  2785. package/packages/emotion/node_modules/globals/readme.md +0 -41
  2786. package/packages/emotion/node_modules/has/LICENSE-MIT +0 -22
  2787. package/packages/emotion/node_modules/has/README.md +0 -18
  2788. package/packages/emotion/node_modules/has/package.json +0 -48
  2789. package/packages/emotion/node_modules/has/src/index.js +0 -5
  2790. package/packages/emotion/node_modules/has/test/index.js +0 -10
  2791. package/packages/emotion/node_modules/has-flag/index.js +0 -8
  2792. package/packages/emotion/node_modules/has-flag/license +0 -9
  2793. package/packages/emotion/node_modules/has-flag/package.json +0 -44
  2794. package/packages/emotion/node_modules/has-flag/readme.md +0 -70
  2795. package/packages/emotion/node_modules/import-fresh/index.d.ts +0 -30
  2796. package/packages/emotion/node_modules/import-fresh/index.js +0 -33
  2797. package/packages/emotion/node_modules/import-fresh/license +0 -9
  2798. package/packages/emotion/node_modules/import-fresh/package.json +0 -43
  2799. package/packages/emotion/node_modules/import-fresh/readme.md +0 -48
  2800. package/packages/emotion/node_modules/is-arrayish/.editorconfig +0 -18
  2801. package/packages/emotion/node_modules/is-arrayish/.istanbul.yml +0 -4
  2802. package/packages/emotion/node_modules/is-arrayish/.travis.yml +0 -17
  2803. package/packages/emotion/node_modules/is-arrayish/LICENSE +0 -21
  2804. package/packages/emotion/node_modules/is-arrayish/README.md +0 -16
  2805. package/packages/emotion/node_modules/is-arrayish/index.js +0 -10
  2806. package/packages/emotion/node_modules/is-arrayish/package.json +0 -34
  2807. package/packages/emotion/node_modules/is-core-module/.eslintrc +0 -18
  2808. package/packages/emotion/node_modules/is-core-module/.nycrc +0 -9
  2809. package/packages/emotion/node_modules/is-core-module/CHANGELOG.md +0 -151
  2810. package/packages/emotion/node_modules/is-core-module/LICENSE +0 -20
  2811. package/packages/emotion/node_modules/is-core-module/README.md +0 -40
  2812. package/packages/emotion/node_modules/is-core-module/core.json +0 -155
  2813. package/packages/emotion/node_modules/is-core-module/index.js +0 -69
  2814. package/packages/emotion/node_modules/is-core-module/package.json +0 -72
  2815. package/packages/emotion/node_modules/is-core-module/test/index.js +0 -133
  2816. package/packages/emotion/node_modules/js-tokens/CHANGELOG.md +0 -151
  2817. package/packages/emotion/node_modules/js-tokens/LICENSE +0 -21
  2818. package/packages/emotion/node_modules/js-tokens/README.md +0 -240
  2819. package/packages/emotion/node_modules/js-tokens/index.js +0 -23
  2820. package/packages/emotion/node_modules/js-tokens/package.json +0 -30
  2821. package/packages/emotion/node_modules/jsesc/LICENSE-MIT.txt +0 -20
  2822. package/packages/emotion/node_modules/jsesc/README.md +0 -421
  2823. package/packages/emotion/node_modules/jsesc/bin/jsesc +0 -148
  2824. package/packages/emotion/node_modules/jsesc/jsesc.js +0 -329
  2825. package/packages/emotion/node_modules/jsesc/man/jsesc.1 +0 -94
  2826. package/packages/emotion/node_modules/jsesc/package.json +0 -54
  2827. package/packages/emotion/node_modules/json-parse-even-better-errors/CHANGELOG.md +0 -50
  2828. package/packages/emotion/node_modules/json-parse-even-better-errors/LICENSE.md +0 -25
  2829. package/packages/emotion/node_modules/json-parse-even-better-errors/README.md +0 -96
  2830. package/packages/emotion/node_modules/json-parse-even-better-errors/index.js +0 -121
  2831. package/packages/emotion/node_modules/json-parse-even-better-errors/package.json +0 -33
  2832. package/packages/emotion/node_modules/json5/LICENSE.md +0 -23
  2833. package/packages/emotion/node_modules/json5/README.md +0 -234
  2834. package/packages/emotion/node_modules/json5/dist/index.js +0 -1710
  2835. package/packages/emotion/node_modules/json5/dist/index.min.js +0 -1
  2836. package/packages/emotion/node_modules/json5/dist/index.min.mjs +0 -1
  2837. package/packages/emotion/node_modules/json5/dist/index.mjs +0 -1399
  2838. package/packages/emotion/node_modules/json5/lib/cli.js +0 -152
  2839. package/packages/emotion/node_modules/json5/lib/index.d.ts +0 -4
  2840. package/packages/emotion/node_modules/json5/lib/index.js +0 -9
  2841. package/packages/emotion/node_modules/json5/lib/parse.d.ts +0 -15
  2842. package/packages/emotion/node_modules/json5/lib/parse.js +0 -1087
  2843. package/packages/emotion/node_modules/json5/lib/register.js +0 -13
  2844. package/packages/emotion/node_modules/json5/lib/require.js +0 -4
  2845. package/packages/emotion/node_modules/json5/lib/stringify.d.ts +0 -89
  2846. package/packages/emotion/node_modules/json5/lib/stringify.js +0 -261
  2847. package/packages/emotion/node_modules/json5/lib/unicode.d.ts +0 -3
  2848. package/packages/emotion/node_modules/json5/lib/unicode.js +0 -4
  2849. package/packages/emotion/node_modules/json5/lib/util.d.ts +0 -5
  2850. package/packages/emotion/node_modules/json5/lib/util.js +0 -35
  2851. package/packages/emotion/node_modules/json5/package.json +0 -69
  2852. package/packages/emotion/node_modules/lines-and-columns/LICENSE +0 -21
  2853. package/packages/emotion/node_modules/lines-and-columns/README.md +0 -33
  2854. package/packages/emotion/node_modules/lines-and-columns/build/index.d.ts +0 -13
  2855. package/packages/emotion/node_modules/lines-and-columns/build/index.js +0 -62
  2856. package/packages/emotion/node_modules/lines-and-columns/package.json +0 -49
  2857. package/packages/emotion/node_modules/ms/index.js +0 -162
  2858. package/packages/emotion/node_modules/ms/license.md +0 -21
  2859. package/packages/emotion/node_modules/ms/package.json +0 -37
  2860. package/packages/emotion/node_modules/ms/readme.md +0 -60
  2861. package/packages/emotion/node_modules/node-releases/LICENSE +0 -21
  2862. package/packages/emotion/node_modules/node-releases/README.md +0 -31
  2863. package/packages/emotion/node_modules/node-releases/data/processed/envs.json +0 -1
  2864. package/packages/emotion/node_modules/node-releases/data/release-schedule/release-schedule.json +0 -1
  2865. package/packages/emotion/node_modules/node-releases/package.json +0 -18
  2866. package/packages/emotion/node_modules/parent-module/index.js +0 -37
  2867. package/packages/emotion/node_modules/parent-module/license +0 -9
  2868. package/packages/emotion/node_modules/parent-module/package.json +0 -46
  2869. package/packages/emotion/node_modules/parent-module/readme.md +0 -67
  2870. package/packages/emotion/node_modules/parse-json/index.js +0 -54
  2871. package/packages/emotion/node_modules/parse-json/license +0 -9
  2872. package/packages/emotion/node_modules/parse-json/package.json +0 -45
  2873. package/packages/emotion/node_modules/parse-json/readme.md +0 -119
  2874. package/packages/emotion/node_modules/path-parse/LICENSE +0 -21
  2875. package/packages/emotion/node_modules/path-parse/README.md +0 -42
  2876. package/packages/emotion/node_modules/path-parse/index.js +0 -75
  2877. package/packages/emotion/node_modules/path-parse/package.json +0 -33
  2878. package/packages/emotion/node_modules/path-type/index.d.ts +0 -51
  2879. package/packages/emotion/node_modules/path-type/index.js +0 -43
  2880. package/packages/emotion/node_modules/path-type/license +0 -9
  2881. package/packages/emotion/node_modules/path-type/package.json +0 -45
  2882. package/packages/emotion/node_modules/path-type/readme.md +0 -72
  2883. package/packages/emotion/node_modules/picocolors/LICENSE +0 -15
  2884. package/packages/emotion/node_modules/picocolors/README.md +0 -21
  2885. package/packages/emotion/node_modules/picocolors/package.json +0 -25
  2886. package/packages/emotion/node_modules/picocolors/picocolors.browser.js +0 -4
  2887. package/packages/emotion/node_modules/picocolors/picocolors.d.ts +0 -5
  2888. package/packages/emotion/node_modules/picocolors/picocolors.js +0 -58
  2889. package/packages/emotion/node_modules/picocolors/types.ts +0 -30
  2890. package/packages/emotion/node_modules/regenerator-runtime/LICENSE +0 -21
  2891. package/packages/emotion/node_modules/regenerator-runtime/README.md +0 -31
  2892. package/packages/emotion/node_modules/regenerator-runtime/package.json +0 -19
  2893. package/packages/emotion/node_modules/regenerator-runtime/path.js +0 -11
  2894. package/packages/emotion/node_modules/regenerator-runtime/runtime.js +0 -760
  2895. package/packages/emotion/node_modules/resolve/.editorconfig +0 -37
  2896. package/packages/emotion/node_modules/resolve/.eslintrc +0 -65
  2897. package/packages/emotion/node_modules/resolve/.github/FUNDING.yml +0 -12
  2898. package/packages/emotion/node_modules/resolve/LICENSE +0 -21
  2899. package/packages/emotion/node_modules/resolve/SECURITY.md +0 -3
  2900. package/packages/emotion/node_modules/resolve/async.js +0 -3
  2901. package/packages/emotion/node_modules/resolve/bin/resolve +0 -50
  2902. package/packages/emotion/node_modules/resolve/example/async.js +0 -5
  2903. package/packages/emotion/node_modules/resolve/example/sync.js +0 -3
  2904. package/packages/emotion/node_modules/resolve/index.js +0 -6
  2905. package/packages/emotion/node_modules/resolve/lib/async.js +0 -329
  2906. package/packages/emotion/node_modules/resolve/lib/caller.js +0 -8
  2907. package/packages/emotion/node_modules/resolve/lib/core.js +0 -52
  2908. package/packages/emotion/node_modules/resolve/lib/core.json +0 -153
  2909. package/packages/emotion/node_modules/resolve/lib/homedir.js +0 -24
  2910. package/packages/emotion/node_modules/resolve/lib/is-core.js +0 -5
  2911. package/packages/emotion/node_modules/resolve/lib/node-modules-paths.js +0 -42
  2912. package/packages/emotion/node_modules/resolve/lib/normalize-options.js +0 -10
  2913. package/packages/emotion/node_modules/resolve/lib/sync.js +0 -208
  2914. package/packages/emotion/node_modules/resolve/package.json +0 -71
  2915. package/packages/emotion/node_modules/resolve/readme.markdown +0 -301
  2916. package/packages/emotion/node_modules/resolve/sync.js +0 -3
  2917. package/packages/emotion/node_modules/resolve/test/core.js +0 -88
  2918. package/packages/emotion/node_modules/resolve/test/dotdot/abc/index.js +0 -2
  2919. package/packages/emotion/node_modules/resolve/test/dotdot/index.js +0 -1
  2920. package/packages/emotion/node_modules/resolve/test/dotdot.js +0 -29
  2921. package/packages/emotion/node_modules/resolve/test/faulty_basedir.js +0 -29
  2922. package/packages/emotion/node_modules/resolve/test/filter.js +0 -34
  2923. package/packages/emotion/node_modules/resolve/test/filter_sync.js +0 -33
  2924. package/packages/emotion/node_modules/resolve/test/home_paths.js +0 -127
  2925. package/packages/emotion/node_modules/resolve/test/home_paths_sync.js +0 -114
  2926. package/packages/emotion/node_modules/resolve/test/mock.js +0 -315
  2927. package/packages/emotion/node_modules/resolve/test/mock_sync.js +0 -214
  2928. package/packages/emotion/node_modules/resolve/test/module_dir/xmodules/aaa/index.js +0 -1
  2929. package/packages/emotion/node_modules/resolve/test/module_dir/ymodules/aaa/index.js +0 -1
  2930. package/packages/emotion/node_modules/resolve/test/module_dir/zmodules/bbb/main.js +0 -1
  2931. package/packages/emotion/node_modules/resolve/test/module_dir/zmodules/bbb/package.json +0 -3
  2932. package/packages/emotion/node_modules/resolve/test/module_dir.js +0 -56
  2933. package/packages/emotion/node_modules/resolve/test/node-modules-paths.js +0 -143
  2934. package/packages/emotion/node_modules/resolve/test/node_path/x/aaa/index.js +0 -1
  2935. package/packages/emotion/node_modules/resolve/test/node_path/x/ccc/index.js +0 -1
  2936. package/packages/emotion/node_modules/resolve/test/node_path/y/bbb/index.js +0 -1
  2937. package/packages/emotion/node_modules/resolve/test/node_path/y/ccc/index.js +0 -1
  2938. package/packages/emotion/node_modules/resolve/test/node_path.js +0 -70
  2939. package/packages/emotion/node_modules/resolve/test/nonstring.js +0 -9
  2940. package/packages/emotion/node_modules/resolve/test/pathfilter/deep_ref/main.js +0 -0
  2941. package/packages/emotion/node_modules/resolve/test/pathfilter.js +0 -75
  2942. package/packages/emotion/node_modules/resolve/test/precedence/aaa/index.js +0 -1
  2943. package/packages/emotion/node_modules/resolve/test/precedence/aaa/main.js +0 -1
  2944. package/packages/emotion/node_modules/resolve/test/precedence/aaa.js +0 -1
  2945. package/packages/emotion/node_modules/resolve/test/precedence/bbb/main.js +0 -1
  2946. package/packages/emotion/node_modules/resolve/test/precedence/bbb.js +0 -1
  2947. package/packages/emotion/node_modules/resolve/test/precedence.js +0 -23
  2948. package/packages/emotion/node_modules/resolve/test/resolver/baz/doom.js +0 -0
  2949. package/packages/emotion/node_modules/resolve/test/resolver/baz/package.json +0 -4
  2950. package/packages/emotion/node_modules/resolve/test/resolver/baz/quux.js +0 -1
  2951. package/packages/emotion/node_modules/resolve/test/resolver/browser_field/a.js +0 -0
  2952. package/packages/emotion/node_modules/resolve/test/resolver/browser_field/b.js +0 -0
  2953. package/packages/emotion/node_modules/resolve/test/resolver/browser_field/package.json +0 -5
  2954. package/packages/emotion/node_modules/resolve/test/resolver/cup.coffee +0 -1
  2955. package/packages/emotion/node_modules/resolve/test/resolver/dot_main/index.js +0 -1
  2956. package/packages/emotion/node_modules/resolve/test/resolver/dot_main/package.json +0 -3
  2957. package/packages/emotion/node_modules/resolve/test/resolver/dot_slash_main/index.js +0 -1
  2958. package/packages/emotion/node_modules/resolve/test/resolver/dot_slash_main/package.json +0 -3
  2959. package/packages/emotion/node_modules/resolve/test/resolver/false_main/index.js +0 -0
  2960. package/packages/emotion/node_modules/resolve/test/resolver/false_main/package.json +0 -4
  2961. package/packages/emotion/node_modules/resolve/test/resolver/foo.js +0 -1
  2962. package/packages/emotion/node_modules/resolve/test/resolver/incorrect_main/index.js +0 -2
  2963. package/packages/emotion/node_modules/resolve/test/resolver/incorrect_main/package.json +0 -3
  2964. package/packages/emotion/node_modules/resolve/test/resolver/invalid_main/package.json +0 -7
  2965. package/packages/emotion/node_modules/resolve/test/resolver/malformed_package_json/index.js +0 -0
  2966. package/packages/emotion/node_modules/resolve/test/resolver/malformed_package_json/package.json +0 -1
  2967. package/packages/emotion/node_modules/resolve/test/resolver/mug.coffee +0 -0
  2968. package/packages/emotion/node_modules/resolve/test/resolver/mug.js +0 -0
  2969. package/packages/emotion/node_modules/resolve/test/resolver/multirepo/lerna.json +0 -6
  2970. package/packages/emotion/node_modules/resolve/test/resolver/multirepo/package.json +0 -20
  2971. package/packages/emotion/node_modules/resolve/test/resolver/multirepo/packages/package-a/index.js +0 -35
  2972. package/packages/emotion/node_modules/resolve/test/resolver/multirepo/packages/package-a/package.json +0 -14
  2973. package/packages/emotion/node_modules/resolve/test/resolver/multirepo/packages/package-b/index.js +0 -0
  2974. package/packages/emotion/node_modules/resolve/test/resolver/multirepo/packages/package-b/package.json +0 -14
  2975. package/packages/emotion/node_modules/resolve/test/resolver/nested_symlinks/mylib/async.js +0 -26
  2976. package/packages/emotion/node_modules/resolve/test/resolver/nested_symlinks/mylib/package.json +0 -15
  2977. package/packages/emotion/node_modules/resolve/test/resolver/nested_symlinks/mylib/sync.js +0 -12
  2978. package/packages/emotion/node_modules/resolve/test/resolver/other_path/lib/other-lib.js +0 -0
  2979. package/packages/emotion/node_modules/resolve/test/resolver/other_path/root.js +0 -0
  2980. package/packages/emotion/node_modules/resolve/test/resolver/quux/foo/index.js +0 -1
  2981. package/packages/emotion/node_modules/resolve/test/resolver/same_names/foo/index.js +0 -1
  2982. package/packages/emotion/node_modules/resolve/test/resolver/same_names/foo.js +0 -1
  2983. package/packages/emotion/node_modules/resolve/test/resolver/symlinked/_/node_modules/foo.js +0 -0
  2984. package/packages/emotion/node_modules/resolve/test/resolver/symlinked/_/symlink_target/.gitkeep +0 -0
  2985. package/packages/emotion/node_modules/resolve/test/resolver/symlinked/package/bar.js +0 -1
  2986. package/packages/emotion/node_modules/resolve/test/resolver/symlinked/package/package.json +0 -3
  2987. package/packages/emotion/node_modules/resolve/test/resolver/without_basedir/main.js +0 -5
  2988. package/packages/emotion/node_modules/resolve/test/resolver.js +0 -595
  2989. package/packages/emotion/node_modules/resolve/test/resolver_sync.js +0 -726
  2990. package/packages/emotion/node_modules/resolve/test/shadowed_core/node_modules/util/index.js +0 -0
  2991. package/packages/emotion/node_modules/resolve/test/shadowed_core.js +0 -54
  2992. package/packages/emotion/node_modules/resolve/test/subdirs.js +0 -13
  2993. package/packages/emotion/node_modules/resolve/test/symlinks.js +0 -176
  2994. package/packages/emotion/node_modules/resolve-from/index.js +0 -47
  2995. package/packages/emotion/node_modules/resolve-from/license +0 -9
  2996. package/packages/emotion/node_modules/resolve-from/package.json +0 -34
  2997. package/packages/emotion/node_modules/resolve-from/readme.md +0 -72
  2998. package/packages/emotion/node_modules/semver/CHANGELOG.md +0 -70
  2999. package/packages/emotion/node_modules/semver/LICENSE +0 -15
  3000. package/packages/emotion/node_modules/semver/README.md +0 -443
  3001. package/packages/emotion/node_modules/semver/bin/semver.js +0 -174
  3002. package/packages/emotion/node_modules/semver/package.json +0 -28
  3003. package/packages/emotion/node_modules/semver/range.bnf +0 -16
  3004. package/packages/emotion/node_modules/semver/semver.js +0 -1596
  3005. package/packages/emotion/node_modules/source-map/CHANGELOG.md +0 -301
  3006. package/packages/emotion/node_modules/source-map/LICENSE +0 -28
  3007. package/packages/emotion/node_modules/source-map/README.md +0 -729
  3008. package/packages/emotion/node_modules/source-map/dist/source-map.debug.js +0 -3091
  3009. package/packages/emotion/node_modules/source-map/dist/source-map.js +0 -3090
  3010. package/packages/emotion/node_modules/source-map/dist/source-map.min.js +0 -2
  3011. package/packages/emotion/node_modules/source-map/dist/source-map.min.js.map +0 -1
  3012. package/packages/emotion/node_modules/source-map/lib/array-set.js +0 -121
  3013. package/packages/emotion/node_modules/source-map/lib/base64-vlq.js +0 -140
  3014. package/packages/emotion/node_modules/source-map/lib/base64.js +0 -67
  3015. package/packages/emotion/node_modules/source-map/lib/binary-search.js +0 -111
  3016. package/packages/emotion/node_modules/source-map/lib/mapping-list.js +0 -79
  3017. package/packages/emotion/node_modules/source-map/lib/quick-sort.js +0 -114
  3018. package/packages/emotion/node_modules/source-map/lib/source-map-consumer.js +0 -1082
  3019. package/packages/emotion/node_modules/source-map/lib/source-map-generator.js +0 -416
  3020. package/packages/emotion/node_modules/source-map/lib/source-node.js +0 -413
  3021. package/packages/emotion/node_modules/source-map/lib/util.js +0 -417
  3022. package/packages/emotion/node_modules/source-map/package.json +0 -72
  3023. package/packages/emotion/node_modules/source-map/source-map.js +0 -8
  3024. package/packages/emotion/node_modules/stylis/LICENSE +0 -21
  3025. package/packages/emotion/node_modules/stylis/README.md +0 -161
  3026. package/packages/emotion/node_modules/stylis/dist/stylis.mjs +0 -2
  3027. package/packages/emotion/node_modules/stylis/dist/stylis.mjs.map +0 -1
  3028. package/packages/emotion/node_modules/stylis/dist/umd/package.json +0 -1
  3029. package/packages/emotion/node_modules/stylis/dist/umd/stylis.js +0 -2
  3030. package/packages/emotion/node_modules/stylis/dist/umd/stylis.js.map +0 -1
  3031. package/packages/emotion/node_modules/stylis/index.js +0 -7
  3032. package/packages/emotion/node_modules/stylis/package.json +0 -167
  3033. package/packages/emotion/node_modules/stylis/src/Enum.js +0 -20
  3034. package/packages/emotion/node_modules/stylis/src/Middleware.js +0 -108
  3035. package/packages/emotion/node_modules/stylis/src/Parser.js +0 -191
  3036. package/packages/emotion/node_modules/stylis/src/Prefixer.js +0 -145
  3037. package/packages/emotion/node_modules/stylis/src/Serializer.js +0 -35
  3038. package/packages/emotion/node_modules/stylis/src/Tokenizer.js +0 -246
  3039. package/packages/emotion/node_modules/stylis/src/Utility.js +0 -115
  3040. package/packages/emotion/node_modules/supports-color/browser.js +0 -5
  3041. package/packages/emotion/node_modules/supports-color/index.js +0 -131
  3042. package/packages/emotion/node_modules/supports-color/license +0 -9
  3043. package/packages/emotion/node_modules/supports-color/package.json +0 -53
  3044. package/packages/emotion/node_modules/supports-color/readme.md +0 -66
  3045. package/packages/emotion/node_modules/supports-preserve-symlinks-flag/.eslintrc +0 -14
  3046. package/packages/emotion/node_modules/supports-preserve-symlinks-flag/.github/FUNDING.yml +0 -12
  3047. package/packages/emotion/node_modules/supports-preserve-symlinks-flag/.nycrc +0 -9
  3048. package/packages/emotion/node_modules/supports-preserve-symlinks-flag/CHANGELOG.md +0 -22
  3049. package/packages/emotion/node_modules/supports-preserve-symlinks-flag/LICENSE +0 -21
  3050. package/packages/emotion/node_modules/supports-preserve-symlinks-flag/README.md +0 -42
  3051. package/packages/emotion/node_modules/supports-preserve-symlinks-flag/browser.js +0 -3
  3052. package/packages/emotion/node_modules/supports-preserve-symlinks-flag/index.js +0 -9
  3053. package/packages/emotion/node_modules/supports-preserve-symlinks-flag/package.json +0 -70
  3054. package/packages/emotion/node_modules/supports-preserve-symlinks-flag/test/index.js +0 -29
  3055. package/packages/emotion/node_modules/to-fast-properties/index.js +0 -27
  3056. package/packages/emotion/node_modules/to-fast-properties/license +0 -10
  3057. package/packages/emotion/node_modules/to-fast-properties/package.json +0 -35
  3058. package/packages/emotion/node_modules/to-fast-properties/readme.md +0 -37
  3059. package/packages/emotion/node_modules/update-browserslist-db/LICENSE +0 -20
  3060. package/packages/emotion/node_modules/update-browserslist-db/README.md +0 -23
  3061. package/packages/emotion/node_modules/update-browserslist-db/check-npm-version.js +0 -16
  3062. package/packages/emotion/node_modules/update-browserslist-db/cli.js +0 -42
  3063. package/packages/emotion/node_modules/update-browserslist-db/index.d.ts +0 -6
  3064. package/packages/emotion/node_modules/update-browserslist-db/index.js +0 -314
  3065. package/packages/emotion/node_modules/update-browserslist-db/package.json +0 -38
  3066. package/packages/emotion/node_modules/update-browserslist-db/utils.js +0 -22
  3067. package/packages/emotion/node_modules/yaml/LICENSE +0 -13
  3068. package/packages/emotion/node_modules/yaml/README.md +0 -127
  3069. package/packages/emotion/node_modules/yaml/browser/dist/PlainValue-b8036b75.js +0 -1275
  3070. package/packages/emotion/node_modules/yaml/browser/dist/Schema-e94716c8.js +0 -682
  3071. package/packages/emotion/node_modules/yaml/browser/dist/index.js +0 -1002
  3072. package/packages/emotion/node_modules/yaml/browser/dist/legacy-exports.js +0 -3
  3073. package/packages/emotion/node_modules/yaml/browser/dist/package.json +0 -1
  3074. package/packages/emotion/node_modules/yaml/browser/dist/parse-cst.js +0 -1904
  3075. package/packages/emotion/node_modules/yaml/browser/dist/resolveSeq-492ab440.js +0 -2419
  3076. package/packages/emotion/node_modules/yaml/browser/dist/types.js +0 -4
  3077. package/packages/emotion/node_modules/yaml/browser/dist/util.js +0 -2
  3078. package/packages/emotion/node_modules/yaml/browser/dist/warnings-df54cb69.js +0 -499
  3079. package/packages/emotion/node_modules/yaml/browser/index.js +0 -1
  3080. package/packages/emotion/node_modules/yaml/browser/map.js +0 -2
  3081. package/packages/emotion/node_modules/yaml/browser/pair.js +0 -2
  3082. package/packages/emotion/node_modules/yaml/browser/parse-cst.js +0 -1
  3083. package/packages/emotion/node_modules/yaml/browser/scalar.js +0 -2
  3084. package/packages/emotion/node_modules/yaml/browser/schema.js +0 -9
  3085. package/packages/emotion/node_modules/yaml/browser/seq.js +0 -2
  3086. package/packages/emotion/node_modules/yaml/browser/types/binary.js +0 -8
  3087. package/packages/emotion/node_modules/yaml/browser/types/omap.js +0 -3
  3088. package/packages/emotion/node_modules/yaml/browser/types/pairs.js +0 -3
  3089. package/packages/emotion/node_modules/yaml/browser/types/set.js +0 -3
  3090. package/packages/emotion/node_modules/yaml/browser/types/timestamp.js +0 -10
  3091. package/packages/emotion/node_modules/yaml/browser/types.js +0 -1
  3092. package/packages/emotion/node_modules/yaml/browser/util.js +0 -1
  3093. package/packages/emotion/node_modules/yaml/dist/Document-9b4560a1.js +0 -757
  3094. package/packages/emotion/node_modules/yaml/dist/PlainValue-ec8e588e.js +0 -876
  3095. package/packages/emotion/node_modules/yaml/dist/Schema-88e323a7.js +0 -525
  3096. package/packages/emotion/node_modules/yaml/dist/index.js +0 -79
  3097. package/packages/emotion/node_modules/yaml/dist/legacy-exports.js +0 -16
  3098. package/packages/emotion/node_modules/yaml/dist/parse-cst.js +0 -1753
  3099. package/packages/emotion/node_modules/yaml/dist/resolveSeq-d03cb037.js +0 -2161
  3100. package/packages/emotion/node_modules/yaml/dist/test-events.js +0 -162
  3101. package/packages/emotion/node_modules/yaml/dist/types.js +0 -23
  3102. package/packages/emotion/node_modules/yaml/dist/util.js +0 -19
  3103. package/packages/emotion/node_modules/yaml/dist/warnings-1000a372.js +0 -416
  3104. package/packages/emotion/node_modules/yaml/index.d.ts +0 -372
  3105. package/packages/emotion/node_modules/yaml/index.js +0 -1
  3106. package/packages/emotion/node_modules/yaml/map.js +0 -2
  3107. package/packages/emotion/node_modules/yaml/package.json +0 -106
  3108. package/packages/emotion/node_modules/yaml/pair.js +0 -2
  3109. package/packages/emotion/node_modules/yaml/parse-cst.d.ts +0 -191
  3110. package/packages/emotion/node_modules/yaml/parse-cst.js +0 -1
  3111. package/packages/emotion/node_modules/yaml/scalar.js +0 -2
  3112. package/packages/emotion/node_modules/yaml/schema.js +0 -9
  3113. package/packages/emotion/node_modules/yaml/seq.js +0 -2
  3114. package/packages/emotion/node_modules/yaml/types/binary.js +0 -8
  3115. package/packages/emotion/node_modules/yaml/types/omap.js +0 -3
  3116. package/packages/emotion/node_modules/yaml/types/pairs.js +0 -3
  3117. package/packages/emotion/node_modules/yaml/types/set.js +0 -3
  3118. package/packages/emotion/node_modules/yaml/types/timestamp.js +0 -10
  3119. package/packages/emotion/node_modules/yaml/types.d.ts +0 -407
  3120. package/packages/emotion/node_modules/yaml/types.js +0 -17
  3121. package/packages/emotion/node_modules/yaml/types.mjs +0 -17
  3122. package/packages/emotion/node_modules/yaml/util.d.ts +0 -86
  3123. package/packages/emotion/node_modules/yaml/util.js +0 -16
  3124. package/packages/emotion/node_modules/yaml/util.mjs +0 -18
  3125. package/packages/emotion/yarn.lock +0 -738
@@ -1,3091 +0,0 @@
1
- (function webpackUniversalModuleDefinition(root, factory) {
2
- if(typeof exports === 'object' && typeof module === 'object')
3
- module.exports = factory();
4
- else if(typeof define === 'function' && define.amd)
5
- define([], factory);
6
- else if(typeof exports === 'object')
7
- exports["sourceMap"] = factory();
8
- else
9
- root["sourceMap"] = factory();
10
- })(this, function() {
11
- return /******/ (function(modules) { // webpackBootstrap
12
- /******/ // The module cache
13
- /******/ var installedModules = {};
14
- /******/
15
- /******/ // The require function
16
- /******/ function __webpack_require__(moduleId) {
17
- /******/
18
- /******/ // Check if module is in cache
19
- /******/ if(installedModules[moduleId])
20
- /******/ return installedModules[moduleId].exports;
21
- /******/
22
- /******/ // Create a new module (and put it into the cache)
23
- /******/ var module = installedModules[moduleId] = {
24
- /******/ exports: {},
25
- /******/ id: moduleId,
26
- /******/ loaded: false
27
- /******/ };
28
- /******/
29
- /******/ // Execute the module function
30
- /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
31
- /******/
32
- /******/ // Flag the module as loaded
33
- /******/ module.loaded = true;
34
- /******/
35
- /******/ // Return the exports of the module
36
- /******/ return module.exports;
37
- /******/ }
38
- /******/
39
- /******/
40
- /******/ // expose the modules object (__webpack_modules__)
41
- /******/ __webpack_require__.m = modules;
42
- /******/
43
- /******/ // expose the module cache
44
- /******/ __webpack_require__.c = installedModules;
45
- /******/
46
- /******/ // __webpack_public_path__
47
- /******/ __webpack_require__.p = "";
48
- /******/
49
- /******/ // Load entry module and return exports
50
- /******/ return __webpack_require__(0);
51
- /******/ })
52
- /************************************************************************/
53
- /******/ ([
54
- /* 0 */
55
- /***/ (function(module, exports, __webpack_require__) {
56
-
57
- /*
58
- * Copyright 2009-2011 Mozilla Foundation and contributors
59
- * Licensed under the New BSD license. See LICENSE.txt or:
60
- * http://opensource.org/licenses/BSD-3-Clause
61
- */
62
- exports.SourceMapGenerator = __webpack_require__(1).SourceMapGenerator;
63
- exports.SourceMapConsumer = __webpack_require__(7).SourceMapConsumer;
64
- exports.SourceNode = __webpack_require__(10).SourceNode;
65
-
66
-
67
- /***/ }),
68
- /* 1 */
69
- /***/ (function(module, exports, __webpack_require__) {
70
-
71
- /* -*- Mode: js; js-indent-level: 2; -*- */
72
- /*
73
- * Copyright 2011 Mozilla Foundation and contributors
74
- * Licensed under the New BSD license. See LICENSE or:
75
- * http://opensource.org/licenses/BSD-3-Clause
76
- */
77
-
78
- var base64VLQ = __webpack_require__(2);
79
- var util = __webpack_require__(4);
80
- var ArraySet = __webpack_require__(5).ArraySet;
81
- var MappingList = __webpack_require__(6).MappingList;
82
-
83
- /**
84
- * An instance of the SourceMapGenerator represents a source map which is
85
- * being built incrementally. You may pass an object with the following
86
- * properties:
87
- *
88
- * - file: The filename of the generated source.
89
- * - sourceRoot: A root for all relative URLs in this source map.
90
- */
91
- function SourceMapGenerator(aArgs) {
92
- if (!aArgs) {
93
- aArgs = {};
94
- }
95
- this._file = util.getArg(aArgs, 'file', null);
96
- this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null);
97
- this._skipValidation = util.getArg(aArgs, 'skipValidation', false);
98
- this._sources = new ArraySet();
99
- this._names = new ArraySet();
100
- this._mappings = new MappingList();
101
- this._sourcesContents = null;
102
- }
103
-
104
- SourceMapGenerator.prototype._version = 3;
105
-
106
- /**
107
- * Creates a new SourceMapGenerator based on a SourceMapConsumer
108
- *
109
- * @param aSourceMapConsumer The SourceMap.
110
- */
111
- SourceMapGenerator.fromSourceMap =
112
- function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) {
113
- var sourceRoot = aSourceMapConsumer.sourceRoot;
114
- var generator = new SourceMapGenerator({
115
- file: aSourceMapConsumer.file,
116
- sourceRoot: sourceRoot
117
- });
118
- aSourceMapConsumer.eachMapping(function (mapping) {
119
- var newMapping = {
120
- generated: {
121
- line: mapping.generatedLine,
122
- column: mapping.generatedColumn
123
- }
124
- };
125
-
126
- if (mapping.source != null) {
127
- newMapping.source = mapping.source;
128
- if (sourceRoot != null) {
129
- newMapping.source = util.relative(sourceRoot, newMapping.source);
130
- }
131
-
132
- newMapping.original = {
133
- line: mapping.originalLine,
134
- column: mapping.originalColumn
135
- };
136
-
137
- if (mapping.name != null) {
138
- newMapping.name = mapping.name;
139
- }
140
- }
141
-
142
- generator.addMapping(newMapping);
143
- });
144
- aSourceMapConsumer.sources.forEach(function (sourceFile) {
145
- var content = aSourceMapConsumer.sourceContentFor(sourceFile);
146
- if (content != null) {
147
- generator.setSourceContent(sourceFile, content);
148
- }
149
- });
150
- return generator;
151
- };
152
-
153
- /**
154
- * Add a single mapping from original source line and column to the generated
155
- * source's line and column for this source map being created. The mapping
156
- * object should have the following properties:
157
- *
158
- * - generated: An object with the generated line and column positions.
159
- * - original: An object with the original line and column positions.
160
- * - source: The original source file (relative to the sourceRoot).
161
- * - name: An optional original token name for this mapping.
162
- */
163
- SourceMapGenerator.prototype.addMapping =
164
- function SourceMapGenerator_addMapping(aArgs) {
165
- var generated = util.getArg(aArgs, 'generated');
166
- var original = util.getArg(aArgs, 'original', null);
167
- var source = util.getArg(aArgs, 'source', null);
168
- var name = util.getArg(aArgs, 'name', null);
169
-
170
- if (!this._skipValidation) {
171
- this._validateMapping(generated, original, source, name);
172
- }
173
-
174
- if (source != null) {
175
- source = String(source);
176
- if (!this._sources.has(source)) {
177
- this._sources.add(source);
178
- }
179
- }
180
-
181
- if (name != null) {
182
- name = String(name);
183
- if (!this._names.has(name)) {
184
- this._names.add(name);
185
- }
186
- }
187
-
188
- this._mappings.add({
189
- generatedLine: generated.line,
190
- generatedColumn: generated.column,
191
- originalLine: original != null && original.line,
192
- originalColumn: original != null && original.column,
193
- source: source,
194
- name: name
195
- });
196
- };
197
-
198
- /**
199
- * Set the source content for a source file.
200
- */
201
- SourceMapGenerator.prototype.setSourceContent =
202
- function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {
203
- var source = aSourceFile;
204
- if (this._sourceRoot != null) {
205
- source = util.relative(this._sourceRoot, source);
206
- }
207
-
208
- if (aSourceContent != null) {
209
- // Add the source content to the _sourcesContents map.
210
- // Create a new _sourcesContents map if the property is null.
211
- if (!this._sourcesContents) {
212
- this._sourcesContents = Object.create(null);
213
- }
214
- this._sourcesContents[util.toSetString(source)] = aSourceContent;
215
- } else if (this._sourcesContents) {
216
- // Remove the source file from the _sourcesContents map.
217
- // If the _sourcesContents map is empty, set the property to null.
218
- delete this._sourcesContents[util.toSetString(source)];
219
- if (Object.keys(this._sourcesContents).length === 0) {
220
- this._sourcesContents = null;
221
- }
222
- }
223
- };
224
-
225
- /**
226
- * Applies the mappings of a sub-source-map for a specific source file to the
227
- * source map being generated. Each mapping to the supplied source file is
228
- * rewritten using the supplied source map. Note: The resolution for the
229
- * resulting mappings is the minimium of this map and the supplied map.
230
- *
231
- * @param aSourceMapConsumer The source map to be applied.
232
- * @param aSourceFile Optional. The filename of the source file.
233
- * If omitted, SourceMapConsumer's file property will be used.
234
- * @param aSourceMapPath Optional. The dirname of the path to the source map
235
- * to be applied. If relative, it is relative to the SourceMapConsumer.
236
- * This parameter is needed when the two source maps aren't in the same
237
- * directory, and the source map to be applied contains relative source
238
- * paths. If so, those relative source paths need to be rewritten
239
- * relative to the SourceMapGenerator.
240
- */
241
- SourceMapGenerator.prototype.applySourceMap =
242
- function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {
243
- var sourceFile = aSourceFile;
244
- // If aSourceFile is omitted, we will use the file property of the SourceMap
245
- if (aSourceFile == null) {
246
- if (aSourceMapConsumer.file == null) {
247
- throw new Error(
248
- 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' +
249
- 'or the source map\'s "file" property. Both were omitted.'
250
- );
251
- }
252
- sourceFile = aSourceMapConsumer.file;
253
- }
254
- var sourceRoot = this._sourceRoot;
255
- // Make "sourceFile" relative if an absolute Url is passed.
256
- if (sourceRoot != null) {
257
- sourceFile = util.relative(sourceRoot, sourceFile);
258
- }
259
- // Applying the SourceMap can add and remove items from the sources and
260
- // the names array.
261
- var newSources = new ArraySet();
262
- var newNames = new ArraySet();
263
-
264
- // Find mappings for the "sourceFile"
265
- this._mappings.unsortedForEach(function (mapping) {
266
- if (mapping.source === sourceFile && mapping.originalLine != null) {
267
- // Check if it can be mapped by the source map, then update the mapping.
268
- var original = aSourceMapConsumer.originalPositionFor({
269
- line: mapping.originalLine,
270
- column: mapping.originalColumn
271
- });
272
- if (original.source != null) {
273
- // Copy mapping
274
- mapping.source = original.source;
275
- if (aSourceMapPath != null) {
276
- mapping.source = util.join(aSourceMapPath, mapping.source)
277
- }
278
- if (sourceRoot != null) {
279
- mapping.source = util.relative(sourceRoot, mapping.source);
280
- }
281
- mapping.originalLine = original.line;
282
- mapping.originalColumn = original.column;
283
- if (original.name != null) {
284
- mapping.name = original.name;
285
- }
286
- }
287
- }
288
-
289
- var source = mapping.source;
290
- if (source != null && !newSources.has(source)) {
291
- newSources.add(source);
292
- }
293
-
294
- var name = mapping.name;
295
- if (name != null && !newNames.has(name)) {
296
- newNames.add(name);
297
- }
298
-
299
- }, this);
300
- this._sources = newSources;
301
- this._names = newNames;
302
-
303
- // Copy sourcesContents of applied map.
304
- aSourceMapConsumer.sources.forEach(function (sourceFile) {
305
- var content = aSourceMapConsumer.sourceContentFor(sourceFile);
306
- if (content != null) {
307
- if (aSourceMapPath != null) {
308
- sourceFile = util.join(aSourceMapPath, sourceFile);
309
- }
310
- if (sourceRoot != null) {
311
- sourceFile = util.relative(sourceRoot, sourceFile);
312
- }
313
- this.setSourceContent(sourceFile, content);
314
- }
315
- }, this);
316
- };
317
-
318
- /**
319
- * A mapping can have one of the three levels of data:
320
- *
321
- * 1. Just the generated position.
322
- * 2. The Generated position, original position, and original source.
323
- * 3. Generated and original position, original source, as well as a name
324
- * token.
325
- *
326
- * To maintain consistency, we validate that any new mapping being added falls
327
- * in to one of these categories.
328
- */
329
- SourceMapGenerator.prototype._validateMapping =
330
- function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource,
331
- aName) {
332
- // When aOriginal is truthy but has empty values for .line and .column,
333
- // it is most likely a programmer error. In this case we throw a very
334
- // specific error message to try to guide them the right way.
335
- // For example: https://github.com/Polymer/polymer-bundler/pull/519
336
- if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') {
337
- throw new Error(
338
- 'original.line and original.column are not numbers -- you probably meant to omit ' +
339
- 'the original mapping entirely and only map the generated position. If so, pass ' +
340
- 'null for the original mapping instead of an object with empty or null values.'
341
- );
342
- }
343
-
344
- if (aGenerated && 'line' in aGenerated && 'column' in aGenerated
345
- && aGenerated.line > 0 && aGenerated.column >= 0
346
- && !aOriginal && !aSource && !aName) {
347
- // Case 1.
348
- return;
349
- }
350
- else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated
351
- && aOriginal && 'line' in aOriginal && 'column' in aOriginal
352
- && aGenerated.line > 0 && aGenerated.column >= 0
353
- && aOriginal.line > 0 && aOriginal.column >= 0
354
- && aSource) {
355
- // Cases 2 and 3.
356
- return;
357
- }
358
- else {
359
- throw new Error('Invalid mapping: ' + JSON.stringify({
360
- generated: aGenerated,
361
- source: aSource,
362
- original: aOriginal,
363
- name: aName
364
- }));
365
- }
366
- };
367
-
368
- /**
369
- * Serialize the accumulated mappings in to the stream of base 64 VLQs
370
- * specified by the source map format.
371
- */
372
- SourceMapGenerator.prototype._serializeMappings =
373
- function SourceMapGenerator_serializeMappings() {
374
- var previousGeneratedColumn = 0;
375
- var previousGeneratedLine = 1;
376
- var previousOriginalColumn = 0;
377
- var previousOriginalLine = 0;
378
- var previousName = 0;
379
- var previousSource = 0;
380
- var result = '';
381
- var next;
382
- var mapping;
383
- var nameIdx;
384
- var sourceIdx;
385
-
386
- var mappings = this._mappings.toArray();
387
- for (var i = 0, len = mappings.length; i < len; i++) {
388
- mapping = mappings[i];
389
- next = ''
390
-
391
- if (mapping.generatedLine !== previousGeneratedLine) {
392
- previousGeneratedColumn = 0;
393
- while (mapping.generatedLine !== previousGeneratedLine) {
394
- next += ';';
395
- previousGeneratedLine++;
396
- }
397
- }
398
- else {
399
- if (i > 0) {
400
- if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {
401
- continue;
402
- }
403
- next += ',';
404
- }
405
- }
406
-
407
- next += base64VLQ.encode(mapping.generatedColumn
408
- - previousGeneratedColumn);
409
- previousGeneratedColumn = mapping.generatedColumn;
410
-
411
- if (mapping.source != null) {
412
- sourceIdx = this._sources.indexOf(mapping.source);
413
- next += base64VLQ.encode(sourceIdx - previousSource);
414
- previousSource = sourceIdx;
415
-
416
- // lines are stored 0-based in SourceMap spec version 3
417
- next += base64VLQ.encode(mapping.originalLine - 1
418
- - previousOriginalLine);
419
- previousOriginalLine = mapping.originalLine - 1;
420
-
421
- next += base64VLQ.encode(mapping.originalColumn
422
- - previousOriginalColumn);
423
- previousOriginalColumn = mapping.originalColumn;
424
-
425
- if (mapping.name != null) {
426
- nameIdx = this._names.indexOf(mapping.name);
427
- next += base64VLQ.encode(nameIdx - previousName);
428
- previousName = nameIdx;
429
- }
430
- }
431
-
432
- result += next;
433
- }
434
-
435
- return result;
436
- };
437
-
438
- SourceMapGenerator.prototype._generateSourcesContent =
439
- function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {
440
- return aSources.map(function (source) {
441
- if (!this._sourcesContents) {
442
- return null;
443
- }
444
- if (aSourceRoot != null) {
445
- source = util.relative(aSourceRoot, source);
446
- }
447
- var key = util.toSetString(source);
448
- return Object.prototype.hasOwnProperty.call(this._sourcesContents, key)
449
- ? this._sourcesContents[key]
450
- : null;
451
- }, this);
452
- };
453
-
454
- /**
455
- * Externalize the source map.
456
- */
457
- SourceMapGenerator.prototype.toJSON =
458
- function SourceMapGenerator_toJSON() {
459
- var map = {
460
- version: this._version,
461
- sources: this._sources.toArray(),
462
- names: this._names.toArray(),
463
- mappings: this._serializeMappings()
464
- };
465
- if (this._file != null) {
466
- map.file = this._file;
467
- }
468
- if (this._sourceRoot != null) {
469
- map.sourceRoot = this._sourceRoot;
470
- }
471
- if (this._sourcesContents) {
472
- map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);
473
- }
474
-
475
- return map;
476
- };
477
-
478
- /**
479
- * Render the source map being generated to a string.
480
- */
481
- SourceMapGenerator.prototype.toString =
482
- function SourceMapGenerator_toString() {
483
- return JSON.stringify(this.toJSON());
484
- };
485
-
486
- exports.SourceMapGenerator = SourceMapGenerator;
487
-
488
-
489
- /***/ }),
490
- /* 2 */
491
- /***/ (function(module, exports, __webpack_require__) {
492
-
493
- /* -*- Mode: js; js-indent-level: 2; -*- */
494
- /*
495
- * Copyright 2011 Mozilla Foundation and contributors
496
- * Licensed under the New BSD license. See LICENSE or:
497
- * http://opensource.org/licenses/BSD-3-Clause
498
- *
499
- * Based on the Base 64 VLQ implementation in Closure Compiler:
500
- * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java
501
- *
502
- * Copyright 2011 The Closure Compiler Authors. All rights reserved.
503
- * Redistribution and use in source and binary forms, with or without
504
- * modification, are permitted provided that the following conditions are
505
- * met:
506
- *
507
- * * Redistributions of source code must retain the above copyright
508
- * notice, this list of conditions and the following disclaimer.
509
- * * Redistributions in binary form must reproduce the above
510
- * copyright notice, this list of conditions and the following
511
- * disclaimer in the documentation and/or other materials provided
512
- * with the distribution.
513
- * * Neither the name of Google Inc. nor the names of its
514
- * contributors may be used to endorse or promote products derived
515
- * from this software without specific prior written permission.
516
- *
517
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
518
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
519
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
520
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
521
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
522
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
523
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
524
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
525
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
526
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
527
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
528
- */
529
-
530
- var base64 = __webpack_require__(3);
531
-
532
- // A single base 64 digit can contain 6 bits of data. For the base 64 variable
533
- // length quantities we use in the source map spec, the first bit is the sign,
534
- // the next four bits are the actual value, and the 6th bit is the
535
- // continuation bit. The continuation bit tells us whether there are more
536
- // digits in this value following this digit.
537
- //
538
- // Continuation
539
- // | Sign
540
- // | |
541
- // V V
542
- // 101011
543
-
544
- var VLQ_BASE_SHIFT = 5;
545
-
546
- // binary: 100000
547
- var VLQ_BASE = 1 << VLQ_BASE_SHIFT;
548
-
549
- // binary: 011111
550
- var VLQ_BASE_MASK = VLQ_BASE - 1;
551
-
552
- // binary: 100000
553
- var VLQ_CONTINUATION_BIT = VLQ_BASE;
554
-
555
- /**
556
- * Converts from a two-complement value to a value where the sign bit is
557
- * placed in the least significant bit. For example, as decimals:
558
- * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary)
559
- * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary)
560
- */
561
- function toVLQSigned(aValue) {
562
- return aValue < 0
563
- ? ((-aValue) << 1) + 1
564
- : (aValue << 1) + 0;
565
- }
566
-
567
- /**
568
- * Converts to a two-complement value from a value where the sign bit is
569
- * placed in the least significant bit. For example, as decimals:
570
- * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1
571
- * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2
572
- */
573
- function fromVLQSigned(aValue) {
574
- var isNegative = (aValue & 1) === 1;
575
- var shifted = aValue >> 1;
576
- return isNegative
577
- ? -shifted
578
- : shifted;
579
- }
580
-
581
- /**
582
- * Returns the base 64 VLQ encoded value.
583
- */
584
- exports.encode = function base64VLQ_encode(aValue) {
585
- var encoded = "";
586
- var digit;
587
-
588
- var vlq = toVLQSigned(aValue);
589
-
590
- do {
591
- digit = vlq & VLQ_BASE_MASK;
592
- vlq >>>= VLQ_BASE_SHIFT;
593
- if (vlq > 0) {
594
- // There are still more digits in this value, so we must make sure the
595
- // continuation bit is marked.
596
- digit |= VLQ_CONTINUATION_BIT;
597
- }
598
- encoded += base64.encode(digit);
599
- } while (vlq > 0);
600
-
601
- return encoded;
602
- };
603
-
604
- /**
605
- * Decodes the next base 64 VLQ value from the given string and returns the
606
- * value and the rest of the string via the out parameter.
607
- */
608
- exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {
609
- var strLen = aStr.length;
610
- var result = 0;
611
- var shift = 0;
612
- var continuation, digit;
613
-
614
- do {
615
- if (aIndex >= strLen) {
616
- throw new Error("Expected more digits in base 64 VLQ value.");
617
- }
618
-
619
- digit = base64.decode(aStr.charCodeAt(aIndex++));
620
- if (digit === -1) {
621
- throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1));
622
- }
623
-
624
- continuation = !!(digit & VLQ_CONTINUATION_BIT);
625
- digit &= VLQ_BASE_MASK;
626
- result = result + (digit << shift);
627
- shift += VLQ_BASE_SHIFT;
628
- } while (continuation);
629
-
630
- aOutParam.value = fromVLQSigned(result);
631
- aOutParam.rest = aIndex;
632
- };
633
-
634
-
635
- /***/ }),
636
- /* 3 */
637
- /***/ (function(module, exports) {
638
-
639
- /* -*- Mode: js; js-indent-level: 2; -*- */
640
- /*
641
- * Copyright 2011 Mozilla Foundation and contributors
642
- * Licensed under the New BSD license. See LICENSE or:
643
- * http://opensource.org/licenses/BSD-3-Clause
644
- */
645
-
646
- var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');
647
-
648
- /**
649
- * Encode an integer in the range of 0 to 63 to a single base 64 digit.
650
- */
651
- exports.encode = function (number) {
652
- if (0 <= number && number < intToCharMap.length) {
653
- return intToCharMap[number];
654
- }
655
- throw new TypeError("Must be between 0 and 63: " + number);
656
- };
657
-
658
- /**
659
- * Decode a single base 64 character code digit to an integer. Returns -1 on
660
- * failure.
661
- */
662
- exports.decode = function (charCode) {
663
- var bigA = 65; // 'A'
664
- var bigZ = 90; // 'Z'
665
-
666
- var littleA = 97; // 'a'
667
- var littleZ = 122; // 'z'
668
-
669
- var zero = 48; // '0'
670
- var nine = 57; // '9'
671
-
672
- var plus = 43; // '+'
673
- var slash = 47; // '/'
674
-
675
- var littleOffset = 26;
676
- var numberOffset = 52;
677
-
678
- // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ
679
- if (bigA <= charCode && charCode <= bigZ) {
680
- return (charCode - bigA);
681
- }
682
-
683
- // 26 - 51: abcdefghijklmnopqrstuvwxyz
684
- if (littleA <= charCode && charCode <= littleZ) {
685
- return (charCode - littleA + littleOffset);
686
- }
687
-
688
- // 52 - 61: 0123456789
689
- if (zero <= charCode && charCode <= nine) {
690
- return (charCode - zero + numberOffset);
691
- }
692
-
693
- // 62: +
694
- if (charCode == plus) {
695
- return 62;
696
- }
697
-
698
- // 63: /
699
- if (charCode == slash) {
700
- return 63;
701
- }
702
-
703
- // Invalid base64 digit.
704
- return -1;
705
- };
706
-
707
-
708
- /***/ }),
709
- /* 4 */
710
- /***/ (function(module, exports) {
711
-
712
- /* -*- Mode: js; js-indent-level: 2; -*- */
713
- /*
714
- * Copyright 2011 Mozilla Foundation and contributors
715
- * Licensed under the New BSD license. See LICENSE or:
716
- * http://opensource.org/licenses/BSD-3-Clause
717
- */
718
-
719
- /**
720
- * This is a helper function for getting values from parameter/options
721
- * objects.
722
- *
723
- * @param args The object we are extracting values from
724
- * @param name The name of the property we are getting.
725
- * @param defaultValue An optional value to return if the property is missing
726
- * from the object. If this is not specified and the property is missing, an
727
- * error will be thrown.
728
- */
729
- function getArg(aArgs, aName, aDefaultValue) {
730
- if (aName in aArgs) {
731
- return aArgs[aName];
732
- } else if (arguments.length === 3) {
733
- return aDefaultValue;
734
- } else {
735
- throw new Error('"' + aName + '" is a required argument.');
736
- }
737
- }
738
- exports.getArg = getArg;
739
-
740
- var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/;
741
- var dataUrlRegexp = /^data:.+\,.+$/;
742
-
743
- function urlParse(aUrl) {
744
- var match = aUrl.match(urlRegexp);
745
- if (!match) {
746
- return null;
747
- }
748
- return {
749
- scheme: match[1],
750
- auth: match[2],
751
- host: match[3],
752
- port: match[4],
753
- path: match[5]
754
- };
755
- }
756
- exports.urlParse = urlParse;
757
-
758
- function urlGenerate(aParsedUrl) {
759
- var url = '';
760
- if (aParsedUrl.scheme) {
761
- url += aParsedUrl.scheme + ':';
762
- }
763
- url += '//';
764
- if (aParsedUrl.auth) {
765
- url += aParsedUrl.auth + '@';
766
- }
767
- if (aParsedUrl.host) {
768
- url += aParsedUrl.host;
769
- }
770
- if (aParsedUrl.port) {
771
- url += ":" + aParsedUrl.port
772
- }
773
- if (aParsedUrl.path) {
774
- url += aParsedUrl.path;
775
- }
776
- return url;
777
- }
778
- exports.urlGenerate = urlGenerate;
779
-
780
- /**
781
- * Normalizes a path, or the path portion of a URL:
782
- *
783
- * - Replaces consecutive slashes with one slash.
784
- * - Removes unnecessary '.' parts.
785
- * - Removes unnecessary '<dir>/..' parts.
786
- *
787
- * Based on code in the Node.js 'path' core module.
788
- *
789
- * @param aPath The path or url to normalize.
790
- */
791
- function normalize(aPath) {
792
- var path = aPath;
793
- var url = urlParse(aPath);
794
- if (url) {
795
- if (!url.path) {
796
- return aPath;
797
- }
798
- path = url.path;
799
- }
800
- var isAbsolute = exports.isAbsolute(path);
801
-
802
- var parts = path.split(/\/+/);
803
- for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {
804
- part = parts[i];
805
- if (part === '.') {
806
- parts.splice(i, 1);
807
- } else if (part === '..') {
808
- up++;
809
- } else if (up > 0) {
810
- if (part === '') {
811
- // The first part is blank if the path is absolute. Trying to go
812
- // above the root is a no-op. Therefore we can remove all '..' parts
813
- // directly after the root.
814
- parts.splice(i + 1, up);
815
- up = 0;
816
- } else {
817
- parts.splice(i, 2);
818
- up--;
819
- }
820
- }
821
- }
822
- path = parts.join('/');
823
-
824
- if (path === '') {
825
- path = isAbsolute ? '/' : '.';
826
- }
827
-
828
- if (url) {
829
- url.path = path;
830
- return urlGenerate(url);
831
- }
832
- return path;
833
- }
834
- exports.normalize = normalize;
835
-
836
- /**
837
- * Joins two paths/URLs.
838
- *
839
- * @param aRoot The root path or URL.
840
- * @param aPath The path or URL to be joined with the root.
841
- *
842
- * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a
843
- * scheme-relative URL: Then the scheme of aRoot, if any, is prepended
844
- * first.
845
- * - Otherwise aPath is a path. If aRoot is a URL, then its path portion
846
- * is updated with the result and aRoot is returned. Otherwise the result
847
- * is returned.
848
- * - If aPath is absolute, the result is aPath.
849
- * - Otherwise the two paths are joined with a slash.
850
- * - Joining for example 'http://' and 'www.example.com' is also supported.
851
- */
852
- function join(aRoot, aPath) {
853
- if (aRoot === "") {
854
- aRoot = ".";
855
- }
856
- if (aPath === "") {
857
- aPath = ".";
858
- }
859
- var aPathUrl = urlParse(aPath);
860
- var aRootUrl = urlParse(aRoot);
861
- if (aRootUrl) {
862
- aRoot = aRootUrl.path || '/';
863
- }
864
-
865
- // `join(foo, '//www.example.org')`
866
- if (aPathUrl && !aPathUrl.scheme) {
867
- if (aRootUrl) {
868
- aPathUrl.scheme = aRootUrl.scheme;
869
- }
870
- return urlGenerate(aPathUrl);
871
- }
872
-
873
- if (aPathUrl || aPath.match(dataUrlRegexp)) {
874
- return aPath;
875
- }
876
-
877
- // `join('http://', 'www.example.com')`
878
- if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {
879
- aRootUrl.host = aPath;
880
- return urlGenerate(aRootUrl);
881
- }
882
-
883
- var joined = aPath.charAt(0) === '/'
884
- ? aPath
885
- : normalize(aRoot.replace(/\/+$/, '') + '/' + aPath);
886
-
887
- if (aRootUrl) {
888
- aRootUrl.path = joined;
889
- return urlGenerate(aRootUrl);
890
- }
891
- return joined;
892
- }
893
- exports.join = join;
894
-
895
- exports.isAbsolute = function (aPath) {
896
- return aPath.charAt(0) === '/' || !!aPath.match(urlRegexp);
897
- };
898
-
899
- /**
900
- * Make a path relative to a URL or another path.
901
- *
902
- * @param aRoot The root path or URL.
903
- * @param aPath The path or URL to be made relative to aRoot.
904
- */
905
- function relative(aRoot, aPath) {
906
- if (aRoot === "") {
907
- aRoot = ".";
908
- }
909
-
910
- aRoot = aRoot.replace(/\/$/, '');
911
-
912
- // It is possible for the path to be above the root. In this case, simply
913
- // checking whether the root is a prefix of the path won't work. Instead, we
914
- // need to remove components from the root one by one, until either we find
915
- // a prefix that fits, or we run out of components to remove.
916
- var level = 0;
917
- while (aPath.indexOf(aRoot + '/') !== 0) {
918
- var index = aRoot.lastIndexOf("/");
919
- if (index < 0) {
920
- return aPath;
921
- }
922
-
923
- // If the only part of the root that is left is the scheme (i.e. http://,
924
- // file:///, etc.), one or more slashes (/), or simply nothing at all, we
925
- // have exhausted all components, so the path is not relative to the root.
926
- aRoot = aRoot.slice(0, index);
927
- if (aRoot.match(/^([^\/]+:\/)?\/*$/)) {
928
- return aPath;
929
- }
930
-
931
- ++level;
932
- }
933
-
934
- // Make sure we add a "../" for each component we removed from the root.
935
- return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1);
936
- }
937
- exports.relative = relative;
938
-
939
- var supportsNullProto = (function () {
940
- var obj = Object.create(null);
941
- return !('__proto__' in obj);
942
- }());
943
-
944
- function identity (s) {
945
- return s;
946
- }
947
-
948
- /**
949
- * Because behavior goes wacky when you set `__proto__` on objects, we
950
- * have to prefix all the strings in our set with an arbitrary character.
951
- *
952
- * See https://github.com/mozilla/source-map/pull/31 and
953
- * https://github.com/mozilla/source-map/issues/30
954
- *
955
- * @param String aStr
956
- */
957
- function toSetString(aStr) {
958
- if (isProtoString(aStr)) {
959
- return '$' + aStr;
960
- }
961
-
962
- return aStr;
963
- }
964
- exports.toSetString = supportsNullProto ? identity : toSetString;
965
-
966
- function fromSetString(aStr) {
967
- if (isProtoString(aStr)) {
968
- return aStr.slice(1);
969
- }
970
-
971
- return aStr;
972
- }
973
- exports.fromSetString = supportsNullProto ? identity : fromSetString;
974
-
975
- function isProtoString(s) {
976
- if (!s) {
977
- return false;
978
- }
979
-
980
- var length = s.length;
981
-
982
- if (length < 9 /* "__proto__".length */) {
983
- return false;
984
- }
985
-
986
- if (s.charCodeAt(length - 1) !== 95 /* '_' */ ||
987
- s.charCodeAt(length - 2) !== 95 /* '_' */ ||
988
- s.charCodeAt(length - 3) !== 111 /* 'o' */ ||
989
- s.charCodeAt(length - 4) !== 116 /* 't' */ ||
990
- s.charCodeAt(length - 5) !== 111 /* 'o' */ ||
991
- s.charCodeAt(length - 6) !== 114 /* 'r' */ ||
992
- s.charCodeAt(length - 7) !== 112 /* 'p' */ ||
993
- s.charCodeAt(length - 8) !== 95 /* '_' */ ||
994
- s.charCodeAt(length - 9) !== 95 /* '_' */) {
995
- return false;
996
- }
997
-
998
- for (var i = length - 10; i >= 0; i--) {
999
- if (s.charCodeAt(i) !== 36 /* '$' */) {
1000
- return false;
1001
- }
1002
- }
1003
-
1004
- return true;
1005
- }
1006
-
1007
- /**
1008
- * Comparator between two mappings where the original positions are compared.
1009
- *
1010
- * Optionally pass in `true` as `onlyCompareGenerated` to consider two
1011
- * mappings with the same original source/line/column, but different generated
1012
- * line and column the same. Useful when searching for a mapping with a
1013
- * stubbed out mapping.
1014
- */
1015
- function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {
1016
- var cmp = mappingA.source - mappingB.source;
1017
- if (cmp !== 0) {
1018
- return cmp;
1019
- }
1020
-
1021
- cmp = mappingA.originalLine - mappingB.originalLine;
1022
- if (cmp !== 0) {
1023
- return cmp;
1024
- }
1025
-
1026
- cmp = mappingA.originalColumn - mappingB.originalColumn;
1027
- if (cmp !== 0 || onlyCompareOriginal) {
1028
- return cmp;
1029
- }
1030
-
1031
- cmp = mappingA.generatedColumn - mappingB.generatedColumn;
1032
- if (cmp !== 0) {
1033
- return cmp;
1034
- }
1035
-
1036
- cmp = mappingA.generatedLine - mappingB.generatedLine;
1037
- if (cmp !== 0) {
1038
- return cmp;
1039
- }
1040
-
1041
- return mappingA.name - mappingB.name;
1042
- }
1043
- exports.compareByOriginalPositions = compareByOriginalPositions;
1044
-
1045
- /**
1046
- * Comparator between two mappings with deflated source and name indices where
1047
- * the generated positions are compared.
1048
- *
1049
- * Optionally pass in `true` as `onlyCompareGenerated` to consider two
1050
- * mappings with the same generated line and column, but different
1051
- * source/name/original line and column the same. Useful when searching for a
1052
- * mapping with a stubbed out mapping.
1053
- */
1054
- function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {
1055
- var cmp = mappingA.generatedLine - mappingB.generatedLine;
1056
- if (cmp !== 0) {
1057
- return cmp;
1058
- }
1059
-
1060
- cmp = mappingA.generatedColumn - mappingB.generatedColumn;
1061
- if (cmp !== 0 || onlyCompareGenerated) {
1062
- return cmp;
1063
- }
1064
-
1065
- cmp = mappingA.source - mappingB.source;
1066
- if (cmp !== 0) {
1067
- return cmp;
1068
- }
1069
-
1070
- cmp = mappingA.originalLine - mappingB.originalLine;
1071
- if (cmp !== 0) {
1072
- return cmp;
1073
- }
1074
-
1075
- cmp = mappingA.originalColumn - mappingB.originalColumn;
1076
- if (cmp !== 0) {
1077
- return cmp;
1078
- }
1079
-
1080
- return mappingA.name - mappingB.name;
1081
- }
1082
- exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;
1083
-
1084
- function strcmp(aStr1, aStr2) {
1085
- if (aStr1 === aStr2) {
1086
- return 0;
1087
- }
1088
-
1089
- if (aStr1 > aStr2) {
1090
- return 1;
1091
- }
1092
-
1093
- return -1;
1094
- }
1095
-
1096
- /**
1097
- * Comparator between two mappings with inflated source and name strings where
1098
- * the generated positions are compared.
1099
- */
1100
- function compareByGeneratedPositionsInflated(mappingA, mappingB) {
1101
- var cmp = mappingA.generatedLine - mappingB.generatedLine;
1102
- if (cmp !== 0) {
1103
- return cmp;
1104
- }
1105
-
1106
- cmp = mappingA.generatedColumn - mappingB.generatedColumn;
1107
- if (cmp !== 0) {
1108
- return cmp;
1109
- }
1110
-
1111
- cmp = strcmp(mappingA.source, mappingB.source);
1112
- if (cmp !== 0) {
1113
- return cmp;
1114
- }
1115
-
1116
- cmp = mappingA.originalLine - mappingB.originalLine;
1117
- if (cmp !== 0) {
1118
- return cmp;
1119
- }
1120
-
1121
- cmp = mappingA.originalColumn - mappingB.originalColumn;
1122
- if (cmp !== 0) {
1123
- return cmp;
1124
- }
1125
-
1126
- return strcmp(mappingA.name, mappingB.name);
1127
- }
1128
- exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;
1129
-
1130
-
1131
- /***/ }),
1132
- /* 5 */
1133
- /***/ (function(module, exports, __webpack_require__) {
1134
-
1135
- /* -*- Mode: js; js-indent-level: 2; -*- */
1136
- /*
1137
- * Copyright 2011 Mozilla Foundation and contributors
1138
- * Licensed under the New BSD license. See LICENSE or:
1139
- * http://opensource.org/licenses/BSD-3-Clause
1140
- */
1141
-
1142
- var util = __webpack_require__(4);
1143
- var has = Object.prototype.hasOwnProperty;
1144
- var hasNativeMap = typeof Map !== "undefined";
1145
-
1146
- /**
1147
- * A data structure which is a combination of an array and a set. Adding a new
1148
- * member is O(1), testing for membership is O(1), and finding the index of an
1149
- * element is O(1). Removing elements from the set is not supported. Only
1150
- * strings are supported for membership.
1151
- */
1152
- function ArraySet() {
1153
- this._array = [];
1154
- this._set = hasNativeMap ? new Map() : Object.create(null);
1155
- }
1156
-
1157
- /**
1158
- * Static method for creating ArraySet instances from an existing array.
1159
- */
1160
- ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {
1161
- var set = new ArraySet();
1162
- for (var i = 0, len = aArray.length; i < len; i++) {
1163
- set.add(aArray[i], aAllowDuplicates);
1164
- }
1165
- return set;
1166
- };
1167
-
1168
- /**
1169
- * Return how many unique items are in this ArraySet. If duplicates have been
1170
- * added, than those do not count towards the size.
1171
- *
1172
- * @returns Number
1173
- */
1174
- ArraySet.prototype.size = function ArraySet_size() {
1175
- return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;
1176
- };
1177
-
1178
- /**
1179
- * Add the given string to this set.
1180
- *
1181
- * @param String aStr
1182
- */
1183
- ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {
1184
- var sStr = hasNativeMap ? aStr : util.toSetString(aStr);
1185
- var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr);
1186
- var idx = this._array.length;
1187
- if (!isDuplicate || aAllowDuplicates) {
1188
- this._array.push(aStr);
1189
- }
1190
- if (!isDuplicate) {
1191
- if (hasNativeMap) {
1192
- this._set.set(aStr, idx);
1193
- } else {
1194
- this._set[sStr] = idx;
1195
- }
1196
- }
1197
- };
1198
-
1199
- /**
1200
- * Is the given string a member of this set?
1201
- *
1202
- * @param String aStr
1203
- */
1204
- ArraySet.prototype.has = function ArraySet_has(aStr) {
1205
- if (hasNativeMap) {
1206
- return this._set.has(aStr);
1207
- } else {
1208
- var sStr = util.toSetString(aStr);
1209
- return has.call(this._set, sStr);
1210
- }
1211
- };
1212
-
1213
- /**
1214
- * What is the index of the given string in the array?
1215
- *
1216
- * @param String aStr
1217
- */
1218
- ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {
1219
- if (hasNativeMap) {
1220
- var idx = this._set.get(aStr);
1221
- if (idx >= 0) {
1222
- return idx;
1223
- }
1224
- } else {
1225
- var sStr = util.toSetString(aStr);
1226
- if (has.call(this._set, sStr)) {
1227
- return this._set[sStr];
1228
- }
1229
- }
1230
-
1231
- throw new Error('"' + aStr + '" is not in the set.');
1232
- };
1233
-
1234
- /**
1235
- * What is the element at the given index?
1236
- *
1237
- * @param Number aIdx
1238
- */
1239
- ArraySet.prototype.at = function ArraySet_at(aIdx) {
1240
- if (aIdx >= 0 && aIdx < this._array.length) {
1241
- return this._array[aIdx];
1242
- }
1243
- throw new Error('No element indexed by ' + aIdx);
1244
- };
1245
-
1246
- /**
1247
- * Returns the array representation of this set (which has the proper indices
1248
- * indicated by indexOf). Note that this is a copy of the internal array used
1249
- * for storing the members so that no one can mess with internal state.
1250
- */
1251
- ArraySet.prototype.toArray = function ArraySet_toArray() {
1252
- return this._array.slice();
1253
- };
1254
-
1255
- exports.ArraySet = ArraySet;
1256
-
1257
-
1258
- /***/ }),
1259
- /* 6 */
1260
- /***/ (function(module, exports, __webpack_require__) {
1261
-
1262
- /* -*- Mode: js; js-indent-level: 2; -*- */
1263
- /*
1264
- * Copyright 2014 Mozilla Foundation and contributors
1265
- * Licensed under the New BSD license. See LICENSE or:
1266
- * http://opensource.org/licenses/BSD-3-Clause
1267
- */
1268
-
1269
- var util = __webpack_require__(4);
1270
-
1271
- /**
1272
- * Determine whether mappingB is after mappingA with respect to generated
1273
- * position.
1274
- */
1275
- function generatedPositionAfter(mappingA, mappingB) {
1276
- // Optimized for most common case
1277
- var lineA = mappingA.generatedLine;
1278
- var lineB = mappingB.generatedLine;
1279
- var columnA = mappingA.generatedColumn;
1280
- var columnB = mappingB.generatedColumn;
1281
- return lineB > lineA || lineB == lineA && columnB >= columnA ||
1282
- util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;
1283
- }
1284
-
1285
- /**
1286
- * A data structure to provide a sorted view of accumulated mappings in a
1287
- * performance conscious manner. It trades a neglibable overhead in general
1288
- * case for a large speedup in case of mappings being added in order.
1289
- */
1290
- function MappingList() {
1291
- this._array = [];
1292
- this._sorted = true;
1293
- // Serves as infimum
1294
- this._last = {generatedLine: -1, generatedColumn: 0};
1295
- }
1296
-
1297
- /**
1298
- * Iterate through internal items. This method takes the same arguments that
1299
- * `Array.prototype.forEach` takes.
1300
- *
1301
- * NOTE: The order of the mappings is NOT guaranteed.
1302
- */
1303
- MappingList.prototype.unsortedForEach =
1304
- function MappingList_forEach(aCallback, aThisArg) {
1305
- this._array.forEach(aCallback, aThisArg);
1306
- };
1307
-
1308
- /**
1309
- * Add the given source mapping.
1310
- *
1311
- * @param Object aMapping
1312
- */
1313
- MappingList.prototype.add = function MappingList_add(aMapping) {
1314
- if (generatedPositionAfter(this._last, aMapping)) {
1315
- this._last = aMapping;
1316
- this._array.push(aMapping);
1317
- } else {
1318
- this._sorted = false;
1319
- this._array.push(aMapping);
1320
- }
1321
- };
1322
-
1323
- /**
1324
- * Returns the flat, sorted array of mappings. The mappings are sorted by
1325
- * generated position.
1326
- *
1327
- * WARNING: This method returns internal data without copying, for
1328
- * performance. The return value must NOT be mutated, and should be treated as
1329
- * an immutable borrow. If you want to take ownership, you must make your own
1330
- * copy.
1331
- */
1332
- MappingList.prototype.toArray = function MappingList_toArray() {
1333
- if (!this._sorted) {
1334
- this._array.sort(util.compareByGeneratedPositionsInflated);
1335
- this._sorted = true;
1336
- }
1337
- return this._array;
1338
- };
1339
-
1340
- exports.MappingList = MappingList;
1341
-
1342
-
1343
- /***/ }),
1344
- /* 7 */
1345
- /***/ (function(module, exports, __webpack_require__) {
1346
-
1347
- /* -*- Mode: js; js-indent-level: 2; -*- */
1348
- /*
1349
- * Copyright 2011 Mozilla Foundation and contributors
1350
- * Licensed under the New BSD license. See LICENSE or:
1351
- * http://opensource.org/licenses/BSD-3-Clause
1352
- */
1353
-
1354
- var util = __webpack_require__(4);
1355
- var binarySearch = __webpack_require__(8);
1356
- var ArraySet = __webpack_require__(5).ArraySet;
1357
- var base64VLQ = __webpack_require__(2);
1358
- var quickSort = __webpack_require__(9).quickSort;
1359
-
1360
- function SourceMapConsumer(aSourceMap) {
1361
- var sourceMap = aSourceMap;
1362
- if (typeof aSourceMap === 'string') {
1363
- sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, ''));
1364
- }
1365
-
1366
- return sourceMap.sections != null
1367
- ? new IndexedSourceMapConsumer(sourceMap)
1368
- : new BasicSourceMapConsumer(sourceMap);
1369
- }
1370
-
1371
- SourceMapConsumer.fromSourceMap = function(aSourceMap) {
1372
- return BasicSourceMapConsumer.fromSourceMap(aSourceMap);
1373
- }
1374
-
1375
- /**
1376
- * The version of the source mapping spec that we are consuming.
1377
- */
1378
- SourceMapConsumer.prototype._version = 3;
1379
-
1380
- // `__generatedMappings` and `__originalMappings` are arrays that hold the
1381
- // parsed mapping coordinates from the source map's "mappings" attribute. They
1382
- // are lazily instantiated, accessed via the `_generatedMappings` and
1383
- // `_originalMappings` getters respectively, and we only parse the mappings
1384
- // and create these arrays once queried for a source location. We jump through
1385
- // these hoops because there can be many thousands of mappings, and parsing
1386
- // them is expensive, so we only want to do it if we must.
1387
- //
1388
- // Each object in the arrays is of the form:
1389
- //
1390
- // {
1391
- // generatedLine: The line number in the generated code,
1392
- // generatedColumn: The column number in the generated code,
1393
- // source: The path to the original source file that generated this
1394
- // chunk of code,
1395
- // originalLine: The line number in the original source that
1396
- // corresponds to this chunk of generated code,
1397
- // originalColumn: The column number in the original source that
1398
- // corresponds to this chunk of generated code,
1399
- // name: The name of the original symbol which generated this chunk of
1400
- // code.
1401
- // }
1402
- //
1403
- // All properties except for `generatedLine` and `generatedColumn` can be
1404
- // `null`.
1405
- //
1406
- // `_generatedMappings` is ordered by the generated positions.
1407
- //
1408
- // `_originalMappings` is ordered by the original positions.
1409
-
1410
- SourceMapConsumer.prototype.__generatedMappings = null;
1411
- Object.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', {
1412
- get: function () {
1413
- if (!this.__generatedMappings) {
1414
- this._parseMappings(this._mappings, this.sourceRoot);
1415
- }
1416
-
1417
- return this.__generatedMappings;
1418
- }
1419
- });
1420
-
1421
- SourceMapConsumer.prototype.__originalMappings = null;
1422
- Object.defineProperty(SourceMapConsumer.prototype, '_originalMappings', {
1423
- get: function () {
1424
- if (!this.__originalMappings) {
1425
- this._parseMappings(this._mappings, this.sourceRoot);
1426
- }
1427
-
1428
- return this.__originalMappings;
1429
- }
1430
- });
1431
-
1432
- SourceMapConsumer.prototype._charIsMappingSeparator =
1433
- function SourceMapConsumer_charIsMappingSeparator(aStr, index) {
1434
- var c = aStr.charAt(index);
1435
- return c === ";" || c === ",";
1436
- };
1437
-
1438
- /**
1439
- * Parse the mappings in a string in to a data structure which we can easily
1440
- * query (the ordered arrays in the `this.__generatedMappings` and
1441
- * `this.__originalMappings` properties).
1442
- */
1443
- SourceMapConsumer.prototype._parseMappings =
1444
- function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {
1445
- throw new Error("Subclasses must implement _parseMappings");
1446
- };
1447
-
1448
- SourceMapConsumer.GENERATED_ORDER = 1;
1449
- SourceMapConsumer.ORIGINAL_ORDER = 2;
1450
-
1451
- SourceMapConsumer.GREATEST_LOWER_BOUND = 1;
1452
- SourceMapConsumer.LEAST_UPPER_BOUND = 2;
1453
-
1454
- /**
1455
- * Iterate over each mapping between an original source/line/column and a
1456
- * generated line/column in this source map.
1457
- *
1458
- * @param Function aCallback
1459
- * The function that is called with each mapping.
1460
- * @param Object aContext
1461
- * Optional. If specified, this object will be the value of `this` every
1462
- * time that `aCallback` is called.
1463
- * @param aOrder
1464
- * Either `SourceMapConsumer.GENERATED_ORDER` or
1465
- * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to
1466
- * iterate over the mappings sorted by the generated file's line/column
1467
- * order or the original's source/line/column order, respectively. Defaults to
1468
- * `SourceMapConsumer.GENERATED_ORDER`.
1469
- */
1470
- SourceMapConsumer.prototype.eachMapping =
1471
- function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) {
1472
- var context = aContext || null;
1473
- var order = aOrder || SourceMapConsumer.GENERATED_ORDER;
1474
-
1475
- var mappings;
1476
- switch (order) {
1477
- case SourceMapConsumer.GENERATED_ORDER:
1478
- mappings = this._generatedMappings;
1479
- break;
1480
- case SourceMapConsumer.ORIGINAL_ORDER:
1481
- mappings = this._originalMappings;
1482
- break;
1483
- default:
1484
- throw new Error("Unknown order of iteration.");
1485
- }
1486
-
1487
- var sourceRoot = this.sourceRoot;
1488
- mappings.map(function (mapping) {
1489
- var source = mapping.source === null ? null : this._sources.at(mapping.source);
1490
- if (source != null && sourceRoot != null) {
1491
- source = util.join(sourceRoot, source);
1492
- }
1493
- return {
1494
- source: source,
1495
- generatedLine: mapping.generatedLine,
1496
- generatedColumn: mapping.generatedColumn,
1497
- originalLine: mapping.originalLine,
1498
- originalColumn: mapping.originalColumn,
1499
- name: mapping.name === null ? null : this._names.at(mapping.name)
1500
- };
1501
- }, this).forEach(aCallback, context);
1502
- };
1503
-
1504
- /**
1505
- * Returns all generated line and column information for the original source,
1506
- * line, and column provided. If no column is provided, returns all mappings
1507
- * corresponding to a either the line we are searching for or the next
1508
- * closest line that has any mappings. Otherwise, returns all mappings
1509
- * corresponding to the given line and either the column we are searching for
1510
- * or the next closest column that has any offsets.
1511
- *
1512
- * The only argument is an object with the following properties:
1513
- *
1514
- * - source: The filename of the original source.
1515
- * - line: The line number in the original source.
1516
- * - column: Optional. the column number in the original source.
1517
- *
1518
- * and an array of objects is returned, each with the following properties:
1519
- *
1520
- * - line: The line number in the generated source, or null.
1521
- * - column: The column number in the generated source, or null.
1522
- */
1523
- SourceMapConsumer.prototype.allGeneratedPositionsFor =
1524
- function SourceMapConsumer_allGeneratedPositionsFor(aArgs) {
1525
- var line = util.getArg(aArgs, 'line');
1526
-
1527
- // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping
1528
- // returns the index of the closest mapping less than the needle. By
1529
- // setting needle.originalColumn to 0, we thus find the last mapping for
1530
- // the given line, provided such a mapping exists.
1531
- var needle = {
1532
- source: util.getArg(aArgs, 'source'),
1533
- originalLine: line,
1534
- originalColumn: util.getArg(aArgs, 'column', 0)
1535
- };
1536
-
1537
- if (this.sourceRoot != null) {
1538
- needle.source = util.relative(this.sourceRoot, needle.source);
1539
- }
1540
- if (!this._sources.has(needle.source)) {
1541
- return [];
1542
- }
1543
- needle.source = this._sources.indexOf(needle.source);
1544
-
1545
- var mappings = [];
1546
-
1547
- var index = this._findMapping(needle,
1548
- this._originalMappings,
1549
- "originalLine",
1550
- "originalColumn",
1551
- util.compareByOriginalPositions,
1552
- binarySearch.LEAST_UPPER_BOUND);
1553
- if (index >= 0) {
1554
- var mapping = this._originalMappings[index];
1555
-
1556
- if (aArgs.column === undefined) {
1557
- var originalLine = mapping.originalLine;
1558
-
1559
- // Iterate until either we run out of mappings, or we run into
1560
- // a mapping for a different line than the one we found. Since
1561
- // mappings are sorted, this is guaranteed to find all mappings for
1562
- // the line we found.
1563
- while (mapping && mapping.originalLine === originalLine) {
1564
- mappings.push({
1565
- line: util.getArg(mapping, 'generatedLine', null),
1566
- column: util.getArg(mapping, 'generatedColumn', null),
1567
- lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)
1568
- });
1569
-
1570
- mapping = this._originalMappings[++index];
1571
- }
1572
- } else {
1573
- var originalColumn = mapping.originalColumn;
1574
-
1575
- // Iterate until either we run out of mappings, or we run into
1576
- // a mapping for a different line than the one we were searching for.
1577
- // Since mappings are sorted, this is guaranteed to find all mappings for
1578
- // the line we are searching for.
1579
- while (mapping &&
1580
- mapping.originalLine === line &&
1581
- mapping.originalColumn == originalColumn) {
1582
- mappings.push({
1583
- line: util.getArg(mapping, 'generatedLine', null),
1584
- column: util.getArg(mapping, 'generatedColumn', null),
1585
- lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)
1586
- });
1587
-
1588
- mapping = this._originalMappings[++index];
1589
- }
1590
- }
1591
- }
1592
-
1593
- return mappings;
1594
- };
1595
-
1596
- exports.SourceMapConsumer = SourceMapConsumer;
1597
-
1598
- /**
1599
- * A BasicSourceMapConsumer instance represents a parsed source map which we can
1600
- * query for information about the original file positions by giving it a file
1601
- * position in the generated source.
1602
- *
1603
- * The only parameter is the raw source map (either as a JSON string, or
1604
- * already parsed to an object). According to the spec, source maps have the
1605
- * following attributes:
1606
- *
1607
- * - version: Which version of the source map spec this map is following.
1608
- * - sources: An array of URLs to the original source files.
1609
- * - names: An array of identifiers which can be referrenced by individual mappings.
1610
- * - sourceRoot: Optional. The URL root from which all sources are relative.
1611
- * - sourcesContent: Optional. An array of contents of the original source files.
1612
- * - mappings: A string of base64 VLQs which contain the actual mappings.
1613
- * - file: Optional. The generated file this source map is associated with.
1614
- *
1615
- * Here is an example source map, taken from the source map spec[0]:
1616
- *
1617
- * {
1618
- * version : 3,
1619
- * file: "out.js",
1620
- * sourceRoot : "",
1621
- * sources: ["foo.js", "bar.js"],
1622
- * names: ["src", "maps", "are", "fun"],
1623
- * mappings: "AA,AB;;ABCDE;"
1624
- * }
1625
- *
1626
- * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1#
1627
- */
1628
- function BasicSourceMapConsumer(aSourceMap) {
1629
- var sourceMap = aSourceMap;
1630
- if (typeof aSourceMap === 'string') {
1631
- sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, ''));
1632
- }
1633
-
1634
- var version = util.getArg(sourceMap, 'version');
1635
- var sources = util.getArg(sourceMap, 'sources');
1636
- // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which
1637
- // requires the array) to play nice here.
1638
- var names = util.getArg(sourceMap, 'names', []);
1639
- var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null);
1640
- var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null);
1641
- var mappings = util.getArg(sourceMap, 'mappings');
1642
- var file = util.getArg(sourceMap, 'file', null);
1643
-
1644
- // Once again, Sass deviates from the spec and supplies the version as a
1645
- // string rather than a number, so we use loose equality checking here.
1646
- if (version != this._version) {
1647
- throw new Error('Unsupported version: ' + version);
1648
- }
1649
-
1650
- sources = sources
1651
- .map(String)
1652
- // Some source maps produce relative source paths like "./foo.js" instead of
1653
- // "foo.js". Normalize these first so that future comparisons will succeed.
1654
- // See bugzil.la/1090768.
1655
- .map(util.normalize)
1656
- // Always ensure that absolute sources are internally stored relative to
1657
- // the source root, if the source root is absolute. Not doing this would
1658
- // be particularly problematic when the source root is a prefix of the
1659
- // source (valid, but why??). See github issue #199 and bugzil.la/1188982.
1660
- .map(function (source) {
1661
- return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source)
1662
- ? util.relative(sourceRoot, source)
1663
- : source;
1664
- });
1665
-
1666
- // Pass `true` below to allow duplicate names and sources. While source maps
1667
- // are intended to be compressed and deduplicated, the TypeScript compiler
1668
- // sometimes generates source maps with duplicates in them. See Github issue
1669
- // #72 and bugzil.la/889492.
1670
- this._names = ArraySet.fromArray(names.map(String), true);
1671
- this._sources = ArraySet.fromArray(sources, true);
1672
-
1673
- this.sourceRoot = sourceRoot;
1674
- this.sourcesContent = sourcesContent;
1675
- this._mappings = mappings;
1676
- this.file = file;
1677
- }
1678
-
1679
- BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);
1680
- BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer;
1681
-
1682
- /**
1683
- * Create a BasicSourceMapConsumer from a SourceMapGenerator.
1684
- *
1685
- * @param SourceMapGenerator aSourceMap
1686
- * The source map that will be consumed.
1687
- * @returns BasicSourceMapConsumer
1688
- */
1689
- BasicSourceMapConsumer.fromSourceMap =
1690
- function SourceMapConsumer_fromSourceMap(aSourceMap) {
1691
- var smc = Object.create(BasicSourceMapConsumer.prototype);
1692
-
1693
- var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true);
1694
- var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true);
1695
- smc.sourceRoot = aSourceMap._sourceRoot;
1696
- smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(),
1697
- smc.sourceRoot);
1698
- smc.file = aSourceMap._file;
1699
-
1700
- // Because we are modifying the entries (by converting string sources and
1701
- // names to indices into the sources and names ArraySets), we have to make
1702
- // a copy of the entry or else bad things happen. Shared mutable state
1703
- // strikes again! See github issue #191.
1704
-
1705
- var generatedMappings = aSourceMap._mappings.toArray().slice();
1706
- var destGeneratedMappings = smc.__generatedMappings = [];
1707
- var destOriginalMappings = smc.__originalMappings = [];
1708
-
1709
- for (var i = 0, length = generatedMappings.length; i < length; i++) {
1710
- var srcMapping = generatedMappings[i];
1711
- var destMapping = new Mapping;
1712
- destMapping.generatedLine = srcMapping.generatedLine;
1713
- destMapping.generatedColumn = srcMapping.generatedColumn;
1714
-
1715
- if (srcMapping.source) {
1716
- destMapping.source = sources.indexOf(srcMapping.source);
1717
- destMapping.originalLine = srcMapping.originalLine;
1718
- destMapping.originalColumn = srcMapping.originalColumn;
1719
-
1720
- if (srcMapping.name) {
1721
- destMapping.name = names.indexOf(srcMapping.name);
1722
- }
1723
-
1724
- destOriginalMappings.push(destMapping);
1725
- }
1726
-
1727
- destGeneratedMappings.push(destMapping);
1728
- }
1729
-
1730
- quickSort(smc.__originalMappings, util.compareByOriginalPositions);
1731
-
1732
- return smc;
1733
- };
1734
-
1735
- /**
1736
- * The version of the source mapping spec that we are consuming.
1737
- */
1738
- BasicSourceMapConsumer.prototype._version = 3;
1739
-
1740
- /**
1741
- * The list of original sources.
1742
- */
1743
- Object.defineProperty(BasicSourceMapConsumer.prototype, 'sources', {
1744
- get: function () {
1745
- return this._sources.toArray().map(function (s) {
1746
- return this.sourceRoot != null ? util.join(this.sourceRoot, s) : s;
1747
- }, this);
1748
- }
1749
- });
1750
-
1751
- /**
1752
- * Provide the JIT with a nice shape / hidden class.
1753
- */
1754
- function Mapping() {
1755
- this.generatedLine = 0;
1756
- this.generatedColumn = 0;
1757
- this.source = null;
1758
- this.originalLine = null;
1759
- this.originalColumn = null;
1760
- this.name = null;
1761
- }
1762
-
1763
- /**
1764
- * Parse the mappings in a string in to a data structure which we can easily
1765
- * query (the ordered arrays in the `this.__generatedMappings` and
1766
- * `this.__originalMappings` properties).
1767
- */
1768
- BasicSourceMapConsumer.prototype._parseMappings =
1769
- function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {
1770
- var generatedLine = 1;
1771
- var previousGeneratedColumn = 0;
1772
- var previousOriginalLine = 0;
1773
- var previousOriginalColumn = 0;
1774
- var previousSource = 0;
1775
- var previousName = 0;
1776
- var length = aStr.length;
1777
- var index = 0;
1778
- var cachedSegments = {};
1779
- var temp = {};
1780
- var originalMappings = [];
1781
- var generatedMappings = [];
1782
- var mapping, str, segment, end, value;
1783
-
1784
- while (index < length) {
1785
- if (aStr.charAt(index) === ';') {
1786
- generatedLine++;
1787
- index++;
1788
- previousGeneratedColumn = 0;
1789
- }
1790
- else if (aStr.charAt(index) === ',') {
1791
- index++;
1792
- }
1793
- else {
1794
- mapping = new Mapping();
1795
- mapping.generatedLine = generatedLine;
1796
-
1797
- // Because each offset is encoded relative to the previous one,
1798
- // many segments often have the same encoding. We can exploit this
1799
- // fact by caching the parsed variable length fields of each segment,
1800
- // allowing us to avoid a second parse if we encounter the same
1801
- // segment again.
1802
- for (end = index; end < length; end++) {
1803
- if (this._charIsMappingSeparator(aStr, end)) {
1804
- break;
1805
- }
1806
- }
1807
- str = aStr.slice(index, end);
1808
-
1809
- segment = cachedSegments[str];
1810
- if (segment) {
1811
- index += str.length;
1812
- } else {
1813
- segment = [];
1814
- while (index < end) {
1815
- base64VLQ.decode(aStr, index, temp);
1816
- value = temp.value;
1817
- index = temp.rest;
1818
- segment.push(value);
1819
- }
1820
-
1821
- if (segment.length === 2) {
1822
- throw new Error('Found a source, but no line and column');
1823
- }
1824
-
1825
- if (segment.length === 3) {
1826
- throw new Error('Found a source and line, but no column');
1827
- }
1828
-
1829
- cachedSegments[str] = segment;
1830
- }
1831
-
1832
- // Generated column.
1833
- mapping.generatedColumn = previousGeneratedColumn + segment[0];
1834
- previousGeneratedColumn = mapping.generatedColumn;
1835
-
1836
- if (segment.length > 1) {
1837
- // Original source.
1838
- mapping.source = previousSource + segment[1];
1839
- previousSource += segment[1];
1840
-
1841
- // Original line.
1842
- mapping.originalLine = previousOriginalLine + segment[2];
1843
- previousOriginalLine = mapping.originalLine;
1844
- // Lines are stored 0-based
1845
- mapping.originalLine += 1;
1846
-
1847
- // Original column.
1848
- mapping.originalColumn = previousOriginalColumn + segment[3];
1849
- previousOriginalColumn = mapping.originalColumn;
1850
-
1851
- if (segment.length > 4) {
1852
- // Original name.
1853
- mapping.name = previousName + segment[4];
1854
- previousName += segment[4];
1855
- }
1856
- }
1857
-
1858
- generatedMappings.push(mapping);
1859
- if (typeof mapping.originalLine === 'number') {
1860
- originalMappings.push(mapping);
1861
- }
1862
- }
1863
- }
1864
-
1865
- quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated);
1866
- this.__generatedMappings = generatedMappings;
1867
-
1868
- quickSort(originalMappings, util.compareByOriginalPositions);
1869
- this.__originalMappings = originalMappings;
1870
- };
1871
-
1872
- /**
1873
- * Find the mapping that best matches the hypothetical "needle" mapping that
1874
- * we are searching for in the given "haystack" of mappings.
1875
- */
1876
- BasicSourceMapConsumer.prototype._findMapping =
1877
- function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName,
1878
- aColumnName, aComparator, aBias) {
1879
- // To return the position we are searching for, we must first find the
1880
- // mapping for the given position and then return the opposite position it
1881
- // points to. Because the mappings are sorted, we can use binary search to
1882
- // find the best mapping.
1883
-
1884
- if (aNeedle[aLineName] <= 0) {
1885
- throw new TypeError('Line must be greater than or equal to 1, got '
1886
- + aNeedle[aLineName]);
1887
- }
1888
- if (aNeedle[aColumnName] < 0) {
1889
- throw new TypeError('Column must be greater than or equal to 0, got '
1890
- + aNeedle[aColumnName]);
1891
- }
1892
-
1893
- return binarySearch.search(aNeedle, aMappings, aComparator, aBias);
1894
- };
1895
-
1896
- /**
1897
- * Compute the last column for each generated mapping. The last column is
1898
- * inclusive.
1899
- */
1900
- BasicSourceMapConsumer.prototype.computeColumnSpans =
1901
- function SourceMapConsumer_computeColumnSpans() {
1902
- for (var index = 0; index < this._generatedMappings.length; ++index) {
1903
- var mapping = this._generatedMappings[index];
1904
-
1905
- // Mappings do not contain a field for the last generated columnt. We
1906
- // can come up with an optimistic estimate, however, by assuming that
1907
- // mappings are contiguous (i.e. given two consecutive mappings, the
1908
- // first mapping ends where the second one starts).
1909
- if (index + 1 < this._generatedMappings.length) {
1910
- var nextMapping = this._generatedMappings[index + 1];
1911
-
1912
- if (mapping.generatedLine === nextMapping.generatedLine) {
1913
- mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1;
1914
- continue;
1915
- }
1916
- }
1917
-
1918
- // The last mapping for each line spans the entire line.
1919
- mapping.lastGeneratedColumn = Infinity;
1920
- }
1921
- };
1922
-
1923
- /**
1924
- * Returns the original source, line, and column information for the generated
1925
- * source's line and column positions provided. The only argument is an object
1926
- * with the following properties:
1927
- *
1928
- * - line: The line number in the generated source.
1929
- * - column: The column number in the generated source.
1930
- * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or
1931
- * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the
1932
- * closest element that is smaller than or greater than the one we are
1933
- * searching for, respectively, if the exact element cannot be found.
1934
- * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.
1935
- *
1936
- * and an object is returned with the following properties:
1937
- *
1938
- * - source: The original source file, or null.
1939
- * - line: The line number in the original source, or null.
1940
- * - column: The column number in the original source, or null.
1941
- * - name: The original identifier, or null.
1942
- */
1943
- BasicSourceMapConsumer.prototype.originalPositionFor =
1944
- function SourceMapConsumer_originalPositionFor(aArgs) {
1945
- var needle = {
1946
- generatedLine: util.getArg(aArgs, 'line'),
1947
- generatedColumn: util.getArg(aArgs, 'column')
1948
- };
1949
-
1950
- var index = this._findMapping(
1951
- needle,
1952
- this._generatedMappings,
1953
- "generatedLine",
1954
- "generatedColumn",
1955
- util.compareByGeneratedPositionsDeflated,
1956
- util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)
1957
- );
1958
-
1959
- if (index >= 0) {
1960
- var mapping = this._generatedMappings[index];
1961
-
1962
- if (mapping.generatedLine === needle.generatedLine) {
1963
- var source = util.getArg(mapping, 'source', null);
1964
- if (source !== null) {
1965
- source = this._sources.at(source);
1966
- if (this.sourceRoot != null) {
1967
- source = util.join(this.sourceRoot, source);
1968
- }
1969
- }
1970
- var name = util.getArg(mapping, 'name', null);
1971
- if (name !== null) {
1972
- name = this._names.at(name);
1973
- }
1974
- return {
1975
- source: source,
1976
- line: util.getArg(mapping, 'originalLine', null),
1977
- column: util.getArg(mapping, 'originalColumn', null),
1978
- name: name
1979
- };
1980
- }
1981
- }
1982
-
1983
- return {
1984
- source: null,
1985
- line: null,
1986
- column: null,
1987
- name: null
1988
- };
1989
- };
1990
-
1991
- /**
1992
- * Return true if we have the source content for every source in the source
1993
- * map, false otherwise.
1994
- */
1995
- BasicSourceMapConsumer.prototype.hasContentsOfAllSources =
1996
- function BasicSourceMapConsumer_hasContentsOfAllSources() {
1997
- if (!this.sourcesContent) {
1998
- return false;
1999
- }
2000
- return this.sourcesContent.length >= this._sources.size() &&
2001
- !this.sourcesContent.some(function (sc) { return sc == null; });
2002
- };
2003
-
2004
- /**
2005
- * Returns the original source content. The only argument is the url of the
2006
- * original source file. Returns null if no original source content is
2007
- * available.
2008
- */
2009
- BasicSourceMapConsumer.prototype.sourceContentFor =
2010
- function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {
2011
- if (!this.sourcesContent) {
2012
- return null;
2013
- }
2014
-
2015
- if (this.sourceRoot != null) {
2016
- aSource = util.relative(this.sourceRoot, aSource);
2017
- }
2018
-
2019
- if (this._sources.has(aSource)) {
2020
- return this.sourcesContent[this._sources.indexOf(aSource)];
2021
- }
2022
-
2023
- var url;
2024
- if (this.sourceRoot != null
2025
- && (url = util.urlParse(this.sourceRoot))) {
2026
- // XXX: file:// URIs and absolute paths lead to unexpected behavior for
2027
- // many users. We can help them out when they expect file:// URIs to
2028
- // behave like it would if they were running a local HTTP server. See
2029
- // https://bugzilla.mozilla.org/show_bug.cgi?id=885597.
2030
- var fileUriAbsPath = aSource.replace(/^file:\/\//, "");
2031
- if (url.scheme == "file"
2032
- && this._sources.has(fileUriAbsPath)) {
2033
- return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]
2034
- }
2035
-
2036
- if ((!url.path || url.path == "/")
2037
- && this._sources.has("/" + aSource)) {
2038
- return this.sourcesContent[this._sources.indexOf("/" + aSource)];
2039
- }
2040
- }
2041
-
2042
- // This function is used recursively from
2043
- // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we
2044
- // don't want to throw if we can't find the source - we just want to
2045
- // return null, so we provide a flag to exit gracefully.
2046
- if (nullOnMissing) {
2047
- return null;
2048
- }
2049
- else {
2050
- throw new Error('"' + aSource + '" is not in the SourceMap.');
2051
- }
2052
- };
2053
-
2054
- /**
2055
- * Returns the generated line and column information for the original source,
2056
- * line, and column positions provided. The only argument is an object with
2057
- * the following properties:
2058
- *
2059
- * - source: The filename of the original source.
2060
- * - line: The line number in the original source.
2061
- * - column: The column number in the original source.
2062
- * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or
2063
- * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the
2064
- * closest element that is smaller than or greater than the one we are
2065
- * searching for, respectively, if the exact element cannot be found.
2066
- * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.
2067
- *
2068
- * and an object is returned with the following properties:
2069
- *
2070
- * - line: The line number in the generated source, or null.
2071
- * - column: The column number in the generated source, or null.
2072
- */
2073
- BasicSourceMapConsumer.prototype.generatedPositionFor =
2074
- function SourceMapConsumer_generatedPositionFor(aArgs) {
2075
- var source = util.getArg(aArgs, 'source');
2076
- if (this.sourceRoot != null) {
2077
- source = util.relative(this.sourceRoot, source);
2078
- }
2079
- if (!this._sources.has(source)) {
2080
- return {
2081
- line: null,
2082
- column: null,
2083
- lastColumn: null
2084
- };
2085
- }
2086
- source = this._sources.indexOf(source);
2087
-
2088
- var needle = {
2089
- source: source,
2090
- originalLine: util.getArg(aArgs, 'line'),
2091
- originalColumn: util.getArg(aArgs, 'column')
2092
- };
2093
-
2094
- var index = this._findMapping(
2095
- needle,
2096
- this._originalMappings,
2097
- "originalLine",
2098
- "originalColumn",
2099
- util.compareByOriginalPositions,
2100
- util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)
2101
- );
2102
-
2103
- if (index >= 0) {
2104
- var mapping = this._originalMappings[index];
2105
-
2106
- if (mapping.source === needle.source) {
2107
- return {
2108
- line: util.getArg(mapping, 'generatedLine', null),
2109
- column: util.getArg(mapping, 'generatedColumn', null),
2110
- lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)
2111
- };
2112
- }
2113
- }
2114
-
2115
- return {
2116
- line: null,
2117
- column: null,
2118
- lastColumn: null
2119
- };
2120
- };
2121
-
2122
- exports.BasicSourceMapConsumer = BasicSourceMapConsumer;
2123
-
2124
- /**
2125
- * An IndexedSourceMapConsumer instance represents a parsed source map which
2126
- * we can query for information. It differs from BasicSourceMapConsumer in
2127
- * that it takes "indexed" source maps (i.e. ones with a "sections" field) as
2128
- * input.
2129
- *
2130
- * The only parameter is a raw source map (either as a JSON string, or already
2131
- * parsed to an object). According to the spec for indexed source maps, they
2132
- * have the following attributes:
2133
- *
2134
- * - version: Which version of the source map spec this map is following.
2135
- * - file: Optional. The generated file this source map is associated with.
2136
- * - sections: A list of section definitions.
2137
- *
2138
- * Each value under the "sections" field has two fields:
2139
- * - offset: The offset into the original specified at which this section
2140
- * begins to apply, defined as an object with a "line" and "column"
2141
- * field.
2142
- * - map: A source map definition. This source map could also be indexed,
2143
- * but doesn't have to be.
2144
- *
2145
- * Instead of the "map" field, it's also possible to have a "url" field
2146
- * specifying a URL to retrieve a source map from, but that's currently
2147
- * unsupported.
2148
- *
2149
- * Here's an example source map, taken from the source map spec[0], but
2150
- * modified to omit a section which uses the "url" field.
2151
- *
2152
- * {
2153
- * version : 3,
2154
- * file: "app.js",
2155
- * sections: [{
2156
- * offset: {line:100, column:10},
2157
- * map: {
2158
- * version : 3,
2159
- * file: "section.js",
2160
- * sources: ["foo.js", "bar.js"],
2161
- * names: ["src", "maps", "are", "fun"],
2162
- * mappings: "AAAA,E;;ABCDE;"
2163
- * }
2164
- * }],
2165
- * }
2166
- *
2167
- * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt
2168
- */
2169
- function IndexedSourceMapConsumer(aSourceMap) {
2170
- var sourceMap = aSourceMap;
2171
- if (typeof aSourceMap === 'string') {
2172
- sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, ''));
2173
- }
2174
-
2175
- var version = util.getArg(sourceMap, 'version');
2176
- var sections = util.getArg(sourceMap, 'sections');
2177
-
2178
- if (version != this._version) {
2179
- throw new Error('Unsupported version: ' + version);
2180
- }
2181
-
2182
- this._sources = new ArraySet();
2183
- this._names = new ArraySet();
2184
-
2185
- var lastOffset = {
2186
- line: -1,
2187
- column: 0
2188
- };
2189
- this._sections = sections.map(function (s) {
2190
- if (s.url) {
2191
- // The url field will require support for asynchronicity.
2192
- // See https://github.com/mozilla/source-map/issues/16
2193
- throw new Error('Support for url field in sections not implemented.');
2194
- }
2195
- var offset = util.getArg(s, 'offset');
2196
- var offsetLine = util.getArg(offset, 'line');
2197
- var offsetColumn = util.getArg(offset, 'column');
2198
-
2199
- if (offsetLine < lastOffset.line ||
2200
- (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) {
2201
- throw new Error('Section offsets must be ordered and non-overlapping.');
2202
- }
2203
- lastOffset = offset;
2204
-
2205
- return {
2206
- generatedOffset: {
2207
- // The offset fields are 0-based, but we use 1-based indices when
2208
- // encoding/decoding from VLQ.
2209
- generatedLine: offsetLine + 1,
2210
- generatedColumn: offsetColumn + 1
2211
- },
2212
- consumer: new SourceMapConsumer(util.getArg(s, 'map'))
2213
- }
2214
- });
2215
- }
2216
-
2217
- IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);
2218
- IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer;
2219
-
2220
- /**
2221
- * The version of the source mapping spec that we are consuming.
2222
- */
2223
- IndexedSourceMapConsumer.prototype._version = 3;
2224
-
2225
- /**
2226
- * The list of original sources.
2227
- */
2228
- Object.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', {
2229
- get: function () {
2230
- var sources = [];
2231
- for (var i = 0; i < this._sections.length; i++) {
2232
- for (var j = 0; j < this._sections[i].consumer.sources.length; j++) {
2233
- sources.push(this._sections[i].consumer.sources[j]);
2234
- }
2235
- }
2236
- return sources;
2237
- }
2238
- });
2239
-
2240
- /**
2241
- * Returns the original source, line, and column information for the generated
2242
- * source's line and column positions provided. The only argument is an object
2243
- * with the following properties:
2244
- *
2245
- * - line: The line number in the generated source.
2246
- * - column: The column number in the generated source.
2247
- *
2248
- * and an object is returned with the following properties:
2249
- *
2250
- * - source: The original source file, or null.
2251
- * - line: The line number in the original source, or null.
2252
- * - column: The column number in the original source, or null.
2253
- * - name: The original identifier, or null.
2254
- */
2255
- IndexedSourceMapConsumer.prototype.originalPositionFor =
2256
- function IndexedSourceMapConsumer_originalPositionFor(aArgs) {
2257
- var needle = {
2258
- generatedLine: util.getArg(aArgs, 'line'),
2259
- generatedColumn: util.getArg(aArgs, 'column')
2260
- };
2261
-
2262
- // Find the section containing the generated position we're trying to map
2263
- // to an original position.
2264
- var sectionIndex = binarySearch.search(needle, this._sections,
2265
- function(needle, section) {
2266
- var cmp = needle.generatedLine - section.generatedOffset.generatedLine;
2267
- if (cmp) {
2268
- return cmp;
2269
- }
2270
-
2271
- return (needle.generatedColumn -
2272
- section.generatedOffset.generatedColumn);
2273
- });
2274
- var section = this._sections[sectionIndex];
2275
-
2276
- if (!section) {
2277
- return {
2278
- source: null,
2279
- line: null,
2280
- column: null,
2281
- name: null
2282
- };
2283
- }
2284
-
2285
- return section.consumer.originalPositionFor({
2286
- line: needle.generatedLine -
2287
- (section.generatedOffset.generatedLine - 1),
2288
- column: needle.generatedColumn -
2289
- (section.generatedOffset.generatedLine === needle.generatedLine
2290
- ? section.generatedOffset.generatedColumn - 1
2291
- : 0),
2292
- bias: aArgs.bias
2293
- });
2294
- };
2295
-
2296
- /**
2297
- * Return true if we have the source content for every source in the source
2298
- * map, false otherwise.
2299
- */
2300
- IndexedSourceMapConsumer.prototype.hasContentsOfAllSources =
2301
- function IndexedSourceMapConsumer_hasContentsOfAllSources() {
2302
- return this._sections.every(function (s) {
2303
- return s.consumer.hasContentsOfAllSources();
2304
- });
2305
- };
2306
-
2307
- /**
2308
- * Returns the original source content. The only argument is the url of the
2309
- * original source file. Returns null if no original source content is
2310
- * available.
2311
- */
2312
- IndexedSourceMapConsumer.prototype.sourceContentFor =
2313
- function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {
2314
- for (var i = 0; i < this._sections.length; i++) {
2315
- var section = this._sections[i];
2316
-
2317
- var content = section.consumer.sourceContentFor(aSource, true);
2318
- if (content) {
2319
- return content;
2320
- }
2321
- }
2322
- if (nullOnMissing) {
2323
- return null;
2324
- }
2325
- else {
2326
- throw new Error('"' + aSource + '" is not in the SourceMap.');
2327
- }
2328
- };
2329
-
2330
- /**
2331
- * Returns the generated line and column information for the original source,
2332
- * line, and column positions provided. The only argument is an object with
2333
- * the following properties:
2334
- *
2335
- * - source: The filename of the original source.
2336
- * - line: The line number in the original source.
2337
- * - column: The column number in the original source.
2338
- *
2339
- * and an object is returned with the following properties:
2340
- *
2341
- * - line: The line number in the generated source, or null.
2342
- * - column: The column number in the generated source, or null.
2343
- */
2344
- IndexedSourceMapConsumer.prototype.generatedPositionFor =
2345
- function IndexedSourceMapConsumer_generatedPositionFor(aArgs) {
2346
- for (var i = 0; i < this._sections.length; i++) {
2347
- var section = this._sections[i];
2348
-
2349
- // Only consider this section if the requested source is in the list of
2350
- // sources of the consumer.
2351
- if (section.consumer.sources.indexOf(util.getArg(aArgs, 'source')) === -1) {
2352
- continue;
2353
- }
2354
- var generatedPosition = section.consumer.generatedPositionFor(aArgs);
2355
- if (generatedPosition) {
2356
- var ret = {
2357
- line: generatedPosition.line +
2358
- (section.generatedOffset.generatedLine - 1),
2359
- column: generatedPosition.column +
2360
- (section.generatedOffset.generatedLine === generatedPosition.line
2361
- ? section.generatedOffset.generatedColumn - 1
2362
- : 0)
2363
- };
2364
- return ret;
2365
- }
2366
- }
2367
-
2368
- return {
2369
- line: null,
2370
- column: null
2371
- };
2372
- };
2373
-
2374
- /**
2375
- * Parse the mappings in a string in to a data structure which we can easily
2376
- * query (the ordered arrays in the `this.__generatedMappings` and
2377
- * `this.__originalMappings` properties).
2378
- */
2379
- IndexedSourceMapConsumer.prototype._parseMappings =
2380
- function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) {
2381
- this.__generatedMappings = [];
2382
- this.__originalMappings = [];
2383
- for (var i = 0; i < this._sections.length; i++) {
2384
- var section = this._sections[i];
2385
- var sectionMappings = section.consumer._generatedMappings;
2386
- for (var j = 0; j < sectionMappings.length; j++) {
2387
- var mapping = sectionMappings[j];
2388
-
2389
- var source = section.consumer._sources.at(mapping.source);
2390
- if (section.consumer.sourceRoot !== null) {
2391
- source = util.join(section.consumer.sourceRoot, source);
2392
- }
2393
- this._sources.add(source);
2394
- source = this._sources.indexOf(source);
2395
-
2396
- var name = section.consumer._names.at(mapping.name);
2397
- this._names.add(name);
2398
- name = this._names.indexOf(name);
2399
-
2400
- // The mappings coming from the consumer for the section have
2401
- // generated positions relative to the start of the section, so we
2402
- // need to offset them to be relative to the start of the concatenated
2403
- // generated file.
2404
- var adjustedMapping = {
2405
- source: source,
2406
- generatedLine: mapping.generatedLine +
2407
- (section.generatedOffset.generatedLine - 1),
2408
- generatedColumn: mapping.generatedColumn +
2409
- (section.generatedOffset.generatedLine === mapping.generatedLine
2410
- ? section.generatedOffset.generatedColumn - 1
2411
- : 0),
2412
- originalLine: mapping.originalLine,
2413
- originalColumn: mapping.originalColumn,
2414
- name: name
2415
- };
2416
-
2417
- this.__generatedMappings.push(adjustedMapping);
2418
- if (typeof adjustedMapping.originalLine === 'number') {
2419
- this.__originalMappings.push(adjustedMapping);
2420
- }
2421
- }
2422
- }
2423
-
2424
- quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated);
2425
- quickSort(this.__originalMappings, util.compareByOriginalPositions);
2426
- };
2427
-
2428
- exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer;
2429
-
2430
-
2431
- /***/ }),
2432
- /* 8 */
2433
- /***/ (function(module, exports) {
2434
-
2435
- /* -*- Mode: js; js-indent-level: 2; -*- */
2436
- /*
2437
- * Copyright 2011 Mozilla Foundation and contributors
2438
- * Licensed under the New BSD license. See LICENSE or:
2439
- * http://opensource.org/licenses/BSD-3-Clause
2440
- */
2441
-
2442
- exports.GREATEST_LOWER_BOUND = 1;
2443
- exports.LEAST_UPPER_BOUND = 2;
2444
-
2445
- /**
2446
- * Recursive implementation of binary search.
2447
- *
2448
- * @param aLow Indices here and lower do not contain the needle.
2449
- * @param aHigh Indices here and higher do not contain the needle.
2450
- * @param aNeedle The element being searched for.
2451
- * @param aHaystack The non-empty array being searched.
2452
- * @param aCompare Function which takes two elements and returns -1, 0, or 1.
2453
- * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or
2454
- * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the
2455
- * closest element that is smaller than or greater than the one we are
2456
- * searching for, respectively, if the exact element cannot be found.
2457
- */
2458
- function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {
2459
- // This function terminates when one of the following is true:
2460
- //
2461
- // 1. We find the exact element we are looking for.
2462
- //
2463
- // 2. We did not find the exact element, but we can return the index of
2464
- // the next-closest element.
2465
- //
2466
- // 3. We did not find the exact element, and there is no next-closest
2467
- // element than the one we are searching for, so we return -1.
2468
- var mid = Math.floor((aHigh - aLow) / 2) + aLow;
2469
- var cmp = aCompare(aNeedle, aHaystack[mid], true);
2470
- if (cmp === 0) {
2471
- // Found the element we are looking for.
2472
- return mid;
2473
- }
2474
- else if (cmp > 0) {
2475
- // Our needle is greater than aHaystack[mid].
2476
- if (aHigh - mid > 1) {
2477
- // The element is in the upper half.
2478
- return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);
2479
- }
2480
-
2481
- // The exact needle element was not found in this haystack. Determine if
2482
- // we are in termination case (3) or (2) and return the appropriate thing.
2483
- if (aBias == exports.LEAST_UPPER_BOUND) {
2484
- return aHigh < aHaystack.length ? aHigh : -1;
2485
- } else {
2486
- return mid;
2487
- }
2488
- }
2489
- else {
2490
- // Our needle is less than aHaystack[mid].
2491
- if (mid - aLow > 1) {
2492
- // The element is in the lower half.
2493
- return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);
2494
- }
2495
-
2496
- // we are in termination case (3) or (2) and return the appropriate thing.
2497
- if (aBias == exports.LEAST_UPPER_BOUND) {
2498
- return mid;
2499
- } else {
2500
- return aLow < 0 ? -1 : aLow;
2501
- }
2502
- }
2503
- }
2504
-
2505
- /**
2506
- * This is an implementation of binary search which will always try and return
2507
- * the index of the closest element if there is no exact hit. This is because
2508
- * mappings between original and generated line/col pairs are single points,
2509
- * and there is an implicit region between each of them, so a miss just means
2510
- * that you aren't on the very start of a region.
2511
- *
2512
- * @param aNeedle The element you are looking for.
2513
- * @param aHaystack The array that is being searched.
2514
- * @param aCompare A function which takes the needle and an element in the
2515
- * array and returns -1, 0, or 1 depending on whether the needle is less
2516
- * than, equal to, or greater than the element, respectively.
2517
- * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or
2518
- * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the
2519
- * closest element that is smaller than or greater than the one we are
2520
- * searching for, respectively, if the exact element cannot be found.
2521
- * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'.
2522
- */
2523
- exports.search = function search(aNeedle, aHaystack, aCompare, aBias) {
2524
- if (aHaystack.length === 0) {
2525
- return -1;
2526
- }
2527
-
2528
- var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack,
2529
- aCompare, aBias || exports.GREATEST_LOWER_BOUND);
2530
- if (index < 0) {
2531
- return -1;
2532
- }
2533
-
2534
- // We have found either the exact element, or the next-closest element than
2535
- // the one we are searching for. However, there may be more than one such
2536
- // element. Make sure we always return the smallest of these.
2537
- while (index - 1 >= 0) {
2538
- if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {
2539
- break;
2540
- }
2541
- --index;
2542
- }
2543
-
2544
- return index;
2545
- };
2546
-
2547
-
2548
- /***/ }),
2549
- /* 9 */
2550
- /***/ (function(module, exports) {
2551
-
2552
- /* -*- Mode: js; js-indent-level: 2; -*- */
2553
- /*
2554
- * Copyright 2011 Mozilla Foundation and contributors
2555
- * Licensed under the New BSD license. See LICENSE or:
2556
- * http://opensource.org/licenses/BSD-3-Clause
2557
- */
2558
-
2559
- // It turns out that some (most?) JavaScript engines don't self-host
2560
- // `Array.prototype.sort`. This makes sense because C++ will likely remain
2561
- // faster than JS when doing raw CPU-intensive sorting. However, when using a
2562
- // custom comparator function, calling back and forth between the VM's C++ and
2563
- // JIT'd JS is rather slow *and* loses JIT type information, resulting in
2564
- // worse generated code for the comparator function than would be optimal. In
2565
- // fact, when sorting with a comparator, these costs outweigh the benefits of
2566
- // sorting in C++. By using our own JS-implemented Quick Sort (below), we get
2567
- // a ~3500ms mean speed-up in `bench/bench.html`.
2568
-
2569
- /**
2570
- * Swap the elements indexed by `x` and `y` in the array `ary`.
2571
- *
2572
- * @param {Array} ary
2573
- * The array.
2574
- * @param {Number} x
2575
- * The index of the first item.
2576
- * @param {Number} y
2577
- * The index of the second item.
2578
- */
2579
- function swap(ary, x, y) {
2580
- var temp = ary[x];
2581
- ary[x] = ary[y];
2582
- ary[y] = temp;
2583
- }
2584
-
2585
- /**
2586
- * Returns a random integer within the range `low .. high` inclusive.
2587
- *
2588
- * @param {Number} low
2589
- * The lower bound on the range.
2590
- * @param {Number} high
2591
- * The upper bound on the range.
2592
- */
2593
- function randomIntInRange(low, high) {
2594
- return Math.round(low + (Math.random() * (high - low)));
2595
- }
2596
-
2597
- /**
2598
- * The Quick Sort algorithm.
2599
- *
2600
- * @param {Array} ary
2601
- * An array to sort.
2602
- * @param {function} comparator
2603
- * Function to use to compare two items.
2604
- * @param {Number} p
2605
- * Start index of the array
2606
- * @param {Number} r
2607
- * End index of the array
2608
- */
2609
- function doQuickSort(ary, comparator, p, r) {
2610
- // If our lower bound is less than our upper bound, we (1) partition the
2611
- // array into two pieces and (2) recurse on each half. If it is not, this is
2612
- // the empty array and our base case.
2613
-
2614
- if (p < r) {
2615
- // (1) Partitioning.
2616
- //
2617
- // The partitioning chooses a pivot between `p` and `r` and moves all
2618
- // elements that are less than or equal to the pivot to the before it, and
2619
- // all the elements that are greater than it after it. The effect is that
2620
- // once partition is done, the pivot is in the exact place it will be when
2621
- // the array is put in sorted order, and it will not need to be moved
2622
- // again. This runs in O(n) time.
2623
-
2624
- // Always choose a random pivot so that an input array which is reverse
2625
- // sorted does not cause O(n^2) running time.
2626
- var pivotIndex = randomIntInRange(p, r);
2627
- var i = p - 1;
2628
-
2629
- swap(ary, pivotIndex, r);
2630
- var pivot = ary[r];
2631
-
2632
- // Immediately after `j` is incremented in this loop, the following hold
2633
- // true:
2634
- //
2635
- // * Every element in `ary[p .. i]` is less than or equal to the pivot.
2636
- //
2637
- // * Every element in `ary[i+1 .. j-1]` is greater than the pivot.
2638
- for (var j = p; j < r; j++) {
2639
- if (comparator(ary[j], pivot) <= 0) {
2640
- i += 1;
2641
- swap(ary, i, j);
2642
- }
2643
- }
2644
-
2645
- swap(ary, i + 1, j);
2646
- var q = i + 1;
2647
-
2648
- // (2) Recurse on each half.
2649
-
2650
- doQuickSort(ary, comparator, p, q - 1);
2651
- doQuickSort(ary, comparator, q + 1, r);
2652
- }
2653
- }
2654
-
2655
- /**
2656
- * Sort the given array in-place with the given comparator function.
2657
- *
2658
- * @param {Array} ary
2659
- * An array to sort.
2660
- * @param {function} comparator
2661
- * Function to use to compare two items.
2662
- */
2663
- exports.quickSort = function (ary, comparator) {
2664
- doQuickSort(ary, comparator, 0, ary.length - 1);
2665
- };
2666
-
2667
-
2668
- /***/ }),
2669
- /* 10 */
2670
- /***/ (function(module, exports, __webpack_require__) {
2671
-
2672
- /* -*- Mode: js; js-indent-level: 2; -*- */
2673
- /*
2674
- * Copyright 2011 Mozilla Foundation and contributors
2675
- * Licensed under the New BSD license. See LICENSE or:
2676
- * http://opensource.org/licenses/BSD-3-Clause
2677
- */
2678
-
2679
- var SourceMapGenerator = __webpack_require__(1).SourceMapGenerator;
2680
- var util = __webpack_require__(4);
2681
-
2682
- // Matches a Windows-style `\r\n` newline or a `\n` newline used by all other
2683
- // operating systems these days (capturing the result).
2684
- var REGEX_NEWLINE = /(\r?\n)/;
2685
-
2686
- // Newline character code for charCodeAt() comparisons
2687
- var NEWLINE_CODE = 10;
2688
-
2689
- // Private symbol for identifying `SourceNode`s when multiple versions of
2690
- // the source-map library are loaded. This MUST NOT CHANGE across
2691
- // versions!
2692
- var isSourceNode = "$$$isSourceNode$$$";
2693
-
2694
- /**
2695
- * SourceNodes provide a way to abstract over interpolating/concatenating
2696
- * snippets of generated JavaScript source code while maintaining the line and
2697
- * column information associated with the original source code.
2698
- *
2699
- * @param aLine The original line number.
2700
- * @param aColumn The original column number.
2701
- * @param aSource The original source's filename.
2702
- * @param aChunks Optional. An array of strings which are snippets of
2703
- * generated JS, or other SourceNodes.
2704
- * @param aName The original identifier.
2705
- */
2706
- function SourceNode(aLine, aColumn, aSource, aChunks, aName) {
2707
- this.children = [];
2708
- this.sourceContents = {};
2709
- this.line = aLine == null ? null : aLine;
2710
- this.column = aColumn == null ? null : aColumn;
2711
- this.source = aSource == null ? null : aSource;
2712
- this.name = aName == null ? null : aName;
2713
- this[isSourceNode] = true;
2714
- if (aChunks != null) this.add(aChunks);
2715
- }
2716
-
2717
- /**
2718
- * Creates a SourceNode from generated code and a SourceMapConsumer.
2719
- *
2720
- * @param aGeneratedCode The generated code
2721
- * @param aSourceMapConsumer The SourceMap for the generated code
2722
- * @param aRelativePath Optional. The path that relative sources in the
2723
- * SourceMapConsumer should be relative to.
2724
- */
2725
- SourceNode.fromStringWithSourceMap =
2726
- function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) {
2727
- // The SourceNode we want to fill with the generated code
2728
- // and the SourceMap
2729
- var node = new SourceNode();
2730
-
2731
- // All even indices of this array are one line of the generated code,
2732
- // while all odd indices are the newlines between two adjacent lines
2733
- // (since `REGEX_NEWLINE` captures its match).
2734
- // Processed fragments are accessed by calling `shiftNextLine`.
2735
- var remainingLines = aGeneratedCode.split(REGEX_NEWLINE);
2736
- var remainingLinesIndex = 0;
2737
- var shiftNextLine = function() {
2738
- var lineContents = getNextLine();
2739
- // The last line of a file might not have a newline.
2740
- var newLine = getNextLine() || "";
2741
- return lineContents + newLine;
2742
-
2743
- function getNextLine() {
2744
- return remainingLinesIndex < remainingLines.length ?
2745
- remainingLines[remainingLinesIndex++] : undefined;
2746
- }
2747
- };
2748
-
2749
- // We need to remember the position of "remainingLines"
2750
- var lastGeneratedLine = 1, lastGeneratedColumn = 0;
2751
-
2752
- // The generate SourceNodes we need a code range.
2753
- // To extract it current and last mapping is used.
2754
- // Here we store the last mapping.
2755
- var lastMapping = null;
2756
-
2757
- aSourceMapConsumer.eachMapping(function (mapping) {
2758
- if (lastMapping !== null) {
2759
- // We add the code from "lastMapping" to "mapping":
2760
- // First check if there is a new line in between.
2761
- if (lastGeneratedLine < mapping.generatedLine) {
2762
- // Associate first line with "lastMapping"
2763
- addMappingWithCode(lastMapping, shiftNextLine());
2764
- lastGeneratedLine++;
2765
- lastGeneratedColumn = 0;
2766
- // The remaining code is added without mapping
2767
- } else {
2768
- // There is no new line in between.
2769
- // Associate the code between "lastGeneratedColumn" and
2770
- // "mapping.generatedColumn" with "lastMapping"
2771
- var nextLine = remainingLines[remainingLinesIndex];
2772
- var code = nextLine.substr(0, mapping.generatedColumn -
2773
- lastGeneratedColumn);
2774
- remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn -
2775
- lastGeneratedColumn);
2776
- lastGeneratedColumn = mapping.generatedColumn;
2777
- addMappingWithCode(lastMapping, code);
2778
- // No more remaining code, continue
2779
- lastMapping = mapping;
2780
- return;
2781
- }
2782
- }
2783
- // We add the generated code until the first mapping
2784
- // to the SourceNode without any mapping.
2785
- // Each line is added as separate string.
2786
- while (lastGeneratedLine < mapping.generatedLine) {
2787
- node.add(shiftNextLine());
2788
- lastGeneratedLine++;
2789
- }
2790
- if (lastGeneratedColumn < mapping.generatedColumn) {
2791
- var nextLine = remainingLines[remainingLinesIndex];
2792
- node.add(nextLine.substr(0, mapping.generatedColumn));
2793
- remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn);
2794
- lastGeneratedColumn = mapping.generatedColumn;
2795
- }
2796
- lastMapping = mapping;
2797
- }, this);
2798
- // We have processed all mappings.
2799
- if (remainingLinesIndex < remainingLines.length) {
2800
- if (lastMapping) {
2801
- // Associate the remaining code in the current line with "lastMapping"
2802
- addMappingWithCode(lastMapping, shiftNextLine());
2803
- }
2804
- // and add the remaining lines without any mapping
2805
- node.add(remainingLines.splice(remainingLinesIndex).join(""));
2806
- }
2807
-
2808
- // Copy sourcesContent into SourceNode
2809
- aSourceMapConsumer.sources.forEach(function (sourceFile) {
2810
- var content = aSourceMapConsumer.sourceContentFor(sourceFile);
2811
- if (content != null) {
2812
- if (aRelativePath != null) {
2813
- sourceFile = util.join(aRelativePath, sourceFile);
2814
- }
2815
- node.setSourceContent(sourceFile, content);
2816
- }
2817
- });
2818
-
2819
- return node;
2820
-
2821
- function addMappingWithCode(mapping, code) {
2822
- if (mapping === null || mapping.source === undefined) {
2823
- node.add(code);
2824
- } else {
2825
- var source = aRelativePath
2826
- ? util.join(aRelativePath, mapping.source)
2827
- : mapping.source;
2828
- node.add(new SourceNode(mapping.originalLine,
2829
- mapping.originalColumn,
2830
- source,
2831
- code,
2832
- mapping.name));
2833
- }
2834
- }
2835
- };
2836
-
2837
- /**
2838
- * Add a chunk of generated JS to this source node.
2839
- *
2840
- * @param aChunk A string snippet of generated JS code, another instance of
2841
- * SourceNode, or an array where each member is one of those things.
2842
- */
2843
- SourceNode.prototype.add = function SourceNode_add(aChunk) {
2844
- if (Array.isArray(aChunk)) {
2845
- aChunk.forEach(function (chunk) {
2846
- this.add(chunk);
2847
- }, this);
2848
- }
2849
- else if (aChunk[isSourceNode] || typeof aChunk === "string") {
2850
- if (aChunk) {
2851
- this.children.push(aChunk);
2852
- }
2853
- }
2854
- else {
2855
- throw new TypeError(
2856
- "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk
2857
- );
2858
- }
2859
- return this;
2860
- };
2861
-
2862
- /**
2863
- * Add a chunk of generated JS to the beginning of this source node.
2864
- *
2865
- * @param aChunk A string snippet of generated JS code, another instance of
2866
- * SourceNode, or an array where each member is one of those things.
2867
- */
2868
- SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) {
2869
- if (Array.isArray(aChunk)) {
2870
- for (var i = aChunk.length-1; i >= 0; i--) {
2871
- this.prepend(aChunk[i]);
2872
- }
2873
- }
2874
- else if (aChunk[isSourceNode] || typeof aChunk === "string") {
2875
- this.children.unshift(aChunk);
2876
- }
2877
- else {
2878
- throw new TypeError(
2879
- "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk
2880
- );
2881
- }
2882
- return this;
2883
- };
2884
-
2885
- /**
2886
- * Walk over the tree of JS snippets in this node and its children. The
2887
- * walking function is called once for each snippet of JS and is passed that
2888
- * snippet and the its original associated source's line/column location.
2889
- *
2890
- * @param aFn The traversal function.
2891
- */
2892
- SourceNode.prototype.walk = function SourceNode_walk(aFn) {
2893
- var chunk;
2894
- for (var i = 0, len = this.children.length; i < len; i++) {
2895
- chunk = this.children[i];
2896
- if (chunk[isSourceNode]) {
2897
- chunk.walk(aFn);
2898
- }
2899
- else {
2900
- if (chunk !== '') {
2901
- aFn(chunk, { source: this.source,
2902
- line: this.line,
2903
- column: this.column,
2904
- name: this.name });
2905
- }
2906
- }
2907
- }
2908
- };
2909
-
2910
- /**
2911
- * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between
2912
- * each of `this.children`.
2913
- *
2914
- * @param aSep The separator.
2915
- */
2916
- SourceNode.prototype.join = function SourceNode_join(aSep) {
2917
- var newChildren;
2918
- var i;
2919
- var len = this.children.length;
2920
- if (len > 0) {
2921
- newChildren = [];
2922
- for (i = 0; i < len-1; i++) {
2923
- newChildren.push(this.children[i]);
2924
- newChildren.push(aSep);
2925
- }
2926
- newChildren.push(this.children[i]);
2927
- this.children = newChildren;
2928
- }
2929
- return this;
2930
- };
2931
-
2932
- /**
2933
- * Call String.prototype.replace on the very right-most source snippet. Useful
2934
- * for trimming whitespace from the end of a source node, etc.
2935
- *
2936
- * @param aPattern The pattern to replace.
2937
- * @param aReplacement The thing to replace the pattern with.
2938
- */
2939
- SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) {
2940
- var lastChild = this.children[this.children.length - 1];
2941
- if (lastChild[isSourceNode]) {
2942
- lastChild.replaceRight(aPattern, aReplacement);
2943
- }
2944
- else if (typeof lastChild === 'string') {
2945
- this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement);
2946
- }
2947
- else {
2948
- this.children.push(''.replace(aPattern, aReplacement));
2949
- }
2950
- return this;
2951
- };
2952
-
2953
- /**
2954
- * Set the source content for a source file. This will be added to the SourceMapGenerator
2955
- * in the sourcesContent field.
2956
- *
2957
- * @param aSourceFile The filename of the source file
2958
- * @param aSourceContent The content of the source file
2959
- */
2960
- SourceNode.prototype.setSourceContent =
2961
- function SourceNode_setSourceContent(aSourceFile, aSourceContent) {
2962
- this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent;
2963
- };
2964
-
2965
- /**
2966
- * Walk over the tree of SourceNodes. The walking function is called for each
2967
- * source file content and is passed the filename and source content.
2968
- *
2969
- * @param aFn The traversal function.
2970
- */
2971
- SourceNode.prototype.walkSourceContents =
2972
- function SourceNode_walkSourceContents(aFn) {
2973
- for (var i = 0, len = this.children.length; i < len; i++) {
2974
- if (this.children[i][isSourceNode]) {
2975
- this.children[i].walkSourceContents(aFn);
2976
- }
2977
- }
2978
-
2979
- var sources = Object.keys(this.sourceContents);
2980
- for (var i = 0, len = sources.length; i < len; i++) {
2981
- aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]);
2982
- }
2983
- };
2984
-
2985
- /**
2986
- * Return the string representation of this source node. Walks over the tree
2987
- * and concatenates all the various snippets together to one string.
2988
- */
2989
- SourceNode.prototype.toString = function SourceNode_toString() {
2990
- var str = "";
2991
- this.walk(function (chunk) {
2992
- str += chunk;
2993
- });
2994
- return str;
2995
- };
2996
-
2997
- /**
2998
- * Returns the string representation of this source node along with a source
2999
- * map.
3000
- */
3001
- SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) {
3002
- var generated = {
3003
- code: "",
3004
- line: 1,
3005
- column: 0
3006
- };
3007
- var map = new SourceMapGenerator(aArgs);
3008
- var sourceMappingActive = false;
3009
- var lastOriginalSource = null;
3010
- var lastOriginalLine = null;
3011
- var lastOriginalColumn = null;
3012
- var lastOriginalName = null;
3013
- this.walk(function (chunk, original) {
3014
- generated.code += chunk;
3015
- if (original.source !== null
3016
- && original.line !== null
3017
- && original.column !== null) {
3018
- if(lastOriginalSource !== original.source
3019
- || lastOriginalLine !== original.line
3020
- || lastOriginalColumn !== original.column
3021
- || lastOriginalName !== original.name) {
3022
- map.addMapping({
3023
- source: original.source,
3024
- original: {
3025
- line: original.line,
3026
- column: original.column
3027
- },
3028
- generated: {
3029
- line: generated.line,
3030
- column: generated.column
3031
- },
3032
- name: original.name
3033
- });
3034
- }
3035
- lastOriginalSource = original.source;
3036
- lastOriginalLine = original.line;
3037
- lastOriginalColumn = original.column;
3038
- lastOriginalName = original.name;
3039
- sourceMappingActive = true;
3040
- } else if (sourceMappingActive) {
3041
- map.addMapping({
3042
- generated: {
3043
- line: generated.line,
3044
- column: generated.column
3045
- }
3046
- });
3047
- lastOriginalSource = null;
3048
- sourceMappingActive = false;
3049
- }
3050
- for (var idx = 0, length = chunk.length; idx < length; idx++) {
3051
- if (chunk.charCodeAt(idx) === NEWLINE_CODE) {
3052
- generated.line++;
3053
- generated.column = 0;
3054
- // Mappings end at eol
3055
- if (idx + 1 === length) {
3056
- lastOriginalSource = null;
3057
- sourceMappingActive = false;
3058
- } else if (sourceMappingActive) {
3059
- map.addMapping({
3060
- source: original.source,
3061
- original: {
3062
- line: original.line,
3063
- column: original.column
3064
- },
3065
- generated: {
3066
- line: generated.line,
3067
- column: generated.column
3068
- },
3069
- name: original.name
3070
- });
3071
- }
3072
- } else {
3073
- generated.column++;
3074
- }
3075
- }
3076
- });
3077
- this.walkSourceContents(function (sourceFile, sourceContent) {
3078
- map.setSourceContent(sourceFile, sourceContent);
3079
- });
3080
-
3081
- return { code: generated.code, map: map };
3082
- };
3083
-
3084
- exports.SourceNode = SourceNode;
3085
-
3086
-
3087
- /***/ })
3088
- /******/ ])
3089
- });
3090
- ;
3091
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay91bml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uIiwid2VicGFjazovLy93ZWJwYWNrL2Jvb3RzdHJhcCBlNDczOGZjNzJhN2IyMzAzOTg4OSIsIndlYnBhY2s6Ly8vLi9zb3VyY2UtbWFwLmpzIiwid2VicGFjazovLy8uL2xpYi9zb3VyY2UtbWFwLWdlbmVyYXRvci5qcyIsIndlYnBhY2s6Ly8vLi9saWIvYmFzZTY0LXZscS5qcyIsIndlYnBhY2s6Ly8vLi9saWIvYmFzZTY0LmpzIiwid2VicGFjazovLy8uL2xpYi91dGlsLmpzIiwid2VicGFjazovLy8uL2xpYi9hcnJheS1zZXQuanMiLCJ3ZWJwYWNrOi8vLy4vbGliL21hcHBpbmctbGlzdC5qcyIsIndlYnBhY2s6Ly8vLi9saWIvc291cmNlLW1hcC1jb25zdW1lci5qcyIsIndlYnBhY2s6Ly8vLi9saWIvYmluYXJ5LXNlYXJjaC5qcyIsIndlYnBhY2s6Ly8vLi9saWIvcXVpY2stc29ydC5qcyIsIndlYnBhY2s6Ly8vLi9saWIvc291cmNlLW5vZGUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELE87QUNWQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx1QkFBZTtBQUNmO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOzs7Ozs7O0FDdENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7QUNQQSxpQkFBZ0Isb0JBQW9CO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsTUFBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsMkNBQTBDLFNBQVM7QUFDbkQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxxQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7Ozs7O0FDL1pBLGlCQUFnQixvQkFBb0I7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDREQUEyRDtBQUMzRCxxQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFHOztBQUVIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBRzs7QUFFSDtBQUNBO0FBQ0E7Ozs7Ozs7QUMzSUEsaUJBQWdCLG9CQUFvQjtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWdCO0FBQ2hCLGlCQUFnQjs7QUFFaEIsb0JBQW1CO0FBQ25CLHFCQUFvQjs7QUFFcEIsaUJBQWdCO0FBQ2hCLGlCQUFnQjs7QUFFaEIsaUJBQWdCO0FBQ2hCLGtCQUFpQjs7QUFFakI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7Ozs7Ozs7QUNsRUEsaUJBQWdCLG9CQUFvQjtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBRztBQUNIO0FBQ0EsSUFBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsK0NBQThDLFFBQVE7QUFDdEQ7QUFDQTtBQUNBO0FBQ0EsTUFBSztBQUNMO0FBQ0EsTUFBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxFQUFDOztBQUVEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDRCQUEyQixRQUFRO0FBQ25DO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7Ozs7Ozs7QUNoYUEsaUJBQWdCLG9CQUFvQjtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXNDLFNBQVM7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7OztBQ3hIQSxpQkFBZ0Isb0JBQW9CO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWdCO0FBQ2hCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7OztBQzlFQSxpQkFBZ0Isb0JBQW9CO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx1REFBc0Q7QUFDdEQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQSxvQkFBbUI7QUFDbkI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVc7O0FBRVg7QUFDQTtBQUNBLFFBQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBVzs7QUFFWDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTJCLE1BQU07QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1REFBc0Q7QUFDdEQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHVEQUFzRCxZQUFZO0FBQ2xFO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQUs7QUFDTDtBQUNBLEVBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0NBQW1DO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBeUIsY0FBYztBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFVBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXVCLHdDQUF3QztBQUMvRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0RBQStDLG1CQUFtQixFQUFFO0FBQ3BFOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFpQixvQkFBb0I7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE2QixNQUFNO0FBQ25DO0FBQ0EsUUFBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdURBQXNEO0FBQ3REOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFPO0FBQ1A7QUFDQTtBQUNBLElBQUc7QUFDSDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFtQiwyQkFBMkI7QUFDOUMsc0JBQXFCLCtDQUErQztBQUNwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW1CLDJCQUEyQjtBQUM5Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBbUIsMkJBQTJCO0FBQzlDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFtQiwyQkFBMkI7QUFDOUM7QUFDQTtBQUNBLHNCQUFxQiw0QkFBNEI7QUFDakQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7Ozs7O0FDempDQSxpQkFBZ0Isb0JBQW9CO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7Ozs7OztBQzlHQSxpQkFBZ0Isb0JBQW9CO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVcsTUFBTTtBQUNqQjtBQUNBLFlBQVcsT0FBTztBQUNsQjtBQUNBLFlBQVcsT0FBTztBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxZQUFXLE9BQU87QUFDbEI7QUFDQSxZQUFXLE9BQU87QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxZQUFXLE1BQU07QUFDakI7QUFDQSxZQUFXLFNBQVM7QUFDcEI7QUFDQSxZQUFXLE9BQU87QUFDbEI7QUFDQSxZQUFXLE9BQU87QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFtQixPQUFPO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxZQUFXLE1BQU07QUFDakI7QUFDQSxZQUFXLFNBQVM7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7OztBQ2pIQSxpQkFBZ0Isb0JBQW9CO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFLOztBQUVMOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQ0FBaUMsUUFBUTtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBNkMsU0FBUztBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBb0I7QUFDcEI7QUFDQTtBQUNBLHVDQUFzQztBQUN0QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZSxXQUFXO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnREFBK0MsU0FBUztBQUN4RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDBDQUF5QyxTQUFTO0FBQ2xEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBVztBQUNYO0FBQ0E7QUFDQTtBQUNBLFlBQVc7QUFDWDtBQUNBLFVBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSw2Q0FBNEMsY0FBYztBQUMxRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLGNBQWE7QUFDYjtBQUNBLFlBQVc7QUFDWDtBQUNBLFFBQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxJQUFHO0FBQ0g7QUFDQTtBQUNBLElBQUc7O0FBRUgsV0FBVTtBQUNWOztBQUVBIiwiZmlsZSI6InNvdXJjZS1tYXAuZGVidWcuanMiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gd2VicGFja1VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24ocm9vdCwgZmFjdG9yeSkge1xuXHRpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcpXG5cdFx0bW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCk7XG5cdGVsc2UgaWYodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKVxuXHRcdGRlZmluZShbXSwgZmFjdG9yeSk7XG5cdGVsc2UgaWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKVxuXHRcdGV4cG9ydHNbXCJzb3VyY2VNYXBcIl0gPSBmYWN0b3J5KCk7XG5cdGVsc2Vcblx0XHRyb290W1wic291cmNlTWFwXCJdID0gZmFjdG9yeSgpO1xufSkodGhpcywgZnVuY3Rpb24oKSB7XG5yZXR1cm4gXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIHdlYnBhY2svdW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbiIsIiBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbiBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG5cbiBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cbiBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKVxuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuXG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRleHBvcnRzOiB7fSxcbiBcdFx0XHRpZDogbW9kdWxlSWQsXG4gXHRcdFx0bG9hZGVkOiBmYWxzZVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sb2FkZWQgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuXG4gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbiBcdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIHdlYnBhY2svYm9vdHN0cmFwIGU0NzM4ZmM3MmE3YjIzMDM5ODg5IiwiLypcbiAqIENvcHlyaWdodCAyMDA5LTIwMTEgTW96aWxsYSBGb3VuZGF0aW9uIGFuZCBjb250cmlidXRvcnNcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBOZXcgQlNEIGxpY2Vuc2UuIFNlZSBMSUNFTlNFLnR4dCBvcjpcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2VcbiAqL1xuZXhwb3J0cy5Tb3VyY2VNYXBHZW5lcmF0b3IgPSByZXF1aXJlKCcuL2xpYi9zb3VyY2UtbWFwLWdlbmVyYXRvcicpLlNvdXJjZU1hcEdlbmVyYXRvcjtcbmV4cG9ydHMuU291cmNlTWFwQ29uc3VtZXIgPSByZXF1aXJlKCcuL2xpYi9zb3VyY2UtbWFwLWNvbnN1bWVyJykuU291cmNlTWFwQ29uc3VtZXI7XG5leHBvcnRzLlNvdXJjZU5vZGUgPSByZXF1aXJlKCcuL2xpYi9zb3VyY2Utbm9kZScpLlNvdXJjZU5vZGU7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NvdXJjZS1tYXAuanNcbi8vIG1vZHVsZSBpZCA9IDBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiLyogLSotIE1vZGU6IGpzOyBqcy1pbmRlbnQtbGV2ZWw6IDI7IC0qLSAqL1xuLypcbiAqIENvcHlyaWdodCAyMDExIE1vemlsbGEgRm91bmRhdGlvbiBhbmQgY29udHJpYnV0b3JzXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTmV3IEJTRCBsaWNlbnNlLiBTZWUgTElDRU5TRSBvcjpcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2VcbiAqL1xuXG52YXIgYmFzZTY0VkxRID0gcmVxdWlyZSgnLi9iYXNlNjQtdmxxJyk7XG52YXIgdXRpbCA9IHJlcXVpcmUoJy4vdXRpbCcpO1xudmFyIEFycmF5U2V0ID0gcmVxdWlyZSgnLi9hcnJheS1zZXQnKS5BcnJheVNldDtcbnZhciBNYXBwaW5nTGlzdCA9IHJlcXVpcmUoJy4vbWFwcGluZy1saXN0JykuTWFwcGluZ0xpc3Q7XG5cbi8qKlxuICogQW4gaW5zdGFuY2Ugb2YgdGhlIFNvdXJjZU1hcEdlbmVyYXRvciByZXByZXNlbnRzIGEgc291cmNlIG1hcCB3aGljaCBpc1xuICogYmVpbmcgYnVpbHQgaW5jcmVtZW50YWxseS4gWW91IG1heSBwYXNzIGFuIG9iamVjdCB3aXRoIHRoZSBmb2xsb3dpbmdcbiAqIHByb3BlcnRpZXM6XG4gKlxuICogICAtIGZpbGU6IFRoZSBmaWxlbmFtZSBvZiB0aGUgZ2VuZXJhdGVkIHNvdXJjZS5cbiAqICAgLSBzb3VyY2VSb290OiBBIHJvb3QgZm9yIGFsbCByZWxhdGl2ZSBVUkxzIGluIHRoaXMgc291cmNlIG1hcC5cbiAqL1xuZnVuY3Rpb24gU291cmNlTWFwR2VuZXJhdG9yKGFBcmdzKSB7XG4gIGlmICghYUFyZ3MpIHtcbiAgICBhQXJncyA9IHt9O1xuICB9XG4gIHRoaXMuX2ZpbGUgPSB1dGlsLmdldEFyZyhhQXJncywgJ2ZpbGUnLCBudWxsKTtcbiAgdGhpcy5fc291cmNlUm9vdCA9IHV0aWwuZ2V0QXJnKGFBcmdzLCAnc291cmNlUm9vdCcsIG51bGwpO1xuICB0aGlzLl9za2lwVmFsaWRhdGlvbiA9IHV0aWwuZ2V0QXJnKGFBcmdzLCAnc2tpcFZhbGlkYXRpb24nLCBmYWxzZSk7XG4gIHRoaXMuX3NvdXJjZXMgPSBuZXcgQXJyYXlTZXQoKTtcbiAgdGhpcy5fbmFtZXMgPSBuZXcgQXJyYXlTZXQoKTtcbiAgdGhpcy5fbWFwcGluZ3MgPSBuZXcgTWFwcGluZ0xpc3QoKTtcbiAgdGhpcy5fc291cmNlc0NvbnRlbnRzID0gbnVsbDtcbn1cblxuU291cmNlTWFwR2VuZXJhdG9yLnByb3RvdHlwZS5fdmVyc2lvbiA9IDM7XG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyBTb3VyY2VNYXBHZW5lcmF0b3IgYmFzZWQgb24gYSBTb3VyY2VNYXBDb25zdW1lclxuICpcbiAqIEBwYXJhbSBhU291cmNlTWFwQ29uc3VtZXIgVGhlIFNvdXJjZU1hcC5cbiAqL1xuU291cmNlTWFwR2VuZXJhdG9yLmZyb21Tb3VyY2VNYXAgPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBHZW5lcmF0b3JfZnJvbVNvdXJjZU1hcChhU291cmNlTWFwQ29uc3VtZXIpIHtcbiAgICB2YXIgc291cmNlUm9vdCA9IGFTb3VyY2VNYXBDb25zdW1lci5zb3VyY2VSb290O1xuICAgIHZhciBnZW5lcmF0b3IgPSBuZXcgU291cmNlTWFwR2VuZXJhdG9yKHtcbiAgICAgIGZpbGU6IGFTb3VyY2VNYXBDb25zdW1lci5maWxlLFxuICAgICAgc291cmNlUm9vdDogc291cmNlUm9vdFxuICAgIH0pO1xuICAgIGFTb3VyY2VNYXBDb25zdW1lci5lYWNoTWFwcGluZyhmdW5jdGlvbiAobWFwcGluZykge1xuICAgICAgdmFyIG5ld01hcHBpbmcgPSB7XG4gICAgICAgIGdlbmVyYXRlZDoge1xuICAgICAgICAgIGxpbmU6IG1hcHBpbmcuZ2VuZXJhdGVkTGluZSxcbiAgICAgICAgICBjb2x1bW46IG1hcHBpbmcuZ2VuZXJhdGVkQ29sdW1uXG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIGlmIChtYXBwaW5nLnNvdXJjZSAhPSBudWxsKSB7XG4gICAgICAgIG5ld01hcHBpbmcuc291cmNlID0gbWFwcGluZy5zb3VyY2U7XG4gICAgICAgIGlmIChzb3VyY2VSb290ICE9IG51bGwpIHtcbiAgICAgICAgICBuZXdNYXBwaW5nLnNvdXJjZSA9IHV0aWwucmVsYXRpdmUoc291cmNlUm9vdCwgbmV3TWFwcGluZy5zb3VyY2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgbmV3TWFwcGluZy5vcmlnaW5hbCA9IHtcbiAgICAgICAgICBsaW5lOiBtYXBwaW5nLm9yaWdpbmFsTGluZSxcbiAgICAgICAgICBjb2x1bW46IG1hcHBpbmcub3JpZ2luYWxDb2x1bW5cbiAgICAgICAgfTtcblxuICAgICAgICBpZiAobWFwcGluZy5uYW1lICE9IG51bGwpIHtcbiAgICAgICAgICBuZXdNYXBwaW5nLm5hbWUgPSBtYXBwaW5nLm5hbWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZ2VuZXJhdG9yLmFkZE1hcHBpbmcobmV3TWFwcGluZyk7XG4gICAgfSk7XG4gICAgYVNvdXJjZU1hcENvbnN1bWVyLnNvdXJjZXMuZm9yRWFjaChmdW5jdGlvbiAoc291cmNlRmlsZSkge1xuICAgICAgdmFyIGNvbnRlbnQgPSBhU291cmNlTWFwQ29uc3VtZXIuc291cmNlQ29udGVudEZvcihzb3VyY2VGaWxlKTtcbiAgICAgIGlmIChjb250ZW50ICE9IG51bGwpIHtcbiAgICAgICAgZ2VuZXJhdG9yLnNldFNvdXJjZUNvbnRlbnQoc291cmNlRmlsZSwgY29udGVudCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGdlbmVyYXRvcjtcbiAgfTtcblxuLyoqXG4gKiBBZGQgYSBzaW5nbGUgbWFwcGluZyBmcm9tIG9yaWdpbmFsIHNvdXJjZSBsaW5lIGFuZCBjb2x1bW4gdG8gdGhlIGdlbmVyYXRlZFxuICogc291cmNlJ3MgbGluZSBhbmQgY29sdW1uIGZvciB0aGlzIHNvdXJjZSBtYXAgYmVpbmcgY3JlYXRlZC4gVGhlIG1hcHBpbmdcbiAqIG9iamVjdCBzaG91bGQgaGF2ZSB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gKlxuICogICAtIGdlbmVyYXRlZDogQW4gb2JqZWN0IHdpdGggdGhlIGdlbmVyYXRlZCBsaW5lIGFuZCBjb2x1bW4gcG9zaXRpb25zLlxuICogICAtIG9yaWdpbmFsOiBBbiBvYmplY3Qgd2l0aCB0aGUgb3JpZ2luYWwgbGluZSBhbmQgY29sdW1uIHBvc2l0aW9ucy5cbiAqICAgLSBzb3VyY2U6IFRoZSBvcmlnaW5hbCBzb3VyY2UgZmlsZSAocmVsYXRpdmUgdG8gdGhlIHNvdXJjZVJvb3QpLlxuICogICAtIG5hbWU6IEFuIG9wdGlvbmFsIG9yaWdpbmFsIHRva2VuIG5hbWUgZm9yIHRoaXMgbWFwcGluZy5cbiAqL1xuU291cmNlTWFwR2VuZXJhdG9yLnByb3RvdHlwZS5hZGRNYXBwaW5nID1cbiAgZnVuY3Rpb24gU291cmNlTWFwR2VuZXJhdG9yX2FkZE1hcHBpbmcoYUFyZ3MpIHtcbiAgICB2YXIgZ2VuZXJhdGVkID0gdXRpbC5nZXRBcmcoYUFyZ3MsICdnZW5lcmF0ZWQnKTtcbiAgICB2YXIgb3JpZ2luYWwgPSB1dGlsLmdldEFyZyhhQXJncywgJ29yaWdpbmFsJywgbnVsbCk7XG4gICAgdmFyIHNvdXJjZSA9IHV0aWwuZ2V0QXJnKGFBcmdzLCAnc291cmNlJywgbnVsbCk7XG4gICAgdmFyIG5hbWUgPSB1dGlsLmdldEFyZyhhQXJncywgJ25hbWUnLCBudWxsKTtcblxuICAgIGlmICghdGhpcy5fc2tpcFZhbGlkYXRpb24pIHtcbiAgICAgIHRoaXMuX3ZhbGlkYXRlTWFwcGluZyhnZW5lcmF0ZWQsIG9yaWdpbmFsLCBzb3VyY2UsIG5hbWUpO1xuICAgIH1cblxuICAgIGlmIChzb3VyY2UgIT0gbnVsbCkge1xuICAgICAgc291cmNlID0gU3RyaW5nKHNvdXJjZSk7XG4gICAgICBpZiAoIXRoaXMuX3NvdXJjZXMuaGFzKHNvdXJjZSkpIHtcbiAgICAgICAgdGhpcy5fc291cmNlcy5hZGQoc291cmNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobmFtZSAhPSBudWxsKSB7XG4gICAgICBuYW1lID0gU3RyaW5nKG5hbWUpO1xuICAgICAgaWYgKCF0aGlzLl9uYW1lcy5oYXMobmFtZSkpIHtcbiAgICAgICAgdGhpcy5fbmFtZXMuYWRkKG5hbWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuX21hcHBpbmdzLmFkZCh7XG4gICAgICBnZW5lcmF0ZWRMaW5lOiBnZW5lcmF0ZWQubGluZSxcbiAgICAgIGdlbmVyYXRlZENvbHVtbjogZ2VuZXJhdGVkLmNvbHVtbixcbiAgICAgIG9yaWdpbmFsTGluZTogb3JpZ2luYWwgIT0gbnVsbCAmJiBvcmlnaW5hbC5saW5lLFxuICAgICAgb3JpZ2luYWxDb2x1bW46IG9yaWdpbmFsICE9IG51bGwgJiYgb3JpZ2luYWwuY29sdW1uLFxuICAgICAgc291cmNlOiBzb3VyY2UsXG4gICAgICBuYW1lOiBuYW1lXG4gICAgfSk7XG4gIH07XG5cbi8qKlxuICogU2V0IHRoZSBzb3VyY2UgY29udGVudCBmb3IgYSBzb3VyY2UgZmlsZS5cbiAqL1xuU291cmNlTWFwR2VuZXJhdG9yLnByb3RvdHlwZS5zZXRTb3VyY2VDb250ZW50ID1cbiAgZnVuY3Rpb24gU291cmNlTWFwR2VuZXJhdG9yX3NldFNvdXJjZUNvbnRlbnQoYVNvdXJjZUZpbGUsIGFTb3VyY2VDb250ZW50KSB7XG4gICAgdmFyIHNvdXJjZSA9IGFTb3VyY2VGaWxlO1xuICAgIGlmICh0aGlzLl9zb3VyY2VSb290ICE9IG51bGwpIHtcbiAgICAgIHNvdXJjZSA9IHV0aWwucmVsYXRpdmUodGhpcy5fc291cmNlUm9vdCwgc291cmNlKTtcbiAgICB9XG5cbiAgICBpZiAoYVNvdXJjZUNvbnRlbnQgIT0gbnVsbCkge1xuICAgICAgLy8gQWRkIHRoZSBzb3VyY2UgY29udGVudCB0byB0aGUgX3NvdXJjZXNDb250ZW50cyBtYXAuXG4gICAgICAvLyBDcmVhdGUgYSBuZXcgX3NvdXJjZXNDb250ZW50cyBtYXAgaWYgdGhlIHByb3BlcnR5IGlzIG51bGwuXG4gICAgICBpZiAoIXRoaXMuX3NvdXJjZXNDb250ZW50cykge1xuICAgICAgICB0aGlzLl9zb3VyY2VzQ29udGVudHMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgICAgfVxuICAgICAgdGhpcy5fc291cmNlc0NvbnRlbnRzW3V0aWwudG9TZXRTdHJpbmcoc291cmNlKV0gPSBhU291cmNlQ29udGVudDtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX3NvdXJjZXNDb250ZW50cykge1xuICAgICAgLy8gUmVtb3ZlIHRoZSBzb3VyY2UgZmlsZSBmcm9tIHRoZSBfc291cmNlc0NvbnRlbnRzIG1hcC5cbiAgICAgIC8vIElmIHRoZSBfc291cmNlc0NvbnRlbnRzIG1hcCBpcyBlbXB0eSwgc2V0IHRoZSBwcm9wZXJ0eSB0byBudWxsLlxuICAgICAgZGVsZXRlIHRoaXMuX3NvdXJjZXNDb250ZW50c1t1dGlsLnRvU2V0U3RyaW5nKHNvdXJjZSldO1xuICAgICAgaWYgKE9iamVjdC5rZXlzKHRoaXMuX3NvdXJjZXNDb250ZW50cykubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMuX3NvdXJjZXNDb250ZW50cyA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4vKipcbiAqIEFwcGxpZXMgdGhlIG1hcHBpbmdzIG9mIGEgc3ViLXNvdXJjZS1tYXAgZm9yIGEgc3BlY2lmaWMgc291cmNlIGZpbGUgdG8gdGhlXG4gKiBzb3VyY2UgbWFwIGJlaW5nIGdlbmVyYXRlZC4gRWFjaCBtYXBwaW5nIHRvIHRoZSBzdXBwbGllZCBzb3VyY2UgZmlsZSBpc1xuICogcmV3cml0dGVuIHVzaW5nIHRoZSBzdXBwbGllZCBzb3VyY2UgbWFwLiBOb3RlOiBUaGUgcmVzb2x1dGlvbiBmb3IgdGhlXG4gKiByZXN1bHRpbmcgbWFwcGluZ3MgaXMgdGhlIG1pbmltaXVtIG9mIHRoaXMgbWFwIGFuZCB0aGUgc3VwcGxpZWQgbWFwLlxuICpcbiAqIEBwYXJhbSBhU291cmNlTWFwQ29uc3VtZXIgVGhlIHNvdXJjZSBtYXAgdG8gYmUgYXBwbGllZC5cbiAqIEBwYXJhbSBhU291cmNlRmlsZSBPcHRpb25hbC4gVGhlIGZpbGVuYW1lIG9mIHRoZSBzb3VyY2UgZmlsZS5cbiAqICAgICAgICBJZiBvbWl0dGVkLCBTb3VyY2VNYXBDb25zdW1lcidzIGZpbGUgcHJvcGVydHkgd2lsbCBiZSB1c2VkLlxuICogQHBhcmFtIGFTb3VyY2VNYXBQYXRoIE9wdGlvbmFsLiBUaGUgZGlybmFtZSBvZiB0aGUgcGF0aCB0byB0aGUgc291cmNlIG1hcFxuICogICAgICAgIHRvIGJlIGFwcGxpZWQuIElmIHJlbGF0aXZlLCBpdCBpcyByZWxhdGl2ZSB0byB0aGUgU291cmNlTWFwQ29uc3VtZXIuXG4gKiAgICAgICAgVGhpcyBwYXJhbWV0ZXIgaXMgbmVlZGVkIHdoZW4gdGhlIHR3byBzb3VyY2UgbWFwcyBhcmVuJ3QgaW4gdGhlIHNhbWVcbiAqICAgICAgICBkaXJlY3RvcnksIGFuZCB0aGUgc291cmNlIG1hcCB0byBiZSBhcHBsaWVkIGNvbnRhaW5zIHJlbGF0aXZlIHNvdXJjZVxuICogICAgICAgIHBhdGhzLiBJZiBzbywgdGhvc2UgcmVsYXRpdmUgc291cmNlIHBhdGhzIG5lZWQgdG8gYmUgcmV3cml0dGVuXG4gKiAgICAgICAgcmVsYXRpdmUgdG8gdGhlIFNvdXJjZU1hcEdlbmVyYXRvci5cbiAqL1xuU291cmNlTWFwR2VuZXJhdG9yLnByb3RvdHlwZS5hcHBseVNvdXJjZU1hcCA9XG4gIGZ1bmN0aW9uIFNvdXJjZU1hcEdlbmVyYXRvcl9hcHBseVNvdXJjZU1hcChhU291cmNlTWFwQ29uc3VtZXIsIGFTb3VyY2VGaWxlLCBhU291cmNlTWFwUGF0aCkge1xuICAgIHZhciBzb3VyY2VGaWxlID0gYVNvdXJjZUZpbGU7XG4gICAgLy8gSWYgYVNvdXJjZUZpbGUgaXMgb21pdHRlZCwgd2Ugd2lsbCB1c2UgdGhlIGZpbGUgcHJvcGVydHkgb2YgdGhlIFNvdXJjZU1hcFxuICAgIGlmIChhU291cmNlRmlsZSA9PSBudWxsKSB7XG4gICAgICBpZiAoYVNvdXJjZU1hcENvbnN1bWVyLmZpbGUgPT0gbnVsbCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgJ1NvdXJjZU1hcEdlbmVyYXRvci5wcm90b3R5cGUuYXBwbHlTb3VyY2VNYXAgcmVxdWlyZXMgZWl0aGVyIGFuIGV4cGxpY2l0IHNvdXJjZSBmaWxlLCAnICtcbiAgICAgICAgICAnb3IgdGhlIHNvdXJjZSBtYXBcXCdzIFwiZmlsZVwiIHByb3BlcnR5LiBCb3RoIHdlcmUgb21pdHRlZC4nXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBzb3VyY2VGaWxlID0gYVNvdXJjZU1hcENvbnN1bWVyLmZpbGU7XG4gICAgfVxuICAgIHZhciBzb3VyY2VSb290ID0gdGhpcy5fc291cmNlUm9vdDtcbiAgICAvLyBNYWtlIFwic291cmNlRmlsZVwiIHJlbGF0aXZlIGlmIGFuIGFic29sdXRlIFVybCBpcyBwYXNzZWQuXG4gICAgaWYgKHNvdXJjZVJvb3QgIT0gbnVsbCkge1xuICAgICAgc291cmNlRmlsZSA9IHV0aWwucmVsYXRpdmUoc291cmNlUm9vdCwgc291cmNlRmlsZSk7XG4gICAgfVxuICAgIC8vIEFwcGx5aW5nIHRoZSBTb3VyY2VNYXAgY2FuIGFkZCBhbmQgcmVtb3ZlIGl0ZW1zIGZyb20gdGhlIHNvdXJjZXMgYW5kXG4gICAgLy8gdGhlIG5hbWVzIGFycmF5LlxuICAgIHZhciBuZXdTb3VyY2VzID0gbmV3IEFycmF5U2V0KCk7XG4gICAgdmFyIG5ld05hbWVzID0gbmV3IEFycmF5U2V0KCk7XG5cbiAgICAvLyBGaW5kIG1hcHBpbmdzIGZvciB0aGUgXCJzb3VyY2VGaWxlXCJcbiAgICB0aGlzLl9tYXBwaW5ncy51bnNvcnRlZEZvckVhY2goZnVuY3Rpb24gKG1hcHBpbmcpIHtcbiAgICAgIGlmIChtYXBwaW5nLnNvdXJjZSA9PT0gc291cmNlRmlsZSAmJiBtYXBwaW5nLm9yaWdpbmFsTGluZSAhPSBudWxsKSB7XG4gICAgICAgIC8vIENoZWNrIGlmIGl0IGNhbiBiZSBtYXBwZWQgYnkgdGhlIHNvdXJjZSBtYXAsIHRoZW4gdXBkYXRlIHRoZSBtYXBwaW5nLlxuICAgICAgICB2YXIgb3JpZ2luYWwgPSBhU291cmNlTWFwQ29uc3VtZXIub3JpZ2luYWxQb3NpdGlvbkZvcih7XG4gICAgICAgICAgbGluZTogbWFwcGluZy5vcmlnaW5hbExpbmUsXG4gICAgICAgICAgY29sdW1uOiBtYXBwaW5nLm9yaWdpbmFsQ29sdW1uXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAob3JpZ2luYWwuc291cmNlICE9IG51bGwpIHtcbiAgICAgICAgICAvLyBDb3B5IG1hcHBpbmdcbiAgICAgICAgICBtYXBwaW5nLnNvdXJjZSA9IG9yaWdpbmFsLnNvdXJjZTtcbiAgICAgICAgICBpZiAoYVNvdXJjZU1hcFBhdGggIT0gbnVsbCkge1xuICAgICAgICAgICAgbWFwcGluZy5zb3VyY2UgPSB1dGlsLmpvaW4oYVNvdXJjZU1hcFBhdGgsIG1hcHBpbmcuc291cmNlKVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoc291cmNlUm9vdCAhPSBudWxsKSB7XG4gICAgICAgICAgICBtYXBwaW5nLnNvdXJjZSA9IHV0aWwucmVsYXRpdmUoc291cmNlUm9vdCwgbWFwcGluZy5zb3VyY2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBtYXBwaW5nLm9yaWdpbmFsTGluZSA9IG9yaWdpbmFsLmxpbmU7XG4gICAgICAgICAgbWFwcGluZy5vcmlnaW5hbENvbHVtbiA9IG9yaWdpbmFsLmNvbHVtbjtcbiAgICAgICAgICBpZiAob3JpZ2luYWwubmFtZSAhPSBudWxsKSB7XG4gICAgICAgICAgICBtYXBwaW5nLm5hbWUgPSBvcmlnaW5hbC5uYW1lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB2YXIgc291cmNlID0gbWFwcGluZy5zb3VyY2U7XG4gICAgICBpZiAoc291cmNlICE9IG51bGwgJiYgIW5ld1NvdXJjZXMuaGFzKHNvdXJjZSkpIHtcbiAgICAgICAgbmV3U291cmNlcy5hZGQoc291cmNlKTtcbiAgICAgIH1cblxuICAgICAgdmFyIG5hbWUgPSBtYXBwaW5nLm5hbWU7XG4gICAgICBpZiAobmFtZSAhPSBudWxsICYmICFuZXdOYW1lcy5oYXMobmFtZSkpIHtcbiAgICAgICAgbmV3TmFtZXMuYWRkKG5hbWUpO1xuICAgICAgfVxuXG4gICAgfSwgdGhpcyk7XG4gICAgdGhpcy5fc291cmNlcyA9IG5ld1NvdXJjZXM7XG4gICAgdGhpcy5fbmFtZXMgPSBuZXdOYW1lcztcblxuICAgIC8vIENvcHkgc291cmNlc0NvbnRlbnRzIG9mIGFwcGxpZWQgbWFwLlxuICAgIGFTb3VyY2VNYXBDb25zdW1lci5zb3VyY2VzLmZvckVhY2goZnVuY3Rpb24gKHNvdXJjZUZpbGUpIHtcbiAgICAgIHZhciBjb250ZW50ID0gYVNvdXJjZU1hcENvbnN1bWVyLnNvdXJjZUNvbnRlbnRGb3Ioc291cmNlRmlsZSk7XG4gICAgICBpZiAoY29udGVudCAhPSBudWxsKSB7XG4gICAgICAgIGlmIChhU291cmNlTWFwUGF0aCAhPSBudWxsKSB7XG4gICAgICAgICAgc291cmNlRmlsZSA9IHV0aWwuam9pbihhU291cmNlTWFwUGF0aCwgc291cmNlRmlsZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNvdXJjZVJvb3QgIT0gbnVsbCkge1xuICAgICAgICAgIHNvdXJjZUZpbGUgPSB1dGlsLnJlbGF0aXZlKHNvdXJjZVJvb3QsIHNvdXJjZUZpbGUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0U291cmNlQ29udGVudChzb3VyY2VGaWxlLCBjb250ZW50KTtcbiAgICAgIH1cbiAgICB9LCB0aGlzKTtcbiAgfTtcblxuLyoqXG4gKiBBIG1hcHBpbmcgY2FuIGhhdmUgb25lIG9mIHRoZSB0aHJlZSBsZXZlbHMgb2YgZGF0YTpcbiAqXG4gKiAgIDEuIEp1c3QgdGhlIGdlbmVyYXRlZCBwb3NpdGlvbi5cbiAqICAgMi4gVGhlIEdlbmVyYXRlZCBwb3NpdGlvbiwgb3JpZ2luYWwgcG9zaXRpb24sIGFuZCBvcmlnaW5hbCBzb3VyY2UuXG4gKiAgIDMuIEdlbmVyYXRlZCBhbmQgb3JpZ2luYWwgcG9zaXRpb24sIG9yaWdpbmFsIHNvdXJjZSwgYXMgd2VsbCBhcyBhIG5hbWVcbiAqICAgICAgdG9rZW4uXG4gKlxuICogVG8gbWFpbnRhaW4gY29uc2lzdGVuY3ksIHdlIHZhbGlkYXRlIHRoYXQgYW55IG5ldyBtYXBwaW5nIGJlaW5nIGFkZGVkIGZhbGxzXG4gKiBpbiB0byBvbmUgb2YgdGhlc2UgY2F0ZWdvcmllcy5cbiAqL1xuU291cmNlTWFwR2VuZXJhdG9yLnByb3RvdHlwZS5fdmFsaWRhdGVNYXBwaW5nID1cbiAgZnVuY3Rpb24gU291cmNlTWFwR2VuZXJhdG9yX3ZhbGlkYXRlTWFwcGluZyhhR2VuZXJhdGVkLCBhT3JpZ2luYWwsIGFTb3VyY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYU5hbWUpIHtcbiAgICAvLyBXaGVuIGFPcmlnaW5hbCBpcyB0cnV0aHkgYnV0IGhhcyBlbXB0eSB2YWx1ZXMgZm9yIC5saW5lIGFuZCAuY29sdW1uLFxuICAgIC8vIGl0IGlzIG1vc3QgbGlrZWx5IGEgcHJvZ3JhbW1lciBlcnJvci4gSW4gdGhpcyBjYXNlIHdlIHRocm93IGEgdmVyeVxuICAgIC8vIHNwZWNpZmljIGVycm9yIG1lc3NhZ2UgdG8gdHJ5IHRvIGd1aWRlIHRoZW0gdGhlIHJpZ2h0IHdheS5cbiAgICAvLyBGb3IgZXhhbXBsZTogaHR0cHM6Ly9naXRodWIuY29tL1BvbHltZXIvcG9seW1lci1idW5kbGVyL3B1bGwvNTE5XG4gICAgaWYgKGFPcmlnaW5hbCAmJiB0eXBlb2YgYU9yaWdpbmFsLmxpbmUgIT09ICdudW1iZXInICYmIHR5cGVvZiBhT3JpZ2luYWwuY29sdW1uICE9PSAnbnVtYmVyJykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAnb3JpZ2luYWwubGluZSBhbmQgb3JpZ2luYWwuY29sdW1uIGFyZSBub3QgbnVtYmVycyAtLSB5b3UgcHJvYmFibHkgbWVhbnQgdG8gb21pdCAnICtcbiAgICAgICAgICAgICd0aGUgb3JpZ2luYWwgbWFwcGluZyBlbnRpcmVseSBhbmQgb25seSBtYXAgdGhlIGdlbmVyYXRlZCBwb3NpdGlvbi4gSWYgc28sIHBhc3MgJyArXG4gICAgICAgICAgICAnbnVsbCBmb3IgdGhlIG9yaWdpbmFsIG1hcHBpbmcgaW5zdGVhZCBvZiBhbiBvYmplY3Qgd2l0aCBlbXB0eSBvciBudWxsIHZhbHVlcy4nXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGFHZW5lcmF0ZWQgJiYgJ2xpbmUnIGluIGFHZW5lcmF0ZWQgJiYgJ2NvbHVtbicgaW4gYUdlbmVyYXRlZFxuICAgICAgICAmJiBhR2VuZXJhdGVkLmxpbmUgPiAwICYmIGFHZW5lcmF0ZWQuY29sdW1uID49IDBcbiAgICAgICAgJiYgIWFPcmlnaW5hbCAmJiAhYVNvdXJjZSAmJiAhYU5hbWUpIHtcbiAgICAgIC8vIENhc2UgMS5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZWxzZSBpZiAoYUdlbmVyYXRlZCAmJiAnbGluZScgaW4gYUdlbmVyYXRlZCAmJiAnY29sdW1uJyBpbiBhR2VuZXJhdGVkXG4gICAgICAgICAgICAgJiYgYU9yaWdpbmFsICYmICdsaW5lJyBpbiBhT3JpZ2luYWwgJiYgJ2NvbHVtbicgaW4gYU9yaWdpbmFsXG4gICAgICAgICAgICAgJiYgYUdlbmVyYXRlZC5saW5lID4gMCAmJiBhR2VuZXJhdGVkLmNvbHVtbiA+PSAwXG4gICAgICAgICAgICAgJiYgYU9yaWdpbmFsLmxpbmUgPiAwICYmIGFPcmlnaW5hbC5jb2x1bW4gPj0gMFxuICAgICAgICAgICAgICYmIGFTb3VyY2UpIHtcbiAgICAgIC8vIENhc2VzIDIgYW5kIDMuXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIG1hcHBpbmc6ICcgKyBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIGdlbmVyYXRlZDogYUdlbmVyYXRlZCxcbiAgICAgICAgc291cmNlOiBhU291cmNlLFxuICAgICAgICBvcmlnaW5hbDogYU9yaWdpbmFsLFxuICAgICAgICBuYW1lOiBhTmFtZVxuICAgICAgfSkpO1xuICAgIH1cbiAgfTtcblxuLyoqXG4gKiBTZXJpYWxpemUgdGhlIGFjY3VtdWxhdGVkIG1hcHBpbmdzIGluIHRvIHRoZSBzdHJlYW0gb2YgYmFzZSA2NCBWTFFzXG4gKiBzcGVjaWZpZWQgYnkgdGhlIHNvdXJjZSBtYXAgZm9ybWF0LlxuICovXG5Tb3VyY2VNYXBHZW5lcmF0b3IucHJvdG90eXBlLl9zZXJpYWxpemVNYXBwaW5ncyA9XG4gIGZ1bmN0aW9uIFNvdXJjZU1hcEdlbmVyYXRvcl9zZXJpYWxpemVNYXBwaW5ncygpIHtcbiAgICB2YXIgcHJldmlvdXNHZW5lcmF0ZWRDb2x1bW4gPSAwO1xuICAgIHZhciBwcmV2aW91c0dlbmVyYXRlZExpbmUgPSAxO1xuICAgIHZhciBwcmV2aW91c09yaWdpbmFsQ29sdW1uID0gMDtcbiAgICB2YXIgcHJldmlvdXNPcmlnaW5hbExpbmUgPSAwO1xuICAgIHZhciBwcmV2aW91c05hbWUgPSAwO1xuICAgIHZhciBwcmV2aW91c1NvdXJjZSA9IDA7XG4gICAgdmFyIHJlc3VsdCA9ICcnO1xuICAgIHZhciBuZXh0O1xuICAgIHZhciBtYXBwaW5nO1xuICAgIHZhciBuYW1lSWR4O1xuICAgIHZhciBzb3VyY2VJZHg7XG5cbiAgICB2YXIgbWFwcGluZ3MgPSB0aGlzLl9tYXBwaW5ncy50b0FycmF5KCk7XG4gICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IG1hcHBpbmdzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICBtYXBwaW5nID0gbWFwcGluZ3NbaV07XG4gICAgICBuZXh0ID0gJydcblxuICAgICAgaWYgKG1hcHBpbmcuZ2VuZXJhdGVkTGluZSAhPT0gcHJldmlvdXNHZW5lcmF0ZWRMaW5lKSB7XG4gICAgICAgIHByZXZpb3VzR2VuZXJhdGVkQ29sdW1uID0gMDtcbiAgICAgICAgd2hpbGUgKG1hcHBpbmcuZ2VuZXJhdGVkTGluZSAhPT0gcHJldmlvdXNHZW5lcmF0ZWRMaW5lKSB7XG4gICAgICAgICAgbmV4dCArPSAnOyc7XG4gICAgICAgICAgcHJldmlvdXNHZW5lcmF0ZWRMaW5lKys7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBpZiAoaSA+IDApIHtcbiAgICAgICAgICBpZiAoIXV0aWwuY29tcGFyZUJ5R2VuZXJhdGVkUG9zaXRpb25zSW5mbGF0ZWQobWFwcGluZywgbWFwcGluZ3NbaSAtIDFdKSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIG5leHQgKz0gJywnO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG5leHQgKz0gYmFzZTY0VkxRLmVuY29kZShtYXBwaW5nLmdlbmVyYXRlZENvbHVtblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBwcmV2aW91c0dlbmVyYXRlZENvbHVtbik7XG4gICAgICBwcmV2aW91c0dlbmVyYXRlZENvbHVtbiA9IG1hcHBpbmcuZ2VuZXJhdGVkQ29sdW1uO1xuXG4gICAgICBpZiAobWFwcGluZy5zb3VyY2UgIT0gbnVsbCkge1xuICAgICAgICBzb3VyY2VJZHggPSB0aGlzLl9zb3VyY2VzLmluZGV4T2YobWFwcGluZy5zb3VyY2UpO1xuICAgICAgICBuZXh0ICs9IGJhc2U2NFZMUS5lbmNvZGUoc291cmNlSWR4IC0gcHJldmlvdXNTb3VyY2UpO1xuICAgICAgICBwcmV2aW91c1NvdXJjZSA9IHNvdXJjZUlkeDtcblxuICAgICAgICAvLyBsaW5lcyBhcmUgc3RvcmVkIDAtYmFzZWQgaW4gU291cmNlTWFwIHNwZWMgdmVyc2lvbiAzXG4gICAgICAgIG5leHQgKz0gYmFzZTY0VkxRLmVuY29kZShtYXBwaW5nLm9yaWdpbmFsTGluZSAtIDFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBwcmV2aW91c09yaWdpbmFsTGluZSk7XG4gICAgICAgIHByZXZpb3VzT3JpZ2luYWxMaW5lID0gbWFwcGluZy5vcmlnaW5hbExpbmUgLSAxO1xuXG4gICAgICAgIG5leHQgKz0gYmFzZTY0VkxRLmVuY29kZShtYXBwaW5nLm9yaWdpbmFsQ29sdW1uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gcHJldmlvdXNPcmlnaW5hbENvbHVtbik7XG4gICAgICAgIHByZXZpb3VzT3JpZ2luYWxDb2x1bW4gPSBtYXBwaW5nLm9yaWdpbmFsQ29sdW1uO1xuXG4gICAgICAgIGlmIChtYXBwaW5nLm5hbWUgIT0gbnVsbCkge1xuICAgICAgICAgIG5hbWVJZHggPSB0aGlzLl9uYW1lcy5pbmRleE9mKG1hcHBpbmcubmFtZSk7XG4gICAgICAgICAgbmV4dCArPSBiYXNlNjRWTFEuZW5jb2RlKG5hbWVJZHggLSBwcmV2aW91c05hbWUpO1xuICAgICAgICAgIHByZXZpb3VzTmFtZSA9IG5hbWVJZHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmVzdWx0ICs9IG5leHQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfTtcblxuU291cmNlTWFwR2VuZXJhdG9yLnByb3RvdHlwZS5fZ2VuZXJhdGVTb3VyY2VzQ29udGVudCA9XG4gIGZ1bmN0aW9uIFNvdXJjZU1hcEdlbmVyYXRvcl9nZW5lcmF0ZVNvdXJjZXNDb250ZW50KGFTb3VyY2VzLCBhU291cmNlUm9vdCkge1xuICAgIHJldHVybiBhU291cmNlcy5tYXAoZnVuY3Rpb24gKHNvdXJjZSkge1xuICAgICAgaWYgKCF0aGlzLl9zb3VyY2VzQ29udGVudHMpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBpZiAoYVNvdXJjZVJvb3QgIT0gbnVsbCkge1xuICAgICAgICBzb3VyY2UgPSB1dGlsLnJlbGF0aXZlKGFTb3VyY2VSb290LCBzb3VyY2UpO1xuICAgICAgfVxuICAgICAgdmFyIGtleSA9IHV0aWwudG9TZXRTdHJpbmcoc291cmNlKTtcbiAgICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodGhpcy5fc291cmNlc0NvbnRlbnRzLCBrZXkpXG4gICAgICAgID8gdGhpcy5fc291cmNlc0NvbnRlbnRzW2tleV1cbiAgICAgICAgOiBudWxsO1xuICAgIH0sIHRoaXMpO1xuICB9O1xuXG4vKipcbiAqIEV4dGVybmFsaXplIHRoZSBzb3VyY2UgbWFwLlxuICovXG5Tb3VyY2VNYXBHZW5lcmF0b3IucHJvdG90eXBlLnRvSlNPTiA9XG4gIGZ1bmN0aW9uIFNvdXJjZU1hcEdlbmVyYXRvcl90b0pTT04oKSB7XG4gICAgdmFyIG1hcCA9IHtcbiAgICAgIHZlcnNpb246IHRoaXMuX3ZlcnNpb24sXG4gICAgICBzb3VyY2VzOiB0aGlzLl9zb3VyY2VzLnRvQXJyYXkoKSxcbiAgICAgIG5hbWVzOiB0aGlzLl9uYW1lcy50b0FycmF5KCksXG4gICAgICBtYXBwaW5nczogdGhpcy5fc2VyaWFsaXplTWFwcGluZ3MoKVxuICAgIH07XG4gICAgaWYgKHRoaXMuX2ZpbGUgIT0gbnVsbCkge1xuICAgICAgbWFwLmZpbGUgPSB0aGlzLl9maWxlO1xuICAgIH1cbiAgICBpZiAodGhpcy5fc291cmNlUm9vdCAhPSBudWxsKSB7XG4gICAgICBtYXAuc291cmNlUm9vdCA9IHRoaXMuX3NvdXJjZVJvb3Q7XG4gICAgfVxuICAgIGlmICh0aGlzLl9zb3VyY2VzQ29udGVudHMpIHtcbiAgICAgIG1hcC5zb3VyY2VzQ29udGVudCA9IHRoaXMuX2dlbmVyYXRlU291cmNlc0NvbnRlbnQobWFwLnNvdXJjZXMsIG1hcC5zb3VyY2VSb290KTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWFwO1xuICB9O1xuXG4vKipcbiAqIFJlbmRlciB0aGUgc291cmNlIG1hcCBiZWluZyBnZW5lcmF0ZWQgdG8gYSBzdHJpbmcuXG4gKi9cblNvdXJjZU1hcEdlbmVyYXRvci5wcm90b3R5cGUudG9TdHJpbmcgPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBHZW5lcmF0b3JfdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMudG9KU09OKCkpO1xuICB9O1xuXG5leHBvcnRzLlNvdXJjZU1hcEdlbmVyYXRvciA9IFNvdXJjZU1hcEdlbmVyYXRvcjtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbGliL3NvdXJjZS1tYXAtZ2VuZXJhdG9yLmpzXG4vLyBtb2R1bGUgaWQgPSAxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8qIC0qLSBNb2RlOiBqczsganMtaW5kZW50LWxldmVsOiAyOyAtKi0gKi9cbi8qXG4gKiBDb3B5cmlnaHQgMjAxMSBNb3ppbGxhIEZvdW5kYXRpb24gYW5kIGNvbnRyaWJ1dG9yc1xuICogTGljZW5zZWQgdW5kZXIgdGhlIE5ldyBCU0QgbGljZW5zZS4gU2VlIExJQ0VOU0Ugb3I6XG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlXG4gKlxuICogQmFzZWQgb24gdGhlIEJhc2UgNjQgVkxRIGltcGxlbWVudGF0aW9uIGluIENsb3N1cmUgQ29tcGlsZXI6XG4gKiBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nsb3N1cmUtY29tcGlsZXIvc291cmNlL2Jyb3dzZS90cnVuay9zcmMvY29tL2dvb2dsZS9kZWJ1Z2dpbmcvc291cmNlbWFwL0Jhc2U2NFZMUS5qYXZhXG4gKlxuICogQ29weXJpZ2h0IDIwMTEgVGhlIENsb3N1cmUgQ29tcGlsZXIgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dFxuICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZVxuICogbWV0OlxuICpcbiAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0XG4gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuXG4gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlXG4gKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZ1xuICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkXG4gKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uXG4gKiAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzXG4gKiAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWRcbiAqICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi5cbiAqXG4gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTXG4gKiBcIkFTIElTXCIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UXG4gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1JcbiAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUXG4gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCxcbiAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1RcbiAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLFxuICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZXG4gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUXG4gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0VcbiAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuXG4gKi9cblxudmFyIGJhc2U2NCA9IHJlcXVpcmUoJy4vYmFzZTY0Jyk7XG5cbi8vIEEgc2luZ2xlIGJhc2UgNjQgZGlnaXQgY2FuIGNvbnRhaW4gNiBiaXRzIG9mIGRhdGEuIEZvciB0aGUgYmFzZSA2NCB2YXJpYWJsZVxuLy8gbGVuZ3RoIHF1YW50aXRpZXMgd2UgdXNlIGluIHRoZSBzb3VyY2UgbWFwIHNwZWMsIHRoZSBmaXJzdCBiaXQgaXMgdGhlIHNpZ24sXG4vLyB0aGUgbmV4dCBmb3VyIGJpdHMgYXJlIHRoZSBhY3R1YWwgdmFsdWUsIGFuZCB0aGUgNnRoIGJpdCBpcyB0aGVcbi8vIGNvbnRpbnVhdGlvbiBiaXQuIFRoZSBjb250aW51YXRpb24gYml0IHRlbGxzIHVzIHdoZXRoZXIgdGhlcmUgYXJlIG1vcmVcbi8vIGRpZ2l0cyBpbiB0aGlzIHZhbHVlIGZvbGxvd2luZyB0aGlzIGRpZ2l0LlxuLy9cbi8vICAgQ29udGludWF0aW9uXG4vLyAgIHwgICAgU2lnblxuLy8gICB8ICAgIHxcbi8vICAgViAgICBWXG4vLyAgIDEwMTAxMVxuXG52YXIgVkxRX0JBU0VfU0hJRlQgPSA1O1xuXG4vLyBiaW5hcnk6IDEwMDAwMFxudmFyIFZMUV9CQVNFID0gMSA8PCBWTFFfQkFTRV9TSElGVDtcblxuLy8gYmluYXJ5OiAwMTExMTFcbnZhciBWTFFfQkFTRV9NQVNLID0gVkxRX0JBU0UgLSAxO1xuXG4vLyBiaW5hcnk6IDEwMDAwMFxudmFyIFZMUV9DT05USU5VQVRJT05fQklUID0gVkxRX0JBU0U7XG5cbi8qKlxuICogQ29udmVydHMgZnJvbSBhIHR3by1jb21wbGVtZW50IHZhbHVlIHRvIGEgdmFsdWUgd2hlcmUgdGhlIHNpZ24gYml0IGlzXG4gKiBwbGFjZWQgaW4gdGhlIGxlYXN0IHNpZ25pZmljYW50IGJpdC4gIEZvciBleGFtcGxlLCBhcyBkZWNpbWFsczpcbiAqICAgMSBiZWNvbWVzIDIgKDEwIGJpbmFyeSksIC0xIGJlY29tZXMgMyAoMTEgYmluYXJ5KVxuICogICAyIGJlY29tZXMgNCAoMTAwIGJpbmFyeSksIC0yIGJlY29tZXMgNSAoMTAxIGJpbmFyeSlcbiAqL1xuZnVuY3Rpb24gdG9WTFFTaWduZWQoYVZhbHVlKSB7XG4gIHJldHVybiBhVmFsdWUgPCAwXG4gICAgPyAoKC1hVmFsdWUpIDw8IDEpICsgMVxuICAgIDogKGFWYWx1ZSA8PCAxKSArIDA7XG59XG5cbi8qKlxuICogQ29udmVydHMgdG8gYSB0d28tY29tcGxlbWVudCB2YWx1ZSBmcm9tIGEgdmFsdWUgd2hlcmUgdGhlIHNpZ24gYml0IGlzXG4gKiBwbGFjZWQgaW4gdGhlIGxlYXN0IHNpZ25pZmljYW50IGJpdC4gIEZvciBleGFtcGxlLCBhcyBkZWNpbWFsczpcbiAqICAgMiAoMTAgYmluYXJ5KSBiZWNvbWVzIDEsIDMgKDExIGJpbmFyeSkgYmVjb21lcyAtMVxuICogICA0ICgxMDAgYmluYXJ5KSBiZWNvbWVzIDIsIDUgKDEwMSBiaW5hcnkpIGJlY29tZXMgLTJcbiAqL1xuZnVuY3Rpb24gZnJvbVZMUVNpZ25lZChhVmFsdWUpIHtcbiAgdmFyIGlzTmVnYXRpdmUgPSAoYVZhbHVlICYgMSkgPT09IDE7XG4gIHZhciBzaGlmdGVkID0gYVZhbHVlID4+IDE7XG4gIHJldHVybiBpc05lZ2F0aXZlXG4gICAgPyAtc2hpZnRlZFxuICAgIDogc2hpZnRlZDtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBiYXNlIDY0IFZMUSBlbmNvZGVkIHZhbHVlLlxuICovXG5leHBvcnRzLmVuY29kZSA9IGZ1bmN0aW9uIGJhc2U2NFZMUV9lbmNvZGUoYVZhbHVlKSB7XG4gIHZhciBlbmNvZGVkID0gXCJcIjtcbiAgdmFyIGRpZ2l0O1xuXG4gIHZhciB2bHEgPSB0b1ZMUVNpZ25lZChhVmFsdWUpO1xuXG4gIGRvIHtcbiAgICBkaWdpdCA9IHZscSAmIFZMUV9CQVNFX01BU0s7XG4gICAgdmxxID4+Pj0gVkxRX0JBU0VfU0hJRlQ7XG4gICAgaWYgKHZscSA+IDApIHtcbiAgICAgIC8vIFRoZXJlIGFyZSBzdGlsbCBtb3JlIGRpZ2l0cyBpbiB0aGlzIHZhbHVlLCBzbyB3ZSBtdXN0IG1ha2Ugc3VyZSB0aGVcbiAgICAgIC8vIGNvbnRpbnVhdGlvbiBiaXQgaXMgbWFya2VkLlxuICAgICAgZGlnaXQgfD0gVkxRX0NPTlRJTlVBVElPTl9CSVQ7XG4gICAgfVxuICAgIGVuY29kZWQgKz0gYmFzZTY0LmVuY29kZShkaWdpdCk7XG4gIH0gd2hpbGUgKHZscSA+IDApO1xuXG4gIHJldHVybiBlbmNvZGVkO1xufTtcblxuLyoqXG4gKiBEZWNvZGVzIHRoZSBuZXh0IGJhc2UgNjQgVkxRIHZhbHVlIGZyb20gdGhlIGdpdmVuIHN0cmluZyBhbmQgcmV0dXJucyB0aGVcbiAqIHZhbHVlIGFuZCB0aGUgcmVzdCBvZiB0aGUgc3RyaW5nIHZpYSB0aGUgb3V0IHBhcmFtZXRlci5cbiAqL1xuZXhwb3J0cy5kZWNvZGUgPSBmdW5jdGlvbiBiYXNlNjRWTFFfZGVjb2RlKGFTdHIsIGFJbmRleCwgYU91dFBhcmFtKSB7XG4gIHZhciBzdHJMZW4gPSBhU3RyLmxlbmd0aDtcbiAgdmFyIHJlc3VsdCA9IDA7XG4gIHZhciBzaGlmdCA9IDA7XG4gIHZhciBjb250aW51YXRpb24sIGRpZ2l0O1xuXG4gIGRvIHtcbiAgICBpZiAoYUluZGV4ID49IHN0ckxlbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgbW9yZSBkaWdpdHMgaW4gYmFzZSA2NCBWTFEgdmFsdWUuXCIpO1xuICAgIH1cblxuICAgIGRpZ2l0ID0gYmFzZTY0LmRlY29kZShhU3RyLmNoYXJDb2RlQXQoYUluZGV4KyspKTtcbiAgICBpZiAoZGlnaXQgPT09IC0xKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIGJhc2U2NCBkaWdpdDogXCIgKyBhU3RyLmNoYXJBdChhSW5kZXggLSAxKSk7XG4gICAgfVxuXG4gICAgY29udGludWF0aW9uID0gISEoZGlnaXQgJiBWTFFfQ09OVElOVUFUSU9OX0JJVCk7XG4gICAgZGlnaXQgJj0gVkxRX0JBU0VfTUFTSztcbiAgICByZXN1bHQgPSByZXN1bHQgKyAoZGlnaXQgPDwgc2hpZnQpO1xuICAgIHNoaWZ0ICs9IFZMUV9CQVNFX1NISUZUO1xuICB9IHdoaWxlIChjb250aW51YXRpb24pO1xuXG4gIGFPdXRQYXJhbS52YWx1ZSA9IGZyb21WTFFTaWduZWQocmVzdWx0KTtcbiAgYU91dFBhcmFtLnJlc3QgPSBhSW5kZXg7XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9saWIvYmFzZTY0LXZscS5qc1xuLy8gbW9kdWxlIGlkID0gMlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCIvKiAtKi0gTW9kZToganM7IGpzLWluZGVudC1sZXZlbDogMjsgLSotICovXG4vKlxuICogQ29weXJpZ2h0IDIwMTEgTW96aWxsYSBGb3VuZGF0aW9uIGFuZCBjb250cmlidXRvcnNcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBOZXcgQlNEIGxpY2Vuc2UuIFNlZSBMSUNFTlNFIG9yOlxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZVxuICovXG5cbnZhciBpbnRUb0NoYXJNYXAgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLycuc3BsaXQoJycpO1xuXG4vKipcbiAqIEVuY29kZSBhbiBpbnRlZ2VyIGluIHRoZSByYW5nZSBvZiAwIHRvIDYzIHRvIGEgc2luZ2xlIGJhc2UgNjQgZGlnaXQuXG4gKi9cbmV4cG9ydHMuZW5jb2RlID0gZnVuY3Rpb24gKG51bWJlcikge1xuICBpZiAoMCA8PSBudW1iZXIgJiYgbnVtYmVyIDwgaW50VG9DaGFyTWFwLmxlbmd0aCkge1xuICAgIHJldHVybiBpbnRUb0NoYXJNYXBbbnVtYmVyXTtcbiAgfVxuICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiTXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDYzOiBcIiArIG51bWJlcik7XG59O1xuXG4vKipcbiAqIERlY29kZSBhIHNpbmdsZSBiYXNlIDY0IGNoYXJhY3RlciBjb2RlIGRpZ2l0IHRvIGFuIGludGVnZXIuIFJldHVybnMgLTEgb25cbiAqIGZhaWx1cmUuXG4gKi9cbmV4cG9ydHMuZGVjb2RlID0gZnVuY3Rpb24gKGNoYXJDb2RlKSB7XG4gIHZhciBiaWdBID0gNjU7ICAgICAvLyAnQSdcbiAgdmFyIGJpZ1ogPSA5MDsgICAgIC8vICdaJ1xuXG4gIHZhciBsaXR0bGVBID0gOTc7ICAvLyAnYSdcbiAgdmFyIGxpdHRsZVogPSAxMjI7IC8vICd6J1xuXG4gIHZhciB6ZXJvID0gNDg7ICAgICAvLyAnMCdcbiAgdmFyIG5pbmUgPSA1NzsgICAgIC8vICc5J1xuXG4gIHZhciBwbHVzID0gNDM7ICAgICAvLyAnKydcbiAgdmFyIHNsYXNoID0gNDc7ICAgIC8vICcvJ1xuXG4gIHZhciBsaXR0bGVPZmZzZXQgPSAyNjtcbiAgdmFyIG51bWJlck9mZnNldCA9IDUyO1xuXG4gIC8vIDAgLSAyNTogQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpcbiAgaWYgKGJpZ0EgPD0gY2hhckNvZGUgJiYgY2hhckNvZGUgPD0gYmlnWikge1xuICAgIHJldHVybiAoY2hhckNvZGUgLSBiaWdBKTtcbiAgfVxuXG4gIC8vIDI2IC0gNTE6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6XG4gIGlmIChsaXR0bGVBIDw9IGNoYXJDb2RlICYmIGNoYXJDb2RlIDw9IGxpdHRsZVopIHtcbiAgICByZXR1cm4gKGNoYXJDb2RlIC0gbGl0dGxlQSArIGxpdHRsZU9mZnNldCk7XG4gIH1cblxuICAvLyA1MiAtIDYxOiAwMTIzNDU2Nzg5XG4gIGlmICh6ZXJvIDw9IGNoYXJDb2RlICYmIGNoYXJDb2RlIDw9IG5pbmUpIHtcbiAgICByZXR1cm4gKGNoYXJDb2RlIC0gemVybyArIG51bWJlck9mZnNldCk7XG4gIH1cblxuICAvLyA2MjogK1xuICBpZiAoY2hhckNvZGUgPT0gcGx1cykge1xuICAgIHJldHVybiA2MjtcbiAgfVxuXG4gIC8vIDYzOiAvXG4gIGlmIChjaGFyQ29kZSA9PSBzbGFzaCkge1xuICAgIHJldHVybiA2MztcbiAgfVxuXG4gIC8vIEludmFsaWQgYmFzZTY0IGRpZ2l0LlxuICByZXR1cm4gLTE7XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9saWIvYmFzZTY0LmpzXG4vLyBtb2R1bGUgaWQgPSAzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8qIC0qLSBNb2RlOiBqczsganMtaW5kZW50LWxldmVsOiAyOyAtKi0gKi9cbi8qXG4gKiBDb3B5cmlnaHQgMjAxMSBNb3ppbGxhIEZvdW5kYXRpb24gYW5kIGNvbnRyaWJ1dG9yc1xuICogTGljZW5zZWQgdW5kZXIgdGhlIE5ldyBCU0QgbGljZW5zZS4gU2VlIExJQ0VOU0Ugb3I6XG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlXG4gKi9cblxuLyoqXG4gKiBUaGlzIGlzIGEgaGVscGVyIGZ1bmN0aW9uIGZvciBnZXR0aW5nIHZhbHVlcyBmcm9tIHBhcmFtZXRlci9vcHRpb25zXG4gKiBvYmplY3RzLlxuICpcbiAqIEBwYXJhbSBhcmdzIFRoZSBvYmplY3Qgd2UgYXJlIGV4dHJhY3RpbmcgdmFsdWVzIGZyb21cbiAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB3ZSBhcmUgZ2V0dGluZy5cbiAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgQW4gb3B0aW9uYWwgdmFsdWUgdG8gcmV0dXJuIGlmIHRoZSBwcm9wZXJ0eSBpcyBtaXNzaW5nXG4gKiBmcm9tIHRoZSBvYmplY3QuIElmIHRoaXMgaXMgbm90IHNwZWNpZmllZCBhbmQgdGhlIHByb3BlcnR5IGlzIG1pc3NpbmcsIGFuXG4gKiBlcnJvciB3aWxsIGJlIHRocm93bi5cbiAqL1xuZnVuY3Rpb24gZ2V0QXJnKGFBcmdzLCBhTmFtZSwgYURlZmF1bHRWYWx1ZSkge1xuICBpZiAoYU5hbWUgaW4gYUFyZ3MpIHtcbiAgICByZXR1cm4gYUFyZ3NbYU5hbWVdO1xuICB9IGVsc2UgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDMpIHtcbiAgICByZXR1cm4gYURlZmF1bHRWYWx1ZTtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1wiJyArIGFOYW1lICsgJ1wiIGlzIGEgcmVxdWlyZWQgYXJndW1lbnQuJyk7XG4gIH1cbn1cbmV4cG9ydHMuZ2V0QXJnID0gZ2V0QXJnO1xuXG52YXIgdXJsUmVnZXhwID0gL14oPzooW1xcdytcXC0uXSspOik/XFwvXFwvKD86KFxcdys6XFx3KylAKT8oW1xcdy5dKikoPzo6KFxcZCspKT8oXFxTKikkLztcbnZhciBkYXRhVXJsUmVnZXhwID0gL15kYXRhOi4rXFwsLiskLztcblxuZnVuY3Rpb24gdXJsUGFyc2UoYVVybCkge1xuICB2YXIgbWF0Y2ggPSBhVXJsLm1hdGNoKHVybFJlZ2V4cCk7XG4gIGlmICghbWF0Y2gpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICByZXR1cm4ge1xuICAgIHNjaGVtZTogbWF0Y2hbMV0sXG4gICAgYXV0aDogbWF0Y2hbMl0sXG4gICAgaG9zdDogbWF0Y2hbM10sXG4gICAgcG9ydDogbWF0Y2hbNF0sXG4gICAgcGF0aDogbWF0Y2hbNV1cbiAgfTtcbn1cbmV4cG9ydHMudXJsUGFyc2UgPSB1cmxQYXJzZTtcblxuZnVuY3Rpb24gdXJsR2VuZXJhdGUoYVBhcnNlZFVybCkge1xuICB2YXIgdXJsID0gJyc7XG4gIGlmIChhUGFyc2VkVXJsLnNjaGVtZSkge1xuICAgIHVybCArPSBhUGFyc2VkVXJsLnNjaGVtZSArICc6JztcbiAgfVxuICB1cmwgKz0gJy8vJztcbiAgaWYgKGFQYXJzZWRVcmwuYXV0aCkge1xuICAgIHVybCArPSBhUGFyc2VkVXJsLmF1dGggKyAnQCc7XG4gIH1cbiAgaWYgKGFQYXJzZWRVcmwuaG9zdCkge1xuICAgIHVybCArPSBhUGFyc2VkVXJsLmhvc3Q7XG4gIH1cbiAgaWYgKGFQYXJzZWRVcmwucG9ydCkge1xuICAgIHVybCArPSBcIjpcIiArIGFQYXJzZWRVcmwucG9ydFxuICB9XG4gIGlmIChhUGFyc2VkVXJsLnBhdGgpIHtcbiAgICB1cmwgKz0gYVBhcnNlZFVybC5wYXRoO1xuICB9XG4gIHJldHVybiB1cmw7XG59XG5leHBvcnRzLnVybEdlbmVyYXRlID0gdXJsR2VuZXJhdGU7XG5cbi8qKlxuICogTm9ybWFsaXplcyBhIHBhdGgsIG9yIHRoZSBwYXRoIHBvcnRpb24gb2YgYSBVUkw6XG4gKlxuICogLSBSZXBsYWNlcyBjb25zZWN1dGl2ZSBzbGFzaGVzIHdpdGggb25lIHNsYXNoLlxuICogLSBSZW1vdmVzIHVubmVjZXNzYXJ5ICcuJyBwYXJ0cy5cbiAqIC0gUmVtb3ZlcyB1bm5lY2Vzc2FyeSAnPGRpcj4vLi4nIHBhcnRzLlxuICpcbiAqIEJhc2VkIG9uIGNvZGUgaW4gdGhlIE5vZGUuanMgJ3BhdGgnIGNvcmUgbW9kdWxlLlxuICpcbiAqIEBwYXJhbSBhUGF0aCBUaGUgcGF0aCBvciB1cmwgdG8gbm9ybWFsaXplLlxuICovXG5mdW5jdGlvbiBub3JtYWxpemUoYVBhdGgpIHtcbiAgdmFyIHBhdGggPSBhUGF0aDtcbiAgdmFyIHVybCA9IHVybFBhcnNlKGFQYXRoKTtcbiAgaWYgKHVybCkge1xuICAgIGlmICghdXJsLnBhdGgpIHtcbiAgICAgIHJldHVybiBhUGF0aDtcbiAgICB9XG4gICAgcGF0aCA9IHVybC5wYXRoO1xuICB9XG4gIHZhciBpc0Fic29sdXRlID0gZXhwb3J0cy5pc0Fic29sdXRlKHBhdGgpO1xuXG4gIHZhciBwYXJ0cyA9IHBhdGguc3BsaXQoL1xcLysvKTtcbiAgZm9yICh2YXIgcGFydCwgdXAgPSAwLCBpID0gcGFydHMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICBwYXJ0ID0gcGFydHNbaV07XG4gICAgaWYgKHBhcnQgPT09ICcuJykge1xuICAgICAgcGFydHMuc3BsaWNlKGksIDEpO1xuICAgIH0gZWxzZSBpZiAocGFydCA9PT0gJy4uJykge1xuICAgICAgdXArKztcbiAgICB9IGVsc2UgaWYgKHVwID4gMCkge1xuICAgICAgaWYgKHBhcnQgPT09ICcnKSB7XG4gICAgICAgIC8vIFRoZSBmaXJzdCBwYXJ0IGlzIGJsYW5rIGlmIHRoZSBwYXRoIGlzIGFic29sdXRlLiBUcnlpbmcgdG8gZ29cbiAgICAgICAgLy8gYWJvdmUgdGhlIHJvb3QgaXMgYSBuby1vcC4gVGhlcmVmb3JlIHdlIGNhbiByZW1vdmUgYWxsICcuLicgcGFydHNcbiAgICAgICAgLy8gZGlyZWN0bHkgYWZ0ZXIgdGhlIHJvb3QuXG4gICAgICAgIHBhcnRzLnNwbGljZShpICsgMSwgdXApO1xuICAgICAgICB1cCA9IDA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYXJ0cy5zcGxpY2UoaSwgMik7XG4gICAgICAgIHVwLS07XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHBhdGggPSBwYXJ0cy5qb2luKCcvJyk7XG5cbiAgaWYgKHBhdGggPT09ICcnKSB7XG4gICAgcGF0aCA9IGlzQWJzb2x1dGUgPyAnLycgOiAnLic7XG4gIH1cblxuICBpZiAodXJsKSB7XG4gICAgdXJsLnBhdGggPSBwYXRoO1xuICAgIHJldHVybiB1cmxHZW5lcmF0ZSh1cmwpO1xuICB9XG4gIHJldHVybiBwYXRoO1xufVxuZXhwb3J0cy5ub3JtYWxpemUgPSBub3JtYWxpemU7XG5cbi8qKlxuICogSm9pbnMgdHdvIHBhdGhzL1VSTHMuXG4gKlxuICogQHBhcmFtIGFSb290IFRoZSByb290IHBhdGggb3IgVVJMLlxuICogQHBhcmFtIGFQYXRoIFRoZSBwYXRoIG9yIFVSTCB0byBiZSBqb2luZWQgd2l0aCB0aGUgcm9vdC5cbiAqXG4gKiAtIElmIGFQYXRoIGlzIGEgVVJMIG9yIGEgZGF0YSBVUkksIGFQYXRoIGlzIHJldHVybmVkLCB1bmxlc3MgYVBhdGggaXMgYVxuICogICBzY2hlbWUtcmVsYXRpdmUgVVJMOiBUaGVuIHRoZSBzY2hlbWUgb2YgYVJvb3QsIGlmIGFueSwgaXMgcHJlcGVuZGVkXG4gKiAgIGZpcnN0LlxuICogLSBPdGhlcndpc2UgYVBhdGggaXMgYSBwYXRoLiBJZiBhUm9vdCBpcyBhIFVSTCwgdGhlbiBpdHMgcGF0aCBwb3J0aW9uXG4gKiAgIGlzIHVwZGF0ZWQgd2l0aCB0aGUgcmVzdWx0IGFuZCBhUm9vdCBpcyByZXR1cm5lZC4gT3RoZXJ3aXNlIHRoZSByZXN1bHRcbiAqICAgaXMgcmV0dXJuZWQuXG4gKiAgIC0gSWYgYVBhdGggaXMgYWJzb2x1dGUsIHRoZSByZXN1bHQgaXMgYVBhdGguXG4gKiAgIC0gT3RoZXJ3aXNlIHRoZSB0d28gcGF0aHMgYXJlIGpvaW5lZCB3aXRoIGEgc2xhc2guXG4gKiAtIEpvaW5pbmcgZm9yIGV4YW1wbGUgJ2h0dHA6Ly8nIGFuZCAnd3d3LmV4YW1wbGUuY29tJyBpcyBhbHNvIHN1cHBvcnRlZC5cbiAqL1xuZnVuY3Rpb24gam9pbihhUm9vdCwgYVBhdGgpIHtcbiAgaWYgKGFSb290ID09PSBcIlwiKSB7XG4gICAgYVJvb3QgPSBcIi5cIjtcbiAgfVxuICBpZiAoYVBhdGggPT09IFwiXCIpIHtcbiAgICBhUGF0aCA9IFwiLlwiO1xuICB9XG4gIHZhciBhUGF0aFVybCA9IHVybFBhcnNlKGFQYXRoKTtcbiAgdmFyIGFSb290VXJsID0gdXJsUGFyc2UoYVJvb3QpO1xuICBpZiAoYVJvb3RVcmwpIHtcbiAgICBhUm9vdCA9IGFSb290VXJsLnBhdGggfHwgJy8nO1xuICB9XG5cbiAgLy8gYGpvaW4oZm9vLCAnLy93d3cuZXhhbXBsZS5vcmcnKWBcbiAgaWYgKGFQYXRoVXJsICYmICFhUGF0aFVybC5zY2hlbWUpIHtcbiAgICBpZiAoYVJvb3RVcmwpIHtcbiAgICAgIGFQYXRoVXJsLnNjaGVtZSA9IGFSb290VXJsLnNjaGVtZTtcbiAgICB9XG4gICAgcmV0dXJuIHVybEdlbmVyYXRlKGFQYXRoVXJsKTtcbiAgfVxuXG4gIGlmIChhUGF0aFVybCB8fCBhUGF0aC5tYXRjaChkYXRhVXJsUmVnZXhwKSkge1xuICAgIHJldHVybiBhUGF0aDtcbiAgfVxuXG4gIC8vIGBqb2luKCdodHRwOi8vJywgJ3d3dy5leGFtcGxlLmNvbScpYFxuICBpZiAoYVJvb3RVcmwgJiYgIWFSb290VXJsLmhvc3QgJiYgIWFSb290VXJsLnBhdGgpIHtcbiAgICBhUm9vdFVybC5ob3N0ID0gYVBhdGg7XG4gICAgcmV0dXJuIHVybEdlbmVyYXRlKGFSb290VXJsKTtcbiAgfVxuXG4gIHZhciBqb2luZWQgPSBhUGF0aC5jaGFyQXQoMCkgPT09ICcvJ1xuICAgID8gYVBhdGhcbiAgICA6IG5vcm1hbGl6ZShhUm9vdC5yZXBsYWNlKC9cXC8rJC8sICcnKSArICcvJyArIGFQYXRoKTtcblxuICBpZiAoYVJvb3RVcmwpIHtcbiAgICBhUm9vdFVybC5wYXRoID0gam9pbmVkO1xuICAgIHJldHVybiB1cmxHZW5lcmF0ZShhUm9vdFVybCk7XG4gIH1cbiAgcmV0dXJuIGpvaW5lZDtcbn1cbmV4cG9ydHMuam9pbiA9IGpvaW47XG5cbmV4cG9ydHMuaXNBYnNvbHV0ZSA9IGZ1bmN0aW9uIChhUGF0aCkge1xuICByZXR1cm4gYVBhdGguY2hhckF0KDApID09PSAnLycgfHwgISFhUGF0aC5tYXRjaCh1cmxSZWdleHApO1xufTtcblxuLyoqXG4gKiBNYWtlIGEgcGF0aCByZWxhdGl2ZSB0byBhIFVSTCBvciBhbm90aGVyIHBhdGguXG4gKlxuICogQHBhcmFtIGFSb290IFRoZSByb290IHBhdGggb3IgVVJMLlxuICogQHBhcmFtIGFQYXRoIFRoZSBwYXRoIG9yIFVSTCB0byBiZSBtYWRlIHJlbGF0aXZlIHRvIGFSb290LlxuICovXG5mdW5jdGlvbiByZWxhdGl2ZShhUm9vdCwgYVBhdGgpIHtcbiAgaWYgKGFSb290ID09PSBcIlwiKSB7XG4gICAgYVJvb3QgPSBcIi5cIjtcbiAgfVxuXG4gIGFSb290ID0gYVJvb3QucmVwbGFjZSgvXFwvJC8sICcnKTtcblxuICAvLyBJdCBpcyBwb3NzaWJsZSBmb3IgdGhlIHBhdGggdG8gYmUgYWJvdmUgdGhlIHJvb3QuIEluIHRoaXMgY2FzZSwgc2ltcGx5XG4gIC8vIGNoZWNraW5nIHdoZXRoZXIgdGhlIHJvb3QgaXMgYSBwcmVmaXggb2YgdGhlIHBhdGggd29uJ3Qgd29yay4gSW5zdGVhZCwgd2VcbiAgLy8gbmVlZCB0byByZW1vdmUgY29tcG9uZW50cyBmcm9tIHRoZSByb290IG9uZSBieSBvbmUsIHVudGlsIGVpdGhlciB3ZSBmaW5kXG4gIC8vIGEgcHJlZml4IHRoYXQgZml0cywgb3Igd2UgcnVuIG91dCBvZiBjb21wb25lbnRzIHRvIHJlbW92ZS5cbiAgdmFyIGxldmVsID0gMDtcbiAgd2hpbGUgKGFQYXRoLmluZGV4T2YoYVJvb3QgKyAnLycpICE9PSAwKSB7XG4gICAgdmFyIGluZGV4ID0gYVJvb3QubGFzdEluZGV4T2YoXCIvXCIpO1xuICAgIGlmIChpbmRleCA8IDApIHtcbiAgICAgIHJldHVybiBhUGF0aDtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgb25seSBwYXJ0IG9mIHRoZSByb290IHRoYXQgaXMgbGVmdCBpcyB0aGUgc2NoZW1lIChpLmUuIGh0dHA6Ly8sXG4gICAgLy8gZmlsZTovLy8sIGV0Yy4pLCBvbmUgb3IgbW9yZSBzbGFzaGVzICgvKSwgb3Igc2ltcGx5IG5vdGhpbmcgYXQgYWxsLCB3ZVxuICAgIC8vIGhhdmUgZXhoYXVzdGVkIGFsbCBjb21wb25lbnRzLCBzbyB0aGUgcGF0aCBpcyBub3QgcmVsYXRpdmUgdG8gdGhlIHJvb3QuXG4gICAgYVJvb3QgPSBhUm9vdC5zbGljZSgwLCBpbmRleCk7XG4gICAgaWYgKGFSb290Lm1hdGNoKC9eKFteXFwvXSs6XFwvKT9cXC8qJC8pKSB7XG4gICAgICByZXR1cm4gYVBhdGg7XG4gICAgfVxuXG4gICAgKytsZXZlbDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB3ZSBhZGQgYSBcIi4uL1wiIGZvciBlYWNoIGNvbXBvbmVudCB3ZSByZW1vdmVkIGZyb20gdGhlIHJvb3QuXG4gIHJldHVybiBBcnJheShsZXZlbCArIDEpLmpvaW4oXCIuLi9cIikgKyBhUGF0aC5zdWJzdHIoYVJvb3QubGVuZ3RoICsgMSk7XG59XG5leHBvcnRzLnJlbGF0aXZlID0gcmVsYXRpdmU7XG5cbnZhciBzdXBwb3J0c051bGxQcm90byA9IChmdW5jdGlvbiAoKSB7XG4gIHZhciBvYmogPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICByZXR1cm4gISgnX19wcm90b19fJyBpbiBvYmopO1xufSgpKTtcblxuZnVuY3Rpb24gaWRlbnRpdHkgKHMpIHtcbiAgcmV0dXJuIHM7XG59XG5cbi8qKlxuICogQmVjYXVzZSBiZWhhdmlvciBnb2VzIHdhY2t5IHdoZW4geW91IHNldCBgX19wcm90b19fYCBvbiBvYmplY3RzLCB3ZVxuICogaGF2ZSB0byBwcmVmaXggYWxsIHRoZSBzdHJpbmdzIGluIG91ciBzZXQgd2l0aCBhbiBhcmJpdHJhcnkgY2hhcmFjdGVyLlxuICpcbiAqIFNlZSBodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9zb3VyY2UtbWFwL3B1bGwvMzEgYW5kXG4gKiBodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9zb3VyY2UtbWFwL2lzc3Vlcy8zMFxuICpcbiAqIEBwYXJhbSBTdHJpbmcgYVN0clxuICovXG5mdW5jdGlvbiB0b1NldFN0cmluZyhhU3RyKSB7XG4gIGlmIChpc1Byb3RvU3RyaW5nKGFTdHIpKSB7XG4gICAgcmV0dXJuICckJyArIGFTdHI7XG4gIH1cblxuICByZXR1cm4gYVN0cjtcbn1cbmV4cG9ydHMudG9TZXRTdHJpbmcgPSBzdXBwb3J0c051bGxQcm90byA/IGlkZW50aXR5IDogdG9TZXRTdHJpbmc7XG5cbmZ1bmN0aW9uIGZyb21TZXRTdHJpbmcoYVN0cikge1xuICBpZiAoaXNQcm90b1N0cmluZyhhU3RyKSkge1xuICAgIHJldHVybiBhU3RyLnNsaWNlKDEpO1xuICB9XG5cbiAgcmV0dXJuIGFTdHI7XG59XG5leHBvcnRzLmZyb21TZXRTdHJpbmcgPSBzdXBwb3J0c051bGxQcm90byA/IGlkZW50aXR5IDogZnJvbVNldFN0cmluZztcblxuZnVuY3Rpb24gaXNQcm90b1N0cmluZyhzKSB7XG4gIGlmICghcykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHZhciBsZW5ndGggPSBzLmxlbmd0aDtcblxuICBpZiAobGVuZ3RoIDwgOSAvKiBcIl9fcHJvdG9fX1wiLmxlbmd0aCAqLykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChzLmNoYXJDb2RlQXQobGVuZ3RoIC0gMSkgIT09IDk1ICAvKiAnXycgKi8gfHxcbiAgICAgIHMuY2hhckNvZGVBdChsZW5ndGggLSAyKSAhPT0gOTUgIC8qICdfJyAqLyB8fFxuICAgICAgcy5jaGFyQ29kZUF0KGxlbmd0aCAtIDMpICE9PSAxMTEgLyogJ28nICovIHx8XG4gICAgICBzLmNoYXJDb2RlQXQobGVuZ3RoIC0gNCkgIT09IDExNiAvKiAndCcgKi8gfHxcbiAgICAgIHMuY2hhckNvZGVBdChsZW5ndGggLSA1KSAhPT0gMTExIC8qICdvJyAqLyB8fFxuICAgICAgcy5jaGFyQ29kZUF0KGxlbmd0aCAtIDYpICE9PSAxMTQgLyogJ3InICovIHx8XG4gICAgICBzLmNoYXJDb2RlQXQobGVuZ3RoIC0gNykgIT09IDExMiAvKiAncCcgKi8gfHxcbiAgICAgIHMuY2hhckNvZGVBdChsZW5ndGggLSA4KSAhPT0gOTUgIC8qICdfJyAqLyB8fFxuICAgICAgcy5jaGFyQ29kZUF0KGxlbmd0aCAtIDkpICE9PSA5NSAgLyogJ18nICovKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZm9yICh2YXIgaSA9IGxlbmd0aCAtIDEwOyBpID49IDA7IGktLSkge1xuICAgIGlmIChzLmNoYXJDb2RlQXQoaSkgIT09IDM2IC8qICckJyAqLykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG4vKipcbiAqIENvbXBhcmF0b3IgYmV0d2VlbiB0d28gbWFwcGluZ3Mgd2hlcmUgdGhlIG9yaWdpbmFsIHBvc2l0aW9ucyBhcmUgY29tcGFyZWQuXG4gKlxuICogT3B0aW9uYWxseSBwYXNzIGluIGB0cnVlYCBhcyBgb25seUNvbXBhcmVHZW5lcmF0ZWRgIHRvIGNvbnNpZGVyIHR3b1xuICogbWFwcGluZ3Mgd2l0aCB0aGUgc2FtZSBvcmlnaW5hbCBzb3VyY2UvbGluZS9jb2x1bW4sIGJ1dCBkaWZmZXJlbnQgZ2VuZXJhdGVkXG4gKiBsaW5lIGFuZCBjb2x1bW4gdGhlIHNhbWUuIFVzZWZ1bCB3aGVuIHNlYXJjaGluZyBmb3IgYSBtYXBwaW5nIHdpdGggYVxuICogc3R1YmJlZCBvdXQgbWFwcGluZy5cbiAqL1xuZnVuY3Rpb24gY29tcGFyZUJ5T3JpZ2luYWxQb3NpdGlvbnMobWFwcGluZ0EsIG1hcHBpbmdCLCBvbmx5Q29tcGFyZU9yaWdpbmFsKSB7XG4gIHZhciBjbXAgPSBtYXBwaW5nQS5zb3VyY2UgLSBtYXBwaW5nQi5zb3VyY2U7XG4gIGlmIChjbXAgIT09IDApIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgY21wID0gbWFwcGluZ0Eub3JpZ2luYWxMaW5lIC0gbWFwcGluZ0Iub3JpZ2luYWxMaW5lO1xuICBpZiAoY21wICE9PSAwKSB7XG4gICAgcmV0dXJuIGNtcDtcbiAgfVxuXG4gIGNtcCA9IG1hcHBpbmdBLm9yaWdpbmFsQ29sdW1uIC0gbWFwcGluZ0Iub3JpZ2luYWxDb2x1bW47XG4gIGlmIChjbXAgIT09IDAgfHwgb25seUNvbXBhcmVPcmlnaW5hbCkge1xuICAgIHJldHVybiBjbXA7XG4gIH1cblxuICBjbXAgPSBtYXBwaW5nQS5nZW5lcmF0ZWRDb2x1bW4gLSBtYXBwaW5nQi5nZW5lcmF0ZWRDb2x1bW47XG4gIGlmIChjbXAgIT09IDApIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgY21wID0gbWFwcGluZ0EuZ2VuZXJhdGVkTGluZSAtIG1hcHBpbmdCLmdlbmVyYXRlZExpbmU7XG4gIGlmIChjbXAgIT09IDApIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgcmV0dXJuIG1hcHBpbmdBLm5hbWUgLSBtYXBwaW5nQi5uYW1lO1xufVxuZXhwb3J0cy5jb21wYXJlQnlPcmlnaW5hbFBvc2l0aW9ucyA9IGNvbXBhcmVCeU9yaWdpbmFsUG9zaXRpb25zO1xuXG4vKipcbiAqIENvbXBhcmF0b3IgYmV0d2VlbiB0d28gbWFwcGluZ3Mgd2l0aCBkZWZsYXRlZCBzb3VyY2UgYW5kIG5hbWUgaW5kaWNlcyB3aGVyZVxuICogdGhlIGdlbmVyYXRlZCBwb3NpdGlvbnMgYXJlIGNvbXBhcmVkLlxuICpcbiAqIE9wdGlvbmFsbHkgcGFzcyBpbiBgdHJ1ZWAgYXMgYG9ubHlDb21wYXJlR2VuZXJhdGVkYCB0byBjb25zaWRlciB0d29cbiAqIG1hcHBpbmdzIHdpdGggdGhlIHNhbWUgZ2VuZXJhdGVkIGxpbmUgYW5kIGNvbHVtbiwgYnV0IGRpZmZlcmVudFxuICogc291cmNlL25hbWUvb3JpZ2luYWwgbGluZSBhbmQgY29sdW1uIHRoZSBzYW1lLiBVc2VmdWwgd2hlbiBzZWFyY2hpbmcgZm9yIGFcbiAqIG1hcHBpbmcgd2l0aCBhIHN0dWJiZWQgb3V0IG1hcHBpbmcuXG4gKi9cbmZ1bmN0aW9uIGNvbXBhcmVCeUdlbmVyYXRlZFBvc2l0aW9uc0RlZmxhdGVkKG1hcHBpbmdBLCBtYXBwaW5nQiwgb25seUNvbXBhcmVHZW5lcmF0ZWQpIHtcbiAgdmFyIGNtcCA9IG1hcHBpbmdBLmdlbmVyYXRlZExpbmUgLSBtYXBwaW5nQi5nZW5lcmF0ZWRMaW5lO1xuICBpZiAoY21wICE9PSAwKSB7XG4gICAgcmV0dXJuIGNtcDtcbiAgfVxuXG4gIGNtcCA9IG1hcHBpbmdBLmdlbmVyYXRlZENvbHVtbiAtIG1hcHBpbmdCLmdlbmVyYXRlZENvbHVtbjtcbiAgaWYgKGNtcCAhPT0gMCB8fCBvbmx5Q29tcGFyZUdlbmVyYXRlZCkge1xuICAgIHJldHVybiBjbXA7XG4gIH1cblxuICBjbXAgPSBtYXBwaW5nQS5zb3VyY2UgLSBtYXBwaW5nQi5zb3VyY2U7XG4gIGlmIChjbXAgIT09IDApIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgY21wID0gbWFwcGluZ0Eub3JpZ2luYWxMaW5lIC0gbWFwcGluZ0Iub3JpZ2luYWxMaW5lO1xuICBpZiAoY21wICE9PSAwKSB7XG4gICAgcmV0dXJuIGNtcDtcbiAgfVxuXG4gIGNtcCA9IG1hcHBpbmdBLm9yaWdpbmFsQ29sdW1uIC0gbWFwcGluZ0Iub3JpZ2luYWxDb2x1bW47XG4gIGlmIChjbXAgIT09IDApIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgcmV0dXJuIG1hcHBpbmdBLm5hbWUgLSBtYXBwaW5nQi5uYW1lO1xufVxuZXhwb3J0cy5jb21wYXJlQnlHZW5lcmF0ZWRQb3NpdGlvbnNEZWZsYXRlZCA9IGNvbXBhcmVCeUdlbmVyYXRlZFBvc2l0aW9uc0RlZmxhdGVkO1xuXG5mdW5jdGlvbiBzdHJjbXAoYVN0cjEsIGFTdHIyKSB7XG4gIGlmIChhU3RyMSA9PT0gYVN0cjIpIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIGlmIChhU3RyMSA+IGFTdHIyKSB7XG4gICAgcmV0dXJuIDE7XG4gIH1cblxuICByZXR1cm4gLTE7XG59XG5cbi8qKlxuICogQ29tcGFyYXRvciBiZXR3ZWVuIHR3byBtYXBwaW5ncyB3aXRoIGluZmxhdGVkIHNvdXJjZSBhbmQgbmFtZSBzdHJpbmdzIHdoZXJlXG4gKiB0aGUgZ2VuZXJhdGVkIHBvc2l0aW9ucyBhcmUgY29tcGFyZWQuXG4gKi9cbmZ1bmN0aW9uIGNvbXBhcmVCeUdlbmVyYXRlZFBvc2l0aW9uc0luZmxhdGVkKG1hcHBpbmdBLCBtYXBwaW5nQikge1xuICB2YXIgY21wID0gbWFwcGluZ0EuZ2VuZXJhdGVkTGluZSAtIG1hcHBpbmdCLmdlbmVyYXRlZExpbmU7XG4gIGlmIChjbXAgIT09IDApIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgY21wID0gbWFwcGluZ0EuZ2VuZXJhdGVkQ29sdW1uIC0gbWFwcGluZ0IuZ2VuZXJhdGVkQ29sdW1uO1xuICBpZiAoY21wICE9PSAwKSB7XG4gICAgcmV0dXJuIGNtcDtcbiAgfVxuXG4gIGNtcCA9IHN0cmNtcChtYXBwaW5nQS5zb3VyY2UsIG1hcHBpbmdCLnNvdXJjZSk7XG4gIGlmIChjbXAgIT09IDApIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgY21wID0gbWFwcGluZ0Eub3JpZ2luYWxMaW5lIC0gbWFwcGluZ0Iub3JpZ2luYWxMaW5lO1xuICBpZiAoY21wICE9PSAwKSB7XG4gICAgcmV0dXJuIGNtcDtcbiAgfVxuXG4gIGNtcCA9IG1hcHBpbmdBLm9yaWdpbmFsQ29sdW1uIC0gbWFwcGluZ0Iub3JpZ2luYWxDb2x1bW47XG4gIGlmIChjbXAgIT09IDApIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgcmV0dXJuIHN0cmNtcChtYXBwaW5nQS5uYW1lLCBtYXBwaW5nQi5uYW1lKTtcbn1cbmV4cG9ydHMuY29tcGFyZUJ5R2VuZXJhdGVkUG9zaXRpb25zSW5mbGF0ZWQgPSBjb21wYXJlQnlHZW5lcmF0ZWRQb3NpdGlvbnNJbmZsYXRlZDtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbGliL3V0aWwuanNcbi8vIG1vZHVsZSBpZCA9IDRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiLyogLSotIE1vZGU6IGpzOyBqcy1pbmRlbnQtbGV2ZWw6IDI7IC0qLSAqL1xuLypcbiAqIENvcHlyaWdodCAyMDExIE1vemlsbGEgRm91bmRhdGlvbiBhbmQgY29udHJpYnV0b3JzXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTmV3IEJTRCBsaWNlbnNlLiBTZWUgTElDRU5TRSBvcjpcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2VcbiAqL1xuXG52YXIgdXRpbCA9IHJlcXVpcmUoJy4vdXRpbCcpO1xudmFyIGhhcyA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgaGFzTmF0aXZlTWFwID0gdHlwZW9mIE1hcCAhPT0gXCJ1bmRlZmluZWRcIjtcblxuLyoqXG4gKiBBIGRhdGEgc3RydWN0dXJlIHdoaWNoIGlzIGEgY29tYmluYXRpb24gb2YgYW4gYXJyYXkgYW5kIGEgc2V0LiBBZGRpbmcgYSBuZXdcbiAqIG1lbWJlciBpcyBPKDEpLCB0ZXN0aW5nIGZvciBtZW1iZXJzaGlwIGlzIE8oMSksIGFuZCBmaW5kaW5nIHRoZSBpbmRleCBvZiBhblxuICogZWxlbWVudCBpcyBPKDEpLiBSZW1vdmluZyBlbGVtZW50cyBmcm9tIHRoZSBzZXQgaXMgbm90IHN1cHBvcnRlZC4gT25seVxuICogc3RyaW5ncyBhcmUgc3VwcG9ydGVkIGZvciBtZW1iZXJzaGlwLlxuICovXG5mdW5jdGlvbiBBcnJheVNldCgpIHtcbiAgdGhpcy5fYXJyYXkgPSBbXTtcbiAgdGhpcy5fc2V0ID0gaGFzTmF0aXZlTWFwID8gbmV3IE1hcCgpIDogT2JqZWN0LmNyZWF0ZShudWxsKTtcbn1cblxuLyoqXG4gKiBTdGF0aWMgbWV0aG9kIGZvciBjcmVhdGluZyBBcnJheVNldCBpbnN0YW5jZXMgZnJvbSBhbiBleGlzdGluZyBhcnJheS5cbiAqL1xuQXJyYXlTZXQuZnJvbUFycmF5ID0gZnVuY3Rpb24gQXJyYXlTZXRfZnJvbUFycmF5KGFBcnJheSwgYUFsbG93RHVwbGljYXRlcykge1xuICB2YXIgc2V0ID0gbmV3IEFycmF5U2V0KCk7XG4gIGZvciAodmFyIGkgPSAwLCBsZW4gPSBhQXJyYXkubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICBzZXQuYWRkKGFBcnJheVtpXSwgYUFsbG93RHVwbGljYXRlcyk7XG4gIH1cbiAgcmV0dXJuIHNldDtcbn07XG5cbi8qKlxuICogUmV0dXJuIGhvdyBtYW55IHVuaXF1ZSBpdGVtcyBhcmUgaW4gdGhpcyBBcnJheVNldC4gSWYgZHVwbGljYXRlcyBoYXZlIGJlZW5cbiAqIGFkZGVkLCB0aGFuIHRob3NlIGRvIG5vdCBjb3VudCB0b3dhcmRzIHRoZSBzaXplLlxuICpcbiAqIEByZXR1cm5zIE51bWJlclxuICovXG5BcnJheVNldC5wcm90b3R5cGUuc2l6ZSA9IGZ1bmN0aW9uIEFycmF5U2V0X3NpemUoKSB7XG4gIHJldHVybiBoYXNOYXRpdmVNYXAgPyB0aGlzLl9zZXQuc2l6ZSA6IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMuX3NldCkubGVuZ3RoO1xufTtcblxuLyoqXG4gKiBBZGQgdGhlIGdpdmVuIHN0cmluZyB0byB0aGlzIHNldC5cbiAqXG4gKiBAcGFyYW0gU3RyaW5nIGFTdHJcbiAqL1xuQXJyYXlTZXQucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uIEFycmF5U2V0X2FkZChhU3RyLCBhQWxsb3dEdXBsaWNhdGVzKSB7XG4gIHZhciBzU3RyID0gaGFzTmF0aXZlTWFwID8gYVN0ciA6IHV0aWwudG9TZXRTdHJpbmcoYVN0cik7XG4gIHZhciBpc0R1cGxpY2F0ZSA9IGhhc05hdGl2ZU1hcCA/IHRoaXMuaGFzKGFTdHIpIDogaGFzLmNhbGwodGhpcy5fc2V0LCBzU3RyKTtcbiAgdmFyIGlkeCA9IHRoaXMuX2FycmF5Lmxlbmd0aDtcbiAgaWYgKCFpc0R1cGxpY2F0ZSB8fCBhQWxsb3dEdXBsaWNhdGVzKSB7XG4gICAgdGhpcy5fYXJyYXkucHVzaChhU3RyKTtcbiAgfVxuICBpZiAoIWlzRHVwbGljYXRlKSB7XG4gICAgaWYgKGhhc05hdGl2ZU1hcCkge1xuICAgICAgdGhpcy5fc2V0LnNldChhU3RyLCBpZHgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9zZXRbc1N0cl0gPSBpZHg7XG4gICAgfVxuICB9XG59O1xuXG4vKipcbiAqIElzIHRoZSBnaXZlbiBzdHJpbmcgYSBtZW1iZXIgb2YgdGhpcyBzZXQ/XG4gKlxuICogQHBhcmFtIFN0cmluZyBhU3RyXG4gKi9cbkFycmF5U2V0LnByb3RvdHlwZS5oYXMgPSBmdW5jdGlvbiBBcnJheVNldF9oYXMoYVN0cikge1xuICBpZiAoaGFzTmF0aXZlTWFwKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NldC5oYXMoYVN0cik7XG4gIH0gZWxzZSB7XG4gICAgdmFyIHNTdHIgPSB1dGlsLnRvU2V0U3RyaW5nKGFTdHIpO1xuICAgIHJldHVybiBoYXMuY2FsbCh0aGlzLl9zZXQsIHNTdHIpO1xuICB9XG59O1xuXG4vKipcbiAqIFdoYXQgaXMgdGhlIGluZGV4IG9mIHRoZSBnaXZlbiBzdHJpbmcgaW4gdGhlIGFycmF5P1xuICpcbiAqIEBwYXJhbSBTdHJpbmcgYVN0clxuICovXG5BcnJheVNldC5wcm90b3R5cGUuaW5kZXhPZiA9IGZ1bmN0aW9uIEFycmF5U2V0X2luZGV4T2YoYVN0cikge1xuICBpZiAoaGFzTmF0aXZlTWFwKSB7XG4gICAgdmFyIGlkeCA9IHRoaXMuX3NldC5nZXQoYVN0cik7XG4gICAgaWYgKGlkeCA+PSAwKSB7XG4gICAgICAgIHJldHVybiBpZHg7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHZhciBzU3RyID0gdXRpbC50b1NldFN0cmluZyhhU3RyKTtcbiAgICBpZiAoaGFzLmNhbGwodGhpcy5fc2V0LCBzU3RyKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX3NldFtzU3RyXTtcbiAgICB9XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoJ1wiJyArIGFTdHIgKyAnXCIgaXMgbm90IGluIHRoZSBzZXQuJyk7XG59O1xuXG4vKipcbiAqIFdoYXQgaXMgdGhlIGVsZW1lbnQgYXQgdGhlIGdpdmVuIGluZGV4P1xuICpcbiAqIEBwYXJhbSBOdW1iZXIgYUlkeFxuICovXG5BcnJheVNldC5wcm90b3R5cGUuYXQgPSBmdW5jdGlvbiBBcnJheVNldF9hdChhSWR4KSB7XG4gIGlmIChhSWR4ID49IDAgJiYgYUlkeCA8IHRoaXMuX2FycmF5Lmxlbmd0aCkge1xuICAgIHJldHVybiB0aGlzLl9hcnJheVthSWR4XTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoJ05vIGVsZW1lbnQgaW5kZXhlZCBieSAnICsgYUlkeCk7XG59O1xuXG4vKipcbiAqIFJldHVybnMgdGhlIGFycmF5IHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgc2V0ICh3aGljaCBoYXMgdGhlIHByb3BlciBpbmRpY2VzXG4gKiBpbmRpY2F0ZWQgYnkgaW5kZXhPZikuIE5vdGUgdGhhdCB0aGlzIGlzIGEgY29weSBvZiB0aGUgaW50ZXJuYWwgYXJyYXkgdXNlZFxuICogZm9yIHN0b3JpbmcgdGhlIG1lbWJlcnMgc28gdGhhdCBubyBvbmUgY2FuIG1lc3Mgd2l0aCBpbnRlcm5hbCBzdGF0ZS5cbiAqL1xuQXJyYXlTZXQucHJvdG90eXBlLnRvQXJyYXkgPSBmdW5jdGlvbiBBcnJheVNldF90b0FycmF5KCkge1xuICByZXR1cm4gdGhpcy5fYXJyYXkuc2xpY2UoKTtcbn07XG5cbmV4cG9ydHMuQXJyYXlTZXQgPSBBcnJheVNldDtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbGliL2FycmF5LXNldC5qc1xuLy8gbW9kdWxlIGlkID0gNVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCIvKiAtKi0gTW9kZToganM7IGpzLWluZGVudC1sZXZlbDogMjsgLSotICovXG4vKlxuICogQ29weXJpZ2h0IDIwMTQgTW96aWxsYSBGb3VuZGF0aW9uIGFuZCBjb250cmlidXRvcnNcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBOZXcgQlNEIGxpY2Vuc2UuIFNlZSBMSUNFTlNFIG9yOlxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZVxuICovXG5cbnZhciB1dGlsID0gcmVxdWlyZSgnLi91dGlsJyk7XG5cbi8qKlxuICogRGV0ZXJtaW5lIHdoZXRoZXIgbWFwcGluZ0IgaXMgYWZ0ZXIgbWFwcGluZ0Egd2l0aCByZXNwZWN0IHRvIGdlbmVyYXRlZFxuICogcG9zaXRpb24uXG4gKi9cbmZ1bmN0aW9uIGdlbmVyYXRlZFBvc2l0aW9uQWZ0ZXIobWFwcGluZ0EsIG1hcHBpbmdCKSB7XG4gIC8vIE9wdGltaXplZCBmb3IgbW9zdCBjb21tb24gY2FzZVxuICB2YXIgbGluZUEgPSBtYXBwaW5nQS5nZW5lcmF0ZWRMaW5lO1xuICB2YXIgbGluZUIgPSBtYXBwaW5nQi5nZW5lcmF0ZWRMaW5lO1xuICB2YXIgY29sdW1uQSA9IG1hcHBpbmdBLmdlbmVyYXRlZENvbHVtbjtcbiAgdmFyIGNvbHVtbkIgPSBtYXBwaW5nQi5nZW5lcmF0ZWRDb2x1bW47XG4gIHJldHVybiBsaW5lQiA+IGxpbmVBIHx8IGxpbmVCID09IGxpbmVBICYmIGNvbHVtbkIgPj0gY29sdW1uQSB8fFxuICAgICAgICAgdXRpbC5jb21wYXJlQnlHZW5lcmF0ZWRQb3NpdGlvbnNJbmZsYXRlZChtYXBwaW5nQSwgbWFwcGluZ0IpIDw9IDA7XG59XG5cbi8qKlxuICogQSBkYXRhIHN0cnVjdHVyZSB0byBwcm92aWRlIGEgc29ydGVkIHZpZXcgb2YgYWNjdW11bGF0ZWQgbWFwcGluZ3MgaW4gYVxuICogcGVyZm9ybWFuY2UgY29uc2Npb3VzIG1hbm5lci4gSXQgdHJhZGVzIGEgbmVnbGliYWJsZSBvdmVyaGVhZCBpbiBnZW5lcmFsXG4gKiBjYXNlIGZvciBhIGxhcmdlIHNwZWVkdXAgaW4gY2FzZSBvZiBtYXBwaW5ncyBiZWluZyBhZGRlZCBpbiBvcmRlci5cbiAqL1xuZnVuY3Rpb24gTWFwcGluZ0xpc3QoKSB7XG4gIHRoaXMuX2FycmF5ID0gW107XG4gIHRoaXMuX3NvcnRlZCA9IHRydWU7XG4gIC8vIFNlcnZlcyBhcyBpbmZpbXVtXG4gIHRoaXMuX2xhc3QgPSB7Z2VuZXJhdGVkTGluZTogLTEsIGdlbmVyYXRlZENvbHVtbjogMH07XG59XG5cbi8qKlxuICogSXRlcmF0ZSB0aHJvdWdoIGludGVybmFsIGl0ZW1zLiBUaGlzIG1ldGhvZCB0YWtlcyB0aGUgc2FtZSBhcmd1bWVudHMgdGhhdFxuICogYEFycmF5LnByb3RvdHlwZS5mb3JFYWNoYCB0YWtlcy5cbiAqXG4gKiBOT1RFOiBUaGUgb3JkZXIgb2YgdGhlIG1hcHBpbmdzIGlzIE5PVCBndWFyYW50ZWVkLlxuICovXG5NYXBwaW5nTGlzdC5wcm90b3R5cGUudW5zb3J0ZWRGb3JFYWNoID1cbiAgZnVuY3Rpb24gTWFwcGluZ0xpc3RfZm9yRWFjaChhQ2FsbGJhY2ssIGFUaGlzQXJnKSB7XG4gICAgdGhpcy5fYXJyYXkuZm9yRWFjaChhQ2FsbGJhY2ssIGFUaGlzQXJnKTtcbiAgfTtcblxuLyoqXG4gKiBBZGQgdGhlIGdpdmVuIHNvdXJjZSBtYXBwaW5nLlxuICpcbiAqIEBwYXJhbSBPYmplY3QgYU1hcHBpbmdcbiAqL1xuTWFwcGluZ0xpc3QucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uIE1hcHBpbmdMaXN0X2FkZChhTWFwcGluZykge1xuICBpZiAoZ2VuZXJhdGVkUG9zaXRpb25BZnRlcih0aGlzLl9sYXN0LCBhTWFwcGluZykpIHtcbiAgICB0aGlzLl9sYXN0ID0gYU1hcHBpbmc7XG4gICAgdGhpcy5fYXJyYXkucHVzaChhTWFwcGluZyk7XG4gIH0gZWxzZSB7XG4gICAgdGhpcy5fc29ydGVkID0gZmFsc2U7XG4gICAgdGhpcy5fYXJyYXkucHVzaChhTWFwcGluZyk7XG4gIH1cbn07XG5cbi8qKlxuICogUmV0dXJucyB0aGUgZmxhdCwgc29ydGVkIGFycmF5IG9mIG1hcHBpbmdzLiBUaGUgbWFwcGluZ3MgYXJlIHNvcnRlZCBieVxuICogZ2VuZXJhdGVkIHBvc2l0aW9uLlxuICpcbiAqIFdBUk5JTkc6IFRoaXMgbWV0aG9kIHJldHVybnMgaW50ZXJuYWwgZGF0YSB3aXRob3V0IGNvcHlpbmcsIGZvclxuICogcGVyZm9ybWFuY2UuIFRoZSByZXR1cm4gdmFsdWUgbXVzdCBOT1QgYmUgbXV0YXRlZCwgYW5kIHNob3VsZCBiZSB0cmVhdGVkIGFzXG4gKiBhbiBpbW11dGFibGUgYm9ycm93LiBJZiB5b3Ugd2FudCB0byB0YWtlIG93bmVyc2hpcCwgeW91IG11c3QgbWFrZSB5b3VyIG93blxuICogY29weS5cbiAqL1xuTWFwcGluZ0xpc3QucHJvdG90eXBlLnRvQXJyYXkgPSBmdW5jdGlvbiBNYXBwaW5nTGlzdF90b0FycmF5KCkge1xuICBpZiAoIXRoaXMuX3NvcnRlZCkge1xuICAgIHRoaXMuX2FycmF5LnNvcnQodXRpbC5jb21wYXJlQnlHZW5lcmF0ZWRQb3NpdGlvbnNJbmZsYXRlZCk7XG4gICAgdGhpcy5fc29ydGVkID0gdHJ1ZTtcbiAgfVxuICByZXR1cm4gdGhpcy5fYXJyYXk7XG59O1xuXG5leHBvcnRzLk1hcHBpbmdMaXN0ID0gTWFwcGluZ0xpc3Q7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL2xpYi9tYXBwaW5nLWxpc3QuanNcbi8vIG1vZHVsZSBpZCA9IDZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiLyogLSotIE1vZGU6IGpzOyBqcy1pbmRlbnQtbGV2ZWw6IDI7IC0qLSAqL1xuLypcbiAqIENvcHlyaWdodCAyMDExIE1vemlsbGEgRm91bmRhdGlvbiBhbmQgY29udHJpYnV0b3JzXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTmV3IEJTRCBsaWNlbnNlLiBTZWUgTElDRU5TRSBvcjpcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2VcbiAqL1xuXG52YXIgdXRpbCA9IHJlcXVpcmUoJy4vdXRpbCcpO1xudmFyIGJpbmFyeVNlYXJjaCA9IHJlcXVpcmUoJy4vYmluYXJ5LXNlYXJjaCcpO1xudmFyIEFycmF5U2V0ID0gcmVxdWlyZSgnLi9hcnJheS1zZXQnKS5BcnJheVNldDtcbnZhciBiYXNlNjRWTFEgPSByZXF1aXJlKCcuL2Jhc2U2NC12bHEnKTtcbnZhciBxdWlja1NvcnQgPSByZXF1aXJlKCcuL3F1aWNrLXNvcnQnKS5xdWlja1NvcnQ7XG5cbmZ1bmN0aW9uIFNvdXJjZU1hcENvbnN1bWVyKGFTb3VyY2VNYXApIHtcbiAgdmFyIHNvdXJjZU1hcCA9IGFTb3VyY2VNYXA7XG4gIGlmICh0eXBlb2YgYVNvdXJjZU1hcCA9PT0gJ3N0cmluZycpIHtcbiAgICBzb3VyY2VNYXAgPSBKU09OLnBhcnNlKGFTb3VyY2VNYXAucmVwbGFjZSgvXlxcKVxcXVxcfScvLCAnJykpO1xuICB9XG5cbiAgcmV0dXJuIHNvdXJjZU1hcC5zZWN0aW9ucyAhPSBudWxsXG4gICAgPyBuZXcgSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyKHNvdXJjZU1hcClcbiAgICA6IG5ldyBCYXNpY1NvdXJjZU1hcENvbnN1bWVyKHNvdXJjZU1hcCk7XG59XG5cblNvdXJjZU1hcENvbnN1bWVyLmZyb21Tb3VyY2VNYXAgPSBmdW5jdGlvbihhU291cmNlTWFwKSB7XG4gIHJldHVybiBCYXNpY1NvdXJjZU1hcENvbnN1bWVyLmZyb21Tb3VyY2VNYXAoYVNvdXJjZU1hcCk7XG59XG5cbi8qKlxuICogVGhlIHZlcnNpb24gb2YgdGhlIHNvdXJjZSBtYXBwaW5nIHNwZWMgdGhhdCB3ZSBhcmUgY29uc3VtaW5nLlxuICovXG5Tb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuX3ZlcnNpb24gPSAzO1xuXG4vLyBgX19nZW5lcmF0ZWRNYXBwaW5nc2AgYW5kIGBfX29yaWdpbmFsTWFwcGluZ3NgIGFyZSBhcnJheXMgdGhhdCBob2xkIHRoZVxuLy8gcGFyc2VkIG1hcHBpbmcgY29vcmRpbmF0ZXMgZnJvbSB0aGUgc291cmNlIG1hcCdzIFwibWFwcGluZ3NcIiBhdHRyaWJ1dGUuIFRoZXlcbi8vIGFyZSBsYXppbHkgaW5zdGFudGlhdGVkLCBhY2Nlc3NlZCB2aWEgdGhlIGBfZ2VuZXJhdGVkTWFwcGluZ3NgIGFuZFxuLy8gYF9vcmlnaW5hbE1hcHBpbmdzYCBnZXR0ZXJzIHJlc3BlY3RpdmVseSwgYW5kIHdlIG9ubHkgcGFyc2UgdGhlIG1hcHBpbmdzXG4vLyBhbmQgY3JlYXRlIHRoZXNlIGFycmF5cyBvbmNlIHF1ZXJpZWQgZm9yIGEgc291cmNlIGxvY2F0aW9uLiBXZSBqdW1wIHRocm91Z2hcbi8vIHRoZXNlIGhvb3BzIGJlY2F1c2UgdGhlcmUgY2FuIGJlIG1hbnkgdGhvdXNhbmRzIG9mIG1hcHBpbmdzLCBhbmQgcGFyc2luZ1xuLy8gdGhlbSBpcyBleHBlbnNpdmUsIHNvIHdlIG9ubHkgd2FudCB0byBkbyBpdCBpZiB3ZSBtdXN0LlxuLy9cbi8vIEVhY2ggb2JqZWN0IGluIHRoZSBhcnJheXMgaXMgb2YgdGhlIGZvcm06XG4vL1xuLy8gICAgIHtcbi8vICAgICAgIGdlbmVyYXRlZExpbmU6IFRoZSBsaW5lIG51bWJlciBpbiB0aGUgZ2VuZXJhdGVkIGNvZGUsXG4vLyAgICAgICBnZW5lcmF0ZWRDb2x1bW46IFRoZSBjb2x1bW4gbnVtYmVyIGluIHRoZSBnZW5lcmF0ZWQgY29kZSxcbi8vICAgICAgIHNvdXJjZTogVGhlIHBhdGggdG8gdGhlIG9yaWdpbmFsIHNvdXJjZSBmaWxlIHRoYXQgZ2VuZXJhdGVkIHRoaXNcbi8vICAgICAgICAgICAgICAgY2h1bmsgb2YgY29kZSxcbi8vICAgICAgIG9yaWdpbmFsTGluZTogVGhlIGxpbmUgbnVtYmVyIGluIHRoZSBvcmlnaW5hbCBzb3VyY2UgdGhhdFxuLy8gICAgICAgICAgICAgICAgICAgICBjb3JyZXNwb25kcyB0byB0aGlzIGNodW5rIG9mIGdlbmVyYXRlZCBjb2RlLFxuLy8gICAgICAgb3JpZ2luYWxDb2x1bW46IFRoZSBjb2x1bW4gbnVtYmVyIGluIHRoZSBvcmlnaW5hbCBzb3VyY2UgdGhhdFxuLy8gICAgICAgICAgICAgICAgICAgICAgIGNvcnJlc3BvbmRzIHRvIHRoaXMgY2h1bmsgb2YgZ2VuZXJhdGVkIGNvZGUsXG4vLyAgICAgICBuYW1lOiBUaGUgbmFtZSBvZiB0aGUgb3JpZ2luYWwgc3ltYm9sIHdoaWNoIGdlbmVyYXRlZCB0aGlzIGNodW5rIG9mXG4vLyAgICAgICAgICAgICBjb2RlLlxuLy8gICAgIH1cbi8vXG4vLyBBbGwgcHJvcGVydGllcyBleGNlcHQgZm9yIGBnZW5lcmF0ZWRMaW5lYCBhbmQgYGdlbmVyYXRlZENvbHVtbmAgY2FuIGJlXG4vLyBgbnVsbGAuXG4vL1xuLy8gYF9nZW5lcmF0ZWRNYXBwaW5nc2AgaXMgb3JkZXJlZCBieSB0aGUgZ2VuZXJhdGVkIHBvc2l0aW9ucy5cbi8vXG4vLyBgX29yaWdpbmFsTWFwcGluZ3NgIGlzIG9yZGVyZWQgYnkgdGhlIG9yaWdpbmFsIHBvc2l0aW9ucy5cblxuU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLl9fZ2VuZXJhdGVkTWFwcGluZ3MgPSBudWxsO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KFNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZSwgJ19nZW5lcmF0ZWRNYXBwaW5ncycsIHtcbiAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKCF0aGlzLl9fZ2VuZXJhdGVkTWFwcGluZ3MpIHtcbiAgICAgIHRoaXMuX3BhcnNlTWFwcGluZ3ModGhpcy5fbWFwcGluZ3MsIHRoaXMuc291cmNlUm9vdCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX19nZW5lcmF0ZWRNYXBwaW5ncztcbiAgfVxufSk7XG5cblNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5fX29yaWdpbmFsTWFwcGluZ3MgPSBudWxsO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KFNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZSwgJ19vcmlnaW5hbE1hcHBpbmdzJywge1xuICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoIXRoaXMuX19vcmlnaW5hbE1hcHBpbmdzKSB7XG4gICAgICB0aGlzLl9wYXJzZU1hcHBpbmdzKHRoaXMuX21hcHBpbmdzLCB0aGlzLnNvdXJjZVJvb3QpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9fb3JpZ2luYWxNYXBwaW5ncztcbiAgfVxufSk7XG5cblNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5fY2hhcklzTWFwcGluZ1NlcGFyYXRvciA9XG4gIGZ1bmN0aW9uIFNvdXJjZU1hcENvbnN1bWVyX2NoYXJJc01hcHBpbmdTZXBhcmF0b3IoYVN0ciwgaW5kZXgpIHtcbiAgICB2YXIgYyA9IGFTdHIuY2hhckF0KGluZGV4KTtcbiAgICByZXR1cm4gYyA9PT0gXCI7XCIgfHwgYyA9PT0gXCIsXCI7XG4gIH07XG5cbi8qKlxuICogUGFyc2UgdGhlIG1hcHBpbmdzIGluIGEgc3RyaW5nIGluIHRvIGEgZGF0YSBzdHJ1Y3R1cmUgd2hpY2ggd2UgY2FuIGVhc2lseVxuICogcXVlcnkgKHRoZSBvcmRlcmVkIGFycmF5cyBpbiB0aGUgYHRoaXMuX19nZW5lcmF0ZWRNYXBwaW5nc2AgYW5kXG4gKiBgdGhpcy5fX29yaWdpbmFsTWFwcGluZ3NgIHByb3BlcnRpZXMpLlxuICovXG5Tb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuX3BhcnNlTWFwcGluZ3MgPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBDb25zdW1lcl9wYXJzZU1hcHBpbmdzKGFTdHIsIGFTb3VyY2VSb290KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiU3ViY2xhc3NlcyBtdXN0IGltcGxlbWVudCBfcGFyc2VNYXBwaW5nc1wiKTtcbiAgfTtcblxuU291cmNlTWFwQ29uc3VtZXIuR0VORVJBVEVEX09SREVSID0gMTtcblNvdXJjZU1hcENvbnN1bWVyLk9SSUdJTkFMX09SREVSID0gMjtcblxuU291cmNlTWFwQ29uc3VtZXIuR1JFQVRFU1RfTE9XRVJfQk9VTkQgPSAxO1xuU291cmNlTWFwQ29uc3VtZXIuTEVBU1RfVVBQRVJfQk9VTkQgPSAyO1xuXG4vKipcbiAqIEl0ZXJhdGUgb3ZlciBlYWNoIG1hcHBpbmcgYmV0d2VlbiBhbiBvcmlnaW5hbCBzb3VyY2UvbGluZS9jb2x1bW4gYW5kIGFcbiAqIGdlbmVyYXRlZCBsaW5lL2NvbHVtbiBpbiB0aGlzIHNvdXJjZSBtYXAuXG4gKlxuICogQHBhcmFtIEZ1bmN0aW9uIGFDYWxsYmFja1xuICogICAgICAgIFRoZSBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCB3aXRoIGVhY2ggbWFwcGluZy5cbiAqIEBwYXJhbSBPYmplY3QgYUNvbnRleHRcbiAqICAgICAgICBPcHRpb25hbC4gSWYgc3BlY2lmaWVkLCB0aGlzIG9iamVjdCB3aWxsIGJlIHRoZSB2YWx1ZSBvZiBgdGhpc2AgZXZlcnlcbiAqICAgICAgICB0aW1lIHRoYXQgYGFDYWxsYmFja2AgaXMgY2FsbGVkLlxuICogQHBhcmFtIGFPcmRlclxuICogICAgICAgIEVpdGhlciBgU291cmNlTWFwQ29uc3VtZXIuR0VORVJBVEVEX09SREVSYCBvclxuICogICAgICAgIGBTb3VyY2VNYXBDb25zdW1lci5PUklHSU5BTF9PUkRFUmAuIFNwZWNpZmllcyB3aGV0aGVyIHlvdSB3YW50IHRvXG4gKiAgICAgICAgaXRlcmF0ZSBvdmVyIHRoZSBtYXBwaW5ncyBzb3J0ZWQgYnkgdGhlIGdlbmVyYXRlZCBmaWxlJ3MgbGluZS9jb2x1bW5cbiAqICAgICAgICBvcmRlciBvciB0aGUgb3JpZ2luYWwncyBzb3VyY2UvbGluZS9jb2x1bW4gb3JkZXIsIHJlc3BlY3RpdmVseS4gRGVmYXVsdHMgdG9cbiAqICAgICAgICBgU291cmNlTWFwQ29uc3VtZXIuR0VORVJBVEVEX09SREVSYC5cbiAqL1xuU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLmVhY2hNYXBwaW5nID1cbiAgZnVuY3Rpb24gU291cmNlTWFwQ29uc3VtZXJfZWFjaE1hcHBpbmcoYUNhbGxiYWNrLCBhQ29udGV4dCwgYU9yZGVyKSB7XG4gICAgdmFyIGNvbnRleHQgPSBhQ29udGV4dCB8fCBudWxsO1xuICAgIHZhciBvcmRlciA9IGFPcmRlciB8fCBTb3VyY2VNYXBDb25zdW1lci5HRU5FUkFURURfT1JERVI7XG5cbiAgICB2YXIgbWFwcGluZ3M7XG4gICAgc3dpdGNoIChvcmRlcikge1xuICAgIGNhc2UgU291cmNlTWFwQ29uc3VtZXIuR0VORVJBVEVEX09SREVSOlxuICAgICAgbWFwcGluZ3MgPSB0aGlzLl9nZW5lcmF0ZWRNYXBwaW5ncztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgU291cmNlTWFwQ29uc3VtZXIuT1JJR0lOQUxfT1JERVI6XG4gICAgICBtYXBwaW5ncyA9IHRoaXMuX29yaWdpbmFsTWFwcGluZ3M7XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biBvcmRlciBvZiBpdGVyYXRpb24uXCIpO1xuICAgIH1cblxuICAgIHZhciBzb3VyY2VSb290ID0gdGhpcy5zb3VyY2VSb290O1xuICAgIG1hcHBpbmdzLm1hcChmdW5jdGlvbiAobWFwcGluZykge1xuICAgICAgdmFyIHNvdXJjZSA9IG1hcHBpbmcuc291cmNlID09PSBudWxsID8gbnVsbCA6IHRoaXMuX3NvdXJjZXMuYXQobWFwcGluZy5zb3VyY2UpO1xuICAgICAgaWYgKHNvdXJjZSAhPSBudWxsICYmIHNvdXJjZVJvb3QgIT0gbnVsbCkge1xuICAgICAgICBzb3VyY2UgPSB1dGlsLmpvaW4oc291cmNlUm9vdCwgc291cmNlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNvdXJjZTogc291cmNlLFxuICAgICAgICBnZW5lcmF0ZWRMaW5lOiBtYXBwaW5nLmdlbmVyYXRlZExpbmUsXG4gICAgICAgIGdlbmVyYXRlZENvbHVtbjogbWFwcGluZy5nZW5lcmF0ZWRDb2x1bW4sXG4gICAgICAgIG9yaWdpbmFsTGluZTogbWFwcGluZy5vcmlnaW5hbExpbmUsXG4gICAgICAgIG9yaWdpbmFsQ29sdW1uOiBtYXBwaW5nLm9yaWdpbmFsQ29sdW1uLFxuICAgICAgICBuYW1lOiBtYXBwaW5nLm5hbWUgPT09IG51bGwgPyBudWxsIDogdGhpcy5fbmFtZXMuYXQobWFwcGluZy5uYW1lKVxuICAgICAgfTtcbiAgICB9LCB0aGlzKS5mb3JFYWNoKGFDYWxsYmFjaywgY29udGV4dCk7XG4gIH07XG5cbi8qKlxuICogUmV0dXJucyBhbGwgZ2VuZXJhdGVkIGxpbmUgYW5kIGNvbHVtbiBpbmZvcm1hdGlvbiBmb3IgdGhlIG9yaWdpbmFsIHNvdXJjZSxcbiAqIGxpbmUsIGFuZCBjb2x1bW4gcHJvdmlkZWQuIElmIG5vIGNvbHVtbiBpcyBwcm92aWRlZCwgcmV0dXJucyBhbGwgbWFwcGluZ3NcbiAqIGNvcnJlc3BvbmRpbmcgdG8gYSBlaXRoZXIgdGhlIGxpbmUgd2UgYXJlIHNlYXJjaGluZyBmb3Igb3IgdGhlIG5leHRcbiAqIGNsb3Nlc3QgbGluZSB0aGF0IGhhcyBhbnkgbWFwcGluZ3MuIE90aGVyd2lzZSwgcmV0dXJucyBhbGwgbWFwcGluZ3NcbiAqIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGdpdmVuIGxpbmUgYW5kIGVpdGhlciB0aGUgY29sdW1uIHdlIGFyZSBzZWFyY2hpbmcgZm9yXG4gKiBvciB0aGUgbmV4dCBjbG9zZXN0IGNvbHVtbiB0aGF0IGhhcyBhbnkgb2Zmc2V0cy5cbiAqXG4gKiBUaGUgb25seSBhcmd1bWVudCBpcyBhbiBvYmplY3Qgd2l0aCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gKlxuICogICAtIHNvdXJjZTogVGhlIGZpbGVuYW1lIG9mIHRoZSBvcmlnaW5hbCBzb3VyY2UuXG4gKiAgIC0gbGluZTogVGhlIGxpbmUgbnVtYmVyIGluIHRoZSBvcmlnaW5hbCBzb3VyY2UuXG4gKiAgIC0gY29sdW1uOiBPcHRpb25hbC4gdGhlIGNvbHVtbiBudW1iZXIgaW4gdGhlIG9yaWdpbmFsIHNvdXJjZS5cbiAqXG4gKiBhbmQgYW4gYXJyYXkgb2Ygb2JqZWN0cyBpcyByZXR1cm5lZCwgZWFjaCB3aXRoIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczpcbiAqXG4gKiAgIC0gbGluZTogVGhlIGxpbmUgbnVtYmVyIGluIHRoZSBnZW5lcmF0ZWQgc291cmNlLCBvciBudWxsLlxuICogICAtIGNvbHVtbjogVGhlIGNvbHVtbiBudW1iZXIgaW4gdGhlIGdlbmVyYXRlZCBzb3VyY2UsIG9yIG51bGwuXG4gKi9cblNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5hbGxHZW5lcmF0ZWRQb3NpdGlvbnNGb3IgPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBDb25zdW1lcl9hbGxHZW5lcmF0ZWRQb3NpdGlvbnNGb3IoYUFyZ3MpIHtcbiAgICB2YXIgbGluZSA9IHV0aWwuZ2V0QXJnKGFBcmdzLCAnbGluZScpO1xuXG4gICAgLy8gV2hlbiB0aGVyZSBpcyBubyBleGFjdCBtYXRjaCwgQmFzaWNTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuX2ZpbmRNYXBwaW5nXG4gICAgLy8gcmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIGNsb3Nlc3QgbWFwcGluZyBsZXNzIHRoYW4gdGhlIG5lZWRsZS4gQnlcbiAgICAvLyBzZXR0aW5nIG5lZWRsZS5vcmlnaW5hbENvbHVtbiB0byAwLCB3ZSB0aHVzIGZpbmQgdGhlIGxhc3QgbWFwcGluZyBmb3JcbiAgICAvLyB0aGUgZ2l2ZW4gbGluZSwgcHJvdmlkZWQgc3VjaCBhIG1hcHBpbmcgZXhpc3RzLlxuICAgIHZhciBuZWVkbGUgPSB7XG4gICAgICBzb3VyY2U6IHV0aWwuZ2V0QXJnKGFBcmdzLCAnc291cmNlJyksXG4gICAgICBvcmlnaW5hbExpbmU6IGxpbmUsXG4gICAgICBvcmlnaW5hbENvbHVtbjogdXRpbC5nZXRBcmcoYUFyZ3MsICdjb2x1bW4nLCAwKVxuICAgIH07XG5cbiAgICBpZiAodGhpcy5zb3VyY2VSb290ICE9IG51bGwpIHtcbiAgICAgIG5lZWRsZS5zb3VyY2UgPSB1dGlsLnJlbGF0aXZlKHRoaXMuc291cmNlUm9vdCwgbmVlZGxlLnNvdXJjZSk7XG4gICAgfVxuICAgIGlmICghdGhpcy5fc291cmNlcy5oYXMobmVlZGxlLnNvdXJjZSkpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgbmVlZGxlLnNvdXJjZSA9IHRoaXMuX3NvdXJjZXMuaW5kZXhPZihuZWVkbGUuc291cmNlKTtcblxuICAgIHZhciBtYXBwaW5ncyA9IFtdO1xuXG4gICAgdmFyIGluZGV4ID0gdGhpcy5fZmluZE1hcHBpbmcobmVlZGxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX29yaWdpbmFsTWFwcGluZ3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJvcmlnaW5hbExpbmVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm9yaWdpbmFsQ29sdW1uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXRpbC5jb21wYXJlQnlPcmlnaW5hbFBvc2l0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaW5hcnlTZWFyY2guTEVBU1RfVVBQRVJfQk9VTkQpO1xuICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICB2YXIgbWFwcGluZyA9IHRoaXMuX29yaWdpbmFsTWFwcGluZ3NbaW5kZXhdO1xuXG4gICAgICBpZiAoYUFyZ3MuY29sdW1uID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdmFyIG9yaWdpbmFsTGluZSA9IG1hcHBpbmcub3JpZ2luYWxMaW5lO1xuXG4gICAgICAgIC8vIEl0ZXJhdGUgdW50aWwgZWl0aGVyIHdlIHJ1biBvdXQgb2YgbWFwcGluZ3MsIG9yIHdlIHJ1biBpbnRvXG4gICAgICAgIC8vIGEgbWFwcGluZyBmb3IgYSBkaWZmZXJlbnQgbGluZSB0aGFuIHRoZSBvbmUgd2UgZm91bmQuIFNpbmNlXG4gICAgICAgIC8vIG1hcHBpbmdzIGFyZSBzb3J0ZWQsIHRoaXMgaXMgZ3VhcmFudGVlZCB0byBmaW5kIGFsbCBtYXBwaW5ncyBmb3JcbiAgICAgICAgLy8gdGhlIGxpbmUgd2UgZm91bmQuXG4gICAgICAgIHdoaWxlIChtYXBwaW5nICYmIG1hcHBpbmcub3JpZ2luYWxMaW5lID09PSBvcmlnaW5hbExpbmUpIHtcbiAgICAgICAgICBtYXBwaW5ncy5wdXNoKHtcbiAgICAgICAgICAgIGxpbmU6IHV0aWwuZ2V0QXJnKG1hcHBpbmcsICdnZW5lcmF0ZWRMaW5lJywgbnVsbCksXG4gICAgICAgICAgICBjb2x1bW46IHV0aWwuZ2V0QXJnKG1hcHBpbmcsICdnZW5lcmF0ZWRDb2x1bW4nLCBudWxsKSxcbiAgICAgICAgICAgIGxhc3RDb2x1bW46IHV0aWwuZ2V0QXJnKG1hcHBpbmcsICdsYXN0R2VuZXJhdGVkQ29sdW1uJywgbnVsbClcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIG1hcHBpbmcgPSB0aGlzLl9vcmlnaW5hbE1hcHBpbmdzWysraW5kZXhdO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgb3JpZ2luYWxDb2x1bW4gPSBtYXBwaW5nLm9yaWdpbmFsQ29sdW1uO1xuXG4gICAgICAgIC8vIEl0ZXJhdGUgdW50aWwgZWl0aGVyIHdlIHJ1biBvdXQgb2YgbWFwcGluZ3MsIG9yIHdlIHJ1biBpbnRvXG4gICAgICAgIC8vIGEgbWFwcGluZyBmb3IgYSBkaWZmZXJlbnQgbGluZSB0aGFuIHRoZSBvbmUgd2Ugd2VyZSBzZWFyY2hpbmcgZm9yLlxuICAgICAgICAvLyBTaW5jZSBtYXBwaW5ncyBhcmUgc29ydGVkLCB0aGlzIGlzIGd1YXJhbnRlZWQgdG8gZmluZCBhbGwgbWFwcGluZ3MgZm9yXG4gICAgICAgIC8vIHRoZSBsaW5lIHdlIGFyZSBzZWFyY2hpbmcgZm9yLlxuICAgICAgICB3aGlsZSAobWFwcGluZyAmJlxuICAgICAgICAgICAgICAgbWFwcGluZy5vcmlnaW5hbExpbmUgPT09IGxpbmUgJiZcbiAgICAgICAgICAgICAgIG1hcHBpbmcub3JpZ2luYWxDb2x1bW4gPT0gb3JpZ2luYWxDb2x1bW4pIHtcbiAgICAgICAgICBtYXBwaW5ncy5wdXNoKHtcbiAgICAgICAgICAgIGxpbmU6IHV0aWwuZ2V0QXJnKG1hcHBpbmcsICdnZW5lcmF0ZWRMaW5lJywgbnVsbCksXG4gICAgICAgICAgICBjb2x1bW46IHV0aWwuZ2V0QXJnKG1hcHBpbmcsICdnZW5lcmF0ZWRDb2x1bW4nLCBudWxsKSxcbiAgICAgICAgICAgIGxhc3RDb2x1bW46IHV0aWwuZ2V0QXJnKG1hcHBpbmcsICdsYXN0R2VuZXJhdGVkQ29sdW1uJywgbnVsbClcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIG1hcHBpbmcgPSB0aGlzLl9vcmlnaW5hbE1hcHBpbmdzWysraW5kZXhdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hcHBpbmdzO1xuICB9O1xuXG5leHBvcnRzLlNvdXJjZU1hcENvbnN1bWVyID0gU291cmNlTWFwQ29uc3VtZXI7XG5cbi8qKlxuICogQSBCYXNpY1NvdXJjZU1hcENvbnN1bWVyIGluc3RhbmNlIHJlcHJlc2VudHMgYSBwYXJzZWQgc291cmNlIG1hcCB3aGljaCB3ZSBjYW5cbiAqIHF1ZXJ5IGZvciBpbmZvcm1hdGlvbiBhYm91dCB0aGUgb3JpZ2luYWwgZmlsZSBwb3NpdGlvbnMgYnkgZ2l2aW5nIGl0IGEgZmlsZVxuICogcG9zaXRpb24gaW4gdGhlIGdlbmVyYXRlZCBzb3VyY2UuXG4gKlxuICogVGhlIG9ubHkgcGFyYW1ldGVyIGlzIHRoZSByYXcgc291cmNlIG1hcCAoZWl0aGVyIGFzIGEgSlNPTiBzdHJpbmcsIG9yXG4gKiBhbHJlYWR5IHBhcnNlZCB0byBhbiBvYmplY3QpLiBBY2NvcmRpbmcgdG8gdGhlIHNwZWMsIHNvdXJjZSBtYXBzIGhhdmUgdGhlXG4gKiBmb2xsb3dpbmcgYXR0cmlidXRlczpcbiAqXG4gKiAgIC0gdmVyc2lvbjogV2hpY2ggdmVyc2lvbiBvZiB0aGUgc291cmNlIG1hcCBzcGVjIHRoaXMgbWFwIGlzIGZvbGxvd2luZy5cbiAqICAgLSBzb3VyY2VzOiBBbiBhcnJheSBvZiBVUkxzIHRvIHRoZSBvcmlnaW5hbCBzb3VyY2UgZmlsZXMuXG4gKiAgIC0gbmFtZXM6IEFuIGFycmF5IG9mIGlkZW50aWZpZXJzIHdoaWNoIGNhbiBiZSByZWZlcnJlbmNlZCBieSBpbmRpdmlkdWFsIG1hcHBpbmdzLlxuICogICAtIHNvdXJjZVJvb3Q6IE9wdGlvbmFsLiBUaGUgVVJMIHJvb3QgZnJvbSB3aGljaCBhbGwgc291cmNlcyBhcmUgcmVsYXRpdmUuXG4gKiAgIC0gc291cmNlc0NvbnRlbnQ6IE9wdGlvbmFsLiBBbiBhcnJheSBvZiBjb250ZW50cyBvZiB0aGUgb3JpZ2luYWwgc291cmNlIGZpbGVzLlxuICogICAtIG1hcHBpbmdzOiBBIHN0cmluZyBvZiBiYXNlNjQgVkxRcyB3aGljaCBjb250YWluIHRoZSBhY3R1YWwgbWFwcGluZ3MuXG4gKiAgIC0gZmlsZTogT3B0aW9uYWwuIFRoZSBnZW5lcmF0ZWQgZmlsZSB0aGlzIHNvdXJjZSBtYXAgaXMgYXNzb2NpYXRlZCB3aXRoLlxuICpcbiAqIEhlcmUgaXMgYW4gZXhhbXBsZSBzb3VyY2UgbWFwLCB0YWtlbiBmcm9tIHRoZSBzb3VyY2UgbWFwIHNwZWNbMF06XG4gKlxuICogICAgIHtcbiAqICAgICAgIHZlcnNpb24gOiAzLFxuICogICAgICAgZmlsZTogXCJvdXQuanNcIixcbiAqICAgICAgIHNvdXJjZVJvb3QgOiBcIlwiLFxuICogICAgICAgc291cmNlczogW1wiZm9vLmpzXCIsIFwiYmFyLmpzXCJdLFxuICogICAgICAgbmFtZXM6IFtcInNyY1wiLCBcIm1hcHNcIiwgXCJhcmVcIiwgXCJmdW5cIl0sXG4gKiAgICAgICBtYXBwaW5nczogXCJBQSxBQjs7QUJDREU7XCJcbiAqICAgICB9XG4gKlxuICogWzBdOiBodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzFVMVJHQWVoUXdSeXBVVG92RjFLUmxwaU9GemUwYi1fMmdjNmZBSDBLWTBrL2VkaXQ/cGxpPTEjXG4gKi9cbmZ1bmN0aW9uIEJhc2ljU291cmNlTWFwQ29uc3VtZXIoYVNvdXJjZU1hcCkge1xuICB2YXIgc291cmNlTWFwID0gYVNvdXJjZU1hcDtcbiAgaWYgKHR5cGVvZiBhU291cmNlTWFwID09PSAnc3RyaW5nJykge1xuICAgIHNvdXJjZU1hcCA9IEpTT04ucGFyc2UoYVNvdXJjZU1hcC5yZXBsYWNlKC9eXFwpXFxdXFx9Jy8sICcnKSk7XG4gIH1cblxuICB2YXIgdmVyc2lvbiA9IHV0aWwuZ2V0QXJnKHNvdXJjZU1hcCwgJ3ZlcnNpb24nKTtcbiAgdmFyIHNvdXJjZXMgPSB1dGlsLmdldEFyZyhzb3VyY2VNYXAsICdzb3VyY2VzJyk7XG4gIC8vIFNhc3MgMy4zIGxlYXZlcyBvdXQgdGhlICduYW1lcycgYXJyYXksIHNvIHdlIGRldmlhdGUgZnJvbSB0aGUgc3BlYyAod2hpY2hcbiAgLy8gcmVxdWlyZXMgdGhlIGFycmF5KSB0byBwbGF5IG5pY2UgaGVyZS5cbiAgdmFyIG5hbWVzID0gdXRpbC5nZXRBcmcoc291cmNlTWFwLCAnbmFtZXMnLCBbXSk7XG4gIHZhciBzb3VyY2VSb290ID0gdXRpbC5nZXRBcmcoc291cmNlTWFwLCAnc291cmNlUm9vdCcsIG51bGwpO1xuICB2YXIgc291cmNlc0NvbnRlbnQgPSB1dGlsLmdldEFyZyhzb3VyY2VNYXAsICdzb3VyY2VzQ29udGVudCcsIG51bGwpO1xuICB2YXIgbWFwcGluZ3MgPSB1dGlsLmdldEFyZyhzb3VyY2VNYXAsICdtYXBwaW5ncycpO1xuICB2YXIgZmlsZSA9IHV0aWwuZ2V0QXJnKHNvdXJjZU1hcCwgJ2ZpbGUnLCBudWxsKTtcblxuICAvLyBPbmNlIGFnYWluLCBTYXNzIGRldmlhdGVzIGZyb20gdGhlIHNwZWMgYW5kIHN1cHBsaWVzIHRoZSB2ZXJzaW9uIGFzIGFcbiAgLy8gc3RyaW5nIHJhdGhlciB0aGFuIGEgbnVtYmVyLCBzbyB3ZSB1c2UgbG9vc2UgZXF1YWxpdHkgY2hlY2tpbmcgaGVyZS5cbiAgaWYgKHZlcnNpb24gIT0gdGhpcy5fdmVyc2lvbikge1xuICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgdmVyc2lvbjogJyArIHZlcnNpb24pO1xuICB9XG5cbiAgc291cmNlcyA9IHNvdXJjZXNcbiAgICAubWFwKFN0cmluZylcbiAgICAvLyBTb21lIHNvdXJjZSBtYXBzIHByb2R1Y2UgcmVsYXRpdmUgc291cmNlIHBhdGhzIGxpa2UgXCIuL2Zvby5qc1wiIGluc3RlYWQgb2ZcbiAgICAvLyBcImZvby5qc1wiLiAgTm9ybWFsaXplIHRoZXNlIGZpcnN0IHNvIHRoYXQgZnV0dXJlIGNvbXBhcmlzb25zIHdpbGwgc3VjY2VlZC5cbiAgICAvLyBTZWUgYnVnemlsLmxhLzEwOTA3NjguXG4gICAgLm1hcCh1dGlsLm5vcm1hbGl6ZSlcbiAgICAvLyBBbHdheXMgZW5zdXJlIHRoYXQgYWJzb2x1dGUgc291cmNlcyBhcmUgaW50ZXJuYWxseSBzdG9yZWQgcmVsYXRpdmUgdG9cbiAgICAvLyB0aGUgc291cmNlIHJvb3QsIGlmIHRoZSBzb3VyY2Ugcm9vdCBpcyBhYnNvbHV0ZS4gTm90IGRvaW5nIHRoaXMgd291bGRcbiAgICAvLyBiZSBwYXJ0aWN1bGFybHkgcHJvYmxlbWF0aWMgd2hlbiB0aGUgc291cmNlIHJvb3QgaXMgYSBwcmVmaXggb2YgdGhlXG4gICAgLy8gc291cmNlICh2YWxpZCwgYnV0IHdoeT8/KS4gU2VlIGdpdGh1YiBpc3N1ZSAjMTk5IGFuZCBidWd6aWwubGEvMTE4ODk4Mi5cbiAgICAubWFwKGZ1bmN0aW9uIChzb3VyY2UpIHtcbiAgICAgIHJldHVybiBzb3VyY2VSb290ICYmIHV0aWwuaXNBYnNvbHV0ZShzb3VyY2VSb290KSAmJiB1dGlsLmlzQWJzb2x1dGUoc291cmNlKVxuICAgICAgICA/IHV0aWwucmVsYXRpdmUoc291cmNlUm9vdCwgc291cmNlKVxuICAgICAgICA6IHNvdXJjZTtcbiAgICB9KTtcblxuICAvLyBQYXNzIGB0cnVlYCBiZWxvdyB0byBhbGxvdyBkdXBsaWNhdGUgbmFtZXMgYW5kIHNvdXJjZXMuIFdoaWxlIHNvdXJjZSBtYXBzXG4gIC8vIGFyZSBpbnRlbmRlZCB0byBiZSBjb21wcmVzc2VkIGFuZCBkZWR1cGxpY2F0ZWQsIHRoZSBUeXBlU2NyaXB0IGNvbXBpbGVyXG4gIC8vIHNvbWV0aW1lcyBnZW5lcmF0ZXMgc291cmNlIG1hcHMgd2l0aCBkdXBsaWNhdGVzIGluIHRoZW0uIFNlZSBHaXRodWIgaXNzdWVcbiAgLy8gIzcyIGFuZCBidWd6aWwubGEvODg5NDkyLlxuICB0aGlzLl9uYW1lcyA9IEFycmF5U2V0LmZyb21BcnJheShuYW1lcy5tYXAoU3RyaW5nKSwgdHJ1ZSk7XG4gIHRoaXMuX3NvdXJjZXMgPSBBcnJheVNldC5mcm9tQXJyYXkoc291cmNlcywgdHJ1ZSk7XG5cbiAgdGhpcy5zb3VyY2VSb290ID0gc291cmNlUm9vdDtcbiAgdGhpcy5zb3VyY2VzQ29udGVudCA9IHNvdXJjZXNDb250ZW50O1xuICB0aGlzLl9tYXBwaW5ncyA9IG1hcHBpbmdzO1xuICB0aGlzLmZpbGUgPSBmaWxlO1xufVxuXG5CYXNpY1NvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlKTtcbkJhc2ljU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLmNvbnN1bWVyID0gU291cmNlTWFwQ29uc3VtZXI7XG5cbi8qKlxuICogQ3JlYXRlIGEgQmFzaWNTb3VyY2VNYXBDb25zdW1lciBmcm9tIGEgU291cmNlTWFwR2VuZXJhdG9yLlxuICpcbiAqIEBwYXJhbSBTb3VyY2VNYXBHZW5lcmF0b3IgYVNvdXJjZU1hcFxuICogICAgICAgIFRoZSBzb3VyY2UgbWFwIHRoYXQgd2lsbCBiZSBjb25zdW1lZC5cbiAqIEByZXR1cm5zIEJhc2ljU291cmNlTWFwQ29uc3VtZXJcbiAqL1xuQmFzaWNTb3VyY2VNYXBDb25zdW1lci5mcm9tU291cmNlTWFwID1cbiAgZnVuY3Rpb24gU291cmNlTWFwQ29uc3VtZXJfZnJvbVNvdXJjZU1hcChhU291cmNlTWFwKSB7XG4gICAgdmFyIHNtYyA9IE9iamVjdC5jcmVhdGUoQmFzaWNTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUpO1xuXG4gICAgdmFyIG5hbWVzID0gc21jLl9uYW1lcyA9IEFycmF5U2V0LmZyb21BcnJheShhU291cmNlTWFwLl9uYW1lcy50b0FycmF5KCksIHRydWUpO1xuICAgIHZhciBzb3VyY2VzID0gc21jLl9zb3VyY2VzID0gQXJyYXlTZXQuZnJvbUFycmF5KGFTb3VyY2VNYXAuX3NvdXJjZXMudG9BcnJheSgpLCB0cnVlKTtcbiAgICBzbWMuc291cmNlUm9vdCA9IGFTb3VyY2VNYXAuX3NvdXJjZVJvb3Q7XG4gICAgc21jLnNvdXJjZXNDb250ZW50ID0gYVNvdXJjZU1hcC5fZ2VuZXJhdGVTb3VyY2VzQ29udGVudChzbWMuX3NvdXJjZXMudG9BcnJheSgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc21jLnNvdXJjZVJvb3QpO1xuICAgIHNtYy5maWxlID0gYVNvdXJjZU1hcC5fZmlsZTtcblxuICAgIC8vIEJlY2F1c2Ugd2UgYXJlIG1vZGlmeWluZyB0aGUgZW50cmllcyAoYnkgY29udmVydGluZyBzdHJpbmcgc291cmNlcyBhbmRcbiAgICAvLyBuYW1lcyB0byBpbmRpY2VzIGludG8gdGhlIHNvdXJjZXMgYW5kIG5hbWVzIEFycmF5U2V0cyksIHdlIGhhdmUgdG8gbWFrZVxuICAgIC8vIGEgY29weSBvZiB0aGUgZW50cnkgb3IgZWxzZSBiYWQgdGhpbmdzIGhhcHBlbi4gU2hhcmVkIG11dGFibGUgc3RhdGVcbiAgICAvLyBzdHJpa2VzIGFnYWluISBTZWUgZ2l0aHViIGlzc3VlICMxOTEuXG5cbiAgICB2YXIgZ2VuZXJhdGVkTWFwcGluZ3MgPSBhU291cmNlTWFwLl9tYXBwaW5ncy50b0FycmF5KCkuc2xpY2UoKTtcbiAgICB2YXIgZGVzdEdlbmVyYXRlZE1hcHBpbmdzID0gc21jLl9fZ2VuZXJhdGVkTWFwcGluZ3MgPSBbXTtcbiAgICB2YXIgZGVzdE9yaWdpbmFsTWFwcGluZ3MgPSBzbWMuX19vcmlnaW5hbE1hcHBpbmdzID0gW107XG5cbiAgICBmb3IgKHZhciBpID0gMCwgbGVuZ3RoID0gZ2VuZXJhdGVkTWFwcGluZ3MubGVuZ3RoOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBzcmNNYXBwaW5nID0gZ2VuZXJhdGVkTWFwcGluZ3NbaV07XG4gICAgICB2YXIgZGVzdE1hcHBpbmcgPSBuZXcgTWFwcGluZztcbiAgICAgIGRlc3RNYXBwaW5nLmdlbmVyYXRlZExpbmUgPSBzcmNNYXBwaW5nLmdlbmVyYXRlZExpbmU7XG4gICAgICBkZXN0TWFwcGluZy5nZW5lcmF0ZWRDb2x1bW4gPSBzcmNNYXBwaW5nLmdlbmVyYXRlZENvbHVtbjtcblxuICAgICAgaWYgKHNyY01hcHBpbmcuc291cmNlKSB7XG4gICAgICAgIGRlc3RNYXBwaW5nLnNvdXJjZSA9IHNvdXJjZXMuaW5kZXhPZihzcmNNYXBwaW5nLnNvdXJjZSk7XG4gICAgICAgIGRlc3RNYXBwaW5nLm9yaWdpbmFsTGluZSA9IHNyY01hcHBpbmcub3JpZ2luYWxMaW5lO1xuICAgICAgICBkZXN0TWFwcGluZy5vcmlnaW5hbENvbHVtbiA9IHNyY01hcHBpbmcub3JpZ2luYWxDb2x1bW47XG5cbiAgICAgICAgaWYgKHNyY01hcHBpbmcubmFtZSkge1xuICAgICAgICAgIGRlc3RNYXBwaW5nLm5hbWUgPSBuYW1lcy5pbmRleE9mKHNyY01hcHBpbmcubmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICBkZXN0T3JpZ2luYWxNYXBwaW5ncy5wdXNoKGRlc3RNYXBwaW5nKTtcbiAgICAgIH1cblxuICAgICAgZGVzdEdlbmVyYXRlZE1hcHBpbmdzLnB1c2goZGVzdE1hcHBpbmcpO1xuICAgIH1cblxuICAgIHF1aWNrU29ydChzbWMuX19vcmlnaW5hbE1hcHBpbmdzLCB1dGlsLmNvbXBhcmVCeU9yaWdpbmFsUG9zaXRpb25zKTtcblxuICAgIHJldHVybiBzbWM7XG4gIH07XG5cbi8qKlxuICogVGhlIHZlcnNpb24gb2YgdGhlIHNvdXJjZSBtYXBwaW5nIHNwZWMgdGhhdCB3ZSBhcmUgY29uc3VtaW5nLlxuICovXG5CYXNpY1NvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5fdmVyc2lvbiA9IDM7XG5cbi8qKlxuICogVGhlIGxpc3Qgb2Ygb3JpZ2luYWwgc291cmNlcy5cbiAqL1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KEJhc2ljU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLCAnc291cmNlcycsIHtcbiAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NvdXJjZXMudG9BcnJheSgpLm1hcChmdW5jdGlvbiAocykge1xuICAgICAgcmV0dXJuIHRoaXMuc291cmNlUm9vdCAhPSBudWxsID8gdXRpbC5qb2luKHRoaXMuc291cmNlUm9vdCwgcykgOiBzO1xuICAgIH0sIHRoaXMpO1xuICB9XG59KTtcblxuLyoqXG4gKiBQcm92aWRlIHRoZSBKSVQgd2l0aCBhIG5pY2Ugc2hhcGUgLyBoaWRkZW4gY2xhc3MuXG4gKi9cbmZ1bmN0aW9uIE1hcHBpbmcoKSB7XG4gIHRoaXMuZ2VuZXJhdGVkTGluZSA9IDA7XG4gIHRoaXMuZ2VuZXJhdGVkQ29sdW1uID0gMDtcbiAgdGhpcy5zb3VyY2UgPSBudWxsO1xuICB0aGlzLm9yaWdpbmFsTGluZSA9IG51bGw7XG4gIHRoaXMub3JpZ2luYWxDb2x1bW4gPSBudWxsO1xuICB0aGlzLm5hbWUgPSBudWxsO1xufVxuXG4vKipcbiAqIFBhcnNlIHRoZSBtYXBwaW5ncyBpbiBhIHN0cmluZyBpbiB0byBhIGRhdGEgc3RydWN0dXJlIHdoaWNoIHdlIGNhbiBlYXNpbHlcbiAqIHF1ZXJ5ICh0aGUgb3JkZXJlZCBhcnJheXMgaW4gdGhlIGB0aGlzLl9fZ2VuZXJhdGVkTWFwcGluZ3NgIGFuZFxuICogYHRoaXMuX19vcmlnaW5hbE1hcHBpbmdzYCBwcm9wZXJ0aWVzKS5cbiAqL1xuQmFzaWNTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuX3BhcnNlTWFwcGluZ3MgPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBDb25zdW1lcl9wYXJzZU1hcHBpbmdzKGFTdHIsIGFTb3VyY2VSb290KSB7XG4gICAgdmFyIGdlbmVyYXRlZExpbmUgPSAxO1xuICAgIHZhciBwcmV2aW91c0dlbmVyYXRlZENvbHVtbiA9IDA7XG4gICAgdmFyIHByZXZpb3VzT3JpZ2luYWxMaW5lID0gMDtcbiAgICB2YXIgcHJldmlvdXNPcmlnaW5hbENvbHVtbiA9IDA7XG4gICAgdmFyIHByZXZpb3VzU291cmNlID0gMDtcbiAgICB2YXIgcHJldmlvdXNOYW1lID0gMDtcbiAgICB2YXIgbGVuZ3RoID0gYVN0ci5sZW5ndGg7XG4gICAgdmFyIGluZGV4ID0gMDtcbiAgICB2YXIgY2FjaGVkU2VnbWVudHMgPSB7fTtcbiAgICB2YXIgdGVtcCA9IHt9O1xuICAgIHZhciBvcmlnaW5hbE1hcHBpbmdzID0gW107XG4gICAgdmFyIGdlbmVyYXRlZE1hcHBpbmdzID0gW107XG4gICAgdmFyIG1hcHBpbmcsIHN0ciwgc2VnbWVudCwgZW5kLCB2YWx1ZTtcblxuICAgIHdoaWxlIChpbmRleCA8IGxlbmd0aCkge1xuICAgICAgaWYgKGFTdHIuY2hhckF0KGluZGV4KSA9PT0gJzsnKSB7XG4gICAgICAgIGdlbmVyYXRlZExpbmUrKztcbiAgICAgICAgaW5kZXgrKztcbiAgICAgICAgcHJldmlvdXNHZW5lcmF0ZWRDb2x1bW4gPSAwO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAoYVN0ci5jaGFyQXQoaW5kZXgpID09PSAnLCcpIHtcbiAgICAgICAgaW5kZXgrKztcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBtYXBwaW5nID0gbmV3IE1hcHBpbmcoKTtcbiAgICAgICAgbWFwcGluZy5nZW5lcmF0ZWRMaW5lID0gZ2VuZXJhdGVkTGluZTtcblxuICAgICAgICAvLyBCZWNhdXNlIGVhY2ggb2Zmc2V0IGlzIGVuY29kZWQgcmVsYXRpdmUgdG8gdGhlIHByZXZpb3VzIG9uZSxcbiAgICAgICAgLy8gbWFueSBzZWdtZW50cyBvZnRlbiBoYXZlIHRoZSBzYW1lIGVuY29kaW5nLiBXZSBjYW4gZXhwbG9pdCB0aGlzXG4gICAgICAgIC8vIGZhY3QgYnkgY2FjaGluZyB0aGUgcGFyc2VkIHZhcmlhYmxlIGxlbmd0aCBmaWVsZHMgb2YgZWFjaCBzZWdtZW50LFxuICAgICAgICAvLyBhbGxvd2luZyB1cyB0byBhdm9pZCBhIHNlY29uZCBwYXJzZSBpZiB3ZSBlbmNvdW50ZXIgdGhlIHNhbWVcbiAgICAgICAgLy8gc2VnbWVudCBhZ2Fpbi5cbiAgICAgICAgZm9yIChlbmQgPSBpbmRleDsgZW5kIDwgbGVuZ3RoOyBlbmQrKykge1xuICAgICAgICAgIGlmICh0aGlzLl9jaGFySXNNYXBwaW5nU2VwYXJhdG9yKGFTdHIsIGVuZCkpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzdHIgPSBhU3RyLnNsaWNlKGluZGV4LCBlbmQpO1xuXG4gICAgICAgIHNlZ21lbnQgPSBjYWNoZWRTZWdtZW50c1tzdHJdO1xuICAgICAgICBpZiAoc2VnbWVudCkge1xuICAgICAgICAgIGluZGV4ICs9IHN0ci5sZW5ndGg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc2VnbWVudCA9IFtdO1xuICAgICAgICAgIHdoaWxlIChpbmRleCA8IGVuZCkge1xuICAgICAgICAgICAgYmFzZTY0VkxRLmRlY29kZShhU3RyLCBpbmRleCwgdGVtcCk7XG4gICAgICAgICAgICB2YWx1ZSA9IHRlbXAudmFsdWU7XG4gICAgICAgICAgICBpbmRleCA9IHRlbXAucmVzdDtcbiAgICAgICAgICAgIHNlZ21lbnQucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHNlZ21lbnQubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZvdW5kIGEgc291cmNlLCBidXQgbm8gbGluZSBhbmQgY29sdW1uJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHNlZ21lbnQubGVuZ3RoID09PSAzKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZvdW5kIGEgc291cmNlIGFuZCBsaW5lLCBidXQgbm8gY29sdW1uJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FjaGVkU2VnbWVudHNbc3RyXSA9IHNlZ21lbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBHZW5lcmF0ZWQgY29sdW1uLlxuICAgICAgICBtYXBwaW5nLmdlbmVyYXRlZENvbHVtbiA9IHByZXZpb3VzR2VuZXJhdGVkQ29sdW1uICsgc2VnbWVudFswXTtcbiAgICAgICAgcHJldmlvdXNHZW5lcmF0ZWRDb2x1bW4gPSBtYXBwaW5nLmdlbmVyYXRlZENvbHVtbjtcblxuICAgICAgICBpZiAoc2VnbWVudC5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgLy8gT3JpZ2luYWwgc291cmNlLlxuICAgICAgICAgIG1hcHBpbmcuc291cmNlID0gcHJldmlvdXNTb3VyY2UgKyBzZWdtZW50WzFdO1xuICAgICAgICAgIHByZXZpb3VzU291cmNlICs9IHNlZ21lbnRbMV07XG5cbiAgICAgICAgICAvLyBPcmlnaW5hbCBsaW5lLlxuICAgICAgICAgIG1hcHBpbmcub3JpZ2luYWxMaW5lID0gcHJldmlvdXNPcmlnaW5hbExpbmUgKyBzZWdtZW50WzJdO1xuICAgICAgICAgIHByZXZpb3VzT3JpZ2luYWxMaW5lID0gbWFwcGluZy5vcmlnaW5hbExpbmU7XG4gICAgICAgICAgLy8gTGluZXMgYXJlIHN0b3JlZCAwLWJhc2VkXG4gICAgICAgICAgbWFwcGluZy5vcmlnaW5hbExpbmUgKz0gMTtcblxuICAgICAgICAgIC8vIE9yaWdpbmFsIGNvbHVtbi5cbiAgICAgICAgICBtYXBwaW5nLm9yaWdpbmFsQ29sdW1uID0gcHJldmlvdXNPcmlnaW5hbENvbHVtbiArIHNlZ21lbnRbM107XG4gICAgICAgICAgcHJldmlvdXNPcmlnaW5hbENvbHVtbiA9IG1hcHBpbmcub3JpZ2luYWxDb2x1bW47XG5cbiAgICAgICAgICBpZiAoc2VnbWVudC5sZW5ndGggPiA0KSB7XG4gICAgICAgICAgICAvLyBPcmlnaW5hbCBuYW1lLlxuICAgICAgICAgICAgbWFwcGluZy5uYW1lID0gcHJldmlvdXNOYW1lICsgc2VnbWVudFs0XTtcbiAgICAgICAgICAgIHByZXZpb3VzTmFtZSArPSBzZWdtZW50WzRdO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGdlbmVyYXRlZE1hcHBpbmdzLnB1c2gobWFwcGluZyk7XG4gICAgICAgIGlmICh0eXBlb2YgbWFwcGluZy5vcmlnaW5hbExpbmUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgb3JpZ2luYWxNYXBwaW5ncy5wdXNoKG1hcHBpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcXVpY2tTb3J0KGdlbmVyYXRlZE1hcHBpbmdzLCB1dGlsLmNvbXBhcmVCeUdlbmVyYXRlZFBvc2l0aW9uc0RlZmxhdGVkKTtcbiAgICB0aGlzLl9fZ2VuZXJhdGVkTWFwcGluZ3MgPSBnZW5lcmF0ZWRNYXBwaW5ncztcblxuICAgIHF1aWNrU29ydChvcmlnaW5hbE1hcHBpbmdzLCB1dGlsLmNvbXBhcmVCeU9yaWdpbmFsUG9zaXRpb25zKTtcbiAgICB0aGlzLl9fb3JpZ2luYWxNYXBwaW5ncyA9IG9yaWdpbmFsTWFwcGluZ3M7XG4gIH07XG5cbi8qKlxuICogRmluZCB0aGUgbWFwcGluZyB0aGF0IGJlc3QgbWF0Y2hlcyB0aGUgaHlwb3RoZXRpY2FsIFwibmVlZGxlXCIgbWFwcGluZyB0aGF0XG4gKiB3ZSBhcmUgc2VhcmNoaW5nIGZvciBpbiB0aGUgZ2l2ZW4gXCJoYXlzdGFja1wiIG9mIG1hcHBpbmdzLlxuICovXG5CYXNpY1NvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5fZmluZE1hcHBpbmcgPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBDb25zdW1lcl9maW5kTWFwcGluZyhhTmVlZGxlLCBhTWFwcGluZ3MsIGFMaW5lTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYUNvbHVtbk5hbWUsIGFDb21wYXJhdG9yLCBhQmlhcykge1xuICAgIC8vIFRvIHJldHVybiB0aGUgcG9zaXRpb24gd2UgYXJlIHNlYXJjaGluZyBmb3IsIHdlIG11c3QgZmlyc3QgZmluZCB0aGVcbiAgICAvLyBtYXBwaW5nIGZvciB0aGUgZ2l2ZW4gcG9zaXRpb24gYW5kIHRoZW4gcmV0dXJuIHRoZSBvcHBvc2l0ZSBwb3NpdGlvbiBpdFxuICAgIC8vIHBvaW50cyB0by4gQmVjYXVzZSB0aGUgbWFwcGluZ3MgYXJlIHNvcnRlZCwgd2UgY2FuIHVzZSBiaW5hcnkgc2VhcmNoIHRvXG4gICAgLy8gZmluZCB0aGUgYmVzdCBtYXBwaW5nLlxuXG4gICAgaWYgKGFOZWVkbGVbYUxpbmVOYW1lXSA8PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdMaW5lIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEsIGdvdCAnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICsgYU5lZWRsZVthTGluZU5hbWVdKTtcbiAgICB9XG4gICAgaWYgKGFOZWVkbGVbYUNvbHVtbk5hbWVdIDwgMCkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignQ29sdW1uIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDAsIGdvdCAnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICsgYU5lZWRsZVthQ29sdW1uTmFtZV0pO1xuICAgIH1cblxuICAgIHJldHVybiBiaW5hcnlTZWFyY2guc2VhcmNoKGFOZWVkbGUsIGFNYXBwaW5ncywgYUNvbXBhcmF0b3IsIGFCaWFzKTtcbiAgfTtcblxuLyoqXG4gKiBDb21wdXRlIHRoZSBsYXN0IGNvbHVtbiBmb3IgZWFjaCBnZW5lcmF0ZWQgbWFwcGluZy4gVGhlIGxhc3QgY29sdW1uIGlzXG4gKiBpbmNsdXNpdmUuXG4gKi9cbkJhc2ljU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLmNvbXB1dGVDb2x1bW5TcGFucyA9XG4gIGZ1bmN0aW9uIFNvdXJjZU1hcENvbnN1bWVyX2NvbXB1dGVDb2x1bW5TcGFucygpIHtcbiAgICBmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgdGhpcy5fZ2VuZXJhdGVkTWFwcGluZ3MubGVuZ3RoOyArK2luZGV4KSB7XG4gICAgICB2YXIgbWFwcGluZyA9IHRoaXMuX2dlbmVyYXRlZE1hcHBpbmdzW2luZGV4XTtcblxuICAgICAgLy8gTWFwcGluZ3MgZG8gbm90IGNvbnRhaW4gYSBmaWVsZCBmb3IgdGhlIGxhc3QgZ2VuZXJhdGVkIGNvbHVtbnQuIFdlXG4gICAgICAvLyBjYW4gY29tZSB1cCB3aXRoIGFuIG9wdGltaXN0aWMgZXN0aW1hdGUsIGhvd2V2ZXIsIGJ5IGFzc3VtaW5nIHRoYXRcbiAgICAgIC8vIG1hcHBpbmdzIGFyZSBjb250aWd1b3VzIChpLmUuIGdpdmVuIHR3byBjb25zZWN1dGl2ZSBtYXBwaW5ncywgdGhlXG4gICAgICAvLyBmaXJzdCBtYXBwaW5nIGVuZHMgd2hlcmUgdGhlIHNlY29uZCBvbmUgc3RhcnRzKS5cbiAgICAgIGlmIChpbmRleCArIDEgPCB0aGlzLl9nZW5lcmF0ZWRNYXBwaW5ncy5sZW5ndGgpIHtcbiAgICAgICAgdmFyIG5leHRNYXBwaW5nID0gdGhpcy5fZ2VuZXJhdGVkTWFwcGluZ3NbaW5kZXggKyAxXTtcblxuICAgICAgICBpZiAobWFwcGluZy5nZW5lcmF0ZWRMaW5lID09PSBuZXh0TWFwcGluZy5nZW5lcmF0ZWRMaW5lKSB7XG4gICAgICAgICAgbWFwcGluZy5sYXN0R2VuZXJhdGVkQ29sdW1uID0gbmV4dE1hcHBpbmcuZ2VuZXJhdGVkQ29sdW1uIC0gMTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBUaGUgbGFzdCBtYXBwaW5nIGZvciBlYWNoIGxpbmUgc3BhbnMgdGhlIGVudGlyZSBsaW5lLlxuICAgICAgbWFwcGluZy5sYXN0R2VuZXJhdGVkQ29sdW1uID0gSW5maW5pdHk7XG4gICAgfVxuICB9O1xuXG4vKipcbiAqIFJldHVybnMgdGhlIG9yaWdpbmFsIHNvdXJjZSwgbGluZSwgYW5kIGNvbHVtbiBpbmZvcm1hdGlvbiBmb3IgdGhlIGdlbmVyYXRlZFxuICogc291cmNlJ3MgbGluZSBhbmQgY29sdW1uIHBvc2l0aW9ucyBwcm92aWRlZC4gVGhlIG9ubHkgYXJndW1lbnQgaXMgYW4gb2JqZWN0XG4gKiB3aXRoIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczpcbiAqXG4gKiAgIC0gbGluZTogVGhlIGxpbmUgbnVtYmVyIGluIHRoZSBnZW5lcmF0ZWQgc291cmNlLlxuICogICAtIGNvbHVtbjogVGhlIGNvbHVtbiBudW1iZXIgaW4gdGhlIGdlbmVyYXRlZCBzb3VyY2UuXG4gKiAgIC0gYmlhczogRWl0aGVyICdTb3VyY2VNYXBDb25zdW1lci5HUkVBVEVTVF9MT1dFUl9CT1VORCcgb3JcbiAqICAgICAnU291cmNlTWFwQ29uc3VtZXIuTEVBU1RfVVBQRVJfQk9VTkQnLiBTcGVjaWZpZXMgd2hldGhlciB0byByZXR1cm4gdGhlXG4gKiAgICAgY2xvc2VzdCBlbGVtZW50IHRoYXQgaXMgc21hbGxlciB0aGFuIG9yIGdyZWF0ZXIgdGhhbiB0aGUgb25lIHdlIGFyZVxuICogICAgIHNlYXJjaGluZyBmb3IsIHJlc3BlY3RpdmVseSwgaWYgdGhlIGV4YWN0IGVsZW1lbnQgY2Fubm90IGJlIGZvdW5kLlxuICogICAgIERlZmF1bHRzIHRvICdTb3VyY2VNYXBDb25zdW1lci5HUkVBVEVTVF9MT1dFUl9CT1VORCcuXG4gKlxuICogYW5kIGFuIG9iamVjdCBpcyByZXR1cm5lZCB3aXRoIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczpcbiAqXG4gKiAgIC0gc291cmNlOiBUaGUgb3JpZ2luYWwgc291cmNlIGZpbGUsIG9yIG51bGwuXG4gKiAgIC0gbGluZTogVGhlIGxpbmUgbnVtYmVyIGluIHRoZSBvcmlnaW5hbCBzb3VyY2UsIG9yIG51bGwuXG4gKiAgIC0gY29sdW1uOiBUaGUgY29sdW1uIG51bWJlciBpbiB0aGUgb3JpZ2luYWwgc291cmNlLCBvciBudWxsLlxuICogICAtIG5hbWU6IFRoZSBvcmlnaW5hbCBpZGVudGlmaWVyLCBvciBudWxsLlxuICovXG5CYXNpY1NvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5vcmlnaW5hbFBvc2l0aW9uRm9yID1cbiAgZnVuY3Rpb24gU291cmNlTWFwQ29uc3VtZXJfb3JpZ2luYWxQb3NpdGlvbkZvcihhQXJncykge1xuICAgIHZhciBuZWVkbGUgPSB7XG4gICAgICBnZW5lcmF0ZWRMaW5lOiB1dGlsLmdldEFyZyhhQXJncywgJ2xpbmUnKSxcbiAgICAgIGdlbmVyYXRlZENvbHVtbjogdXRpbC5nZXRBcmcoYUFyZ3MsICdjb2x1bW4nKVxuICAgIH07XG5cbiAgICB2YXIgaW5kZXggPSB0aGlzLl9maW5kTWFwcGluZyhcbiAgICAgIG5lZWRsZSxcbiAgICAgIHRoaXMuX2dlbmVyYXRlZE1hcHBpbmdzLFxuICAgICAgXCJnZW5lcmF0ZWRMaW5lXCIsXG4gICAgICBcImdlbmVyYXRlZENvbHVtblwiLFxuICAgICAgdXRpbC5jb21wYXJlQnlHZW5lcmF0ZWRQb3NpdGlvbnNEZWZsYXRlZCxcbiAgICAgIHV0aWwuZ2V0QXJnKGFBcmdzLCAnYmlhcycsIFNvdXJjZU1hcENvbnN1bWVyLkdSRUFURVNUX0xPV0VSX0JPVU5EKVxuICAgICk7XG5cbiAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgdmFyIG1hcHBpbmcgPSB0aGlzLl9nZW5lcmF0ZWRNYXBwaW5nc1tpbmRleF07XG5cbiAgICAgIGlmIChtYXBwaW5nLmdlbmVyYXRlZExpbmUgPT09IG5lZWRsZS5nZW5lcmF0ZWRMaW5lKSB7XG4gICAgICAgIHZhciBzb3VyY2UgPSB1dGlsLmdldEFyZyhtYXBwaW5nLCAnc291cmNlJywgbnVsbCk7XG4gICAgICAgIGlmIChzb3VyY2UgIT09IG51bGwpIHtcbiAgICAgICAgICBzb3VyY2UgPSB0aGlzLl9zb3VyY2VzLmF0KHNvdXJjZSk7XG4gICAgICAgICAgaWYgKHRoaXMuc291cmNlUm9vdCAhPSBudWxsKSB7XG4gICAgICAgICAgICBzb3VyY2UgPSB1dGlsLmpvaW4odGhpcy5zb3VyY2VSb290LCBzb3VyY2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB2YXIgbmFtZSA9IHV0aWwuZ2V0QXJnKG1hcHBpbmcsICduYW1lJywgbnVsbCk7XG4gICAgICAgIGlmIChuYW1lICE9PSBudWxsKSB7XG4gICAgICAgICAgbmFtZSA9IHRoaXMuX25hbWVzLmF0KG5hbWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgc291cmNlOiBzb3VyY2UsXG4gICAgICAgICAgbGluZTogdXRpbC5nZXRBcmcobWFwcGluZywgJ29yaWdpbmFsTGluZScsIG51bGwpLFxuICAgICAgICAgIGNvbHVtbjogdXRpbC5nZXRBcmcobWFwcGluZywgJ29yaWdpbmFsQ29sdW1uJywgbnVsbCksXG4gICAgICAgICAgbmFtZTogbmFtZVxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBzb3VyY2U6IG51bGwsXG4gICAgICBsaW5lOiBudWxsLFxuICAgICAgY29sdW1uOiBudWxsLFxuICAgICAgbmFtZTogbnVsbFxuICAgIH07XG4gIH07XG5cbi8qKlxuICogUmV0dXJuIHRydWUgaWYgd2UgaGF2ZSB0aGUgc291cmNlIGNvbnRlbnQgZm9yIGV2ZXJ5IHNvdXJjZSBpbiB0aGUgc291cmNlXG4gKiBtYXAsIGZhbHNlIG90aGVyd2lzZS5cbiAqL1xuQmFzaWNTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuaGFzQ29udGVudHNPZkFsbFNvdXJjZXMgPVxuICBmdW5jdGlvbiBCYXNpY1NvdXJjZU1hcENvbnN1bWVyX2hhc0NvbnRlbnRzT2ZBbGxTb3VyY2VzKCkge1xuICAgIGlmICghdGhpcy5zb3VyY2VzQ29udGVudCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zb3VyY2VzQ29udGVudC5sZW5ndGggPj0gdGhpcy5fc291cmNlcy5zaXplKCkgJiZcbiAgICAgICF0aGlzLnNvdXJjZXNDb250ZW50LnNvbWUoZnVuY3Rpb24gKHNjKSB7IHJldHVybiBzYyA9PSBudWxsOyB9KTtcbiAgfTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBvcmlnaW5hbCBzb3VyY2UgY29udGVudC4gVGhlIG9ubHkgYXJndW1lbnQgaXMgdGhlIHVybCBvZiB0aGVcbiAqIG9yaWdpbmFsIHNvdXJjZSBmaWxlLiBSZXR1cm5zIG51bGwgaWYgbm8gb3JpZ2luYWwgc291cmNlIGNvbnRlbnQgaXNcbiAqIGF2YWlsYWJsZS5cbiAqL1xuQmFzaWNTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuc291cmNlQ29udGVudEZvciA9XG4gIGZ1bmN0aW9uIFNvdXJjZU1hcENvbnN1bWVyX3NvdXJjZUNvbnRlbnRGb3IoYVNvdXJjZSwgbnVsbE9uTWlzc2luZykge1xuICAgIGlmICghdGhpcy5zb3VyY2VzQ29udGVudCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc291cmNlUm9vdCAhPSBudWxsKSB7XG4gICAgICBhU291cmNlID0gdXRpbC5yZWxhdGl2ZSh0aGlzLnNvdXJjZVJvb3QsIGFTb3VyY2UpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9zb3VyY2VzLmhhcyhhU291cmNlKSkge1xuICAgICAgcmV0dXJuIHRoaXMuc291cmNlc0NvbnRlbnRbdGhpcy5fc291cmNlcy5pbmRleE9mKGFTb3VyY2UpXTtcbiAgICB9XG5cbiAgICB2YXIgdXJsO1xuICAgIGlmICh0aGlzLnNvdXJjZVJvb3QgIT0gbnVsbFxuICAgICAgICAmJiAodXJsID0gdXRpbC51cmxQYXJzZSh0aGlzLnNvdXJjZVJvb3QpKSkge1xuICAgICAgLy8gWFhYOiBmaWxlOi8vIFVSSXMgYW5kIGFic29sdXRlIHBhdGhzIGxlYWQgdG8gdW5leHBlY3RlZCBiZWhhdmlvciBmb3JcbiAgICAgIC8vIG1hbnkgdXNlcnMuIFdlIGNhbiBoZWxwIHRoZW0gb3V0IHdoZW4gdGhleSBleHBlY3QgZmlsZTovLyBVUklzIHRvXG4gICAgICAvLyBiZWhhdmUgbGlrZSBpdCB3b3VsZCBpZiB0aGV5IHdlcmUgcnVubmluZyBhIGxvY2FsIEhUVFAgc2VydmVyLiBTZWVcbiAgICAgIC8vIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTg4NTU5Ny5cbiAgICAgIHZhciBmaWxlVXJpQWJzUGF0aCA9IGFTb3VyY2UucmVwbGFjZSgvXmZpbGU6XFwvXFwvLywgXCJcIik7XG4gICAgICBpZiAodXJsLnNjaGVtZSA9PSBcImZpbGVcIlxuICAgICAgICAgICYmIHRoaXMuX3NvdXJjZXMuaGFzKGZpbGVVcmlBYnNQYXRoKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5zb3VyY2VzQ29udGVudFt0aGlzLl9zb3VyY2VzLmluZGV4T2YoZmlsZVVyaUFic1BhdGgpXVxuICAgICAgfVxuXG4gICAgICBpZiAoKCF1cmwucGF0aCB8fCB1cmwucGF0aCA9PSBcIi9cIilcbiAgICAgICAgICAmJiB0aGlzLl9zb3VyY2VzLmhhcyhcIi9cIiArIGFTb3VyY2UpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNvdXJjZXNDb250ZW50W3RoaXMuX3NvdXJjZXMuaW5kZXhPZihcIi9cIiArIGFTb3VyY2UpXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgcmVjdXJzaXZlbHkgZnJvbVxuICAgIC8vIEluZGV4ZWRTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuc291cmNlQ29udGVudEZvci4gSW4gdGhhdCBjYXNlLCB3ZVxuICAgIC8vIGRvbid0IHdhbnQgdG8gdGhyb3cgaWYgd2UgY2FuJ3QgZmluZCB0aGUgc291cmNlIC0gd2UganVzdCB3YW50IHRvXG4gICAgLy8gcmV0dXJuIG51bGwsIHNvIHdlIHByb3ZpZGUgYSBmbGFnIHRvIGV4aXQgZ3JhY2VmdWxseS5cbiAgICBpZiAobnVsbE9uTWlzc2luZykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdcIicgKyBhU291cmNlICsgJ1wiIGlzIG5vdCBpbiB0aGUgU291cmNlTWFwLicpO1xuICAgIH1cbiAgfTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBnZW5lcmF0ZWQgbGluZSBhbmQgY29sdW1uIGluZm9ybWF0aW9uIGZvciB0aGUgb3JpZ2luYWwgc291cmNlLFxuICogbGluZSwgYW5kIGNvbHVtbiBwb3NpdGlvbnMgcHJvdmlkZWQuIFRoZSBvbmx5IGFyZ3VtZW50IGlzIGFuIG9iamVjdCB3aXRoXG4gKiB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gKlxuICogICAtIHNvdXJjZTogVGhlIGZpbGVuYW1lIG9mIHRoZSBvcmlnaW5hbCBzb3VyY2UuXG4gKiAgIC0gbGluZTogVGhlIGxpbmUgbnVtYmVyIGluIHRoZSBvcmlnaW5hbCBzb3VyY2UuXG4gKiAgIC0gY29sdW1uOiBUaGUgY29sdW1uIG51bWJlciBpbiB0aGUgb3JpZ2luYWwgc291cmNlLlxuICogICAtIGJpYXM6IEVpdGhlciAnU291cmNlTWFwQ29uc3VtZXIuR1JFQVRFU1RfTE9XRVJfQk9VTkQnIG9yXG4gKiAgICAgJ1NvdXJjZU1hcENvbnN1bWVyLkxFQVNUX1VQUEVSX0JPVU5EJy4gU3BlY2lmaWVzIHdoZXRoZXIgdG8gcmV0dXJuIHRoZVxuICogICAgIGNsb3Nlc3QgZWxlbWVudCB0aGF0IGlzIHNtYWxsZXIgdGhhbiBvciBncmVhdGVyIHRoYW4gdGhlIG9uZSB3ZSBhcmVcbiAqICAgICBzZWFyY2hpbmcgZm9yLCByZXNwZWN0aXZlbHksIGlmIHRoZSBleGFjdCBlbGVtZW50IGNhbm5vdCBiZSBmb3VuZC5cbiAqICAgICBEZWZhdWx0cyB0byAnU291cmNlTWFwQ29uc3VtZXIuR1JFQVRFU1RfTE9XRVJfQk9VTkQnLlxuICpcbiAqIGFuZCBhbiBvYmplY3QgaXMgcmV0dXJuZWQgd2l0aCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gKlxuICogICAtIGxpbmU6IFRoZSBsaW5lIG51bWJlciBpbiB0aGUgZ2VuZXJhdGVkIHNvdXJjZSwgb3IgbnVsbC5cbiAqICAgLSBjb2x1bW46IFRoZSBjb2x1bW4gbnVtYmVyIGluIHRoZSBnZW5lcmF0ZWQgc291cmNlLCBvciBudWxsLlxuICovXG5CYXNpY1NvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5nZW5lcmF0ZWRQb3NpdGlvbkZvciA9XG4gIGZ1bmN0aW9uIFNvdXJjZU1hcENvbnN1bWVyX2dlbmVyYXRlZFBvc2l0aW9uRm9yKGFBcmdzKSB7XG4gICAgdmFyIHNvdXJjZSA9IHV0aWwuZ2V0QXJnKGFBcmdzLCAnc291cmNlJyk7XG4gICAgaWYgKHRoaXMuc291cmNlUm9vdCAhPSBudWxsKSB7XG4gICAgICBzb3VyY2UgPSB1dGlsLnJlbGF0aXZlKHRoaXMuc291cmNlUm9vdCwgc291cmNlKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl9zb3VyY2VzLmhhcyhzb3VyY2UpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBsaW5lOiBudWxsLFxuICAgICAgICBjb2x1bW46IG51bGwsXG4gICAgICAgIGxhc3RDb2x1bW46IG51bGxcbiAgICAgIH07XG4gICAgfVxuICAgIHNvdXJjZSA9IHRoaXMuX3NvdXJjZXMuaW5kZXhPZihzb3VyY2UpO1xuXG4gICAgdmFyIG5lZWRsZSA9IHtcbiAgICAgIHNvdXJjZTogc291cmNlLFxuICAgICAgb3JpZ2luYWxMaW5lOiB1dGlsLmdldEFyZyhhQXJncywgJ2xpbmUnKSxcbiAgICAgIG9yaWdpbmFsQ29sdW1uOiB1dGlsLmdldEFyZyhhQXJncywgJ2NvbHVtbicpXG4gICAgfTtcblxuICAgIHZhciBpbmRleCA9IHRoaXMuX2ZpbmRNYXBwaW5nKFxuICAgICAgbmVlZGxlLFxuICAgICAgdGhpcy5fb3JpZ2luYWxNYXBwaW5ncyxcbiAgICAgIFwib3JpZ2luYWxMaW5lXCIsXG4gICAgICBcIm9yaWdpbmFsQ29sdW1uXCIsXG4gICAgICB1dGlsLmNvbXBhcmVCeU9yaWdpbmFsUG9zaXRpb25zLFxuICAgICAgdXRpbC5nZXRBcmcoYUFyZ3MsICdiaWFzJywgU291cmNlTWFwQ29uc3VtZXIuR1JFQVRFU1RfTE9XRVJfQk9VTkQpXG4gICAgKTtcblxuICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICB2YXIgbWFwcGluZyA9IHRoaXMuX29yaWdpbmFsTWFwcGluZ3NbaW5kZXhdO1xuXG4gICAgICBpZiAobWFwcGluZy5zb3VyY2UgPT09IG5lZWRsZS5zb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBsaW5lOiB1dGlsLmdldEFyZyhtYXBwaW5nLCAnZ2VuZXJhdGVkTGluZScsIG51bGwpLFxuICAgICAgICAgIGNvbHVtbjogdXRpbC5nZXRBcmcobWFwcGluZywgJ2dlbmVyYXRlZENvbHVtbicsIG51bGwpLFxuICAgICAgICAgIGxhc3RDb2x1bW46IHV0aWwuZ2V0QXJnKG1hcHBpbmcsICdsYXN0R2VuZXJhdGVkQ29sdW1uJywgbnVsbClcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgbGluZTogbnVsbCxcbiAgICAgIGNvbHVtbjogbnVsbCxcbiAgICAgIGxhc3RDb2x1bW46IG51bGxcbiAgICB9O1xuICB9O1xuXG5leHBvcnRzLkJhc2ljU291cmNlTWFwQ29uc3VtZXIgPSBCYXNpY1NvdXJjZU1hcENvbnN1bWVyO1xuXG4vKipcbiAqIEFuIEluZGV4ZWRTb3VyY2VNYXBDb25zdW1lciBpbnN0YW5jZSByZXByZXNlbnRzIGEgcGFyc2VkIHNvdXJjZSBtYXAgd2hpY2hcbiAqIHdlIGNhbiBxdWVyeSBmb3IgaW5mb3JtYXRpb24uIEl0IGRpZmZlcnMgZnJvbSBCYXNpY1NvdXJjZU1hcENvbnN1bWVyIGluXG4gKiB0aGF0IGl0IHRha2VzIFwiaW5kZXhlZFwiIHNvdXJjZSBtYXBzIChpLmUuIG9uZXMgd2l0aCBhIFwic2VjdGlvbnNcIiBmaWVsZCkgYXNcbiAqIGlucHV0LlxuICpcbiAqIFRoZSBvbmx5IHBhcmFtZXRlciBpcyBhIHJhdyBzb3VyY2UgbWFwIChlaXRoZXIgYXMgYSBKU09OIHN0cmluZywgb3IgYWxyZWFkeVxuICogcGFyc2VkIHRvIGFuIG9iamVjdCkuIEFjY29yZGluZyB0byB0aGUgc3BlYyBmb3IgaW5kZXhlZCBzb3VyY2UgbWFwcywgdGhleVxuICogaGF2ZSB0aGUgZm9sbG93aW5nIGF0dHJpYnV0ZXM6XG4gKlxuICogICAtIHZlcnNpb246IFdoaWNoIHZlcnNpb24gb2YgdGhlIHNvdXJjZSBtYXAgc3BlYyB0aGlzIG1hcCBpcyBmb2xsb3dpbmcuXG4gKiAgIC0gZmlsZTogT3B0aW9uYWwuIFRoZSBnZW5lcmF0ZWQgZmlsZSB0aGlzIHNvdXJjZSBtYXAgaXMgYXNzb2NpYXRlZCB3aXRoLlxuICogICAtIHNlY3Rpb25zOiBBIGxpc3Qgb2Ygc2VjdGlvbiBkZWZpbml0aW9ucy5cbiAqXG4gKiBFYWNoIHZhbHVlIHVuZGVyIHRoZSBcInNlY3Rpb25zXCIgZmllbGQgaGFzIHR3byBmaWVsZHM6XG4gKiAgIC0gb2Zmc2V0OiBUaGUgb2Zmc2V0IGludG8gdGhlIG9yaWdpbmFsIHNwZWNpZmllZCBhdCB3aGljaCB0aGlzIHNlY3Rpb25cbiAqICAgICAgIGJlZ2lucyB0byBhcHBseSwgZGVmaW5lZCBhcyBhbiBvYmplY3Qgd2l0aCBhIFwibGluZVwiIGFuZCBcImNvbHVtblwiXG4gKiAgICAgICBmaWVsZC5cbiAqICAgLSBtYXA6IEEgc291cmNlIG1hcCBkZWZpbml0aW9uLiBUaGlzIHNvdXJjZSBtYXAgY291bGQgYWxzbyBiZSBpbmRleGVkLFxuICogICAgICAgYnV0IGRvZXNuJ3QgaGF2ZSB0byBiZS5cbiAqXG4gKiBJbnN0ZWFkIG9mIHRoZSBcIm1hcFwiIGZpZWxkLCBpdCdzIGFsc28gcG9zc2libGUgdG8gaGF2ZSBhIFwidXJsXCIgZmllbGRcbiAqIHNwZWNpZnlpbmcgYSBVUkwgdG8gcmV0cmlldmUgYSBzb3VyY2UgbWFwIGZyb20sIGJ1dCB0aGF0J3MgY3VycmVudGx5XG4gKiB1bnN1cHBvcnRlZC5cbiAqXG4gKiBIZXJlJ3MgYW4gZXhhbXBsZSBzb3VyY2UgbWFwLCB0YWtlbiBmcm9tIHRoZSBzb3VyY2UgbWFwIHNwZWNbMF0sIGJ1dFxuICogbW9kaWZpZWQgdG8gb21pdCBhIHNlY3Rpb24gd2hpY2ggdXNlcyB0aGUgXCJ1cmxcIiBmaWVsZC5cbiAqXG4gKiAge1xuICogICAgdmVyc2lvbiA6IDMsXG4gKiAgICBmaWxlOiBcImFwcC5qc1wiLFxuICogICAgc2VjdGlvbnM6IFt7XG4gKiAgICAgIG9mZnNldDoge2xpbmU6MTAwLCBjb2x1bW46MTB9LFxuICogICAgICBtYXA6IHtcbiAqICAgICAgICB2ZXJzaW9uIDogMyxcbiAqICAgICAgICBmaWxlOiBcInNlY3Rpb24uanNcIixcbiAqICAgICAgICBzb3VyY2VzOiBbXCJmb28uanNcIiwgXCJiYXIuanNcIl0sXG4gKiAgICAgICAgbmFtZXM6IFtcInNyY1wiLCBcIm1hcHNcIiwgXCJhcmVcIiwgXCJmdW5cIl0sXG4gKiAgICAgICAgbWFwcGluZ3M6IFwiQUFBQSxFOztBQkNERTtcIlxuICogICAgICB9XG4gKiAgICB9XSxcbiAqICB9XG4gKlxuICogWzBdOiBodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzFVMVJHQWVoUXdSeXBVVG92RjFLUmxwaU9GemUwYi1fMmdjNmZBSDBLWTBrL2VkaXQjaGVhZGluZz1oLjUzNWVzM3hlcHJndFxuICovXG5mdW5jdGlvbiBJbmRleGVkU291cmNlTWFwQ29uc3VtZXIoYVNvdXJjZU1hcCkge1xuICB2YXIgc291cmNlTWFwID0gYVNvdXJjZU1hcDtcbiAgaWYgKHR5cGVvZiBhU291cmNlTWFwID09PSAnc3RyaW5nJykge1xuICAgIHNvdXJjZU1hcCA9IEpTT04ucGFyc2UoYVNvdXJjZU1hcC5yZXBsYWNlKC9eXFwpXFxdXFx9Jy8sICcnKSk7XG4gIH1cblxuICB2YXIgdmVyc2lvbiA9IHV0aWwuZ2V0QXJnKHNvdXJjZU1hcCwgJ3ZlcnNpb24nKTtcbiAgdmFyIHNlY3Rpb25zID0gdXRpbC5nZXRBcmcoc291cmNlTWFwLCAnc2VjdGlvbnMnKTtcblxuICBpZiAodmVyc2lvbiAhPSB0aGlzLl92ZXJzaW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCB2ZXJzaW9uOiAnICsgdmVyc2lvbik7XG4gIH1cblxuICB0aGlzLl9zb3VyY2VzID0gbmV3IEFycmF5U2V0KCk7XG4gIHRoaXMuX25hbWVzID0gbmV3IEFycmF5U2V0KCk7XG5cbiAgdmFyIGxhc3RPZmZzZXQgPSB7XG4gICAgbGluZTogLTEsXG4gICAgY29sdW1uOiAwXG4gIH07XG4gIHRoaXMuX3NlY3Rpb25zID0gc2VjdGlvbnMubWFwKGZ1bmN0aW9uIChzKSB7XG4gICAgaWYgKHMudXJsKSB7XG4gICAgICAvLyBUaGUgdXJsIGZpZWxkIHdpbGwgcmVxdWlyZSBzdXBwb3J0IGZvciBhc3luY2hyb25pY2l0eS5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9zb3VyY2UtbWFwL2lzc3Vlcy8xNlxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTdXBwb3J0IGZvciB1cmwgZmllbGQgaW4gc2VjdGlvbnMgbm90IGltcGxlbWVudGVkLicpO1xuICAgIH1cbiAgICB2YXIgb2Zmc2V0ID0gdXRpbC5nZXRBcmcocywgJ29mZnNldCcpO1xuICAgIHZhciBvZmZzZXRMaW5lID0gdXRpbC5nZXRBcmcob2Zmc2V0LCAnbGluZScpO1xuICAgIHZhciBvZmZzZXRDb2x1bW4gPSB1dGlsLmdldEFyZyhvZmZzZXQsICdjb2x1bW4nKTtcblxuICAgIGlmIChvZmZzZXRMaW5lIDwgbGFzdE9mZnNldC5saW5lIHx8XG4gICAgICAgIChvZmZzZXRMaW5lID09PSBsYXN0T2Zmc2V0LmxpbmUgJiYgb2Zmc2V0Q29sdW1uIDwgbGFzdE9mZnNldC5jb2x1bW4pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NlY3Rpb24gb2Zmc2V0cyBtdXN0IGJlIG9yZGVyZWQgYW5kIG5vbi1vdmVybGFwcGluZy4nKTtcbiAgICB9XG4gICAgbGFzdE9mZnNldCA9IG9mZnNldDtcblxuICAgIHJldHVybiB7XG4gICAgICBnZW5lcmF0ZWRPZmZzZXQ6IHtcbiAgICAgICAgLy8gVGhlIG9mZnNldCBmaWVsZHMgYXJlIDAtYmFzZWQsIGJ1dCB3ZSB1c2UgMS1iYXNlZCBpbmRpY2VzIHdoZW5cbiAgICAgICAgLy8gZW5jb2RpbmcvZGVjb2RpbmcgZnJvbSBWTFEuXG4gICAgICAgIGdlbmVyYXRlZExpbmU6IG9mZnNldExpbmUgKyAxLFxuICAgICAgICBnZW5lcmF0ZWRDb2x1bW46IG9mZnNldENvbHVtbiArIDFcbiAgICAgIH0sXG4gICAgICBjb25zdW1lcjogbmV3IFNvdXJjZU1hcENvbnN1bWVyKHV0aWwuZ2V0QXJnKHMsICdtYXAnKSlcbiAgICB9XG4gIH0pO1xufVxuXG5JbmRleGVkU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUpO1xuSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IFNvdXJjZU1hcENvbnN1bWVyO1xuXG4vKipcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBzb3VyY2UgbWFwcGluZyBzcGVjIHRoYXQgd2UgYXJlIGNvbnN1bWluZy5cbiAqL1xuSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5fdmVyc2lvbiA9IDM7XG5cbi8qKlxuICogVGhlIGxpc3Qgb2Ygb3JpZ2luYWwgc291cmNlcy5cbiAqL1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KEluZGV4ZWRTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUsICdzb3VyY2VzJywge1xuICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgc291cmNlcyA9IFtdO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5fc2VjdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdGhpcy5fc2VjdGlvbnNbaV0uY29uc3VtZXIuc291cmNlcy5sZW5ndGg7IGorKykge1xuICAgICAgICBzb3VyY2VzLnB1c2godGhpcy5fc2VjdGlvbnNbaV0uY29uc3VtZXIuc291cmNlc1tqXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzb3VyY2VzO1xuICB9XG59KTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBvcmlnaW5hbCBzb3VyY2UsIGxpbmUsIGFuZCBjb2x1bW4gaW5mb3JtYXRpb24gZm9yIHRoZSBnZW5lcmF0ZWRcbiAqIHNvdXJjZSdzIGxpbmUgYW5kIGNvbHVtbiBwb3NpdGlvbnMgcHJvdmlkZWQuIFRoZSBvbmx5IGFyZ3VtZW50IGlzIGFuIG9iamVjdFxuICogd2l0aCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gKlxuICogICAtIGxpbmU6IFRoZSBsaW5lIG51bWJlciBpbiB0aGUgZ2VuZXJhdGVkIHNvdXJjZS5cbiAqICAgLSBjb2x1bW46IFRoZSBjb2x1bW4gbnVtYmVyIGluIHRoZSBnZW5lcmF0ZWQgc291cmNlLlxuICpcbiAqIGFuZCBhbiBvYmplY3QgaXMgcmV0dXJuZWQgd2l0aCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gKlxuICogICAtIHNvdXJjZTogVGhlIG9yaWdpbmFsIHNvdXJjZSBmaWxlLCBvciBudWxsLlxuICogICAtIGxpbmU6IFRoZSBsaW5lIG51bWJlciBpbiB0aGUgb3JpZ2luYWwgc291cmNlLCBvciBudWxsLlxuICogICAtIGNvbHVtbjogVGhlIGNvbHVtbiBudW1iZXIgaW4gdGhlIG9yaWdpbmFsIHNvdXJjZSwgb3IgbnVsbC5cbiAqICAgLSBuYW1lOiBUaGUgb3JpZ2luYWwgaWRlbnRpZmllciwgb3IgbnVsbC5cbiAqL1xuSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5vcmlnaW5hbFBvc2l0aW9uRm9yID1cbiAgZnVuY3Rpb24gSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyX29yaWdpbmFsUG9zaXRpb25Gb3IoYUFyZ3MpIHtcbiAgICB2YXIgbmVlZGxlID0ge1xuICAgICAgZ2VuZXJhdGVkTGluZTogdXRpbC5nZXRBcmcoYUFyZ3MsICdsaW5lJyksXG4gICAgICBnZW5lcmF0ZWRDb2x1bW46IHV0aWwuZ2V0QXJnKGFBcmdzLCAnY29sdW1uJylcbiAgICB9O1xuXG4gICAgLy8gRmluZCB0aGUgc2VjdGlvbiBjb250YWluaW5nIHRoZSBnZW5lcmF0ZWQgcG9zaXRpb24gd2UncmUgdHJ5aW5nIHRvIG1hcFxuICAgIC8vIHRvIGFuIG9yaWdpbmFsIHBvc2l0aW9uLlxuICAgIHZhciBzZWN0aW9uSW5kZXggPSBiaW5hcnlTZWFyY2guc2VhcmNoKG5lZWRsZSwgdGhpcy5fc2VjdGlvbnMsXG4gICAgICBmdW5jdGlvbihuZWVkbGUsIHNlY3Rpb24pIHtcbiAgICAgICAgdmFyIGNtcCA9IG5lZWRsZS5nZW5lcmF0ZWRMaW5lIC0gc2VjdGlvbi5nZW5lcmF0ZWRPZmZzZXQuZ2VuZXJhdGVkTGluZTtcbiAgICAgICAgaWYgKGNtcCkge1xuICAgICAgICAgIHJldHVybiBjbXA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKG5lZWRsZS5nZW5lcmF0ZWRDb2x1bW4gLVxuICAgICAgICAgICAgICAgIHNlY3Rpb24uZ2VuZXJhdGVkT2Zmc2V0LmdlbmVyYXRlZENvbHVtbik7XG4gICAgICB9KTtcbiAgICB2YXIgc2VjdGlvbiA9IHRoaXMuX3NlY3Rpb25zW3NlY3Rpb25JbmRleF07XG5cbiAgICBpZiAoIXNlY3Rpb24pIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNvdXJjZTogbnVsbCxcbiAgICAgICAgbGluZTogbnVsbCxcbiAgICAgICAgY29sdW1uOiBudWxsLFxuICAgICAgICBuYW1lOiBudWxsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBzZWN0aW9uLmNvbnN1bWVyLm9yaWdpbmFsUG9zaXRpb25Gb3Ioe1xuICAgICAgbGluZTogbmVlZGxlLmdlbmVyYXRlZExpbmUgLVxuICAgICAgICAoc2VjdGlvbi5nZW5lcmF0ZWRPZmZzZXQuZ2VuZXJhdGVkTGluZSAtIDEpLFxuICAgICAgY29sdW1uOiBuZWVkbGUuZ2VuZXJhdGVkQ29sdW1uIC1cbiAgICAgICAgKHNlY3Rpb24uZ2VuZXJhdGVkT2Zmc2V0LmdlbmVyYXRlZExpbmUgPT09IG5lZWRsZS5nZW5lcmF0ZWRMaW5lXG4gICAgICAgICA/IHNlY3Rpb24uZ2VuZXJhdGVkT2Zmc2V0LmdlbmVyYXRlZENvbHVtbiAtIDFcbiAgICAgICAgIDogMCksXG4gICAgICBiaWFzOiBhQXJncy5iaWFzXG4gICAgfSk7XG4gIH07XG5cbi8qKlxuICogUmV0dXJuIHRydWUgaWYgd2UgaGF2ZSB0aGUgc291cmNlIGNvbnRlbnQgZm9yIGV2ZXJ5IHNvdXJjZSBpbiB0aGUgc291cmNlXG4gKiBtYXAsIGZhbHNlIG90aGVyd2lzZS5cbiAqL1xuSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5oYXNDb250ZW50c09mQWxsU291cmNlcyA9XG4gIGZ1bmN0aW9uIEluZGV4ZWRTb3VyY2VNYXBDb25zdW1lcl9oYXNDb250ZW50c09mQWxsU291cmNlcygpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VjdGlvbnMuZXZlcnkoZnVuY3Rpb24gKHMpIHtcbiAgICAgIHJldHVybiBzLmNvbnN1bWVyLmhhc0NvbnRlbnRzT2ZBbGxTb3VyY2VzKCk7XG4gICAgfSk7XG4gIH07XG5cbi8qKlxuICogUmV0dXJucyB0aGUgb3JpZ2luYWwgc291cmNlIGNvbnRlbnQuIFRoZSBvbmx5IGFyZ3VtZW50IGlzIHRoZSB1cmwgb2YgdGhlXG4gKiBvcmlnaW5hbCBzb3VyY2UgZmlsZS4gUmV0dXJucyBudWxsIGlmIG5vIG9yaWdpbmFsIHNvdXJjZSBjb250ZW50IGlzXG4gKiBhdmFpbGFibGUuXG4gKi9cbkluZGV4ZWRTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuc291cmNlQ29udGVudEZvciA9XG4gIGZ1bmN0aW9uIEluZGV4ZWRTb3VyY2VNYXBDb25zdW1lcl9zb3VyY2VDb250ZW50Rm9yKGFTb3VyY2UsIG51bGxPbk1pc3NpbmcpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX3NlY3Rpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgc2VjdGlvbiA9IHRoaXMuX3NlY3Rpb25zW2ldO1xuXG4gICAgICB2YXIgY29udGVudCA9IHNlY3Rpb24uY29uc3VtZXIuc291cmNlQ29udGVudEZvcihhU291cmNlLCB0cnVlKTtcbiAgICAgIGlmIChjb250ZW50KSB7XG4gICAgICAgIHJldHVybiBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAobnVsbE9uTWlzc2luZykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdcIicgKyBhU291cmNlICsgJ1wiIGlzIG5vdCBpbiB0aGUgU291cmNlTWFwLicpO1xuICAgIH1cbiAgfTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBnZW5lcmF0ZWQgbGluZSBhbmQgY29sdW1uIGluZm9ybWF0aW9uIGZvciB0aGUgb3JpZ2luYWwgc291cmNlLFxuICogbGluZSwgYW5kIGNvbHVtbiBwb3NpdGlvbnMgcHJvdmlkZWQuIFRoZSBvbmx5IGFyZ3VtZW50IGlzIGFuIG9iamVjdCB3aXRoXG4gKiB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gKlxuICogICAtIHNvdXJjZTogVGhlIGZpbGVuYW1lIG9mIHRoZSBvcmlnaW5hbCBzb3VyY2UuXG4gKiAgIC0gbGluZTogVGhlIGxpbmUgbnVtYmVyIGluIHRoZSBvcmlnaW5hbCBzb3VyY2UuXG4gKiAgIC0gY29sdW1uOiBUaGUgY29sdW1uIG51bWJlciBpbiB0aGUgb3JpZ2luYWwgc291cmNlLlxuICpcbiAqIGFuZCBhbiBvYmplY3QgaXMgcmV0dXJuZWQgd2l0aCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gKlxuICogICAtIGxpbmU6IFRoZSBsaW5lIG51bWJlciBpbiB0aGUgZ2VuZXJhdGVkIHNvdXJjZSwgb3IgbnVsbC5cbiAqICAgLSBjb2x1bW46IFRoZSBjb2x1bW4gbnVtYmVyIGluIHRoZSBnZW5lcmF0ZWQgc291cmNlLCBvciBudWxsLlxuICovXG5JbmRleGVkU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLmdlbmVyYXRlZFBvc2l0aW9uRm9yID1cbiAgZnVuY3Rpb24gSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyX2dlbmVyYXRlZFBvc2l0aW9uRm9yKGFBcmdzKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9zZWN0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHNlY3Rpb24gPSB0aGlzLl9zZWN0aW9uc1tpXTtcblxuICAgICAgLy8gT25seSBjb25zaWRlciB0aGlzIHNlY3Rpb24gaWYgdGhlIHJlcXVlc3RlZCBzb3VyY2UgaXMgaW4gdGhlIGxpc3Qgb2ZcbiAgICAgIC8vIHNvdXJjZXMgb2YgdGhlIGNvbnN1bWVyLlxuICAgICAgaWYgKHNlY3Rpb24uY29uc3VtZXIuc291cmNlcy5pbmRleE9mKHV0aWwuZ2V0QXJnKGFBcmdzLCAnc291cmNlJykpID09PSAtMSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIHZhciBnZW5lcmF0ZWRQb3NpdGlvbiA9IHNlY3Rpb24uY29uc3VtZXIuZ2VuZXJhdGVkUG9zaXRpb25Gb3IoYUFyZ3MpO1xuICAgICAgaWYgKGdlbmVyYXRlZFBvc2l0aW9uKSB7XG4gICAgICAgIHZhciByZXQgPSB7XG4gICAgICAgICAgbGluZTogZ2VuZXJhdGVkUG9zaXRpb24ubGluZSArXG4gICAgICAgICAgICAoc2VjdGlvbi5nZW5lcmF0ZWRPZmZzZXQuZ2VuZXJhdGVkTGluZSAtIDEpLFxuICAgICAgICAgIGNvbHVtbjogZ2VuZXJhdGVkUG9zaXRpb24uY29sdW1uICtcbiAgICAgICAgICAgIChzZWN0aW9uLmdlbmVyYXRlZE9mZnNldC5nZW5lcmF0ZWRMaW5lID09PSBnZW5lcmF0ZWRQb3NpdGlvbi5saW5lXG4gICAgICAgICAgICAgPyBzZWN0aW9uLmdlbmVyYXRlZE9mZnNldC5nZW5lcmF0ZWRDb2x1bW4gLSAxXG4gICAgICAgICAgICAgOiAwKVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gcmV0O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBsaW5lOiBudWxsLFxuICAgICAgY29sdW1uOiBudWxsXG4gICAgfTtcbiAgfTtcblxuLyoqXG4gKiBQYXJzZSB0aGUgbWFwcGluZ3MgaW4gYSBzdHJpbmcgaW4gdG8gYSBkYXRhIHN0cnVjdHVyZSB3aGljaCB3ZSBjYW4gZWFzaWx5XG4gKiBxdWVyeSAodGhlIG9yZGVyZWQgYXJyYXlzIGluIHRoZSBgdGhpcy5fX2dlbmVyYXRlZE1hcHBpbmdzYCBhbmRcbiAqIGB0aGlzLl9fb3JpZ2luYWxNYXBwaW5nc2AgcHJvcGVydGllcykuXG4gKi9cbkluZGV4ZWRTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuX3BhcnNlTWFwcGluZ3MgPVxuICBmdW5jdGlvbiBJbmRleGVkU291cmNlTWFwQ29uc3VtZXJfcGFyc2VNYXBwaW5ncyhhU3RyLCBhU291cmNlUm9vdCkge1xuICAgIHRoaXMuX19nZW5lcmF0ZWRNYXBwaW5ncyA9IFtdO1xuICAgIHRoaXMuX19vcmlnaW5hbE1hcHBpbmdzID0gW107XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9zZWN0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHNlY3Rpb24gPSB0aGlzLl9zZWN0aW9uc1tpXTtcbiAgICAgIHZhciBzZWN0aW9uTWFwcGluZ3MgPSBzZWN0aW9uLmNvbnN1bWVyLl9nZW5lcmF0ZWRNYXBwaW5ncztcbiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgc2VjdGlvbk1hcHBpbmdzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgIHZhciBtYXBwaW5nID0gc2VjdGlvbk1hcHBpbmdzW2pdO1xuXG4gICAgICAgIHZhciBzb3VyY2UgPSBzZWN0aW9uLmNvbnN1bWVyLl9zb3VyY2VzLmF0KG1hcHBpbmcuc291cmNlKTtcbiAgICAgICAgaWYgKHNlY3Rpb24uY29uc3VtZXIuc291cmNlUm9vdCAhPT0gbnVsbCkge1xuICAgICAgICAgIHNvdXJjZSA9IHV0aWwuam9pbihzZWN0aW9uLmNvbnN1bWVyLnNvdXJjZVJvb3QsIHNvdXJjZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc291cmNlcy5hZGQoc291cmNlKTtcbiAgICAgICAgc291cmNlID0gdGhpcy5fc291cmNlcy5pbmRleE9mKHNvdXJjZSk7XG5cbiAgICAgICAgdmFyIG5hbWUgPSBzZWN0aW9uLmNvbnN1bWVyLl9uYW1lcy5hdChtYXBwaW5nLm5hbWUpO1xuICAgICAgICB0aGlzLl9uYW1lcy5hZGQobmFtZSk7XG4gICAgICAgIG5hbWUgPSB0aGlzLl9uYW1lcy5pbmRleE9mKG5hbWUpO1xuXG4gICAgICAgIC8vIFRoZSBtYXBwaW5ncyBjb21pbmcgZnJvbSB0aGUgY29uc3VtZXIgZm9yIHRoZSBzZWN0aW9uIGhhdmVcbiAgICAgICAgLy8gZ2VuZXJhdGVkIHBvc2l0aW9ucyByZWxhdGl2ZSB0byB0aGUgc3RhcnQgb2YgdGhlIHNlY3Rpb24sIHNvIHdlXG4gICAgICAgIC8vIG5lZWQgdG8gb2Zmc2V0IHRoZW0gdG8gYmUgcmVsYXRpdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSBjb25jYXRlbmF0ZWRcbiAgICAgICAgLy8gZ2VuZXJhdGVkIGZpbGUuXG4gICAgICAgIHZhciBhZGp1c3RlZE1hcHBpbmcgPSB7XG4gICAgICAgICAgc291cmNlOiBzb3VyY2UsXG4gICAgICAgICAgZ2VuZXJhdGVkTGluZTogbWFwcGluZy5nZW5lcmF0ZWRMaW5lICtcbiAgICAgICAgICAgIChzZWN0aW9uLmdlbmVyYXRlZE9mZnNldC5nZW5lcmF0ZWRMaW5lIC0gMSksXG4gICAgICAgICAgZ2VuZXJhdGVkQ29sdW1uOiBtYXBwaW5nLmdlbmVyYXRlZENvbHVtbiArXG4gICAgICAgICAgICAoc2VjdGlvbi5nZW5lcmF0ZWRPZmZzZXQuZ2VuZXJhdGVkTGluZSA9PT0gbWFwcGluZy5nZW5lcmF0ZWRMaW5lXG4gICAgICAgICAgICA/IHNlY3Rpb24uZ2VuZXJhdGVkT2Zmc2V0LmdlbmVyYXRlZENvbHVtbiAtIDFcbiAgICAgICAgICAgIDogMCksXG4gICAgICAgICAgb3JpZ2luYWxMaW5lOiBtYXBwaW5nLm9yaWdpbmFsTGluZSxcbiAgICAgICAgICBvcmlnaW5hbENvbHVtbjogbWFwcGluZy5vcmlnaW5hbENvbHVtbixcbiAgICAgICAgICBuYW1lOiBuYW1lXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5fX2dlbmVyYXRlZE1hcHBpbmdzLnB1c2goYWRqdXN0ZWRNYXBwaW5nKTtcbiAgICAgICAgaWYgKHR5cGVvZiBhZGp1c3RlZE1hcHBpbmcub3JpZ2luYWxMaW5lID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIHRoaXMuX19vcmlnaW5hbE1hcHBpbmdzLnB1c2goYWRqdXN0ZWRNYXBwaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHF1aWNrU29ydCh0aGlzLl9fZ2VuZXJhdGVkTWFwcGluZ3MsIHV0aWwuY29tcGFyZUJ5R2VuZXJhdGVkUG9zaXRpb25zRGVmbGF0ZWQpO1xuICAgIHF1aWNrU29ydCh0aGlzLl9fb3JpZ2luYWxNYXBwaW5ncywgdXRpbC5jb21wYXJlQnlPcmlnaW5hbFBvc2l0aW9ucyk7XG4gIH07XG5cbmV4cG9ydHMuSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyID0gSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9saWIvc291cmNlLW1hcC1jb25zdW1lci5qc1xuLy8gbW9kdWxlIGlkID0gN1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCIvKiAtKi0gTW9kZToganM7IGpzLWluZGVudC1sZXZlbDogMjsgLSotICovXG4vKlxuICogQ29weXJpZ2h0IDIwMTEgTW96aWxsYSBGb3VuZGF0aW9uIGFuZCBjb250cmlidXRvcnNcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBOZXcgQlNEIGxpY2Vuc2UuIFNlZSBMSUNFTlNFIG9yOlxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZVxuICovXG5cbmV4cG9ydHMuR1JFQVRFU1RfTE9XRVJfQk9VTkQgPSAxO1xuZXhwb3J0cy5MRUFTVF9VUFBFUl9CT1VORCA9IDI7XG5cbi8qKlxuICogUmVjdXJzaXZlIGltcGxlbWVudGF0aW9uIG9mIGJpbmFyeSBzZWFyY2guXG4gKlxuICogQHBhcmFtIGFMb3cgSW5kaWNlcyBoZXJlIGFuZCBsb3dlciBkbyBub3QgY29udGFpbiB0aGUgbmVlZGxlLlxuICogQHBhcmFtIGFIaWdoIEluZGljZXMgaGVyZSBhbmQgaGlnaGVyIGRvIG5vdCBjb250YWluIHRoZSBuZWVkbGUuXG4gKiBAcGFyYW0gYU5lZWRsZSBUaGUgZWxlbWVudCBiZWluZyBzZWFyY2hlZCBmb3IuXG4gKiBAcGFyYW0gYUhheXN0YWNrIFRoZSBub24tZW1wdHkgYXJyYXkgYmVpbmcgc2VhcmNoZWQuXG4gKiBAcGFyYW0gYUNvbXBhcmUgRnVuY3Rpb24gd2hpY2ggdGFrZXMgdHdvIGVsZW1lbnRzIGFuZCByZXR1cm5zIC0xLCAwLCBvciAxLlxuICogQHBhcmFtIGFCaWFzIEVpdGhlciAnYmluYXJ5U2VhcmNoLkdSRUFURVNUX0xPV0VSX0JPVU5EJyBvclxuICogICAgICdiaW5hcnlTZWFyY2guTEVBU1RfVVBQRVJfQk9VTkQnLiBTcGVjaWZpZXMgd2hldGhlciB0byByZXR1cm4gdGhlXG4gKiAgICAgY2xvc2VzdCBlbGVtZW50IHRoYXQgaXMgc21hbGxlciB0aGFuIG9yIGdyZWF0ZXIgdGhhbiB0aGUgb25lIHdlIGFyZVxuICogICAgIHNlYXJjaGluZyBmb3IsIHJlc3BlY3RpdmVseSwgaWYgdGhlIGV4YWN0IGVsZW1lbnQgY2Fubm90IGJlIGZvdW5kLlxuICovXG5mdW5jdGlvbiByZWN1cnNpdmVTZWFyY2goYUxvdywgYUhpZ2gsIGFOZWVkbGUsIGFIYXlzdGFjaywgYUNvbXBhcmUsIGFCaWFzKSB7XG4gIC8vIFRoaXMgZnVuY3Rpb24gdGVybWluYXRlcyB3aGVuIG9uZSBvZiB0aGUgZm9sbG93aW5nIGlzIHRydWU6XG4gIC8vXG4gIC8vICAgMS4gV2UgZmluZCB0aGUgZXhhY3QgZWxlbWVudCB3ZSBhcmUgbG9va2luZyBmb3IuXG4gIC8vXG4gIC8vICAgMi4gV2UgZGlkIG5vdCBmaW5kIHRoZSBleGFjdCBlbGVtZW50LCBidXQgd2UgY2FuIHJldHVybiB0aGUgaW5kZXggb2ZcbiAgLy8gICAgICB0aGUgbmV4dC1jbG9zZXN0IGVsZW1lbnQuXG4gIC8vXG4gIC8vICAgMy4gV2UgZGlkIG5vdCBmaW5kIHRoZSBleGFjdCBlbGVtZW50LCBhbmQgdGhlcmUgaXMgbm8gbmV4dC1jbG9zZXN0XG4gIC8vICAgICAgZWxlbWVudCB0aGFuIHRoZSBvbmUgd2UgYXJlIHNlYXJjaGluZyBmb3IsIHNvIHdlIHJldHVybiAtMS5cbiAgdmFyIG1pZCA9IE1hdGguZmxvb3IoKGFIaWdoIC0gYUxvdykgLyAyKSArIGFMb3c7XG4gIHZhciBjbXAgPSBhQ29tcGFyZShhTmVlZGxlLCBhSGF5c3RhY2tbbWlkXSwgdHJ1ZSk7XG4gIGlmIChjbXAgPT09IDApIHtcbiAgICAvLyBGb3VuZCB0aGUgZWxlbWVudCB3ZSBhcmUgbG9va2luZyBmb3IuXG4gICAgcmV0dXJuIG1pZDtcbiAgfVxuICBlbHNlIGlmIChjbXAgPiAwKSB7XG4gICAgLy8gT3VyIG5lZWRsZSBpcyBncmVhdGVyIHRoYW4gYUhheXN0YWNrW21pZF0uXG4gICAgaWYgKGFIaWdoIC0gbWlkID4gMSkge1xuICAgICAgLy8gVGhlIGVsZW1lbnQgaXMgaW4gdGhlIHVwcGVyIGhhbGYuXG4gICAgICByZXR1cm4gcmVjdXJzaXZlU2VhcmNoKG1pZCwgYUhpZ2gsIGFOZWVkbGUsIGFIYXlzdGFjaywgYUNvbXBhcmUsIGFCaWFzKTtcbiAgICB9XG5cbiAgICAvLyBUaGUgZXhhY3QgbmVlZGxlIGVsZW1lbnQgd2FzIG5vdCBmb3VuZCBpbiB0aGlzIGhheXN0YWNrLiBEZXRlcm1pbmUgaWZcbiAgICAvLyB3ZSBhcmUgaW4gdGVybWluYXRpb24gY2FzZSAoMykgb3IgKDIpIGFuZCByZXR1cm4gdGhlIGFwcHJvcHJpYXRlIHRoaW5nLlxuICAgIGlmIChhQmlhcyA9PSBleHBvcnRzLkxFQVNUX1VQUEVSX0JPVU5EKSB7XG4gICAgICByZXR1cm4gYUhpZ2ggPCBhSGF5c3RhY2subGVuZ3RoID8gYUhpZ2ggOiAtMTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG1pZDtcbiAgICB9XG4gIH1cbiAgZWxzZSB7XG4gICAgLy8gT3VyIG5lZWRsZSBpcyBsZXNzIHRoYW4gYUhheXN0YWNrW21pZF0uXG4gICAgaWYgKG1pZCAtIGFMb3cgPiAxKSB7XG4gICAgICAvLyBUaGUgZWxlbWVudCBpcyBpbiB0aGUgbG93ZXIgaGFsZi5cbiAgICAgIHJldHVybiByZWN1cnNpdmVTZWFyY2goYUxvdywgbWlkLCBhTmVlZGxlLCBhSGF5c3RhY2ssIGFDb21wYXJlLCBhQmlhcyk7XG4gICAgfVxuXG4gICAgLy8gd2UgYXJlIGluIHRlcm1pbmF0aW9uIGNhc2UgKDMpIG9yICgyKSBhbmQgcmV0dXJuIHRoZSBhcHByb3ByaWF0ZSB0aGluZy5cbiAgICBpZiAoYUJpYXMgPT0gZXhwb3J0cy5MRUFTVF9VUFBFUl9CT1VORCkge1xuICAgICAgcmV0dXJuIG1pZDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGFMb3cgPCAwID8gLTEgOiBhTG93O1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFRoaXMgaXMgYW4gaW1wbGVtZW50YXRpb24gb2YgYmluYXJ5IHNlYXJjaCB3aGljaCB3aWxsIGFsd2F5cyB0cnkgYW5kIHJldHVyblxuICogdGhlIGluZGV4IG9mIHRoZSBjbG9zZXN0IGVsZW1lbnQgaWYgdGhlcmUgaXMgbm8gZXhhY3QgaGl0LiBUaGlzIGlzIGJlY2F1c2VcbiAqIG1hcHBpbmdzIGJldHdlZW4gb3JpZ2luYWwgYW5kIGdlbmVyYXRlZCBsaW5lL2NvbCBwYWlycyBhcmUgc2luZ2xlIHBvaW50cyxcbiAqIGFuZCB0aGVyZSBpcyBhbiBpbXBsaWNpdCByZWdpb24gYmV0d2VlbiBlYWNoIG9mIHRoZW0sIHNvIGEgbWlzcyBqdXN0IG1lYW5zXG4gKiB0aGF0IHlvdSBhcmVuJ3Qgb24gdGhlIHZlcnkgc3RhcnQgb2YgYSByZWdpb24uXG4gKlxuICogQHBhcmFtIGFOZWVkbGUgVGhlIGVsZW1lbnQgeW91IGFyZSBsb29raW5nIGZvci5cbiAqIEBwYXJhbSBhSGF5c3RhY2sgVGhlIGFycmF5IHRoYXQgaXMgYmVpbmcgc2VhcmNoZWQuXG4gKiBAcGFyYW0gYUNvbXBhcmUgQSBmdW5jdGlvbiB3aGljaCB0YWtlcyB0aGUgbmVlZGxlIGFuZCBhbiBlbGVtZW50IGluIHRoZVxuICogICAgIGFycmF5IGFuZCByZXR1cm5zIC0xLCAwLCBvciAxIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZSBuZWVkbGUgaXMgbGVzc1xuICogICAgIHRoYW4sIGVxdWFsIHRvLCBvciBncmVhdGVyIHRoYW4gdGhlIGVsZW1lbnQsIHJlc3BlY3RpdmVseS5cbiAqIEBwYXJhbSBhQmlhcyBFaXRoZXIgJ2JpbmFyeVNlYXJjaC5HUkVBVEVTVF9MT1dFUl9CT1VORCcgb3JcbiAqICAgICAnYmluYXJ5U2VhcmNoLkxFQVNUX1VQUEVSX0JPVU5EJy4gU3BlY2lmaWVzIHdoZXRoZXIgdG8gcmV0dXJuIHRoZVxuICogICAgIGNsb3Nlc3QgZWxlbWVudCB0aGF0IGlzIHNtYWxsZXIgdGhhbiBvciBncmVhdGVyIHRoYW4gdGhlIG9uZSB3ZSBhcmVcbiAqICAgICBzZWFyY2hpbmcgZm9yLCByZXNwZWN0aXZlbHksIGlmIHRoZSBleGFjdCBlbGVtZW50IGNhbm5vdCBiZSBmb3VuZC5cbiAqICAgICBEZWZhdWx0cyB0byAnYmluYXJ5U2VhcmNoLkdSRUFURVNUX0xPV0VSX0JPVU5EJy5cbiAqL1xuZXhwb3J0cy5zZWFyY2ggPSBmdW5jdGlvbiBzZWFyY2goYU5lZWRsZSwgYUhheXN0YWNrLCBhQ29tcGFyZSwgYUJpYXMpIHtcbiAgaWYgKGFIYXlzdGFjay5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gLTE7XG4gIH1cblxuICB2YXIgaW5kZXggPSByZWN1cnNpdmVTZWFyY2goLTEsIGFIYXlzdGFjay5sZW5ndGgsIGFOZWVkbGUsIGFIYXlzdGFjayxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFDb21wYXJlLCBhQmlhcyB8fCBleHBvcnRzLkdSRUFURVNUX0xPV0VSX0JPVU5EKTtcbiAgaWYgKGluZGV4IDwgMCkge1xuICAgIHJldHVybiAtMTtcbiAgfVxuXG4gIC8vIFdlIGhhdmUgZm91bmQgZWl0aGVyIHRoZSBleGFjdCBlbGVtZW50LCBvciB0aGUgbmV4dC1jbG9zZXN0IGVsZW1lbnQgdGhhblxuICAvLyB0aGUgb25lIHdlIGFyZSBzZWFyY2hpbmcgZm9yLiBIb3dldmVyLCB0aGVyZSBtYXkgYmUgbW9yZSB0aGFuIG9uZSBzdWNoXG4gIC8vIGVsZW1lbnQuIE1ha2Ugc3VyZSB3ZSBhbHdheXMgcmV0dXJuIHRoZSBzbWFsbGVzdCBvZiB0aGVzZS5cbiAgd2hpbGUgKGluZGV4IC0gMSA+PSAwKSB7XG4gICAgaWYgKGFDb21wYXJlKGFIYXlzdGFja1tpbmRleF0sIGFIYXlzdGFja1tpbmRleCAtIDFdLCB0cnVlKSAhPT0gMCkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIC0taW5kZXg7XG4gIH1cblxuICByZXR1cm4gaW5kZXg7XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9saWIvYmluYXJ5LXNlYXJjaC5qc1xuLy8gbW9kdWxlIGlkID0gOFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCIvKiAtKi0gTW9kZToganM7IGpzLWluZGVudC1sZXZlbDogMjsgLSotICovXG4vKlxuICogQ29weXJpZ2h0IDIwMTEgTW96aWxsYSBGb3VuZGF0aW9uIGFuZCBjb250cmlidXRvcnNcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBOZXcgQlNEIGxpY2Vuc2UuIFNlZSBMSUNFTlNFIG9yOlxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZVxuICovXG5cbi8vIEl0IHR1cm5zIG91dCB0aGF0IHNvbWUgKG1vc3Q/KSBKYXZhU2NyaXB0IGVuZ2luZXMgZG9uJ3Qgc2VsZi1ob3N0XG4vLyBgQXJyYXkucHJvdG90eXBlLnNvcnRgLiBUaGlzIG1ha2VzIHNlbnNlIGJlY2F1c2UgQysrIHdpbGwgbGlrZWx5IHJlbWFpblxuLy8gZmFzdGVyIHRoYW4gSlMgd2hlbiBkb2luZyByYXcgQ1BVLWludGVuc2l2ZSBzb3J0aW5nLiBIb3dldmVyLCB3aGVuIHVzaW5nIGFcbi8vIGN1c3RvbSBjb21wYXJhdG9yIGZ1bmN0aW9uLCBjYWxsaW5nIGJhY2sgYW5kIGZvcnRoIGJldHdlZW4gdGhlIFZNJ3MgQysrIGFuZFxuLy8gSklUJ2QgSlMgaXMgcmF0aGVyIHNsb3cgKmFuZCogbG9zZXMgSklUIHR5cGUgaW5mb3JtYXRpb24sIHJlc3VsdGluZyBpblxuLy8gd29yc2UgZ2VuZXJhdGVkIGNvZGUgZm9yIHRoZSBjb21wYXJhdG9yIGZ1bmN0aW9uIHRoYW4gd291bGQgYmUgb3B0aW1hbC4gSW5cbi8vIGZhY3QsIHdoZW4gc29ydGluZyB3aXRoIGEgY29tcGFyYXRvciwgdGhlc2UgY29zdHMgb3V0d2VpZ2ggdGhlIGJlbmVmaXRzIG9mXG4vLyBzb3J0aW5nIGluIEMrKy4gQnkgdXNpbmcgb3VyIG93biBKUy1pbXBsZW1lbnRlZCBRdWljayBTb3J0IChiZWxvdyksIHdlIGdldFxuLy8gYSB+MzUwMG1zIG1lYW4gc3BlZWQtdXAgaW4gYGJlbmNoL2JlbmNoLmh0bWxgLlxuXG4vKipcbiAqIFN3YXAgdGhlIGVsZW1lbnRzIGluZGV4ZWQgYnkgYHhgIGFuZCBgeWAgaW4gdGhlIGFycmF5IGBhcnlgLlxuICpcbiAqIEBwYXJhbSB7QXJyYXl9IGFyeVxuICogICAgICAgIFRoZSBhcnJheS5cbiAqIEBwYXJhbSB7TnVtYmVyfSB4XG4gKiAgICAgICAgVGhlIGluZGV4IG9mIHRoZSBmaXJzdCBpdGVtLlxuICogQHBhcmFtIHtOdW1iZXJ9IHlcbiAqICAgICAgICBUaGUgaW5kZXggb2YgdGhlIHNlY29uZCBpdGVtLlxuICovXG5mdW5jdGlvbiBzd2FwKGFyeSwgeCwgeSkge1xuICB2YXIgdGVtcCA9IGFyeVt4XTtcbiAgYXJ5W3hdID0gYXJ5W3ldO1xuICBhcnlbeV0gPSB0ZW1wO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSByYW5kb20gaW50ZWdlciB3aXRoaW4gdGhlIHJhbmdlIGBsb3cgLi4gaGlnaGAgaW5jbHVzaXZlLlxuICpcbiAqIEBwYXJhbSB7TnVtYmVyfSBsb3dcbiAqICAgICAgICBUaGUgbG93ZXIgYm91bmQgb24gdGhlIHJhbmdlLlxuICogQHBhcmFtIHtOdW1iZXJ9IGhpZ2hcbiAqICAgICAgICBUaGUgdXBwZXIgYm91bmQgb24gdGhlIHJhbmdlLlxuICovXG5mdW5jdGlvbiByYW5kb21JbnRJblJhbmdlKGxvdywgaGlnaCkge1xuICByZXR1cm4gTWF0aC5yb3VuZChsb3cgKyAoTWF0aC5yYW5kb20oKSAqIChoaWdoIC0gbG93KSkpO1xufVxuXG4vKipcbiAqIFRoZSBRdWljayBTb3J0IGFsZ29yaXRobS5cbiAqXG4gKiBAcGFyYW0ge0FycmF5fSBhcnlcbiAqICAgICAgICBBbiBhcnJheSB0byBzb3J0LlxuICogQHBhcmFtIHtmdW5jdGlvbn0gY29tcGFyYXRvclxuICogICAgICAgIEZ1bmN0aW9uIHRvIHVzZSB0byBjb21wYXJlIHR3byBpdGVtcy5cbiAqIEBwYXJhbSB7TnVtYmVyfSBwXG4gKiAgICAgICAgU3RhcnQgaW5kZXggb2YgdGhlIGFycmF5XG4gKiBAcGFyYW0ge051bWJlcn0gclxuICogICAgICAgIEVuZCBpbmRleCBvZiB0aGUgYXJyYXlcbiAqL1xuZnVuY3Rpb24gZG9RdWlja1NvcnQoYXJ5LCBjb21wYXJhdG9yLCBwLCByKSB7XG4gIC8vIElmIG91ciBsb3dlciBib3VuZCBpcyBsZXNzIHRoYW4gb3VyIHVwcGVyIGJvdW5kLCB3ZSAoMSkgcGFydGl0aW9uIHRoZVxuICAvLyBhcnJheSBpbnRvIHR3byBwaWVjZXMgYW5kICgyKSByZWN1cnNlIG9uIGVhY2ggaGFsZi4gSWYgaXQgaXMgbm90LCB0aGlzIGlzXG4gIC8vIHRoZSBlbXB0eSBhcnJheSBhbmQgb3VyIGJhc2UgY2FzZS5cblxuICBpZiAocCA8IHIpIHtcbiAgICAvLyAoMSkgUGFydGl0aW9uaW5nLlxuICAgIC8vXG4gICAgLy8gVGhlIHBhcnRpdGlvbmluZyBjaG9vc2VzIGEgcGl2b3QgYmV0d2VlbiBgcGAgYW5kIGByYCBhbmQgbW92ZXMgYWxsXG4gICAgLy8gZWxlbWVudHMgdGhhdCBhcmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoZSBwaXZvdCB0byB0aGUgYmVmb3JlIGl0LCBhbmRcbiAgICAvLyBhbGwgdGhlIGVsZW1lbnRzIHRoYXQgYXJlIGdyZWF0ZXIgdGhhbiBpdCBhZnRlciBpdC4gVGhlIGVmZmVjdCBpcyB0aGF0XG4gICAgLy8gb25jZSBwYXJ0aXRpb24gaXMgZG9uZSwgdGhlIHBpdm90IGlzIGluIHRoZSBleGFjdCBwbGFjZSBpdCB3aWxsIGJlIHdoZW5cbiAgICAvLyB0aGUgYXJyYXkgaXMgcHV0IGluIHNvcnRlZCBvcmRlciwgYW5kIGl0IHdpbGwgbm90IG5lZWQgdG8gYmUgbW92ZWRcbiAgICAvLyBhZ2Fpbi4gVGhpcyBydW5zIGluIE8obikgdGltZS5cblxuICAgIC8vIEFsd2F5cyBjaG9vc2UgYSByYW5kb20gcGl2b3Qgc28gdGhhdCBhbiBpbnB1dCBhcnJheSB3aGljaCBpcyByZXZlcnNlXG4gICAgLy8gc29ydGVkIGRvZXMgbm90IGNhdXNlIE8obl4yKSBydW5uaW5nIHRpbWUuXG4gICAgdmFyIHBpdm90SW5kZXggPSByYW5kb21JbnRJblJhbmdlKHAsIHIpO1xuICAgIHZhciBpID0gcCAtIDE7XG5cbiAgICBzd2FwKGFyeSwgcGl2b3RJbmRleCwgcik7XG4gICAgdmFyIHBpdm90ID0gYXJ5W3JdO1xuXG4gICAgLy8gSW1tZWRpYXRlbHkgYWZ0ZXIgYGpgIGlzIGluY3JlbWVudGVkIGluIHRoaXMgbG9vcCwgdGhlIGZvbGxvd2luZyBob2xkXG4gICAgLy8gdHJ1ZTpcbiAgICAvL1xuICAgIC8vICAgKiBFdmVyeSBlbGVtZW50IGluIGBhcnlbcCAuLiBpXWAgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoZSBwaXZvdC5cbiAgICAvL1xuICAgIC8vICAgKiBFdmVyeSBlbGVtZW50IGluIGBhcnlbaSsxIC4uIGotMV1gIGlzIGdyZWF0ZXIgdGhhbiB0aGUgcGl2b3QuXG4gICAgZm9yICh2YXIgaiA9IHA7IGogPCByOyBqKyspIHtcbiAgICAgIGlmIChjb21wYXJhdG9yKGFyeVtqXSwgcGl2b3QpIDw9IDApIHtcbiAgICAgICAgaSArPSAxO1xuICAgICAgICBzd2FwKGFyeSwgaSwgaik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3dhcChhcnksIGkgKyAxLCBqKTtcbiAgICB2YXIgcSA9IGkgKyAxO1xuXG4gICAgLy8gKDIpIFJlY3Vyc2Ugb24gZWFjaCBoYWxmLlxuXG4gICAgZG9RdWlja1NvcnQoYXJ5LCBjb21wYXJhdG9yLCBwLCBxIC0gMSk7XG4gICAgZG9RdWlja1NvcnQoYXJ5LCBjb21wYXJhdG9yLCBxICsgMSwgcik7XG4gIH1cbn1cblxuLyoqXG4gKiBTb3J0IHRoZSBnaXZlbiBhcnJheSBpbi1wbGFjZSB3aXRoIHRoZSBnaXZlbiBjb21wYXJhdG9yIGZ1bmN0aW9uLlxuICpcbiAqIEBwYXJhbSB7QXJyYXl9IGFyeVxuICogICAgICAgIEFuIGFycmF5IHRvIHNvcnQuXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBjb21wYXJhdG9yXG4gKiAgICAgICAgRnVuY3Rpb24gdG8gdXNlIHRvIGNvbXBhcmUgdHdvIGl0ZW1zLlxuICovXG5leHBvcnRzLnF1aWNrU29ydCA9IGZ1bmN0aW9uIChhcnksIGNvbXBhcmF0b3IpIHtcbiAgZG9RdWlja1NvcnQoYXJ5LCBjb21wYXJhdG9yLCAwLCBhcnkubGVuZ3RoIC0gMSk7XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9saWIvcXVpY2stc29ydC5qc1xuLy8gbW9kdWxlIGlkID0gOVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCIvKiAtKi0gTW9kZToganM7IGpzLWluZGVudC1sZXZlbDogMjsgLSotICovXG4vKlxuICogQ29weXJpZ2h0IDIwMTEgTW96aWxsYSBGb3VuZGF0aW9uIGFuZCBjb250cmlidXRvcnNcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBOZXcgQlNEIGxpY2Vuc2UuIFNlZSBMSUNFTlNFIG9yOlxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZVxuICovXG5cbnZhciBTb3VyY2VNYXBHZW5lcmF0b3IgPSByZXF1aXJlKCcuL3NvdXJjZS1tYXAtZ2VuZXJhdG9yJykuU291cmNlTWFwR2VuZXJhdG9yO1xudmFyIHV0aWwgPSByZXF1aXJlKCcuL3V0aWwnKTtcblxuLy8gTWF0Y2hlcyBhIFdpbmRvd3Mtc3R5bGUgYFxcclxcbmAgbmV3bGluZSBvciBhIGBcXG5gIG5ld2xpbmUgdXNlZCBieSBhbGwgb3RoZXJcbi8vIG9wZXJhdGluZyBzeXN0ZW1zIHRoZXNlIGRheXMgKGNhcHR1cmluZyB0aGUgcmVzdWx0KS5cbnZhciBSRUdFWF9ORVdMSU5FID0gLyhcXHI/XFxuKS87XG5cbi8vIE5ld2xpbmUgY2hhcmFjdGVyIGNvZGUgZm9yIGNoYXJDb2RlQXQoKSBjb21wYXJpc29uc1xudmFyIE5FV0xJTkVfQ09ERSA9IDEwO1xuXG4vLyBQcml2YXRlIHN5bWJvbCBmb3IgaWRlbnRpZnlpbmcgYFNvdXJjZU5vZGVgcyB3aGVuIG11bHRpcGxlIHZlcnNpb25zIG9mXG4vLyB0aGUgc291cmNlLW1hcCBsaWJyYXJ5IGFyZSBsb2FkZWQuIFRoaXMgTVVTVCBOT1QgQ0hBTkdFIGFjcm9zc1xuLy8gdmVyc2lvbnMhXG52YXIgaXNTb3VyY2VOb2RlID0gXCIkJCRpc1NvdXJjZU5vZGUkJCRcIjtcblxuLyoqXG4gKiBTb3VyY2VOb2RlcyBwcm92aWRlIGEgd2F5IHRvIGFic3RyYWN0IG92ZXIgaW50ZXJwb2xhdGluZy9jb25jYXRlbmF0aW5nXG4gKiBzbmlwcGV0cyBvZiBnZW5lcmF0ZWQgSmF2YVNjcmlwdCBzb3VyY2UgY29kZSB3aGlsZSBtYWludGFpbmluZyB0aGUgbGluZSBhbmRcbiAqIGNvbHVtbiBpbmZvcm1hdGlvbiBhc3NvY2lhdGVkIHdpdGggdGhlIG9yaWdpbmFsIHNvdXJjZSBjb2RlLlxuICpcbiAqIEBwYXJhbSBhTGluZSBUaGUgb3JpZ2luYWwgbGluZSBudW1iZXIuXG4gKiBAcGFyYW0gYUNvbHVtbiBUaGUgb3JpZ2luYWwgY29sdW1uIG51bWJlci5cbiAqIEBwYXJhbSBhU291cmNlIFRoZSBvcmlnaW5hbCBzb3VyY2UncyBmaWxlbmFtZS5cbiAqIEBwYXJhbSBhQ2h1bmtzIE9wdGlvbmFsLiBBbiBhcnJheSBvZiBzdHJpbmdzIHdoaWNoIGFyZSBzbmlwcGV0cyBvZlxuICogICAgICAgIGdlbmVyYXRlZCBKUywgb3Igb3RoZXIgU291cmNlTm9kZXMuXG4gKiBAcGFyYW0gYU5hbWUgVGhlIG9yaWdpbmFsIGlkZW50aWZpZXIuXG4gKi9cbmZ1bmN0aW9uIFNvdXJjZU5vZGUoYUxpbmUsIGFDb2x1bW4sIGFTb3VyY2UsIGFDaHVua3MsIGFOYW1lKSB7XG4gIHRoaXMuY2hpbGRyZW4gPSBbXTtcbiAgdGhpcy5zb3VyY2VDb250ZW50cyA9IHt9O1xuICB0aGlzLmxpbmUgPSBhTGluZSA9PSBudWxsID8gbnVsbCA6IGFMaW5lO1xuICB0aGlzLmNvbHVtbiA9IGFDb2x1bW4gPT0gbnVsbCA/IG51bGwgOiBhQ29sdW1uO1xuICB0aGlzLnNvdXJjZSA9IGFTb3VyY2UgPT0gbnVsbCA/IG51bGwgOiBhU291cmNlO1xuICB0aGlzLm5hbWUgPSBhTmFtZSA9PSBudWxsID8gbnVsbCA6IGFOYW1lO1xuICB0aGlzW2lzU291cmNlTm9kZV0gPSB0cnVlO1xuICBpZiAoYUNodW5rcyAhPSBudWxsKSB0aGlzLmFkZChhQ2h1bmtzKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgU291cmNlTm9kZSBmcm9tIGdlbmVyYXRlZCBjb2RlIGFuZCBhIFNvdXJjZU1hcENvbnN1bWVyLlxuICpcbiAqIEBwYXJhbSBhR2VuZXJhdGVkQ29kZSBUaGUgZ2VuZXJhdGVkIGNvZGVcbiAqIEBwYXJhbSBhU291cmNlTWFwQ29uc3VtZXIgVGhlIFNvdXJjZU1hcCBmb3IgdGhlIGdlbmVyYXRlZCBjb2RlXG4gKiBAcGFyYW0gYVJlbGF0aXZlUGF0aCBPcHRpb25hbC4gVGhlIHBhdGggdGhhdCByZWxhdGl2ZSBzb3VyY2VzIGluIHRoZVxuICogICAgICAgIFNvdXJjZU1hcENvbnN1bWVyIHNob3VsZCBiZSByZWxhdGl2ZSB0by5cbiAqL1xuU291cmNlTm9kZS5mcm9tU3RyaW5nV2l0aFNvdXJjZU1hcCA9XG4gIGZ1bmN0aW9uIFNvdXJjZU5vZGVfZnJvbVN0cmluZ1dpdGhTb3VyY2VNYXAoYUdlbmVyYXRlZENvZGUsIGFTb3VyY2VNYXBDb25zdW1lciwgYVJlbGF0aXZlUGF0aCkge1xuICAgIC8vIFRoZSBTb3VyY2VOb2RlIHdlIHdhbnQgdG8gZmlsbCB3aXRoIHRoZSBnZW5lcmF0ZWQgY29kZVxuICAgIC8vIGFuZCB0aGUgU291cmNlTWFwXG4gICAgdmFyIG5vZGUgPSBuZXcgU291cmNlTm9kZSgpO1xuXG4gICAgLy8gQWxsIGV2ZW4gaW5kaWNlcyBvZiB0aGlzIGFycmF5IGFyZSBvbmUgbGluZSBvZiB0aGUgZ2VuZXJhdGVkIGNvZGUsXG4gICAgLy8gd2hpbGUgYWxsIG9kZCBpbmRpY2VzIGFyZSB0aGUgbmV3bGluZXMgYmV0d2VlbiB0d28gYWRqYWNlbnQgbGluZXNcbiAgICAvLyAoc2luY2UgYFJFR0VYX05FV0xJTkVgIGNhcHR1cmVzIGl0cyBtYXRjaCkuXG4gICAgLy8gUHJvY2Vzc2VkIGZyYWdtZW50cyBhcmUgYWNjZXNzZWQgYnkgY2FsbGluZyBgc2hpZnROZXh0TGluZWAuXG4gICAgdmFyIHJlbWFpbmluZ0xpbmVzID0gYUdlbmVyYXRlZENvZGUuc3BsaXQoUkVHRVhfTkVXTElORSk7XG4gICAgdmFyIHJlbWFpbmluZ0xpbmVzSW5kZXggPSAwO1xuICAgIHZhciBzaGlmdE5leHRMaW5lID0gZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgbGluZUNvbnRlbnRzID0gZ2V0TmV4dExpbmUoKTtcbiAgICAgIC8vIFRoZSBsYXN0IGxpbmUgb2YgYSBmaWxlIG1pZ2h0IG5vdCBoYXZlIGEgbmV3bGluZS5cbiAgICAgIHZhciBuZXdMaW5lID0gZ2V0TmV4dExpbmUoKSB8fCBcIlwiO1xuICAgICAgcmV0dXJuIGxpbmVDb250ZW50cyArIG5ld0xpbmU7XG5cbiAgICAgIGZ1bmN0aW9uIGdldE5leHRMaW5lKCkge1xuICAgICAgICByZXR1cm4gcmVtYWluaW5nTGluZXNJbmRleCA8IHJlbWFpbmluZ0xpbmVzLmxlbmd0aCA/XG4gICAgICAgICAgICByZW1haW5pbmdMaW5lc1tyZW1haW5pbmdMaW5lc0luZGV4KytdIDogdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH07XG5cbiAgICAvLyBXZSBuZWVkIHRvIHJlbWVtYmVyIHRoZSBwb3NpdGlvbiBvZiBcInJlbWFpbmluZ0xpbmVzXCJcbiAgICB2YXIgbGFzdEdlbmVyYXRlZExpbmUgPSAxLCBsYXN0R2VuZXJhdGVkQ29sdW1uID0gMDtcblxuICAgIC8vIFRoZSBnZW5lcmF0ZSBTb3VyY2VOb2RlcyB3ZSBuZWVkIGEgY29kZSByYW5nZS5cbiAgICAvLyBUbyBleHRyYWN0IGl0IGN1cnJlbnQgYW5kIGxhc3QgbWFwcGluZyBpcyB1c2VkLlxuICAgIC8vIEhlcmUgd2Ugc3RvcmUgdGhlIGxhc3QgbWFwcGluZy5cbiAgICB2YXIgbGFzdE1hcHBpbmcgPSBudWxsO1xuXG4gICAgYVNvdXJjZU1hcENvbnN1bWVyLmVhY2hNYXBwaW5nKGZ1bmN0aW9uIChtYXBwaW5nKSB7XG4gICAgICBpZiAobGFzdE1hcHBpbmcgIT09IG51bGwpIHtcbiAgICAgICAgLy8gV2UgYWRkIHRoZSBjb2RlIGZyb20gXCJsYXN0TWFwcGluZ1wiIHRvIFwibWFwcGluZ1wiOlxuICAgICAgICAvLyBGaXJzdCBjaGVjayBpZiB0aGVyZSBpcyBhIG5ldyBsaW5lIGluIGJldHdlZW4uXG4gICAgICAgIGlmIChsYXN0R2VuZXJhdGVkTGluZSA8IG1hcHBpbmcuZ2VuZXJhdGVkTGluZSkge1xuICAgICAgICAgIC8vIEFzc29jaWF0ZSBmaXJzdCBsaW5lIHdpdGggXCJsYXN0TWFwcGluZ1wiXG4gICAgICAgICAgYWRkTWFwcGluZ1dpdGhDb2RlKGxhc3RNYXBwaW5nLCBzaGlmdE5leHRMaW5lKCkpO1xuICAgICAgICAgIGxhc3RHZW5lcmF0ZWRMaW5lKys7XG4gICAgICAgICAgbGFzdEdlbmVyYXRlZENvbHVtbiA9IDA7XG4gICAgICAgICAgLy8gVGhlIHJlbWFpbmluZyBjb2RlIGlzIGFkZGVkIHdpdGhvdXQgbWFwcGluZ1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFRoZXJlIGlzIG5vIG5ldyBsaW5lIGluIGJldHdlZW4uXG4gICAgICAgICAgLy8gQXNzb2NpYXRlIHRoZSBjb2RlIGJldHdlZW4gXCJsYXN0R2VuZXJhdGVkQ29sdW1uXCIgYW5kXG4gICAgICAgICAgLy8gXCJtYXBwaW5nLmdlbmVyYXRlZENvbHVtblwiIHdpdGggXCJsYXN0TWFwcGluZ1wiXG4gICAgICAgICAgdmFyIG5leHRMaW5lID0gcmVtYWluaW5nTGluZXNbcmVtYWluaW5nTGluZXNJbmRleF07XG4gICAgICAgICAgdmFyIGNvZGUgPSBuZXh0TGluZS5zdWJzdHIoMCwgbWFwcGluZy5nZW5lcmF0ZWRDb2x1bW4gLVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RHZW5lcmF0ZWRDb2x1bW4pO1xuICAgICAgICAgIHJlbWFpbmluZ0xpbmVzW3JlbWFpbmluZ0xpbmVzSW5kZXhdID0gbmV4dExpbmUuc3Vic3RyKG1hcHBpbmcuZ2VuZXJhdGVkQ29sdW1uIC1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0R2VuZXJhdGVkQ29sdW1uKTtcbiAgICAgICAgICBsYXN0R2VuZXJhdGVkQ29sdW1uID0gbWFwcGluZy5nZW5lcmF0ZWRDb2x1bW47XG4gICAgICAgICAgYWRkTWFwcGluZ1dpdGhDb2RlKGxhc3RNYXBwaW5nLCBjb2RlKTtcbiAgICAgICAgICAvLyBObyBtb3JlIHJlbWFpbmluZyBjb2RlLCBjb250aW51ZVxuICAgICAgICAgIGxhc3RNYXBwaW5nID0gbWFwcGluZztcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIFdlIGFkZCB0aGUgZ2VuZXJhdGVkIGNvZGUgdW50aWwgdGhlIGZpcnN0IG1hcHBpbmdcbiAgICAgIC8vIHRvIHRoZSBTb3VyY2VOb2RlIHdpdGhvdXQgYW55IG1hcHBpbmcuXG4gICAgICAvLyBFYWNoIGxpbmUgaXMgYWRkZWQgYXMgc2VwYXJhdGUgc3RyaW5nLlxuICAgICAgd2hpbGUgKGxhc3RHZW5lcmF0ZWRMaW5lIDwgbWFwcGluZy5nZW5lcmF0ZWRMaW5lKSB7XG4gICAgICAgIG5vZGUuYWRkKHNoaWZ0TmV4dExpbmUoKSk7XG4gICAgICAgIGxhc3RHZW5lcmF0ZWRMaW5lKys7XG4gICAgICB9XG4gICAgICBpZiAobGFzdEdlbmVyYXRlZENvbHVtbiA8IG1hcHBpbmcuZ2VuZXJhdGVkQ29sdW1uKSB7XG4gICAgICAgIHZhciBuZXh0TGluZSA9IHJlbWFpbmluZ0xpbmVzW3JlbWFpbmluZ0xpbmVzSW5kZXhdO1xuICAgICAgICBub2RlLmFkZChuZXh0TGluZS5zdWJzdHIoMCwgbWFwcGluZy5nZW5lcmF0ZWRDb2x1bW4pKTtcbiAgICAgICAgcmVtYWluaW5nTGluZXNbcmVtYWluaW5nTGluZXNJbmRleF0gPSBuZXh0TGluZS5zdWJzdHIobWFwcGluZy5nZW5lcmF0ZWRDb2x1bW4pO1xuICAgICAgICBsYXN0R2VuZXJhdGVkQ29sdW1uID0gbWFwcGluZy5nZW5lcmF0ZWRDb2x1bW47XG4gICAgICB9XG4gICAgICBsYXN0TWFwcGluZyA9IG1hcHBpbmc7XG4gICAgfSwgdGhpcyk7XG4gICAgLy8gV2UgaGF2ZSBwcm9jZXNzZWQgYWxsIG1hcHBpbmdzLlxuICAgIGlmIChyZW1haW5pbmdMaW5lc0luZGV4IDwgcmVtYWluaW5nTGluZXMubGVuZ3RoKSB7XG4gICAgICBpZiAobGFzdE1hcHBpbmcpIHtcbiAgICAgICAgLy8gQXNzb2NpYXRlIHRoZSByZW1haW5pbmcgY29kZSBpbiB0aGUgY3VycmVudCBsaW5lIHdpdGggXCJsYXN0TWFwcGluZ1wiXG4gICAgICAgIGFkZE1hcHBpbmdXaXRoQ29kZShsYXN0TWFwcGluZywgc2hpZnROZXh0TGluZSgpKTtcbiAgICAgIH1cbiAgICAgIC8vIGFuZCBhZGQgdGhlIHJlbWFpbmluZyBsaW5lcyB3aXRob3V0IGFueSBtYXBwaW5nXG4gICAgICBub2RlLmFkZChyZW1haW5pbmdMaW5lcy5zcGxpY2UocmVtYWluaW5nTGluZXNJbmRleCkuam9pbihcIlwiKSk7XG4gICAgfVxuXG4gICAgLy8gQ29weSBzb3VyY2VzQ29udGVudCBpbnRvIFNvdXJjZU5vZGVcbiAgICBhU291cmNlTWFwQ29uc3VtZXIuc291cmNlcy5mb3JFYWNoKGZ1bmN0aW9uIChzb3VyY2VGaWxlKSB7XG4gICAgICB2YXIgY29udGVudCA9IGFTb3VyY2VNYXBDb25zdW1lci5zb3VyY2VDb250ZW50Rm9yKHNvdXJjZUZpbGUpO1xuICAgICAgaWYgKGNvbnRlbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoYVJlbGF0aXZlUGF0aCAhPSBudWxsKSB7XG4gICAgICAgICAgc291cmNlRmlsZSA9IHV0aWwuam9pbihhUmVsYXRpdmVQYXRoLCBzb3VyY2VGaWxlKTtcbiAgICAgICAgfVxuICAgICAgICBub2RlLnNldFNvdXJjZUNvbnRlbnQoc291cmNlRmlsZSwgY29udGVudCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbm9kZTtcblxuICAgIGZ1bmN0aW9uIGFkZE1hcHBpbmdXaXRoQ29kZShtYXBwaW5nLCBjb2RlKSB7XG4gICAgICBpZiAobWFwcGluZyA9PT0gbnVsbCB8fCBtYXBwaW5nLnNvdXJjZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIG5vZGUuYWRkKGNvZGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIHNvdXJjZSA9IGFSZWxhdGl2ZVBhdGhcbiAgICAgICAgICA/IHV0aWwuam9pbihhUmVsYXRpdmVQYXRoLCBtYXBwaW5nLnNvdXJjZSlcbiAgICAgICAgICA6IG1hcHBpbmcuc291cmNlO1xuICAgICAgICBub2RlLmFkZChuZXcgU291cmNlTm9kZShtYXBwaW5nLm9yaWdpbmFsTGluZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZy5vcmlnaW5hbENvbHVtbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nLm5hbWUpKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbi8qKlxuICogQWRkIGEgY2h1bmsgb2YgZ2VuZXJhdGVkIEpTIHRvIHRoaXMgc291cmNlIG5vZGUuXG4gKlxuICogQHBhcmFtIGFDaHVuayBBIHN0cmluZyBzbmlwcGV0IG9mIGdlbmVyYXRlZCBKUyBjb2RlLCBhbm90aGVyIGluc3RhbmNlIG9mXG4gKiAgICAgICAgU291cmNlTm9kZSwgb3IgYW4gYXJyYXkgd2hlcmUgZWFjaCBtZW1iZXIgaXMgb25lIG9mIHRob3NlIHRoaW5ncy5cbiAqL1xuU291cmNlTm9kZS5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gU291cmNlTm9kZV9hZGQoYUNodW5rKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KGFDaHVuaykpIHtcbiAgICBhQ2h1bmsuZm9yRWFjaChmdW5jdGlvbiAoY2h1bmspIHtcbiAgICAgIHRoaXMuYWRkKGNodW5rKTtcbiAgICB9LCB0aGlzKTtcbiAgfVxuICBlbHNlIGlmIChhQ2h1bmtbaXNTb3VyY2VOb2RlXSB8fCB0eXBlb2YgYUNodW5rID09PSBcInN0cmluZ1wiKSB7XG4gICAgaWYgKGFDaHVuaykge1xuICAgICAgdGhpcy5jaGlsZHJlbi5wdXNoKGFDaHVuayk7XG4gICAgfVxuICB9XG4gIGVsc2Uge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgICBcIkV4cGVjdGVkIGEgU291cmNlTm9kZSwgc3RyaW5nLCBvciBhbiBhcnJheSBvZiBTb3VyY2VOb2RlcyBhbmQgc3RyaW5ncy4gR290IFwiICsgYUNodW5rXG4gICAgKTtcbiAgfVxuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogQWRkIGEgY2h1bmsgb2YgZ2VuZXJhdGVkIEpTIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhpcyBzb3VyY2Ugbm9kZS5cbiAqXG4gKiBAcGFyYW0gYUNodW5rIEEgc3RyaW5nIHNuaXBwZXQgb2YgZ2VuZXJhdGVkIEpTIGNvZGUsIGFub3RoZXIgaW5zdGFuY2Ugb2ZcbiAqICAgICAgICBTb3VyY2VOb2RlLCBvciBhbiBhcnJheSB3aGVyZSBlYWNoIG1lbWJlciBpcyBvbmUgb2YgdGhvc2UgdGhpbmdzLlxuICovXG5Tb3VyY2VOb2RlLnByb3RvdHlwZS5wcmVwZW5kID0gZnVuY3Rpb24gU291cmNlTm9kZV9wcmVwZW5kKGFDaHVuaykge1xuICBpZiAoQXJyYXkuaXNBcnJheShhQ2h1bmspKSB7XG4gICAgZm9yICh2YXIgaSA9IGFDaHVuay5sZW5ndGgtMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgIHRoaXMucHJlcGVuZChhQ2h1bmtbaV0pO1xuICAgIH1cbiAgfVxuICBlbHNlIGlmIChhQ2h1bmtbaXNTb3VyY2VOb2RlXSB8fCB0eXBlb2YgYUNodW5rID09PSBcInN0cmluZ1wiKSB7XG4gICAgdGhpcy5jaGlsZHJlbi51bnNoaWZ0KGFDaHVuayk7XG4gIH1cbiAgZWxzZSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgIFwiRXhwZWN0ZWQgYSBTb3VyY2VOb2RlLCBzdHJpbmcsIG9yIGFuIGFycmF5IG9mIFNvdXJjZU5vZGVzIGFuZCBzdHJpbmdzLiBHb3QgXCIgKyBhQ2h1bmtcbiAgICApO1xuICB9XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBXYWxrIG92ZXIgdGhlIHRyZWUgb2YgSlMgc25pcHBldHMgaW4gdGhpcyBub2RlIGFuZCBpdHMgY2hpbGRyZW4uIFRoZVxuICogd2Fsa2luZyBmdW5jdGlvbiBpcyBjYWxsZWQgb25jZSBmb3IgZWFjaCBzbmlwcGV0IG9mIEpTIGFuZCBpcyBwYXNzZWQgdGhhdFxuICogc25pcHBldCBhbmQgdGhlIGl0cyBvcmlnaW5hbCBhc3NvY2lhdGVkIHNvdXJjZSdzIGxpbmUvY29sdW1uIGxvY2F0aW9uLlxuICpcbiAqIEBwYXJhbSBhRm4gVGhlIHRyYXZlcnNhbCBmdW5jdGlvbi5cbiAqL1xuU291cmNlTm9kZS5wcm90b3R5cGUud2FsayA9IGZ1bmN0aW9uIFNvdXJjZU5vZGVfd2FsayhhRm4pIHtcbiAgdmFyIGNodW5rO1xuICBmb3IgKHZhciBpID0gMCwgbGVuID0gdGhpcy5jaGlsZHJlbi5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgIGNodW5rID0gdGhpcy5jaGlsZHJlbltpXTtcbiAgICBpZiAoY2h1bmtbaXNTb3VyY2VOb2RlXSkge1xuICAgICAgY2h1bmsud2FsayhhRm4pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGlmIChjaHVuayAhPT0gJycpIHtcbiAgICAgICAgYUZuKGNodW5rLCB7IHNvdXJjZTogdGhpcy5zb3VyY2UsXG4gICAgICAgICAgICAgICAgICAgICBsaW5lOiB0aGlzLmxpbmUsXG4gICAgICAgICAgICAgICAgICAgICBjb2x1bW46IHRoaXMuY29sdW1uLFxuICAgICAgICAgICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufTtcblxuLyoqXG4gKiBMaWtlIGBTdHJpbmcucHJvdG90eXBlLmpvaW5gIGV4Y2VwdCBmb3IgU291cmNlTm9kZXMuIEluc2VydHMgYGFTdHJgIGJldHdlZW5cbiAqIGVhY2ggb2YgYHRoaXMuY2hpbGRyZW5gLlxuICpcbiAqIEBwYXJhbSBhU2VwIFRoZSBzZXBhcmF0b3IuXG4gKi9cblNvdXJjZU5vZGUucHJvdG90eXBlLmpvaW4gPSBmdW5jdGlvbiBTb3VyY2VOb2RlX2pvaW4oYVNlcCkge1xuICB2YXIgbmV3Q2hpbGRyZW47XG4gIHZhciBpO1xuICB2YXIgbGVuID0gdGhpcy5jaGlsZHJlbi5sZW5ndGg7XG4gIGlmIChsZW4gPiAwKSB7XG4gICAgbmV3Q2hpbGRyZW4gPSBbXTtcbiAgICBmb3IgKGkgPSAwOyBpIDwgbGVuLTE7IGkrKykge1xuICAgICAgbmV3Q2hpbGRyZW4ucHVzaCh0aGlzLmNoaWxkcmVuW2ldKTtcbiAgICAgIG5ld0NoaWxkcmVuLnB1c2goYVNlcCk7XG4gICAgfVxuICAgIG5ld0NoaWxkcmVuLnB1c2godGhpcy5jaGlsZHJlbltpXSk7XG4gICAgdGhpcy5jaGlsZHJlbiA9IG5ld0NoaWxkcmVuO1xuICB9XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBDYWxsIFN0cmluZy5wcm90b3R5cGUucmVwbGFjZSBvbiB0aGUgdmVyeSByaWdodC1tb3N0IHNvdXJjZSBzbmlwcGV0LiBVc2VmdWxcbiAqIGZvciB0cmltbWluZyB3aGl0ZXNwYWNlIGZyb20gdGhlIGVuZCBvZiBhIHNvdXJjZSBub2RlLCBldGMuXG4gKlxuICogQHBhcmFtIGFQYXR0ZXJuIFRoZSBwYXR0ZXJuIHRvIHJlcGxhY2UuXG4gKiBAcGFyYW0gYVJlcGxhY2VtZW50IFRoZSB0aGluZyB0byByZXBsYWNlIHRoZSBwYXR0ZXJuIHdpdGguXG4gKi9cblNvdXJjZU5vZGUucHJvdG90eXBlLnJlcGxhY2VSaWdodCA9IGZ1bmN0aW9uIFNvdXJjZU5vZGVfcmVwbGFjZVJpZ2h0KGFQYXR0ZXJuLCBhUmVwbGFjZW1lbnQpIHtcbiAgdmFyIGxhc3RDaGlsZCA9IHRoaXMuY2hpbGRyZW5bdGhpcy5jaGlsZHJlbi5sZW5ndGggLSAxXTtcbiAgaWYgKGxhc3RDaGlsZFtpc1NvdXJjZU5vZGVdKSB7XG4gICAgbGFzdENoaWxkLnJlcGxhY2VSaWdodChhUGF0dGVybiwgYVJlcGxhY2VtZW50KTtcbiAgfVxuICBlbHNlIGlmICh0eXBlb2YgbGFzdENoaWxkID09PSAnc3RyaW5nJykge1xuICAgIHRoaXMuY2hpbGRyZW5bdGhpcy5jaGlsZHJlbi5sZW5ndGggLSAxXSA9IGxhc3RDaGlsZC5yZXBsYWNlKGFQYXR0ZXJuLCBhUmVwbGFjZW1lbnQpO1xuICB9XG4gIGVsc2Uge1xuICAgIHRoaXMuY2hpbGRyZW4ucHVzaCgnJy5yZXBsYWNlKGFQYXR0ZXJuLCBhUmVwbGFjZW1lbnQpKTtcbiAgfVxuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogU2V0IHRoZSBzb3VyY2UgY29udGVudCBmb3IgYSBzb3VyY2UgZmlsZS4gVGhpcyB3aWxsIGJlIGFkZGVkIHRvIHRoZSBTb3VyY2VNYXBHZW5lcmF0b3JcbiAqIGluIHRoZSBzb3VyY2VzQ29udGVudCBmaWVsZC5cbiAqXG4gKiBAcGFyYW0gYVNvdXJjZUZpbGUgVGhlIGZpbGVuYW1lIG9mIHRoZSBzb3VyY2UgZmlsZVxuICogQHBhcmFtIGFTb3VyY2VDb250ZW50IFRoZSBjb250ZW50IG9mIHRoZSBzb3VyY2UgZmlsZVxuICovXG5Tb3VyY2VOb2RlLnByb3RvdHlwZS5zZXRTb3VyY2VDb250ZW50ID1cbiAgZnVuY3Rpb24gU291cmNlTm9kZV9zZXRTb3VyY2VDb250ZW50KGFTb3VyY2VGaWxlLCBhU291cmNlQ29udGVudCkge1xuICAgIHRoaXMuc291cmNlQ29udGVudHNbdXRpbC50b1NldFN0cmluZyhhU291cmNlRmlsZSldID0gYVNvdXJjZUNvbnRlbnQ7XG4gIH07XG5cbi8qKlxuICogV2FsayBvdmVyIHRoZSB0cmVlIG9mIFNvdXJjZU5vZGVzLiBUaGUgd2Fsa2luZyBmdW5jdGlvbiBpcyBjYWxsZWQgZm9yIGVhY2hcbiAqIHNvdXJjZSBmaWxlIGNvbnRlbnQgYW5kIGlzIHBhc3NlZCB0aGUgZmlsZW5hbWUgYW5kIHNvdXJjZSBjb250ZW50LlxuICpcbiAqIEBwYXJhbSBhRm4gVGhlIHRyYXZlcnNhbCBmdW5jdGlvbi5cbiAqL1xuU291cmNlTm9kZS5wcm90b3R5cGUud2Fsa1NvdXJjZUNvbnRlbnRzID1cbiAgZnVuY3Rpb24gU291cmNlTm9kZV93YWxrU291cmNlQ29udGVudHMoYUZuKSB7XG4gICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IHRoaXMuY2hpbGRyZW4ubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGlmICh0aGlzLmNoaWxkcmVuW2ldW2lzU291cmNlTm9kZV0pIHtcbiAgICAgICAgdGhpcy5jaGlsZHJlbltpXS53YWxrU291cmNlQ29udGVudHMoYUZuKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgc291cmNlcyA9IE9iamVjdC5rZXlzKHRoaXMuc291cmNlQ29udGVudHMpO1xuICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBzb3VyY2VzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICBhRm4odXRpbC5mcm9tU2V0U3RyaW5nKHNvdXJjZXNbaV0pLCB0aGlzLnNvdXJjZUNvbnRlbnRzW3NvdXJjZXNbaV1dKTtcbiAgICB9XG4gIH07XG5cbi8qKlxuICogUmV0dXJuIHRoZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBzb3VyY2Ugbm9kZS4gV2Fsa3Mgb3ZlciB0aGUgdHJlZVxuICogYW5kIGNvbmNhdGVuYXRlcyBhbGwgdGhlIHZhcmlvdXMgc25pcHBldHMgdG9nZXRoZXIgdG8gb25lIHN0cmluZy5cbiAqL1xuU291cmNlTm9kZS5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbiBTb3VyY2VOb2RlX3RvU3RyaW5nKCkge1xuICB2YXIgc3RyID0gXCJcIjtcbiAgdGhpcy53YWxrKGZ1bmN0aW9uIChjaHVuaykge1xuICAgIHN0ciArPSBjaHVuaztcbiAgfSk7XG4gIHJldHVybiBzdHI7XG59O1xuXG4vKipcbiAqIFJldHVybnMgdGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIHNvdXJjZSBub2RlIGFsb25nIHdpdGggYSBzb3VyY2VcbiAqIG1hcC5cbiAqL1xuU291cmNlTm9kZS5wcm90b3R5cGUudG9TdHJpbmdXaXRoU291cmNlTWFwID0gZnVuY3Rpb24gU291cmNlTm9kZV90b1N0cmluZ1dpdGhTb3VyY2VNYXAoYUFyZ3MpIHtcbiAgdmFyIGdlbmVyYXRlZCA9IHtcbiAgICBjb2RlOiBcIlwiLFxuICAgIGxpbmU6IDEsXG4gICAgY29sdW1uOiAwXG4gIH07XG4gIHZhciBtYXAgPSBuZXcgU291cmNlTWFwR2VuZXJhdG9yKGFBcmdzKTtcbiAgdmFyIHNvdXJjZU1hcHBpbmdBY3RpdmUgPSBmYWxzZTtcbiAgdmFyIGxhc3RPcmlnaW5hbFNvdXJjZSA9IG51bGw7XG4gIHZhciBsYXN0T3JpZ2luYWxMaW5lID0gbnVsbDtcbiAgdmFyIGxhc3RPcmlnaW5hbENvbHVtbiA9IG51bGw7XG4gIHZhciBsYXN0T3JpZ2luYWxOYW1lID0gbnVsbDtcbiAgdGhpcy53YWxrKGZ1bmN0aW9uIChjaHVuaywgb3JpZ2luYWwpIHtcbiAgICBnZW5lcmF0ZWQuY29kZSArPSBjaHVuaztcbiAgICBpZiAob3JpZ2luYWwuc291cmNlICE9PSBudWxsXG4gICAgICAgICYmIG9yaWdpbmFsLmxpbmUgIT09IG51bGxcbiAgICAgICAgJiYgb3JpZ2luYWwuY29sdW1uICE9PSBudWxsKSB7XG4gICAgICBpZihsYXN0T3JpZ2luYWxTb3VyY2UgIT09IG9yaWdpbmFsLnNvdXJjZVxuICAgICAgICAgfHwgbGFzdE9yaWdpbmFsTGluZSAhPT0gb3JpZ2luYWwubGluZVxuICAgICAgICAgfHwgbGFzdE9yaWdpbmFsQ29sdW1uICE9PSBvcmlnaW5hbC5jb2x1bW5cbiAgICAgICAgIHx8IGxhc3RPcmlnaW5hbE5hbWUgIT09IG9yaWdpbmFsLm5hbWUpIHtcbiAgICAgICAgbWFwLmFkZE1hcHBpbmcoe1xuICAgICAgICAgIHNvdXJjZTogb3JpZ2luYWwuc291cmNlLFxuICAgICAgICAgIG9yaWdpbmFsOiB7XG4gICAgICAgICAgICBsaW5lOiBvcmlnaW5hbC5saW5lLFxuICAgICAgICAgICAgY29sdW1uOiBvcmlnaW5hbC5jb2x1bW5cbiAgICAgICAgICB9LFxuICAgICAgICAgIGdlbmVyYXRlZDoge1xuICAgICAgICAgICAgbGluZTogZ2VuZXJhdGVkLmxpbmUsXG4gICAgICAgICAgICBjb2x1bW46IGdlbmVyYXRlZC5jb2x1bW5cbiAgICAgICAgICB9LFxuICAgICAgICAgIG5hbWU6IG9yaWdpbmFsLm5hbWVcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBsYXN0T3JpZ2luYWxTb3VyY2UgPSBvcmlnaW5hbC5zb3VyY2U7XG4gICAgICBsYXN0T3JpZ2luYWxMaW5lID0gb3JpZ2luYWwubGluZTtcbiAgICAgIGxhc3RPcmlnaW5hbENvbHVtbiA9IG9yaWdpbmFsLmNvbHVtbjtcbiAgICAgIGxhc3RPcmlnaW5hbE5hbWUgPSBvcmlnaW5hbC5uYW1lO1xuICAgICAgc291cmNlTWFwcGluZ0FjdGl2ZSA9IHRydWU7XG4gICAgfSBlbHNlIGlmIChzb3VyY2VNYXBwaW5nQWN0aXZlKSB7XG4gICAgICBtYXAuYWRkTWFwcGluZyh7XG4gICAgICAgIGdlbmVyYXRlZDoge1xuICAgICAgICAgIGxpbmU6IGdlbmVyYXRlZC5saW5lLFxuICAgICAgICAgIGNvbHVtbjogZ2VuZXJhdGVkLmNvbHVtblxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGxhc3RPcmlnaW5hbFNvdXJjZSA9IG51bGw7XG4gICAgICBzb3VyY2VNYXBwaW5nQWN0aXZlID0gZmFsc2U7XG4gICAgfVxuICAgIGZvciAodmFyIGlkeCA9IDAsIGxlbmd0aCA9IGNodW5rLmxlbmd0aDsgaWR4IDwgbGVuZ3RoOyBpZHgrKykge1xuICAgICAgaWYgKGNodW5rLmNoYXJDb2RlQXQoaWR4KSA9PT0gTkVXTElORV9DT0RFKSB7XG4gICAgICAgIGdlbmVyYXRlZC5saW5lKys7XG4gICAgICAgIGdlbmVyYXRlZC5jb2x1bW4gPSAwO1xuICAgICAgICAvLyBNYXBwaW5ncyBlbmQgYXQgZW9sXG4gICAgICAgIGlmIChpZHggKyAxID09PSBsZW5ndGgpIHtcbiAgICAgICAgICBsYXN0T3JpZ2luYWxTb3VyY2UgPSBudWxsO1xuICAgICAgICAgIHNvdXJjZU1hcHBpbmdBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIGlmIChzb3VyY2VNYXBwaW5nQWN0aXZlKSB7XG4gICAgICAgICAgbWFwLmFkZE1hcHBpbmcoe1xuICAgICAgICAgICAgc291cmNlOiBvcmlnaW5hbC5zb3VyY2UsXG4gICAgICAgICAgICBvcmlnaW5hbDoge1xuICAgICAgICAgICAgICBsaW5lOiBvcmlnaW5hbC5saW5lLFxuICAgICAgICAgICAgICBjb2x1bW46IG9yaWdpbmFsLmNvbHVtblxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdlbmVyYXRlZDoge1xuICAgICAgICAgICAgICBsaW5lOiBnZW5lcmF0ZWQubGluZSxcbiAgICAgICAgICAgICAgY29sdW1uOiBnZW5lcmF0ZWQuY29sdW1uXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmFtZTogb3JpZ2luYWwubmFtZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBnZW5lcmF0ZWQuY29sdW1uKys7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbiAgdGhpcy53YWxrU291cmNlQ29udGVudHMoZnVuY3Rpb24gKHNvdXJjZUZpbGUsIHNvdXJjZUNvbnRlbnQpIHtcbiAgICBtYXAuc2V0U291cmNlQ29udGVudChzb3VyY2VGaWxlLCBzb3VyY2VDb250ZW50KTtcbiAgfSk7XG5cbiAgcmV0dXJuIHsgY29kZTogZ2VuZXJhdGVkLmNvZGUsIG1hcDogbWFwIH07XG59O1xuXG5leHBvcnRzLlNvdXJjZU5vZGUgPSBTb3VyY2VOb2RlO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9saWIvc291cmNlLW5vZGUuanNcbi8vIG1vZHVsZSBpZCA9IDEwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0=