@wavemaker/app-ng-runtime 11.5.0-next.141081 → 11.5.0-next.141082

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 (1161) hide show
  1. app-ng-runtime/build-task/bundles/index.umd.js +1 -1
  2. app-ng-runtime/build-task/esm2020/prefab/prefab.build.mjs +2 -2
  3. app-ng-runtime/build-task/fesm2015/index.mjs +1 -1
  4. app-ng-runtime/build-task/fesm2015/index.mjs.map +1 -1
  5. app-ng-runtime/build-task/fesm2020/index.mjs +1 -1
  6. app-ng-runtime/build-task/fesm2020/index.mjs.map +1 -1
  7. app-ng-runtime/components/base/bundles/index.umd.js +3 -2
  8. app-ng-runtime/components/base/esm2020/widgets/common/base/base.component.mjs +3 -2
  9. app-ng-runtime/components/base/esm2020/widgets/common/lazy-load/lazy-load.directive.mjs +2 -2
  10. app-ng-runtime/components/base/esm2020/widgets/common/partial-param/partial-param.directive.mjs +2 -2
  11. app-ng-runtime/components/base/fesm2015/index.mjs +3 -2
  12. app-ng-runtime/components/base/fesm2015/index.mjs.map +1 -1
  13. app-ng-runtime/components/base/fesm2020/index.mjs +3 -2
  14. app-ng-runtime/components/base/fesm2020/index.mjs.map +1 -1
  15. app-ng-runtime/components/containers/wizard/bundles/index.umd.js +15 -10
  16. app-ng-runtime/components/containers/wizard/esm2020/wizard-step/wizard-step.directive.mjs +5 -3
  17. app-ng-runtime/components/containers/wizard/esm2020/wizard.module.mjs +8 -4
  18. app-ng-runtime/components/containers/wizard/fesm2015/index.mjs +12 -6
  19. app-ng-runtime/components/containers/wizard/fesm2015/index.mjs.map +1 -1
  20. app-ng-runtime/components/containers/wizard/fesm2020/index.mjs +12 -6
  21. app-ng-runtime/components/containers/wizard/fesm2020/index.mjs.map +1 -1
  22. app-ng-runtime/components/containers/wizard/wizard.module.d.ts +2 -1
  23. app-ng-runtime/locales/angular/global/af-na.js +3 -2
  24. app-ng-runtime/locales/angular/global/af.js +3 -2
  25. app-ng-runtime/locales/angular/global/agq.js +3 -1
  26. app-ng-runtime/locales/angular/global/ak.js +2 -1
  27. app-ng-runtime/locales/angular/global/am.js +3 -3
  28. app-ng-runtime/locales/angular/global/ar-ae.js +3 -2
  29. app-ng-runtime/locales/angular/global/ar-bh.js +3 -2
  30. app-ng-runtime/locales/angular/global/ar-dj.js +3 -2
  31. app-ng-runtime/locales/angular/global/ar-dz.js +3 -2
  32. app-ng-runtime/locales/angular/global/ar-eg.js +3 -2
  33. app-ng-runtime/locales/angular/global/ar-eh.js +3 -2
  34. app-ng-runtime/locales/angular/global/ar-er.js +3 -2
  35. app-ng-runtime/locales/angular/global/ar-il.js +3 -2
  36. app-ng-runtime/locales/angular/global/ar-iq.js +3 -2
  37. app-ng-runtime/locales/angular/global/ar-jo.js +3 -2
  38. app-ng-runtime/locales/angular/global/ar-km.js +3 -2
  39. app-ng-runtime/locales/angular/global/ar-kw.js +3 -2
  40. app-ng-runtime/locales/angular/global/ar-lb.js +3 -2
  41. app-ng-runtime/locales/angular/global/ar-ly.js +3 -2
  42. app-ng-runtime/locales/angular/global/ar-ma.js +3 -2
  43. app-ng-runtime/locales/angular/global/ar-mr.js +3 -2
  44. app-ng-runtime/locales/angular/global/ar-om.js +3 -2
  45. app-ng-runtime/locales/angular/global/ar-ps.js +3 -2
  46. app-ng-runtime/locales/angular/global/ar-qa.js +3 -2
  47. app-ng-runtime/locales/angular/global/ar-sa.js +3 -2
  48. app-ng-runtime/locales/angular/global/ar-sd.js +3 -2
  49. app-ng-runtime/locales/angular/global/ar-so.js +3 -2
  50. app-ng-runtime/locales/angular/global/ar-ss.js +3 -2
  51. app-ng-runtime/locales/angular/global/ar-sy.js +3 -2
  52. app-ng-runtime/locales/angular/global/ar-td.js +3 -2
  53. app-ng-runtime/locales/angular/global/ar-tn.js +3 -2
  54. app-ng-runtime/locales/angular/global/ar-ye.js +3 -2
  55. app-ng-runtime/locales/angular/global/ar.js +3 -2
  56. app-ng-runtime/locales/angular/global/as.js +3 -3
  57. app-ng-runtime/locales/angular/global/asa.js +2 -1
  58. app-ng-runtime/locales/angular/global/ast.js +3 -3
  59. app-ng-runtime/locales/angular/global/az-cyrl.js +3 -1
  60. app-ng-runtime/locales/angular/global/az-latn.js +3 -2
  61. app-ng-runtime/locales/angular/global/az.js +3 -2
  62. app-ng-runtime/locales/angular/global/bas.js +3 -1
  63. app-ng-runtime/locales/angular/global/be-tarask.js +28 -0
  64. app-ng-runtime/locales/angular/global/be.js +3 -2
  65. app-ng-runtime/locales/angular/global/bem.js +2 -1
  66. app-ng-runtime/locales/angular/global/bez.js +2 -1
  67. app-ng-runtime/locales/angular/global/bg.js +3 -2
  68. app-ng-runtime/locales/angular/global/bm.js +4 -2
  69. app-ng-runtime/locales/angular/global/bn-in.js +3 -3
  70. app-ng-runtime/locales/angular/global/bn.js +3 -3
  71. app-ng-runtime/locales/angular/global/bo-in.js +3 -1
  72. app-ng-runtime/locales/angular/global/bo.js +4 -2
  73. app-ng-runtime/locales/angular/global/br.js +3 -2
  74. app-ng-runtime/locales/angular/global/brx.js +3 -2
  75. app-ng-runtime/locales/angular/global/bs-cyrl.js +3 -1
  76. app-ng-runtime/locales/angular/global/bs-latn.js +3 -3
  77. app-ng-runtime/locales/angular/global/bs.js +3 -3
  78. app-ng-runtime/locales/angular/global/ca-ad.js +3 -3
  79. app-ng-runtime/locales/angular/global/ca-es-valencia.js +3 -3
  80. app-ng-runtime/locales/angular/global/ca-fr.js +3 -3
  81. app-ng-runtime/locales/angular/global/ca-it.js +3 -3
  82. app-ng-runtime/locales/angular/global/ca.js +3 -3
  83. app-ng-runtime/locales/angular/global/ccp-in.js +4 -2
  84. app-ng-runtime/locales/angular/global/ccp.js +4 -2
  85. app-ng-runtime/locales/angular/global/ce.js +3 -2
  86. app-ng-runtime/locales/angular/global/ceb.js +3 -3
  87. app-ng-runtime/locales/angular/global/cgg.js +2 -1
  88. app-ng-runtime/locales/angular/global/chr.js +3 -2
  89. app-ng-runtime/locales/angular/global/ckb-ir.js +2 -1
  90. app-ng-runtime/locales/angular/global/ckb.js +2 -1
  91. app-ng-runtime/locales/angular/global/cs.js +3 -3
  92. app-ng-runtime/locales/angular/global/cy.js +3 -2
  93. app-ng-runtime/locales/angular/global/da-gl.js +3 -3
  94. app-ng-runtime/locales/angular/global/da.js +3 -3
  95. app-ng-runtime/locales/angular/global/dav.js +3 -1
  96. app-ng-runtime/locales/angular/global/de-at.js +3 -3
  97. app-ng-runtime/locales/angular/global/de-be.js +3 -3
  98. app-ng-runtime/locales/angular/global/de-ch.js +3 -3
  99. app-ng-runtime/locales/angular/global/de-it.js +3 -3
  100. app-ng-runtime/locales/angular/global/de-li.js +3 -3
  101. app-ng-runtime/locales/angular/global/de-lu.js +3 -3
  102. app-ng-runtime/locales/angular/global/de.js +3 -3
  103. app-ng-runtime/locales/angular/global/dje.js +4 -2
  104. app-ng-runtime/locales/angular/global/doi.js +24 -0
  105. app-ng-runtime/locales/angular/global/dsb.js +3 -3
  106. app-ng-runtime/locales/angular/global/dua.js +3 -1
  107. app-ng-runtime/locales/angular/global/dyo.js +4 -2
  108. app-ng-runtime/locales/angular/global/dz.js +3 -1
  109. app-ng-runtime/locales/angular/global/ebu.js +3 -1
  110. app-ng-runtime/locales/angular/global/ee-tg.js +3 -2
  111. app-ng-runtime/locales/angular/global/ee.js +3 -2
  112. app-ng-runtime/locales/angular/global/el-cy.js +3 -2
  113. app-ng-runtime/locales/angular/global/el.js +3 -2
  114. app-ng-runtime/locales/angular/global/en-001.js +3 -3
  115. app-ng-runtime/locales/angular/global/en-150.js +3 -3
  116. app-ng-runtime/locales/angular/global/en-ae.js +3 -3
  117. app-ng-runtime/locales/angular/global/en-ag.js +3 -3
  118. app-ng-runtime/locales/angular/global/en-ai.js +3 -3
  119. app-ng-runtime/locales/angular/global/en-as.js +2 -2
  120. app-ng-runtime/locales/angular/global/en-at.js +3 -3
  121. app-ng-runtime/locales/angular/global/en-au.js +3 -3
  122. app-ng-runtime/locales/angular/global/en-bb.js +3 -3
  123. app-ng-runtime/locales/angular/global/en-be.js +3 -3
  124. app-ng-runtime/locales/angular/global/en-bi.js +2 -2
  125. app-ng-runtime/locales/angular/global/en-bm.js +3 -3
  126. app-ng-runtime/locales/angular/global/en-bs.js +3 -3
  127. app-ng-runtime/locales/angular/global/en-bw.js +3 -3
  128. app-ng-runtime/locales/angular/global/en-bz.js +3 -3
  129. app-ng-runtime/locales/angular/global/en-ca.js +3 -3
  130. app-ng-runtime/locales/angular/global/en-cc.js +3 -3
  131. app-ng-runtime/locales/angular/global/en-ch.js +3 -3
  132. app-ng-runtime/locales/angular/global/en-ck.js +3 -3
  133. app-ng-runtime/locales/angular/global/en-cm.js +3 -3
  134. app-ng-runtime/locales/angular/global/en-cx.js +3 -3
  135. app-ng-runtime/locales/angular/global/en-cy.js +3 -3
  136. app-ng-runtime/locales/angular/global/en-de.js +3 -3
  137. app-ng-runtime/locales/angular/global/en-dg.js +3 -3
  138. app-ng-runtime/locales/angular/global/en-dk.js +3 -3
  139. app-ng-runtime/locales/angular/global/en-dm.js +3 -3
  140. app-ng-runtime/locales/angular/global/en-er.js +3 -3
  141. app-ng-runtime/locales/angular/global/en-fi.js +3 -3
  142. app-ng-runtime/locales/angular/global/en-fj.js +3 -3
  143. app-ng-runtime/locales/angular/global/en-fk.js +3 -3
  144. app-ng-runtime/locales/angular/global/en-fm.js +3 -3
  145. app-ng-runtime/locales/angular/global/en-gb.js +3 -3
  146. app-ng-runtime/locales/angular/global/en-gd.js +3 -3
  147. app-ng-runtime/locales/angular/global/en-gg.js +3 -3
  148. app-ng-runtime/locales/angular/global/en-gh.js +3 -3
  149. app-ng-runtime/locales/angular/global/en-gi.js +3 -3
  150. app-ng-runtime/locales/angular/global/en-gm.js +3 -3
  151. app-ng-runtime/locales/angular/global/en-gu.js +2 -2
  152. app-ng-runtime/locales/angular/global/en-gy.js +3 -3
  153. app-ng-runtime/locales/angular/global/en-hk.js +3 -3
  154. app-ng-runtime/locales/angular/global/en-ie.js +3 -3
  155. app-ng-runtime/locales/angular/global/en-il.js +3 -3
  156. app-ng-runtime/locales/angular/global/en-im.js +3 -3
  157. app-ng-runtime/locales/angular/global/en-in.js +3 -3
  158. app-ng-runtime/locales/angular/global/en-io.js +3 -3
  159. app-ng-runtime/locales/angular/global/en-je.js +3 -3
  160. app-ng-runtime/locales/angular/global/en-jm.js +3 -3
  161. app-ng-runtime/locales/angular/global/en-ke.js +3 -3
  162. app-ng-runtime/locales/angular/global/en-ki.js +3 -3
  163. app-ng-runtime/locales/angular/global/en-kn.js +3 -3
  164. app-ng-runtime/locales/angular/global/en-ky.js +3 -3
  165. app-ng-runtime/locales/angular/global/en-lc.js +3 -3
  166. app-ng-runtime/locales/angular/global/en-lr.js +3 -3
  167. app-ng-runtime/locales/angular/global/en-ls.js +3 -3
  168. app-ng-runtime/locales/angular/global/en-mg.js +3 -3
  169. app-ng-runtime/locales/angular/global/en-mh.js +2 -2
  170. app-ng-runtime/locales/angular/global/en-mo.js +3 -3
  171. app-ng-runtime/locales/angular/global/en-mp.js +2 -2
  172. app-ng-runtime/locales/angular/global/en-ms.js +3 -3
  173. app-ng-runtime/locales/angular/global/en-mt.js +3 -3
  174. app-ng-runtime/locales/angular/global/en-mu.js +3 -3
  175. app-ng-runtime/locales/angular/global/en-mv.js +24 -0
  176. app-ng-runtime/locales/angular/global/en-mw.js +3 -3
  177. app-ng-runtime/locales/angular/global/en-my.js +3 -3
  178. app-ng-runtime/locales/angular/global/en-na.js +3 -3
  179. app-ng-runtime/locales/angular/global/en-nf.js +3 -3
  180. app-ng-runtime/locales/angular/global/en-ng.js +3 -3
  181. app-ng-runtime/locales/angular/global/en-nl.js +3 -3
  182. app-ng-runtime/locales/angular/global/en-nr.js +3 -3
  183. app-ng-runtime/locales/angular/global/en-nu.js +3 -3
  184. app-ng-runtime/locales/angular/global/en-nz.js +3 -3
  185. app-ng-runtime/locales/angular/global/en-pg.js +3 -3
  186. app-ng-runtime/locales/angular/global/en-ph.js +3 -3
  187. app-ng-runtime/locales/angular/global/en-pk.js +3 -3
  188. app-ng-runtime/locales/angular/global/en-pn.js +3 -3
  189. app-ng-runtime/locales/angular/global/en-pr.js +2 -2
  190. app-ng-runtime/locales/angular/global/en-pw.js +3 -3
  191. app-ng-runtime/locales/angular/global/en-rw.js +3 -3
  192. app-ng-runtime/locales/angular/global/en-sb.js +3 -3
  193. app-ng-runtime/locales/angular/global/en-sc.js +3 -3
  194. app-ng-runtime/locales/angular/global/en-sd.js +3 -3
  195. app-ng-runtime/locales/angular/global/en-se.js +3 -3
  196. app-ng-runtime/locales/angular/global/en-sg.js +3 -3
  197. app-ng-runtime/locales/angular/global/en-sh.js +3 -3
  198. app-ng-runtime/locales/angular/global/en-si.js +3 -3
  199. app-ng-runtime/locales/angular/global/en-sl.js +3 -3
  200. app-ng-runtime/locales/angular/global/en-ss.js +3 -3
  201. app-ng-runtime/locales/angular/global/en-sx.js +3 -3
  202. app-ng-runtime/locales/angular/global/en-sz.js +3 -3
  203. app-ng-runtime/locales/angular/global/en-tc.js +3 -3
  204. app-ng-runtime/locales/angular/global/en-tk.js +3 -3
  205. app-ng-runtime/locales/angular/global/en-to.js +3 -3
  206. app-ng-runtime/locales/angular/global/en-tt.js +3 -3
  207. app-ng-runtime/locales/angular/global/en-tv.js +3 -3
  208. app-ng-runtime/locales/angular/global/en-tz.js +3 -3
  209. app-ng-runtime/locales/angular/global/en-ug.js +3 -3
  210. app-ng-runtime/locales/angular/global/en-um.js +2 -2
  211. app-ng-runtime/locales/angular/global/en-vc.js +3 -3
  212. app-ng-runtime/locales/angular/global/en-vg.js +3 -3
  213. app-ng-runtime/locales/angular/global/en-vi.js +2 -2
  214. app-ng-runtime/locales/angular/global/en-vu.js +3 -3
  215. app-ng-runtime/locales/angular/global/en-ws.js +3 -3
  216. app-ng-runtime/locales/angular/global/en-za.js +3 -3
  217. app-ng-runtime/locales/angular/global/en-zm.js +3 -3
  218. app-ng-runtime/locales/angular/global/en-zw.js +3 -3
  219. app-ng-runtime/locales/angular/global/en.js +2 -2
  220. app-ng-runtime/locales/angular/global/eo.js +2 -1
  221. app-ng-runtime/locales/angular/global/es-419.js +5 -2
  222. app-ng-runtime/locales/angular/global/es-ar.js +5 -2
  223. app-ng-runtime/locales/angular/global/es-bo.js +5 -2
  224. app-ng-runtime/locales/angular/global/es-br.js +5 -2
  225. app-ng-runtime/locales/angular/global/es-bz.js +5 -2
  226. app-ng-runtime/locales/angular/global/es-cl.js +5 -2
  227. app-ng-runtime/locales/angular/global/es-co.js +5 -2
  228. app-ng-runtime/locales/angular/global/es-cr.js +5 -2
  229. app-ng-runtime/locales/angular/global/es-cu.js +5 -2
  230. app-ng-runtime/locales/angular/global/es-do.js +5 -2
  231. app-ng-runtime/locales/angular/global/es-ea.js +5 -2
  232. app-ng-runtime/locales/angular/global/es-ec.js +5 -2
  233. app-ng-runtime/locales/angular/global/es-gq.js +5 -2
  234. app-ng-runtime/locales/angular/global/es-gt.js +5 -2
  235. app-ng-runtime/locales/angular/global/es-hn.js +5 -2
  236. app-ng-runtime/locales/angular/global/es-ic.js +5 -2
  237. app-ng-runtime/locales/angular/global/es-mx.js +5 -2
  238. app-ng-runtime/locales/angular/global/es-ni.js +5 -2
  239. app-ng-runtime/locales/angular/global/es-pa.js +5 -2
  240. app-ng-runtime/locales/angular/global/es-pe.js +5 -2
  241. app-ng-runtime/locales/angular/global/es-ph.js +5 -2
  242. app-ng-runtime/locales/angular/global/es-pr.js +5 -2
  243. app-ng-runtime/locales/angular/global/es-py.js +5 -2
  244. app-ng-runtime/locales/angular/global/es-sv.js +5 -2
  245. app-ng-runtime/locales/angular/global/es-us.js +5 -2
  246. app-ng-runtime/locales/angular/global/es-uy.js +5 -2
  247. app-ng-runtime/locales/angular/global/es-ve.js +5 -2
  248. app-ng-runtime/locales/angular/global/es.js +5 -2
  249. app-ng-runtime/locales/angular/global/et.js +3 -3
  250. app-ng-runtime/locales/angular/global/eu.js +3 -2
  251. app-ng-runtime/locales/angular/global/ewo.js +3 -1
  252. app-ng-runtime/locales/angular/global/fa-af.js +3 -3
  253. app-ng-runtime/locales/angular/global/fa.js +3 -3
  254. app-ng-runtime/locales/angular/global/ff-adlm-bf.js +22 -0
  255. app-ng-runtime/locales/angular/global/ff-adlm-cm.js +22 -0
  256. app-ng-runtime/locales/angular/global/ff-adlm-gh.js +22 -0
  257. app-ng-runtime/locales/angular/global/ff-adlm-gm.js +22 -0
  258. app-ng-runtime/locales/angular/global/ff-adlm-gw.js +22 -0
  259. app-ng-runtime/locales/angular/global/ff-adlm-lr.js +22 -0
  260. app-ng-runtime/locales/angular/global/ff-adlm-mr.js +22 -0
  261. app-ng-runtime/locales/angular/global/ff-adlm-ne.js +22 -0
  262. app-ng-runtime/locales/angular/global/ff-adlm-ng.js +22 -0
  263. app-ng-runtime/locales/angular/global/ff-adlm-sl.js +22 -0
  264. app-ng-runtime/locales/angular/global/ff-adlm-sn.js +22 -0
  265. app-ng-runtime/locales/angular/global/ff-adlm.js +22 -0
  266. app-ng-runtime/locales/angular/global/ff-latn-bf.js +3 -3
  267. app-ng-runtime/locales/angular/global/ff-latn-cm.js +2 -2
  268. app-ng-runtime/locales/angular/global/ff-latn-gh.js +2 -2
  269. app-ng-runtime/locales/angular/global/ff-latn-gm.js +2 -2
  270. app-ng-runtime/locales/angular/global/ff-latn-gn.js +2 -2
  271. app-ng-runtime/locales/angular/global/ff-latn-gw.js +3 -3
  272. app-ng-runtime/locales/angular/global/ff-latn-lr.js +2 -2
  273. app-ng-runtime/locales/angular/global/ff-latn-mr.js +2 -2
  274. app-ng-runtime/locales/angular/global/ff-latn-ne.js +3 -3
  275. app-ng-runtime/locales/angular/global/ff-latn-ng.js +2 -2
  276. app-ng-runtime/locales/angular/global/ff-latn-sl.js +2 -2
  277. app-ng-runtime/locales/angular/global/ff-latn.js +3 -3
  278. app-ng-runtime/locales/angular/global/ff.js +3 -3
  279. app-ng-runtime/locales/angular/global/fi.js +3 -3
  280. app-ng-runtime/locales/angular/global/fil.js +3 -3
  281. app-ng-runtime/locales/angular/global/fo-dk.js +3 -2
  282. app-ng-runtime/locales/angular/global/fo.js +3 -2
  283. app-ng-runtime/locales/angular/global/fr-be.js +5 -3
  284. app-ng-runtime/locales/angular/global/fr-bf.js +5 -3
  285. app-ng-runtime/locales/angular/global/fr-bi.js +5 -3
  286. app-ng-runtime/locales/angular/global/fr-bj.js +5 -3
  287. app-ng-runtime/locales/angular/global/fr-bl.js +5 -3
  288. app-ng-runtime/locales/angular/global/fr-ca.js +5 -3
  289. app-ng-runtime/locales/angular/global/fr-cd.js +5 -3
  290. app-ng-runtime/locales/angular/global/fr-cf.js +5 -3
  291. app-ng-runtime/locales/angular/global/fr-cg.js +5 -3
  292. app-ng-runtime/locales/angular/global/fr-ch.js +5 -3
  293. app-ng-runtime/locales/angular/global/fr-ci.js +5 -3
  294. app-ng-runtime/locales/angular/global/fr-cm.js +5 -3
  295. app-ng-runtime/locales/angular/global/fr-dj.js +5 -3
  296. app-ng-runtime/locales/angular/global/fr-dz.js +5 -3
  297. app-ng-runtime/locales/angular/global/fr-ga.js +5 -3
  298. app-ng-runtime/locales/angular/global/fr-gf.js +5 -3
  299. app-ng-runtime/locales/angular/global/fr-gn.js +5 -3
  300. app-ng-runtime/locales/angular/global/fr-gp.js +5 -3
  301. app-ng-runtime/locales/angular/global/fr-gq.js +5 -3
  302. app-ng-runtime/locales/angular/global/fr-ht.js +5 -3
  303. app-ng-runtime/locales/angular/global/fr-km.js +5 -3
  304. app-ng-runtime/locales/angular/global/fr-lu.js +5 -3
  305. app-ng-runtime/locales/angular/global/fr-ma.js +5 -3
  306. app-ng-runtime/locales/angular/global/fr-mc.js +5 -3
  307. app-ng-runtime/locales/angular/global/fr-mf.js +5 -3
  308. app-ng-runtime/locales/angular/global/fr-mg.js +5 -3
  309. app-ng-runtime/locales/angular/global/fr-ml.js +5 -3
  310. app-ng-runtime/locales/angular/global/fr-mq.js +5 -3
  311. app-ng-runtime/locales/angular/global/fr-mr.js +5 -3
  312. app-ng-runtime/locales/angular/global/fr-mu.js +5 -3
  313. app-ng-runtime/locales/angular/global/fr-nc.js +5 -3
  314. app-ng-runtime/locales/angular/global/fr-ne.js +5 -3
  315. app-ng-runtime/locales/angular/global/fr-pf.js +5 -3
  316. app-ng-runtime/locales/angular/global/fr-pm.js +5 -3
  317. app-ng-runtime/locales/angular/global/fr-re.js +5 -3
  318. app-ng-runtime/locales/angular/global/fr-rw.js +5 -3
  319. app-ng-runtime/locales/angular/global/fr-sc.js +5 -3
  320. app-ng-runtime/locales/angular/global/fr-sn.js +5 -3
  321. app-ng-runtime/locales/angular/global/fr-sy.js +5 -3
  322. app-ng-runtime/locales/angular/global/fr-td.js +5 -3
  323. app-ng-runtime/locales/angular/global/fr-tg.js +5 -3
  324. app-ng-runtime/locales/angular/global/fr-tn.js +5 -3
  325. app-ng-runtime/locales/angular/global/fr-vu.js +5 -3
  326. app-ng-runtime/locales/angular/global/fr-wf.js +5 -3
  327. app-ng-runtime/locales/angular/global/fr-yt.js +5 -3
  328. app-ng-runtime/locales/angular/global/fr.js +5 -3
  329. app-ng-runtime/locales/angular/global/fur.js +2 -1
  330. app-ng-runtime/locales/angular/global/fy.js +2 -2
  331. app-ng-runtime/locales/angular/global/ga-gb.js +3 -2
  332. app-ng-runtime/locales/angular/global/ga.js +3 -2
  333. app-ng-runtime/locales/angular/global/gd.js +3 -2
  334. app-ng-runtime/locales/angular/global/gl.js +3 -3
  335. app-ng-runtime/locales/angular/global/gsw-fr.js +2 -1
  336. app-ng-runtime/locales/angular/global/gsw-li.js +2 -1
  337. app-ng-runtime/locales/angular/global/gsw.js +2 -1
  338. app-ng-runtime/locales/angular/global/gu.js +3 -3
  339. app-ng-runtime/locales/angular/global/guz.js +3 -1
  340. app-ng-runtime/locales/angular/global/gv.js +2 -2
  341. app-ng-runtime/locales/angular/global/ha-gh.js +3 -2
  342. app-ng-runtime/locales/angular/global/ha-ne.js +3 -2
  343. app-ng-runtime/locales/angular/global/ha.js +3 -2
  344. app-ng-runtime/locales/angular/global/haw.js +2 -1
  345. app-ng-runtime/locales/angular/global/he.js +3 -3
  346. app-ng-runtime/locales/angular/global/hi-latn.js +24 -0
  347. app-ng-runtime/locales/angular/global/hi.js +3 -3
  348. app-ng-runtime/locales/angular/global/hr-ba.js +3 -3
  349. app-ng-runtime/locales/angular/global/hr.js +3 -3
  350. app-ng-runtime/locales/angular/global/hsb.js +3 -3
  351. app-ng-runtime/locales/angular/global/hu.js +3 -2
  352. app-ng-runtime/locales/angular/global/hy.js +3 -3
  353. app-ng-runtime/locales/angular/global/ia.js +2 -2
  354. app-ng-runtime/locales/angular/global/id.js +4 -2
  355. app-ng-runtime/locales/angular/global/ig.js +4 -2
  356. app-ng-runtime/locales/angular/global/ii.js +4 -2
  357. app-ng-runtime/locales/angular/global/is.js +3 -3
  358. app-ng-runtime/locales/angular/global/it-ch.js +5 -3
  359. app-ng-runtime/locales/angular/global/it-sm.js +5 -3
  360. app-ng-runtime/locales/angular/global/it-va.js +5 -3
  361. app-ng-runtime/locales/angular/global/it.js +5 -3
  362. app-ng-runtime/locales/angular/global/ja.js +4 -2
  363. app-ng-runtime/locales/angular/global/jgo.js +2 -1
  364. app-ng-runtime/locales/angular/global/jmc.js +2 -1
  365. app-ng-runtime/locales/angular/global/jv.js +3 -1
  366. app-ng-runtime/locales/angular/global/ka.js +3 -2
  367. app-ng-runtime/locales/angular/global/kab.js +2 -2
  368. app-ng-runtime/locales/angular/global/kam.js +3 -1
  369. app-ng-runtime/locales/angular/global/kde.js +3 -1
  370. app-ng-runtime/locales/angular/global/kea.js +4 -2
  371. app-ng-runtime/locales/angular/global/kgp.js +22 -0
  372. app-ng-runtime/locales/angular/global/khq.js +4 -2
  373. app-ng-runtime/locales/angular/global/ki.js +3 -1
  374. app-ng-runtime/locales/angular/global/kk.js +3 -2
  375. app-ng-runtime/locales/angular/global/kkj.js +2 -1
  376. app-ng-runtime/locales/angular/global/kl.js +2 -1
  377. app-ng-runtime/locales/angular/global/kln.js +3 -1
  378. app-ng-runtime/locales/angular/global/km.js +4 -2
  379. app-ng-runtime/locales/angular/global/kn.js +3 -3
  380. app-ng-runtime/locales/angular/global/ko-kp.js +4 -2
  381. app-ng-runtime/locales/angular/global/ko.js +4 -2
  382. app-ng-runtime/locales/angular/global/kok.js +4 -2
  383. app-ng-runtime/locales/angular/global/ks-arab.js +3 -2
  384. app-ng-runtime/locales/angular/global/ks-deva.js +22 -0
  385. app-ng-runtime/locales/angular/global/ks.js +3 -2
  386. app-ng-runtime/locales/angular/global/ksb.js +2 -1
  387. app-ng-runtime/locales/angular/global/ksf.js +3 -1
  388. app-ng-runtime/locales/angular/global/ksh.js +2 -1
  389. app-ng-runtime/locales/angular/global/ku.js +2 -1
  390. app-ng-runtime/locales/angular/global/kw.js +2 -1
  391. app-ng-runtime/locales/angular/global/ky.js +3 -2
  392. app-ng-runtime/locales/angular/global/lag.js +2 -2
  393. app-ng-runtime/locales/angular/global/lb.js +3 -2
  394. app-ng-runtime/locales/angular/global/lg.js +2 -1
  395. app-ng-runtime/locales/angular/global/lkt.js +3 -1
  396. app-ng-runtime/locales/angular/global/ln-ao.js +2 -1
  397. app-ng-runtime/locales/angular/global/ln-cf.js +2 -1
  398. app-ng-runtime/locales/angular/global/ln-cg.js +2 -1
  399. app-ng-runtime/locales/angular/global/ln.js +2 -1
  400. app-ng-runtime/locales/angular/global/lo.js +4 -2
  401. app-ng-runtime/locales/angular/global/lrc-iq.js +3 -1
  402. app-ng-runtime/locales/angular/global/lrc.js +3 -1
  403. app-ng-runtime/locales/angular/global/lt.js +3 -3
  404. app-ng-runtime/locales/angular/global/lu.js +3 -1
  405. app-ng-runtime/locales/angular/global/luo.js +3 -1
  406. app-ng-runtime/locales/angular/global/luy.js +3 -1
  407. app-ng-runtime/locales/angular/global/lv.js +3 -3
  408. app-ng-runtime/locales/angular/global/mai.js +22 -0
  409. app-ng-runtime/locales/angular/global/mas-tz.js +2 -1
  410. app-ng-runtime/locales/angular/global/mas.js +2 -1
  411. app-ng-runtime/locales/angular/global/mer.js +3 -1
  412. app-ng-runtime/locales/angular/global/mfe.js +3 -1
  413. app-ng-runtime/locales/angular/global/mg.js +2 -1
  414. app-ng-runtime/locales/angular/global/mgh.js +3 -1
  415. app-ng-runtime/locales/angular/global/mgo.js +2 -1
  416. app-ng-runtime/locales/angular/global/mi.js +3 -1
  417. app-ng-runtime/locales/angular/global/mk.js +3 -3
  418. app-ng-runtime/locales/angular/global/ml.js +3 -2
  419. app-ng-runtime/locales/angular/global/mn.js +3 -2
  420. app-ng-runtime/locales/angular/global/mni-beng.js +22 -0
  421. app-ng-runtime/locales/angular/global/mni.js +22 -0
  422. app-ng-runtime/locales/angular/global/mr.js +3 -2
  423. app-ng-runtime/locales/angular/global/ms-bn.js +4 -2
  424. app-ng-runtime/locales/angular/global/ms-id.js +22 -0
  425. app-ng-runtime/locales/angular/global/ms-sg.js +4 -2
  426. app-ng-runtime/locales/angular/global/ms.js +4 -2
  427. app-ng-runtime/locales/angular/global/mt.js +3 -2
  428. app-ng-runtime/locales/angular/global/mua.js +3 -1
  429. app-ng-runtime/locales/angular/global/my.js +4 -2
  430. app-ng-runtime/locales/angular/global/mzn.js +4 -2
  431. app-ng-runtime/locales/angular/global/naq.js +2 -1
  432. app-ng-runtime/locales/angular/global/nb-sj.js +3 -2
  433. app-ng-runtime/locales/angular/global/nb.js +3 -2
  434. app-ng-runtime/locales/angular/global/nd.js +2 -1
  435. app-ng-runtime/locales/angular/global/nds-nl.js +3 -1
  436. app-ng-runtime/locales/angular/global/nds.js +3 -1
  437. app-ng-runtime/locales/angular/global/ne-in.js +3 -2
  438. app-ng-runtime/locales/angular/global/ne.js +3 -2
  439. app-ng-runtime/locales/angular/global/nl-aw.js +3 -3
  440. app-ng-runtime/locales/angular/global/nl-be.js +3 -3
  441. app-ng-runtime/locales/angular/global/nl-bq.js +3 -3
  442. app-ng-runtime/locales/angular/global/nl-cw.js +3 -3
  443. app-ng-runtime/locales/angular/global/nl-sr.js +3 -3
  444. app-ng-runtime/locales/angular/global/nl-sx.js +3 -3
  445. app-ng-runtime/locales/angular/global/nl.js +3 -3
  446. app-ng-runtime/locales/angular/global/nmg.js +3 -1
  447. app-ng-runtime/locales/angular/global/nn.js +3 -2
  448. app-ng-runtime/locales/angular/global/nnh.js +2 -1
  449. app-ng-runtime/locales/angular/global/no.js +24 -0
  450. app-ng-runtime/locales/angular/global/nus.js +3 -1
  451. app-ng-runtime/locales/angular/global/nyn.js +2 -1
  452. app-ng-runtime/locales/angular/global/om-ke.js +2 -1
  453. app-ng-runtime/locales/angular/global/om.js +2 -1
  454. app-ng-runtime/locales/angular/global/or.js +3 -2
  455. app-ng-runtime/locales/angular/global/os-ru.js +2 -1
  456. app-ng-runtime/locales/angular/global/os.js +2 -1
  457. app-ng-runtime/locales/angular/global/pa-arab.js +3 -1
  458. app-ng-runtime/locales/angular/global/pa-guru.js +3 -2
  459. app-ng-runtime/locales/angular/global/pa.js +3 -2
  460. app-ng-runtime/locales/angular/global/pcm.js +24 -0
  461. app-ng-runtime/locales/angular/global/pl.js +3 -3
  462. app-ng-runtime/locales/angular/global/ps-pk.js +3 -2
  463. app-ng-runtime/locales/angular/global/ps.js +3 -2
  464. app-ng-runtime/locales/angular/global/pt-ao.js +5 -3
  465. app-ng-runtime/locales/angular/global/pt-ch.js +5 -3
  466. app-ng-runtime/locales/angular/global/pt-cv.js +5 -3
  467. app-ng-runtime/locales/angular/global/pt-gq.js +5 -3
  468. app-ng-runtime/locales/angular/global/pt-gw.js +5 -3
  469. app-ng-runtime/locales/angular/global/pt-lu.js +5 -3
  470. app-ng-runtime/locales/angular/global/pt-mo.js +5 -3
  471. app-ng-runtime/locales/angular/global/pt-mz.js +5 -3
  472. app-ng-runtime/locales/angular/global/pt-pt.js +5 -3
  473. app-ng-runtime/locales/angular/global/pt-st.js +5 -3
  474. app-ng-runtime/locales/angular/global/pt-tl.js +5 -3
  475. app-ng-runtime/locales/angular/global/pt.js +5 -3
  476. app-ng-runtime/locales/angular/global/qu-bo.js +4 -2
  477. app-ng-runtime/locales/angular/global/qu-ec.js +4 -2
  478. app-ng-runtime/locales/angular/global/qu.js +4 -2
  479. app-ng-runtime/locales/angular/global/rm.js +3 -2
  480. app-ng-runtime/locales/angular/global/rn.js +3 -1
  481. app-ng-runtime/locales/angular/global/ro-md.js +3 -3
  482. app-ng-runtime/locales/angular/global/ro.js +3 -3
  483. app-ng-runtime/locales/angular/global/rof.js +2 -1
  484. app-ng-runtime/locales/angular/global/ru-by.js +3 -3
  485. app-ng-runtime/locales/angular/global/ru-kg.js +3 -3
  486. app-ng-runtime/locales/angular/global/ru-kz.js +3 -3
  487. app-ng-runtime/locales/angular/global/ru-md.js +3 -3
  488. app-ng-runtime/locales/angular/global/ru-ua.js +3 -3
  489. app-ng-runtime/locales/angular/global/ru.js +3 -3
  490. app-ng-runtime/locales/angular/global/rw.js +4 -2
  491. app-ng-runtime/locales/angular/global/rwk.js +2 -1
  492. app-ng-runtime/locales/angular/global/sa.js +22 -0
  493. app-ng-runtime/locales/angular/global/sah.js +3 -1
  494. app-ng-runtime/locales/angular/global/saq.js +2 -1
  495. app-ng-runtime/locales/angular/global/sat-olck.js +26 -0
  496. app-ng-runtime/locales/angular/global/sat.js +26 -0
  497. app-ng-runtime/locales/angular/global/sbp.js +3 -1
  498. app-ng-runtime/locales/angular/global/sc.js +24 -0
  499. app-ng-runtime/locales/angular/global/sd-arab.js +3 -2
  500. app-ng-runtime/locales/angular/global/sd-deva.js +22 -0
  501. app-ng-runtime/locales/angular/global/sd.js +3 -2
  502. app-ng-runtime/locales/angular/global/se-fi.js +2 -1
  503. app-ng-runtime/locales/angular/global/se-se.js +2 -1
  504. app-ng-runtime/locales/angular/global/se.js +2 -1
  505. app-ng-runtime/locales/angular/global/seh.js +2 -1
  506. app-ng-runtime/locales/angular/global/ses.js +4 -2
  507. app-ng-runtime/locales/angular/global/sg.js +3 -1
  508. app-ng-runtime/locales/angular/global/shi-latn.js +3 -1
  509. app-ng-runtime/locales/angular/global/shi-tfng.js +2 -2
  510. app-ng-runtime/locales/angular/global/shi.js +2 -2
  511. app-ng-runtime/locales/angular/global/si.js +3 -3
  512. app-ng-runtime/locales/angular/global/sk.js +3 -3
  513. app-ng-runtime/locales/angular/global/sl.js +3 -3
  514. app-ng-runtime/locales/angular/global/smn.js +2 -1
  515. app-ng-runtime/locales/angular/global/sn.js +2 -1
  516. app-ng-runtime/locales/angular/global/so-dj.js +3 -2
  517. app-ng-runtime/locales/angular/global/so-et.js +3 -2
  518. app-ng-runtime/locales/angular/global/so-ke.js +3 -2
  519. app-ng-runtime/locales/angular/global/so.js +3 -2
  520. app-ng-runtime/locales/angular/global/sq-mk.js +3 -2
  521. app-ng-runtime/locales/angular/global/sq-xk.js +3 -2
  522. app-ng-runtime/locales/angular/global/sq.js +3 -2
  523. app-ng-runtime/locales/angular/global/sr-cyrl-ba.js +3 -3
  524. app-ng-runtime/locales/angular/global/sr-cyrl-me.js +3 -3
  525. app-ng-runtime/locales/angular/global/sr-cyrl-xk.js +3 -3
  526. app-ng-runtime/locales/angular/global/sr-cyrl.js +3 -3
  527. app-ng-runtime/locales/angular/global/sr-latn-ba.js +4 -2
  528. app-ng-runtime/locales/angular/global/sr-latn-me.js +4 -2
  529. app-ng-runtime/locales/angular/global/sr-latn-xk.js +4 -2
  530. app-ng-runtime/locales/angular/global/sr-latn.js +4 -2
  531. app-ng-runtime/locales/angular/global/sr.js +3 -3
  532. app-ng-runtime/locales/angular/global/su-latn.js +22 -0
  533. app-ng-runtime/locales/angular/global/su.js +22 -0
  534. app-ng-runtime/locales/angular/global/sv-ax.js +3 -3
  535. app-ng-runtime/locales/angular/global/sv-fi.js +3 -3
  536. app-ng-runtime/locales/angular/global/sv.js +3 -3
  537. app-ng-runtime/locales/angular/global/sw-cd.js +3 -3
  538. app-ng-runtime/locales/angular/global/sw-ke.js +3 -3
  539. app-ng-runtime/locales/angular/global/sw-ug.js +3 -3
  540. app-ng-runtime/locales/angular/global/sw.js +3 -3
  541. app-ng-runtime/locales/angular/global/ta-lk.js +3 -2
  542. app-ng-runtime/locales/angular/global/ta-my.js +3 -2
  543. app-ng-runtime/locales/angular/global/ta-sg.js +3 -2
  544. app-ng-runtime/locales/angular/global/ta.js +3 -2
  545. app-ng-runtime/locales/angular/global/te.js +3 -2
  546. app-ng-runtime/locales/angular/global/teo-ke.js +2 -1
  547. app-ng-runtime/locales/angular/global/teo.js +2 -1
  548. app-ng-runtime/locales/angular/global/tg.js +4 -2
  549. app-ng-runtime/locales/angular/global/th.js +4 -2
  550. app-ng-runtime/locales/angular/global/ti-er.js +3 -2
  551. app-ng-runtime/locales/angular/global/ti.js +3 -2
  552. app-ng-runtime/locales/angular/global/tk.js +3 -2
  553. app-ng-runtime/locales/angular/global/to.js +3 -1
  554. app-ng-runtime/locales/angular/global/tr-cy.js +3 -2
  555. app-ng-runtime/locales/angular/global/tr.js +3 -2
  556. app-ng-runtime/locales/angular/global/tt.js +4 -2
  557. app-ng-runtime/locales/angular/global/twq.js +4 -2
  558. app-ng-runtime/locales/angular/global/tzm.js +2 -1
  559. app-ng-runtime/locales/angular/global/ug.js +3 -2
  560. app-ng-runtime/locales/angular/global/uk.js +3 -3
  561. app-ng-runtime/locales/angular/global/und.js +24 -0
  562. app-ng-runtime/locales/angular/global/ur-in.js +3 -3
  563. app-ng-runtime/locales/angular/global/ur.js +3 -3
  564. app-ng-runtime/locales/angular/global/uz-arab.js +3 -1
  565. app-ng-runtime/locales/angular/global/uz-cyrl.js +3 -1
  566. app-ng-runtime/locales/angular/global/uz-latn.js +3 -2
  567. app-ng-runtime/locales/angular/global/uz.js +3 -2
  568. app-ng-runtime/locales/angular/global/vai-latn.js +3 -1
  569. app-ng-runtime/locales/angular/global/vai-vaii.js +3 -1
  570. app-ng-runtime/locales/angular/global/vai.js +3 -1
  571. app-ng-runtime/locales/angular/global/vi.js +4 -2
  572. app-ng-runtime/locales/angular/global/vun.js +2 -1
  573. app-ng-runtime/locales/angular/global/wae.js +2 -1
  574. app-ng-runtime/locales/angular/global/wo.js +4 -2
  575. app-ng-runtime/locales/angular/global/xh.js +2 -1
  576. app-ng-runtime/locales/angular/global/xog.js +2 -1
  577. app-ng-runtime/locales/angular/global/yav.js +3 -1
  578. app-ng-runtime/locales/angular/global/yi.js +2 -2
  579. app-ng-runtime/locales/angular/global/yo-bj.js +4 -2
  580. app-ng-runtime/locales/angular/global/yo.js +4 -2
  581. app-ng-runtime/locales/angular/global/yrl-co.js +22 -0
  582. app-ng-runtime/locales/angular/global/yrl-ve.js +22 -0
  583. app-ng-runtime/locales/angular/global/yrl.js +22 -0
  584. app-ng-runtime/locales/angular/global/yue-hans.js +4 -2
  585. app-ng-runtime/locales/angular/global/yue-hant.js +4 -2
  586. app-ng-runtime/locales/angular/global/yue.js +4 -2
  587. app-ng-runtime/locales/angular/global/zgh.js +3 -1
  588. app-ng-runtime/locales/angular/global/zh-hans-hk.js +4 -2
  589. app-ng-runtime/locales/angular/global/zh-hans-mo.js +4 -2
  590. app-ng-runtime/locales/angular/global/zh-hans-sg.js +4 -2
  591. app-ng-runtime/locales/angular/global/zh-hans.js +4 -2
  592. app-ng-runtime/locales/angular/global/zh-hant-hk.js +4 -2
  593. app-ng-runtime/locales/angular/global/zh-hant-mo.js +4 -2
  594. app-ng-runtime/locales/angular/global/zh-hant.js +4 -2
  595. app-ng-runtime/locales/angular/global/zh.js +4 -2
  596. app-ng-runtime/locales/angular/global/zu.js +3 -3
  597. app-ng-runtime/locales/moment-timezone/moment-timezone-with-data.js +26 -25
  598. app-ng-runtime/package.json +1 -1
  599. app-ng-runtime/runtime/base/bundles/index.umd.js +72 -52
  600. app-ng-runtime/runtime/base/esm2020/components/base-page.component.mjs +11 -11
  601. app-ng-runtime/runtime/base/esm2020/components/base-partial.component.mjs +9 -9
  602. app-ng-runtime/runtime/base/esm2020/components/base-prefab.component.mjs +7 -8
  603. app-ng-runtime/runtime/base/esm2020/components/base-spa-page.component.mjs +12 -12
  604. app-ng-runtime/runtime/base/esm2020/runtime-base.module.mjs +35 -14
  605. app-ng-runtime/runtime/base/fesm2015/index.mjs +69 -49
  606. app-ng-runtime/runtime/base/fesm2015/index.mjs.map +1 -1
  607. app-ng-runtime/runtime/base/fesm2020/index.mjs +69 -49
  608. app-ng-runtime/runtime/base/fesm2020/index.mjs.map +1 -1
  609. app-ng-runtime/runtime/base/runtime-base.module.d.ts +5 -4
  610. app-ng-runtime/locales/angular/af-na.js +0 -28
  611. app-ng-runtime/locales/angular/af.js +0 -28
  612. app-ng-runtime/locales/angular/agq.js +0 -26
  613. app-ng-runtime/locales/angular/ak.js +0 -28
  614. app-ng-runtime/locales/angular/am.js +0 -29
  615. app-ng-runtime/locales/angular/ar-ae.js +0 -36
  616. app-ng-runtime/locales/angular/ar-bh.js +0 -36
  617. app-ng-runtime/locales/angular/ar-dj.js +0 -36
  618. app-ng-runtime/locales/angular/ar-dz.js +0 -36
  619. app-ng-runtime/locales/angular/ar-eg.js +0 -36
  620. app-ng-runtime/locales/angular/ar-eh.js +0 -36
  621. app-ng-runtime/locales/angular/ar-er.js +0 -36
  622. app-ng-runtime/locales/angular/ar-il.js +0 -36
  623. app-ng-runtime/locales/angular/ar-iq.js +0 -36
  624. app-ng-runtime/locales/angular/ar-jo.js +0 -36
  625. app-ng-runtime/locales/angular/ar-km.js +0 -36
  626. app-ng-runtime/locales/angular/ar-kw.js +0 -36
  627. app-ng-runtime/locales/angular/ar-lb.js +0 -36
  628. app-ng-runtime/locales/angular/ar-ly.js +0 -36
  629. app-ng-runtime/locales/angular/ar-ma.js +0 -36
  630. app-ng-runtime/locales/angular/ar-mr.js +0 -36
  631. app-ng-runtime/locales/angular/ar-om.js +0 -36
  632. app-ng-runtime/locales/angular/ar-ps.js +0 -36
  633. app-ng-runtime/locales/angular/ar-qa.js +0 -36
  634. app-ng-runtime/locales/angular/ar-sa.js +0 -36
  635. app-ng-runtime/locales/angular/ar-sd.js +0 -36
  636. app-ng-runtime/locales/angular/ar-so.js +0 -36
  637. app-ng-runtime/locales/angular/ar-ss.js +0 -36
  638. app-ng-runtime/locales/angular/ar-sy.js +0 -36
  639. app-ng-runtime/locales/angular/ar-td.js +0 -36
  640. app-ng-runtime/locales/angular/ar-tn.js +0 -36
  641. app-ng-runtime/locales/angular/ar-ye.js +0 -36
  642. app-ng-runtime/locales/angular/ar.js +0 -36
  643. app-ng-runtime/locales/angular/as.js +0 -29
  644. app-ng-runtime/locales/angular/asa.js +0 -28
  645. app-ng-runtime/locales/angular/ast.js +0 -29
  646. app-ng-runtime/locales/angular/az-cyrl.js +0 -26
  647. app-ng-runtime/locales/angular/az-latn.js +0 -28
  648. app-ng-runtime/locales/angular/az.js +0 -28
  649. app-ng-runtime/locales/angular/bas.js +0 -26
  650. app-ng-runtime/locales/angular/be.js +0 -32
  651. app-ng-runtime/locales/angular/bem.js +0 -28
  652. app-ng-runtime/locales/angular/bez.js +0 -28
  653. app-ng-runtime/locales/angular/bg.js +0 -28
  654. app-ng-runtime/locales/angular/bm.js +0 -26
  655. app-ng-runtime/locales/angular/bn-in.js +0 -29
  656. app-ng-runtime/locales/angular/bn.js +0 -29
  657. app-ng-runtime/locales/angular/bo-in.js +0 -26
  658. app-ng-runtime/locales/angular/bo.js +0 -26
  659. app-ng-runtime/locales/angular/br.js +0 -34
  660. app-ng-runtime/locales/angular/brx.js +0 -28
  661. app-ng-runtime/locales/angular/bs-cyrl.js +0 -26
  662. app-ng-runtime/locales/angular/bs-latn.js +0 -31
  663. app-ng-runtime/locales/angular/bs.js +0 -31
  664. app-ng-runtime/locales/angular/ca-ad.js +0 -29
  665. app-ng-runtime/locales/angular/ca-es-valencia.js +0 -29
  666. app-ng-runtime/locales/angular/ca-fr.js +0 -29
  667. app-ng-runtime/locales/angular/ca-it.js +0 -29
  668. app-ng-runtime/locales/angular/ca.js +0 -29
  669. app-ng-runtime/locales/angular/ccp-in.js +0 -26
  670. app-ng-runtime/locales/angular/ccp.js +0 -26
  671. app-ng-runtime/locales/angular/ce.js +0 -28
  672. app-ng-runtime/locales/angular/ceb.js +0 -29
  673. app-ng-runtime/locales/angular/cgg.js +0 -28
  674. app-ng-runtime/locales/angular/chr.js +0 -28
  675. app-ng-runtime/locales/angular/ckb-ir.js +0 -28
  676. app-ng-runtime/locales/angular/ckb.js +0 -28
  677. app-ng-runtime/locales/angular/cs.js +0 -33
  678. app-ng-runtime/locales/angular/cu.js +0 -26
  679. app-ng-runtime/locales/angular/cy.js +0 -36
  680. app-ng-runtime/locales/angular/da-gl.js +0 -29
  681. app-ng-runtime/locales/angular/da.js +0 -29
  682. app-ng-runtime/locales/angular/dav.js +0 -26
  683. app-ng-runtime/locales/angular/de-at.js +0 -29
  684. app-ng-runtime/locales/angular/de-be.js +0 -29
  685. app-ng-runtime/locales/angular/de-ch.js +0 -29
  686. app-ng-runtime/locales/angular/de-it.js +0 -29
  687. app-ng-runtime/locales/angular/de-li.js +0 -29
  688. app-ng-runtime/locales/angular/de-lu.js +0 -29
  689. app-ng-runtime/locales/angular/de.js +0 -29
  690. app-ng-runtime/locales/angular/dje.js +0 -26
  691. app-ng-runtime/locales/angular/dsb.js +0 -33
  692. app-ng-runtime/locales/angular/dua.js +0 -26
  693. app-ng-runtime/locales/angular/dyo.js +0 -26
  694. app-ng-runtime/locales/angular/dz.js +0 -26
  695. app-ng-runtime/locales/angular/ebu.js +0 -26
  696. app-ng-runtime/locales/angular/ee-tg.js +0 -28
  697. app-ng-runtime/locales/angular/ee.js +0 -28
  698. app-ng-runtime/locales/angular/el-cy.js +0 -28
  699. app-ng-runtime/locales/angular/el.js +0 -28
  700. app-ng-runtime/locales/angular/en-001.js +0 -29
  701. app-ng-runtime/locales/angular/en-150.js +0 -29
  702. app-ng-runtime/locales/angular/en-ae.js +0 -29
  703. app-ng-runtime/locales/angular/en-ag.js +0 -29
  704. app-ng-runtime/locales/angular/en-ai.js +0 -29
  705. app-ng-runtime/locales/angular/en-as.js +0 -29
  706. app-ng-runtime/locales/angular/en-at.js +0 -29
  707. app-ng-runtime/locales/angular/en-au.js +0 -29
  708. app-ng-runtime/locales/angular/en-bb.js +0 -29
  709. app-ng-runtime/locales/angular/en-be.js +0 -29
  710. app-ng-runtime/locales/angular/en-bi.js +0 -29
  711. app-ng-runtime/locales/angular/en-bm.js +0 -29
  712. app-ng-runtime/locales/angular/en-bs.js +0 -29
  713. app-ng-runtime/locales/angular/en-bw.js +0 -29
  714. app-ng-runtime/locales/angular/en-bz.js +0 -29
  715. app-ng-runtime/locales/angular/en-ca.js +0 -29
  716. app-ng-runtime/locales/angular/en-cc.js +0 -29
  717. app-ng-runtime/locales/angular/en-ch.js +0 -29
  718. app-ng-runtime/locales/angular/en-ck.js +0 -29
  719. app-ng-runtime/locales/angular/en-cm.js +0 -29
  720. app-ng-runtime/locales/angular/en-cx.js +0 -29
  721. app-ng-runtime/locales/angular/en-cy.js +0 -29
  722. app-ng-runtime/locales/angular/en-de.js +0 -29
  723. app-ng-runtime/locales/angular/en-dg.js +0 -29
  724. app-ng-runtime/locales/angular/en-dk.js +0 -29
  725. app-ng-runtime/locales/angular/en-dm.js +0 -29
  726. app-ng-runtime/locales/angular/en-er.js +0 -29
  727. app-ng-runtime/locales/angular/en-fi.js +0 -29
  728. app-ng-runtime/locales/angular/en-fj.js +0 -29
  729. app-ng-runtime/locales/angular/en-fk.js +0 -29
  730. app-ng-runtime/locales/angular/en-fm.js +0 -29
  731. app-ng-runtime/locales/angular/en-gb.js +0 -29
  732. app-ng-runtime/locales/angular/en-gd.js +0 -29
  733. app-ng-runtime/locales/angular/en-gg.js +0 -29
  734. app-ng-runtime/locales/angular/en-gh.js +0 -29
  735. app-ng-runtime/locales/angular/en-gi.js +0 -29
  736. app-ng-runtime/locales/angular/en-gm.js +0 -29
  737. app-ng-runtime/locales/angular/en-gu.js +0 -29
  738. app-ng-runtime/locales/angular/en-gy.js +0 -29
  739. app-ng-runtime/locales/angular/en-hk.js +0 -29
  740. app-ng-runtime/locales/angular/en-ie.js +0 -29
  741. app-ng-runtime/locales/angular/en-il.js +0 -29
  742. app-ng-runtime/locales/angular/en-im.js +0 -29
  743. app-ng-runtime/locales/angular/en-in.js +0 -29
  744. app-ng-runtime/locales/angular/en-io.js +0 -29
  745. app-ng-runtime/locales/angular/en-je.js +0 -29
  746. app-ng-runtime/locales/angular/en-jm.js +0 -29
  747. app-ng-runtime/locales/angular/en-ke.js +0 -29
  748. app-ng-runtime/locales/angular/en-ki.js +0 -29
  749. app-ng-runtime/locales/angular/en-kn.js +0 -29
  750. app-ng-runtime/locales/angular/en-ky.js +0 -29
  751. app-ng-runtime/locales/angular/en-lc.js +0 -29
  752. app-ng-runtime/locales/angular/en-lr.js +0 -29
  753. app-ng-runtime/locales/angular/en-ls.js +0 -29
  754. app-ng-runtime/locales/angular/en-mg.js +0 -29
  755. app-ng-runtime/locales/angular/en-mh.js +0 -29
  756. app-ng-runtime/locales/angular/en-mo.js +0 -29
  757. app-ng-runtime/locales/angular/en-mp.js +0 -29
  758. app-ng-runtime/locales/angular/en-ms.js +0 -29
  759. app-ng-runtime/locales/angular/en-mt.js +0 -29
  760. app-ng-runtime/locales/angular/en-mu.js +0 -29
  761. app-ng-runtime/locales/angular/en-mw.js +0 -29
  762. app-ng-runtime/locales/angular/en-my.js +0 -29
  763. app-ng-runtime/locales/angular/en-na.js +0 -29
  764. app-ng-runtime/locales/angular/en-nf.js +0 -29
  765. app-ng-runtime/locales/angular/en-ng.js +0 -29
  766. app-ng-runtime/locales/angular/en-nl.js +0 -29
  767. app-ng-runtime/locales/angular/en-nr.js +0 -29
  768. app-ng-runtime/locales/angular/en-nu.js +0 -29
  769. app-ng-runtime/locales/angular/en-nz.js +0 -29
  770. app-ng-runtime/locales/angular/en-pg.js +0 -29
  771. app-ng-runtime/locales/angular/en-ph.js +0 -29
  772. app-ng-runtime/locales/angular/en-pk.js +0 -29
  773. app-ng-runtime/locales/angular/en-pn.js +0 -29
  774. app-ng-runtime/locales/angular/en-pr.js +0 -29
  775. app-ng-runtime/locales/angular/en-pw.js +0 -29
  776. app-ng-runtime/locales/angular/en-rw.js +0 -29
  777. app-ng-runtime/locales/angular/en-sb.js +0 -29
  778. app-ng-runtime/locales/angular/en-sc.js +0 -29
  779. app-ng-runtime/locales/angular/en-sd.js +0 -29
  780. app-ng-runtime/locales/angular/en-se.js +0 -29
  781. app-ng-runtime/locales/angular/en-sg.js +0 -29
  782. app-ng-runtime/locales/angular/en-sh.js +0 -29
  783. app-ng-runtime/locales/angular/en-si.js +0 -29
  784. app-ng-runtime/locales/angular/en-sl.js +0 -29
  785. app-ng-runtime/locales/angular/en-ss.js +0 -29
  786. app-ng-runtime/locales/angular/en-sx.js +0 -29
  787. app-ng-runtime/locales/angular/en-sz.js +0 -29
  788. app-ng-runtime/locales/angular/en-tc.js +0 -29
  789. app-ng-runtime/locales/angular/en-tk.js +0 -29
  790. app-ng-runtime/locales/angular/en-to.js +0 -29
  791. app-ng-runtime/locales/angular/en-tt.js +0 -29
  792. app-ng-runtime/locales/angular/en-tv.js +0 -29
  793. app-ng-runtime/locales/angular/en-tz.js +0 -29
  794. app-ng-runtime/locales/angular/en-ug.js +0 -29
  795. app-ng-runtime/locales/angular/en-um.js +0 -29
  796. app-ng-runtime/locales/angular/en-us-posix.js +0 -29
  797. app-ng-runtime/locales/angular/en-vc.js +0 -29
  798. app-ng-runtime/locales/angular/en-vg.js +0 -29
  799. app-ng-runtime/locales/angular/en-vi.js +0 -29
  800. app-ng-runtime/locales/angular/en-vu.js +0 -29
  801. app-ng-runtime/locales/angular/en-ws.js +0 -29
  802. app-ng-runtime/locales/angular/en-za.js +0 -29
  803. app-ng-runtime/locales/angular/en-zm.js +0 -29
  804. app-ng-runtime/locales/angular/en-zw.js +0 -29
  805. app-ng-runtime/locales/angular/en.js +0 -29
  806. app-ng-runtime/locales/angular/eo.js +0 -28
  807. app-ng-runtime/locales/angular/es-419.js +0 -28
  808. app-ng-runtime/locales/angular/es-ar.js +0 -28
  809. app-ng-runtime/locales/angular/es-bo.js +0 -28
  810. app-ng-runtime/locales/angular/es-br.js +0 -28
  811. app-ng-runtime/locales/angular/es-bz.js +0 -28
  812. app-ng-runtime/locales/angular/es-cl.js +0 -28
  813. app-ng-runtime/locales/angular/es-co.js +0 -28
  814. app-ng-runtime/locales/angular/es-cr.js +0 -28
  815. app-ng-runtime/locales/angular/es-cu.js +0 -28
  816. app-ng-runtime/locales/angular/es-do.js +0 -28
  817. app-ng-runtime/locales/angular/es-ea.js +0 -28
  818. app-ng-runtime/locales/angular/es-ec.js +0 -28
  819. app-ng-runtime/locales/angular/es-gq.js +0 -28
  820. app-ng-runtime/locales/angular/es-gt.js +0 -28
  821. app-ng-runtime/locales/angular/es-hn.js +0 -28
  822. app-ng-runtime/locales/angular/es-ic.js +0 -28
  823. app-ng-runtime/locales/angular/es-mx.js +0 -28
  824. app-ng-runtime/locales/angular/es-ni.js +0 -28
  825. app-ng-runtime/locales/angular/es-pa.js +0 -28
  826. app-ng-runtime/locales/angular/es-pe.js +0 -28
  827. app-ng-runtime/locales/angular/es-ph.js +0 -28
  828. app-ng-runtime/locales/angular/es-pr.js +0 -28
  829. app-ng-runtime/locales/angular/es-py.js +0 -28
  830. app-ng-runtime/locales/angular/es-sv.js +0 -28
  831. app-ng-runtime/locales/angular/es-us.js +0 -28
  832. app-ng-runtime/locales/angular/es-uy.js +0 -28
  833. app-ng-runtime/locales/angular/es-ve.js +0 -28
  834. app-ng-runtime/locales/angular/es.js +0 -28
  835. app-ng-runtime/locales/angular/et.js +0 -29
  836. app-ng-runtime/locales/angular/eu.js +0 -28
  837. app-ng-runtime/locales/angular/ewo.js +0 -26
  838. app-ng-runtime/locales/angular/fa-af.js +0 -29
  839. app-ng-runtime/locales/angular/fa.js +0 -29
  840. app-ng-runtime/locales/angular/ff-cm.js +0 -56
  841. app-ng-runtime/locales/angular/ff-gn.js +0 -56
  842. app-ng-runtime/locales/angular/ff-latn-bf.js +0 -29
  843. app-ng-runtime/locales/angular/ff-latn-cm.js +0 -29
  844. app-ng-runtime/locales/angular/ff-latn-gh.js +0 -29
  845. app-ng-runtime/locales/angular/ff-latn-gm.js +0 -29
  846. app-ng-runtime/locales/angular/ff-latn-gn.js +0 -29
  847. app-ng-runtime/locales/angular/ff-latn-gw.js +0 -29
  848. app-ng-runtime/locales/angular/ff-latn-lr.js +0 -29
  849. app-ng-runtime/locales/angular/ff-latn-mr.js +0 -29
  850. app-ng-runtime/locales/angular/ff-latn-ne.js +0 -29
  851. app-ng-runtime/locales/angular/ff-latn-ng.js +0 -29
  852. app-ng-runtime/locales/angular/ff-latn-sl.js +0 -29
  853. app-ng-runtime/locales/angular/ff-latn.js +0 -29
  854. app-ng-runtime/locales/angular/ff-mr.js +0 -56
  855. app-ng-runtime/locales/angular/ff.js +0 -29
  856. app-ng-runtime/locales/angular/fi.js +0 -29
  857. app-ng-runtime/locales/angular/fil.js +0 -29
  858. app-ng-runtime/locales/angular/fo-dk.js +0 -28
  859. app-ng-runtime/locales/angular/fo.js +0 -28
  860. app-ng-runtime/locales/angular/fr-be.js +0 -29
  861. app-ng-runtime/locales/angular/fr-bf.js +0 -29
  862. app-ng-runtime/locales/angular/fr-bi.js +0 -29
  863. app-ng-runtime/locales/angular/fr-bj.js +0 -29
  864. app-ng-runtime/locales/angular/fr-bl.js +0 -29
  865. app-ng-runtime/locales/angular/fr-ca.js +0 -29
  866. app-ng-runtime/locales/angular/fr-cd.js +0 -29
  867. app-ng-runtime/locales/angular/fr-cf.js +0 -29
  868. app-ng-runtime/locales/angular/fr-cg.js +0 -29
  869. app-ng-runtime/locales/angular/fr-ch.js +0 -29
  870. app-ng-runtime/locales/angular/fr-ci.js +0 -29
  871. app-ng-runtime/locales/angular/fr-cm.js +0 -29
  872. app-ng-runtime/locales/angular/fr-dj.js +0 -29
  873. app-ng-runtime/locales/angular/fr-dz.js +0 -29
  874. app-ng-runtime/locales/angular/fr-ga.js +0 -29
  875. app-ng-runtime/locales/angular/fr-gf.js +0 -29
  876. app-ng-runtime/locales/angular/fr-gn.js +0 -29
  877. app-ng-runtime/locales/angular/fr-gp.js +0 -29
  878. app-ng-runtime/locales/angular/fr-gq.js +0 -29
  879. app-ng-runtime/locales/angular/fr-ht.js +0 -29
  880. app-ng-runtime/locales/angular/fr-km.js +0 -29
  881. app-ng-runtime/locales/angular/fr-lu.js +0 -29
  882. app-ng-runtime/locales/angular/fr-ma.js +0 -29
  883. app-ng-runtime/locales/angular/fr-mc.js +0 -29
  884. app-ng-runtime/locales/angular/fr-mf.js +0 -29
  885. app-ng-runtime/locales/angular/fr-mg.js +0 -29
  886. app-ng-runtime/locales/angular/fr-ml.js +0 -29
  887. app-ng-runtime/locales/angular/fr-mq.js +0 -29
  888. app-ng-runtime/locales/angular/fr-mr.js +0 -29
  889. app-ng-runtime/locales/angular/fr-mu.js +0 -29
  890. app-ng-runtime/locales/angular/fr-nc.js +0 -29
  891. app-ng-runtime/locales/angular/fr-ne.js +0 -29
  892. app-ng-runtime/locales/angular/fr-pf.js +0 -29
  893. app-ng-runtime/locales/angular/fr-pm.js +0 -29
  894. app-ng-runtime/locales/angular/fr-re.js +0 -29
  895. app-ng-runtime/locales/angular/fr-rw.js +0 -29
  896. app-ng-runtime/locales/angular/fr-sc.js +0 -29
  897. app-ng-runtime/locales/angular/fr-sn.js +0 -29
  898. app-ng-runtime/locales/angular/fr-sy.js +0 -29
  899. app-ng-runtime/locales/angular/fr-td.js +0 -29
  900. app-ng-runtime/locales/angular/fr-tg.js +0 -29
  901. app-ng-runtime/locales/angular/fr-tn.js +0 -29
  902. app-ng-runtime/locales/angular/fr-vu.js +0 -29
  903. app-ng-runtime/locales/angular/fr-wf.js +0 -29
  904. app-ng-runtime/locales/angular/fr-yt.js +0 -29
  905. app-ng-runtime/locales/angular/fr.js +0 -29
  906. app-ng-runtime/locales/angular/fur.js +0 -28
  907. app-ng-runtime/locales/angular/fy.js +0 -29
  908. app-ng-runtime/locales/angular/ga-gb.js +0 -34
  909. app-ng-runtime/locales/angular/ga.js +0 -34
  910. app-ng-runtime/locales/angular/gd.js +0 -32
  911. app-ng-runtime/locales/angular/gl.js +0 -29
  912. app-ng-runtime/locales/angular/global/cu.js +0 -20
  913. app-ng-runtime/locales/angular/global/en-us-posix.js +0 -24
  914. app-ng-runtime/locales/angular/global/prg.js +0 -26
  915. app-ng-runtime/locales/angular/global/root.js +0 -24
  916. app-ng-runtime/locales/angular/global/vo.js +0 -23
  917. app-ng-runtime/locales/angular/gsw-fr.js +0 -28
  918. app-ng-runtime/locales/angular/gsw-li.js +0 -28
  919. app-ng-runtime/locales/angular/gsw.js +0 -28
  920. app-ng-runtime/locales/angular/gu.js +0 -29
  921. app-ng-runtime/locales/angular/guz.js +0 -26
  922. app-ng-runtime/locales/angular/gv.js +0 -35
  923. app-ng-runtime/locales/angular/ha-gh.js +0 -28
  924. app-ng-runtime/locales/angular/ha-ne.js +0 -28
  925. app-ng-runtime/locales/angular/ha.js +0 -28
  926. app-ng-runtime/locales/angular/haw.js +0 -28
  927. app-ng-runtime/locales/angular/he.js +0 -33
  928. app-ng-runtime/locales/angular/hi.js +0 -29
  929. app-ng-runtime/locales/angular/hr-ba.js +0 -31
  930. app-ng-runtime/locales/angular/hr.js +0 -31
  931. app-ng-runtime/locales/angular/hsb.js +0 -33
  932. app-ng-runtime/locales/angular/hu.js +0 -28
  933. app-ng-runtime/locales/angular/hy.js +0 -29
  934. app-ng-runtime/locales/angular/ia.js +0 -29
  935. app-ng-runtime/locales/angular/id.js +0 -26
  936. app-ng-runtime/locales/angular/ig.js +0 -26
  937. app-ng-runtime/locales/angular/ii.js +0 -26
  938. app-ng-runtime/locales/angular/is.js +0 -29
  939. app-ng-runtime/locales/angular/it-ch.js +0 -29
  940. app-ng-runtime/locales/angular/it-sm.js +0 -29
  941. app-ng-runtime/locales/angular/it-va.js +0 -29
  942. app-ng-runtime/locales/angular/it.js +0 -29
  943. app-ng-runtime/locales/angular/ja.js +0 -26
  944. app-ng-runtime/locales/angular/jgo.js +0 -28
  945. app-ng-runtime/locales/angular/jmc.js +0 -28
  946. app-ng-runtime/locales/angular/jv.js +0 -26
  947. app-ng-runtime/locales/angular/ka.js +0 -28
  948. app-ng-runtime/locales/angular/kab.js +0 -29
  949. app-ng-runtime/locales/angular/kam.js +0 -26
  950. app-ng-runtime/locales/angular/kde.js +0 -26
  951. app-ng-runtime/locales/angular/kea.js +0 -26
  952. app-ng-runtime/locales/angular/khq.js +0 -26
  953. app-ng-runtime/locales/angular/ki.js +0 -26
  954. app-ng-runtime/locales/angular/kk.js +0 -28
  955. app-ng-runtime/locales/angular/kkj.js +0 -28
  956. app-ng-runtime/locales/angular/kl.js +0 -28
  957. app-ng-runtime/locales/angular/kln.js +0 -26
  958. app-ng-runtime/locales/angular/km.js +0 -26
  959. app-ng-runtime/locales/angular/kn.js +0 -29
  960. app-ng-runtime/locales/angular/ko-kp.js +0 -26
  961. app-ng-runtime/locales/angular/ko.js +0 -26
  962. app-ng-runtime/locales/angular/kok.js +0 -26
  963. app-ng-runtime/locales/angular/ks-arab.js +0 -28
  964. app-ng-runtime/locales/angular/ks.js +0 -28
  965. app-ng-runtime/locales/angular/ksb.js +0 -28
  966. app-ng-runtime/locales/angular/ksf.js +0 -26
  967. app-ng-runtime/locales/angular/ksh.js +0 -30
  968. app-ng-runtime/locales/angular/ku.js +0 -28
  969. app-ng-runtime/locales/angular/kw.js +0 -36
  970. app-ng-runtime/locales/angular/ky.js +0 -28
  971. app-ng-runtime/locales/angular/lag.js +0 -31
  972. app-ng-runtime/locales/angular/lb.js +0 -28
  973. app-ng-runtime/locales/angular/lg.js +0 -28
  974. app-ng-runtime/locales/angular/lkt.js +0 -26
  975. app-ng-runtime/locales/angular/ln-ao.js +0 -28
  976. app-ng-runtime/locales/angular/ln-cf.js +0 -28
  977. app-ng-runtime/locales/angular/ln-cg.js +0 -28
  978. app-ng-runtime/locales/angular/ln.js +0 -28
  979. app-ng-runtime/locales/angular/lo.js +0 -26
  980. app-ng-runtime/locales/angular/lrc-iq.js +0 -26
  981. app-ng-runtime/locales/angular/lrc.js +0 -26
  982. app-ng-runtime/locales/angular/lt.js +0 -33
  983. app-ng-runtime/locales/angular/lu.js +0 -26
  984. app-ng-runtime/locales/angular/luo.js +0 -26
  985. app-ng-runtime/locales/angular/luy.js +0 -26
  986. app-ng-runtime/locales/angular/lv.js +0 -31
  987. app-ng-runtime/locales/angular/mas-tz.js +0 -28
  988. app-ng-runtime/locales/angular/mas.js +0 -28
  989. app-ng-runtime/locales/angular/mer.js +0 -26
  990. app-ng-runtime/locales/angular/mfe.js +0 -26
  991. app-ng-runtime/locales/angular/mg.js +0 -28
  992. app-ng-runtime/locales/angular/mgh.js +0 -26
  993. app-ng-runtime/locales/angular/mgo.js +0 -28
  994. app-ng-runtime/locales/angular/mi.js +0 -26
  995. app-ng-runtime/locales/angular/mk.js +0 -29
  996. app-ng-runtime/locales/angular/ml.js +0 -28
  997. app-ng-runtime/locales/angular/mn.js +0 -28
  998. app-ng-runtime/locales/angular/mr.js +0 -28
  999. app-ng-runtime/locales/angular/ms-bn.js +0 -26
  1000. app-ng-runtime/locales/angular/ms-sg.js +0 -26
  1001. app-ng-runtime/locales/angular/ms.js +0 -26
  1002. app-ng-runtime/locales/angular/mt.js +0 -32
  1003. app-ng-runtime/locales/angular/mua.js +0 -26
  1004. app-ng-runtime/locales/angular/my.js +0 -26
  1005. app-ng-runtime/locales/angular/mzn.js +0 -26
  1006. app-ng-runtime/locales/angular/naq.js +0 -30
  1007. app-ng-runtime/locales/angular/nb-sj.js +0 -28
  1008. app-ng-runtime/locales/angular/nb.js +0 -28
  1009. app-ng-runtime/locales/angular/nd.js +0 -28
  1010. app-ng-runtime/locales/angular/nds-nl.js +0 -26
  1011. app-ng-runtime/locales/angular/nds.js +0 -26
  1012. app-ng-runtime/locales/angular/ne-in.js +0 -28
  1013. app-ng-runtime/locales/angular/ne.js +0 -28
  1014. app-ng-runtime/locales/angular/nl-aw.js +0 -29
  1015. app-ng-runtime/locales/angular/nl-be.js +0 -29
  1016. app-ng-runtime/locales/angular/nl-bq.js +0 -29
  1017. app-ng-runtime/locales/angular/nl-cw.js +0 -29
  1018. app-ng-runtime/locales/angular/nl-sr.js +0 -29
  1019. app-ng-runtime/locales/angular/nl-sx.js +0 -29
  1020. app-ng-runtime/locales/angular/nl.js +0 -29
  1021. app-ng-runtime/locales/angular/nmg.js +0 -26
  1022. app-ng-runtime/locales/angular/nn.js +0 -28
  1023. app-ng-runtime/locales/angular/nnh.js +0 -28
  1024. app-ng-runtime/locales/angular/nus.js +0 -26
  1025. app-ng-runtime/locales/angular/nyn.js +0 -28
  1026. app-ng-runtime/locales/angular/om-ke.js +0 -28
  1027. app-ng-runtime/locales/angular/om.js +0 -28
  1028. app-ng-runtime/locales/angular/or.js +0 -28
  1029. app-ng-runtime/locales/angular/os-ru.js +0 -28
  1030. app-ng-runtime/locales/angular/os.js +0 -28
  1031. app-ng-runtime/locales/angular/pa-arab.js +0 -26
  1032. app-ng-runtime/locales/angular/pa-guru.js +0 -28
  1033. app-ng-runtime/locales/angular/pa.js +0 -28
  1034. app-ng-runtime/locales/angular/pl.js +0 -33
  1035. app-ng-runtime/locales/angular/prg.js +0 -31
  1036. app-ng-runtime/locales/angular/ps-pk.js +0 -28
  1037. app-ng-runtime/locales/angular/ps.js +0 -28
  1038. app-ng-runtime/locales/angular/pt-ao.js +0 -29
  1039. app-ng-runtime/locales/angular/pt-ch.js +0 -29
  1040. app-ng-runtime/locales/angular/pt-cv.js +0 -29
  1041. app-ng-runtime/locales/angular/pt-gq.js +0 -29
  1042. app-ng-runtime/locales/angular/pt-gw.js +0 -29
  1043. app-ng-runtime/locales/angular/pt-lu.js +0 -29
  1044. app-ng-runtime/locales/angular/pt-mo.js +0 -29
  1045. app-ng-runtime/locales/angular/pt-mz.js +0 -29
  1046. app-ng-runtime/locales/angular/pt-pt.js +0 -29
  1047. app-ng-runtime/locales/angular/pt-st.js +0 -29
  1048. app-ng-runtime/locales/angular/pt-tl.js +0 -29
  1049. app-ng-runtime/locales/angular/pt.js +0 -29
  1050. app-ng-runtime/locales/angular/qu-bo.js +0 -26
  1051. app-ng-runtime/locales/angular/qu-ec.js +0 -26
  1052. app-ng-runtime/locales/angular/qu.js +0 -26
  1053. app-ng-runtime/locales/angular/rm.js +0 -28
  1054. app-ng-runtime/locales/angular/rn.js +0 -26
  1055. app-ng-runtime/locales/angular/ro-md.js +0 -31
  1056. app-ng-runtime/locales/angular/ro.js +0 -31
  1057. app-ng-runtime/locales/angular/rof.js +0 -28
  1058. app-ng-runtime/locales/angular/root.js +0 -29
  1059. app-ng-runtime/locales/angular/ru-by.js +0 -33
  1060. app-ng-runtime/locales/angular/ru-kg.js +0 -33
  1061. app-ng-runtime/locales/angular/ru-kz.js +0 -33
  1062. app-ng-runtime/locales/angular/ru-md.js +0 -33
  1063. app-ng-runtime/locales/angular/ru-ua.js +0 -33
  1064. app-ng-runtime/locales/angular/ru.js +0 -33
  1065. app-ng-runtime/locales/angular/rw.js +0 -26
  1066. app-ng-runtime/locales/angular/rwk.js +0 -28
  1067. app-ng-runtime/locales/angular/sah.js +0 -26
  1068. app-ng-runtime/locales/angular/saq.js +0 -28
  1069. app-ng-runtime/locales/angular/sbp.js +0 -26
  1070. app-ng-runtime/locales/angular/sd-arab.js +0 -28
  1071. app-ng-runtime/locales/angular/sd.js +0 -28
  1072. app-ng-runtime/locales/angular/se-fi.js +0 -30
  1073. app-ng-runtime/locales/angular/se-se.js +0 -30
  1074. app-ng-runtime/locales/angular/se.js +0 -30
  1075. app-ng-runtime/locales/angular/seh.js +0 -28
  1076. app-ng-runtime/locales/angular/ses.js +0 -26
  1077. app-ng-runtime/locales/angular/sg.js +0 -26
  1078. app-ng-runtime/locales/angular/shi-latn.js +0 -26
  1079. app-ng-runtime/locales/angular/shi-tfng.js +0 -31
  1080. app-ng-runtime/locales/angular/shi.js +0 -31
  1081. app-ng-runtime/locales/angular/si.js +0 -29
  1082. app-ng-runtime/locales/angular/sk.js +0 -33
  1083. app-ng-runtime/locales/angular/sl.js +0 -33
  1084. app-ng-runtime/locales/angular/smn.js +0 -30
  1085. app-ng-runtime/locales/angular/sn.js +0 -28
  1086. app-ng-runtime/locales/angular/so-dj.js +0 -28
  1087. app-ng-runtime/locales/angular/so-et.js +0 -28
  1088. app-ng-runtime/locales/angular/so-ke.js +0 -28
  1089. app-ng-runtime/locales/angular/so.js +0 -28
  1090. app-ng-runtime/locales/angular/sq-mk.js +0 -28
  1091. app-ng-runtime/locales/angular/sq-xk.js +0 -28
  1092. app-ng-runtime/locales/angular/sq.js +0 -28
  1093. app-ng-runtime/locales/angular/sr-cyrl-ba.js +0 -31
  1094. app-ng-runtime/locales/angular/sr-cyrl-me.js +0 -31
  1095. app-ng-runtime/locales/angular/sr-cyrl-xk.js +0 -31
  1096. app-ng-runtime/locales/angular/sr-cyrl.js +0 -31
  1097. app-ng-runtime/locales/angular/sr-latn-ba.js +0 -26
  1098. app-ng-runtime/locales/angular/sr-latn-me.js +0 -26
  1099. app-ng-runtime/locales/angular/sr-latn-xk.js +0 -26
  1100. app-ng-runtime/locales/angular/sr-latn.js +0 -26
  1101. app-ng-runtime/locales/angular/sr.js +0 -31
  1102. app-ng-runtime/locales/angular/sv-ax.js +0 -29
  1103. app-ng-runtime/locales/angular/sv-fi.js +0 -29
  1104. app-ng-runtime/locales/angular/sv.js +0 -29
  1105. app-ng-runtime/locales/angular/sw-cd.js +0 -29
  1106. app-ng-runtime/locales/angular/sw-ke.js +0 -29
  1107. app-ng-runtime/locales/angular/sw-ug.js +0 -29
  1108. app-ng-runtime/locales/angular/sw.js +0 -29
  1109. app-ng-runtime/locales/angular/ta-lk.js +0 -28
  1110. app-ng-runtime/locales/angular/ta-my.js +0 -28
  1111. app-ng-runtime/locales/angular/ta-sg.js +0 -28
  1112. app-ng-runtime/locales/angular/ta.js +0 -28
  1113. app-ng-runtime/locales/angular/te.js +0 -28
  1114. app-ng-runtime/locales/angular/teo-ke.js +0 -28
  1115. app-ng-runtime/locales/angular/teo.js +0 -28
  1116. app-ng-runtime/locales/angular/tg.js +0 -26
  1117. app-ng-runtime/locales/angular/th.js +0 -26
  1118. app-ng-runtime/locales/angular/ti-er.js +0 -28
  1119. app-ng-runtime/locales/angular/ti.js +0 -28
  1120. app-ng-runtime/locales/angular/tk.js +0 -28
  1121. app-ng-runtime/locales/angular/to.js +0 -26
  1122. app-ng-runtime/locales/angular/tr-cy.js +0 -28
  1123. app-ng-runtime/locales/angular/tr.js +0 -28
  1124. app-ng-runtime/locales/angular/tt.js +0 -26
  1125. app-ng-runtime/locales/angular/twq.js +0 -26
  1126. app-ng-runtime/locales/angular/tzm.js +0 -28
  1127. app-ng-runtime/locales/angular/ug.js +0 -28
  1128. app-ng-runtime/locales/angular/uk.js +0 -33
  1129. app-ng-runtime/locales/angular/ur-in.js +0 -29
  1130. app-ng-runtime/locales/angular/ur.js +0 -29
  1131. app-ng-runtime/locales/angular/uz-arab.js +0 -26
  1132. app-ng-runtime/locales/angular/uz-cyrl.js +0 -26
  1133. app-ng-runtime/locales/angular/uz-latn.js +0 -28
  1134. app-ng-runtime/locales/angular/uz.js +0 -28
  1135. app-ng-runtime/locales/angular/vai-latn.js +0 -26
  1136. app-ng-runtime/locales/angular/vai-vaii.js +0 -26
  1137. app-ng-runtime/locales/angular/vai.js +0 -26
  1138. app-ng-runtime/locales/angular/vi.js +0 -26
  1139. app-ng-runtime/locales/angular/vo.js +0 -28
  1140. app-ng-runtime/locales/angular/vun.js +0 -28
  1141. app-ng-runtime/locales/angular/wae.js +0 -28
  1142. app-ng-runtime/locales/angular/wo.js +0 -26
  1143. app-ng-runtime/locales/angular/xh.js +0 -28
  1144. app-ng-runtime/locales/angular/xog.js +0 -28
  1145. app-ng-runtime/locales/angular/yav.js +0 -26
  1146. app-ng-runtime/locales/angular/yi.js +0 -29
  1147. app-ng-runtime/locales/angular/yo-bj.js +0 -26
  1148. app-ng-runtime/locales/angular/yo.js +0 -26
  1149. app-ng-runtime/locales/angular/yue-hans.js +0 -26
  1150. app-ng-runtime/locales/angular/yue-hant.js +0 -26
  1151. app-ng-runtime/locales/angular/yue.js +0 -26
  1152. app-ng-runtime/locales/angular/zgh.js +0 -26
  1153. app-ng-runtime/locales/angular/zh-hans-hk.js +0 -26
  1154. app-ng-runtime/locales/angular/zh-hans-mo.js +0 -26
  1155. app-ng-runtime/locales/angular/zh-hans-sg.js +0 -26
  1156. app-ng-runtime/locales/angular/zh-hans.js +0 -26
  1157. app-ng-runtime/locales/angular/zh-hant-hk.js +0 -26
  1158. app-ng-runtime/locales/angular/zh-hant-mo.js +0 -26
  1159. app-ng-runtime/locales/angular/zh-hant.js +0 -26
  1160. app-ng-runtime/locales/angular/zh.js +0 -26
  1161. app-ng-runtime/locales/angular/zu.js +0 -29
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/app-ng-runtime",
3
- "version": "11.5.0-next.141081",
3
+ "version": "11.5.0-next.141082",
4
4
  "description": "All modules required for a wavemaker application.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@wm/core'), require('@wm/variables'), require('@wm/security'), require('@angular/router'), require('@angular/common'), require('@wm/components/page'), require('rxjs'), require('@wm/components/base'), require('tslib'), require('@wm/components/prefab'), require('@angular/common/http'), require('@angular/platform-browser'), require('ngx-toastr'), require('@wm/components/dialogs'), require('@wm/components/dialogs/confirm-dialog'), require('@wm/components/dialogs/design-dialog'), require('@wm/mobile/runtime'), require('@wm/http'), require('@wm/oAuth'), require('ngx-bootstrap/chronos'), require('ngx-bootstrap/datepicker'), require('ngx-bootstrap/utils'), require('@wm/components/dialogs/alert-dialog'), require('rxjs/operators'), require('@wm/transpiler'), require('@wm/build-task'), require('@wm/components/page/footer'), require('@wm/components/page/header'), require('@wm/components/page/left-panel'), require('@wm/components/page/right-panel'), require('@wm/components/page/top-nav'), require('@wm/components/basic'), require('@wm/components/basic/progress'), require('@wm/components/basic/rich-text-editor'), require('@wm/components/basic/search'), require('@wm/components/basic/tree'), require('@wm/components/input/calendar'), require('@wm/components/input/chips'), require('@wm/components/input/color-picker'), require('@wm/components/input/currency'), require('@wm/components/input/epoch'), require('@wm/components/input/file-upload'), require('@wm/components/input'), require('@wm/components/input/rating'), require('@wm/components/input/slider'), require('@wm/components/data/card'), require('@wm/components/data/form'), require('@wm/components/data/list'), require('@wm/components/data/live-table'), require('@wm/components/data/pagination'), require('@wm/components/data/table'), require('@wm/components/chart'), require('@wm/components/containers/accordion'), require('@wm/components/containers/linear-layout'), require('@wm/components/containers/layout-grid'), require('@wm/components/containers/panel'), require('@wm/components/containers/tabs'), require('@wm/components/containers/tile'), require('@wm/components/containers/wizard'), require('@wm/components/dialogs/iframe-dialog'), require('@wm/components/dialogs/login-dialog'), require('@wm/components/dialogs/partial-dialog'), require('@wm/components/navigation/breadcrumb'), require('@wm/components/navigation/menu'), require('@wm/components/navigation/navbar'), require('@wm/components/navigation/popover'), require('@wm/components/advanced/carousel'), require('@wm/components/advanced/login'), require('@wm/components/advanced/marquee'), require('ngx-bootstrap/timepicker'), require('ngx-bootstrap/dropdown'), require('ngx-bootstrap/pagination'), require('ngx-bootstrap/typeahead'), require('ngx-bootstrap/progressbar'), require('ngx-bootstrap/carousel'), require('ngx-bootstrap/popover'), require('ng-circle-progress'), require('ngx-bootstrap/tooltip')) :
3
- typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@wm/core', '@wm/variables', '@wm/security', '@angular/router', '@angular/common', '@wm/components/page', 'rxjs', '@wm/components/base', 'tslib', '@wm/components/prefab', '@angular/common/http', '@angular/platform-browser', 'ngx-toastr', '@wm/components/dialogs', '@wm/components/dialogs/confirm-dialog', '@wm/components/dialogs/design-dialog', '@wm/mobile/runtime', '@wm/http', '@wm/oAuth', 'ngx-bootstrap/chronos', 'ngx-bootstrap/datepicker', 'ngx-bootstrap/utils', '@wm/components/dialogs/alert-dialog', 'rxjs/operators', '@wm/transpiler', '@wm/build-task', '@wm/components/page/footer', '@wm/components/page/header', '@wm/components/page/left-panel', '@wm/components/page/right-panel', '@wm/components/page/top-nav', '@wm/components/basic', '@wm/components/basic/progress', '@wm/components/basic/rich-text-editor', '@wm/components/basic/search', '@wm/components/basic/tree', '@wm/components/input/calendar', '@wm/components/input/chips', '@wm/components/input/color-picker', '@wm/components/input/currency', '@wm/components/input/epoch', '@wm/components/input/file-upload', '@wm/components/input', '@wm/components/input/rating', '@wm/components/input/slider', '@wm/components/data/card', '@wm/components/data/form', '@wm/components/data/list', '@wm/components/data/live-table', '@wm/components/data/pagination', '@wm/components/data/table', '@wm/components/chart', '@wm/components/containers/accordion', '@wm/components/containers/linear-layout', '@wm/components/containers/layout-grid', '@wm/components/containers/panel', '@wm/components/containers/tabs', '@wm/components/containers/tile', '@wm/components/containers/wizard', '@wm/components/dialogs/iframe-dialog', '@wm/components/dialogs/login-dialog', '@wm/components/dialogs/partial-dialog', '@wm/components/navigation/breadcrumb', '@wm/components/navigation/menu', '@wm/components/navigation/navbar', '@wm/components/navigation/popover', '@wm/components/advanced/carousel', '@wm/components/advanced/login', '@wm/components/advanced/marquee', 'ngx-bootstrap/timepicker', 'ngx-bootstrap/dropdown', 'ngx-bootstrap/pagination', 'ngx-bootstrap/typeahead', 'ngx-bootstrap/progressbar', 'ngx-bootstrap/carousel', 'ngx-bootstrap/popover', 'ng-circle-progress', 'ngx-bootstrap/tooltip'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.wm = global.wm || {}, global.wm.runtime = global.wm.runtime || {}, global.wm.runtime.base = {}), global.ng.core, global.wm.core, global.wm.variables, global.wm.security, global.ng.router, global.ng.common, global.wm.components.page, global.rxjs, global.wm.components.base, global.tslib, global.wm.components.prefab, global.ng.common.http, global.ng.platformBrowser, global.ngxToastr, global.wm.components.dialogs, global.wm.components.dialogs.confirmdialog, global.wm.components.dialogs.designdialog, global.wm.mobile.runtime, global.wm.http, global.wm.oAuth, global.chronos, global.datepicker, global.utils, global.wm.components.dialogs.alertdialog, global.rxjs.operators, global.wm.transpiler, global.wm.buildTask, global.wm.components.page.footer, global.wm.components.page.header, global.wm.components.page.leftpanel, global.wm.components.page.rightpanel, global.wm.components.page.topnav, global.wm.components.basic, global.wm.components.basic.progress, global.wm.components.basic.richtexteditor, global.wm.components.basic.search, global.wm.components.basic.tree, global.wm.components.input.calendar, global.wm.components.input.chips, global.wm.components.input.colorpicker, global.wm.components.input.currency, global.wm.components.input.epoch, global.wm.components.input.fileupload, global.wm.components.input, global.wm.components.input.rating, global.wm.components.input.slider, global.wm.components.data.card, global.wm.components.data.form, global.wm.components.data.list, global.wm.components.data.livetable, global.wm.components.data.pagination, global.wm.components.data.table, global.wm.components.chart, global.wm.components.containers.accordion, global.wm.components.containers.linearlayout, global.wm.components.containers.layoutgrid, global.wm.components.containers.panel, global.wm.components.containers.tabs, global.wm.components.containers.tile, global.wm.components.containers.wizard, global.wm.components.dialogs.iframedialog, global.wm.components.dialogs.logindialog, global.wm.components.dialogs.partialdialog, global.wm.components.navigation.breadcrumb, global.wm.components.navigation.menu, global.wm.components.navigation.navbar, global.wm.components.navigation.popover, global.wm.components.advanced.carousel, global.wm.components.advanced.login, global.wm.components.advanced.marquee, global.timepicker, global.dropdown, global.pagination, global.typeahead, global.progressbar, global.carousel, global.popover, global.ngCircleProgress, global.tooltip));
5
- })(this, (function (exports, i0, i1, i4, i2, i1$1, i1$2, page, rxjs, i3, tslib, i2$3, i1$5, i1$4, i1$3, dialogs, i9, i10, i1$6, http, i2$2, chronos, i2$1, utils, i11, operators, transpiler, buildTask, footer, header, leftPanel, rightPanel, topNav, basic, progress, richTextEditor, search, tree, calendar, chips, colorPicker, currency, epoch, fileUpload, input, rating, slider, card, form, list, liveTable, pagination$1, table, chart, accordion, linearLayout, layoutGrid, panel, tabs, tile, wizard, iframeDialog, loginDialog, partialDialog, breadcrumb, menu, navbar, popover$1, carousel$1, login, marquee, timepicker, dropdown, pagination, typeahead, progressbar, carousel, popover, ngCircleProgress, tooltip) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@wm/core'), require('@wm/variables'), require('@wm/security'), require('@angular/router'), require('@angular/common'), require('@wm/components/page'), require('rxjs'), require('@wm/components/base'), require('tslib'), require('@wm/components/prefab'), require('@angular/common/http'), require('@angular/platform-browser'), require('@angular/forms'), require('ngx-toastr'), require('@wm/components/dialogs'), require('@wm/components/dialogs/confirm-dialog'), require('@wm/components/dialogs/design-dialog'), require('@wm/mobile/runtime'), require('@wm/http'), require('@wm/oAuth'), require('ngx-bootstrap/chronos'), require('ngx-bootstrap/datepicker'), require('ngx-bootstrap/utils'), require('@wm/components/dialogs/alert-dialog'), require('rxjs/operators'), require('@wm/transpiler'), require('@wm/build-task'), require('@wm/components/page/footer'), require('@wm/components/page/header'), require('@wm/components/page/left-panel'), require('@wm/components/page/right-panel'), require('@wm/components/page/top-nav'), require('@wm/components/basic'), require('@wm/components/basic/progress'), require('@wm/components/basic/rich-text-editor'), require('@wm/components/basic/search'), require('@wm/components/basic/tree'), require('@wm/components/input/calendar'), require('@wm/components/input/chips'), require('@wm/components/input/color-picker'), require('@wm/components/input/currency'), require('@wm/components/input/epoch'), require('@wm/components/input/file-upload'), require('@wm/components/input'), require('@wm/components/input/rating'), require('@wm/components/input/slider'), require('@wm/components/data/card'), require('@wm/components/data/form'), require('@wm/components/data/list'), require('@wm/components/data/live-table'), require('@wm/components/data/pagination'), require('@wm/components/data/table'), require('@wm/components/chart'), require('@wm/components/containers/accordion'), require('@wm/components/containers/linear-layout'), require('@wm/components/containers/layout-grid'), require('@wm/components/containers/panel'), require('@wm/components/containers/tabs'), require('@wm/components/containers/tile'), require('@wm/components/containers/wizard'), require('@wm/components/dialogs/iframe-dialog'), require('@wm/components/dialogs/login-dialog'), require('@wm/components/dialogs/partial-dialog'), require('@wm/components/navigation/breadcrumb'), require('@wm/components/navigation/menu'), require('@wm/components/navigation/navbar'), require('@wm/components/navigation/popover'), require('@wm/components/advanced/carousel'), require('@wm/components/advanced/login'), require('@wm/components/advanced/marquee'), require('ngx-bootstrap/timepicker'), require('ngx-bootstrap/dropdown'), require('ngx-bootstrap/pagination'), require('ngx-bootstrap/typeahead'), require('ngx-bootstrap/progressbar'), require('ngx-bootstrap/carousel'), require('ngx-bootstrap/popover'), require('ng-circle-progress'), require('ngx-bootstrap/tooltip')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@wm/core', '@wm/variables', '@wm/security', '@angular/router', '@angular/common', '@wm/components/page', 'rxjs', '@wm/components/base', 'tslib', '@wm/components/prefab', '@angular/common/http', '@angular/platform-browser', '@angular/forms', 'ngx-toastr', '@wm/components/dialogs', '@wm/components/dialogs/confirm-dialog', '@wm/components/dialogs/design-dialog', '@wm/mobile/runtime', '@wm/http', '@wm/oAuth', 'ngx-bootstrap/chronos', 'ngx-bootstrap/datepicker', 'ngx-bootstrap/utils', '@wm/components/dialogs/alert-dialog', 'rxjs/operators', '@wm/transpiler', '@wm/build-task', '@wm/components/page/footer', '@wm/components/page/header', '@wm/components/page/left-panel', '@wm/components/page/right-panel', '@wm/components/page/top-nav', '@wm/components/basic', '@wm/components/basic/progress', '@wm/components/basic/rich-text-editor', '@wm/components/basic/search', '@wm/components/basic/tree', '@wm/components/input/calendar', '@wm/components/input/chips', '@wm/components/input/color-picker', '@wm/components/input/currency', '@wm/components/input/epoch', '@wm/components/input/file-upload', '@wm/components/input', '@wm/components/input/rating', '@wm/components/input/slider', '@wm/components/data/card', '@wm/components/data/form', '@wm/components/data/list', '@wm/components/data/live-table', '@wm/components/data/pagination', '@wm/components/data/table', '@wm/components/chart', '@wm/components/containers/accordion', '@wm/components/containers/linear-layout', '@wm/components/containers/layout-grid', '@wm/components/containers/panel', '@wm/components/containers/tabs', '@wm/components/containers/tile', '@wm/components/containers/wizard', '@wm/components/dialogs/iframe-dialog', '@wm/components/dialogs/login-dialog', '@wm/components/dialogs/partial-dialog', '@wm/components/navigation/breadcrumb', '@wm/components/navigation/menu', '@wm/components/navigation/navbar', '@wm/components/navigation/popover', '@wm/components/advanced/carousel', '@wm/components/advanced/login', '@wm/components/advanced/marquee', 'ngx-bootstrap/timepicker', 'ngx-bootstrap/dropdown', 'ngx-bootstrap/pagination', 'ngx-bootstrap/typeahead', 'ngx-bootstrap/progressbar', 'ngx-bootstrap/carousel', 'ngx-bootstrap/popover', 'ng-circle-progress', 'ngx-bootstrap/tooltip'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.wm = global.wm || {}, global.wm.runtime = global.wm.runtime || {}, global.wm.runtime.base = {}), global.ng.core, global.wm.core, global.wm.variables, global.wm.security, global.ng.router, global.ng.common, global.wm.components.page, global.rxjs, global.wm.components.base, global.tslib, global.wm.components.prefab, global.ng.common.http, global.ng.platformBrowser, global.ng.forms, global.ngxToastr, global.wm.components.dialogs, global.wm.components.dialogs.confirmdialog, global.wm.components.dialogs.designdialog, global.wm.mobile.runtime, global.wm.http, global.wm.oAuth, global.chronos, global.datepicker, global.utils, global.wm.components.dialogs.alertdialog, global.rxjs.operators, global.wm.transpiler, global.wm.buildTask, global.wm.components.page.footer, global.wm.components.page.header, global.wm.components.page.leftpanel, global.wm.components.page.rightpanel, global.wm.components.page.topnav, global.wm.components.basic, global.wm.components.basic.progress, global.wm.components.basic.richtexteditor, global.wm.components.basic.search, global.wm.components.basic.tree, global.wm.components.input.calendar, global.wm.components.input.chips, global.wm.components.input.colorpicker, global.wm.components.input.currency, global.wm.components.input.epoch, global.wm.components.input.fileupload, global.wm.components.input, global.wm.components.input.rating, global.wm.components.input.slider, global.wm.components.data.card, global.wm.components.data.form, global.wm.components.data.list, global.wm.components.data.livetable, global.wm.components.data.pagination, global.wm.components.data.table, global.wm.components.chart, global.wm.components.containers.accordion, global.wm.components.containers.linearlayout, global.wm.components.containers.layoutgrid, global.wm.components.containers.panel, global.wm.components.containers.tabs, global.wm.components.containers.tile, global.wm.components.containers.wizard, global.wm.components.dialogs.iframedialog, global.wm.components.dialogs.logindialog, global.wm.components.dialogs.partialdialog, global.wm.components.navigation.breadcrumb, global.wm.components.navigation.menu, global.wm.components.navigation.navbar, global.wm.components.navigation.popover, global.wm.components.advanced.carousel, global.wm.components.advanced.login, global.wm.components.advanced.marquee, global.timepicker, global.dropdown, global.pagination, global.typeahead, global.progressbar, global.carousel, global.popover, global.ngCircleProgress, global.tooltip));
5
+ })(this, (function (exports, i0, i1, i4, i2, i1$1, i1$2, page, rxjs, i3, tslib, i2$3, i1$5, i1$4, forms, i1$3, dialogs, i9, i10, i1$6, http, i2$2, chronos, i2$1, utils, i11, operators, transpiler, buildTask, footer, header, leftPanel, rightPanel, topNav, basic, progress, richTextEditor, search, tree, calendar, chips, colorPicker, currency, epoch, fileUpload, input, rating, slider, card, form, list, liveTable, pagination$1, table, chart, accordion, linearLayout, layoutGrid, panel, tabs, tile, wizard, iframeDialog, loginDialog, partialDialog, breadcrumb, menu, navbar, popover$1, carousel$1, login, marquee, timepicker, dropdown, pagination, typeahead, progressbar, carousel, popover, ngCircleProgress, tooltip) { 'use strict';
6
6
 
7
7
  function _interopNamespaceDefault(e) {
8
8
  var n = Object.create(null);
@@ -661,12 +661,12 @@
661
661
  return this.containerWidget.inj || this.containerWidget.injector;
662
662
  }
663
663
  init() {
664
- this.App = i0.inject(i1.App);
664
+ this.App = this.injector ? this.injector.get(i1.App) : i0.inject(i1.App);
665
665
  //making the code compatible in both the JIT and AOT modes
666
666
  this.containerWidget = this.injector ? this.injector.get(i3.WidgetRef) : i0.inject(i3.WidgetRef);
667
- this.i18nService = i0.inject(i1.AbstractI18nService);
668
- this.scriptLoaderService = i0.inject(i1.ScriptLoaderService);
669
- this.Viewport = i0.inject(i1.Viewport);
667
+ this.i18nService = this.injector ? this.injector.get(i1.AbstractI18nService) : i0.inject(i1.AbstractI18nService);
668
+ this.scriptLoaderService = this.injector ? this.injector.get(i1.ScriptLoaderService) : i0.inject(i1.ScriptLoaderService);
669
+ this.Viewport = this.injector ? this.injector.get(i1.Viewport) : i0.inject(i1.Viewport);
670
670
  // this.viewContainerRef = this.getContainerWidgetInjector().get(ViewContainerRef);
671
671
  // Replacing this.getContainerWidgetInjector().view.component as viewParent
672
672
  // this.viewParent = (this.viewContainerRef as any).parentInjector._lView[8];
@@ -686,10 +686,10 @@
686
686
  this.pageParams = this.containerWidget.partialParams;
687
687
  });
688
688
  if (this.spa) {
689
- this.pageDirective = i0.inject(page.SpaPageDirective);
689
+ this.pageDirective = this.injector ? this.injector.get(page.SpaPageDirective) : i0.inject(page.SpaPageDirective);
690
690
  }
691
691
  else {
692
- this.pageDirective = i0.inject(page.PageDirective);
692
+ this.pageDirective = this.injector ? this.injector.get(page.PageDirective) : i0.inject(page.PageDirective);
693
693
  }
694
694
  if (this.pageDirective) {
695
695
  this.registerDestroyListener(this.pageDirective.subscribe('attach', data => this.ngOnAttach(data.refreshData)));
@@ -721,14 +721,14 @@
721
721
  this.Prefab = this.viewParent;
722
722
  }
723
723
  }
724
- this.evalUserScript(this, this.App, i0.inject(i1.UtilsService));
724
+ this.evalUserScript(this, this.App, this.injector ? this.injector.get(i1.UtilsService) : i0.inject(i1.UtilsService));
725
725
  }
726
726
  catch (e) {
727
727
  console.error(`Error in evaluating partial (${this.partialName}) script\n`, e);
728
728
  }
729
729
  }
730
730
  initVariables() {
731
- const variablesService = i0.inject(i4.VariablesService);
731
+ const variablesService = this.injector ? this.injector.get(i4.VariablesService) : i0.inject(i4.VariablesService);
732
732
  // get variables and actions instances for the page
733
733
  const variableCollection = variablesService.register(this.partialName, this.getVariables(), this);
734
734
  // create namespace for Variables nad Actions on page/partial, which inherits the Variables and Actions from App instance
@@ -1032,14 +1032,14 @@
1032
1032
  }
1033
1033
  init() {
1034
1034
  i1.muteWatchers();
1035
- this.App = i0.inject(i1.App);
1036
- this.route = i0.inject(i1$1.ActivatedRoute);
1037
- this.appManager = i0.inject(AppManagerService);
1038
- this.navigationService = i0.inject(i1.AbstractNavigationService);
1039
- this.scriptLoaderService = i0.inject(i1.ScriptLoaderService);
1040
- this.i18nService = i0.inject(i1.AbstractI18nService);
1041
- this.router = i0.inject(i1$1.Router);
1042
- this.Viewport = i0.inject(i1.Viewport);
1035
+ this.App = this.injector ? this.injector.get(i1.App) : i0.inject(i1.App);
1036
+ this.route = this.injector ? this.injector.get(i1$1.ActivatedRoute) : i0.inject(i1$1.ActivatedRoute);
1037
+ this.appManager = this.injector ? this.injector.get(AppManagerService) : i0.inject(AppManagerService);
1038
+ this.navigationService = this.injector ? this.injector.get(i1.AbstractNavigationService) : i0.inject(i1.AbstractNavigationService);
1039
+ this.scriptLoaderService = this.injector ? this.injector.get(i1.ScriptLoaderService) : i0.inject(i1.ScriptLoaderService);
1040
+ this.i18nService = this.injector ? this.injector.get(i1.AbstractI18nService) : i0.inject(i1.AbstractI18nService);
1041
+ this.router = this.injector ? this.injector.get(i1$1.Router) : i0.inject(i1$1.Router);
1042
+ this.Viewport = this.injector ? this.injector.get(i1.Viewport) : i0.inject(i1.Viewport);
1043
1043
  // register functions for binding evaluation
1044
1044
  this.registerExpressions();
1045
1045
  this.initUserScript();
@@ -1061,7 +1061,7 @@
1061
1061
  }
1062
1062
  initUserScript() {
1063
1063
  try {
1064
- this.evalUserScript(this, this.App, i0.inject(i1.UtilsService));
1064
+ this.evalUserScript(this, this.App, this.injector ? this.injector.get(i1.UtilsService) : i0.inject(i1.UtilsService));
1065
1065
  }
1066
1066
  catch (e) {
1067
1067
  console.error(`Error in evaluating page (${this.pageName}) script\n`, e);
@@ -1078,7 +1078,7 @@
1078
1078
  this.appLocale = this.i18nService.getAppLocale();
1079
1079
  }
1080
1080
  initVariables() {
1081
- const variablesService = i0.inject(i4.VariablesService);
1081
+ const variablesService = this.injector ? this.injector.get(i4.VariablesService) : i0.inject(i4.VariablesService);
1082
1082
  // get variables and actions instances for the page
1083
1083
  const variableCollection = variablesService.register(this.pageName, this.getVariables(), this);
1084
1084
  // create namespace for Variables nad Actions on page/partial, which inherits the Variables and Actions from App instance
@@ -1373,19 +1373,19 @@
1373
1373
  this.App = this.injector.get(i1.App);
1374
1374
  //making the code compatible in both the JIT and AOT modes
1375
1375
  this.containerWidget = this.injector ? this.injector.get(i3.WidgetRef) : i0.inject(i3.WidgetRef);
1376
- this.prefabMngr = i0.inject(PrefabManagerService);
1377
- this.i18nService = i0.inject(i1.AbstractI18nService);
1378
- this.scriptLoaderService = i0.inject(i1.ScriptLoaderService);
1379
- this.Viewport = i0.inject(i1.Viewport);
1376
+ this.prefabMngr = this.injector ? this.injector.get(PrefabManagerService) : i0.inject(PrefabManagerService);
1377
+ this.i18nService = this.injector ? this.injector.get(i1.AbstractI18nService) : i0.inject(i1.AbstractI18nService);
1378
+ this.scriptLoaderService = this.injector ? this.injector.get(i1.ScriptLoaderService) : i0.inject(i1.ScriptLoaderService);
1379
+ this.Viewport = this.injector ? this.injector.get(i1.Viewport) : i0.inject(i1.Viewport);
1380
1380
  this.viewParent = this.containerWidget.viewParent;
1381
1381
  if (this.viewParent.registerFragment) {
1382
1382
  this.viewParent.registerFragment();
1383
1383
  }
1384
1384
  if (this.spa) {
1385
- this.pageDirective = i0.inject(page.SpaPageDirective);
1385
+ this.pageDirective = this.injector ? this.injector.get(page.SpaPageDirective) : i0.inject(page.SpaPageDirective);
1386
1386
  }
1387
1387
  else {
1388
- this.pageDirective = i0.inject(page.PageDirective);
1388
+ this.pageDirective = this.injector ? this.injector.get(page.PageDirective) : i0.inject(page.PageDirective);
1389
1389
  }
1390
1390
  if (this.pageDirective) {
1391
1391
  this.registerDestroyListener(this.pageDirective.subscribe('attach', data => this.ngOnAttach(data.refreshData)));
@@ -1672,15 +1672,15 @@
1672
1672
  }
1673
1673
  init() {
1674
1674
  i1.muteWatchers();
1675
- this.App = i0.inject(i1.App);
1676
- this.route = i0.inject(i1$1.ActivatedRoute);
1677
- this.appManager = i0.inject(AppManagerService);
1678
- this.navigationService = i0.inject(i1.AbstractNavigationService);
1679
- this.scriptLoaderService = i0.inject(i1.ScriptLoaderService);
1680
- this.i18nService = i0.inject(i1.AbstractI18nService);
1681
- this.router = i0.inject(i1$1.Router);
1682
- this.Viewport = i0.inject(i1.Viewport);
1683
- this.layoutDirective = i0.inject(page.LayoutDirective);
1675
+ this.App = this.injector ? this.injector.get(i1.App) : i0.inject(i1.App);
1676
+ this.route = this.injector ? this.injector.get(i1$1.ActivatedRoute) : i0.inject(i1$1.ActivatedRoute);
1677
+ this.appManager = this.injector ? this.injector.get(AppManagerService) : i0.inject(AppManagerService);
1678
+ this.navigationService = this.injector ? this.injector.get(i1.AbstractNavigationService) : i0.inject(i1.AbstractNavigationService);
1679
+ this.scriptLoaderService = this.injector ? this.injector.get(i1.ScriptLoaderService) : i0.inject(i1.ScriptLoaderService);
1680
+ this.i18nService = this.injector ? this.injector.get(i1.AbstractI18nService) : i0.inject(i1.AbstractI18nService);
1681
+ this.router = this.injector ? this.injector.get(i1$1.Router) : i0.inject(i1$1.Router);
1682
+ this.Viewport = this.injector ? this.injector.get(i1.Viewport) : i0.inject(i1.Viewport);
1683
+ this.layoutDirective = this.injector ? this.injector.get(page.LayoutDirective) : i0.inject(page.LayoutDirective);
1684
1684
  // register functions for binding evaluation
1685
1685
  this.registerExpressions();
1686
1686
  this.initUserScript();
@@ -1702,7 +1702,7 @@
1702
1702
  }
1703
1703
  initUserScript() {
1704
1704
  try {
1705
- this.evalUserScript(this, this.App, i0.inject(i1.UtilsService));
1705
+ this.evalUserScript(this, this.App, this.injector ? this.injector.get(i1.UtilsService) : i0.inject(i1.UtilsService));
1706
1706
  }
1707
1707
  catch (e) {
1708
1708
  console.error(`Error in evaluating page (${this.pageName}) script\n`, e);
@@ -1719,7 +1719,7 @@
1719
1719
  this.appLocale = this.i18nService.getAppLocale();
1720
1720
  }
1721
1721
  initVariables() {
1722
- const variablesService = i0.inject(i4.VariablesService);
1722
+ const variablesService = this.injector ? this.injector.get(i4.VariablesService) : i0.inject(i4.VariablesService);
1723
1723
  // get variables and actions instances for the page
1724
1724
  const variableCollection = variablesService.register(this.pageName, this.getVariables(), this);
1725
1725
  // create namespace for Variables nad Actions on page/partial, which inherits the Variables and Actions from App instance
@@ -4704,7 +4704,8 @@
4704
4704
  header.HeaderModule,
4705
4705
  leftPanel.LeftPanelModule,
4706
4706
  rightPanel.RightPanelModule,
4707
- topNav.TopNavModule
4707
+ topNav.TopNavModule,
4708
+ i2$3.PrefabModule
4708
4709
  ];
4709
4710
  // setting parseExpr as exprEvaluator for swipeAnimation
4710
4711
  $.fn.swipeAnimation.expressionEvaluator = i1.$parseExpr;
@@ -4811,16 +4812,21 @@
4811
4812
  ], imports: [i1$2.CommonModule,
4812
4813
  i1$1.RouterModule,
4813
4814
  i1$5.HttpClientModule,
4815
+ forms.FormsModule,
4816
+ forms.ReactiveFormsModule,
4814
4817
  i1$3.ToastrModule,
4815
4818
  i3.WmComponentsModule,
4816
- i2$3.PrefabModule,
4817
4819
  i1$6.MobileRuntimeModule,
4818
4820
  i1.CoreModule,
4819
4821
  i2.SecurityModule,
4820
4822
  i2$2.OAuthModule,
4821
4823
  i4.VariablesModule,
4822
- http.HttpServiceModule,
4823
- REQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS, i1$2.CommonModule,
4824
+ http.HttpServiceModule, REQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS, forms.FormsModule,
4825
+ forms.ReactiveFormsModule,
4826
+ i1$2.CommonModule,
4827
+ i1$1.RouterModule,
4828
+ i1$5.HttpClientModule,
4829
+ i1$3.ToastrModule,
4824
4830
  i3.WmComponentsModule,
4825
4831
  i1$6.MobileRuntimeModule,
4826
4832
  i1.CoreModule,
@@ -4893,30 +4899,37 @@
4893
4899
  header.HeaderModule,
4894
4900
  leftPanel.LeftPanelModule,
4895
4901
  rightPanel.RightPanelModule,
4896
- topNav.TopNavModule] });
4902
+ topNav.TopNavModule,
4903
+ i2$3.PrefabModule] });
4897
4904
  (function () {
4898
4905
  (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(RuntimeBaseModule, [{
4899
4906
  type: i0.NgModule,
4900
4907
  args: [{
4901
- declarations: definitions,
4908
+ declarations: [...definitions],
4902
4909
  imports: [
4903
4910
  i1$2.CommonModule,
4904
4911
  i1$1.RouterModule,
4905
4912
  i1$5.HttpClientModule,
4913
+ forms.FormsModule,
4914
+ forms.ReactiveFormsModule,
4906
4915
  i1$3.ToastrModule,
4907
4916
  i3.WmComponentsModule,
4908
- i2$3.PrefabModule,
4909
4917
  i1$6.MobileRuntimeModule,
4910
4918
  i1.CoreModule,
4911
4919
  i2.SecurityModule,
4912
4920
  i2$2.OAuthModule,
4913
4921
  i4.VariablesModule,
4914
4922
  http.HttpServiceModule,
4915
- REQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS
4923
+ ...REQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS
4916
4924
  ],
4917
4925
  exports: [
4918
- definitions,
4926
+ forms.FormsModule,
4927
+ forms.ReactiveFormsModule,
4928
+ ...definitions,
4919
4929
  i1$2.CommonModule,
4930
+ i1$1.RouterModule,
4931
+ i1$5.HttpClientModule,
4932
+ i1$3.ToastrModule,
4920
4933
  i3.WmComponentsModule,
4921
4934
  i1$6.MobileRuntimeModule,
4922
4935
  i1.CoreModule,
@@ -4924,7 +4937,7 @@
4924
4937
  i2$2.OAuthModule,
4925
4938
  i4.VariablesModule,
4926
4939
  http.HttpServiceModule,
4927
- REQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS
4940
+ ...REQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS
4928
4941
  ],
4929
4942
  providers: [
4930
4943
  { provide: i1$4["ɵDomSharedStylesHost"], useClass: WMDomSharedStylesHost },
@@ -4943,9 +4956,10 @@
4943
4956
  EmptyPageComponent], imports: [i1$2.CommonModule,
4944
4957
  i1$1.RouterModule,
4945
4958
  i1$5.HttpClientModule,
4959
+ forms.FormsModule,
4960
+ forms.ReactiveFormsModule,
4946
4961
  i1$3.ToastrModule,
4947
4962
  i3.WmComponentsModule,
4948
- i2$3.PrefabModule,
4949
4963
  i1$6.MobileRuntimeModule,
4950
4964
  i1.CoreModule,
4951
4965
  i2.SecurityModule,
@@ -5017,13 +5031,18 @@
5017
5031
  header.HeaderModule,
5018
5032
  leftPanel.LeftPanelModule,
5019
5033
  rightPanel.RightPanelModule,
5020
- topNav.TopNavModule], exports: [AccessrolesDirective,
5034
+ topNav.TopNavModule,
5035
+ i2$3.PrefabModule], exports: [forms.FormsModule,
5036
+ forms.ReactiveFormsModule, AccessrolesDirective,
5021
5037
  AppSpinnerComponent,
5022
5038
  CustomToasterComponent,
5023
5039
  PrefabDirective,
5024
5040
  AppComponent,
5025
5041
  PrefabPreviewComponent,
5026
5042
  EmptyPageComponent, i1$2.CommonModule,
5043
+ i1$1.RouterModule,
5044
+ i1$5.HttpClientModule,
5045
+ i1$3.ToastrModule,
5027
5046
  i3.WmComponentsModule,
5028
5047
  i1$6.MobileRuntimeModule,
5029
5048
  i1.CoreModule,
@@ -5096,7 +5115,8 @@
5096
5115
  header.HeaderModule,
5097
5116
  leftPanel.LeftPanelModule,
5098
5117
  rightPanel.RightPanelModule,
5099
- topNav.TopNavModule] });
5118
+ topNav.TopNavModule,
5119
+ i2$3.PrefabModule] });
5100
5120
  })();
5101
5121
  const WM_MODULES_FOR_ROOT = [
5102
5122
  i3.WmComponentsModule.forRoot(),
@@ -21,14 +21,14 @@ export class BasePageComponent extends FragmentMonitor {
21
21
  }
22
22
  init() {
23
23
  muteWatchers();
24
- this.App = inject(App);
25
- this.route = inject(ActivatedRoute);
26
- this.appManager = inject(AppManagerService);
27
- this.navigationService = inject(AbstractNavigationService);
28
- this.scriptLoaderService = inject(ScriptLoaderService);
29
- this.i18nService = inject(AbstractI18nService);
30
- this.router = inject(Router);
31
- this.Viewport = inject(Viewport);
24
+ this.App = this.injector ? this.injector.get(App) : inject(App);
25
+ this.route = this.injector ? this.injector.get(ActivatedRoute) : inject(ActivatedRoute);
26
+ this.appManager = this.injector ? this.injector.get(AppManagerService) : inject(AppManagerService);
27
+ this.navigationService = this.injector ? this.injector.get(AbstractNavigationService) : inject(AbstractNavigationService);
28
+ this.scriptLoaderService = this.injector ? this.injector.get(ScriptLoaderService) : inject(ScriptLoaderService);
29
+ this.i18nService = this.injector ? this.injector.get(AbstractI18nService) : inject(AbstractI18nService);
30
+ this.router = this.injector ? this.injector.get(Router) : inject(Router);
31
+ this.Viewport = this.injector ? this.injector.get(Viewport) : inject(Viewport);
32
32
  // register functions for binding evaluation
33
33
  this.registerExpressions();
34
34
  this.initUserScript();
@@ -50,7 +50,7 @@ export class BasePageComponent extends FragmentMonitor {
50
50
  }
51
51
  initUserScript() {
52
52
  try {
53
- this.evalUserScript(this, this.App, inject(UtilsService));
53
+ this.evalUserScript(this, this.App, this.injector ? this.injector.get(UtilsService) : inject(UtilsService));
54
54
  }
55
55
  catch (e) {
56
56
  console.error(`Error in evaluating page (${this.pageName}) script\n`, e);
@@ -67,7 +67,7 @@ export class BasePageComponent extends FragmentMonitor {
67
67
  this.appLocale = this.i18nService.getAppLocale();
68
68
  }
69
69
  initVariables() {
70
- const variablesService = inject(VariablesService);
70
+ const variablesService = this.injector ? this.injector.get(VariablesService) : inject(VariablesService);
71
71
  // get variables and actions instances for the page
72
72
  const variableCollection = variablesService.register(this.pageName, this.getVariables(), this);
73
73
  // create namespace for Variables nad Actions on page/partial, which inherits the Variables and Actions from App instance
@@ -340,4 +340,4 @@ BasePageComponent.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: BasePageC
340
340
  type: HostListener,
341
341
  args: ['window:beforeunload']
342
342
  }] }); })();
343
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3J1bnRpbWUtYmFzZS9zcmMvY29tcG9uZW50cy9iYXNlLXBhZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsWUFBWSxFQUF1QixTQUFTLEVBQUUsU0FBUyxFQUFvQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakksT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDN0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXBELE9BQU8sRUFBQyxPQUFPLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFFM0MsT0FBTyxFQUNILG1CQUFtQixFQUNuQix5QkFBeUIsRUFFekIsR0FBRyxFQUNILFdBQVcsRUFDWCxZQUFZLEVBQ1osSUFBSSxFQUVKLGNBQWMsRUFDZCxZQUFZLEVBQ2YsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBSzdELE1BQU0sT0FBZ0IsaUJBQWtCLFNBQVEsZUFBZTtJQUQvRDs7UUFrQkksMkJBQXNCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLDRCQUF1QixHQUFHLEtBQUssQ0FB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QUM1QyxpQkFBaUIsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7U0FDN0M7SUFDTCxDQUFDOztBQXZYTSxrQ0FBZ0IsR0FBRyxJQUFJLENBQUM7Nk9BRGIsaUJBQWlCLFNBQWpCLGlCQUFpQjtvRUFBakIsaUJBQWlCO3VCQW1CeEIsYUFBYTs7Ozs7NEdBbkJOLG1CQUFlOzt1RkFBZixpQkFBaUI7Y0FEdEMsU0FBUztnQkFvQm9CLGFBQWE7a0JBQXRDLFNBQVM7bUJBQUMsYUFBYTtZQW9QeEIsYUFBYTtrQkFEWixZQUFZO21CQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIEhvc3RMaXN0ZW5lciwgSW5qZWN0b3IsIE9uRGVzdHJveSwgVmlld0NoaWxkLCBEaXJlY3RpdmUsIEFmdGVyQ29udGVudEluaXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IGlzQW5kcm9pZCwgaXNJb3MsIFZpZXdwb3J0LCBTY3JpcHRMb2FkZXJTZXJ2aWNlLCByZWdpc3RlckZuQnlFeHByIH0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgUGFnZURpcmVjdGl2ZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL3BhZ2UnO1xuXG5pbXBvcnQge1N1YmplY3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gICAgQWJzdHJhY3RJMThuU2VydmljZSxcbiAgICBBYnN0cmFjdE5hdmlnYXRpb25TZXJ2aWNlLFxuICAgIGFkZENsYXNzLFxuICAgIEFwcCxcbiAgICBpc01vYmlsZUFwcCxcbiAgICBtdXRlV2F0Y2hlcnMsXG4gICAgbm9vcCxcbiAgICByZW1vdmVDbGFzcyxcbiAgICB1bk11dGVXYXRjaGVycyxcbiAgICBVdGlsc1NlcnZpY2Vcbn0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgY29tbW9uUGFydGlhbFdpZGdldHMgfSBmcm9tICcuL2Jhc2UtcGFydGlhbC5jb21wb25lbnQnO1xuXG5cbmltcG9ydCB7IFZhcmlhYmxlc1NlcnZpY2UgfSBmcm9tICdAd20vdmFyaWFibGVzJztcbmltcG9ydCB7IEFwcE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXBwLm1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBGcmFnbWVudE1vbml0b3IgfSBmcm9tICcuLi91dGlsL2ZyYWdtZW50LW1vbml0b3InO1xuaW1wb3J0IHsgQ0FDSEVfUEFHRSB9IGZyb20gJy4uL3V0aWwvd20tcm91dGUtcmV1c2Utc3RyYXRlZ3knO1xuXG5kZWNsYXJlIGNvbnN0ICQsIF87XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VQYWdlQ29tcG9uZW50IGV4dGVuZHMgRnJhZ21lbnRNb25pdG9yIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBzdGF0aWMgbGFzdFBhZ2VTbmFwU2hvdCA9IG51bGw7XG4gICAgV2lkZ2V0czogYW55O1xuICAgIFZhcmlhYmxlczogYW55O1xuICAgIEFjdGlvbnM6IGFueTtcbiAgICBBcHA6IEFwcDtcbiAgICBpbmplY3RvcjogSW5qZWN0b3I7XG4gICAgcGFnZU5hbWU6IHN0cmluZztcbiAgICBhY3RpdmVQYWdlTmFtZTogc3RyaW5nO1xuICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZTtcbiAgICBhcHBNYW5hZ2VyOiBBcHBNYW5hZ2VyU2VydmljZTtcbiAgICBuYXZpZ2F0aW9uU2VydmljZTogQWJzdHJhY3ROYXZpZ2F0aW9uU2VydmljZTtcbiAgICByb3V0ZXI6IFJvdXRlcjtcbiAgICBwYWdlUGFyYW1zOiBhbnk7XG4gICAgc2hvd1BhZ2VDb250ZW50OiBib29sZWFuO1xuICAgIGkxOG5TZXJ2aWNlOiBBYnN0cmFjdEkxOG5TZXJ2aWNlO1xuICAgIGFwcExvY2FsZTogYW55O1xuICAgIHN0YXJ0dXBWYXJpYWJsZXNMb2FkZWQgPSBmYWxzZTtcbiAgICBwYWdlVHJhbnNpdGlvbkNvbXBsZXRlZCA9IGZhbHNlO1xuICAgIEBWaWV3Q2hpbGQoUGFnZURpcmVjdGl2ZSkgcGFnZURpcmVjdGl2ZTtcbiAgICAkcGFnZTtcbiAgICBzY3JpcHRMb2FkZXJTZXJ2aWNlOiBTY3JpcHRMb2FkZXJTZXJ2aWNlO1xuICAgIFZpZXdwb3J0OiBWaWV3cG9ydDtcblxuICAgIGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcbiAgICB2aWV3SW5pdCQgPSBuZXcgU3ViamVjdCgpO1xuICAgIGZvcm1hdHNCeUxvY2FsZSA9IHsndGltZXpvbmUnOiAnJ307XG5cblxuICAgIGFic3RyYWN0IGV2YWxVc2VyU2NyaXB0KHByZWZhYkNvbnRleHQ6IGFueSwgYXBwQ29udGV4dDogYW55LCB1dGlsczogYW55KTtcbiAgICBhYnN0cmFjdCBnZXRWYXJpYWJsZXMoKTtcbiAgICBhYnN0cmFjdCBnZXRFeHByZXNzaW9ucygpO1xuXG4gICAgaW5pdCgpIHtcblxuICAgICAgICBtdXRlV2F0Y2hlcnMoKTtcblxuICAgICAgICB0aGlzLkFwcCA9IGluamVjdChBcHApO1xuICAgICAgICB0aGlzLnJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgICAgICAgdGhpcy5hcHBNYW5hZ2VyID0gaW5qZWN0KEFwcE1hbmFnZXJTZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uU2VydmljZSA9IGluamVjdChBYnN0cmFjdE5hdmlnYXRpb25TZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5zY3JpcHRMb2FkZXJTZXJ2aWNlID0gaW5qZWN0KFNjcmlwdExvYWRlclNlcnZpY2UpO1xuICAgICAgICB0aGlzLmkxOG5TZXJ2aWNlID0gaW5qZWN0KEFic3RyYWN0STE4blNlcnZpY2UpO1xuICAgICAgICB0aGlzLnJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICAgICAgICB0aGlzLlZpZXdwb3J0ID0gaW5qZWN0KFZpZXdwb3J0KTtcblxuICAgICAgICAvLyByZWdpc3RlciBmdW5jdGlvbnMgZm9yIGJpbmRpbmcgZXZhbHVhdGlvblxuICAgICAgICB0aGlzLnJlZ2lzdGVyRXhwcmVzc2lvbnMoKTtcbiAgICAgICAgdGhpcy5pbml0VXNlclNjcmlwdCgpO1xuXG4gICAgICAgIHRoaXMucmVnaXN0ZXJXaWRnZXRzKCk7XG4gICAgICAgIHRoaXMuaW5pdFZhcmlhYmxlcygpO1xuXG4gICAgICAgIHRoaXMuQXBwLmxhc3RBY3RpdmVQYWdlTmFtZSA9IHRoaXMuQXBwLmFjdGl2ZVBhZ2VOYW1lO1xuICAgICAgICB0aGlzLkFwcC5hY3RpdmVQYWdlTmFtZSA9IHRoaXMucGFnZU5hbWU7XG4gICAgICAgIHRoaXMuQXBwLmFjdGl2ZVBhZ2UgPSB0aGlzO1xuICAgICAgICB0aGlzLmFjdGl2ZVBhZ2VOYW1lID0gdGhpcy5wYWdlTmFtZTsgLy8gVG9kbzogcmVtb3ZlIHRoaXNcblxuICAgICAgICB0aGlzLnJlZ2lzdGVyUGFnZVBhcmFtcygpO1xuICAgICAgICB0aGlzLmRlZmluZUkxOG5Qcm9wcygpO1xuICAgICAgICBzdXBlci5pbml0KCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJXaWRnZXRzKCkge1xuICAgICAgICAvLyBjb21tb24gcGFydGlhbCB3aWRnZXRzIHNob3VsZCBiZSBhY2Nlc3NpYmxlIGZyb20gcGFnZVxuICAgICAgICB0aGlzLldpZGdldHMgPSBPYmplY3QuY3JlYXRlKGNvbW1vblBhcnRpYWxXaWRnZXRzKTtcblxuICAgICAgICAvLyBleHBvc2UgY3VycmVudCBwYWdlIHdpZGdldHMgb24gYXBwXG4gICAgICAgICh0aGlzLkFwcCBhcyBhbnkpLldpZGdldHMgPSBPYmplY3QuY3JlYXRlKHRoaXMuV2lkZ2V0cyk7XG4gICAgfVxuXG4gICAgaW5pdFVzZXJTY3JpcHQoKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLmV2YWxVc2VyU2NyaXB0KHRoaXMsIHRoaXMuQXBwLCBpbmplY3QoVXRpbHNTZXJ2aWNlKSk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEVycm9yIGluIGV2YWx1YXRpbmcgcGFnZSAoJHt0aGlzLnBhZ2VOYW1lfSkgc2NyaXB0XFxuYCwgZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3RlclBhZ2VQYXJhbXMoKSB7XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB0aGlzLnBhZ2VQYXJhbXMgPSAodGhpcy5BcHAgYXMgYW55KS5wYWdlUGFyYW1zID0gXy5leHRlbmQoe30sIHBhcmFtcykpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyKCgpID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcbiAgICB9XG5cbiAgICByZWdpc3RlckRlc3Ryb3lMaXN0ZW5lcihmbjogRnVuY3Rpb24pIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5zdWJzY3JpYmUobm9vcCwgbm9vcCwgKCkgPT4gZm4oKSk7XG4gICAgfVxuXG4gICAgZGVmaW5lSTE4blByb3BzKCkge1xuICAgICAgICB0aGlzLmFwcExvY2FsZSA9IHRoaXMuaTE4blNlcnZpY2UuZ2V0QXBwTG9jYWxlKCk7XG4gICAgfVxuXG4gICAgaW5pdFZhcmlhYmxlcygpIHtcbiAgICAgICAgY29uc3QgdmFyaWFibGVzU2VydmljZSA9IGluamVjdChWYXJpYWJsZXNTZXJ2aWNlKTtcblxuICAgICAgICAvLyBnZXQgdmFyaWFibGVzIGFuZCBhY3Rpb25zIGluc3RhbmNlcyBmb3IgdGhlIHBhZ2VcbiAgICAgICAgY29uc3QgdmFyaWFibGVDb2xsZWN0aW9uID0gdmFyaWFibGVzU2VydmljZS5yZWdpc3Rlcih0aGlzLnBhZ2VOYW1lLCB0aGlzLmdldFZhcmlhYmxlcygpLCB0aGlzKTtcblxuICAgICAgICAvLyBjcmVhdGUgbmFtZXNwYWNlIGZvciBWYXJpYWJsZXMgbmFkIEFjdGlvbnMgb24gcGFnZS9wYXJ0aWFsLCB3aGljaCBpbmhlcml0cyB0aGUgVmFyaWFibGVzIGFuZCBBY3Rpb25zIGZyb20gQXBwIGluc3RhbmNlXG4gICAgICAgIHRoaXMuVmFyaWFibGVzID0gT2JqZWN0LmNyZWF0ZSh0aGlzLkFwcC5WYXJpYWJsZXMpO1xuICAgICAgICB0aGlzLkFjdGlvbnMgPSBPYmplY3QuY3JlYXRlKHRoaXMuQXBwLkFjdGlvbnMpO1xuXG4gICAgICAgIC8vIGFzc2lnbiBhbGwgdGhlIHBhZ2UgdmFyaWFibGVzIHRvIHRoZSBwYWdlSW5zdGFuY2VcbiAgICAgICAgT2JqZWN0LmVudHJpZXModmFyaWFibGVDb2xsZWN0aW9uLlZhcmlhYmxlcykuZm9yRWFjaCgoW25hbWUsIHZhcmlhYmxlXSkgPT4gdGhpcy5WYXJpYWJsZXNbbmFtZV0gPSB2YXJpYWJsZSk7XG4gICAgICAgIE9iamVjdC5lbnRyaWVzKHZhcmlhYmxlQ29sbGVjdGlvbi5BY3Rpb25zKS5mb3JFYWNoKChbbmFtZSwgYWN0aW9uXSkgPT4gdGhpcy5BY3Rpb25zW25hbWVdID0gYWN0aW9uKTtcblxuXG5cbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy52aWV3SW5pdCQuc3Vic2NyaWJlKG5vb3AsIG5vb3AsICgpID0+IHtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLmFwcE1hbmFnZXIuaXNBcHBWYXJpYWJsZXNGaXJlZCgpKSB7XG4gICAgICAgICAgICAgICAgdmFyaWFibGVDb2xsZWN0aW9uLmNhbGxiYWNrKHRoaXMuQXBwLlZhcmlhYmxlcykuY2F0Y2gobm9vcCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwTWFuYWdlci5ub3RpZnkoJ2FwcC12YXJpYWJsZXMtZGF0YS1sb2FkZWQnLCB7cGFnZU5hbWU6IHRoaXMucGFnZU5hbWV9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB2YXJpYWJsZUNvbGxlY3Rpb24uY2FsbGJhY2sodGhpcy5BcHAuQWN0aW9ucyk7XG4gICAgICAgICAgICAgICAgdGhpcy5hcHBNYW5hZ2VyLmFwcFZhcmlhYmxlc1JlYWR5KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5hcHBNYW5hZ2VyLmlzQXBwVmFyaWFibGVzRmlyZWQodHJ1ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhcmlhYmxlQ29sbGVjdGlvbi5jYWxsYmFjayh2YXJpYWJsZUNvbGxlY3Rpb24uVmFyaWFibGVzKVxuICAgICAgICAgICAgICAgIC5jYXRjaChub29wKVxuICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHBNYW5hZ2VyLm5vdGlmeSgncGFnZS12YXJpYWJsZXMtZGF0YS1sb2FkZWQnLCB7cGFnZU5hbWU6IHRoaXMucGFnZU5hbWV9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFydHVwVmFyaWFibGVzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgLy8gaGlkZSB0aGUgbG9hZGVyIG9ubHkgYWZ0ZXIgdGhlIHNvbWUgc2V0VGltZW91dCBmb3Igc21vb3RoIHBhZ2UgbG9hZC5cbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dQYWdlQ29udGVudCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH0sIDEwMCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB2YXJpYWJsZUNvbGxlY3Rpb24uY2FsbGJhY2sodmFyaWFibGVDb2xsZWN0aW9uLkFjdGlvbnMpO1xuXG4gICAgICAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2V0VGltZXpvbmUobG9jYWxlKSB7XG4gICAgICAgIHRoaXMuaTE4blNlcnZpY2Uuc2V0VGltZXpvbmUobG9jYWxlLCB0aGlzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBmdW5jdGlvbiB0byByZWdpc3RlciBiaW5kIGV4cHJlc3Npb25zIGdlbmVyYXRlZCBpbiB0aGlzIHBhZ2UgaW5zdGFuY2VcbiAgICAgKiBnZXRFeHByZXNzaW9ucyBmdW5jdGlvbiBpcyBkZWZpbmVkIGluIHRoZSBnZW5lcmF0ZWQgcGFnZS5jb21wLnRzIGZpbGVcbiAgICAgKiBAcGFyYW0gZXhwcmVzc2lvbnMsIG1hcCBvZiBiaW5kIGV4cHJlc3Npb24gdnMgZ2VuZXJhdGVkIGZ1bmN0aW9uXG4gICAgICovXG4gICAgcmVnaXN0ZXJFeHByZXNzaW9ucygpIHtcbiAgICAgICAgY29uc3QgZXhwcmVzc2lvbnMgPSB0aGlzLmdldEV4cHJlc3Npb25zKCk7XG4gICAgICAgIF8uZWFjaChleHByZXNzaW9ucywgKGZuLCBleHByKT0+e1xuICAgICAgICAgICAgcmVnaXN0ZXJGbkJ5RXhwcihleHByLCBmblswXSwgZm5bMV0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBydW5QYWdlVHJhbnNpdGlvbih0cmFuc2l0aW9uPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRyYW5zaXRpb24gPSB0cmFuc2l0aW9uIHx8IHRoaXMubmF2aWdhdGlvblNlcnZpY2UuZ2V0UGFnZVRyYW5zaXRpb24oKTtcbiAgICAgICAgY29uc3QgbGFzdFBhZ2UgPSBCYXNlUGFnZUNvbXBvbmVudC5sYXN0UGFnZVNuYXBTaG90XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPihyZXNvbHZlID0+IHtcbiAgICAgICAgICAgIGlmICh0cmFuc2l0aW9uXG4gICAgICAgICAgICAgICAgJiYgIXRyYW5zaXRpb24uc3RhcnRzV2l0aCgnbm9uZScpXG4gICAgICAgICAgICAgICAgJiYgbGFzdFBhZ2UpIHtcbiAgICAgICAgICAgICAgICBjb25zdCAkdGFyZ2V0ID0gbGFzdFBhZ2UucGFyZW50KCk7XG4gICAgICAgICAgICAgICAgY29uc3Qgb25UcmFuc2l0aW9uRW5kID0gKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc29sdmUgJiYgIShlICYmIGUucHNldWRvRWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICR0YXJnZXQub2ZmKCdhbmltYXRpb25lbmQnLCBvblRyYW5zaXRpb25FbmQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgJHRhcmdldC5yZW1vdmVDbGFzcyh0cmFuc2l0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICR0YXJnZXQuY2hpbGRyZW4oKS5maXJzdCgpLnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24gPSAncGFnZS10cmFuc2l0aW9uIHBhZ2UtdHJhbnNpdGlvbi0nICsgdHJhbnNpdGlvbjtcbiAgICAgICAgICAgICAgICBsYXN0UGFnZS5hZGRDbGFzcygncGFnZS1leGl0Jyk7XG4gICAgICAgICAgICAgICAgdGhpcy4kcGFnZS5hZGRDbGFzcygncGFnZS1lbnRyeScpO1xuICAgICAgICAgICAgICAgICR0YXJnZXQuYWRkQ2xhc3ModHJhbnNpdGlvbik7XG4gICAgICAgICAgICAgICAgJHRhcmdldC5vbignYW5pbWF0aW9uZW5kJywgb25UcmFuc2l0aW9uRW5kKTtcbiAgICAgICAgICAgICAgICAvLyBXYWl0IGZvciBhIG1heGltdW0gb2YgMSBzZWNvbmQgZm9yIHRyYW5zaXRpb24gdG8gZW5kLlxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQob25UcmFuc2l0aW9uRW5kLCAxMDAwKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuJHBhZ2UgJiYgdGhpcy4kcGFnZS5yZW1vdmVDbGFzcygncGFnZS1lbnRyeScpO1xuICAgICAgICAgICAgaWYgKGxhc3RQYWdlKSB7XG4gICAgICAgICAgICAgICAgbGFzdFBhZ2UucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgQmFzZVBhZ2VDb21wb25lbnQubGFzdFBhZ2VTbmFwU2hvdCA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnBhZ2VUcmFuc2l0aW9uQ29tcGxldGVkID0gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaW52b2tlT25SZWFkeSgpIHtcbiAgICAgICAgdGhpcy5vblJlYWR5KCk7XG4gICAgICAgIHRoaXMuYXBwTWFuYWdlci5ub3RpZnkoJ3BhZ2VSZWFkeScsIHsnbmFtZScgOiB0aGlzLnBhZ2VOYW1lLCBpbnN0YW5jZTogdGhpc30pO1xuICAgICAgICAodGhpcy5BcHAub25QYWdlUmVhZHkgfHwgbm9vcCkodGhpcy5wYWdlTmFtZSwgdGhpcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb2FkU2NyaXB0cygpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzY3JpcHRzUmVxdWlyZWQgPSB0aGlzLnBhZ2VEaXJlY3RpdmUgJiYgdGhpcy5wYWdlRGlyZWN0aXZlLiRlbGVtZW50LmF0dHIoJ3NjcmlwdHMtdG8tbG9hZCcpO1xuICAgICAgICAgICAgaWYgKHNjcmlwdHNSZXF1aXJlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2NyaXB0TG9hZGVyU2VydmljZVxuICAgICAgICAgICAgICAgICAgICAubG9hZCguLi5zY3JpcHRzUmVxdWlyZWQuc3BsaXQoJywnKSlcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4ocmVzb2x2ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXN0b3JlTGFzdFBhZ2VTbmFwc2hvdCgpIHtcbiAgICAgICAgaWYgKGlzTW9iaWxlQXBwKCkgJiYgQmFzZVBhZ2VDb21wb25lbnQubGFzdFBhZ2VTbmFwU2hvdCAmJiB0aGlzLiRwYWdlKSB7XG4gICAgICAgICAgICB0aGlzLiRwYWdlLnBhcmVudCgpLnByZXBlbmQoQmFzZVBhZ2VDb21wb25lbnQubGFzdFBhZ2VTbmFwU2hvdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNhdmVQYWdlU25hcFNob3QoKSB7XG4gICAgICAgIGlmIChCYXNlUGFnZUNvbXBvbmVudC5sYXN0UGFnZVNuYXBTaG90KSB7XG4gICAgICAgICAgICBCYXNlUGFnZUNvbXBvbmVudC5sYXN0UGFnZVNuYXBTaG90LnJlbW92ZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc01vYmlsZUFwcCgpICYmIHRoaXMuJHBhZ2UpIHtcbiAgICAgICAgICAgIEJhc2VQYWdlQ29tcG9uZW50Lmxhc3RQYWdlU25hcFNob3QgPSB0aGlzLiRwYWdlLmNsb25lKCk7XG4gICAgICAgICAgICB0aGlzLiRwYWdlLnBhcmVudHMoJ2FwcC1yb290JykucHJlcGVuZChCYXNlUGFnZUNvbXBvbmVudC5sYXN0UGFnZVNuYXBTaG90KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2F2ZVNjcm9sbFBvc2l0aW9uKCkge1xuICAgICAgICBjb25zdCBmbiA9ICgkZWwsIGtleSwgcmVjdXJzaXZlID0gdHJ1ZSwgJHRhcmdldCA9ICRlbCkgID0+IHtcbiAgICAgICAgICAgIGlmIChyZWN1cnNpdmUpIHtcbiAgICAgICAgICAgICAgICAkZWwuY2hpbGRyZW4oKS5lYWNoKChpLCB2KSA9PiBmbigkKHYpLCBrZXkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHNjcm9sbERhdGEgPSB7XG4gICAgICAgICAgICAgICAgeDogJHRhcmdldC5zY3JvbGxMZWZ0KCksXG4gICAgICAgICAgICAgICAgeTogJHRhcmdldC5zY3JvbGxUb3AoKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGlmKHNjcm9sbERhdGEueCA+IDAgfHwgc2Nyb2xsRGF0YS55ID4gMCkge1xuICAgICAgICAgICAgICAgICRlbC5hdHRyKGtleSwgc2Nyb2xsRGF0YS54ICsgJywnICsgc2Nyb2xsRGF0YS55KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgZm4odGhpcy4kcGFnZSwgJ2RhdGEtc2Nyb2xsLXBvc2l0aW9uJyk7XG4gICAgICAgIHRoaXMuJHBhZ2UuYXR0cignZGF0YS13aW5kb3ctc2Nyb2xsLXBvc2l0aW9uJywgd2luZG93LnNjcm9sbFggKyAnLCcgKyB3aW5kb3cuc2Nyb2xsWSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXN0b3JlU2Nyb2xsUG9zaXRpb24oKSB7XG4gICAgICAgIGNvbnN0IGZuID0gKCRlbCwga2V5LCByZWN1cnNpdmUgID0gdHJ1ZSwgJHRhcmdldCA9ICRlbCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2Nyb2xsRGF0YSA9ICgkZWwuYXR0cihrZXkpIHx8ICcnKS5zcGxpdCgnLCcpO1xuICAgICAgICAgICAgaWYoc2Nyb2xsRGF0YS5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgJHRhcmdldC5zY3JvbGxMZWZ0KHNjcm9sbERhdGFbMF0pO1xuICAgICAgICAgICAgICAgICR0YXJnZXQuc2Nyb2xsVG9wKHNjcm9sbERhdGFbMV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJGVsLnJlbW92ZUF0dHIoa2V5KTtcbiAgICAgICAgICAgIGlmIChyZWN1cnNpdmUpIHtcbiAgICAgICAgICAgICAgICAkZWwuY2hpbGRyZW4oKS5lYWNoKChpLCB2KSA9PiBmbigkKHYpLCBrZXkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgZm4odGhpcy4kcGFnZSwgJ2RhdGEtc2Nyb2xsLXBvc2l0aW9uJyk7XG4gICAgICAgIGZuKHRoaXMuJHBhZ2UsICdkYXRhLXdpbmRvdy1zY3JvbGwtcG9zaXRpb24nLCBmYWxzZSwgJCh3aW5kb3cpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjYW5EZWFjdGl2YXRlIGlzIGNhbGxlZCBiZWZvcmUgYSByb3V0ZSBjaGFuZ2UuXG4gICAgICogVGhpcyB3aWxsIGludGVybmFsbHkgY2FsbCBvbkJlZm9yZVBhZ2VMZWF2ZSBtZXRob2QgcHJlc2VudFxuICAgICAqIGF0IHBhZ2UgbGV2ZWwgYW5kIGFwcCBsZXZlbCBpbiB0aGUgYXBwbGljYXRpb24gYW5kIGRlY2lkZVxuICAgICAqIHdoZXRoZXIgdG8gY2hhbmdlIHJvdXRlIG9yIG5vdCBiYXNlZCBvbiByZXR1cm4gdmFsdWUuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OmJlZm9yZXVubG9hZCcpXG4gICAgY2FuRGVhY3RpdmF0ZSgpIHtcbiAgICAgICAgbGV0IHJldFZhbDtcbiAgICAgICAgLy8gQ2FsbGluZyBvbkJlZm9yZVBhZ2VMZWF2ZSBtZXRob2QgcHJlc2VudCBhdCBwYWdlIGxldmVsXG4gICAgICAgIHJldFZhbCA9IHRoaXMub25CZWZvcmVQYWdlTGVhdmUoKTtcbiAgICAgICAgLy8gQ2FsbGluZyBvbkJlZm9yZVBhZ2VMZWF2ZSBtZXRob2QgcHJlc2VudCBhdCBhcHAgbGV2ZWwgb25seSBpZiBwYWdlIGxldmVsIG1ldGhvZCByZXR1cm4gdHJ1ZVxuICAgICAgICAvLyBvciBpZiB0aGVyZSBpcyBubyBwYWdlIGxldmVsIG1ldGhvZFxuICAgICAgICBpZiAocmV0VmFsICE9PSBmYWxzZSApIHtcbiAgICAgICAgICAgIHJldFZhbCA9ICAodGhpcy5BcHAub25CZWZvcmVQYWdlTGVhdmUgfHwgbm9vcCkodGhpcy5BcHAuYWN0aXZlUGFnZU5hbWUsIHRoaXMuQXBwLmFjdGl2ZVBhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXRWYWwgPT09IHVuZGVmaW5lZCA/IHRydWUgOiByZXRWYWw7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGFbQ0FDSEVfUEFHRV0gPSB0aGlzLmNhblJldXNlKCk7XG4gICAgICAgIGlmICh0aGlzLnBhZ2VEaXJlY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMuJHBhZ2UgPSB0aGlzLnBhZ2VEaXJlY3RpdmUuJGVsZW1lbnQucGFyZW50KCk7XG4gICAgICAgICAgICBpZiAoaXNJb3MoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuJHBhZ2UuYWRkQ2xhc3MoJ2lvcy1wYWdlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNBbmRyb2lkKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLiRwYWdlLmFkZENsYXNzKCdhbmRyb2lkLXBhZ2UnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlc3RvcmVMYXN0UGFnZVNuYXBzaG90KCk7XG4gICAgICAgIHRoaXMubG9hZFNjcmlwdHMoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucnVuUGFnZVRyYW5zaXRpb24oKVxuICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgKHRoaXMgYXMgYW55KS5jb21waWxlUGFnZUNvbnRlbnQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25QYWdlQ29udGVudFJlYWR5ID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZnJhZ21lbnRzTG9hZGVkJC5zdWJzY3JpYmUobm9vcCwgbm9vcCwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmludm9rZU9uUmVhZHkoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bk11dGVXYXRjaGVycygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmlld0luaXQkLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vblBhZ2VDb250ZW50UmVhZHkgPSBub29wO1xuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNhdmVQYWdlU25hcFNob3QoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIG9uUmVhZHkoKSB7fVxuXG4gICAgb25CZWZvcmVQYWdlUmVhZHkoKSB7fVxuXG4gICAgb25CZWZvcmVQYWdlTGVhdmUoKSB7fVxuXG4gICAgb25QYWdlQ29udGVudFJlYWR5KCkge31cblxuICAgIGNhblJldXNlKCkge1xuICAgICAgICByZXR1cm4gISEodGhpcy5wYWdlRGlyZWN0aXZlICYmIHRoaXMucGFnZURpcmVjdGl2ZS5jYWNoZSk7XG4gICAgfVxuXG4gICAgbXV0ZSgpIHtcbiAgICAgICAgY29uc3QgbSA9IG8gPT4geyBvICYmIG8ubXV0ZSAmJiBvLm11dGUoKTsgfTtcbiAgICAgICAgXy5lYWNoKHRoaXMuV2lkZ2V0cywgbSk7XG4gICAgICAgIF8uZWFjaCh0aGlzLlZhcmlhYmxlcywgbSk7XG4gICAgICAgIF8uZWFjaCh0aGlzLkFjdGlvbnMsIG0pO1xuICAgIH1cblxuICAgIHVubXV0ZShjID0gdGhpcykge1xuICAgICAgICBjb25zdCB1bSA9IG8gPT4geyBvICYmIG8udW5tdXRlICYmIG8udW5tdXRlKCk7IH07XG4gICAgICAgIF8uZWFjaCh0aGlzLldpZGdldHMsIHVtKTtcbiAgICAgICAgXy5lYWNoKHRoaXMuVmFyaWFibGVzLCB1bSk7XG4gICAgICAgIF8uZWFjaCh0aGlzLkFjdGlvbnMsIHVtKTtcbiAgICB9XG5cbiAgICBuZ09uQXR0YWNoKCkge1xuICAgICAgICB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGFbQ0FDSEVfUEFHRV0gPSB0aGlzLmNhblJldXNlKCk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJQYWdlUGFyYW1zKCk7XG4gICAgICAgIHRoaXMuQXBwLmxhc3RBY3RpdmVQYWdlTmFtZSA9IHRoaXMuQXBwLmFjdGl2ZVBhZ2VOYW1lO1xuICAgICAgICB0aGlzLkFwcC5hY3RpdmVQYWdlTmFtZSA9IHRoaXMucGFnZU5hbWU7XG4gICAgICAgIHRoaXMuQXBwLmFjdGl2ZVBhZ2UgPSB0aGlzO1xuICAgICAgICB0aGlzLmFjdGl2ZVBhZ2VOYW1lID0gdGhpcy5wYWdlTmFtZTtcbiAgICAgICAgdGhpcy5yZXN0b3JlTGFzdFBhZ2VTbmFwc2hvdCgpO1xuICAgICAgICB0aGlzLnVubXV0ZSgpO1xuICAgICAgICAvLyBleHBvc2UgY3VycmVudCBwYWdlIHdpZGdldHMgb24gYXBwXG4gICAgICAgICh0aGlzLkFwcCBhcyBhbnkpLldpZGdldHMgPSBPYmplY3QuY3JlYXRlKHRoaXMuV2lkZ2V0cyk7XG4gICAgICAgIGlmKHRoaXMucGFnZURpcmVjdGl2ZSAmJiB0aGlzLnBhZ2VEaXJlY3RpdmUucmVmcmVzaGRhdGFvbmF0dGFjaCkge1xuICAgICAgICAgICAgY29uc3QgcmVmcmVzaCA9IHYgPT4geyB2ICYmIHYuc3RhcnRVcGRhdGUgJiYgdi5pbnZva2UgJiYgdi5pbnZva2UoKTsgfTtcbiAgICAgICAgICAgIF8uZWFjaCh0aGlzLlZhcmlhYmxlcywgcmVmcmVzaCk7XG4gICAgICAgICAgICBfLmVhY2godGhpcy5BY3Rpb25zLCByZWZyZXNoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJ1blBhZ2VUcmFuc2l0aW9uKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMucmVzdG9yZVNjcm9sbFBvc2l0aW9uKCksIDEwMCk7XG4gICAgICAgICAgICBfLmVhY2godGhpcy5XaWRnZXRzLCB3ID0+IHcgJiYgdy5uZ09uQXR0YWNoICYmIHcubmdPbkF0dGFjaCgpKTtcbiAgICAgICAgICAgIHRoaXMuYXBwTWFuYWdlci5ub3RpZnkoJ3BhZ2VBdHRhY2gnLCB7J25hbWUnIDogdGhpcy5wYWdlTmFtZSwgaW5zdGFuY2U6IHRoaXN9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRldGFjaCgpIHtcbiAgICAgICAgdGhpcy5zYXZlU2Nyb2xsUG9zaXRpb24oKTtcbiAgICAgICAgdGhpcy5zYXZlUGFnZVNuYXBTaG90KCk7XG4gICAgICAgIHRoaXMubXV0ZSgpO1xuICAgICAgICBfLmVhY2godGhpcy5XaWRnZXRzLCB3ID0+IHcgJiYgdy5uZ09uRGV0YWNoICYmIHcubmdPbkRldGFjaCgpKTtcbiAgICAgICAgdGhpcy5hcHBNYW5hZ2VyLm5vdGlmeSgncGFnZURldGFjaCcsIHsnbmFtZScgOiB0aGlzLnBhZ2VOYW1lLCBpbnN0YW5jZTogdGhpc30pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy5vbkJlZm9yZVBhZ2VSZWFkeSgpO1xuICAgIH1cblxuICAgIHN0YXRpYyBjbGVhcigpIHtcbiAgICAgICAgaWYoQmFzZVBhZ2VDb21wb25lbnQubGFzdFBhZ2VTbmFwU2hvdCkge1xuICAgICAgICAgICAgQmFzZVBhZ2VDb21wb25lbnQubGFzdFBhZ2VTbmFwU2hvdC5yZW1vdmUoKTtcbiAgICAgICAgICAgIEJhc2VQYWdlQ29tcG9uZW50Lmxhc3RQYWdlU25hcFNob3QgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
343
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3J1bnRpbWUtYmFzZS9zcmMvY29tcG9uZW50cy9iYXNlLXBhZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsWUFBWSxFQUF1QixTQUFTLEVBQUUsU0FBUyxFQUFvQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakksT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDN0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXBELE9BQU8sRUFBQyxPQUFPLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFFM0MsT0FBTyxFQUNILG1CQUFtQixFQUNuQix5QkFBeUIsRUFFekIsR0FBRyxFQUNILFdBQVcsRUFDWCxZQUFZLEVBQ1osSUFBSSxFQUVKLGNBQWMsRUFDZCxZQUFZLEVBQ2YsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBSzdELE1BQU0sT0FBZ0IsaUJBQWtCLFNBQVEsZUFBZTtJQUQvRDs7UUFrQkksMkJBQXNCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLDRCQUF1QixHQUFHLEtBQUssQ0FB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QUM3QztJQUNMLENBQUM7O0FBdlhNLGtDQUFnQixHQUFHLElBQUksQ0FBQzs2T0FEYixpQkFBaUIsU0FBakIsaUJBQWlCO29FQUFqQixpQkFBaUI7dUJBbUJ4QixhQUFhOzs7Ozs0R0FuQk4sbUJBQWU7O3VGQUFmLGlCQUFpQjtjQUR0QyxTQUFTO2dCQW9Cb0IsYUFBYTtrQkFBdEMsU0FBUzttQkFBQyxhQUFhO1lBb1B4QixhQUFhO2tCQURaLFlBQVk7bUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgSG9zdExpc3RlbmVyLCBJbmplY3RvciwgT25EZXN0cm95LCBWaWV3Q2hpbGQsIERpcmVjdGl2ZSwgQWZ0ZXJDb250ZW50SW5pdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgaXNBbmRyb2lkLCBpc0lvcywgVmlld3BvcnQsIFNjcmlwdExvYWRlclNlcnZpY2UsIHJlZ2lzdGVyRm5CeUV4cHIgfSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQgeyBQYWdlRGlyZWN0aXZlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvcGFnZSc7XG5cbmltcG9ydCB7U3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgICBBYnN0cmFjdEkxOG5TZXJ2aWNlLFxuICAgIEFic3RyYWN0TmF2aWdhdGlvblNlcnZpY2UsXG4gICAgYWRkQ2xhc3MsXG4gICAgQXBwLFxuICAgIGlzTW9iaWxlQXBwLFxuICAgIG11dGVXYXRjaGVycyxcbiAgICBub29wLFxuICAgIHJlbW92ZUNsYXNzLFxuICAgIHVuTXV0ZVdhdGNoZXJzLFxuICAgIFV0aWxzU2VydmljZVxufSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQgeyBjb21tb25QYXJ0aWFsV2lkZ2V0cyB9IGZyb20gJy4vYmFzZS1wYXJ0aWFsLmNvbXBvbmVudCc7XG5cblxuaW1wb3J0IHsgVmFyaWFibGVzU2VydmljZSB9IGZyb20gJ0B3bS92YXJpYWJsZXMnO1xuaW1wb3J0IHsgQXBwTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hcHAubWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7IEZyYWdtZW50TW9uaXRvciB9IGZyb20gJy4uL3V0aWwvZnJhZ21lbnQtbW9uaXRvcic7XG5pbXBvcnQgeyBDQUNIRV9QQUdFIH0gZnJvbSAnLi4vdXRpbC93bS1yb3V0ZS1yZXVzZS1zdHJhdGVneSc7XG5cbmRlY2xhcmUgY29uc3QgJCwgXztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVBhZ2VDb21wb25lbnQgZXh0ZW5kcyBGcmFnbWVudE1vbml0b3IgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudEluaXQge1xuICAgIHN0YXRpYyBsYXN0UGFnZVNuYXBTaG90ID0gbnVsbDtcbiAgICBXaWRnZXRzOiBhbnk7XG4gICAgVmFyaWFibGVzOiBhbnk7XG4gICAgQWN0aW9uczogYW55O1xuICAgIEFwcDogQXBwO1xuICAgIGluamVjdG9yOiBJbmplY3RvcjtcbiAgICBwYWdlTmFtZTogc3RyaW5nO1xuICAgIGFjdGl2ZVBhZ2VOYW1lOiBzdHJpbmc7XG4gICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlO1xuICAgIGFwcE1hbmFnZXI6IEFwcE1hbmFnZXJTZXJ2aWNlO1xuICAgIG5hdmlnYXRpb25TZXJ2aWNlOiBBYnN0cmFjdE5hdmlnYXRpb25TZXJ2aWNlO1xuICAgIHJvdXRlcjogUm91dGVyO1xuICAgIHBhZ2VQYXJhbXM6IGFueTtcbiAgICBzaG93UGFnZUNvbnRlbnQ6IGJvb2xlYW47XG4gICAgaTE4blNlcnZpY2U6IEFic3RyYWN0STE4blNlcnZpY2U7XG4gICAgYXBwTG9jYWxlOiBhbnk7XG4gICAgc3RhcnR1cFZhcmlhYmxlc0xvYWRlZCA9IGZhbHNlO1xuICAgIHBhZ2VUcmFuc2l0aW9uQ29tcGxldGVkID0gZmFsc2U7XG4gICAgQFZpZXdDaGlsZChQYWdlRGlyZWN0aXZlKSBwYWdlRGlyZWN0aXZlO1xuICAgICRwYWdlO1xuICAgIHNjcmlwdExvYWRlclNlcnZpY2U6IFNjcmlwdExvYWRlclNlcnZpY2U7XG4gICAgVmlld3BvcnQ6IFZpZXdwb3J0O1xuXG4gICAgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuICAgIHZpZXdJbml0JCA9IG5ldyBTdWJqZWN0KCk7XG4gICAgZm9ybWF0c0J5TG9jYWxlID0geyd0aW1lem9uZSc6ICcnfTtcblxuXG4gICAgYWJzdHJhY3QgZXZhbFVzZXJTY3JpcHQocHJlZmFiQ29udGV4dDogYW55LCBhcHBDb250ZXh0OiBhbnksIHV0aWxzOiBhbnkpO1xuICAgIGFic3RyYWN0IGdldFZhcmlhYmxlcygpO1xuICAgIGFic3RyYWN0IGdldEV4cHJlc3Npb25zKCk7XG5cbiAgICBpbml0KCkge1xuXG4gICAgICAgIG11dGVXYXRjaGVycygpO1xuXG4gICAgICAgIHRoaXMuQXBwID0gdGhpcy5pbmplY3RvciA/IHRoaXMuaW5qZWN0b3IuZ2V0KEFwcCkgOiBpbmplY3QoQXBwKTtcbiAgICAgICAgdGhpcy5yb3V0ZSA9IHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChBY3RpdmF0ZWRSb3V0ZSkgOiBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICAgICAgICB0aGlzLmFwcE1hbmFnZXIgPSB0aGlzLmluamVjdG9yID8gdGhpcy5pbmplY3Rvci5nZXQoQXBwTWFuYWdlclNlcnZpY2UpIDogaW5qZWN0KEFwcE1hbmFnZXJTZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uU2VydmljZSA9IHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChBYnN0cmFjdE5hdmlnYXRpb25TZXJ2aWNlKSA6IGluamVjdChBYnN0cmFjdE5hdmlnYXRpb25TZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5zY3JpcHRMb2FkZXJTZXJ2aWNlID0gdGhpcy5pbmplY3RvciA/IHRoaXMuaW5qZWN0b3IuZ2V0KFNjcmlwdExvYWRlclNlcnZpY2UpIDogaW5qZWN0KFNjcmlwdExvYWRlclNlcnZpY2UpO1xuICAgICAgICB0aGlzLmkxOG5TZXJ2aWNlID0gdGhpcy5pbmplY3RvciA/IHRoaXMuaW5qZWN0b3IuZ2V0KEFic3RyYWN0STE4blNlcnZpY2UpIDogaW5qZWN0KEFic3RyYWN0STE4blNlcnZpY2UpO1xuICAgICAgICB0aGlzLnJvdXRlciA9IHRoaXMuaW5qZWN0b3IgPyB0aGlzLmluamVjdG9yLmdldChSb3V0ZXIpIDogaW5qZWN0KFJvdXRlcik7XG4gICAgICAgIHRoaXMuVmlld3BvcnQgPSB0aGlzLmluamVjdG9yID8gdGhpcy5pbmplY3Rvci5nZXQoVmlld3BvcnQpIDogaW5qZWN0KFZpZXdwb3J0KTtcblxuICAgICAgICAvLyByZWdpc3RlciBmdW5jdGlvbnMgZm9yIGJpbmRpbmcgZXZhbHVhdGlvblxuICAgICAgICB0aGlzLnJlZ2lzdGVyRXhwcmVzc2lvbnMoKTtcbiAgICAgICAgdGhpcy5pbml0VXNlclNjcmlwdCgpO1xuXG4gICAgICAgIHRoaXMucmVnaXN0ZXJXaWRnZXRzKCk7XG4gICAgICAgIHRoaXMuaW5pdFZhcmlhYmxlcygpO1xuXG4gICAgICAgIHRoaXMuQXBwLmxhc3RBY3RpdmVQYWdlTmFtZSA9IHRoaXMuQXBwLmFjdGl2ZVBhZ2VOYW1lO1xuICAgICAgICB0aGlzLkFwcC5hY3RpdmVQYWdlTmFtZSA9IHRoaXMucGFnZU5hbWU7XG4gICAgICAgIHRoaXMuQXBwLmFjdGl2ZVBhZ2UgPSB0aGlzO1xuICAgICAgICB0aGlzLmFjdGl2ZVBhZ2VOYW1lID0gdGhpcy5wYWdlTmFtZTsgLy8gVG9kbzogcmVtb3ZlIHRoaXNcblxuICAgICAgICB0aGlzLnJlZ2lzdGVyUGFnZVBhcmFtcygpO1xuICAgICAgICB0aGlzLmRlZmluZUkxOG5Qcm9wcygpO1xuICAgICAgICBzdXBlci5pbml0KCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJXaWRnZXRzKCkge1xuICAgICAgICAvLyBjb21tb24gcGFydGlhbCB3aWRnZXRzIHNob3VsZCBiZSBhY2Nlc3NpYmxlIGZyb20gcGFnZVxuICAgICAgICB0aGlzLldpZGdldHMgPSBPYmplY3QuY3JlYXRlKGNvbW1vblBhcnRpYWxXaWRnZXRzKTtcblxuICAgICAgICAvLyBleHBvc2UgY3VycmVudCBwYWdlIHdpZGdldHMgb24gYXBwXG4gICAgICAgICh0aGlzLkFwcCBhcyBhbnkpLldpZGdldHMgPSBPYmplY3QuY3JlYXRlKHRoaXMuV2lkZ2V0cyk7XG4gICAgfVxuXG4gICAgaW5pdFVzZXJTY3JpcHQoKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLmV2YWxVc2VyU2NyaXB0KHRoaXMsIHRoaXMuQXBwLCB0aGlzLmluamVjdG9yID8gdGhpcy5pbmplY3Rvci5nZXQoVXRpbHNTZXJ2aWNlKSA6IGluamVjdChVdGlsc1NlcnZpY2UpKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgRXJyb3IgaW4gZXZhbHVhdGluZyBwYWdlICgke3RoaXMucGFnZU5hbWV9KSBzY3JpcHRcXG5gLCBlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlZ2lzdGVyUGFnZVBhcmFtcygpIHtcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHRoaXMucGFnZVBhcmFtcyA9ICh0aGlzLkFwcCBhcyBhbnkpLnBhZ2VQYXJhbXMgPSBfLmV4dGVuZCh7fSwgcGFyYW1zKSk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJEZXN0cm95TGlzdGVuZXIoKCkgPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyKGZuOiBGdW5jdGlvbikge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLnN1YnNjcmliZShub29wLCBub29wLCAoKSA9PiBmbigpKTtcbiAgICB9XG5cbiAgICBkZWZpbmVJMThuUHJvcHMoKSB7XG4gICAgICAgIHRoaXMuYXBwTG9jYWxlID0gdGhpcy5pMThuU2VydmljZS5nZXRBcHBMb2NhbGUoKTtcbiAgICB9XG5cbiAgICBpbml0VmFyaWFibGVzKCkge1xuICAgICAgICBjb25zdCB2YXJpYWJsZXNTZXJ2aWNlID0gdGhpcy5pbmplY3RvciA/IHRoaXMuaW5qZWN0b3IuZ2V0KFZhcmlhYmxlc1NlcnZpY2UpIDogaW5qZWN0KFZhcmlhYmxlc1NlcnZpY2UpO1xuXG4gICAgICAgIC8vIGdldCB2YXJpYWJsZXMgYW5kIGFjdGlvbnMgaW5zdGFuY2VzIGZvciB0aGUgcGFnZVxuICAgICAgICBjb25zdCB2YXJpYWJsZUNvbGxlY3Rpb24gPSB2YXJpYWJsZXNTZXJ2aWNlLnJlZ2lzdGVyKHRoaXMucGFnZU5hbWUsIHRoaXMuZ2V0VmFyaWFibGVzKCksIHRoaXMpO1xuXG4gICAgICAgIC8vIGNyZWF0ZSBuYW1lc3BhY2UgZm9yIFZhcmlhYmxlcyBuYWQgQWN0aW9ucyBvbiBwYWdlL3BhcnRpYWwsIHdoaWNoIGluaGVyaXRzIHRoZSBWYXJpYWJsZXMgYW5kIEFjdGlvbnMgZnJvbSBBcHAgaW5zdGFuY2VcbiAgICAgICAgdGhpcy5WYXJpYWJsZXMgPSBPYmplY3QuY3JlYXRlKHRoaXMuQXBwLlZhcmlhYmxlcyk7XG4gICAgICAgIHRoaXMuQWN0aW9ucyA9IE9iamVjdC5jcmVhdGUodGhpcy5BcHAuQWN0aW9ucyk7XG5cbiAgICAgICAgLy8gYXNzaWduIGFsbCB0aGUgcGFnZSB2YXJpYWJsZXMgdG8gdGhlIHBhZ2VJbnN0YW5jZVxuICAgICAgICBPYmplY3QuZW50cmllcyh2YXJpYWJsZUNvbGxlY3Rpb24uVmFyaWFibGVzKS5mb3JFYWNoKChbbmFtZSwgdmFyaWFibGVdKSA9PiB0aGlzLlZhcmlhYmxlc1tuYW1lXSA9IHZhcmlhYmxlKTtcbiAgICAgICAgT2JqZWN0LmVudHJpZXModmFyaWFibGVDb2xsZWN0aW9uLkFjdGlvbnMpLmZvckVhY2goKFtuYW1lLCBhY3Rpb25dKSA9PiB0aGlzLkFjdGlvbnNbbmFtZV0gPSBhY3Rpb24pO1xuXG5cblxuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLnZpZXdJbml0JC5zdWJzY3JpYmUobm9vcCwgbm9vcCwgKCkgPT4ge1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMuYXBwTWFuYWdlci5pc0FwcFZhcmlhYmxlc0ZpcmVkKCkpIHtcbiAgICAgICAgICAgICAgICB2YXJpYWJsZUNvbGxlY3Rpb24uY2FsbGJhY2sodGhpcy5BcHAuVmFyaWFibGVzKS5jYXRjaChub29wKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHBNYW5hZ2VyLm5vdGlmeSgnYXBwLXZhcmlhYmxlcy1kYXRhLWxvYWRlZCcsIHtwYWdlTmFtZTogdGhpcy5wYWdlTmFtZX0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHZhcmlhYmxlQ29sbGVjdGlvbi5jYWxsYmFjayh0aGlzLkFwcC5BY3Rpb25zKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFwcE1hbmFnZXIuYXBwVmFyaWFibGVzUmVhZHkoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFwcE1hbmFnZXIuaXNBcHBWYXJpYWJsZXNGaXJlZCh0cnVlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyaWFibGVDb2xsZWN0aW9uLmNhbGxiYWNrKHZhcmlhYmxlQ29sbGVjdGlvbi5WYXJpYWJsZXMpXG4gICAgICAgICAgICAgICAgLmNhdGNoKG5vb3ApXG4gICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcE1hbmFnZXIubm90aWZ5KCdwYWdlLXZhcmlhYmxlcy1kYXRhLWxvYWRlZCcsIHtwYWdlTmFtZTogdGhpcy5wYWdlTmFtZX0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0dXBWYXJpYWJsZXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAvLyBoaWRlIHRoZSBsb2FkZXIgb25seSBhZnRlciB0aGUgc29tZSBzZXRUaW1lb3V0IGZvciBzbW9vdGggcGFnZSBsb2FkLlxuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd1BhZ2VDb250ZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSwgMTAwKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHZhcmlhYmxlQ29sbGVjdGlvbi5jYWxsYmFjayh2YXJpYWJsZUNvbGxlY3Rpb24uQWN0aW9ucyk7XG5cbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzZXRUaW1lem9uZShsb2NhbGUpIHtcbiAgICAgICAgdGhpcy5pMThuU2VydmljZS5zZXRUaW1lem9uZShsb2NhbGUsIHRoaXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGZ1bmN0aW9uIHRvIHJlZ2lzdGVyIGJpbmQgZXhwcmVzc2lvbnMgZ2VuZXJhdGVkIGluIHRoaXMgcGFnZSBpbnN0YW5jZVxuICAgICAqIGdldEV4cHJlc3Npb25zIGZ1bmN0aW9uIGlzIGRlZmluZWQgaW4gdGhlIGdlbmVyYXRlZCBwYWdlLmNvbXAudHMgZmlsZVxuICAgICAqIEBwYXJhbSBleHByZXNzaW9ucywgbWFwIG9mIGJpbmQgZXhwcmVzc2lvbiB2cyBnZW5lcmF0ZWQgZnVuY3Rpb25cbiAgICAgKi9cbiAgICByZWdpc3RlckV4cHJlc3Npb25zKCkge1xuICAgICAgICBjb25zdCBleHByZXNzaW9ucyA9IHRoaXMuZ2V0RXhwcmVzc2lvbnMoKTtcbiAgICAgICAgXy5lYWNoKGV4cHJlc3Npb25zLCAoZm4sIGV4cHIpPT57XG4gICAgICAgICAgICByZWdpc3RlckZuQnlFeHByKGV4cHIsIGZuWzBdLCBmblsxXSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJ1blBhZ2VUcmFuc2l0aW9uKHRyYW5zaXRpb24/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdHJhbnNpdGlvbiA9IHRyYW5zaXRpb24gfHwgdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5nZXRQYWdlVHJhbnNpdGlvbigpO1xuICAgICAgICBjb25zdCBsYXN0UGFnZSA9IEJhc2VQYWdlQ29tcG9uZW50Lmxhc3RQYWdlU25hcFNob3RcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KHJlc29sdmUgPT4ge1xuICAgICAgICAgICAgaWYgKHRyYW5zaXRpb25cbiAgICAgICAgICAgICAgICAmJiAhdHJhbnNpdGlvbi5zdGFydHNXaXRoKCdub25lJylcbiAgICAgICAgICAgICAgICAmJiBsYXN0UGFnZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0ICR0YXJnZXQgPSBsYXN0UGFnZS5wYXJlbnQoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBvblRyYW5zaXRpb25FbmQgPSAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzb2x2ZSAmJiAhKGUgJiYgZS5wc2V1ZG9FbGVtZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJHRhcmdldC5vZmYoJ2FuaW1hdGlvbmVuZCcsIG9uVHJhbnNpdGlvbkVuZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAkdGFyZ2V0LnJlbW92ZUNsYXNzKHRyYW5zaXRpb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgJHRhcmdldC5jaGlsZHJlbigpLmZpcnN0KCkucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbiA9ICdwYWdlLXRyYW5zaXRpb24gcGFnZS10cmFuc2l0aW9uLScgKyB0cmFuc2l0aW9uO1xuICAgICAgICAgICAgICAgIGxhc3RQYWdlLmFkZENsYXNzKCdwYWdlLWV4aXQnKTtcbiAgICAgICAgICAgICAgICB0aGlzLiRwYWdlLmFkZENsYXNzKCdwYWdlLWVudHJ5Jyk7XG4gICAgICAgICAgICAgICAgJHRhcmdldC5hZGRDbGFzcyh0cmFuc2l0aW9uKTtcbiAgICAgICAgICAgICAgICAkdGFyZ2V0Lm9uKCdhbmltYXRpb25lbmQnLCBvblRyYW5zaXRpb25FbmQpO1xuICAgICAgICAgICAgICAgIC8vIFdhaXQgZm9yIGEgbWF4aW11bSBvZiAxIHNlY29uZCBmb3IgdHJhbnNpdGlvbiB0byBlbmQuXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dChvblRyYW5zaXRpb25FbmQsIDEwMDApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy4kcGFnZSAmJiB0aGlzLiRwYWdlLnJlbW92ZUNsYXNzKCdwYWdlLWVudHJ5Jyk7XG4gICAgICAgICAgICBpZiAobGFzdFBhZ2UpIHtcbiAgICAgICAgICAgICAgICBsYXN0UGFnZS5yZW1vdmUoKTtcbiAgICAgICAgICAgICAgICBCYXNlUGFnZUNvbXBvbmVudC5sYXN0UGFnZVNuYXBTaG90ID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMucGFnZVRyYW5zaXRpb25Db21wbGV0ZWQgPSB0cnVlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpbnZva2VPblJlYWR5KCkge1xuICAgICAgICB0aGlzLm9uUmVhZHkoKTtcbiAgICAgICAgdGhpcy5hcHBNYW5hZ2VyLm5vdGlmeSgncGFnZVJlYWR5JywgeyduYW1lJyA6IHRoaXMucGFnZU5hbWUsIGluc3RhbmNlOiB0aGlzfSk7XG4gICAgICAgICh0aGlzLkFwcC5vblBhZ2VSZWFkeSB8fCBub29wKSh0aGlzLnBhZ2VOYW1lLCB0aGlzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxvYWRTY3JpcHRzKCkge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNjcmlwdHNSZXF1aXJlZCA9IHRoaXMucGFnZURpcmVjdGl2ZSAmJiB0aGlzLnBhZ2VEaXJlY3RpdmUuJGVsZW1lbnQuYXR0cignc2NyaXB0cy10by1sb2FkJyk7XG4gICAgICAgICAgICBpZiAoc2NyaXB0c1JlcXVpcmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zY3JpcHRMb2FkZXJTZXJ2aWNlXG4gICAgICAgICAgICAgICAgICAgIC5sb2FkKC4uLnNjcmlwdHNSZXF1aXJlZC5zcGxpdCgnLCcpKVxuICAgICAgICAgICAgICAgICAgICAudGhlbihyZXNvbHZlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc3RvcmVMYXN0UGFnZVNuYXBzaG90KCkge1xuICAgICAgICBpZiAoaXNNb2JpbGVBcHAoKSAmJiBCYXNlUGFnZUNvbXBvbmVudC5sYXN0UGFnZVNuYXBTaG90ICYmIHRoaXMuJHBhZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuJHBhZ2UucGFyZW50KCkucHJlcGVuZChCYXNlUGFnZUNvbXBvbmVudC5sYXN0UGFnZVNuYXBTaG90KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2F2ZVBhZ2VTbmFwU2hvdCgpIHtcbiAgICAgICAgaWYgKEJhc2VQYWdlQ29tcG9uZW50Lmxhc3RQYWdlU25hcFNob3QpIHtcbiAgICAgICAgICAgIEJhc2VQYWdlQ29tcG9uZW50Lmxhc3RQYWdlU25hcFNob3QucmVtb3ZlKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzTW9iaWxlQXBwKCkgJiYgdGhpcy4kcGFnZSkge1xuICAgICAgICAgICAgQmFzZVBhZ2VDb21wb25lbnQubGFzdFBhZ2VTbmFwU2hvdCA9IHRoaXMuJHBhZ2UuY2xvbmUoKTtcbiAgICAgICAgICAgIHRoaXMuJHBhZ2UucGFyZW50cygnYXBwLXJvb3QnKS5wcmVwZW5kKEJhc2VQYWdlQ29tcG9uZW50Lmxhc3RQYWdlU25hcFNob3QpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzYXZlU2Nyb2xsUG9zaXRpb24oKSB7XG4gICAgICAgIGNvbnN0IGZuID0gKCRlbCwga2V5LCByZWN1cnNpdmUgPSB0cnVlLCAkdGFyZ2V0ID0gJGVsKSAgPT4ge1xuICAgICAgICAgICAgaWYgKHJlY3Vyc2l2ZSkge1xuICAgICAgICAgICAgICAgICRlbC5jaGlsZHJlbigpLmVhY2goKGksIHYpID0+IGZuKCQodiksIGtleSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qgc2Nyb2xsRGF0YSA9IHtcbiAgICAgICAgICAgICAgICB4OiAkdGFyZ2V0LnNjcm9sbExlZnQoKSxcbiAgICAgICAgICAgICAgICB5OiAkdGFyZ2V0LnNjcm9sbFRvcCgpXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYoc2Nyb2xsRGF0YS54ID4gMCB8fCBzY3JvbGxEYXRhLnkgPiAwKSB7XG4gICAgICAgICAgICAgICAgJGVsLmF0dHIoa2V5LCBzY3JvbGxEYXRhLnggKyAnLCcgKyBzY3JvbGxEYXRhLnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBmbih0aGlzLiRwYWdlLCAnZGF0YS1zY3JvbGwtcG9zaXRpb24nKTtcbiAgICAgICAgdGhpcy4kcGFnZS5hdHRyKCdkYXRhLXdpbmRvdy1zY3JvbGwtcG9zaXRpb24nLCB3aW5kb3cuc2Nyb2xsWCArICcsJyArIHdpbmRvdy5zY3JvbGxZKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc3RvcmVTY3JvbGxQb3NpdGlvbigpIHtcbiAgICAgICAgY29uc3QgZm4gPSAoJGVsLCBrZXksIHJlY3Vyc2l2ZSAgPSB0cnVlLCAkdGFyZ2V0ID0gJGVsKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzY3JvbGxEYXRhID0gKCRlbC5hdHRyKGtleSkgfHwgJycpLnNwbGl0KCcsJyk7XG4gICAgICAgICAgICBpZihzY3JvbGxEYXRhLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICAkdGFyZ2V0LnNjcm9sbExlZnQoc2Nyb2xsRGF0YVswXSk7XG4gICAgICAgICAgICAgICAgJHRhcmdldC5zY3JvbGxUb3Aoc2Nyb2xsRGF0YVsxXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkZWwucmVtb3ZlQXR0cihrZXkpO1xuICAgICAgICAgICAgaWYgKHJlY3Vyc2l2ZSkge1xuICAgICAgICAgICAgICAgICRlbC5jaGlsZHJlbigpLmVhY2goKGksIHYpID0+IGZuKCQodiksIGtleSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBmbih0aGlzLiRwYWdlLCAnZGF0YS1zY3JvbGwtcG9zaXRpb24nKTtcbiAgICAgICAgZm4odGhpcy4kcGFnZSwgJ2RhdGEtd2luZG93LXNjcm9sbC1wb3NpdGlvbicsIGZhbHNlLCAkKHdpbmRvdykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNhbkRlYWN0aXZhdGUgaXMgY2FsbGVkIGJlZm9yZSBhIHJvdXRlIGNoYW5nZS5cbiAgICAgKiBUaGlzIHdpbGwgaW50ZXJuYWxseSBjYWxsIG9uQmVmb3JlUGFnZUxlYXZlIG1ldGhvZCBwcmVzZW50XG4gICAgICogYXQgcGFnZSBsZXZlbCBhbmQgYXBwIGxldmVsIGluIHRoZSBhcHBsaWNhdGlvbiBhbmQgZGVjaWRlXG4gICAgICogd2hldGhlciB0byBjaGFuZ2Ugcm91dGUgb3Igbm90IGJhc2VkIG9uIHJldHVybiB2YWx1ZS5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6YmVmb3JldW5sb2FkJylcbiAgICBjYW5EZWFjdGl2YXRlKCkge1xuICAgICAgICBsZXQgcmV0VmFsO1xuICAgICAgICAvLyBDYWxsaW5nIG9uQmVmb3JlUGFnZUxlYXZlIG1ldGhvZCBwcmVzZW50IGF0IHBhZ2UgbGV2ZWxcbiAgICAgICAgcmV0VmFsID0gdGhpcy5vbkJlZm9yZVBhZ2VMZWF2ZSgpO1xuICAgICAgICAvLyBDYWxsaW5nIG9uQmVmb3JlUGFnZUxlYXZlIG1ldGhvZCBwcmVzZW50IGF0IGFwcCBsZXZlbCBvbmx5IGlmIHBhZ2UgbGV2ZWwgbWV0aG9kIHJldHVybiB0cnVlXG4gICAgICAgIC8vIG9yIGlmIHRoZXJlIGlzIG5vIHBhZ2UgbGV2ZWwgbWV0aG9kXG4gICAgICAgIGlmIChyZXRWYWwgIT09IGZhbHNlICkge1xuICAgICAgICAgICAgcmV0VmFsID0gICh0aGlzLkFwcC5vbkJlZm9yZVBhZ2VMZWF2ZSB8fCBub29wKSh0aGlzLkFwcC5hY3RpdmVQYWdlTmFtZSwgdGhpcy5BcHAuYWN0aXZlUGFnZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJldFZhbCA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IHJldFZhbDtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucm91dGUuc25hcHNob3QuZGF0YVtDQUNIRV9QQUdFXSA9IHRoaXMuY2FuUmV1c2UoKTtcbiAgICAgICAgaWYgKHRoaXMucGFnZURpcmVjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy4kcGFnZSA9IHRoaXMucGFnZURpcmVjdGl2ZS4kZWxlbWVudC5wYXJlbnQoKTtcbiAgICAgICAgICAgIGlmIChpc0lvcygpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4kcGFnZS5hZGRDbGFzcygnaW9zLXBhZ2UnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0FuZHJvaWQoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuJHBhZ2UuYWRkQ2xhc3MoJ2FuZHJvaWQtcGFnZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVzdG9yZUxhc3RQYWdlU25hcHNob3QoKTtcbiAgICAgICAgdGhpcy5sb2FkU2NyaXB0cygpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5ydW5QYWdlVHJhbnNpdGlvbigpXG4gICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAodGhpcyBhcyBhbnkpLmNvbXBpbGVQYWdlQ29udGVudCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vblBhZ2VDb250ZW50UmVhZHkgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mcmFnbWVudHNMb2FkZWQkLnN1YnNjcmliZShub29wLCBub29wLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW52b2tlT25SZWFkeSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuTXV0ZVdhdGNoZXJzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52aWV3SW5pdCQuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uUGFnZUNvbnRlbnRSZWFkeSA9IG5vb3A7XG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2F2ZVBhZ2VTbmFwU2hvdCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgb25SZWFkeSgpIHt9XG5cbiAgICBvbkJlZm9yZVBhZ2VSZWFkeSgpIHt9XG5cbiAgICBvbkJlZm9yZVBhZ2VMZWF2ZSgpIHt9XG5cbiAgICBvblBhZ2VDb250ZW50UmVhZHkoKSB7fVxuXG4gICAgY2FuUmV1c2UoKSB7XG4gICAgICAgIHJldHVybiAhISh0aGlzLnBhZ2VEaXJlY3RpdmUgJiYgdGhpcy5wYWdlRGlyZWN0aXZlLmNhY2hlKTtcbiAgICB9XG5cbiAgICBtdXRlKCkge1xuICAgICAgICBjb25zdCBtID0gbyA9PiB7IG8gJiYgby5tdXRlICYmIG8ubXV0ZSgpOyB9O1xuICAgICAgICBfLmVhY2godGhpcy5XaWRnZXRzLCBtKTtcbiAgICAgICAgXy5lYWNoKHRoaXMuVmFyaWFibGVzLCBtKTtcbiAgICAgICAgXy5lYWNoKHRoaXMuQWN0aW9ucywgbSk7XG4gICAgfVxuXG4gICAgdW5tdXRlKGMgPSB0aGlzKSB7XG4gICAgICAgIGNvbnN0IHVtID0gbyA9PiB7IG8gJiYgby51bm11dGUgJiYgby51bm11dGUoKTsgfTtcbiAgICAgICAgXy5lYWNoKHRoaXMuV2lkZ2V0cywgdW0pO1xuICAgICAgICBfLmVhY2godGhpcy5WYXJpYWJsZXMsIHVtKTtcbiAgICAgICAgXy5lYWNoKHRoaXMuQWN0aW9ucywgdW0pO1xuICAgIH1cblxuICAgIG5nT25BdHRhY2goKSB7XG4gICAgICAgIHRoaXMucm91dGUuc25hcHNob3QuZGF0YVtDQUNIRV9QQUdFXSA9IHRoaXMuY2FuUmV1c2UoKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlclBhZ2VQYXJhbXMoKTtcbiAgICAgICAgdGhpcy5BcHAubGFzdEFjdGl2ZVBhZ2VOYW1lID0gdGhpcy5BcHAuYWN0aXZlUGFnZU5hbWU7XG4gICAgICAgIHRoaXMuQXBwLmFjdGl2ZVBhZ2VOYW1lID0gdGhpcy5wYWdlTmFtZTtcbiAgICAgICAgdGhpcy5BcHAuYWN0aXZlUGFnZSA9IHRoaXM7XG4gICAgICAgIHRoaXMuYWN0aXZlUGFnZU5hbWUgPSB0aGlzLnBhZ2VOYW1lO1xuICAgICAgICB0aGlzLnJlc3RvcmVMYXN0UGFnZVNuYXBzaG90KCk7XG4gICAgICAgIHRoaXMudW5tdXRlKCk7XG4gICAgICAgIC8vIGV4cG9zZSBjdXJyZW50IHBhZ2Ugd2lkZ2V0cyBvbiBhcHBcbiAgICAgICAgKHRoaXMuQXBwIGFzIGFueSkuV2lkZ2V0cyA9IE9iamVjdC5jcmVhdGUodGhpcy5XaWRnZXRzKTtcbiAgICAgICAgaWYodGhpcy5wYWdlRGlyZWN0aXZlICYmIHRoaXMucGFnZURpcmVjdGl2ZS5yZWZyZXNoZGF0YW9uYXR0YWNoKSB7XG4gICAgICAgICAgICBjb25zdCByZWZyZXNoID0gdiA9PiB7IHYgJiYgdi5zdGFydFVwZGF0ZSAmJiB2Lmludm9rZSAmJiB2Lmludm9rZSgpOyB9O1xuICAgICAgICAgICAgXy5lYWNoKHRoaXMuVmFyaWFibGVzLCByZWZyZXNoKTtcbiAgICAgICAgICAgIF8uZWFjaCh0aGlzLkFjdGlvbnMsIHJlZnJlc2gpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucnVuUGFnZVRyYW5zaXRpb24oKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZXN0b3JlU2Nyb2xsUG9zaXRpb24oKSwgMTAwKTtcbiAgICAgICAgICAgIF8uZWFjaCh0aGlzLldpZGdldHMsIHcgPT4gdyAmJiB3Lm5nT25BdHRhY2ggJiYgdy5uZ09uQXR0YWNoKCkpO1xuICAgICAgICAgICAgdGhpcy5hcHBNYW5hZ2VyLm5vdGlmeSgncGFnZUF0dGFjaCcsIHsnbmFtZScgOiB0aGlzLnBhZ2VOYW1lLCBpbnN0YW5jZTogdGhpc30pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGV0YWNoKCkge1xuICAgICAgICB0aGlzLnNhdmVTY3JvbGxQb3NpdGlvbigpO1xuICAgICAgICB0aGlzLnNhdmVQYWdlU25hcFNob3QoKTtcbiAgICAgICAgdGhpcy5tdXRlKCk7XG4gICAgICAgIF8uZWFjaCh0aGlzLldpZGdldHMsIHcgPT4gdyAmJiB3Lm5nT25EZXRhY2ggJiYgdy5uZ09uRGV0YWNoKCkpO1xuICAgICAgICB0aGlzLmFwcE1hbmFnZXIubm90aWZ5KCdwYWdlRGV0YWNoJywgeyduYW1lJyA6IHRoaXMucGFnZU5hbWUsIGluc3RhbmNlOiB0aGlzfSk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLm9uQmVmb3JlUGFnZVJlYWR5KCk7XG4gICAgfVxuXG4gICAgc3RhdGljIGNsZWFyKCkge1xuICAgICAgICBpZihCYXNlUGFnZUNvbXBvbmVudC5sYXN0UGFnZVNuYXBTaG90KSB7XG4gICAgICAgICAgICBCYXNlUGFnZUNvbXBvbmVudC5sYXN0UGFnZVNuYXBTaG90LnJlbW92ZSgpO1xuICAgICAgICAgICAgQmFzZVBhZ2VDb21wb25lbnQubGFzdFBhZ2VTbmFwU2hvdCA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=