@formio/angular 7.5.0-rc.2 → 7.5.0-rc.3

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 (531) hide show
  1. package/.angular/cache/17.3.11/ng-packagr/content-v2/sha512/05/48/d04de6c9dd6cc970174ec810b8763a7201a44f1f043eaa206a929f03661e08328175ec2130578946c68b6c428925092b68f3810c98e83ddefdd04a1e53ae +1 -0
  2. package/.angular/cache/17.3.11/ng-packagr/content-v2/sha512/0c/7a/916bd866cb386cc87b9ea07c40edc23df9d726d1865e6699b42dedfbfb2a8364ced191aa62680a9297d7644cdfa64753b8975cc254c7c581f28bba0acd15 +1 -0
  3. package/.angular/cache/17.3.11/ng-packagr/content-v2/sha512/0f/64/5529707a758edfd436e81d4f087fb08604b393418b3e62de8670320e45f6bce9f906d2049b04e253452ed3a9de294a77177d3edda706317d12a4e2e3f178 +1 -0
  4. package/.angular/cache/17.3.11/ng-packagr/content-v2/sha512/0f/87/cc75b2e2048387a29af168ce6ef16af778b2493edb5c300be18c00aee265046b76757ef1529035538757e8d67939641c5e6e973f8b16f15454b6388ad458 +1 -0
  5. package/.angular/cache/17.3.11/ng-packagr/content-v2/sha512/1d/78/8bb45acaf12d07da78505c3db11a6ddf4fcd67a02759a709602732d23c57539a455e48673c232ea7877cabaae9b5a5f36e5cc3f7d6678408d7e10755efba +1 -0
  6. package/.angular/cache/17.3.11/ng-packagr/content-v2/sha512/23/e0/0cef272ca5d493a181999e846b505b18ae907e32510a9ce401d6bc6840178abc845a7bad97e9fb0d316610bb5a50eae99666cb0039456256d58b4036ce49 +1 -0
  7. package/.angular/cache/17.3.11/ng-packagr/content-v2/sha512/2e/d1/fd1e76ed0e0ac117aa0f151a37dfa2ee1f0d20c16efd25eb2dda914a0f4851c8c9138c2ab2668875cccbe7d8dc1316fb876ed602997c3d88b38f3d69608e +1 -0
  8. package/.angular/cache/17.3.11/ng-packagr/content-v2/sha512/3d/64/86fe297363ae06dc259f28eb85b668db3c3d27ad69c47346c1e59a2d37b5c6f731012a3b9d01cc73ee884db76c073e99db6ee36fb6e1b5794bb0c484961e +1 -0
  9. package/.angular/cache/17.3.11/ng-packagr/content-v2/sha512/43/05/c86feb68c6e6f17d2b1e7d4aadfbef2f8554b42c9e0b7516b22a7c34044b513c23987b00507d17cb8f89b9b762b5499483d4ec16708519940e00cee5863a +1 -0
  10. package/.angular/cache/17.3.11/ng-packagr/content-v2/sha512/90/dc/6f232859c1661d7bce8d938eb857811a2a242f1af32be5471f4a7afcc79112d8fe2f1cd10733eb6ab2f4b122128c9bcb59ef79f665e8bdc822fb619cf71d +1 -0
  11. package/.angular/cache/17.3.11/ng-packagr/content-v2/sha512/9c/21/3b8af7b6ee09c29bf340610026191af56f9ba1cba1f5e4476424775d5e322f84d7e900c4d264d39804cebf3dcb5aaa5eb5e9d8fd143bc3a8aa76c3d5325e +1 -0
  12. package/.angular/cache/17.3.11/ng-packagr/content-v2/sha512/a1/c9/d53b052617ead62a7a7ed222aefa04fdf88179f1ff22757a51e02a461f14a960ddb4d4c58410193564bbc0b9b471fdf675e528650bfadffdf1f05a51fb1c +1 -0
  13. package/.angular/cache/17.3.11/ng-packagr/content-v2/sha512/af/5c/97d9a08342685ee95844b54aed260370df0de7c2408ec7b14f7da3972c811ee5a4cae7be4f51de07dd039c8639ec4e9008733bcf0b6a438b29a83d7fabe3 +1 -0
  14. package/.angular/cache/17.3.11/ng-packagr/content-v2/sha512/b9/6c/40f7b79417755e63c59cb241b5d8937ccb1e98935edaaaff140754d194464cadde591529dea2b658e6ed3683a2a1c6ab2f4b5af0b7442e205ed2a3202d12 +1 -0
  15. package/.angular/cache/17.3.11/ng-packagr/content-v2/sha512/ba/5d/d939f6c0890924d0234b6253e4c7baab7e285c4e9e3b838d4f223f5365ce00c421e48383fc21ecdf847e1592936f5be80b0d20ea3db471bfe39e181c091a +1 -0
  16. package/.angular/cache/17.3.11/ng-packagr/content-v2/sha512/c4/04/38e045ef1f5a08780250af79817fdce229ac2877ef258d020696429e97ee56400a38a10e754119a5040bd9a61a9e6c9bad2b67e1b2230cc7f6c08cee2012 +1 -0
  17. package/.angular/cache/17.3.11/ng-packagr/content-v2/sha512/d8/60/f8b2e8223de247915d7167a52ab1db89c1aa95b1cc2ae546ae1a3ae861f168ca7f2eacd745a5aac3bf7dab1810bab18800713a96bc2cc0d9546a42584838 +1 -0
  18. package/.angular/cache/17.3.11/ng-packagr/content-v2/sha512/e2/ab/084476c66de117be0fc8df1ac2ad3610491dece2f450a8d631bbae35ba9336b1fc1b1fee30bc5a224cf2e42ef97651a98787610cc9bb76a8795b01ddf844 +1 -0
  19. package/.angular/cache/17.3.11/ng-packagr/content-v2/sha512/e9/ca/53ff813610ae5d57a25518e6546b659a092de2c929fd43130db59358947aa9aa5797289f7ca39fe550d2e41050a69cb26e6b5dd6ebbcae0207ab08474dc8 +1 -0
  20. package/.angular/cache/17.3.11/ng-packagr/content-v2/sha512/eb/88/6891253bdfd039f6cff6fba9605cdd56af0ac6b6ac89f75b9c50ef9d4efab72e99b7df88a963ec1d616e515bd8492b4a7d08ce1128f6b37348cba49b31d4 +1 -0
  21. package/.angular/cache/17.3.11/ng-packagr/index-v5/10/3e/bfb4a4f2af67449cde67fce4c2622d0e0b0882a10117aba630be789d00cb +2 -0
  22. package/.angular/cache/17.3.11/ng-packagr/index-v5/14/ba/05c03e8f139db178da4552cabab3e47e607743b3f8f591b2e88d1a670668 +2 -0
  23. package/.angular/cache/17.3.11/ng-packagr/index-v5/15/39/e3511d5e68c4dcc26982fb854c4f4ae6067ebe79a2fea69c3c3b74b8fb8e +2 -0
  24. package/.angular/cache/17.3.11/ng-packagr/index-v5/22/7c/80262d5400fc47a73d4de35e8d2d1273ac92a2a0510a072834aa8700ea3a +2 -0
  25. package/.angular/cache/17.3.11/ng-packagr/index-v5/30/17/d10c504815c39561191351fac35a1899a5c8518773a8714413d7f4f2cfe7 +2 -0
  26. package/.angular/cache/17.3.11/ng-packagr/index-v5/47/6f/3ccf073a4a3e77309ec535e446b6ae48554dac2d6bdbb71d2e9a5da03e2a +2 -0
  27. package/.angular/cache/17.3.11/ng-packagr/index-v5/50/3f/7fa40d24c1a57e94a3440546ddec4ad5e9ea45401fa3c72e44b4d667897a +2 -0
  28. package/.angular/cache/17.3.11/ng-packagr/index-v5/58/f1/f5e623ce81fd5bbbd6b3f2e68c40525fc9254ea89c755af2fec60d83565b +2 -0
  29. package/.angular/cache/17.3.11/ng-packagr/index-v5/5d/ba/20dc4ab0920555881535690446c05d09d79ad3ec8a1184f80f4f4eb6fb15 +2 -0
  30. package/.angular/cache/17.3.11/ng-packagr/index-v5/60/fc/06c32c2088791e55b2b2fa3bb7f9078a23508cec2ceb5d584aa5101e686e +2 -0
  31. package/.angular/cache/17.3.11/ng-packagr/index-v5/7b/0b/eab56c95f2af77017e2a4ac90bf24eb33f368b47f2d30eb381fd5fb67eca +2 -0
  32. package/.angular/cache/17.3.11/ng-packagr/index-v5/8c/e2/44ef271b53872b9ce3939f6aa2529036add9fd99c43966917a2960f6e16d +2 -0
  33. package/.angular/cache/17.3.11/ng-packagr/index-v5/90/ae/4f675f5fa3ea045bea3beceb382a3c146396eec2b78e4c467881ca9201ea +2 -0
  34. package/.angular/cache/17.3.11/ng-packagr/index-v5/92/48/d893b8061214f8a744f666769b867db45d6de5ec76c9cd2e54acd94b3a53 +2 -0
  35. package/.angular/cache/17.3.11/ng-packagr/index-v5/9a/a4/a78c45687a5e227573c93d84612ebd91e426edce74f47ccf745ee902aa44 +2 -0
  36. package/.angular/cache/17.3.11/ng-packagr/index-v5/b6/f6/8e429f4c067378f16cc9f05894a168026d2e3e80ba7a193bdcaed4e80929 +2 -0
  37. package/.angular/cache/17.3.11/ng-packagr/index-v5/c0/15/2b2d30407871742bd4b6a71865b485a31f03a9ad8e7ef99b1b77433b7396 +2 -0
  38. package/.angular/cache/17.3.11/ng-packagr/index-v5/d7/1d/2fa87e8361aa205f0808ebc18932bcbe909ffc2d642e10744362ae8bdf98 +2 -0
  39. package/.angular/cache/17.3.11/ng-packagr/index-v5/e6/57/792d6a77a40d99eb3a0235f77f3bca76da031a7d43a24236205000b3e246 +2 -0
  40. package/.angular/cache/17.3.11/ng-packagr/index-v5/fc/48/ce2f43b95216107e0944aa38aeac10ad25105a2a7a7f1f347879611ad96e +2 -0
  41. package/.angular/cache/17.3.11/ng-packagr/tsbuildinfo/formio-angular-auth.tsbuildinfo +1 -0
  42. package/.angular/cache/17.3.11/ng-packagr/tsbuildinfo/formio-angular-embed.tsbuildinfo +1 -0
  43. package/.angular/cache/17.3.11/ng-packagr/tsbuildinfo/formio-angular-grid.tsbuildinfo +1 -0
  44. package/.angular/cache/17.3.11/ng-packagr/tsbuildinfo/formio-angular-manager.tsbuildinfo +1 -0
  45. package/.angular/cache/17.3.11/ng-packagr/tsbuildinfo/formio-angular-resource.tsbuildinfo +1 -0
  46. package/.angular/cache/17.3.11/ng-packagr/tsbuildinfo/formio-angular.tsbuildinfo +1 -0
  47. package/.dockerignore +5 -0
  48. package/.editorconfig +13 -0
  49. package/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
  50. package/.github/ISSUE_TEMPLATE/custom-components-support-request.md +15 -0
  51. package/.github/ISSUE_TEMPLATE/question.md +8 -0
  52. package/.github/pull_request_template.md +35 -0
  53. package/.github/workflows/ci.yml +231 -0
  54. package/.travis.yml +4 -0
  55. package/.yo-rc.json +7 -0
  56. package/CHANGELOG.md +1195 -0
  57. package/Dockerfile +20 -0
  58. package/LICENSE +21 -0
  59. package/README.md +204 -13
  60. package/angular.json +38 -0
  61. package/bs-config.json +11 -0
  62. package/{FormioBaseComponent.d.ts → dist/angular-formio/FormioBaseComponent.d.ts} +1 -1
  63. package/{FormioBaseComponent.d.ts.map → dist/angular-formio/FormioBaseComponent.d.ts.map} +1 -1
  64. package/dist/angular-formio/README.md +24 -0
  65. package/{core.d.ts → dist/angular-formio/core.d.ts} +3 -1
  66. package/{core.d.ts.map → dist/angular-formio/core.d.ts.map} +1 -1
  67. package/dist/angular-formio/esm2022/FormioBaseComponent.mjs +587 -0
  68. package/dist/angular-formio/esm2022/auth/auth.component.mjs +23 -0
  69. package/dist/angular-formio/esm2022/auth/auth.config.mjs +21 -0
  70. package/dist/angular-formio/esm2022/auth/auth.module.mjs +47 -0
  71. package/dist/angular-formio/esm2022/auth/auth.service.mjs +199 -0
  72. package/dist/angular-formio/esm2022/auth/login/login.component.mjs +27 -0
  73. package/dist/angular-formio/esm2022/auth/register/register.component.mjs +27 -0
  74. package/dist/angular-formio/esm2022/auth/resetpass/resetpass.component.mjs +24 -0
  75. package/dist/angular-formio/esm2022/components/alerts/formio.alerts.component.mjs +46 -0
  76. package/dist/angular-formio/esm2022/components/alerts/parse-html-content.pipe.mjs +19 -0
  77. package/dist/angular-formio/esm2022/components/formbuilder/formbuilder.component.mjs +211 -0
  78. package/dist/angular-formio/esm2022/components/formio/formio.component.mjs +85 -0
  79. package/dist/angular-formio/esm2022/components/formioreport/formioreport.component.mjs +137 -0
  80. package/dist/angular-formio/esm2022/components/loader/formio.loader.component.mjs +25 -0
  81. package/dist/angular-formio/esm2022/core.mjs +19 -0
  82. package/dist/angular-formio/esm2022/custom-tags.service.mjs +14 -0
  83. package/dist/angular-formio/esm2022/formio.common.mjs +11 -0
  84. package/dist/angular-formio/esm2022/formio.config.mjs +29 -0
  85. package/dist/angular-formio/esm2022/formio.module.mjs +60 -0
  86. package/dist/angular-formio/esm2022/formio.service.mjs +62 -0
  87. package/dist/angular-formio/esm2022/formio.utils.mjs +23 -0
  88. package/{esm2022 → dist/angular-formio/esm2022}/grid/GridBodyComponent.mjs +26 -20
  89. package/dist/angular-formio/esm2022/grid/GridFooterComponent.mjs +50 -0
  90. package/dist/angular-formio/esm2022/grid/GridHeaderComponent.mjs +40 -0
  91. package/dist/angular-formio/esm2022/grid/form/FormGridBody.component.mjs +165 -0
  92. package/dist/angular-formio/esm2022/grid/form/FormGridFooter.component.mjs +112 -0
  93. package/dist/angular-formio/esm2022/grid/form/FormGridHeader.component.mjs +54 -0
  94. package/{esm2022 → dist/angular-formio/esm2022}/grid/form/time-since.pipe.mjs +9 -9
  95. package/dist/angular-formio/esm2022/grid/grid.component.mjs +321 -0
  96. package/dist/angular-formio/esm2022/grid/grid.module.mjs +80 -0
  97. package/dist/angular-formio/esm2022/grid/grid.service.mjs +18 -0
  98. package/dist/angular-formio/esm2022/grid/submission/SubmissionGridBody.component.mjs +74 -0
  99. package/dist/angular-formio/esm2022/grid/submission/SubmissionGridFooter.component.mjs +103 -0
  100. package/dist/angular-formio/esm2022/grid/submission/SubmissionGridHeader.component.mjs +96 -0
  101. package/dist/angular-formio/esm2022/manager/create/create.component.mjs +62 -0
  102. package/dist/angular-formio/esm2022/manager/delete/delete.component.mjs +58 -0
  103. package/dist/angular-formio/esm2022/manager/edit/edit.component.mjs +181 -0
  104. package/dist/angular-formio/esm2022/manager/form/form.component.mjs +176 -0
  105. package/dist/angular-formio/esm2022/manager/form-manager.config.mjs +18 -0
  106. package/dist/angular-formio/esm2022/manager/form-manager.module.mjs +84 -0
  107. package/{esm2022 → dist/angular-formio/esm2022}/manager/form-manager.service.mjs +6 -6
  108. package/dist/angular-formio/esm2022/manager/index/index.component.mjs +149 -0
  109. package/dist/angular-formio/esm2022/manager/submission/delete/delete.component.mjs +48 -0
  110. package/dist/angular-formio/esm2022/manager/submission/edit/edit.component.mjs +32 -0
  111. package/dist/angular-formio/esm2022/manager/submission/index/index.component.mjs +32 -0
  112. package/dist/angular-formio/esm2022/manager/submission/submission/submission.component.mjs +67 -0
  113. package/dist/angular-formio/esm2022/manager/submission/view/view.component.mjs +24 -0
  114. package/dist/angular-formio/esm2022/manager/view/view.component.mjs +66 -0
  115. package/dist/angular-formio/esm2022/resource/create/create.component.mjs +64 -0
  116. package/dist/angular-formio/esm2022/resource/delete/delete.component.mjs +42 -0
  117. package/{esm2022 → dist/angular-formio/esm2022}/resource/edit/edit.component.mjs +14 -7
  118. package/dist/angular-formio/esm2022/resource/index/index.component.mjs +79 -0
  119. package/dist/angular-formio/esm2022/resource/resource.component.mjs +72 -0
  120. package/dist/angular-formio/esm2022/resource/resource.config.mjs +13 -0
  121. package/dist/angular-formio/esm2022/resource/resource.module.mjs +63 -0
  122. package/dist/angular-formio/esm2022/resource/resource.service.mjs +231 -0
  123. package/dist/angular-formio/esm2022/resource/resources.service.mjs +25 -0
  124. package/dist/angular-formio/esm2022/resource/view/view.component.mjs +30 -0
  125. package/{fesm2022 → dist/angular-formio/fesm2022}/formio-angular-auth.mjs +92 -59
  126. package/dist/angular-formio/fesm2022/formio-angular-auth.mjs.map +1 -0
  127. package/dist/angular-formio/fesm2022/formio-angular-grid.mjs +1213 -0
  128. package/dist/angular-formio/fesm2022/formio-angular-grid.mjs.map +1 -0
  129. package/dist/angular-formio/fesm2022/formio-angular-manager.mjs +1165 -0
  130. package/dist/angular-formio/fesm2022/formio-angular-manager.mjs.map +1 -0
  131. package/dist/angular-formio/fesm2022/formio-angular-resource.mjs +656 -0
  132. package/dist/angular-formio/fesm2022/formio-angular-resource.mjs.map +1 -0
  133. package/dist/angular-formio/fesm2022/formio-angular.mjs +1323 -0
  134. package/dist/angular-formio/fesm2022/formio-angular.mjs.map +1 -0
  135. package/{formio.common.d.ts → dist/angular-formio/formio.common.d.ts} +1 -2
  136. package/dist/angular-formio/formio.common.d.ts.map +1 -0
  137. package/{formio.config.d.ts → dist/angular-formio/formio.config.d.ts} +1 -0
  138. package/dist/angular-formio/formio.config.d.ts.map +1 -0
  139. package/{formio.utils.d.ts.map → dist/angular-formio/formio.utils.d.ts.map} +1 -1
  140. package/{grid → dist/angular-formio/grid}/submission/SubmissionGridHeader.component.d.ts +1 -1
  141. package/dist/angular-formio/grid/submission/SubmissionGridHeader.component.d.ts.map +1 -0
  142. package/{manager → dist/angular-formio/manager}/edit/edit.component.d.ts.map +1 -1
  143. package/{manager → dist/angular-formio/manager}/index/index.component.d.ts.map +1 -1
  144. package/{resource → dist/angular-formio/resource}/resource.service.d.ts.map +1 -1
  145. package/package.json +55 -63
  146. package/projects/angular-formio/README.md +24 -0
  147. package/projects/angular-formio/auth/ng-package.json +5 -0
  148. package/projects/angular-formio/auth/src/auth.component.html +11 -0
  149. package/projects/angular-formio/auth/src/auth.component.ts +5 -0
  150. package/projects/angular-formio/auth/src/auth.config.ts +72 -0
  151. package/projects/angular-formio/auth/src/auth.module.ts +33 -0
  152. package/projects/angular-formio/auth/src/auth.routes.ts +34 -0
  153. package/projects/angular-formio/auth/src/auth.service.ts +221 -0
  154. package/projects/angular-formio/auth/src/index.ts +8 -0
  155. package/projects/angular-formio/auth/src/login/login.component.html +1 -0
  156. package/projects/angular-formio/auth/src/login/login.component.ts +11 -0
  157. package/projects/angular-formio/auth/src/public_api.ts +5 -0
  158. package/projects/angular-formio/auth/src/register/register.component.html +1 -0
  159. package/projects/angular-formio/auth/src/register/register.component.ts +11 -0
  160. package/projects/angular-formio/auth/src/resetpass/resetpass.component.html +1 -0
  161. package/projects/angular-formio/auth/src/resetpass/resetpass.component.ts +8 -0
  162. package/projects/angular-formio/grid/ng-package.json +5 -0
  163. package/projects/angular-formio/grid/src/GridBodyComponent.ts +80 -0
  164. package/projects/angular-formio/grid/src/GridFooterComponent.ts +25 -0
  165. package/projects/angular-formio/grid/src/GridHeaderComponent.ts +25 -0
  166. package/projects/angular-formio/grid/src/form/FormGridBody.component.html +22 -0
  167. package/projects/angular-formio/grid/src/form/FormGridBody.component.scss +4 -0
  168. package/projects/angular-formio/grid/src/form/FormGridBody.component.ts +46 -0
  169. package/projects/angular-formio/grid/src/form/FormGridFooter.component.html +21 -0
  170. package/projects/angular-formio/grid/src/form/FormGridFooter.component.ts +23 -0
  171. package/projects/angular-formio/grid/src/form/FormGridHeader.component.html +18 -0
  172. package/projects/angular-formio/grid/src/form/FormGridHeader.component.ts +24 -0
  173. package/projects/angular-formio/grid/src/form/index.ts +8 -0
  174. package/projects/angular-formio/grid/src/form/time-since.pipe.ts +31 -0
  175. package/projects/angular-formio/grid/src/grid.component.html +18 -0
  176. package/projects/angular-formio/grid/src/grid.component.scss +9 -0
  177. package/projects/angular-formio/grid/src/grid.component.ts +242 -0
  178. package/projects/angular-formio/grid/src/grid.footer.scss +14 -0
  179. package/projects/angular-formio/grid/src/grid.module.ts +49 -0
  180. package/projects/angular-formio/grid/src/grid.service.ts +16 -0
  181. package/projects/angular-formio/grid/src/index.ts +12 -0
  182. package/projects/angular-formio/grid/src/public_api.ts +5 -0
  183. package/projects/angular-formio/grid/src/submission/SubmissionGridBody.component.html +7 -0
  184. package/projects/angular-formio/grid/src/submission/SubmissionGridBody.component.ts +39 -0
  185. package/projects/angular-formio/grid/src/submission/SubmissionGridFooter.component.html +18 -0
  186. package/projects/angular-formio/grid/src/submission/SubmissionGridFooter.component.ts +20 -0
  187. package/projects/angular-formio/grid/src/submission/SubmissionGridHeader.component.html +11 -0
  188. package/projects/angular-formio/grid/src/submission/SubmissionGridHeader.component.ts +73 -0
  189. package/projects/angular-formio/grid/src/submission/index.ts +8 -0
  190. package/projects/angular-formio/grid/src/types/grid-column.ts +7 -0
  191. package/projects/angular-formio/grid/src/types/grid-footer-positions.ts +5 -0
  192. package/projects/angular-formio/grid/src/types/grid-header.ts +14 -0
  193. package/projects/angular-formio/karma.conf.js +32 -0
  194. package/projects/angular-formio/manager/ng-package.json +5 -0
  195. package/projects/angular-formio/manager/src/create/create.component.ts +11 -0
  196. package/projects/angular-formio/manager/src/delete/delete.component.html +6 -0
  197. package/projects/angular-formio/manager/src/delete/delete.component.ts +37 -0
  198. package/projects/angular-formio/manager/src/edit/edit.component.html +19 -0
  199. package/projects/angular-formio/manager/src/edit/edit.component.ts +111 -0
  200. package/projects/angular-formio/manager/src/form/form.component.html +32 -0
  201. package/projects/angular-formio/manager/src/form/form.component.ts +73 -0
  202. package/projects/angular-formio/manager/src/form-manager.config.ts +31 -0
  203. package/projects/angular-formio/manager/src/form-manager.module.ts +54 -0
  204. package/projects/angular-formio/manager/src/form-manager.routes.ts +75 -0
  205. package/projects/angular-formio/manager/src/form-manager.service.ts +190 -0
  206. package/projects/angular-formio/manager/src/index/index.component.html +14 -0
  207. package/projects/angular-formio/manager/src/index/index.component.scss +22 -0
  208. package/projects/angular-formio/manager/src/index/index.component.ts +98 -0
  209. package/projects/angular-formio/manager/src/index.ts +16 -0
  210. package/projects/angular-formio/manager/src/public_api.ts +5 -0
  211. package/projects/angular-formio/manager/src/submission/delete/delete.component.html +6 -0
  212. package/projects/angular-formio/manager/src/submission/delete/delete.component.ts +26 -0
  213. package/projects/angular-formio/manager/src/submission/edit/edit.component.html +7 -0
  214. package/projects/angular-formio/manager/src/submission/edit/edit.component.ts +18 -0
  215. package/projects/angular-formio/manager/src/submission/index/index.component.html +1 -0
  216. package/projects/angular-formio/manager/src/submission/index/index.component.ts +18 -0
  217. package/projects/angular-formio/manager/src/submission/submission/submission.component.html +8 -0
  218. package/projects/angular-formio/manager/src/submission/submission/submission.component.ts +24 -0
  219. package/projects/angular-formio/manager/src/submission/view/view.component.html +7 -0
  220. package/projects/angular-formio/manager/src/submission/view/view.component.ts +9 -0
  221. package/projects/angular-formio/manager/src/view/view.component.html +11 -0
  222. package/projects/angular-formio/manager/src/view/view.component.ts +44 -0
  223. package/projects/angular-formio/ng-package.json +7 -0
  224. package/projects/angular-formio/package.json +37 -0
  225. package/projects/angular-formio/resource/ng-package.json +5 -0
  226. package/projects/angular-formio/resource/src/create/create.component.html +13 -0
  227. package/projects/angular-formio/resource/src/create/create.component.scss +3 -0
  228. package/projects/angular-formio/resource/src/create/create.component.ts +37 -0
  229. package/projects/angular-formio/resource/src/delete/delete.component.html +5 -0
  230. package/projects/angular-formio/resource/src/delete/delete.component.ts +24 -0
  231. package/projects/angular-formio/resource/src/edit/edit.component.html +7 -0
  232. package/projects/angular-formio/resource/src/edit/edit.component.ts +35 -0
  233. package/projects/angular-formio/resource/src/index/index.component.html +10 -0
  234. package/projects/angular-formio/resource/src/index/index.component.ts +64 -0
  235. package/projects/angular-formio/resource/src/index.js +24 -0
  236. package/projects/angular-formio/resource/src/index.ts +11 -0
  237. package/projects/angular-formio/resource/src/public_api.ts +5 -0
  238. package/projects/angular-formio/resource/src/resource.component.html +7 -0
  239. package/projects/angular-formio/resource/src/resource.component.ts +48 -0
  240. package/projects/angular-formio/resource/src/resource.config.ts +17 -0
  241. package/projects/angular-formio/resource/src/resource.module.ts +43 -0
  242. package/projects/angular-formio/resource/src/resource.routes.ts +43 -0
  243. package/projects/angular-formio/resource/src/resource.service.ts +260 -0
  244. package/projects/angular-formio/resource/src/resources.service.ts +24 -0
  245. package/projects/angular-formio/resource/src/view/view.component.html +6 -0
  246. package/projects/angular-formio/resource/src/view/view.component.ts +19 -0
  247. package/projects/angular-formio/src/FormioBaseComponent.ts +554 -0
  248. package/projects/angular-formio/src/components/alerts/formio.alerts.component.html +3 -0
  249. package/projects/angular-formio/src/components/alerts/formio.alerts.component.ts +19 -0
  250. package/projects/angular-formio/src/components/alerts/formio.alerts.ts +21 -0
  251. package/projects/angular-formio/src/components/alerts/parse-html-content.pipe.ts +15 -0
  252. package/projects/angular-formio/src/components/formbuilder/formbuilder.component.html +1 -0
  253. package/projects/angular-formio/src/components/formbuilder/formbuilder.component.ts +213 -0
  254. package/projects/angular-formio/src/components/formio/formio.component.html +8 -0
  255. package/projects/angular-formio/src/components/formio/formio.component.ts +33 -0
  256. package/projects/angular-formio/src/components/formioreport/formioreport.component.html +8 -0
  257. package/projects/angular-formio/src/components/formioreport/formioreport.component.ts +95 -0
  258. package/projects/angular-formio/src/components/loader/formio.loader.component.html +3 -0
  259. package/projects/angular-formio/src/components/loader/formio.loader.component.scss +26 -0
  260. package/projects/angular-formio/src/components/loader/formio.loader.component.ts +10 -0
  261. package/projects/angular-formio/src/core.ts +19 -0
  262. package/projects/angular-formio/src/custom-tags.service.ts +9 -0
  263. package/projects/angular-formio/src/formio-promise.service.ts +36 -0
  264. package/projects/angular-formio/src/formio.common.ts +90 -0
  265. package/projects/angular-formio/src/formio.config.ts +27 -0
  266. package/projects/angular-formio/src/formio.module.ts +38 -0
  267. package/projects/angular-formio/src/formio.service.ts +57 -0
  268. package/projects/angular-formio/src/formio.utils.ts +25 -0
  269. package/projects/angular-formio/src/index.ts +3 -0
  270. package/projects/angular-formio/src/public-api.ts +5 -0
  271. package/projects/angular-formio/src/test.ts +28 -0
  272. package/projects/angular-formio/src/types/alerts-position.ts +6 -0
  273. package/projects/angular-formio/src/types/formio-metadata.ts +10 -0
  274. package/projects/angular-formio/src/types/formio-submission.ts +20 -0
  275. package/projects/angular-formio/tsconfig.lib.json +27 -0
  276. package/projects/angular-formio/tsconfig.lib.prod.json +8 -0
  277. package/projects/angular-formio/tsconfig.spec.json +17 -0
  278. package/projects/angular-formio/tslint.json +17 -0
  279. package/tsconfig.json +40 -0
  280. package/tslint.json +140 -0
  281. package/embed/app.service.d.ts +0 -28
  282. package/embed/app.service.d.ts.map +0 -1
  283. package/embed/builder.component.d.ts +0 -14
  284. package/embed/builder.component.d.ts.map +0 -1
  285. package/embed/embed.module.d.ts +0 -10
  286. package/embed/embed.module.d.ts.map +0 -1
  287. package/embed/formio-angular-embed.d.ts.map +0 -1
  288. package/embed/formio.component.d.ts +0 -17
  289. package/embed/formio.component.d.ts.map +0 -1
  290. package/embed/index.d.ts +0 -7
  291. package/embed/index.d.ts.map +0 -1
  292. package/esm2022/FormioBaseComponent.mjs +0 -580
  293. package/esm2022/auth/auth.component.mjs +0 -12
  294. package/esm2022/auth/auth.config.mjs +0 -21
  295. package/esm2022/auth/auth.module.mjs +0 -46
  296. package/esm2022/auth/auth.service.mjs +0 -199
  297. package/esm2022/auth/login/login.component.mjs +0 -20
  298. package/esm2022/auth/register/register.component.mjs +0 -20
  299. package/esm2022/auth/resetpass/resetpass.component.mjs +0 -17
  300. package/esm2022/components/alerts/formio.alerts.component.mjs +0 -28
  301. package/esm2022/components/alerts/parse-html-content.pipe.mjs +0 -19
  302. package/esm2022/components/formbuilder/formbuilder.component.mjs +0 -202
  303. package/esm2022/components/formio/formio.component.mjs +0 -43
  304. package/esm2022/components/formioreport/formioreport.component.mjs +0 -89
  305. package/esm2022/components/loader/formio.loader.component.mjs +0 -15
  306. package/esm2022/core.mjs +0 -18
  307. package/esm2022/custom-tags.service.mjs +0 -14
  308. package/esm2022/embed/app.service.mjs +0 -58
  309. package/esm2022/embed/builder.component.mjs +0 -36
  310. package/esm2022/embed/embed.module.mjs +0 -35
  311. package/esm2022/embed/formio-angular-embed.mjs +0 -5
  312. package/esm2022/embed/formio.component.mjs +0 -50
  313. package/esm2022/embed/index.mjs +0 -7
  314. package/esm2022/formio.common.mjs +0 -11
  315. package/esm2022/formio.config.mjs +0 -29
  316. package/esm2022/formio.module.mjs +0 -59
  317. package/esm2022/formio.service.mjs +0 -62
  318. package/esm2022/formio.utils.mjs +0 -21
  319. package/esm2022/grid/GridFooterComponent.mjs +0 -44
  320. package/esm2022/grid/GridHeaderComponent.mjs +0 -34
  321. package/esm2022/grid/form/FormGridBody.component.mjs +0 -63
  322. package/esm2022/grid/form/FormGridFooter.component.mjs +0 -26
  323. package/esm2022/grid/form/FormGridHeader.component.mjs +0 -27
  324. package/esm2022/grid/grid.component.mjs +0 -257
  325. package/esm2022/grid/grid.module.mjs +0 -79
  326. package/esm2022/grid/grid.service.mjs +0 -18
  327. package/esm2022/grid/submission/SubmissionGridBody.component.mjs +0 -43
  328. package/esm2022/grid/submission/SubmissionGridFooter.component.mjs +0 -23
  329. package/esm2022/grid/submission/SubmissionGridHeader.component.mjs +0 -63
  330. package/esm2022/manager/create/create.component.mjs +0 -18
  331. package/esm2022/manager/delete/delete.component.mjs +0 -42
  332. package/esm2022/manager/edit/edit.component.mjs +0 -125
  333. package/esm2022/manager/form/form.component.mjs +0 -80
  334. package/esm2022/manager/form-manager.config.mjs +0 -18
  335. package/esm2022/manager/form-manager.module.mjs +0 -83
  336. package/esm2022/manager/index/index.component.mjs +0 -108
  337. package/esm2022/manager/submission/delete/delete.component.mjs +0 -32
  338. package/esm2022/manager/submission/edit/edit.component.mjs +0 -25
  339. package/esm2022/manager/submission/index/index.component.mjs +0 -25
  340. package/esm2022/manager/submission/submission/submission.component.mjs +0 -29
  341. package/esm2022/manager/submission/view/view.component.mjs +0 -17
  342. package/esm2022/manager/view/view.component.mjs +0 -52
  343. package/esm2022/resource/create/create.component.mjs +0 -43
  344. package/esm2022/resource/delete/delete.component.mjs +0 -29
  345. package/esm2022/resource/index/index.component.mjs +0 -69
  346. package/esm2022/resource/resource.component.mjs +0 -46
  347. package/esm2022/resource/resource.config.mjs +0 -13
  348. package/esm2022/resource/resource.module.mjs +0 -62
  349. package/esm2022/resource/resource.service.mjs +0 -229
  350. package/esm2022/resource/resources.service.mjs +0 -25
  351. package/esm2022/resource/view/view.component.mjs +0 -25
  352. package/fesm2022/formio-angular-auth.mjs.map +0 -1
  353. package/fesm2022/formio-angular-embed.mjs +0 -176
  354. package/fesm2022/formio-angular-embed.mjs.map +0 -1
  355. package/fesm2022/formio-angular-grid.mjs +0 -772
  356. package/fesm2022/formio-angular-grid.mjs.map +0 -1
  357. package/fesm2022/formio-angular-manager.mjs +0 -822
  358. package/fesm2022/formio-angular-manager.mjs.map +0 -1
  359. package/fesm2022/formio-angular-resource.mjs +0 -571
  360. package/fesm2022/formio-angular-resource.mjs.map +0 -1
  361. package/fesm2022/formio-angular.mjs +0 -1187
  362. package/fesm2022/formio-angular.mjs.map +0 -1
  363. package/formio.common.d.ts.map +0 -1
  364. package/formio.config.d.ts.map +0 -1
  365. package/grid/submission/SubmissionGridHeader.component.d.ts.map +0 -1
  366. /package/{auth → dist/angular-formio/auth}/auth.component.d.ts +0 -0
  367. /package/{auth → dist/angular-formio/auth}/auth.component.d.ts.map +0 -0
  368. /package/{auth → dist/angular-formio/auth}/auth.config.d.ts +0 -0
  369. /package/{auth → dist/angular-formio/auth}/auth.config.d.ts.map +0 -0
  370. /package/{auth → dist/angular-formio/auth}/auth.module.d.ts +0 -0
  371. /package/{auth → dist/angular-formio/auth}/auth.module.d.ts.map +0 -0
  372. /package/{auth → dist/angular-formio/auth}/auth.routes.d.ts +0 -0
  373. /package/{auth → dist/angular-formio/auth}/auth.routes.d.ts.map +0 -0
  374. /package/{auth → dist/angular-formio/auth}/auth.service.d.ts +0 -0
  375. /package/{auth → dist/angular-formio/auth}/auth.service.d.ts.map +0 -0
  376. /package/{auth → dist/angular-formio/auth}/formio-angular-auth.d.ts.map +0 -0
  377. /package/{auth → dist/angular-formio/auth}/index.d.ts +0 -0
  378. /package/{auth → dist/angular-formio/auth}/index.d.ts.map +0 -0
  379. /package/{auth → dist/angular-formio/auth}/login/login.component.d.ts +0 -0
  380. /package/{auth → dist/angular-formio/auth}/login/login.component.d.ts.map +0 -0
  381. /package/{auth → dist/angular-formio/auth}/register/register.component.d.ts +0 -0
  382. /package/{auth → dist/angular-formio/auth}/register/register.component.d.ts.map +0 -0
  383. /package/{auth → dist/angular-formio/auth}/resetpass/resetpass.component.d.ts +0 -0
  384. /package/{auth → dist/angular-formio/auth}/resetpass/resetpass.component.d.ts.map +0 -0
  385. /package/{components → dist/angular-formio/components}/alerts/formio.alerts.component.d.ts +0 -0
  386. /package/{components → dist/angular-formio/components}/alerts/formio.alerts.component.d.ts.map +0 -0
  387. /package/{components → dist/angular-formio/components}/alerts/formio.alerts.d.ts +0 -0
  388. /package/{components → dist/angular-formio/components}/alerts/formio.alerts.d.ts.map +0 -0
  389. /package/{components → dist/angular-formio/components}/alerts/parse-html-content.pipe.d.ts +0 -0
  390. /package/{components → dist/angular-formio/components}/alerts/parse-html-content.pipe.d.ts.map +0 -0
  391. /package/{components → dist/angular-formio/components}/formbuilder/formbuilder.component.d.ts +0 -0
  392. /package/{components → dist/angular-formio/components}/formbuilder/formbuilder.component.d.ts.map +0 -0
  393. /package/{components → dist/angular-formio/components}/formio/formio.component.d.ts +0 -0
  394. /package/{components → dist/angular-formio/components}/formio/formio.component.d.ts.map +0 -0
  395. /package/{components → dist/angular-formio/components}/formioreport/formioreport.component.d.ts +0 -0
  396. /package/{components → dist/angular-formio/components}/formioreport/formioreport.component.d.ts.map +0 -0
  397. /package/{components → dist/angular-formio/components}/loader/formio.loader.component.d.ts +0 -0
  398. /package/{components → dist/angular-formio/components}/loader/formio.loader.component.d.ts.map +0 -0
  399. /package/{custom-tags.service.d.ts → dist/angular-formio/custom-tags.service.d.ts} +0 -0
  400. /package/{custom-tags.service.d.ts.map → dist/angular-formio/custom-tags.service.d.ts.map} +0 -0
  401. /package/{esm2022 → dist/angular-formio/esm2022}/auth/auth.routes.mjs +0 -0
  402. /package/{esm2022 → dist/angular-formio/esm2022}/auth/formio-angular-auth.mjs +0 -0
  403. /package/{esm2022 → dist/angular-formio/esm2022}/auth/index.mjs +0 -0
  404. /package/{esm2022 → dist/angular-formio/esm2022}/components/alerts/formio.alerts.mjs +0 -0
  405. /package/{esm2022 → dist/angular-formio/esm2022}/formio-angular.mjs +0 -0
  406. /package/{esm2022 → dist/angular-formio/esm2022}/formio-promise.service.mjs +0 -0
  407. /package/{esm2022 → dist/angular-formio/esm2022}/grid/form/index.mjs +0 -0
  408. /package/{esm2022 → dist/angular-formio/esm2022}/grid/formio-angular-grid.mjs +0 -0
  409. /package/{esm2022 → dist/angular-formio/esm2022}/grid/index.mjs +0 -0
  410. /package/{esm2022 → dist/angular-formio/esm2022}/grid/submission/index.mjs +0 -0
  411. /package/{esm2022 → dist/angular-formio/esm2022}/grid/types/grid-column.mjs +0 -0
  412. /package/{esm2022 → dist/angular-formio/esm2022}/grid/types/grid-footer-positions.mjs +0 -0
  413. /package/{esm2022 → dist/angular-formio/esm2022}/grid/types/grid-header.mjs +0 -0
  414. /package/{esm2022 → dist/angular-formio/esm2022}/index.mjs +0 -0
  415. /package/{esm2022 → dist/angular-formio/esm2022}/manager/form-manager.routes.mjs +0 -0
  416. /package/{esm2022 → dist/angular-formio/esm2022}/manager/formio-angular-manager.mjs +0 -0
  417. /package/{esm2022 → dist/angular-formio/esm2022}/manager/index.mjs +0 -0
  418. /package/{esm2022 → dist/angular-formio/esm2022}/resource/formio-angular-resource.mjs +0 -0
  419. /package/{esm2022 → dist/angular-formio/esm2022}/resource/index.mjs +0 -0
  420. /package/{esm2022 → dist/angular-formio/esm2022}/resource/resource.routes.mjs +0 -0
  421. /package/{esm2022 → dist/angular-formio/esm2022}/types/alerts-position.mjs +0 -0
  422. /package/{esm2022 → dist/angular-formio/esm2022}/types/formio-metadata.mjs +0 -0
  423. /package/{esm2022 → dist/angular-formio/esm2022}/types/formio-submission.mjs +0 -0
  424. /package/{formio-angular.d.ts.map → dist/angular-formio/formio-angular.d.ts.map} +0 -0
  425. /package/{formio-promise.service.d.ts → dist/angular-formio/formio-promise.service.d.ts} +0 -0
  426. /package/{formio-promise.service.d.ts.map → dist/angular-formio/formio-promise.service.d.ts.map} +0 -0
  427. /package/{formio.module.d.ts → dist/angular-formio/formio.module.d.ts} +0 -0
  428. /package/{formio.module.d.ts.map → dist/angular-formio/formio.module.d.ts.map} +0 -0
  429. /package/{formio.service.d.ts → dist/angular-formio/formio.service.d.ts} +0 -0
  430. /package/{formio.service.d.ts.map → dist/angular-formio/formio.service.d.ts.map} +0 -0
  431. /package/{formio.utils.d.ts → dist/angular-formio/formio.utils.d.ts} +0 -0
  432. /package/{grid → dist/angular-formio/grid}/GridBodyComponent.d.ts +0 -0
  433. /package/{grid → dist/angular-formio/grid}/GridBodyComponent.d.ts.map +0 -0
  434. /package/{grid → dist/angular-formio/grid}/GridFooterComponent.d.ts +0 -0
  435. /package/{grid → dist/angular-formio/grid}/GridFooterComponent.d.ts.map +0 -0
  436. /package/{grid → dist/angular-formio/grid}/GridHeaderComponent.d.ts +0 -0
  437. /package/{grid → dist/angular-formio/grid}/GridHeaderComponent.d.ts.map +0 -0
  438. /package/{grid → dist/angular-formio/grid}/form/FormGridBody.component.d.ts +0 -0
  439. /package/{grid → dist/angular-formio/grid}/form/FormGridBody.component.d.ts.map +0 -0
  440. /package/{grid → dist/angular-formio/grid}/form/FormGridFooter.component.d.ts +0 -0
  441. /package/{grid → dist/angular-formio/grid}/form/FormGridFooter.component.d.ts.map +0 -0
  442. /package/{grid → dist/angular-formio/grid}/form/FormGridHeader.component.d.ts +0 -0
  443. /package/{grid → dist/angular-formio/grid}/form/FormGridHeader.component.d.ts.map +0 -0
  444. /package/{grid → dist/angular-formio/grid}/form/index.d.ts +0 -0
  445. /package/{grid → dist/angular-formio/grid}/form/index.d.ts.map +0 -0
  446. /package/{grid → dist/angular-formio/grid}/form/time-since.pipe.d.ts +0 -0
  447. /package/{grid → dist/angular-formio/grid}/form/time-since.pipe.d.ts.map +0 -0
  448. /package/{grid → dist/angular-formio/grid}/formio-angular-grid.d.ts.map +0 -0
  449. /package/{grid → dist/angular-formio/grid}/grid.component.d.ts +0 -0
  450. /package/{grid → dist/angular-formio/grid}/grid.component.d.ts.map +0 -0
  451. /package/{grid → dist/angular-formio/grid}/grid.module.d.ts +0 -0
  452. /package/{grid → dist/angular-formio/grid}/grid.module.d.ts.map +0 -0
  453. /package/{grid → dist/angular-formio/grid}/grid.service.d.ts +0 -0
  454. /package/{grid → dist/angular-formio/grid}/grid.service.d.ts.map +0 -0
  455. /package/{grid → dist/angular-formio/grid}/index.d.ts +0 -0
  456. /package/{grid → dist/angular-formio/grid}/index.d.ts.map +0 -0
  457. /package/{grid → dist/angular-formio/grid}/submission/SubmissionGridBody.component.d.ts +0 -0
  458. /package/{grid → dist/angular-formio/grid}/submission/SubmissionGridBody.component.d.ts.map +0 -0
  459. /package/{grid → dist/angular-formio/grid}/submission/SubmissionGridFooter.component.d.ts +0 -0
  460. /package/{grid → dist/angular-formio/grid}/submission/SubmissionGridFooter.component.d.ts.map +0 -0
  461. /package/{grid → dist/angular-formio/grid}/submission/index.d.ts +0 -0
  462. /package/{grid → dist/angular-formio/grid}/submission/index.d.ts.map +0 -0
  463. /package/{grid → dist/angular-formio/grid}/types/grid-column.d.ts +0 -0
  464. /package/{grid → dist/angular-formio/grid}/types/grid-column.d.ts.map +0 -0
  465. /package/{grid → dist/angular-formio/grid}/types/grid-footer-positions.d.ts +0 -0
  466. /package/{grid → dist/angular-formio/grid}/types/grid-footer-positions.d.ts.map +0 -0
  467. /package/{grid → dist/angular-formio/grid}/types/grid-header.d.ts +0 -0
  468. /package/{grid → dist/angular-formio/grid}/types/grid-header.d.ts.map +0 -0
  469. /package/{index.d.ts → dist/angular-formio/index.d.ts} +0 -0
  470. /package/{index.d.ts.map → dist/angular-formio/index.d.ts.map} +0 -0
  471. /package/{manager → dist/angular-formio/manager}/create/create.component.d.ts +0 -0
  472. /package/{manager → dist/angular-formio/manager}/create/create.component.d.ts.map +0 -0
  473. /package/{manager → dist/angular-formio/manager}/delete/delete.component.d.ts +0 -0
  474. /package/{manager → dist/angular-formio/manager}/delete/delete.component.d.ts.map +0 -0
  475. /package/{manager → dist/angular-formio/manager}/edit/edit.component.d.ts +0 -0
  476. /package/{manager → dist/angular-formio/manager}/form/form.component.d.ts +0 -0
  477. /package/{manager → dist/angular-formio/manager}/form/form.component.d.ts.map +0 -0
  478. /package/{manager → dist/angular-formio/manager}/form-manager.config.d.ts +0 -0
  479. /package/{manager → dist/angular-formio/manager}/form-manager.config.d.ts.map +0 -0
  480. /package/{manager → dist/angular-formio/manager}/form-manager.module.d.ts +0 -0
  481. /package/{manager → dist/angular-formio/manager}/form-manager.module.d.ts.map +0 -0
  482. /package/{manager → dist/angular-formio/manager}/form-manager.routes.d.ts +0 -0
  483. /package/{manager → dist/angular-formio/manager}/form-manager.routes.d.ts.map +0 -0
  484. /package/{manager → dist/angular-formio/manager}/form-manager.service.d.ts +0 -0
  485. /package/{manager → dist/angular-formio/manager}/form-manager.service.d.ts.map +0 -0
  486. /package/{manager → dist/angular-formio/manager}/formio-angular-manager.d.ts.map +0 -0
  487. /package/{manager → dist/angular-formio/manager}/index/index.component.d.ts +0 -0
  488. /package/{manager → dist/angular-formio/manager}/index.d.ts +0 -0
  489. /package/{manager → dist/angular-formio/manager}/index.d.ts.map +0 -0
  490. /package/{manager → dist/angular-formio/manager}/submission/delete/delete.component.d.ts +0 -0
  491. /package/{manager → dist/angular-formio/manager}/submission/delete/delete.component.d.ts.map +0 -0
  492. /package/{manager → dist/angular-formio/manager}/submission/edit/edit.component.d.ts +0 -0
  493. /package/{manager → dist/angular-formio/manager}/submission/edit/edit.component.d.ts.map +0 -0
  494. /package/{manager → dist/angular-formio/manager}/submission/index/index.component.d.ts +0 -0
  495. /package/{manager → dist/angular-formio/manager}/submission/index/index.component.d.ts.map +0 -0
  496. /package/{manager → dist/angular-formio/manager}/submission/submission/submission.component.d.ts +0 -0
  497. /package/{manager → dist/angular-formio/manager}/submission/submission/submission.component.d.ts.map +0 -0
  498. /package/{manager → dist/angular-formio/manager}/submission/view/view.component.d.ts +0 -0
  499. /package/{manager → dist/angular-formio/manager}/submission/view/view.component.d.ts.map +0 -0
  500. /package/{manager → dist/angular-formio/manager}/view/view.component.d.ts +0 -0
  501. /package/{manager → dist/angular-formio/manager}/view/view.component.d.ts.map +0 -0
  502. /package/{resource → dist/angular-formio/resource}/create/create.component.d.ts +0 -0
  503. /package/{resource → dist/angular-formio/resource}/create/create.component.d.ts.map +0 -0
  504. /package/{resource → dist/angular-formio/resource}/delete/delete.component.d.ts +0 -0
  505. /package/{resource → dist/angular-formio/resource}/delete/delete.component.d.ts.map +0 -0
  506. /package/{resource → dist/angular-formio/resource}/edit/edit.component.d.ts +0 -0
  507. /package/{resource → dist/angular-formio/resource}/edit/edit.component.d.ts.map +0 -0
  508. /package/{resource → dist/angular-formio/resource}/formio-angular-resource.d.ts.map +0 -0
  509. /package/{resource → dist/angular-formio/resource}/index/index.component.d.ts +0 -0
  510. /package/{resource → dist/angular-formio/resource}/index/index.component.d.ts.map +0 -0
  511. /package/{resource → dist/angular-formio/resource}/index.d.ts +0 -0
  512. /package/{resource → dist/angular-formio/resource}/index.d.ts.map +0 -0
  513. /package/{resource → dist/angular-formio/resource}/resource.component.d.ts +0 -0
  514. /package/{resource → dist/angular-formio/resource}/resource.component.d.ts.map +0 -0
  515. /package/{resource → dist/angular-formio/resource}/resource.config.d.ts +0 -0
  516. /package/{resource → dist/angular-formio/resource}/resource.config.d.ts.map +0 -0
  517. /package/{resource → dist/angular-formio/resource}/resource.module.d.ts +0 -0
  518. /package/{resource → dist/angular-formio/resource}/resource.module.d.ts.map +0 -0
  519. /package/{resource → dist/angular-formio/resource}/resource.routes.d.ts +0 -0
  520. /package/{resource → dist/angular-formio/resource}/resource.routes.d.ts.map +0 -0
  521. /package/{resource → dist/angular-formio/resource}/resource.service.d.ts +0 -0
  522. /package/{resource → dist/angular-formio/resource}/resources.service.d.ts +0 -0
  523. /package/{resource → dist/angular-formio/resource}/resources.service.d.ts.map +0 -0
  524. /package/{resource → dist/angular-formio/resource}/view/view.component.d.ts +0 -0
  525. /package/{resource → dist/angular-formio/resource}/view/view.component.d.ts.map +0 -0
  526. /package/{types → dist/angular-formio/types}/alerts-position.d.ts +0 -0
  527. /package/{types → dist/angular-formio/types}/alerts-position.d.ts.map +0 -0
  528. /package/{types → dist/angular-formio/types}/formio-metadata.d.ts +0 -0
  529. /package/{types → dist/angular-formio/types}/formio-metadata.d.ts.map +0 -0
  530. /package/{types → dist/angular-formio/types}/formio-submission.d.ts +0 -0
  531. /package/{types → dist/angular-formio/types}/formio-submission.d.ts.map +0 -0
@@ -0,0 +1,176 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../form-manager.service";
4
+ import * as i2 from "@angular/router";
5
+ import * as i3 from "@formio/angular";
6
+ import * as i4 from "../form-manager.config";
7
+ import * as i5 from "ngx-bootstrap/modal";
8
+ import * as i6 from "@angular/common";
9
+ import * as i7 from "@angular/forms";
10
+ const _c0 = a0 => ({ "active": a0 });
11
+ function FormManagerFormComponent_button_0_Template(rf, ctx) { if (rf & 1) {
12
+ const _r1 = i0.ɵɵgetCurrentView();
13
+ i0.ɵɵelementStart(0, "button", 12);
14
+ i0.ɵɵlistener("click", function FormManagerFormComponent_button_0_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); const content_r3 = i0.ɵɵreference(17); return i0.ɵɵresetView(ctx_r1.openEmbed(content_r3)); });
15
+ i0.ɵɵelement(1, "em", 13);
16
+ i0.ɵɵtext(2, " Share");
17
+ i0.ɵɵelementEnd();
18
+ } }
19
+ function FormManagerFormComponent_li_13_Template(rf, ctx) { if (rf & 1) {
20
+ i0.ɵɵelementStart(0, "li", 6)(1, "a", 14);
21
+ i0.ɵɵelement(2, "em", 15);
22
+ i0.ɵɵtext(3, " Edit Form");
23
+ i0.ɵɵelementEnd()();
24
+ } }
25
+ function FormManagerFormComponent_li_14_Template(rf, ctx) { if (rf & 1) {
26
+ i0.ɵɵelementStart(0, "li", 6)(1, "a", 16);
27
+ i0.ɵɵelement(2, "span", 17);
28
+ i0.ɵɵelementEnd()();
29
+ } }
30
+ function FormManagerFormComponent_ng_template_16_pre_16_Template(rf, ctx) { if (rf & 1) {
31
+ i0.ɵɵelementStart(0, "pre");
32
+ i0.ɵɵelement(1, "textarea", 31);
33
+ i0.ɵɵelementEnd();
34
+ } if (rf & 2) {
35
+ const ctx_r1 = i0.ɵɵnextContext(2);
36
+ i0.ɵɵadvance();
37
+ i0.ɵɵproperty("ngModel", ctx_r1.embedCode);
38
+ } }
39
+ function FormManagerFormComponent_ng_template_16_input_17_Template(rf, ctx) { if (rf & 1) {
40
+ i0.ɵɵelement(0, "input", 32);
41
+ } if (rf & 2) {
42
+ const ctx_r1 = i0.ɵɵnextContext(2);
43
+ i0.ɵɵproperty("ngModel", ctx_r1.shareUrl);
44
+ } }
45
+ function FormManagerFormComponent_ng_template_16_Template(rf, ctx) { if (rf & 1) {
46
+ const _r4 = i0.ɵɵgetCurrentView();
47
+ i0.ɵɵelementStart(0, "div", 18)(1, "h4", 19);
48
+ i0.ɵɵtext(2, "Share or Embed this form");
49
+ i0.ɵɵelementEnd();
50
+ i0.ɵɵelementStart(3, "button", 20);
51
+ i0.ɵɵlistener("click", function FormManagerFormComponent_ng_template_16_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.modalRef.hide()); });
52
+ i0.ɵɵelementStart(4, "span", 21);
53
+ i0.ɵɵtext(5, "\u00D7");
54
+ i0.ɵɵelementEnd()()();
55
+ i0.ɵɵelementStart(6, "div", 22)(7, "ul", 23)(8, "li", 3)(9, "a", 24);
56
+ i0.ɵɵlistener("click", function FormManagerFormComponent_ng_template_16_Template_a_click_9_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.choices("isUrl")); });
57
+ i0.ɵɵelement(10, "em", 25);
58
+ i0.ɵɵtext(11, " URL");
59
+ i0.ɵɵelementEnd()();
60
+ i0.ɵɵelementStart(12, "li", 3)(13, "a", 24);
61
+ i0.ɵɵlistener("click", function FormManagerFormComponent_ng_template_16_Template_a_click_13_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.choices("isEmbed")); });
62
+ i0.ɵɵelement(14, "em", 26);
63
+ i0.ɵɵtext(15, " Embed");
64
+ i0.ɵɵelementEnd()()();
65
+ i0.ɵɵtemplate(16, FormManagerFormComponent_ng_template_16_pre_16_Template, 2, 1, "pre", 27)(17, FormManagerFormComponent_ng_template_16_input_17_Template, 1, 1, "input", 28);
66
+ i0.ɵɵelementEnd();
67
+ i0.ɵɵelementStart(18, "div", 29)(19, "button", 30);
68
+ i0.ɵɵlistener("click", function FormManagerFormComponent_ng_template_16_Template_button_click_19_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.modalRef.hide()); });
69
+ i0.ɵɵtext(20, "Close");
70
+ i0.ɵɵelementEnd()();
71
+ } if (rf & 2) {
72
+ const ctx_r1 = i0.ɵɵnextContext();
73
+ i0.ɵɵadvance(9);
74
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c0, ctx_r1.choice === "isUrl"));
75
+ i0.ɵɵadvance(4);
76
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c0, ctx_r1.choice === "isEmbed"));
77
+ i0.ɵɵadvance(3);
78
+ i0.ɵɵproperty("ngIf", ctx_r1.choice === "isEmbed");
79
+ i0.ɵɵadvance();
80
+ i0.ɵɵproperty("ngIf", ctx_r1.choice === "isUrl");
81
+ } }
82
+ export class FormManagerFormComponent {
83
+ service;
84
+ route;
85
+ appConfig;
86
+ options;
87
+ modalService;
88
+ choice = 'isUrl';
89
+ embedCode;
90
+ shareUrl;
91
+ projectId;
92
+ pathName;
93
+ goTo = '';
94
+ modalRef;
95
+ constructor(service, route, appConfig, options, modalService) {
96
+ this.service = service;
97
+ this.route = route;
98
+ this.appConfig = appConfig;
99
+ this.options = options;
100
+ this.modalService = modalService;
101
+ }
102
+ ngOnInit() {
103
+ this.service.reset(this.route);
104
+ this.service.loadForm().then(form => {
105
+ this.service.formSrc = this.appConfig.appUrl + '/' + form.path;
106
+ this.projectId = form.project;
107
+ this.pathName = form.path;
108
+ this.getShareUrl();
109
+ });
110
+ }
111
+ getShareUrl() {
112
+ const src = this.appConfig.appUrl + '/' + this.pathName;
113
+ this.shareUrl = `${this.options.viewer}/#/?src=${encodeURIComponent(src)}`;
114
+ return this.shareUrl;
115
+ }
116
+ openEmbed(content) {
117
+ let goto = '';
118
+ if (this.goTo) {
119
+ goto += `if (d && d.formSubmission && d.formSubmission._id) { window.location.href = "${this.goTo}";}`;
120
+ }
121
+ let embedCode = '<script type="text/javascript">';
122
+ embedCode += '(function a(d, w, u) {';
123
+ embedCode += 'var h = d.getElementsByTagName("head")[0];';
124
+ embedCode += 'var s = d.createElement("script");';
125
+ embedCode += 's.type = "text/javascript";';
126
+ embedCode += 's.src = "' + this.options.viewer + '/assets/lib/seamless/seamless.parent.min.js";';
127
+ embedCode += 's.onload = function b() {';
128
+ embedCode += 'var f = d.getElementById("formio-form-' + this.service.formio.formId + '");';
129
+ embedCode += 'if (!f || (typeof w.seamless === u)) {';
130
+ embedCode += 'return setTimeout(b, 100);';
131
+ embedCode += '}';
132
+ embedCode += 'w.seamless(f, {fallback:false}).receive(function(d, e) {' + goto + '});';
133
+ embedCode += '};';
134
+ embedCode += 'h.appendChild(s);';
135
+ embedCode += '})(document, window);';
136
+ embedCode += '</script>';
137
+ embedCode += '<iframe id="formio-form-' + this.service.formio.formId + '" ';
138
+ embedCode += 'style="width:100%;border:none;" height="800px" src="' + this.shareUrl + '&iframe=1"></iframe>';
139
+ this.embedCode = embedCode;
140
+ this.modalRef = this.modalService.show(content, { class: 'modal-lg' });
141
+ }
142
+ choices(string) {
143
+ this.choice = string;
144
+ }
145
+ static ɵfac = function FormManagerFormComponent_Factory(t) { return new (t || FormManagerFormComponent)(i0.ɵɵdirectiveInject(i1.FormManagerService), i0.ɵɵdirectiveInject(i2.ActivatedRoute), i0.ɵɵdirectiveInject(i3.FormioAppConfig), i0.ɵɵdirectiveInject(i4.FormManagerConfig), i0.ɵɵdirectiveInject(i5.BsModalService)); };
146
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormManagerFormComponent, selectors: [["ng-component"]], decls: 18, vars: 3, consts: [["content", ""], ["class", "float-end btn btn-outline-primary", 3, "click", 4, "ngIf"], [1, "nav", "nav-tabs", "mb-2"], [1, "nav-item"], ["routerLink", "../", 1, "nav-link"], [1, "fa", "fa-chevron-left", "bi", "bi-chevron-left"], ["routerLinkActive", "active", 1, "nav-item"], ["routerLink", "view", "routerLinkActive", "active", 1, "nav-link"], [1, "fa", "fa-pencil", "bi", "bi-pencil"], ["routerLink", "submission", "routerLinkActive", "active", 1, "nav-link"], [1, "fa", "fa-list-alt", "bi", "bi-table"], ["class", "nav-item", "routerLinkActive", "active", 4, "ngIf"], [1, "float-end", "btn", "btn-outline-primary", 3, "click"], [1, "fa", "fa-share-alt", "bi", "bi-share"], ["routerLink", "edit", "routerLinkActive", "active", 1, "nav-link"], [1, "fa", "fa-edit", "bi", "bi-pencil-square"], ["routerLink", "delete", "routerLinkActive", "active", 1, "nav-link"], [1, "fa", "fa-trash", "bi", "bi-trash"], [1, "modal-header"], [1, "modal-title"], ["type", "button", "aria-label", "Close", 1, "close", 3, "click"], ["aria-hidden", "true"], [1, "modal-body"], [1, "nav", "nav-tabs", "mr-auto", "mb-2"], [1, "nav-link", 3, "click", "ngClass"], [1, "fa", "fa-link", "bi", "bi-link"], [1, "fa", "fa-code", "bi", "bi-code-slash"], [4, "ngIf"], ["type", "text", "onclick", "this.focus();this.select()", "readonly", "readonly", "class", "form-control", "placeholder", "https://examples.form.io/example", 3, "ngModel", 4, "ngIf"], [1, "modal-footer"], ["type", "button", 1, "btn", "btn-light", 3, "click"], ["onclick", "this.focus();this.select()", "readonly", "readonly", "rows", "8", 2, "width", "100%", 3, "ngModel"], ["type", "text", "onclick", "this.focus();this.select()", "readonly", "readonly", "placeholder", "https://examples.form.io/example", 1, "form-control", 3, "ngModel"]], template: function FormManagerFormComponent_Template(rf, ctx) { if (rf & 1) {
147
+ i0.ɵɵtemplate(0, FormManagerFormComponent_button_0_Template, 3, 0, "button", 1);
148
+ i0.ɵɵelementStart(1, "ul", 2)(2, "li", 3)(3, "a", 4);
149
+ i0.ɵɵelement(4, "em", 5);
150
+ i0.ɵɵelementEnd()();
151
+ i0.ɵɵelementStart(5, "li", 6)(6, "a", 7);
152
+ i0.ɵɵelement(7, "em", 8);
153
+ i0.ɵɵtext(8, " Enter Data");
154
+ i0.ɵɵelementEnd()();
155
+ i0.ɵɵelementStart(9, "li", 6)(10, "a", 9);
156
+ i0.ɵɵelement(11, "em", 10);
157
+ i0.ɵɵtext(12, " View Data");
158
+ i0.ɵɵelementEnd()();
159
+ i0.ɵɵtemplate(13, FormManagerFormComponent_li_13_Template, 4, 0, "li", 11)(14, FormManagerFormComponent_li_14_Template, 3, 0, "li", 11);
160
+ i0.ɵɵelementEnd();
161
+ i0.ɵɵelement(15, "router-outlet");
162
+ i0.ɵɵtemplate(16, FormManagerFormComponent_ng_template_16_Template, 21, 8, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
163
+ } if (rf & 2) {
164
+ i0.ɵɵproperty("ngIf", ctx.options.viewer);
165
+ i0.ɵɵadvance(13);
166
+ i0.ɵɵproperty("ngIf", ctx.service.actionAllowed("formEdit"));
167
+ i0.ɵɵadvance();
168
+ i0.ɵɵproperty("ngIf", ctx.service.actionAllowed("formDelete"));
169
+ } }, dependencies: [i6.NgClass, i6.NgIf, i2.RouterOutlet, i2.RouterLink, i2.RouterLinkActive, i7.DefaultValueAccessor, i7.NgControlStatus, i7.NgModel], encapsulation: 2 });
170
+ }
171
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormManagerFormComponent, [{
172
+ type: Component,
173
+ args: [{ template: "<button *ngIf=\"options.viewer\" class=\"float-end btn btn-outline-primary\" (click)=\"openEmbed(content)\"><em class=\"fa fa-share-alt bi bi-share\"></em> Share</button>\n<ul class=\"nav nav-tabs mb-2\">\n <li class=\"nav-item\"><a class=\"nav-link\" routerLink=\"../\"><em class=\"fa fa-chevron-left bi bi-chevron-left\"></em></a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"view\" routerLinkActive=\"active\"><em class=\"fa fa-pencil bi bi-pencil\"></em> Enter Data</a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"submission\" routerLinkActive=\"active\"><em class=\"fa fa-list-alt bi bi-table\"></em> View Data</a></li>\n <li *ngIf=\"service.actionAllowed('formEdit')\" class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"edit\" routerLinkActive=\"active\"><em class=\"fa fa-edit bi bi-pencil-square\"></em> Edit Form</a></li>\n <li *ngIf=\"service.actionAllowed('formDelete')\" class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"delete\" routerLinkActive=\"active\"><span class=\"fa fa-trash bi bi-trash\"></span></a></li>\n</ul>\n<router-outlet></router-outlet>\n<ng-template #content>\n <div class=\"modal-header\">\n <h4 class=\"modal-title\">Share or Embed this form</h4>\n <button type=\"button\" class=\"close\" aria-label=\"Close\" (click)=\"modalRef.hide()\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <ul class=\"nav nav-tabs mr-auto mb-2\">\n <li class=\"nav-item\">\n <a class=\"nav-link\" [ngClass]=\"{'active': choice === 'isUrl'}\" (click)=\"choices('isUrl')\"><em class=\"fa fa-link bi bi-link\"></em> URL</a>\n </li>\n <li class=\"nav-item\">\n <a class=\"nav-link\" [ngClass]=\"{'active': choice === 'isEmbed'}\" (click)=\"choices('isEmbed')\"><em class=\"fa fa-code bi bi-code-slash\"></em> Embed</a>\n </li>\n </ul>\n <pre *ngIf=\"choice === 'isEmbed'\"><textarea onclick=\"this.focus();this.select()\" readonly=\"readonly\" style=\"width:100%;\" rows=\"8\" [ngModel]=\"embedCode\"></textarea></pre>\n <input *ngIf=\"choice === 'isUrl'\" type=\"text\" onclick=\"this.focus();this.select()\" readonly=\"readonly\" class=\"form-control\" [ngModel]=\"shareUrl\" placeholder=\"https://examples.form.io/example\">\n </div>\n <div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-light\" (click)=\"modalRef.hide()\">Close</button>\n </div>\n</ng-template>\n" }]
174
+ }], () => [{ type: i1.FormManagerService }, { type: i2.ActivatedRoute }, { type: i3.FormioAppConfig }, { type: i4.FormManagerConfig }, { type: i5.BsModalService }], null); })();
175
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FormManagerFormComponent, { className: "FormManagerFormComponent" }); })();
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9tYW5hZ2VyL3NyYy9mb3JtL2Zvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1mb3JtaW8vbWFuYWdlci9zcmMvZm9ybS9mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXVCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7SUNBL0Qsa0NBQXNHO0lBQTdCLDhOQUFTLDRCQUFrQixLQUFDO0lBQUMseUJBQTZDO0lBQUMsc0JBQUs7SUFBQSxpQkFBUzs7O0lBS3ZFLEFBQXpGLDZCQUF5RixZQUFnRTtJQUFBLHlCQUFnRDtJQUFDLDBCQUFTO0lBQUksQUFBSixpQkFBSSxFQUFLOzs7SUFDakksQUFBM0YsNkJBQTJGLFlBQWtFO0lBQUEsMkJBQTZDO0lBQUksQUFBSixpQkFBSSxFQUFLOzs7SUFtQmpOLDJCQUFtQztJQUFBLCtCQUFpSTtJQUFBLGlCQUFNOzs7SUFBdkMsY0FBcUI7SUFBckIsMENBQXFCOzs7SUFDeEosNEJBQWdNOzs7SUFBcEUseUNBQW9COzs7O0lBZmhKLEFBREYsK0JBQTBCLGFBQ0E7SUFBQSx3Q0FBd0I7SUFBQSxpQkFBSztJQUNyRCxrQ0FBaUY7SUFBMUIsNkxBQVMsc0JBQWUsS0FBQztJQUM5RSxnQ0FBeUI7SUFBQSxzQkFBTztJQUVwQyxBQURFLEFBRGtDLGlCQUFPLEVBQ2hDLEVBQ0w7SUFJQSxBQURGLEFBREYsQUFERiwrQkFBd0IsYUFDZ0IsWUFDZixZQUN1RTtJQUEzQix3TEFBUyxlQUFRLE9BQU8sQ0FBQyxLQUFDO0lBQUMsMEJBQXVDO0lBQUMscUJBQUc7SUFDdkksQUFEdUksaUJBQUksRUFDdEk7SUFFSCxBQURGLDhCQUFxQixhQUMyRTtJQUE3Qix5TEFBUyxlQUFRLFNBQVMsQ0FBQyxLQUFDO0lBQUMsMEJBQTZDO0lBQUMsdUJBQUs7SUFFckosQUFERSxBQURtSixpQkFBSSxFQUNsSixFQUNGO0lBRUwsQUFEQSwyRkFBbUMsa0ZBQzZKO0lBQ2xNLGlCQUFNO0lBRUosQUFERixnQ0FBMEIsa0JBQzhDO0lBQTFCLDhMQUFTLHNCQUFlLEtBQUM7SUFBQyxzQkFBSztJQUM3RSxBQUQ2RSxpQkFBUyxFQUNoRjs7O0lBWG9CLGVBQTBDO0lBQTFDLCtFQUEwQztJQUcxQyxlQUE0QztJQUE1QyxpRkFBNEM7SUFHN0QsZUFBMEI7SUFBMUIsa0RBQTBCO0lBQ3pCLGNBQXdCO0lBQXhCLGdEQUF3Qjs7QURoQnBDLE1BQU0sT0FBTyx3QkFBd0I7SUFTMUI7SUFDQTtJQUNBO0lBQ0E7SUFDQztJQVpWLE1BQU0sR0FBUSxPQUFPLENBQUM7SUFDdEIsU0FBUyxDQUFNO0lBQ2YsUUFBUSxDQUFNO0lBQ2QsU0FBUyxDQUFNO0lBQ2YsUUFBUSxDQUFNO0lBQ2QsSUFBSSxHQUFRLEVBQUUsQ0FBQztJQUNmLFFBQVEsQ0FBYTtJQUNyQixZQUNTLE9BQTJCLEVBQzNCLEtBQXFCLEVBQ3JCLFNBQTBCLEVBQzFCLE9BQTBCLEVBQ3pCLFlBQTRCO1FBSjdCLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQzNCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBQzFCLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBQ3pCLGlCQUFZLEdBQVosWUFBWSxDQUFnQjtJQUNsQyxDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUMvRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQzFCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxXQUFXO1FBQ2hCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3hELElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sV0FBVyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzNFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQXlCO1FBQ2pDLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNkLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2QsSUFBSSxJQUFJLGdGQUFnRixJQUFJLENBQUMsSUFBSSxLQUFLLENBQUM7UUFDekcsQ0FBQztRQUNELElBQUksU0FBUyxHQUFHLGlDQUFpQyxDQUFDO1FBQ2xELFNBQVMsSUFBSSx3QkFBd0IsQ0FBQztRQUN0QyxTQUFTLElBQU8sNENBQTRDLENBQUM7UUFDN0QsU0FBUyxJQUFPLG9DQUFvQyxDQUFDO1FBQ3JELFNBQVMsSUFBTyw2QkFBNkIsQ0FBQztRQUM5QyxTQUFTLElBQU8sV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLCtDQUErQyxDQUFDO1FBQ3BHLFNBQVMsSUFBTywyQkFBMkIsQ0FBQztRQUM1QyxTQUFTLElBQVUsd0NBQXdDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNqRyxTQUFTLElBQVUsd0NBQXdDLENBQUM7UUFDNUQsU0FBUyxJQUFhLDRCQUE0QixDQUFDO1FBQ25ELFNBQVMsSUFBVSxHQUFHLENBQUM7UUFDdkIsU0FBUyxJQUFVLDBEQUEwRCxHQUFHLElBQUksR0FBRyxLQUFLLENBQUM7UUFDN0YsU0FBUyxJQUFPLElBQUksQ0FBQztRQUNyQixTQUFTLElBQU8sbUJBQW1CLENBQUM7UUFDcEMsU0FBUyxJQUFJLHVCQUF1QixDQUFDO1FBQ3JDLFNBQVMsSUFBSSxXQUFXLENBQUM7UUFDekIsU0FBUyxJQUFJLDBCQUEwQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDNUUsU0FBUyxJQUFRLHNEQUFzRCxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsc0JBQXNCLENBQUM7UUFDakgsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQU07UUFDWixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO2tGQTdEVSx3QkFBd0I7NkRBQXhCLHdCQUF3QjtZQ1ZyQywrRUFBc0c7WUFFL0UsQUFBckIsQUFERiw2QkFBOEIsWUFDUCxXQUFxQztZQUFBLHdCQUF1RDtZQUFJLEFBQUosaUJBQUksRUFBSztZQUMzRSxBQUEvQyw2QkFBK0MsV0FBZ0U7WUFBQSx3QkFBMkM7WUFBQywyQkFBVTtZQUFJLEFBQUosaUJBQUksRUFBSztZQUMvSCxBQUEvQyw2QkFBK0MsWUFBc0U7WUFBQSwwQkFBNEM7WUFBQywyQkFBUztZQUFJLEFBQUosaUJBQUksRUFBSztZQUVwTCxBQURBLDBFQUF5Riw2REFDRTtZQUM3RixpQkFBSztZQUNMLGlDQUErQjtZQUMvQiw2SEFBc0I7O1lBVGIseUNBQW9CO1lBS3RCLGdCQUF1QztZQUF2Qyw0REFBdUM7WUFDdkMsY0FBeUM7WUFBekMsOERBQXlDOzs7aUZESW5DLHdCQUF3QjtjQUhwQyxTQUFTOzs7a0ZBR0csd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi9mb3JtLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBGb3JtTWFuYWdlckNvbmZpZyB9IGZyb20gJy4uL2Zvcm0tbWFuYWdlci5jb25maWcnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRm9ybWlvQXBwQ29uZmlnIH0gZnJvbSAnQGZvcm1pby9hbmd1bGFyJztcbmltcG9ydCB7IEJzTW9kYWxTZXJ2aWNlLCBCc01vZGFsUmVmIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRm9ybU1hbmFnZXJGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgY2hvaWNlOiBhbnkgPSAnaXNVcmwnO1xuICBlbWJlZENvZGU6IGFueTtcbiAgc2hhcmVVcmw6IGFueTtcbiAgcHJvamVjdElkOiBhbnk7XG4gIHBhdGhOYW1lOiBhbnk7XG4gIGdvVG86IGFueSA9ICcnO1xuICBtb2RhbFJlZjogQnNNb2RhbFJlZjtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHNlcnZpY2U6IEZvcm1NYW5hZ2VyU2VydmljZSxcbiAgICBwdWJsaWMgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHB1YmxpYyBhcHBDb25maWc6IEZvcm1pb0FwcENvbmZpZyxcbiAgICBwdWJsaWMgb3B0aW9uczogRm9ybU1hbmFnZXJDb25maWcsXG4gICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IEJzTW9kYWxTZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXJ2aWNlLnJlc2V0KHRoaXMucm91dGUpO1xuICAgIHRoaXMuc2VydmljZS5sb2FkRm9ybSgpLnRoZW4oZm9ybSA9PiB7XG4gICAgICB0aGlzLnNlcnZpY2UuZm9ybVNyYyA9IHRoaXMuYXBwQ29uZmlnLmFwcFVybCArICcvJyArIGZvcm0ucGF0aDtcbiAgICAgIHRoaXMucHJvamVjdElkID0gZm9ybS5wcm9qZWN0O1xuICAgICAgdGhpcy5wYXRoTmFtZSA9IGZvcm0ucGF0aDtcbiAgICAgIHRoaXMuZ2V0U2hhcmVVcmwoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTaGFyZVVybCgpIHtcbiAgICBjb25zdCBzcmMgPSB0aGlzLmFwcENvbmZpZy5hcHBVcmwgKyAnLycgKyB0aGlzLnBhdGhOYW1lO1xuICAgIHRoaXMuc2hhcmVVcmwgPSBgJHt0aGlzLm9wdGlvbnMudmlld2VyfS8jLz9zcmM9JHtlbmNvZGVVUklDb21wb25lbnQoc3JjKX1gO1xuICAgIHJldHVybiB0aGlzLnNoYXJlVXJsO1xuICB9XG5cbiAgb3BlbkVtYmVkKGNvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICBsZXQgZ290byA9ICcnO1xuICAgIGlmICh0aGlzLmdvVG8pIHtcbiAgICAgIGdvdG8gKz0gYGlmIChkICYmIGQuZm9ybVN1Ym1pc3Npb24gJiYgZC5mb3JtU3VibWlzc2lvbi5faWQpIHsgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBcIiR7dGhpcy5nb1RvfVwiO31gO1xuICAgIH1cbiAgICBsZXQgZW1iZWRDb2RlID0gJzxzY3JpcHQgdHlwZT1cInRleHQvamF2YXNjcmlwdFwiPic7XG4gICAgZW1iZWRDb2RlICs9ICcoZnVuY3Rpb24gYShkLCB3LCB1KSB7JztcbiAgICBlbWJlZENvZGUgKz0gICAgJ3ZhciBoID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImhlYWRcIilbMF07JztcbiAgICBlbWJlZENvZGUgKz0gICAgJ3ZhciBzID0gZC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpOyc7XG4gICAgZW1iZWRDb2RlICs9ICAgICdzLnR5cGUgPSBcInRleHQvamF2YXNjcmlwdFwiOyc7XG4gICAgZW1iZWRDb2RlICs9ICAgICdzLnNyYyA9IFwiJyArIHRoaXMub3B0aW9ucy52aWV3ZXIgKyAnL2Fzc2V0cy9saWIvc2VhbWxlc3Mvc2VhbWxlc3MucGFyZW50Lm1pbi5qc1wiOyc7XG4gICAgZW1iZWRDb2RlICs9ICAgICdzLm9ubG9hZCA9IGZ1bmN0aW9uIGIoKSB7JztcbiAgICBlbWJlZENvZGUgKz0gICAgICAgJ3ZhciBmID0gZC5nZXRFbGVtZW50QnlJZChcImZvcm1pby1mb3JtLScgKyB0aGlzLnNlcnZpY2UuZm9ybWlvLmZvcm1JZCArICdcIik7JztcbiAgICBlbWJlZENvZGUgKz0gICAgICAgJ2lmICghZiB8fCAodHlwZW9mIHcuc2VhbWxlc3MgPT09IHUpKSB7JztcbiAgICBlbWJlZENvZGUgKz0gICAgICAgICAgJ3JldHVybiBzZXRUaW1lb3V0KGIsIDEwMCk7JztcbiAgICBlbWJlZENvZGUgKz0gICAgICAgJ30nO1xuICAgIGVtYmVkQ29kZSArPSAgICAgICAndy5zZWFtbGVzcyhmLCB7ZmFsbGJhY2s6ZmFsc2V9KS5yZWNlaXZlKGZ1bmN0aW9uKGQsIGUpIHsnICsgZ290byArICd9KTsnO1xuICAgIGVtYmVkQ29kZSArPSAgICAnfTsnO1xuICAgIGVtYmVkQ29kZSArPSAgICAnaC5hcHBlbmRDaGlsZChzKTsnO1xuICAgIGVtYmVkQ29kZSArPSAnfSkoZG9jdW1lbnQsIHdpbmRvdyk7JztcbiAgICBlbWJlZENvZGUgKz0gJzwvc2NyaXB0Pic7XG4gICAgZW1iZWRDb2RlICs9ICc8aWZyYW1lIGlkPVwiZm9ybWlvLWZvcm0tJyArIHRoaXMuc2VydmljZS5mb3JtaW8uZm9ybUlkICsgJ1wiICc7XG4gICAgZW1iZWRDb2RlICs9ICAgICAnc3R5bGU9XCJ3aWR0aDoxMDAlO2JvcmRlcjpub25lO1wiIGhlaWdodD1cIjgwMHB4XCIgc3JjPVwiJyArIHRoaXMuc2hhcmVVcmwgKyAnJmlmcmFtZT0xXCI+PC9pZnJhbWU+JztcbiAgICB0aGlzLmVtYmVkQ29kZSA9IGVtYmVkQ29kZTtcbiAgICB0aGlzLm1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uuc2hvdyhjb250ZW50LCB7IGNsYXNzOiAnbW9kYWwtbGcnIH0pO1xuICB9XG5cbiAgY2hvaWNlcyhzdHJpbmcpIHtcbiAgICB0aGlzLmNob2ljZSA9IHN0cmluZztcbiAgfVxufVxuIiwiPGJ1dHRvbiAqbmdJZj1cIm9wdGlvbnMudmlld2VyXCIgY2xhc3M9XCJmbG9hdC1lbmQgYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnlcIiAoY2xpY2spPVwib3BlbkVtYmVkKGNvbnRlbnQpXCI+PGVtIGNsYXNzPVwiZmEgZmEtc2hhcmUtYWx0IGJpIGJpLXNoYXJlXCI+PC9lbT4gU2hhcmU8L2J1dHRvbj5cbjx1bCBjbGFzcz1cIm5hdiBuYXYtdGFicyBtYi0yXCI+XG4gIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCI+PGEgY2xhc3M9XCJuYXYtbGlua1wiIHJvdXRlckxpbms9XCIuLi9cIj48ZW0gY2xhc3M9XCJmYSBmYS1jaGV2cm9uLWxlZnQgYmkgYmktY2hldnJvbi1sZWZ0XCI+PC9lbT48L2E+PC9saT5cbiAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIiByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCI+PGEgY2xhc3M9XCJuYXYtbGlua1wiIHJvdXRlckxpbms9XCJ2aWV3XCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiPjxlbSBjbGFzcz1cImZhIGZhLXBlbmNpbCBiaSBiaS1wZW5jaWxcIj48L2VtPiBFbnRlciBEYXRhPC9hPjwvbGk+XG4gIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiPjxhIGNsYXNzPVwibmF2LWxpbmtcIiByb3V0ZXJMaW5rPVwic3VibWlzc2lvblwiIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIj48ZW0gY2xhc3M9XCJmYSBmYS1saXN0LWFsdCBiaSBiaS10YWJsZVwiPjwvZW0+IFZpZXcgRGF0YTwvYT48L2xpPlxuICA8bGkgKm5nSWY9XCJzZXJ2aWNlLmFjdGlvbkFsbG93ZWQoJ2Zvcm1FZGl0JylcIiBjbGFzcz1cIm5hdi1pdGVtXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiPjxhIGNsYXNzPVwibmF2LWxpbmtcIiByb3V0ZXJMaW5rPVwiZWRpdFwiIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIj48ZW0gY2xhc3M9XCJmYSBmYS1lZGl0IGJpIGJpLXBlbmNpbC1zcXVhcmVcIj48L2VtPiBFZGl0IEZvcm08L2E+PC9saT5cbiAgPGxpICpuZ0lmPVwic2VydmljZS5hY3Rpb25BbGxvd2VkKCdmb3JtRGVsZXRlJylcIiBjbGFzcz1cIm5hdi1pdGVtXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiPjxhIGNsYXNzPVwibmF2LWxpbmtcIiByb3V0ZXJMaW5rPVwiZGVsZXRlXCIgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiPjxzcGFuIGNsYXNzPVwiZmEgZmEtdHJhc2ggYmkgYmktdHJhc2hcIj48L3NwYW4+PC9hPjwvbGk+XG48L3VsPlxuPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XG4gICAgPGg0IGNsYXNzPVwibW9kYWwtdGl0bGVcIj5TaGFyZSBvciBFbWJlZCB0aGlzIGZvcm08L2g0PlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiY2xvc2VcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIiAoY2xpY2spPVwibW9kYWxSZWYuaGlkZSgpXCI+XG4gICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj4mdGltZXM7PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cbiAgICA8dWwgY2xhc3M9XCJuYXYgbmF2LXRhYnMgbXItYXV0byBtYi0yXCI+XG4gICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiPlxuICAgICAgICA8YSBjbGFzcz1cIm5hdi1saW5rXCIgW25nQ2xhc3NdPVwieydhY3RpdmUnOiBjaG9pY2UgPT09ICdpc1VybCd9XCIgKGNsaWNrKT1cImNob2ljZXMoJ2lzVXJsJylcIj48ZW0gY2xhc3M9XCJmYSBmYS1saW5rIGJpIGJpLWxpbmtcIj48L2VtPiBVUkw8L2E+XG4gICAgICA8L2xpPlxuICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIj5cbiAgICAgICAgPGEgY2xhc3M9XCJuYXYtbGlua1wiIFtuZ0NsYXNzXT1cInsnYWN0aXZlJzogY2hvaWNlID09PSAnaXNFbWJlZCd9XCIgKGNsaWNrKT1cImNob2ljZXMoJ2lzRW1iZWQnKVwiPjxlbSBjbGFzcz1cImZhIGZhLWNvZGUgYmkgYmktY29kZS1zbGFzaFwiPjwvZW0+IEVtYmVkPC9hPlxuICAgICAgPC9saT5cbiAgICA8L3VsPlxuICAgIDxwcmUgICpuZ0lmPVwiY2hvaWNlID09PSAnaXNFbWJlZCdcIj48dGV4dGFyZWEgb25jbGljaz1cInRoaXMuZm9jdXMoKTt0aGlzLnNlbGVjdCgpXCIgcmVhZG9ubHk9XCJyZWFkb25seVwiIHN0eWxlPVwid2lkdGg6MTAwJTtcIiByb3dzPVwiOFwiIFtuZ01vZGVsXT1cImVtYmVkQ29kZVwiPjwvdGV4dGFyZWE+PC9wcmU+XG4gICAgPGlucHV0ICpuZ0lmPVwiY2hvaWNlID09PSAnaXNVcmwnXCIgdHlwZT1cInRleHRcIiBvbmNsaWNrPVwidGhpcy5mb2N1cygpO3RoaXMuc2VsZWN0KClcIiByZWFkb25seT1cInJlYWRvbmx5XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbbmdNb2RlbF09XCJzaGFyZVVybFwiIHBsYWNlaG9sZGVyPVwiaHR0cHM6Ly9leGFtcGxlcy5mb3JtLmlvL2V4YW1wbGVcIj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tbGlnaHRcIiAoY2xpY2spPVwibW9kYWxSZWYuaGlkZSgpXCI+Q2xvc2U8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -0,0 +1,18 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FormManagerConfig {
4
+ tag = '';
5
+ includeSearch = false;
6
+ saveDraft = false;
7
+ type = 'form';
8
+ builder;
9
+ viewer;
10
+ renderer;
11
+ static ɵfac = function FormManagerConfig_Factory(t) { return new (t || FormManagerConfig)(); };
12
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: FormManagerConfig, factory: FormManagerConfig.ɵfac });
13
+ }
14
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormManagerConfig, [{
15
+ type: Injectable
16
+ }], null, null); })();
17
+ export const DefaultConfiguration = new FormManagerConfig();
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tYW5hZ2VyLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL21hbmFnZXIvc3JjL2Zvcm0tbWFuYWdlci5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFvQjNDLE1BQU0sT0FBTyxpQkFBaUI7SUFDckIsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUNULGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDdEIsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNsQixJQUFJLEdBQWEsTUFBTSxDQUFDO0lBQ3hCLE9BQU8sQ0FBTztJQUNkLE1BQU0sQ0FBVTtJQUNoQixRQUFRLENBQU07MkVBUFYsaUJBQWlCO2dFQUFqQixpQkFBaUIsV0FBakIsaUJBQWlCOztpRkFBakIsaUJBQWlCO2NBRDdCLFVBQVU7O0FBV1gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG50eXBlIEZvcm1UeXBlID0gJ2Zvcm0nIHwgJ3Jlc291cmNlJztcblxuZXhwb3J0IGludGVyZmFjZSBGb3JtTWFuYWdlclJvdXRlQ29uZmlnIHtcbiAgZm9ybUluZGV4PzogYW55O1xuICBmb3JtQ3JlYXRlPzogYW55O1xuICBmb3JtPzogYW55O1xuICBmb3JtVmlldz86IGFueTtcbiAgZm9ybUVkaXQ/OiBhbnk7XG4gIGZvcm1FbWJlZD86IGFueTtcbiAgZm9ybURlbGV0ZT86IGFueTtcbiAgc3VibWlzc2lvbkluZGV4PzogYW55O1xuICBzdWJtaXNzaW9uPzogYW55O1xuICBzdWJtaXNzaW9uVmlldz86IGFueTtcbiAgc3VibWlzc2lvbkVkaXQ/OiBhbnk7XG4gIHN1Ym1pc3Npb25EZWxldGU/OiBhbnk7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGb3JtTWFuYWdlckNvbmZpZyB7XG4gIHB1YmxpYyB0YWcgPSAnJztcbiAgcHVibGljIGluY2x1ZGVTZWFyY2ggPSBmYWxzZTtcbiAgcHVibGljIHNhdmVEcmFmdCA9IGZhbHNlO1xuICBwdWJsaWMgdHlwZTogRm9ybVR5cGUgPSAnZm9ybSc7XG4gIHB1YmxpYyBidWlsZGVyPzogYW55O1xuICBwdWJsaWMgdmlld2VyPzogc3RyaW5nO1xuICBwdWJsaWMgcmVuZGVyZXI6IGFueTtcbn1cblxuZXhwb3J0IGNvbnN0IERlZmF1bHRDb25maWd1cmF0aW9uID0gbmV3IEZvcm1NYW5hZ2VyQ29uZmlnKCk7XG4iXX0=
@@ -0,0 +1,84 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { RouterModule } from '@angular/router';
3
+ import { CommonModule } from '@angular/common';
4
+ import { FormsModule } from '@angular/forms';
5
+ import { FormioModule } from '@formio/angular';
6
+ import { FormioGrid } from '@formio/angular/grid';
7
+ import { FormManagerIndexComponent } from './index/index.component';
8
+ import { FormManagerCreateComponent } from './create/create.component';
9
+ import { FormManagerFormComponent } from './form/form.component';
10
+ import { FormManagerViewComponent } from './view/view.component';
11
+ import { FormManagerEditComponent } from './edit/edit.component';
12
+ import { FormManagerDeleteComponent } from './delete/delete.component';
13
+ import { SubmissionComponent } from './submission/submission/submission.component';
14
+ import { SubmissionEditComponent } from './submission/edit/edit.component';
15
+ import { SubmissionDeleteComponent } from './submission/delete/delete.component';
16
+ import { SubmissionViewComponent } from './submission/view/view.component';
17
+ import { SubmissionIndexComponent } from './submission/index/index.component';
18
+ import { FormManagerRoutes } from './form-manager.routes';
19
+ import { PaginationModule } from 'ngx-bootstrap/pagination';
20
+ import { ModalModule } from 'ngx-bootstrap/modal';
21
+ import { extendRouter } from '@formio/angular';
22
+ import * as i0 from "@angular/core";
23
+ import * as i1 from "ngx-bootstrap/modal";
24
+ import * as i2 from "ngx-bootstrap/pagination";
25
+ export class FormManagerModule {
26
+ static forChild(config) {
27
+ return extendRouter(FormManagerModule, config, FormManagerRoutes);
28
+ }
29
+ static forRoot(config) {
30
+ return extendRouter(FormManagerModule, config, FormManagerRoutes);
31
+ }
32
+ static ɵfac = function FormManagerModule_Factory(t) { return new (t || FormManagerModule)(); };
33
+ static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: FormManagerModule });
34
+ static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
35
+ FormioModule,
36
+ RouterModule,
37
+ FormsModule,
38
+ FormioGrid,
39
+ ModalModule.forRoot(),
40
+ PaginationModule.forRoot()] });
41
+ }
42
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormManagerModule, [{
43
+ type: NgModule,
44
+ args: [{
45
+ imports: [
46
+ CommonModule,
47
+ FormioModule,
48
+ RouterModule,
49
+ FormsModule,
50
+ FormioGrid,
51
+ ModalModule.forRoot(),
52
+ PaginationModule.forRoot()
53
+ ],
54
+ declarations: [
55
+ FormManagerIndexComponent,
56
+ FormManagerCreateComponent,
57
+ FormManagerFormComponent,
58
+ FormManagerViewComponent,
59
+ FormManagerEditComponent,
60
+ FormManagerDeleteComponent,
61
+ SubmissionComponent,
62
+ SubmissionEditComponent,
63
+ SubmissionDeleteComponent,
64
+ SubmissionViewComponent,
65
+ SubmissionIndexComponent
66
+ ]
67
+ }]
68
+ }], null, null); })();
69
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(FormManagerModule, { declarations: [FormManagerIndexComponent,
70
+ FormManagerCreateComponent,
71
+ FormManagerFormComponent,
72
+ FormManagerViewComponent,
73
+ FormManagerEditComponent,
74
+ FormManagerDeleteComponent,
75
+ SubmissionComponent,
76
+ SubmissionEditComponent,
77
+ SubmissionDeleteComponent,
78
+ SubmissionViewComponent,
79
+ SubmissionIndexComponent], imports: [CommonModule,
80
+ FormioModule,
81
+ RouterModule,
82
+ FormsModule,
83
+ FormioGrid, i1.ModalModule, i2.PaginationModule] }); })();
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tYW5hZ2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZm9ybWlvL21hbmFnZXIvc3JjL2Zvcm0tbWFuYWdlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUF5Qi9DLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUErQjtRQUM3QyxPQUFPLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBQ0QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUErQjtRQUM1QyxPQUFPLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUNwRSxDQUFDOzJFQU5VLGlCQUFpQjs0REFBakIsaUJBQWlCO2dFQXRCMUIsWUFBWTtZQUNaLFlBQVk7WUFDWixZQUFZO1lBQ1osV0FBVztZQUNYLFVBQVU7WUFDVixXQUFXLENBQUMsT0FBTyxFQUFFO1lBQ3JCLGdCQUFnQixDQUFDLE9BQU8sRUFBRTs7aUZBZ0JqQixpQkFBaUI7Y0F4QjdCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixZQUFZO29CQUNaLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxVQUFVO29CQUNWLFdBQVcsQ0FBQyxPQUFPLEVBQUU7b0JBQ3JCLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtpQkFDM0I7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLHlCQUF5QjtvQkFDekIsMEJBQTBCO29CQUMxQix3QkFBd0I7b0JBQ3hCLHdCQUF3QjtvQkFDeEIsd0JBQXdCO29CQUN4QiwwQkFBMEI7b0JBQzFCLG1CQUFtQjtvQkFDbkIsdUJBQXVCO29CQUN2Qix5QkFBeUI7b0JBQ3pCLHVCQUF1QjtvQkFDdkIsd0JBQXdCO2lCQUN6QjthQUNGOzt3RkFDWSxpQkFBaUIsbUJBYjFCLHlCQUF5QjtRQUN6QiwwQkFBMEI7UUFDMUIsd0JBQXdCO1FBQ3hCLHdCQUF3QjtRQUN4Qix3QkFBd0I7UUFDeEIsMEJBQTBCO1FBQzFCLG1CQUFtQjtRQUNuQix1QkFBdUI7UUFDdkIseUJBQXlCO1FBQ3pCLHVCQUF1QjtRQUN2Qix3QkFBd0IsYUFuQnhCLFlBQVk7UUFDWixZQUFZO1FBQ1osWUFBWTtRQUNaLFdBQVc7UUFDWCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGb3JtaW9Nb2R1bGUgfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuaW1wb3J0IHsgRm9ybWlvR3JpZCB9IGZyb20gJ0Bmb3JtaW8vYW5ndWxhci9ncmlkJztcbmltcG9ydCB7IEZvcm1NYW5hZ2VySW5kZXhDb21wb25lbnQgfSBmcm9tICcuL2luZGV4L2luZGV4LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtTWFuYWdlckNyZWF0ZUNvbXBvbmVudCB9IGZyb20gJy4vY3JlYXRlL2NyZWF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybU1hbmFnZXJGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtL2Zvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1NYW5hZ2VyVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdmlldy92aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtTWFuYWdlckVkaXRDb21wb25lbnQgfSBmcm9tICcuL2VkaXQvZWRpdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybU1hbmFnZXJEZWxldGVDb21wb25lbnQgfSBmcm9tICcuL2RlbGV0ZS9kZWxldGUuY29tcG9uZW50JztcbmltcG9ydCB7IFN1Ym1pc3Npb25Db21wb25lbnQgfSBmcm9tICcuL3N1Ym1pc3Npb24vc3VibWlzc2lvbi9zdWJtaXNzaW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdWJtaXNzaW9uRWRpdENvbXBvbmVudCB9IGZyb20gJy4vc3VibWlzc2lvbi9lZGl0L2VkaXQuY29tcG9uZW50JztcbmltcG9ydCB7IFN1Ym1pc3Npb25EZWxldGVDb21wb25lbnQgfSBmcm9tICcuL3N1Ym1pc3Npb24vZGVsZXRlL2RlbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3VibWlzc2lvblZpZXdDb21wb25lbnQgfSBmcm9tICcuL3N1Ym1pc3Npb24vdmlldy92aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdWJtaXNzaW9uSW5kZXhDb21wb25lbnQgfSBmcm9tICcuL3N1Ym1pc3Npb24vaW5kZXgvaW5kZXguY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1NYW5hZ2VyUm91dGVDb25maWcgfSBmcm9tICcuL2Zvcm0tbWFuYWdlci5jb25maWcnO1xuaW1wb3J0IHsgRm9ybU1hbmFnZXJSb3V0ZXMgfSBmcm9tICcuL2Zvcm0tbWFuYWdlci5yb3V0ZXMnO1xuaW1wb3J0IHsgUGFnaW5hdGlvbk1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvcGFnaW5hdGlvbic7XG5pbXBvcnQgeyBNb2RhbE1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgZXh0ZW5kUm91dGVyIH0gZnJvbSAnQGZvcm1pby9hbmd1bGFyJztcbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybWlvTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBGb3JtaW9HcmlkLFxuICAgIE1vZGFsTW9kdWxlLmZvclJvb3QoKSxcbiAgICBQYWdpbmF0aW9uTW9kdWxlLmZvclJvb3QoKVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBGb3JtTWFuYWdlckluZGV4Q29tcG9uZW50LFxuICAgIEZvcm1NYW5hZ2VyQ3JlYXRlQ29tcG9uZW50LFxuICAgIEZvcm1NYW5hZ2VyRm9ybUNvbXBvbmVudCxcbiAgICBGb3JtTWFuYWdlclZpZXdDb21wb25lbnQsXG4gICAgRm9ybU1hbmFnZXJFZGl0Q29tcG9uZW50LFxuICAgIEZvcm1NYW5hZ2VyRGVsZXRlQ29tcG9uZW50LFxuICAgIFN1Ym1pc3Npb25Db21wb25lbnQsXG4gICAgU3VibWlzc2lvbkVkaXRDb21wb25lbnQsXG4gICAgU3VibWlzc2lvbkRlbGV0ZUNvbXBvbmVudCxcbiAgICBTdWJtaXNzaW9uVmlld0NvbXBvbmVudCxcbiAgICBTdWJtaXNzaW9uSW5kZXhDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBGb3JtTWFuYWdlck1vZHVsZSB7XG4gIHN0YXRpYyBmb3JDaGlsZChjb25maWc/OiBGb3JtTWFuYWdlclJvdXRlQ29uZmlnKTogYW55IHtcbiAgICByZXR1cm4gZXh0ZW5kUm91dGVyKEZvcm1NYW5hZ2VyTW9kdWxlLCBjb25maWcsIEZvcm1NYW5hZ2VyUm91dGVzKTtcbiAgfVxuICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBGb3JtTWFuYWdlclJvdXRlQ29uZmlnKTogYW55IHtcbiAgICByZXR1cm4gZXh0ZW5kUm91dGVyKEZvcm1NYW5hZ2VyTW9kdWxlLCBjb25maWcsIEZvcm1NYW5hZ2VyUm91dGVzKTtcbiAgfVxufVxuIl19
@@ -176,10 +176,10 @@ export class FormManagerService {
176
176
  tags: this.config.tag
177
177
  } });
178
178
  }
179
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: FormManagerService, deps: [{ token: i1.FormioAppConfig }, { token: i2.FormManagerConfig }, { token: i3.FormioAuthService }], target: i0.ɵɵFactoryTarget.Injectable });
180
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: FormManagerService });
179
+ static ɵfac = function FormManagerService_Factory(t) { return new (t || FormManagerService)(i0.ɵɵinject(i1.FormioAppConfig), i0.ɵɵinject(i2.FormManagerConfig), i0.ɵɵinject(i3.FormioAuthService)); };
180
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: FormManagerService, factory: FormManagerService.ɵfac });
181
181
  }
182
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: FormManagerService, decorators: [{
183
- type: Injectable
184
- }], ctorParameters: () => [{ type: i1.FormioAppConfig }, { type: i2.FormManagerConfig }, { type: i3.FormioAuthService }] });
185
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9tYW5hZ2VyL3NyYy9mb3JtLW1hbmFnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHcEMsT0FBTyxhQUFhLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBR2hELE1BQU0sT0FBTyxrQkFBa0I7SUFhcEI7SUFDQTtJQUNBO0lBZEYsTUFBTSxDQUFTO0lBQ2YsTUFBTSxDQUFNO0lBQ1osWUFBWSxDQUFNO0lBQ2xCLFlBQVksQ0FBTTtJQUNsQixLQUFLLENBQWU7SUFDcEIsU0FBUyxDQUFlO0lBQ3hCLGFBQWEsQ0FBTTtJQUNuQixJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ1osT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNiLEtBQUssR0FBRyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBQyxDQUFDO0lBRTVDLFlBQ1MsU0FBMEIsRUFDMUIsTUFBeUIsRUFDekIsSUFBdUI7UUFGdkIsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFDMUIsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFDekIsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFFOUIsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QyxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sQ0FBQyxL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SUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQ0FDMUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQ0FDeEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQ0FDOUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQ0FDM0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQ0FDdEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQzs0QkFDOUUsQ0FBQzs0QkFDRCxJQUFJLFdBQVcsSUFBSSxXQUFXLENBQUMsR0FBRyxLQUFLLE1BQU0sRUFBRSxDQUFDO2dDQUM5QyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dDQUMxRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dDQUN4RSxJQUFJLENBQUMsTUFBTSxD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QUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDaEYsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztnQkFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztZQUMvQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUMsTUFBTSxFQUFFO2dCQUNwQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHO2FBQ3RCLEVBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQzt1R0FuTFUsa0JBQWtCOzJHQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtaW9BcHBDb25maWcgfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuaW1wb3J0IHsgRm9ybU1hbmFnZXJDb25maWcgfSBmcm9tICcuL2Zvcm0tbWFuYWdlci5jb25maWcnO1xuaW1wb3J0IHsgRm9ybWlvIH0gZnJvbSAnQGZvcm1pby9qcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBGb3JtaW9BdXRoU2VydmljZSB9IGZyb20gJ0Bmb3JtaW8vYW5ndWxhci9hdXRoJztcbmltcG9ydCBfaW50ZXJzZWN0aW9uIGZyb20gJ2xvZGFzaC9pbnRlcnNlY3Rpb24nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRm9ybU1hbmFnZXJTZXJ2aWNlIHtcbiAgcHVibGljIGZvcm1pbzogRm9ybWlvO1xuICBwdWJsaWMgYWNjZXNzOiBhbnk7XG4gIHB1YmxpYyBhbGxBY2Nlc3NNYXA6IGFueTtcbiAgcHVibGljIG93bkFjY2Vzc01hcDogYW55O1xuICBwdWJsaWMgcmVhZHk6IFByb21pc2U8YW55PjtcbiAgcHVibGljIGZvcm1SZWFkeTogUHJvbWlzZTxhbnk+O1xuICBwdWJsaWMgYWN0aW9uQWxsb3dlZDogYW55O1xuICBwdWJsaWMgZm9ybSA9IG51bGw7XG4gIHB1YmxpYyBmb3JtU3JjID0gJyc7XG4gIHB1YmxpYyBwZXJtcyA9IHtkZWxldGU6IGZhbHNlLCBlZGl0OiBmYWxzZX07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGFwcENvbmZpZzogRm9ybWlvQXBwQ29uZmlnLFxuICAgIHB1YmxpYyBjb25maWc6IEZvcm1NYW5hZ2VyQ29uZmlnLFxuICAgIHB1YmxpYyBhdXRoOiBGb3JtaW9BdXRoU2VydmljZVxuICApIHtcbiAgICBpZiAodGhpcy5hcHBDb25maWcgJiYgdGhpcy5hcHBDb25maWcuYXBwVXJsKSB7XG4gICAgICBGb3JtaW8uc2V0QmFzZVVybCh0aGlzLmFwcENvbmZpZy5hcGlVcmwpO1xuICAgICAgRm9ybWlvLnNldFByb2plY3RVcmwodGhpcy5hcHBDb25maWcuYXBwVXJsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcignWW91IG11c3QgcHJvdmlkZSBhbiBBcHBDb25maWcgd2l0aGluIHlvdXIgYXBwbGljYXRpb24hJyk7XG4gICAgfVxuXG4gICAgdGhpcy5hbGxBY2Nlc3NNYXAgPSB7XG4gICAgICAndXBkYXRlX2FsbCc6ICdmb3JtRWRpdCcsXG4gICAgICAnZGVsZXRlX2FsbCc6ICdmb3JtRGVsZXRlJ1xuICAgIH07XG4gICAgdGhpcy5vd25BY2Nlc3NNYXAgPSB7XG4gICAgICAndXBkYXRlX293bic6ICdmb3JtRWRpdCcsXG4gICAgICAnZGVsZXRlX293bic6ICdmb3JtRGVsZXRlJ1xuICAgIH07XG4gICAgdGhpcy5hY3Rpb25BbGxvd2VkID0gKGFjdGlvbikgPT4gdGhpcy5pc0FjdGlvbkFsbG93ZWQoYWN0aW9uKTtcbiAgICB0aGlzLnJlc2V0KCk7XG4gIH1cblxuICBpc0FjdGlvbkFsbG93ZWQoYWN0aW9uOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hY2Nlc3NbYWN0aW9uXTtcbiAgfVxuXG4gIHNldEFjY2VzcygpIHtcbiAgICB0aGlzLmFjY2VzcyA9IHtcbiAgICAgIGZvcm1DcmVhdGU6IHRydWUsXG4gICAgICBmb3JtVmlldzogdHJ1ZSxcbiAgICAgIGZvcm1TdWJtaXNzaW9uOiB0cnVlLFxuICAgICAgZm9ybUVkaXQ6IHRydWUsXG4gICAgICBmb3JtUGVybWlzc2lvbjogdHJ1ZSxcbiAgICAgIGZvcm1EZWxldGU6IHRydWUsXG4gICAgICBwcm9qZWN0U2V0dGluZ3M6IHRydWUsXG4gICAgICB1c2VyTWFuYWdlbWVudDogdHJ1ZVxuICAgIH07XG4gICAgaWYgKHRoaXMuYXV0aCkge1xuICAgICAgdGhpcy5hY2Nlc3MgPSB7XG4gICAgICAgIGZvcm1DcmVhdGU6IGZhbHNlLFxuICAgICAgICBmb3JtVmlldzogZmFsc2UsXG4gICAgICAgIGZvcm1TdWJtaXNzaW9uOiBmYWxzZSxcbiAgICAgICAgZm9ybUVkaXQ6IGZhbHNlLFxuICAgICAgICBmb3JtUGVybWlzc2lvbjogZmFsc2UsXG4gICAgICAgIGZvcm1EZWxldGU6IGZhbHNlLFxuICAgICAgICBwcm9qZWN0U2V0dGluZ3M6IGZhbHNlLFxuICAgICAgICB1c2VyTWFuYWdlbWVudDogZmFsc2VcbiAgICAgIH07XG4gICAgICB0aGlzLnJlYWR5ID0gdGhpcy5hdXRoLnJlYWR5LnRoZW4oKCkgPT4ge1xuICAgICAgICBsZXQgYWRtaW5pc3RyYXRvciA9IHRoaXMuYXV0aC5yb2xlc1tcImFkbWluaXN0cmF0b3JcIl07XG4gICAgICAgIGxldCBmb3JtYnVpbGRlciA9IHRoaXMuYXV0aC5yb2xlc1tcImZvcm1idWlsZGVyXCJdO1xuICAgICAgICBsZXQgZm9ybWFkbWluID0gdGhpcy5hdXRoLnJvbGVzW1wiZm9ybWFkbWluXCJdO1xuXG4gICAgICAgIGlmICh0aGlzLmF1dGgudXNlciAmJiB0aGlzLmF1dGgudXNlci5yb2xlcykge1xuICAgICAgICAgIHRoaXMuYXV0aC51c2VyLnJvbGVzLmZvckVhY2goKHJvbGVJZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBpZiAoYWRtaW5pc3RyYXRvci5faWQgPT09IHJvbGVJZCkge1xuICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtQ3JlYXRlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgdGhpcy5hY2Nlc3MuZm9ybVZpZXcgPSB0cnVlO1xuICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtU3VibWlzc2lvbj0gdHJ1ZTtcbiAgICAgICAgICAgICAgdGhpcy5hY2Nlc3MuZm9ybUVkaXQgPSB0cnVlO1xuICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtUGVybWlzc2lvbiA9IHRydWU7XG4gICAgICAgICAgICAgIHRoaXMuYWNjZXNzLmZvcm1EZWxldGUgPSB0cnVlO1xuICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5wcm9qZWN0U2V0dGluZ3MgPSB0cnVlO1xuICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy51c2VyTWFuYWdlbWVudCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgaWYgKGZvcm1hZG1pbiAmJiBmb3JtYWRtaW4uX2lkID09PSByb2xlSWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtQ3JlYXRlID0gdGhpcy5hdXRoLmZvcm1BY2Nlc3MuY3JlYXRlX2FsbC5pbmNsdWRlcyhyb2xlSWQpO1xuICAgICAgICAgICAgICAgIHRoaXMuYWNjZXNzLmZvcm1FZGl0ID0gdGhpcy5hdXRoLmZvcm1BY2Nlc3MudXBkYXRlX2FsbC5pbmNsdWRlcyhyb2xlSWQpO1xuICAgICAgICAgICAgICAgIHRoaXMuYWNjZXNzLmZvcm1QZXJtaXNzaW9uID0gdGhpcy5hdXRoLmZvcm1BY2Nlc3MudXBkYXRlX2FsbC5pbmNsdWRlcyhyb2xlSWQpO1xuICAgICAgICAgICAgICAgIHRoaXMuYWNjZXNzLmZvcm1EZWxldGUgPSAgdGhpcy5hdXRoLmZvcm1BY2Nlc3MuZGVsZXRlX2FsbC5pbmNsdWRlcyhyb2xlSWQpO1xuICAgICAgICAgICAgICAgIHRoaXMuYWNjZXNzLmZvcm1WaWV3ID0gdGhpcy5hdXRoLmZvcm1BY2Nlc3MucmVhZF9hbGwuaW5jbHVkZXMocm9sZUlkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtU3VibWlzc2lvbiA9IHRoaXMuYXV0aC5mb3JtQWNjZXNzLnJlYWRfYWxsLmluY2x1ZGVzKHJvbGVJZCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKGZvcm1idWlsZGVyICYmIGZvcm1idWlsZGVyLl9pZCA9PT0gcm9sZUlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY2Nlc3MuZm9ybUNyZWF0ZSA9IHRoaXMuYXV0aC5mb3JtQWNjZXNzLmNyZWF0ZV9hbGwuaW5jbHVkZXMocm9sZUlkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtRWRpdCA9IHRoaXMuYXV0aC5mb3JtQWNjZXNzLnVwZGF0ZV9hbGwuaW5jbHVkZXMocm9sZUlkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtUGVybWlzc2lvbiA9IHRoaXMuYXV0aC5mb3JtQWNjZXNzLnVwZGF0ZV9hbGwuaW5jbHVkZXMocm9sZUlkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtRGVsZXRlID0gIHRoaXMuYXV0aC5mb3JtQWNjZXNzLmRlbGV0ZV9hbGwuaW5jbHVkZXMocm9sZUlkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtVmlldyA9IHRoaXMuYXV0aC5mb3JtQWNjZXNzLnJlYWRfYWxsLmluY2x1ZGVzKHJvbGVJZCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVhZHkgPSBQcm9taXNlLnJlc29sdmUoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHJlc2V0KHJvdXRlPzogQWN0aXZhdGVkUm91dGUpIHtcbiAgICBpZiAocm91dGUpIHtcbiAgICAgIHJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcbiAgICAgICAgaWYgKHBhcmFtcy5pZCkge1xuICAgICAgICAgIHRoaXMuZm9ybWlvID0gbmV3IEZvcm1pbyhgJHt0aGlzLmZvcm1pby5mb3Jtc1VybH0vJHtwYXJhbXMuaWR9YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtaW8gPSBuZXcgRm9ybWlvKHRoaXMuYXBwQ29uZmlnLmFwcFVybCk7XG4gICAgICB0aGlzLnNldEFjY2VzcygpO1xuICAgIH1cbiAgfVxuXG4gIGhhc0FjY2Vzcyhyb2xlcykge1xuICAgIGlmICghdGhpcy5hdXRoLnVzZXIpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuICEhX2ludGVyc2VjdGlvbihyb2xlcywgdGhpcy5hdXRoLnVzZXIucm9sZXMpLmxlbmd0aDtcbiAgfVxuXG4gIHNldEZvcm0oZm9ybTogYW55KSB7XG4gICAgdGhpcy5mb3JtID0gZm9ybTtcbiAgICB0aGlzLmZvcm1TcmMgPSB0aGlzLmFwcENvbmZpZy5hcHBVcmwgKyAnLycgKyBmb3JtLnBhdGg7XG4gICAgaWYgKGZvcm0uYWNjZXNzKSB7XG4gICAgICAvLyBDaGVjayBpZiB0aGV5IGhhdmUgYWNjZXNzIGhlcmUuXG4gICAgICBmb3JtLmFjY2Vzcy5mb3JFYWNoKGFjY2VzcyA9PiB7XG4gICAgICAgIC8vIENoZWNrIGZvciBhbGwgYWNjZXNzLlxuICAgICAgICBpZiAodGhpcy5hbGxBY2Nlc3NNYXBbYWNjZXNzLnR5cGVdICYmICF0aGlzLmFjY2Vzc1t0aGlzLmFsbEFjY2Vzc01hcFthY2Nlc3MudHlwZV1dKSB7XG4gICAgICAgICAgdGhpcy5hY2Nlc3NbdGhpcy5hbGxBY2Nlc3NNYXBbYWNjZXNzLnR5cGVdXSA9IHRoaXMuaGFzQWNjZXNzKGFjY2Vzcy5yb2xlcyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDaGVjayBmb3Igb3duIGFjY2Vzcy5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMuYXV0aCAmJiB0aGlzLmF1dGgudXNlciAmJlxuICAgICAgICAgIChmb3JtLl9pZCA9PT0gdGhpcy5hdXRoLnVzZXIuX2lkKSAmJlxuICAgICAgICAgIHRoaXMub3duQWNjZXNzTWFwW2FjY2Vzcy50eXBlXSAmJlxuICAgICAgICAgICF0aGlzLmFjY2Vzc1t0aGlzLm93bkFjY2Vzc01hcFthY2Nlc3MudHlwZV1dXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuYWNjZXNzW3RoaXMub3duQWNjZXNzTWFwW2FjY2Vzcy50eXBlXV0gPSB0aGlzLmhhc0FjY2VzcyhhY2Nlc3Mucm9sZXMpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGZvcm07XG4gIH1cblxuICBsb2FkRm9ybSgpIHtcbiAgICB0aGlzLmZvcm0gPSBudWxsO1xuICAgIHRoaXMuZm9ybVJlYWR5ID0gdGhpcy5mb3JtaW8ubG9hZEZvcm0oKS50aGVuKGZvcm0gPT4gdGhpcy5zZXRGb3JtKGZvcm0pKTtcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVhZHk7XG4gIH1cblxuICBzZXRTdWJtaXNzaW9uKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgcm91dGUucGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xuICAgICAgICB0aGlzLmZvcm1pbyA9IG5ldyBGb3JtaW8oYCR7dGhpcy5mb3JtaW8uc3VibWlzc2lvbnNVcmx9LyR7cGFyYW1zLmlkfWApO1xuICAgICAgICByZXNvbHZlKHRoaXMuZm9ybWlvKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgc3VibWlzc2lvbkxvYWRlZChzdWJtaXNzaW9uOiBhbnkpIHtcbiAgICB0aGlzLmF1dGgucmVhZHkudGhlbigoKSA9PiB7XG4gICAgICB0aGlzLmZvcm1pby51c2VyUGVybWlzc2lvbnModGhpcy5hdXRoLnVzZXIsIHRoaXMuZm9ybSwgc3VibWlzc2lvbikudGhlbigocGVybXMpID0+IHtcbiAgICAgICAgdGhpcy5wZXJtcy5kZWxldGUgPSBwZXJtcy5kZWxldGU7XG4gICAgICAgIHRoaXMucGVybXMuZWRpdCA9IHBlcm1zLmVkaXQ7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGxvYWRGb3JtcygpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtaW8ubG9hZEZvcm1zKHtwYXJhbXM6IHtcbiAgICAgIHRhZ3M6IHRoaXMuY29uZmlnLnRhZ1xuICAgIH19KTtcbiAgfVxufVxuIl19
182
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormManagerService, [{
183
+ type: Injectable
184
+ }], () => [{ type: i1.FormioAppConfig }, { type: i2.FormManagerConfig }, { type: i3.FormioAuthService }], null); })();
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWZvcm1pby9tYW5hZ2VyL3NyYy9mb3JtLW1hbmFnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHcEMsT0FBTyxhQUFhLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBR2hELE1BQU0sT0FBTyxrQkFBa0I7SUFhcEI7SUFDQTtJQUNBO0lBZEYsTUFBTSxDQUFTO0lBQ2YsTUFBTSxDQUFNO0lBQ1osWUFBWSxDQUFNO0lBQ2xCLFlBQVksQ0FBTTtJQUNsQixLQUFLLENBQWU7SUFDcEIsU0FBUyxDQUFlO0lBQ3hCLGFBQWEsQ0FBTTtJQUNuQixJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ1osT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNiLEtBQUssR0FBRyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBQyxDQUFDO0lBRTVDLFlBQ1MsU0FBMEIsRUFDMUIsTUFBeUIsRUFDekIsSUFBdUI7UUFGdkIsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFDMUIsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFDekIsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFFOUIsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QyxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sQ0FBQyxL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SUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQ0FDMUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQ0FDeEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQ0FDOUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQ0FDM0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQ0FDdEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQzs0QkFDOUUsQ0FBQzs0QkFDRCxJQUFJLFdBQVcsSUFBSSxXQUFXLENBQUMsR0FBRyxLQUFLLE1BQU0sRUFBRSxDQUFDO2dDQUM5QyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dDQUMxRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dDQUN4RSxJQUFJLENBQUMsTUFBTSxD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QUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDaEYsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztnQkFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztZQUMvQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUMsTUFBTSxFQUFFO2dCQUNwQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHO2FBQ3RCLEVBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQzs0RUFuTFUsa0JBQWtCO2dFQUFsQixrQkFBa0IsV0FBbEIsa0JBQWtCOztpRkFBbEIsa0JBQWtCO2NBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtaW9BcHBDb25maWcgfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuaW1wb3J0IHsgRm9ybU1hbmFnZXJDb25maWcgfSBmcm9tICcuL2Zvcm0tbWFuYWdlci5jb25maWcnO1xuaW1wb3J0IHsgRm9ybWlvIH0gZnJvbSAnQGZvcm1pby9qcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBGb3JtaW9BdXRoU2VydmljZSB9IGZyb20gJ0Bmb3JtaW8vYW5ndWxhci9hdXRoJztcbmltcG9ydCBfaW50ZXJzZWN0aW9uIGZyb20gJ2xvZGFzaC9pbnRlcnNlY3Rpb24nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRm9ybU1hbmFnZXJTZXJ2aWNlIHtcbiAgcHVibGljIGZvcm1pbzogRm9ybWlvO1xuICBwdWJsaWMgYWNjZXNzOiBhbnk7XG4gIHB1YmxpYyBhbGxBY2Nlc3NNYXA6IGFueTtcbiAgcHVibGljIG93bkFjY2Vzc01hcDogYW55O1xuICBwdWJsaWMgcmVhZHk6IFByb21pc2U8YW55PjtcbiAgcHVibGljIGZvcm1SZWFkeTogUHJvbWlzZTxhbnk+O1xuICBwdWJsaWMgYWN0aW9uQWxsb3dlZDogYW55O1xuICBwdWJsaWMgZm9ybSA9IG51bGw7XG4gIHB1YmxpYyBmb3JtU3JjID0gJyc7XG4gIHB1YmxpYyBwZXJtcyA9IHtkZWxldGU6IGZhbHNlLCBlZGl0OiBmYWxzZX07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGFwcENvbmZpZzogRm9ybWlvQXBwQ29uZmlnLFxuICAgIHB1YmxpYyBjb25maWc6IEZvcm1NYW5hZ2VyQ29uZmlnLFxuICAgIHB1YmxpYyBhdXRoOiBGb3JtaW9BdXRoU2VydmljZVxuICApIHtcbiAgICBpZiAodGhpcy5hcHBDb25maWcgJiYgdGhpcy5hcHBDb25maWcuYXBwVXJsKSB7XG4gICAgICBGb3JtaW8uc2V0QmFzZVVybCh0aGlzLmFwcENvbmZpZy5hcGlVcmwpO1xuICAgICAgRm9ybWlvLnNldFByb2plY3RVcmwodGhpcy5hcHBDb25maWcuYXBwVXJsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcignWW91IG11c3QgcHJvdmlkZSBhbiBBcHBDb25maWcgd2l0aGluIHlvdXIgYXBwbGljYXRpb24hJyk7XG4gICAgfVxuXG4gICAgdGhpcy5hbGxBY2Nlc3NNYXAgPSB7XG4gICAgICAndXBkYXRlX2FsbCc6ICdmb3JtRWRpdCcsXG4gICAgICAnZGVsZXRlX2FsbCc6ICdmb3JtRGVsZXRlJ1xuICAgIH07XG4gICAgdGhpcy5vd25BY2Nlc3NNYXAgPSB7XG4gICAgICAndXBkYXRlX293bic6ICdmb3JtRWRpdCcsXG4gICAgICAnZGVsZXRlX293bic6ICdmb3JtRGVsZXRlJ1xuICAgIH07XG4gICAgdGhpcy5hY3Rpb25BbGxvd2VkID0gKGFjdGlvbikgPT4gdGhpcy5pc0FjdGlvbkFsbG93ZWQoYWN0aW9uKTtcbiAgICB0aGlzLnJlc2V0KCk7XG4gIH1cblxuICBpc0FjdGlvbkFsbG93ZWQoYWN0aW9uOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hY2Nlc3NbYWN0aW9uXTtcbiAgfVxuXG4gIHNldEFjY2VzcygpIHtcbiAgICB0aGlzLmFjY2VzcyA9IHtcbiAgICAgIGZvcm1DcmVhdGU6IHRydWUsXG4gICAgICBmb3JtVmlldzogdHJ1ZSxcbiAgICAgIGZvcm1TdWJtaXNzaW9uOiB0cnVlLFxuICAgICAgZm9ybUVkaXQ6IHRydWUsXG4gICAgICBmb3JtUGVybWlzc2lvbjogdHJ1ZSxcbiAgICAgIGZvcm1EZWxldGU6IHRydWUsXG4gICAgICBwcm9qZWN0U2V0dGluZ3M6IHRydWUsXG4gICAgICB1c2VyTWFuYWdlbWVudDogdHJ1ZVxuICAgIH07XG4gICAgaWYgKHRoaXMuYXV0aCkge1xuICAgICAgdGhpcy5hY2Nlc3MgPSB7XG4gICAgICAgIGZvcm1DcmVhdGU6IGZhbHNlLFxuICAgICAgICBmb3JtVmlldzogZmFsc2UsXG4gICAgICAgIGZvcm1TdWJtaXNzaW9uOiBmYWxzZSxcbiAgICAgICAgZm9ybUVkaXQ6IGZhbHNlLFxuICAgICAgICBmb3JtUGVybWlzc2lvbjogZmFsc2UsXG4gICAgICAgIGZvcm1EZWxldGU6IGZhbHNlLFxuICAgICAgICBwcm9qZWN0U2V0dGluZ3M6IGZhbHNlLFxuICAgICAgICB1c2VyTWFuYWdlbWVudDogZmFsc2VcbiAgICAgIH07XG4gICAgICB0aGlzLnJlYWR5ID0gdGhpcy5hdXRoLnJlYWR5LnRoZW4oKCkgPT4ge1xuICAgICAgICBsZXQgYWRtaW5pc3RyYXRvciA9IHRoaXMuYXV0aC5yb2xlc1tcImFkbWluaXN0cmF0b3JcIl07XG4gICAgICAgIGxldCBmb3JtYnVpbGRlciA9IHRoaXMuYXV0aC5yb2xlc1tcImZvcm1idWlsZGVyXCJdO1xuICAgICAgICBsZXQgZm9ybWFkbWluID0gdGhpcy5hdXRoLnJvbGVzW1wiZm9ybWFkbWluXCJdO1xuXG4gICAgICAgIGlmICh0aGlzLmF1dGgudXNlciAmJiB0aGlzLmF1dGgudXNlci5yb2xlcykge1xuICAgICAgICAgIHRoaXMuYXV0aC51c2VyLnJvbGVzLmZvckVhY2goKHJvbGVJZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBpZiAoYWRtaW5pc3RyYXRvci5faWQgPT09IHJvbGVJZCkge1xuICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtQ3JlYXRlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgdGhpcy5hY2Nlc3MuZm9ybVZpZXcgPSB0cnVlO1xuICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtU3VibWlzc2lvbj0gdHJ1ZTtcbiAgICAgICAgICAgICAgdGhpcy5hY2Nlc3MuZm9ybUVkaXQgPSB0cnVlO1xuICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtUGVybWlzc2lvbiA9IHRydWU7XG4gICAgICAgICAgICAgIHRoaXMuYWNjZXNzLmZvcm1EZWxldGUgPSB0cnVlO1xuICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5wcm9qZWN0U2V0dGluZ3MgPSB0cnVlO1xuICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy51c2VyTWFuYWdlbWVudCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgaWYgKGZvcm1hZG1pbiAmJiBmb3JtYWRtaW4uX2lkID09PSByb2xlSWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtQ3JlYXRlID0gdGhpcy5hdXRoLmZvcm1BY2Nlc3MuY3JlYXRlX2FsbC5pbmNsdWRlcyhyb2xlSWQpO1xuICAgICAgICAgICAgICAgIHRoaXMuYWNjZXNzLmZvcm1FZGl0ID0gdGhpcy5hdXRoLmZvcm1BY2Nlc3MudXBkYXRlX2FsbC5pbmNsdWRlcyhyb2xlSWQpO1xuICAgICAgICAgICAgICAgIHRoaXMuYWNjZXNzLmZvcm1QZXJtaXNzaW9uID0gdGhpcy5hdXRoLmZvcm1BY2Nlc3MudXBkYXRlX2FsbC5pbmNsdWRlcyhyb2xlSWQpO1xuICAgICAgICAgICAgICAgIHRoaXMuYWNjZXNzLmZvcm1EZWxldGUgPSAgdGhpcy5hdXRoLmZvcm1BY2Nlc3MuZGVsZXRlX2FsbC5pbmNsdWRlcyhyb2xlSWQpO1xuICAgICAgICAgICAgICAgIHRoaXMuYWNjZXNzLmZvcm1WaWV3ID0gdGhpcy5hdXRoLmZvcm1BY2Nlc3MucmVhZF9hbGwuaW5jbHVkZXMocm9sZUlkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtU3VibWlzc2lvbiA9IHRoaXMuYXV0aC5mb3JtQWNjZXNzLnJlYWRfYWxsLmluY2x1ZGVzKHJvbGVJZCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKGZvcm1idWlsZGVyICYmIGZvcm1idWlsZGVyLl9pZCA9PT0gcm9sZUlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY2Nlc3MuZm9ybUNyZWF0ZSA9IHRoaXMuYXV0aC5mb3JtQWNjZXNzLmNyZWF0ZV9hbGwuaW5jbHVkZXMocm9sZUlkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtRWRpdCA9IHRoaXMuYXV0aC5mb3JtQWNjZXNzLnVwZGF0ZV9hbGwuaW5jbHVkZXMocm9sZUlkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtUGVybWlzc2lvbiA9IHRoaXMuYXV0aC5mb3JtQWNjZXNzLnVwZGF0ZV9hbGwuaW5jbHVkZXMocm9sZUlkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtRGVsZXRlID0gIHRoaXMuYXV0aC5mb3JtQWNjZXNzLmRlbGV0ZV9hbGwuaW5jbHVkZXMocm9sZUlkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjY2Vzcy5mb3JtVmlldyA9IHRoaXMuYXV0aC5mb3JtQWNjZXNzLnJlYWRfYWxsLmluY2x1ZGVzKHJvbGVJZCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVhZHkgPSBQcm9taXNlLnJlc29sdmUoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHJlc2V0KHJvdXRlPzogQWN0aXZhdGVkUm91dGUpIHtcbiAgICBpZiAocm91dGUpIHtcbiAgICAgIHJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcbiAgICAgICAgaWYgKHBhcmFtcy5pZCkge1xuICAgICAgICAgIHRoaXMuZm9ybWlvID0gbmV3IEZvcm1pbyhgJHt0aGlzLmZvcm1pby5mb3Jtc1VybH0vJHtwYXJhbXMuaWR9YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtaW8gPSBuZXcgRm9ybWlvKHRoaXMuYXBwQ29uZmlnLmFwcFVybCk7XG4gICAgICB0aGlzLnNldEFjY2VzcygpO1xuICAgIH1cbiAgfVxuXG4gIGhhc0FjY2Vzcyhyb2xlcykge1xuICAgIGlmICghdGhpcy5hdXRoLnVzZXIpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuICEhX2ludGVyc2VjdGlvbihyb2xlcywgdGhpcy5hdXRoLnVzZXIucm9sZXMpLmxlbmd0aDtcbiAgfVxuXG4gIHNldEZvcm0oZm9ybTogYW55KSB7XG4gICAgdGhpcy5mb3JtID0gZm9ybTtcbiAgICB0aGlzLmZvcm1TcmMgPSB0aGlzLmFwcENvbmZpZy5hcHBVcmwgKyAnLycgKyBmb3JtLnBhdGg7XG4gICAgaWYgKGZvcm0uYWNjZXNzKSB7XG4gICAgICAvLyBDaGVjayBpZiB0aGV5IGhhdmUgYWNjZXNzIGhlcmUuXG4gICAgICBmb3JtLmFjY2Vzcy5mb3JFYWNoKGFjY2VzcyA9PiB7XG4gICAgICAgIC8vIENoZWNrIGZvciBhbGwgYWNjZXNzLlxuICAgICAgICBpZiAodGhpcy5hbGxBY2Nlc3NNYXBbYWNjZXNzLnR5cGVdICYmICF0aGlzLmFjY2Vzc1t0aGlzLmFsbEFjY2Vzc01hcFthY2Nlc3MudHlwZV1dKSB7XG4gICAgICAgICAgdGhpcy5hY2Nlc3NbdGhpcy5hbGxBY2Nlc3NNYXBbYWNjZXNzLnR5cGVdXSA9IHRoaXMuaGFzQWNjZXNzKGFjY2Vzcy5yb2xlcyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDaGVjayBmb3Igb3duIGFjY2Vzcy5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMuYXV0aCAmJiB0aGlzLmF1dGgudXNlciAmJlxuICAgICAgICAgIChmb3JtLl9pZCA9PT0gdGhpcy5hdXRoLnVzZXIuX2lkKSAmJlxuICAgICAgICAgIHRoaXMub3duQWNjZXNzTWFwW2FjY2Vzcy50eXBlXSAmJlxuICAgICAgICAgICF0aGlzLmFjY2Vzc1t0aGlzLm93bkFjY2Vzc01hcFthY2Nlc3MudHlwZV1dXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuYWNjZXNzW3RoaXMub3duQWNjZXNzTWFwW2FjY2Vzcy50eXBlXV0gPSB0aGlzLmhhc0FjY2VzcyhhY2Nlc3Mucm9sZXMpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGZvcm07XG4gIH1cblxuICBsb2FkRm9ybSgpIHtcbiAgICB0aGlzLmZvcm0gPSBudWxsO1xuICAgIHRoaXMuZm9ybVJlYWR5ID0gdGhpcy5mb3JtaW8ubG9hZEZvcm0oKS50aGVuKGZvcm0gPT4gdGhpcy5zZXRGb3JtKGZvcm0pKTtcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVhZHk7XG4gIH1cblxuICBzZXRTdWJtaXNzaW9uKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgcm91dGUucGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xuICAgICAgICB0aGlzLmZvcm1pbyA9IG5ldyBGb3JtaW8oYCR7dGhpcy5mb3JtaW8uc3VibWlzc2lvbnNVcmx9LyR7cGFyYW1zLmlkfWApO1xuICAgICAgICByZXNvbHZlKHRoaXMuZm9ybWlvKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgc3VibWlzc2lvbkxvYWRlZChzdWJtaXNzaW9uOiBhbnkpIHtcbiAgICB0aGlzLmF1dGgucmVhZHkudGhlbigoKSA9PiB7XG4gICAgICB0aGlzLmZvcm1pby51c2VyUGVybWlzc2lvbnModGhpcy5hdXRoLnVzZXIsIHRoaXMuZm9ybSwgc3VibWlzc2lvbikudGhlbigocGVybXMpID0+IHtcbiAgICAgICAgdGhpcy5wZXJtcy5kZWxldGUgPSBwZXJtcy5kZWxldGU7XG4gICAgICAgIHRoaXMucGVybXMuZWRpdCA9IHBlcm1zLmVkaXQ7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGxvYWRGb3JtcygpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtaW8ubG9hZEZvcm1zKHtwYXJhbXM6IHtcbiAgICAgIHRhZ3M6IHRoaXMuY29uZmlnLnRhZ1xuICAgIH19KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,149 @@
1
+ import { Component, ViewChild } from '@angular/core';
2
+ import { DefaultConfiguration } from '../form-manager.config';
3
+ import { FormioGridComponent } from '@formio/angular/grid';
4
+ import { debounce } from 'lodash';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../form-manager.service";
7
+ import * as i2 from "@angular/router";
8
+ import * as i3 from "../form-manager.config";
9
+ import * as i4 from "@angular/common";
10
+ import * as i5 from "@formio/angular/grid";
11
+ const _c0 = ["search"];
12
+ function FormManagerIndexComponent_div_0_span_3_Template(rf, ctx) { if (rf & 1) {
13
+ const _r3 = i0.ɵɵgetCurrentView();
14
+ i0.ɵɵelementStart(0, "span", 6);
15
+ i0.ɵɵlistener("click", function FormManagerIndexComponent_div_0_span_3_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.clearSearch()); });
16
+ i0.ɵɵelement(1, "span", 7);
17
+ i0.ɵɵelementEnd();
18
+ } }
19
+ function FormManagerIndexComponent_div_0_Template(rf, ctx) { if (rf & 1) {
20
+ const _r1 = i0.ɵɵgetCurrentView();
21
+ i0.ɵɵelementStart(0, "div", 3)(1, "input", 4, 0);
22
+ i0.ɵɵlistener("keyup", function FormManagerIndexComponent_div_0_Template_input_keyup_1_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSearch()); });
23
+ i0.ɵɵelementEnd();
24
+ i0.ɵɵtemplate(3, FormManagerIndexComponent_div_0_span_3_Template, 2, 0, "span", 5);
25
+ i0.ɵɵelementEnd();
26
+ } if (rf & 2) {
27
+ const search_r4 = i0.ɵɵreference(2);
28
+ i0.ɵɵadvance(3);
29
+ i0.ɵɵproperty("ngIf", search_r4 && search_r4 !== "");
30
+ } }
31
+ function FormManagerIndexComponent_formio_grid_1_Template(rf, ctx) { if (rf & 1) {
32
+ const _r5 = i0.ɵɵgetCurrentView();
33
+ i0.ɵɵelementStart(0, "formio-grid", 8);
34
+ i0.ɵɵlistener("rowAction", function FormManagerIndexComponent_formio_grid_1_Template_formio_grid_rowAction_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onAction($event)); })("rowSelect", function FormManagerIndexComponent_formio_grid_1_Template_formio_grid_rowSelect_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSelect($event)); })("createItem", function FormManagerIndexComponent_formio_grid_1_Template_formio_grid_createItem_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onCreateItem()); });
35
+ i0.ɵɵelementEnd();
36
+ } if (rf & 2) {
37
+ const ctx_r1 = i0.ɵɵnextContext();
38
+ i0.ɵɵproperty("formio", ctx_r1.service.formio)("gridType", "form")("query", ctx_r1.gridQuery)("isActionAllowed", ctx_r1.service.actionAllowed);
39
+ } }
40
+ export class FormManagerIndexComponent {
41
+ service;
42
+ route;
43
+ router;
44
+ config;
45
+ searchElement;
46
+ formGrid;
47
+ gridQuery;
48
+ onSearch;
49
+ constructor(service, route, router, config) {
50
+ this.service = service;
51
+ this.route = route;
52
+ this.router = router;
53
+ this.config = config;
54
+ this.config = { ...DefaultConfiguration, ...this.config };
55
+ this.gridQuery = { type: this.config.type, sort: 'title' };
56
+ if (this.config.tag) {
57
+ this.gridQuery.tags = this.config.tag;
58
+ }
59
+ this.onSearch = debounce(this._onSearch, 300);
60
+ }
61
+ loadGrid() {
62
+ this.gridQuery = JSON.parse(localStorage.getItem('query')) || this.gridQuery;
63
+ const currentPage = +localStorage.getItem('currentPage') || 0;
64
+ this.formGrid
65
+ .refreshGrid(this.gridQuery)
66
+ .then(() => this.formGrid.setPage(currentPage - 1));
67
+ }
68
+ ngOnInit() {
69
+ this.gridQuery = { type: this.config.type, sort: 'title' };
70
+ if (this.config.tag) {
71
+ this.gridQuery.tags = this.config.tag;
72
+ }
73
+ this.service.reset();
74
+ this.service.ready.then(() => {
75
+ this.loadGrid();
76
+ this.formGrid.footer.pageChanged.subscribe(page => {
77
+ localStorage.setItem('currentPage', page.page);
78
+ });
79
+ });
80
+ }
81
+ ngAfterViewInit() {
82
+ this.searchElement.nativeElement.value = localStorage.getItem('searchInput') || '';
83
+ }
84
+ _onSearch() {
85
+ const search = this.searchElement.nativeElement.value;
86
+ if (search.length > 0) {
87
+ this.gridQuery.skip = 0;
88
+ this.gridQuery.title__regex = '/' + search + '/i';
89
+ this.gridQuery.title__regex = '/' + search.trim() + '/i';
90
+ }
91
+ else {
92
+ delete this.gridQuery.title__regex;
93
+ }
94
+ localStorage.setItem('query', JSON.stringify(this.gridQuery));
95
+ localStorage.setItem('searchInput', search);
96
+ this.formGrid.pageChanged({ page: 1, itemPerPage: this.gridQuery.limit });
97
+ }
98
+ clearSearch() {
99
+ this.gridQuery = { type: this.config.type, sort: 'title' };
100
+ if (this.config.tag) {
101
+ this.gridQuery.tags = this.config.tag;
102
+ }
103
+ localStorage.removeItem('query');
104
+ localStorage.removeItem('searchInput');
105
+ localStorage.removeItem('currentPage');
106
+ if (this.searchElement?.nativeElement) {
107
+ this.searchElement.nativeElement.value = '';
108
+ }
109
+ this.formGrid.query = this.gridQuery;
110
+ this.formGrid.pageChanged({ page: 1 });
111
+ }
112
+ onAction(action) {
113
+ this.service.form = null; // Reset previous form data
114
+ this.router.navigate([action.row._id, action.action], { relativeTo: this.route });
115
+ }
116
+ onSelect(row) {
117
+ this.router.navigate([row._id], { relativeTo: this.route });
118
+ }
119
+ onCreateItem() {
120
+ this.router.navigate(['create'], { relativeTo: this.route });
121
+ }
122
+ static ɵfac = function FormManagerIndexComponent_Factory(t) { return new (t || FormManagerIndexComponent)(i0.ɵɵdirectiveInject(i1.FormManagerService), i0.ɵɵdirectiveInject(i2.ActivatedRoute), i0.ɵɵdirectiveInject(i2.Router), i0.ɵɵdirectiveInject(i3.FormManagerConfig)); };
123
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormManagerIndexComponent, selectors: [["ng-component"]], viewQuery: function FormManagerIndexComponent_Query(rf, ctx) { if (rf & 1) {
124
+ i0.ɵɵviewQuery(_c0, 5);
125
+ i0.ɵɵviewQuery(FormioGridComponent, 5);
126
+ } if (rf & 2) {
127
+ let _t;
128
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.searchElement = _t.first);
129
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.formGrid = _t.first);
130
+ } }, decls: 2, vars: 2, consts: [["search", ""], ["role", "search", "class", "input-group mb-3", 4, "ngIf"], [3, "formio", "gridType", "query", "isActionAllowed", "rowAction", "rowSelect", "createItem", 4, "ngIf"], ["role", "search", 1, "input-group", "mb-3"], ["type", "text", "placeholder", "Search Forms", "aria-label", "Search Forms", "aria-describedby", "button-search", 1, "form-control", 3, "keyup"], ["class", "form-clear input-group-addon", 3, "click", 4, "ngIf"], [1, "form-clear", "input-group-addon", 3, "click"], [1, "fa", "fa-times", "bi", "bi-x"], [3, "rowAction", "rowSelect", "createItem", "formio", "gridType", "query", "isActionAllowed"]], template: function FormManagerIndexComponent_Template(rf, ctx) { if (rf & 1) {
131
+ i0.ɵɵtemplate(0, FormManagerIndexComponent_div_0_Template, 4, 1, "div", 1)(1, FormManagerIndexComponent_formio_grid_1_Template, 1, 4, "formio-grid", 2);
132
+ } if (rf & 2) {
133
+ i0.ɵɵproperty("ngIf", ctx.config.includeSearch);
134
+ i0.ɵɵadvance();
135
+ i0.ɵɵproperty("ngIf", ctx.service.ready);
136
+ } }, dependencies: [i4.NgIf, i5.FormioGridComponent], styles: [".form-clear[_ngcontent-%COMP%]{background:#cecece;border-radius:50%;bottom:8px;color:#0000004d;cursor:pointer;display:flex;justify-content:center;align-items:center;padding-bottom:2px;height:24px;position:absolute;right:10px;top:6px;width:24px;z-index:10}.form-clear[_ngcontent-%COMP%] .fa[_ngcontent-%COMP%]{font-size:16px;font-weight:500}"] });
137
+ }
138
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormManagerIndexComponent, [{
139
+ type: Component,
140
+ args: [{ template: "<div role=\"search\" class=\"input-group mb-3\" *ngIf=\"config.includeSearch\">\n <input #search type=\"text\" (keyup)=\"onSearch()\" class=\"form-control\" placeholder=\"Search Forms\" aria-label=\"Search Forms\" aria-describedby=\"button-search\">\n <span *ngIf=\"search && search !== ''\" class=\"form-clear input-group-addon\" (click)=\"clearSearch()\"><span class=\"fa fa-times bi bi-x\"></span></span>\n</div>\n<formio-grid\n *ngIf=\"service.ready\"\n [formio]=\"service.formio\"\n [gridType]=\"'form'\"\n [query]=\"gridQuery\"\n [isActionAllowed]=\"service.actionAllowed\"\n (rowAction)=\"onAction($event)\"\n (rowSelect)=\"onSelect($event)\"\n (createItem)=\"onCreateItem()\"\n></formio-grid>\n", styles: [".form-clear{background:#cecece;border-radius:50%;bottom:8px;color:#0000004d;cursor:pointer;display:flex;justify-content:center;align-items:center;padding-bottom:2px;height:24px;position:absolute;right:10px;top:6px;width:24px;z-index:10}.form-clear .fa{font-size:16px;font-weight:500}\n"] }]
141
+ }], () => [{ type: i1.FormManagerService }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: i3.FormManagerConfig }], { searchElement: [{
142
+ type: ViewChild,
143
+ args: ['search']
144
+ }], formGrid: [{
145
+ type: ViewChild,
146
+ args: [FormioGridComponent, { static: false }]
147
+ }] }); })();
148
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FormManagerIndexComponent, { className: "FormManagerIndexComponent" }); })();
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1mb3JtaW8vbWFuYWdlci9zcmMvaW5kZXgvaW5kZXguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1mb3JtaW8vbWFuYWdlci9zcmMvaW5kZXgvaW5kZXguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQXNCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd4RixPQUFPLEVBQUUsb0JBQW9CLEVBQXFCLE1BQU0sd0JBQXdCLENBQUM7QUFDakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7Ozs7Ozs7OztJQ0hoQywrQkFBbUc7SUFBeEIsMkxBQVMsb0JBQWEsS0FBQztJQUFDLDBCQUF5QztJQUFBLGlCQUFPOzs7O0lBRG5KLEFBREYsOEJBQXlFLGtCQUNvRjtJQUFoSSxvTEFBUyxpQkFBVSxLQUFDO0lBQS9DLGlCQUEySjtJQUMzSixrRkFBbUc7SUFDckcsaUJBQU07OztJQURHLGVBQTZCO0lBQTdCLG9EQUE2Qjs7OztJQUV0QyxzQ0FTQztJQURDLEFBREEsQUFEQSxnTkFBYSx1QkFBZ0IsS0FBQyxtTUFDakIsdUJBQWdCLEtBQUMsK0xBQ2hCLHFCQUFjLEtBQUM7SUFDOUIsaUJBQWM7OztJQUpiLEFBREEsQUFEQSxBQURBLDhDQUF5QixvQkFDTiwyQkFDQSxpREFDc0I7O0FERTNDLE1BQU0sT0FBTyx5QkFBeUI7SUFNM0I7SUFDQTtJQUNBO0lBQ0E7SUFSWSxhQUFhLENBQWE7SUFDRSxRQUFRLENBQXNCO0lBQ3hFLFNBQVMsQ0FBTTtJQUNmLFFBQVEsQ0FBQztJQUNoQixZQUNTLE9BQTJCLEVBQzNCLEtBQXFCLEVBQ3JCLE1BQWMsRUFDZCxNQUF5QjtRQUh6QixZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUMzQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFFaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFDLEdBQUcsb0JBQW9CLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFDLENBQUM7UUFDekQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQ3hDLENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzdFLE1BQU0sV0FBVyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLFFBQVE7YUFDVixXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQzthQUMzQixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUMsQ0FBQztRQUN6RCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7UUFDeEMsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUMzQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDaEQsWUFBWSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyRixDQUFDO0lBRUQsU0FBUztRQUNQLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztRQUN0RCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxHQUFHLEdBQUcsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ2xELElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQzNELENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQztRQUNyQyxDQUFDO1FBQ0QsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUM5RCxZQUFZLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBQyxDQUFDO1FBQ3pELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztRQUN4QyxDQUFDO1FBQ0QsWUFBWSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqQyxZQUFZLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZDLFlBQVksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDOUMsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBQyxJQUFJLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQVc7UUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsMkJBQTJCO1FBQ3JELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxRQUFRLENBQUMsR0FBUTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDO21GQXJGVSx5QkFBeUI7NkRBQXpCLHlCQUF5Qjs7MkJBRXpCLG1CQUFtQjs7Ozs7O1lDVGhDLEFBSkEsMEVBQXlFLDZFQWF4RTs7WUFiNEMsK0NBQTBCO1lBS3BFLGNBQW1CO1lBQW5CLHdDQUFtQjs7O2lGRE1ULHlCQUF5QjtjQUpyQyxTQUFTOztxSUFLYSxhQUFhO2tCQUFqQyxTQUFTO21CQUFDLFFBQVE7WUFDOEIsUUFBUTtrQkFBeEQsU0FBUzttQkFBQyxtQkFBbUIsRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUM7O2tGQUZwQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIsIEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEZvcm1NYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uL2Zvcm0tbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7IERlZmF1bHRDb25maWd1cmF0aW9uLCBGb3JtTWFuYWdlckNvbmZpZyB9IGZyb20gJy4uL2Zvcm0tbWFuYWdlci5jb25maWcnO1xuaW1wb3J0IHsgRm9ybWlvR3JpZENvbXBvbmVudCB9IGZyb20gJ0Bmb3JtaW8vYW5ndWxhci9ncmlkJztcbmltcG9ydCB7IGRlYm91bmNlIH0gZnJvbSAnbG9kYXNoJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9pbmRleC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2luZGV4LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRm9ybU1hbmFnZXJJbmRleENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaCcpIHNlYXJjaEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoRm9ybWlvR3JpZENvbXBvbmVudCwge3N0YXRpYzogZmFsc2V9KSBmb3JtR3JpZDogRm9ybWlvR3JpZENvbXBvbmVudDtcbiAgcHVibGljIGdyaWRRdWVyeTogYW55O1xuICBwdWJsaWMgb25TZWFyY2g7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzZXJ2aWNlOiBGb3JtTWFuYWdlclNlcnZpY2UsXG4gICAgcHVibGljIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHVibGljIGNvbmZpZzogRm9ybU1hbmFnZXJDb25maWdcbiAgKSB7XG4gICAgdGhpcy5jb25maWcgPSB7Li4uRGVmYXVsdENvbmZpZ3VyYXRpb24sIC4uLnRoaXMuY29uZmlnfTtcbiAgICB0aGlzLmdyaWRRdWVyeSA9IHt0eXBlOiB0aGlzLmNvbmZpZy50eXBlLCBzb3J0OiAndGl0bGUnfTtcbiAgICBpZiAodGhpcy5jb25maWcudGFnKSB7XG4gICAgICB0aGlzLmdyaWRRdWVyeS50YWdzID0gdGhpcy5jb25maWcudGFnO1xuICAgIH1cbiAgICB0aGlzLm9uU2VhcmNoID0gZGVib3VuY2UodGhpcy5fb25TZWFyY2gsIDMwMCk7XG4gIH1cblxuICBsb2FkR3JpZCgpIHtcbiAgICB0aGlzLmdyaWRRdWVyeSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3F1ZXJ5JykpIHx8IHRoaXMuZ3JpZFF1ZXJ5O1xuICAgIGNvbnN0IGN1cnJlbnRQYWdlID0gK2xvY2FsU3RvcmFnZS5nZXRJdGVtKCdjdXJyZW50UGFnZScpIHx8IDA7XG4gICAgdGhpcy5mb3JtR3JpZFxuICAgICAgLnJlZnJlc2hHcmlkKHRoaXMuZ3JpZFF1ZXJ5KVxuICAgICAgLnRoZW4oKCkgPT4gdGhpcy5mb3JtR3JpZC5zZXRQYWdlKGN1cnJlbnRQYWdlIC0gMSkpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5ncmlkUXVlcnkgPSB7dHlwZTogdGhpcy5jb25maWcudHlwZSwgc29ydDogJ3RpdGxlJ307XG4gICAgaWYgKHRoaXMuY29uZmlnLnRhZykge1xuICAgICAgdGhpcy5ncmlkUXVlcnkudGFncyA9IHRoaXMuY29uZmlnLnRhZztcbiAgICB9XG4gICAgdGhpcy5zZXJ2aWNlLnJlc2V0KCk7XG4gICAgdGhpcy5zZXJ2aWNlLnJlYWR5LnRoZW4oKCkgPT4ge1xuICAgICAgdGhpcy5sb2FkR3JpZCgpO1xuICAgICAgdGhpcy5mb3JtR3JpZC5mb290ZXIucGFnZUNoYW5nZWQuc3Vic2NyaWJlKHBhZ2UgPT4ge1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnY3VycmVudFBhZ2UnLCBwYWdlLnBhZ2UpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnc2VhcmNoSW5wdXQnKSB8fCAnJztcbiAgfVxuXG4gIF9vblNlYXJjaCgpIHtcbiAgICBjb25zdCBzZWFyY2ggPSB0aGlzLnNlYXJjaEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgICBpZiAoc2VhcmNoLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuZ3JpZFF1ZXJ5LnNraXAgPSAwO1xuICAgICAgdGhpcy5ncmlkUXVlcnkudGl0bGVfX3JlZ2V4ID0gJy8nICsgc2VhcmNoICsgJy9pJztcbiAgICAgIHRoaXMuZ3JpZFF1ZXJ5LnRpdGxlX19yZWdleCA9ICcvJyArIHNlYXJjaC50cmltKCkgKyAnL2knO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWxldGUgdGhpcy5ncmlkUXVlcnkudGl0bGVfX3JlZ2V4O1xuICAgIH1cbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgncXVlcnknLCBKU09OLnN0cmluZ2lmeSh0aGlzLmdyaWRRdWVyeSkpO1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdzZWFyY2hJbnB1dCcsIHNlYXJjaCk7XG4gICAgdGhpcy5mb3JtR3JpZC5wYWdlQ2hhbmdlZCh7cGFnZTogMSwgaXRlbVBlclBhZ2U6IHRoaXMuZ3JpZFF1ZXJ5LmxpbWl0fSk7XG4gIH1cblxuICBjbGVhclNlYXJjaCgpIHtcbiAgICB0aGlzLmdyaWRRdWVyeSA9IHt0eXBlOiB0aGlzLmNvbmZpZy50eXBlLCBzb3J0OiAndGl0bGUnfTtcbiAgICBpZiAodGhpcy5jb25maWcudGFnKSB7XG4gICAgICB0aGlzLmdyaWRRdWVyeS50YWdzID0gdGhpcy5jb25maWcudGFnO1xuICAgIH1cbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgncXVlcnknKTtcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnc2VhcmNoSW5wdXQnKTtcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnY3VycmVudFBhZ2UnKTtcbiAgICBpZiAodGhpcy5zZWFyY2hFbGVtZW50Py5uYXRpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLnNlYXJjaEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgIH1cbiAgICB0aGlzLmZvcm1HcmlkLnF1ZXJ5ID0gdGhpcy5ncmlkUXVlcnk7XG4gICAgdGhpcy5mb3JtR3JpZC5wYWdlQ2hhbmdlZCh7cGFnZTogMX0pO1xuICB9XG5cbiAgb25BY3Rpb24oYWN0aW9uOiBhbnkpIHtcbiAgICB0aGlzLnNlcnZpY2UuZm9ybSA9IG51bGw7IC8vIFJlc2V0IHByZXZpb3VzIGZvcm0gZGF0YVxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFthY3Rpb24ucm93Ll9pZCwgYWN0aW9uLmFjdGlvbl0sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgfVxuXG4gIG9uU2VsZWN0KHJvdzogYW55KSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3Jvdy5faWRdLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gIH1cblxuICBvbkNyZWF0ZUl0ZW0oKSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydjcmVhdGUnXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICB9XG59XG4iLCI8ZGl2IHJvbGU9XCJzZWFyY2hcIiBjbGFzcz1cImlucHV0LWdyb3VwIG1iLTNcIiAqbmdJZj1cImNvbmZpZy5pbmNsdWRlU2VhcmNoXCI+XG4gIDxpbnB1dCAjc2VhcmNoIHR5cGU9XCJ0ZXh0XCIgKGtleXVwKT1cIm9uU2VhcmNoKClcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoIEZvcm1zXCIgYXJpYS1sYWJlbD1cIlNlYXJjaCBGb3Jtc1wiIGFyaWEtZGVzY3JpYmVkYnk9XCJidXR0b24tc2VhcmNoXCI+XG4gIDxzcGFuICpuZ0lmPVwic2VhcmNoICYmIHNlYXJjaCAhPT0gJydcIiBjbGFzcz1cImZvcm0tY2xlYXIgaW5wdXQtZ3JvdXAtYWRkb25cIiAoY2xpY2spPVwiY2xlYXJTZWFyY2goKVwiPjxzcGFuIGNsYXNzPVwiZmEgZmEtdGltZXMgYmkgYmkteFwiPjwvc3Bhbj48L3NwYW4+XG48L2Rpdj5cbjxmb3JtaW8tZ3JpZFxuICAqbmdJZj1cInNlcnZpY2UucmVhZHlcIlxuICBbZm9ybWlvXT1cInNlcnZpY2UuZm9ybWlvXCJcbiAgW2dyaWRUeXBlXT1cIidmb3JtJ1wiXG4gIFtxdWVyeV09XCJncmlkUXVlcnlcIlxuICBbaXNBY3Rpb25BbGxvd2VkXT1cInNlcnZpY2UuYWN0aW9uQWxsb3dlZFwiXG4gIChyb3dBY3Rpb24pPVwib25BY3Rpb24oJGV2ZW50KVwiXG4gIChyb3dTZWxlY3QpPVwib25TZWxlY3QoJGV2ZW50KVwiXG4gIChjcmVhdGVJdGVtKT1cIm9uQ3JlYXRlSXRlbSgpXCJcbj48L2Zvcm1pby1ncmlkPlxuIl19