@openziti/ziti-console-lib 0.12.8 → 0.12.10

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 (101) hide show
  1. package/assets/components/tabIdentities.html +0 -1
  2. package/assets/components/tabServices.html +1 -0
  3. package/assets/fonts/icomoon.eot +0 -0
  4. package/assets/fonts/icomoon.svg +3 -0
  5. package/assets/fonts/icomoon.ttf +0 -0
  6. package/assets/fonts/icomoon.woff +0 -0
  7. package/assets/fonts/icomoon.woff2 +0 -0
  8. package/assets/styles/global.scss +102 -0
  9. package/assets/styles/icons.css +4 -1
  10. package/esm2022/lib/features/card-list/card-list.component.mjs +6 -3
  11. package/esm2022/lib/features/creation-summary-dialog/creation-summary-dialog.component.mjs +5 -3
  12. package/esm2022/lib/features/custom-tags/custom-tags.component.mjs +56 -24
  13. package/esm2022/lib/features/data-table/cells/table-cell-select/table-cell-select.component.mjs +18 -5
  14. package/esm2022/lib/features/data-table/data-table.component.mjs +5 -3
  15. package/esm2022/lib/features/multi-action-button/multi-action-button.component.mjs +3 -3
  16. package/esm2022/lib/features/preview-list/preview-list.component.mjs +13 -3
  17. package/esm2022/lib/features/preview-selections/preview-selections.component.mjs +1 -1
  18. package/esm2022/lib/features/projectable-forms/api-session/api-session-form.component.mjs +1 -1
  19. package/esm2022/lib/features/projectable-forms/auth-policy/auth-policy-form.component.mjs +1 -1
  20. package/esm2022/lib/features/projectable-forms/certificate-authority/certificate-authority-form.component.mjs +1 -1
  21. package/esm2022/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.component.mjs +1 -1
  22. package/esm2022/lib/features/projectable-forms/config-type/config-type-form.component.mjs +1 -1
  23. package/esm2022/lib/features/projectable-forms/configuration/configuration-form.component.mjs +1 -1
  24. package/esm2022/lib/features/projectable-forms/edge-router/edge-router-form.component.mjs +1 -1
  25. package/esm2022/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.mjs +1 -1
  26. package/esm2022/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.service.mjs +3 -1
  27. package/esm2022/lib/features/projectable-forms/form-header/form-header.component.mjs +25 -4
  28. package/esm2022/lib/features/projectable-forms/identity/identity-form.component.mjs +120 -23
  29. package/esm2022/lib/features/projectable-forms/jwt-signer/jwt-signer-form.component.mjs +1 -1
  30. package/esm2022/lib/features/projectable-forms/posture-check/posture-check-form.component.mjs +1 -1
  31. package/esm2022/lib/features/projectable-forms/projectable-form.class.mjs +4 -1
  32. package/esm2022/lib/features/projectable-forms/service/service-form.component.mjs +17 -4
  33. package/esm2022/lib/features/projectable-forms/service/service-form.service.mjs +51 -12
  34. package/esm2022/lib/features/projectable-forms/service/simple-service/simple-service.component.mjs +316 -112
  35. package/esm2022/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.component.mjs +1 -1
  36. package/esm2022/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.service.mjs +3 -1
  37. package/esm2022/lib/features/projectable-forms/service-policy/service-policy-form.component.mjs +1 -1
  38. package/esm2022/lib/features/projectable-forms/service-policy/service-policy-form.service.mjs +4 -2
  39. package/esm2022/lib/features/projectable-forms/session/session-form.component.mjs +3 -3
  40. package/esm2022/lib/features/projectable-forms/terminator/terminator-form.component.mjs +1 -1
  41. package/esm2022/lib/features/projectable-forms/transit-router/transit-router-form.component.mjs +1 -1
  42. package/esm2022/lib/features/reset-enrollment/reset-enrollment.component.mjs +3 -3
  43. package/esm2022/lib/pages/edge-router-policies/edge-router-policies-page.component.mjs +6 -1
  44. package/esm2022/lib/pages/identities/identities-page.component.mjs +3 -9
  45. package/esm2022/lib/pages/identities/identities-page.service.mjs +50 -1
  46. package/esm2022/lib/pages/services/services-page.component.mjs +2 -13
  47. package/esm2022/lib/pages/services/services-page.service.mjs +35 -2
  48. package/esm2022/lib/pages/terminators/terminators-page.component.mjs +7 -5
  49. package/esm2022/lib/services/ziti-controller-data.service.mjs +4 -4
  50. package/esm2022/lib/services/ziti-data.service.mjs +1 -1
  51. package/esm2022/lib/shared/list-page-component.class.mjs +4 -1
  52. package/esm2022/lib/shared/list-page-service.class.mjs +5 -2
  53. package/esm2022/lib/urls.mjs +34 -0
  54. package/esm2022/lib/version.mjs +2 -2
  55. package/fesm2022/openziti-ziti-console-lib.mjs +780 -236
  56. package/fesm2022/openziti-ziti-console-lib.mjs.map +1 -1
  57. package/lib/features/card-list/card-list.component.d.ts +1 -0
  58. package/lib/features/card-list/card-list.component.d.ts.map +1 -1
  59. package/lib/features/creation-summary-dialog/creation-summary-dialog.component.d.ts +1 -0
  60. package/lib/features/creation-summary-dialog/creation-summary-dialog.component.d.ts.map +1 -1
  61. package/lib/features/custom-tags/custom-tags.component.d.ts +19 -3
  62. package/lib/features/custom-tags/custom-tags.component.d.ts.map +1 -1
  63. package/lib/features/data-table/cells/table-cell-select/table-cell-select.component.d.ts +2 -6
  64. package/lib/features/data-table/cells/table-cell-select/table-cell-select.component.d.ts.map +1 -1
  65. package/lib/features/data-table/data-table.component.d.ts +1 -0
  66. package/lib/features/data-table/data-table.component.d.ts.map +1 -1
  67. package/lib/features/preview-list/preview-list.component.d.ts +3 -1
  68. package/lib/features/preview-list/preview-list.component.d.ts.map +1 -1
  69. package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.service.d.ts.map +1 -1
  70. package/lib/features/projectable-forms/form-header/form-header.component.d.ts +14 -3
  71. package/lib/features/projectable-forms/form-header/form-header.component.d.ts.map +1 -1
  72. package/lib/features/projectable-forms/identity/identity-form.component.d.ts +14 -1
  73. package/lib/features/projectable-forms/identity/identity-form.component.d.ts.map +1 -1
  74. package/lib/features/projectable-forms/projectable-form.class.d.ts +1 -0
  75. package/lib/features/projectable-forms/projectable-form.class.d.ts.map +1 -1
  76. package/lib/features/projectable-forms/service/service-form.component.d.ts +1 -0
  77. package/lib/features/projectable-forms/service/service-form.component.d.ts.map +1 -1
  78. package/lib/features/projectable-forms/service/service-form.service.d.ts +9 -3
  79. package/lib/features/projectable-forms/service/service-form.service.d.ts.map +1 -1
  80. package/lib/features/projectable-forms/service/simple-service/simple-service.component.d.ts +25 -6
  81. package/lib/features/projectable-forms/service/simple-service/simple-service.component.d.ts.map +1 -1
  82. package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.service.d.ts.map +1 -1
  83. package/lib/features/projectable-forms/service-policy/service-policy-form.service.d.ts.map +1 -1
  84. package/lib/pages/edge-router-policies/edge-router-policies-page.component.d.ts.map +1 -1
  85. package/lib/pages/identities/identities-page.component.d.ts +0 -2
  86. package/lib/pages/identities/identities-page.component.d.ts.map +1 -1
  87. package/lib/pages/identities/identities-page.service.d.ts +3 -0
  88. package/lib/pages/identities/identities-page.service.d.ts.map +1 -1
  89. package/lib/pages/services/services-page.component.d.ts +0 -3
  90. package/lib/pages/services/services-page.component.d.ts.map +1 -1
  91. package/lib/pages/services/services-page.service.d.ts +2 -0
  92. package/lib/pages/services/services-page.service.d.ts.map +1 -1
  93. package/lib/services/ziti-controller-data.service.d.ts +1 -1
  94. package/lib/services/ziti-controller-data.service.d.ts.map +1 -1
  95. package/lib/services/ziti-data.service.d.ts +1 -1
  96. package/lib/services/ziti-data.service.d.ts.map +1 -1
  97. package/lib/shared/list-page-component.class.d.ts.map +1 -1
  98. package/lib/shared/list-page-service.class.d.ts.map +1 -1
  99. package/lib/urls.d.ts +34 -0
  100. package/lib/urls.d.ts.map +1 -0
  101. package/package.json +1 -1
@@ -1,6 +1,5 @@
1
1
  <div class="tabs">
2
2
  <div class="tab" data-go="/identities" data-i18n="Identities"></div>
3
3
  <div class="tab" data-go="/recipes" data-i18n="Recipes"></div>
4
- <div class="tab" data-go="/terminators" data-i18n="Terminators"></div>
5
4
  <div class="tab" data-go="/posture-checks" data-i18n="PostureChecks"></div>
6
5
  </div>
@@ -1,5 +1,6 @@
1
1
  <div class="tabs">
2
2
  <div class="tab" data-go="/services" data-i18n="Services"></div>
3
+ <div class="tab" data-go="/terminators" data-i18n="Terminators"></div>
3
4
  <div class="tab" data-go="/configs" data-i18n="Configurations"></div>
4
5
  <div class="tab" data-go="/config-types" data-i18n="ConfigTypes"></div>
5
6
  </div>
Binary file
@@ -128,6 +128,9 @@
128
128
  <glyph unicode="&#xe976;" glyph-name="ziti-fw" horiz-adv-x="935" d="M464.982-62.22c-21.225 0-38.205 4.25-55.184 8.5l-46.695 16.999c-212.248 76.496-360.821 280.487-360.821 505.726v327.235c-4.245 33.998 16.98 67.997 46.695 80.746 135.839 55.247 271.677 80.746 416.006 80.746s280.167-25.499 416.006-80.746c29.715-12.749 50.939-46.748 50.939-80.746v-322.985c-4.245-229.489-148.574-433.48-365.066-505.726l-46.695-16.999c-16.98-8.5-33.96-12.749-55.184-12.749zM40.486 796.24v-322.985c4.245-208.24 135.839-399.481 335.352-467.478l46.695-16.999c25.47-8.5 55.184-8.5 84.899 0l46.695 16.999c199.513 67.997 331.107 259.238 335.352 467.478v322.985c0 16.999-8.49 33.998-25.47 38.248-127.349 55.247-263.187 80.746-399.026 80.746s-271.677-25.499-399.026-76.496c-16.98-8.5-25.47-25.499-25.47-42.498zM464.982 192.768c-165.553 4.25-297.147 140.243-297.147 301.736 0 157.243 127.349 288.986 284.412 293.236 4.245 0 8.49 0 12.735 0 161.308 0 292.902-131.744 297.147-293.236v-4.25c0-161.492-131.594-297.486-297.147-297.486zM469.227 745.242c-4.245 0-8.49 0-12.735 0-135.839-4.25-246.208-114.745-246.208-250.738 0-140.243 114.614-259.238 254.697-259.238s254.697 114.745 254.697 254.988v0 4.25c0 135.994-114.614 250.738-250.453 250.738zM762.129 490.254v0 0zM452.247 197.018c-8.49 0-12.735 0-16.98 4.25-67.919 89.246-101.879 178.492-110.369 267.737h-135.839c-12.735 0-12.735 8.5-12.735 21.249s0 21.249 12.735 21.249h135.839c0 97.745 38.205 191.241 114.614 267.737 4.245 8.5 16.98 8.5 25.47 4.25 8.49 4.25 21.225 4.25 29.715-4.25 72.164-80.746 110.369-174.242 114.614-267.737h135.839c12.735 0 8.49-8.5 8.49-21.249s4.245-21.249-8.49-21.249h-135.839c-8.49-89.246-42.45-178.492-110.369-267.737-8.49 0-12.735-4.25-29.715-4.25-8.49-4.25-12.735 0-16.98 0zM367.348 469.005c8.49-76.496 38.205-157.243 97.634-233.739 59.429 76.496 89.144 157.243 97.634 233.739h-195.268zM367.348 511.503h199.513c0 84.996-33.96 165.742-97.634 237.989-67.919-72.247-101.879-152.993-101.879-237.989z" />
129
129
  <glyph unicode="&#xe977;" glyph-name="interface-icon" horiz-adv-x="892" d="M459.466 304.837l-29.712-0.133-0.316-137.242-196.482-0.638c-9.216 0-18.427-8.316-18.427-16.629v-36.029h-193.5c-9.216 0-18.428-8.316-18.428-16.628s9.215-16.629 18.428-16.629h193.5v-24.949c0-8.316 9.214-16.629 18.427-16.629h423.857c9.216 0 18.428 8.316 18.428 16.629v24.949h196.569c9.216 0 18.429 8.316 18.429 16.629s-9.216 16.628-18.429 16.628h-196.569v36.029c0 8.316-9.215 16.629-18.428 16.629l-197.331-0.242-0.016 138.255zM786.236 392.445h-670.492c-6.327 0-12.653 6.272-12.653 12.545v437.014c0 6.273 6.325 12.546 12.653 12.546 6.324 0 12.649-6.273 12.649-12.546v-424.469h657.843c6.326 0 12.653-6.272 12.653-12.545s-6.327-12.545-12.653-12.545zM786.236 394.534c-6.33 0-12.657 6.273-12.657 12.547v424.47h-657.836c-6.327 0-12.653 6.272-12.653 12.545s6.325 12.546 12.653 12.546h670.493c6.326 0 12.643-6.273 12.643-12.546v-437.015c0-6.274-6.317-12.547-12.643-12.547zM585.681 290.354h-280.425c-6.327 0-12.653 6.274-12.653 12.545 0 6.275 6.325 12.547 12.653 12.547h280.425c6.328 0 12.647-6.273 12.647-12.547 0-6.272-6.319-12.545-12.647-12.545zM786.236 503.267h-670.492c-6.327 0-12.653 6.272-12.653 12.545s6.325 12.546 12.653 12.546h670.492c6.326 0 12.643-6.272 12.643-12.546s-6.317-12.545-12.643-12.545zM695.574 628.725c-4.222 0-6.328 2.091-8.444 4.182l-109.633 110.822c-4.221 4.182-4.221 12.547 0 16.73 4.212 4.181 12.654 4.181 16.866 0l109.644-110.823c4.211-4.182 4.211-12.545 0-16.729-2.115-2.090-4.221-4.182-8.433-4.182zM716.652 708.182c-4.212 0-6.327 2.092-8.434 4.182l-48.493 50.185c-4.212 4.181-4.212 12.546 0 16.728 4.222 6.274 12.654 6.274 16.866 0l48.495-50.184c4.221-4.182 4.221-12.544 0-16.729-2.106-2.089-6.319-4.182-8.434-4.182zM518.215 290.354c-6.327 0-12.654 6.274-12.654 12.545l0.248 102.091c0 6.273 6.327 12.544 12.654 12.544 6.319 0 12.646-6.272 12.646-12.544l-0.248-102.091c0-6.272-6.327-12.545-12.646-12.545zM463.639 459.355c0-10.392-8.495-18.819-18.977-18.819-10.479 0-18.976 8.427-18.976 18.819 0 10.394 8.497 18.819 18.976 18.819 10.482 0 18.977-8.425 18.977-18.819zM370.618 294.536c-6.326 0-12.651 6.273-12.651 12.545l0.248 95.819c0 6.272 6.325 12.546 12.651 12.546s12.651-6.274 12.651-12.546l-0.248-95.819c0-6.272-6.325-12.545-12.651-12.545z" />
130
130
  <glyph unicode="&#xe978;" glyph-name="copy" d="M963.29 486.718c0-11.046-8.954-20-20-20s-20 8.954-20 20c0 11.046 8.954 20 20 20s20-8.954 20-20zM963.334 750.498c0 6.66-0.944 12.748-5.874 17.68l-185.946 185.946c-5.636 5.636-12.74 5.876-20.192 5.876h-427.198c-11.066 0-20.040-8.972-20.040-20.040v-179.258h-223.378c-11.066 0-20.040-8.972-20.040-20.040v-784.622c0-11.068 8.972-20.040 20.040-20.040h619.17c11.066 0 20.040 8.972 20.040 20.040v179.238h223.38c11.066 0 20.040 8.972 20.040 20.040v241.082c0 11.068-8.972 20.040-20.040 20.040-11.066 0-20.040-8.972-20.040-20.040v-221.044h-203.34v186.218h100.002c11.066 0 20.040 8.972 20.040 20.040s-8.972 20.040-20.040 20.040h-100.002v80.598h100.002c11.066 0 20.040 8.972 20.040 20.040s-8.972 20.040-20.040 20.040h-100.002v28.872c0 6.664-0.936 12.75-5.872 17.688l-34.040 34.040h139.914c11.066 0 20.040 8.972 20.040 20.040s-8.972 20.040-20.040 20.040h-179.992l-111.828 111.828c-5.64 5.64-12.74 5.868-20.194 5.868h-163.74v159.214h393.14v-165.914c0-11.068 8.972-20.040 20.040-20.040h165.912v-157.3c0-11.068 8.972-20.040 20.040-20.040 11.066 0 20.040 8.972 20.040 20.040v173.83zM533.966 692.286l117.526-117.528h-117.526zM679.836 534.68v-558.602h-579.092v744.548h393.142v-165.906c0-11.068 8.972-20.040 20.040-20.040zM777.382 774.046v117.53l117.528-117.528h-117.528zM191.046 415.992c0-11.068 8.972-20.040 20.040-20.040h358.41c11.066 0 20.040 8.972 20.040 20.040s-8.972 20.040-20.040 20.040h-358.41c-11.068 0-20.040-8.972-20.040-20.040zM569.496 315.354h-358.41c-11.066 0-20.040-8.972-20.040-20.040s8.972-20.040 20.040-20.040h358.41c11.066 0 20.040 8.972 20.040 20.040s-8.974 20.040-20.040 20.040zM569.496 194.678h-358.41c-11.066 0-20.040-8.972-20.040-20.040s8.972-20.040 20.040-20.040h358.41c11.066 0 20.040 8.972 20.040 20.040s-8.974 20.040-20.040 20.040z" />
131
+ <glyph unicode="&#xe979;" glyph-name="collapse" d="M694.494 657.313v264.525c0 15.871 15.868 31.743 31.74 31.743s31.743-13.226 31.743-31.743v-185.167l174.586 174.586c7.936 7.936 15.871 10.581 23.807 10.581s18.517-5.29 23.807-10.581c13.226-13.226 13.226-34.388 0-47.614l-174.586-174.586h185.167c15.871 0 31.743-15.871 31.743-31.743s-13.226-31.743-31.743-31.743h-264.525c-2.645 0-7.936 0-10.581 2.645-7.936 5.29-15.868 10.581-18.514 18.517-2.645 2.645-2.645 7.936-2.645 10.581zM332.812 915.489v-264.525c0-2.645 0-7.936-2.645-10.581-2.645-7.936-10.581-15.871-18.517-18.517-2.645-2.645-7.936-2.645-10.581-2.645h-264.525c-18.517 0-34.388 18.517-34.388 34.388s13.226 31.743 31.743 31.743h185.167l-171.941 174.586c-13.226 13.226-13.226 34.388 0 47.614 7.936 7.936 15.871 10.581 23.807 10.581s18.517-5.29 23.807-10.581l174.586-174.586v185.167c0 15.871 13.226 31.743 31.743 31.743 15.871 0 31.743-15.871 31.743-34.388zM687.551-26.973v264.525c0 5.29 0 7.936 2.645 13.226 5.29 7.936 10.581 15.871 18.517 18.517 5.29 2.645 7.936 2.645 13.226 2.645h264.525c15.871 0 31.743-15.871 31.743-31.743s-13.226-31.743-31.743-31.743h-185.167l174.586-174.586c13.226-13.226 13.226-34.388 0-47.614s-34.388-13.226-47.614 0l-174.586 174.586v-185.167c0-15.871-13.226-31.743-31.743-31.743-15.871 0-31.743 15.871-34.388 29.098zM651.267 356.537c0-21.162-18.517-39.679-39.679-39.679h-182.522c-21.162 0-39.679 18.517-39.679 39.679v182.522c0 21.162 18.517 39.679 39.679 39.679h182.522c21.162 0 39.679-18.517 39.679-39.679v-182.522zM10.921 250.965c0 15.871 13.226 31.743 31.743 31.743h264.525c2.645 0 7.936 0 10.581-2.645 7.936-5.29 15.871-10.581 18.517-18.517 2.645-5.29 2.645-7.936 2.645-13.226v-264.525c0-15.871-15.871-31.743-31.743-31.743s-31.743 13.226-31.743 31.743v185.167l-174.586-174.586c-13.226-13.226-34.388-13.226-47.614 0s-13.226 34.388 0 47.614l174.586 174.586h-185.167c-18.517 0-31.743 18.517-31.743 34.388z" />
132
+ <glyph unicode="&#xe97a;" glyph-name="SCIM" horiz-adv-x="1063" d="M966.038 134.728h-869.434c-52.442 0-96.604 41.402-96.604 93.844v438.857c0 52.442 44.162 96.604 96.604 96.604h869.434c52.442 0 96.604-44.162 96.604-96.604v-436.097c0-52.442-44.162-96.604-96.604-96.604zM96.604 725.391c-30.361 0-57.962-27.601-57.962-57.962v-438.857c0-30.361 27.601-55.202 57.962-55.202h869.434c30.361 0 57.962 24.841 57.962 57.962v436.097c0 30.361-24.841 57.962-57.962 57.962zM93.295 381.767q94.527-5.071 127.992-5.071 7.935 0 12.42 4.395 4.83 4.733 4.83 12.508v30.426h-79.348q-36.224 0-52.784 15.889-16.215 16.227-16.215 51.724v10.142q0 35.497 16.215 51.386 16.56 16.227 52.784 16.227h121.092v-47.329h-107.292q-20.699 0-20.699-20.284v-6.761q0-20.284 20.699-20.284h62.098q33.809 0 49.679-15.551t15.87-48.682v-16.903q0-33.131-15.87-48.682t-49.679-15.551q-17.595 0-37.259 0.676l-31.739 1.352q-35.189 1.69-72.793 4.733zM522.273 336.128q-76.933-6.761-127.647-6.761-33.809 0-49.679 15.551t-15.87 48.682v108.181q0 35.497 16.215 51.386 16.56 16.227 52.784 16.227h124.197v-47.329h-110.397q-20.699 0-20.699-20.284v-108.181q0-7.776 4.485-12.508 4.83-4.395 12.075-4.395t15.87 0q8.625 0.338 17.94 0.676t18.629 0.676q9.66 0.338 24.494 1.352 15.18 1.014 37.604 2.366zM668.015 332.748h-124.197v47.329h31.049v141.988h-31.049v47.329h124.197v-47.329h-31.049v-141.988h31.049zM910.354 464.594l-48.299-84.517h-48.299l-48.299 84.517v-131.846h-62.098v236.647h65.548l68.998-125.085 68.998 125.085h65.548v-236.647h-62.098z" />
133
+ <glyph unicode="&#xe97b;" glyph-name="upgrade-icon" horiz-adv-x="972" d="M953.157 315.975c-12.881 6.44-25.761 6.44-38.642 6.44l-167.447-64.403c-19.321-6.44-32.201-32.201-25.761-51.522s32.201-32.201 51.522-25.761l64.403 25.761c-77.283-109.484-218.969-186.767-367.094-186.767-180.327 0-334.893 109.484-392.855 276.931-6.44 25.761-32.201 32.201-51.522 25.761s-32.201-32.201-25.761-51.522c70.843-199.648 257.61-334.893 470.138-334.893 161.006 0 322.013 77.283 418.616 199.648v-77.283c0-19.321 19.321-38.642 38.642-38.642s38.642 19.321 38.642 38.642v225.409c6.44 12.881 0 25.761-12.881 32.201v0zM509.007 225.425c-2.044 0-4.088 0-4.088 0h-36.792c-24.528 0-44.97 20.44-44.97 44.969v40.881c-20.44 6.131-40.88 14.307-59.277 24.527l-30.661-30.659c-20.438-16.354-47.012-16.354-63.364 0l-26.571 26.571c-8.178 8.176-12.266 20.439-12.266 32.704s4.088 24.529 12.266 32.704l30.658 30.662c-10.218 18.396-18.394 38.836-24.527 59.276h-44.968c-24.529 0-44.969 20.44-44.969 44.968v38.837c0 24.529 20.44 44.968 44.969 44.968h40.879c6.133 20.44 14.309 40.881 24.529 59.277l-28.616 30.66c-16.352 16.354-16.352 47.013 2.045 63.367l26.571 26.571c16.352 16.352 47.013 16.352 63.364 0l28.617-30.66c18.395 10.219 38.836 18.396 59.277 24.528v42.923c0 24.529 20.439 44.969 44.969 44.969h38.836c24.528 0 44.968-20.439 44.968-44.969v-40.878c20.44-6.134 40.881-14.309 59.277-24.53l30.662 28.616c20.439 16.353 47.012 16.353 63.364 0l26.571-26.572c8.178-8.177 12.266-20.439 12.266-32.705 0-12.264-4.088-24.527-12.266-32.703l-30.659-30.661c10.22-18.397 18.396-38.836 24.527-59.276h40.881c24.528 0 44.969-20.442 44.969-44.97v-38.836c0-24.529-20.44-44.969-44.969-44.969h-40.881c-6.131-20.438-14.307-40.88-24.527-59.277l30.659-30.66c8.178-8.176 12.266-20.441 12.266-32.704 0-12.265-4.088-24.529-12.266-32.703l-26.571-26.575c-16.352-16.351-47.013-16.351-63.364 0l-30.662 30.662c-18.396-10.22-38.837-18.397-59.277-24.529v-40.88c0-12.266-6.131-24.528-14.309-32.703-8.173-6.133-18.396-10.221-26.57-10.221zM485.746 707.954c-87.339 0-158.143-70.792-158.143-158.12s70.804-158.12 158.143-158.12c80.554 0 147.039 60.219 156.886 138.090 0.611 4.734 1.001 9.538 1.158 14.401 0.066 1.868 0.099 3.745 0.099 5.629 0 87.328-70.803 158.12-158.143 158.12z" />
131
134
  <glyph unicode="&#xea70;" glyph-name="table" d="M0 768v-704h1024v704h-1024zM384 320v128h256v-128h-256zM640 256v-128h-256v128h256zM640 640v-128h-256v128h256zM320 640v-128h-256v128h256zM64 448h256v-128h-256v128zM704 448h256v-128h-256v128zM704 512v128h256v-128h-256zM64 256h256v-128h-256v128zM704 128v128h256v-128h-256z" />
132
135
  <glyph unicode="&#xea71;" glyph-name="table2" d="M0 896v-896h1024v896h-1024zM384 320v192h256v-192h-256zM640 256v-192h-256v192h256zM640 768v-192h-256v192h256zM320 768v-192h-256v192h256zM64 512h256v-192h-256v192zM704 512h256v-192h-256v192zM704 576v192h256v-192h-256zM64 256h256v-192h-256v192zM704 64v192h256v-192h-256z" />
133
136
  </font></defs></svg>
Binary file
Binary file
Binary file
@@ -2,6 +2,7 @@
2
2
 
3
3
  body {
4
4
  --highlighted: #f5a93d;
5
+ --highlightedOpaque: #f5d73dab;
5
6
  --red: #ff104b;
6
7
  --lightRed: #ffedf1;
7
8
  --green: #00db48;
@@ -1782,3 +1783,104 @@ a {
1782
1783
  }
1783
1784
  }
1784
1785
  }
1786
+
1787
+ ///////
1788
+ // Simple Service Form
1789
+ ///////
1790
+
1791
+ .simple-service-wrapper {
1792
+ lib-form-header {
1793
+ .form-header-container {
1794
+ lib-multi-action-button {
1795
+ .multi-action-button-container {
1796
+ position: relative;
1797
+ height: 2.0125rem;
1798
+ top: unset;
1799
+ right: unset;
1800
+
1801
+ .form-field-action {
1802
+ height: 2.0125rem;
1803
+ }
1804
+ .multi-action-button-dropdown ul li {
1805
+ width: 10rem;
1806
+ white-space: nowrap;
1807
+ background: var(--background);
1808
+ border-top-style: solid;
1809
+ border-color: var(--inputBorder);
1810
+ padding-top: var(--paddingMedium) !important;
1811
+ padding-bottom: var(--paddingMedium) !important;
1812
+ border-width: 1px;
1813
+ font-weight: 600;
1814
+
1815
+ &:first-child {
1816
+ border-top-style: none;
1817
+ }
1818
+ }
1819
+ .multi-action-button-dropdown {
1820
+ position: absolute;
1821
+ background: var(--background);
1822
+ width: 10rem;
1823
+ box-shadow: 0rem 0.1875rem 0.3125rem 0.0625rem var(--boxShadow);
1824
+ border-bottom-left-radius: 0.625rem;
1825
+ border-bottom-right-radius: 0.625rem;
1826
+ overflow: hidden;
1827
+ }
1828
+ }
1829
+ }
1830
+ }
1831
+ }
1832
+ }
1833
+
1834
+
1835
+ /////////
1836
+ // Prime NG Calendar
1837
+ /////////
1838
+
1839
+ p-calendar {
1840
+ position: relative;
1841
+ display: flex;
1842
+ width: 100%;
1843
+
1844
+ .p-calendar {
1845
+ width: 100%;
1846
+
1847
+ .p-inputtext {
1848
+ font-family: "Open Sans", sans-serif;
1849
+ font-size: 1rem;
1850
+ color: var(--tableText);
1851
+ background: var(--table);
1852
+ padding: 0.5rem;
1853
+ border: 0.0625rem solid var(--inputBorder);
1854
+ transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
1855
+ appearance: none;
1856
+ border-radius: var(--inputBorderRadius);
1857
+ box-shadow: none;
1858
+ border-top-right-radius: 0;
1859
+ border-bottom-right-radius: 0;
1860
+ border-style: solid;
1861
+ border-color: var(--inputBorder);
1862
+ height: var(--defaultInputHeight);
1863
+ border-width: .125rem;
1864
+ }
1865
+
1866
+ .p-button {
1867
+ color: #fff;
1868
+ background: var(--primaryColor);
1869
+ border: .0625rem solid var(--primaryColor);
1870
+ padding: .495rem 1rem;
1871
+ font-size: 1rem;
1872
+ transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s;
1873
+ border-radius: var(--inputBorderRadius);
1874
+ border-top-left-radius: 0;
1875
+ border-bottom-left-radius: 0;
1876
+ }
1877
+
1878
+ .p-datepicker {
1879
+ z-index: 99999999;
1880
+ .p-timepicker button.p-element {
1881
+ background-color: var(--primaryColor);
1882
+ }
1883
+ }
1884
+ }
1885
+ }
1886
+
@@ -176,4 +176,7 @@
176
176
  }
177
177
  .icon-back-arrow:before {
178
178
  content: "\e971";
179
- }
179
+ }
180
+ .icon-upgrade:before {
181
+ content: "\e97b";
182
+ }
@@ -27,16 +27,19 @@ class CardListComponent extends ProjectableForm {
27
27
  }
28
28
  save() {
29
29
  }
30
+ back() {
31
+ this.router?.navigateByUrl(`${this.basePath}`);
32
+ }
30
33
  cardSelected(type) {
31
34
  this.router.navigateByUrl(`/services/${type}`);
32
35
  }
33
36
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CardListComponent, deps: [{ token: SETTINGS_SERVICE }, { token: i1.ServiceFormService }, { token: ZITI_DATA_SERVICE }, { token: i2.GrowlerService }, { token: SERVICE_EXTENSION_SERVICE }, { token: i3.Router }, { token: i3.ActivatedRoute }, { token: i4.Location }], target: i0.ɵɵFactoryTarget.Component }); }
34
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CardListComponent, selector: "lib-card-list", outputs: { close: "close", selected: "selected" }, usesInheritance: true, ngImport: i0, template: "<div class=\"card-list-wrapper ziti-page-container fullModal opened\">\n <div class=\"title\" style=\"filter: brightness(50%)\">Create a service</div>\n <div class=\"subtitle\">Choose a service type</div>\n <div class=\"card-list-container\">\n <lib-card\n (click)=\"cardSelected('simple')\"\n [imageUrl]=\"'/assets/svgs/Simple.svg'\"\n [title]=\"'Simple'\"\n [content]=\"'Simple services required fewer details, only asking for the most commonly used fields.'\"\n [buttonText]=\"'Create Simple Service'\"\n [id]=\"'SimpleServiceCard'\"\n [href]=\"'services/simple'\"\n ></lib-card>\n <lib-card\n (click)=\"cardSelected('advanced')\"\n [imageUrl]=\"'/assets/svgs/Advanced.svg'\"\n [title]=\"'Advanced'\"\n [content]=\"'Advanced services allow you to configure any option supported by the controller but are subsequently a bit more complex.'\"\n [buttonText]=\"'Create Advanced Service'\"\n [id]=\"'AdvancedServiceCard'\"\n [href]=\"'services/advanced'\"\n ></lib-card>\n </div>\n <div (click)=\"returnToListPage()\" class=\"buttonBall close\" id=\"EscZitiAWClose\">\n <div class=\"buttonLabel\">ESC</div>\n </div>\n\n</div>\n", styles: [":host{--shadow: rgba(0, 0, 0, .08)}.card-list-wrapper>.title{font-size:1.625rem;filter:brightness(50%);padding-top:2.1875rem;text-align:center;width:100%;color:var(--primaryColor);font-family:Russo One;text-transform:uppercase;position:relative;font-weight:400}.card-list-wrapper>.subtitle{text-align:center;width:100%;color:var(--tableText);position:relative;margin-bottom:0rem;font-size:2rem;font-weight:300;font-family:Open Sans;float:left}.card-list-wrapper .card-list-container{display:flex;flex-direction:row;width:100%;justify-content:center}.card-list-wrapper .buttonBall.close{font-style:normal;font-weight:600;-webkit-font-smoothing:antialiased;cursor:pointer;position:absolute;width:3.9375rem;height:3.9375rem;font-size:1.875rem;top:1.25rem;right:1.25rem;left:unset;z-index:20;color:var(--stroke);text-transform:uppercase;text-align:center;line-height:2.5rem;font-family:zac!important;font-variant:normal;border-radius:2.0625rem;transition:all .3s ease 0s}.card-list-wrapper .buttonBall.close:before{content:\"\\e91b\";font-size:1.875rem}.card-list-wrapper .buttonBall:hover{background-color:var(--primaryColor);color:var(--white);box-shadow:0 .125rem .1875rem 0 var(--primaryColorOpaque);transition:all .2s ease 0s}.card-list-wrapper .buttonBall:hover:before{color:var(--white)}.card-list-wrapper .buttonBall .buttonLabel{font-weight:600;font-family:Open Sans,Arial,sans-serif;position:absolute;bottom:-.125rem;width:100%;text-align:center;font-size:.75rem;text-transform:uppercase}\n"], dependencies: [{ kind: "component", type: i5.CardComponent, selector: "lib-card", inputs: ["imageUrl", "title", "content", "buttonText", "id", "href"] }] }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CardListComponent, selector: "lib-card-list", outputs: { close: "close", selected: "selected" }, usesInheritance: true, ngImport: i0, template: "<div class=\"card-list-wrapper ziti-page-container fullModal opened\">\n <div class=\"card-list-content\">\n <div class=\"card-list-title-container\">\n <div class=\"form-title-back-arrow-icon icon-back-arrow\" (click)=\"back()\"></div>\n <div class=\"title\" style=\"filter: brightness(50%)\">Create a service</div>\n </div>\n <div class=\"subtitle\">Choose a service type</div>\n <div class=\"card-list-container\">\n <lib-card\n (click)=\"cardSelected('simple')\"\n [imageUrl]=\"'/assets/svgs/Simple.svg'\"\n [title]=\"'Simple'\"\n [content]=\"'Simple services required fewer details, only asking for the most commonly used fields.'\"\n [buttonText]=\"'Create Simple Service'\"\n [id]=\"'SimpleServiceCard'\"\n [href]=\"'services/simple'\"\n ></lib-card>\n <lib-card\n (click)=\"cardSelected('advanced')\"\n [imageUrl]=\"'/assets/svgs/Advanced.svg'\"\n [title]=\"'Advanced'\"\n [content]=\"'Advanced services allow you to configure any option supported by the controller but are subsequently a bit more complex.'\"\n [buttonText]=\"'Create Advanced Service'\"\n [id]=\"'AdvancedServiceCard'\"\n [href]=\"'services/advanced'\"\n ></lib-card>\n </div>\n <div (click)=\"returnToListPage()\" class=\"buttonBall close\" id=\"EscZitiAWClose\">\n <div class=\"buttonLabel\">ESC</div>\n </div>\n </div>\n</div>\n", styles: [":host{--shadow: rgba(0, 0, 0, .08)}.card-list-wrapper{align-items:center}.card-list-wrapper .card-list-content{width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.card-list-wrapper .card-list-title-container{width:100%;position:relative}.card-list-wrapper .card-list-title-container .icon-back-arrow{position:absolute;left:0;height:2rem;width:1.325rem;top:2.25rem;display:flex;align-items:center;justify-content:flex-start;transform:scaleX(1.25);margin-left:1.25rem;min-width:1.325rem;padding-left:.125rem;cursor:pointer;font-family:icomoon!important;font-size:1.25rem;font-weight:600;margin-top:.05rem;color:var(--tableText);z-index:9999999}.card-list-wrapper .card-list-title-container .icon-back-arrow:hover{background-color:#fff;border-radius:var(--inputBorderRadius);filter:brightness(90%);transition:.3s}.card-list-wrapper .card-list-title-container>.title{font-size:1.625rem;filter:brightness(50%);padding-top:2.1875rem;text-align:center;width:100%;color:var(--primaryColor);font-family:Russo One;text-transform:uppercase;position:relative;font-weight:400}.card-list-wrapper>.subtitle{text-align:center;width:100%;color:var(--tableText);position:relative;margin-bottom:0rem;font-size:2rem;font-weight:300;font-family:Open Sans;float:left}.card-list-wrapper .card-list-container{display:flex;flex-direction:row;width:100%;justify-content:center}.card-list-wrapper .buttonBall.close{font-style:normal;font-weight:600;-webkit-font-smoothing:antialiased;cursor:pointer;position:absolute;width:3.9375rem;height:3.9375rem;font-size:1.875rem;top:1.25rem;right:1.25rem;left:unset;z-index:20;color:var(--stroke);text-transform:uppercase;text-align:center;line-height:2.5rem;font-family:zac!important;font-variant:normal;border-radius:2.0625rem;transition:all .3s ease 0s}.card-list-wrapper .buttonBall.close:before{content:\"\\e91b\";font-size:1.875rem}.card-list-wrapper .buttonBall:hover{background-color:var(--primaryColor);color:var(--white);box-shadow:0 .125rem .1875rem 0 var(--primaryColorOpaque);transition:all .2s ease 0s}.card-list-wrapper .buttonBall:hover:before{color:var(--white)}.card-list-wrapper .buttonBall .buttonLabel{font-weight:600;font-family:Open Sans,Arial,sans-serif;position:absolute;bottom:-.125rem;width:100%;text-align:center;font-size:.75rem;text-transform:uppercase}\n"], dependencies: [{ kind: "component", type: i5.CardComponent, selector: "lib-card", inputs: ["imageUrl", "title", "content", "buttonText", "id", "href"] }] }); }
35
38
  }
36
39
  export { CardListComponent };
37
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CardListComponent, decorators: [{
38
41
  type: Component,
39
- args: [{ selector: 'lib-card-list', template: "<div class=\"card-list-wrapper ziti-page-container fullModal opened\">\n <div class=\"title\" style=\"filter: brightness(50%)\">Create a service</div>\n <div class=\"subtitle\">Choose a service type</div>\n <div class=\"card-list-container\">\n <lib-card\n (click)=\"cardSelected('simple')\"\n [imageUrl]=\"'/assets/svgs/Simple.svg'\"\n [title]=\"'Simple'\"\n [content]=\"'Simple services required fewer details, only asking for the most commonly used fields.'\"\n [buttonText]=\"'Create Simple Service'\"\n [id]=\"'SimpleServiceCard'\"\n [href]=\"'services/simple'\"\n ></lib-card>\n <lib-card\n (click)=\"cardSelected('advanced')\"\n [imageUrl]=\"'/assets/svgs/Advanced.svg'\"\n [title]=\"'Advanced'\"\n [content]=\"'Advanced services allow you to configure any option supported by the controller but are subsequently a bit more complex.'\"\n [buttonText]=\"'Create Advanced Service'\"\n [id]=\"'AdvancedServiceCard'\"\n [href]=\"'services/advanced'\"\n ></lib-card>\n </div>\n <div (click)=\"returnToListPage()\" class=\"buttonBall close\" id=\"EscZitiAWClose\">\n <div class=\"buttonLabel\">ESC</div>\n </div>\n\n</div>\n", styles: [":host{--shadow: rgba(0, 0, 0, .08)}.card-list-wrapper>.title{font-size:1.625rem;filter:brightness(50%);padding-top:2.1875rem;text-align:center;width:100%;color:var(--primaryColor);font-family:Russo One;text-transform:uppercase;position:relative;font-weight:400}.card-list-wrapper>.subtitle{text-align:center;width:100%;color:var(--tableText);position:relative;margin-bottom:0rem;font-size:2rem;font-weight:300;font-family:Open Sans;float:left}.card-list-wrapper .card-list-container{display:flex;flex-direction:row;width:100%;justify-content:center}.card-list-wrapper .buttonBall.close{font-style:normal;font-weight:600;-webkit-font-smoothing:antialiased;cursor:pointer;position:absolute;width:3.9375rem;height:3.9375rem;font-size:1.875rem;top:1.25rem;right:1.25rem;left:unset;z-index:20;color:var(--stroke);text-transform:uppercase;text-align:center;line-height:2.5rem;font-family:zac!important;font-variant:normal;border-radius:2.0625rem;transition:all .3s ease 0s}.card-list-wrapper .buttonBall.close:before{content:\"\\e91b\";font-size:1.875rem}.card-list-wrapper .buttonBall:hover{background-color:var(--primaryColor);color:var(--white);box-shadow:0 .125rem .1875rem 0 var(--primaryColorOpaque);transition:all .2s ease 0s}.card-list-wrapper .buttonBall:hover:before{color:var(--white)}.card-list-wrapper .buttonBall .buttonLabel{font-weight:600;font-family:Open Sans,Arial,sans-serif;position:absolute;bottom:-.125rem;width:100%;text-align:center;font-size:.75rem;text-transform:uppercase}\n"] }]
42
+ args: [{ selector: 'lib-card-list', template: "<div class=\"card-list-wrapper ziti-page-container fullModal opened\">\n <div class=\"card-list-content\">\n <div class=\"card-list-title-container\">\n <div class=\"form-title-back-arrow-icon icon-back-arrow\" (click)=\"back()\"></div>\n <div class=\"title\" style=\"filter: brightness(50%)\">Create a service</div>\n </div>\n <div class=\"subtitle\">Choose a service type</div>\n <div class=\"card-list-container\">\n <lib-card\n (click)=\"cardSelected('simple')\"\n [imageUrl]=\"'/assets/svgs/Simple.svg'\"\n [title]=\"'Simple'\"\n [content]=\"'Simple services required fewer details, only asking for the most commonly used fields.'\"\n [buttonText]=\"'Create Simple Service'\"\n [id]=\"'SimpleServiceCard'\"\n [href]=\"'services/simple'\"\n ></lib-card>\n <lib-card\n (click)=\"cardSelected('advanced')\"\n [imageUrl]=\"'/assets/svgs/Advanced.svg'\"\n [title]=\"'Advanced'\"\n [content]=\"'Advanced services allow you to configure any option supported by the controller but are subsequently a bit more complex.'\"\n [buttonText]=\"'Create Advanced Service'\"\n [id]=\"'AdvancedServiceCard'\"\n [href]=\"'services/advanced'\"\n ></lib-card>\n </div>\n <div (click)=\"returnToListPage()\" class=\"buttonBall close\" id=\"EscZitiAWClose\">\n <div class=\"buttonLabel\">ESC</div>\n </div>\n </div>\n</div>\n", styles: [":host{--shadow: rgba(0, 0, 0, .08)}.card-list-wrapper{align-items:center}.card-list-wrapper .card-list-content{width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.card-list-wrapper .card-list-title-container{width:100%;position:relative}.card-list-wrapper .card-list-title-container .icon-back-arrow{position:absolute;left:0;height:2rem;width:1.325rem;top:2.25rem;display:flex;align-items:center;justify-content:flex-start;transform:scaleX(1.25);margin-left:1.25rem;min-width:1.325rem;padding-left:.125rem;cursor:pointer;font-family:icomoon!important;font-size:1.25rem;font-weight:600;margin-top:.05rem;color:var(--tableText);z-index:9999999}.card-list-wrapper .card-list-title-container .icon-back-arrow:hover{background-color:#fff;border-radius:var(--inputBorderRadius);filter:brightness(90%);transition:.3s}.card-list-wrapper .card-list-title-container>.title{font-size:1.625rem;filter:brightness(50%);padding-top:2.1875rem;text-align:center;width:100%;color:var(--primaryColor);font-family:Russo One;text-transform:uppercase;position:relative;font-weight:400}.card-list-wrapper>.subtitle{text-align:center;width:100%;color:var(--tableText);position:relative;margin-bottom:0rem;font-size:2rem;font-weight:300;font-family:Open Sans;float:left}.card-list-wrapper .card-list-container{display:flex;flex-direction:row;width:100%;justify-content:center}.card-list-wrapper .buttonBall.close{font-style:normal;font-weight:600;-webkit-font-smoothing:antialiased;cursor:pointer;position:absolute;width:3.9375rem;height:3.9375rem;font-size:1.875rem;top:1.25rem;right:1.25rem;left:unset;z-index:20;color:var(--stroke);text-transform:uppercase;text-align:center;line-height:2.5rem;font-family:zac!important;font-variant:normal;border-radius:2.0625rem;transition:all .3s ease 0s}.card-list-wrapper .buttonBall.close:before{content:\"\\e91b\";font-size:1.875rem}.card-list-wrapper .buttonBall:hover{background-color:var(--primaryColor);color:var(--white);box-shadow:0 .125rem .1875rem 0 var(--primaryColorOpaque);transition:all .2s ease 0s}.card-list-wrapper .buttonBall:hover:before{color:var(--white)}.card-list-wrapper .buttonBall .buttonLabel{font-weight:600;font-family:Open Sans,Arial,sans-serif;position:absolute;bottom:-.125rem;width:100%;text-align:center;font-size:.75rem;text-transform:uppercase}\n"] }]
40
43
  }], ctorParameters: function () { return [{ type: i6.SettingsService, decorators: [{
41
44
  type: Inject,
42
45
  args: [SETTINGS_SERVICE]
@@ -51,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
51
54
  }], selected: [{
52
55
  type: Output
53
56
  }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9jYXJkLWxpc3QvY2FyZC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9jYXJkLWxpc3QvY2FyZC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBa0IsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRixPQUFPLEVBQUMseUJBQXlCLEVBQXFCLE1BQU0sbURBQW1ELENBQUM7QUFDaEgsT0FBTyxFQUFDLGlCQUFpQixFQUFrQixNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7QUFNcEYsTUFLYSxpQkFBa0IsU0FBUSxlQUFlO0lBTXBELFlBQ2lELGVBQWdDLEVBQ3RFLEdBQXVCLEVBQ00sV0FBNEIsRUFDaEUsY0FBOEIsRUFDSyxVQUE0QixFQUM1QyxNQUFjLEVBQ2QsS0FBcUIsRUFDeEMsUUFBa0I7UUFFcEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBVDFDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUN0RSxRQUFHLEdBQUgsR0FBRyxDQUFvQjtRQUNNLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtRQUc3QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFaNUMsYUFBUSxHQUFRLEVBQUUsQ0FBQztRQUVULFVBQUssR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNuRCxhQUFRLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFhaEUsQ0FBQztJQUNELEtBQUs7SUFDTCxDQUFDO0lBRUQsSUFBSTtJQUNKLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBSTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDOytHQTFCVSxpQkFBaUIsa0JBT2hCLGdCQUFnQiwrQ0FFaEIsaUJBQWlCLDJDQUVqQix5QkFBeUI7bUdBWDFCLGlCQUFpQiwrSENmOUIsc3pDQTRCQTs7U0RiYSxpQkFBaUI7NEZBQWpCLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxlQUFlOzswQkFXcEIsTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUV2QixNQUFNOzJCQUFDLGlCQUFpQjs7MEJBRXhCLE1BQU07MkJBQUMseUJBQXlCO3FIQVIzQixLQUFLO3NCQUFkLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UHJvamVjdGFibGVGb3JtfSBmcm9tIFwiLi4vcHJvamVjdGFibGUtZm9ybXMvcHJvamVjdGFibGUtZm9ybS5jbGFzc1wiO1xuaW1wb3J0IHtTRVRUSU5HU19TRVJWSUNFLCBTZXR0aW5nc1NlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zZXR0aW5ncy5zZXJ2aWNlXCI7XG5pbXBvcnQge1NFUlZJQ0VfRVhURU5TSU9OX1NFUlZJQ0UsIFNlcnZpY2VGb3JtU2VydmljZX0gZnJvbSBcIi4uL3Byb2plY3RhYmxlLWZvcm1zL3NlcnZpY2Uvc2VydmljZS1mb3JtLnNlcnZpY2VcIjtcbmltcG9ydCB7WklUSV9EQVRBX1NFUlZJQ0UsIFppdGlEYXRhU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3ppdGktZGF0YS5zZXJ2aWNlXCI7XG5pbXBvcnQge0dyb3dsZXJTZXJ2aWNlfSBmcm9tIFwiLi4vbWVzc2FnaW5nL2dyb3dsZXIuc2VydmljZVwiO1xuaW1wb3J0IHtFeHRlbnNpb25TZXJ2aWNlfSBmcm9tIFwiLi4vZXh0ZW5kYWJsZS9leHRlbnNpb25zLW5vb3Auc2VydmljZVwiO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQge0xvY2F0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1jYXJkLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FyZC1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FyZC1saXN0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ2FyZExpc3RDb21wb25lbnQgZXh0ZW5kcyBQcm9qZWN0YWJsZUZvcm0ge1xuICBmb3JtRGF0YTogYW55ID0ge307XG5cbiAgQE91dHB1dCgpIGNsb3NlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgc2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBASW5qZWN0KFNFVFRJTkdTX1NFUlZJQ0UpIHByb3RlY3RlZCBvdmVycmlkZSBzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZSxcbiAgICAgIHB1YmxpYyBzdmM6IFNlcnZpY2VGb3JtU2VydmljZSxcbiAgICAgIEBJbmplY3QoWklUSV9EQVRBX1NFUlZJQ0UpIG92ZXJyaWRlIHppdGlTZXJ2aWNlOiBaaXRpRGF0YVNlcnZpY2UsXG4gICAgICBncm93bGVyU2VydmljZTogR3Jvd2xlclNlcnZpY2UsXG4gICAgICBASW5qZWN0KFNFUlZJQ0VfRVhURU5TSU9OX1NFUlZJQ0UpIGV4dFNlcnZpY2U6IEV4dGVuc2lvblNlcnZpY2UsXG4gICAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgbG9jYXRpb246IExvY2F0aW9uXG4gICkge1xuICAgIHN1cGVyKGdyb3dsZXJTZXJ2aWNlLCBleHRTZXJ2aWNlLCB6aXRpU2VydmljZSwgcm91dGVyLCByb3V0ZSwgbG9jYXRpb24sIHNldHRpbmdzU2VydmljZSk7XG4gIH1cbiAgY2xlYXIoKTogdm9pZCB7XG4gIH1cblxuICBzYXZlKCk6IHZvaWQge1xuICB9XG5cbiAgY2FyZFNlbGVjdGVkKHR5cGUpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGAvc2VydmljZXMvJHt0eXBlfWApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2FyZC1saXN0LXdyYXBwZXIgeml0aS1wYWdlLWNvbnRhaW5lciBmdWxsTW9kYWwgb3BlbmVkXCI+XG4gICAgPGRpdiBjbGFzcz1cInRpdGxlXCIgc3R5bGU9XCJmaWx0ZXI6IGJyaWdodG5lc3MoNTAlKVwiPkNyZWF0ZSBhIHNlcnZpY2U8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic3VidGl0bGVcIj5DaG9vc2UgYSBzZXJ2aWNlIHR5cGU8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1saXN0LWNvbnRhaW5lclwiPlxuICAgICAgICA8bGliLWNhcmRcbiAgICAgICAgICAgIChjbGljayk9XCJjYXJkU2VsZWN0ZWQoJ3NpbXBsZScpXCJcbiAgICAgICAgICAgIFtpbWFnZVVybF09XCInL2Fzc2V0cy9zdmdzL1NpbXBsZS5zdmcnXCJcbiAgICAgICAgICAgIFt0aXRsZV09XCInU2ltcGxlJ1wiXG4gICAgICAgICAgICBbY29udGVudF09XCInU2ltcGxlIHNlcnZpY2VzIHJlcXVpcmVkIGZld2VyIGRldGFpbHMsIG9ubHkgYXNraW5nIGZvciB0aGUgbW9zdCBjb21tb25seSB1c2VkIGZpZWxkcy4nXCJcbiAgICAgICAgICAgIFtidXR0b25UZXh0XT1cIidDcmVhdGUgU2ltcGxlIFNlcnZpY2UnXCJcbiAgICAgICAgICAgIFtpZF09XCInU2ltcGxlU2VydmljZUNhcmQnXCJcbiAgICAgICAgICAgIFtocmVmXT1cIidzZXJ2aWNlcy9zaW1wbGUnXCJcbiAgICAgICAgPjwvbGliLWNhcmQ+XG4gICAgICAgIDxsaWItY2FyZFxuICAgICAgICAgICAgKGNsaWNrKT1cImNhcmRTZWxlY3RlZCgnYWR2YW5jZWQnKVwiXG4gICAgICAgICAgICBbaW1hZ2VVcmxdPVwiJy9hc3NldHMvc3Zncy9BZHZhbmNlZC5zdmcnXCJcbiAgICAgICAgICAgIFt0aXRsZV09XCInQWR2YW5jZWQnXCJcbiAgICAgICAgICAgIFtjb250ZW50XT1cIidBZHZhbmNlZCBzZXJ2aWNlcyBhbGxvdyB5b3UgdG8gY29uZmlndXJlIGFueSBvcHRpb24gc3VwcG9ydGVkIGJ5IHRoZSBjb250cm9sbGVyIGJ1dCBhcmUgc3Vic2VxdWVudGx5IGEgYml0IG1vcmUgY29tcGxleC4nXCJcbiAgICAgICAgICAgIFtidXR0b25UZXh0XT1cIidDcmVhdGUgQWR2YW5jZWQgU2VydmljZSdcIlxuICAgICAgICAgICAgW2lkXT1cIidBZHZhbmNlZFNlcnZpY2VDYXJkJ1wiXG4gICAgICAgICAgICBbaHJlZl09XCInc2VydmljZXMvYWR2YW5jZWQnXCJcbiAgICAgICAgPjwvbGliLWNhcmQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAoY2xpY2spPVwicmV0dXJuVG9MaXN0UGFnZSgpXCIgY2xhc3M9XCJidXR0b25CYWxsIGNsb3NlXCIgaWQ9XCJFc2NaaXRpQVdDbG9zZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uTGFiZWxcIj5FU0M8L2Rpdj5cbiAgICA8L2Rpdj5cblxuPC9kaXY+XG4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9jYXJkLWxpc3QvY2FyZC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9jYXJkLWxpc3QvY2FyZC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBa0IsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRixPQUFPLEVBQUMseUJBQXlCLEVBQXFCLE1BQU0sbURBQW1ELENBQUM7QUFDaEgsT0FBTyxFQUFDLGlCQUFpQixFQUFrQixNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7QUFNcEYsTUFLYSxpQkFBa0IsU0FBUSxlQUFlO0lBTXBELFlBQ2lELGVBQWdDLEVBQ3RFLEdBQXVCLEVBQ00sV0FBNEIsRUFDaEUsY0FBOEIsRUFDSyxVQUE0QixFQUM1QyxNQUFjLEVBQ2QsS0FBcUIsRUFDeEMsUUFBa0I7UUFFcEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBVDFDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUN0RSxRQUFHLEdBQUgsR0FBRyxDQUFvQjtRQUNNLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtRQUc3QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFaNUMsYUFBUSxHQUFRLEVBQUUsQ0FBQztRQUVULFVBQUssR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNuRCxhQUFRLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFhaEUsQ0FBQztJQUNELEtBQUs7SUFDTCxDQUFDO0lBRUQsSUFBSTtJQUNKLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQUk7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQzsrR0E5QlUsaUJBQWlCLGtCQU9oQixnQkFBZ0IsK0NBRWhCLGlCQUFpQiwyQ0FFakIseUJBQXlCO21HQVgxQixpQkFBaUIsK0hDZjlCLDJxREFnQ0E7O1NEakJhLGlCQUFpQjs0RkFBakIsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGVBQWU7OzBCQVdwQixNQUFNOzJCQUFDLGdCQUFnQjs7MEJBRXZCLE1BQU07MkJBQUMsaUJBQWlCOzswQkFFeEIsTUFBTTsyQkFBQyx5QkFBeUI7cUhBUjNCLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtQcm9qZWN0YWJsZUZvcm19IGZyb20gXCIuLi9wcm9qZWN0YWJsZS1mb3Jtcy9wcm9qZWN0YWJsZS1mb3JtLmNsYXNzXCI7XG5pbXBvcnQge1NFVFRJTkdTX1NFUlZJQ0UsIFNldHRpbmdzU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3NldHRpbmdzLnNlcnZpY2VcIjtcbmltcG9ydCB7U0VSVklDRV9FWFRFTlNJT05fU0VSVklDRSwgU2VydmljZUZvcm1TZXJ2aWNlfSBmcm9tIFwiLi4vcHJvamVjdGFibGUtZm9ybXMvc2VydmljZS9zZXJ2aWNlLWZvcm0uc2VydmljZVwiO1xuaW1wb3J0IHtaSVRJX0RBVEFfU0VSVklDRSwgWml0aURhdGFTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZXMveml0aS1kYXRhLnNlcnZpY2VcIjtcbmltcG9ydCB7R3Jvd2xlclNlcnZpY2V9IGZyb20gXCIuLi9tZXNzYWdpbmcvZ3Jvd2xlci5zZXJ2aWNlXCI7XG5pbXBvcnQge0V4dGVuc2lvblNlcnZpY2V9IGZyb20gXCIuLi9leHRlbmRhYmxlL2V4dGVuc2lvbnMtbm9vcC5zZXJ2aWNlXCI7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7TG9jYXRpb259IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWNhcmQtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJkLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXJkLWxpc3QuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDYXJkTGlzdENvbXBvbmVudCBleHRlbmRzIFByb2plY3RhYmxlRm9ybSB7XG4gIGZvcm1EYXRhOiBhbnkgPSB7fTtcblxuICBAT3V0cHV0KCkgY2xvc2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIEBJbmplY3QoU0VUVElOR1NfU0VSVklDRSkgcHJvdGVjdGVkIG92ZXJyaWRlIHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxuICAgICAgcHVibGljIHN2YzogU2VydmljZUZvcm1TZXJ2aWNlLFxuICAgICAgQEluamVjdChaSVRJX0RBVEFfU0VSVklDRSkgb3ZlcnJpZGUgeml0aVNlcnZpY2U6IFppdGlEYXRhU2VydmljZSxcbiAgICAgIGdyb3dsZXJTZXJ2aWNlOiBHcm93bGVyU2VydmljZSxcbiAgICAgIEBJbmplY3QoU0VSVklDRV9FWFRFTlNJT05fU0VSVklDRSkgZXh0U2VydmljZTogRXh0ZW5zaW9uU2VydmljZSxcbiAgICAgIHByb3RlY3RlZCBvdmVycmlkZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgIHByb3RlY3RlZCBvdmVycmlkZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICBsb2NhdGlvbjogTG9jYXRpb25cbiAgKSB7XG4gICAgc3VwZXIoZ3Jvd2xlclNlcnZpY2UsIGV4dFNlcnZpY2UsIHppdGlTZXJ2aWNlLCByb3V0ZXIsIHJvdXRlLCBsb2NhdGlvbiwgc2V0dGluZ3NTZXJ2aWNlKTtcbiAgfVxuICBjbGVhcigpOiB2b2lkIHtcbiAgfVxuXG4gIHNhdmUoKTogdm9pZCB7XG4gIH1cblxuICBiYWNrKCkge1xuICAgIHRoaXMucm91dGVyPy5uYXZpZ2F0ZUJ5VXJsKGAke3RoaXMuYmFzZVBhdGh9YCk7XG4gIH1cblxuICBjYXJkU2VsZWN0ZWQodHlwZSkge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoYC9zZXJ2aWNlcy8ke3R5cGV9YCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYXJkLWxpc3Qtd3JhcHBlciB6aXRpLXBhZ2UtY29udGFpbmVyIGZ1bGxNb2RhbCBvcGVuZWRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1saXN0LWNvbnRlbnRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtbGlzdC10aXRsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXRpdGxlLWJhY2stYXJyb3ctaWNvbiBpY29uLWJhY2stYXJyb3dcIiAoY2xpY2spPVwiYmFjaygpXCI+PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIiBzdHlsZT1cImZpbHRlcjogYnJpZ2h0bmVzcyg1MCUpXCI+Q3JlYXRlIGEgc2VydmljZTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN1YnRpdGxlXCI+Q2hvb3NlIGEgc2VydmljZSB0eXBlPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWxpc3QtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8bGliLWNhcmRcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNhcmRTZWxlY3RlZCgnc2ltcGxlJylcIlxuICAgICAgICAgICAgICAgICAgICBbaW1hZ2VVcmxdPVwiJy9hc3NldHMvc3Zncy9TaW1wbGUuc3ZnJ1wiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInU2ltcGxlJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtjb250ZW50XT1cIidTaW1wbGUgc2VydmljZXMgcmVxdWlyZWQgZmV3ZXIgZGV0YWlscywgb25seSBhc2tpbmcgZm9yIHRoZSBtb3N0IGNvbW1vbmx5IHVzZWQgZmllbGRzLidcIlxuICAgICAgICAgICAgICAgICAgICBbYnV0dG9uVGV4dF09XCInQ3JlYXRlIFNpbXBsZSBTZXJ2aWNlJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCInU2ltcGxlU2VydmljZUNhcmQnXCJcbiAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiJ3NlcnZpY2VzL3NpbXBsZSdcIlxuICAgICAgICAgICAgPjwvbGliLWNhcmQ+XG4gICAgICAgICAgICA8bGliLWNhcmRcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNhcmRTZWxlY3RlZCgnYWR2YW5jZWQnKVwiXG4gICAgICAgICAgICAgICAgICAgIFtpbWFnZVVybF09XCInL2Fzc2V0cy9zdmdzL0FkdmFuY2VkLnN2ZydcIlxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0FkdmFuY2VkJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtjb250ZW50XT1cIidBZHZhbmNlZCBzZXJ2aWNlcyBhbGxvdyB5b3UgdG8gY29uZmlndXJlIGFueSBvcHRpb24gc3VwcG9ydGVkIGJ5IHRoZSBjb250cm9sbGVyIGJ1dCBhcmUgc3Vic2VxdWVudGx5IGEgYml0IG1vcmUgY29tcGxleC4nXCJcbiAgICAgICAgICAgICAgICAgICAgW2J1dHRvblRleHRdPVwiJ0NyZWF0ZSBBZHZhbmNlZCBTZXJ2aWNlJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCInQWR2YW5jZWRTZXJ2aWNlQ2FyZCdcIlxuICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCInc2VydmljZXMvYWR2YW5jZWQnXCJcbiAgICAgICAgICAgID48L2xpYi1jYXJkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAoY2xpY2spPVwicmV0dXJuVG9MaXN0UGFnZSgpXCIgY2xhc3M9XCJidXR0b25CYWxsIGNsb3NlXCIgaWQ9XCJFc2NaaXRpQVdDbG9zZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbkxhYmVsXCI+RVNDPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -16,11 +16,13 @@ class CreationSummaryDialogComponent {
16
16
  this.selectedCliCommand = '';
17
17
  this.selectedEntityType = 'service';
18
18
  this.selectedEntityName = '';
19
+ this.isEdit = false;
19
20
  this.summaryData = [];
20
21
  this.showAPI = false;
21
22
  this.hasError = false;
22
23
  this.hideSummaryNextTime = false;
23
24
  this.summaryData = data.summaryData;
25
+ this.isEdit = data.isEdit === true;
24
26
  }
25
27
  get hasCreationError() {
26
28
  let hasError = false;
@@ -79,14 +81,14 @@ class CreationSummaryDialogComponent {
79
81
  this.dialogRef.close('new');
80
82
  }
81
83
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreationSummaryDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.GrowlerService }], target: i0.ɵɵFactoryTarget.Component }); }
82
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CreationSummaryDialogComponent, selector: "lib-creation-summary-dialog", ngImport: i0, template: "<div class=\"creation-summary-dialog-container\">\n <div class=\"close icon-close\" (click)=\"close()\"></div>\n <div class=\"title-row\">\n <span class=\"title\">Execution Summary</span>\n <span class=\"subtitle\">The following entities were created for this service</span>\n </div>\n <lib-form-field-container [showHeader]=\"false\">\n <div class=\"copy-links-container\">\n <span class=\"copy-links-title\">\n <span class=\"title\">Entities</span>\n <span class=\"subtitle\" *ngIf=\"hasCreationError\">One or more of the following resources failed to create. See below for more details and/or retry.</span>\n </span>\n </div>\n <div class=\"form-group-row exec-operations-group\">\n <div class=\"summary-groups-container\">\n <div class=\"summary-group\" *ngFor=\"let group of summaryData\">\n <div class=\"summary-group-title\">{{group.title}}</div>\n <ul>\n <li\n *ngFor=\"let entity of group.entities\"\n (click)=\"selectZitiEntity(entity.name, 'all')\"\n [ngClass]=\"{selected: selectedEntityType === 'all'}\"\n class=\"entity-item drop-target-svc\"\n >\n <span class=\"spinner\" *ngIf=\"entity.status === 'loading'\"></span>\n <input type=\"checkbox\" [disabled]=\"true\" [checked]=\"true\" class=\"success-check\" *ngIf=\"entity.status === 'done'\">\n <div class=\"retry\" *ngIf=\"entity.status === 'error'\" (click)=\"doRetry(entity)\"></div>\n <div class=\"icon-clear\" *ngIf=\"entity.status === 'error'\"></div>\n <span class=\"entity-name\" matTooltipShowDelay=\"1000\">\n {{ entity.name.length > 0 ? entity.name : 'SimpleService' }}\n </span>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </lib-form-field-container>\n <lib-form-field-container [showHeader]=\"false\" style=\"margin-top: 10px;\">\n <div class=\"copy-links-container\">\n <div class=\"copy-links-title\">\n <div class=\"title-container\">\n <span class=\"title\">Copy Links</span>\n <div class=\"copy-icon\"></div>\n </div>\n </div>\n <div class=\"copy-links\">\n <div class=\"link-button\" (click)=\"copyCliCommands()\">CLI Commands</div>\n <div class=\"link-button\" (click)=\"copyAPIRequests()\">API Requests</div>\n </div>\n </div>\n </lib-form-field-container>\n\n <div class=\"confirm-buttons-container\">\n <button class=\"button save alert\" (click)=\"done()\">Done</button>\n <button class=\"button save cancel\" (click)=\"confirm()\">Create another</button>\n </div>\n</div>", styles: [".creation-summary-dialog-container{background-color:var(--formBackground);min-width:29.6875rem;border-radius:var(--modalBorderRadius);padding:var(--paddingXXL)}.creation-summary-dialog-container .title-row{display:flex;align-items:center;flex-direction:column;margin-bottom:var(--marginLarge)}.creation-summary-dialog-container .subtitle{color:var(--text)}.creation-summary-dialog-container .close{font-size:1.5625rem;top:.9375rem;right:.9375rem;width:2.1875rem;font-weight:600}.resource-type-container{display:flex;flex-direction:column;padding-left:var(--paddingLarge);padding-right:var(--paddingLarge)}.resource-type-container.disabled{opacity:.5}.resource-type-container.disabled select{cursor:not-allowed}.resource-type-container .resource-type-content{margin-top:1.25rem;flex-wrap:wrap}.entity-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:-moz-fit-content;width:fit-content}.summary-group ul{padding-inline-start:0rem;margin-block-start:var(--marginSmall);max-height:40.625rem;overflow:auto;overflow-x:hidden}.summary-group .entity-item{display:flex;align-items:center;gap:.3125rem;font-weight:600;font-size:1rem;padding-top:.1875rem;padding-bottom:.1875rem;position:relative;cursor:pointer;border-left-width:.3125rem;border-left-color:transparent;border-left-style:solid}.summary-group .entity-item:hover{background-color:#2196f31a;border-left-width:.3125rem;border-left-color:var(--primaryColor)}.summary-group .entity-item[hidden]{display:none}.summary-group .entity-item.no-results{font-weight:400}.summary-group .entity-item.no-results:hover{background-color:transparent;border-left-color:transparent;cursor:default}.summary-groups-container{overflow:auto;height:100%;width:100%;max-width:18.75rem;display:flex;position:relative;flex-direction:column}.summary-group-title{margin-left:0;color:var(--primaryColor);font-weight:700;font-size:.9375rem;filter:brightness(65%);text-transform:uppercase}.exec-operations-group{padding:0}.confirm-buttons-container{display:flex;justify-content:space-between;align-items:center;flex-direction:row;width:100%;padding-top:var(--paddingMedium)}.confirm-buttons-container .linkButton{position:absolute;left:1.5625rem;color:var(--subText);font-weight:600}.confirm-buttons-container .button{text-align:center;line-height:normal}button{width:6.25rem;height:2.5rem;color:var(--white);display:flex;align-items:center;justify-content:center}button.confirm{background-color:var(--secondary)}button.cancel{background-color:var(--primary)}.spinner{right:1em;top:1em;display:inline-block;width:1rem;height:1rem;border-radius:50%;background:transparent;border-top:.125rem solid var(--placeholder);border-right:.125rem solid var(--placeholder);border-bottom:.125rem solid transparent;border-left:.125rem solid transparent;animation:loading .5s infinite linear}.config-check,.success-check{width:1.0625rem;height:1.0625rem;cursor:pointer;background-color:var(--navigation);margin:0;margin-top:.25rem}.config-check:checked,.success-check:checked{background-color:var(--green)!important;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAYCAYAAAD+vg1LAAABdElEQVRIia3UPWsUURSH8f9GRRvtFKtIgoKggo2CYO0XsLKzsbARbNKJYGPndxEEO8VGRRvBF6xFBAkplPiyb/lZzAx7d9jE3ewcmOLOPTyc85x7bw/pKI4keZ7kUpIHQVffIwxU0e91VPHlJK+T9Or19y7Ah5N8TLJeg3eSXO9CwcNCwQCPkWWhFzE2iZ84viz4ED4X4DFuNPvLgO8XCoZ4Wu7vF3oeo0LBL5xcFnwA7wsFI9xs5+0HvFG33ih4NitvUejZAgp/sLoseAVvC7dD3NotfxHw3ZaCl+jtBT6qOn+n94CuoV8o+Fv/27WQ4E3dXh9XZyT18Kql4M7/OozJsdnBb1xoJd0uFIxqzyvzgJ+Y3KAxtrBeJ6yqJt/EEGfmmUlwDB9aVX3FCbwwPbCNeaANOKoX6UvL41axHuOd6tYtBA5OYdP0a9XECOfmhbbBUT0u26pBNjHAvUWgs8DBFdPD/ISDXYCDa/iBb3UXC0GRf9rA4qSLGyBIAAAAAElFTkSuQmCC);background-size:45%;background-position:center center;background-repeat:no-repeat;border:none}.config-check:checked:disabled,.success-check:checked:disabled{opacity:1!important}.success-check{border-radius:100%;top:.8125rem;left:.625rem;transition:var(--transition);border:.125rem var(--offWhite) solid}.config-check{border-radius:0}.config-check:checked{background-size:.625rem}.icon-clear{color:var(--red);margin-top:.25rem}.retry{background-image:url(/assets/svgs/refresh.svg);background-size:1.125rem;background-repeat:no-repeat;height:1.125rem;width:1.125rem;margin-left:.3125rem}.copy-links-container{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--gapMedium)}.copy-links-container .copy-links-title{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:23.4375rem}.copy-links-container .copy-links-title .title-container{display:flex}.copy-links-container .copy-links-title .title{font-size:1.25rem;line-height:1.25rem}.copy-links-container .copy-links-title .subtitle{display:flex;align-items:center;justify-content:center;text-align:center;color:var(--red)}.copy-links-container .copy-links-title .copy-icon{background-image:url(/assets/svgs/copy.svg);background-size:1.125rem;background-repeat:no-repeat;height:1.25rem;width:1.25rem;margin-left:.4375rem}.copy-links-container .copy-links{display:flex;flex-direction:row;justify-content:space-around;align-items:center;padding:var(--paddingMedium);width:100%}.copy-links-container .copy-links .link-button{color:var(--subText);font-size:1rem;font-weight:600;cursor:pointer}.copy-links-container .copy-links .link-button:hover{text-decoration:underline}.visibility-config-container{display:flex;flex-direction:row;align-items:center;width:100%;justify-content:flex-start;gap:.3125rem;margin-top:var(--marginMedium)}::ng-deep .creation-summary-dialog-container .form-field-content{gap:0!important}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FormFieldContainerComponent, selector: "lib-form-field-container", inputs: ["title", "title2", "titleIcon", "layout", "helpText", "helpText2", "label", "count", "action", "actionLabel", "class", "contentStyle", "contentClass", "showHeader", "showToggle", "headerActions", "headerToggle"], outputs: ["actionRequested", "headerToggleChange"] }] }); }
84
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CreationSummaryDialogComponent, selector: "lib-creation-summary-dialog", ngImport: i0, template: "<div class=\"creation-summary-dialog-container\">\n <div class=\"close icon-close\" (click)=\"close()\"></div>\n <div class=\"title-row\">\n <span class=\"title\">Execution Summary</span>\n <span class=\"subtitle\">The following entities were {{isEdit ? 'updated' : 'created'}} for this service</span>\n </div>\n <lib-form-field-container [showHeader]=\"false\">\n <div class=\"copy-links-container\">\n <span class=\"copy-links-title\">\n <span class=\"title\">Entities</span>\n <span class=\"subtitle\" *ngIf=\"hasCreationError\">One or more of the following resources failed to create. See below for more details and/or retry.</span>\n </span>\n </div>\n <div class=\"form-group-row exec-operations-group\">\n <div class=\"summary-groups-container\">\n <div class=\"summary-group\" *ngFor=\"let group of summaryData\">\n <div class=\"summary-group-title\">{{group.title}}</div>\n <ul>\n <li\n *ngFor=\"let entity of group.entities\"\n (click)=\"selectZitiEntity(entity.name, 'all')\"\n [ngClass]=\"{selected: selectedEntityType === 'all'}\"\n class=\"entity-item drop-target-svc\"\n >\n <span class=\"spinner\" *ngIf=\"entity.status === 'loading'\"></span>\n <input type=\"checkbox\" [disabled]=\"true\" [checked]=\"true\" class=\"success-check\" *ngIf=\"entity.status === 'done'\">\n <div class=\"retry\" *ngIf=\"entity.status === 'error'\" (click)=\"doRetry(entity)\"></div>\n <div class=\"icon-clear\" *ngIf=\"entity.status === 'error'\"></div>\n <span class=\"entity-name\" matTooltipShowDelay=\"1000\">\n {{ entity.name.length > 0 ? entity.name : 'SimpleService' }}\n </span>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </lib-form-field-container>\n <lib-form-field-container [showHeader]=\"false\" style=\"margin-top: 10px;\">\n <div class=\"copy-links-container\">\n <div class=\"copy-links-title\">\n <div class=\"title-container\">\n <span class=\"title\">Copy Links</span>\n <div class=\"copy-icon\"></div>\n </div>\n </div>\n <div class=\"copy-links\">\n <div class=\"link-button\" (click)=\"copyCliCommands()\">CLI Commands</div>\n <div class=\"link-button\" (click)=\"copyAPIRequests()\">API Requests</div>\n </div>\n </div>\n </lib-form-field-container>\n\n <div class=\"confirm-buttons-container\">\n <button class=\"button save alert\" (click)=\"done()\">Done</button>\n <button class=\"button save cancel\" (click)=\"confirm()\" *ngIf=\"!isEdit\">Create another</button>\n </div>\n</div>\n", styles: [".creation-summary-dialog-container{background-color:var(--formBackground);min-width:29.6875rem;border-radius:var(--modalBorderRadius);padding:var(--paddingXXL)}.creation-summary-dialog-container .title-row{display:flex;align-items:center;flex-direction:column;margin-bottom:var(--marginLarge)}.creation-summary-dialog-container .subtitle{color:var(--text)}.creation-summary-dialog-container .close{font-size:1.5625rem;top:.9375rem;right:.9375rem;width:2.1875rem;font-weight:600}.resource-type-container{display:flex;flex-direction:column;padding-left:var(--paddingLarge);padding-right:var(--paddingLarge)}.resource-type-container.disabled{opacity:.5}.resource-type-container.disabled select{cursor:not-allowed}.resource-type-container .resource-type-content{margin-top:1.25rem;flex-wrap:wrap}.entity-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:-moz-fit-content;width:fit-content}.summary-group ul{padding-inline-start:0rem;margin-block-start:var(--marginSmall);max-height:40.625rem;overflow:auto;overflow-x:hidden}.summary-group .entity-item{display:flex;align-items:center;gap:.3125rem;font-weight:600;font-size:1rem;padding-top:.1875rem;padding-bottom:.1875rem;position:relative;cursor:pointer;border-left-width:.3125rem;border-left-color:transparent;border-left-style:solid}.summary-group .entity-item:hover{background-color:#2196f31a;border-left-width:.3125rem;border-left-color:var(--primaryColor)}.summary-group .entity-item[hidden]{display:none}.summary-group .entity-item.no-results{font-weight:400}.summary-group .entity-item.no-results:hover{background-color:transparent;border-left-color:transparent;cursor:default}.summary-groups-container{overflow:auto;height:100%;width:100%;max-width:18.75rem;display:flex;position:relative;flex-direction:column}.summary-group-title{margin-left:0;color:var(--primaryColor);font-weight:700;font-size:.9375rem;filter:brightness(65%);text-transform:uppercase}.exec-operations-group{padding:0}.confirm-buttons-container{display:flex;justify-content:space-between;align-items:center;flex-direction:row;width:100%;padding-top:var(--paddingMedium);margin-left:auto}.confirm-buttons-container .linkButton{position:absolute;left:1.5625rem;color:var(--subText);font-weight:600}.confirm-buttons-container .button{text-align:center;line-height:normal}button{width:6.25rem;height:2.5rem;color:var(--white);display:flex;align-items:center;justify-content:center}button.confirm{background-color:var(--secondary)}button.cancel{background-color:var(--primary)}.spinner{right:1em;top:1em;display:inline-block;width:1rem;height:1rem;border-radius:50%;background:transparent;border-top:.125rem solid var(--placeholder);border-right:.125rem solid var(--placeholder);border-bottom:.125rem solid transparent;border-left:.125rem solid transparent;animation:loading .5s infinite linear}.config-check,.success-check{width:1.0625rem;height:1.0625rem;cursor:pointer;background-color:var(--navigation);margin:0;margin-top:.25rem}.config-check:checked,.success-check:checked{background-color:var(--green)!important;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAYCAYAAAD+vg1LAAABdElEQVRIia3UPWsUURSH8f9GRRvtFKtIgoKggo2CYO0XsLKzsbARbNKJYGPndxEEO8VGRRvBF6xFBAkplPiyb/lZzAx7d9jE3ewcmOLOPTyc85x7bw/pKI4keZ7kUpIHQVffIwxU0e91VPHlJK+T9Or19y7Ah5N8TLJeg3eSXO9CwcNCwQCPkWWhFzE2iZ84viz4ED4X4DFuNPvLgO8XCoZ4Wu7vF3oeo0LBL5xcFnwA7wsFI9xs5+0HvFG33ih4NitvUejZAgp/sLoseAVvC7dD3NotfxHw3ZaCl+jtBT6qOn+n94CuoV8o+Fv/27WQ4E3dXh9XZyT18Kql4M7/OozJsdnBb1xoJd0uFIxqzyvzgJ+Y3KAxtrBeJ6yqJt/EEGfmmUlwDB9aVX3FCbwwPbCNeaANOKoX6UvL41axHuOd6tYtBA5OYdP0a9XECOfmhbbBUT0u26pBNjHAvUWgs8DBFdPD/ISDXYCDa/iBb3UXC0GRf9rA4qSLGyBIAAAAAElFTkSuQmCC);background-size:45%;background-position:center center;background-repeat:no-repeat;border:none}.config-check:checked:disabled,.success-check:checked:disabled{opacity:1!important}.success-check{border-radius:100%;top:.8125rem;left:.625rem;transition:var(--transition);border:.125rem var(--offWhite) solid}.config-check{border-radius:0}.config-check:checked{background-size:.625rem}.icon-clear{color:var(--red);margin-top:.25rem}.retry{background-image:url(/assets/svgs/refresh.svg);background-size:1.125rem;background-repeat:no-repeat;height:1.125rem;width:1.125rem;margin-left:.3125rem}.copy-links-container{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--gapMedium)}.copy-links-container .copy-links-title{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:23.4375rem}.copy-links-container .copy-links-title .title-container{display:flex}.copy-links-container .copy-links-title .title{font-size:1.25rem;line-height:1.25rem}.copy-links-container .copy-links-title .subtitle{display:flex;align-items:center;justify-content:center;text-align:center;color:var(--red)}.copy-links-container .copy-links-title .copy-icon{background-image:url(/assets/svgs/copy.svg);background-size:1.125rem;background-repeat:no-repeat;height:1.25rem;width:1.25rem;margin-left:.4375rem}.copy-links-container .copy-links{display:flex;flex-direction:row;justify-content:space-around;align-items:center;padding:var(--paddingMedium);width:100%}.copy-links-container .copy-links .link-button{color:var(--subText);font-size:1rem;font-weight:600;cursor:pointer}.copy-links-container .copy-links .link-button:hover{text-decoration:underline}.visibility-config-container{display:flex;flex-direction:row;align-items:center;width:100%;justify-content:flex-start;gap:.3125rem;margin-top:var(--marginMedium)}::ng-deep .creation-summary-dialog-container .form-field-content{gap:0!important}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FormFieldContainerComponent, selector: "lib-form-field-container", inputs: ["title", "title2", "titleIcon", "layout", "helpText", "helpText2", "label", "count", "action", "actionLabel", "class", "contentStyle", "contentClass", "showHeader", "showToggle", "headerActions", "headerToggle"], outputs: ["actionRequested", "headerToggleChange"] }] }); }
83
85
  }
84
86
  export { CreationSummaryDialogComponent };
85
87
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreationSummaryDialogComponent, decorators: [{
86
88
  type: Component,
87
- args: [{ selector: 'lib-creation-summary-dialog', template: "<div class=\"creation-summary-dialog-container\">\n <div class=\"close icon-close\" (click)=\"close()\"></div>\n <div class=\"title-row\">\n <span class=\"title\">Execution Summary</span>\n <span class=\"subtitle\">The following entities were created for this service</span>\n </div>\n <lib-form-field-container [showHeader]=\"false\">\n <div class=\"copy-links-container\">\n <span class=\"copy-links-title\">\n <span class=\"title\">Entities</span>\n <span class=\"subtitle\" *ngIf=\"hasCreationError\">One or more of the following resources failed to create. See below for more details and/or retry.</span>\n </span>\n </div>\n <div class=\"form-group-row exec-operations-group\">\n <div class=\"summary-groups-container\">\n <div class=\"summary-group\" *ngFor=\"let group of summaryData\">\n <div class=\"summary-group-title\">{{group.title}}</div>\n <ul>\n <li\n *ngFor=\"let entity of group.entities\"\n (click)=\"selectZitiEntity(entity.name, 'all')\"\n [ngClass]=\"{selected: selectedEntityType === 'all'}\"\n class=\"entity-item drop-target-svc\"\n >\n <span class=\"spinner\" *ngIf=\"entity.status === 'loading'\"></span>\n <input type=\"checkbox\" [disabled]=\"true\" [checked]=\"true\" class=\"success-check\" *ngIf=\"entity.status === 'done'\">\n <div class=\"retry\" *ngIf=\"entity.status === 'error'\" (click)=\"doRetry(entity)\"></div>\n <div class=\"icon-clear\" *ngIf=\"entity.status === 'error'\"></div>\n <span class=\"entity-name\" matTooltipShowDelay=\"1000\">\n {{ entity.name.length > 0 ? entity.name : 'SimpleService' }}\n </span>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </lib-form-field-container>\n <lib-form-field-container [showHeader]=\"false\" style=\"margin-top: 10px;\">\n <div class=\"copy-links-container\">\n <div class=\"copy-links-title\">\n <div class=\"title-container\">\n <span class=\"title\">Copy Links</span>\n <div class=\"copy-icon\"></div>\n </div>\n </div>\n <div class=\"copy-links\">\n <div class=\"link-button\" (click)=\"copyCliCommands()\">CLI Commands</div>\n <div class=\"link-button\" (click)=\"copyAPIRequests()\">API Requests</div>\n </div>\n </div>\n </lib-form-field-container>\n\n <div class=\"confirm-buttons-container\">\n <button class=\"button save alert\" (click)=\"done()\">Done</button>\n <button class=\"button save cancel\" (click)=\"confirm()\">Create another</button>\n </div>\n</div>", styles: [".creation-summary-dialog-container{background-color:var(--formBackground);min-width:29.6875rem;border-radius:var(--modalBorderRadius);padding:var(--paddingXXL)}.creation-summary-dialog-container .title-row{display:flex;align-items:center;flex-direction:column;margin-bottom:var(--marginLarge)}.creation-summary-dialog-container .subtitle{color:var(--text)}.creation-summary-dialog-container .close{font-size:1.5625rem;top:.9375rem;right:.9375rem;width:2.1875rem;font-weight:600}.resource-type-container{display:flex;flex-direction:column;padding-left:var(--paddingLarge);padding-right:var(--paddingLarge)}.resource-type-container.disabled{opacity:.5}.resource-type-container.disabled select{cursor:not-allowed}.resource-type-container .resource-type-content{margin-top:1.25rem;flex-wrap:wrap}.entity-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:-moz-fit-content;width:fit-content}.summary-group ul{padding-inline-start:0rem;margin-block-start:var(--marginSmall);max-height:40.625rem;overflow:auto;overflow-x:hidden}.summary-group .entity-item{display:flex;align-items:center;gap:.3125rem;font-weight:600;font-size:1rem;padding-top:.1875rem;padding-bottom:.1875rem;position:relative;cursor:pointer;border-left-width:.3125rem;border-left-color:transparent;border-left-style:solid}.summary-group .entity-item:hover{background-color:#2196f31a;border-left-width:.3125rem;border-left-color:var(--primaryColor)}.summary-group .entity-item[hidden]{display:none}.summary-group .entity-item.no-results{font-weight:400}.summary-group .entity-item.no-results:hover{background-color:transparent;border-left-color:transparent;cursor:default}.summary-groups-container{overflow:auto;height:100%;width:100%;max-width:18.75rem;display:flex;position:relative;flex-direction:column}.summary-group-title{margin-left:0;color:var(--primaryColor);font-weight:700;font-size:.9375rem;filter:brightness(65%);text-transform:uppercase}.exec-operations-group{padding:0}.confirm-buttons-container{display:flex;justify-content:space-between;align-items:center;flex-direction:row;width:100%;padding-top:var(--paddingMedium)}.confirm-buttons-container .linkButton{position:absolute;left:1.5625rem;color:var(--subText);font-weight:600}.confirm-buttons-container .button{text-align:center;line-height:normal}button{width:6.25rem;height:2.5rem;color:var(--white);display:flex;align-items:center;justify-content:center}button.confirm{background-color:var(--secondary)}button.cancel{background-color:var(--primary)}.spinner{right:1em;top:1em;display:inline-block;width:1rem;height:1rem;border-radius:50%;background:transparent;border-top:.125rem solid var(--placeholder);border-right:.125rem solid var(--placeholder);border-bottom:.125rem solid transparent;border-left:.125rem solid transparent;animation:loading .5s infinite linear}.config-check,.success-check{width:1.0625rem;height:1.0625rem;cursor:pointer;background-color:var(--navigation);margin:0;margin-top:.25rem}.config-check:checked,.success-check:checked{background-color:var(--green)!important;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAYCAYAAAD+vg1LAAABdElEQVRIia3UPWsUURSH8f9GRRvtFKtIgoKggo2CYO0XsLKzsbARbNKJYGPndxEEO8VGRRvBF6xFBAkplPiyb/lZzAx7d9jE3ewcmOLOPTyc85x7bw/pKI4keZ7kUpIHQVffIwxU0e91VPHlJK+T9Or19y7Ah5N8TLJeg3eSXO9CwcNCwQCPkWWhFzE2iZ84viz4ED4X4DFuNPvLgO8XCoZ4Wu7vF3oeo0LBL5xcFnwA7wsFI9xs5+0HvFG33ih4NitvUejZAgp/sLoseAVvC7dD3NotfxHw3ZaCl+jtBT6qOn+n94CuoV8o+Fv/27WQ4E3dXh9XZyT18Kql4M7/OozJsdnBb1xoJd0uFIxqzyvzgJ+Y3KAxtrBeJ6yqJt/EEGfmmUlwDB9aVX3FCbwwPbCNeaANOKoX6UvL41axHuOd6tYtBA5OYdP0a9XECOfmhbbBUT0u26pBNjHAvUWgs8DBFdPD/ISDXYCDa/iBb3UXC0GRf9rA4qSLGyBIAAAAAElFTkSuQmCC);background-size:45%;background-position:center center;background-repeat:no-repeat;border:none}.config-check:checked:disabled,.success-check:checked:disabled{opacity:1!important}.success-check{border-radius:100%;top:.8125rem;left:.625rem;transition:var(--transition);border:.125rem var(--offWhite) solid}.config-check{border-radius:0}.config-check:checked{background-size:.625rem}.icon-clear{color:var(--red);margin-top:.25rem}.retry{background-image:url(/assets/svgs/refresh.svg);background-size:1.125rem;background-repeat:no-repeat;height:1.125rem;width:1.125rem;margin-left:.3125rem}.copy-links-container{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--gapMedium)}.copy-links-container .copy-links-title{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:23.4375rem}.copy-links-container .copy-links-title .title-container{display:flex}.copy-links-container .copy-links-title .title{font-size:1.25rem;line-height:1.25rem}.copy-links-container .copy-links-title .subtitle{display:flex;align-items:center;justify-content:center;text-align:center;color:var(--red)}.copy-links-container .copy-links-title .copy-icon{background-image:url(/assets/svgs/copy.svg);background-size:1.125rem;background-repeat:no-repeat;height:1.25rem;width:1.25rem;margin-left:.4375rem}.copy-links-container .copy-links{display:flex;flex-direction:row;justify-content:space-around;align-items:center;padding:var(--paddingMedium);width:100%}.copy-links-container .copy-links .link-button{color:var(--subText);font-size:1rem;font-weight:600;cursor:pointer}.copy-links-container .copy-links .link-button:hover{text-decoration:underline}.visibility-config-container{display:flex;flex-direction:row;align-items:center;width:100%;justify-content:flex-start;gap:.3125rem;margin-top:var(--marginMedium)}::ng-deep .creation-summary-dialog-container .form-field-content{gap:0!important}\n"] }]
89
+ args: [{ selector: 'lib-creation-summary-dialog', template: "<div class=\"creation-summary-dialog-container\">\n <div class=\"close icon-close\" (click)=\"close()\"></div>\n <div class=\"title-row\">\n <span class=\"title\">Execution Summary</span>\n <span class=\"subtitle\">The following entities were {{isEdit ? 'updated' : 'created'}} for this service</span>\n </div>\n <lib-form-field-container [showHeader]=\"false\">\n <div class=\"copy-links-container\">\n <span class=\"copy-links-title\">\n <span class=\"title\">Entities</span>\n <span class=\"subtitle\" *ngIf=\"hasCreationError\">One or more of the following resources failed to create. See below for more details and/or retry.</span>\n </span>\n </div>\n <div class=\"form-group-row exec-operations-group\">\n <div class=\"summary-groups-container\">\n <div class=\"summary-group\" *ngFor=\"let group of summaryData\">\n <div class=\"summary-group-title\">{{group.title}}</div>\n <ul>\n <li\n *ngFor=\"let entity of group.entities\"\n (click)=\"selectZitiEntity(entity.name, 'all')\"\n [ngClass]=\"{selected: selectedEntityType === 'all'}\"\n class=\"entity-item drop-target-svc\"\n >\n <span class=\"spinner\" *ngIf=\"entity.status === 'loading'\"></span>\n <input type=\"checkbox\" [disabled]=\"true\" [checked]=\"true\" class=\"success-check\" *ngIf=\"entity.status === 'done'\">\n <div class=\"retry\" *ngIf=\"entity.status === 'error'\" (click)=\"doRetry(entity)\"></div>\n <div class=\"icon-clear\" *ngIf=\"entity.status === 'error'\"></div>\n <span class=\"entity-name\" matTooltipShowDelay=\"1000\">\n {{ entity.name.length > 0 ? entity.name : 'SimpleService' }}\n </span>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </lib-form-field-container>\n <lib-form-field-container [showHeader]=\"false\" style=\"margin-top: 10px;\">\n <div class=\"copy-links-container\">\n <div class=\"copy-links-title\">\n <div class=\"title-container\">\n <span class=\"title\">Copy Links</span>\n <div class=\"copy-icon\"></div>\n </div>\n </div>\n <div class=\"copy-links\">\n <div class=\"link-button\" (click)=\"copyCliCommands()\">CLI Commands</div>\n <div class=\"link-button\" (click)=\"copyAPIRequests()\">API Requests</div>\n </div>\n </div>\n </lib-form-field-container>\n\n <div class=\"confirm-buttons-container\">\n <button class=\"button save alert\" (click)=\"done()\">Done</button>\n <button class=\"button save cancel\" (click)=\"confirm()\" *ngIf=\"!isEdit\">Create another</button>\n </div>\n</div>\n", styles: [".creation-summary-dialog-container{background-color:var(--formBackground);min-width:29.6875rem;border-radius:var(--modalBorderRadius);padding:var(--paddingXXL)}.creation-summary-dialog-container .title-row{display:flex;align-items:center;flex-direction:column;margin-bottom:var(--marginLarge)}.creation-summary-dialog-container .subtitle{color:var(--text)}.creation-summary-dialog-container .close{font-size:1.5625rem;top:.9375rem;right:.9375rem;width:2.1875rem;font-weight:600}.resource-type-container{display:flex;flex-direction:column;padding-left:var(--paddingLarge);padding-right:var(--paddingLarge)}.resource-type-container.disabled{opacity:.5}.resource-type-container.disabled select{cursor:not-allowed}.resource-type-container .resource-type-content{margin-top:1.25rem;flex-wrap:wrap}.entity-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:-moz-fit-content;width:fit-content}.summary-group ul{padding-inline-start:0rem;margin-block-start:var(--marginSmall);max-height:40.625rem;overflow:auto;overflow-x:hidden}.summary-group .entity-item{display:flex;align-items:center;gap:.3125rem;font-weight:600;font-size:1rem;padding-top:.1875rem;padding-bottom:.1875rem;position:relative;cursor:pointer;border-left-width:.3125rem;border-left-color:transparent;border-left-style:solid}.summary-group .entity-item:hover{background-color:#2196f31a;border-left-width:.3125rem;border-left-color:var(--primaryColor)}.summary-group .entity-item[hidden]{display:none}.summary-group .entity-item.no-results{font-weight:400}.summary-group .entity-item.no-results:hover{background-color:transparent;border-left-color:transparent;cursor:default}.summary-groups-container{overflow:auto;height:100%;width:100%;max-width:18.75rem;display:flex;position:relative;flex-direction:column}.summary-group-title{margin-left:0;color:var(--primaryColor);font-weight:700;font-size:.9375rem;filter:brightness(65%);text-transform:uppercase}.exec-operations-group{padding:0}.confirm-buttons-container{display:flex;justify-content:space-between;align-items:center;flex-direction:row;width:100%;padding-top:var(--paddingMedium);margin-left:auto}.confirm-buttons-container .linkButton{position:absolute;left:1.5625rem;color:var(--subText);font-weight:600}.confirm-buttons-container .button{text-align:center;line-height:normal}button{width:6.25rem;height:2.5rem;color:var(--white);display:flex;align-items:center;justify-content:center}button.confirm{background-color:var(--secondary)}button.cancel{background-color:var(--primary)}.spinner{right:1em;top:1em;display:inline-block;width:1rem;height:1rem;border-radius:50%;background:transparent;border-top:.125rem solid var(--placeholder);border-right:.125rem solid var(--placeholder);border-bottom:.125rem solid transparent;border-left:.125rem solid transparent;animation:loading .5s infinite linear}.config-check,.success-check{width:1.0625rem;height:1.0625rem;cursor:pointer;background-color:var(--navigation);margin:0;margin-top:.25rem}.config-check:checked,.success-check:checked{background-color:var(--green)!important;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAYCAYAAAD+vg1LAAABdElEQVRIia3UPWsUURSH8f9GRRvtFKtIgoKggo2CYO0XsLKzsbARbNKJYGPndxEEO8VGRRvBF6xFBAkplPiyb/lZzAx7d9jE3ewcmOLOPTyc85x7bw/pKI4keZ7kUpIHQVffIwxU0e91VPHlJK+T9Or19y7Ah5N8TLJeg3eSXO9CwcNCwQCPkWWhFzE2iZ84viz4ED4X4DFuNPvLgO8XCoZ4Wu7vF3oeo0LBL5xcFnwA7wsFI9xs5+0HvFG33ih4NitvUejZAgp/sLoseAVvC7dD3NotfxHw3ZaCl+jtBT6qOn+n94CuoV8o+Fv/27WQ4E3dXh9XZyT18Kql4M7/OozJsdnBb1xoJd0uFIxqzyvzgJ+Y3KAxtrBeJ6yqJt/EEGfmmUlwDB9aVX3FCbwwPbCNeaANOKoX6UvL41axHuOd6tYtBA5OYdP0a9XECOfmhbbBUT0u26pBNjHAvUWgs8DBFdPD/ISDXYCDa/iBb3UXC0GRf9rA4qSLGyBIAAAAAElFTkSuQmCC);background-size:45%;background-position:center center;background-repeat:no-repeat;border:none}.config-check:checked:disabled,.success-check:checked:disabled{opacity:1!important}.success-check{border-radius:100%;top:.8125rem;left:.625rem;transition:var(--transition);border:.125rem var(--offWhite) solid}.config-check{border-radius:0}.config-check:checked{background-size:.625rem}.icon-clear{color:var(--red);margin-top:.25rem}.retry{background-image:url(/assets/svgs/refresh.svg);background-size:1.125rem;background-repeat:no-repeat;height:1.125rem;width:1.125rem;margin-left:.3125rem}.copy-links-container{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--gapMedium)}.copy-links-container .copy-links-title{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:23.4375rem}.copy-links-container .copy-links-title .title-container{display:flex}.copy-links-container .copy-links-title .title{font-size:1.25rem;line-height:1.25rem}.copy-links-container .copy-links-title .subtitle{display:flex;align-items:center;justify-content:center;text-align:center;color:var(--red)}.copy-links-container .copy-links-title .copy-icon{background-image:url(/assets/svgs/copy.svg);background-size:1.125rem;background-repeat:no-repeat;height:1.25rem;width:1.25rem;margin-left:.4375rem}.copy-links-container .copy-links{display:flex;flex-direction:row;justify-content:space-around;align-items:center;padding:var(--paddingMedium);width:100%}.copy-links-container .copy-links .link-button{color:var(--subText);font-size:1rem;font-weight:600;cursor:pointer}.copy-links-container .copy-links .link-button:hover{text-decoration:underline}.visibility-config-container{display:flex;flex-direction:row;align-items:center;width:100%;justify-content:flex-start;gap:.3125rem;margin-top:var(--marginMedium)}::ng-deep .creation-summary-dialog-container .form-field-content{gap:0!important}\n"] }]
88
90
  }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
89
91
  type: Inject,
90
92
  args: [MAT_DIALOG_DATA]
91
93
  }] }, { type: i2.GrowlerService }]; } });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRpb24tc3VtbWFyeS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2NyZWF0aW9uLXN1bW1hcnktZGlhbG9nL2NyZWF0aW9uLXN1bW1hcnktZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9jcmVhdGlvbi1zdW1tYXJ5LWRpYWxvZy9jcmVhdGlvbi1zdW1tYXJ5LWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUMsZUFBZSxFQUFlLE1BQU0sMEJBQTBCLENBQUM7QUFHdkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7QUFHeEQsTUFLYSw4QkFBOEI7SUFhekMsWUFBb0IsU0FBeUMsRUFBa0MsSUFBUyxFQUFVLGNBQThCO1FBQTVILGNBQVMsR0FBVCxTQUFTLENBQWdDO1FBQWtDLFNBQUksR0FBSixJQUFJLENBQUs7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFYaEosb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFDckIsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDcEIsdUJBQWtCLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLHVCQUFrQixHQUFHLFNBQVMsQ0FBQztRQUMvQix1QkFBa0IsR0FBRyxFQUFFLENBQUM7UUFFeEIsZ0JBQVcsR0FBUSxFQUFFLENBQUM7UUFDdEIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUcxQixJQUFJLENBQUMs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LENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7K0dBMUZVLDhCQUE4Qiw4Q0FhOEIsZUFBZTttR0FiM0UsOEJBQThCLG1FQ1ozQywra0dBd0RNOztTRDVDTyw4QkFBOEI7NEZBQTlCLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDRSw2QkFBNkI7OzBCQWlCeUIsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XG5pbXBvcnQge2lzRW1wdHksIGlzTmlsfSBmcm9tIFwibG9kYXNoXCI7XG5pbXBvcnQge0NvbmZpcm1Db21wb25lbnR9IGZyb20gXCIuLi9jb25maXJtL2NvbmZpcm0uY29tcG9uZW50XCI7XG5pbXBvcnQge0dyb3dsZXJNb2RlbH0gZnJvbSBcIi4uL21lc3NhZ2luZy9ncm93bGVyLm1vZGVsXCI7XG5pbXBvcnQge0dyb3dsZXJTZXJ2aWNlfSBmcm9tIFwiLi4vbWVzc2FnaW5nL2dyb3dsZXIuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItY3JlYXRpb24tc3VtbWFyeS1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3JlYXRpb24tc3VtbWFyeS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jcmVhdGlvbi1zdW1tYXJ5LWRpYWxvZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENyZWF0aW9uU3VtbWFyeURpYWxvZ0NvbXBvbmVudCB7XG5cbiAgc2VsZWN0ZWRBcGlEYXRhID0gJyc7XG4gIHNlbGVjdGVkQXBpVXJsID0gJyc7XG4gIHNlbGVjdGVkQ2xpQ29tbWFuZCA9ICcnO1xuICBzZWxlY3RlZEVudGl0eVR5cGUgPSAnc2VydmljZSc7XG4gIHNlbGVjdGVkRW50aXR5TmFtZSA9ICcnO1xuXG4gIHN1bW1hcnlEYXRhOiBhbnkgPSBbXTtcbiAgc2hvd0FQSSA9IGZhbHNlO1xuICBoYXNFcnJvciA9IGZhbHNlO1xuICBoaWRlU3VtbWFyeU5leHRUaW1lID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxDb25maXJtQ29tcG9uZW50PiwgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBhbnksIHByaXZhdGUgZ3Jvd2xlclNlcnZpY2U6IEdyb3dsZXJTZXJ2aWNlKSB7XG4gICAgdGhpcy5zdW1tYXJ5RGF0YSA9IGRhdGEuc3VtbWFyeURhdGE7XG4gIH1cblxuICBnZXQgaGFzQ3JlYXRpb25FcnJvcigpIHtcbiAgICBsZXQgaGFzRXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLnN1bW1hcnlEYXRhLmZvckVhY2goKGdyb3VwKSA9PiB7XG4gICAgICBncm91cC5lbnRpdGllcy5mb3JFYWNoKChlbnRpdHkpID0+IHtcbiAgICAgICAgaWYgKGVudGl0eS5zdGF0dXMgPT09ICdlcnJvcicpIHtcbiAgICAgICAgICBoYXNFcnJvciA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiBoYXNFcnJvcjtcbiAgfVxuXG4gIHNlbGVjdFppdGlFbnRpdHkoZW50aXR5LCB0eXBlKSB7XG4gICAgdGhpcy5zZWxlY3RlZEVudGl0eU5hbWUgPSBlbnRpdHkubmFtZTtcbiAgICB0aGlzLnNlbGVjdGVkQ2xpQ29tbWFuZCA9IGVudGl0eS5jbGlDb21tYW5kO1xuICAgIHRoaXMuc2VsZWN0ZWRBcGlVcmwgPSBlbnRpdHkuYXBpVXJsO1xuICAgIHRoaXMuc2VsZWN0ZWRBcGlEYXRhID0gZW50aXR5LmFwaURhdGE7XG4gICAgdGhpcy5zZWxlY3RlZEVudGl0eVR5cGUgPSB0eXBlO1xuICB9XG5cbiAgdG9nZ2xlQVBJVmlldygpIHtcbiAgICB0aGlzLnNob3dBUEkgPSAhdGhpcy5zaG93QVBJO1xuICB9XG5cbiAgY29weUNsaUNvbW1hbmRzKCkge1xuICAgIGxldCBjbGlwYm9hcmRDb250ZW50ID0gJyc7XG4gICAgdGhpcy5zdW1tYXJ5RGF0YS5mb3JFYWNoKChncm91cCkgPT4ge1xuICAgICAgZ3JvdXAuZW50aXRpZXMuZm9yRWFjaCgoZW50aXR5KSA9PiB7XG4gICAgICAgIGNsaXBib2FyZENvbnRlbnQgKz0gKGVudGl0eS5jbGlDb21tYW5kICsgJ1xcclxcbicpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoY2xpcGJvYXJkQ29udGVudCk7XG4gICAgY29uc3QgZ3Jvd2xlckRhdGEgPSBuZXcgR3Jvd2xlck1vZGVsKFxuICAgICAgICAnc3VjY2VzcycsXG4gICAgICAgICdTdWNjZXNzJyxcbiAgICAgICAgYFRleHQgQ29waWVkYCxcbiAgICAgICAgYENMSSBjb21tYW5kcyBjb3BpZWQgdG8gY2xpcGJvYXJkYCxcbiAgICApO1xuICAgIHRoaXMuZ3Jvd2xlclNlcnZpY2Uuc2hvdyhncm93bGVyRGF0YSk7XG4gIH1cblxuICBjb3B5QVBJUmVxdWVzdHMoKSB7XG4gICAgbGV0IGNsaXBib2FyZENvbnRlbnQgPSAnJztcbiAgICB0aGlzLnN1bW1hcnlEYXRhLmZvckVhY2goKGdyb3VwKSA9PiB7XG4gICAgICBncm91cC5lbnRpdGllcy5mb3JFYWNoKChlbnRpdHkpID0+IHtcbiAgICAgICAgY2xpcGJvYXJkQ29udGVudCArPSAoZW50aXR5LmFwaVJlcXVlc3QgKyAnXFxyXFxuJyk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChjbGlwYm9hcmRDb250ZW50KTtcbiAgICBjb25zdCBncm93bGVyRGF0YSA9IG5ldyBHcm93bGVyTW9kZWwoXG4gICAgICAgICdzdWNjZXNzJyxcbiAgICAgICAgJ1N1Y2Nlc3MnLFxuICAgICAgICBgVGV4dCBDb3BpZWRgLFxuICAgICAgICBgQVBJIHJlcXVlc3RzIGNvcGllZCB0byBjbGlwYm9hcmRgLFxuICAgICk7XG4gICAgdGhpcy5ncm93bGVyU2VydmljZS5zaG93KGdyb3dsZXJEYXRhKTtcbiAgfVxuXG4gIGRvUmV0cnkoZW50aXR5RGF0YSkge1xuICAgIGVudGl0eURhdGEubG9hZGluZyA9ICdsb2FkaW5nJztcbiAgICBlbnRpdHlEYXRhLnJldHJ5KHRoaXMuc3VtbWFyeURhdGEpO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoJ2NhbmNlbCcpO1xuICB9XG5cbiAgZG9uZSgpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgnZG9uZScpO1xuICB9XG5cbiAgY29uZmlybSgpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgnbmV3Jyk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjcmVhdGlvbi1zdW1tYXJ5LWRpYWxvZy1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2xvc2UgaWNvbi1jbG9zZVwiIChjbGljayk9XCJjbG9zZSgpXCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInRpdGxlLXJvd1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCI+RXhlY3V0aW9uIFN1bW1hcnk8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic3VidGl0bGVcIj5UaGUgZm9sbG93aW5nIGVudGl0aWVzIHdlcmUgY3JlYXRlZCBmb3IgdGhpcyBzZXJ2aWNlPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxsaWItZm9ybS1maWVsZC1jb250YWluZXIgW3Nob3dIZWFkZXJdPVwiZmFsc2VcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvcHktbGlua3MtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvcHktbGlua3MtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCI+RW50aXRpZXM8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWJ0aXRsZVwiICpuZ0lmPVwiaGFzQ3JlYXRpb25FcnJvclwiPk9uZSBvciBtb3JlIG9mIHRoZSBmb2xsb3dpbmcgcmVzb3VyY2VzIGZhaWxlZCB0byBjcmVhdGUuIFNlZSBiZWxvdyBmb3IgbW9yZSBkZXRhaWxzIGFuZC9vciByZXRyeS48L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cC1yb3cgZXhlYy1vcGVyYXRpb25zLWdyb3VwXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VtbWFyeS1ncm91cHMtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1bW1hcnktZ3JvdXBcIiAqbmdGb3I9XCJsZXQgZ3JvdXAgb2Ygc3VtbWFyeURhdGFcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1bW1hcnktZ3JvdXAtdGl0bGVcIj57e2dyb3VwLnRpdGxlfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBlbnRpdHkgb2YgZ3JvdXAuZW50aXRpZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0Wml0aUVudGl0eShlbnRpdHkubmFtZSwgJ2FsbCcpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie3NlbGVjdGVkOiBzZWxlY3RlZEVudGl0eVR5cGUgPT09ICdhbGwnfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZW50aXR5LWl0ZW0gZHJvcC10YXJnZXQtc3ZjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNwaW5uZXJcIiAqbmdJZj1cImVudGl0eS5zdGF0dXMgPT09ICdsb2FkaW5nJ1wiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgW2Rpc2FibGVkXT1cInRydWVcIiBbY2hlY2tlZF09XCJ0cnVlXCIgY2xhc3M9XCJzdWNjZXNzLWNoZWNrXCIgKm5nSWY9XCJlbnRpdHkuc3RhdHVzID09PSAnZG9uZSdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmV0cnlcIiAqbmdJZj1cImVudGl0eS5zdGF0dXMgPT09ICdlcnJvcidcIiAoY2xpY2spPVwiZG9SZXRyeShlbnRpdHkpXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24tY2xlYXJcIiAqbmdJZj1cImVudGl0eS5zdGF0dXMgPT09ICdlcnJvcidcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVudGl0eS1uYW1lXCIgbWF0VG9vbHRpcFNob3dEZWxheT1cIjEwMDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZW50aXR5Lm5hbWUubGVuZ3RoID4gMCA/IGVudGl0eS5uYW1lIDogJ1NpbXBsZVNlcnZpY2UnIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2xpYi1mb3JtLWZpZWxkLWNvbnRhaW5lcj5cbiAgICA8bGliLWZvcm0tZmllbGQtY29udGFpbmVyIFtzaG93SGVhZGVyXT1cImZhbHNlXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAxMHB4O1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29weS1saW5rcy1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb3B5LWxpbmtzLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCI+Q29weSBMaW5rczwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvcHktaWNvblwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29weS1saW5rc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5rLWJ1dHRvblwiIChjbGljayk9XCJjb3B5Q2xpQ29tbWFuZHMoKVwiPkNMSSBDb21tYW5kczwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5rLWJ1dHRvblwiIChjbGljayk9XCJjb3B5QVBJUmVxdWVzdHMoKVwiPkFQSSBSZXF1ZXN0czwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbGliLWZvcm0tZmllbGQtY29udGFpbmVyPlxuXG4gICAgPGRpdiBjbGFzcz1cImNvbmZpcm0tYnV0dG9ucy1jb250YWluZXJcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBzYXZlIGFsZXJ0XCIgKGNsaWNrKT1cImRvbmUoKVwiPkRvbmU8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBzYXZlIGNhbmNlbFwiIChjbGljayk9XCJjb25maXJtKClcIj5DcmVhdGUgYW5vdGhlcjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9kaXY+Il19
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRpb24tc3VtbWFyeS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2NyZWF0aW9uLXN1bW1hcnktZGlhbG9nL2NyZWF0aW9uLXN1bW1hcnktZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9jcmVhdGlvbi1zdW1tYXJ5LWRpYWxvZy9jcmVhdGlvbi1zdW1tYXJ5LWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUMsZUFBZSxFQUFlLE1BQU0sMEJBQTBCLENBQUM7QUFHdkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7QUFHeEQsTUFLYSw4QkFBOEI7SUFjekMsWUFBb0IsU0FBeUMsRUFBa0MsSUFBUyxFQUFVLGNBQThCO1FBQTVILGNBQVMsR0FBVCxTQUFTLENBQWdDO1FBQWtDLFNBQUksR0FBSixJQUFJLENBQUs7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFaaEosb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFDckIsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDcEIsdUJBQWtCLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLHVCQUFrQixHQUFHLFNBQVMsQ0FBQztRQUMvQix1QkFBa0IsR0FBRyxFQUFFLENBQUM7UUFFeEIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLGdCQUFXLEdBQVEsRUFBRSxDQUFDO1FBQ3RCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQix3QkFBbUIsR0FBRyxL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O1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7K0dBNUZVLDhCQUE4Qiw4Q0FjOEIsZUFBZTttR0FkM0UsOEJBQThCLG1FQ1ozQyw4bUdBeURBOztTRDdDYSw4QkFBOEI7NEZBQTlCLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDRSw2QkFBNkI7OzBCQWtCeUIsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XG5pbXBvcnQge2lzRW1wdHksIGlzTmlsfSBmcm9tIFwibG9kYXNoXCI7XG5pbXBvcnQge0NvbmZpcm1Db21wb25lbnR9IGZyb20gXCIuLi9jb25maXJtL2NvbmZpcm0uY29tcG9uZW50XCI7XG5pbXBvcnQge0dyb3dsZXJNb2RlbH0gZnJvbSBcIi4uL21lc3NhZ2luZy9ncm93bGVyLm1vZGVsXCI7XG5pbXBvcnQge0dyb3dsZXJTZXJ2aWNlfSBmcm9tIFwiLi4vbWVzc2FnaW5nL2dyb3dsZXIuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItY3JlYXRpb24tc3VtbWFyeS1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3JlYXRpb24tc3VtbWFyeS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jcmVhdGlvbi1zdW1tYXJ5LWRpYWxvZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENyZWF0aW9uU3VtbWFyeURpYWxvZ0NvbXBvbmVudCB7XG5cbiAgc2VsZWN0ZWRBcGlEYXRhID0gJyc7XG4gIHNlbGVjdGVkQXBpVXJsID0gJyc7XG4gIHNlbGVjdGVkQ2xpQ29tbWFuZCA9ICcnO1xuICBzZWxlY3RlZEVudGl0eVR5cGUgPSAnc2VydmljZSc7XG4gIHNlbGVjdGVkRW50aXR5TmFtZSA9ICcnO1xuXG4gIGlzRWRpdCA9IGZhbHNlO1xuICBzdW1tYXJ5RGF0YTogYW55ID0gW107XG4gIHNob3dBUEkgPSBmYWxzZTtcbiAgaGFzRXJyb3IgPSBmYWxzZTtcbiAgaGlkZVN1bW1hcnlOZXh0VGltZSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8Q29uZmlybUNvbXBvbmVudD4sIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55LCBwcml2YXRlIGdyb3dsZXJTZXJ2aWNlOiBHcm93bGVyU2VydmljZSkge1xuICAgIHRoaXMuc3VtbWFyeURhdGEgPSBkYXRhLnN1bW1hcnlEYXRhO1xuICAgIHRoaXMuaXNFZGl0ID0gZGF0YS5pc0VkaXQgPT09IHRydWU7XG4gIH1cblxuICBnZXQgaGFzQ3JlYXRpb25FcnJvcigpIHtcbiAgICBsZXQgaGFzRXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLnN1bW1hcnlEYXRhLmZvckVhY2goKGdyb3VwKSA9PiB7XG4gICAgICBncm91cC5lbnRpdGllcy5mb3JFYWNoKChlbnRpdHkpID0+IHtcbiAgICAgICAgaWYgKGVudGl0eS5zdGF0dXMgPT09ICdlcnJvcicpIHtcbiAgICAgICAgICBoYXNFcnJvciA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiBoYXNFcnJvcjtcbiAgfVxuXG4gIHNlbGVjdFppdGlFbnRpdHkoZW50aXR5LCB0eXBlKSB7XG4gICAgdGhpcy5zZWxlY3RlZEVudGl0eU5hbWUgPSBlbnRpdHkubmFtZTtcbiAgICB0aGlzLnNlbGVjdGVkQ2xpQ29tbWFuZCA9IGVudGl0eS5jbGlDb21tYW5kO1xuICAgIHRoaXMuc2VsZWN0ZWRBcGlVcmwgPSBlbnRpdHkuYXBpVXJsO1xuICAgIHRoaXMuc2VsZWN0ZWRBcGlEYXRhID0gZW50aXR5LmFwaURhdGE7XG4gICAgdGhpcy5zZWxlY3RlZEVudGl0eVR5cGUgPSB0eXBlO1xuICB9XG5cbiAgdG9nZ2xlQVBJVmlldygpIHtcbiAgICB0aGlzLnNob3dBUEkgPSAhdGhpcy5zaG93QVBJO1xuICB9XG5cbiAgY29weUNsaUNvbW1hbmRzKCkge1xuICAgIGxldCBjbGlwYm9hcmRDb250ZW50ID0gJyc7XG4gICAgdGhpcy5zdW1tYXJ5RGF0YS5mb3JFYWNoKChncm91cCkgPT4ge1xuICAgICAgZ3JvdXAuZW50aXRpZXMuZm9yRWFjaCgoZW50aXR5KSA9PiB7XG4gICAgICAgIGNsaXBib2FyZENvbnRlbnQgKz0gKGVudGl0eS5jbGlDb21tYW5kICsgJ1xcclxcbicpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoY2xpcGJvYXJkQ29udGVudCk7XG4gICAgY29uc3QgZ3Jvd2xlckRhdGEgPSBuZXcgR3Jvd2xlck1vZGVsKFxuICAgICAgICAnc3VjY2VzcycsXG4gICAgICAgICdTdWNjZXNzJyxcbiAgICAgICAgYFRleHQgQ29waWVkYCxcbiAgICAgICAgYENMSSBjb21tYW5kcyBjb3BpZWQgdG8gY2xpcGJvYXJkYCxcbiAgICApO1xuICAgIHRoaXMuZ3Jvd2xlclNlcnZpY2Uuc2hvdyhncm93bGVyRGF0YSk7XG4gIH1cblxuICBjb3B5QVBJUmVxdWVzdHMoKSB7XG4gICAgbGV0IGNsaXBib2FyZENvbnRlbnQgPSAnJztcbiAgICB0aGlzLnN1bW1hcnlEYXRhLmZvckVhY2goKGdyb3VwKSA9PiB7XG4gICAgICBncm91cC5lbnRpdGllcy5mb3JFYWNoKChlbnRpdHkpID0+IHtcbiAgICAgICAgY2xpcGJvYXJkQ29udGVudCArPSAoZW50aXR5LmFwaVJlcXVlc3QgKyAnXFxyXFxuJyk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChjbGlwYm9hcmRDb250ZW50KTtcbiAgICBjb25zdCBncm93bGVyRGF0YSA9IG5ldyBHcm93bGVyTW9kZWwoXG4gICAgICAgICdzdWNjZXNzJyxcbiAgICAgICAgJ1N1Y2Nlc3MnLFxuICAgICAgICBgVGV4dCBDb3BpZWRgLFxuICAgICAgICBgQVBJIHJlcXVlc3RzIGNvcGllZCB0byBjbGlwYm9hcmRgLFxuICAgICk7XG4gICAgdGhpcy5ncm93bGVyU2VydmljZS5zaG93KGdyb3dsZXJEYXRhKTtcbiAgfVxuXG4gIGRvUmV0cnkoZW50aXR5RGF0YSkge1xuICAgIGVudGl0eURhdGEubG9hZGluZyA9ICdsb2FkaW5nJztcbiAgICBlbnRpdHlEYXRhLnJldHJ5KHRoaXMuc3VtbWFyeURhdGEpO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoJ2NhbmNlbCcpO1xuICB9XG5cbiAgZG9uZSgpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgnZG9uZScpO1xuICB9XG5cbiAgY29uZmlybSgpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgnbmV3Jyk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjcmVhdGlvbi1zdW1tYXJ5LWRpYWxvZy1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2xvc2UgaWNvbi1jbG9zZVwiIChjbGljayk9XCJjbG9zZSgpXCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInRpdGxlLXJvd1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCI+RXhlY3V0aW9uIFN1bW1hcnk8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic3VidGl0bGVcIj5UaGUgZm9sbG93aW5nIGVudGl0aWVzIHdlcmUge3tpc0VkaXQgPyAndXBkYXRlZCcgOiAnY3JlYXRlZCd9fSBmb3IgdGhpcyBzZXJ2aWNlPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxsaWItZm9ybS1maWVsZC1jb250YWluZXIgW3Nob3dIZWFkZXJdPVwiZmFsc2VcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvcHktbGlua3MtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvcHktbGlua3MtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCI+RW50aXRpZXM8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWJ0aXRsZVwiICpuZ0lmPVwiaGFzQ3JlYXRpb25FcnJvclwiPk9uZSBvciBtb3JlIG9mIHRoZSBmb2xsb3dpbmcgcmVzb3VyY2VzIGZhaWxlZCB0byBjcmVhdGUuIFNlZSBiZWxvdyBmb3IgbW9yZSBkZXRhaWxzIGFuZC9vciByZXRyeS48L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cC1yb3cgZXhlYy1vcGVyYXRpb25zLWdyb3VwXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VtbWFyeS1ncm91cHMtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1bW1hcnktZ3JvdXBcIiAqbmdGb3I9XCJsZXQgZ3JvdXAgb2Ygc3VtbWFyeURhdGFcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1bW1hcnktZ3JvdXAtdGl0bGVcIj57e2dyb3VwLnRpdGxlfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGVudGl0eSBvZiBncm91cC5lbnRpdGllc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFppdGlFbnRpdHkoZW50aXR5Lm5hbWUsICdhbGwnKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie3NlbGVjdGVkOiBzZWxlY3RlZEVudGl0eVR5cGUgPT09ICdhbGwnfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJlbnRpdHktaXRlbSBkcm9wLXRhcmdldC1zdmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Bpbm5lclwiICpuZ0lmPVwiZW50aXR5LnN0YXR1cyA9PT0gJ2xvYWRpbmcnXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbZGlzYWJsZWRdPVwidHJ1ZVwiIFtjaGVja2VkXT1cInRydWVcIiBjbGFzcz1cInN1Y2Nlc3MtY2hlY2tcIiAqbmdJZj1cImVudGl0eS5zdGF0dXMgPT09ICdkb25lJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXRyeVwiICpuZ0lmPVwiZW50aXR5LnN0YXR1cyA9PT0gJ2Vycm9yJ1wiIChjbGljayk9XCJkb1JldHJ5KGVudGl0eSlcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jbGVhclwiICpuZ0lmPVwiZW50aXR5LnN0YXR1cyA9PT0gJ2Vycm9yJ1wiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZW50aXR5LW5hbWVcIiBtYXRUb29sdGlwU2hvd0RlbGF5PVwiMTAwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBlbnRpdHkubmFtZS5sZW5ndGggPiAwID8gZW50aXR5Lm5hbWUgOiAnU2ltcGxlU2VydmljZScgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbGliLWZvcm0tZmllbGQtY29udGFpbmVyPlxuICAgIDxsaWItZm9ybS1maWVsZC1jb250YWluZXIgW3Nob3dIZWFkZXJdPVwiZmFsc2VcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDEwcHg7XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb3B5LWxpbmtzLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvcHktbGlua3MtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGVcIj5Db3B5IExpbmtzPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29weS1pY29uXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb3B5LWxpbmtzXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmstYnV0dG9uXCIgKGNsaWNrKT1cImNvcHlDbGlDb21tYW5kcygpXCI+Q0xJIENvbW1hbmRzPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmstYnV0dG9uXCIgKGNsaWNrKT1cImNvcHlBUElSZXF1ZXN0cygpXCI+QVBJIFJlcXVlc3RzPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9saWItZm9ybS1maWVsZC1jb250YWluZXI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY29uZmlybS1idXR0b25zLWNvbnRhaW5lclwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIHNhdmUgYWxlcnRcIiAoY2xpY2spPVwiZG9uZSgpXCI+RG9uZTwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIHNhdmUgY2FuY2VsXCIgKGNsaWNrKT1cImNvbmZpcm0oKVwiICpuZ0lmPVwiIWlzRWRpdFwiPkNyZWF0ZSBhbm90aGVyPC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==