@dotglitch/ngx-common 2.0.0 → 3.0.0-beta.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 (1187) hide show
  1. package/README.md +37 -22
  2. package/{components/command-palette → command-palette}/breadcrumb/breadcrumb.component.d.ts +1 -1
  3. package/{components/command-palette → command-palette}/command-palette.component.d.ts +1 -1
  4. package/{services → command-palette}/command-palette.service.d.ts +2 -2
  5. package/command-palette/index.d.ts +2 -0
  6. package/{components/command-palette → command-palette}/shortcut/shortcut.component.d.ts +1 -1
  7. package/{components → core/components}/menu/menu.component.d.ts +2 -2
  8. package/{directives → core/components/menu}/menu.directive.d.ts +1 -1
  9. package/{types/menu.d.ts → core/components/menu/types.d.ts} +1 -1
  10. package/{components → core/components}/types.d.ts +0 -1
  11. package/{public-api.d.ts → core/index.d.ts} +12 -20
  12. package/{services → core/services}/navigation.service.d.ts +1 -1
  13. package/core/utils/index.d.ts +18 -0
  14. package/esm2022/{components/command-palette → command-palette}/breadcrumb/breadcrumb.component.mjs +1 -1
  15. package/esm2022/command-palette/command-palette.component.mjs +257 -0
  16. package/esm2022/command-palette/command-palette.service.mjs +207 -0
  17. package/esm2022/command-palette/dotglitch-ngx-common-command-palette.mjs +5 -0
  18. package/esm2022/command-palette/index.mjs +3 -0
  19. package/esm2022/{components/command-palette → command-palette}/shortcut/shortcut.component.mjs +1 -1
  20. package/esm2022/core/components/lazy-loader/lazy-loader.component.mjs +383 -0
  21. package/esm2022/core/components/lazy-loader/lazy-loader.module.mjs +33 -0
  22. package/esm2022/core/components/lazy-loader/lazy-loader.service.mjs +216 -0
  23. package/esm2022/core/components/lazy-loader/types.mjs +26 -0
  24. package/esm2022/core/components/menu/menu.component.mjs +433 -0
  25. package/esm2022/core/components/menu/menu.directive.mjs +159 -0
  26. package/esm2022/core/components/menu/types.mjs +2 -0
  27. package/esm2022/core/components/parallax-card/parallax-card.component.mjs +138 -0
  28. package/esm2022/core/components/types.mjs +3 -0
  29. package/esm2022/core/directives/image-cache.directive.mjs +143 -0
  30. package/esm2022/core/directives/utils.mjs +120 -0
  31. package/esm2022/core/dotglitch-ngx-common-core.mjs +5 -0
  32. package/esm2022/core/index.mjs +50 -0
  33. package/esm2022/core/pipes/html-bypass.pipe.mjs +27 -0
  34. package/esm2022/core/pipes/resource-bypass.pipe.mjs +27 -0
  35. package/esm2022/core/pipes/script-bypass.pipe.mjs +27 -0
  36. package/esm2022/core/pipes/style-bypass.pipe.mjs +27 -0
  37. package/esm2022/core/pipes/url-bypass.pipe.mjs +27 -0
  38. package/esm2022/core/services/dependency.service.mjs +55 -0
  39. package/esm2022/core/services/dialog.service.mjs +67 -0
  40. package/esm2022/core/services/fetch.service.mjs +74 -0
  41. package/esm2022/core/services/file.service.mjs +42 -0
  42. package/esm2022/core/services/keyboard.service.mjs +128 -0
  43. package/esm2022/core/services/navigation.service.mjs +50 -0
  44. package/esm2022/core/services/theme.service.mjs +64 -0
  45. package/esm2022/core/types/popup.mjs +2 -0
  46. package/esm2022/core/utils/index.mjs +69 -0
  47. package/esm2022/dotglitch-ngx-common.mjs +2 -2
  48. package/esm2022/filemanager/dotglitch-ngx-common-filemanager.mjs +5 -0
  49. package/esm2022/filemanager/file-grid/file-grid.component.mjs +676 -0
  50. package/esm2022/{components/filemanager → filemanager}/filemanager.component.mjs +13 -14
  51. package/esm2022/{components/filemanager → filemanager}/folder-rename/folder-rename.component.mjs +2 -2
  52. package/esm2022/filemanager/helpers.mjs +26 -0
  53. package/esm2022/filemanager/icon-resolver.mjs +155 -0
  54. package/esm2022/filemanager/index.mjs +2 -0
  55. package/esm2022/filemanager/mat-icons.mjs +5705 -0
  56. package/esm2022/filemanager/textextensions.mjs +294 -0
  57. package/esm2022/{components/filemanager → filemanager}/toolbar/breadcrumb/breadcrumb.component.mjs +1 -1
  58. package/esm2022/{components/filemanager → filemanager}/toolbar/icon-button/icon-button.component.mjs +1 -1
  59. package/esm2022/filemanager/toolbar/toolbar.component.mjs +165 -0
  60. package/esm2022/{components/filemanager → filemanager}/tree-view/tree-view.component.mjs +1 -1
  61. package/esm2022/filemanager/types.mjs +2 -0
  62. package/esm2022/index.mjs +3 -0
  63. package/esm2022/monaco-editor/dotglitch-ngx-common-monaco-editor.mjs +5 -0
  64. package/esm2022/monaco-editor/index.mjs +2 -0
  65. package/esm2022/monaco-editor/monaco-editor.component.mjs +234 -0
  66. package/esm2022/monaco-editor/ts-type-resolver/dependency-parser.mjs +91 -0
  67. package/esm2022/monaco-editor/ts-type-resolver/dummy-source-cache.mjs +15 -0
  68. package/esm2022/monaco-editor/ts-type-resolver/import-resolver.mjs +311 -0
  69. package/esm2022/monaco-editor/ts-type-resolver/main.mjs +112 -0
  70. package/esm2022/monaco-editor/ts-type-resolver/recursion-depth.mjs +21 -0
  71. package/esm2022/monaco-editor/ts-type-resolver/types.mjs +14 -0
  72. package/esm2022/monaco-editor/ts-type-resolver/unpkg-source-resolver.mjs +21 -0
  73. package/esm2022/monaco-editor/ts-type-resolver/update-emitter.mjs +37 -0
  74. package/esm2022/overlay-wrapper/dotglitch-ngx-common-overlay-wrapper.mjs +5 -0
  75. package/esm2022/overlay-wrapper/index.mjs +2 -0
  76. package/esm2022/overlay-wrapper/overlay-wrapper.component.mjs +247 -0
  77. package/esm2022/tooltip/dotglitch-ngx-common-tooltip.mjs +5 -0
  78. package/esm2022/tooltip/index.mjs +4 -0
  79. package/esm2022/tooltip/tooltip.component.mjs +204 -0
  80. package/esm2022/tooltip/tooltip.directive.mjs +153 -0
  81. package/esm2022/tooltip/types.mjs +2 -0
  82. package/fesm2022/dotglitch-ngx-common-command-palette.mjs +508 -0
  83. package/fesm2022/dotglitch-ngx-common-command-palette.mjs.map +1 -0
  84. package/fesm2022/dotglitch-ngx-common-core.mjs +2280 -0
  85. package/fesm2022/dotglitch-ngx-common-core.mjs.map +1 -0
  86. package/fesm2022/{dotglitch-ngx-common-folder-rename.component-Bh1IiRvd.mjs → dotglitch-ngx-common-filemanager-folder-rename.component-CnKuU8nn.mjs} +9 -30
  87. package/fesm2022/dotglitch-ngx-common-filemanager-folder-rename.component-CnKuU8nn.mjs.map +1 -0
  88. package/fesm2022/dotglitch-ngx-common-filemanager.mjs +7403 -0
  89. package/fesm2022/dotglitch-ngx-common-filemanager.mjs.map +1 -0
  90. package/fesm2022/dotglitch-ngx-common-monaco-editor.mjs +850 -0
  91. package/fesm2022/dotglitch-ngx-common-monaco-editor.mjs.map +1 -0
  92. package/fesm2022/dotglitch-ngx-common-overlay-wrapper.mjs +254 -0
  93. package/fesm2022/dotglitch-ngx-common-overlay-wrapper.mjs.map +1 -0
  94. package/fesm2022/dotglitch-ngx-common-tooltip.mjs +357 -0
  95. package/fesm2022/dotglitch-ngx-common-tooltip.mjs.map +1 -0
  96. package/fesm2022/dotglitch-ngx-common.mjs +3 -11686
  97. package/fesm2022/dotglitch-ngx-common.mjs.map +1 -1
  98. package/{components/filemanager → filemanager}/file-grid/file-grid.component.d.ts +7 -14
  99. package/{components/filemanager → filemanager}/filemanager.component.d.ts +4 -5
  100. package/{components/filemanager → filemanager}/folder-rename/folder-rename.component.d.ts +1 -1
  101. package/{components/filemanager → filemanager}/helpers.d.ts +1 -1
  102. package/filemanager/index.d.ts +1 -0
  103. package/{components/filemanager → filemanager}/toolbar/toolbar.component.d.ts +2 -2
  104. package/filemanager/types.d.ts +1 -0
  105. package/index.d.ts +1 -5
  106. package/monaco-editor/README.md +3 -0
  107. package/monaco-editor/index.d.ts +1 -0
  108. package/monaco-editor/monaco-editor.component.d.ts +53 -0
  109. package/overlay-wrapper/index.d.ts +1 -0
  110. package/overlay-wrapper/overlay-wrapper.component.d.ts +11 -0
  111. package/package.json +108 -47
  112. package/tooltip/index.d.ts +3 -0
  113. package/{components/tooltip → tooltip}/tooltip.component.d.ts +3 -3
  114. package/{directives → tooltip}/tooltip.directive.d.ts +2 -2
  115. package/{types/tooltip.d.ts → tooltip/types.d.ts} +1 -1
  116. package/assets/lib/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  117. package/assets/lib/vs/base/common/worker/simpleWorker.nls.de.js +0 -8
  118. package/assets/lib/vs/base/common/worker/simpleWorker.nls.es.js +0 -8
  119. package/assets/lib/vs/base/common/worker/simpleWorker.nls.fr.js +0 -8
  120. package/assets/lib/vs/base/common/worker/simpleWorker.nls.it.js +0 -8
  121. package/assets/lib/vs/base/common/worker/simpleWorker.nls.ja.js +0 -8
  122. package/assets/lib/vs/base/common/worker/simpleWorker.nls.js +0 -8
  123. package/assets/lib/vs/base/common/worker/simpleWorker.nls.ko.js +0 -8
  124. package/assets/lib/vs/base/common/worker/simpleWorker.nls.ru.js +0 -8
  125. package/assets/lib/vs/base/common/worker/simpleWorker.nls.zh-cn.js +0 -8
  126. package/assets/lib/vs/base/common/worker/simpleWorker.nls.zh-tw.js +0 -8
  127. package/assets/lib/vs/base/worker/workerMain.js +0 -24
  128. package/assets/lib/vs/basic-languages/abap/abap.js +0 -10
  129. package/assets/lib/vs/basic-languages/apex/apex.js +0 -10
  130. package/assets/lib/vs/basic-languages/azcli/azcli.js +0 -10
  131. package/assets/lib/vs/basic-languages/bat/bat.js +0 -10
  132. package/assets/lib/vs/basic-languages/bicep/bicep.js +0 -11
  133. package/assets/lib/vs/basic-languages/cameligo/cameligo.js +0 -10
  134. package/assets/lib/vs/basic-languages/clojure/clojure.js +0 -10
  135. package/assets/lib/vs/basic-languages/coffee/coffee.js +0 -10
  136. package/assets/lib/vs/basic-languages/cpp/cpp.js +0 -10
  137. package/assets/lib/vs/basic-languages/csharp/csharp.js +0 -10
  138. package/assets/lib/vs/basic-languages/csp/csp.js +0 -10
  139. package/assets/lib/vs/basic-languages/css/css.js +0 -12
  140. package/assets/lib/vs/basic-languages/cypher/cypher.js +0 -10
  141. package/assets/lib/vs/basic-languages/dart/dart.js +0 -10
  142. package/assets/lib/vs/basic-languages/dockerfile/dockerfile.js +0 -10
  143. package/assets/lib/vs/basic-languages/ecl/ecl.js +0 -10
  144. package/assets/lib/vs/basic-languages/elixir/elixir.js +0 -10
  145. package/assets/lib/vs/basic-languages/flow9/flow9.js +0 -10
  146. package/assets/lib/vs/basic-languages/freemarker2/freemarker2.js +0 -12
  147. package/assets/lib/vs/basic-languages/fsharp/fsharp.js +0 -10
  148. package/assets/lib/vs/basic-languages/go/go.js +0 -10
  149. package/assets/lib/vs/basic-languages/graphql/graphql.js +0 -10
  150. package/assets/lib/vs/basic-languages/handlebars/handlebars.js +0 -10
  151. package/assets/lib/vs/basic-languages/hcl/hcl.js +0 -10
  152. package/assets/lib/vs/basic-languages/html/html.js +0 -10
  153. package/assets/lib/vs/basic-languages/ini/ini.js +0 -10
  154. package/assets/lib/vs/basic-languages/java/java.js +0 -10
  155. package/assets/lib/vs/basic-languages/javascript/javascript.js +0 -10
  156. package/assets/lib/vs/basic-languages/julia/julia.js +0 -10
  157. package/assets/lib/vs/basic-languages/kotlin/kotlin.js +0 -10
  158. package/assets/lib/vs/basic-languages/less/less.js +0 -11
  159. package/assets/lib/vs/basic-languages/lexon/lexon.js +0 -10
  160. package/assets/lib/vs/basic-languages/liquid/liquid.js +0 -10
  161. package/assets/lib/vs/basic-languages/lua/lua.js +0 -10
  162. package/assets/lib/vs/basic-languages/m3/m3.js +0 -10
  163. package/assets/lib/vs/basic-languages/markdown/markdown.js +0 -10
  164. package/assets/lib/vs/basic-languages/mips/mips.js +0 -10
  165. package/assets/lib/vs/basic-languages/msdax/msdax.js +0 -10
  166. package/assets/lib/vs/basic-languages/mysql/mysql.js +0 -10
  167. package/assets/lib/vs/basic-languages/objective-c/objective-c.js +0 -10
  168. package/assets/lib/vs/basic-languages/pascal/pascal.js +0 -10
  169. package/assets/lib/vs/basic-languages/pascaligo/pascaligo.js +0 -10
  170. package/assets/lib/vs/basic-languages/perl/perl.js +0 -10
  171. package/assets/lib/vs/basic-languages/pgsql/pgsql.js +0 -10
  172. package/assets/lib/vs/basic-languages/php/php.js +0 -10
  173. package/assets/lib/vs/basic-languages/pla/pla.js +0 -10
  174. package/assets/lib/vs/basic-languages/postiats/postiats.js +0 -10
  175. package/assets/lib/vs/basic-languages/powerquery/powerquery.js +0 -10
  176. package/assets/lib/vs/basic-languages/powershell/powershell.js +0 -10
  177. package/assets/lib/vs/basic-languages/protobuf/protobuf.js +0 -11
  178. package/assets/lib/vs/basic-languages/pug/pug.js +0 -10
  179. package/assets/lib/vs/basic-languages/python/python.js +0 -10
  180. package/assets/lib/vs/basic-languages/qsharp/qsharp.js +0 -10
  181. package/assets/lib/vs/basic-languages/r/r.js +0 -10
  182. package/assets/lib/vs/basic-languages/razor/razor.js +0 -10
  183. package/assets/lib/vs/basic-languages/redis/redis.js +0 -10
  184. package/assets/lib/vs/basic-languages/redshift/redshift.js +0 -10
  185. package/assets/lib/vs/basic-languages/restructuredtext/restructuredtext.js +0 -10
  186. package/assets/lib/vs/basic-languages/ruby/ruby.js +0 -10
  187. package/assets/lib/vs/basic-languages/rust/rust.js +0 -10
  188. package/assets/lib/vs/basic-languages/sb/sb.js +0 -10
  189. package/assets/lib/vs/basic-languages/scala/scala.js +0 -10
  190. package/assets/lib/vs/basic-languages/scheme/scheme.js +0 -10
  191. package/assets/lib/vs/basic-languages/scss/scss.js +0 -12
  192. package/assets/lib/vs/basic-languages/shell/shell.js +0 -10
  193. package/assets/lib/vs/basic-languages/solidity/solidity.js +0 -10
  194. package/assets/lib/vs/basic-languages/sophia/sophia.js +0 -10
  195. package/assets/lib/vs/basic-languages/sparql/sparql.js +0 -10
  196. package/assets/lib/vs/basic-languages/sql/sql.js +0 -10
  197. package/assets/lib/vs/basic-languages/st/st.js +0 -10
  198. package/assets/lib/vs/basic-languages/swift/swift.js +0 -13
  199. package/assets/lib/vs/basic-languages/systemverilog/systemverilog.js +0 -10
  200. package/assets/lib/vs/basic-languages/tcl/tcl.js +0 -10
  201. package/assets/lib/vs/basic-languages/twig/twig.js +0 -10
  202. package/assets/lib/vs/basic-languages/typescript/typescript.js +0 -10
  203. package/assets/lib/vs/basic-languages/vb/vb.js +0 -10
  204. package/assets/lib/vs/basic-languages/wgsl/wgsl.js +0 -307
  205. package/assets/lib/vs/basic-languages/xml/xml.js +0 -10
  206. package/assets/lib/vs/basic-languages/yaml/yaml.js +0 -10
  207. package/assets/lib/vs/editor/editor.main.css +0 -6
  208. package/assets/lib/vs/editor/editor.main.js +0 -752
  209. package/assets/lib/vs/editor/editor.main.nls.de.js +0 -31
  210. package/assets/lib/vs/editor/editor.main.nls.es.js +0 -31
  211. package/assets/lib/vs/editor/editor.main.nls.fr.js +0 -29
  212. package/assets/lib/vs/editor/editor.main.nls.it.js +0 -29
  213. package/assets/lib/vs/editor/editor.main.nls.ja.js +0 -31
  214. package/assets/lib/vs/editor/editor.main.nls.js +0 -29
  215. package/assets/lib/vs/editor/editor.main.nls.ko.js +0 -29
  216. package/assets/lib/vs/editor/editor.main.nls.ru.js +0 -31
  217. package/assets/lib/vs/editor/editor.main.nls.zh-cn.js +0 -31
  218. package/assets/lib/vs/editor/editor.main.nls.zh-tw.js +0 -29
  219. package/assets/lib/vs/language/css/cssMode.js +0 -13
  220. package/assets/lib/vs/language/css/cssWorker.js +0 -81
  221. package/assets/lib/vs/language/html/htmlMode.js +0 -13
  222. package/assets/lib/vs/language/html/htmlWorker.js +0 -453
  223. package/assets/lib/vs/language/json/jsonMode.js +0 -15
  224. package/assets/lib/vs/language/json/jsonWorker.js +0 -36
  225. package/assets/lib/vs/language/typescript/tsMode.js +0 -20
  226. package/assets/lib/vs/language/typescript/tsWorker.js +0 -37016
  227. package/assets/lib/vs/loader.js +0 -11
  228. package/assets/mat-icons.ts +0 -5704
  229. package/assets/material/3d.svg +0 -1
  230. package/assets/material/abc.svg +0 -1
  231. package/assets/material/actionscript.svg +0 -1
  232. package/assets/material/ada.svg +0 -1
  233. package/assets/material/adonis.svg +0 -1
  234. package/assets/material/advpl_include.svg +0 -1
  235. package/assets/material/advpl_prw.svg +0 -1
  236. package/assets/material/advpl_ptm.svg +0 -1
  237. package/assets/material/advpl_tlpp.svg +0 -1
  238. package/assets/material/android.svg +0 -1
  239. package/assets/material/angular-component.svg +0 -1
  240. package/assets/material/angular-directive.svg +0 -1
  241. package/assets/material/angular-guard.svg +0 -1
  242. package/assets/material/angular-pipe.svg +0 -1
  243. package/assets/material/angular-resolver.svg +0 -1
  244. package/assets/material/angular-service.svg +0 -1
  245. package/assets/material/angular.svg +0 -1
  246. package/assets/material/antlr.svg +0 -1
  247. package/assets/material/apiblueprint.svg +0 -1
  248. package/assets/material/apollo.svg +0 -1
  249. package/assets/material/applescript.svg +0 -1
  250. package/assets/material/appveyor.svg +0 -1
  251. package/assets/material/architecture.svg +0 -1
  252. package/assets/material/arduino.svg +0 -1
  253. package/assets/material/asciidoc.svg +0 -1
  254. package/assets/material/assembly.svg +0 -1
  255. package/assets/material/astro.svg +0 -1
  256. package/assets/material/astyle.svg +0 -1
  257. package/assets/material/audio.svg +0 -1
  258. package/assets/material/aurelia.svg +0 -1
  259. package/assets/material/authors.svg +0 -1
  260. package/assets/material/auto.svg +0 -1
  261. package/assets/material/auto_light.svg +0 -1
  262. package/assets/material/autohotkey.svg +0 -1
  263. package/assets/material/autoit.svg +0 -1
  264. package/assets/material/azure-pipelines.svg +0 -1
  265. package/assets/material/azure.svg +0 -1
  266. package/assets/material/babel.svg +0 -1
  267. package/assets/material/ballerina.svg +0 -1
  268. package/assets/material/bazel.svg +0 -1
  269. package/assets/material/bicep.svg +0 -1
  270. package/assets/material/bitbucket.svg +0 -13
  271. package/assets/material/bithound.svg +0 -1
  272. package/assets/material/blink.svg +0 -1
  273. package/assets/material/blink_light.svg +0 -1
  274. package/assets/material/blitz.svg +0 -1
  275. package/assets/material/bower.svg +0 -1
  276. package/assets/material/brainfuck.svg +0 -1
  277. package/assets/material/browserlist.svg +0 -1
  278. package/assets/material/browserlist_light.svg +0 -1
  279. package/assets/material/buck.svg +0 -1
  280. package/assets/material/bucklescript.svg +0 -1
  281. package/assets/material/buildkite.svg +0 -1
  282. package/assets/material/bun.svg +0 -2
  283. package/assets/material/bun_light.svg +0 -2
  284. package/assets/material/c.svg +0 -4
  285. package/assets/material/cabal.svg +0 -1
  286. package/assets/material/caddy.svg +0 -1
  287. package/assets/material/cadence.svg +0 -1
  288. package/assets/material/cake.svg +0 -1
  289. package/assets/material/capacitor.svg +0 -1
  290. package/assets/material/certificate.svg +0 -1
  291. package/assets/material/changelog.svg +0 -1
  292. package/assets/material/chess.svg +0 -1
  293. package/assets/material/chess_light.svg +0 -1
  294. package/assets/material/circleci.svg +0 -1
  295. package/assets/material/circleci_light.svg +0 -1
  296. package/assets/material/clojure.svg +0 -1
  297. package/assets/material/cloudfoundry.svg +0 -1
  298. package/assets/material/cmake.svg +0 -1
  299. package/assets/material/coala.svg +0 -1
  300. package/assets/material/cobol.svg +0 -1
  301. package/assets/material/coconut.svg +0 -1
  302. package/assets/material/code-climate.svg +0 -1
  303. package/assets/material/code-climate_light.svg +0 -1
  304. package/assets/material/codecov.svg +0 -1
  305. package/assets/material/codeowners.svg +0 -1
  306. package/assets/material/coffee.svg +0 -1
  307. package/assets/material/coldfusion.svg +0 -1
  308. package/assets/material/command.svg +0 -1
  309. package/assets/material/commitlint.svg +0 -1
  310. package/assets/material/conduct.svg +0 -1
  311. package/assets/material/console.svg +0 -1
  312. package/assets/material/contributing.svg +0 -1
  313. package/assets/material/cpp.svg +0 -4
  314. package/assets/material/craco.svg +0 -45
  315. package/assets/material/credits.svg +0 -1
  316. package/assets/material/crystal.svg +0 -1
  317. package/assets/material/crystal_light.svg +0 -1
  318. package/assets/material/csharp.svg +0 -4
  319. package/assets/material/css-map.svg +0 -1
  320. package/assets/material/css.svg +0 -1
  321. package/assets/material/cucumber.svg +0 -1
  322. package/assets/material/cuda.svg +0 -1
  323. package/assets/material/cypress.svg +0 -1
  324. package/assets/material/d.svg +0 -1
  325. package/assets/material/dart.svg +0 -1
  326. package/assets/material/dart_generated.svg +0 -1
  327. package/assets/material/database.svg +0 -1
  328. package/assets/material/denizenscript.svg +0 -1
  329. package/assets/material/deno.svg +0 -1
  330. package/assets/material/deno_light.svg +0 -1
  331. package/assets/material/dependabot.svg +0 -1
  332. package/assets/material/dhall.svg +0 -1
  333. package/assets/material/diff.svg +0 -1
  334. package/assets/material/dinophp.svg +0 -1
  335. package/assets/material/disc.svg +0 -1
  336. package/assets/material/django.svg +0 -1
  337. package/assets/material/docker.svg +0 -1
  338. package/assets/material/document.svg +0 -1
  339. package/assets/material/dotjs.svg +0 -1
  340. package/assets/material/drawio.svg +0 -1
  341. package/assets/material/drone.svg +0 -1
  342. package/assets/material/drone_light.svg +0 -1
  343. package/assets/material/dune.svg +0 -1
  344. package/assets/material/edge.svg +0 -1
  345. package/assets/material/editorconfig.svg +0 -1
  346. package/assets/material/ejs.svg +0 -1
  347. package/assets/material/elixir.svg +0 -1
  348. package/assets/material/elm.svg +0 -1
  349. package/assets/material/email.svg +0 -1
  350. package/assets/material/ember.svg +0 -1
  351. package/assets/material/erlang.svg +0 -1
  352. package/assets/material/eslint.svg +0 -1
  353. package/assets/material/exe.svg +0 -1
  354. package/assets/material/fastlane.svg +0 -1
  355. package/assets/material/favicon.svg +0 -1
  356. package/assets/material/figma.svg +0 -1
  357. package/assets/material/file.svg +0 -1
  358. package/assets/material/firebase.svg +0 -1
  359. package/assets/material/flash.svg +0 -1
  360. package/assets/material/flow.svg +0 -1
  361. package/assets/material/folder-admin-open.svg +0 -1
  362. package/assets/material/folder-admin.svg +0 -1
  363. package/assets/material/folder-android-open.svg +0 -1
  364. package/assets/material/folder-android.svg +0 -1
  365. package/assets/material/folder-angular-open.svg +0 -1
  366. package/assets/material/folder-angular.svg +0 -1
  367. package/assets/material/folder-animation-open.svg +0 -1
  368. package/assets/material/folder-animation.svg +0 -1
  369. package/assets/material/folder-ansible-open.svg +0 -1
  370. package/assets/material/folder-ansible.svg +0 -1
  371. package/assets/material/folder-api-open.svg +0 -1
  372. package/assets/material/folder-api.svg +0 -1
  373. package/assets/material/folder-apollo-open.svg +0 -1
  374. package/assets/material/folder-apollo.svg +0 -1
  375. package/assets/material/folder-app-open.svg +0 -1
  376. package/assets/material/folder-app.svg +0 -1
  377. package/assets/material/folder-archive-open.svg +0 -1
  378. package/assets/material/folder-archive.svg +0 -1
  379. package/assets/material/folder-audio-open.svg +0 -1
  380. package/assets/material/folder-audio.svg +0 -1
  381. package/assets/material/folder-aurelia-open.svg +0 -1
  382. package/assets/material/folder-aurelia.svg +0 -1
  383. package/assets/material/folder-aws-open.svg +0 -1
  384. package/assets/material/folder-aws.svg +0 -1
  385. package/assets/material/folder-azure-pipelines-open.svg +0 -1
  386. package/assets/material/folder-azure-pipelines.svg +0 -1
  387. package/assets/material/folder-base-open.svg +0 -1
  388. package/assets/material/folder-base.svg +0 -1
  389. package/assets/material/folder-batch-open.svg +0 -1
  390. package/assets/material/folder-batch.svg +0 -1
  391. package/assets/material/folder-benchmark-open.svg +0 -1
  392. package/assets/material/folder-benchmark.svg +0 -1
  393. package/assets/material/folder-bower-open.svg +0 -1
  394. package/assets/material/folder-bower.svg +0 -1
  395. package/assets/material/folder-buildkite-open.svg +0 -1
  396. package/assets/material/folder-buildkite.svg +0 -1
  397. package/assets/material/folder-cart-open.svg +0 -1
  398. package/assets/material/folder-cart.svg +0 -1
  399. package/assets/material/folder-changesets-open.svg +0 -5
  400. package/assets/material/folder-changesets.svg +0 -2
  401. package/assets/material/folder-ci-open.svg +0 -1
  402. package/assets/material/folder-ci.svg +0 -1
  403. package/assets/material/folder-circleci-open.svg +0 -1
  404. package/assets/material/folder-circleci.svg +0 -1
  405. package/assets/material/folder-class-open.svg +0 -1
  406. package/assets/material/folder-class.svg +0 -1
  407. package/assets/material/folder-client-open.svg +0 -1
  408. package/assets/material/folder-client.svg +0 -1
  409. package/assets/material/folder-cluster-open.svg +0 -1
  410. package/assets/material/folder-cluster.svg +0 -1
  411. package/assets/material/folder-cobol-open.svg +0 -1
  412. package/assets/material/folder-cobol.svg +0 -1
  413. package/assets/material/folder-command-open.svg +0 -1
  414. package/assets/material/folder-command.svg +0 -1
  415. package/assets/material/folder-components-open.svg +0 -1
  416. package/assets/material/folder-components.svg +0 -1
  417. package/assets/material/folder-config-open.svg +0 -1
  418. package/assets/material/folder-config.svg +0 -1
  419. package/assets/material/folder-connection-open.svg +0 -1
  420. package/assets/material/folder-connection.svg +0 -1
  421. package/assets/material/folder-constant-open.svg +0 -1
  422. package/assets/material/folder-constant.svg +0 -1
  423. package/assets/material/folder-container-open.svg +0 -1
  424. package/assets/material/folder-container.svg +0 -1
  425. package/assets/material/folder-content-open.svg +0 -1
  426. package/assets/material/folder-content.svg +0 -1
  427. package/assets/material/folder-context-open.svg +0 -1
  428. package/assets/material/folder-context.svg +0 -1
  429. package/assets/material/folder-contract-open.svg +0 -1
  430. package/assets/material/folder-contract.svg +0 -1
  431. package/assets/material/folder-controller-open.svg +0 -1
  432. package/assets/material/folder-controller.svg +0 -1
  433. package/assets/material/folder-core-open.svg +0 -1
  434. package/assets/material/folder-core.svg +0 -1
  435. package/assets/material/folder-coverage-open.svg +0 -1
  436. package/assets/material/folder-coverage.svg +0 -1
  437. package/assets/material/folder-css-open.svg +0 -1
  438. package/assets/material/folder-css.svg +0 -1
  439. package/assets/material/folder-custom-open.svg +0 -1
  440. package/assets/material/folder-custom.svg +0 -1
  441. package/assets/material/folder-cypress-open.svg +0 -1
  442. package/assets/material/folder-cypress.svg +0 -1
  443. package/assets/material/folder-database-open.svg +0 -1
  444. package/assets/material/folder-database.svg +0 -1
  445. package/assets/material/folder-debug-open.svg +0 -1
  446. package/assets/material/folder-debug.svg +0 -1
  447. package/assets/material/folder-decorators-open.svg +0 -2
  448. package/assets/material/folder-decorators.svg +0 -5
  449. package/assets/material/folder-delta-open.svg +0 -1
  450. package/assets/material/folder-delta.svg +0 -1
  451. package/assets/material/folder-dist-open.svg +0 -1
  452. package/assets/material/folder-dist.svg +0 -1
  453. package/assets/material/folder-docker-open.svg +0 -1
  454. package/assets/material/folder-docker.svg +0 -1
  455. package/assets/material/folder-docs-open.svg +0 -1
  456. package/assets/material/folder-docs.svg +0 -1
  457. package/assets/material/folder-download-open.svg +0 -1
  458. package/assets/material/folder-download.svg +0 -1
  459. package/assets/material/folder-dump-open.svg +0 -1
  460. package/assets/material/folder-dump.svg +0 -1
  461. package/assets/material/folder-environment-open.svg +0 -1
  462. package/assets/material/folder-environment.svg +0 -1
  463. package/assets/material/folder-error-open.svg +0 -1
  464. package/assets/material/folder-error.svg +0 -1
  465. package/assets/material/folder-event-open.svg +0 -1
  466. package/assets/material/folder-event.svg +0 -1
  467. package/assets/material/folder-examples-open.svg +0 -1
  468. package/assets/material/folder-examples.svg +0 -1
  469. package/assets/material/folder-expo-open.svg +0 -1
  470. package/assets/material/folder-expo.svg +0 -1
  471. package/assets/material/folder-export-open.svg +0 -1
  472. package/assets/material/folder-export.svg +0 -1
  473. package/assets/material/folder-fastlane-open.svg +0 -1
  474. package/assets/material/folder-fastlane.svg +0 -1
  475. package/assets/material/folder-firebase-open.svg +0 -1
  476. package/assets/material/folder-firebase.svg +0 -1
  477. package/assets/material/folder-flow-open.svg +0 -1
  478. package/assets/material/folder-flow.svg +0 -1
  479. package/assets/material/folder-font-open.svg +0 -1
  480. package/assets/material/folder-font.svg +0 -1
  481. package/assets/material/folder-functions-open.svg +0 -1
  482. package/assets/material/folder-functions.svg +0 -1
  483. package/assets/material/folder-gamemaker-open.svg +0 -2
  484. package/assets/material/folder-gamemaker.svg +0 -2
  485. package/assets/material/folder-generator-open.svg +0 -1
  486. package/assets/material/folder-generator.svg +0 -1
  487. package/assets/material/folder-git-open.svg +0 -1
  488. package/assets/material/folder-git.svg +0 -1
  489. package/assets/material/folder-github-open.svg +0 -1
  490. package/assets/material/folder-github.svg +0 -1
  491. package/assets/material/folder-gitlab-open.svg +0 -1
  492. package/assets/material/folder-gitlab.svg +0 -1
  493. package/assets/material/folder-global-open.svg +0 -1
  494. package/assets/material/folder-global.svg +0 -1
  495. package/assets/material/folder-godot-open.svg +0 -2
  496. package/assets/material/folder-godot.svg +0 -8
  497. package/assets/material/folder-gradle-open.svg +0 -1
  498. package/assets/material/folder-gradle.svg +0 -1
  499. package/assets/material/folder-graphql-open.svg +0 -1
  500. package/assets/material/folder-graphql.svg +0 -1
  501. package/assets/material/folder-guard-open.svg +0 -1
  502. package/assets/material/folder-guard.svg +0 -1
  503. package/assets/material/folder-gulp-open.svg +0 -1
  504. package/assets/material/folder-gulp.svg +0 -1
  505. package/assets/material/folder-helper-open.svg +0 -1
  506. package/assets/material/folder-helper.svg +0 -1
  507. package/assets/material/folder-home-open.svg +0 -1
  508. package/assets/material/folder-home.svg +0 -1
  509. package/assets/material/folder-hook-open.svg +0 -1
  510. package/assets/material/folder-hook.svg +0 -1
  511. package/assets/material/folder-husky-open.svg +0 -1
  512. package/assets/material/folder-husky.svg +0 -1
  513. package/assets/material/folder-i18n-open.svg +0 -1
  514. package/assets/material/folder-i18n.svg +0 -1
  515. package/assets/material/folder-images-open.svg +0 -1
  516. package/assets/material/folder-images.svg +0 -1
  517. package/assets/material/folder-import-open.svg +0 -1
  518. package/assets/material/folder-import.svg +0 -1
  519. package/assets/material/folder-include-open.svg +0 -1
  520. package/assets/material/folder-include.svg +0 -1
  521. package/assets/material/folder-intellij-open.svg +0 -1
  522. package/assets/material/folder-intellij-open_light.svg +0 -1
  523. package/assets/material/folder-intellij.svg +0 -1
  524. package/assets/material/folder-intellij_light.svg +0 -1
  525. package/assets/material/folder-interface-open.svg +0 -1
  526. package/assets/material/folder-interface.svg +0 -1
  527. package/assets/material/folder-ios-open.svg +0 -1
  528. package/assets/material/folder-ios.svg +0 -1
  529. package/assets/material/folder-java-open.svg +0 -1
  530. package/assets/material/folder-java.svg +0 -1
  531. package/assets/material/folder-javascript-open.svg +0 -1
  532. package/assets/material/folder-javascript.svg +0 -1
  533. package/assets/material/folder-jinja-open.svg +0 -1
  534. package/assets/material/folder-jinja-open_light.svg +0 -1
  535. package/assets/material/folder-jinja.svg +0 -1
  536. package/assets/material/folder-jinja_light.svg +0 -1
  537. package/assets/material/folder-job-open.svg +0 -1
  538. package/assets/material/folder-job.svg +0 -1
  539. package/assets/material/folder-json-open.svg +0 -1
  540. package/assets/material/folder-json.svg +0 -1
  541. package/assets/material/folder-keys-open.svg +0 -1
  542. package/assets/material/folder-keys.svg +0 -1
  543. package/assets/material/folder-kubernetes-open.svg +0 -1
  544. package/assets/material/folder-kubernetes.svg +0 -1
  545. package/assets/material/folder-layout-open.svg +0 -1
  546. package/assets/material/folder-layout.svg +0 -1
  547. package/assets/material/folder-less-open.svg +0 -1
  548. package/assets/material/folder-less.svg +0 -1
  549. package/assets/material/folder-lib-open.svg +0 -1
  550. package/assets/material/folder-lib.svg +0 -1
  551. package/assets/material/folder-log-open.svg +0 -1
  552. package/assets/material/folder-log.svg +0 -1
  553. package/assets/material/folder-lua-open.svg +0 -1
  554. package/assets/material/folder-lua.svg +0 -1
  555. package/assets/material/folder-mail-open.svg +0 -1
  556. package/assets/material/folder-mail.svg +0 -1
  557. package/assets/material/folder-mappings-open.svg +0 -1
  558. package/assets/material/folder-mappings.svg +0 -1
  559. package/assets/material/folder-markdown-open.svg +0 -1
  560. package/assets/material/folder-markdown.svg +0 -1
  561. package/assets/material/folder-mercurial-open.svg +0 -5
  562. package/assets/material/folder-mercurial.svg +0 -2
  563. package/assets/material/folder-messages-open.svg +0 -1
  564. package/assets/material/folder-messages.svg +0 -1
  565. package/assets/material/folder-meta-open.svg +0 -1
  566. package/assets/material/folder-meta.svg +0 -1
  567. package/assets/material/folder-middleware-open.svg +0 -1
  568. package/assets/material/folder-middleware.svg +0 -1
  569. package/assets/material/folder-mjml-open.svg +0 -1
  570. package/assets/material/folder-mjml.svg +0 -1
  571. package/assets/material/folder-mobile-open.svg +0 -1
  572. package/assets/material/folder-mobile.svg +0 -1
  573. package/assets/material/folder-mock-open.svg +0 -1
  574. package/assets/material/folder-mock.svg +0 -1
  575. package/assets/material/folder-netlify-open.svg +0 -5
  576. package/assets/material/folder-netlify.svg +0 -2
  577. package/assets/material/folder-next-open.svg +0 -1
  578. package/assets/material/folder-next.svg +0 -1
  579. package/assets/material/folder-ngrx-actions-open.svg +0 -1
  580. package/assets/material/folder-ngrx-actions.svg +0 -1
  581. package/assets/material/folder-ngrx-effects-open.svg +0 -1
  582. package/assets/material/folder-ngrx-effects.svg +0 -1
  583. package/assets/material/folder-ngrx-entities-open.svg +0 -1
  584. package/assets/material/folder-ngrx-entities.svg +0 -1
  585. package/assets/material/folder-ngrx-reducer-open.svg +0 -1
  586. package/assets/material/folder-ngrx-reducer.svg +0 -1
  587. package/assets/material/folder-ngrx-selectors-open.svg +0 -1
  588. package/assets/material/folder-ngrx-selectors.svg +0 -1
  589. package/assets/material/folder-ngrx-state-open.svg +0 -1
  590. package/assets/material/folder-ngrx-state.svg +0 -1
  591. package/assets/material/folder-ngrx-store-open.svg +0 -1
  592. package/assets/material/folder-ngrx-store.svg +0 -1
  593. package/assets/material/folder-node-open.svg +0 -1
  594. package/assets/material/folder-node.svg +0 -1
  595. package/assets/material/folder-nuxt-open.svg +0 -1
  596. package/assets/material/folder-nuxt.svg +0 -1
  597. package/assets/material/folder-open.svg +0 -1
  598. package/assets/material/folder-other-open.svg +0 -1
  599. package/assets/material/folder-other.svg +0 -1
  600. package/assets/material/folder-packages-open.svg +0 -1
  601. package/assets/material/folder-packages.svg +0 -1
  602. package/assets/material/folder-pdf-open.svg +0 -1
  603. package/assets/material/folder-pdf.svg +0 -1
  604. package/assets/material/folder-php-open.svg +0 -1
  605. package/assets/material/folder-php.svg +0 -1
  606. package/assets/material/folder-phpmailer-open.svg +0 -1
  607. package/assets/material/folder-phpmailer.svg +0 -1
  608. package/assets/material/folder-pipe-open.svg +0 -1
  609. package/assets/material/folder-pipe.svg +0 -1
  610. package/assets/material/folder-plastic-open.svg +0 -8
  611. package/assets/material/folder-plastic.svg +0 -2
  612. package/assets/material/folder-plugin-open.svg +0 -1
  613. package/assets/material/folder-plugin.svg +0 -1
  614. package/assets/material/folder-prisma-open.svg +0 -1
  615. package/assets/material/folder-prisma.svg +0 -1
  616. package/assets/material/folder-private-open.svg +0 -1
  617. package/assets/material/folder-private.svg +0 -1
  618. package/assets/material/folder-project-open.svg +0 -1
  619. package/assets/material/folder-project.svg +0 -1
  620. package/assets/material/folder-proto-open.svg +0 -1
  621. package/assets/material/folder-proto.svg +0 -1
  622. package/assets/material/folder-public-open.svg +0 -1
  623. package/assets/material/folder-public.svg +0 -1
  624. package/assets/material/folder-python-open.svg +0 -1
  625. package/assets/material/folder-python.svg +0 -1
  626. package/assets/material/folder-quasar-open.svg +0 -1
  627. package/assets/material/folder-quasar.svg +0 -1
  628. package/assets/material/folder-queue-open.svg +0 -1
  629. package/assets/material/folder-queue.svg +0 -1
  630. package/assets/material/folder-react-components-open.svg +0 -1
  631. package/assets/material/folder-react-components.svg +0 -1
  632. package/assets/material/folder-redux-actions-open.svg +0 -1
  633. package/assets/material/folder-redux-actions.svg +0 -1
  634. package/assets/material/folder-redux-reducer-open.svg +0 -1
  635. package/assets/material/folder-redux-reducer.svg +0 -1
  636. package/assets/material/folder-redux-selector-open.svg +0 -1
  637. package/assets/material/folder-redux-selector.svg +0 -1
  638. package/assets/material/folder-redux-store-open.svg +0 -1
  639. package/assets/material/folder-redux-store.svg +0 -1
  640. package/assets/material/folder-resolver-open.svg +0 -1
  641. package/assets/material/folder-resolver.svg +0 -1
  642. package/assets/material/folder-resource-open.svg +0 -1
  643. package/assets/material/folder-resource.svg +0 -1
  644. package/assets/material/folder-review-open.svg +0 -1
  645. package/assets/material/folder-review.svg +0 -1
  646. package/assets/material/folder-root-open.svg +0 -1
  647. package/assets/material/folder-root.svg +0 -1
  648. package/assets/material/folder-routes-open.svg +0 -1
  649. package/assets/material/folder-routes.svg +0 -1
  650. package/assets/material/folder-rules-open.svg +0 -1
  651. package/assets/material/folder-rules.svg +0 -1
  652. package/assets/material/folder-sass-open.svg +0 -1
  653. package/assets/material/folder-sass.svg +0 -1
  654. package/assets/material/folder-scala-open.svg +0 -1
  655. package/assets/material/folder-scala.svg +0 -1
  656. package/assets/material/folder-scripts-open.svg +0 -1
  657. package/assets/material/folder-scripts.svg +0 -1
  658. package/assets/material/folder-secure-open.svg +0 -1
  659. package/assets/material/folder-secure.svg +0 -1
  660. package/assets/material/folder-server-open.svg +0 -1
  661. package/assets/material/folder-server.svg +0 -1
  662. package/assets/material/folder-serverless-open.svg +0 -1
  663. package/assets/material/folder-serverless.svg +0 -1
  664. package/assets/material/folder-shader-open.svg +0 -1
  665. package/assets/material/folder-shader.svg +0 -1
  666. package/assets/material/folder-shared-open.svg +0 -1
  667. package/assets/material/folder-shared.svg +0 -1
  668. package/assets/material/folder-src-open.svg +0 -1
  669. package/assets/material/folder-src.svg +0 -1
  670. package/assets/material/folder-stack-open.svg +0 -1
  671. package/assets/material/folder-stack.svg +0 -1
  672. package/assets/material/folder-stencil-open.svg +0 -1
  673. package/assets/material/folder-stencil.svg +0 -1
  674. package/assets/material/folder-storybook-open.svg +0 -1
  675. package/assets/material/folder-storybook.svg +0 -1
  676. package/assets/material/folder-stylus-open.svg +0 -1
  677. package/assets/material/folder-stylus.svg +0 -1
  678. package/assets/material/folder-sublime-open.svg +0 -1
  679. package/assets/material/folder-sublime.svg +0 -1
  680. package/assets/material/folder-supabase-open.svg +0 -5
  681. package/assets/material/folder-supabase.svg +0 -2
  682. package/assets/material/folder-svelte-open.svg +0 -1
  683. package/assets/material/folder-svelte.svg +0 -1
  684. package/assets/material/folder-svg-open.svg +0 -1
  685. package/assets/material/folder-svg.svg +0 -1
  686. package/assets/material/folder-syntax-open.svg +0 -1
  687. package/assets/material/folder-syntax.svg +0 -1
  688. package/assets/material/folder-target-open.svg +0 -1
  689. package/assets/material/folder-target.svg +0 -1
  690. package/assets/material/folder-tasks-open.svg +0 -1
  691. package/assets/material/folder-tasks.svg +0 -1
  692. package/assets/material/folder-temp-open.svg +0 -1
  693. package/assets/material/folder-temp.svg +0 -1
  694. package/assets/material/folder-template-open.svg +0 -1
  695. package/assets/material/folder-template.svg +0 -1
  696. package/assets/material/folder-terraform-open.svg +0 -1
  697. package/assets/material/folder-terraform.svg +0 -1
  698. package/assets/material/folder-test-open.svg +0 -1
  699. package/assets/material/folder-test.svg +0 -1
  700. package/assets/material/folder-theme-open.svg +0 -1
  701. package/assets/material/folder-theme.svg +0 -1
  702. package/assets/material/folder-tools-open.svg +0 -1
  703. package/assets/material/folder-tools.svg +0 -1
  704. package/assets/material/folder-typescript-open.svg +0 -1
  705. package/assets/material/folder-typescript.svg +0 -1
  706. package/assets/material/folder-unity-open.svg +0 -1
  707. package/assets/material/folder-unity.svg +0 -1
  708. package/assets/material/folder-update-open.svg +0 -1
  709. package/assets/material/folder-update.svg +0 -1
  710. package/assets/material/folder-upload-open.svg +0 -1
  711. package/assets/material/folder-upload.svg +0 -1
  712. package/assets/material/folder-utils-open.svg +0 -1
  713. package/assets/material/folder-utils.svg +0 -1
  714. package/assets/material/folder-vercel-open.svg +0 -1
  715. package/assets/material/folder-vercel.svg +0 -1
  716. package/assets/material/folder-verdaccio-open.svg +0 -1
  717. package/assets/material/folder-verdaccio.svg +0 -1
  718. package/assets/material/folder-video-open.svg +0 -1
  719. package/assets/material/folder-video.svg +0 -1
  720. package/assets/material/folder-views-open.svg +0 -1
  721. package/assets/material/folder-views.svg +0 -1
  722. package/assets/material/folder-vm-open.svg +0 -1
  723. package/assets/material/folder-vm.svg +0 -1
  724. package/assets/material/folder-vscode-open.svg +0 -1
  725. package/assets/material/folder-vscode.svg +0 -1
  726. package/assets/material/folder-vue-directives-open.svg +0 -1
  727. package/assets/material/folder-vue-directives.svg +0 -1
  728. package/assets/material/folder-vue-open.svg +0 -1
  729. package/assets/material/folder-vue.svg +0 -1
  730. package/assets/material/folder-vuepress-open.svg +0 -1
  731. package/assets/material/folder-vuepress.svg +0 -1
  732. package/assets/material/folder-vuex-store-open.svg +0 -1
  733. package/assets/material/folder-vuex-store.svg +0 -1
  734. package/assets/material/folder-wakatime-open.svg +0 -1
  735. package/assets/material/folder-wakatime.svg +0 -1
  736. package/assets/material/folder-webpack-open.svg +0 -1
  737. package/assets/material/folder-webpack.svg +0 -1
  738. package/assets/material/folder-wordpress-open.svg +0 -1
  739. package/assets/material/folder-wordpress.svg +0 -1
  740. package/assets/material/folder-yarn-open.svg +0 -1
  741. package/assets/material/folder-yarn.svg +0 -1
  742. package/assets/material/folder.svg +0 -1
  743. package/assets/material/font.svg +0 -1
  744. package/assets/material/forth.svg +0 -1
  745. package/assets/material/fortran.svg +0 -1
  746. package/assets/material/foxpro.svg +0 -1
  747. package/assets/material/fsharp.svg +0 -1
  748. package/assets/material/fusebox.svg +0 -1
  749. package/assets/material/gamemaker.svg +0 -4
  750. package/assets/material/gatsby.svg +0 -1
  751. package/assets/material/gcp.svg +0 -1
  752. package/assets/material/gemfile.svg +0 -1
  753. package/assets/material/gemini.svg +0 -1
  754. package/assets/material/git.svg +0 -1
  755. package/assets/material/gitlab.svg +0 -1
  756. package/assets/material/gitpod.svg +0 -1
  757. package/assets/material/gleam.svg +0 -1
  758. package/assets/material/go-mod.svg +0 -1
  759. package/assets/material/go.svg +0 -1
  760. package/assets/material/go_gopher.svg +0 -1
  761. package/assets/material/godot-assets.svg +0 -7
  762. package/assets/material/godot.svg +0 -7
  763. package/assets/material/gradle.svg +0 -1
  764. package/assets/material/grain.svg +0 -1
  765. package/assets/material/graphcool.svg +0 -1
  766. package/assets/material/graphql.svg +0 -1
  767. package/assets/material/gridsome.svg +0 -1
  768. package/assets/material/groovy.svg +0 -1
  769. package/assets/material/grunt.svg +0 -1
  770. package/assets/material/gulp.svg +0 -1
  771. package/assets/material/h.svg +0 -1
  772. package/assets/material/hack.svg +0 -1
  773. package/assets/material/haml.svg +0 -1
  774. package/assets/material/handlebars.svg +0 -1
  775. package/assets/material/hardhat.svg +0 -1
  776. package/assets/material/haskell.svg +0 -1
  777. package/assets/material/haxe.svg +0 -1
  778. package/assets/material/hcl.svg +0 -1
  779. package/assets/material/hcl_light.svg +0 -1
  780. package/assets/material/helm.svg +0 -1
  781. package/assets/material/heroku.svg +0 -1
  782. package/assets/material/hex.svg +0 -1
  783. package/assets/material/horusec.svg +0 -1
  784. package/assets/material/hpp.svg +0 -1
  785. package/assets/material/html.svg +0 -1
  786. package/assets/material/http.svg +0 -1
  787. package/assets/material/husky.svg +0 -1
  788. package/assets/material/i18n.svg +0 -1
  789. package/assets/material/idris.svg +0 -1
  790. package/assets/material/ifanr-cloud.svg +0 -10
  791. package/assets/material/image.svg +0 -1
  792. package/assets/material/imba.svg +0 -1
  793. package/assets/material/ionic.svg +0 -1
  794. package/assets/material/istanbul.svg +0 -1
  795. package/assets/material/jar.svg +0 -1
  796. package/assets/material/java.svg +0 -1
  797. package/assets/material/javaclass.svg +0 -1
  798. package/assets/material/javascript-map.svg +0 -1
  799. package/assets/material/javascript.svg +0 -1
  800. package/assets/material/jenkins.svg +0 -1
  801. package/assets/material/jest.svg +0 -1
  802. package/assets/material/jinja.svg +0 -1
  803. package/assets/material/jinja_light.svg +0 -1
  804. package/assets/material/jsconfig.svg +0 -1
  805. package/assets/material/json.svg +0 -1
  806. package/assets/material/julia.svg +0 -1
  807. package/assets/material/jupyter.svg +0 -1
  808. package/assets/material/karma.svg +0 -1
  809. package/assets/material/key.svg +0 -1
  810. package/assets/material/kivy.svg +0 -1
  811. package/assets/material/kl.svg +0 -1
  812. package/assets/material/kotlin.svg +0 -1
  813. package/assets/material/kusto.svg +0 -1
  814. package/assets/material/laravel.svg +0 -1
  815. package/assets/material/lerna.svg +0 -1
  816. package/assets/material/less.svg +0 -1
  817. package/assets/material/lib.svg +0 -1
  818. package/assets/material/lighthouse.svg +0 -1
  819. package/assets/material/lilypond.svg +0 -1
  820. package/assets/material/liquid.svg +0 -1
  821. package/assets/material/lisp.svg +0 -1
  822. package/assets/material/livescript.svg +0 -1
  823. package/assets/material/lock.svg +0 -1
  824. package/assets/material/log.svg +0 -1
  825. package/assets/material/lolcode.svg +0 -1
  826. package/assets/material/lua.svg +0 -1
  827. package/assets/material/makefile.svg +0 -1
  828. package/assets/material/markdown.svg +0 -1
  829. package/assets/material/markojs.svg +0 -1
  830. package/assets/material/mathematica.svg +0 -1
  831. package/assets/material/matlab.svg +0 -1
  832. package/assets/material/maven.svg +0 -1
  833. package/assets/material/mdsvex.svg +0 -1
  834. package/assets/material/mdx.svg +0 -1
  835. package/assets/material/mercurial.svg +0 -6
  836. package/assets/material/merlin.svg +0 -1
  837. package/assets/material/mermaid.svg +0 -4
  838. package/assets/material/meson.svg +0 -1
  839. package/assets/material/minecraft.svg +0 -1
  840. package/assets/material/mint.svg +0 -1
  841. package/assets/material/mjml.svg +0 -1
  842. package/assets/material/mocha.svg +0 -1
  843. package/assets/material/modernizr.svg +0 -1
  844. package/assets/material/moonscript.svg +0 -1
  845. package/assets/material/mxml.svg +0 -1
  846. package/assets/material/nano-staged.svg +0 -1
  847. package/assets/material/nano-staged_light.svg +0 -1
  848. package/assets/material/ndst.svg +0 -1
  849. package/assets/material/nest-controller.svg +0 -1
  850. package/assets/material/nest-decorator.svg +0 -1
  851. package/assets/material/nest-filter.svg +0 -1
  852. package/assets/material/nest-gateway.svg +0 -1
  853. package/assets/material/nest-guard.svg +0 -1
  854. package/assets/material/nest-middleware.svg +0 -1
  855. package/assets/material/nest-module.svg +0 -1
  856. package/assets/material/nest-pipe.svg +0 -1
  857. package/assets/material/nest-resolver.svg +0 -1
  858. package/assets/material/nest-service.svg +0 -1
  859. package/assets/material/nest.svg +0 -1
  860. package/assets/material/netlify.svg +0 -7
  861. package/assets/material/netlify_light.svg +0 -7
  862. package/assets/material/next.svg +0 -1
  863. package/assets/material/next_light.svg +0 -1
  864. package/assets/material/nginx.svg +0 -1
  865. package/assets/material/ngrx-actions.svg +0 -1
  866. package/assets/material/ngrx-effects.svg +0 -1
  867. package/assets/material/ngrx-entity.svg +0 -1
  868. package/assets/material/ngrx-reducer.svg +0 -1
  869. package/assets/material/ngrx-selectors.svg +0 -1
  870. package/assets/material/ngrx-state.svg +0 -1
  871. package/assets/material/nim.svg +0 -1
  872. package/assets/material/nix.svg +0 -1
  873. package/assets/material/nodejs.svg +0 -1
  874. package/assets/material/nodejs_alt.svg +0 -1
  875. package/assets/material/nodemon.svg +0 -1
  876. package/assets/material/npm.svg +0 -1
  877. package/assets/material/nrwl.svg +0 -1
  878. package/assets/material/nuget.svg +0 -1
  879. package/assets/material/nunjucks.svg +0 -1
  880. package/assets/material/nuxt.svg +0 -1
  881. package/assets/material/objective-c.svg +0 -4
  882. package/assets/material/objective-cpp.svg +0 -1
  883. package/assets/material/ocaml.svg +0 -1
  884. package/assets/material/odin.svg +0 -1
  885. package/assets/material/opa.svg +0 -1
  886. package/assets/material/opam.svg +0 -1
  887. package/assets/material/otne.svg +0 -1
  888. package/assets/material/parcel.svg +0 -1
  889. package/assets/material/pascal.svg +0 -6
  890. package/assets/material/pawn.svg +0 -1
  891. package/assets/material/pdf.svg +0 -1
  892. package/assets/material/percy.svg +0 -1
  893. package/assets/material/perl.svg +0 -1
  894. package/assets/material/php-cs-fixer.svg +0 -1
  895. package/assets/material/php.svg +0 -1
  896. package/assets/material/php_elephant.svg +0 -1
  897. package/assets/material/php_elephant_pink.svg +0 -1
  898. package/assets/material/phpunit.svg +0 -1
  899. package/assets/material/pinejs.svg +0 -1
  900. package/assets/material/pipeline.svg +0 -1
  901. package/assets/material/plastic.svg +0 -7
  902. package/assets/material/playwright.svg +0 -1
  903. package/assets/material/plop.svg +0 -1
  904. package/assets/material/pnpm.svg +0 -1
  905. package/assets/material/pnpm_light.svg +0 -1
  906. package/assets/material/poetry.svg +0 -1
  907. package/assets/material/postcss.svg +0 -1
  908. package/assets/material/posthtml.svg +0 -1
  909. package/assets/material/powerpoint.svg +0 -1
  910. package/assets/material/powershell.svg +0 -1
  911. package/assets/material/prettier.svg +0 -1
  912. package/assets/material/prisma.svg +0 -1
  913. package/assets/material/processing.svg +0 -1
  914. package/assets/material/prolog.svg +0 -1
  915. package/assets/material/proto.svg +0 -1
  916. package/assets/material/protractor.svg +0 -1
  917. package/assets/material/pug.svg +0 -1
  918. package/assets/material/puppet.svg +0 -1
  919. package/assets/material/purescript.svg +0 -1
  920. package/assets/material/python-misc.svg +0 -1
  921. package/assets/material/python.svg +0 -1
  922. package/assets/material/qsharp.svg +0 -1
  923. package/assets/material/quasar.svg +0 -1
  924. package/assets/material/qwik.svg +0 -2
  925. package/assets/material/r.svg +0 -1
  926. package/assets/material/racket.svg +0 -1
  927. package/assets/material/raml.svg +0 -1
  928. package/assets/material/razor.svg +0 -1
  929. package/assets/material/rc.svg +0 -2
  930. package/assets/material/react.svg +0 -1
  931. package/assets/material/react_ts.svg +0 -1
  932. package/assets/material/readme.svg +0 -1
  933. package/assets/material/reason.svg +0 -1
  934. package/assets/material/red.svg +0 -1
  935. package/assets/material/redux-action.svg +0 -1
  936. package/assets/material/redux-reducer.svg +0 -1
  937. package/assets/material/redux-selector.svg +0 -1
  938. package/assets/material/redux-store.svg +0 -1
  939. package/assets/material/remix.svg +0 -1
  940. package/assets/material/remix_light.svg +0 -1
  941. package/assets/material/renovate.svg +0 -1
  942. package/assets/material/replit.svg +0 -1
  943. package/assets/material/rescript-interface.svg +0 -1
  944. package/assets/material/rescript.svg +0 -1
  945. package/assets/material/restql.svg +0 -1
  946. package/assets/material/riot.svg +0 -1
  947. package/assets/material/roadmap.svg +0 -1
  948. package/assets/material/robot.svg +0 -1
  949. package/assets/material/robots.svg +0 -1
  950. package/assets/material/rollup.svg +0 -1
  951. package/assets/material/rome.svg +0 -1
  952. package/assets/material/routing.svg +0 -1
  953. package/assets/material/rubocop.svg +0 -1
  954. package/assets/material/rubocop_light.svg +0 -1
  955. package/assets/material/ruby.svg +0 -1
  956. package/assets/material/rust.svg +0 -1
  957. package/assets/material/salesforce.svg +0 -1
  958. package/assets/material/san.svg +0 -1
  959. package/assets/material/sas.svg +0 -1
  960. package/assets/material/sass.svg +0 -1
  961. package/assets/material/sbt.svg +0 -1
  962. package/assets/material/scala.svg +0 -1
  963. package/assets/material/scheme.svg +0 -1
  964. package/assets/material/search.svg +0 -1
  965. package/assets/material/semantic-release.svg +0 -1
  966. package/assets/material/semantic-release_light.svg +0 -1
  967. package/assets/material/sentry.svg +0 -1
  968. package/assets/material/sequelize.svg +0 -1
  969. package/assets/material/serverless.svg +0 -1
  970. package/assets/material/settings.svg +0 -1
  971. package/assets/material/shader.svg +0 -1
  972. package/assets/material/shaderlab.svg +0 -1
  973. package/assets/material/silverstripe.svg +0 -1
  974. package/assets/material/siyuan.svg +0 -1
  975. package/assets/material/sketch.svg +0 -1
  976. package/assets/material/slim.svg +0 -1
  977. package/assets/material/slug.svg +0 -1
  978. package/assets/material/smarty.svg +0 -1
  979. package/assets/material/sml.svg +0 -1
  980. package/assets/material/snowpack.svg +0 -1
  981. package/assets/material/snowpack_light.svg +0 -1
  982. package/assets/material/snyk.svg +0 -1
  983. package/assets/material/solidity.svg +0 -1
  984. package/assets/material/sonarcloud.svg +0 -4
  985. package/assets/material/steadybit.svg +0 -1
  986. package/assets/material/stencil.svg +0 -1
  987. package/assets/material/stitches.svg +0 -1
  988. package/assets/material/stitches_light.svg +0 -1
  989. package/assets/material/storybook.svg +0 -1
  990. package/assets/material/stryker.svg +0 -1
  991. package/assets/material/stylable.svg +0 -10
  992. package/assets/material/stylelint.svg +0 -1
  993. package/assets/material/stylelint_light.svg +0 -1
  994. package/assets/material/stylus.svg +0 -1
  995. package/assets/material/sublime.svg +0 -1
  996. package/assets/material/supabase.svg +0 -4
  997. package/assets/material/svelte.svg +0 -1
  998. package/assets/material/svg.svg +0 -1
  999. package/assets/material/svgo.svg +0 -1
  1000. package/assets/material/svgr.svg +0 -1
  1001. package/assets/material/swc.svg +0 -1
  1002. package/assets/material/swift.svg +0 -1
  1003. package/assets/material/table.svg +0 -1
  1004. package/assets/material/tailwindcss.svg +0 -1
  1005. package/assets/material/tauri.svg +0 -1
  1006. package/assets/material/tcl.svg +0 -1
  1007. package/assets/material/teal.svg +0 -1
  1008. package/assets/material/template.svg +0 -1
  1009. package/assets/material/terraform.svg +0 -1
  1010. package/assets/material/test-js.svg +0 -1
  1011. package/assets/material/test-jsx.svg +0 -1
  1012. package/assets/material/test-ts.svg +0 -1
  1013. package/assets/material/tex.svg +0 -1
  1014. package/assets/material/textlint.svg +0 -1
  1015. package/assets/material/tilt.svg +0 -1
  1016. package/assets/material/tldraw.svg +0 -4
  1017. package/assets/material/tldraw_light.svg +0 -4
  1018. package/assets/material/tobi.svg +0 -1
  1019. package/assets/material/tobimake.svg +0 -1
  1020. package/assets/material/todo.svg +0 -1
  1021. package/assets/material/travis.svg +0 -1
  1022. package/assets/material/tree.svg +0 -1
  1023. package/assets/material/tsconfig.svg +0 -1
  1024. package/assets/material/tune.svg +0 -1
  1025. package/assets/material/turborepo.svg +0 -1
  1026. package/assets/material/turborepo_light.svg +0 -1
  1027. package/assets/material/twig.svg +0 -1
  1028. package/assets/material/twine.svg +0 -1
  1029. package/assets/material/typescript-def.svg +0 -1
  1030. package/assets/material/typescript.svg +0 -1
  1031. package/assets/material/typst.svg +0 -2
  1032. package/assets/material/uml.svg +0 -1
  1033. package/assets/material/uml_light.svg +0 -1
  1034. package/assets/material/url.svg +0 -1
  1035. package/assets/material/vagrant.svg +0 -1
  1036. package/assets/material/vala.svg +0 -1
  1037. package/assets/material/velocity.svg +0 -1
  1038. package/assets/material/vercel.svg +0 -1
  1039. package/assets/material/vercel_light.svg +0 -1
  1040. package/assets/material/verdaccio.svg +0 -1
  1041. package/assets/material/verilog.svg +0 -1
  1042. package/assets/material/vfl.svg +0 -1
  1043. package/assets/material/video.svg +0 -1
  1044. package/assets/material/vim.svg +0 -1
  1045. package/assets/material/virtual.svg +0 -1
  1046. package/assets/material/visualstudio.svg +0 -1
  1047. package/assets/material/vite.svg +0 -1
  1048. package/assets/material/vitest.svg +0 -6
  1049. package/assets/material/vlang.svg +0 -1
  1050. package/assets/material/vscode.svg +0 -1
  1051. package/assets/material/vue-config.svg +0 -1
  1052. package/assets/material/vue.svg +0 -1
  1053. package/assets/material/vuex-store.svg +0 -1
  1054. package/assets/material/wakatime.svg +0 -1
  1055. package/assets/material/wakatime_light.svg +0 -1
  1056. package/assets/material/wallaby.svg +0 -1
  1057. package/assets/material/watchman.svg +0 -1
  1058. package/assets/material/webassembly.svg +0 -1
  1059. package/assets/material/webhint.svg +0 -1
  1060. package/assets/material/webpack.svg +0 -1
  1061. package/assets/material/wepy.svg +0 -1
  1062. package/assets/material/windicss.svg +0 -1
  1063. package/assets/material/wolframlanguage.svg +0 -1
  1064. package/assets/material/word.svg +0 -1
  1065. package/assets/material/xaml.svg +0 -1
  1066. package/assets/material/xml.svg +0 -1
  1067. package/assets/material/yaml.svg +0 -1
  1068. package/assets/material/yang.svg +0 -1
  1069. package/assets/material/yarn.svg +0 -1
  1070. package/assets/material/zig.svg +0 -1
  1071. package/assets/material/zip.svg +0 -1
  1072. package/assets/pop/LICENSE +0 -2
  1073. package/assets/pop/binary.svg +0 -1
  1074. package/assets/pop/compressed.svg +0 -1
  1075. package/assets/pop/database.svg +0 -1
  1076. package/assets/pop/exts/7z.svg +0 -1
  1077. package/assets/pop/exts/apk.svg +0 -1
  1078. package/assets/pop/exts/arc.svg +0 -1
  1079. package/assets/pop/exts/bz.svg +0 -1
  1080. package/assets/pop/exts/deb.svg +0 -1
  1081. package/assets/pop/exts/gz.svg +0 -1
  1082. package/assets/pop/exts/pdf.svg +0 -1
  1083. package/assets/pop/exts/rar.svg +0 -1
  1084. package/assets/pop/exts/rpm.svg +0 -1
  1085. package/assets/pop/exts/tar.svg +0 -1
  1086. package/assets/pop/exts/xar.svg +0 -1
  1087. package/assets/pop/exts/xz.svg +0 -1
  1088. package/assets/pop/exts/zip.svg +0 -1
  1089. package/assets/pop/folder-open.svg +0 -1
  1090. package/assets/pop/folder.svg +0 -1
  1091. package/assets/pop/generic.svg +0 -1
  1092. package/assets/pop/presentation.svg +0 -1
  1093. package/assets/pop/richtext.svg +0 -1
  1094. package/assets/pop/spreadsheet.svg +0 -1
  1095. package/assets/pop/text.svg +0 -1
  1096. package/components/dynamic-html/dynamic-html.component.d.ts +0 -15
  1097. package/components/dynamic-html/dynamic-html.module.d.ts +0 -10
  1098. package/components/dynamic-html/dynamic-html.service.d.ts +0 -18
  1099. package/components/dynamic-html/types.d.ts +0 -12
  1100. package/components/tabulator/tabulator.component.d.ts +0 -30
  1101. package/components/vscode/vscode.component.d.ts +0 -52
  1102. package/esm2022/assets/mat-icons.mjs +0 -5705
  1103. package/esm2022/components/command-palette/command-palette.component.mjs +0 -257
  1104. package/esm2022/components/dynamic-html/dynamic-html.component.mjs +0 -43
  1105. package/esm2022/components/dynamic-html/dynamic-html.module.mjs +0 -27
  1106. package/esm2022/components/dynamic-html/dynamic-html.service.mjs +0 -66
  1107. package/esm2022/components/dynamic-html/types.mjs +0 -7
  1108. package/esm2022/components/filemanager/file-grid/file-grid.component.mjs +0 -674
  1109. package/esm2022/components/filemanager/helpers.mjs +0 -26
  1110. package/esm2022/components/filemanager/icon-resolver.mjs +0 -155
  1111. package/esm2022/components/filemanager/textextensions.mjs +0 -294
  1112. package/esm2022/components/filemanager/toolbar/toolbar.component.mjs +0 -165
  1113. package/esm2022/components/lazy-loader/lazy-loader.component.mjs +0 -383
  1114. package/esm2022/components/lazy-loader/lazy-loader.module.mjs +0 -33
  1115. package/esm2022/components/lazy-loader/lazy-loader.service.mjs +0 -217
  1116. package/esm2022/components/lazy-loader/types.mjs +0 -26
  1117. package/esm2022/components/menu/menu.component.mjs +0 -433
  1118. package/esm2022/components/parallax-card/parallax-card.component.mjs +0 -138
  1119. package/esm2022/components/tabulator/tabulator.component.mjs +0 -93
  1120. package/esm2022/components/tooltip/tooltip.component.mjs +0 -205
  1121. package/esm2022/components/types.mjs +0 -3
  1122. package/esm2022/components/vscode/ts-type-resolver/dependency-parser.mjs +0 -91
  1123. package/esm2022/components/vscode/ts-type-resolver/dummy-source-cache.mjs +0 -15
  1124. package/esm2022/components/vscode/ts-type-resolver/import-resolver.mjs +0 -311
  1125. package/esm2022/components/vscode/ts-type-resolver/main.mjs +0 -112
  1126. package/esm2022/components/vscode/ts-type-resolver/recursion-depth.mjs +0 -21
  1127. package/esm2022/components/vscode/ts-type-resolver/types.mjs +0 -14
  1128. package/esm2022/components/vscode/ts-type-resolver/unpkg-source-resolver.mjs +0 -21
  1129. package/esm2022/components/vscode/ts-type-resolver/update-emitter.mjs +0 -37
  1130. package/esm2022/components/vscode/vscode.component.mjs +0 -232
  1131. package/esm2022/directives/image-cache.directive.mjs +0 -140
  1132. package/esm2022/directives/menu.directive.mjs +0 -159
  1133. package/esm2022/directives/tooltip.directive.mjs +0 -154
  1134. package/esm2022/directives/utils.mjs +0 -120
  1135. package/esm2022/pipes/html-bypass.pipe.mjs +0 -27
  1136. package/esm2022/pipes/resource-bypass.pipe.mjs +0 -27
  1137. package/esm2022/pipes/script-bypass.pipe.mjs +0 -27
  1138. package/esm2022/pipes/style-bypass.pipe.mjs +0 -27
  1139. package/esm2022/pipes/url-bypass.pipe.mjs +0 -27
  1140. package/esm2022/public-api.mjs +0 -59
  1141. package/esm2022/services/command-palette.service.mjs +0 -209
  1142. package/esm2022/services/dependency.service.mjs +0 -55
  1143. package/esm2022/services/dialog.service.mjs +0 -69
  1144. package/esm2022/services/fetch.service.mjs +0 -74
  1145. package/esm2022/services/file.service.mjs +0 -42
  1146. package/esm2022/services/keyboard.service.mjs +0 -128
  1147. package/esm2022/services/navigation.service.mjs +0 -52
  1148. package/esm2022/services/theme.service.mjs +0 -64
  1149. package/esm2022/types/menu.mjs +0 -2
  1150. package/esm2022/types/popup.mjs +0 -2
  1151. package/esm2022/types/tooltip.mjs +0 -2
  1152. package/esm2022/utils/index.mjs +0 -205
  1153. package/fesm2022/dotglitch-ngx-common-folder-rename.component-Bh1IiRvd.mjs.map +0 -1
  1154. package/utils/index.d.ts +0 -128
  1155. /package/{components → core/components}/lazy-loader/lazy-loader.component.d.ts +0 -0
  1156. /package/{components → core/components}/lazy-loader/lazy-loader.module.d.ts +0 -0
  1157. /package/{components → core/components}/lazy-loader/lazy-loader.service.d.ts +0 -0
  1158. /package/{components → core/components}/lazy-loader/types.d.ts +0 -0
  1159. /package/{components → core/components}/parallax-card/parallax-card.component.d.ts +0 -0
  1160. /package/{directives → core/directives}/image-cache.directive.d.ts +0 -0
  1161. /package/{directives → core/directives}/utils.d.ts +0 -0
  1162. /package/{pipes → core/pipes}/html-bypass.pipe.d.ts +0 -0
  1163. /package/{pipes → core/pipes}/resource-bypass.pipe.d.ts +0 -0
  1164. /package/{pipes → core/pipes}/script-bypass.pipe.d.ts +0 -0
  1165. /package/{pipes → core/pipes}/style-bypass.pipe.d.ts +0 -0
  1166. /package/{pipes → core/pipes}/url-bypass.pipe.d.ts +0 -0
  1167. /package/{services → core/services}/dependency.service.d.ts +0 -0
  1168. /package/{services → core/services}/dialog.service.d.ts +0 -0
  1169. /package/{services → core/services}/fetch.service.d.ts +0 -0
  1170. /package/{services → core/services}/file.service.d.ts +0 -0
  1171. /package/{services → core/services}/keyboard.service.d.ts +0 -0
  1172. /package/{services → core/services}/theme.service.d.ts +0 -0
  1173. /package/{types → core/types}/popup.d.ts +0 -0
  1174. /package/{components/filemanager → filemanager}/icon-resolver.d.ts +0 -0
  1175. /package/{assets → filemanager}/mat-icons.d.ts +0 -0
  1176. /package/{components/filemanager → filemanager}/textextensions.d.ts +0 -0
  1177. /package/{components/filemanager → filemanager}/toolbar/breadcrumb/breadcrumb.component.d.ts +0 -0
  1178. /package/{components/filemanager → filemanager}/toolbar/icon-button/icon-button.component.d.ts +0 -0
  1179. /package/{components/filemanager → filemanager}/tree-view/tree-view.component.d.ts +0 -0
  1180. /package/{components/vscode → monaco-editor}/ts-type-resolver/dependency-parser.d.ts +0 -0
  1181. /package/{components/vscode → monaco-editor}/ts-type-resolver/dummy-source-cache.d.ts +0 -0
  1182. /package/{components/vscode → monaco-editor}/ts-type-resolver/import-resolver.d.ts +0 -0
  1183. /package/{components/vscode → monaco-editor}/ts-type-resolver/main.d.ts +0 -0
  1184. /package/{components/vscode → monaco-editor}/ts-type-resolver/recursion-depth.d.ts +0 -0
  1185. /package/{components/vscode → monaco-editor}/ts-type-resolver/types.d.ts +0 -0
  1186. /package/{components/vscode → monaco-editor}/ts-type-resolver/unpkg-source-resolver.d.ts +0 -0
  1187. /package/{components/vscode → monaco-editor}/ts-type-resolver/update-emitter.d.ts +0 -0
@@ -1,21 +1,20 @@
1
1
  import { Component, EventEmitter, Inject, Input, Optional, Output, ViewChild, ViewChildren } from '@angular/core';
2
- import { MatTabsModule } from '@angular/material/tabs';
3
2
  import { MatIconModule } from '@angular/material/icon';
4
3
  import { MatDrawerContainer, MatSidenavModule } from '@angular/material/sidenav';
4
+ import { MatTabsModule } from '@angular/material/tabs';
5
5
  import { AngularSplitModule } from 'angular-split';
6
+ import { NGX_WEB_COMPONENTS_CONFIG } from '@dotglitch/ngx-common/core';
7
+ import { ulid } from 'ulidx';
6
8
  import { FileGridComponent } from './file-grid/file-grid.component';
9
+ import { IconResolver } from './icon-resolver';
7
10
  import { ToolbarComponent } from './toolbar/toolbar.component';
8
11
  import { TreeViewComponent } from './tree-view/tree-view.component';
9
- import { NGX_WEB_COMPONENTS_CONFIG } from '../types';
10
- import { IconResolver } from './icon-resolver';
11
- import { ulid } from 'ulidx';
12
12
  import * as i0 from "@angular/core";
13
- import * as i1 from "../lazy-loader/lazy-loader.service";
14
- import * as i2 from "../../public-api";
15
- import * as i3 from "angular-split";
16
- import * as i4 from "@angular/material/tabs";
17
- import * as i5 from "@angular/material/icon";
18
- import * as i6 from "@angular/material/sidenav";
13
+ import * as i1 from "@dotglitch/ngx-common/core";
14
+ import * as i2 from "angular-split";
15
+ import * as i3 from "@angular/material/tabs";
16
+ import * as i4 from "@angular/material/icon";
17
+ import * as i5 from "@angular/material/sidenav";
19
18
  export class FilemanagerComponent {
20
19
  get currentFileGrid() { return this.fileGrids.get(this.tabIndex); }
21
20
  constructor(libConfig = {}, lazyLoader, viewContainer, fetch) {
@@ -240,8 +239,8 @@ export class FilemanagerComponent {
240
239
  link.remove();
241
240
  this.fileDownload.next(file);
242
241
  }
243
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilemanagerComponent, deps: [{ token: NGX_WEB_COMPONENTS_CONFIG, optional: true }, { token: i1.LazyLoaderService }, { token: i0.ViewContainerRef }, { token: i2.Fetch }], target: i0.ɵɵFactoryTarget.Component }); }
244
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FilemanagerComponent, isStandalone: true, selector: "app-filemanager", inputs: { config: "config", gridSize: "gridSize", mode: "mode", contextTags: "contextTags", value: "value" }, outputs: { valueChange: "valueChange", focusedFilesChange: "focusedFilesChange", fileUpload: "fileUpload", fileDownload: "fileDownload", fileRename: "fileRename", fileDelete: "fileDelete", fileCopy: "fileCopy", filePaste: "filePaste", fileSelect: "fileSelect", fileDblClick: "fileDblClick", folderSelect: "folderSelect", folderDblClick: "folderDblClick", filesSelect: "filesSelect" }, viewQueries: [{ propertyName: "tabGroup", first: true, predicate: ["tabGroup"], descendants: true }, { propertyName: "treeView", first: true, predicate: TreeViewComponent, descendants: true }, { propertyName: "toolbar", first: true, predicate: ToolbarComponent, descendants: true }, { propertyName: "drawer", first: true, predicate: MatDrawerContainer, descendants: true }, { propertyName: "fileGrids", predicate: FileGridComponent, descendants: true }], ngImport: i0, template: "<app-toolbar\n [currentTab]=\"currentTab\"\n [(showHiddenFiles)]=\"showHiddenFiles\"\n [(showSidebar)]=\"showSidebar\"\n [config]=\"config\"\n [showBareMinimum]=\"width < 500 && config.showBreadcrumb != false\"\n (onBreadcrumbClick)=\"onBreadcrumbClick($event)\"\n/>\n\n<mat-drawer-container style=\"flex: 1\">\n <mat-drawer #drawer mode=\"over\">\n @if (width < 500 && config.showBreadcrumb != false) {\n <app-toolbar\n [currentTab]=\"currentTab\"\n [(showHiddenFiles)]=\"showHiddenFiles\"\n [(showSidebar)]=\"showSidebar\"\n [config]=\"config\"\n [drawerMode]=\"true\"\n (onBreadcrumbClick)=\"onBreadcrumbClick($event)\"\n />\n }\n <app-tree-view\n [data]=\"currentTab.sidebarItems\"\n (loadChildren)=\"onTreeViewLoadChildren($event)\"\n (click)=\"onTreeViewSelect($event)\"\n />\n </mat-drawer>\n <mat-drawer-content>\n <as-split direction=\"horizontal\" [gutterSize]=\"sidebarOverlay ? 0 : 2\" [unit]=\"'pixel'\" (dragEnd)=\"onResizeEnd()\">\n <as-split-area\n style=\"background-color: var(--filemanager-sidebar-background-color, #2c2c2c)\"\n [size]=\"215\"\n [minSize]=\"215\"\n [maxSize]=\"width/4\"\n [visible]=\"!sidebarOverlay && config.showTreeview != false\"\n >\n @if (!sidebarOverlay && config.showTreeview != false) {\n <div class=\"sidebar\"\n (click)=\"currentTab.selection = []\"\n >\n <app-tree-view\n [data]=\"currentTab.sidebarItems\"\n (loadChildren)=\"onTreeViewLoadChildren($event)\"\n (click)=\"onTreeViewSelect($event)\"\n />\n </div>\n }\n </as-split-area>\n <as-split-area style=\"background-color: var(--filemanager-background-color, #272727);\">\n <div class=\"content\"\n [style.--tab-height]=\"tabs.length > 1 ? '36px' : '0'\"\n >\n <mat-tab-group #tabGroup (selectedTabChange)=\"currentTab = tabs[$event.index]\" [(selectedIndex)]=\"tabIndex\">\n @for (tab of tabs; track tab; let i = $index) {\n <mat-tab>\n <ng-template mat-tab-label>\n {{tab.label}}\n <mat-icon\n class=\"close\"\n (click)=\"closeTab(tab)\">\n close\n </mat-icon>\n </ng-template>\n\n <ng-template matTabContent>\n <app-file-grid\n [viewMode]=\"tab.viewMode\"\n [tab]=\"tab\"\n [config]=\"config\"\n [gridSize]=\"gridSize\"\n [sortOrder]=\"tab.sortOrder\"\n [(selection)]=\"tab.selection\"\n [(path)]=\"tab.path\"\n (pathChange)=\"onTabPathChange(tab)\"\n [(value)]=\"gridValues[i]\"\n (valueChange)=\"onGridValueChange()\"\n (loadFiles)=\"onTabLoadFiles(tab, $event)\"\n\n (fileSelect)=\"fileSelect.next($event)\"\n (fileDblClick)=\"fileDblClick.next($event)\"\n (folderSelect)=\"folderSelect.next($event)\"\n (folderDblClick)=\"folderDblClick.next($event)\"\n />\n </ng-template>\n </mat-tab>\n }\n </mat-tab-group>\n </div>\n </as-split-area>\n </as-split>\n </mat-drawer-content>\n</mat-drawer-container>\n\n", styles: [":host{display:flex;flex-direction:column;height:100%;width:100%}:host .content{display:flex;height:100%;overflow:hidden}:host ::ng-deep .as-split-gutter{background-color:var(--gutter-color, #121212)!important}:host ::ng-deep .mat-mdc-tab-header{height:var(--tab-height, 0);transition:height .25s ease}:host ::ng-deep .mat-mdc-tab-header .mdc-tab{height:var(--tab-height, 0);background-color:var(--filemanager-tab-background-color, #303030)}:host ::ng-deep .mat-mdc-tab .mdc-tab__content{position:static}:host ::ng-deep .mat-mdc-tab:not(.mat-mdc-tab-disabled).mdc-tab--active .mdc-tab__text-label,:host ::ng-deep .mat-mdc-tab-link:not(.mat-mdc-tab-disabled).mdc-tab--active .mdc-tab__text-label{color:var(--text-subdued-color)}.sidebar{border-right:1px solid transparent;transition:background-color .2s cubic-bezier(0,0,.2,1),border-color .2s ease}.sidebar ul{list-style-type:none;text-align:left;margin:0;padding:0;display:flex;flex-direction:column}.sidebar ul li{display:flex;align-items:center;transition:all .2s ease;font-size:14px;padding:6px 6px 6px 24px}.sidebar ul li mat-icon{margin-right:8px}.sidebar ul li:hover{background-color:#343434}.sidebar ul .tooltip{background-color:#101010cc;border:1px solid #414141;opacity:0;pointer-events:none;transition:all .2s ease}.active .sidebar{background-color:#2c2c2c;border-right-color:#1c1c1c}.active .sidebar li:hover{background-color:#343434}.close{position:absolute;right:12px;color:#666;transition:color .25s ease}.close:hover{color:#ccc}\n"], dependencies: [{ kind: "ngmodule", type: AngularSplitModule }, { kind: "component", type: i3.SplitComponent, selector: "as-split", inputs: ["direction", "unit", "gutterSize", "gutterStep", "restrictMove", "useTransition", "disabled", "dir", "gutterDblClickDuration", "gutterClickDeltaPx", "gutterAriaLabel"], outputs: ["transitionEnd", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"], exportAs: ["asSplit"] }, { kind: "directive", type: i3.SplitAreaDirective, selector: "as-split-area, [as-split-area]", inputs: ["order", "size", "minSize", "maxSize", "lockSize", "visible"], exportAs: ["asSplitArea"] }, { kind: "component", type: FileGridComponent, selector: "app-file-grid", inputs: ["path", "config", "showHiddenFiles", "viewMode", "gridSize", "tab", "selection", "value", "sortOrder"], outputs: ["pathChange", "fileSelect", "fileDblClick", "folderSelect", "folderDblClick", "newTab", "loadFiles", "selectionChange", "valueChange"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i4.MatTabContent, selector: "[matTabContent]" }, { kind: "directive", type: i4.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i4.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i4.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i6.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i6.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i6.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "component", type: ToolbarComponent, selector: "app-toolbar", inputs: ["config", "currentTab", "showHiddenFiles", "showSidebar", "drawerMode", "showBareMinimum"], outputs: ["onBreadcrumbClick", "showHiddenFilesChange", "showSidebarChange"] }, { kind: "component", type: TreeViewComponent, selector: "app-tree-view", inputs: ["rowTemplate", "data"], outputs: ["click", "loadChildren"] }] }); }
242
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilemanagerComponent, deps: [{ token: NGX_WEB_COMPONENTS_CONFIG, optional: true }, { token: i1.LazyLoaderService }, { token: i0.ViewContainerRef }, { token: i1.Fetch }], target: i0.ɵɵFactoryTarget.Component }); }
243
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FilemanagerComponent, isStandalone: true, selector: "app-filemanager", inputs: { config: "config", gridSize: "gridSize", mode: "mode", contextTags: "contextTags", value: "value" }, outputs: { valueChange: "valueChange", focusedFilesChange: "focusedFilesChange", fileUpload: "fileUpload", fileDownload: "fileDownload", fileRename: "fileRename", fileDelete: "fileDelete", fileCopy: "fileCopy", filePaste: "filePaste", fileSelect: "fileSelect", fileDblClick: "fileDblClick", folderSelect: "folderSelect", folderDblClick: "folderDblClick", filesSelect: "filesSelect" }, viewQueries: [{ propertyName: "tabGroup", first: true, predicate: ["tabGroup"], descendants: true }, { propertyName: "treeView", first: true, predicate: TreeViewComponent, descendants: true }, { propertyName: "toolbar", first: true, predicate: ToolbarComponent, descendants: true }, { propertyName: "drawer", first: true, predicate: MatDrawerContainer, descendants: true }, { propertyName: "fileGrids", predicate: FileGridComponent, descendants: true }], ngImport: i0, template: "<app-toolbar\n [currentTab]=\"currentTab\"\n [(showHiddenFiles)]=\"showHiddenFiles\"\n [(showSidebar)]=\"showSidebar\"\n [config]=\"config\"\n [showBareMinimum]=\"width < 500 && config.showBreadcrumb != false\"\n (onBreadcrumbClick)=\"onBreadcrumbClick($event)\"\n/>\n\n<mat-drawer-container style=\"flex: 1\">\n <mat-drawer #drawer mode=\"over\">\n @if (width < 500 && config.showBreadcrumb != false) {\n <app-toolbar\n [currentTab]=\"currentTab\"\n [(showHiddenFiles)]=\"showHiddenFiles\"\n [(showSidebar)]=\"showSidebar\"\n [config]=\"config\"\n [drawerMode]=\"true\"\n (onBreadcrumbClick)=\"onBreadcrumbClick($event)\"\n />\n }\n <app-tree-view\n [data]=\"currentTab.sidebarItems\"\n (loadChildren)=\"onTreeViewLoadChildren($event)\"\n (click)=\"onTreeViewSelect($event)\"\n />\n </mat-drawer>\n <mat-drawer-content>\n <as-split direction=\"horizontal\" [gutterSize]=\"sidebarOverlay ? 0 : 2\" [unit]=\"'pixel'\" (dragEnd)=\"onResizeEnd()\">\n <as-split-area\n style=\"background-color: var(--filemanager-sidebar-background-color, #2c2c2c)\"\n [size]=\"215\"\n [minSize]=\"215\"\n [maxSize]=\"width/4\"\n [visible]=\"!sidebarOverlay && config.showTreeview != false\"\n >\n @if (!sidebarOverlay && config.showTreeview != false) {\n <div class=\"sidebar\"\n (click)=\"currentTab.selection = []\"\n >\n <app-tree-view\n [data]=\"currentTab.sidebarItems\"\n (loadChildren)=\"onTreeViewLoadChildren($event)\"\n (click)=\"onTreeViewSelect($event)\"\n />\n </div>\n }\n </as-split-area>\n <as-split-area style=\"background-color: var(--filemanager-background-color, #272727);\">\n <div class=\"content\"\n [style.--tab-height]=\"tabs.length > 1 ? '36px' : '0'\"\n >\n <mat-tab-group #tabGroup (selectedTabChange)=\"currentTab = tabs[$event.index]\" [(selectedIndex)]=\"tabIndex\">\n @for (tab of tabs; track tab; let i = $index) {\n <mat-tab>\n <ng-template mat-tab-label>\n {{tab.label}}\n <mat-icon\n class=\"close\"\n (click)=\"closeTab(tab)\">\n close\n </mat-icon>\n </ng-template>\n\n <ng-template matTabContent>\n <app-file-grid\n [viewMode]=\"tab.viewMode\"\n [tab]=\"tab\"\n [config]=\"config\"\n [gridSize]=\"gridSize\"\n [sortOrder]=\"tab.sortOrder\"\n [(selection)]=\"tab.selection\"\n [(path)]=\"tab.path\"\n (pathChange)=\"onTabPathChange(tab)\"\n [(value)]=\"gridValues[i]\"\n (valueChange)=\"onGridValueChange()\"\n (loadFiles)=\"onTabLoadFiles(tab, $event)\"\n\n (fileSelect)=\"fileSelect.next($event)\"\n (fileDblClick)=\"fileDblClick.next($event)\"\n (folderSelect)=\"folderSelect.next($event)\"\n (folderDblClick)=\"folderDblClick.next($event)\"\n />\n </ng-template>\n </mat-tab>\n }\n </mat-tab-group>\n </div>\n </as-split-area>\n </as-split>\n </mat-drawer-content>\n</mat-drawer-container>\n\n", styles: [":host{display:flex;flex-direction:column;height:100%;width:100%}:host .content{display:flex;height:100%;overflow:hidden}:host ::ng-deep .as-split-gutter{background-color:var(--gutter-color, #121212)!important}:host ::ng-deep .mat-mdc-tab-header{height:var(--tab-height, 0);transition:height .25s ease}:host ::ng-deep .mat-mdc-tab-header .mdc-tab{height:var(--tab-height, 0);background-color:var(--filemanager-tab-background-color, #303030)}:host ::ng-deep .mat-mdc-tab .mdc-tab__content{position:static}:host ::ng-deep .mat-mdc-tab:not(.mat-mdc-tab-disabled).mdc-tab--active .mdc-tab__text-label,:host ::ng-deep .mat-mdc-tab-link:not(.mat-mdc-tab-disabled).mdc-tab--active .mdc-tab__text-label{color:var(--text-subdued-color)}.sidebar{border-right:1px solid transparent;transition:background-color .2s cubic-bezier(0,0,.2,1),border-color .2s ease}.sidebar ul{list-style-type:none;text-align:left;margin:0;padding:0;display:flex;flex-direction:column}.sidebar ul li{display:flex;align-items:center;transition:all .2s ease;font-size:14px;padding:6px 6px 6px 24px}.sidebar ul li mat-icon{margin-right:8px}.sidebar ul li:hover{background-color:#343434}.sidebar ul .tooltip{background-color:#101010cc;border:1px solid #414141;opacity:0;pointer-events:none;transition:all .2s ease}.active .sidebar{background-color:#2c2c2c;border-right-color:#1c1c1c}.active .sidebar li:hover{background-color:#343434}.close{position:absolute;right:12px;color:#666;transition:color .25s ease}.close:hover{color:#ccc}\n"], dependencies: [{ kind: "ngmodule", type: AngularSplitModule }, { kind: "component", type: i2.SplitComponent, selector: "as-split", inputs: ["direction", "unit", "gutterSize", "gutterStep", "restrictMove", "useTransition", "disabled", "dir", "gutterDblClickDuration", "gutterClickDeltaPx", "gutterAriaLabel"], outputs: ["transitionEnd", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"], exportAs: ["asSplit"] }, { kind: "directive", type: i2.SplitAreaDirective, selector: "as-split-area, [as-split-area]", inputs: ["order", "size", "minSize", "maxSize", "lockSize", "visible"], exportAs: ["asSplitArea"] }, { kind: "component", type: FileGridComponent, selector: "app-file-grid", inputs: ["path", "config", "showHiddenFiles", "viewMode", "gridSize", "tab", "selection", "value", "sortOrder"], outputs: ["pathChange", "fileSelect", "fileDblClick", "folderSelect", "folderDblClick", "newTab", "loadFiles", "selectionChange", "valueChange"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i3.MatTabContent, selector: "[matTabContent]" }, { kind: "directive", type: i3.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i3.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i3.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i5.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i5.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i5.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "component", type: ToolbarComponent, selector: "app-toolbar", inputs: ["config", "currentTab", "showHiddenFiles", "showSidebar", "drawerMode", "showBareMinimum"], outputs: ["onBreadcrumbClick", "showHiddenFilesChange", "showSidebarChange"] }, { kind: "component", type: TreeViewComponent, selector: "app-tree-view", inputs: ["rowTemplate", "data"], outputs: ["click", "loadChildren"] }] }); }
245
244
  }
246
245
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilemanagerComponent, decorators: [{
247
246
  type: Component,
@@ -259,7 +258,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
259
258
  }, {
260
259
  type: Inject,
261
260
  args: [NGX_WEB_COMPONENTS_CONFIG]
262
- }] }, { type: i1.LazyLoaderService }, { type: i0.ViewContainerRef }, { type: i2.Fetch }], propDecorators: { tabGroup: [{
261
+ }] }, { type: i1.LazyLoaderService }, { type: i0.ViewContainerRef }, { type: i1.Fetch }], propDecorators: { tabGroup: [{
263
262
  type: ViewChild,
264
263
  args: ['tabGroup']
265
264
  }], fileGrids: [{
@@ -311,4 +310,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
311
310
  }], filesSelect: [{
312
311
  type: Output
313
312
  }] } });
314
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZW1hbmFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9jb21wb25lbnRzL2ZpbGVtYW5hZ2VyL2ZpbGVtYW5hZ2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvY29tcG9uZW50cy9maWxlbWFuYWdlci9maWxlbWFuYWdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQWEsU0FBUyxFQUFFLFlBQVksRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFFdkosT0FBTyxFQUFlLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFlLHlCQUF5QixFQUEwQixNQUFNLFVBQVUsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHL0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE9BQU8sQ0FBQzs7Ozs7Ozs7QUEwSjdCLE1BQU0sT0FBTyxvQkFBb0I7SUFvRTdCLElBQUksZUFBZSxLQUFLLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQU1sRSxZQUM0RCxZQUFvQyxFQUFFLEVBQzdFLFVBQTZCLEVBQ3RDLGFBQStCLEVBQy9CLEtBQVk7UUFIb0MsY0FBUyxHQUFULFNBQVMsQ0FBNkI7UUFDN0UsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFDdEMsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLFVBQUssR0FBTCxLQUFLLENBQU87UUF2RWYsV0FBTSxHQUFnQztZQUMzQyxXQUFXLEVBQUU7Z0JBQ1QsY0FBYyxFQUFFLGtCQUFrQjtnQkFDbEMsY0FBYyxFQUFFLGtCQUFrQjtnQkFDbEMsZ0JBQWdCLEVBQUUsa0JBQWtCO2dCQUNwQyxjQUFjLEVBQUUsa0JBQWtCO2dCQUNsQyxrQkFBa0IsRUFBRSx3QkFBd0I7Z0JBQzVDLGNBQWMsRUFBRSx3QkFBd0I7YUFDM0M7U0FDSixDQUFDO1FBRU8sYUFBUSxHQUFpQyxRQUFRLENBQUM7UUFLbEQsVUFBSyxHQUFtQixFQUFFLENBQUM7UUFDMUIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztRQUUzRCxlQUFVLEdBQXFCLEVBQUUsQ0FBQztRQUVsQzs7O1dBR0c7UUFDTyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2xEOztXQUVHO1FBQ08sZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUM7O1dBRUc7UUFDTyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDOUIsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFL0IsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO1FBQ2hELGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFDbEQsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUN2RCxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO1FBRW5FOztXQUVHO1FBQ08sZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztRQUMzRDs7V0FFRztRQUNILGtFQUFrRTtRQUVsRSxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUNuQixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBRVYsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFFdkIsZUFBVSxHQUFnQixFQUFTLENBQUM7UUFFcEMsYUFBUSxHQUFHLENBQUMsQ0FBQztRQUNiLFNBQUksR0FBa0IsRUFBRSxDQUFDO1FBVXJCLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQztZQUN6QixFQUFFLEVBQUUsZUFBZTtZQUNuQixLQUFLLEVBQUUsK0JBQStCO1lBQ3RDLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMseUNBQXlDLENBQUM7U0FDaEUsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFlBQVksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWhCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELHNCQUFzQixDQUFDLEVBQUMsSUFBSSxFQUFFLEVBQUUsRUFBQztRQUM3QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0I7WUFDaEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUN2RSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFBO1FBRWxELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQzthQUNsRixJQUFJLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtZQUNoQixNQUFNLElBQUksR0FBMEIsSUFBSSxDQUFDLElBQUksQ0FBQztZQUM5QyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDYixDQUFDLENBQUMsQ0FBQTtJQUNWLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBWTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHO1lBQzdCLEVBQUUsRUFBRSxJQUFJLEVBQUU7WUFDVixLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7WUFDN0IsVUFBVSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO1lBQ3JDLElBQUk7WUFDSixTQUFTLEVBQUUsRUFBRTtZQUNiLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLE1BQU07WUFDN0IsWUFBWSxFQUFFLENBQUM7WUFDZixPQUFPLEVBQUUsRUFBRTtZQUNYLFlBQVksRUFBRSxFQUFFO1lBQ2hCLFNBQVMsRUFBRSxLQUFLO1NBQ25CLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckMsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFnQjtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBWTtRQUN2QixJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRXZCLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztRQUUvQiw0REFBNEQ7UUFDNUQsNkJBQTZCO1FBQzdCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN6QixJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNoRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRTlCLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ25ELE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDdEIsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFFN0MsT0FBTztvQkFDSCxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDO29CQUNqRSxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUU7aUJBQ2pCLENBQUM7WUFDTixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7YUFDSSxDQUFDO1lBQ0YsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUU5QixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3RCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBRTdDLE9BQU87b0JBQ0gsRUFBRSxFQUFFLElBQUksSUFBSSxHQUFHO29CQUNmLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRTtpQkFDakIsQ0FBQztZQUNOLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFLO1FBQ25CLElBQUksS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMvRCxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWUsQ0FBQyxHQUFnQjtRQUM1QixHQUFHLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLEdBQUcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0MsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ25CLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1RyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBa0I7UUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ2pELENBQUM7SUFFRCxjQUFjLENBQUMsR0FBZ0IsRUFBRSxLQUFxQjtRQUNsRCxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQy9CLEdBQUcsQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksV0FBVyxDQUFDLENBQUM7WUFDNUQsT0FBTztRQUNYLENBQUM7UUFFRCxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDO1FBQ3RDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLFdBQVcsQ0FBQyxDQUFDO1FBRTFELFNBQVMsT0FBTyxDQUFDLEtBQUs7WUFDbEIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDekQsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVyQyxJQUFJLE1BQU07WUFDTixNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsUUFBUSxDQUFDO1FBRW5DLEdBQUcsQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxpQkFBaUI7UUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNyQyxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVk7UUFDcEIsT0FBTyxJQUFJLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUTtRQUNWLHFDQUFxQztRQUNyQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRXhDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLGFBQTRCLENBQUM7UUFDbkUsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBRTFCLDBFQUEwRTtRQUMxRSxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ3pDLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxLQUFLLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN4QixDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXO1FBQ2IsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWhCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ3JDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUE7UUFDcEMsQ0FBQzthQUNJLENBQUM7WUFDRixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdEIsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsOENBQThDO0lBQzlDLGNBQWM7UUFDVixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQW9CO1FBQzVCLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLHNCQUFzQjtZQUNwRCxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3ZFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUM7UUFFN0MsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLElBQUksQ0FBQyxJQUFJLFNBQVMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRTdFLE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFrQjtRQUMzQixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDakMsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1lBQy9DLElBQUksSUFBSSxHQUFHLENBQUM7UUFFaEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsd0JBQXdCO1lBQ3hELENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUM7WUFDeEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDO1FBRS9DLHVCQUF1QjtRQUN2QixJQUFJLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztRQUNoQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDZCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDOytHQTdSUSxvQkFBb0Isa0JBMkVMLHlCQUF5QjttR0EzRXhDLG9CQUFvQiwyckJBR2xCLGlCQUFpQiwwRUFDakIsZ0JBQWdCLHlFQUNoQixrQkFBa0IsK0RBSGYsaUJBQWlCLGdEQzFLbkMsdzVJQTZGQSxnaEREaUVRLGtCQUFrQixza0JBQ2xCLGlCQUFpQiw0VEFDakIsYUFBYSxneEJBQ2IsYUFBYSxtTEFDYixnQkFBZ0IsMmlCQUNoQixnQkFBZ0IsMk9BQ2hCLGlCQUFpQjs7NEZBSVosb0JBQW9CO2tCQWZoQyxTQUFTOytCQUNJLGlCQUFpQixXQUdsQjt3QkFDTCxrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7cUJBQ3BCLGNBQ1csSUFBSTs7MEJBNkVYLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMseUJBQXlCOzRIQTFFMUIsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVO2dCQUNZLFNBQVM7c0JBQXpDLFlBQVk7dUJBQUMsaUJBQWlCO2dCQUNELFFBQVE7c0JBQXJDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUNDLE9BQU87c0JBQW5DLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUNJLE1BQU07c0JBQXBDLFNBQVM7dUJBQUMsa0JBQWtCO2dCQUVwQixNQUFNO3NCQUFkLEtBQUs7Z0JBV0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFRRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBSUcsVUFBVTtzQkFBbkIsTUFBTTtnQkFJRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBRUcsVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFLRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGQsIFZpZXdDaGlsZHJlbiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdGb3JPZiwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRUYWJHcm91cCwgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0RHJhd2VyQ29udGFpbmVyLCBNYXRTaWRlbmF2TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XG5pbXBvcnQgeyBBbmd1bGFyU3BsaXRNb2R1bGUgfSBmcm9tICdhbmd1bGFyLXNwbGl0JztcblxuaW1wb3J0IHsgRmlsZUdyaWRDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUtZ3JpZC9maWxlLWdyaWQuY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIvdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJlZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL3RyZWUtdmlldy90cmVlLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbGVTb3J0aW5nLCBOR1hfV0VCX0NPTVBPTkVOVFNfQ09ORklHLCBOZ3hXZWJDb21wb25lbnRzQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgSWNvblJlc29sdmVyIH0gZnJvbSAnLi9pY29uLXJlc29sdmVyJztcbmltcG9ydCB7IExhenlMb2FkZXJTZXJ2aWNlLCBOR1hfTEFaWV9MT0FERVJfQ09ORklHIH0gZnJvbSAnLi4vbGF6eS1sb2FkZXIvbGF6eS1sb2FkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBGZXRjaCB9IGZyb20gJy4uLy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgdWxpZCB9IGZyb20gJ3VsaWR4JztcblxuLy8gVE9ETzpcbi8qKlxuICogTXVsdGlwbGUgbXVzaWMgLyB2aWRlbyAvIGltYWdlIGZpbGVzIHNlbGVjdGVkIHR1cm5zIGludG8gYSBwbGF5bGlzdFxuICogRHJhZ2dpbmcgbXVzaWMgLyB2aWRlbyAvIGltYWdlIHF1ZXVlcyB0aGUgZmlsZShzKVxuICogQ2FuIHNhdmUgYW5kIGVkaXQgYSBsaXN0IG9mIGZpbGVzIGFzIHBsYXlsaXN0XG4gKiBDYW4gXCJsb29wXCIgXCJyYW5kb21pemVcIlxuICovXG5cbmV4cG9ydCB0eXBlIERpcmVjdG9yeURlc2NyaXB0b3IgPSB7XG4gICAga2luZDogXCJkaXJlY3RvcnlcIixcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgbmFtZTogc3RyaW5nXG4gICAgY29udGVudHM6IHtcbiAgICAgICAgZGlyczogRGlyZWN0b3J5RGVzY3JpcHRvcltdLFxuICAgICAgICBmaWxlczogRmlsZURlc2NyaXB0b3JbXVxuICAgIH1cbn1cblxuZXhwb3J0IHR5cGUgRmlsZURlc2NyaXB0b3IgPSB7XG4gICAga2luZDogXCJmaWxlXCIsXG4gICAgc3RhdHM6IHtcbiAgICAgICAgc2l6ZTogbnVtYmVyO1xuICAgICAgICAvLyBTaXplIGZvciB6aXBwZWQgZmlsZVxuICAgICAgICBjb21wcmVzc2VkU2l6ZT86IG51bWJlcixcbiAgICAgICAgYXRpbWVNczogbnVtYmVyO1xuICAgICAgICBtdGltZU1zOiBudW1iZXI7XG4gICAgICAgIGN0aW1lTXM6IG51bWJlcjtcbiAgICAgICAgYmlydGh0aW1lTXM6IG51bWJlcjtcbiAgICB9LFxuICAgIHBhdGg6IHN0cmluZ1xuICAgIG5hbWU6IHN0cmluZyxcbiAgICBleHQ6IHN0cmluZyxcbiAgICAvLyBDb21tZW50IGZvciBlbnRyaWVzIGluIGEgemlwIGZpbGUuXG4gICAgY29tbWVudD86IHN0cmluZ1xufTtcblxuZXhwb3J0IHR5cGUgRlNEZXNjcmlwdG9yID0gRGlyZWN0b3J5RGVzY3JpcHRvciB8IEZpbGVEZXNjcmlwdG9yO1xuXG5leHBvcnQgdHlwZSBGaWxlVmlld1RhYiA9IHtcbiAgICBpZDogc3RyaW5nLFxuICAgIGxhYmVsOiBzdHJpbmcsXG4gICAgYnJlYWRjcnVtYjoge1xuICAgICAgICBpZDogc3RyaW5nLFxuICAgICAgICBsYWJlbDogc3RyaW5nXG4gICAgfVtdLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBzZWxlY3Rpb246IEZTRGVzY3JpcHRvcltdLFxuICAgIHZpZXdNb2RlOiBcImdyaWRcIiB8IFwibGlzdFwiLFxuICAgIGhpc3RvcnlJbmRleDogbnVtYmVyLFxuICAgIGhpc3Rvcnk6IHN0cmluZ1tdLFxuICAgIHNpZGViYXJJdGVtczogRlNEZXNjcmlwdG9yW10sXG4gICAgc29ydE9yZGVyOiBGaWxlU29ydGluZ1xufVxuXG4vLyBUT0RPOiByZXBsYWNlIGh0dHAgY29uZmlnc1xudHlwZSBIdHRwQ29uZmlndXJhdGlvbiA9IChcbiAgICB7IHVybDogc3RyaW5nIH0gfFxuICAgIHsgdXJsVGVtcGxhdGU6IChwYXRoOiBzdHJpbmcpID0+IHN0cmluZyB9XG4pICYge1xuICAgIG1ldGhvZD86IFwiZ2V0XCIgfCBcInB1dFwiIHwgXCJwb3N0XCIgfCBcInBhdGNoXCIgfCBcImRlbGV0ZVwiLFxuICAgIGhlYWRlcnM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9XG59XG5cbmV4cG9ydCB0eXBlIE5neEZpbGVNYW5hZ2VyQ29uZmlndXJhdGlvbiA9IFBhcnRpYWw8e1xuICAgIC8qKlxuICAgICAqIEluaXRpYWwgcGF0aFxuICAgICAqL1xuICAgIHBhdGg6IHN0cmluZyxcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSByb290IHBhdGggKHdpbGwgYXBwZWFyIGFzICcvJykuXG4gICAgICogRGVmYXVsdHMgdG8gJy8nLlxuICAgICAqXG4gICAgICogVXNlciBjYW5ub3QgdmlldyBvdXRzaWRlIG9mIHRoaXMgcGF0aC5cbiAgICAgKiAgIChOb3QgdG8gYmUgdXNlZCBhcyBhIHNlY3VyaXR5IG1lYXN1cmUhKVxuICAgICAqL1xuICAgIGNocm9vdFBhdGg6IHN0cmluZyxcblxuICAgIC8qKlxuICAgICAqIFJlc3RyaWN0IHVzZXJzIHRvIG9ubHkgbmF2aWdhdGUgYXJvdW5kIHRvIHN1YnBhdGhzIG9mIHRoZSBzcGVjaWZpZWQgYHBhdGhgXG4gICAgICovXG4gICAgbmF2aWdhdGVPbmx5VG9EZXNjZW5kYW50czogYm9vbGVhbixcbiAgICBzaG93QnJlYWRjcnVtYjogYm9vbGVhbixcbiAgICBzaG93VHJlZXZpZXc6IGJvb2xlYW4sXG5cbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBcInJvb3RcIiBwYXRoIGAvYFxuICAgICAqIERlZmF1bHRzIHRvIFwiU3RvcmFnZVwiXG4gICAgICovXG4gICAgcm9vdE5hbWU6IHN0cmluZyxcblxuICAgIC8qKlxuICAgICAqIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGJlIHN0b3JlZCBpbiBoaXN0b3J5LlxuICAgICAqL1xuICAgIG1heEhpc3RvcnlMZW5ndGg6IG51bWJlcixcblxuICAgIGFwaVNldHRpbmdzOiB7XG4gICAgICAgIGxpc3RFbnRyaWVzVXJsPzogc3RyaW5nLFxuICAgICAgICBsaXN0RW50cmllc1VybFRlbXBsYXRlPzogKHBhdGg6IHN0cmluZykgPT4gc3RyaW5nLFxuICAgICAgICBkb3dubG9hZEVudHJ5VXJsPzogc3RyaW5nLFxuICAgICAgICBkb3dubG9hZEVudHJ5VXJsVGVtcGxhdGU/OiAocGF0aDogc3RyaW5nKSA9PiBzdHJpbmcsXG4gICAgICAgIHVwbG9hZEVudHJ5VXJsPzogc3RyaW5nLFxuICAgICAgICB1cGxvYWRFbnRyeVVybFRlbXBsYXRlPzogKHBhdGg6IHN0cmluZykgPT4gc3RyaW5nLFxuICAgICAgICBkZWxldGVFbnRyeVVybD86IHN0cmluZyxcbiAgICAgICAgZGVsZXRlRW50cnlVcmxUZW1wbGF0ZT86IChwYXRoOiBzdHJpbmcpID0+IHN0cmluZyxcbiAgICAgICAgcmVuYW1lRW50cnlVcmw/OiBzdHJpbmcsXG4gICAgICAgIHJlbmFtZUVudHJ5VXJsVGVtcGxhdGU/OiAocGF0aDogc3RyaW5nKSA9PiBzdHJpbmcsXG4gICAgICAgIGNyZWF0ZURpcmVjdG9yeVVybD86IHN0cmluZyxcbiAgICAgICAgY3JlYXRlRGlyZWN0b3J5VXJsVGVtcGxhdGU/OiAocGF0aDogc3RyaW5nKSA9PiBzdHJpbmdcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogVGhlIHBhdGggdGhhdCBpbWFnZXMgYXJlIGxvYWRlZCBmcm9tLlxuICAgICAqIERlZmF1bHQgdmFsdWUgYC9hc3NldHMvZG90Z2xpdGNoL3dlYmNvbXBvbmVudHMvYFxuICAgICAqL1xuICAgIGFzc2V0UGF0aDogc3RyaW5nLFxuICAgIHNpZGViYXJMb2NhdGlvblN0cmF0ZWd5OiBcImtub3duXCIgfCBcImN1cnJlbnREaXJlY3RvcnlcIixcblxuICAgIGljb25SZXNvbHZlcjogKGZpbGU6IEZTRGVzY3JpcHRvcikgPT4gc3RyaW5nLFxuXG4gICAgaW1hZ2VTaXplOiBcIm5vcm1hbFwiIHwgXCJzbWFsbFwiIHwgXCJodWdlXCIsXG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqL1xuICAgIHNlbGVjdGlvbk1vZGU6IFwic2luZ2xlXCIgfCBcIm11bHRpcGxlXCIsXG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGRldGVybWluZXMgaWYgdGhlIGZpbGVtYW5hZ2VyIHNob3dzIHNlbGVjdGVkIGVudHJpZXNcbiAgICAgKlxuICAgICAqIElmIHNldCB0byBgZm9jdXNGaWxlc2AsIGZpbGUgcGF0aHMgdGhhdCBtYXRjaCBmcm9tIHRoZSBwcm92aWRlZCBgZm9jdXNlZEZpbGVzYFxuICAgICAqIHdpbGwgYmUgaGlnaGxpZ2h0ZWQsIGFuZCBjYW4gYmUgc2VsZWN0ZWQgLyBkZXNlbGVjdGVkLlxuICAgICAqL1xuICAgIG1vZGU6IFwiZm9jdXNGaWxlc1wiIHwgXCJub3JtYWxcIixcbiAgICBmb2N1c2VkRmlsZXM6IHN0cmluZ1tdXG59PlxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1maWxlbWFuYWdlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZpbGVtYW5hZ2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9maWxlbWFuYWdlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQW5ndWxhclNwbGl0TW9kdWxlLFxuICAgICAgICBGaWxlR3JpZENvbXBvbmVudCxcbiAgICAgICAgTWF0VGFic01vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgTWF0U2lkZW5hdk1vZHVsZSxcbiAgICAgICAgVG9vbGJhckNvbXBvbmVudCxcbiAgICAgICAgVHJlZVZpZXdDb21wb25lbnRcbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRmlsZW1hbmFnZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoJ3RhYkdyb3VwJykgdGFiR3JvdXA6IE1hdFRhYkdyb3VwO1xuICAgIEBWaWV3Q2hpbGRyZW4oRmlsZUdyaWRDb21wb25lbnQpIGZpbGVHcmlkczogUXVlcnlMaXN0PEZpbGVHcmlkQ29tcG9uZW50PjtcbiAgICBAVmlld0NoaWxkKFRyZWVWaWV3Q29tcG9uZW50KSB0cmVlVmlldzogVHJlZVZpZXdDb21wb25lbnQ7XG4gICAgQFZpZXdDaGlsZChUb29sYmFyQ29tcG9uZW50KSB0b29sYmFyOiBUb29sYmFyQ29tcG9uZW50O1xuICAgIEBWaWV3Q2hpbGQoTWF0RHJhd2VyQ29udGFpbmVyKSBkcmF3ZXI6IE1hdERyYXdlckNvbnRhaW5lcjtcblxuICAgIEBJbnB1dCgpIGNvbmZpZzogTmd4RmlsZU1hbmFnZXJDb25maWd1cmF0aW9uID0ge1xuICAgICAgICBhcGlTZXR0aW5nczoge1xuICAgICAgICAgICAgbGlzdEVudHJpZXNVcmw6IGAvYXBpL2ZpbGVzeXN0ZW0vYCxcbiAgICAgICAgICAgIHVwbG9hZEVudHJ5VXJsOiBgL2FwaS9maWxlc3lzdGVtL2AsXG4gICAgICAgICAgICBkb3dubG9hZEVudHJ5VXJsOiBgL2FwaS9maWxlc3lzdGVtL2AsXG4gICAgICAgICAgICBkZWxldGVFbnRyeVVybDogYC9hcGkvZmlsZXN5c3RlbS9gLFxuICAgICAgICAgICAgY3JlYXRlRGlyZWN0b3J5VXJsOiBgL2FwaS9maWxlc3lzdGVtL2ZvbGRlcmAsXG4gICAgICAgICAgICByZW5hbWVFbnRyeVVybDogYC9hcGkvZmlsZXN5c3RlbS9yZW5hbWVgXG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgQElucHV0KCkgZ3JpZFNpemU6IFwic21hbGxcIiB8IFwibm9ybWFsXCIgfCBcImxhcmdlXCIgPSBcIm5vcm1hbFwiO1xuICAgIEBJbnB1dCgpIG1vZGU6IFwiZ3JpZFwiIHwgXCJsaXN0XCI7XG4gICAgQElucHV0KCkgY29udGV4dFRhZ3M6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9O1xuXG5cbiAgICBASW5wdXQoKSB2YWx1ZTogRlNEZXNjcmlwdG9yW10gPSBbXTtcbiAgICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZTRGVzY3JpcHRvcltdPigpO1xuXG4gICAgZ3JpZFZhbHVlczogRlNEZXNjcmlwdG9yW11bXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHMgd2hlbiBmb2N1c2VkIGZpbGVzIGNoYW5nZS5cbiAgICAgKiBPbmx5IGF2YWlsYWJsZSBpbiBgZm9jdXNGaWxlc2AgbW9kZS5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgZm9jdXNlZEZpbGVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIC8qKlxuICAgICAqIEVtaXRzIHdoZW4gYSBmaWxlIGlzIHVwbG9hZGVkLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBmaWxlVXBsb2FkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIC8qKlxuICAgICAqIEVtaXRzIHdoZW4gYSBmaWxlIGlzIGRvd25sb2FkZWQuXG4gICAgICovXG4gICAgQE91dHB1dCgpIGZpbGVEb3dubG9hZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgZmlsZVJlbmFtZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgZmlsZURlbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgZmlsZUNvcHkgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIGZpbGVQYXN0ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKSBmaWxlU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlRGVzY3JpcHRvcj4oKTtcbiAgICBAT3V0cHV0KCkgZmlsZURibENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlRGVzY3JpcHRvcj4oKTtcbiAgICBAT3V0cHV0KCkgZm9sZGVyU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxEaXJlY3RvcnlEZXNjcmlwdG9yPigpO1xuICAgIEBPdXRwdXQoKSBmb2xkZXJEYmxDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RGlyZWN0b3J5RGVzY3JpcHRvcj4oKTtcblxuICAgIC8qKlxuICAgICAqIEVtaXRzIHdoZW4gbXVsdGlwbGUgZmlsZSBzZWxlY3Rpb25zIGNoYW5nZS5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgZmlsZXNTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPEZTRGVzY3JpcHRvcltdPigpO1xuICAgIC8qKlxuICAgICAqIEVtaXRzIHdoZW4gYW55IHNlbGVjdGlvbiBjaGFuZ2VzLCBzaW5nbGUgb3IgbXVsdGlwbGUgZmlsZXMuXG4gICAgICovXG4gICAgLy8gQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RlNEZXNjcmlwdG9yW10+KCk7XG5cbiAgICBzaG93SGlkZGVuRmlsZXMgPSBmYWxzZTtcbiAgICBzaG93U2lkZWJhciA9IHRydWU7XG4gICAgc2lkZWJhck92ZXJsYXkgPSBmYWxzZTtcbiAgICB3aWR0aCA9IDA7XG5cbiAgICBpc0hvbWVBbmNlc3RvciA9IGZhbHNlO1xuXG4gICAgY3VycmVudFRhYjogRmlsZVZpZXdUYWIgPSB7fSBhcyBhbnk7XG4gICAgZ2V0IGN1cnJlbnRGaWxlR3JpZCgpIHsgcmV0dXJuIHRoaXMuZmlsZUdyaWRzLmdldCh0aGlzLnRhYkluZGV4KSB9XG4gICAgdGFiSW5kZXggPSAwO1xuICAgIHRhYnM6IEZpbGVWaWV3VGFiW10gPSBbXTtcblxuICAgIGljb25SZXNvbHZlcjogSWNvblJlc29sdmVyO1xuXG4gICAgY29uc3RydWN0b3IgKFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5HWF9XRUJfQ09NUE9ORU5UU19DT05GSUcpIHJlYWRvbmx5IGxpYkNvbmZpZzogTmd4V2ViQ29tcG9uZW50c0NvbmZpZyA9IHt9LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGxhenlMb2FkZXI6IExhenlMb2FkZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByaXZhdGUgZmV0Y2g6IEZldGNoXG4gICAgKSB7XG4gICAgICAgIGxhenlMb2FkZXIucmVnaXN0ZXJDb21wb25lbnQoe1xuICAgICAgICAgICAgaWQ6IFwiZm9sZGVyLXJlbmFtZVwiLFxuICAgICAgICAgICAgZ3JvdXA6IFwiQGRvdGdsaXRjaC9uZ3gtd2ViLWNvbXBvbmVudHNcIixcbiAgICAgICAgICAgIGxvYWQ6ICgpID0+IGltcG9ydCgnLi9mb2xkZXItcmVuYW1lL2ZvbGRlci1yZW5hbWUuY29tcG9uZW50JylcbiAgICAgICAgfSlcblxuICAgICAgICB0aGlzLmljb25SZXNvbHZlciA9IG5ldyBJY29uUmVzb2x2ZXIobGliQ29uZmlnLmFzc2V0UGF0aCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5pdFRhYih0aGlzLmNvbmZpZy5wYXRoKTtcbiAgICAgICAgdGhpcy5jdXJyZW50VGFiID0gdGhpcy50YWJzWzBdO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5vblJlc2l6ZSgpO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5vblJlc2l6ZSgpLCAyNTApO1xuICAgIH1cblxuICAgIG9uVHJlZVZpZXdMb2FkQ2hpbGRyZW4oe2l0ZW0sIGNifSkge1xuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLmNvbmZpZy5hcGlTZXR0aW5ncy5saXN0RW50cmllc1VybFRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICA/IHRoaXMuY29uZmlnLmFwaVNldHRpbmdzLmxpc3RFbnRyaWVzVXJsVGVtcGxhdGUoaXRlbS5wYXRoICsgaXRlbS5uYW1lKVxuICAgICAgICAgICAgICAgICAgOiB0aGlzLmNvbmZpZy5hcGlTZXR0aW5ncy5saXN0RW50cmllc1VybFxuXG4gICAgICAgIHRoaXMuZmV0Y2gucG9zdCh1cmwsIHsgcGF0aDogaXRlbS5wYXRoICsgaXRlbS5uYW1lLCBzaG93SGlkZGVuOiB0aGlzLnNob3dIaWRkZW5GaWxlcyB9KVxuICAgICAgICAgICAgLnRoZW4oKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRpcnM6IERpcmVjdG9yeURlc2NyaXB0b3JbXSA9IGRhdGEuZGlycztcbiAgICAgICAgICAgICAgICBjYihkaXJzKTtcbiAgICAgICAgICAgIH0pXG4gICAgfVxuXG4gICAgaW5pdFRhYihwYXRoOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy50YWJzLnB1c2godGhpcy5jdXJyZW50VGFiID0ge1xuICAgICAgICAgICAgaWQ6IHVsaWQoKSxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLmdldFRhYkxhYmVsKHBhdGgpLFxuICAgICAgICAgICAgYnJlYWRjcnVtYjogdGhpcy5jYWxjQnJlYWRjcnVtYihwYXRoKSxcbiAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICBzZWxlY3Rpb246IFtdLFxuICAgICAgICAgICAgdmlld01vZGU6IHRoaXMubW9kZSB8fCAnZ3JpZCcsXG4gICAgICAgICAgICBoaXN0b3J5SW5kZXg6IDAsXG4gICAgICAgICAgICBoaXN0b3J5OiBbXSxcbiAgICAgICAgICAgIHNpZGViYXJJdGVtczogW10sXG4gICAgICAgICAgICBzb3J0T3JkZXI6ICdhLXonXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnRhYkluZGV4ID0gdGhpcy50YWJzLmxlbmd0aDtcbiAgICB9XG5cbiAgICBjbG9zZVRhYih0YWI6IEZpbGVWaWV3VGFiKSB7XG4gICAgICAgIHRoaXMudGFicy5zcGxpY2UodGhpcy50YWJzLmZpbmRJbmRleCh0ID0+IHQuaWQgPT0gdGFiLmlkKSwgMSk7XG4gICAgfVxuXG4gICAgY2FsY0JyZWFkY3J1bWIocGF0aDogc3RyaW5nKSB7XG4gICAgICAgIGlmICghcGF0aCkgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgcGF0aCA9IHBhdGgucmVwbGFjZShcIiMvXCIsICcvJyk7XG5cbiAgICAgICAgLy8gSWYgd2UncmUgYWN0aW5nIGxpa2Ugd2UncmUgaW4gYSBjaGFuZ2VkIHJvb3QsIHdlIHdpcGUgb3V0XG4gICAgICAgIC8vIGJyZWFkY3J1bWJzIGJlbG93IHRoZSByb290XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5jaHJvb3RQYXRoKSB7XG4gICAgICAgICAgICBwYXRoID0gcGF0aC5yZXBsYWNlKHRoaXMuY29uZmlnLmNocm9vdFBhdGgsICcnKTtcbiAgICAgICAgICAgIGNvbnN0IHBhcnRzID0gcGF0aC5zcGxpdCgnLycpO1xuXG4gICAgICAgICAgICBwYXRoID0gcGF0aC5yZXBsYWNlKC9eXFwvLywgdGhpcy5jb25maWcuY2hyb290UGF0aCk7XG4gICAgICAgICAgICByZXR1cm4gcGFydHMubWFwKChwLCBpKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGF0aCA9IHBhcnRzLnNsaWNlKDAsIGkgKyAxKS5qb2luKCcvJyk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBpZDogKHRoaXMuY29uZmlnLmNocm9vdFBhdGggKyAocGF0aCB8fCAnLycpKS5yZXBsYWNlKC9cXC8rL2csICcvJyksXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBwIHx8IFwiXCJcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBwYXJ0cyA9IHBhdGguc3BsaXQoJy8nKTtcblxuICAgICAgICAgICAgcmV0dXJuIHBhcnRzLm1hcCgocCwgaSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBwYXJ0cy5zbGljZSgwLCBpICsgMSkuam9pbignLycpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHBhdGggfHwgJy8nLFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogcCB8fCBcIlwiXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25CcmVhZGNydW1iQ2xpY2soY3J1bWIpIHtcbiAgICAgICAgaWYgKGNydW1iLmlkKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRUYWIucGF0aCA9IGNydW1iLmlkO1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50VGFiLmJyZWFkY3J1bWIgPSB0aGlzLmNhbGNCcmVhZGNydW1iKGNydW1iLmlkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uVGFiUGF0aENoYW5nZSh0YWI6IEZpbGVWaWV3VGFiKSB7XG4gICAgICAgIHRhYi5sYWJlbCA9IHRoaXMuZ2V0VGFiTGFiZWwodGFiLnBhdGgpO1xuICAgICAgICB0YWIuYnJlYWRjcnVtYiA9IHRoaXMuY2FsY0JyZWFkY3J1bWIodGFiLnBhdGgpO1xuXG4gICAgICAgIHRhYi5oaXN0b3J5SW5kZXgrKztcbiAgICAgICAgdGFiLmhpc3RvcnkucHVzaCh0YWIucGF0aCk7XG4gICAgICAgIHRhYi5oaXN0b3J5LnNwbGljZSh0eXBlb2YgdGhpcy5jb25maWcubWF4SGlzdG9yeUxlbmd0aCA9PSAnbnVtYmVyJyA/IHRoaXMuY29uZmlnLm1heEhpc3RvcnlMZW5ndGggOiA1MCk7XG4gICAgfVxuXG4gICAgb25UcmVlVmlld1NlbGVjdChpdGVtOiBGU0Rlc2NyaXB0b3IpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50VGFiLnBhdGggPSBpdGVtLnBhdGggKyBpdGVtLm5hbWU7XG4gICAgfVxuXG4gICAgb25UYWJMb2FkRmlsZXModGFiOiBGaWxlVmlld1RhYiwgZmlsZXM6IEZTRGVzY3JpcHRvcltdKSB7XG4gICAgICAgIGlmICh0YWIuc2lkZWJhckl0ZW1zLmxlbmd0aCA9PSAwKSB7XG4gICAgICAgICAgICB0YWIuc2lkZWJhckl0ZW1zID0gZmlsZXMuZmlsdGVyKGYgPT4gZi5raW5kID09IFwiZGlyZWN0b3J5XCIpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY3VycmVudEl0ZW1zID0gdGFiLnNpZGViYXJJdGVtcztcbiAgICAgICAgY29uc3QgZGlySXRlbXMgPSBmaWxlcy5maWx0ZXIoZiA9PiBmLmtpbmQgPT0gXCJkaXJlY3RvcnlcIik7XG5cbiAgICAgICAgZnVuY3Rpb24gcmVjdXJzZShpdGVtcykge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbmQoaSA9PiB0YWIucGF0aD8uc3RhcnRzV2l0aChpLnBhdGgpKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0YXJnZXQgPSByZWN1cnNlKGN1cnJlbnRJdGVtcyk7XG5cbiAgICAgICAgaWYgKHRhcmdldClcbiAgICAgICAgICAgIHRhcmdldFsnX2NoaWxkcmVuJ10gPSBkaXJJdGVtcztcblxuICAgICAgICB0YWIuc2lkZWJhckl0ZW1zID0gY3VycmVudEl0ZW1zO1xuICAgIH1cblxuICAgIG9uR3JpZFZhbHVlQ2hhbmdlKCkge1xuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5ncmlkVmFsdWVzLmZsYXQoMSk7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKVxuICAgIH1cblxuICAgIGdldFRhYkxhYmVsKHBhdGg6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gcGF0aD8uc3BsaXQoJy8nKS5maWx0ZXIocCA9PiBwKS5wb3AoKTtcbiAgICB9XG5cbiAgICBhc3luYyBvblJlc2l6ZSgpIHtcbiAgICAgICAgLy8gVHJpZ2dlciByZS1jYWxjdWxhdGlvbiBvZiB0aGUgdmlld1xuICAgICAgICB0aGlzLmZpbGVHcmlkcy5mb3JFYWNoKGcgPT4gZy5yZXNpemUoKSk7XG5cbiAgICAgICAgY29uc3QgZWwgPSB0aGlzLnZpZXdDb250YWluZXIuZWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBjb25zdCBib3VuZHMgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgdGhpcy53aWR0aCA9IGJvdW5kcy53aWR0aDtcblxuICAgICAgICAvLyBJZiB0aGUgdmlldyBhcmVhIGlzIGxlc3MgdGhhbiA2NTBweCB3aWRlLCB1c2Ugb3ZlcmxheSB0aGUgc2lkZWJhciBwYW5lbFxuICAgICAgICB0aGlzLnNpZGViYXJPdmVybGF5ID0gYm91bmRzLndpZHRoIDwgNjUwO1xuICAgICAgICBpZiAodGhpcy5zaWRlYmFyT3ZlcmxheSA9PSBmYWxzZSAmJiBbLi4udGhpcy5kcmF3ZXIuX2RyYXdlcnNdWzBdLm9wZW5lZCkge1xuICAgICAgICAgICAgdGhpcy5kcmF3ZXIuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIG9uUmVzaXplRW5kKCkge1xuICAgICAgICB0aGlzLm9uUmVzaXplKCk7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLm9uUmVzaXplKCksIDI1MCk7XG4gICAgfVxuXG4gICAgZ2V0U2VsZWN0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50VGFiLnZpZXdNb2RlID09IFwiZ3JpZFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50VGFiLnNlbGVjdGlvblxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbGVhclNlbGVjdGlvbigpIHtcbiAgICAgICAgdGhpcy5maWxlR3JpZHMuZm9yRWFjaChnID0+IGcuY2xlYXJTZWxlY3Rpb24oKSk7XG4gICAgfVxuXG4gICAgLy8gVGVsbCB0aGUgY2hpbGQgZ3JpZCB0byByZWZyZXNoIGl0J3Mgc29ydGluZ1xuICAgIHJlZnJlc2hTb3J0aW5nKCkge1xuICAgICAgICB0aGlzLmZpbGVHcmlkcy5mb3JFYWNoKGcgPT4gZy5zb3J0KCkpO1xuICAgIH1cblxuICAgIHJlZnJlc2hEYXRhKCkge1xuICAgICAgICB0aGlzLmZpbGVHcmlkcy5mb3JFYWNoKGcgPT4gZy5sb2FkRm9sZGVyKCkpO1xuICAgIH1cblxuICAgIGdldEZpbGVEYXRhKGZpbGU6IEZpbGVEZXNjcmlwdG9yKSB7XG4gICAgICAgIGxldCB1cmwgPSB0aGlzLmNvbmZpZy5hcGlTZXR0aW5ncy5yZW5hbWVFbnRyeVVybFRlbXBsYXRlXG4gICAgICAgICAgICA/IHRoaXMuY29uZmlnLmFwaVNldHRpbmdzLnJlbmFtZUVudHJ5VXJsVGVtcGxhdGUoZmlsZS5wYXRoICsgZmlsZS5uYW1lKVxuICAgICAgICAgICAgOiB0aGlzLmNvbmZpZy5hcGlTZXR0aW5ncy5yZW5hbWVFbnRyeVVybDtcblxuICAgICAgICB1cmwgPSAodXJsLmluY2x1ZGVzKCc/JykgPyAnJicgOiAnPycpICsgYGRpcj0ke2ZpbGUucGF0aH0mZmlsZT0ke2ZpbGUubmFtZX1gO1xuXG4gICAgICAgIHJldHVybiB1cmw7XG4gICAgfVxuXG4gICAgZG93bmxvYWRGaWxlKGZpbGU6IEZTRGVzY3JpcHRvcikge1xuICAgICAgICBsZXQgcGF0aCA9IGZpbGUucGF0aCArIGZpbGUubmFtZTtcbiAgICAgICAgaWYgKGZpbGUua2luZCA9PSBcImRpcmVjdG9yeVwiICYmICFwYXRoLmVuZHNXaXRoKCcvJykpXG4gICAgICAgICAgICBwYXRoICs9IFwiL1wiO1xuXG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuY29uZmlnLmFwaVNldHRpbmdzLmRvd25sb2FkRW50cnlVcmxUZW1wbGF0ZVxuICAgICAgICAgICAgPyB0aGlzLmNvbmZpZy5hcGlTZXR0aW5ncy5kb3dubG9hZEVudHJ5VXJsVGVtcGxhdGUocGF0aClcbiAgICAgICAgICAgIDogdGhpcy5jb25maWcuYXBpU2V0dGluZ3MuZG93bmxvYWRFbnRyeVVybDtcblxuICAgICAgICAvLyB3aW5kb3cub3Blbih0YXJnZXQpO1xuICAgICAgICB2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xuICAgICAgICBsaW5rLmRvd25sb2FkID0gZmlsZS5uYW1lO1xuICAgICAgICBsaW5rLmhyZWYgPSB1cmw7XG4gICAgICAgIGxpbmsuY2xpY2soKTtcbiAgICAgICAgbGluay5yZW1vdmUoKTtcbiAgICAgICAgdGhpcy5maWxlRG93bmxvYWQubmV4dChmaWxlKTtcbiAgICB9XG59XG4iLCI8YXBwLXRvb2xiYXJcbiAgICBbY3VycmVudFRhYl09XCJjdXJyZW50VGFiXCJcbiAgICBbKHNob3dIaWRkZW5GaWxlcyldPVwic2hvd0hpZGRlbkZpbGVzXCJcbiAgICBbKHNob3dTaWRlYmFyKV09XCJzaG93U2lkZWJhclwiXG4gICAgW2NvbmZpZ109XCJjb25maWdcIlxuICAgIFtzaG93QmFyZU1pbmltdW1dPVwid2lkdGggPCA1MDAgJiYgY29uZmlnLnNob3dCcmVhZGNydW1iICE9IGZhbHNlXCJcbiAgICAob25CcmVhZGNydW1iQ2xpY2spPVwib25CcmVhZGNydW1iQ2xpY2soJGV2ZW50KVwiXG4vPlxuXG48bWF0LWRyYXdlci1jb250YWluZXIgc3R5bGU9XCJmbGV4OiAxXCI+XG4gICAgPG1hdC1kcmF3ZXIgI2RyYXdlciBtb2RlPVwib3ZlclwiPlxuICAgICAgICBAaWYgKHdpZHRoIDwgNTAwICYmIGNvbmZpZy5zaG93QnJlYWRjcnVtYiAhPSBmYWxzZSkge1xuICAgICAgICAgICAgPGFwcC10b29sYmFyXG4gICAgICAgICAgICAgICAgW2N1cnJlbnRUYWJdPVwiY3VycmVudFRhYlwiXG4gICAgICAgICAgICAgICAgWyhzaG93SGlkZGVuRmlsZXMpXT1cInNob3dIaWRkZW5GaWxlc1wiXG4gICAgICAgICAgICAgICAgWyhzaG93U2lkZWJhcildPVwic2hvd1NpZGViYXJcIlxuICAgICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnXCJcbiAgICAgICAgICAgICAgICBbZHJhd2VyTW9kZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAob25CcmVhZGNydW1iQ2xpY2spPVwib25CcmVhZGNydW1iQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIDxhcHAtdHJlZS12aWV3XG4gICAgICAgICAgICBbZGF0YV09XCJjdXJyZW50VGFiLnNpZGViYXJJdGVtc1wiXG4gICAgICAgICAgICAobG9hZENoaWxkcmVuKT1cIm9uVHJlZVZpZXdMb2FkQ2hpbGRyZW4oJGV2ZW50KVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25UcmVlVmlld1NlbGVjdCgkZXZlbnQpXCJcbiAgICAgICAgLz5cbiAgICA8L21hdC1kcmF3ZXI+XG4gICAgPG1hdC1kcmF3ZXItY29udGVudD5cbiAgICAgICAgPGFzLXNwbGl0IGRpcmVjdGlvbj1cImhvcml6b250YWxcIiBbZ3V0dGVyU2l6ZV09XCJzaWRlYmFyT3ZlcmxheSA/IDAgOiAyXCIgW3VuaXRdPVwiJ3BpeGVsJ1wiIChkcmFnRW5kKT1cIm9uUmVzaXplRW5kKClcIj5cbiAgICAgICAgICAgIDxhcy1zcGxpdC1hcmVhXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1maWxlbWFuYWdlci1zaWRlYmFyLWJhY2tncm91bmQtY29sb3IsICMyYzJjMmMpXCJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCIyMTVcIlxuICAgICAgICAgICAgICAgIFttaW5TaXplXT1cIjIxNVwiXG4gICAgICAgICAgICAgICAgW21heFNpemVdPVwid2lkdGgvNFwiXG4gICAgICAgICAgICAgICAgW3Zpc2libGVdPVwiIXNpZGViYXJPdmVybGF5ICYmIGNvbmZpZy5zaG93VHJlZXZpZXcgIT0gZmFsc2VcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEBpZiAoIXNpZGViYXJPdmVybGF5ICYmIGNvbmZpZy5zaG93VHJlZXZpZXcgIT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpZGViYXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImN1cnJlbnRUYWIuc2VsZWN0aW9uID0gW11cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXBwLXRyZWUtdmlld1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImN1cnJlbnRUYWIuc2lkZWJhckl0ZW1zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAobG9hZENoaWxkcmVuKT1cIm9uVHJlZVZpZXdMb2FkQ2hpbGRyZW4oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uVHJlZVZpZXdTZWxlY3QoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2FzLXNwbGl0LWFyZWE+XG4gICAgICAgICAgICA8YXMtc3BsaXQtYXJlYSBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6IHZhcigtLWZpbGVtYW5hZ2VyLWJhY2tncm91bmQtY29sb3IsICMyNzI3MjcpO1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLi0tdGFiLWhlaWdodF09XCJ0YWJzLmxlbmd0aCA+IDEgPyAnMzZweCcgOiAnMCdcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC10YWItZ3JvdXAgI3RhYkdyb3VwIChzZWxlY3RlZFRhYkNoYW5nZSk9XCJjdXJyZW50VGFiID0gdGFic1skZXZlbnQuaW5kZXhdXCIgWyhzZWxlY3RlZEluZGV4KV09XCJ0YWJJbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAodGFiIG9mIHRhYnM7IHRyYWNrIHRhYjsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXRhYj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3RhYi5sYWJlbH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNsb3NlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VUYWIodGFiKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRUYWJDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1maWxlLWdyaWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmlld01vZGVdPVwidGFiLnZpZXdNb2RlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFiXT1cInRhYlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ109XCJjb25maWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtncmlkU2l6ZV09XCJncmlkU2l6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NvcnRPcmRlcl09XCJ0YWIuc29ydE9yZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHNlbGVjdGlvbildPVwidGFiLnNlbGVjdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhwYXRoKV09XCJ0YWIucGF0aFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBhdGhDaGFuZ2UpPVwib25UYWJQYXRoQ2hhbmdlKHRhYilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cImdyaWRWYWx1ZXNbaV1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvbkdyaWRWYWx1ZUNoYW5nZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobG9hZEZpbGVzKT1cIm9uVGFiTG9hZEZpbGVzKHRhYiwgJGV2ZW50KVwiXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmlsZVNlbGVjdCk9XCJmaWxlU2VsZWN0Lm5leHQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbGVEYmxDbGljayk9XCJmaWxlRGJsQ2xpY2submV4dCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9sZGVyU2VsZWN0KT1cImZvbGRlclNlbGVjdC5uZXh0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmb2xkZXJEYmxDbGljayk9XCJmb2xkZXJEYmxDbGljay5uZXh0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC10YWI+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXRhYi1ncm91cD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvYXMtc3BsaXQtYXJlYT5cbiAgICAgICAgPC9hcy1zcGxpdD5cbiAgICA8L21hdC1kcmF3ZXItY29udGVudD5cbjwvbWF0LWRyYXdlci1jb250YWluZXI+XG5cbiJdfQ==
313
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZW1hbmFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL2ZpbGVtYW5hZ2VyL2ZpbGVtYW5hZ2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9maWxlbWFuYWdlci9maWxlbWFuYWdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQWEsU0FBUyxFQUFFLFlBQVksRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDdkosT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pGLE9BQU8sRUFBZSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUE0Qix5QkFBeUIsRUFBMEIsTUFBTSw0QkFBNEIsQ0FBQztBQUN6SCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7OztBQTJKcEUsTUFBTSxPQUFPLG9CQUFvQjtJQW9FN0IsSUFBSSxlQUFlLEtBQUssT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENB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aUJBQWlCLFdBR2xCO3dCQUNMLGtCQUFrQjt3QkFDbEIsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjtxQkFDcEIsY0FDVyxJQUFJOzswQkE2RVgsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx5QkFBeUI7NEhBMUUxQixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBQ1ksU0FBUztzQkFBekMsWUFBWTt1QkFBQyxpQkFBaUI7Z0JBQ0QsUUFBUTtzQkFBckMsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBQ0MsT0FBTztzQkFBbkMsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBQ0ksTUFBTTtzQkFBcEMsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBRXBCLE1BQU07c0JBQWQsS0FBSztnQkFXRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdHLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQVFHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFJRyxVQUFVO3NCQUFuQixNQUFNO2dCQUlHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFFRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUtHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCwgT3V0cHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXREcmF3ZXJDb250YWluZXIsIE1hdFNpZGVuYXZNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7IE1hdFRhYkdyb3VwLCBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBBbmd1bGFyU3BsaXRNb2R1bGUgfSBmcm9tICdhbmd1bGFyLXNwbGl0JztcblxuaW1wb3J0IHsgRmV0Y2gsIExhenlMb2FkZXJTZXJ2aWNlLCBOR1hfV0VCX0NPTVBPTkVOVFNfQ09ORklHLCBOZ3hXZWJDb21wb25lbnRzQ29uZmlnIH0gZnJvbSAnQGRvdGdsaXRjaC9uZ3gtY29tbW9uL2NvcmUnO1xuaW1wb3J0IHsgdWxpZCB9IGZyb20gJ3VsaWR4JztcbmltcG9ydCB7IEZpbGVHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi9maWxlLWdyaWQvZmlsZS1ncmlkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uUmVzb2x2ZXIgfSBmcm9tICcuL2ljb24tcmVzb2x2ZXInO1xuaW1wb3J0IHsgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vdG9vbGJhci90b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmVlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdHJlZS12aWV3L3RyZWUtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsZVNvcnRpbmcgfSBmcm9tICcuL3R5cGVzJztcblxuLy8gVE9ETzpcbi8qKlxuICogTXVsdGlwbGUgbXVzaWMgLyB2aWRlbyAvIGltYWdlIGZpbGVzIHNlbGVjdGVkIHR1cm5zIGludG8gYSBwbGF5bGlzdFxuICogRHJhZ2dpbmcgbXVzaWMgLyB2aWRlbyAvIGltYWdlIHF1ZXVlcyB0aGUgZmlsZShzKVxuICogQ2FuIHNhdmUgYW5kIGVkaXQgYSBsaXN0IG9mIGZpbGVzIGFzIHBsYXlsaXN0XG4gKiBDYW4gXCJsb29wXCIgXCJyYW5kb21pemVcIlxuICovXG5cbmV4cG9ydCB0eXBlIERpcmVjdG9yeURlc2NyaXB0b3IgPSB7XG4gICAga2luZDogXCJkaXJlY3RvcnlcIixcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGNvbnRlbnRzOiB7XG4gICAgICAgIGRpcnM6IERpcmVjdG9yeURlc2NyaXB0b3JbXSxcbiAgICAgICAgZmlsZXM6IEZpbGVEZXNjcmlwdG9yW107XG4gICAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIEZpbGVEZXNjcmlwdG9yID0ge1xuICAgIGtpbmQ6IFwiZmlsZVwiLFxuICAgIHN0YXRzOiB7XG4gICAgICAgIHNpemU6IG51bWJlcjtcbiAgICAgICAgLy8gU2l6ZSBmb3IgemlwcGVkIGZpbGVcbiAgICAgICAgY29tcHJlc3NlZFNpemU/OiBudW1iZXIsXG4gICAgICAgIGF0aW1lTXM6IG51bWJlcjtcbiAgICAgICAgbXRpbWVNczogbnVtYmVyO1xuICAgICAgICBjdGltZU1zOiBudW1iZXI7XG4gICAgICAgIGJpcnRodGltZU1zOiBudW1iZXI7XG4gICAgfSxcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nLFxuICAgIGV4dDogc3RyaW5nLFxuICAgIC8vIENvbW1lbnQgZm9yIGVudHJpZXMgaW4gYSB6aXAgZmlsZS5cbiAgICBjb21tZW50Pzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgRlNEZXNjcmlwdG9yID0gRGlyZWN0b3J5RGVzY3JpcHRvciB8IEZpbGVEZXNjcmlwdG9yO1xuXG5leHBvcnQgdHlwZSBGaWxlVmlld1RhYiA9IHtcbiAgICBpZDogc3RyaW5nLFxuICAgIGxhYmVsOiBzdHJpbmcsXG4gICAgYnJlYWRjcnVtYjoge1xuICAgICAgICBpZDogc3RyaW5nLFxuICAgICAgICBsYWJlbDogc3RyaW5nO1xuICAgIH1bXSxcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgc2VsZWN0aW9uOiBGU0Rlc2NyaXB0b3JbXSxcbiAgICB2aWV3TW9kZTogXCJncmlkXCIgfCBcImxpc3RcIixcbiAgICBoaXN0b3J5SW5kZXg6IG51bWJlcixcbiAgICBoaXN0b3J5OiBzdHJpbmdbXSxcbiAgICBzaWRlYmFySXRlbXM6IEZTRGVzY3JpcHRvcltdLFxuICAgIHNvcnRPcmRlcjogRmlsZVNvcnRpbmc7XG59O1xuXG4vLyBUT0RPOiByZXBsYWNlIGh0dHAgY29uZmlnc1xudHlwZSBIdHRwQ29uZmlndXJhdGlvbiA9IChcbiAgICB7IHVybDogc3RyaW5nOyB9IHxcbiAgICB7IHVybFRlbXBsYXRlOiAocGF0aDogc3RyaW5nKSA9PiBzdHJpbmc7IH1cbikgJiB7XG4gICAgbWV0aG9kPzogXCJnZXRcIiB8IFwicHV0XCIgfCBcInBvc3RcIiB8IFwicGF0Y2hcIiB8IFwiZGVsZXRlXCIsXG4gICAgaGVhZGVycz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nOyB9O1xufTtcblxuZXhwb3J0IHR5cGUgTmd4RmlsZU1hbmFnZXJDb25maWd1cmF0aW9uID0gUGFydGlhbDx7XG4gICAgLyoqXG4gICAgICogSW5pdGlhbCBwYXRoXG4gICAgICovXG4gICAgcGF0aDogc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIHJvb3QgcGF0aCAod2lsbCBhcHBlYXIgYXMgJy8nKS5cbiAgICAgKiBEZWZhdWx0cyB0byAnLycuXG4gICAgICpcbiAgICAgKiBVc2VyIGNhbm5vdCB2aWV3IG91dHNpZGUgb2YgdGhpcyBwYXRoLlxuICAgICAqICAgKE5vdCB0byBiZSB1c2VkIGFzIGEgc2VjdXJpdHkgbWVhc3VyZSEpXG4gICAgICovXG4gICAgY2hyb290UGF0aDogc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogUmVzdHJpY3QgdXNlcnMgdG8gb25seSBuYXZpZ2F0ZSBhcm91bmQgdG8gc3VicGF0aHMgb2YgdGhlIHNwZWNpZmllZCBgcGF0aGBcbiAgICAgKi9cbiAgICBuYXZpZ2F0ZU9ubHlUb0Rlc2NlbmRhbnRzOiBib29sZWFuLFxuICAgIHNob3dCcmVhZGNydW1iOiBib29sZWFuLFxuICAgIHNob3dUcmVldmlldzogYm9vbGVhbixcblxuICAgIC8qKlxuICAgICAqIE5hbWUgb2YgdGhlIFwicm9vdFwiIHBhdGggYC9gXG4gICAgICogRGVmYXVsdHMgdG8gXCJTdG9yYWdlXCJcbiAgICAgKi9cbiAgICByb290TmFtZTogc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gYmUgc3RvcmVkIGluIGhpc3RvcnkuXG4gICAgICovXG4gICAgbWF4SGlzdG9yeUxlbmd0aDogbnVtYmVyLFxuXG4gICAgYXBpU2V0dGluZ3M6IHtcbiAgICAgICAgbGlzdEVudHJpZXNVcmw/OiBzdHJpbmcsXG4gICAgICAgIGxpc3RFbnRyaWVzVXJsVGVtcGxhdGU/OiAocGF0aDogc3RyaW5nKSA9PiBzdHJpbmcsXG4gICAgICAgIGRvd25sb2FkRW50cnlVcmw/OiBzdHJpbmcsXG4gICAgICAgIGRvd25sb2FkRW50cnlVcmxUZW1wbGF0ZT86IChwYXRoOiBzdHJpbmcpID0+IHN0cmluZyxcbiAgICAgICAgdXBsb2FkRW50cnlVcmw/OiBzdHJpbmcsXG4gICAgICAgIHVwbG9hZEVudHJ5VXJsVGVtcGxhdGU/OiAocGF0aDogc3RyaW5nKSA9PiBzdHJpbmcsXG4gICAgICAgIGRlbGV0ZUVudHJ5VXJsPzogc3RyaW5nLFxuICAgICAgICBkZWxldGVFbnRyeVVybFRlbXBsYXRlPzogKHBhdGg6IHN0cmluZykgPT4gc3RyaW5nLFxuICAgICAgICByZW5hbWVFbnRyeVVybD86IHN0cmluZyxcbiAgICAgICAgcmVuYW1lRW50cnlVcmxUZW1wbGF0ZT86IChwYXRoOiBzdHJpbmcpID0+IHN0cmluZyxcbiAgICAgICAgY3JlYXRlRGlyZWN0b3J5VXJsPzogc3RyaW5nLFxuICAgICAgICBjcmVhdGVEaXJlY3RvcnlVcmxUZW1wbGF0ZT86IChwYXRoOiBzdHJpbmcpID0+IHN0cmluZztcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogVGhlIHBhdGggdGhhdCBpbWFnZXMgYXJlIGxvYWRlZCBmcm9tLlxuICAgICAqIERlZmF1bHQgdmFsdWUgYC9hc3NldHMvZG90Z2xpdGNoL3dlYmNvbXBvbmVudHMvYFxuICAgICAqL1xuICAgIGFzc2V0UGF0aDogc3RyaW5nLFxuICAgIHNpZGViYXJMb2NhdGlvblN0cmF0ZWd5OiBcImtub3duXCIgfCBcImN1cnJlbnREaXJlY3RvcnlcIixcblxuICAgIGljb25SZXNvbHZlcjogKGZpbGU6IEZTRGVzY3JpcHRvcikgPT4gc3RyaW5nLFxuXG4gICAgaW1hZ2VTaXplOiBcIm5vcm1hbFwiIHwgXCJzbWFsbFwiIHwgXCJodWdlXCIsXG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqL1xuICAgIHNlbGVjdGlvbk1vZGU6IFwic2luZ2xlXCIgfCBcIm11bHRpcGxlXCIsXG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGRldGVybWluZXMgaWYgdGhlIGZpbGVtYW5hZ2VyIHNob3dzIHNlbGVjdGVkIGVudHJpZXNcbiAgICAgKlxuICAgICAqIElmIHNldCB0byBgZm9jdXNGaWxlc2AsIGZpbGUgcGF0aHMgdGhhdCBtYXRjaCBmcm9tIHRoZSBwcm92aWRlZCBgZm9jdXNlZEZpbGVzYFxuICAgICAqIHdpbGwgYmUgaGlnaGxpZ2h0ZWQsIGFuZCBjYW4gYmUgc2VsZWN0ZWQgLyBkZXNlbGVjdGVkLlxuICAgICAqL1xuICAgIG1vZGU6IFwiZm9jdXNGaWxlc1wiIHwgXCJub3JtYWxcIixcbiAgICBmb2N1c2VkRmlsZXM6IHN0cmluZ1tdO1xufT47XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLWZpbGVtYW5hZ2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZmlsZW1hbmFnZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZpbGVtYW5hZ2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBBbmd1bGFyU3BsaXRNb2R1bGUsXG4gICAgICAgIEZpbGVHcmlkQ29tcG9uZW50LFxuICAgICAgICBNYXRUYWJzTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXRTaWRlbmF2TW9kdWxlLFxuICAgICAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgICAgICBUcmVlVmlld0NvbXBvbmVudFxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBGaWxlbWFuYWdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQFZpZXdDaGlsZCgndGFiR3JvdXAnKSB0YWJHcm91cDogTWF0VGFiR3JvdXA7XG4gICAgQFZpZXdDaGlsZHJlbihGaWxlR3JpZENvbXBvbmVudCkgZmlsZUdyaWRzOiBRdWVyeUxpc3Q8RmlsZUdyaWRDb21wb25lbnQ+O1xuICAgIEBWaWV3Q2hpbGQoVHJlZVZpZXdDb21wb25lbnQpIHRyZWVWaWV3OiBUcmVlVmlld0NvbXBvbmVudDtcbiAgICBAVmlld0NoaWxkKFRvb2xiYXJDb21wb25lbnQpIHRvb2xiYXI6IFRvb2xiYXJDb21wb25lbnQ7XG4gICAgQFZpZXdDaGlsZChNYXREcmF3ZXJDb250YWluZXIpIGRyYXdlcjogTWF0RHJhd2VyQ29udGFpbmVyO1xuXG4gICAgQElucHV0KCkgY29uZmlnOiBOZ3hGaWxlTWFuYWdlckNvbmZpZ3VyYXRpb24gPSB7XG4gICAgICAgIGFwaVNldHRpbmdzOiB7XG4gICAgICAgICAgICBsaXN0RW50cmllc1VybDogYC9hcGkvZmlsZXN5c3RlbS9gLFxuICAgICAgICAgICAgdXBsb2FkRW50cnlVcmw6IGAvYXBpL2ZpbGVzeXN0ZW0vYCxcbiAgICAgICAgICAgIGRvd25sb2FkRW50cnlVcmw6IGAvYXBpL2ZpbGVzeXN0ZW0vYCxcbiAgICAgICAgICAgIGRlbGV0ZUVudHJ5VXJsOiBgL2FwaS9maWxlc3lzdGVtL2AsXG4gICAgICAgICAgICBjcmVhdGVEaXJlY3RvcnlVcmw6IGAvYXBpL2ZpbGVzeXN0ZW0vZm9sZGVyYCxcbiAgICAgICAgICAgIHJlbmFtZUVudHJ5VXJsOiBgL2FwaS9maWxlc3lzdGVtL3JlbmFtZWBcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBASW5wdXQoKSBncmlkU2l6ZTogXCJzbWFsbFwiIHwgXCJub3JtYWxcIiB8IFwibGFyZ2VcIiA9IFwibm9ybWFsXCI7XG4gICAgQElucHV0KCkgbW9kZTogXCJncmlkXCIgfCBcImxpc3RcIjtcbiAgICBASW5wdXQoKSBjb250ZXh0VGFnczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmc7IH07XG5cblxuICAgIEBJbnB1dCgpIHZhbHVlOiBGU0Rlc2NyaXB0b3JbXSA9IFtdO1xuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RlNEZXNjcmlwdG9yW10+KCk7XG5cbiAgICBncmlkVmFsdWVzOiBGU0Rlc2NyaXB0b3JbXVtdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBFbWl0cyB3aGVuIGZvY3VzZWQgZmlsZXMgY2hhbmdlLlxuICAgICAqIE9ubHkgYXZhaWxhYmxlIGluIGBmb2N1c0ZpbGVzYCBtb2RlLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBmb2N1c2VkRmlsZXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgLyoqXG4gICAgICogRW1pdHMgd2hlbiBhIGZpbGUgaXMgdXBsb2FkZWQuXG4gICAgICovXG4gICAgQE91dHB1dCgpIGZpbGVVcGxvYWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgLyoqXG4gICAgICogRW1pdHMgd2hlbiBhIGZpbGUgaXMgZG93bmxvYWRlZC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgZmlsZURvd25sb2FkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBmaWxlUmVuYW1lID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBmaWxlRGVsZXRlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBmaWxlQ29weSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgZmlsZVBhc3RlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpIGZpbGVTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVEZXNjcmlwdG9yPigpO1xuICAgIEBPdXRwdXQoKSBmaWxlRGJsQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVEZXNjcmlwdG9yPigpO1xuICAgIEBPdXRwdXQoKSBmb2xkZXJTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPERpcmVjdG9yeURlc2NyaXB0b3I+KCk7XG4gICAgQE91dHB1dCgpIGZvbGRlckRibENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxEaXJlY3RvcnlEZXNjcmlwdG9yPigpO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHMgd2hlbiBtdWx0aXBsZSBmaWxlIHNlbGVjdGlvbnMgY2hhbmdlLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBmaWxlc1NlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8RlNEZXNjcmlwdG9yW10+KCk7XG4gICAgLyoqXG4gICAgICogRW1pdHMgd2hlbiBhbnkgc2VsZWN0aW9uIGNoYW5nZXMsIHNpbmdsZSBvciBtdWx0aXBsZSBmaWxlcy5cbiAgICAgKi9cbiAgICAvLyBAT3V0cHV0KCkgc2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxGU0Rlc2NyaXB0b3JbXT4oKTtcblxuICAgIHNob3dIaWRkZW5GaWxlcyA9IGZhbHNlO1xuICAgIHNob3dTaWRlYmFyID0gdHJ1ZTtcbiAgICBzaWRlYmFyT3ZlcmxheSA9IGZhbHNlO1xuICAgIHdpZHRoID0gMDtcblxuICAgIGlzSG9tZUFuY2VzdG9yID0gZmFsc2U7XG5cbiAgICBjdXJyZW50VGFiOiBGaWxlVmlld1RhYiA9IHt9IGFzIGFueTtcbiAgICBnZXQgY3VycmVudEZpbGVHcmlkKCkgeyByZXR1cm4gdGhpcy5maWxlR3JpZHMuZ2V0KHRoaXMudGFiSW5kZXgpOyB9XG4gICAgdGFiSW5kZXggPSAwO1xuICAgIHRhYnM6IEZpbGVWaWV3VGFiW10gPSBbXTtcblxuICAgIGljb25SZXNvbHZlcjogSWNvblJlc29sdmVyO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTkdYX1dFQl9DT01QT05FTlRTX0NPTkZJRykgcmVhZG9ubHkgbGliQ29uZmlnOiBOZ3hXZWJDb21wb25lbnRzQ29uZmlnID0ge30sXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbGF6eUxvYWRlcjogTGF6eUxvYWRlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSBmZXRjaDogRmV0Y2hcbiAgICApIHtcbiAgICAgICAgbGF6eUxvYWRlci5yZWdpc3RlckNvbXBvbmVudCh7XG4gICAgICAgICAgICBpZDogXCJmb2xkZXItcmVuYW1lXCIsXG4gICAgICAgICAgICBncm91cDogXCJAZG90Z2xpdGNoL25neC13ZWItY29tcG9uZW50c1wiLFxuICAgICAgICAgICAgbG9hZDogKCkgPT4gaW1wb3J0KCcuL2ZvbGRlci1yZW5hbWUvZm9sZGVyLXJlbmFtZS5jb21wb25lbnQnKVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmljb25SZXNvbHZlciA9IG5ldyBJY29uUmVzb2x2ZXIobGliQ29uZmlnLmFzc2V0UGF0aCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5pdFRhYih0aGlzLmNvbmZpZy5wYXRoKTtcbiAgICAgICAgdGhpcy5jdXJyZW50VGFiID0gdGhpcy50YWJzWzBdO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5vblJlc2l6ZSgpO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5vblJlc2l6ZSgpLCAyNTApO1xuICAgIH1cblxuICAgIG9uVHJlZVZpZXdMb2FkQ2hpbGRyZW4oeyBpdGVtLCBjYiB9KSB7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuY29uZmlnLmFwaVNldHRpbmdzLmxpc3RFbnRyaWVzVXJsVGVtcGxhdGVcbiAgICAgICAgICAgID8gdGhpcy5jb25maWcuYXBpU2V0dGluZ3MubGlzdEVudHJpZXNVcmxUZW1wbGF0ZShpdGVtLnBhdGggKyBpdGVtLm5hbWUpXG4gICAgICAgICAgICA6IHRoaXMuY29uZmlnLmFwaVNldHRpbmdzLmxpc3RFbnRyaWVzVXJsO1xuXG4gICAgICAgIHRoaXMuZmV0Y2gucG9zdCh1cmwsIHsgcGF0aDogaXRlbS5wYXRoICsgaXRlbS5uYW1lLCBzaG93SGlkZGVuOiB0aGlzLnNob3dIaWRkZW5GaWxlcyB9KVxuICAgICAgICAgICAgLnRoZW4oKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRpcnM6IERpcmVjdG9yeURlc2NyaXB0b3JbXSA9IGRhdGEuZGlycztcbiAgICAgICAgICAgICAgICBjYihkaXJzKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIGluaXRUYWIocGF0aDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMudGFicy5wdXNoKHRoaXMuY3VycmVudFRhYiA9IHtcbiAgICAgICAgICAgIGlkOiB1bGlkKCksXG4gICAgICAgICAgICBsYWJlbDogdGhpcy5nZXRUYWJMYWJlbChwYXRoKSxcbiAgICAgICAgICAgIGJyZWFkY3J1bWI6IHRoaXMuY2FsY0JyZWFkY3J1bWIocGF0aCksXG4gICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgc2VsZWN0aW9uOiBbXSxcbiAgICAgICAgICAgIHZpZXdNb2RlOiB0aGlzLm1vZGUgfHwgJ2dyaWQnLFxuICAgICAgICAgICAgaGlzdG9yeUluZGV4OiAwLFxuICAgICAgICAgICAgaGlzdG9yeTogW10sXG4gICAgICAgICAgICBzaWRlYmFySXRlbXM6IFtdLFxuICAgICAgICAgICAgc29ydE9yZGVyOiAnYS16J1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy50YWJJbmRleCA9IHRoaXMudGFicy5sZW5ndGg7XG4gICAgfVxuXG4gICAgY2xvc2VUYWIodGFiOiBGaWxlVmlld1RhYikge1xuICAgICAgICB0aGlzLnRhYnMuc3BsaWNlKHRoaXMudGFicy5maW5kSW5kZXgodCA9PiB0LmlkID09IHRhYi5pZCksIDEpO1xuICAgIH1cblxuICAgIGNhbGNCcmVhZGNydW1iKHBhdGg6IHN0cmluZykge1xuICAgICAgICBpZiAoIXBhdGgpIHJldHVybiBudWxsO1xuXG4gICAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoXCIjL1wiLCAnLycpO1xuXG4gICAgICAgIC8vIElmIHdlJ3JlIGFjdGluZyBsaWtlIHdlJ3JlIGluIGEgY2hhbmdlZCByb290LCB3ZSB3aXBlIG91dFxuICAgICAgICAvLyBicmVhZGNydW1icyBiZWxvdyB0aGUgcm9vdFxuICAgICAgICBpZiAodGhpcy5jb25maWcuY2hyb290UGF0aCkge1xuICAgICAgICAgICAgcGF0aCA9IHBhdGgucmVwbGFjZSh0aGlzLmNvbmZpZy5jaHJvb3RQYXRoLCAnJyk7XG4gICAgICAgICAgICBjb25zdCBwYXJ0cyA9IHBhdGguc3BsaXQoJy8nKTtcblxuICAgICAgICAgICAgcGF0aCA9IHBhdGgucmVwbGFjZSgvXlxcLy8sIHRoaXMuY29uZmlnLmNocm9vdFBhdGgpO1xuICAgICAgICAgICAgcmV0dXJuIHBhcnRzLm1hcCgocCwgaSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBwYXJ0cy5zbGljZSgwLCBpICsgMSkuam9pbignLycpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6ICh0aGlzLmNvbmZpZy5jaHJvb3RQYXRoICsgKHBhdGggfHwgJy8nKSkucmVwbGFjZSgvXFwvKy9nLCAnLycpLFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogcCB8fCBcIlwiXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgcGFydHMgPSBwYXRoLnNwbGl0KCcvJyk7XG5cbiAgICAgICAgICAgIHJldHVybiBwYXJ0cy5tYXAoKHAsIGkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gcGFydHMuc2xpY2UoMCwgaSArIDEpLmpvaW4oJy8nKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBwYXRoIHx8ICcvJyxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHAgfHwgXCJcIlxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQnJlYWRjcnVtYkNsaWNrKGNydW1iKSB7XG4gICAgICAgIGlmIChjcnVtYi5pZCkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50VGFiLnBhdGggPSBjcnVtYi5pZDtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFRhYi5icmVhZGNydW1iID0gdGhpcy5jYWxjQnJlYWRjcnVtYihjcnVtYi5pZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblRhYlBhdGhDaGFuZ2UodGFiOiBGaWxlVmlld1RhYikge1xuICAgICAgICB0YWIubGFiZWwgPSB0aGlzLmdldFRhYkxhYmVsKHRhYi5wYXRoKTtcbiAgICAgICAgdGFiLmJyZWFkY3J1bWIgPSB0aGlzLmNhbGNCcmVhZGNydW1iKHRhYi5wYXRoKTtcblxuICAgICAgICB0YWIuaGlzdG9yeUluZGV4Kys7XG4gICAgICAgIHRhYi5oaXN0b3J5LnB1c2godGFiLnBhdGgpO1xuICAgICAgICB0YWIuaGlzdG9yeS5zcGxpY2UodHlwZW9mIHRoaXMuY29uZmlnLm1heEhpc3RvcnlMZW5ndGggPT0gJ251bWJlcicgPyB0aGlzLmNvbmZpZy5tYXhIaXN0b3J5TGVuZ3RoIDogNTApO1xuICAgIH1cblxuICAgIG9uVHJlZVZpZXdTZWxlY3QoaXRlbTogRlNEZXNjcmlwdG9yKSB7XG4gICAgICAgIHRoaXMuY3VycmVudFRhYi5wYXRoID0gaXRlbS5wYXRoICsgaXRlbS5uYW1lO1xuICAgIH1cblxuICAgIG9uVGFiTG9hZEZpbGVzKHRhYjogRmlsZVZpZXdUYWIsIGZpbGVzOiBGU0Rlc2NyaXB0b3JbXSkge1xuICAgICAgICBpZiAodGFiLnNpZGViYXJJdGVtcy5sZW5ndGggPT0gMCkge1xuICAgICAgICAgICAgdGFiLnNpZGViYXJJdGVtcyA9IGZpbGVzLmZpbHRlcihmID0+IGYua2luZCA9PSBcImRpcmVjdG9yeVwiKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRJdGVtcyA9IHRhYi5zaWRlYmFySXRlbXM7XG4gICAgICAgIGNvbnN0IGRpckl0ZW1zID0gZmlsZXMuZmlsdGVyKGYgPT4gZi5raW5kID09IFwiZGlyZWN0b3J5XCIpO1xuXG4gICAgICAgIGZ1bmN0aW9uIHJlY3Vyc2UoaXRlbXMpIHtcbiAgICAgICAgICAgIHJldHVybiBpdGVtcy5maW5kKGkgPT4gdGFiLnBhdGg/LnN0YXJ0c1dpdGgoaS5wYXRoKSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gcmVjdXJzZShjdXJyZW50SXRlbXMpO1xuXG4gICAgICAgIGlmICh0YXJnZXQpXG4gICAgICAgICAgICB0YXJnZXRbJ19jaGlsZHJlbiddID0gZGlySXRlbXM7XG5cbiAgICAgICAgdGFiLnNpZGViYXJJdGVtcyA9IGN1cnJlbnRJdGVtcztcbiAgICB9XG5cbiAgICBvbkdyaWRWYWx1ZUNoYW5nZSgpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuZ3JpZFZhbHVlcy5mbGF0KDEpO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0VGFiTGFiZWwocGF0aDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBwYXRoPy5zcGxpdCgnLycpLmZpbHRlcihwID0+IHApLnBvcCgpO1xuICAgIH1cblxuICAgIGFzeW5jIG9uUmVzaXplKCkge1xuICAgICAgICAvLyBUcmlnZ2VyIHJlLWNhbGN1bGF0aW9uIG9mIHRoZSB2aWV3XG4gICAgICAgIHRoaXMuZmlsZUdyaWRzLmZvckVhY2goZyA9PiBnLnJlc2l6ZSgpKTtcblxuICAgICAgICBjb25zdCBlbCA9IHRoaXMudmlld0NvbnRhaW5lci5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGJvdW5kcyA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICB0aGlzLndpZHRoID0gYm91bmRzLndpZHRoO1xuXG4gICAgICAgIC8vIElmIHRoZSB2aWV3IGFyZWEgaXMgbGVzcyB0aGFuIDY1MHB4IHdpZGUsIHVzZSBvdmVybGF5IHRoZSBzaWRlYmFyIHBhbmVsXG4gICAgICAgIHRoaXMuc2lkZWJhck92ZXJsYXkgPSBib3VuZHMud2lkdGggPCA2NTA7XG4gICAgICAgIGlmICh0aGlzLnNpZGViYXJPdmVybGF5ID09IGZhbHNlICYmIFsuLi50aGlzLmRyYXdlci5fZHJhd2Vyc11bMF0ub3BlbmVkKSB7XG4gICAgICAgICAgICB0aGlzLmRyYXdlci5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgb25SZXNpemVFbmQoKSB7XG4gICAgICAgIHRoaXMub25SZXNpemUoKTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMub25SZXNpemUoKSwgMjUwKTtcbiAgICB9XG5cbiAgICBnZXRTZWxlY3Rpb24oKSB7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRUYWIudmlld01vZGUgPT0gXCJncmlkXCIpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRUYWIuc2VsZWN0aW9uO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbGVhclNlbGVjdGlvbigpIHtcbiAgICAgICAgdGhpcy5maWxlR3JpZHMuZm9yRWFjaChnID0+IGcuY2xlYXJTZWxlY3Rpb24oKSk7XG4gICAgfVxuXG4gICAgLy8gVGVsbCB0aGUgY2hpbGQgZ3JpZCB0byByZWZyZXNoIGl0J3Mgc29ydGluZ1xuICAgIHJlZnJlc2hTb3J0aW5nKCkge1xuICAgICAgICB0aGlzLmZpbGVHcmlkcy5mb3JFYWNoKGcgPT4gZy5zb3J0KCkpO1xuICAgIH1cblxuICAgIHJlZnJlc2hEYXRhKCkge1xuICAgICAgICB0aGlzLmZpbGVHcmlkcy5mb3JFYWNoKGcgPT4gZy5sb2FkRm9sZGVyKCkpO1xuICAgIH1cblxuICAgIGdldEZpbGVEYXRhKGZpbGU6IEZpbGVEZXNjcmlwdG9yKSB7XG4gICAgICAgIGxldCB1cmwgPSB0aGlzLmNvbmZpZy5hcGlTZXR0aW5ncy5yZW5hbWVFbnRyeVVybFRlbXBsYXRlXG4gICAgICAgICAgICA/IHRoaXMuY29uZmlnLmFwaVNldHRpbmdzLnJlbmFtZUVudHJ5VXJsVGVtcGxhdGUoZmlsZS5wYXRoICsgZmlsZS5uYW1lKVxuICAgICAgICAgICAgOiB0aGlzLmNvbmZpZy5hcGlTZXR0aW5ncy5yZW5hbWVFbnRyeVVybDtcblxuICAgICAgICB1cmwgPSAodXJsLmluY2x1ZGVzKCc/JykgPyAnJicgOiAnPycpICsgYGRpcj0ke2ZpbGUucGF0aH0mZmlsZT0ke2ZpbGUubmFtZX1gO1xuXG4gICAgICAgIHJldHVybiB1cmw7XG4gICAgfVxuXG4gICAgZG93bmxvYWRGaWxlKGZpbGU6IEZTRGVzY3JpcHRvcikge1xuICAgICAgICBsZXQgcGF0aCA9IGZpbGUucGF0aCArIGZpbGUubmFtZTtcbiAgICAgICAgaWYgKGZpbGUua2luZCA9PSBcImRpcmVjdG9yeVwiICYmICFwYXRoLmVuZHNXaXRoKCcvJykpXG4gICAgICAgICAgICBwYXRoICs9IFwiL1wiO1xuXG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuY29uZmlnLmFwaVNldHRpbmdzLmRvd25sb2FkRW50cnlVcmxUZW1wbGF0ZVxuICAgICAgICAgICAgPyB0aGlzLmNvbmZpZy5hcGlTZXR0aW5ncy5kb3dubG9hZEVudHJ5VXJsVGVtcGxhdGUocGF0aClcbiAgICAgICAgICAgIDogdGhpcy5jb25maWcuYXBpU2V0dGluZ3MuZG93bmxvYWRFbnRyeVVybDtcblxuICAgICAgICAvLyB3aW5kb3cub3Blbih0YXJnZXQpO1xuICAgICAgICB2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xuICAgICAgICBsaW5rLmRvd25sb2FkID0gZmlsZS5uYW1lO1xuICAgICAgICBsaW5rLmhyZWYgPSB1cmw7XG4gICAgICAgIGxpbmsuY2xpY2soKTtcbiAgICAgICAgbGluay5yZW1vdmUoKTtcbiAgICAgICAgdGhpcy5maWxlRG93bmxvYWQubmV4dChmaWxlKTtcbiAgICB9XG59XG4iLCI8YXBwLXRvb2xiYXJcbiAgICBbY3VycmVudFRhYl09XCJjdXJyZW50VGFiXCJcbiAgICBbKHNob3dIaWRkZW5GaWxlcyldPVwic2hvd0hpZGRlbkZpbGVzXCJcbiAgICBbKHNob3dTaWRlYmFyKV09XCJzaG93U2lkZWJhclwiXG4gICAgW2NvbmZpZ109XCJjb25maWdcIlxuICAgIFtzaG93QmFyZU1pbmltdW1dPVwid2lkdGggPCA1MDAgJiYgY29uZmlnLnNob3dCcmVhZGNydW1iICE9IGZhbHNlXCJcbiAgICAob25CcmVhZGNydW1iQ2xpY2spPVwib25CcmVhZGNydW1iQ2xpY2soJGV2ZW50KVwiXG4vPlxuXG48bWF0LWRyYXdlci1jb250YWluZXIgc3R5bGU9XCJmbGV4OiAxXCI+XG4gICAgPG1hdC1kcmF3ZXIgI2RyYXdlciBtb2RlPVwib3ZlclwiPlxuICAgICAgICBAaWYgKHdpZHRoIDwgNTAwICYmIGNvbmZpZy5zaG93QnJlYWRjcnVtYiAhPSBmYWxzZSkge1xuICAgICAgICAgICAgPGFwcC10b29sYmFyXG4gICAgICAgICAgICAgICAgW2N1cnJlbnRUYWJdPVwiY3VycmVudFRhYlwiXG4gICAgICAgICAgICAgICAgWyhzaG93SGlkZGVuRmlsZXMpXT1cInNob3dIaWRkZW5GaWxlc1wiXG4gICAgICAgICAgICAgICAgWyhzaG93U2lkZWJhcildPVwic2hvd1NpZGViYXJcIlxuICAgICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnXCJcbiAgICAgICAgICAgICAgICBbZHJhd2VyTW9kZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAob25CcmVhZGNydW1iQ2xpY2spPVwib25CcmVhZGNydW1iQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIDxhcHAtdHJlZS12aWV3XG4gICAgICAgICAgICBbZGF0YV09XCJjdXJyZW50VGFiLnNpZGViYXJJdGVtc1wiXG4gICAgICAgICAgICAobG9hZENoaWxkcmVuKT1cIm9uVHJlZVZpZXdMb2FkQ2hpbGRyZW4oJGV2ZW50KVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25UcmVlVmlld1NlbGVjdCgkZXZlbnQpXCJcbiAgICAgICAgLz5cbiAgICA8L21hdC1kcmF3ZXI+XG4gICAgPG1hdC1kcmF3ZXItY29udGVudD5cbiAgICAgICAgPGFzLXNwbGl0IGRpcmVjdGlvbj1cImhvcml6b250YWxcIiBbZ3V0dGVyU2l6ZV09XCJzaWRlYmFyT3ZlcmxheSA/IDAgOiAyXCIgW3VuaXRdPVwiJ3BpeGVsJ1wiIChkcmFnRW5kKT1cIm9uUmVzaXplRW5kKClcIj5cbiAgICAgICAgICAgIDxhcy1zcGxpdC1hcmVhXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1maWxlbWFuYWdlci1zaWRlYmFyLWJhY2tncm91bmQtY29sb3IsICMyYzJjMmMpXCJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCIyMTVcIlxuICAgICAgICAgICAgICAgIFttaW5TaXplXT1cIjIxNVwiXG4gICAgICAgICAgICAgICAgW21heFNpemVdPVwid2lkdGgvNFwiXG4gICAgICAgICAgICAgICAgW3Zpc2libGVdPVwiIXNpZGViYXJPdmVybGF5ICYmIGNvbmZpZy5zaG93VHJlZXZpZXcgIT0gZmFsc2VcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEBpZiAoIXNpZGViYXJPdmVybGF5ICYmIGNvbmZpZy5zaG93VHJlZXZpZXcgIT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpZGViYXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImN1cnJlbnRUYWIuc2VsZWN0aW9uID0gW11cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXBwLXRyZWUtdmlld1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImN1cnJlbnRUYWIuc2lkZWJhckl0ZW1zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAobG9hZENoaWxkcmVuKT1cIm9uVHJlZVZpZXdMb2FkQ2hpbGRyZW4oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uVHJlZVZpZXdTZWxlY3QoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2FzLXNwbGl0LWFyZWE+XG4gICAgICAgICAgICA8YXMtc3BsaXQtYXJlYSBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6IHZhcigtLWZpbGVtYW5hZ2VyLWJhY2tncm91bmQtY29sb3IsICMyNzI3MjcpO1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLi0tdGFiLWhlaWdodF09XCJ0YWJzLmxlbmd0aCA+IDEgPyAnMzZweCcgOiAnMCdcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC10YWItZ3JvdXAgI3RhYkdyb3VwIChzZWxlY3RlZFRhYkNoYW5nZSk9XCJjdXJyZW50VGFiID0gdGFic1skZXZlbnQuaW5kZXhdXCIgWyhzZWxlY3RlZEluZGV4KV09XCJ0YWJJbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAodGFiIG9mIHRhYnM7IHRyYWNrIHRhYjsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXRhYj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3RhYi5sYWJlbH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNsb3NlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VUYWIodGFiKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRUYWJDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1maWxlLWdyaWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmlld01vZGVdPVwidGFiLnZpZXdNb2RlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFiXT1cInRhYlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ109XCJjb25maWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtncmlkU2l6ZV09XCJncmlkU2l6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NvcnRPcmRlcl09XCJ0YWIuc29ydE9yZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHNlbGVjdGlvbildPVwidGFiLnNlbGVjdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhwYXRoKV09XCJ0YWIucGF0aFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBhdGhDaGFuZ2UpPVwib25UYWJQYXRoQ2hhbmdlKHRhYilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cImdyaWRWYWx1ZXNbaV1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvbkdyaWRWYWx1ZUNoYW5nZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobG9hZEZpbGVzKT1cIm9uVGFiTG9hZEZpbGVzKHRhYiwgJGV2ZW50KVwiXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmlsZVNlbGVjdCk9XCJmaWxlU2VsZWN0Lm5leHQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbGVEYmxDbGljayk9XCJmaWxlRGJsQ2xpY2submV4dCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9sZGVyU2VsZWN0KT1cImZvbGRlclNlbGVjdC5uZXh0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmb2xkZXJEYmxDbGljayk9XCJmb2xkZXJEYmxDbGljay5uZXh0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC10YWI+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXRhYi1ncm91cD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvYXMtc3BsaXQtYXJlYT5cbiAgICAgICAgPC9hcy1zcGxpdD5cbiAgICA8L21hdC1kcmF3ZXItY29udGVudD5cbjwvbWF0LWRyYXdlci1jb250YWluZXI+XG5cbiJdfQ==
@@ -5,7 +5,7 @@ import { MatIconModule } from '@angular/material/icon';
5
5
  import { MatInputModule } from '@angular/material/input';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/material/dialog";
8
- import * as i2 from "../../../public-api";
8
+ import * as i2 from "@dotglitch/ngx-common/core";
9
9
  import * as i3 from "@angular/material/input";
10
10
  import * as i4 from "@angular/material/form-field";
11
11
  import * as i5 from "@angular/material/icon";
@@ -54,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
54
54
  }], config: [{
55
55
  type: Input
56
56
  }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9sZGVyLXJlbmFtZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2NvbXBvbmVudHMvZmlsZW1hbmFnZXIvZm9sZGVyLXJlbmFtZS9mb2xkZXItcmVuYW1lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvY29tcG9uZW50cy9maWxlbWFuYWdlci9mb2xkZXItcmVuYW1lL2ZvbGRlci1yZW5hbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7QUFnQnpELE1BQU0sT0FBTyxxQkFBcUI7SUFROUIsWUFDVyxNQUF5QixFQUN4QixLQUFZO1FBRGIsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFDeEIsVUFBSyxHQUFMLEtBQUssQ0FBTztRQVBmLFNBQUksR0FBVyxFQUFFLENBQUM7UUFHM0IsYUFBUSxHQUFHLEtBQUssQ0FBQztJQUtiLENBQUM7SUFFTCxRQUFRO1FBQ0osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0I7Z0JBQ3RELENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUE7WUFFNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7YUFDSSxDQUFDO1lBQ0YsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsMEJBQTBCO2dCQUNwRCxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUMzRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUE7WUFFdEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEdBQUUsR0FBRyxHQUFFLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBQzVELENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDOytHQWpDUSxxQkFBcUI7bUdBQXJCLHFCQUFxQix1SUNyQmxDLDhhQVNBLGlIREtRLGNBQWMsc25CQUNkLGFBQWEsbUxBQ2IsZUFBZSwyTkFDZixXQUFXOzs0RkFJTixxQkFBcUI7a0JBWmpDLFNBQVM7K0JBQ0ksbUJBQW1CLFdBR3BCO3dCQUNMLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixlQUFlO3dCQUNmLFdBQVc7cUJBQ2QsY0FDVyxJQUFJO3FHQUlQLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBOZ3hGaWxlTWFuYWdlckNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9maWxlbWFuYWdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmV0Y2ggfSBmcm9tICcuLi8uLi8uLi9wdWJsaWMtYXBpJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtZm9sZGVyLXJlbmFtZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvbGRlci1yZW5hbWUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvbGRlci1yZW5hbWUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlXG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEZvbGRlclJlbmFtZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBASW5wdXQoKSBwYXRoOiBzdHJpbmc7XG4gICAgQElucHV0KCkgbmFtZTogc3RyaW5nID0gJyc7XG4gICAgQElucHV0KCkgY29uZmlnOiBOZ3hGaWxlTWFuYWdlckNvbmZpZ3VyYXRpb247XG5cbiAgICBpc1JlbmFtZSA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZ1JlZjxhbnk+LFxuICAgICAgICBwcml2YXRlIGZldGNoOiBGZXRjaFxuICAgICkgeyB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pc1JlbmFtZSA9IHRoaXMubmFtZS5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIG9uU2F2ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNSZW5hbWUpIHtcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IHRoaXMuY29uZmlnLmFwaVNldHRpbmdzLnJlbmFtZUVudHJ5VXJsVGVtcGxhdGVcbiAgICAgICAgICAgICAgICA/IHRoaXMuY29uZmlnLmFwaVNldHRpbmdzLnJlbmFtZUVudHJ5VXJsVGVtcGxhdGUodGhpcy5wYXRoICsgdGhpcy5uYW1lKVxuICAgICAgICAgICAgICAgIDogdGhpcy5jb25maWcuYXBpU2V0dGluZ3MucmVuYW1lRW50cnlVcmxcblxuICAgICAgICAgICAgdGhpcy5mZXRjaC5wb3N0KHVybCwgeyBwYXRoOiB0aGlzLnBhdGggKyAnLycgKyB0aGlzLm5hbWUgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB1cmwgPSB0aGlzLmNvbmZpZy5hcGlTZXR0aW5ncy5jcmVhdGVEaXJlY3RvcnlVcmxUZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICAgID8gdGhpcy5jb25maWcuYXBpU2V0dGluZ3MuY3JlYXRlRGlyZWN0b3J5VXJsVGVtcGxhdGUodGhpcy5wYXRoICsgdGhpcy5uYW1lKVxuICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5jb25maWcuYXBpU2V0dGluZ3MuY3JlYXRlRGlyZWN0b3J5VXJsXG5cbiAgICAgICAgICAgIHRoaXMuZmV0Y2gucG9zdCh1cmwsIHtwYXRoOiB0aGlzLnBhdGggKycvJysgdGhpcy5uYW1lfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kaWFsb2cuY2xvc2UodHJ1ZSk7XG4gICAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIHN0eWxlPVwid2lkdGg6IDI4MHB4O1wiPlxuICAgIDxtYXQtbGFiZWw+TmFtZTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwibmFtZVwiIChrZXl1cCk9XCIkZXZlbnQua2V5ID09ICdFbnRlcicgJiYgb25TYXZlKClcIj5cbjwvbWF0LWZvcm0tZmllbGQ+XG5cbjxkaXYgc3R5bGU9XCJhbGlnbi1zZWxmOiBlbmQ7XCI+XG4gICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gKGNsaWNrKT1cIm9uU2F2ZSgpXCI+PG1hdC1pY29uPmNoZWNrPC9tYXQtaWNvbj5PazwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIChjbGljayk9XCJkaWFsb2cuY2xvc2UoKVwiPjxtYXQtaWNvbj5jYW5jZWw8L21hdC1pY29uPkNhbmNlbDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9sZGVyLXJlbmFtZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vZmlsZW1hbmFnZXIvZm9sZGVyLXJlbmFtZS9mb2xkZXItcmVuYW1lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9maWxlbWFuYWdlci9mb2xkZXItcmVuYW1lL2ZvbGRlci1yZW5hbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7QUFnQnpELE1BQU0sT0FBTyxxQkFBcUI7SUFROUIsWUFDVyxNQUF5QixFQUN4QixLQUFZO1FBRGIsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFDeEIsVUFBSyxHQUFMLEtBQUssQ0FBTztRQVBmLFNBQUksR0FBVyxFQUFFLENBQUM7UUFHM0IsYUFBUSxHQUFHLEtBQUssQ0FBQztJQUtiLENBQUM7SUFFTCxRQUFRO1FBQ0osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0I7Z0JBQ3RELENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUM7WUFFN0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7YUFDSSxDQUFDO1lBQ0YsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsMEJBQTBCO2dCQUMxRCxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUMzRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUM7WUFFakQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDOytHQWpDUSxxQkFBcUI7bUdBQXJCLHFCQUFxQix1SUNyQmxDLDhhQVNBLGlIREtRLGNBQWMsc25CQUNkLGFBQWEsbUxBQ2IsZUFBZSwyTkFDZixXQUFXOzs0RkFJTixxQkFBcUI7a0JBWmpDLFNBQVM7K0JBQ0ksbUJBQW1CLFdBR3BCO3dCQUNMLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixlQUFlO3dCQUNmLFdBQVc7cUJBQ2QsY0FDVyxJQUFJO3FHQUlQLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBGZXRjaCB9IGZyb20gJ0Bkb3RnbGl0Y2gvbmd4LWNvbW1vbi9jb3JlJztcbmltcG9ydCB7IE5neEZpbGVNYW5hZ2VyQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL2ZpbGVtYW5hZ2VyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLWZvbGRlci1yZW5hbWUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2xkZXItcmVuYW1lLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb2xkZXItcmVuYW1lLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBGb2xkZXJSZW5hbWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgQElucHV0KCkgcGF0aDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIG5hbWU6IHN0cmluZyA9ICcnO1xuICAgIEBJbnB1dCgpIGNvbmZpZzogTmd4RmlsZU1hbmFnZXJDb25maWd1cmF0aW9uO1xuXG4gICAgaXNSZW5hbWUgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2dSZWY8YW55PixcbiAgICAgICAgcHJpdmF0ZSBmZXRjaDogRmV0Y2hcbiAgICApIHsgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaXNSZW5hbWUgPSB0aGlzLm5hbWUubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICBvblNhdmUoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzUmVuYW1lKSB7XG4gICAgICAgICAgICBjb25zdCB1cmwgPSB0aGlzLmNvbmZpZy5hcGlTZXR0aW5ncy5yZW5hbWVFbnRyeVVybFRlbXBsYXRlXG4gICAgICAgICAgICAgICAgPyB0aGlzLmNvbmZpZy5hcGlTZXR0aW5ncy5yZW5hbWVFbnRyeVVybFRlbXBsYXRlKHRoaXMucGF0aCArIHRoaXMubmFtZSlcbiAgICAgICAgICAgICAgICA6IHRoaXMuY29uZmlnLmFwaVNldHRpbmdzLnJlbmFtZUVudHJ5VXJsO1xuXG4gICAgICAgICAgICB0aGlzLmZldGNoLnBvc3QodXJsLCB7IHBhdGg6IHRoaXMucGF0aCArICcvJyArIHRoaXMubmFtZSB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IHRoaXMuY29uZmlnLmFwaVNldHRpbmdzLmNyZWF0ZURpcmVjdG9yeVVybFRlbXBsYXRlXG4gICAgICAgICAgICAgICAgPyB0aGlzLmNvbmZpZy5hcGlTZXR0aW5ncy5jcmVhdGVEaXJlY3RvcnlVcmxUZW1wbGF0ZSh0aGlzLnBhdGggKyB0aGlzLm5hbWUpXG4gICAgICAgICAgICAgICAgOiB0aGlzLmNvbmZpZy5hcGlTZXR0aW5ncy5jcmVhdGVEaXJlY3RvcnlVcmw7XG5cbiAgICAgICAgICAgIHRoaXMuZmV0Y2gucG9zdCh1cmwsIHsgcGF0aDogdGhpcy5wYXRoICsgJy8nICsgdGhpcy5uYW1lIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGlhbG9nLmNsb3NlKHRydWUpO1xuICAgIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBzdHlsZT1cIndpZHRoOiAyODBweDtcIj5cbiAgICA8bWF0LWxhYmVsPk5hbWU8L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cIm5hbWVcIiAoa2V5dXApPVwiJGV2ZW50LmtleSA9PSAnRW50ZXInICYmIG9uU2F2ZSgpXCI+XG48L21hdC1mb3JtLWZpZWxkPlxuXG48ZGl2IHN0eWxlPVwiYWxpZ24tc2VsZjogZW5kO1wiPlxuICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIChjbGljayk9XCJvblNhdmUoKVwiPjxtYXQtaWNvbj5jaGVjazwvbWF0LWljb24+T2s8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiAoY2xpY2spPVwiZGlhbG9nLmNsb3NlKClcIj48bWF0LWljb24+Y2FuY2VsPC9tYXQtaWNvbj5DYW5jZWw8L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,26 @@
1
+ export const uploadFile = (fetch, config, currentDirectory, targetPath, contextTags = {}) => new Promise(r => {
2
+ const inEl = document.createElement('input');
3
+ inEl.setAttribute('type', 'file');
4
+ inEl.setAttribute('multiple', '');
5
+ inEl.click();
6
+ let formData = new FormData();
7
+ inEl.addEventListener('change', () => {
8
+ Object.keys(inEl.files).forEach(k => {
9
+ const file = inEl.files[k];
10
+ const name = file.name;
11
+ formData.append(name, file);
12
+ });
13
+ formData.append("data", JSON.stringify({
14
+ path: currentDirectory,
15
+ ...contextTags
16
+ }));
17
+ const url = config.apiSettings.uploadEntryUrlTemplate
18
+ ? config.apiSettings.uploadEntryUrlTemplate(targetPath ?? currentDirectory)
19
+ : config.apiSettings.uploadEntryUrl;
20
+ r(fetch.post(url, formData).then(res => {
21
+ inEl.remove();
22
+ return res;
23
+ }));
24
+ });
25
+ });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9maWxlbWFuYWdlci9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUN0QixLQUFZLEVBQ1osTUFBbUMsRUFDbkMsZ0JBQXdCLEVBQ3hCLFVBQW1CLEVBQ25CLGNBQTBDLEVBQUUsRUFDOUMsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO0lBRWpCLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBRWIsSUFBSSxRQUFRLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztJQUU5QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtRQUNqQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDaEMsTUFBTSxJQUFJLEdBTU4sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVsQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQVcsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNuQyxJQUFJLEVBQUUsZ0JBQWdCO1lBQ3RCLEdBQUcsV0FBVztTQUNqQixDQUFDLENBQUMsQ0FBQztRQUVKLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsc0JBQXNCO1lBQ2pELENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLHNCQUFzQixDQUFDLFVBQVUsSUFBSSxnQkFBZ0IsQ0FBQztZQUMzRSxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUM7UUFFeEMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNuQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDZCxPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmV0Y2ggfSBmcm9tICdAZG90Z2xpdGNoL25neC1jb21tb24vY29yZSc7XG5pbXBvcnQgeyBOZ3hGaWxlTWFuYWdlckNvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2ZpbGVtYW5hZ2VyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCB1cGxvYWRGaWxlID0gKFxuICAgIGZldGNoOiBGZXRjaCxcbiAgICBjb25maWc6IE5neEZpbGVNYW5hZ2VyQ29uZmlndXJhdGlvbixcbiAgICBjdXJyZW50RGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgdGFyZ2V0UGF0aD86IHN0cmluZyxcbiAgICBjb250ZXh0VGFnczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmc7IH0gPSB7fVxuKSA9PiBuZXcgUHJvbWlzZShyID0+IHtcblxuICAgIGNvbnN0IGluRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgIGluRWwuc2V0QXR0cmlidXRlKCd0eXBlJywgJ2ZpbGUnKTtcbiAgICBpbkVsLnNldEF0dHJpYnV0ZSgnbXVsdGlwbGUnLCAnJyk7XG4gICAgaW5FbC5jbGljaygpO1xuXG4gICAgbGV0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG5cbiAgICBpbkVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsICgpID0+IHtcbiAgICAgICAgT2JqZWN0LmtleXMoaW5FbC5maWxlcykuZm9yRWFjaChrID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGU6IHtcbiAgICAgICAgICAgICAgICBsYXN0TW9kaWZpZWQ6IG51bWJlcixcbiAgICAgICAgICAgICAgICBsYXN0TW9kaWZpZWREYXRlOiBEYXRlLFxuICAgICAgICAgICAgICAgIG5hbWU6IHN0cmluZyxcbiAgICAgICAgICAgICAgICBzaXplOiBudW1iZXIsXG4gICAgICAgICAgICAgICAgdHlwZTogc3RyaW5nO1xuICAgICAgICAgICAgfSA9IGluRWwuZmlsZXNba107XG5cbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBmaWxlLm5hbWU7XG4gICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQobmFtZSwgZmlsZSBhcyBhbnkpO1xuICAgICAgICB9KTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKFwiZGF0YVwiLCBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBwYXRoOiBjdXJyZW50RGlyZWN0b3J5LFxuICAgICAgICAgICAgLi4uY29udGV4dFRhZ3NcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIGNvbnN0IHVybCA9IGNvbmZpZy5hcGlTZXR0aW5ncy51cGxvYWRFbnRyeVVybFRlbXBsYXRlXG4gICAgICAgICAgICA/IGNvbmZpZy5hcGlTZXR0aW5ncy51cGxvYWRFbnRyeVVybFRlbXBsYXRlKHRhcmdldFBhdGggPz8gY3VycmVudERpcmVjdG9yeSlcbiAgICAgICAgICAgIDogY29uZmlnLmFwaVNldHRpbmdzLnVwbG9hZEVudHJ5VXJsO1xuXG4gICAgICAgIHIoZmV0Y2gucG9zdCh1cmwsIGZvcm1EYXRhKS50aGVuKHJlcyA9PiB7XG4gICAgICAgICAgICBpbkVsLnJlbW92ZSgpO1xuICAgICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgfSkpO1xuICAgIH0pO1xufSk7XG5cbiJdfQ==
@@ -0,0 +1,155 @@
1
+ import * as MIT from './mat-icons';
2
+ import textExtensions from './textextensions';
3
+ // Object.keys(MIT).forEach(k => {
4
+ // console.log(k, MIT[k])
5
+ // })
6
+ const symIcon = Symbol('icon');
7
+ const folderNames = MIT['default'].folderNames;
8
+ const fileNames = MIT['default'].fileNames;
9
+ const fileExtensions = MIT['default'].fileExtensions;
10
+ let folderIconNameList = [];
11
+ let fileIconNameList = [];
12
+ let fileIconExtensionList = [];
13
+ Object.entries(fileNames).forEach(([name, icon]) => {
14
+ fileIconNameList.push({
15
+ val: name,
16
+ iconName: icon
17
+ });
18
+ });
19
+ Object.entries(fileExtensions).forEach(([name, icon]) => {
20
+ fileIconExtensionList.push({
21
+ val: name,
22
+ iconName: icon
23
+ });
24
+ });
25
+ Object.entries(folderNames).forEach(([name, icon]) => {
26
+ folderIconNameList.push({
27
+ val: name,
28
+ iconName: icon,
29
+ });
30
+ });
31
+ // const getMimeType = (name: string) =>
32
+ // (/\.(appimage)$/.test(name) && "compressed") ||
33
+ // (/\.(pot|potx|pps|ppsx|ppt|pptm|pptx)$/.test(name) && "presentation") ||
34
+ // (/\.(odt|rtf|doc|docm|docx|dot|dotm|dotx)$/.test(name) && "richtext") ||
35
+ // (/\.(ods|xls|xlsm|xlsx|xps|xlsx|csv)$/.test(name) && "spreadsheet");
36
+ // Limited list of pop-icons that match before mat-icons
37
+ // const builtinIcons = [
38
+ // "7z",
39
+ // "apk",
40
+ // "arc",
41
+ // "bz",
42
+ // "deb",
43
+ // "gz",
44
+ // "pdf",
45
+ // "rar",
46
+ // "rpm",
47
+ // "tar",
48
+ // "xar",
49
+ // "xz",
50
+ // "zip"
51
+ // ];
52
+ export class IconResolver {
53
+ constructor(assetPath = "/assets/") {
54
+ let path = assetPath.trim();
55
+ // Replace any duplicate slash occurences
56
+ path = path.replace(/\/{2,99}/g, '\/');
57
+ // Trim off trailing slashes
58
+ if (path.endsWith('/'))
59
+ path = path.replace(/\/+$/, '');
60
+ // Ensure it starts with a slash.
61
+ if (!path.startsWith('/'))
62
+ path = '/' + path;
63
+ this.path = path;
64
+ }
65
+ isText(path) {
66
+ const ext = path.split('.').pop();
67
+ return textExtensions.includes(ext);
68
+ }
69
+ getBestMatch(data, filename) {
70
+ return data
71
+ .filter(d => filename.endsWith(d.val)) // filter to all match results
72
+ .sort((a, b) => b.val.length - a.val.length) // sort longest string first
73
+ [0]?.iconName; // Return the first result.
74
+ }
75
+ resolveDirIcon(file) {
76
+ if (!file.name && !file.path) {
77
+ return {
78
+ path: `${this.path}/material/folder.svg`,
79
+ needsBackdrop: false
80
+ };
81
+ }
82
+ const dirnameMatch = this.getBestMatch(folderIconNameList, file['vanityName'] || file.name || file.path);
83
+ // VS Code Material Icon Theme pack
84
+ // TODO: default to a clear icon that doesn't have decoration
85
+ return {
86
+ path: dirnameMatch ? `${this.path}/material/${dirnameMatch}.svg` : `${this.path}/material/folder.svg`,
87
+ needsBackdrop: false
88
+ };
89
+ }
90
+ resolveFileIcon(file) {
91
+ // Folders always use the material-icon-theme
92
+ // const baseExt = builtinIcons.find(ext => (file['vanityName'] || file.name).endsWith('.' + ext));
93
+ // if (baseExt) {
94
+ // return {
95
+ // path: `${this.path}/pop/exts/${baseExt}.svg`,
96
+ // needsBackdrop: false
97
+ // };
98
+ // }
99
+ // // Resolve a base MIME type via path extension
100
+ // const base2Ext = getMimeType((file['vanityName'] || file.name));
101
+ // // If we get a path extension, we can easily map the icon
102
+ // if (base2Ext) {
103
+ // return {
104
+ // path: `${this.path}/pop/${base2Ext}.svg`,
105
+ // needsBackdrop: false
106
+ // };
107
+ // }
108
+ // Lookup a filename from material-icon-theme
109
+ const filename = fileIconNameList
110
+ .filter(d => (file['vanityName'] || file.name).toLowerCase() == d.val.toLowerCase())
111
+ .sort((a, b) => b.val.length - a.val.length)[0]?.iconName;
112
+ if (filename) {
113
+ return {
114
+ path: `${this.path}/material/${filename}.svg`,
115
+ needsBackdrop: true
116
+ };
117
+ }
118
+ // foo.log.1 foo.log.123 should be treated clearly as log files.
119
+ if (/\.log\.\d+$/.test(filename)) {
120
+ return {
121
+ path: `${this.path}/material/log.svg`,
122
+ needsBackdrop: true
123
+ };
124
+ }
125
+ // Check the file's extension -- we may
126
+ const fileext = fileIconExtensionList
127
+ .filter(d => (file['vanityName'] || file.name).toLowerCase().endsWith('.' + d.val.toLowerCase()))
128
+ .sort((a, b) => b.val.length - a.val.length)[0]?.iconName;
129
+ if (fileext)
130
+ return {
131
+ path: `${this.path}/material/${fileext}.svg`,
132
+ needsBackdrop: true
133
+ };
134
+ // If the file doesn't have a text extension, we're going to assume it's binary data.
135
+ const isFileBinary = !this.isText(file.path);
136
+ return {
137
+ path: isFileBinary ? `${this.path}/material/document.svg` : `${this.path}/material/assembly.svg`,
138
+ // path: isFileBinary ? `${this.path}/pop/text.svg` : `${this.path}/pop/binary.svg`,
139
+ needsBackdrop: false
140
+ };
141
+ }
142
+ // TODO: resolve dynamic thumbnails for media documents
143
+ resolveIcon(file) {
144
+ if (!file)
145
+ return null;
146
+ if (file[symIcon])
147
+ return file[symIcon];
148
+ if (file.kind == "directory") {
149
+ return file[symIcon] = this.resolveDirIcon(file);
150
+ }
151
+ return file[symIcon] = this.resolveFileIcon(file);
152
+ }
153
+ ;
154
+ }
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9maWxlbWFuYWdlci9pY29uLXJlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxHQUFHLE1BQU0sYUFBYSxDQUFDO0FBQ25DLE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFDO0FBRTlDLGtDQUFrQztBQUNsQyw2QkFBNkI7QUFDN0IsS0FBSztBQUVMLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUUvQixNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBVyxDQUFDO0FBQy9DLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDM0MsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztBQUVyRCxJQUFJLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztBQUM1QixJQUFJLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztBQUMxQixJQUFJLHFCQUFxQixHQUFHLEVBQUUsQ0FBQztBQUUvQixNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7SUFDL0MsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO1FBQ2xCLEdBQUcsRUFBRSxJQUFJO1FBQ1QsUUFBUSxFQUFFLElBQUk7S0FDakIsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUM7QUFDSCxNQUFNLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7SUFDcEQscUJBQXFCLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLEdBQUcsRUFBRSxJQUFJO1FB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QUMzQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFBQSxDQUFDO0NBQ0wiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGU0Rlc2NyaXB0b3IgfSBmcm9tICcuL2ZpbGVtYW5hZ2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBNSVQgZnJvbSAnLi9tYXQtaWNvbnMnO1xuaW1wb3J0IHRleHRFeHRlbnNpb25zIGZyb20gJy4vdGV4dGV4dGVuc2lvbnMnO1xuXG4vLyBPYmplY3Qua2V5cyhNSVQpLmZvckVhY2goayA9PiB7XG4vLyAgICAgY29uc29sZS5sb2coaywgTUlUW2tdKVxuLy8gfSlcblxuY29uc3Qgc3ltSWNvbiA9IFN5bWJvbCgnaWNvbicpO1xuXG5jb25zdCBmb2xkZXJOYW1lcyA9IE1JVFsnZGVmYXVsdCddLmZvbGRlck5hbWVzO1xuY29uc3QgZmlsZU5hbWVzID0gTUlUWydkZWZhdWx0J10uZmlsZU5hbWVzO1xuY29uc3QgZmlsZUV4dGVuc2lvbnMgPSBNSVRbJ2RlZmF1bHQnXS5maWxlRXh0ZW5zaW9ucztcblxubGV0IGZvbGRlckljb25OYW1lTGlzdCA9IFtdO1xubGV0IGZpbGVJY29uTmFtZUxpc3QgPSBbXTtcbmxldCBmaWxlSWNvbkV4dGVuc2lvbkxpc3QgPSBbXTtcblxuT2JqZWN0LmVudHJpZXMoZmlsZU5hbWVzKS5mb3JFYWNoKChbbmFtZSwgaWNvbl0pID0+IHtcbiAgICBmaWxlSWNvbk5hbWVMaXN0LnB1c2goe1xuICAgICAgICB2YWw6IG5hbWUsXG4gICAgICAgIGljb25OYW1lOiBpY29uXG4gICAgfSk7XG59KTtcbk9iamVjdC5lbnRyaWVzKGZpbGVFeHRlbnNpb25zKS5mb3JFYWNoKChbbmFtZSwgaWNvbl0pID0+IHtcbiAgICBmaWxlSWNvbkV4dGVuc2lvbkxpc3QucHVzaCh7XG4gICAgICAgIHZhbDogbmFtZSxcbiAgICAgICAgaWNvbk5hbWU6IGljb25cbiAgICB9KTtcbn0pO1xuXG5PYmplY3QuZW50cmllcyhmb2xkZXJOYW1lcykuZm9yRWFjaCgoW25hbWUsIGljb25dKSA9PiB7XG4gICAgZm9sZGVySWNvbk5hbWVMaXN0LnB1c2goe1xuICAgICAgICB2YWw6IG5hbWUsXG4gICAgICAgIGljb25OYW1lOiBpY29uLFxuICAgIH0pO1xufSk7XG5cbi8vIGNvbnN0IGdldE1pbWVUeXBlID0gKG5hbWU6IHN0cmluZykgPT5cbi8vICAgICAoL1xcLihhcHBpbWFnZSkkLy50ZXN0KG5hbWUpICYmIFwiY29tcHJlc3NlZFwiKSB8fFxuLy8gICAgICgvXFwuKHBvdHxwb3R4fHBwc3xwcHN4fHBwdHxwcHRtfHBwdHgpJC8udGVzdChuYW1lKSAmJiBcInByZXNlbnRhdGlvblwiKSB8fFxuLy8gICAgICgvXFwuKG9kdHxydGZ8ZG9jfGRvY218ZG9jeHxkb3R8ZG90bXxkb3R4KSQvLnRlc3QobmFtZSkgJiYgXCJyaWNodGV4dFwiKSB8fFxuLy8gICAgICgvXFwuKG9kc3x4bHN8eGxzbXx4bHN4fHhwc3x4bHN4fGNzdikkLy50ZXN0KG5hbWUpICYmIFwic3ByZWFkc2hlZXRcIik7XG5cblxuLy8gTGltaXRlZCBsaXN0IG9mIHBvcC1pY29ucyB0aGF0IG1hdGNoIGJlZm9yZSBtYXQtaWNvbnNcbi8vIGNvbnN0IGJ1aWx0aW5JY29ucyA9IFtcbi8vICAgICBcIjd6XCIsXG4vLyAgICAgXCJhcGtcIixcbi8vICAgICBcImFyY1wiLFxuLy8gICAgIFwiYnpcIixcbi8vICAgICBcImRlYlwiLFxuLy8gICAgIFwiZ3pcIixcbi8vICAgICBcInBkZlwiLFxuLy8gICAgIFwicmFyXCIsXG4vLyAgICAgXCJycG1cIixcbi8vICAgICBcInRhclwiLFxuLy8gICAgIFwieGFyXCIsXG4vLyAgICAgXCJ4elwiLFxuLy8gICAgIFwiemlwXCJcbi8vIF07XG5cbmV4cG9ydCBjbGFzcyBJY29uUmVzb2x2ZXIge1xuICAgIHB1YmxpYyBwYXRoOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3Rvcihhc3NldFBhdGggPSBcIi9hc3NldHMvXCIpIHtcbiAgICAgICAgbGV0IHBhdGggPSBhc3NldFBhdGgudHJpbSgpO1xuXG4gICAgICAgIC8vIFJlcGxhY2UgYW55IGR1cGxpY2F0ZSBzbGFzaCBvY2N1cmVuY2VzXG4gICAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoL1xcL3syLDk5fS9nLCAnXFwvJyk7XG5cbiAgICAgICAgLy8gVHJpbSBvZmYgdHJhaWxpbmcgc2xhc2hlc1xuICAgICAgICBpZiAocGF0aC5lbmRzV2l0aCgnLycpKVxuICAgICAgICAgICAgcGF0aCA9IHBhdGgucmVwbGFjZSgvXFwvKyQvLCAnJyk7XG5cbiAgICAgICAgLy8gRW5zdXJlIGl0IHN0YXJ0cyB3aXRoIGEgc2xhc2guXG4gICAgICAgIGlmICghcGF0aC5zdGFydHNXaXRoKCcvJykpXG4gICAgICAgICAgICBwYXRoID0gJy8nICsgcGF0aDtcblxuICAgICAgICB0aGlzLnBhdGggPSBwYXRoO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNUZXh0KHBhdGg6IHN0cmluZykge1xuICAgICAgICBjb25zdCBleHQgPSBwYXRoLnNwbGl0KCcuJykucG9wKCk7XG4gICAgICAgIHJldHVybiB0ZXh0RXh0ZW5zaW9ucy5pbmNsdWRlcyhleHQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QmVzdE1hdGNoKGRhdGE6IHsgdmFsOiBzdHJpbmcsIGljb25OYW1lOiBzdHJpbmc7IH1bXSwgZmlsZW5hbWUpIHtcbiAgICAgICAgcmV0dXJuIGRhdGFcbiAgICAgICAgICAgIC5maWx0ZXIoZCA9PiBmaWxlbmFtZS5lbmRzV2l0aChkLnZhbCkpIC8vIGZpbHRlciB0byBhbGwgbWF0Y2ggcmVzdWx0c1xuICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGIudmFsLmxlbmd0aCAtIGEudmFsLmxlbmd0aCkgLy8gc29ydCBsb25nZXN0IHN0cmluZyBmaXJzdFxuICAgICAgICBbMF0/Lmljb25OYW1lOyAvLyBSZXR1cm4gdGhlIGZpcnN0IHJlc3VsdC5cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc29sdmVEaXJJY29uKGZpbGU6IEZTRGVzY3JpcHRvcikge1xuICAgICAgICBpZiAoIWZpbGUubmFtZSAmJiAhZmlsZS5wYXRoKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHBhdGg6IGAke3RoaXMucGF0aH0vbWF0ZXJpYWwvZm9sZGVyLnN2Z2AsXG4gICAgICAgICAgICAgICAgbmVlZHNCYWNrZHJvcDogZmFsc2VcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkaXJuYW1lTWF0Y2ggPSB0aGlzLmdldEJlc3RNYXRjaChmb2xkZXJJY29uTmFtZUxpc3QsIGZpbGVbJ3Zhbml0eU5hbWUnXSB8fCBmaWxlLm5hbWUgfHwgZmlsZS5wYXRoKTtcbiAgICAgICAgLy8gVlMgQ29kZSBNYXRlcmlhbCBJY29uIFRoZW1lIHBhY2tcblxuICAgICAgICAvLyBUT0RPOiBkZWZhdWx0IHRvIGEgY2xlYXIgaWNvbiB0aGF0IGRvZXNuJ3QgaGF2ZSBkZWNvcmF0aW9uXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwYXRoOiBkaXJuYW1lTWF0Y2ggPyBgJHt0aGlzLnBhdGh9L21hdGVyaWFsLyR7ZGlybmFtZU1hdGNofS5zdmdgIDogYCR7dGhpcy5wYXRofS9tYXRlcmlhbC9mb2xkZXIuc3ZnYCxcbiAgICAgICAgICAgIG5lZWRzQmFja2Ryb3A6IGZhbHNlXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNvbHZlRmlsZUljb24oZmlsZTogRlNEZXNjcmlwdG9yKSB7XG4gICAgICAgIC8vIEZvbGRlcnMgYWx3YXlzIHVzZSB0aGUgbWF0ZXJpYWwtaWNvbi10aGVtZVxuXG4gICAgICAgIC8vIGNvbnN0IGJhc2VFeHQgPSBidWlsdGluSWNvbnMuZmluZChleHQgPT4gKGZpbGVbJ3Zhbml0eU5hbWUnXSB8fCBmaWxlLm5hbWUpLmVuZHNXaXRoKCcuJyArIGV4dCkpO1xuICAgICAgICAvLyBpZiAoYmFzZUV4dCkge1xuICAgICAgICAvLyAgICAgcmV0dXJuIHtcbiAgICAgICAgLy8gICAgICAgICBwYXRoOiBgJHt0aGlzLnBhdGh9L3BvcC9leHRzLyR7YmFzZUV4dH0uc3ZnYCxcbiAgICAgICAgLy8gICAgICAgICBuZWVkc0JhY2tkcm9wOiBmYWxzZVxuICAgICAgICAvLyAgICAgfTtcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIC8vIC8vIFJlc29sdmUgYSBiYXNlIE1JTUUgdHlwZSB2aWEgcGF0aCBleHRlbnNpb25cbiAgICAgICAgLy8gY29uc3QgYmFzZTJFeHQgPSBnZXRNaW1lVHlwZSgoZmlsZVsndmFuaXR5TmFtZSddIHx8IGZpbGUubmFtZSkpO1xuXG4gICAgICAgIC8vIC8vIElmIHdlIGdldCBhIHBhdGggZXh0ZW5zaW9uLCB3ZSBjYW4gZWFzaWx5IG1hcCB0aGUgaWNvblxuICAgICAgICAvLyBpZiAoYmFzZTJFeHQpIHtcbiAgICAgICAgLy8gICAgIHJldHVybiB7XG4gICAgICAgIC8vICAgICAgICAgcGF0aDogYCR7dGhpcy5wYXRofS9wb3AvJHtiYXNlMkV4dH0uc3ZnYCxcbiAgICAgICAgLy8gICAgICAgICBuZWVkc0JhY2tkcm9wOiBmYWxzZVxuICAgICAgICAvLyAgICAgfTtcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIC8vIExvb2t1cCBhIGZpbGVuYW1lIGZyb20gbWF0ZXJpYWwtaWNvbi10aGVtZVxuICAgICAgICBjb25zdCBmaWxlbmFtZSA9IGZpbGVJY29uTmFtZUxpc3RcbiAgICAgICAgICAgIC5maWx0ZXIoZCA9PiAoZmlsZVsndmFuaXR5TmFtZSddIHx8IGZpbGUubmFtZSkudG9Mb3dlckNhc2UoKSA9PSBkLnZhbC50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGIudmFsLmxlbmd0aCAtIGEudmFsLmxlbmd0aClcbiAgICAgICAgWzBdPy5pY29uTmFtZTtcblxuICAgICAgICBpZiAoZmlsZW5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcGF0aDogYCR7dGhpcy5wYXRofS9tYXRlcmlhbC8ke2ZpbGVuYW1lfS5zdmdgLFxuICAgICAgICAgICAgICAgIG5lZWRzQmFja2Ryb3A6IHRydWVcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBmb28ubG9nLjEgZm9vLmxvZy4xMjMgc2hvdWxkIGJlIHRyZWF0ZWQgY2xlYXJseSBhcyBsb2cgZmlsZXMuXG4gICAgICAgIGlmICgvXFwubG9nXFwuXFxkKyQvLnRlc3QoZmlsZW5hbWUpKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHBhdGg6IGAke3RoaXMucGF0aH0vbWF0ZXJpYWwvbG9nLnN2Z2AsXG4gICAgICAgICAgICAgICAgbmVlZHNCYWNrZHJvcDogdHJ1ZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENoZWNrIHRoZSBmaWxlJ3MgZXh0ZW5zaW9uIC0tIHdlIG1heVxuICAgICAgICBjb25zdCBmaWxlZXh0ID0gZmlsZUljb25FeHRlbnNpb25MaXN0XG4gICAgICAgICAgICAuZmlsdGVyKGQgPT4gKGZpbGVbJ3Zhbml0eU5hbWUnXSB8fCBmaWxlLm5hbWUpLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoJy4nICsgZC52YWwudG9Mb3dlckNhc2UoKSkpXG4gICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gYi52YWwubGVuZ3RoIC0gYS52YWwubGVuZ3RoKVxuICAgICAgICBbMF0/Lmljb25OYW1lO1xuXG4gICAgICAgIGlmIChmaWxlZXh0KSByZXR1cm4ge1xuICAgICAgICAgICAgcGF0aDogYCR7dGhpcy5wYXRofS9tYXRlcmlhbC8ke2ZpbGVleHR9LnN2Z2AsXG4gICAgICAgICAgICBuZWVkc0JhY2tkcm9wOiB0cnVlXG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gSWYgdGhlIGZpbGUgZG9lc24ndCBoYXZlIGEgdGV4dCBleHRlbnNpb24sIHdlJ3JlIGdvaW5nIHRvIGFzc3VtZSBpdCdzIGJpbmFyeSBkYXRhLlxuICAgICAgICBjb25zdCBpc0ZpbGVCaW5hcnkgPSAhdGhpcy5pc1RleHQoZmlsZS5wYXRoKTtcblxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwYXRoOiBpc0ZpbGVCaW5hcnkgPyBgJHt0aGlzLnBhdGh9L21hdGVyaWFsL2RvY3VtZW50LnN2Z2AgOiBgJHt0aGlzLnBhdGh9L21hdGVyaWFsL2Fzc2VtYmx5LnN2Z2AsXG4gICAgICAgICAgICAvLyBwYXRoOiBpc0ZpbGVCaW5hcnkgPyBgJHt0aGlzLnBhdGh9L3BvcC90ZXh0LnN2Z2AgOiBgJHt0aGlzLnBhdGh9L3BvcC9iaW5hcnkuc3ZnYCxcbiAgICAgICAgICAgIG5lZWRzQmFja2Ryb3A6IGZhbHNlXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gVE9ETzogcmVzb2x2ZSBkeW5hbWljIHRodW1ibmFpbHMgZm9yIG1lZGlhIGRvY3VtZW50c1xuICAgIHJlc29sdmVJY29uKGZpbGU6IEZTRGVzY3JpcHRvcik6IHsgcGF0aDogc3RyaW5nLCBuZWVkc0JhY2tkcm9wOiBib29sZWFuOyB9IHtcbiAgICAgICAgaWYgKCFmaWxlKSByZXR1cm4gbnVsbDtcbiAgICAgICAgaWYgKGZpbGVbc3ltSWNvbl0pIHJldHVybiBmaWxlW3N5bUljb25dO1xuXG4gICAgICAgIGlmIChmaWxlLmtpbmQgPT0gXCJkaXJlY3RvcnlcIikge1xuICAgICAgICAgICAgcmV0dXJuIGZpbGVbc3ltSWNvbl0gPSB0aGlzLnJlc29sdmVEaXJJY29uKGZpbGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZpbGVbc3ltSWNvbl0gPSB0aGlzLnJlc29sdmVGaWxlSWNvbihmaWxlKTtcbiAgICB9O1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './filemanager.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vZmlsZW1hbmFnZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmlsZW1hbmFnZXIuY29tcG9uZW50JztcbiJdfQ==