@sd-angular/core 0.0.1050 → 1.0.2

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 (530) hide show
  1. package/api/package.json +2 -3
  2. package/api/sd-angular-core-api.metadata.json +1 -1
  3. package/assets/scss/sd-core.scss +0 -2
  4. package/bundles/sd-angular-core-api.umd.js +3 -25
  5. package/bundles/sd-angular-core-api.umd.js.map +1 -1
  6. package/bundles/sd-angular-core-api.umd.min.js +1 -1
  7. package/bundles/sd-angular-core-api.umd.min.js.map +1 -1
  8. package/bundles/sd-angular-core-chart.umd.js +1 -1
  9. package/bundles/sd-angular-core-chart.umd.min.js +1 -1
  10. package/bundles/sd-angular-core-chart.umd.min.js.map +1 -1
  11. package/bundles/sd-angular-core-date-range.umd.js +1 -1
  12. package/bundles/sd-angular-core-date-range.umd.min.js +1 -1
  13. package/bundles/sd-angular-core-date-time.umd.js +1 -1
  14. package/bundles/sd-angular-core-date-time.umd.min.js +2 -2
  15. package/bundles/sd-angular-core-editor.umd.js +1 -1
  16. package/bundles/sd-angular-core-editor.umd.min.js +1 -1
  17. package/bundles/sd-angular-core-export.umd.js +5 -24
  18. package/bundles/sd-angular-core-export.umd.js.map +1 -1
  19. package/bundles/sd-angular-core-export.umd.min.js +1 -1
  20. package/bundles/sd-angular-core-export.umd.min.js.map +1 -1
  21. package/bundles/sd-angular-core-filter.umd.js +1 -1
  22. package/bundles/sd-angular-core-filter.umd.min.js +1 -1
  23. package/bundles/sd-angular-core-filter.umd.min.js.map +1 -1
  24. package/bundles/sd-angular-core-grid-material.umd.js +61 -55
  25. package/bundles/sd-angular-core-grid-material.umd.js.map +1 -1
  26. package/bundles/sd-angular-core-grid-material.umd.min.js +2 -2
  27. package/bundles/sd-angular-core-grid-material.umd.min.js.map +1 -1
  28. package/bundles/sd-angular-core-grid.umd.js +1 -1
  29. package/bundles/sd-angular-core-grid.umd.min.js +1 -1
  30. package/bundles/sd-angular-core-grid.umd.min.js.map +1 -1
  31. package/bundles/sd-angular-core-input-currency.umd.js +1 -1
  32. package/bundles/sd-angular-core-input-currency.umd.min.js +1 -1
  33. package/bundles/sd-angular-core-konva.umd.js +1 -1
  34. package/bundles/sd-angular-core-konva.umd.min.js +1 -1
  35. package/bundles/sd-angular-core-notify.umd.js +1 -1
  36. package/bundles/sd-angular-core-notify.umd.min.js +1 -1
  37. package/bundles/sd-angular-core-notify.umd.min.js.map +1 -1
  38. package/bundles/sd-angular-core-upload-excel.umd.js +1 -1
  39. package/bundles/sd-angular-core-upload-excel.umd.min.js +1 -1
  40. package/bundles/sd-angular-core-upload-excel.umd.min.js.map +1 -1
  41. package/bundles/sd-angular-core-upload-file.umd.js +1 -1
  42. package/bundles/sd-angular-core-upload-file.umd.min.js +1 -1
  43. package/bundles/sd-angular-core-utility.umd.js +1 -1
  44. package/bundles/sd-angular-core-utility.umd.min.js +1 -1
  45. package/bundles/sd-angular-core-utility.umd.min.js.map +1 -1
  46. package/bundles/sd-angular-core.umd.js +6 -734
  47. package/bundles/sd-angular-core.umd.js.map +1 -1
  48. package/bundles/sd-angular-core.umd.min.js +1 -1
  49. package/bundles/sd-angular-core.umd.min.js.map +1 -1
  50. package/esm2015/api/src/lib/api.service.js +2 -2
  51. package/esm2015/api/src/lib/http.service.js +1 -1
  52. package/esm2015/export/src/lib/export.service.js +2 -2
  53. package/esm2015/grid-material/src/lib/grid-material.component.js +23 -22
  54. package/esm2015/lib/core.module.js +4 -36
  55. package/esm2015/public-api.js +1 -10
  56. package/fesm2015/sd-angular-core-api.js +2 -3
  57. package/fesm2015/sd-angular-core-api.js.map +1 -1
  58. package/fesm2015/sd-angular-core-export.js +1 -1
  59. package/fesm2015/sd-angular-core-export.js.map +1 -1
  60. package/fesm2015/sd-angular-core-grid-material.js +22 -21
  61. package/fesm2015/sd-angular-core-grid-material.js.map +1 -1
  62. package/fesm2015/sd-angular-core.js +5 -367
  63. package/fesm2015/sd-angular-core.js.map +1 -1
  64. package/package.json +14 -19
  65. package/public-api.d.ts +0 -7
  66. package/sd-angular-core-1.0.2.tgz +0 -0
  67. package/sd-angular-core.metadata.json +1 -1
  68. package/assets/ckeditor/CHANGES.md +0 -1703
  69. package/assets/ckeditor/LICENSE.md +0 -1420
  70. package/assets/ckeditor/README.md +0 -39
  71. package/assets/ckeditor/adapters/jquery.js +0 -10
  72. package/assets/ckeditor/build-config.js +0 -123
  73. package/assets/ckeditor/ckeditor.js +0 -27038
  74. package/assets/ckeditor/config.js +0 -10
  75. package/assets/ckeditor/contents.css +0 -209
  76. package/assets/ckeditor/lang/en.js +0 -5
  77. package/assets/ckeditor/lang/vi.js +0 -5
  78. package/assets/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +0 -10
  79. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt +0 -25
  80. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/af.js +0 -11
  81. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js +0 -11
  82. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/az.js +0 -11
  83. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js +0 -11
  84. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js +0 -13
  85. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js +0 -12
  86. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js +0 -11
  87. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/da.js +0 -11
  88. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/de-ch.js +0 -12
  89. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/de.js +0 -13
  90. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/el.js +0 -13
  91. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/en-au.js +0 -11
  92. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js +0 -11
  93. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/en.js +0 -11
  94. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js +0 -13
  95. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/es-mx.js +0 -13
  96. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/es.js +0 -13
  97. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/et.js +0 -11
  98. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/eu.js +0 -12
  99. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js +0 -11
  100. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js +0 -11
  101. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/fo.js +0 -11
  102. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js +0 -11
  103. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js +0 -13
  104. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js +0 -12
  105. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js +0 -11
  106. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/he.js +0 -11
  107. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js +0 -11
  108. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js +0 -11
  109. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js +0 -12
  110. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/id.js +0 -11
  111. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/it.js +0 -13
  112. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js +0 -9
  113. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/km.js +0 -11
  114. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js +0 -10
  115. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js +0 -11
  116. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js +0 -11
  117. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js +0 -12
  118. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js +0 -11
  119. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js +0 -11
  120. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js +0 -12
  121. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js +0 -12
  122. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/no.js +0 -11
  123. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/oc.js +0 -12
  124. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js +0 -13
  125. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js +0 -13
  126. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js +0 -12
  127. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js +0 -12
  128. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js +0 -11
  129. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/si.js +0 -10
  130. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js +0 -11
  131. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js +0 -11
  132. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js +0 -12
  133. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js +0 -12
  134. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js +0 -12
  135. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js +0 -11
  136. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/th.js +0 -11
  137. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js +0 -12
  138. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/tt.js +0 -11
  139. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js +0 -12
  140. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js +0 -12
  141. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js +0 -11
  142. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js +0 -9
  143. package/assets/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js +0 -9
  144. package/assets/ckeditor/plugins/about/dialogs/about.js +0 -8
  145. package/assets/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png +0 -0
  146. package/assets/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  147. package/assets/ckeditor/plugins/clipboard/dialogs/paste.js +0 -11
  148. package/assets/ckeditor/plugins/colordialog/dialogs/colordialog.css +0 -20
  149. package/assets/ckeditor/plugins/colordialog/dialogs/colordialog.js +0 -14
  150. package/assets/ckeditor/plugins/copyformatting/cursors/cursor-disabled.svg +0 -25
  151. package/assets/ckeditor/plugins/copyformatting/cursors/cursor.svg +0 -14
  152. package/assets/ckeditor/plugins/copyformatting/styles/copyformatting.css +0 -45
  153. package/assets/ckeditor/plugins/dialog/dialogDefinition.js +0 -4
  154. package/assets/ckeditor/plugins/div/dialogs/div.js +0 -9
  155. package/assets/ckeditor/plugins/find/dialogs/find.js +0 -25
  156. package/assets/ckeditor/plugins/flash/dialogs/flash.js +0 -24
  157. package/assets/ckeditor/plugins/flash/images/placeholder.png +0 -0
  158. package/assets/ckeditor/plugins/forms/dialogs/button.js +0 -8
  159. package/assets/ckeditor/plugins/forms/dialogs/checkbox.js +0 -9
  160. package/assets/ckeditor/plugins/forms/dialogs/form.js +0 -8
  161. package/assets/ckeditor/plugins/forms/dialogs/hiddenfield.js +0 -7
  162. package/assets/ckeditor/plugins/forms/dialogs/radio.js +0 -9
  163. package/assets/ckeditor/plugins/forms/dialogs/select.js +0 -21
  164. package/assets/ckeditor/plugins/forms/dialogs/textarea.js +0 -8
  165. package/assets/ckeditor/plugins/forms/dialogs/textfield.js +0 -11
  166. package/assets/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  167. package/assets/ckeditor/plugins/icons.png +0 -0
  168. package/assets/ckeditor/plugins/icons_hidpi.png +0 -0
  169. package/assets/ckeditor/plugins/iframe/dialogs/iframe.js +0 -10
  170. package/assets/ckeditor/plugins/iframe/images/placeholder.png +0 -0
  171. package/assets/ckeditor/plugins/image/dialogs/image.js +0 -44
  172. package/assets/ckeditor/plugins/image/images/noimage.png +0 -0
  173. package/assets/ckeditor/plugins/link/dialogs/anchor.js +0 -8
  174. package/assets/ckeditor/plugins/link/dialogs/link.js +0 -30
  175. package/assets/ckeditor/plugins/link/images/anchor.png +0 -0
  176. package/assets/ckeditor/plugins/link/images/hidpi/anchor.png +0 -0
  177. package/assets/ckeditor/plugins/liststyle/dialogs/liststyle.js +0 -10
  178. package/assets/ckeditor/plugins/magicline/images/hidpi/icon-rtl.png +0 -0
  179. package/assets/ckeditor/plugins/magicline/images/hidpi/icon.png +0 -0
  180. package/assets/ckeditor/plugins/magicline/images/icon-rtl.png +0 -0
  181. package/assets/ckeditor/plugins/magicline/images/icon.png +0 -0
  182. package/assets/ckeditor/plugins/notification/lang/az.js +0 -7
  183. package/assets/ckeditor/plugins/notification/lang/bg.js +0 -7
  184. package/assets/ckeditor/plugins/notification/lang/ca.js +0 -7
  185. package/assets/ckeditor/plugins/notification/lang/cs.js +0 -7
  186. package/assets/ckeditor/plugins/notification/lang/da.js +0 -7
  187. package/assets/ckeditor/plugins/notification/lang/de-ch.js +0 -7
  188. package/assets/ckeditor/plugins/notification/lang/de.js +0 -7
  189. package/assets/ckeditor/plugins/notification/lang/en-au.js +0 -7
  190. package/assets/ckeditor/plugins/notification/lang/en.js +0 -7
  191. package/assets/ckeditor/plugins/notification/lang/eo.js +0 -7
  192. package/assets/ckeditor/plugins/notification/lang/es-mx.js +0 -7
  193. package/assets/ckeditor/plugins/notification/lang/es.js +0 -7
  194. package/assets/ckeditor/plugins/notification/lang/et.js +0 -7
  195. package/assets/ckeditor/plugins/notification/lang/eu.js +0 -7
  196. package/assets/ckeditor/plugins/notification/lang/fa.js +0 -7
  197. package/assets/ckeditor/plugins/notification/lang/fr.js +0 -7
  198. package/assets/ckeditor/plugins/notification/lang/gl.js +0 -7
  199. package/assets/ckeditor/plugins/notification/lang/hr.js +0 -7
  200. package/assets/ckeditor/plugins/notification/lang/hu.js +0 -7
  201. package/assets/ckeditor/plugins/notification/lang/id.js +0 -7
  202. package/assets/ckeditor/plugins/notification/lang/it.js +0 -7
  203. package/assets/ckeditor/plugins/notification/lang/ja.js +0 -7
  204. package/assets/ckeditor/plugins/notification/lang/km.js +0 -7
  205. package/assets/ckeditor/plugins/notification/lang/ko.js +0 -7
  206. package/assets/ckeditor/plugins/notification/lang/ku.js +0 -7
  207. package/assets/ckeditor/plugins/notification/lang/lt.js +0 -7
  208. package/assets/ckeditor/plugins/notification/lang/lv.js +0 -7
  209. package/assets/ckeditor/plugins/notification/lang/nb.js +0 -7
  210. package/assets/ckeditor/plugins/notification/lang/nl.js +0 -7
  211. package/assets/ckeditor/plugins/notification/lang/oc.js +0 -7
  212. package/assets/ckeditor/plugins/notification/lang/pl.js +0 -7
  213. package/assets/ckeditor/plugins/notification/lang/pt-br.js +0 -7
  214. package/assets/ckeditor/plugins/notification/lang/pt.js +0 -7
  215. package/assets/ckeditor/plugins/notification/lang/ro.js +0 -7
  216. package/assets/ckeditor/plugins/notification/lang/ru.js +0 -7
  217. package/assets/ckeditor/plugins/notification/lang/sk.js +0 -7
  218. package/assets/ckeditor/plugins/notification/lang/sq.js +0 -7
  219. package/assets/ckeditor/plugins/notification/lang/sr-latn.js +0 -7
  220. package/assets/ckeditor/plugins/notification/lang/sr.js +0 -7
  221. package/assets/ckeditor/plugins/notification/lang/sv.js +0 -7
  222. package/assets/ckeditor/plugins/notification/lang/tr.js +0 -7
  223. package/assets/ckeditor/plugins/notification/lang/ug.js +0 -7
  224. package/assets/ckeditor/plugins/notification/lang/uk.js +0 -7
  225. package/assets/ckeditor/plugins/notification/lang/zh-cn.js +0 -7
  226. package/assets/ckeditor/plugins/notification/lang/zh.js +0 -7
  227. package/assets/ckeditor/plugins/notification/plugin.js +0 -933
  228. package/assets/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  229. package/assets/ckeditor/plugins/pastefromword/filter/default.js +0 -55
  230. package/assets/ckeditor/plugins/preview/preview.html +0 -13
  231. package/assets/ckeditor/plugins/scayt/CHANGELOG.md +0 -20
  232. package/assets/ckeditor/plugins/scayt/LICENSE.md +0 -28
  233. package/assets/ckeditor/plugins/scayt/README.md +0 -81
  234. package/assets/ckeditor/plugins/scayt/dialogs/dialog.css +0 -23
  235. package/assets/ckeditor/plugins/scayt/dialogs/options.js +0 -32
  236. package/assets/ckeditor/plugins/scayt/dialogs/toolbar.css +0 -71
  237. package/assets/ckeditor/plugins/scayt/skins/moono-lisa/scayt.css +0 -25
  238. package/assets/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  239. package/assets/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  240. package/assets/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  241. package/assets/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  242. package/assets/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  243. package/assets/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  244. package/assets/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  245. package/assets/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  246. package/assets/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  247. package/assets/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  248. package/assets/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  249. package/assets/ckeditor/plugins/smiley/dialogs/smiley.js +0 -11
  250. package/assets/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  251. package/assets/ckeditor/plugins/smiley/images/angel_smile.png +0 -0
  252. package/assets/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  253. package/assets/ckeditor/plugins/smiley/images/angry_smile.png +0 -0
  254. package/assets/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  255. package/assets/ckeditor/plugins/smiley/images/broken_heart.png +0 -0
  256. package/assets/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  257. package/assets/ckeditor/plugins/smiley/images/confused_smile.png +0 -0
  258. package/assets/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  259. package/assets/ckeditor/plugins/smiley/images/cry_smile.png +0 -0
  260. package/assets/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  261. package/assets/ckeditor/plugins/smiley/images/devil_smile.png +0 -0
  262. package/assets/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  263. package/assets/ckeditor/plugins/smiley/images/embarrassed_smile.gif +0 -0
  264. package/assets/ckeditor/plugins/smiley/images/embarrassed_smile.png +0 -0
  265. package/assets/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  266. package/assets/ckeditor/plugins/smiley/images/envelope.png +0 -0
  267. package/assets/ckeditor/plugins/smiley/images/heart.gif +0 -0
  268. package/assets/ckeditor/plugins/smiley/images/heart.png +0 -0
  269. package/assets/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  270. package/assets/ckeditor/plugins/smiley/images/kiss.png +0 -0
  271. package/assets/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  272. package/assets/ckeditor/plugins/smiley/images/lightbulb.png +0 -0
  273. package/assets/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  274. package/assets/ckeditor/plugins/smiley/images/omg_smile.png +0 -0
  275. package/assets/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  276. package/assets/ckeditor/plugins/smiley/images/regular_smile.png +0 -0
  277. package/assets/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  278. package/assets/ckeditor/plugins/smiley/images/sad_smile.png +0 -0
  279. package/assets/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  280. package/assets/ckeditor/plugins/smiley/images/shades_smile.png +0 -0
  281. package/assets/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  282. package/assets/ckeditor/plugins/smiley/images/teeth_smile.png +0 -0
  283. package/assets/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  284. package/assets/ckeditor/plugins/smiley/images/thumbs_down.png +0 -0
  285. package/assets/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  286. package/assets/ckeditor/plugins/smiley/images/thumbs_up.png +0 -0
  287. package/assets/ckeditor/plugins/smiley/images/tongue_smile.gif +0 -0
  288. package/assets/ckeditor/plugins/smiley/images/tongue_smile.png +0 -0
  289. package/assets/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  290. package/assets/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  291. package/assets/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png +0 -0
  292. package/assets/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  293. package/assets/ckeditor/plugins/smiley/images/wink_smile.png +0 -0
  294. package/assets/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt +0 -20
  295. package/assets/ckeditor/plugins/specialchar/dialogs/lang/af.js +0 -13
  296. package/assets/ckeditor/plugins/specialchar/dialogs/lang/ar.js +0 -13
  297. package/assets/ckeditor/plugins/specialchar/dialogs/lang/az.js +0 -10
  298. package/assets/ckeditor/plugins/specialchar/dialogs/lang/bg.js +0 -13
  299. package/assets/ckeditor/plugins/specialchar/dialogs/lang/ca.js +0 -14
  300. package/assets/ckeditor/plugins/specialchar/dialogs/lang/cs.js +0 -13
  301. package/assets/ckeditor/plugins/specialchar/dialogs/lang/cy.js +0 -14
  302. package/assets/ckeditor/plugins/specialchar/dialogs/lang/da.js +0 -11
  303. package/assets/ckeditor/plugins/specialchar/dialogs/lang/de-ch.js +0 -13
  304. package/assets/ckeditor/plugins/specialchar/dialogs/lang/de.js +0 -13
  305. package/assets/ckeditor/plugins/specialchar/dialogs/lang/el.js +0 -13
  306. package/assets/ckeditor/plugins/specialchar/dialogs/lang/en-au.js +0 -13
  307. package/assets/ckeditor/plugins/specialchar/dialogs/lang/en-ca.js +0 -13
  308. package/assets/ckeditor/plugins/specialchar/dialogs/lang/en-gb.js +0 -13
  309. package/assets/ckeditor/plugins/specialchar/dialogs/lang/en.js +0 -13
  310. package/assets/ckeditor/plugins/specialchar/dialogs/lang/eo.js +0 -12
  311. package/assets/ckeditor/plugins/specialchar/dialogs/lang/es-mx.js +0 -13
  312. package/assets/ckeditor/plugins/specialchar/dialogs/lang/es.js +0 -13
  313. package/assets/ckeditor/plugins/specialchar/dialogs/lang/et.js +0 -13
  314. package/assets/ckeditor/plugins/specialchar/dialogs/lang/eu.js +0 -13
  315. package/assets/ckeditor/plugins/specialchar/dialogs/lang/fa.js +0 -12
  316. package/assets/ckeditor/plugins/specialchar/dialogs/lang/fi.js +0 -13
  317. package/assets/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js +0 -10
  318. package/assets/ckeditor/plugins/specialchar/dialogs/lang/fr.js +0 -12
  319. package/assets/ckeditor/plugins/specialchar/dialogs/lang/gl.js +0 -13
  320. package/assets/ckeditor/plugins/specialchar/dialogs/lang/he.js +0 -12
  321. package/assets/ckeditor/plugins/specialchar/dialogs/lang/hr.js +0 -13
  322. package/assets/ckeditor/plugins/specialchar/dialogs/lang/hu.js +0 -12
  323. package/assets/ckeditor/plugins/specialchar/dialogs/lang/id.js +0 -13
  324. package/assets/ckeditor/plugins/specialchar/dialogs/lang/it.js +0 -14
  325. package/assets/ckeditor/plugins/specialchar/dialogs/lang/ja.js +0 -9
  326. package/assets/ckeditor/plugins/specialchar/dialogs/lang/km.js +0 -13
  327. package/assets/ckeditor/plugins/specialchar/dialogs/lang/ko.js +0 -10
  328. package/assets/ckeditor/plugins/specialchar/dialogs/lang/ku.js +0 -13
  329. package/assets/ckeditor/plugins/specialchar/dialogs/lang/lt.js +0 -13
  330. package/assets/ckeditor/plugins/specialchar/dialogs/lang/lv.js +0 -13
  331. package/assets/ckeditor/plugins/specialchar/dialogs/lang/nb.js +0 -11
  332. package/assets/ckeditor/plugins/specialchar/dialogs/lang/nl.js +0 -13
  333. package/assets/ckeditor/plugins/specialchar/dialogs/lang/no.js +0 -11
  334. package/assets/ckeditor/plugins/specialchar/dialogs/lang/oc.js +0 -12
  335. package/assets/ckeditor/plugins/specialchar/dialogs/lang/pl.js +0 -12
  336. package/assets/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js +0 -11
  337. package/assets/ckeditor/plugins/specialchar/dialogs/lang/pt.js +0 -13
  338. package/assets/ckeditor/plugins/specialchar/dialogs/lang/ro.js +0 -13
  339. package/assets/ckeditor/plugins/specialchar/dialogs/lang/ru.js +0 -13
  340. package/assets/ckeditor/plugins/specialchar/dialogs/lang/si.js +0 -13
  341. package/assets/ckeditor/plugins/specialchar/dialogs/lang/sk.js +0 -13
  342. package/assets/ckeditor/plugins/specialchar/dialogs/lang/sl.js +0 -12
  343. package/assets/ckeditor/plugins/specialchar/dialogs/lang/sq.js +0 -13
  344. package/assets/ckeditor/plugins/specialchar/dialogs/lang/sr-latn.js +0 -13
  345. package/assets/ckeditor/plugins/specialchar/dialogs/lang/sr.js +0 -13
  346. package/assets/ckeditor/plugins/specialchar/dialogs/lang/sv.js +0 -11
  347. package/assets/ckeditor/plugins/specialchar/dialogs/lang/th.js +0 -13
  348. package/assets/ckeditor/plugins/specialchar/dialogs/lang/tr.js +0 -12
  349. package/assets/ckeditor/plugins/specialchar/dialogs/lang/tt.js +0 -13
  350. package/assets/ckeditor/plugins/specialchar/dialogs/lang/ug.js +0 -13
  351. package/assets/ckeditor/plugins/specialchar/dialogs/lang/uk.js +0 -12
  352. package/assets/ckeditor/plugins/specialchar/dialogs/lang/vi.js +0 -14
  353. package/assets/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js +0 -9
  354. package/assets/ckeditor/plugins/specialchar/dialogs/lang/zh.js +0 -9
  355. package/assets/ckeditor/plugins/specialchar/dialogs/specialchar.js +0 -14
  356. package/assets/ckeditor/plugins/table/dialogs/table.js +0 -21
  357. package/assets/ckeditor/plugins/tableselection/styles/tableselection.css +0 -36
  358. package/assets/ckeditor/plugins/tabletools/dialogs/tableCell.js +0 -19
  359. package/assets/ckeditor/plugins/templates/dialogs/templates.css +0 -84
  360. package/assets/ckeditor/plugins/templates/dialogs/templates.js +0 -10
  361. package/assets/ckeditor/plugins/templates/templates/default.js +0 -7
  362. package/assets/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  363. package/assets/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  364. package/assets/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  365. package/assets/ckeditor/plugins/videoembed/.gitattributes +0 -17
  366. package/assets/ckeditor/plugins/videoembed/README.md +0 -35
  367. package/assets/ckeditor/plugins/videoembed/dialogs/videoembedDialog.js +0 -114
  368. package/assets/ckeditor/plugins/videoembed/icons/videoembed.png +0 -0
  369. package/assets/ckeditor/plugins/videoembed/lang/en.js +0 -8
  370. package/assets/ckeditor/plugins/videoembed/lang/fr.js +0 -8
  371. package/assets/ckeditor/plugins/videoembed/plugin.js +0 -27
  372. package/assets/ckeditor/plugins/widget/images/handle.png +0 -0
  373. package/assets/ckeditor/plugins/wordcount/css/wordcount.css +0 -3
  374. package/assets/ckeditor/plugins/wordcount/lang/ar.js +0 -12
  375. package/assets/ckeditor/plugins/wordcount/lang/bg.js +0 -17
  376. package/assets/ckeditor/plugins/wordcount/lang/ca.js +0 -14
  377. package/assets/ckeditor/plugins/wordcount/lang/cs.js +0 -15
  378. package/assets/ckeditor/plugins/wordcount/lang/da.js +0 -14
  379. package/assets/ckeditor/plugins/wordcount/lang/de.js +0 -14
  380. package/assets/ckeditor/plugins/wordcount/lang/el.js +0 -14
  381. package/assets/ckeditor/plugins/wordcount/lang/en.js +0 -17
  382. package/assets/ckeditor/plugins/wordcount/lang/es.js +0 -14
  383. package/assets/ckeditor/plugins/wordcount/lang/eu.js +0 -17
  384. package/assets/ckeditor/plugins/wordcount/lang/fa.js +0 -13
  385. package/assets/ckeditor/plugins/wordcount/lang/fi.js +0 -15
  386. package/assets/ckeditor/plugins/wordcount/lang/fr.js +0 -12
  387. package/assets/ckeditor/plugins/wordcount/lang/he.js +0 -14
  388. package/assets/ckeditor/plugins/wordcount/lang/hr.js +0 -14
  389. package/assets/ckeditor/plugins/wordcount/lang/hu.js +0 -14
  390. package/assets/ckeditor/plugins/wordcount/lang/it.js +0 -15
  391. package/assets/ckeditor/plugins/wordcount/lang/ja.js +0 -14
  392. package/assets/ckeditor/plugins/wordcount/lang/ko.js +0 -16
  393. package/assets/ckeditor/plugins/wordcount/lang/nl.js +0 -14
  394. package/assets/ckeditor/plugins/wordcount/lang/no.js +0 -11
  395. package/assets/ckeditor/plugins/wordcount/lang/pl.js +0 -14
  396. package/assets/ckeditor/plugins/wordcount/lang/pt-br.js +0 -14
  397. package/assets/ckeditor/plugins/wordcount/lang/pt.js +0 -10
  398. package/assets/ckeditor/plugins/wordcount/lang/ro.js +0 -15
  399. package/assets/ckeditor/plugins/wordcount/lang/ru.js +0 -14
  400. package/assets/ckeditor/plugins/wordcount/lang/sk.js +0 -15
  401. package/assets/ckeditor/plugins/wordcount/lang/sv.js +0 -15
  402. package/assets/ckeditor/plugins/wordcount/lang/tr.js +0 -14
  403. package/assets/ckeditor/plugins/wordcount/lang/uk.js +0 -17
  404. package/assets/ckeditor/plugins/wordcount/lang/zh-cn.js +0 -17
  405. package/assets/ckeditor/plugins/wordcount/lang/zh.js +0 -17
  406. package/assets/ckeditor/plugins/wordcount/plugin.js +0 -639
  407. package/assets/ckeditor/plugins/wordcount/samples/maxParagraphs.html +0 -26
  408. package/assets/ckeditor/plugins/wordcount/samples/wordcount.html +0 -61
  409. package/assets/ckeditor/plugins/wordcount/samples/wordcountWithMaxCount.html +0 -110
  410. package/assets/ckeditor/plugins/wsc/LICENSE.md +0 -28
  411. package/assets/ckeditor/plugins/wsc/README.md +0 -80
  412. package/assets/ckeditor/plugins/wsc/dialogs/ciframe.html +0 -66
  413. package/assets/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +0 -52
  414. package/assets/ckeditor/plugins/wsc/dialogs/wsc.css +0 -82
  415. package/assets/ckeditor/plugins/wsc/dialogs/wsc.js +0 -91
  416. package/assets/ckeditor/plugins/wsc/dialogs/wsc_ie.js +0 -11
  417. package/assets/ckeditor/plugins/wsc/skins/moono-lisa/wsc.css +0 -43
  418. package/assets/ckeditor/samples/css/samples.css +0 -1637
  419. package/assets/ckeditor/samples/img/github-top.png +0 -0
  420. package/assets/ckeditor/samples/img/header-bg.png +0 -0
  421. package/assets/ckeditor/samples/img/header-separator.png +0 -0
  422. package/assets/ckeditor/samples/img/logo.png +0 -0
  423. package/assets/ckeditor/samples/img/logo.svg +0 -13
  424. package/assets/ckeditor/samples/img/navigation-tip.png +0 -0
  425. package/assets/ckeditor/samples/index.html +0 -128
  426. package/assets/ckeditor/samples/js/sample.js +0 -53
  427. package/assets/ckeditor/samples/js/sf.js +0 -17
  428. package/assets/ckeditor/samples/old/ajax.html +0 -85
  429. package/assets/ckeditor/samples/old/api.html +0 -210
  430. package/assets/ckeditor/samples/old/appendto.html +0 -59
  431. package/assets/ckeditor/samples/old/assets/inlineall/logo.png +0 -0
  432. package/assets/ckeditor/samples/old/assets/outputxhtml/outputxhtml.css +0 -204
  433. package/assets/ckeditor/samples/old/assets/posteddata.php +0 -59
  434. package/assets/ckeditor/samples/old/assets/sample.jpg +0 -0
  435. package/assets/ckeditor/samples/old/assets/uilanguages/languages.js +0 -7
  436. package/assets/ckeditor/samples/old/datafiltering.html +0 -508
  437. package/assets/ckeditor/samples/old/dialog/assets/my_dialog.js +0 -48
  438. package/assets/ckeditor/samples/old/dialog/dialog.html +0 -190
  439. package/assets/ckeditor/samples/old/divarea/divarea.html +0 -64
  440. package/assets/ckeditor/samples/old/divreplace.html +0 -144
  441. package/assets/ckeditor/samples/old/enterkey/enterkey.html +0 -106
  442. package/assets/ckeditor/samples/old/htmlwriter/assets/outputforflash/outputforflash.fla +0 -0
  443. package/assets/ckeditor/samples/old/htmlwriter/assets/outputforflash/outputforflash.swf +0 -0
  444. package/assets/ckeditor/samples/old/htmlwriter/assets/outputforflash/swfobject.js +0 -19
  445. package/assets/ckeditor/samples/old/htmlwriter/outputforflash.html +0 -283
  446. package/assets/ckeditor/samples/old/htmlwriter/outputhtml.html +0 -224
  447. package/assets/ckeditor/samples/old/index.html +0 -134
  448. package/assets/ckeditor/samples/old/inlineall.html +0 -314
  449. package/assets/ckeditor/samples/old/inlinebycode.html +0 -124
  450. package/assets/ckeditor/samples/old/inlinetextarea.html +0 -113
  451. package/assets/ckeditor/samples/old/jquery.html +0 -103
  452. package/assets/ckeditor/samples/old/magicline/magicline.html +0 -209
  453. package/assets/ckeditor/samples/old/readonly.html +0 -76
  454. package/assets/ckeditor/samples/old/replacebyclass.html +0 -60
  455. package/assets/ckeditor/samples/old/replacebycode.html +0 -59
  456. package/assets/ckeditor/samples/old/sample.css +0 -357
  457. package/assets/ckeditor/samples/old/sample.js +0 -50
  458. package/assets/ckeditor/samples/old/sample_posteddata.php +0 -16
  459. package/assets/ckeditor/samples/old/tabindex.html +0 -78
  460. package/assets/ckeditor/samples/old/toolbar/toolbar.html +0 -235
  461. package/assets/ckeditor/samples/old/uicolor.html +0 -72
  462. package/assets/ckeditor/samples/old/uilanguages.html +0 -122
  463. package/assets/ckeditor/samples/old/wysiwygarea/fullpage.html +0 -80
  464. package/assets/ckeditor/samples/old/xhtmlstyle.html +0 -234
  465. package/assets/ckeditor/samples/toolbarconfigurator/css/fontello.css +0 -55
  466. package/assets/ckeditor/samples/toolbarconfigurator/font/LICENSE.txt +0 -10
  467. package/assets/ckeditor/samples/toolbarconfigurator/font/config.json +0 -28
  468. package/assets/ckeditor/samples/toolbarconfigurator/font/fontello.eot +0 -0
  469. package/assets/ckeditor/samples/toolbarconfigurator/font/fontello.svg +0 -14
  470. package/assets/ckeditor/samples/toolbarconfigurator/font/fontello.ttf +0 -0
  471. package/assets/ckeditor/samples/toolbarconfigurator/font/fontello.woff +0 -0
  472. package/assets/ckeditor/samples/toolbarconfigurator/index.html +0 -446
  473. package/assets/ckeditor/samples/toolbarconfigurator/js/abstracttoolbarmodifier.js +0 -13
  474. package/assets/ckeditor/samples/toolbarconfigurator/js/fulltoolbareditor.js +0 -9
  475. package/assets/ckeditor/samples/toolbarconfigurator/js/toolbarmodifier.js +0 -33
  476. package/assets/ckeditor/samples/toolbarconfigurator/js/toolbartextmodifier.js +0 -14
  477. package/assets/ckeditor/samples/toolbarconfigurator/lib/codemirror/LICENSE +0 -19
  478. package/assets/ckeditor/samples/toolbarconfigurator/lib/codemirror/codemirror.css +0 -325
  479. package/assets/ckeditor/samples/toolbarconfigurator/lib/codemirror/codemirror.js +0 -288
  480. package/assets/ckeditor/samples/toolbarconfigurator/lib/codemirror/javascript.js +0 -25
  481. package/assets/ckeditor/samples/toolbarconfigurator/lib/codemirror/neo.css +0 -36
  482. package/assets/ckeditor/samples/toolbarconfigurator/lib/codemirror/show-hint.css +0 -38
  483. package/assets/ckeditor/samples/toolbarconfigurator/lib/codemirror/show-hint.js +0 -16
  484. package/assets/ckeditor/skins/office2013/dialog.css +0 -5
  485. package/assets/ckeditor/skins/office2013/editor.css +0 -5
  486. package/assets/ckeditor/skins/office2013/icons.png +0 -0
  487. package/assets/ckeditor/skins/office2013/icons_hidpi.png +0 -0
  488. package/assets/ckeditor/skins/office2013/images/arrow.png +0 -0
  489. package/assets/ckeditor/skins/office2013/images/close.png +0 -0
  490. package/assets/ckeditor/skins/office2013/images/hidpi/close.png +0 -0
  491. package/assets/ckeditor/skins/office2013/images/hidpi/lock-open.png +0 -0
  492. package/assets/ckeditor/skins/office2013/images/hidpi/lock.png +0 -0
  493. package/assets/ckeditor/skins/office2013/images/hidpi/refresh.png +0 -0
  494. package/assets/ckeditor/skins/office2013/images/lock-open.png +0 -0
  495. package/assets/ckeditor/skins/office2013/images/lock.png +0 -0
  496. package/assets/ckeditor/skins/office2013/images/refresh.png +0 -0
  497. package/assets/ckeditor/styles.js +0 -137
  498. package/bundles/sd-angular-core-modal-custom.umd.js +0 -487
  499. package/bundles/sd-angular-core-modal-custom.umd.js.map +0 -1
  500. package/bundles/sd-angular-core-modal-custom.umd.min.js +0 -16
  501. package/bundles/sd-angular-core-modal-custom.umd.min.js.map +0 -1
  502. package/esm2015/lib/controls/ckeditor-control/ckeditor-control.component.js +0 -53
  503. package/esm2015/lib/controls/date-picker-control/date-picker-control.component.js +0 -156
  504. package/esm2015/lib/pipes/sd-date.pipe.js +0 -15
  505. package/esm2015/lib/validators/chip-min-item.validator.js +0 -26
  506. package/esm2015/lib/validators/custom.validator.js +0 -39
  507. package/esm2015/lib/validators/max-date.validator.js +0 -30
  508. package/esm2015/lib/validators/min-date.validator.js +0 -30
  509. package/esm2015/modal-custom/index.js +0 -2
  510. package/esm2015/modal-custom/sd-angular-core-modal-custom.js +0 -5
  511. package/esm2015/modal-custom/src/lib/modal-custom/modal-custom.component.js +0 -123
  512. package/esm2015/modal-custom/src/lib/modal-custom.module.js +0 -30
  513. package/esm2015/modal-custom/src/public-api.js +0 -6
  514. package/fesm2015/sd-angular-core-modal-custom.js +0 -161
  515. package/fesm2015/sd-angular-core-modal-custom.js.map +0 -1
  516. package/lib/controls/ckeditor-control/ckeditor-control.component.d.ts +0 -20
  517. package/lib/controls/date-picker-control/date-picker-control.component.d.ts +0 -36
  518. package/lib/pipes/sd-date.pipe.d.ts +0 -4
  519. package/lib/validators/chip-min-item.validator.d.ts +0 -5
  520. package/lib/validators/custom.validator.d.ts +0 -5
  521. package/lib/validators/max-date.validator.d.ts +0 -5
  522. package/lib/validators/min-date.validator.d.ts +0 -5
  523. package/modal-custom/index.d.ts +0 -1
  524. package/modal-custom/package.json +0 -12
  525. package/modal-custom/sd-angular-core-modal-custom.d.ts +0 -4
  526. package/modal-custom/sd-angular-core-modal-custom.metadata.json +0 -1
  527. package/modal-custom/src/lib/modal-custom/modal-custom.component.d.ts +0 -31
  528. package/modal-custom/src/lib/modal-custom.module.d.ts +0 -2
  529. package/modal-custom/src/public-api.d.ts +0 -2
  530. package/sd-angular-core-0.0.1050.tgz +0 -0
@@ -4,7 +4,7 @@ import { Optional } from '@angular/core';
4
4
  import { Injectable, Inject } from '@angular/core';
5
5
  import { SdApiService } from '@sd-angular/core/api';
6
6
  import * as uuid from 'uuid';
7
- import * as hash from 'object-hash';
7
+ import hash from 'object-hash';
8
8
  import { AngularCsv } from 'angular-csv-ext/dist/Angular-csv';
9
9
  import { EXPORT_CONFIG, API } from './export.model';
10
10
  import { SdNotifyService } from '@sd-angular/core/notify';
@@ -191,4 +191,4 @@ SdExportService.ctorParameters = () => [
191
191
  { type: SdNotifyService },
192
192
  { type: undefined, decorators: [{ type: Inject, args: [EXPORT_CONFIG,] }, { type: Optional }] }
193
193
  ];
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9leHBvcnQvIiwic291cmNlcyI6WyJzcmMvbGliL2V4cG9ydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxLQUFLLElBQUksTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlELE9BQU8sRUFBd0MsYUFBYSxFQUFpQixHQUFHLEVBQWdCLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQUsxRCxNQUFNLE9BQU8sZUFBZTtJQUkxQixZQUNVLFVBQXdCLEVBQ3hCLGFBQThCLEVBQ0ssYUFBbUM7UUFGdEUsZUFBVSxHQUFWLFVBQVUsQ0FBYztRQUN4QixrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7UUFDSyxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUF1QmhGLHFCQUFhLENBQUMsR0FBVyxFQUFFLEtBQWEsRUFBRSxFQUFFO1lBQzFDLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQztnQkFDdEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNuQixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7YUFDNUIsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDVixPQUFPLFFBQVEsSUFBSSxDQUFDLE1BQU0s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QyxLQUFLLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDeEM7UUFDSCxDQUFDLEVBQUE7SUFqTUQsQ0FBQztJQVBELElBQUksZ0JBQWdCOztRQUNsQixPQUFPLENBQUMsUUFBQyxJQUFJLENBQUMsYUFBYSwwQ0FBRSxXQUFXLENBQUEsQ0FBQztJQUMzQyxDQUFDO0lBT0QsSUFBWSxNQUFNO1FBQ2hCLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3RDLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLFFBQVEsRUFBRTtZQUNoQyxPQUFPLE1BQU0sQ0FBQztTQUNmO1FBQ0QsT0FBTyxNQUFNLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsSUFBWSxVQUFVO1FBQ3BCLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3BDLElBQUksRUFBQyxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsTUFBTSxDQUFBLEVBQUU7WUFDakIsT0FBTztTQUNSO1FBQ0QsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxRQUFRLEVBQUU7WUFDaEMsT0FBTyxNQUFNLENBQUM7U0FDZjtRQUNELE9BQU8sTUFBTSxFQUFFLENBQUM7SUFDbEIsQ0FBQzs7Ozs7WUEvQkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFUUSxZQUFZO1lBS1osZUFBZTs0Q0FZbkIsTUFBTSxTQUFDLGFBQWEsY0FBRyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNkQXBpU2VydmljZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvYXBpJztcclxuaW1wb3J0ICogYXMgdXVpZCBmcm9tICd1dWlkJztcclxuaW1wb3J0ICogYXMgaGFzaCBmcm9tICdvYmplY3QtaGFzaCc7XHJcbmltcG9ydCB7IEFuZ3VsYXJDc3YgfSBmcm9tICdhbmd1bGFyLWNzdi1leHQvZGlzdC9Bbmd1bGFyLWNzdic7XHJcbmltcG9ydCB7IEV4cG9ydFRlbXBsYXRlLCBJRXhwb3J0Q29uZmlndXJhdGlvbiwgRVhQT1JUX0NPTkZJRywgSUV4cG9ydE9wdGlvbiwgQVBJLCBTZEV4cG9ydEZpbGUgfSBmcm9tICcuL2V4cG9ydC5tb2RlbCc7XHJcbmltcG9ydCB7IFNkTm90aWZ5U2VydmljZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvbm90aWZ5JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkRXhwb3J0U2VydmljZSB7XHJcbiAgZ2V0IGhhc0NvbmZpZ3VyYXRpb24oKSB7XHJcbiAgICByZXR1cm4gISF0aGlzLmNvbmZpZ3VyYXRpb24/LmZpcmViYXNlVXJsO1xyXG4gIH1cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXBpU2VydmljZTogU2RBcGlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBub3RpZnlTZXJ2aWNlOiBTZE5vdGlmeVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KEVYUE9SVF9DT05GSUcpIEBPcHRpb25hbCgpIHByaXZhdGUgY29uZmlndXJhdGlvbjogSUV4cG9ydENvbmZpZ3VyYXRpb24pIHtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0IGZvbGRlcigpIHtcclxuICAgIGNvbnN0IHsgZm9sZGVyIH0gPSB0aGlzLmNvbmZpZ3VyYXRpb247XHJcbiAgICBpZiAodHlwZW9mIChmb2xkZXIpID09PSAnc3RyaW5nJykge1xyXG4gICAgICByZXR1cm4gZm9sZGVyO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZvbGRlcigpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXQgdXNlckZvbGRlcigpIHtcclxuICAgIGNvbnN0IHsgdXNlciB9ID0gdGhpcy5jb25maWd1cmF0aW9uO1xyXG4gICAgaWYgKCF1c2VyPy5mb2xkZXIpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgeyBmb2xkZXIgfSA9IHVzZXI7XHJcbiAgICBpZiAodHlwZW9mIChmb2xkZXIpID09PSAnc3RyaW5nJykge1xyXG4gICAgICByZXR1cm4gZm9sZGVyO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZvbGRlcigpO1xyXG4gIH1cclxuXHJcbiAgI2RpcmVjdG9yeSA9IChrZXk6IHN0cmluZywgZ3JvdXA6IHN0cmluZykgPT4ge1xyXG4gICAgbGV0IGhhc2hlZEZvbGRlciA9IGhhc2goe1xyXG4gICAgICBmb2xkZXI6IHRoaXMuZm9sZGVyLFxyXG4gICAgICB1c2VyRm9sZGVyOiB0aGlzLnVzZXJGb2xkZXJcclxuICAgIH0pO1xyXG4gICAgaWYgKCFncm91cCkge1xyXG4gICAgICByZXR1cm4gYGRpcjE9JHt0aGlzLmZvbGRlcn0mZGlyMj1VLSR7aGFzaGVkRm9sZGVyfSZkaXIzPSR7a2V5IHx8ICcnfWA7XHJcbiAgICB9XHJcbiAgICBoYXNoZWRGb2xkZXIgPSBoYXNoKHtcclxuICAgICAgZm9sZGVyOiB0aGlzLmZvbGRlcixcclxuICAgICAgZ3JvdXBcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGBkaXIxPSR7dGhpcy5mb2xkZXJ9JmRpcjI9Ry0ke2hhc2hlZEZvbGRlcn0mZGlyMz0ke2tleSB8fCAnJ31gO1xyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVUZW1wbGF0ZSA9IGFzeW5jICh0ZW1wbGF0ZTogRXhwb3J0VGVtcGxhdGUpID0+IHtcclxuICAgIGNvbnN0IHsgZmlyZWJhc2VVcmwgfSA9IHRoaXMuY29uZmlndXJhdGlvbjtcclxuICAgIGNvbnN0IHsgZ2VuZXJhdGVUZW1wbGF0ZSB9ID0gQVBJO1xyXG4gICAgY29uc3QgdXJsID0gYCR7ZmlyZWJhc2VVcmx9JHtnZW5lcmF0ZVRlbXBsYXRlfWA7XHJcbiAgICBjb25zdCB7IGZpbGVQYXRoLCBmaWxlTmFtZSB9ID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLnBvc3QodXJsLCB0ZW1wbGF0ZSk7XHJcbiAgICByZXR1cm4geyBmaWxlUGF0aCwgZmlsZU5hbWUgfTtcclxuICB9XHJcblxyXG4gIHVwbG9hZFRlbXBsYXRlID0gYXN5bmMgKGFyZ3M6IHtcclxuICAgIGtleTogc3RyaW5nO1xyXG4gICAgZ3JvdXA/OiBzdHJpbmc7XHJcbiAgICB2YWxpZGF0b3I/OiAoZmlsZU5hbWU6IHN0cmluZykgPT4gc3RyaW5nXHJcbiAgfSk6IFByb21pc2U8U2RFeHBvcnRGaWxlPiA9PiB7XHJcbiAgICBjb25zdCB7IGtleSwgZ3JvdXAsIHZhbGlkYXRvciB9ID0gYXJncztcclxuICAgIGNvbnN0IHsgZmlyZWJhc2VVcmwgfSA9IHRoaXMuY29uZmlndXJhdGlvbjtcclxuICAgIGNvbnN0IHsgdXBsb2FkVGVtcGxhdGUgfSA9IEFQSTtcclxuICAgIGNvbnN0IHVybCA9IGAke2ZpcmViYXNlVXJsfSR7dXBsb2FkVGVtcGxhdGV9PyR7dGhpcy4jZGlyZWN0b3J5KGtleSwgZ3JvdXApfWA7XHJcbiAgICBjb25zdCB7IGZpbGVQYXRoLCBmaWxlTmFtZSB9ID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLnVwbG9hZFNpbmdsZSh1cmwsIHtcclxuICAgICAgZXh0ZW5zaW9uczogWyd4bHN4J10sXHJcbiAgICAgIG1heFNpemVJbk1iOiAwLjEsXHJcbiAgICAgIHZhbGlkYXRvclxyXG4gICAgfSkuY2F0Y2goKGVycjogRXJyb3IpID0+IHtcclxuICAgICAgdGhpcy5ub3RpZnlTZXJ2aWNlLm5vdGlmeS53YXJuaW5nKGVycj8ubWVzc2FnZSk7XHJcbiAgICAgIHRocm93IGVycjtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZmlsZVBhdGgsXHJcbiAgICAgIGZpbGVOYW1lLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGdlbmVyYXRlVXBsb2FkVGVtcGxhdGUgPSBhc3luYyAoYXJnczoge1xyXG4gICAga2V5OiBzdHJpbmc7XHJcbiAgICB0ZW1wbGF0ZTogRXhwb3J0VGVtcGxhdGU7XHJcbiAgICBncm91cD86IHN0cmluZztcclxuICB9KSA9PiB7XHJcbiAgICBjb25zdCB7IGtleSwgdGVtcGxhdGUsIGdyb3VwIH0gPSBhcmdzO1xyXG4gICAgY29uc3QgeyBmaXJlYmFzZVVybCB9ID0gdGhpcy5jb25maWd1cmF0aW9uO1xyXG4gICAgY29uc3QgeyBnZW5lcmF0ZVVwbG9hZFRlbXBsYXRlIH0gPSBBUEk7XHJcbiAgICBjb25zdCB1cmwgPSBgJHtmaXJlYmFzZVVybH0ke2dlbmVyYXRlVXBsb2FkVGVtcGxhdGV9PyR7dGhpcy4jZGlyZWN0b3J5KGtleSwgZ3JvdXApfWA7XHJcbiAgICBjb25zdCB7IGZpbGVQYXRoLCBmaWxlTmFtZSB9ID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLnBvc3QodXJsLCB0ZW1wbGF0ZSk7XHJcbiAgICByZXR1cm4geyBmaWxlUGF0aCwgZmlsZU5hbWUgfTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUZpbGUgPSBhc3luYyAoYXJnczoge1xyXG4gICAga2V5OiBzdHJpbmc7XHJcbiAgICBncm91cD86IHN0cmluZztcclxuICAgIGZpbGVOYW1lPzogc3RyaW5nO1xyXG4gIH0pID0+IHtcclxuICAgIGNvbnN0IHsga2V5LCBncm91cCwgZmlsZU5hbWUgfSA9IGFyZ3M7XHJcbiAgICBjb25zdCB7IGZpcmViYXNlVXJsIH0gPSB0aGlzLmNvbmZpZ3VyYXRpb247XHJcbiAgICBjb25zdCB7IHJlbW92ZUZpbGUgfSA9IEFQSTtcclxuICAgIGNvbnN0IHVybCA9IGAke2ZpcmViYXNlVXJsfSR7cmVtb3ZlRmlsZX0/JHt0aGlzLiNkaXJlY3Rvcnkoa2V5LCBncm91cCl9Jm5hbWU9JHtmaWxlTmFtZX1gO1xyXG4gICAgYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLnBvc3QodXJsKTtcclxuICB9XHJcblxyXG4gIGZpbGVzSW5Gb2xkZXIgPSBhc3luYyAoYXJnczoge1xyXG4gICAga2V5OiBzdHJpbmc7XHJcbiAgICBncm91cD86IHN0cmluZztcclxuICB9KTogUHJvbWlzZTxTZEV4cG9ydEZpbGVbXT4gPT4ge1xyXG4gICAgaW50ZXJmYWNlIEZpbGVzSW5Gb2xkZXJSZXMge1xyXG4gICAgICBkaXJlY3Rvcnk6IHN0cmluZztcclxuICAgICAgZmlsZXM6IHtcclxuICAgICAgICBwdWJsaWNVcmw6IHN0cmluZywgZnVsbFBhdGg6IHN0cmluZywgbmFtZTogc3RyaW5nXHJcbiAgICAgIH1bXTtcclxuICAgIH1cclxuICAgIGNvbnN0IHsga2V5LCBncm91cCB9ID0gYXJncztcclxuICAgIGNvbnN0IHsgZmlyZWJhc2VVcmwgfSA9IHRoaXMuY29uZmlndXJhdGlvbjtcclxuICAgIGNvbnN0IHsgZmlsZXNJbkZvbGRlciB9ID0gQVBJO1xyXG4gICAgY29uc3QgdXJsID0gYCR7ZmlyZWJhc2VVcmx9JHtmaWxlc0luRm9sZGVyfT8ke3RoaXMuI2RpcmVjdG9yeShrZXksIGdyb3VwKX1gO1xyXG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLmdldDxGaWxlc0luRm9sZGVyUmVzPih1cmwpO1xyXG4gICAgcmV0dXJuIHJlcy5maWxlcz8ubWFwKGUgPT4gKHtcclxuICAgICAgZmlsZVBhdGg6IGUucHVibGljVXJsLFxyXG4gICAgICBmaWxlTmFtZTogZS5uYW1lXHJcbiAgICB9KSkgfHwgW107XHJcbiAgfVxyXG5cclxuICBkb3dubG9hZCA9IChmaWxlUGF0aDogc3RyaW5nLCBmaWxlTmFtZT86IHN0cmluZykgPT4ge1xyXG4gICAgY29uc3QgbGluazogYW55ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xyXG4gICAgbGluay5kb3dubG9hZCA9IGAke2ZpbGVOYW1lIHx8IHV1aWQudjQoKX0ueGxzeGA7XHJcbiAgICBsaW5rLmhyZWYgPSBmaWxlUGF0aDtcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XHJcbiAgICBsaW5rLmNsaWNrKCk7XHJcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0QnlUZW1wbGF0ZSA9IGFzeW5jIChhcmdzOiB7XHJcbiAgICBmaWxlUGF0aDogc3RyaW5nLFxyXG4gICAgY29sdW1uczogYW55W10sXHJcbiAgICBpdGVtczogYW55W10sXHJcbiAgICBmaWxlTmFtZT86IHN0cmluZ1xyXG4gIH0pID0+IHtcclxuICAgIGNvbnN0IHsgZmlsZVBhdGgsIGNvbHVtbnMsIGl0ZW1zLCBmaWxlTmFtZSB9ID0gYXJncztcclxuICAgIGNvbnN0IHsgZmlyZWJhc2VVcmwgfSA9IHRoaXMuY29uZmlndXJhdGlvbjtcclxuICAgIGNvbnN0IHsgc2RFeHBvcnRCeVRlbXBsYXRlIH0gPSBBUEk7XHJcbiAgICBjb25zdCB1cmwgPSBgJHtmaXJlYmFzZVVybH0ke3NkRXhwb3J0QnlUZW1wbGF0ZX1gO1xyXG4gICAgY29uc3QgYnVmZmVyID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLnBvc3QodXJsLCB7XHJcbiAgICAgIGZpbGVQYXRoLFxyXG4gICAgICBjb2x1bW5zLFxyXG4gICAgICBpdGVtcyxcclxuICAgICAgZmlsZU5hbWVcclxuICAgIH0sIG51bGwsIHtcclxuICAgICAgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbYnVmZmVyXSwgeyB0eXBlOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQ7YmFzZTY0LCcgfSk7XHJcbiAgICB0aGlzLiNibG9iVG9TYXZlQXMoYmxvYiwgZmlsZU5hbWUpO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0ID0gYXN5bmMgKG9wdGlvbjogSUV4cG9ydE9wdGlvbikgPT4ge1xyXG4gICAgY29uc3QgeyBmaXJlYmFzZVVybCB9ID0gdGhpcy5jb25maWd1cmF0aW9uO1xyXG4gICAgY29uc3QgeyBzZEV4cG9ydCB9ID0gQVBJO1xyXG4gICAgY29uc3QgdXJsID0gYCR7ZmlyZWJhc2VVcmx9JHtzZEV4cG9ydH1gO1xyXG4gICAgY29uc3QgYnVmZmVyID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLnBvc3QodXJsLCBvcHRpb24sIG51bGwsIHtcclxuICAgICAgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbYnVmZmVyXSwgeyB0eXBlOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQ7YmFzZTY0LCcgfSk7XHJcbiAgICB0aGlzLiNibG9iVG9TYXZlQXMoYmxvYiwgb3B0aW9uPy5maWxlTmFtZSk7XHJcbiAgfVxyXG5cclxuICBleHBvcnRDU1YgPSBhc3luYyAob3B0aW9uOiBJRXhwb3J0T3B0aW9uKSA9PiB7XHJcbiAgICBjb25zdCB7IGNvbHVtbnMsIGl0ZW1zLCBmaWxlTmFtZSB9ID0gb3B0aW9uO1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgZmllbGRTZXBhcmF0b3I6ICcsJyxcclxuICAgICAgcXVvdGVTdHJpbmdzOiAnXCInLFxyXG4gICAgICBkZWNpbWFsc2VwYXJhdG9yOiAnLicsXHJcbiAgICAgIHNob3dMYWJlbHM6IHRydWUsXHJcbiAgICAgIHNob3dUaXRsZTogZmFsc2UsXHJcbiAgICAgIHRpdGxlOiBmaWxlTmFtZSB8fCAnQ1NWJyxcclxuICAgICAgdXNlQm9tOiB0cnVlLFxyXG4gICAgICBub0Rvd25sb2FkOiBmYWxzZSxcclxuICAgICAgdXNlSGVhZGVyOiBmYWxzZSxcclxuICAgICAgbnVsbFRvRW1wdHlTdHJpbmc6IHRydWUsXHJcbiAgICB9O1xyXG4gICAgY29uc3QgaGVhZGVyQ1NWID0ge307XHJcbiAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiBjb2x1bW5zKSB7XHJcbiAgICAgIGhlYWRlckNTVltjb2x1bW4uZmllbGRdID0gY29sdW1uLnRpdGxlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5ldyBBbmd1bGFyQ3N2KFsuLi5baGVhZGVyQ1NWXSwgLi4uaXRlbXNdLCBgJHtmaWxlTmFtZSB8fCAnQ1NWJ31fJHtEYXRlLnRvRm9ybWF0KG5ldyBEYXRlKCksICd5eXl5LU1NLWRkLUhILW1tLXNzJyl9YCwgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICAjYmxvYlRvU2F2ZUFzID0gKGJsb2I6IEJsb2IsIGZpbGVOYW1lOiBzdHJpbmcgPSAnRXhwb3J0JykgPT4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XHJcbiAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICAgIGZpbGVOYW1lID0gZmlsZU5hbWUucmVwbGFjZSgvLnhsc3gvaSwgJycpO1xyXG4gICAgICBpZiAobGluay5kb3dubG9hZCAhPT0gdW5kZWZpbmVkKSB7IC8vIGZlYXR1cmUgZGV0ZWN0aW9uXHJcbiAgICAgICAgbGluay5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCB1cmwpO1xyXG4gICAgICAgIGxpbmsuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsIGAke2ZpbGVOYW1lfV8ke25ldyBEYXRlKCkudG9Gb3JtYXQoJ3l5eXlfTU1fZGRfSEhfbW0nKX1gKTtcclxuICAgICAgICBsaW5rLnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcclxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xyXG4gICAgICAgIGxpbmsuY2xpY2soKTtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xyXG4gICAgICB9XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Jsb2JUb1NhdmVBcyBlcnJvcicsIGUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJRXhwb3J0SW5mbyB7XHJcbiAgZGF0YTogYW55W107XHJcbiAgc2hlZXROYW1lPzogc3RyaW5nO1xyXG4gIGZpbGVOYW1lPzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9leHBvcnQvIiwic291cmNlcyI6WyJzcmMvbGliL2V4cG9ydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM5RCxPQUFPLEVBQXdDLGFBQWEsRUFBaUIsR0FBRyxFQUFnQixNQUFNLGdCQUFnQixDQUFDO0FBQ3ZILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7QUFLMUQsTUFBTSxPQUFPLGVBQWU7SUFJMUIsWUFDVSxVQUF3QixFQUN4QixhQUE4QixFQUNLLGFBQW1DO1FBRnRFLGVBQVUsR0FBVixVQUFVLENBQWM7UUFDeEIsa0JBQWEsR0FBYixhQUFhLENBQWlCO1FBQ0ssa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBdUJoRixxQkFBYSxDQUFDLEdBQVcsRUFBRSxLQUFhLEVBQUUsRUFBRTtZQUMxQyxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUM7Z0JBQ3RCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDbkIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO2FBQzVCLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1YsT0FBTyxRQUFRLElBQUksQ0FBQyxNQUFNLFdBQVcs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SyxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3hDO1FBQ0gsQ0FBQyxFQUFBO0lBak1ELENBQUM7SUFQRCxJQUFJLGdCQUFnQjs7UUFDbEIsT0FBTyxDQUFDLFFBQUMsSUFBSSxDQUFDLGFBQWEsMENBQUUsV0FBVyxDQUFBLENBQUM7SUFDM0MsQ0FBQztJQU9ELElBQVksTUFBTTtRQUNoQixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN0QyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxRQUFRLEVBQUU7WUFDaEMsT0FBTyxNQUFNLENBQUM7U0FDZjtRQUNELE9BQU8sTUFBTSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELElBQVksVUFBVTtRQUNwQixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUNwQyxJQUFJLEVBQUMsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLE1BQU0sQ0FBQSxFQUFFO1lBQ2pCLE9BQU87U0FDUjtRQUNELE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssUUFBUSxFQUFFO1lBQ2hDLE9BQU8sTUFBTSxDQUFDO1NBQ2Y7UUFDRCxPQUFPLE1BQU0sRUFBRSxDQUFDO0lBQ2xCLENBQUM7Ozs7O1lBL0JGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBVFEsWUFBWTtZQUtaLGVBQWU7NENBWW5CLE1BQU0sU0FBQyxhQUFhLGNBQUcsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTZEFwaVNlcnZpY2UgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2FwaSc7XHJcbmltcG9ydCAqIGFzIHV1aWQgZnJvbSAndXVpZCc7XHJcbmltcG9ydCBoYXNoIGZyb20gJ29iamVjdC1oYXNoJztcclxuaW1wb3J0IHsgQW5ndWxhckNzdiB9IGZyb20gJ2FuZ3VsYXItY3N2LWV4dC9kaXN0L0FuZ3VsYXItY3N2JztcclxuaW1wb3J0IHsgRXhwb3J0VGVtcGxhdGUsIElFeHBvcnRDb25maWd1cmF0aW9uLCBFWFBPUlRfQ09ORklHLCBJRXhwb3J0T3B0aW9uLCBBUEksIFNkRXhwb3J0RmlsZSB9IGZyb20gJy4vZXhwb3J0Lm1vZGVsJztcclxuaW1wb3J0IHsgU2ROb3RpZnlTZXJ2aWNlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9ub3RpZnknO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RFeHBvcnRTZXJ2aWNlIHtcclxuICBnZXQgaGFzQ29uZmlndXJhdGlvbigpIHtcclxuICAgIHJldHVybiAhIXRoaXMuY29uZmlndXJhdGlvbj8uZmlyZWJhc2VVcmw7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBTZEFwaVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG5vdGlmeVNlcnZpY2U6IFNkTm90aWZ5U2VydmljZSxcclxuICAgIEBJbmplY3QoRVhQT1JUX0NPTkZJRykgQE9wdGlvbmFsKCkgcHJpdmF0ZSBjb25maWd1cmF0aW9uOiBJRXhwb3J0Q29uZmlndXJhdGlvbikge1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXQgZm9sZGVyKCkge1xyXG4gICAgY29uc3QgeyBmb2xkZXIgfSA9IHRoaXMuY29uZmlndXJhdGlvbjtcclxuICAgIGlmICh0eXBlb2YgKGZvbGRlcikgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHJldHVybiBmb2xkZXI7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZm9sZGVyKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldCB1c2VyRm9sZGVyKCkge1xyXG4gICAgY29uc3QgeyB1c2VyIH0gPSB0aGlzLmNvbmZpZ3VyYXRpb247XHJcbiAgICBpZiAoIXVzZXI/LmZvbGRlcikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCB7IGZvbGRlciB9ID0gdXNlcjtcclxuICAgIGlmICh0eXBlb2YgKGZvbGRlcikgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHJldHVybiBmb2xkZXI7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZm9sZGVyKCk7XHJcbiAgfVxyXG5cclxuICAjZGlyZWN0b3J5ID0gKGtleTogc3RyaW5nLCBncm91cDogc3RyaW5nKSA9PiB7XHJcbiAgICBsZXQgaGFzaGVkRm9sZGVyID0gaGFzaCh7XHJcbiAgICAgIGZvbGRlcjogdGhpcy5mb2xkZXIsXHJcbiAgICAgIHVzZXJGb2xkZXI6IHRoaXMudXNlckZvbGRlclxyXG4gICAgfSk7XHJcbiAgICBpZiAoIWdyb3VwKSB7XHJcbiAgICAgIHJldHVybiBgZGlyMT0ke3RoaXMuZm9sZGVyfSZkaXIyPVUtJHtoYXNoZWRGb2xkZXJ9JmRpcjM9JHtrZXkgfHwgJyd9YDtcclxuICAgIH1cclxuICAgIGhhc2hlZEZvbGRlciA9IGhhc2goe1xyXG4gICAgICBmb2xkZXI6IHRoaXMuZm9sZGVyLFxyXG4gICAgICBncm91cFxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gYGRpcjE9JHt0aGlzLmZvbGRlcn0mZGlyMj1HLSR7aGFzaGVkRm9sZGVyfSZkaXIzPSR7a2V5IHx8ICcnfWA7XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZVRlbXBsYXRlID0gYXN5bmMgKHRlbXBsYXRlOiBFeHBvcnRUZW1wbGF0ZSkgPT4ge1xyXG4gICAgY29uc3QgeyBmaXJlYmFzZVVybCB9ID0gdGhpcy5jb25maWd1cmF0aW9uO1xyXG4gICAgY29uc3QgeyBnZW5lcmF0ZVRlbXBsYXRlIH0gPSBBUEk7XHJcbiAgICBjb25zdCB1cmwgPSBgJHtmaXJlYmFzZVVybH0ke2dlbmVyYXRlVGVtcGxhdGV9YDtcclxuICAgIGNvbnN0IHsgZmlsZVBhdGgsIGZpbGVOYW1lIH0gPSBhd2FpdCB0aGlzLmFwaVNlcnZpY2UucG9zdCh1cmwsIHRlbXBsYXRlKTtcclxuICAgIHJldHVybiB7IGZpbGVQYXRoLCBmaWxlTmFtZSB9O1xyXG4gIH1cclxuXHJcbiAgdXBsb2FkVGVtcGxhdGUgPSBhc3luYyAoYXJnczoge1xyXG4gICAga2V5OiBzdHJpbmc7XHJcbiAgICBncm91cD86IHN0cmluZztcclxuICAgIHZhbGlkYXRvcj86IChmaWxlTmFtZTogc3RyaW5nKSA9PiBzdHJpbmdcclxuICB9KTogUHJvbWlzZTxTZEV4cG9ydEZpbGU+ID0+IHtcclxuICAgIGNvbnN0IHsga2V5LCBncm91cCwgdmFsaWRhdG9yIH0gPSBhcmdzO1xyXG4gICAgY29uc3QgeyBmaXJlYmFzZVVybCB9ID0gdGhpcy5jb25maWd1cmF0aW9uO1xyXG4gICAgY29uc3QgeyB1cGxvYWRUZW1wbGF0ZSB9ID0gQVBJO1xyXG4gICAgY29uc3QgdXJsID0gYCR7ZmlyZWJhc2VVcmx9JHt1cGxvYWRUZW1wbGF0ZX0/JHt0aGlzLiNkaXJlY3Rvcnkoa2V5LCBncm91cCl9YDtcclxuICAgIGNvbnN0IHsgZmlsZVBhdGgsIGZpbGVOYW1lIH0gPSBhd2FpdCB0aGlzLmFwaVNlcnZpY2UudXBsb2FkU2luZ2xlKHVybCwge1xyXG4gICAgICBleHRlbnNpb25zOiBbJ3hsc3gnXSxcclxuICAgICAgbWF4U2l6ZUluTWI6IDAuMSxcclxuICAgICAgdmFsaWRhdG9yXHJcbiAgICB9KS5jYXRjaCgoZXJyOiBFcnJvcikgPT4ge1xyXG4gICAgICB0aGlzLm5vdGlmeVNlcnZpY2Uubm90aWZ5Lndhcm5pbmcoZXJyPy5tZXNzYWdlKTtcclxuICAgICAgdGhyb3cgZXJyO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBmaWxlUGF0aCxcclxuICAgICAgZmlsZU5hbWUsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVVcGxvYWRUZW1wbGF0ZSA9IGFzeW5jIChhcmdzOiB7XHJcbiAgICBrZXk6IHN0cmluZztcclxuICAgIHRlbXBsYXRlOiBFeHBvcnRUZW1wbGF0ZTtcclxuICAgIGdyb3VwPzogc3RyaW5nO1xyXG4gIH0pID0+IHtcclxuICAgIGNvbnN0IHsga2V5LCB0ZW1wbGF0ZSwgZ3JvdXAgfSA9IGFyZ3M7XHJcbiAgICBjb25zdCB7IGZpcmViYXNlVXJsIH0gPSB0aGlzLmNvbmZpZ3VyYXRpb247XHJcbiAgICBjb25zdCB7IGdlbmVyYXRlVXBsb2FkVGVtcGxhdGUgfSA9IEFQSTtcclxuICAgIGNvbnN0IHVybCA9IGAke2ZpcmViYXNlVXJsfSR7Z2VuZXJhdGVVcGxvYWRUZW1wbGF0ZX0/JHt0aGlzLiNkaXJlY3Rvcnkoa2V5LCBncm91cCl9YDtcclxuICAgIGNvbnN0IHsgZmlsZVBhdGgsIGZpbGVOYW1lIH0gPSBhd2FpdCB0aGlzLmFwaVNlcnZpY2UucG9zdCh1cmwsIHRlbXBsYXRlKTtcclxuICAgIHJldHVybiB7IGZpbGVQYXRoLCBmaWxlTmFtZSB9O1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlRmlsZSA9IGFzeW5jIChhcmdzOiB7XHJcbiAgICBrZXk6IHN0cmluZztcclxuICAgIGdyb3VwPzogc3RyaW5nO1xyXG4gICAgZmlsZU5hbWU/OiBzdHJpbmc7XHJcbiAgfSkgPT4ge1xyXG4gICAgY29uc3QgeyBrZXksIGdyb3VwLCBmaWxlTmFtZSB9ID0gYXJncztcclxuICAgIGNvbnN0IHsgZmlyZWJhc2VVcmwgfSA9IHRoaXMuY29uZmlndXJhdGlvbjtcclxuICAgIGNvbnN0IHsgcmVtb3ZlRmlsZSB9ID0gQVBJO1xyXG4gICAgY29uc3QgdXJsID0gYCR7ZmlyZWJhc2VVcmx9JHtyZW1vdmVGaWxlfT8ke3RoaXMuI2RpcmVjdG9yeShrZXksIGdyb3VwKX0mbmFtZT0ke2ZpbGVOYW1lfWA7XHJcbiAgICBhd2FpdCB0aGlzLmFwaVNlcnZpY2UucG9zdCh1cmwpO1xyXG4gIH1cclxuXHJcbiAgZmlsZXNJbkZvbGRlciA9IGFzeW5jIChhcmdzOiB7XHJcbiAgICBrZXk6IHN0cmluZztcclxuICAgIGdyb3VwPzogc3RyaW5nO1xyXG4gIH0pOiBQcm9taXNlPFNkRXhwb3J0RmlsZVtdPiA9PiB7XHJcbiAgICBpbnRlcmZhY2UgRmlsZXNJbkZvbGRlclJlcyB7XHJcbiAgICAgIGRpcmVjdG9yeTogc3RyaW5nO1xyXG4gICAgICBmaWxlczoge1xyXG4gICAgICAgIHB1YmxpY1VybDogc3RyaW5nLCBmdWxsUGF0aDogc3RyaW5nLCBuYW1lOiBzdHJpbmdcclxuICAgICAgfVtdO1xyXG4gICAgfVxyXG4gICAgY29uc3QgeyBrZXksIGdyb3VwIH0gPSBhcmdzO1xyXG4gICAgY29uc3QgeyBmaXJlYmFzZVVybCB9ID0gdGhpcy5jb25maWd1cmF0aW9uO1xyXG4gICAgY29uc3QgeyBmaWxlc0luRm9sZGVyIH0gPSBBUEk7XHJcbiAgICBjb25zdCB1cmwgPSBgJHtmaXJlYmFzZVVybH0ke2ZpbGVzSW5Gb2xkZXJ9PyR7dGhpcy4jZGlyZWN0b3J5KGtleSwgZ3JvdXApfWA7XHJcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmFwaVNlcnZpY2UuZ2V0PEZpbGVzSW5Gb2xkZXJSZXM+KHVybCk7XHJcbiAgICByZXR1cm4gcmVzLmZpbGVzPy5tYXAoZSA9PiAoe1xyXG4gICAgICBmaWxlUGF0aDogZS5wdWJsaWNVcmwsXHJcbiAgICAgIGZpbGVOYW1lOiBlLm5hbWVcclxuICAgIH0pKSB8fCBbXTtcclxuICB9XHJcblxyXG4gIGRvd25sb2FkID0gKGZpbGVQYXRoOiBzdHJpbmcsIGZpbGVOYW1lPzogc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCBsaW5rOiBhbnkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICBsaW5rLmRvd25sb2FkID0gYCR7ZmlsZU5hbWUgfHwgdXVpZC52NCgpfS54bHN4YDtcclxuICAgIGxpbmsuaHJlZiA9IGZpbGVQYXRoO1xyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcclxuICAgIGxpbmsuY2xpY2soKTtcclxuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7XHJcbiAgfVxyXG5cclxuICBleHBvcnRCeVRlbXBsYXRlID0gYXN5bmMgKGFyZ3M6IHtcclxuICAgIGZpbGVQYXRoOiBzdHJpbmcsXHJcbiAgICBjb2x1bW5zOiBhbnlbXSxcclxuICAgIGl0ZW1zOiBhbnlbXSxcclxuICAgIGZpbGVOYW1lPzogc3RyaW5nXHJcbiAgfSkgPT4ge1xyXG4gICAgY29uc3QgeyBmaWxlUGF0aCwgY29sdW1ucywgaXRlbXMsIGZpbGVOYW1lIH0gPSBhcmdzO1xyXG4gICAgY29uc3QgeyBmaXJlYmFzZVVybCB9ID0gdGhpcy5jb25maWd1cmF0aW9uO1xyXG4gICAgY29uc3QgeyBzZEV4cG9ydEJ5VGVtcGxhdGUgfSA9IEFQSTtcclxuICAgIGNvbnN0IHVybCA9IGAke2ZpcmViYXNlVXJsfSR7c2RFeHBvcnRCeVRlbXBsYXRlfWA7XHJcbiAgICBjb25zdCBidWZmZXIgPSBhd2FpdCB0aGlzLmFwaVNlcnZpY2UucG9zdCh1cmwsIHtcclxuICAgICAgZmlsZVBhdGgsXHJcbiAgICAgIGNvbHVtbnMsXHJcbiAgICAgIGl0ZW1zLFxyXG4gICAgICBmaWxlTmFtZVxyXG4gICAgfSwgbnVsbCwge1xyXG4gICAgICByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcidcclxuICAgIH0pO1xyXG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtidWZmZXJdLCB7IHR5cGU6ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldDtiYXNlNjQsJyB9KTtcclxuICAgIHRoaXMuI2Jsb2JUb1NhdmVBcyhibG9iLCBmaWxlTmFtZSk7XHJcbiAgfVxyXG5cclxuICBleHBvcnQgPSBhc3luYyAob3B0aW9uOiBJRXhwb3J0T3B0aW9uKSA9PiB7XHJcbiAgICBjb25zdCB7IGZpcmViYXNlVXJsIH0gPSB0aGlzLmNvbmZpZ3VyYXRpb247XHJcbiAgICBjb25zdCB7IHNkRXhwb3J0IH0gPSBBUEk7XHJcbiAgICBjb25zdCB1cmwgPSBgJHtmaXJlYmFzZVVybH0ke3NkRXhwb3J0fWA7XHJcbiAgICBjb25zdCBidWZmZXIgPSBhd2FpdCB0aGlzLmFwaVNlcnZpY2UucG9zdCh1cmwsIG9wdGlvbiwgbnVsbCwge1xyXG4gICAgICByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcidcclxuICAgIH0pO1xyXG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtidWZmZXJdLCB7IHR5cGU6ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldDtiYXNlNjQsJyB9KTtcclxuICAgIHRoaXMuI2Jsb2JUb1NhdmVBcyhibG9iLCBvcHRpb24/LmZpbGVOYW1lKTtcclxuICB9XHJcblxyXG4gIGV4cG9ydENTViA9IGFzeW5jIChvcHRpb246IElFeHBvcnRPcHRpb24pID0+IHtcclxuICAgIGNvbnN0IHsgY29sdW1ucywgaXRlbXMsIGZpbGVOYW1lIH0gPSBvcHRpb247XHJcbiAgICBjb25zdCBvcHRpb25zID0ge1xyXG4gICAgICBmaWVsZFNlcGFyYXRvcjogJywnLFxyXG4gICAgICBxdW90ZVN0cmluZ3M6ICdcIicsXHJcbiAgICAgIGRlY2ltYWxzZXBhcmF0b3I6ICcuJyxcclxuICAgICAgc2hvd0xhYmVsczogdHJ1ZSxcclxuICAgICAgc2hvd1RpdGxlOiBmYWxzZSxcclxuICAgICAgdGl0bGU6IGZpbGVOYW1lIHx8ICdDU1YnLFxyXG4gICAgICB1c2VCb206IHRydWUsXHJcbiAgICAgIG5vRG93bmxvYWQ6IGZhbHNlLFxyXG4gICAgICB1c2VIZWFkZXI6IGZhbHNlLFxyXG4gICAgICBudWxsVG9FbXB0eVN0cmluZzogdHJ1ZSxcclxuICAgIH07XHJcbiAgICBjb25zdCBoZWFkZXJDU1YgPSB7fTtcclxuICAgIGZvciAoY29uc3QgY29sdW1uIG9mIGNvbHVtbnMpIHtcclxuICAgICAgaGVhZGVyQ1NWW2NvbHVtbi5maWVsZF0gPSBjb2x1bW4udGl0bGU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmV3IEFuZ3VsYXJDc3YoWy4uLltoZWFkZXJDU1ZdLCAuLi5pdGVtc10sIGAke2ZpbGVOYW1lIHx8ICdDU1YnfV8ke0RhdGUudG9Gb3JtYXQobmV3IERhdGUoKSwgJ3l5eXktTU0tZGQtSEgtbW0tc3MnKX1gLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gICNibG9iVG9TYXZlQXMgPSAoYmxvYjogQmxvYiwgZmlsZU5hbWU6IHN0cmluZyA9ICdFeHBvcnQnKSA9PiB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCB1cmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcclxuICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgICAgZmlsZU5hbWUgPSBmaWxlTmFtZS5yZXBsYWNlKC8ueGxzeC9pLCAnJyk7XHJcbiAgICAgIGlmIChsaW5rLmRvd25sb2FkICE9PSB1bmRlZmluZWQpIHsgLy8gZmVhdHVyZSBkZXRlY3Rpb25cclxuICAgICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnaHJlZicsIHVybCk7XHJcbiAgICAgICAgbGluay5zZXRBdHRyaWJ1dGUoJ2Rvd25sb2FkJywgYCR7ZmlsZU5hbWV9XyR7bmV3IERhdGUoKS50b0Zvcm1hdCgneXl5eV9NTV9kZF9ISF9tbScpfWApO1xyXG4gICAgICAgIGxpbmsuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XHJcbiAgICAgICAgbGluay5jbGljaygpO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7XHJcbiAgICAgIH1cclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgY29uc29sZS5lcnJvcignQmxvYlRvU2F2ZUFzIGVycm9yJywgZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElFeHBvcnRJbmZvIHtcclxuICBkYXRhOiBhbnlbXTtcclxuICBzaGVldE5hbWU/OiBzdHJpbmc7XHJcbiAgZmlsZU5hbWU/OiBzdHJpbmc7XHJcbn1cclxuIl19