@softheon/armature 10.34.4 → 10.35.0

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 (182) hide show
  1. package/assets/styles/sof-styles.scss +9 -13
  2. package/esm2015/lib/alert-banner/alert-banner-api.js +1 -1
  3. package/esm2015/lib/alert-banner/alert-banner.module.js +1 -1
  4. package/esm2015/lib/alert-banner/components/alert-banner/alert-banner.component.js +1 -1
  5. package/esm2015/lib/alert-banner/models/alert-banner-config.js +1 -1
  6. package/esm2015/lib/alert-banner/models/alert-banner-context.js +1 -1
  7. package/esm2015/lib/alert-banner/models/constants.js +1 -1
  8. package/esm2015/lib/alert-banner/services/alert-banner.service.js +1 -1
  9. package/esm2015/lib/armature.module.js +1 -1
  10. package/esm2015/lib/base-components/base-component-api.js +1 -1
  11. package/esm2015/lib/base-components/base-component.module.js +1 -1
  12. package/esm2015/lib/base-components/sof-alert/sof-alert.component.js +1 -1
  13. package/esm2015/lib/base-components/sof-banner/sof-banner.component.js +1 -1
  14. package/esm2015/lib/base-components/sof-modal/sof-modal.component.js +1 -1
  15. package/esm2015/lib/base-components/sof-progress-bar/sof-progress-bar.component.js +1 -1
  16. package/esm2015/lib/core/client-generated/api/session.service.js +1 -1
  17. package/esm2015/lib/core/client-generated/configuration.js +1 -1
  18. package/esm2015/lib/core/client-generated/encoder.js +1 -1
  19. package/esm2015/lib/core/client-generated/model/applicationUserModel.js +1 -1
  20. package/esm2015/lib/core/client-generated/model/assertedUserModel.js +1 -1
  21. package/esm2015/lib/core/client-generated/model/brandingModel.js +1 -1
  22. package/esm2015/lib/core/client-generated/model/errorModel.js +1 -1
  23. package/esm2015/lib/core/client-generated/model/folderLink.js +1 -1
  24. package/esm2015/lib/core/client-generated/model/identityProfile.js +1 -1
  25. package/esm2015/lib/core/client-generated/model/models.js +1 -1
  26. package/esm2015/lib/core/client-generated/model/oAuthModel.js +1 -1
  27. package/esm2015/lib/core/client-generated/model/preferencesRow.js +1 -1
  28. package/esm2015/lib/core/client-generated/model/rolesRow.js +1 -1
  29. package/esm2015/lib/core/client-generated/model/sessionGetResponseModel.js +1 -1
  30. package/esm2015/lib/core/client-generated/model/sessionPostRequestModel.js +1 -1
  31. package/esm2015/lib/core/client-generated/model/sessionPostResponseModel.js +1 -1
  32. package/esm2015/lib/core/client-generated/model/sessionPutRequestModel.js +1 -1
  33. package/esm2015/lib/core/client-generated/model/sessionPutResponseModel.js +1 -1
  34. package/esm2015/lib/core/client-generated/model/sessionResponseModel.js +1 -1
  35. package/esm2015/lib/core/client-generated/model/settingsProfile.js +1 -1
  36. package/esm2015/lib/core/client-generated/model/themePaletteColorsModel.js +1 -1
  37. package/esm2015/lib/core/client-generated/model/themePaletteModel.js +1 -1
  38. package/esm2015/lib/core/client-generated/model/trackingModel.js +1 -1
  39. package/esm2015/lib/core/client-generated/model/validationRecordsRow.js +1 -1
  40. package/esm2015/lib/core/client-generated/variables.js +1 -1
  41. package/esm2015/lib/core/components/app-template/app-template.component.js +1 -1
  42. package/esm2015/lib/core/functions/guid.js +1 -1
  43. package/esm2015/lib/core/functions/naming-convention.js +1 -1
  44. package/esm2015/lib/core/initializer/abstract-startup-service.js +1 -1
  45. package/esm2015/lib/core/initializer/initializer.service.js +1 -1
  46. package/esm2015/lib/core/interceptors/armature-auth-token-append.interceptor.js +1 -1
  47. package/esm2015/lib/core/models/base-config.js +1 -1
  48. package/esm2015/lib/core/models/constants.js +1 -1
  49. package/esm2015/lib/core/models/data-store-config.js +1 -1
  50. package/esm2015/lib/core/models/header-config.js +1 -1
  51. package/esm2015/lib/core/models/http-verbs.js +1 -1
  52. package/esm2015/lib/core/models/navigation-config.js +1 -1
  53. package/esm2015/lib/core/models/oidc-auth-settings.js +1 -1
  54. package/esm2015/lib/core/models/route-path.js +1 -1
  55. package/esm2015/lib/core/models/session-config.js +1 -1
  56. package/esm2015/lib/core/models/styles.js +1 -1
  57. package/esm2015/lib/core/models/typed-session.js +1 -1
  58. package/esm2015/lib/core/models/user-entity-service-config.js +1 -1
  59. package/esm2015/lib/core/services/authorization.service.js +1 -1
  60. package/esm2015/lib/core/services/banner.service.js +1 -1
  61. package/esm2015/lib/core/services/base-config.service.js +1 -1
  62. package/esm2015/lib/core/services/custom-auth-config.service.js +1 -1
  63. package/esm2015/lib/core/services/default-config.service.js +1 -1
  64. package/esm2015/lib/core/services/session.service.js +1 -1
  65. package/esm2015/lib/core/services/user-entity.service.js +1 -1
  66. package/esm2015/lib/distributed-cache/client-generated/api/api.js +1 -1
  67. package/esm2015/lib/distributed-cache/client-generated/api/cache.service.js +1 -1
  68. package/esm2015/lib/distributed-cache/client-generated/configuration.js +1 -1
  69. package/esm2015/lib/distributed-cache/client-generated/encoder.js +1 -1
  70. package/esm2015/lib/distributed-cache/client-generated/model/cacheExpirationType.js +1 -1
  71. package/esm2015/lib/distributed-cache/client-generated/model/createCacheEntryRequestModel.js +1 -1
  72. package/esm2015/lib/distributed-cache/client-generated/model/models.js +1 -1
  73. package/esm2015/lib/distributed-cache/client-generated/model/retrieveCacheEntryResponseModel.js +1 -1
  74. package/esm2015/lib/distributed-cache/client-generated/model/updateCacheEntryRequestModel.js +1 -1
  75. package/esm2015/lib/distributed-cache/client-generated/variables.js +1 -1
  76. package/esm2015/lib/distributed-cache/distributed-cache-api.js +1 -1
  77. package/esm2015/lib/distributed-cache/distributed-cache.module.js +1 -1
  78. package/esm2015/lib/distributed-cache/models/constants.js +1 -1
  79. package/esm2015/lib/distributed-cache/models/policy-person.js +1 -1
  80. package/esm2015/lib/distributed-cache/services/server-cache.service.js +1 -1
  81. package/esm2015/lib/error/components/error-common/error-common.component.js +1 -1
  82. package/esm2015/lib/error/error-api.js +1 -1
  83. package/esm2015/lib/error/error.module.js +1 -1
  84. package/esm2015/lib/error/models/error-common-config.js +1 -1
  85. package/esm2015/lib/faq/components/faq/faq.component.js +1 -1
  86. package/esm2015/lib/faq/faq-api.js +1 -1
  87. package/esm2015/lib/faq/faq.module.js +1 -1
  88. package/esm2015/lib/faq/models/faq-config.js +1 -1
  89. package/esm2015/lib/faq/models/faq.js +1 -1
  90. package/esm2015/lib/footer/components/footer/footer.component.js +1 -1
  91. package/esm2015/lib/footer/components/site-map/site-map.component.js +1 -1
  92. package/esm2015/lib/footer/footer-api.js +1 -1
  93. package/esm2015/lib/footer/footer.module.js +1 -1
  94. package/esm2015/lib/footer/models/enum/site-map-direction.js +1 -1
  95. package/esm2015/lib/footer/models/footer-config.js +1 -1
  96. package/esm2015/lib/footer/models/site-map-models.js +1 -1
  97. package/esm2015/lib/forms/components/sof-address/sof-address.component.js +1 -1
  98. package/esm2015/lib/forms/directives/alphanumeric/alphanumeric.directive.js +1 -1
  99. package/esm2015/lib/forms/directives/letters-only/letters-only.directive.js +1 -1
  100. package/esm2015/lib/forms/directives/numbers-only/numbers-only.directive.js +1 -1
  101. package/esm2015/lib/forms/forms-api.js +1 -1
  102. package/esm2015/lib/forms/forms.module.js +1 -1
  103. package/esm2015/lib/forms/models/address.js +1 -1
  104. package/esm2015/lib/forms/models/constants.js +1 -1
  105. package/esm2015/lib/forms/models/county.js +1 -1
  106. package/esm2015/lib/forms/models/enums/states.js +1 -1
  107. package/esm2015/lib/forms/pipes/phone-format.pipe.js +1 -1
  108. package/esm2015/lib/forms/services/alert.service.js +1 -1
  109. package/esm2015/lib/header/components/header/header.component.js +1 -1
  110. package/esm2015/lib/header/components/mobile-header-menu/mobile-header-menu.component.js +1 -1
  111. package/esm2015/lib/header/header-api.js +1 -1
  112. package/esm2015/lib/header/header.module.js +1 -1
  113. package/esm2015/lib/header/models/header-auth.settings.js +1 -1
  114. package/esm2015/lib/header/models/header-language.settings.js +1 -1
  115. package/esm2015/lib/header/models/header-theme.settings.js +1 -1
  116. package/esm2015/lib/header/models/header.settings.js +1 -1
  117. package/esm2015/lib/header/models/mobile-header-nav.settings.js +1 -1
  118. package/esm2015/lib/navigation/components/navigation/navigation.component.js +1 -1
  119. package/esm2015/lib/navigation/models/nav-theme.settings.js +1 -1
  120. package/esm2015/lib/navigation/models/nav.settings.js +1 -1
  121. package/esm2015/lib/navigation/models/navigation.js +1 -1
  122. package/esm2015/lib/navigation/navigation-api.js +1 -1
  123. package/esm2015/lib/navigation/navigation.module.js +1 -1
  124. package/esm2015/lib/oauth/models/constants.js +1 -1
  125. package/esm2015/lib/oauth/models/generated/accountManagementAssertionModel.js +1 -1
  126. package/esm2015/lib/oauth/models/generated/accountManagementRefreshRequestModel.js +1 -1
  127. package/esm2015/lib/oauth/models/generated/accountManagementResponseModel.js +1 -1
  128. package/esm2015/lib/oauth/models/generated/coverageDetail.js +1 -1
  129. package/esm2015/lib/oauth/models/generated/finance.js +1 -1
  130. package/esm2015/lib/oauth/models/generated/iSsoResponseModel.js +1 -1
  131. package/esm2015/lib/oauth/models/generated/iSsoResponseModelAccountManagementAssertionModel.js +1 -1
  132. package/esm2015/lib/oauth/models/generated/person.js +1 -1
  133. package/esm2015/lib/oauth/models/generated/policy.js +1 -1
  134. package/esm2015/lib/oauth/models/generated/refreshResponseModel.js +1 -1
  135. package/esm2015/lib/oauth/models/hybrid-saml-oauth-config.js +1 -1
  136. package/esm2015/lib/oauth/oauth-api.js +1 -1
  137. package/esm2015/lib/oauth/oauth.module.js +1 -1
  138. package/esm2015/lib/oauth/services/hybrid-saml-oauth.service.js +1 -1
  139. package/esm2015/lib/rbac/directives/rbac-action.directive.js +1 -1
  140. package/esm2015/lib/rbac/models/access-token-claims.js +1 -1
  141. package/esm2015/lib/rbac/models/constants.js +1 -1
  142. package/esm2015/lib/rbac/models/decoded-access-token.js +1 -1
  143. package/esm2015/lib/rbac/models/rbac-config.js +1 -1
  144. package/esm2015/lib/rbac/models/role-access.js +1 -1
  145. package/esm2015/lib/rbac/rbac-api.js +1 -1
  146. package/esm2015/lib/rbac/rbac.module.js +1 -1
  147. package/esm2015/lib/rbac/services/ar-role-nav.service.js +1 -1
  148. package/esm2015/lib/rbac/services/oauth2-role.service.js +1 -1
  149. package/esm2015/lib/rbac/services/role-nav.service.js +1 -1
  150. package/esm2015/lib/rum/models/arm-error.js +1 -1
  151. package/esm2015/lib/rum/models/rum-config.js +1 -1
  152. package/esm2015/lib/rum/rum-api.js +1 -1
  153. package/esm2015/lib/rum/rum.module.js +1 -1
  154. package/esm2015/lib/rum/services/rum.service.js +1 -1
  155. package/esm2015/lib/rum/services/shared-error.service.js +1 -1
  156. package/esm2015/lib/rum/services/softheon-error-handler.service.js +1 -1
  157. package/esm2015/lib/saml/components/redirect-saml/redirect-saml.component.js +1 -1
  158. package/esm2015/lib/saml/models/i-saml-request.js +1 -1
  159. package/esm2015/lib/saml/models/i-saml-response.js +1 -1
  160. package/esm2015/lib/saml/models/redirect-saml-request.js +1 -1
  161. package/esm2015/lib/saml/models/sso-gateway-model.js +1 -1
  162. package/esm2015/lib/saml/saml-api.js +1 -1
  163. package/esm2015/lib/saml/saml.module.js +1 -1
  164. package/esm2015/lib/saml/services/entry/abstract-saml-entry.service.js +1 -1
  165. package/esm2015/lib/saml/services/entry/sso-gateway-entry.service.js +1 -1
  166. package/esm2015/lib/saml/services/send-off/abstract-saml.service.js +1 -1
  167. package/esm2015/lib/saml/services/send-off/saml.service.js +1 -1
  168. package/esm2015/lib/sof-pipe/constants/constants.js +1 -1
  169. package/esm2015/lib/sof-pipe/models/sof-date-pipe-format.js +1 -1
  170. package/esm2015/lib/sof-pipe/pipes/sof-blank/sof-blank.pipe.js +1 -1
  171. package/esm2015/lib/sof-pipe/pipes/sof-date/sof-date.pipe.js +1 -1
  172. package/esm2015/lib/sof-pipe/pipes/sof-ssn/sof-ssn.pipe.js +1 -1
  173. package/esm2015/lib/sof-pipe/sof-pipe.api.js +1 -1
  174. package/esm2015/lib/sof-pipe/sof-pipe.module.js +1 -1
  175. package/esm2015/lib/theming/directives/css-override.directive.js +1 -1
  176. package/esm2015/lib/theming/models/css-override.js +1 -1
  177. package/esm2015/lib/theming/services/theme.service.js +1 -1
  178. package/esm2015/lib/theming/theme-api.js +1 -1
  179. package/esm2015/lib/theming/theme.module.js +1 -1
  180. package/esm2015/public-api.js +1 -1
  181. package/esm2015/softheon-armature.js +1 -1
  182. package/package.json +1 -1
@@ -10,4 +10,4 @@ export const USER_ENTITY_SERVICE_CONFIG = new InjectionToken('UserEntityServiceC
10
10
  export const preSignInRouteStorageKey = 'preSignInRoute';
11
11
  /** The language storage key */
12
12
  export const languageStorageKey = 'language';
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IlM6L0IwMy9fd29yay80MTMvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL21vZGVscy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUsvQyxtQkFBbUI7QUFDbkIsMEJBQTBCO0FBQzFCLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBa0MsSUFBSSxjQUFjLENBQWdCLGVBQWUsQ0FBQyxDQUFDO0FBRWhILDJCQUEyQjtBQUMzQixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQTJCLElBQUksY0FBYyxDQUFTLFFBQVEsQ0FBQyxDQUFDO0FBRW5GLHNDQUFzQztBQUN0QyxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBNEMsSUFBSSxjQUFjLENBQTBCLHlCQUF5QixDQUFDLENBQUM7QUFFMUosd0NBQXdDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFXLGdCQUFnQixDQUFDO0FBRWpFLCtCQUErQjtBQUMvQixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBVyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgU2Vzc2lvbkNvbmZpZyB9IGZyb20gJy4vc2Vzc2lvbi1jb25maWcnO1xyXG5pbXBvcnQgeyBVc2VyRW50aXR5U2VydmljZUNvbmZpZyB9IGZyb20gJy4vdXNlci1lbnRpdHktc2VydmljZS1jb25maWcnO1xyXG5cclxuLy8gSW5qZWN0aW9uIHRva2Vuc1xyXG4vKiogVGhlIHNlc3Npb24gY29uZmlncyAqL1xyXG5leHBvcnQgY29uc3QgU0VTU0lPTl9DT05GSUc6IEluamVjdGlvblRva2VuPFNlc3Npb25Db25maWc+ID0gbmV3IEluamVjdGlvblRva2VuPFNlc3Npb25Db25maWc+KCdTZXNzaW9uQ29uZmlnJyk7XHJcblxyXG4vKiogVGhlIHdpbmRvdyBpbnRlcmZhY2UgKi9cclxuZXhwb3J0IGNvbnN0IFdJTkRPVzogSW5qZWN0aW9uVG9rZW48V2luZG93PiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxXaW5kb3c+KCdXaW5kb3cnKTtcclxuXHJcbi8qKiBUaGUgdXNlciBlbnRpdHkgc2VydmljZSBjb25maWdzICovXHJcbmV4cG9ydCBjb25zdCBVU0VSX0VOVElUWV9TRVJWSUNFX0NPTkZJRzogSW5qZWN0aW9uVG9rZW48VXNlckVudGl0eVNlcnZpY2VDb25maWc+ID0gbmV3IEluamVjdGlvblRva2VuPFVzZXJFbnRpdHlTZXJ2aWNlQ29uZmlnPignVXNlckVudGl0eVNlcnZpY2VDb25maWcnKTtcclxuXHJcbi8qKiBUaGUgcHJlIHNpZ24gaW4gcm91dGUgc3RvcmFnZSBrZXkgKi9cclxuZXhwb3J0IGNvbnN0IHByZVNpZ25JblJvdXRlU3RvcmFnZUtleTogc3RyaW5nID0gJ3ByZVNpZ25JblJvdXRlJztcclxuXHJcbi8qKiBUaGUgbGFuZ3VhZ2Ugc3RvcmFnZSBrZXkgKi9cclxuZXhwb3J0IGNvbnN0IGxhbmd1YWdlU3RvcmFnZUtleTogc3RyaW5nID0gJ2xhbmd1YWdlJztcclxuIl19
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IlM6L0IwMi9fd29yay84My9zL2xpYnJhcnkvcHJvamVjdHMvYXJtYXR1cmUvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvcmUvbW9kZWxzL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSy9DLG1CQUFtQjtBQUNuQiwwQkFBMEI7QUFDMUIsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFrQyxJQUFJLGNBQWMsQ0FBZ0IsZUFBZSxDQUFDLENBQUM7QUFFaEgsMkJBQTJCO0FBQzNCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBMkIsSUFBSSxjQUFjLENBQVMsUUFBUSxDQUFDLENBQUM7QUFFbkYsc0NBQXNDO0FBQ3RDLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUE0QyxJQUFJLGNBQWMsQ0FBMEIseUJBQXlCLENBQUMsQ0FBQztBQUUxSix3Q0FBd0M7QUFDeEMsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQVcsZ0JBQWdCLENBQUM7QUFFakUsK0JBQStCO0FBQy9CLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFXLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBTZXNzaW9uQ29uZmlnIH0gZnJvbSAnLi9zZXNzaW9uLWNvbmZpZyc7XHJcbmltcG9ydCB7IFVzZXJFbnRpdHlTZXJ2aWNlQ29uZmlnIH0gZnJvbSAnLi91c2VyLWVudGl0eS1zZXJ2aWNlLWNvbmZpZyc7XHJcblxyXG4vLyBJbmplY3Rpb24gdG9rZW5zXHJcbi8qKiBUaGUgc2Vzc2lvbiBjb25maWdzICovXHJcbmV4cG9ydCBjb25zdCBTRVNTSU9OX0NPTkZJRzogSW5qZWN0aW9uVG9rZW48U2Vzc2lvbkNvbmZpZz4gPSBuZXcgSW5qZWN0aW9uVG9rZW48U2Vzc2lvbkNvbmZpZz4oJ1Nlc3Npb25Db25maWcnKTtcclxuXHJcbi8qKiBUaGUgd2luZG93IGludGVyZmFjZSAqL1xyXG5leHBvcnQgY29uc3QgV0lORE9XOiBJbmplY3Rpb25Ub2tlbjxXaW5kb3c+ID0gbmV3IEluamVjdGlvblRva2VuPFdpbmRvdz4oJ1dpbmRvdycpO1xyXG5cclxuLyoqIFRoZSB1c2VyIGVudGl0eSBzZXJ2aWNlIGNvbmZpZ3MgKi9cclxuZXhwb3J0IGNvbnN0IFVTRVJfRU5USVRZX1NFUlZJQ0VfQ09ORklHOiBJbmplY3Rpb25Ub2tlbjxVc2VyRW50aXR5U2VydmljZUNvbmZpZz4gPSBuZXcgSW5qZWN0aW9uVG9rZW48VXNlckVudGl0eVNlcnZpY2VDb25maWc+KCdVc2VyRW50aXR5U2VydmljZUNvbmZpZycpO1xyXG5cclxuLyoqIFRoZSBwcmUgc2lnbiBpbiByb3V0ZSBzdG9yYWdlIGtleSAqL1xyXG5leHBvcnQgY29uc3QgcHJlU2lnbkluUm91dGVTdG9yYWdlS2V5OiBzdHJpbmcgPSAncHJlU2lnbkluUm91dGUnO1xyXG5cclxuLyoqIFRoZSBsYW5ndWFnZSBzdG9yYWdlIGtleSAqL1xyXG5leHBvcnQgY29uc3QgbGFuZ3VhZ2VTdG9yYWdlS2V5OiBzdHJpbmcgPSAnbGFuZ3VhZ2UnO1xyXG4iXX0=
@@ -1,4 +1,4 @@
1
1
  /** The data store configurations */
2
2
  export class DataStoreConfig {
3
3
  }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zdG9yZS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiUzovQjAzL193b3JrLzQxMy9zL2xpYnJhcnkvcHJvamVjdHMvYXJtYXR1cmUvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvcmUvbW9kZWxzL2RhdGEtc3RvcmUtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLG9DQUFvQztBQUNwQyxNQUFNLE9BQU8sZUFBZTtDQXdCM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwVmVyYiB9IGZyb20gJy4vaHR0cC12ZXJicyc7XHJcbmltcG9ydCB7IFR5cGVkU2Vzc2lvbiB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzL3R5cGVkLXNlc3Npb24nO1xyXG5cclxuLyoqIFRoZSBkYXRhIHN0b3JlIGNvbmZpZ3VyYXRpb25zICovXHJcbmV4cG9ydCBjbGFzcyBEYXRhU3RvcmVDb25maWc8VCA9IGFueT4ge1xyXG4gICAgLyoqIFRoZSBkYXRhIHN0b3JlIGJhc2UgdXJpICovXHJcbiAgICBwdWJsaWMgYmFzZVVyaTogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBUaGUgcmV0cmlldmUgaHR0cCB2ZXJiICovXHJcbiAgICBwdWJsaWMgcmV0cmlldmVWZXJiOiBIdHRwVmVyYjtcclxuXHJcbiAgICAvKiogVGhlIHJldHJpZXZlIHJlcXVlc3QgZGVsZWdhdGUgKi9cclxuICAgIHB1YmxpYyByZXRyaWV2ZVJlcXVlc3REZWxlZ2F0ZTogKGJhc2VVcmk6IHN0cmluZywgZGF0YTogVHlwZWRTZXNzaW9uPFQ+KSA9PiB7IHVyaTogc3RyaW5nLCBib2R5PzogYW55IH07XHJcblxyXG4gICAgLyoqIFRoZSByZXRyaWV2ZSByZXNwb25zZSBkZWxlZ2F0ZSAqL1xyXG4gICAgcHVibGljIHJldHJpZXZlUmVzcG9uc2VEZWxlZ2F0ZTogKHJlc3BvbnNlOiBhbnksIHNlc3Npb246IFR5cGVkU2Vzc2lvbjxUPikgPT4gVHlwZWRTZXNzaW9uPFQ+O1xyXG5cclxuICAgIC8qKiBUaGUgcmV0cmlldmUgc2VjdXJhYmxlIGRlbGVnYXRlICovXHJcbiAgICBwdWJsaWMgcmV0cmlldmVTZWN1cmFibGVEZWxlZ2F0ZTogKHJlc3BvbnNlOiBhbnkpID0+IEFycmF5PChhcmc6IGFueSkgPT4gYW55PiB8ICgoYXJnOiBhbnkpID0+IGFueSk7XHJcblxyXG4gICAgLyoqIFRoZSB1cGRhdGUgaHR0cCB2ZXJiICovXHJcbiAgICBwdWJsaWMgdXBkYXRlVmVyYjogSHR0cFZlcmI7XHJcblxyXG4gICAgLyoqIFRoZSB1cGRhdGUgcmVxdWVzdCBkZWxlZ2F0ZSAqL1xyXG4gICAgcHVibGljIHVwZGF0ZVJlcXVlc3REZWxlZ2F0ZTogKGJhc2VVcmk6IHN0cmluZywgZGF0YTogVCkgPT4geyB1cmk6IHN0cmluZywgYm9keT86IGFueX07XHJcblxyXG4gICAgLyoqIERlbGVnYXRlIGZvciBkZXRlcm1pbmluZyB3aGVuIHRvIG1ha2UgYSBjYWxsIHRvIHVwZGF0ZSB0aGUgZGF0YSBzdG9yZSAqL1xyXG4gICAgcHVibGljIHNob3VsZFVwZGF0ZURhdGFTdG9yZURlbGVnYXRlOiAoZGF0YTogVCkgPT4gYm9vbGVhbjtcclxufVxyXG4iXX0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zdG9yZS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiUzovQjAyL193b3JrLzgzL3MvbGlicmFyeS9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvIiwic291cmNlcyI6WyJsaWIvY29yZS9tb2RlbHMvZGF0YS1zdG9yZS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0Esb0NBQW9DO0FBQ3BDLE1BQU0sT0FBTyxlQUFlO0NBd0IzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBWZXJiIH0gZnJvbSAnLi9odHRwLXZlcmJzJztcclxuaW1wb3J0IHsgVHlwZWRTZXNzaW9uIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMvdHlwZWQtc2Vzc2lvbic7XHJcblxyXG4vKiogVGhlIGRhdGEgc3RvcmUgY29uZmlndXJhdGlvbnMgKi9cclxuZXhwb3J0IGNsYXNzIERhdGFTdG9yZUNvbmZpZzxUID0gYW55PiB7XHJcbiAgICAvKiogVGhlIGRhdGEgc3RvcmUgYmFzZSB1cmkgKi9cclxuICAgIHB1YmxpYyBiYXNlVXJpOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIFRoZSByZXRyaWV2ZSBodHRwIHZlcmIgKi9cclxuICAgIHB1YmxpYyByZXRyaWV2ZVZlcmI6IEh0dHBWZXJiO1xyXG5cclxuICAgIC8qKiBUaGUgcmV0cmlldmUgcmVxdWVzdCBkZWxlZ2F0ZSAqL1xyXG4gICAgcHVibGljIHJldHJpZXZlUmVxdWVzdERlbGVnYXRlOiAoYmFzZVVyaTogc3RyaW5nLCBkYXRhOiBUeXBlZFNlc3Npb248VD4pID0+IHsgdXJpOiBzdHJpbmcsIGJvZHk/OiBhbnkgfTtcclxuXHJcbiAgICAvKiogVGhlIHJldHJpZXZlIHJlc3BvbnNlIGRlbGVnYXRlICovXHJcbiAgICBwdWJsaWMgcmV0cmlldmVSZXNwb25zZURlbGVnYXRlOiAocmVzcG9uc2U6IGFueSwgc2Vzc2lvbjogVHlwZWRTZXNzaW9uPFQ+KSA9PiBUeXBlZFNlc3Npb248VD47XHJcblxyXG4gICAgLyoqIFRoZSByZXRyaWV2ZSBzZWN1cmFibGUgZGVsZWdhdGUgKi9cclxuICAgIHB1YmxpYyByZXRyaWV2ZVNlY3VyYWJsZURlbGVnYXRlOiAocmVzcG9uc2U6IGFueSkgPT4gQXJyYXk8KGFyZzogYW55KSA9PiBhbnk+IHwgKChhcmc6IGFueSkgPT4gYW55KTtcclxuXHJcbiAgICAvKiogVGhlIHVwZGF0ZSBodHRwIHZlcmIgKi9cclxuICAgIHB1YmxpYyB1cGRhdGVWZXJiOiBIdHRwVmVyYjtcclxuXHJcbiAgICAvKiogVGhlIHVwZGF0ZSByZXF1ZXN0IGRlbGVnYXRlICovXHJcbiAgICBwdWJsaWMgdXBkYXRlUmVxdWVzdERlbGVnYXRlOiAoYmFzZVVyaTogc3RyaW5nLCBkYXRhOiBUKSA9PiB7IHVyaTogc3RyaW5nLCBib2R5PzogYW55fTtcclxuXHJcbiAgICAvKiogRGVsZWdhdGUgZm9yIGRldGVybWluaW5nIHdoZW4gdG8gbWFrZSBhIGNhbGwgdG8gdXBkYXRlIHRoZSBkYXRhIHN0b3JlICovXHJcbiAgICBwdWJsaWMgc2hvdWxkVXBkYXRlRGF0YVN0b3JlRGVsZWdhdGU6IChkYXRhOiBUKSA9PiBib29sZWFuO1xyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiJTOi9CMDMvX3dvcmsvNDEzL3MvbGlicmFyeS9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvIiwic291cmNlcyI6WyJsaWIvY29yZS9tb2RlbHMvaGVhZGVyLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGVhZGVyVGhlbWVTZXR0aW5ncyB9IGZyb20gXCIuLi8uLi9oZWFkZXIvbW9kZWxzL2hlYWRlci10aGVtZS5zZXR0aW5nc1wiO1xyXG5pbXBvcnQgeyBIZWFkZXJTZXR0aW5ncyB9IGZyb20gXCIuLi8uLi9oZWFkZXIvbW9kZWxzL2hlYWRlci5zZXR0aW5nc1wiO1xyXG5cclxuLyoqIFRoZSBoZWFkZXIgY29uZmlndXJhdGlvbnMgKi9cclxuZXhwb3J0IGludGVyZmFjZSBIZWFkZXJDb25maWcge1xyXG4gICAgLyoqIFRoZSBoZWFkZXIgdGhlbWUgc2V0dGluZ3MgKi9cclxuICAgIHRoZW1lOiBIZWFkZXJUaGVtZVNldHRpbmdzO1xyXG4gICAgLyoqIFRoZSBoZWFkZXIgc2V0dGluZ3MgKi9cclxuICAgIHNldHRpbmdzOiBIZWFkZXJTZXR0aW5ncztcclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiJTOi9CMDIvX3dvcmsvODMvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL21vZGVscy9oZWFkZXItY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIZWFkZXJUaGVtZVNldHRpbmdzIH0gZnJvbSBcIi4uLy4uL2hlYWRlci9tb2RlbHMvaGVhZGVyLXRoZW1lLnNldHRpbmdzXCI7XHJcbmltcG9ydCB7IEhlYWRlclNldHRpbmdzIH0gZnJvbSBcIi4uLy4uL2hlYWRlci9tb2RlbHMvaGVhZGVyLnNldHRpbmdzXCI7XHJcblxyXG4vKiogVGhlIGhlYWRlciBjb25maWd1cmF0aW9ucyAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlckNvbmZpZyB7XHJcbiAgICAvKiogVGhlIGhlYWRlciB0aGVtZSBzZXR0aW5ncyAqL1xyXG4gICAgdGhlbWU6IEhlYWRlclRoZW1lU2V0dGluZ3M7XHJcbiAgICAvKiogVGhlIGhlYWRlciBzZXR0aW5ncyAqL1xyXG4gICAgc2V0dGluZ3M6IEhlYWRlclNldHRpbmdzO1xyXG59XHJcbiJdfQ==
@@ -6,4 +6,4 @@ export const httpVerb = {
6
6
  PATCH: 'PATCH',
7
7
  DELETE: 'DELETE',
8
8
  };
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC12ZXJicy5qcyIsInNvdXJjZVJvb3QiOiJTOi9CMDMvX3dvcmsvNDEzL3MvbGlicmFyeS9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvIiwic291cmNlcyI6WyJsaWIvY29yZS9tb2RlbHMvaHR0cC12ZXJicy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSw4QkFBOEI7QUFDOUIsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHO0lBQ3BCLElBQUksRUFBRSxNQUFrQjtJQUN4QixHQUFHLEVBQUUsS0FBaUI7SUFDdEIsR0FBRyxFQUFFLEtBQWlCO0lBQ3RCLEtBQUssRUFBRSxPQUFtQjtJQUMxQixNQUFNLEVBQUUsUUFBb0I7Q0FDL0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBUaGUgaHR0cCB2ZXJiIHR5cGVzICovXHJcbmV4cG9ydCB0eXBlIEh0dHBWZXJiID0gJ1BPU1QnIHwgJ0dFVCcgfCAnUFVUJyB8ICdQQVRDSCcgfCAnREVMRVRFJztcclxuXHJcbi8qKiBUaGUgaHR0cCB2ZXJiIGNvbnN0YW50cyAqL1xyXG5leHBvcnQgY29uc3QgaHR0cFZlcmIgPSB7XHJcbiAgICBQT1NUOiAnUE9TVCcgYXMgSHR0cFZlcmIsXHJcbiAgICBHRVQ6ICdHRVQnIGFzIEh0dHBWZXJiLFxyXG4gICAgUFVUOiAnUFVUJyBhcyBIdHRwVmVyYixcclxuICAgIFBBVENIOiAnUEFUQ0gnIGFzIEh0dHBWZXJiLFxyXG4gICAgREVMRVRFOiAnREVMRVRFJyBhcyBIdHRwVmVyYixcclxufVxyXG4iXX0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC12ZXJicy5qcyIsInNvdXJjZVJvb3QiOiJTOi9CMDIvX3dvcmsvODMvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL21vZGVscy9odHRwLXZlcmJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLDhCQUE4QjtBQUM5QixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUc7SUFDcEIsSUFBSSxFQUFFLE1BQWtCO0lBQ3hCLEdBQUcsRUFBRSxLQUFpQjtJQUN0QixHQUFHLEVBQUUsS0FBaUI7SUFDdEIsS0FBSyxFQUFFLE9BQW1CO0lBQzFCLE1BQU0sRUFBRSxRQUFvQjtDQUMvQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFRoZSBodHRwIHZlcmIgdHlwZXMgKi9cclxuZXhwb3J0IHR5cGUgSHR0cFZlcmIgPSAnUE9TVCcgfCAnR0VUJyB8ICdQVVQnIHwgJ1BBVENIJyB8ICdERUxFVEUnO1xyXG5cclxuLyoqIFRoZSBodHRwIHZlcmIgY29uc3RhbnRzICovXHJcbmV4cG9ydCBjb25zdCBodHRwVmVyYiA9IHtcclxuICAgIFBPU1Q6ICdQT1NUJyBhcyBIdHRwVmVyYixcclxuICAgIEdFVDogJ0dFVCcgYXMgSHR0cFZlcmIsXHJcbiAgICBQVVQ6ICdQVVQnIGFzIEh0dHBWZXJiLFxyXG4gICAgUEFUQ0g6ICdQQVRDSCcgYXMgSHR0cFZlcmIsXHJcbiAgICBERUxFVEU6ICdERUxFVEUnIGFzIEh0dHBWZXJiLFxyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1jb25maWcuanMiLCJzb3VyY2VSb290IjoiUzovQjAzL193b3JrLzQxMy9zL2xpYnJhcnkvcHJvamVjdHMvYXJtYXR1cmUvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvcmUvbW9kZWxzL25hdmlnYXRpb24tY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOYXZpZ2F0aW9uVGhlbWVTZXR0aW5ncyB9IGZyb20gJy4uLy4uL25hdmlnYXRpb24vbW9kZWxzL25hdi10aGVtZS5zZXR0aW5ncyc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25BZHZhbmNlZFNldHRpbmdzLCBOYXZpZ2F0aW9uU2V0dGluZ3MgfSBmcm9tICcuLi8uLi9uYXZpZ2F0aW9uL21vZGVscy9uYXYuc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBOYXZOb2RlIH0gZnJvbSAnLi4vLi4vbmF2aWdhdGlvbi9tb2RlbHMvbmF2aWdhdGlvbic7XHJcblxyXG4vKiogVGhlIG5hdmlnYXRpb24gY29uZmlnICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTmF2aWdhdGlvbkNvbmZpZyB7XHJcbiAgICAvKiogVGhlIG5hdmlnYXRpb24gdGhlbWUgc2V0dGluZ3MgKi9cclxuICAgIHRoZW1lOiBOYXZpZ2F0aW9uVGhlbWVTZXR0aW5ncztcclxuICAgIC8qKiBUaGUgbmF2aWdhdGlvbiBzZXR0aW5ncyAqL1xyXG4gICAgc2V0dGluZ3M6IE5hdmlnYXRpb25TZXR0aW5ncztcclxuICAgIC8qKiBUaGUgYWR2YW5jZWQgbmF2aWdhdGlvbiBzZXR0aW5ncyAqL1xyXG4gICAgYWR2YW5jZWQ6IE5hdmlnYXRpb25BZHZhbmNlZFNldHRpbmdzO1xyXG4gICAgLyoqIFRoZSBuYXZpZ2F0aW9uIGFycmF5ICovXHJcbiAgICBub2RlczogQXJyYXk8TmF2Tm9kZT47XHJcbn1cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1jb25maWcuanMiLCJzb3VyY2VSb290IjoiUzovQjAyL193b3JrLzgzL3MvbGlicmFyeS9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvIiwic291cmNlcyI6WyJsaWIvY29yZS9tb2RlbHMvbmF2aWdhdGlvbi1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5hdmlnYXRpb25UaGVtZVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vbmF2aWdhdGlvbi9tb2RlbHMvbmF2LXRoZW1lLnNldHRpbmdzJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkFkdmFuY2VkU2V0dGluZ3MsIE5hdmlnYXRpb25TZXR0aW5ncyB9IGZyb20gJy4uLy4uL25hdmlnYXRpb24vbW9kZWxzL25hdi5zZXR0aW5ncyc7XHJcbmltcG9ydCB7IE5hdk5vZGUgfSBmcm9tICcuLi8uLi9uYXZpZ2F0aW9uL21vZGVscy9uYXZpZ2F0aW9uJztcclxuXHJcbi8qKiBUaGUgbmF2aWdhdGlvbiBjb25maWcgKi9cclxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uQ29uZmlnIHtcclxuICAgIC8qKiBUaGUgbmF2aWdhdGlvbiB0aGVtZSBzZXR0aW5ncyAqL1xyXG4gICAgdGhlbWU6IE5hdmlnYXRpb25UaGVtZVNldHRpbmdzO1xyXG4gICAgLyoqIFRoZSBuYXZpZ2F0aW9uIHNldHRpbmdzICovXHJcbiAgICBzZXR0aW5nczogTmF2aWdhdGlvblNldHRpbmdzO1xyXG4gICAgLyoqIFRoZSBhZHZhbmNlZCBuYXZpZ2F0aW9uIHNldHRpbmdzICovXHJcbiAgICBhZHZhbmNlZDogTmF2aWdhdGlvbkFkdmFuY2VkU2V0dGluZ3M7XHJcbiAgICAvKiogVGhlIG5hdmlnYXRpb24gYXJyYXkgKi9cclxuICAgIG5vZGVzOiBBcnJheTxOYXZOb2RlPjtcclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy1hdXRoLXNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IlM6L0IwMy9fd29yay80MTMvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL21vZGVscy9vaWRjLWF1dGgtc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF1dGhDb25maWcgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcclxuXHJcbi8qKiBPSURDIEF1dGggU2V0dGluZ3MgKi9cclxuZXhwb3J0IGludGVyZmFjZSBPaWRjQXV0aFNldHRpbmdzIGV4dGVuZHMgQXV0aENvbmZpZyB7XHJcbiAgICBsb2dJblRleHQ/OiBzdHJpbmc7XHJcbiAgICBsb2dPdXRUZXh0Pzogc3RyaW5nO1xyXG4gICAgcmV0dXJuUm91dGU/OiBzdHJpbmc7XHJcbiAgICBhdXRoU2V0T25TdGFydHVwPzogYm9vbGVhbjtcclxuICAgIHJlcXVpcmVMb2dpbk9uU3RhcnR1cD86IGJvb2xlYW47XHJcbn1cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy1hdXRoLXNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IlM6L0IwMi9fd29yay84My9zL2xpYnJhcnkvcHJvamVjdHMvYXJtYXR1cmUvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvcmUvbW9kZWxzL29pZGMtYXV0aC1zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXV0aENvbmZpZyB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xyXG5cclxuLyoqIE9JREMgQXV0aCBTZXR0aW5ncyAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIE9pZGNBdXRoU2V0dGluZ3MgZXh0ZW5kcyBBdXRoQ29uZmlnIHtcclxuICAgIGxvZ0luVGV4dD86IHN0cmluZztcclxuICAgIGxvZ091dFRleHQ/OiBzdHJpbmc7XHJcbiAgICByZXR1cm5Sb3V0ZT86IHN0cmluZztcclxuICAgIGF1dGhTZXRPblN0YXJ0dXA/OiBib29sZWFuO1xyXG4gICAgcmVxdWlyZUxvZ2luT25TdGFydHVwPzogYm9vbGVhbjtcclxufVxyXG4iXX0=
@@ -4,4 +4,4 @@ export var RoutePath;
4
4
  RoutePath["Internal"] = "internal";
5
5
  RoutePath["External"] = "external";
6
6
  })(RoutePath || (RoutePath = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtcGF0aC5qcyIsInNvdXJjZVJvb3QiOiJTOi9CMDMvX3dvcmsvNDEzL3MvbGlicmFyeS9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvIiwic291cmNlcyI6WyJsaWIvY29yZS9tb2RlbHMvcm91dGUtcGF0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFDMUIsTUFBTSxDQUFOLElBQVksU0FHWDtBQUhELFdBQVksU0FBUztJQUNuQixrQ0FBcUIsQ0FBQTtJQUNyQixrQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBSFcsU0FBUyxLQUFULFNBQVMsUUFHcEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogVGhlIHJvdXRlIHBhdGggZW51bSAqL1xyXG5leHBvcnQgZW51bSBSb3V0ZVBhdGgge1xyXG4gIEludGVybmFsID0gJ2ludGVybmFsJyxcclxuICBFeHRlcm5hbCA9ICdleHRlcm5hbCdcclxufVxyXG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtcGF0aC5qcyIsInNvdXJjZVJvb3QiOiJTOi9CMDIvX3dvcmsvODMvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL21vZGVscy9yb3V0ZS1wYXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBCQUEwQjtBQUMxQixNQUFNLENBQU4sSUFBWSxTQUdYO0FBSEQsV0FBWSxTQUFTO0lBQ25CLGtDQUFxQixDQUFBO0lBQ3JCLGtDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyxTQUFTLEtBQVQsU0FBUyxRQUdwQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBUaGUgcm91dGUgcGF0aCBlbnVtICovXHJcbmV4cG9ydCBlbnVtIFJvdXRlUGF0aCB7XHJcbiAgSW50ZXJuYWwgPSAnaW50ZXJuYWwnLFxyXG4gIEV4dGVybmFsID0gJ2V4dGVybmFsJ1xyXG59XHJcbiJdfQ==
@@ -1,4 +1,4 @@
1
1
  /** The session configurations */
2
2
  export class SessionConfig {
3
3
  }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1jb25maWcuanMiLCJzb3VyY2VSb290IjoiUzovQjAzL193b3JrLzQxMy9zL2xpYnJhcnkvcHJvamVjdHMvYXJtYXR1cmUvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvcmUvbW9kZWxzL3Nlc3Npb24tY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGlDQUFpQztBQUNqQyxNQUFNLE9BQU8sYUFBYTtDQXFCekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhU3RvcmVDb25maWcgfSBmcm9tICcuL2RhdGEtc3RvcmUtY29uZmlnJztcclxuXHJcbi8qKiBUaGUgc2Vzc2lvbiBjb25maWd1cmF0aW9ucyAqL1xyXG5leHBvcnQgY2xhc3MgU2Vzc2lvbkNvbmZpZzxUID0gYW55PiB7XHJcbiAgICAvKiogVGhlIGJyb3dzZXIgc3RvcmFnZSBpbXBsZW1lbnRhdGlvbiAqL1xyXG4gICAgcHVibGljIGJyb3dzZXJTdG9yYWdlSW1wbGVtZW50YXRpb246IHN0cmluZztcclxuXHJcbiAgICAvKiogVGhlIHNlc3Npb24gbWFuYWdlbWVudCBpbXBsZW1lbnRhdGlvbiAqL1xyXG4gICAgcHVibGljIHNlc3Npb25NYW5hZ2VtZW50SW1wbGVtZW50YXRpb246IHN0cmluZztcclxuXHJcbiAgICAvKiogVGhlIGRhdGEgc3RvcmUgY29uZmlndXJhdGlvbnMgKi9cclxuICAgIHB1YmxpYyBkYXRhU3RvcmVDb25maWc6IERhdGFTdG9yZUNvbmZpZzxUPjtcclxuXHJcbiAgICAvKiogVGhlIHRyYW5zZmVyIGJhc2UgcGF0aCAqL1xyXG4gICAgcHVibGljIHRyYW5zZmVyQmFzZVBhdGg6IHN0cmluZztcclxuXHJcbiAgICAvKiogVGhlIGtleSBwYXRoIHVzZWQgZm9yIGJyb3dzZXIgc3RvcmFnZSAqL1xyXG4gICAgcHVibGljIGtleVBhdGg6IHN0cmluZztcclxuXHJcbiAgICAvKiogVGhlIHNlc3Npb24gbWFuYWdlbWVudCBiYXNlIHBhdGggKi9cclxuICAgIHB1YmxpYyBzZXNzaW9uTWFuYWdlbWVudEJhc2VQYXRoOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIFRoZSBzZXNzaW9uIHJlZnJlc2ggdGltZSBpbiBtaW51dGVzICovXHJcbiAgICBwdWJsaWMgc2Vzc2lvblJlZnJlc2hUaW1lTWludXRlczogbnVtYmVyO1xyXG59XHJcbiJdfQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1jb25maWcuanMiLCJzb3VyY2VSb290IjoiUzovQjAyL193b3JrLzgzL3MvbGlicmFyeS9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvIiwic291cmNlcyI6WyJsaWIvY29yZS9tb2RlbHMvc2Vzc2lvbi1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsaUNBQWlDO0FBQ2pDLE1BQU0sT0FBTyxhQUFhO0NBcUJ6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFTdG9yZUNvbmZpZyB9IGZyb20gJy4vZGF0YS1zdG9yZS1jb25maWcnO1xyXG5cclxuLyoqIFRoZSBzZXNzaW9uIGNvbmZpZ3VyYXRpb25zICovXHJcbmV4cG9ydCBjbGFzcyBTZXNzaW9uQ29uZmlnPFQgPSBhbnk+IHtcclxuICAgIC8qKiBUaGUgYnJvd3NlciBzdG9yYWdlIGltcGxlbWVudGF0aW9uICovXHJcbiAgICBwdWJsaWMgYnJvd3NlclN0b3JhZ2VJbXBsZW1lbnRhdGlvbjogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBUaGUgc2Vzc2lvbiBtYW5hZ2VtZW50IGltcGxlbWVudGF0aW9uICovXHJcbiAgICBwdWJsaWMgc2Vzc2lvbk1hbmFnZW1lbnRJbXBsZW1lbnRhdGlvbjogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBUaGUgZGF0YSBzdG9yZSBjb25maWd1cmF0aW9ucyAqL1xyXG4gICAgcHVibGljIGRhdGFTdG9yZUNvbmZpZzogRGF0YVN0b3JlQ29uZmlnPFQ+O1xyXG5cclxuICAgIC8qKiBUaGUgdHJhbnNmZXIgYmFzZSBwYXRoICovXHJcbiAgICBwdWJsaWMgdHJhbnNmZXJCYXNlUGF0aDogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBUaGUga2V5IHBhdGggdXNlZCBmb3IgYnJvd3NlciBzdG9yYWdlICovXHJcbiAgICBwdWJsaWMga2V5UGF0aDogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBUaGUgc2Vzc2lvbiBtYW5hZ2VtZW50IGJhc2UgcGF0aCAqL1xyXG4gICAgcHVibGljIHNlc3Npb25NYW5hZ2VtZW50QmFzZVBhdGg6IHN0cmluZztcclxuXHJcbiAgICAvKiogVGhlIHNlc3Npb24gcmVmcmVzaCB0aW1lIGluIG1pbnV0ZXMgKi9cclxuICAgIHB1YmxpYyBzZXNzaW9uUmVmcmVzaFRpbWVNaW51dGVzOiBudW1iZXI7XHJcbn1cclxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmpzIiwic291cmNlUm9vdCI6IlM6L0IwMy9fd29yay80MTMvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL21vZGVscy9zdHlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBUaGUgc3R5bGVzIGludGVyZmFjZSAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFN0eWxlcyB7XHJcbiAgICAvKiogVGhlIGhlaWdodCBpbiBweCAqL1xyXG4gICAgaGVpZ2h0PzogbnVtYmVyO1xyXG5cclxuICAgIC8qKiBUaGUgbW9iaWxlIGhlaWdodCBpbiBweCAqL1xyXG4gICAgaGVpZ2h0TW9iaWxlPzogbnVtYmVyO1xyXG5cclxuICAgIC8qKiBUaGUgd2lkdGggaW4gcHggKi9cclxuICAgIHdpZHRoPzogbnVtYmVyO1xyXG5cclxuICAgIC8qKiBUaGUgbW9iaWxlIHdpZHRoIGluIHB4ICovXHJcbiAgICB3aWR0aE1vYmlsZT86IG51bWJlcjtcclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmpzIiwic291cmNlUm9vdCI6IlM6L0IwMi9fd29yay84My9zL2xpYnJhcnkvcHJvamVjdHMvYXJtYXR1cmUvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvcmUvbW9kZWxzL3N0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFRoZSBzdHlsZXMgaW50ZXJmYWNlICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3R5bGVzIHtcclxuICAgIC8qKiBUaGUgaGVpZ2h0IGluIHB4ICovXHJcbiAgICBoZWlnaHQ/OiBudW1iZXI7XHJcblxyXG4gICAgLyoqIFRoZSBtb2JpbGUgaGVpZ2h0IGluIHB4ICovXHJcbiAgICBoZWlnaHRNb2JpbGU/OiBudW1iZXI7XHJcblxyXG4gICAgLyoqIFRoZSB3aWR0aCBpbiBweCAqL1xyXG4gICAgd2lkdGg/OiBudW1iZXI7XHJcblxyXG4gICAgLyoqIFRoZSBtb2JpbGUgd2lkdGggaW4gcHggKi9cclxuICAgIHdpZHRoTW9iaWxlPzogbnVtYmVyO1xyXG59XHJcbiJdfQ==
@@ -1,4 +1,4 @@
1
1
  /** The session class */
2
2
  export class TypedSession {
3
3
  }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWQtc2Vzc2lvbi5qcyIsInNvdXJjZVJvb3QiOiJTOi9CMDMvX3dvcmsvNDEzL3MvbGlicmFyeS9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvIiwic291cmNlcyI6WyJsaWIvY29yZS9tb2RlbHMvdHlwZWQtc2Vzc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSx3QkFBd0I7QUFDeEIsTUFBTSxPQUFPLFlBQVk7Q0FrQnhCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2Vzc2lvblJlc3BvbnNlTW9kZWwgfSBmcm9tICcuLi8uLi9jb3JlL2NsaWVudC1nZW5lcmF0ZWQvbW9kZWwvc2Vzc2lvblJlc3BvbnNlTW9kZWwnO1xyXG5pbXBvcnQgeyBCcmFuZGluZ01vZGVsLCBUcmFja2luZ01vZGVsLCBPQXV0aE1vZGVsIH0gZnJvbSAnLi4vLi4vY29yZS9jbGllbnQtZ2VuZXJhdGVkL21vZGVsL21vZGVscyc7XHJcblxyXG4vKiogVGhlIHNlc3Npb24gY2xhc3MgKi9cclxuZXhwb3J0IGNsYXNzIFR5cGVkU2Vzc2lvbjxUPiBpbXBsZW1lbnRzIFNlc3Npb25SZXNwb25zZU1vZGVsIHtcclxuICAgIC8qKiBUaGUgaW5pdGFsaXppbmcgb3JpZ2luICovXHJcbiAgICBwdWJsaWMgaW5pdGlhbGl6aW5nT3JpZ2luPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBUaGUgc2Vzc2lvbiBpZCAqL1xyXG4gICAgcHVibGljIHNlc3Npb25JZD86IHN0cmluZztcclxuXHJcbiAgICAvKiogVGhlIHR5cGVkIHNlc3Npb24gZGF0YSAqL1xyXG4gICAgcHVibGljIHNlc3Npb25EYXRhPzogVDtcclxuXHJcbiAgICAvKiogVGhlIGJyYW5kaW5nIG1vZGVsICovXHJcbiAgICBwdWJsaWMgYnJhbmRpbmc/OiBCcmFuZGluZ01vZGVsO1xyXG5cclxuICAgIC8qKiBUaGUgdHJhY2tpbmcgbW9kZWwgKi9cclxuICAgIHB1YmxpYyB0cmFja2luZz86IFRyYWNraW5nTW9kZWw7XHJcblxyXG4gICAgLyoqIFRoZSBvYXV0aCBtb2RlbCAqL1xyXG4gICAgcHVibGljIG9BdXRoPzogT0F1dGhNb2RlbDtcclxufSJdfQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWQtc2Vzc2lvbi5qcyIsInNvdXJjZVJvb3QiOiJTOi9CMDIvX3dvcmsvODMvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL21vZGVscy90eXBlZC1zZXNzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLHdCQUF3QjtBQUN4QixNQUFNLE9BQU8sWUFBWTtDQWtCeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXNzaW9uUmVzcG9uc2VNb2RlbCB9IGZyb20gJy4uLy4uL2NvcmUvY2xpZW50LWdlbmVyYXRlZC9tb2RlbC9zZXNzaW9uUmVzcG9uc2VNb2RlbCc7XHJcbmltcG9ydCB7IEJyYW5kaW5nTW9kZWwsIFRyYWNraW5nTW9kZWwsIE9BdXRoTW9kZWwgfSBmcm9tICcuLi8uLi9jb3JlL2NsaWVudC1nZW5lcmF0ZWQvbW9kZWwvbW9kZWxzJztcclxuXHJcbi8qKiBUaGUgc2Vzc2lvbiBjbGFzcyAqL1xyXG5leHBvcnQgY2xhc3MgVHlwZWRTZXNzaW9uPFQ+IGltcGxlbWVudHMgU2Vzc2lvblJlc3BvbnNlTW9kZWwge1xyXG4gICAgLyoqIFRoZSBpbml0YWxpemluZyBvcmlnaW4gKi9cclxuICAgIHB1YmxpYyBpbml0aWFsaXppbmdPcmlnaW4/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIFRoZSBzZXNzaW9uIGlkICovXHJcbiAgICBwdWJsaWMgc2Vzc2lvbklkPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBUaGUgdHlwZWQgc2Vzc2lvbiBkYXRhICovXHJcbiAgICBwdWJsaWMgc2Vzc2lvbkRhdGE/OiBUO1xyXG5cclxuICAgIC8qKiBUaGUgYnJhbmRpbmcgbW9kZWwgKi9cclxuICAgIHB1YmxpYyBicmFuZGluZz86IEJyYW5kaW5nTW9kZWw7XHJcblxyXG4gICAgLyoqIFRoZSB0cmFja2luZyBtb2RlbCAqL1xyXG4gICAgcHVibGljIHRyYWNraW5nPzogVHJhY2tpbmdNb2RlbDtcclxuXHJcbiAgICAvKiogVGhlIG9hdXRoIG1vZGVsICovXHJcbiAgICBwdWJsaWMgb0F1dGg/OiBPQXV0aE1vZGVsO1xyXG59Il19
@@ -9,4 +9,4 @@ export class UserEntityServiceConfig {
9
9
  this.validate = (user) => true;
10
10
  }
11
11
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1lbnRpdHktc2VydmljZS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiUzovQjAzL193b3JrLzQxMy9zL2xpYnJhcnkvcHJvamVjdHMvYXJtYXR1cmUvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvcmUvbW9kZWxzL3VzZXItZW50aXR5LXNlcnZpY2UtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLHFDQUFxQztBQUNyQyxNQUFNLE9BQU8sdUJBQXVCO0lBQXBDO1FBQ0ksdUNBQXVDO1FBQ2hDLGtCQUFhLEdBQVksSUFBSSxDQUFDO1FBS3JDLGdDQUFnQztRQUN6QixpQkFBWSxHQUFZLElBQUksQ0FBQztRQUtwQyw0QkFBNEI7UUFDckIsYUFBUSxHQUF5QyxDQUFDLElBQXVCLEVBQVcsRUFBRSxDQUFDLElBQUksQ0FBQztJQUN2RyxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3NlcnRlZFVzZXJNb2RlbCB9IGZyb20gJy4uL2NsaWVudC1nZW5lcmF0ZWQvbW9kZWwvYXNzZXJ0ZWRVc2VyTW9kZWwnO1xyXG5cclxuLyoqIFRoZSB1c2VyIGVudGl0eSBzZXJ2aWNlIGNvbmZpZyAqL1xyXG5leHBvcnQgY2xhc3MgVXNlckVudGl0eVNlcnZpY2VDb25maWcge1xyXG4gICAgLyoqIHRydWUgaWYgZ2V0dGluZyB1c2VyIG9uIHN0YXJ0IHVwICovXHJcbiAgICBwdWJsaWMgZ2V0VXNlck9uSW5pdDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgLyoqIFRoZSB1c2VyIGVudGl0eSBiYXNlIHVybCAqL1xyXG4gICAgcHVibGljIHVzZXJFbnRpdHlCYXNlVXJsOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIFRydWUgd2hlbiBpbmNsdWRpbmcgbGlua3MgKi9cclxuICAgIHB1YmxpYyBpbmNsdWRlTGlua3M6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIC8qKiBUaGUgcGFydGlhbCBmb3IgdGhlIGdldCB1c2VyIGNhbGwgKi9cclxuICAgIHB1YmxpYyBnZXRVc2VyUGFydGlhbDogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBUaGUgdmFsaWRhdGUgZnVuY3Rpb24gKi9cclxuICAgIHB1YmxpYyB2YWxpZGF0ZTogKHVzZXI6IEFzc2VydGVkVXNlck1vZGVsKSA9PiBib29sZWFuID0gKHVzZXI6IEFzc2VydGVkVXNlck1vZGVsKTogYm9vbGVhbiA9PiB0cnVlO1xyXG59XHJcbiJdfQ==
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1lbnRpdHktc2VydmljZS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiUzovQjAyL193b3JrLzgzL3MvbGlicmFyeS9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvIiwic291cmNlcyI6WyJsaWIvY29yZS9tb2RlbHMvdXNlci1lbnRpdHktc2VydmljZS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEscUNBQXFDO0FBQ3JDLE1BQU0sT0FBTyx1QkFBdUI7SUFBcEM7UUFDSSx1Q0FBdUM7UUFDaEMsa0JBQWEsR0FBWSxJQUFJLENBQUM7UUFLckMsZ0NBQWdDO1FBQ3pCLGlCQUFZLEdBQVksSUFBSSxDQUFDO1FBS3BDLDRCQUE0QjtRQUNyQixhQUFRLEdBQXlDLENBQUMsSUFBdUIsRUFBVyxFQUFFLENBQUMsSUFBSSxDQUFDO0lBQ3ZHLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzc2VydGVkVXNlck1vZGVsIH0gZnJvbSAnLi4vY2xpZW50LWdlbmVyYXRlZC9tb2RlbC9hc3NlcnRlZFVzZXJNb2RlbCc7XHJcblxyXG4vKiogVGhlIHVzZXIgZW50aXR5IHNlcnZpY2UgY29uZmlnICovXHJcbmV4cG9ydCBjbGFzcyBVc2VyRW50aXR5U2VydmljZUNvbmZpZyB7XHJcbiAgICAvKiogdHJ1ZSBpZiBnZXR0aW5nIHVzZXIgb24gc3RhcnQgdXAgKi9cclxuICAgIHB1YmxpYyBnZXRVc2VyT25Jbml0OiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvKiogVGhlIHVzZXIgZW50aXR5IGJhc2UgdXJsICovXHJcbiAgICBwdWJsaWMgdXNlckVudGl0eUJhc2VVcmw6IHN0cmluZztcclxuXHJcbiAgICAvKiogVHJ1ZSB3aGVuIGluY2x1ZGluZyBsaW5rcyAqL1xyXG4gICAgcHVibGljIGluY2x1ZGVMaW5rczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgLyoqIFRoZSBwYXJ0aWFsIGZvciB0aGUgZ2V0IHVzZXIgY2FsbCAqL1xyXG4gICAgcHVibGljIGdldFVzZXJQYXJ0aWFsOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIFRoZSB2YWxpZGF0ZSBmdW5jdGlvbiAqL1xyXG4gICAgcHVibGljIHZhbGlkYXRlOiAodXNlcjogQXNzZXJ0ZWRVc2VyTW9kZWwpID0+IGJvb2xlYW4gPSAodXNlcjogQXNzZXJ0ZWRVc2VyTW9kZWwpOiBib29sZWFuID0+IHRydWU7XHJcbn1cclxuIl19
@@ -175,4 +175,4 @@ AuthorizationService.ctorParameters = () => [
175
175
  { type: HybridSamlOauthService },
176
176
  { type: CustomAuthConfigService, decorators: [{ type: Optional }] }
177
177
  ];
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXphdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IlM6L0IwMy9fd29yay80MTMvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL3NlcnZpY2VzL2F1dGhvcml6YXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFVLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUduRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7O0FBRXZFLDBCQUEwQjtBQUkxQixNQUFNLE9BQU8sb0JBQW9CO0lBaUIvQjs7Ozs7OztPQU9HO0lBQ0gsWUFDbUIsV0FBeUIsRUFDekIsVUFBc0IsRUFDdEIsV0FBeUIsRUFDekIsaUJBQXlDLEVBQzdCLHVCQUFnRDtRQUo1RCxnQkFBVyxHQUFYLFdBQVcsQ0FBYztRQUN6QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGdCQUFXLEdBQVgsV0FBVyxDQUFjO1FBQ3pCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBd0I7UUFDN0IsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQXRCL0Usb0NBQW9DO1FBQ25CLGlCQUFZLEdBQTZCLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFD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V0FBVyxDQUFDLDZCQUE2QixFQUFFO2FBQzdDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUNuQixJQUFJLFlBQVksRUFBRTtnQkFDaEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2FBQ3hCO1FBQ0gsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ1QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Ozs7WUEvS0YsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFib0IsWUFBWTtZQUh4QixVQUFVO1lBR2dCLFlBQVk7WUFLdEMsc0JBQXNCO1lBR3RCLHVCQUF1Qix1QkFvQzNCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuaW1wb3J0IHsgQXV0aENvbmZpZywgT0F1dGhTZXJ2aWNlLCBPQXV0aFN0b3JhZ2UgfSBmcm9tIFwiYW5ndWxhci1vYXV0aDItb2lkY1wiO1xyXG5pbXBvcnQgeyBKd2tzVmFsaWRhdGlvbkhhbmRsZXIgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjLWp3a3MnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuaW1wb3J0IHsgSGVhZGVyQXV0aFNldHRpbmdzIH0gZnJvbSBcIi4uLy4uL2hlYWRlci9tb2RlbHMvaGVhZGVyLWF1dGguc2V0dGluZ3NcIjtcclxuaW1wb3J0IHsgSHlicmlkU2FtbE9hdXRoU2VydmljZSB9IGZyb20gXCIuLi8uLi9vYXV0aC9vYXV0aC1hcGlcIjtcclxuaW1wb3J0IHsgQWNjZXNzVG9rZW5DbGFpbXMgfSBmcm9tIFwiLi4vLi4vcmJhYy9yYmFjLWFwaVwiO1xyXG5pbXBvcnQgeyBwcmVTaWduSW5Sb3V0ZVN0b3JhZ2VLZXkgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBDdXN0b21BdXRoQ29uZmlnU2VydmljZSB9IGZyb20gJy4vY3VzdG9tLWF1dGgtY29uZmlnLnNlcnZpY2UnO1xyXG5cclxuLyoqIFRoZSBzZXNzaW9uIHNlcnZpY2UgKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXV0aG9yaXphdGlvblNlcnZpY2Uge1xyXG5cclxuICAvKiogVGhlIGNsYWltcyAqL1xyXG4gIHByaXZhdGUgY2xhaW1zOiBBY2Nlc3NUb2tlbkNsYWltcztcclxuXHJcbiAgLyoqIEF1dGhvcml6YXRpb24gc2V0dGluZ3MuKi9cclxuICBwdWJsaWMgYXV0aFNldHRpbmdzOiBIZWFkZXJBdXRoU2V0dGluZ3M7XHJcblxyXG4gIC8qKiBJc2xvZ2dlZEluIGJlaGF2aW91ciBzdWJqZWN0ICoqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgaXNMb2dnZWRJbkJzOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgLyoqIElzbG9nZ2VkSW4gb2JzZXJ2YWJsZSAqKi9cclxuICBwdWJsaWMgaXNMb2dnZWRJbiQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcblxyXG4gIC8qKiBEZXRlcm1pbmVkIHdoZXRoZXIgaXMgdXNlciBpcyBsb2dnZWQgaW4qKi9cclxuICBwdWJsaWMgSXNMb2dnZWRJbjogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogQ29uc3RydWN0cyBhdXRob3JpemF0aW9uIHNlcnZpY2VcclxuICAgKiBAcGFyYW0gYXV0aFNlcnZpY2UgVGhlIE9BdXRoIFNlcnZpY2VcclxuICAgKiBAcGFyYW0gaHR0cENsaWVudCBUaGUgSFRUUENsaWVudFxyXG4gICAqIEBwYXJhbSBhdXRoU3RvcmFnZSBUaGUgQXV0aFN0b3JhZ2VcclxuICAgKiBAcGFyYW0gaHlicmlkQXV0aFNlcnZpY2UgVGhlIEh5YnJpZCBTZXJ2aWNlXHJcbiAgICogQHBhcmFtIGN1c3RvbUF1dGhDb25maWdTZXJ2aWNlIFRoZSBDdXN0b20gQXV0aG9yaXphdGlvbiBTZXJ2aWNlXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBPQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGhTdG9yYWdlOiBPQXV0aFN0b3JhZ2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh5YnJpZEF1dGhTZXJ2aWNlOiBIeWJyaWRTYW1sT2F1dGhTZXJ2aWNlLFxyXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSByZWFkb25seSBjdXN0b21BdXRoQ29uZmlnU2VydmljZTogQ3VzdG9tQXV0aENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuaXNMb2dnZWRJbiQgPSB0aGlzLmlzTG9nZ2VkSW5Ccy5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemUgQXV0aG9yaXphdGlvbiBTZXR0aW5ncy5cclxuICAgKiAgQHBhcmFtIGF1dGhTZXR0aW5ncyBUaGUgQXV0aG9yaXphdGlvbiBzZXR0aW5nc1xyXG4gICAqL1xyXG4gIHB1YmxpYyBpbml0aWFsaXplQXV0aFNldHRpbmdzKGF1dGhTZXR0aW5nczogSGVhZGVyQXV0aFNldHRpbmdzLCBzaG91bGRUcnlMb2dpbjogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcclxuICAgIHRoaXMuYXV0aFNldHRpbmdzID0gYXV0aFNldHRpbmdzO1xyXG5cclxuICAgIGlmICh0aGlzLmN1c3RvbUF1dGhDb25maWdTZXJ2aWNlKSB7XHJcbiAgICAgIHRoaXMuY3VzdG9tQXV0aENvbmZpZ1NlcnZpY2UuY29uZmlndXJlQXV0aFNldHRpbmdzKCkudGhlbihhdXRoQ29uZmlnID0+IHtcclxuICAgICAgICAvLyBPdmVyd3JpdGUgaW5pdGlhbCBoZWFkZXIgYXV0aCBzZXR0aW5nIHdpdGggY3VzdG9tIHJlc29sdmVyXHJcbiAgICAgICAgdGhpcy5hdXRoU2V0dGluZ3MgPSB7XHJcbiAgICAgICAgICAuLi5hdXRoU2V0dGluZ3MsXHJcbiAgICAgICAgICAuLi5hdXRoQ29uZmlnXHJcbiAgICAgICAgfTtcclxuICAgICAgICBpZiAoc2hvdWxkVHJ5TG9naW4pIHtcclxuICAgICAgICAgIHRoaXMuaGFuZGxlVHJ5TG9naW4oYXV0aFNldHRpbmdzLmF1dGhTZXRPblN0YXJ0dXApO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgY29uc3QgYXV0aENvbmZpZyA9IG5ldyBBdXRoQ29uZmlnKHtcclxuICAgICAgICBjbGllbnRJZDogYXV0aFNldHRpbmdzLmNsaWVudElkLFxyXG4gICAgICAgIHJlZGlyZWN0VXJpOiBhdXRoU2V0dGluZ3MucmVkaXJlY3RVcmksXHJcbiAgICAgICAgaXNzdWVyOiBhdXRoU2V0dGluZ3MuaXNzdWVyLFxyXG4gICAgICAgIHNjb3BlOiBhdXRoU2V0dGluZ3Muc2NvcGUsXHJcbiAgICAgICAgc2tpcElzc3VlckNoZWNrOiBhdXRoU2V0dGluZ3Muc2tpcElzc3VlckNoZWNrLFxyXG4gICAgICAgIHRpbWVvdXRGYWN0b3I6IGF1dGhTZXR0aW5ncy50aW1lb3V0RmFjdG9yIHx8IDAuNzUsXHJcbiAgICAgICAgcG9zdExvZ291dFJlZGlyZWN0VXJpOiBhdXRoU2V0dGluZ3MucG9zdExvZ091dFVybCxcclxuICAgICAgICBsb2dpblVybDogYXV0aFNldHRpbmdzLmxvZ2luVXJsLFxyXG4gICAgICAgIHJlc3BvbnNlVHlwZTogYXV0aFNldHRpbmdzLnJlc3BvbnNlVHlwZSB8fCAnY29kZSdcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuY29uZmlndXJlKGF1dGhDb25maWcpO1xyXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmlzc3VlciA9IGF1dGhTZXR0aW5ncy5pc3N1ZXI7XHJcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2Uuc3RyaWN0RGlzY292ZXJ5RG9jdW1lbnRWYWxpZGF0aW9uID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2Uuc2tpcElzc3VlckNoZWNrID0gdHJ1ZTtcclxuICAgICAgdGhpcy5hdXRoU2VydmljZS50b2tlblZhbGlkYXRpb25IYW5kbGVyID0gbmV3IEp3a3NWYWxpZGF0aW9uSGFuZGxlcigpO1xyXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLnNldHVwQXV0b21hdGljU2lsZW50UmVmcmVzaCh7fSwgJ2FjY2Vzc190b2tlbicpO1xyXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLnRpbWVvdXRGYWN0b3IgPSBhdXRoU2V0dGluZ3MudGltZW91dEZhY3RvciB8fCAwLjc1O1xyXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLnJlc3BvbnNlVHlwZSA9IGF1dGhTZXR0aW5ncy5yZXNwb25zZVR5cGUgfHwgJ2NvZGUnO1xyXG5cclxuICAgICAgaWYgKHNob3VsZFRyeUxvZ2luKSB7XHJcbiAgICAgICAgdGhpcy5oYW5kbGVUcnlMb2dpbihhdXRoU2V0dGluZ3MuYXV0aFNldE9uU3RhcnR1cCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKiBUaGUgdXNlciBuYW1lICovXHJcbiAgcHVibGljIHVzZXJOYW1lKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgbmFtZSA9ICcnO1xyXG4gICAgaWYgKHRoaXMuY2xhaW1zLmdpdmVuX25hbWUpIHtcclxuICAgICAgbmFtZSArPSB0aGlzLmNsYWltcy5naXZlbl9uYW1lO1xyXG4gICAgfVxyXG4gICAgaWYgKG5hbWUgJiYgdGhpcy5jbGFpbXMuZmFtaWx5X25hbWUpIHtcclxuICAgICAgbmFtZSArPSBgICR7dGhpcy5jbGFpbXMuZmFtaWx5X25hbWV9YDtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuY2xhaW1zLmZhbWlseV9uYW1lKSB7XHJcbiAgICAgIG5hbWUgKz0gdGhpcy5jbGFpbXMuZmFtaWx5X25hbWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmFtZSB8fCB0aGlzLmNsYWltcy51cG47XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBdXRob3JpemUgVXNlci5cclxuICAgKi9cclxuICBwdWJsaWMgYXV0aG9yaXplVXNlcigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmF1dGhTZXR0aW5ncykge1xyXG4gICAgICBpZiAoIXRoaXMuSXNMb2dnZWRJbikge1xyXG4gICAgICAgIGlmICh0aGlzLmN1c3RvbUF1dGhDb25maWdTZXJ2aWNlKSB7XHJcbiAgICAgICAgICB0aGlzLmN1c3RvbUF1dGhDb25maWdTZXJ2aWNlLmNvbmZpZ3VyZUF1dGhTZXR0aW5ncygpLnRoZW4oXyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlTG9naW4oKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGlmICh0aGlzLmF1dGhTZXJ2aWNlLmlzc3VlciAhPT0gdGhpcy5hdXRoU2V0dGluZ3MuaXNzdWVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuaXNzdWVyID0gdGhpcy5hdXRoU2V0dGluZ3MuaXNzdWVyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5oYW5kbGVMb2dpbigpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAodGhpcy5oeWJyaWRBdXRoU2VydmljZSkge1xyXG4gICAgICAgICAgdGhpcy5oeWJyaWRBdXRoU2VydmljZS5leHBpcmVTZXNzaW9uKHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ091dCgpO1xyXG4gICAgICAgIHRoaXMuYXV0aFN0b3JhZ2UucmVtb3ZlSXRlbSgnYWNjZXNzX3Rva2VuJyk7XHJcbiAgICAgICAgdGhpcy5pc0xvZ2dlZEluQnMubmV4dChmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5Jc0xvZ2dlZEluID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAqIEhhbmRsZSBMb2dpblxyXG4gICogQHBhcmFtIGF1dGhTZXRPblN0YXJ0dXAgSXMgYXV0aCBzZXQgb24gc3RhcnR1cCBcclxuICAqL1xyXG4gIHByaXZhdGUgaGFuZGxlVHJ5TG9naW4oYXV0aFNldE9uU3RhcnR1cDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgaWYgKCFhdXRoU2V0T25TdGFydHVwKSB7XHJcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UubG9hZERpc2NvdmVyeURvY3VtZW50QW5kVHJ5TG9naW4oKVxyXG4gICAgICAgIC50aGVuKCgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHRva2VuID0gdGhpcy5hdXRoU2VydmljZS5nZXRBY2Nlc3NUb2tlbigpO1xyXG4gICAgICAgICAgY29uc3QgaXNWYWxpZCA9ICEhdG9rZW47XHJcbiAgICAgICAgICB0aGlzLmNsYWltcyA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0SWRlbnRpdHlDbGFpbXMoKSBhcyBBY2Nlc3NUb2tlbkNsYWltcztcclxuICAgICAgICAgIHRoaXMuaXNMb2dnZWRJbkJzLm5leHQoaXNWYWxpZCk7XHJcbiAgICAgICAgICB0aGlzLklzTG9nZ2VkSW4gPSBpc1ZhbGlkO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNhdGNoKGUgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvYWREaXNjb3ZlcnlEb2N1bWVudCgpXHJcbiAgICAgICAgLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLmF1dGhTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuKCk7XHJcbiAgICAgICAgICBjb25zdCBpc1ZhbGlkID0gISF0b2tlbjtcclxuICAgICAgICAgIHRoaXMuY2xhaW1zID0gdGhpcy5hdXRoU2VydmljZS5nZXRJZGVudGl0eUNsYWltcygpIGFzIEFjY2Vzc1Rva2VuQ2xhaW1zO1xyXG4gICAgICAgICAgdGhpcy5pc0xvZ2dlZEluQnMubmV4dChpc1ZhbGlkKTtcclxuICAgICAgICAgIHRoaXMuSXNMb2dnZWRJbiA9IGlzVmFsaWQ7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY2F0Y2goZSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIEhhbmRsZSBMb2dpbiAqL1xyXG4gIHByaXZhdGUgaGFuZGxlTG9naW4oKTogdm9pZCB7XHJcbiAgICB3aW5kb3cuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShwcmVTaWduSW5Sb3V0ZVN0b3JhZ2VLZXksIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS50b0xvd2VyQ2FzZSgpKTtcclxuICAgIHRoaXMuYXV0aFNlcnZpY2UubG9hZERpc2NvdmVyeURvY3VtZW50QW5kTG9naW4oKVxyXG4gICAgICAudGhlbihsb2dJblN1Y2Nlc3MgPT4ge1xyXG4gICAgICAgIGlmIChsb2dJblN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHRoaXMuaXNMb2dnZWRJbkJzLm5leHQodHJ1ZSk7XHJcbiAgICAgICAgICB0aGlzLklzTG9nZ2VkSW4gPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICAgLmNhdGNoKGUgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXphdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IlM6L0IwMi9fd29yay84My9zL2xpYnJhcnkvcHJvamVjdHMvYXJtYXR1cmUvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvcmUvc2VydmljZXMvYXV0aG9yaXphdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQVUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBR25ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRS9ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7QUFFdkUsMEJBQTBCO0FBSTFCLE1BQU0sT0FBTyxvQkFBb0I7SUFpQi9COzs7Ozs7O09BT0c7SUFDSCxZQUNtQixXQUF5QixFQUN6QixVQUFzQixFQUN0QixXQUF5QixFQUN6QixpQkFBeUMsRUFDN0IsdUJBQWdEO1FBSjVELGdCQUFXLEdBQVgsV0FBVyxDQUFjO1FBQ3pCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsZ0JBQVcsR0FBWCxXQUFXLENBQWM7UUFDekIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF3QjtRQUM3Qiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBdEIvRSxvQ0FBb0M7UUFDbkIsaUJBQVksR0FBNkIsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7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QUFXLENBQUMsNkJBQTZCLEVBQUU7YUFDN0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ25CLElBQUksWUFBWSxFQUFFO2dCQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7YUFDeEI7UUFDSCxDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDVCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7OztZQS9LRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQWJvQixZQUFZO1lBSHhCLFVBQVU7WUFHZ0IsWUFBWTtZQUt0QyxzQkFBc0I7WUFHdEIsdUJBQXVCLHVCQW9DM0IsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5pbXBvcnQgeyBBdXRoQ29uZmlnLCBPQXV0aFNlcnZpY2UsIE9BdXRoU3RvcmFnZSB9IGZyb20gXCJhbmd1bGFyLW9hdXRoMi1vaWRjXCI7XHJcbmltcG9ydCB7IEp3a3NWYWxpZGF0aW9uSGFuZGxlciB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMtandrcyc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5pbXBvcnQgeyBIZWFkZXJBdXRoU2V0dGluZ3MgfSBmcm9tIFwiLi4vLi4vaGVhZGVyL21vZGVscy9oZWFkZXItYXV0aC5zZXR0aW5nc1wiO1xyXG5pbXBvcnQgeyBIeWJyaWRTYW1sT2F1dGhTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL29hdXRoL29hdXRoLWFwaVwiO1xyXG5pbXBvcnQgeyBBY2Nlc3NUb2tlbkNsYWltcyB9IGZyb20gXCIuLi8uLi9yYmFjL3JiYWMtYXBpXCI7XHJcbmltcG9ydCB7IHByZVNpZ25JblJvdXRlU3RvcmFnZUtleSB9IGZyb20gXCIuLi9tb2RlbHMvY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7IEN1c3RvbUF1dGhDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9jdXN0b20tYXV0aC1jb25maWcuc2VydmljZSc7XHJcblxyXG4vKiogVGhlIHNlc3Npb24gc2VydmljZSAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRob3JpemF0aW9uU2VydmljZSB7XHJcblxyXG4gIC8qKiBUaGUgY2xhaW1zICovXHJcbiAgcHJpdmF0ZSBjbGFpbXM6IEFjY2Vzc1Rva2VuQ2xhaW1zO1xyXG5cclxuICAvKiogQXV0aG9yaXphdGlvbiBzZXR0aW5ncy4qL1xyXG4gIHB1YmxpYyBhdXRoU2V0dGluZ3M6IEhlYWRlckF1dGhTZXR0aW5ncztcclxuXHJcbiAgLyoqIElzbG9nZ2VkSW4gYmVoYXZpb3VyIHN1YmplY3QgKiovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBpc0xvZ2dlZEluQnM6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICAvKiogSXNsb2dnZWRJbiBvYnNlcnZhYmxlICoqL1xyXG4gIHB1YmxpYyBpc0xvZ2dlZEluJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuXHJcbiAgLyoqIERldGVybWluZWQgd2hldGhlciBpcyB1c2VyIGlzIGxvZ2dlZCBpbioqL1xyXG4gIHB1YmxpYyBJc0xvZ2dlZEluOiBib29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RzIGF1dGhvcml6YXRpb24gc2VydmljZVxyXG4gICAqIEBwYXJhbSBhdXRoU2VydmljZSBUaGUgT0F1dGggU2VydmljZVxyXG4gICAqIEBwYXJhbSBodHRwQ2xpZW50IFRoZSBIVFRQQ2xpZW50XHJcbiAgICogQHBhcmFtIGF1dGhTdG9yYWdlIFRoZSBBdXRoU3RvcmFnZVxyXG4gICAqIEBwYXJhbSBoeWJyaWRBdXRoU2VydmljZSBUaGUgSHlicmlkIFNlcnZpY2VcclxuICAgKiBAcGFyYW0gY3VzdG9tQXV0aENvbmZpZ1NlcnZpY2UgVGhlIEN1c3RvbSBBdXRob3JpemF0aW9uIFNlcnZpY2VcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0aFNlcnZpY2U6IE9BdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cENsaWVudDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0aFN0b3JhZ2U6IE9BdXRoU3RvcmFnZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaHlicmlkQXV0aFNlcnZpY2U6IEh5YnJpZFNhbWxPYXV0aFNlcnZpY2UsXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IGN1c3RvbUF1dGhDb25maWdTZXJ2aWNlOiBDdXN0b21BdXRoQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5pc0xvZ2dlZEluJCA9IHRoaXMuaXNMb2dnZWRJbkJzLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbGl6ZSBBdXRob3JpemF0aW9uIFNldHRpbmdzLlxyXG4gICAqICBAcGFyYW0gYXV0aFNldHRpbmdzIFRoZSBBdXRob3JpemF0aW9uIHNldHRpbmdzXHJcbiAgICovXHJcbiAgcHVibGljIGluaXRpYWxpemVBdXRoU2V0dGluZ3MoYXV0aFNldHRpbmdzOiBIZWFkZXJBdXRoU2V0dGluZ3MsIHNob3VsZFRyeUxvZ2luOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgdGhpcy5hdXRoU2V0dGluZ3MgPSBhdXRoU2V0dGluZ3M7XHJcblxyXG4gICAgaWYgKHRoaXMuY3VzdG9tQXV0aENvbmZpZ1NlcnZpY2UpIHtcclxuICAgICAgdGhpcy5jdXN0b21BdXRoQ29uZmlnU2VydmljZS5jb25maWd1cmVBdXRoU2V0dGluZ3MoKS50aGVuKGF1dGhDb25maWcgPT4ge1xyXG4gICAgICAgIC8vIE92ZXJ3cml0ZSBpbml0aWFsIGhlYWRlciBhdXRoIHNldHRpbmcgd2l0aCBjdXN0b20gcmVzb2x2ZXJcclxuICAgICAgICB0aGlzLmF1dGhTZXR0aW5ncyA9IHtcclxuICAgICAgICAgIC4uLmF1dGhTZXR0aW5ncyxcclxuICAgICAgICAgIC4uLmF1dGhDb25maWdcclxuICAgICAgICB9O1xyXG4gICAgICAgIGlmIChzaG91bGRUcnlMb2dpbikge1xyXG4gICAgICAgICAgdGhpcy5oYW5kbGVUcnlMb2dpbihhdXRoU2V0dGluZ3MuYXV0aFNldE9uU3RhcnR1cCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBjb25zdCBhdXRoQ29uZmlnID0gbmV3IEF1dGhDb25maWcoe1xyXG4gICAgICAgIGNsaWVudElkOiBhdXRoU2V0dGluZ3MuY2xpZW50SWQsXHJcbiAgICAgICAgcmVkaXJlY3RVcmk6IGF1dGhTZXR0aW5ncy5yZWRpcmVjdFVyaSxcclxuICAgICAgICBpc3N1ZXI6IGF1dGhTZXR0aW5ncy5pc3N1ZXIsXHJcbiAgICAgICAgc2NvcGU6IGF1dGhTZXR0aW5ncy5zY29wZSxcclxuICAgICAgICBza2lwSXNzdWVyQ2hlY2s6IGF1dGhTZXR0aW5ncy5za2lwSXNzdWVyQ2hlY2ssXHJcbiAgICAgICAgdGltZW91dEZhY3RvcjogYXV0aFNldHRpbmdzLnRpbWVvdXRGYWN0b3IgfHwgMC43NSxcclxuICAgICAgICBwb3N0TG9nb3V0UmVkaXJlY3RVcmk6IGF1dGhTZXR0aW5ncy5wb3N0TG9nT3V0VXJsLFxyXG4gICAgICAgIGxvZ2luVXJsOiBhdXRoU2V0dGluZ3MubG9naW5VcmwsXHJcbiAgICAgICAgcmVzcG9uc2VUeXBlOiBhdXRoU2V0dGluZ3MucmVzcG9uc2VUeXBlIHx8ICdjb2RlJ1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5hdXRoU2VydmljZS5jb25maWd1cmUoYXV0aENvbmZpZyk7XHJcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuaXNzdWVyID0gYXV0aFNldHRpbmdzLmlzc3VlcjtcclxuICAgICAgdGhpcy5hdXRoU2VydmljZS5zdHJpY3REaXNjb3ZlcnlEb2N1bWVudFZhbGlkYXRpb24gPSBmYWxzZTtcclxuICAgICAgdGhpcy5hdXRoU2VydmljZS5za2lwSXNzdWVyQ2hlY2sgPSB0cnVlO1xyXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLnRva2VuVmFsaWRhdGlvbkhhbmRsZXIgPSBuZXcgSndrc1ZhbGlkYXRpb25IYW5kbGVyKCk7XHJcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2Uuc2V0dXBBdXRvbWF0aWNTaWxlbnRSZWZyZXNoKHt9LCAnYWNjZXNzX3Rva2VuJyk7XHJcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UudGltZW91dEZhY3RvciA9IGF1dGhTZXR0aW5ncy50aW1lb3V0RmFjdG9yIHx8IDAuNzU7XHJcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UucmVzcG9uc2VUeXBlID0gYXV0aFNldHRpbmdzLnJlc3BvbnNlVHlwZSB8fCAnY29kZSc7XHJcblxyXG4gICAgICBpZiAoc2hvdWxkVHJ5TG9naW4pIHtcclxuICAgICAgICB0aGlzLmhhbmRsZVRyeUxvZ2luKGF1dGhTZXR0aW5ncy5hdXRoU2V0T25TdGFydHVwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIFRoZSB1c2VyIG5hbWUgKi9cclxuICBwdWJsaWMgdXNlck5hbWUoKTogc3RyaW5nIHtcclxuICAgIGxldCBuYW1lID0gJyc7XHJcbiAgICBpZiAodGhpcy5jbGFpbXMuZ2l2ZW5fbmFtZSkge1xyXG4gICAgICBuYW1lICs9IHRoaXMuY2xhaW1zLmdpdmVuX25hbWU7XHJcbiAgICB9XHJcbiAgICBpZiAobmFtZSAmJiB0aGlzLmNsYWltcy5mYW1pbHlfbmFtZSkge1xyXG4gICAgICBuYW1lICs9IGAgJHt0aGlzLmNsYWltcy5mYW1pbHlfbmFtZX1gO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5jbGFpbXMuZmFtaWx5X25hbWUpIHtcclxuICAgICAgbmFtZSArPSB0aGlzLmNsYWltcy5mYW1pbHlfbmFtZTtcclxuICAgIH1cclxuICAgIHJldHVybiBuYW1lIHx8IHRoaXMuY2xhaW1zLnVwbjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEF1dGhvcml6ZSBVc2VyLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBhdXRob3JpemVVc2VyKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuYXV0aFNldHRpbmdzKSB7XHJcbiAgICAgIGlmICghdGhpcy5Jc0xvZ2dlZEluKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY3VzdG9tQXV0aENvbmZpZ1NlcnZpY2UpIHtcclxuICAgICAgICAgIHRoaXMuY3VzdG9tQXV0aENvbmZpZ1NlcnZpY2UuY29uZmlndXJlQXV0aFNldHRpbmdzKCkudGhlbihfID0+IHtcclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVMb2dpbigpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgaWYgKHRoaXMuYXV0aFNlcnZpY2UuaXNzdWVyICE9PSB0aGlzLmF1dGhTZXR0aW5ncy5pc3N1ZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5hdXRoU2VydmljZS5pc3N1ZXIgPSB0aGlzLmF1dGhTZXR0aW5ncy5pc3N1ZXI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLmhhbmRsZUxvZ2luKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmICh0aGlzLmh5YnJpZEF1dGhTZXJ2aWNlKSB7XHJcbiAgICAgICAgICB0aGlzLmh5YnJpZEF1dGhTZXJ2aWNlLmV4cGlyZVNlc3Npb24odHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UubG9nT3V0KCk7XHJcbiAgICAgICAgdGhpcy5hdXRoU3RvcmFnZS5yZW1vdmVJdGVtKCdhY2Nlc3NfdG9rZW4nKTtcclxuICAgICAgICB0aGlzLmlzTG9nZ2VkSW5Ccy5uZXh0KGZhbHNlKTtcclxuICAgICAgICB0aGlzLklzTG9nZ2VkSW4gPSBmYWxzZTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICogSGFuZGxlIExvZ2luXHJcbiAgKiBAcGFyYW0gYXV0aFNldE9uU3RhcnR1cCBJcyBhdXRoIHNldCBvbiBzdGFydHVwIFxyXG4gICovXHJcbiAgcHJpdmF0ZSBoYW5kbGVUcnlMb2dpbihhdXRoU2V0T25TdGFydHVwOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAoIWF1dGhTZXRPblN0YXJ0dXApIHtcclxuICAgICAgdGhpcy5hdXRoU2VydmljZS5sb2FkRGlzY292ZXJ5RG9jdW1lbnRBbmRUcnlMb2dpbigpXHJcbiAgICAgICAgLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLmF1dGhTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuKCk7XHJcbiAgICAgICAgICBjb25zdCBpc1ZhbGlkID0gISF0b2tlbjtcclxuICAgICAgICAgIHRoaXMuY2xhaW1zID0gdGhpcy5hdXRoU2VydmljZS5nZXRJZGVudGl0eUNsYWltcygpIGFzIEFjY2Vzc1Rva2VuQ2xhaW1zO1xyXG4gICAgICAgICAgdGhpcy5pc0xvZ2dlZEluQnMubmV4dChpc1ZhbGlkKTtcclxuICAgICAgICAgIHRoaXMuSXNMb2dnZWRJbiA9IGlzVmFsaWQ7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY2F0Y2goZSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UubG9hZERpc2NvdmVyeURvY3VtZW50KClcclxuICAgICAgICAudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCB0b2tlbiA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0QWNjZXNzVG9rZW4oKTtcclxuICAgICAgICAgIGNvbnN0IGlzVmFsaWQgPSAhIXRva2VuO1xyXG4gICAgICAgICAgdGhpcy5jbGFpbXMgPSB0aGlzLmF1dGhTZXJ2aWNlLmdldElkZW50aXR5Q2xhaW1zKCkgYXMgQWNjZXNzVG9rZW5DbGFpbXM7XHJcbiAgICAgICAgICB0aGlzLmlzTG9nZ2VkSW5Ccy5uZXh0KGlzVmFsaWQpO1xyXG4gICAgICAgICAgdGhpcy5Jc0xvZ2dlZEluID0gaXNWYWxpZDtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jYXRjaChlID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogSGFuZGxlIExvZ2luICovXHJcbiAgcHJpdmF0ZSBoYW5kbGVMb2dpbigpOiB2b2lkIHtcclxuICAgIHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHByZVNpZ25JblJvdXRlU3RvcmFnZUtleSwgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5sb2FkRGlzY292ZXJ5RG9jdW1lbnRBbmRMb2dpbigpXHJcbiAgICAgIC50aGVuKGxvZ0luU3VjY2VzcyA9PiB7XHJcbiAgICAgICAgaWYgKGxvZ0luU3VjY2Vzcykge1xyXG4gICAgICAgICAgdGhpcy5pc0xvZ2dlZEluQnMubmV4dCh0cnVlKTtcclxuICAgICAgICAgIHRoaXMuSXNMb2dnZWRJbiA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goZSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihlKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -39,4 +39,4 @@ BannerService.decorators = [
39
39
  },] }
40
40
  ];
41
41
  BannerService.ctorParameters = () => [];
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiUzovQjAzL193b3JrLzQxMy9zL2xpYnJhcnkvcHJvamVjdHMvYXJtYXR1cmUvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvcmUvc2VydmljZXMvYmFubmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDOztBQUVuRDs7R0FFRztBQUlILE1BQU0sT0FBTyxhQUFhO0lBb0J4QjtRQVRBLHVDQUF1QztRQUMvQixlQUFVLEdBQTZCLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBRW5GLDBDQUEwQztRQUNsQyxZQUFPLEdBQTRCLElBQUksZUFBZSxDQUFTLFNBQVMsQ0FBQyxDQUFDO1FBRWxGLDZEQUE2RDtRQUNyRCxrQkFBYSxHQUE2QixJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUluRixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksV0FBVyxDQUFDLE9BQWUsRUFBRSxnQkFBeUIsSUFBSTtRQUMvRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7Ozs7WUE3Q0YsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbi8qKlxyXG4gKiBTZXJ2aWNlIGZvciBtYW5hZ2luZyB0aGUgYmFubmVyXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYW5uZXJTZXJ2aWNlIHtcclxuXHJcbiAgLyoqIE9ic2VydmFibGUgZm9yIHdoZXRoZXIgdGhlIGJhbm5lciBzaG91bGQgYmUgc2hvd24gKi9cclxuICBwdWJsaWMgc2hvd0Jhbm5lciQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcblxyXG4gIC8qKiBPYnNlcnZhYmxlIGZvciB0aGUgYmFubmVyIG1lc3NhZ2UgKi9cclxuICBwdWJsaWMgbWVzc2FnZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuXHJcbiAgLyoqIE9ic2VydmFibGUgZm9yIHdoZXRoZXIgb2Ygbm90IHRvIHNob3cgdGhlIGNoZWNrIG1hcmsgb24gdGhlIGJhbm5lciAqL1xyXG4gIHB1YmxpYyBzaG93Q2hlY2tNYXJrJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuXHJcbiAgLyoqIEJlaGF2aW9yIHN1YmplY3QgZm9yIHNob3cgYmFubmVyICovXHJcbiAgcHJpdmF0ZSBzaG93QmFubmVyOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgLyoqIEJlaGF2aW9yIHN1YmplY3QgZm9yIGJhbm5lciBtZXNzYWdlICovXHJcbiAgcHJpdmF0ZSBtZXNzYWdlOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPih1bmRlZmluZWQpO1xyXG5cclxuICAvKiogQmVoYXZpb3Igc3ViamVjdCBmb3Igd2hldGhlciB0byBzaG93IGNoZWNrIG1hcmsgb3Igbm90ICovXHJcbiAgcHJpdmF0ZSBzaG93Q2hlY2tNYXJrOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICApIHtcclxuICAgIHRoaXMuc2hvd0Jhbm5lciQgPSB0aGlzLnNob3dCYW5uZXIuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB0aGlzLm1lc3NhZ2UkID0gdGhpcy5tZXNzYWdlLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgdGhpcy5zaG93Q2hlY2tNYXJrJCA9IHRoaXMuc2hvd0NoZWNrTWFyay5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNob3dzIHRoZSBtZXNzYWFnZSBpbiB0aGUgYmFubmVyXHJcbiAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGJhbm5lciBtZXNzYWdlXHJcbiAgICovXHJcbiAgcHVibGljIHNob3dNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZywgc2hvd0NoZWNrTWFyazogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd0Jhbm5lci5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5tZXNzYWdlLm5leHQobWVzc2FnZSk7XHJcbiAgICB0aGlzLnNob3dDaGVja01hcmsubmV4dChzaG93Q2hlY2tNYXJrKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhpZGUgTm90aWZpY2F0aW9uIE1lc3NhZ2UgXHJcbiAgICovXHJcbiAgcHVibGljIGhpZGVNZXNzYWdlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93QmFubmVyLm5leHQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiUzovQjAyL193b3JrLzgzL3MvbGlicmFyeS9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvIiwic291cmNlcyI6WyJsaWIvY29yZS9zZXJ2aWNlcy9iYW5uZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7O0FBRW5EOztHQUVHO0FBSUgsTUFBTSxPQUFPLGFBQWE7SUFvQnhCO1FBVEEsdUNBQXVDO1FBQy9CLGVBQVUsR0FBNkIsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFbkYsMENBQTBDO1FBQ2xDLFlBQU8sR0FBNEIsSUFBSSxlQUFlLENBQVMsU0FBUyxDQUFDLENBQUM7UUFFbEYsNkRBQTZEO1FBQ3JELGtCQUFhLEdBQTZCLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO1FBSW5GLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNsRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFELENBQUM7SUFFRDs7O09BR0c7SUFDSSxXQUFXLENBQUMsT0FBZSxFQUFFLGdCQUF5QixJQUFJO1FBQy9ELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7T0FFRztJQUNJLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7OztZQTdDRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuLyoqXHJcbiAqIFNlcnZpY2UgZm9yIG1hbmFnaW5nIHRoZSBiYW5uZXJcclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEJhbm5lclNlcnZpY2Uge1xyXG5cclxuICAvKiogT2JzZXJ2YWJsZSBmb3Igd2hldGhlciB0aGUgYmFubmVyIHNob3VsZCBiZSBzaG93biAqL1xyXG4gIHB1YmxpYyBzaG93QmFubmVyJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuXHJcbiAgLyoqIE9ic2VydmFibGUgZm9yIHRoZSBiYW5uZXIgbWVzc2FnZSAqL1xyXG4gIHB1YmxpYyBtZXNzYWdlJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xyXG5cclxuICAvKiogT2JzZXJ2YWJsZSBmb3Igd2hldGhlciBvZiBub3QgdG8gc2hvdyB0aGUgY2hlY2sgbWFyayBvbiB0aGUgYmFubmVyICovXHJcbiAgcHVibGljIHNob3dDaGVja01hcmskOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG5cclxuICAvKiogQmVoYXZpb3Igc3ViamVjdCBmb3Igc2hvdyBiYW5uZXIgKi9cclxuICBwcml2YXRlIHNob3dCYW5uZXI6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICAvKiogQmVoYXZpb3Igc3ViamVjdCBmb3IgYmFubmVyIG1lc3NhZ2UgKi9cclxuICBwcml2YXRlIG1lc3NhZ2U6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KHVuZGVmaW5lZCk7XHJcblxyXG4gIC8qKiBCZWhhdmlvciBzdWJqZWN0IGZvciB3aGV0aGVyIHRvIHNob3cgY2hlY2sgbWFyayBvciBub3QgKi9cclxuICBwcml2YXRlIHNob3dDaGVja01hcms6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICkge1xyXG4gICAgdGhpcy5zaG93QmFubmVyJCA9IHRoaXMuc2hvd0Jhbm5lci5hc09ic2VydmFibGUoKTtcclxuICAgIHRoaXMubWVzc2FnZSQgPSB0aGlzLm1lc3NhZ2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB0aGlzLnNob3dDaGVja01hcmskID0gdGhpcy5zaG93Q2hlY2tNYXJrLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2hvd3MgdGhlIG1lc3NhYWdlIGluIHRoZSBiYW5uZXJcclxuICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgYmFubmVyIG1lc3NhZ2VcclxuICAgKi9cclxuICBwdWJsaWMgc2hvd01lc3NhZ2UobWVzc2FnZTogc3RyaW5nLCBzaG93Q2hlY2tNYXJrOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93QmFubmVyLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLm1lc3NhZ2UubmV4dChtZXNzYWdlKTtcclxuICAgIHRoaXMuc2hvd0NoZWNrTWFyay5uZXh0KHNob3dDaGVja01hcmspO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGlkZSBOb3RpZmljYXRpb24gTWVzc2FnZSBcclxuICAgKi9cclxuICBwdWJsaWMgaGlkZU1lc3NhZ2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dCYW5uZXIubmV4dChmYWxzZSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -28,4 +28,4 @@ BaseConfigService.decorators = [
28
28
  },] }
29
29
  ];
30
30
  BaseConfigService.ctorParameters = () => [];
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJTOi9CMDMvX3dvcmsvNDEzL3MvbGlicmFyeS9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvIiwic291cmNlcyI6WyJsaWIvY29yZS9zZXJ2aWNlcy9iYXNlLWNvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQzs7QUFHbkQsOEJBQThCO0FBSTlCLE1BQU0sT0FBZ0IsaUJBQWlCO0lBcUJyQyw2QkFBNkI7SUFDN0I7UUFwQkEseUNBQXlDO1FBQ3hCLGFBQVEsR0FBdUIsSUFBSSxlQUFlLENBQUksU0FBUyxDQUFDLENBQUM7UUFvQmhGLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBbkJELDhCQUE4QjtJQUM5QixJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFXLE1BQU0sQ0FBQyxLQUFRO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7Ozs7WUFuQkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQmFzZUNvbmZpZyB9IGZyb20gJy4uL21vZGVscy9iYXNlLWNvbmZpZyc7XHJcblxyXG4vKiogVGhlIGJhc2UgY29uZmlnIHNlcnZpY2UgKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUNvbmZpZ1NlcnZpY2U8VCA9IEJhc2VDb25maWc+IHtcclxuXHJcbiAgLyoqIFRoZSBjb25maWd1cmF0aW9uIGJlaGF2aW9yIHN1YmplY3QgKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ0JzOiBCZWhhdmlvclN1YmplY3Q8VD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFQ+KHVuZGVmaW5lZCk7XHJcblxyXG4gIC8qKiBHZXRzIHRoZSBjb25maWd1cmF0aW9ucyAqL1xyXG4gIHB1YmxpYyBnZXQgY29uZmlnKCk6IFQge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnQnMudmFsdWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBzZXRzIHRoZSBjb25maWdzXHJcbiAgICogQHBhcmFtIHZhbHVlIFRoZSBuZXcgY29uZmlndXJhdGlvbiB2YWx1ZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZXQgY29uZmlnKHZhbHVlOiBUKSB7XHJcbiAgICB0aGlzLmNvbmZpZ0JzLm5leHQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqIFRoZSBjb25maWd1cmF0aW9uIG9ic2VydmFibGUgKi9cclxuICBwdWJsaWMgcmVhZG9ubHkgY29uZmlnJDogT2JzZXJ2YWJsZTxUPjtcclxuXHJcbiAgLyoqIENvbnN0cnVjdHMgdGhlIHNlcnZpY2UgKi9cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuY29uZmlnJCA9IHRoaXMuY29uZmlnQnMuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJTOi9CMDIvX3dvcmsvODMvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL3NlcnZpY2VzL2Jhc2UtY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDOztBQUduRCw4QkFBOEI7QUFJOUIsTUFBTSxPQUFnQixpQkFBaUI7SUFxQnJDLDZCQUE2QjtJQUM3QjtRQXBCQSx5Q0FBeUM7UUFDeEIsYUFBUSxHQUF1QixJQUFJLGVBQWUsQ0FBSSxTQUFTLENBQUMsQ0FBQztRQW9CaEYsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFuQkQsOEJBQThCO0lBQzlCLElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQVcsTUFBTSxDQUFDLEtBQVE7UUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQzs7OztZQW5CRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBCYXNlQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2Jhc2UtY29uZmlnJztcclxuXHJcbi8qKiBUaGUgYmFzZSBjb25maWcgc2VydmljZSAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlQ29uZmlnU2VydmljZTxUID0gQmFzZUNvbmZpZz4ge1xyXG5cclxuICAvKiogVGhlIGNvbmZpZ3VyYXRpb24gYmVoYXZpb3Igc3ViamVjdCAqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnQnM6IEJlaGF2aW9yU3ViamVjdDxUPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VD4odW5kZWZpbmVkKTtcclxuXHJcbiAgLyoqIEdldHMgdGhlIGNvbmZpZ3VyYXRpb25zICovXHJcbiAgcHVibGljIGdldCBjb25maWcoKTogVCB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWdCcy52YWx1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIHNldHMgdGhlIGNvbmZpZ3NcclxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIG5ldyBjb25maWd1cmF0aW9uIHZhbHVlXHJcbiAgICovXHJcbiAgcHVibGljIHNldCBjb25maWcodmFsdWU6IFQpIHtcclxuICAgIHRoaXMuY29uZmlnQnMubmV4dCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvKiogVGhlIGNvbmZpZ3VyYXRpb24gb2JzZXJ2YWJsZSAqL1xyXG4gIHB1YmxpYyByZWFkb25seSBjb25maWckOiBPYnNlcnZhYmxlPFQ+O1xyXG5cclxuICAvKiogQ29uc3RydWN0cyB0aGUgc2VydmljZSAqL1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5jb25maWckID0gdGhpcy5jb25maWdCcy5hc09ic2VydmFibGUoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,4 +1,4 @@
1
1
  /** Custom Authorization Service */
2
2
  export class CustomAuthConfigService {
3
3
  }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWF1dGgtY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiUzovQjAzL193b3JrLzQxMy9zL2xpYnJhcnkvcHJvamVjdHMvYXJtYXR1cmUvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvcmUvc2VydmljZXMvY3VzdG9tLWF1dGgtY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsbUNBQW1DO0FBQ25DLE1BQU0sT0FBZ0IsdUJBQXVCO0NBRzVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXV0aENvbmZpZyB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xyXG5cclxuLyoqIEN1c3RvbSBBdXRob3JpemF0aW9uIFNlcnZpY2UgKi9cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEN1c3RvbUF1dGhDb25maWdTZXJ2aWNlIHtcclxuICAvKiogQ29uZmlndXJlIEF1dGggU2V0dGluZ3MgKi9cclxuICBwdWJsaWMgYWJzdHJhY3QgY29uZmlndXJlQXV0aFNldHRpbmdzKCk6IFByb21pc2U8QXV0aENvbmZpZz5cclxufVxyXG4iXX0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWF1dGgtY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiUzovQjAyL193b3JrLzgzL3MvbGlicmFyeS9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvIiwic291cmNlcyI6WyJsaWIvY29yZS9zZXJ2aWNlcy9jdXN0b20tYXV0aC1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxtQ0FBbUM7QUFDbkMsTUFBTSxPQUFnQix1QkFBdUI7Q0FHNUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdXRoQ29uZmlnIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XHJcblxyXG4vKiogQ3VzdG9tIEF1dGhvcml6YXRpb24gU2VydmljZSAqL1xyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ3VzdG9tQXV0aENvbmZpZ1NlcnZpY2Uge1xyXG4gIC8qKiBDb25maWd1cmUgQXV0aCBTZXR0aW5ncyAqL1xyXG4gIHB1YmxpYyBhYnN0cmFjdCBjb25maWd1cmVBdXRoU2V0dGluZ3MoKTogUHJvbWlzZTxBdXRoQ29uZmlnPlxyXG59XHJcbiJdfQ==
@@ -15,4 +15,4 @@ DefaultConfigService.decorators = [
15
15
  },] }
16
16
  ];
17
17
  DefaultConfigService.ctorParameters = () => [];
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJTOi9CMDMvX3dvcmsvNDEzL3MvbGlicmFyeS9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvIiwic291cmNlcyI6WyJsaWIvY29yZS9zZXJ2aWNlcy9kZWZhdWx0LWNvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBSzFELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxpQkFBaUI7SUFFekQsNkJBQTZCO0lBQzdCO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO0lBQUEsQ0FBQzs7OztZQVJILFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFzZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2Jhc2UtY29uZmlnLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVmYXVsdENvbmZpZ1NlcnZpY2UgZXh0ZW5kcyBCYXNlQ29uZmlnU2VydmljZSB7XHJcblxyXG4gIC8qKiBDb25zdHJ1Y3RzIHRoZSBzZXJ2aWNlICovXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH07XHJcbn1cclxuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJTOi9CMDIvX3dvcmsvODMvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL3NlcnZpY2VzL2RlZmF1bHQtY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFLMUQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGlCQUFpQjtJQUV6RCw2QkFBNkI7SUFDN0I7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFBQSxDQUFDOzs7O1lBUkgsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCYXNlQ29uZmlnU2VydmljZSB9IGZyb20gJy4vYmFzZS1jb25maWcuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZWZhdWx0Q29uZmlnU2VydmljZSBleHRlbmRzIEJhc2VDb25maWdTZXJ2aWNlIHtcclxuXHJcbiAgLyoqIENvbnN0cnVjdHMgdGhlIHNlcnZpY2UgKi9cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfTtcclxufVxyXG4iXX0=
@@ -379,4 +379,4 @@ SessionService.ctorParameters = () => [
379
379
  */
380
380
  export class RedirectSessionConfigs {
381
381
  }
382
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IlM6L0IwMy9fd29yay80MTMvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL3NlcnZpY2VzL3Nlc3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdELE9BQU8sRUFBWSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7OztBQUU1QyxtREFBbUQ7QUFDbkQsTUFBTSxtQ0FBbUMsR0FBRyxtQkFBbUIsQ0FBQztBQUVoRSwwQkFBMEI7QUFJMUIsTUFBTSxPQUFPLGNBQWM7SUFpRnpCOzs7Ozs7T0FNRztJQUNILFlBQytDLGFBQTRCLEVBQ3BDLE9BQVksRUFDcEIsV0FBeUIsRUFDckMsVUFBc0I7O1FBSE0sa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDcEMsWUFBTyxHQUFQLE9BQU8sQ0FBSztRQUNwQixnQkFBVyxHQUFYLFdBQVcsQ0FBYztRQUNyQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBdkZ6QyxvREFBb0Q7UUFD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LENBQUM7WUFDbkUsS0FBSyxRQUFRLENBQUMsTUFBTTtnQkFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUN4RDtnQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLHlEQUF5RCxDQUFDLENBQUM7U0FDOUU7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssTUFBTSxDQUFDLEtBQVU7UUFDdkIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRDs7O09BR0c7SUFDSyxNQUFNLENBQUMsR0FBVztRQUN4QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQzs7OztZQXZhRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQVZRLGFBQWEsdUJBb0dqQixRQUFRLFlBQUksTUFBTSxTQUFDLGNBQWM7NENBQ2pDLFFBQVEsWUFBSSxNQUFNLFNBQUMsTUFBTTtZQTNHckIsWUFBWSx1QkE0R2hCLFFBQVE7WUE5R0osVUFBVTs7QUEwYm5COztHQUVHO0FBQ0gsTUFBTSxPQUFPLHNCQUFzQjtDQU1sQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9BdXRoU2VydmljZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHN3aXRjaE1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU2Vzc2lvblBvc3RSZXF1ZXN0TW9kZWwsIFNlc3Npb25QdXRSZXF1ZXN0TW9kZWwsIFNlc3Npb25SZXNwb25zZU1vZGVsIH0gZnJvbSAnLi4vY2xpZW50LWdlbmVyYXRlZC9tb2RlbC9tb2RlbHMnO1xyXG5pbXBvcnQgeyBTRVNTSU9OX0NPTkZJRywgV0lORE9XIH0gZnJvbSAnLi4vbW9kZWxzL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IEh0dHBWZXJiLCBodHRwVmVyYiB9IGZyb20gJy4uL21vZGVscy9odHRwLXZlcmJzJztcclxuaW1wb3J0IHsgU2Vzc2lvbkNvbmZpZyB9IGZyb20gJy4uL21vZGVscy9zZXNzaW9uLWNvbmZpZyc7XHJcbmltcG9ydCB7IFR5cGVkU2Vzc2lvbiB9IGZyb20gJy4uL21vZGVscy90eXBlZC1zZXNzaW9uJztcclxuaW1wb3J0IHsgbmV3R3VpZCB9IGZyb20gJy4uL2Z1bmN0aW9ucy9ndWlkJztcclxuXHJcbi8qKiB0aGUgZGF0YSBzdG9yZSByZXRyaWV2ZSBjb21wbGV0ZSBzZXNzaW9uIGtleSAqL1xyXG5jb25zdCBkYXRhU3RvcmVSZXRyaWV2ZUNvbXBsZXRlU2Vzc2lvbktleSA9ICdkYXRhU3RvcmVSZXRyaWV2ZSc7XHJcblxyXG4vKiogVGhlIHNlc3Npb24gc2VydmljZSAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZXNzaW9uU2VydmljZTxUID0gYW55PiB7XHJcblxyXG4gIC8qKiBUaGUgc2Vzc2lvbiBpZCAqL1xyXG4gIHByaXZhdGUgX3Nlc3Npb25JZDogc3RyaW5nO1xyXG5cclxuICAvKiogVHJ1ZSB3aGVuIHRoZSBkYXRhIHN0b3JlIHJldHJpZXZlIGlzIGNvbXBsZXRlICovXHJcbiAgcHJpdmF0ZSBpc0RhdGFTdG9yZVJldHJpZXZlQ29tcGxldGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIFRoZSBsb2NhbCBzdG9yYWdlIGtleSAqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgc3RvcmFnZUtleTogc3RyaW5nID0gJ1NvZi1Bcm0tU2Vzc2lvbi1JZCc7XHJcblxyXG4gIC8qKiBUZWggY3VycmVudCB1cGRhdGUgZGF0YSBzdG9yZSBjYWxsICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBjdXJyZW50VXBkYXRlRGF0YVN0b3JlQ2FsbDogT2JzZXJ2YWJsZTxhbnk+ID0gb2Yoe30pO1xyXG5cclxuICAvKiogVGhlIHNlc3Npb24gZGF0YSBiZWhhdmlvciBzdWJqZWN0ICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBzZXNzaW9uRGF0YTogQmVoYXZpb3JTdWJqZWN0PFR5cGVkU2Vzc2lvbjxUPj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFR5cGVkU2Vzc2lvbjxUPj4odW5kZWZpbmVkKTtcclxuXHJcbiAgLyoqIFRydWUgd2hlbiB0aGUgc2VydmljZSBoYXMgZmluaXNoZWQgaW5pdGlhbGl6aW5nICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBpc0luaXRpYWxpemVkQnM6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICAvKiogVHJ1ZSBpZiB0aGUgZGF0YSBzdG9yZSBpcyBpbml0aWFsaXplZCAqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgaXNEYXRhU3RvcmVJbml0QnM6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICAvKiogVHJ1ZSBpZiBjbGllbnQgc2lkZSBzZXNzaW9uIG1hbmFnZW1lbnQgKi9cclxuICBwcml2YXRlIGdldCBpc0NsaWVudFNlc3Npb25NYW5hZ2VtZW50KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2Vzc2lvbkNvbmZpZy5zZXNzaW9uTWFuYWdlbWVudEltcGxlbWVudGF0aW9uID09PSAnY2xpZW50JztcclxuICB9XHJcblxyXG4gIC8qKiBUcnVlIGlmIHNlcnZlciBzaWRlIHNlc3Npb24gbWFuYWdlbWVudCAqL1xyXG4gIHByaXZhdGUgZ2V0IGlzU2VydmVyU2Vzc2lvbk1hbmFnZW1lbnQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXNzaW9uQ29uZmlnLnNlc3Npb25NYW5hZ2VtZW50SW1wbGVtZW50YXRpb24gPT09ICdzZXJ2ZXInO1xyXG4gIH1cclxuXHJcbiAgLyoqIFRydWUgaWYgdXNpbmcgYnJvd3NlciBsb2NhbCBzdG9yYWdlICovXHJcbiAgcHJpdmF0ZSBnZXQgdXNlQnJvd3NlckxvY2FsU3RvcmFnZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNlc3Npb25Db25maWcuYnJvd3NlclN0b3JhZ2VJbXBsZW1lbnRhdGlvbiA9PT0gJ2xvY2FsJztcclxuICB9XHJcblxyXG4gIC8qKiBUcnVlIGlmIHVzaW5nIGJyb3dzZXIgc2Vzc2lvbiBzdG9yYWdlICovXHJcbiAgcHJpdmF0ZSBnZXQgdXNlQnJvd3NlclNlc3Npb25TdG9yYWdlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2Vzc2lvbkNvbmZpZy5icm93c2VyU3RvcmFnZUltcGxlbWVudGF0aW9uID09PSAnc2Vzc2lvbic7XHJcbiAgfVxyXG5cclxuICAvKiogVGhlIHdpbmRvdyAqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgd2luZG93OiBXaW5kb3c7XHJcblxyXG4gIC8qKiBUcnVlIGlmIGRhdGEgc3RvcmUgaXMgcHJvdmlkZWQgKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IGlzRGF0YVN0b3JlUHJvdmlkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIFRoZSBzZXNzaW9uIGlkICovXHJcbiAgcHVibGljIGdldCBzZXNzaW9uSWQoKTogc3RyaW5nIHtcclxuICAgIGlmICghdGhpcy5fc2Vzc2lvbklkKSB7XHJcbiAgICAgIHRoaXMuaXNDbGllbnRTZXNzaW9uTWFuYWdlbWVudCA/IHRoaXMuaW5pdENsaWVudFNlc3Npb25JZCgpIDogdGhpcy5pbml0U2VydmVyU2Vzc2lvbklkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuX3Nlc3Npb25JZDtcclxuICB9XHJcblxyXG4gIC8qKiBUaGUgc2Vzc2lvbiAqL1xyXG4gIHB1YmxpYyBzZXNzaW9uJDogT2JzZXJ2YWJsZTxUeXBlZFNlc3Npb248VD4+O1xyXG5cclxuICAvKiogVGhlIHNlc3Npb24gcmVmcmVzaCBvYnNlcnZhYmxlICovXHJcbiAgcHVibGljIHNlc3Npb25SZWZyZXNoJDogT2JzZXJ2YWJsZTxhbnk+O1xyXG5cclxuICAvKiogSW5kaWNhdGVzIHdoZW4gdGhlIHNlcnZpY2UgaGFzIGZpbmlzaGVkIGluaXRpYWxpemluZyAqL1xyXG4gIHB1YmxpYyBpc0luaXRpYWxpemVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuXHJcbiAgLyoqIFRydWUgaWYgdGhlIGRhdGEgc3RvcmUgaXMgaW5pdGlhbGl6ZWQgKi9cclxuICBwdWJsaWMgaXNEYXRhU3RvcmVJbml0JDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuXHJcbiAgLyoqIGdldHMgdGhlIHNlc3Npb24gKi9cclxuICBwdWJsaWMgZ2V0IHNlc3Npb24oKTogVHlwZWRTZXNzaW9uPFQ+IHtcclxuICAgIHJldHVybiB0aGlzLnNlc3Npb25EYXRhLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLyoqIHNldHMgdGhlIHNlc3Npb24gKi9cclxuICBwdWJsaWMgc2V0IHNlc3Npb24odmFsdWU6IFR5cGVkU2Vzc2lvbjxUPikge1xyXG4gICAgdGhpcy5zZXNzaW9uRGF0YS5uZXh0KHZhbHVlKTtcclxuICAgIHRoaXMud2luZG93LnNlc3Npb25TdG9yYWdlLnNldEl0ZW0odGhpcy5zZXNzaW9uQ29uZmlnLmtleVBhdGgsIHRoaXMuZW5jb2RlKHZhbHVlKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RzIHRoZSBzZXJ2aWNlXHJcbiAgICogQHBhcmFtIHNlc3Npb25Db25maWcgVGhlIHNlc3Npb24gY29uZmlndXJhdGlvbnNcclxuICAgKiBAcGFyYW0gX3dpbmRvdyBUaGUgd2luZG93IGludGVyZmFjZVxyXG4gICAqIEBwYXJhbSBhdXRoU2VydmljZSBUaGUgT0F1dGggb2RpYyAyIHNlcnZpY2VcclxuICAgKiBAcGFyYW0gaHR0cENsaWVudCBUaGUgaHR0cCBjbGllbnRcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoU0VTU0lPTl9DT05GSUcpIHJlYWRvbmx5IHNlc3Npb25Db25maWc6IFNlc3Npb25Db25maWcsXHJcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFdJTkRPVykgcmVhZG9ubHkgX3dpbmRvdzogYW55LFxyXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSByZWFkb25seSBhdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50XHJcbiAgKSB7XHJcbiAgICB0aGlzLmlzSW5pdGlhbGl6ZWQkID0gdGhpcy5pc0luaXRpYWxpemVkQnMuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB0aGlzLmlzRGF0YVN0b3JlSW5pdCQgPSB0aGlzLmlzRGF0YVN0b3JlSW5pdEJzLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgaWYgKCF0aGlzLnNlc3Npb25Db25maWcpIHtcclxuICAgICAgdGhpcy5zZXNzaW9uQ29uZmlnID0gbmV3IFNlc3Npb25Db25maWcoKTtcclxuICAgIH1cclxuICAgIHRoaXMuaXNEYXRhU3RvcmVQcm92aWRlZCA9ICEhdGhpcy5zZXNzaW9uQ29uZmlnPy5kYXRhU3RvcmVDb25maWc7XHJcbiAgICB0aGlzLndpbmRvdyA9IF93aW5kb3c7XHJcbiAgICBpZiAoIXRoaXMud2luZG93KSB7XHJcbiAgICAgIHRoaXMud2luZG93ID0gd2luZG93O1xyXG4gICAgfVxyXG4gICAgY29uc3QgZGF0YVN0b3JlTG9hZGVkVmFsdWUgPSB0aGlzLndpbmRvdy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKGRhdGFTdG9yZVJldHJpZXZlQ29tcGxldGVTZXNzaW9uS2V5KTtcclxuICAgIHRoaXMuaXNEYXRhU3RvcmVSZXRyaWV2ZUNvbXBsZXRlID0gISFkYXRhU3RvcmVMb2FkZWRWYWx1ZSA/IGRhdGFTdG9yZUxvYWRlZFZhbHVlLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJyA6IGZhbHNlO1xyXG4gICAgLy8gaWYgbm90IHVzaW5nIGEgZGF0YSBzdG9yZSwgdXBkYXRlIHRoZSBpbml0aWFsaXplZCB0byB0cnVlIGZvciBpdFxyXG4gICAgaWYgKCF0aGlzLmlzRGF0YVN0b3JlUHJvdmlkZWQpIHtcclxuICAgICAgdGhpcy5pc0RhdGFTdG9yZUluaXRCcy5uZXh0KHRydWUpO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLnNlc3Npb25Db25maWc/LmJyb3dzZXJTdG9yYWdlSW1wbGVtZW50YXRpb24pIHtcclxuICAgICAgdGhpcy5zZXNzaW9uQ29uZmlnLmJyb3dzZXJTdG9yYWdlSW1wbGVtZW50YXRpb24gPSAnc2Vzc2lvbic7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuc2Vzc2lvbkNvbmZpZz8uc2Vzc2lvbk1hbmFnZW1lbnRJbXBsZW1lbnRhdGlvbikge1xyXG4gICAgICB0aGlzLnNlc3Npb25Db25maWcuc2Vzc2lvbk1hbmFnZW1lbnRJbXBsZW1lbnRhdGlvbiA9ICdjbGllbnQnO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuaXNTZXJ2ZXJTZXNzaW9uTWFuYWdlbWVudCAmJiAhdGhpcy5zZXNzaW9uQ29uZmlnKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHVzZXIgc2VydmVyIHNlc3Npb24gbWFuYWdlbWVudCB3aXRoIG51bGwgc2Vzc2lvbkNvbmZpZyBwbGVhc2UgcHJvdmlkZTogR2xvYmFsSW5qZWN0aW9uVG9rZW5zLnNlc3Npb25Db25maWcnKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmlzQ2xpZW50U2Vzc2lvbk1hbmFnZW1lbnQpIHtcclxuICAgICAgdGhpcy5pbml0Q2xpZW50U2Vzc2lvbk1hbmFnZW1lbnQoKTtcclxuXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmluaXRTZXJ2ZXJTZXNzaW9uTWFuYWdlbWVudCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVkaXJlY3RzIHRvIGEgdXJsIHdpdGggYSByZWYgdG8gdGhlIGV4aXN0aW5nIHNlc3Npb25cclxuICAgKiBAcGFyYW0gdXJpIFRoZSB1cmkgdG8gcmVkaXJlY3QgdG9cclxuICAgKiBAcGFyYW0gc3luY1Nlc3Npb24gU3luYyBzZXNzaW9uLlxyXG4gICAqIEBwYXJhbSBjb25maWdzIFJlZGlyZWN0IGNvbmZpZ3MuXHJcbiAgICovXHJcbiAgcHVibGljIHJlZGlyZWN0KHVyaTogc3RyaW5nLCBzeW5jU2Vzc2lvbjogYm9vbGVhbiA9IGZhbHNlLCBjb25maWdzOiBSZWRpcmVjdFNlc3Npb25Db25maWdzID0ge30pOiB2b2lkIHtcclxuICAgIC8vIGlmIHRoZSBob3N0IG5hbWUgaXNuJ3QgaW4gdGhlIHVyaSwgd2UgYXJlIGdvaW5nIHRvIGEgZGlmZmVyZW50IGRvbWFpbiwgc28gdXNlIHRoZSBnYXRld2F5IG9uIHRoZSBvdGhlciBkb21haW4ncyBzZXJ2ZXJcclxuICAgIGxldCBmb3JtQWN0aW9uID0gYCR7dGhpcy5zZXNzaW9uQ29uZmlnLnRyYW5zZmVyQmFzZVBhdGh9L3Nzb2dhdGV3YXkvdjIvc3NvL2luYm91bmQtdHJhbnNmZXIvJHt0aGlzLnNlc3Npb25Db25maWcua2V5UGF0aH1gO1xyXG4gICAgaWYgKHVyaS5pbmRleE9mKHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSkgPT09IC0xKSB7XHJcbiAgICAgIGNvbnN0IHVyaVBhcnRzID0gdXJpLnNwbGl0KCcvJyk7XHJcbiAgICAgIC8vIHRoaXMgcmVzdWx0cyBpbiBbJ2h0dHBzOicsICcnLCAnZG9tYWluLmhvc3QnXSwgdXNlIDAgYW5kIDIgdG8gZ2V0IHRoZSBiYXNlIHVybCBvZiB0aGUgcmVkaXJlY3QgdXJpXHJcbiAgICAgIGZvcm1BY3Rpb24gPSBgJHt1cmlQYXJ0c1swXX0vLyR7dXJpUGFydHNbMl19L3Nzb2dhdGV3YXkvdjIvc3NvL2luYm91bmQtdHJhbnNmZXIvJHt0aGlzLnNlc3Npb25Db25maWcua2V5UGF0aH1gO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZm9ybSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Zvcm0nKTtcclxuICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgIGNvbnN0IGlucHV0RGVzdGluYXRpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xyXG4gICAgZm9ybS5tZXRob2QgPSAnUE9TVCc7XHJcbiAgICBmb3JtLmFjdGlvbiA9IGZvcm1BY3Rpb247XHJcbiAgICBpZiAoY29uZmlncy50YXJnZXROZXdUYWIpIHtcclxuICAgICAgZm9ybS50YXJnZXQgPSAnX2JsYW5rJztcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dC5uYW1lID0gJ2RhdGEnO1xyXG4gICAgaW5wdXQudmFsdWUgPSB0aGlzLndpbmRvdy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHRoaXMuc2Vzc2lvbkNvbmZpZy5rZXlQYXRoKTtcclxuICAgIGlucHV0RGVzdGluYXRpb24ubmFtZSA9ICdkZXN0aW5hdGlvbic7XHJcbiAgICBpbnB1dERlc3RpbmF0aW9uLnZhbHVlID0gdXJpO1xyXG4gICAgZm9ybS5hcHBlbmRDaGlsZChpbnB1dCk7XHJcbiAgICBmb3JtLmFwcGVuZENoaWxkKGlucHV0RGVzdGluYXRpb24pO1xyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmb3JtKTtcclxuICAgIGZvcm0uc3VibWl0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGVzIHRoZSBzZXNzaW9uXHJcbiAgICogQHBhcmFtIGJvZHkgVGhlIHNlc3Npb24gcHV0IHJlcXVlc3QgYm9keVxyXG4gICAqL1xyXG4gIHB1YmxpYyB1cGRhdGVTZXNzaW9uKFxyXG4gICAgYm9keTogVHlwZWRTZXNzaW9uPFQ+LFxyXG4gICAgc2VjdXJhYmxlRGVsZWdhdGU6IEFycmF5PChhcmc6IGFueSkgPT4gYW55PiB8ICgoYXJnOiBhbnkpID0+IGFueSksXHJcbiAgICBza2lwRGF0YVN0b3JlPzogYm9vbGVhbik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBpZiAoIXRoaXMuX3Nlc3Npb25JZCkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdObyBzZXNzaW9uIGhhcyBiZWVuIGluaXRpYWxpemVkLCBza2lwcGluZyB1cGRhdGUgY2FsbCcpO1xyXG5cclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuICAgIGlmICghc2VjdXJhYmxlRGVsZWdhdGUpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTZXNzaW9uU2VydmljZTp1cGRhdGVTZXNzaW9uIC0+IEFyZ3VtZW50IGlzIG51bGwgb3IgdW5kZWZpbmVkLCBhcmc6IHNlY3VyYWJsZURlbGVnYXRlJyk7XHJcbiAgICB9XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShib2R5LnNlc3Npb25EYXRhKSAmJiAhQXJyYXkuaXNBcnJheShzZWN1cmFibGVEZWxlZ2F0ZSkpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgICdTZXNzaW9uU2VydmljZTp1cGRhdGVTZXNzaW9uIC0+IFR5cGUgbWlzcyBtYXRjaCwgYXJnOiBib2R5LlNlc3Npb25EYXRhICh0eXBlIG9mIEFycmF5KSBhbmQgYXJnOiBzZWN1cmFibGVEZWxlZ2F0ZSAodHlwZSBvZiAoYXJnOiBhbnkpID0+IGFueSkgYm90aCBtdXN0IGJlIGFycmF5IG9yIG5vbi1hcnJheSdcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGlmICghQXJyYXkuaXNBcnJheShib2R5LnNlc3Npb25EYXRhKSAmJiBBcnJheS5pc0FycmF5KHNlY3VyYWJsZURlbGVnYXRlKSkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgJ1Nlc3Npb25TZXJ2aWNlOnVwZGF0ZVNlc3Npb24gLT4gVHlwZSBtaXNzIG1hdGNoLCBhcmc6IGJvZHkuU2Vzc2lvbkRhdGEgKHR5cGUgb2YgYW55KSBhbmQgYXJnOiBzZWN1cmFibGVEZWxlZ2F0ZSAodHlwZSBvZiBBcnJheSkgIGJvdGggbXVzdCBiZSBhcnJheSBvciBub24tYXJyYXknXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICAvLyBjcmVhdGUgcmVzcG9uc2UgbW9kZWwgYW5kIHVwZGF0ZSBvYnNlcnZhYmxlIHRvIGVtaXQgbmV3IHNlc3Npb24gdmFsdWVcclxuICAgIGNvbnN0IG1vZGVsOiBTZXNzaW9uUmVzcG9uc2VNb2RlbCA9IHtcclxuICAgICAgaW5pdGlhbGl6aW5nT3JpZ2luOiBib2R5LmluaXRpYWxpemluZ09yaWdpbixcclxuICAgICAgYnJhbmRpbmc6IGJvZHkuYnJhbmRpbmcsXHJcbiAgICAgIG9BdXRoOiBib2R5Lm9BdXRoLFxyXG4gICAgICBzZXNzaW9uSWQ6IHRoaXMuX3Nlc3Npb25JZCxcclxuICAgICAgdHJhY2tpbmc6IGJvZHkudHJhY2tpbmcsXHJcbiAgICAgIHNlc3Npb25EYXRhOiBib2R5LnNlc3Npb25EYXRhXHJcbiAgICB9O1xyXG4gICAgdGhpcy5zZXNzaW9uID0gbW9kZWw7XHJcblxyXG4gICAgY29uc3QgcHV0TW9kZWw6IFNlc3Npb25QdXRSZXF1ZXN0TW9kZWwgPSB7XHJcbiAgICAgIGluaXRpYWxpemluZ09yaWdpbjogYm9keS5pbml0aWFsaXppbmdPcmlnaW4sXHJcbiAgICAgIHNlc3Npb25EYXRhOlxyXG4gICAgICAgIChBcnJheS5pc0FycmF5KGJvZHkuc2Vzc2lvbkRhdGEpXHJcbiAgICAgICAgICA/IGJvZHkuc2Vzc2lvbkRhdGEubWFwKChkLCBpbmRleCkgPT4gc2VjdXJhYmxlRGVsZWdhdGVbaW5kZXhdKGQpKSA6IChzZWN1cmFibGVEZWxlZ2F0ZSBhcyAoKGFyZzogYW55KSA9PiBhbnkpKShib2R5LnNlc3Npb25EYXRhKSksXHJcbiAgICAgIGJyYW5kaW5nOiBib2R5LmJyYW5kaW5nLFxyXG4gICAgICB0cmFja2luZzogYm9keS50cmFja2luZyxcclxuICAgICAgb0F1dGg6IGJvZHkub0F1dGhcclxuICAgIH07XHJcblxyXG4gICAgLy8gaWYgZGF0YSBzdG9yZSBpcyBwcm92aWRlZCBydW4gdGhlIGRlbGVnYXRlIHRvIGRldGVybWluZSB0aGUgYm9keSBhbmQgdGhlIHVyaSB0byB1c2UgZm9yIHRoZSB1cGRhdGVcclxuICAgIGlmICh0aGlzLmlzRGF0YVN0b3JlUHJvdmlkZWQgJiYgIXNraXBEYXRhU3RvcmUpIHtcclxuICAgICAgY29uc3QgdXBkYXRlVHVwbGUgPVxyXG4gICAgICAgIHRoaXMuc2Vzc2lvbkNvbmZpZz8uZGF0YVN0b3JlQ29uZmlnLnVwZGF0ZVJlcXVlc3REZWxlZ2F0ZSh0aGlzLnNlc3Npb25Db25maWc/LmRhdGFTdG9yZUNvbmZpZy5iYXNlVXJpLCBib2R5LnNlc3Npb25EYXRhKTtcclxuICAgICAgLy8gc3dpdGNoIG1hcCB0byBjYW5jZWwgZXhpc3RpbmcgY2FsbHMgd2l0aCBuZXdlciBvbmVzIHRvIGF2b2lkIHJldmVydGluZyBkYXRhXHJcbiAgICAgIGlmICh0aGlzLnNlc3Npb25Db25maWc/LmRhdGFTdG9yZUNvbmZpZy5zaG91bGRVcGRhdGVEYXRhU3RvcmVEZWxlZ2F0ZShib2R5LnNlc3Npb25EYXRhKSkge1xyXG4gICAgICAgIHRoaXMuY3VycmVudFVwZGF0ZURhdGFTdG9yZUNhbGwucGlwZShzd2l0Y2hNYXAoKCkgPT4ge1xyXG4gICAgICAgICAgc3dpdGNoICh0aGlzLnNlc3Npb25Db25maWc/LmRhdGFTdG9yZUNvbmZpZy51cGRhdGVWZXJiKSB7XHJcbiAgICAgICAgICAgIGNhc2UgaHR0cFZlcmIuUE9TVDpcclxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QodXBkYXRlVHVwbGUudXJpLCB1cGRhdGVUdXBsZS5ib2R5KTtcclxuICAgICAgICAgICAgY2FzZSBodHRwVmVyYi5QVVQ6XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wdXQodXBkYXRlVHVwbGUudXJpLCB1cGRhdGVUdXBsZS5ib2R5KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KSlcclxuICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmlzRGF0YVN0b3JlUmV0cmlldmVDb21wbGV0ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMud2luZG93LnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oZGF0YVN0b3JlUmV0cmlldmVDb21wbGV0ZVNlc3Npb25LZXksICd0cnVlJyk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLnNlc3Npb24kO1xyXG4gIH1cclxuXHJcbiAgLyoqIFJlbW92ZXMgdGhlIHNlc3Npb24gKi9cclxuICBwdWJsaWMgcmVtb3ZlU2Vzc2lvbigpOiB2b2lkIHtcclxuICAgIHRoaXMuc2Vzc2lvbkRhdGEubmV4dCh1bmRlZmluZWQpO1xyXG4gICAgdGhpcy53aW5kb3cuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShkYXRhU3RvcmVSZXRyaWV2ZUNvbXBsZXRlU2Vzc2lvbktleSk7XHJcbiAgICB0aGlzLndpbmRvdy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMuc2Vzc2lvbkNvbmZpZy5rZXlQYXRoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBkZXByZWNhdGVkIHJlbW92aW5nIGluIHRoZSBuZXh0IHZlcnNpb25cclxuICAgKiBTeW5jcyB0aGUgc2Vzc2lvblxyXG4gICAqIFJldHVybnMgdGhlIG9ic2VydmFibGUgaW5kaWNhdGluZyB3aGVuIHRoZSBzZXNzaW9uIGhhcyBiZWVuIHN5bmNlZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBzeW5jU2Vzc2lvbigpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIG9mKHRydWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGRlcHJlY2F0ZWQgcmVtb3ZpbmcgaW4gdGhlIG5leHQgdmVyc2lvblxyXG4gICAqIFJlZnJlc2hlcyB0aGUgc2Vzc2lvblxyXG4gICAqL1xyXG4gIHB1YmxpYyByZWZyZXNoU2Vzc2lvbigpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIC8qKiBJbml0aWFsaXplIHNlcnZlciBzZXNzaW9uIG1hbmFnZW1lbnQgKi9cclxuICBwcml2YXRlIGluaXRTZXJ2ZXJTZXNzaW9uTWFuYWdlbWVudCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2Vzc2lvbiQgPSB0aGlzLnNlc3Npb25EYXRhLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIGNvbnN0IGdldEZyb21EYXRhU3RvcmUgPSAoKTogYW55ID0+IHtcclxuICAgICAgaWYgKCF0aGlzLnNlc3Npb25Db25maWc/LmRhdGFTdG9yZUNvbmZpZyB8fCAhdGhpcy5hdXRoU2VydmljZSB8fCB0aGlzLmlzRGF0YVN0b3JlUmV0cmlldmVDb21wbGV0ZSkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gbG9hZCBkYXRhIGZyb20gZGF0YSBzdG9yZSBhbm9uXHJcbiAgICAgIGNvbnN0IGxvYWREYXRhU3RvcmUgPSAoKSA9PlxyXG4gICAgICAgIHRoaXMuZGV0ZXJtaW5lRGF0YVN0b3JlRnVuY3Rpb24odGhpcy5zZXNzaW9uQ29uZmlnPy5kYXRhU3RvcmVDb25maWcucmV0cmlldmVWZXJiLFxyXG4gICAgICAgICAgdGhpcy5zZXNzaW9uQ29uZmlnPy5kYXRhU3RvcmVDb25maWcucmV0cmlldmVSZXF1ZXN0RGVsZWdhdGUsXHJcbiAgICAgICAgICB0aGlzLnNlc3Npb25Db25maWc/LmRhdGFTdG9yZUNvbmZpZy5iYXNlVXJpLFxyXG4gICAgICAgICAgdW5kZWZpbmVkKVxyXG4gICAgICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmlzSW5pdGlhbGl6ZWQkLnN1YnNjcmliZShpc0luaXQgPT4ge1xyXG4gICAgICAgICAgICAgIGlmICghaXNJbml0KSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRoaXMuc2Vzc2lvbiQucGlwZSh0YWtlKDEpKVxyXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShzZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVNlc3Npb24odGhpcy5zZXNzaW9uQ29uZmlnPy5kYXRhU3RvcmVDb25maWcucmV0cmlldmVSZXNwb25zZURlbGVnYXRlKHJlcywgc2VzKSxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlc3Npb25Db25maWc/LmRhdGFTdG9yZUNvbmZpZy5yZXRyaWV2ZVNlY3VyYWJsZURlbGVnYXRlKHJlcyksIHRydWUpO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmlzRGF0YVN0b3JlSW5pdEJzLm5leHQodHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuaXNEYXRhU3RvcmVSZXRyaWV2ZUNvbXBsZXRlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgdGhpcy53aW5kb3cuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShkYXRhU3RvcmVSZXRyaWV2ZUNvbXBsZXRlU2Vzc2lvbktleSwgJ3RydWUnKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgaWYgKCF0aGlzLmF1dGhTZXJ2aWNlLmhhc1ZhbGlkQWNjZXNzVG9rZW4oKSkge1xyXG4gICAgICAgIC8vIEhBQ0s6IEkgY291bGRuJ3QgZG8gdGhpcyBiYXNlZCBvbiBhbiBldmVudCBzbyBJIGhhZCB0byBnZXQgY3JlYXRpdmVcclxuICAgICAgICBjb25zdCBpbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgICAgIGlmICh0aGlzLmF1dGhTZXJ2aWNlLmhhc1ZhbGlkQWNjZXNzVG9rZW4oKSkge1xyXG4gICAgICAgICAgICBsb2FkRGF0YVN0b3JlKCk7XHJcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sIDI1MCk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIGxvYWREYXRhU3RvcmUoKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBib2R5OiBTZXNzaW9uUG9zdFJlcXVlc3RNb2RlbCA9IHtcclxuICAgICAgc2Vzc2lvbkRhdGE6IHVuZGVmaW5lZCxcclxuICAgICAgYnJhbmRpbmc6IHVuZGVmaW5lZFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBlbmNvZGVkU2Vzc2lvbiA9IHRoaXMud2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0odGhpcy5zZXNzaW9uQ29uZmlnLmtleVBhdGgpO1xyXG4gICAgdGhpcy5fc2Vzc2lvbklkID0gYFNlc3Npb24tJHtuZXdHdWlkKCl9YDtcclxuICAgIGlmICghZW5jb2RlZFNlc3Npb24pIHtcclxuICAgICAgdGhpcy5zZXNzaW9uID0gYm9keTtcclxuICAgICAgdGhpcy5pc0luaXRpYWxpemVkQnMubmV4dCh0cnVlKTtcclxuICAgICAgZ2V0RnJvbURhdGFTdG9yZSgpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuc2Vzc2lvbiA9IHRoaXMuZGVjb2RlKGVuY29kZWRTZXNzaW9uKTtcclxuICAgICAgdGhpcy5pc0luaXRpYWxpemVkQnMubmV4dCh0cnVlKTtcclxuICAgICAgZ2V0RnJvbURhdGFTdG9yZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIEluaXRpYWxpemVzIHRoZSBzZXJ2ZXIgc2lkZSBzZXNzaW9uIGlkICovXHJcbiAgcHJpdmF0ZSBpbml0U2VydmVyU2Vzc2lvbklkKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLl9zZXNzaW9uSWQpIHtcclxuICAgICAgY29uc29sZS53YXJuKCdTZXNzaW9uIEluaXRpYWxpemluZywgc3Vic2NyaWJlIHRvIHNlc3Npb24kIHRvIGdldCB0aGUgc2Vzc2lvbiBpbmZvLiBTZXNzaW9uIElkIHdpbGwgYmUgcG9wdWxhdGVkIHVwb24gaW5pdGlhbGl6YXRpb24nKTtcclxuXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKiBJbml0aWFsaXplcyBjbGllbnQgc2lkZSBzZXNzaW9uIG1hbmFnZW1lbnQgKi9cclxuICBwcml2YXRlIGluaXRDbGllbnRTZXNzaW9uTWFuYWdlbWVudCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnVzZUJyb3dzZXJTZXNzaW9uU3RvcmFnZSkge1xyXG4gICAgICBjb25zdCBzZXNJZCA9IHRoaXMud2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0odGhpcy5zdG9yYWdlS2V5KTtcclxuICAgICAgdGhpcy5fc2Vzc2lvbklkID0gc2VzSWQgfHwgbmV3R3VpZCgpO1xyXG4gICAgICB0aGlzLnNldFNlc3Npb25TdG9yYWdlKCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLnVzZUJyb3dzZXJMb2NhbFN0b3JhZ2UpIHtcclxuICAgICAgY29uc3Qgc2VzSWQgPSB0aGlzLndpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0b3JhZ2VLZXkpO1xyXG4gICAgICB0aGlzLl9zZXNzaW9uSWQgPSBzZXNJZCB8fCBuZXdHdWlkKCk7XHJcbiAgICAgIHRoaXMuc2V0TG9jYWxTdG9yYWdlKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlzSW5pdGlhbGl6ZWRCcy5uZXh0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRTZXNzaW9uSWRGcm9tU3RvcmFnZSgpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMudXNlQnJvd3NlckxvY2FsU3RvcmFnZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy53aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5zdG9yYWdlS2V5KTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMudXNlQnJvd3NlclNlc3Npb25TdG9yYWdlKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLndpbmRvdy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHRoaXMuc3RvcmFnZUtleSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogSW5pdGlhbGl6ZSB0aGUgY2xpZW50IHNpZGUgc2Vzc2lvbiBpZCAqL1xyXG4gIHByaXZhdGUgaW5pdENsaWVudFNlc3Npb25JZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3Nlc3Npb25JZCA9IG5ld0d1aWQoKTtcclxuICAgIGlmICh0aGlzLnVzZUJyb3dzZXJTZXNzaW9uU3RvcmFnZSkge1xyXG4gICAgICB0aGlzLnNldFNlc3Npb25TdG9yYWdlKCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLnVzZUJyb3dzZXJMb2NhbFN0b3JhZ2UpIHtcclxuICAgICAgdGhpcy5zZXRMb2NhbFN0b3JhZ2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKiBTZXRzIHNlc3Npb24gc3RvcmFnZSAqL1xyXG4gIHByaXZhdGUgc2V0U2Vzc2lvblN0b3JhZ2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLndpbmRvdy5zZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHRoaXMuc3RvcmFnZUtleSwgdGhpcy5fc2Vzc2lvbklkKTtcclxuICB9XHJcblxyXG4gIC8qKiBTZXRzIGxvY2FsIHN0b3JhZ2UgKi9cclxuICBwcml2YXRlIHNldExvY2FsU3RvcmFnZSgpOiB2b2lkIHtcclxuICAgIHRoaXMud2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuc3RvcmFnZUtleSwgdGhpcy5fc2Vzc2lvbklkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERldGVybWluZXMgdGhlIHR5cGUgb2YgaHR0cCBjYWxsIHRvIG1ha2UgZm9yIHRoZSBkYXRhIHN0b3JlXHJcbiAgICogQHBhcmFtIHZlcmIgVGhlIHZlcmJcclxuICAgKiBAcGFyYW0gZGVsZWdhdGUgVGhlIGRlbGVnYXRlXHJcbiAgICogQHBhcmFtIHVyaSBUaGUgdXJpXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBkZXRlcm1pbmVEYXRhU3RvcmVGdW5jdGlvbihcclxuICAgIHZlcmI6IEh0dHBWZXJiLFxyXG4gICAgZGVsZWdhdGU6IChiYXNlVXJpOiBzdHJpbmcsIGJvZHk6IFQpID0+IHsgdXJpOiBzdHJpbmcsIGJvZHk/OiBhbnkgfSxcclxuICAgIHVyaTogc3RyaW5nLFxyXG4gICAgYm9keTogYW55XHJcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHR1cGxlID0gZGVsZWdhdGUodXJpLCBib2R5KTtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXHJcbiAgICB9KTtcclxuICAgIHN3aXRjaCAodmVyYikge1xyXG4gICAgICBjYXNlIGh0dHBWZXJiLlBVVDpcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnB1dCh0dXBsZS51cmksIHR1cGxlLmJvZHksIHsgaGVhZGVycyB9KTtcclxuICAgICAgY2FzZSBodHRwVmVyYi5QT1NUOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdCh0dXBsZS51cmksIHR1cGxlLmJvZHksIHsgaGVhZGVycyB9KTtcclxuICAgICAgY2FzZSBodHRwVmVyYi5HRVQ6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQodHVwbGUudXJpLCB7IGhlYWRlcnMgfSk7XHJcbiAgICAgIGNhc2UgaHR0cFZlcmIuUEFUQ0g6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wYXRjaCh0dXBsZS51cmksIHR1cGxlLmJvZHksIHsgaGVhZGVycyB9KTtcclxuICAgICAgY2FzZSBodHRwVmVyYi5ERUxFVEU6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5kZWxldGUodHVwbGUudXJpLCB7IGhlYWRlcnMgfSk7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdIdHRwIHZlcmIgbXVzdCBiZSBvbmUgb2Y6IFBBVENILCBQVVQsIFBPU1QsIERFTEVURSwgR0VUJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFbmNvZGVzIHRoZSBvYmplY3RcclxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIG9iamVjdFxyXG4gICAqL1xyXG4gIHByaXZhdGUgZW5jb2RlKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHdpbmRvdy5idG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeSh2YWx1ZSkpKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWNvZGVzIHRoZSBzdHJpbmdcclxuICAgKiBAcGFyYW0gc3RyIFRoZSBzdHJpbmdcclxuICAgKi9cclxuICBwcml2YXRlIGRlY29kZShzdHI6IHN0cmluZyk6IGFueSB7XHJcbiAgICByZXR1cm4gSlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQoZXNjYXBlKHdpbmRvdy5hdG9iKHN0cikpKSk7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogUmVkaXJlY3QgU2Vzc2lvbiBDb25maWdzLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFJlZGlyZWN0U2Vzc2lvbkNvbmZpZ3Mge1xyXG4gIC8qKiBJZiBzZXNzaW9uIHNob3VsZCBiZSBzeW5jZWQuICovXHJcbiAgc3luY1Nlc3Npb24/OiBib29sZWFuO1xyXG5cclxuICAvKiogSWYgbmV3IHRhYiBzaG91bGQgYmUgdGFyZ2V0ZWQuICovXHJcbiAgdGFyZ2V0TmV3VGFiPzogYm9vbGVhbjtcclxufSJdfQ==
382
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IlM6L0IwMi9fd29yay84My9zL2xpYnJhcnkvcHJvamVjdHMvYXJtYXR1cmUvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvcmUvc2VydmljZXMvc2Vzc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUFZLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBRTVDLG1EQUFtRDtBQUNuRCxNQUFNLG1DQUFtQyxHQUFHLG1CQUFtQixDQUFDO0FBRWhFLDBCQUEwQjtBQUkxQixNQUFNLE9BQU8sY0FBYztJQWlGekI7Ozs7OztPQU1HO0lBQ0gsWUFDK0MsYUFBNEIsRUFDcEMsT0FBWSxFQUNwQixXQUF5QixFQUNyQyxVQUFzQjs7UUFITSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUNwQyxZQUFPLEdBQVAsT0FBTyxDQUFLO1FBQ3BCLGdCQUFXLEdBQVgsV0FBVyxDQUFjO1FBQ3JDLGVBQVUsR0FBVixVQUFVLENBQVk7UUF2RnpDLG9EQUFvRDtRQUM1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Q0FBQztZQUNuRSxLQUFLLFFBQVEsQ0FBQyxNQUFNO2dCQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQ3hEO2dCQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMseURBQXlELENBQUMsQ0FBQztTQUM5RTtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSyxNQUFNLENBQUMsS0FBVTtRQUN2QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVEOzs7T0FHRztJQUNLLE1BQU0sQ0FBQyxHQUFXO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDOzs7O1lBdmFGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBVlEsYUFBYSx1QkFvR2pCLFFBQVEsWUFBSSxNQUFNLFNBQUMsY0FBYzs0Q0FDakMsUUFBUSxZQUFJLE1BQU0sU0FBQyxNQUFNO1lBM0dyQixZQUFZLHVCQTRHaEIsUUFBUTtZQTlHSixVQUFVOztBQTBibkI7O0dBRUc7QUFDSCxNQUFNLE9BQU8sc0JBQXNCO0NBTWxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uUG9zdFJlcXVlc3RNb2RlbCwgU2Vzc2lvblB1dFJlcXVlc3RNb2RlbCwgU2Vzc2lvblJlc3BvbnNlTW9kZWwgfSBmcm9tICcuLi9jbGllbnQtZ2VuZXJhdGVkL21vZGVsL21vZGVscyc7XHJcbmltcG9ydCB7IFNFU1NJT05fQ09ORklHLCBXSU5ET1cgfSBmcm9tICcuLi9tb2RlbHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgSHR0cFZlcmIsIGh0dHBWZXJiIH0gZnJvbSAnLi4vbW9kZWxzL2h0dHAtdmVyYnMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL3Nlc3Npb24tY29uZmlnJztcclxuaW1wb3J0IHsgVHlwZWRTZXNzaW9uIH0gZnJvbSAnLi4vbW9kZWxzL3R5cGVkLXNlc3Npb24nO1xyXG5pbXBvcnQgeyBuZXdHdWlkIH0gZnJvbSAnLi4vZnVuY3Rpb25zL2d1aWQnO1xyXG5cclxuLyoqIHRoZSBkYXRhIHN0b3JlIHJldHJpZXZlIGNvbXBsZXRlIHNlc3Npb24ga2V5ICovXHJcbmNvbnN0IGRhdGFTdG9yZVJldHJpZXZlQ29tcGxldGVTZXNzaW9uS2V5ID0gJ2RhdGFTdG9yZVJldHJpZXZlJztcclxuXHJcbi8qKiBUaGUgc2Vzc2lvbiBzZXJ2aWNlICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlc3Npb25TZXJ2aWNlPFQgPSBhbnk+IHtcclxuXHJcbiAgLyoqIFRoZSBzZXNzaW9uIGlkICovXHJcbiAgcHJpdmF0ZSBfc2Vzc2lvbklkOiBzdHJpbmc7XHJcblxyXG4gIC8qKiBUcnVlIHdoZW4gdGhlIGRhdGEgc3RvcmUgcmV0cmlldmUgaXMgY29tcGxldGUgKi9cclxuICBwcml2YXRlIGlzRGF0YVN0b3JlUmV0cmlldmVDb21wbGV0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKiogVGhlIGxvY2FsIHN0b3JhZ2Uga2V5ICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBzdG9yYWdlS2V5OiBzdHJpbmcgPSAnU29mLUFybS1TZXNzaW9uLUlkJztcclxuXHJcbiAgLyoqIFRlaCBjdXJyZW50IHVwZGF0ZSBkYXRhIHN0b3JlIGNhbGwgKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IGN1cnJlbnRVcGRhdGVEYXRhU3RvcmVDYWxsOiBPYnNlcnZhYmxlPGFueT4gPSBvZih7fSk7XHJcblxyXG4gIC8qKiBUaGUgc2Vzc2lvbiBkYXRhIGJlaGF2aW9yIHN1YmplY3QgKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IHNlc3Npb25EYXRhOiBCZWhhdmlvclN1YmplY3Q8VHlwZWRTZXNzaW9uPFQ+PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHlwZWRTZXNzaW9uPFQ+Pih1bmRlZmluZWQpO1xyXG5cclxuICAvKiogVHJ1ZSB3aGVuIHRoZSBzZXJ2aWNlIGhhcyBmaW5pc2hlZCBpbml0aWFsaXppbmcgKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IGlzSW5pdGlhbGl6ZWRCczogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gIC8qKiBUcnVlIGlmIHRoZSBkYXRhIHN0b3JlIGlzIGluaXRpYWxpemVkICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBpc0RhdGFTdG9yZUluaXRCczogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gIC8qKiBUcnVlIGlmIGNsaWVudCBzaWRlIHNlc3Npb24gbWFuYWdlbWVudCAqL1xyXG4gIHByaXZhdGUgZ2V0IGlzQ2xpZW50U2Vzc2lvbk1hbmFnZW1lbnQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXNzaW9uQ29uZmlnLnNlc3Npb25NYW5hZ2VtZW50SW1wbGVtZW50YXRpb24gPT09ICdjbGllbnQnO1xyXG4gIH1cclxuXHJcbiAgLyoqIFRydWUgaWYgc2VydmVyIHNpZGUgc2Vzc2lvbiBtYW5hZ2VtZW50ICovXHJcbiAgcHJpdmF0ZSBnZXQgaXNTZXJ2ZXJTZXNzaW9uTWFuYWdlbWVudCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNlc3Npb25Db25maWcuc2Vzc2lvbk1hbmFnZW1lbnRJbXBsZW1lbnRhdGlvbiA9PT0gJ3NlcnZlcic7XHJcbiAgfVxyXG5cclxuICAvKiogVHJ1ZSBpZiB1c2luZyBicm93c2VyIGxvY2FsIHN0b3JhZ2UgKi9cclxuICBwcml2YXRlIGdldCB1c2VCcm93c2VyTG9jYWxTdG9yYWdlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2Vzc2lvbkNvbmZpZy5icm93c2VyU3RvcmFnZUltcGxlbWVudGF0aW9uID09PSAnbG9jYWwnO1xyXG4gIH1cclxuXHJcbiAgLyoqIFRydWUgaWYgdXNpbmcgYnJvd3NlciBzZXNzaW9uIHN0b3JhZ2UgKi9cclxuICBwcml2YXRlIGdldCB1c2VCcm93c2VyU2Vzc2lvblN0b3JhZ2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXNzaW9uQ29uZmlnLmJyb3dzZXJTdG9yYWdlSW1wbGVtZW50YXRpb24gPT09ICdzZXNzaW9uJztcclxuICB9XHJcblxyXG4gIC8qKiBUaGUgd2luZG93ICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3c6IFdpbmRvdztcclxuXHJcbiAgLyoqIFRydWUgaWYgZGF0YSBzdG9yZSBpcyBwcm92aWRlZCAqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgaXNEYXRhU3RvcmVQcm92aWRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKiogVGhlIHNlc3Npb24gaWQgKi9cclxuICBwdWJsaWMgZ2V0IHNlc3Npb25JZCgpOiBzdHJpbmcge1xyXG4gICAgaWYgKCF0aGlzLl9zZXNzaW9uSWQpIHtcclxuICAgICAgdGhpcy5pc0NsaWVudFNlc3Npb25NYW5hZ2VtZW50ID8gdGhpcy5pbml0Q2xpZW50U2Vzc2lvbklkKCkgOiB0aGlzLmluaXRTZXJ2ZXJTZXNzaW9uSWQoKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5fc2Vzc2lvbklkO1xyXG4gIH1cclxuXHJcbiAgLyoqIFRoZSBzZXNzaW9uICovXHJcbiAgcHVibGljIHNlc3Npb24kOiBPYnNlcnZhYmxlPFR5cGVkU2Vzc2lvbjxUPj47XHJcblxyXG4gIC8qKiBUaGUgc2Vzc2lvbiByZWZyZXNoIG9ic2VydmFibGUgKi9cclxuICBwdWJsaWMgc2Vzc2lvblJlZnJlc2gkOiBPYnNlcnZhYmxlPGFueT47XHJcblxyXG4gIC8qKiBJbmRpY2F0ZXMgd2hlbiB0aGUgc2VydmljZSBoYXMgZmluaXNoZWQgaW5pdGlhbGl6aW5nICovXHJcbiAgcHVibGljIGlzSW5pdGlhbGl6ZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG5cclxuICAvKiogVHJ1ZSBpZiB0aGUgZGF0YSBzdG9yZSBpcyBpbml0aWFsaXplZCAqL1xyXG4gIHB1YmxpYyBpc0RhdGFTdG9yZUluaXQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG5cclxuICAvKiogZ2V0cyB0aGUgc2Vzc2lvbiAqL1xyXG4gIHB1YmxpYyBnZXQgc2Vzc2lvbigpOiBUeXBlZFNlc3Npb248VD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2Vzc2lvbkRhdGEudmFsdWU7XHJcbiAgfVxyXG5cclxuICAvKiogc2V0cyB0aGUgc2Vzc2lvbiAqL1xyXG4gIHB1YmxpYyBzZXQgc2Vzc2lvbih2YWx1ZTogVHlwZWRTZXNzaW9uPFQ+KSB7XHJcbiAgICB0aGlzLnNlc3Npb25EYXRhLm5leHQodmFsdWUpO1xyXG4gICAgdGhpcy53aW5kb3cuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnNlc3Npb25Db25maWcua2V5UGF0aCwgdGhpcy5lbmNvZGUodmFsdWUpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnN0cnVjdHMgdGhlIHNlcnZpY2VcclxuICAgKiBAcGFyYW0gc2Vzc2lvbkNvbmZpZyBUaGUgc2Vzc2lvbiBjb25maWd1cmF0aW9uc1xyXG4gICAqIEBwYXJhbSBfd2luZG93IFRoZSB3aW5kb3cgaW50ZXJmYWNlXHJcbiAgICogQHBhcmFtIGF1dGhTZXJ2aWNlIFRoZSBPQXV0aCBvZGljIDIgc2VydmljZVxyXG4gICAqIEBwYXJhbSBodHRwQ2xpZW50IFRoZSBodHRwIGNsaWVudFxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChTRVNTSU9OX0NPTkZJRykgcmVhZG9ubHkgc2Vzc2lvbkNvbmZpZzogU2Vzc2lvbkNvbmZpZyxcclxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoV0lORE9XKSByZWFkb25seSBfd2luZG93OiBhbnksXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBPQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHBDbGllbnQ6IEh0dHBDbGllbnRcclxuICApIHtcclxuICAgIHRoaXMuaXNJbml0aWFsaXplZCQgPSB0aGlzLmlzSW5pdGlhbGl6ZWRCcy5hc09ic2VydmFibGUoKTtcclxuICAgIHRoaXMuaXNEYXRhU3RvcmVJbml0JCA9IHRoaXMuaXNEYXRhU3RvcmVJbml0QnMuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBpZiAoIXRoaXMuc2Vzc2lvbkNvbmZpZykge1xyXG4gICAgICB0aGlzLnNlc3Npb25Db25maWcgPSBuZXcgU2Vzc2lvbkNvbmZpZygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pc0RhdGFTdG9yZVByb3ZpZGVkID0gISF0aGlzLnNlc3Npb25Db25maWc/LmRhdGFTdG9yZUNvbmZpZztcclxuICAgIHRoaXMud2luZG93ID0gX3dpbmRvdztcclxuICAgIGlmICghdGhpcy53aW5kb3cpIHtcclxuICAgICAgdGhpcy53aW5kb3cgPSB3aW5kb3c7XHJcbiAgICB9XHJcbiAgICBjb25zdCBkYXRhU3RvcmVMb2FkZWRWYWx1ZSA9IHRoaXMud2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0oZGF0YVN0b3JlUmV0cmlldmVDb21wbGV0ZVNlc3Npb25LZXkpO1xyXG4gICAgdGhpcy5pc0RhdGFTdG9yZVJldHJpZXZlQ29tcGxldGUgPSAhIWRhdGFTdG9yZUxvYWRlZFZhbHVlID8gZGF0YVN0b3JlTG9hZGVkVmFsdWUudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnIDogZmFsc2U7XHJcbiAgICAvLyBpZiBub3QgdXNpbmcgYSBkYXRhIHN0b3JlLCB1cGRhdGUgdGhlIGluaXRpYWxpemVkIHRvIHRydWUgZm9yIGl0XHJcbiAgICBpZiAoIXRoaXMuaXNEYXRhU3RvcmVQcm92aWRlZCkge1xyXG4gICAgICB0aGlzLmlzRGF0YVN0b3JlSW5pdEJzLm5leHQodHJ1ZSk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuc2Vzc2lvbkNvbmZpZz8uYnJvd3NlclN0b3JhZ2VJbXBsZW1lbnRhdGlvbikge1xyXG4gICAgICB0aGlzLnNlc3Npb25Db25maWcuYnJvd3NlclN0b3JhZ2VJbXBsZW1lbnRhdGlvbiA9ICdzZXNzaW9uJztcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5zZXNzaW9uQ29uZmlnPy5zZXNzaW9uTWFuYWdlbWVudEltcGxlbWVudGF0aW9uKSB7XHJcbiAgICAgIHRoaXMuc2Vzc2lvbkNvbmZpZy5zZXNzaW9uTWFuYWdlbWVudEltcGxlbWVudGF0aW9uID0gJ2NsaWVudCc7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pc1NlcnZlclNlc3Npb25NYW5hZ2VtZW50ICYmICF0aGlzLnNlc3Npb25Db25maWcpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgdXNlciBzZXJ2ZXIgc2Vzc2lvbiBtYW5hZ2VtZW50IHdpdGggbnVsbCBzZXNzaW9uQ29uZmlnIHBsZWFzZSBwcm92aWRlOiBHbG9iYWxJbmplY3Rpb25Ub2tlbnMuc2Vzc2lvbkNvbmZpZycpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuaXNDbGllbnRTZXNzaW9uTWFuYWdlbWVudCkge1xyXG4gICAgICB0aGlzLmluaXRDbGllbnRTZXNzaW9uTWFuYWdlbWVudCgpO1xyXG5cclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaW5pdFNlcnZlclNlc3Npb25NYW5hZ2VtZW50KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZWRpcmVjdHMgdG8gYSB1cmwgd2l0aCBhIHJlZiB0byB0aGUgZXhpc3Rpbmcgc2Vzc2lvblxyXG4gICAqIEBwYXJhbSB1cmkgVGhlIHVyaSB0byByZWRpcmVjdCB0b1xyXG4gICAqIEBwYXJhbSBzeW5jU2Vzc2lvbiBTeW5jIHNlc3Npb24uXHJcbiAgICogQHBhcmFtIGNvbmZpZ3MgUmVkaXJlY3QgY29uZmlncy5cclxuICAgKi9cclxuICBwdWJsaWMgcmVkaXJlY3QodXJpOiBzdHJpbmcsIHN5bmNTZXNzaW9uOiBib29sZWFuID0gZmFsc2UsIGNvbmZpZ3M6IFJlZGlyZWN0U2Vzc2lvbkNvbmZpZ3MgPSB7fSk6IHZvaWQge1xyXG4gICAgLy8gaWYgdGhlIGhvc3QgbmFtZSBpc24ndCBpbiB0aGUgdXJpLCB3ZSBhcmUgZ29pbmcgdG8gYSBkaWZmZXJlbnQgZG9tYWluLCBzbyB1c2UgdGhlIGdhdGV3YXkgb24gdGhlIG90aGVyIGRvbWFpbidzIHNlcnZlclxyXG4gICAgbGV0IGZvcm1BY3Rpb24gPSBgJHt0aGlzLnNlc3Npb25Db25maWcudHJhbnNmZXJCYXNlUGF0aH0vc3NvZ2F0ZXdheS92Mi9zc28vaW5ib3VuZC10cmFuc2Zlci8ke3RoaXMuc2Vzc2lvbkNvbmZpZy5rZXlQYXRofWA7XHJcbiAgICBpZiAodXJpLmluZGV4T2Yod2luZG93LmxvY2F0aW9uLmhvc3RuYW1lKSA9PT0gLTEpIHtcclxuICAgICAgY29uc3QgdXJpUGFydHMgPSB1cmkuc3BsaXQoJy8nKTtcclxuICAgICAgLy8gdGhpcyByZXN1bHRzIGluIFsnaHR0cHM6JywgJycsICdkb21haW4uaG9zdCddLCB1c2UgMCBhbmQgMiB0byBnZXQgdGhlIGJhc2UgdXJsIG9mIHRoZSByZWRpcmVjdCB1cmlcclxuICAgICAgZm9ybUFjdGlvbiA9IGAke3VyaVBhcnRzWzBdfS8vJHt1cmlQYXJ0c1syXX0vc3NvZ2F0ZXdheS92Mi9zc28vaW5ib3VuZC10cmFuc2Zlci8ke3RoaXMuc2Vzc2lvbkNvbmZpZy5rZXlQYXRofWA7XHJcbiAgICB9XHJcbiAgICBjb25zdCBmb3JtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZm9ybScpO1xyXG4gICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xyXG4gICAgY29uc3QgaW5wdXREZXN0aW5hdGlvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICBmb3JtLm1ldGhvZCA9ICdQT1NUJztcclxuICAgIGZvcm0uYWN0aW9uID0gZm9ybUFjdGlvbjtcclxuICAgIGlmIChjb25maWdzLnRhcmdldE5ld1RhYikge1xyXG4gICAgICBmb3JtLnRhcmdldCA9ICdfYmxhbmsnO1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0Lm5hbWUgPSAnZGF0YSc7XHJcbiAgICBpbnB1dC52YWx1ZSA9IHRoaXMud2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0odGhpcy5zZXNzaW9uQ29uZmlnLmtleVBhdGgpO1xyXG4gICAgaW5wdXREZXN0aW5hdGlvbi5uYW1lID0gJ2Rlc3RpbmF0aW9uJztcclxuICAgIGlucHV0RGVzdGluYXRpb24udmFsdWUgPSB1cmk7XHJcbiAgICBmb3JtLmFwcGVuZENoaWxkKGlucHV0KTtcclxuICAgIGZvcm0uYXBwZW5kQ2hpbGQoaW5wdXREZXN0aW5hdGlvbik7XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZvcm0pO1xyXG4gICAgZm9ybS5zdWJtaXQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZXMgdGhlIHNlc3Npb25cclxuICAgKiBAcGFyYW0gYm9keSBUaGUgc2Vzc2lvbiBwdXQgcmVxdWVzdCBib2R5XHJcbiAgICovXHJcbiAgcHVibGljIHVwZGF0ZVNlc3Npb24oXHJcbiAgICBib2R5OiBUeXBlZFNlc3Npb248VD4sXHJcbiAgICBzZWN1cmFibGVEZWxlZ2F0ZTogQXJyYXk8KGFyZzogYW55KSA9PiBhbnk+IHwgKChhcmc6IGFueSkgPT4gYW55KSxcclxuICAgIHNraXBEYXRhU3RvcmU/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGlmICghdGhpcy5fc2Vzc2lvbklkKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ05vIHNlc3Npb24gaGFzIGJlZW4gaW5pdGlhbGl6ZWQsIHNraXBwaW5nIHVwZGF0ZSBjYWxsJyk7XHJcblxyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgaWYgKCFzZWN1cmFibGVEZWxlZ2F0ZSkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Nlc3Npb25TZXJ2aWNlOnVwZGF0ZVNlc3Npb24gLT4gQXJndW1lbnQgaXMgbnVsbCBvciB1bmRlZmluZWQsIGFyZzogc2VjdXJhYmxlRGVsZWdhdGUnKTtcclxuICAgIH1cclxuICAgIGlmIChBcnJheS5pc0FycmF5KGJvZHkuc2Vzc2lvbkRhdGEpICYmICFBcnJheS5pc0FycmF5KHNlY3VyYWJsZURlbGVnYXRlKSkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgJ1Nlc3Npb25TZXJ2aWNlOnVwZGF0ZVNlc3Npb24gLT4gVHlwZSBtaXNzIG1hdGNoLCBhcmc6IGJvZHkuU2Vzc2lvbkRhdGEgKHR5cGUgb2YgQXJyYXkpIGFuZCBhcmc6IHNlY3VyYWJsZURlbGVnYXRlICh0eXBlIG9mIChhcmc6IGFueSkgPT4gYW55KSBib3RoIG11c3QgYmUgYXJyYXkgb3Igbm9uLWFycmF5J1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGJvZHkuc2Vzc2lvbkRhdGEpICYmIEFycmF5LmlzQXJyYXkoc2VjdXJhYmxlRGVsZWdhdGUpKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICAnU2Vzc2lvblNlcnZpY2U6dXBkYXRlU2Vzc2lvbiAtPiBUeXBlIG1pc3MgbWF0Y2gsIGFyZzogYm9keS5TZXNzaW9uRGF0YSAodHlwZSBvZiBhbnkpIGFuZCBhcmc6IHNlY3VyYWJsZURlbGVnYXRlICh0eXBlIG9mIEFycmF5KSAgYm90aCBtdXN0IGJlIGFycmF5IG9yIG5vbi1hcnJheSdcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIC8vIGNyZWF0ZSByZXNwb25zZSBtb2RlbCBhbmQgdXBkYXRlIG9ic2VydmFibGUgdG8gZW1pdCBuZXcgc2Vzc2lvbiB2YWx1ZVxyXG4gICAgY29uc3QgbW9kZWw6IFNlc3Npb25SZXNwb25zZU1vZGVsID0ge1xyXG4gICAgICBpbml0aWFsaXppbmdPcmlnaW46IGJvZHkuaW5pdGlhbGl6aW5nT3JpZ2luLFxyXG4gICAgICBicmFuZGluZzogYm9keS5icmFuZGluZyxcclxuICAgICAgb0F1dGg6IGJvZHkub0F1dGgsXHJcbiAgICAgIHNlc3Npb25JZDogdGhpcy5fc2Vzc2lvbklkLFxyXG4gICAgICB0cmFja2luZzogYm9keS50cmFja2luZyxcclxuICAgICAgc2Vzc2lvbkRhdGE6IGJvZHkuc2Vzc2lvbkRhdGFcclxuICAgIH07XHJcbiAgICB0aGlzLnNlc3Npb24gPSBtb2RlbDtcclxuXHJcbiAgICBjb25zdCBwdXRNb2RlbDogU2Vzc2lvblB1dFJlcXVlc3RNb2RlbCA9IHtcclxuICAgICAgaW5pdGlhbGl6aW5nT3JpZ2luOiBib2R5LmluaXRpYWxpemluZ09yaWdpbixcclxuICAgICAgc2Vzc2lvbkRhdGE6XHJcbiAgICAgICAgKEFycmF5LmlzQXJyYXkoYm9keS5zZXNzaW9uRGF0YSlcclxuICAgICAgICAgID8gYm9keS5zZXNzaW9uRGF0YS5tYXAoKGQsIGluZGV4KSA9PiBzZWN1cmFibGVEZWxlZ2F0ZVtpbmRleF0oZCkpIDogKHNlY3VyYWJsZURlbGVnYXRlIGFzICgoYXJnOiBhbnkpID0+IGFueSkpKGJvZHkuc2Vzc2lvbkRhdGEpKSxcclxuICAgICAgYnJhbmRpbmc6IGJvZHkuYnJhbmRpbmcsXHJcbiAgICAgIHRyYWNraW5nOiBib2R5LnRyYWNraW5nLFxyXG4gICAgICBvQXV0aDogYm9keS5vQXV0aFxyXG4gICAgfTtcclxuXHJcbiAgICAvLyBpZiBkYXRhIHN0b3JlIGlzIHByb3ZpZGVkIHJ1biB0aGUgZGVsZWdhdGUgdG8gZGV0ZXJtaW5lIHRoZSBib2R5IGFuZCB0aGUgdXJpIHRvIHVzZSBmb3IgdGhlIHVwZGF0ZVxyXG4gICAgaWYgKHRoaXMuaXNEYXRhU3RvcmVQcm92aWRlZCAmJiAhc2tpcERhdGFTdG9yZSkge1xyXG4gICAgICBjb25zdCB1cGRhdGVUdXBsZSA9XHJcbiAgICAgICAgdGhpcy5zZXNzaW9uQ29uZmlnPy5kYXRhU3RvcmVDb25maWcudXBkYXRlUmVxdWVzdERlbGVnYXRlKHRoaXMuc2Vzc2lvbkNvbmZpZz8uZGF0YVN0b3JlQ29uZmlnLmJhc2VVcmksIGJvZHkuc2Vzc2lvbkRhdGEpO1xyXG4gICAgICAvLyBzd2l0Y2ggbWFwIHRvIGNhbmNlbCBleGlzdGluZyBjYWxscyB3aXRoIG5ld2VyIG9uZXMgdG8gYXZvaWQgcmV2ZXJ0aW5nIGRhdGFcclxuICAgICAgaWYgKHRoaXMuc2Vzc2lvbkNvbmZpZz8uZGF0YVN0b3JlQ29uZmlnLnNob3VsZFVwZGF0ZURhdGFTdG9yZURlbGVnYXRlKGJvZHkuc2Vzc2lvbkRhdGEpKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50VXBkYXRlRGF0YVN0b3JlQ2FsbC5waXBlKHN3aXRjaE1hcCgoKSA9PiB7XHJcbiAgICAgICAgICBzd2l0Y2ggKHRoaXMuc2Vzc2lvbkNvbmZpZz8uZGF0YVN0b3JlQ29uZmlnLnVwZGF0ZVZlcmIpIHtcclxuICAgICAgICAgICAgY2FzZSBodHRwVmVyYi5QT1NUOlxyXG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdCh1cGRhdGVUdXBsZS51cmksIHVwZGF0ZVR1cGxlLmJvZHkpO1xyXG4gICAgICAgICAgICBjYXNlIGh0dHBWZXJiLlBVVDpcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnB1dCh1cGRhdGVUdXBsZS51cmksIHVwZGF0ZVR1cGxlLmJvZHkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNEYXRhU3RvcmVSZXRyaWV2ZUNvbXBsZXRlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy53aW5kb3cuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShkYXRhU3RvcmVSZXRyaWV2ZUNvbXBsZXRlU2Vzc2lvbktleSwgJ3RydWUnKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuc2Vzc2lvbiQ7XHJcbiAgfVxyXG5cclxuICAvKiogUmVtb3ZlcyB0aGUgc2Vzc2lvbiAqL1xyXG4gIHB1YmxpYyByZW1vdmVTZXNzaW9uKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXNzaW9uRGF0YS5uZXh0KHVuZGVmaW5lZCk7XHJcbiAgICB0aGlzLndpbmRvdy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKGRhdGFTdG9yZVJldHJpZXZlQ29tcGxldGVTZXNzaW9uS2V5KTtcclxuICAgIHRoaXMud2luZG93LnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5zZXNzaW9uQ29uZmlnLmtleVBhdGgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGRlcHJlY2F0ZWQgcmVtb3ZpbmcgaW4gdGhlIG5leHQgdmVyc2lvblxyXG4gICAqIFN5bmNzIHRoZSBzZXNzaW9uXHJcbiAgICogUmV0dXJucyB0aGUgb2JzZXJ2YWJsZSBpbmRpY2F0aW5nIHdoZW4gdGhlIHNlc3Npb24gaGFzIGJlZW4gc3luY2VkXHJcbiAgICovXHJcbiAgcHVibGljIHN5bmNTZXNzaW9uKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gb2YodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAZGVwcmVjYXRlZCByZW1vdmluZyBpbiB0aGUgbmV4dCB2ZXJzaW9uXHJcbiAgICogUmVmcmVzaGVzIHRoZSBzZXNzaW9uXHJcbiAgICovXHJcbiAgcHVibGljIHJlZnJlc2hTZXNzaW9uKCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgLyoqIEluaXRpYWxpemUgc2VydmVyIHNlc3Npb24gbWFuYWdlbWVudCAqL1xyXG4gIHByaXZhdGUgaW5pdFNlcnZlclNlc3Npb25NYW5hZ2VtZW50KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXNzaW9uJCA9IHRoaXMuc2Vzc2lvbkRhdGEuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gICAgY29uc3QgZ2V0RnJvbURhdGFTdG9yZSA9ICgpOiBhbnkgPT4ge1xyXG4gICAgICBpZiAoIXRoaXMuc2Vzc2lvbkNvbmZpZz8uZGF0YVN0b3JlQ29uZmlnIHx8ICF0aGlzLmF1dGhTZXJ2aWNlIHx8IHRoaXMuaXNEYXRhU3RvcmVSZXRyaWV2ZUNvbXBsZXRlKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBsb2FkIGRhdGEgZnJvbSBkYXRhIHN0b3JlIGFub25cclxuICAgICAgY29uc3QgbG9hZERhdGFTdG9yZSA9ICgpID0+XHJcbiAgICAgICAgdGhpcy5kZXRlcm1pbmVEYXRhU3RvcmVGdW5jdGlvbih0aGlzLnNlc3Npb25Db25maWc/LmRhdGFTdG9yZUNvbmZpZy5yZXRyaWV2ZVZlcmIsXHJcbiAgICAgICAgICB0aGlzLnNlc3Npb25Db25maWc/LmRhdGFTdG9yZUNvbmZpZy5yZXRyaWV2ZVJlcXVlc3REZWxlZ2F0ZSxcclxuICAgICAgICAgIHRoaXMuc2Vzc2lvbkNvbmZpZz8uZGF0YVN0b3JlQ29uZmlnLmJhc2VVcmksXHJcbiAgICAgICAgICB1bmRlZmluZWQpXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNJbml0aWFsaXplZCQuc3Vic2NyaWJlKGlzSW5pdCA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKCFpc0luaXQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uJC5waXBlKHRha2UoMSkpXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHNlcyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlU2Vzc2lvbih0aGlzLnNlc3Npb25Db25maWc/LmRhdGFTdG9yZUNvbmZpZy5yZXRyaWV2ZVJlc3BvbnNlRGVsZWdhdGUocmVzLCBzZXMpLFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2Vzc2lvbkNvbmZpZz8uZGF0YVN0b3JlQ29uZmlnLnJldHJpZXZlU2VjdXJhYmxlRGVsZWdhdGUocmVzKSwgdHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuaXNEYXRhU3RvcmVJbml0QnMubmV4dCh0cnVlKTtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5pc0RhdGFTdG9yZVJldHJpZXZlQ29tcGxldGUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLndpbmRvdy5zZXNzaW9uU3RvcmFnZS5zZXRJdGVtKGRhdGFTdG9yZVJldHJpZXZlQ29tcGxldGVTZXNzaW9uS2V5LCAndHJ1ZScpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICBpZiAoIXRoaXMuYXV0aFNlcnZpY2UuaGFzVmFsaWRBY2Nlc3NUb2tlbigpKSB7XHJcbiAgICAgICAgLy8gSEFDSzogSSBjb3VsZG4ndCBkbyB0aGlzIGJhc2VkIG9uIGFuIGV2ZW50IHNvIEkgaGFkIHRvIGdldCBjcmVhdGl2ZVxyXG4gICAgICAgIGNvbnN0IGludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICAgICAgaWYgKHRoaXMuYXV0aFNlcnZpY2UuaGFzVmFsaWRBY2Nlc3NUb2tlbigpKSB7XHJcbiAgICAgICAgICAgIGxvYWREYXRhU3RvcmUoKTtcclxuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSwgMjUwKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICByZXR1cm4gbG9hZERhdGFTdG9yZSgpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IGJvZHk6IFNlc3Npb25Qb3N0UmVxdWVzdE1vZGVsID0ge1xyXG4gICAgICBzZXNzaW9uRGF0YTogdW5kZWZpbmVkLFxyXG4gICAgICBicmFuZGluZzogdW5kZWZpbmVkXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IGVuY29kZWRTZXNzaW9uID0gdGhpcy53aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnNlc3Npb25Db25maWcua2V5UGF0aCk7XHJcbiAgICB0aGlzLl9zZXNzaW9uSWQgPSBgU2Vzc2lvbi0ke25ld0d1aWQoKX1gO1xyXG4gICAgaWYgKCFlbmNvZGVkU2Vzc2lvbikge1xyXG4gICAgICB0aGlzLnNlc3Npb24gPSBib2R5O1xyXG4gICAgICB0aGlzLmlzSW5pdGlhbGl6ZWRCcy5uZXh0KHRydWUpO1xyXG4gICAgICBnZXRGcm9tRGF0YVN0b3JlKCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zZXNzaW9uID0gdGhpcy5kZWNvZGUoZW5jb2RlZFNlc3Npb24pO1xyXG4gICAgICB0aGlzLmlzSW5pdGlhbGl6ZWRCcy5uZXh0KHRydWUpO1xyXG4gICAgICBnZXRGcm9tRGF0YVN0b3JlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogSW5pdGlhbGl6ZXMgdGhlIHNlcnZlciBzaWRlIHNlc3Npb24gaWQgKi9cclxuICBwcml2YXRlIGluaXRTZXJ2ZXJTZXNzaW9uSWQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuX3Nlc3Npb25JZCkge1xyXG4gICAgICBjb25zb2xlLndhcm4oJ1Nlc3Npb24gSW5pdGlhbGl6aW5nLCBzdWJzY3JpYmUgdG8gc2Vzc2lvbiQgdG8gZ2V0IHRoZSBzZXNzaW9uIGluZm8uIFNlc3Npb24gSWQgd2lsbCBiZSBwb3B1bGF0ZWQgdXBvbiBpbml0aWFsaXphdGlvbicpO1xyXG5cclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIEluaXRpYWxpemVzIGNsaWVudCBzaWRlIHNlc3Npb24gbWFuYWdlbWVudCAqL1xyXG4gIHByaXZhdGUgaW5pdENsaWVudFNlc3Npb25NYW5hZ2VtZW50KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudXNlQnJvd3NlclNlc3Npb25TdG9yYWdlKSB7XHJcbiAgICAgIGNvbnN0IHNlc0lkID0gdGhpcy53aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0b3JhZ2VLZXkpO1xyXG4gICAgICB0aGlzLl9zZXNzaW9uSWQgPSBzZXNJZCB8fCBuZXdHdWlkKCk7XHJcbiAgICAgIHRoaXMuc2V0U2Vzc2lvblN0b3JhZ2UoKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMudXNlQnJvd3NlckxvY2FsU3RvcmFnZSkge1xyXG4gICAgICBjb25zdCBzZXNJZCA9IHRoaXMud2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuc3RvcmFnZUtleSk7XHJcbiAgICAgIHRoaXMuX3Nlc3Npb25JZCA9IHNlc0lkIHx8IG5ld0d1aWQoKTtcclxuICAgICAgdGhpcy5zZXRMb2NhbFN0b3JhZ2UoKTtcclxuICAgIH1cclxuICAgIHRoaXMuaXNJbml0aWFsaXplZEJzLm5leHQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFNlc3Npb25JZEZyb21TdG9yYWdlKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy51c2VCcm93c2VyTG9jYWxTdG9yYWdlKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLndpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0b3JhZ2VLZXkpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy51c2VCcm93c2VyU2Vzc2lvblN0b3JhZ2UpIHtcclxuICAgICAgcmV0dXJuIHRoaXMud2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0odGhpcy5zdG9yYWdlS2V5KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKiBJbml0aWFsaXplIHRoZSBjbGllbnQgc2lkZSBzZXNzaW9uIGlkICovXHJcbiAgcHJpdmF0ZSBpbml0Q2xpZW50U2Vzc2lvbklkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc2Vzc2lvbklkID0gbmV3R3VpZCgpO1xyXG4gICAgaWYgKHRoaXMudXNlQnJvd3NlclNlc3Npb25TdG9yYWdlKSB7XHJcbiAgICAgIHRoaXMuc2V0U2Vzc2lvblN0b3JhZ2UoKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMudXNlQnJvd3NlckxvY2FsU3RvcmFnZSkge1xyXG4gICAgICB0aGlzLnNldExvY2FsU3RvcmFnZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIFNldHMgc2Vzc2lvbiBzdG9yYWdlICovXHJcbiAgcHJpdmF0ZSBzZXRTZXNzaW9uU3RvcmFnZSgpOiB2b2lkIHtcclxuICAgIHRoaXMud2luZG93LnNlc3Npb25TdG9yYWdlLnNldEl0ZW0odGhpcy5zdG9yYWdlS2V5LCB0aGlzLl9zZXNzaW9uSWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqIFNldHMgbG9jYWwgc3RvcmFnZSAqL1xyXG4gIHByaXZhdGUgc2V0TG9jYWxTdG9yYWdlKCk6IHZvaWQge1xyXG4gICAgdGhpcy53aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5zdG9yYWdlS2V5LCB0aGlzLl9zZXNzaW9uSWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGV0ZXJtaW5lcyB0aGUgdHlwZSBvZiBodHRwIGNhbGwgdG8gbWFrZSBmb3IgdGhlIGRhdGEgc3RvcmVcclxuICAgKiBAcGFyYW0gdmVyYiBUaGUgdmVyYlxyXG4gICAqIEBwYXJhbSBkZWxlZ2F0ZSBUaGUgZGVsZWdhdGVcclxuICAgKiBAcGFyYW0gdXJpIFRoZSB1cmlcclxuICAgKi9cclxuICBwcml2YXRlIGRldGVybWluZURhdGFTdG9yZUZ1bmN0aW9uKFxyXG4gICAgdmVyYjogSHR0cFZlcmIsXHJcbiAgICBkZWxlZ2F0ZTogKGJhc2VVcmk6IHN0cmluZywgYm9keTogVCkgPT4geyB1cmk6IHN0cmluZywgYm9keT86IGFueSB9LFxyXG4gICAgdXJpOiBzdHJpbmcsXHJcbiAgICBib2R5OiBhbnlcclxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdHVwbGUgPSBkZWxlZ2F0ZSh1cmksIGJvZHkpO1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcclxuICAgIH0pO1xyXG4gICAgc3dpdGNoICh2ZXJiKSB7XHJcbiAgICAgIGNhc2UgaHR0cFZlcmIuUFVUOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucHV0KHR1cGxlLnVyaSwgdHVwbGUuYm9keSwgeyBoZWFkZXJzIH0pO1xyXG4gICAgICBjYXNlIGh0dHBWZXJiLlBPU1Q6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KHR1cGxlLnVyaSwgdHVwbGUuYm9keSwgeyBoZWFkZXJzIH0pO1xyXG4gICAgICBjYXNlIGh0dHBWZXJiLkdFVDpcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldCh0dXBsZS51cmksIHsgaGVhZGVycyB9KTtcclxuICAgICAgY2FzZSBodHRwVmVyYi5QQVRDSDpcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBhdGNoKHR1cGxlLnVyaSwgdHVwbGUuYm9keSwgeyBoZWFkZXJzIH0pO1xyXG4gICAgICBjYXNlIGh0dHBWZXJiLkRFTEVURTpcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmRlbGV0ZSh0dXBsZS51cmksIHsgaGVhZGVycyB9KTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0h0dHAgdmVyYiBtdXN0IGJlIG9uZSBvZjogUEFUQ0gsIFBVVCwgUE9TVCwgREVMRVRFLCBHRVQnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVuY29kZXMgdGhlIG9iamVjdFxyXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgb2JqZWN0XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBlbmNvZGUodmFsdWU6IGFueSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gd2luZG93LmJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHZhbHVlKSkpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlY29kZXMgdGhlIHN0cmluZ1xyXG4gICAqIEBwYXJhbSBzdHIgVGhlIHN0cmluZ1xyXG4gICAqL1xyXG4gIHByaXZhdGUgZGVjb2RlKHN0cjogc3RyaW5nKTogYW55IHtcclxuICAgIHJldHVybiBKU09OLnBhcnNlKGRlY29kZVVSSUNvbXBvbmVudChlc2NhcGUod2luZG93LmF0b2Ioc3RyKSkpKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZWRpcmVjdCBTZXNzaW9uIENvbmZpZ3MuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgUmVkaXJlY3RTZXNzaW9uQ29uZmlncyB7XHJcbiAgLyoqIElmIHNlc3Npb24gc2hvdWxkIGJlIHN5bmNlZC4gKi9cclxuICBzeW5jU2Vzc2lvbj86IGJvb2xlYW47XHJcblxyXG4gIC8qKiBJZiBuZXcgdGFiIHNob3VsZCBiZSB0YXJnZXRlZC4gKi9cclxuICB0YXJnZXROZXdUYWI/OiBib29sZWFuO1xyXG59Il19
@@ -144,4 +144,4 @@ UserEntityService.ctorParameters = () => [
144
144
  { type: HttpClient },
145
145
  { type: UserEntityServiceConfig, decorators: [{ type: Optional }, { type: Inject, args: [USER_ENTITY_SERVICE_CONFIG,] }] }
146
146
  ];
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1lbnRpdHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJTOi9CMDMvX3dvcmsvNDEzL3MvbGlicmFyeS9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvIiwic291cmNlcyI6WyJsaWIvY29yZS9zZXJ2aWNlcy91c2VyLWVudGl0eS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7QUFFL0UsOEJBQThCO0FBSTlCLE1BQU0sT0FBTyxpQkFBaUI7SUF5QjVCOzs7OztPQUtHO0lBQ0gsWUFDbUIsWUFBMEIsRUFDMUIsVUFBc0IsRUFDa0IsdUJBQWdEO1FBRnhGLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDa0IsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQTFCM0csK0JBQStCO1FBQ2QsbUJBQWMsR0FBVyw0QkFBNEIsQ0FBQztRQWF2RSxnQ0FBZ0M7UUFDZixXQUFNLEdBQXVDLElBQUksZUFBZSxDQUFvQixTQUFTLENBQUMsQ0FBQztRQWE5RyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsQ0FBQyxJQUFJLENBQUMsdUJB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USxZQUFZO1lBSFosVUFBVTtZQVNWLHVCQUF1Qix1QkF3QzNCLFFBQVEsWUFBSSxNQUFNLFNBQUMsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE9BdXRoU2VydmljZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgZmlyc3QsIHNoYXJlLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQXNzZXJ0ZWRVc2VyTW9kZWwgfSBmcm9tICcuLi9jbGllbnQtZ2VuZXJhdGVkL21vZGVsL21vZGVscyc7XHJcbmltcG9ydCB7IFVTRVJfRU5USVRZX1NFUlZJQ0VfQ09ORklHIH0gZnJvbSAnLi4vbW9kZWxzL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IFVzZXJFbnRpdHlTZXJ2aWNlQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL3VzZXItZW50aXR5LXNlcnZpY2UtY29uZmlnJztcclxuXHJcbi8qKiBUaGUgdXNlciBlbnRpdHkgc2VydmljZSAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc2VyRW50aXR5U2VydmljZSB7XHJcblxyXG4gIC8qKiBUaGUgdXNlciBvYnNlcnZhYmxlICovXHJcbiAgcHVibGljIHJlYWRvbmx5IHVzZXIkOiBPYnNlcnZhYmxlPEFzc2VydGVkVXNlck1vZGVsPjtcclxuXHJcbiAgLyoqIFRydWUgaWYgdGhlIHNlcnZpY2UgaXMgYXZhaWxhYmxlIGZvciB1c2UgKi9cclxuICBwcml2YXRlIGlzU2VydmljZUF2YWlsYWJsZTogYm9vbGVhbjtcclxuXHJcbiAgLyoqIFRoZSBnZXQgdXNlciBwYXJ0aWFsIHVybCAqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZ2V0VXNlclBhcnRpYWw6IHN0cmluZyA9ICdhcGkvdXNlck1hbmFnZW1lbnQvdjEvdXNlcic7XHJcblxyXG4gIC8qKiBUaGUgdXNlciBjYWxsICovXHJcbiAgcHJpdmF0ZSB1c2VyQ2FsbDogUHJvbWlzZTxBcnJheTxBc3NlcnRlZFVzZXJNb2RlbD4+O1xyXG5cclxuICAvKiogVGhlIHVzZXIgbW9kZWwgYW5kIGhhc2ggKi9cclxuICBwcml2YXRlIGdldCBfdXNlcigpOiBBc3NlcnRlZFVzZXJNb2RlbCB7XHJcbiAgICByZXR1cm4gdGhpcy51c2VyQlMudmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgc2V0IF91c2VyKHZhbDogQXNzZXJ0ZWRVc2VyTW9kZWwpIHtcclxuICAgIHRoaXMudXNlckJTLm5leHQodmFsKTtcclxuICB9XHJcblxyXG4gIC8qKiB0aGUgdXNlciBiZWhhdmlvciBzdWJqZWN0ICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSB1c2VyQlM6IEJlaGF2aW9yU3ViamVjdDxBc3NlcnRlZFVzZXJNb2RlbD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFzc2VydGVkVXNlck1vZGVsPih1bmRlZmluZWQpO1xyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RzIHRoZSBzZXJ2aWNlXHJcbiAgICogQHBhcmFtIG9hdXRoU2VydmljZSBUaGUgb2F1dGggb2lkYyAyIHNlcnZpY2VcclxuICAgKiBAcGFyYW0gaHR0cENsaWVudCBUaGUgaHR0cCBjbGllbnRcclxuICAgKiBAcGFyYW0gdXNlckVudGl0eVNlcnZpY2VDb25maWcgVGhlIHVzZXIgZW50aXR5IHNlcnZpY2UgY29uZmlndXJhdGlvbnNcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgb2F1dGhTZXJ2aWNlOiBPQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFVTRVJfRU5USVRZX1NFUlZJQ0VfQ09ORklHKSByZWFkb25seSB1c2VyRW50aXR5U2VydmljZUNvbmZpZzogVXNlckVudGl0eVNlcnZpY2VDb25maWdcclxuICApIHtcclxuICAgIHRoaXMudXNlckVudGl0eVNlcnZpY2VDb25maWcgPSAhdGhpcy51c2VyRW50aXR5U2VydmljZUNvbmZpZyA/IG5ldyBVc2VyRW50aXR5U2VydmljZUNvbmZpZygpIDogdGhpcy5nZXRDb25maWdXaXRoRGVmYXVsdHMoKTtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tcGFyYW1ldGVyLXJlYXNzaWdubWVudFxyXG4gICAgdGhpcy51c2VyRW50aXR5U2VydmljZUNvbmZpZy51c2VyRW50aXR5QmFzZVVybCA9IHRoaXMudXNlckVudGl0eVNlcnZpY2VDb25maWcudXNlckVudGl0eUJhc2VVcmwgfHwgJy8nO1xyXG4gICAgdGhpcy5nZXRVc2VyUGFydGlhbCA9IHRoaXMudXNlckVudGl0eVNlcnZpY2VDb25maWcuZ2V0VXNlclBhcnRpYWwgfHwgdGhpcy5nZXRVc2VyUGFydGlhbDtcclxuICAgIHRoaXMudXNlciQgPSB0aGlzLnVzZXJCUy5hc09ic2VydmFibGUoKVxyXG4gICAgICAucGlwZShmaWx0ZXIodmFsID0+ICEhdmFsKSk7XHJcblxyXG4gICAgaWYgKHRoaXMudXNlckVudGl0eVNlcnZpY2VDb25maWcuZ2V0VXNlck9uSW5pdCkge1xyXG4gICAgICBjb25zdCBpbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgICB0aGlzLmlzU2VydmljZUF2YWlsYWJsZSA9IHRoaXMub2F1dGhTZXJ2aWNlLmhhc1ZhbGlkQWNjZXNzVG9rZW4oKTtcclxuICAgICAgICBpZiAoIXRoaXMuaXNTZXJ2aWNlQXZhaWxhYmxlKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZ2V0VXNlckZyb21BcGkoKVxyXG4gICAgICAgICAgLnRoZW4oKVxyXG4gICAgICAgICAgLmNhdGNoKCk7XHJcbiAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7XHJcbiAgICAgIH0sIDEwMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogR2V0cyB0aGUgdXNlciAqL1xyXG4gIHB1YmxpYyBhc3luYyBnZXRVc2VyKCk6IFByb21pc2U8QXNzZXJ0ZWRVc2VyTW9kZWw+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIHRoaXMudXNlciQucGlwZShcclxuICAgICAgICB0YWtlKDEpLFxyXG4gICAgICAgIHNoYXJlKCksXHJcbiAgICAgICAgY2F0Y2hFcnJvcihlID0+IHtcclxuICAgICAgICAgIHJlamVjdChlKTtcclxuXHJcbiAgICAgICAgICByZXR1cm4gb2YoZSk7XHJcbiAgICAgICAgfSkpXHJcbiAgICAgICAgLnN1YnNjcmliZSh1c2VyID0+IHtcclxuICAgICAgICAgIHJlc29sdmUodXNlcik7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZXMgdGhlIHVzZXJcclxuICAgKiBAcGFyYW0gdXNlciBUaGUgbmV3IHVzZXIgbW9kZWxcclxuICAgKi9cclxuICBwdWJsaWMgYXN5bmMgdXBkYXRlVXNlcih1c2VyPzogQXNzZXJ0ZWRVc2VyTW9kZWwpOiBQcm9taXNlPEFzc2VydGVkVXNlck1vZGVsPiB7XHJcbiAgICBpZiAodXNlcikge1xyXG4gICAgICB0aGlzLl91c2VyID0gdXNlcjtcclxuXHJcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5fdXNlcik7XHJcbiAgICB9XHJcblxyXG4gICAgYXdhaXQgdGhpcy5nZXRVc2VyRnJvbUFwaSgpO1xyXG5cclxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5fdXNlcik7XHJcbiAgfVxyXG5cclxuICAvKiogUmV0dXJucyB0cnVlIGlmIHRoZSB1c2VyIG1lZXRzIHRoZSB2YWxpZGF0aW9uIGZ1bmN0aW9uIHByb3ZpZGVkICovXHJcbiAgcHVibGljIHZhbGlkYXRlVXNlcigpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLnVzZXJFbnRpdHlTZXJ2aWNlQ29uZmlnICYmIHRoaXMuX3VzZXIpIHtcclxuICAgICAgcmV0dXJuIHRoaXMudXNlckVudGl0eVNlcnZpY2VDb25maWcudmFsaWRhdGUodGhpcy5fdXNlcik7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICAvKiogR2V0cyB0aGUgdXNlciBmcm9tIHRoZSBhcGkgKi9cclxuICBwcml2YXRlIGFzeW5jIGdldFVzZXJGcm9tQXBpKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgLy8gdXNlIHRoZSBsb2NhbCBwYXRoIGlmIHRoZXJlIGlzIG5vdCBiYXNlIHBhdGggcHJvdmlkZWRcclxuICAgIHJldHVybiB0aGlzLm9hdXRoU2VydmljZS5ldmVudHMucGlwZShmaXJzdChlID0+IGUudHlwZSA9PT0gJ2Rpc2NvdmVyeV9kb2N1bWVudF9sb2FkZWQnKSlcclxuICAgICAgLnRvUHJvbWlzZSgpXHJcbiAgICAgIC50aGVuKGFzeW5jICgpID0+IHtcclxuICAgICAgICAvLyBhcHBlbmQgdGhlIGlzc3VlciB0byB0aGUgaGVhZGVyIG9mIHRoZSByZXF1ZXN0IHNvIHRoZSBhcGkga25vd3Mgd2hhdCB0ZW5hbnQgdG8gdXNlXHJcbiAgICAgICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyhcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PXV0Zi04JyxcclxuICAgICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3RoaXMub2F1dGhTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuKCl9YCxcclxuICAgICAgICAgICAgJ0F1dGhvcml6YXRpb24tVGVuYW50JzogKFxyXG4gICAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tc3RyaW5nLWxpdGVyYWxcclxuICAgICAgICAgICAgICB0aGlzLm9hdXRoU2VydmljZVsnY29uZmlnJ10/LmxvZ2luVXJsIHx8IHRoaXMub2F1dGhTZXJ2aWNlWydjb25maWcnXT8uaXNzdWVyXHJcbiAgICAgICAgICAgICAgfHwgdGhpcy5vYXV0aFNlcnZpY2U/LmxvZ2luVXJsIHx8IHRoaXMub2F1dGhTZXJ2aWNlPy5pc3N1ZXIgfHwgJycpXHJcbiAgICAgICAgICAgICAgLnJlcGxhY2UoJy9hY2NvdW50L2xvZ2luJywgJycpXHJcbiAgICAgICAgICAgICAgLnJlcGxhY2UoJy9jb25uZWN0L2F1dGhvcml6ZScsICcnKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy51c2VyQ2FsbCA9IHRoaXMuaHR0cENsaWVudC5nZXQ8QXJyYXk8QXNzZXJ0ZWRVc2VyTW9kZWw+PihcclxuICAgICAgICAgIGAke3RoaXMudXNlckVudGl0eVNlcnZpY2VDb25maWcudXNlckVudGl0eUJhc2VVcmx9JHt0aGlzLmdldFVzZXJQYXJ0aWFsfT9zdWJJZEZyb21Ub2tlbj10cnVlJmNyZWF0ZUVtcHR5PXRydWUmd2l0aG91dENoaWxkTGlua3M9JHshdGhpcy51c2VyRW50aXR5U2VydmljZUNvbmZpZy5pbmNsdWRlTGlua3N9YCxcclxuICAgICAgICAgIHsgaGVhZGVycyB9XHJcbiAgICAgICAgKVxyXG4gICAgICAgICAgLnRvUHJvbWlzZSgpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy51c2VyQ2FsbC50aGVuKHJlcyA9PiB7XHJcbiAgICAgICAgICBpZiAoIXJlcyB8fCByZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ05vIHVzZXIgZW50aXRpZXMgZm91bmQnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuX3VzZXIgPSByZXNbMF07XHJcbiAgICAgICAgICB0aGlzLnZhbGlkYXRlVXNlcigpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgICAuY2F0Y2goZSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1VzZXJFbnRpdHlTZXJ2aWNlIGVuY291bnRlcmVkIGFuIGVycm9yJywgZSk7XHJcbiAgICAgICAgICAgIHRocm93IGU7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKiogU2V0cyB0aGUgZGVmYXVsdCB2YWx1ZXMgb2YgdGhlIGNvbmZpZyAqL1xyXG4gIHByaXZhdGUgZ2V0Q29uZmlnV2l0aERlZmF1bHRzKCk6IFVzZXJFbnRpdHlTZXJ2aWNlQ29uZmlnIHtcclxuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMudXNlckVudGl0eVNlcnZpY2VDb25maWc7XHJcbiAgICBjb25maWcudmFsaWRhdGUgPSBjb25maWcudmFsaWRhdGUgfHwgKCh1c2VyOiBBc3NlcnRlZFVzZXJNb2RlbCk6IGJvb2xlYW4gPT4gdHJ1ZSk7XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IHRyaXBsZS1lcXVhbHNcclxuICAgIGNvbmZpZy5nZXRVc2VyT25Jbml0ID0gY29uZmlnLmdldFVzZXJPbkluaXQgPT0gdW5kZWZpbmVkID8gdHJ1ZSA6IGNvbmZpZy5nZXRVc2VyT25Jbml0O1xyXG4gICAgY29uZmlnLmluY2x1ZGVMaW5rcyA9IGNvbmZpZy5pbmNsdWRlTGlua3MgPT0gdW5kZWZpbmVkID8gdHJ1ZSA6IGNvbmZpZy5pbmNsdWRlTGlua3M7XHJcbiAgICBjb25maWcuZ2V0VXNlclBhcnRpYWwgPSBjb25maWcuZ2V0VXNlclBhcnRpYWwgPT0gdW5kZWZpbmVkID8gdGhpcy5nZXRVc2VyUGFydGlhbCA6IGNvbmZpZy5nZXRVc2VyUGFydGlhbDtcclxuXHJcbiAgICByZXR1cm4gY29uZmlnO1xyXG4gIH1cclxufVxyXG4iXX0=
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1lbnRpdHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJTOi9CMDIvX3dvcmsvODMvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL3NlcnZpY2VzL3VzZXItZW50aXR5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7OztBQUUvRSw4QkFBOEI7QUFJOUIsTUFBTSxPQUFPLGlCQUFpQjtJQXlCNUI7Ozs7O09BS0c7SUFDSCxZQUNtQixZQUEwQixFQUMxQixVQUFzQixFQUNrQix1QkFBZ0Q7UUFGeEYsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNrQiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBMUIzRywrQkFBK0I7UUFDZCxtQkFBYyxHQUFXLDRCQUE0QixDQUFDO1FBYXZFLGdDQUFnQztRQUNmLFdBQU0sR0FBdUMsSUFBSSxlQUFlLENBQW9CLFNBQVMsQ0FBQyxDQUFDO1FBYTlHLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLElBQUksQ0FBQyx1QkFB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LFlBQVk7WUFIWixVQUFVO1lBU1YsdUJBQXVCLHVCQXdDM0IsUUFBUSxZQUFJLE1BQU0sU0FBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBmaXJzdCwgc2hhcmUsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBBc3NlcnRlZFVzZXJNb2RlbCB9IGZyb20gJy4uL2NsaWVudC1nZW5lcmF0ZWQvbW9kZWwvbW9kZWxzJztcclxuaW1wb3J0IHsgVVNFUl9FTlRJVFlfU0VSVklDRV9DT05GSUcgfSBmcm9tICcuLi9tb2RlbHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgVXNlckVudGl0eVNlcnZpY2VDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvdXNlci1lbnRpdHktc2VydmljZS1jb25maWcnO1xyXG5cclxuLyoqIFRoZSB1c2VyIGVudGl0eSBzZXJ2aWNlICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFVzZXJFbnRpdHlTZXJ2aWNlIHtcclxuXHJcbiAgLyoqIFRoZSB1c2VyIG9ic2VydmFibGUgKi9cclxuICBwdWJsaWMgcmVhZG9ubHkgdXNlciQ6IE9ic2VydmFibGU8QXNzZXJ0ZWRVc2VyTW9kZWw+O1xyXG5cclxuICAvKiogVHJ1ZSBpZiB0aGUgc2VydmljZSBpcyBhdmFpbGFibGUgZm9yIHVzZSAqL1xyXG4gIHByaXZhdGUgaXNTZXJ2aWNlQXZhaWxhYmxlOiBib29sZWFuO1xyXG5cclxuICAvKiogVGhlIGdldCB1c2VyIHBhcnRpYWwgdXJsICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBnZXRVc2VyUGFydGlhbDogc3RyaW5nID0gJ2FwaS91c2VyTWFuYWdlbWVudC92MS91c2VyJztcclxuXHJcbiAgLyoqIFRoZSB1c2VyIGNhbGwgKi9cclxuICBwcml2YXRlIHVzZXJDYWxsOiBQcm9taXNlPEFycmF5PEFzc2VydGVkVXNlck1vZGVsPj47XHJcblxyXG4gIC8qKiBUaGUgdXNlciBtb2RlbCBhbmQgaGFzaCAqL1xyXG4gIHByaXZhdGUgZ2V0IF91c2VyKCk6IEFzc2VydGVkVXNlck1vZGVsIHtcclxuICAgIHJldHVybiB0aGlzLnVzZXJCUy52YWx1ZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBzZXQgX3VzZXIodmFsOiBBc3NlcnRlZFVzZXJNb2RlbCkge1xyXG4gICAgdGhpcy51c2VyQlMubmV4dCh2YWwpO1xyXG4gIH1cclxuXHJcbiAgLyoqIHRoZSB1c2VyIGJlaGF2aW9yIHN1YmplY3QgKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IHVzZXJCUzogQmVoYXZpb3JTdWJqZWN0PEFzc2VydGVkVXNlck1vZGVsPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXNzZXJ0ZWRVc2VyTW9kZWw+KHVuZGVmaW5lZCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnN0cnVjdHMgdGhlIHNlcnZpY2VcclxuICAgKiBAcGFyYW0gb2F1dGhTZXJ2aWNlIFRoZSBvYXV0aCBvaWRjIDIgc2VydmljZVxyXG4gICAqIEBwYXJhbSBodHRwQ2xpZW50IFRoZSBodHRwIGNsaWVudFxyXG4gICAqIEBwYXJhbSB1c2VyRW50aXR5U2VydmljZUNvbmZpZyBUaGUgdXNlciBlbnRpdHkgc2VydmljZSBjb25maWd1cmF0aW9uc1xyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBvYXV0aFNlcnZpY2U6IE9BdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cENsaWVudDogSHR0cENsaWVudCxcclxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoVVNFUl9FTlRJVFlfU0VSVklDRV9DT05GSUcpIHJlYWRvbmx5IHVzZXJFbnRpdHlTZXJ2aWNlQ29uZmlnOiBVc2VyRW50aXR5U2VydmljZUNvbmZpZ1xyXG4gICkge1xyXG4gICAgdGhpcy51c2VyRW50aXR5U2VydmljZUNvbmZpZyA9ICF0aGlzLnVzZXJFbnRpdHlTZXJ2aWNlQ29uZmlnID8gbmV3IFVzZXJFbnRpdHlTZXJ2aWNlQ29uZmlnKCkgOiB0aGlzLmdldENvbmZpZ1dpdGhEZWZhdWx0cygpO1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1wYXJhbWV0ZXItcmVhc3NpZ25tZW50XHJcbiAgICB0aGlzLnVzZXJFbnRpdHlTZXJ2aWNlQ29uZmlnLnVzZXJFbnRpdHlCYXNlVXJsID0gdGhpcy51c2VyRW50aXR5U2VydmljZUNvbmZpZy51c2VyRW50aXR5QmFzZVVybCB8fCAnLyc7XHJcbiAgICB0aGlzLmdldFVzZXJQYXJ0aWFsID0gdGhpcy51c2VyRW50aXR5U2VydmljZUNvbmZpZy5nZXRVc2VyUGFydGlhbCB8fCB0aGlzLmdldFVzZXJQYXJ0aWFsO1xyXG4gICAgdGhpcy51c2VyJCA9IHRoaXMudXNlckJTLmFzT2JzZXJ2YWJsZSgpXHJcbiAgICAgIC5waXBlKGZpbHRlcih2YWwgPT4gISF2YWwpKTtcclxuXHJcbiAgICBpZiAodGhpcy51c2VyRW50aXR5U2VydmljZUNvbmZpZy5nZXRVc2VyT25Jbml0KSB7XHJcbiAgICAgIGNvbnN0IGludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNTZXJ2aWNlQXZhaWxhYmxlID0gdGhpcy5vYXV0aFNlcnZpY2UuaGFzVmFsaWRBY2Nlc3NUb2tlbigpO1xyXG4gICAgICAgIGlmICghdGhpcy5pc1NlcnZpY2VBdmFpbGFibGUpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5nZXRVc2VyRnJvbUFwaSgpXHJcbiAgICAgICAgICAudGhlbigpXHJcbiAgICAgICAgICAuY2F0Y2goKTtcclxuICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKTtcclxuICAgICAgfSwgMTAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKiBHZXRzIHRoZSB1c2VyICovXHJcbiAgcHVibGljIGFzeW5jIGdldFVzZXIoKTogUHJvbWlzZTxBc3NlcnRlZFVzZXJNb2RlbD4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgdGhpcy51c2VyJC5waXBlKFxyXG4gICAgICAgIHRha2UoMSksXHJcbiAgICAgICAgc2hhcmUoKSxcclxuICAgICAgICBjYXRjaEVycm9yKGUgPT4ge1xyXG4gICAgICAgICAgcmVqZWN0KGUpO1xyXG5cclxuICAgICAgICAgIHJldHVybiBvZihlKTtcclxuICAgICAgICB9KSlcclxuICAgICAgICAuc3Vic2NyaWJlKHVzZXIgPT4ge1xyXG4gICAgICAgICAgcmVzb2x2ZSh1c2VyKTtcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyB0aGUgdXNlclxyXG4gICAqIEBwYXJhbSB1c2VyIFRoZSBuZXcgdXNlciBtb2RlbFxyXG4gICAqL1xyXG4gIHB1YmxpYyBhc3luYyB1cGRhdGVVc2VyKHVzZXI/OiBBc3NlcnRlZFVzZXJNb2RlbCk6IFByb21pc2U8QXNzZXJ0ZWRVc2VyTW9kZWw+IHtcclxuICAgIGlmICh1c2VyKSB7XHJcbiAgICAgIHRoaXMuX3VzZXIgPSB1c2VyO1xyXG5cclxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl91c2VyKTtcclxuICAgIH1cclxuXHJcbiAgICBhd2FpdCB0aGlzLmdldFVzZXJGcm9tQXBpKCk7XHJcblxyXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl91c2VyKTtcclxuICB9XHJcblxyXG4gIC8qKiBSZXR1cm5zIHRydWUgaWYgdGhlIHVzZXIgbWVldHMgdGhlIHZhbGlkYXRpb24gZnVuY3Rpb24gcHJvdmlkZWQgKi9cclxuICBwdWJsaWMgdmFsaWRhdGVVc2VyKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMudXNlckVudGl0eVNlcnZpY2VDb25maWcgJiYgdGhpcy5fdXNlcikge1xyXG4gICAgICByZXR1cm4gdGhpcy51c2VyRW50aXR5U2VydmljZUNvbmZpZy52YWxpZGF0ZSh0aGlzLl91c2VyKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKiBHZXRzIHRoZSB1c2VyIGZyb20gdGhlIGFwaSAqL1xyXG4gIHByaXZhdGUgYXN5bmMgZ2V0VXNlckZyb21BcGkoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyB1c2UgdGhlIGxvY2FsIHBhdGggaWYgdGhlcmUgaXMgbm90IGJhc2UgcGF0aCBwcm92aWRlZFxyXG4gICAgcmV0dXJuIHRoaXMub2F1dGhTZXJ2aWNlLmV2ZW50cy5waXBlKGZpcnN0KGUgPT4gZS50eXBlID09PSAnZGlzY292ZXJ5X2RvY3VtZW50X2xvYWRlZCcpKVxyXG4gICAgICAudG9Qcm9taXNlKClcclxuICAgICAgLnRoZW4oYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgIC8vIGFwcGVuZCB0aGUgaXNzdWVyIHRvIHRoZSBoZWFkZXIgb2YgdGhlIHJlcXVlc3Qgc28gdGhlIGFwaSBrbm93cyB3aGF0IHRlbmFudCB0byB1c2VcclxuICAgICAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9dXRmLTgnLFxyXG4gICAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dGhpcy5vYXV0aFNlcnZpY2UuZ2V0QWNjZXNzVG9rZW4oKX1gLFxyXG4gICAgICAgICAgICAnQXV0aG9yaXphdGlvbi1UZW5hbnQnOiAoXHJcbiAgICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1zdHJpbmctbGl0ZXJhbFxyXG4gICAgICAgICAgICAgIHRoaXMub2F1dGhTZXJ2aWNlWydjb25maWcnXT8ubG9naW5VcmwgfHwgdGhpcy5vYXV0aFNlcnZpY2VbJ2NvbmZpZyddPy5pc3N1ZXJcclxuICAgICAgICAgICAgICB8fCB0aGlzLm9hdXRoU2VydmljZT8ubG9naW5VcmwgfHwgdGhpcy5vYXV0aFNlcnZpY2U/Lmlzc3VlciB8fCAnJylcclxuICAgICAgICAgICAgICAucmVwbGFjZSgnL2FjY291bnQvbG9naW4nLCAnJylcclxuICAgICAgICAgICAgICAucmVwbGFjZSgnL2Nvbm5lY3QvYXV0aG9yaXplJywgJycpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnVzZXJDYWxsID0gdGhpcy5odHRwQ2xpZW50LmdldDxBcnJheTxBc3NlcnRlZFVzZXJNb2RlbD4+KFxyXG4gICAgICAgICAgYCR7dGhpcy51c2VyRW50aXR5U2VydmljZUNvbmZpZy51c2VyRW50aXR5QmFzZVVybH0ke3RoaXMuZ2V0VXNlclBhcnRpYWx9P3N1YklkRnJvbVRva2VuPXRydWUmY3JlYXRlRW1wdHk9dHJ1ZSZ3aXRob3V0Q2hpbGRMaW5rcz0keyF0aGlzLnVzZXJFbnRpdHlTZXJ2aWNlQ29uZmlnLmluY2x1ZGVMaW5rc31gLFxyXG4gICAgICAgICAgeyBoZWFkZXJzIH1cclxuICAgICAgICApXHJcbiAgICAgICAgICAudG9Qcm9taXNlKCk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLnVzZXJDYWxsLnRoZW4ocmVzID0+IHtcclxuICAgICAgICAgIGlmICghcmVzIHx8IHJlcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcignTm8gdXNlciBlbnRpdGllcyBmb3VuZCcpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5fdXNlciA9IHJlc1swXTtcclxuICAgICAgICAgIHRoaXMudmFsaWRhdGVVc2VyKCk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAgIC5jYXRjaChlID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcignVXNlckVudGl0eVNlcnZpY2UgZW5jb3VudGVyZWQgYW4gZXJyb3InLCBlKTtcclxuICAgICAgICAgICAgdGhyb3cgZTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKiBTZXRzIHRoZSBkZWZhdWx0IHZhbHVlcyBvZiB0aGUgY29uZmlnICovXHJcbiAgcHJpdmF0ZSBnZXRDb25maWdXaXRoRGVmYXVsdHMoKTogVXNlckVudGl0eVNlcnZpY2VDb25maWcge1xyXG4gICAgY29uc3QgY29uZmlnID0gdGhpcy51c2VyRW50aXR5U2VydmljZUNvbmZpZztcclxuICAgIGNvbmZpZy52YWxpZGF0ZSA9IGNvbmZpZy52YWxpZGF0ZSB8fCAoKHVzZXI6IEFzc2VydGVkVXNlck1vZGVsKTogYm9vbGVhbiA9PiB0cnVlKTtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogdHJpcGxlLWVxdWFsc1xyXG4gICAgY29uZmlnLmdldFVzZXJPbkluaXQgPSBjb25maWcuZ2V0VXNlck9uSW5pdCA9PSB1bmRlZmluZWQgPyB0cnVlIDogY29uZmlnLmdldFVzZXJPbkluaXQ7XHJcbiAgICBjb25maWcuaW5jbHVkZUxpbmtzID0gY29uZmlnLmluY2x1ZGVMaW5rcyA9PSB1bmRlZmluZWQgPyB0cnVlIDogY29uZmlnLmluY2x1ZGVMaW5rcztcclxuICAgIGNvbmZpZy5nZXRVc2VyUGFydGlhbCA9IGNvbmZpZy5nZXRVc2VyUGFydGlhbCA9PSB1bmRlZmluZWQgPyB0aGlzLmdldFVzZXJQYXJ0aWFsIDogY29uZmlnLmdldFVzZXJQYXJ0aWFsO1xyXG5cclxuICAgIHJldHVybiBjb25maWc7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,4 +1,4 @@
1
1
  export * from './cache.service';
2
2
  import { CacheService } from './cache.service';
3
3
  export const APIS = [CacheService];
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IlM6L0IwMy9fd29yay80MTMvcy9saWJyYXJ5L3Byb2plY3RzL2FybWF0dXJlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9kaXN0cmlidXRlZC1jYWNoZS9jbGllbnQtZ2VuZXJhdGVkL2FwaS9hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYWNoZVNlcnZpY2UgfSBmcm9tICcuL2NhY2hlLnNlcnZpY2UnO1xyXG5leHBvcnQgY29uc3QgQVBJUyA9IFtDYWNoZVNlcnZpY2VdO1xyXG4iXX0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IlM6L0IwMi9fd29yay84My9zL2xpYnJhcnkvcHJvamVjdHMvYXJtYXR1cmUvc3JjLyIsInNvdXJjZXMiOlsibGliL2Rpc3RyaWJ1dGVkLWNhY2hlL2NsaWVudC1nZW5lcmF0ZWQvYXBpL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7IENhY2hlU2VydmljZSB9IGZyb20gJy4vY2FjaGUuc2VydmljZSc7XHJcbmV4cG9ydCBjb25zdCBBUElTID0gW0NhY2hlU2VydmljZV07XHJcbiJdfQ==