@snabcentr/client-core 2.64.3 → 2.65.1

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 (184) hide show
  1. package/cart/internal/sc-i-cart-item-dto.d.ts +2 -2
  2. package/catalog/classes/index.d.ts +1 -0
  3. package/catalog/classes/sc-catalog-item.d.ts +31 -0
  4. package/catalog/dto/index.d.ts +0 -2
  5. package/catalog/dto/sc-category.d.ts +18 -51
  6. package/catalog/dto/sc-product.d.ts +26 -51
  7. package/catalog/dto/sc-virtual-category.d.ts +13 -30
  8. package/catalog/interfaces/index.d.ts +4 -0
  9. package/catalog/interfaces/sc-i-catalog-item.d.ts +16 -0
  10. package/catalog/interfaces/sc-i-category.d.ts +29 -0
  11. package/catalog/{internal/sc-i-product-dto.d.ts → interfaces/sc-i-product.d.ts} +8 -27
  12. package/catalog/interfaces/sc-i-virtual-category.d.ts +20 -0
  13. package/catalog/internal/index.d.ts +0 -4
  14. package/catalog/services/sc-catalog.service.d.ts +3 -2
  15. package/catalog/services/sc-favorite.service.d.ts +1 -1
  16. package/common/classes/index.d.ts +9 -0
  17. package/common/classes/sc-catalogable-item.d.ts +17 -0
  18. package/common/classes/sc-coded-identity.d.ts +17 -0
  19. package/common/classes/sc-deletable-named-identity.d.ts +17 -0
  20. package/common/classes/sc-hidden-catalogable-item.d.ts +17 -0
  21. package/common/classes/sc-identity.d.ts +25 -0
  22. package/common/classes/sc-image.d.ts +6 -8
  23. package/common/classes/sc-named-identity.d.ts +17 -0
  24. package/common/classes/sc-primary-catalogable-item.d.ts +17 -0
  25. package/common/classes/sc-reference.d.ts +21 -0
  26. package/common/classes/sc-updatable-named-identity.d.ts +17 -0
  27. package/common/index.d.ts +1 -1
  28. package/common/interfaces/index.d.ts +16 -0
  29. package/common/interfaces/sc-i-catalogable-item.d.ts +10 -0
  30. package/common/interfaces/sc-i-coded-identity.d.ts +10 -0
  31. package/common/interfaces/sc-i-created-at.d.ts +9 -0
  32. package/common/interfaces/sc-i-date-period.d.ts +6 -0
  33. package/common/interfaces/sc-i-deletable-named-identity.d.ts +7 -0
  34. package/common/interfaces/sc-i-deleted-at.d.ts +9 -0
  35. package/common/interfaces/sc-i-file.d.ts +13 -0
  36. package/common/interfaces/sc-i-hidden-catalogable-item.d.ts +10 -0
  37. package/common/interfaces/sc-i-identity.d.ts +13 -0
  38. package/common/interfaces/sc-i-image.d.ts +1 -1
  39. package/common/interfaces/sc-i-named-identity.d.ts +7 -0
  40. package/common/interfaces/sc-i-named.d.ts +9 -0
  41. package/common/interfaces/sc-i-primary-catalogable-item.d.ts +10 -0
  42. package/common/interfaces/sc-i-reference.d.ts +14 -0
  43. package/common/interfaces/sc-i-typed-nullable-range.d.ts +13 -0
  44. package/common/interfaces/sc-i-updatable-named-identity.d.ts +7 -0
  45. package/common/interfaces/sc-i-updated-at.d.ts +9 -0
  46. package/config/index.d.ts +0 -1
  47. package/esm2022/cart/internal/sc-i-cart-item-dto.mjs +1 -1
  48. package/esm2022/catalog/classes/index.mjs +2 -1
  49. package/esm2022/catalog/classes/sc-catalog-item.mjs +19 -0
  50. package/esm2022/catalog/dto/index.mjs +1 -3
  51. package/esm2022/catalog/dto/sc-category.mjs +20 -38
  52. package/esm2022/catalog/dto/sc-product.mjs +27 -32
  53. package/esm2022/catalog/dto/sc-virtual-category.mjs +11 -14
  54. package/esm2022/catalog/interfaces/index.mjs +5 -1
  55. package/esm2022/catalog/interfaces/sc-i-catalog-item.mjs +2 -0
  56. package/esm2022/catalog/interfaces/sc-i-category.mjs +3 -0
  57. package/esm2022/catalog/interfaces/sc-i-product.mjs +3 -0
  58. package/esm2022/catalog/interfaces/sc-i-virtual-category.mjs +2 -0
  59. package/esm2022/catalog/internal/index.mjs +1 -5
  60. package/esm2022/catalog/services/sc-catalog.service.mjs +1 -1
  61. package/esm2022/catalog/services/sc-favorite.service.mjs +2 -2
  62. package/esm2022/catalog/services/sc-recommendation.service.mjs +1 -1
  63. package/esm2022/common/classes/index.mjs +10 -1
  64. package/esm2022/common/classes/sc-catalogable-item.mjs +16 -0
  65. package/esm2022/common/classes/sc-coded-identity.mjs +21 -0
  66. package/esm2022/common/classes/sc-deletable-named-identity.mjs +18 -0
  67. package/esm2022/common/classes/sc-hidden-catalogable-item.mjs +16 -0
  68. package/esm2022/common/classes/sc-identity.mjs +23 -0
  69. package/esm2022/common/classes/sc-image.mjs +7 -9
  70. package/esm2022/common/classes/sc-named-identity.mjs +21 -0
  71. package/esm2022/common/classes/sc-primary-catalogable-item.mjs +16 -0
  72. package/esm2022/common/classes/sc-reference.mjs +17 -0
  73. package/esm2022/common/classes/sc-updatable-named-identity.mjs +18 -0
  74. package/esm2022/common/index.mjs +2 -2
  75. package/esm2022/common/interfaces/index.mjs +17 -1
  76. package/esm2022/common/interfaces/sc-i-catalogable-item.mjs +2 -0
  77. package/esm2022/common/interfaces/sc-i-coded-identity.mjs +2 -0
  78. package/esm2022/common/interfaces/sc-i-created-at.mjs +2 -0
  79. package/esm2022/common/interfaces/sc-i-date-period.mjs +2 -0
  80. package/esm2022/common/interfaces/sc-i-deletable-named-identity.mjs +2 -0
  81. package/esm2022/common/interfaces/sc-i-deleted-at.mjs +2 -0
  82. package/esm2022/common/interfaces/sc-i-file.mjs +2 -0
  83. package/esm2022/common/interfaces/sc-i-hidden-catalogable-item.mjs +2 -0
  84. package/esm2022/common/interfaces/sc-i-identity.mjs +2 -0
  85. package/esm2022/common/interfaces/sc-i-image.mjs +1 -1
  86. package/esm2022/common/interfaces/sc-i-named-identity.mjs +2 -0
  87. package/esm2022/common/interfaces/sc-i-named.mjs +2 -0
  88. package/esm2022/common/interfaces/sc-i-primary-catalogable-item.mjs +2 -0
  89. package/esm2022/common/interfaces/sc-i-reference.mjs +2 -0
  90. package/esm2022/common/interfaces/sc-i-typed-nullable-range.mjs +2 -0
  91. package/esm2022/common/interfaces/sc-i-updatable-named-identity.mjs +2 -0
  92. package/esm2022/common/interfaces/sc-i-updated-at.mjs +2 -0
  93. package/esm2022/config/index.mjs +1 -2
  94. package/esm2022/configurator/services/sc-configurator.service.mjs +1 -1
  95. package/esm2022/guards/index.mjs +1 -2
  96. package/esm2022/helpers/sc-image-helper.mjs +13 -3
  97. package/esm2022/helpers/sc-units-helper.mjs +1 -1
  98. package/esm2022/news/classes/index.mjs +1 -5
  99. package/esm2022/news/classes/sc-news.mjs +13 -12
  100. package/esm2022/news/index.mjs +4 -7
  101. package/esm2022/news/interfaces/index.mjs +3 -0
  102. package/esm2022/news/interfaces/sc-i-news-tile.mjs +2 -0
  103. package/esm2022/news/interfaces/sc-i-news.mjs +2 -0
  104. package/esm2022/news/services/index.mjs +2 -0
  105. package/esm2022/news/services/sc-news.service.mjs +2 -2
  106. package/esm2022/news/tokens/index.mjs +2 -0
  107. package/esm2022/providers/sc-category.providers.mjs +3 -3
  108. package/esm2022/public-api.mjs +2 -6
  109. package/esm2022/search/services/sc-search.service.mjs +5 -5
  110. package/esm2022/seo/classes/index.mjs +2 -0
  111. package/esm2022/seo/classes/schema-org-factory.mjs +269 -0
  112. package/esm2022/seo/index.mjs +5 -0
  113. package/esm2022/seo/interfaces/index.mjs +5 -0
  114. package/esm2022/seo/interfaces/sc-i-default-page-meta.mjs +2 -0
  115. package/esm2022/seo/interfaces/sc-i-schema-org-breadcrumb-list.mjs +2 -0
  116. package/esm2022/seo/interfaces/sc-i-seo-resource.mjs +2 -0
  117. package/esm2022/seo/interfaces/sc-i-seo.mjs +2 -0
  118. package/esm2022/seo/services/index.mjs +2 -0
  119. package/esm2022/seo/services/sc-seo.service.mjs +206 -0
  120. package/esm2022/seo/types/index.mjs +2 -0
  121. package/esm2022/seo/types/robots-tag-type.mjs +2 -0
  122. package/esm2022/tokens/sc-default-page-meta.mjs +1 -1
  123. package/fesm2022/snabcentr-client-core.mjs +784 -580
  124. package/fesm2022/snabcentr-client-core.mjs.map +1 -1
  125. package/guards/index.d.ts +0 -1
  126. package/helpers/sc-image-helper.d.ts +1 -1
  127. package/helpers/sc-units-helper.d.ts +1 -1
  128. package/news/classes/index.d.ts +0 -1
  129. package/news/classes/sc-news.d.ts +18 -13
  130. package/news/index.d.ts +3 -3
  131. package/news/interfaces/index.d.ts +2 -0
  132. package/news/interfaces/sc-i-news-tile.d.ts +22 -0
  133. package/news/interfaces/sc-i-news.d.ts +11 -0
  134. package/news/services/index.d.ts +1 -0
  135. package/news/services/sc-news.service.d.ts +4 -3
  136. package/news/tokens/index.d.ts +1 -0
  137. package/package.json +1 -1
  138. package/providers/sc-category.providers.d.ts +1 -1
  139. package/public-api.d.ts +1 -2
  140. package/search/services/sc-search.service.d.ts +5 -4
  141. package/seo/classes/index.d.ts +1 -0
  142. package/seo/classes/schema-org-factory.d.ts +88 -0
  143. package/seo/index.d.ts +4 -0
  144. package/seo/interfaces/index.d.ts +4 -0
  145. package/seo/interfaces/sc-i-default-page-meta.d.ts +17 -0
  146. package/seo/interfaces/sc-i-schema-org-breadcrumb-list.d.ts +34 -0
  147. package/seo/interfaces/sc-i-seo-resource.d.ts +14 -0
  148. package/{catalog/dto → seo/interfaces}/sc-i-seo.d.ts +3 -14
  149. package/seo/services/index.d.ts +1 -0
  150. package/seo/services/sc-seo.service.d.ts +125 -0
  151. package/seo/types/index.d.ts +1 -0
  152. package/tokens/sc-default-page-meta.d.ts +1 -1
  153. package/catalog/dto/sc-i-seo-resource.d.ts +0 -10
  154. package/catalog/dto/sc-seo-resource.d.ts +0 -22
  155. package/catalog/internal/sc-i-category-dto.d.ts +0 -48
  156. package/catalog/internal/sc-i-seo-resource-dto.d.ts +0 -10
  157. package/catalog/internal/sc-i-virtual-category-dto.d.ts +0 -37
  158. package/config/sc-i-default-page-meta.d.ts +0 -17
  159. package/esm2022/catalog/dto/sc-i-seo-resource.mjs +0 -2
  160. package/esm2022/catalog/dto/sc-i-seo.mjs +0 -2
  161. package/esm2022/catalog/dto/sc-seo-resource.mjs +0 -23
  162. package/esm2022/catalog/internal/sc-i-category-dto.mjs +0 -3
  163. package/esm2022/catalog/internal/sc-i-product-dto.mjs +0 -2
  164. package/esm2022/catalog/internal/sc-i-seo-resource-dto.mjs +0 -2
  165. package/esm2022/catalog/internal/sc-i-virtual-category-dto.mjs +0 -2
  166. package/esm2022/config/sc-i-default-page-meta.mjs +0 -2
  167. package/esm2022/guards/catalog-seo.guard.mjs +0 -61
  168. package/esm2022/news/classes/sc-news-tile.mjs +0 -2
  169. package/esm2022/news/internal/sc-i-news-dto.mjs +0 -2
  170. package/esm2022/sc-json-ld/index.mjs +0 -3
  171. package/esm2022/sc-json-ld/sc-json-ld.component.mjs +0 -49
  172. package/esm2022/sc-json-ld/sc-json-ld.module.mjs +0 -19
  173. package/esm2022/services/index.mjs +0 -3
  174. package/esm2022/services/sc-seo.service.mjs +0 -271
  175. package/esm2022/services/types/robots-tag-type.mjs +0 -2
  176. package/guards/catalog-seo.guard.d.ts +0 -14
  177. package/news/classes/sc-news-tile.d.ts +0 -25
  178. package/news/internal/sc-i-news-dto.d.ts +0 -30
  179. package/sc-json-ld/index.d.ts +0 -2
  180. package/sc-json-ld/sc-json-ld.component.d.ts +0 -31
  181. package/sc-json-ld/sc-json-ld.module.d.ts +0 -10
  182. package/services/index.d.ts +0 -2
  183. package/services/sc-seo.service.d.ts +0 -184
  184. /package/{services → seo}/types/robots-tag-type.d.ts +0 -0
@@ -1,11 +1,11 @@
1
1
  import { Inject, Injectable } from '@angular/core';
2
2
  import { BehaviorSubject, map, tap, throwError } from 'rxjs';
3
- import { ScCategory } from '../../catalog';
4
- import { SC_URLS } from '../../tokens';
5
- import { ScUserMetrikaGoalsEnum } from '../../user-metrika';
3
+ import { ScCategory } from '../../catalog/dto/sc-category';
4
+ import { SC_URLS } from '../../tokens/sc-urls';
5
+ import { ScUserMetrikaGoalsEnum } from '../../user-metrika/enums/sc-user-metrika-goals-enum';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/common/http";
8
- import * as i2 from "../../user-metrika";
8
+ import * as i2 from "../../user-metrika/services/sc-user-metrika.service";
9
9
  /**
10
10
  * Сервис поиска по каталогу.
11
11
  */
@@ -119,4 +119,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
119
119
  type: Inject,
120
120
  args: [SC_URLS]
121
121
  }] }, { type: i2.ScUserMetrikaService }] });
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc2VhcmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NlYXJjaC9zZXJ2aWNlcy9zYy1zZWFyY2guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsRUFBYyxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXpFLE9BQU8sRUFBRSxVQUFVLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBR2pFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkMsT0FBTyxFQUFFLHNCQUFzQixFQUF3QixNQUFNLG9CQUFvQixDQUFDOzs7O0FBR2xGOztHQUVHO0FBSUgsTUFBTSxPQUFPLGVBQWU7SUFNeEI7Ozs7OztPQU1HO0lBQ0gsWUFDcUIsSUFBZ0IsRUFDQyxJQUFhLEVBQzlCLGtCQUF3QztRQUZ4QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ0MsU0FBSSxHQUFKLElBQUksQ0FBUztRQUM5Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXNCO1FBZjdEOztXQUVHO1FBQ0ssZ0JBQVcsR0FBbUMsSUFBSSxlQUFlLENBQWdCLElBQUksQ0FBQyxDQUFDO0lBYTVGLENBQUM7SUFFSjs7OztPQUlHO0lBQ0ksT0FBTyxDQUFDLElBQVk7UUFDdkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBa0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sd0JBQXdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDL0csR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNMLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQztn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QzNDLENBQUM7K0dBbkhRLGVBQWUsNENBZVosT0FBTzttSEFmVixlQUFlLGNBRlosTUFBTTs7NEZBRVQsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQWdCUSxNQUFNOzJCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG1hcCwgT2JzZXJ2YWJsZSwgdGFwLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNjQ2F0ZWdvcnksIFNjRmlsdGVyc1RyZWVDYXRhbG9nIH0gZnJvbSAnLi4vLi4vY2F0YWxvZyc7XG5pbXBvcnQgeyBTY0lDYXRlZ29yeURUTyB9IGZyb20gJy4uLy4uL2NhdGFsb2cvaW50ZXJuYWwnO1xuaW1wb3J0IHsgU2NJVXJscyB9IGZyb20gJy4uLy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBTQ19VUkxTIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcbmltcG9ydCB7IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0sIFNjVXNlck1ldHJpa2FTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXNlci1tZXRyaWthJztcbmltcG9ydCB7IFNjSVNpbXBsZVNlYXJjaCB9IGZyb20gJy4uJztcblxuLyoqXG4gKiDQodC10YDQstC40YEg0L/QvtC40YHQutCwINC/0L4g0LrQsNGC0LDQu9C+0LPRgy5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2NTZWFyY2hTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiB7QGxpbmsgQmVoYXZpb3JTdWJqZWN0fSDQv9C+0LjRgdC60L7QstC+0LPQviDQt9Cw0L/RgNC+0YEuXG4gICAgICovXG4gICAgcHJpdmF0ZSBzZWFyY2hUZXJtJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZyB8IG51bGw+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPihudWxsKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NTZWFyY2hTZXJ2aWNlfS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBodHRwIEhUVFAt0LrQu9C40LXQvdGCLlxuICAgICAqIEBwYXJhbSB1cmxzINCh0L/QuNGB0L7QuiDRgdGB0YvQu9C+0Log0L3QsCDRgNCw0LfQtNC10LvRiyBiYWNrZW5kJ2EuXG4gICAgICogQHBhcmFtIHVzZXJNZXRyaWthU2VydmljZSDQodC10YDQstC40YEg0LTQu9GPINGB0LHQvtGA0LAg0LzQtdGC0YDQuNC6INC+INC00LXQudGB0YLQstC40Y/RhSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgQEluamVjdChTQ19VUkxTKSBwcml2YXRlIHJlYWRvbmx5IHVybHM6IFNjSVVybHMsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlck1ldHJpa2FTZXJ2aWNlOiBTY1VzZXJNZXRyaWthU2VydmljZVxuICAgICkge31cblxuICAgIC8qKlxuICAgICAqINCS0YvQv9C+0LvQvdGP0LXRgiDRg9C/0YDQvtGJ0LXQvdC90YvQuSDQv9C+0LjRgdC6INGC0L7QstCw0YDQvtCyINC4INC60LDRgtC10LPQvtGA0LjQuS4g0JLQvtC30LLRgNCw0YnQsNC10YIg0L7Qs9GA0LDQvdC40YfQtdC90L3QvtC1INC60L7Qu9C40YfQtdGB0YLQstC+INC30LDQv9C40YHQtdC5LlxuICAgICAqXG4gICAgICogQHBhcmFtIHRlcm0g0J/QvtC40YHQutC+0LLRi9C5INC30LDQv9GA0L7RgS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2ltcGxlJCh0ZXJtOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNjSVNpbXBsZVNlYXJjaD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTY0lTaW1wbGVTZWFyY2g+KGAke3RoaXMudXJscy5hcGlVcmx9L2NhdGFsb2cvc2VhcmNoL3NpbXBsZWAsIHsgcGFyYW1zOiB7IHRlcm06IHRlcm0gfSB9KS5waXBlKFxuICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJNZXRyaWthU2VydmljZS5lbWl0VXNlck1ldHJpa2FFdmVudCh7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS5jYXRhbG9nU2VhcmNoLFxuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaF90eXBlOiAnc2ltcGxlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlcm06IHRlcm0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0YvQv9C+0LvQvdGP0LXRgiDQv9C+0LjRgdC6INC60LDRgtC10LPQvtGA0LjQuSDQsiDQutCw0YLQsNC70L7Qs9C1LlxuICAgICAqXG4gICAgICogQHBhcmFtIHRlcm0g0J/QvtC40YHQutC+0LLRi9C5INC30LDQv9GA0L7RgS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY2F0ZWdvcmllcyQodGVybTogc3RyaW5nKTogT2JzZXJ2YWJsZTxTY0NhdGVnb3J5W10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U2NJQ2F0ZWdvcnlEVE9bXT4oYCR7dGhpcy51cmxzLmFwaVVybH0vY2F0YWxvZy9zZWFyY2gvY2F0ZWdvcmllc2AsIHsgcGFyYW1zOiB7IHRlcm06IHRlcm0gfSB9KS5waXBlKFxuICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJNZXRyaWthU2VydmljZS5lbWl0VXNlck1ldHJpa2FFdmVudCh7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS5jYXRhbG9nU2VhcmNoLFxuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaF90eXBlOiAnY2F0ZWdvcmllcycsXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXJtOiB0ZXJtLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtYXAoKGNhdGVnb3JpZXMpID0+IGNhdGVnb3JpZXMubWFwKChpdGVtKSA9PiBuZXcgU2NDYXRlZ29yeShpdGVtKSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLRi9C/0L7Qu9C90Y/QtdGCINC/0L7Qu9C90YvQuSDQv9C+0LjRgdC6INC/0L4g0LLRgdC10LzRgyDQv9GA0LDQudGBLdC70LjRgdGC0YMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdGVybSDQn9C+0LjRgdC60L7QstGL0Lkg0LfQsNC/0YDQvtGBLlxuICAgICAqIEBwYXJhbSBzaG93T3JkZXJlZFByb2R1Y3RzINCf0YDQuNC30L3QsNC6INGC0L7Qs9C+LCDRh9GC0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0LLQtdGA0L3Rg9GC0Ywg0YDQsNC90LXQtSDQt9Cw0LrQsNC30LDQvdC90YvQtSDQv9GA0L7QtNGD0LrRgtGLLlxuICAgICAqIEBwYXJhbSBzaG93RmF2b3JpdGVQcm9kdWN0cyDQn9GA0LjQt9C90LDQuiDRgtC+0LPQviwg0YfRgtC+INC90LXQvtCx0YXQvtC00LjQvNC+INCy0LXRgNC90YPRgtGMINC40LfQsdGA0LDQvdC90YvQtSDQv9GA0L7QtNGD0LrRgtGLLlxuICAgICAqIEBwYXJhbSBzaG93RGlzY291bnRlZFByb2R1Y3RzINCf0YDQuNC30L3QsNC6INGC0L7Qs9C+LCDRh9GC0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0LLQtdGA0L3Rg9GC0Ywg0L/RgNC+0LTRg9C60YLRiyDRgdC+INGB0LrQuNC00LrQvtC5LlxuICAgICAqL1xuICAgIHB1YmxpYyBmdWxsJCh0ZXJtPzogc3RyaW5nLCBzaG93T3JkZXJlZFByb2R1Y3RzPzogYm9vbGVhbiwgc2hvd0Zhdm9yaXRlUHJvZHVjdHM/OiBib29sZWFuLCBzaG93RGlzY291bnRlZFByb2R1Y3RzPzogYm9vbGVhbik6IE9ic2VydmFibGU8U2NGaWx0ZXJzVHJlZUNhdGFsb2c+IHtcbiAgICAgICAgY29uc3QgcGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+ID0ge307XG5cbiAgICAgICAgaWYgKHRlcm0pIHtcbiAgICAgICAgICAgIHBhcmFtc1sndGVybSddID0gdGVybTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzaG93T3JkZXJlZFByb2R1Y3RzKSB7XG4gICAgICAgICAgICBwYXJhbXNbJ3Nob3dfb3JkZXJlZF9wcm9kdWN0cyddID0gTnVtYmVyKHNob3dPcmRlcmVkUHJvZHVjdHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNob3dGYXZvcml0ZVByb2R1Y3RzKSB7XG4gICAgICAgICAgICBwYXJhbXNbJ3Nob3dfZmF2b3JpdGVfcHJvZHVjdHMnXSA9IE51bWJlcihzaG93RmF2b3JpdGVQcm9kdWN0cyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2hvd0Rpc2NvdW50ZWRQcm9kdWN0cykge1xuICAgICAgICAgICAgcGFyYW1zWydzaG93X2Rpc2NvdW50ZWRfcHJvZHVjdHMnXSA9IE51bWJlcihzaG93RGlzY291bnRlZFByb2R1Y3RzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhwYXJhbXMpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFNjRmlsdGVyc1RyZWVDYXRhbG9nPihgJHt0aGlzLnVybHMuYXBpVXJsfS9jYXRhbG9nL3NlYXJjaC9mdWxsYCwgeyBwYXJhbXM6IHBhcmFtcyB9KS5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS5jYXRhbG9nU2VhcmNoLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoX3R5cGU6ICdmdWxsJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXJtOiB0ZXJtLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCfQndC10L7QsdGF0L7QtNC40LzQviDRg9C60LDQt9Cw0YLRjCDRhdC+0YLRjyDQsdGLINC+0LTQuNC9INC/0LDRgNCw0LzQtdGC0YAuJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCINC/0L7QuNGB0LrQvtCy0YvQuSDQt9Cw0L/RgNC+0YEg0LIge0BsaW5rIEJlaGF2aW9yU3ViamVjdH0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdGVybSDQn9C+0LjRgdC60L7QstGL0Lkg0LfQsNC/0YDQvtGBLlxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRTZWFyY2hUZXJtQ2hhbmdlKHRlcm06IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWFyY2hUZXJtJC5uZXh0KHRlcm0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQv9C+0LjRgdC60L7QstC+0LPQviDQt9Cw0L/RgNC+0YHQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U2VhcmNoVGVybUNoYW5nZSQoKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlYXJjaFRlcm0kLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbn1cbiJdfQ==
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc2VhcmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NlYXJjaC9zZXJ2aWNlcy9zYy1zZWFyY2guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsRUFBYyxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXpFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUkzRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scURBQXFELENBQUM7Ozs7QUFJN0Y7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZUFBZTtJQU14Qjs7Ozs7O09BTUc7SUFDSCxZQUNxQixJQUFnQixFQUNDLElBQWEsRUFDOUIsa0JBQXdDO1FBRnhDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDQyxTQUFJLEdBQUosSUFBSSxDQUFTO1FBQzlCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBc0I7UUFmN0Q7O1dBRUc7UUFDSyxnQkFBVyxHQUFtQyxJQUFJLGVBQWUsQ0FBZ0IsSUFBSSxDQUFDLENBQUM7SUFhNUYsQ0FBQztJQUVKOzs7O09BSUc7SUFDSSxPQUFPLENBQUMsSUFBWTtRQUN2QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFrQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSx3QkFBd0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUMvRyxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ0wsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFD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SUFDM0MsQ0FBQzsrR0FuSFEsZUFBZSw0Q0FlWixPQUFPO21IQWZWLGVBQWUsY0FGWixNQUFNOzs0RkFFVCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBZ0JRLE1BQU07MkJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWFwLCBPYnNlcnZhYmxlLCB0YXAsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2NDYXRlZ29yeSB9IGZyb20gJy4uLy4uL2NhdGFsb2cvZHRvL3NjLWNhdGVnb3J5JztcbmltcG9ydCB7IFNjSUNhdGVnb3J5IH0gZnJvbSAnLi4vLi4vY2F0YWxvZy9pbnRlcmZhY2VzL3NjLWktY2F0ZWdvcnknO1xuaW1wb3J0IHsgU2NGaWx0ZXJzVHJlZUNhdGFsb2cgfSBmcm9tICcuLi8uLi9jYXRhbG9nL3R5cGVzL3NjLWZpbHRlcnMtdHJlZS1jYXRhbG9nJztcbmltcG9ydCB7IFNjSVVybHMgfSBmcm9tICcuLi8uLi9jb25maWcvc2MtaS11cmxzJztcbmltcG9ydCB7IFNDX1VSTFMgfSBmcm9tICcuLi8uLi90b2tlbnMvc2MtdXJscyc7XG5pbXBvcnQgeyBTY1VzZXJNZXRyaWthR29hbHNFbnVtIH0gZnJvbSAnLi4vLi4vdXNlci1tZXRyaWthL2VudW1zL3NjLXVzZXItbWV0cmlrYS1nb2Fscy1lbnVtJztcbmltcG9ydCB7IFNjVXNlck1ldHJpa2FTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXNlci1tZXRyaWthL3NlcnZpY2VzL3NjLXVzZXItbWV0cmlrYS5zZXJ2aWNlJztcbmltcG9ydCB7IFNjSVNpbXBsZVNlYXJjaCB9IGZyb20gJy4uL2R0by9zYy1pLXNpbXBsZS1zZWFyY2gnO1xuXG4vKipcbiAqINCh0LXRgNCy0LjRgSDQv9C+0LjRgdC60LAg0L/QviDQutCw0YLQsNC70L7Qs9GDLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTY1NlYXJjaFNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIHtAbGluayBCZWhhdmlvclN1YmplY3R9INC/0L7QuNGB0LrQvtCy0L7Qs9C+INC30LDQv9GA0L7RgS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHNlYXJjaFRlcm0kOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgbnVsbD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZyB8IG51bGw+KG51bGwpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY1NlYXJjaFNlcnZpY2V9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGh0dHAgSFRUUC3QutC70LjQtdC90YIuXG4gICAgICogQHBhcmFtIHVybHMg0KHQv9C40YHQvtC6INGB0YHRi9C70L7QuiDQvdCwINGA0LDQt9C00LXQu9GLIGJhY2tlbmQnYS5cbiAgICAgKiBAcGFyYW0gdXNlck1ldHJpa2FTZXJ2aWNlINCh0LXRgNCy0LjRgSDQtNC70Y8g0YHQsdC+0YDQsCDQvNC10YLRgNC40Log0L4g0LTQtdC50YHRgtCy0LjRj9GFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICBASW5qZWN0KFNDX1VSTFMpIHByaXZhdGUgcmVhZG9ubHkgdXJsczogU2NJVXJscyxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB1c2VyTWV0cmlrYVNlcnZpY2U6IFNjVXNlck1ldHJpa2FTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICog0JLRi9C/0L7Qu9C90Y/QtdGCINGD0L/RgNC+0YnQtdC90L3Ri9C5INC/0L7QuNGB0Log0YLQvtCy0LDRgNC+0LIg0Lgg0LrQsNGC0LXQs9C+0YDQuNC5LiDQktC+0LfQstGA0LDRidCw0LXRgiDQvtCz0YDQsNC90LjRh9C10L3QvdC+0LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0LfQsNC/0LjRgdC10LkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdGVybSDQn9C+0LjRgdC60L7QstGL0Lkg0LfQsNC/0YDQvtGBLlxuICAgICAqL1xuICAgIHB1YmxpYyBzaW1wbGUkKHRlcm06IHN0cmluZyk6IE9ic2VydmFibGU8U2NJU2ltcGxlU2VhcmNoPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFNjSVNpbXBsZVNlYXJjaD4oYCR7dGhpcy51cmxzLmFwaVVybH0vY2F0YWxvZy9zZWFyY2gvc2ltcGxlYCwgeyBwYXJhbXM6IHsgdGVybTogdGVybSB9IH0pLnBpcGUoXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBTY1VzZXJNZXRyaWthR29hbHNFbnVtLmNhdGFsb2dTZWFyY2gsXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoX3R5cGU6ICdzaW1wbGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGVybTogdGVybSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLRi9C/0L7Qu9C90Y/QtdGCINC/0L7QuNGB0Log0LrQsNGC0LXQs9C+0YDQuNC5INCyINC60LDRgtCw0LvQvtCz0LUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdGVybSDQn9C+0LjRgdC60L7QstGL0Lkg0LfQsNC/0YDQvtGBLlxuICAgICAqL1xuICAgIHB1YmxpYyBjYXRlZ29yaWVzJCh0ZXJtOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNjQ2F0ZWdvcnlbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTY0lDYXRlZ29yeVtdPihgJHt0aGlzLnVybHMuYXBpVXJsfS9jYXRhbG9nL3NlYXJjaC9jYXRlZ29yaWVzYCwgeyBwYXJhbXM6IHsgdGVybTogdGVybSB9IH0pLnBpcGUoXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBTY1VzZXJNZXRyaWthR29hbHNFbnVtLmNhdGFsb2dTZWFyY2gsXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoX3R5cGU6ICdjYXRlZ29yaWVzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlcm06IHRlcm0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG1hcCgoY2F0ZWdvcmllcykgPT4gY2F0ZWdvcmllcy5tYXAoKGl0ZW0pID0+IG5ldyBTY0NhdGVnb3J5KGl0ZW0pKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktGL0L/QvtC70L3Rj9C10YIg0L/QvtC70L3Ri9C5INC/0L7QuNGB0Log0L/QviDQstGB0LXQvNGDINC/0YDQsNC50YEt0LvQuNGB0YLRgy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0ZXJtINCf0L7QuNGB0LrQvtCy0YvQuSDQt9Cw0L/RgNC+0YEuXG4gICAgICogQHBhcmFtIHNob3dPcmRlcmVkUHJvZHVjdHMg0J/RgNC40LfQvdCw0Log0YLQvtCz0L4sINGH0YLQviDQvdC10L7QsdGF0L7QtNC40LzQviDQstC10YDQvdGD0YLRjCDRgNCw0L3QtdC1INC30LDQutCw0LfQsNC90L3Ri9C1INC/0YDQvtC00YPQutGC0YsuXG4gICAgICogQHBhcmFtIHNob3dGYXZvcml0ZVByb2R1Y3RzINCf0YDQuNC30L3QsNC6INGC0L7Qs9C+LCDRh9GC0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0LLQtdGA0L3Rg9GC0Ywg0LjQt9Cx0YDQsNC90L3Ri9C1INC/0YDQvtC00YPQutGC0YsuXG4gICAgICogQHBhcmFtIHNob3dEaXNjb3VudGVkUHJvZHVjdHMg0J/RgNC40LfQvdCw0Log0YLQvtCz0L4sINGH0YLQviDQvdC10L7QsdGF0L7QtNC40LzQviDQstC10YDQvdGD0YLRjCDQv9GA0L7QtNGD0LrRgtGLINGB0L4g0YHQutC40LTQutC+0LkuXG4gICAgICovXG4gICAgcHVibGljIGZ1bGwkKHRlcm0/OiBzdHJpbmcsIHNob3dPcmRlcmVkUHJvZHVjdHM/OiBib29sZWFuLCBzaG93RmF2b3JpdGVQcm9kdWN0cz86IGJvb2xlYW4sIHNob3dEaXNjb3VudGVkUHJvZHVjdHM/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxTY0ZpbHRlcnNUcmVlQ2F0YWxvZz4ge1xuICAgICAgICBjb25zdCBwYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlcj4gPSB7fTtcblxuICAgICAgICBpZiAodGVybSkge1xuICAgICAgICAgICAgcGFyYW1zWyd0ZXJtJ10gPSB0ZXJtO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNob3dPcmRlcmVkUHJvZHVjdHMpIHtcbiAgICAgICAgICAgIHBhcmFtc1snc2hvd19vcmRlcmVkX3Byb2R1Y3RzJ10gPSBOdW1iZXIoc2hvd09yZGVyZWRQcm9kdWN0cyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2hvd0Zhdm9yaXRlUHJvZHVjdHMpIHtcbiAgICAgICAgICAgIHBhcmFtc1snc2hvd19mYXZvcml0ZV9wcm9kdWN0cyddID0gTnVtYmVyKHNob3dGYXZvcml0ZVByb2R1Y3RzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzaG93RGlzY291bnRlZFByb2R1Y3RzKSB7XG4gICAgICAgICAgICBwYXJhbXNbJ3Nob3dfZGlzY291bnRlZF9wcm9kdWN0cyddID0gTnVtYmVyKHNob3dEaXNjb3VudGVkUHJvZHVjdHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKHBhcmFtcykubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U2NGaWx0ZXJzVHJlZUNhdGFsb2c+KGAke3RoaXMudXJscy5hcGlVcmx9L2NhdGFsb2cvc2VhcmNoL2Z1bGxgLCB7IHBhcmFtczogcGFyYW1zIH0pLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51c2VyTWV0cmlrYVNlcnZpY2UuZW1pdFVzZXJNZXRyaWthRXZlbnQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBTY1VzZXJNZXRyaWthR29hbHNFbnVtLmNhdGFsb2dTZWFyY2gsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hfdHlwZTogJ2Z1bGwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlcm06IHRlcm0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Cd0LXQvtCx0YXQvtC00LjQvNC+INGD0LrQsNC30LDRgtGMINGF0L7RgtGPINCx0Ysg0L7QtNC40L0g0L/QsNGA0LDQvNC10YLRgC4nKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0L/QvtC40YHQutC+0LLRi9C5INC30LDQv9GA0L7RgSDQsiB7QGxpbmsgQmVoYXZpb3JTdWJqZWN0fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0ZXJtINCf0L7QuNGB0LrQvtCy0YvQuSDQt9Cw0L/RgNC+0YEuXG4gICAgICovXG4gICAgcHVibGljIHNldFNlYXJjaFRlcm1DaGFuZ2UodGVybTogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlYXJjaFRlcm0kLm5leHQodGVybSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INC/0L7QuNGB0LrQvtCy0L7Qs9C+INC30LDQv9GA0L7RgdCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRTZWFyY2hUZXJtQ2hhbmdlJCgpOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VhcmNoVGVybSQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './schema-org-factory';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3Nlby9jbGFzc2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NjaGVtYS1vcmctZmFjdG9yeSc7XG4iXX0=
@@ -0,0 +1,269 @@
1
+ import { inject, Injectable } from '@angular/core';
2
+ import { ScIdOrSlugPipe } from '../../pipes/sc-id-or-slug.pipe';
3
+ import { ScMediaImageTransformerPipe } from '../../pipes/sc-media-image-transformer.pipe';
4
+ import { SC_COMPANY_INFO } from '../../tokens/sc-company-info';
5
+ import { SC_URLS } from '../../tokens/sc-urls';
6
+ import * as i0 from "@angular/core";
7
+ /**
8
+ * Механизмы генерации схем данных Schema.org.
9
+ */
10
+ export class SchemaOrgFactory {
11
+ constructor() {
12
+ /**
13
+ * Данные о компании.
14
+ */
15
+ this.companyInfo = inject(SC_COMPANY_INFO);
16
+ /**
17
+ * Список ссылок приложения.
18
+ */
19
+ this.urls = inject(SC_URLS);
20
+ /**
21
+ * Пайп, возвращающий идентификатор или символьное обозначение (slug) исходя из настроек окружения.
22
+ */
23
+ this.idOrSlugPipe = inject(ScIdOrSlugPipe);
24
+ /**
25
+ * Пайп для формирования полного URI изображения на media сервере.
26
+ */
27
+ this.mediaImageTransformerPipe = inject(ScMediaImageTransformerPipe);
28
+ }
29
+ /**
30
+ * Генерирует и возвращает схему данных для указанного продукта.
31
+ *
32
+ * @param product Данные о продукте.
33
+ * @param productPath Url путь к товару. В пути должен присутствовать шаблон ':id', обозначающий идентификатор товара для подстановки.
34
+ */
35
+ generateForProductItem(product, productPath) {
36
+ const productUrl = `${this.urls.siteUrl}${productPath.replace(':id', this.idOrSlugPipe.transform(product).toString())}`;
37
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
38
+ const image = this.mediaImageTransformerPipe.transform(product?.getImagePreview() ?? product.image, true);
39
+ const description = product.properties?.description;
40
+ const priceValidUntil = this.normalizePriceValidUntil(product.discount?.expiredAt);
41
+ return {
42
+ '@context': 'https://schema.org',
43
+ '@type': 'Product',
44
+ name: product.name,
45
+ ...(image && { image }),
46
+ ...(description && { description }),
47
+ mpn: product.code,
48
+ url: productUrl,
49
+ offers: [
50
+ {
51
+ '@type': 'Offer',
52
+ priceCurrency: 'RUB',
53
+ ...(priceValidUntil && { priceValidUntil }),
54
+ price: product.costRub,
55
+ availability: this.getAvailability(product),
56
+ itemCondition: 'https://schema.org/NewCondition',
57
+ seller: {
58
+ '@type': 'Organization',
59
+ name: this.companyInfo.name,
60
+ },
61
+ url: productUrl,
62
+ },
63
+ ],
64
+ };
65
+ }
66
+ /**
67
+ * Генерирует и возвращает схему данных для указанного продукта.
68
+ *
69
+ * @param category Данные о категории.
70
+ * @param products Данные о продуктах категории.
71
+ * @param categoryPath Url путь к категориям товаров. В пути должен присутствовать шаблон ':id', обозначающий идентификатор категории для подстановки.
72
+ * @param productPath Url путь к товару. В пути должен присутствовать шаблон ':id', обозначающий идентификатор товара для подстановки.
73
+ * @param breadcrumbs Данные о хлебных крошках для категории.
74
+ */
75
+ generateForCategoryItem(category, products, categoryPath, productPath, breadcrumbs) {
76
+ const description = category.seo?.description ?? category.properties?.description;
77
+ const image = this.mediaImageTransformerPipe.transform(category.image, true);
78
+ return {
79
+ '@context': 'https://schema.org',
80
+ '@type': 'CollectionPage',
81
+ name: category.seo?.title ?? category.name,
82
+ ...(description && { description }),
83
+ url: this.getCategoryCanonicalUrl(category, categoryPath),
84
+ ...(image && { image }),
85
+ // SEO данные.
86
+ ...(category.seo?.keywords && { keywords: category.seo.keywords }),
87
+ // Основной контент страницы - список товаров и подкатегорий.
88
+ mainEntity: this.createCategoryMainEntity(category, products, categoryPath, productPath),
89
+ // Навигационные хлебные крошки (Schema.org: breadcrumb).
90
+ breadcrumb: breadcrumbs,
91
+ // Дополнительные метаданные для SEO.
92
+ about: {
93
+ '@type': 'CategoryCode',
94
+ codeValue: category.slug,
95
+ name: category.name,
96
+ ...(description && { description }),
97
+ },
98
+ // Информация о сайте.
99
+ isPartOf: {
100
+ '@type': 'WebSite',
101
+ name: this.companyInfo.name,
102
+ url: this.urls.siteUrl,
103
+ },
104
+ // Связанные страницы.
105
+ relatedLink: [
106
+ `${this.urls.siteUrl}${categoryPath.replace(':id', '')}`,
107
+ ...(this.isVirtualCategory(category) || !category.parentCategory ? [] : [this.getCategoryCanonicalUrl(category.parentCategory, categoryPath)]),
108
+ ],
109
+ // Дополнительные свойства категории (не изображения).
110
+ additionalProperty: [
111
+ {
112
+ '@type': 'PropertyValue',
113
+ name: 'Количество товаров',
114
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
115
+ value: (products?.length ?? 0).toString(),
116
+ },
117
+ {
118
+ '@type': 'PropertyValue',
119
+ name: 'Slug категории',
120
+ value: category.slug,
121
+ },
122
+ // Добавляем SEO данные если есть.
123
+ ...(category.seo?.keywords
124
+ ? [
125
+ {
126
+ '@type': 'PropertyValue',
127
+ name: 'SEO Keywords',
128
+ value: category.seo.keywords,
129
+ },
130
+ ]
131
+ : []),
132
+ ...(category.seo?.title
133
+ ? [
134
+ {
135
+ '@type': 'PropertyValue',
136
+ name: 'SEO Title',
137
+ value: category.seo.title,
138
+ },
139
+ ]
140
+ : []),
141
+ ],
142
+ };
143
+ }
144
+ /**
145
+ * Нормализует дату окончания цены в формат Schema.org (YYYY-MM-DD).
146
+ *
147
+ * @param expiredAt Дата для нормализации
148
+ */
149
+ // eslint-disable-next-line class-methods-use-this
150
+ normalizePriceValidUntil(expiredAt) {
151
+ if (!expiredAt) {
152
+ return undefined;
153
+ }
154
+ const date = expiredAt.slice(0, 10);
155
+ return /^\d{4}-\d{2}-\d{2}$/.test(date) ? date : undefined;
156
+ }
157
+ /**
158
+ * Определяет доступность товара по данным продукта.
159
+ *
160
+ * @param product Данные о продукте.
161
+ */
162
+ // eslint-disable-next-line class-methods-use-this
163
+ getAvailability(product) {
164
+ if (product.onOrder) {
165
+ return 'PreOrder';
166
+ }
167
+ return product.stockCount?.length ? 'InStock' : 'OutOfStock';
168
+ }
169
+ /**
170
+ * Проверяет, является ли категория виртуальной.
171
+ *
172
+ * @param category Данные о категории для проверки.
173
+ */
174
+ // eslint-disable-next-line class-methods-use-this
175
+ isVirtualCategory(category) {
176
+ return 'childCategories' in category && 'productCategories' in category;
177
+ }
178
+ /**
179
+ * Возвращает URL для указанной категории.
180
+ *
181
+ * @param category Данные о категории
182
+ * @param categoryPath Url путь к категориям товаров. В пути должен присутствовать шаблон ':id', обозначающий идентификатор категории для подстановки.
183
+ */
184
+ getCategoryCanonicalUrl(category, categoryPath) {
185
+ const id = this.isVirtualCategory(category) ? category.slug : this.idOrSlugPipe.transform(category).toString();
186
+ const path = categoryPath.replace(':id', id);
187
+ return `${this.urls.siteUrl}${path}`;
188
+ }
189
+ /**
190
+ * Создаёт элемент списка ItemList с кратким Product для страницы категории.
191
+ *
192
+ * @param product Данные о продукте.
193
+ * @param position Позиция в списке.
194
+ * @param productPath Url путь к товару. В пути должен присутствовать шаблон ':id', обозначающий идентификатор товара для подстановки.
195
+ */
196
+ createProductsListItem(product, position, productPath) {
197
+ const productUrl = `${this.urls.siteUrl}${productPath.replace(':id', this.idOrSlugPipe.transform(product).toString())}`;
198
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
199
+ const image = this.mediaImageTransformerPipe.transform(product?.getImagePreview?.() ?? product.image, true);
200
+ const description = product.seo?.description ?? product.properties?.description;
201
+ const priceValidUntil = this.normalizePriceValidUntil(product.discount?.expiredAt);
202
+ return {
203
+ '@type': 'ListItem',
204
+ position,
205
+ item: {
206
+ '@type': 'Product',
207
+ name: product.name,
208
+ url: productUrl,
209
+ ...(image && { image }),
210
+ ...(description && { description }),
211
+ offers: [
212
+ {
213
+ '@type': 'Offer',
214
+ priceCurrency: 'RUB',
215
+ ...(priceValidUntil && { priceValidUntil }),
216
+ price: product.costRub,
217
+ availability: this.getAvailability(product),
218
+ itemCondition: 'https://schema.org/NewCondition',
219
+ seller: {
220
+ '@type': 'Organization',
221
+ name: this.companyInfo.name,
222
+ },
223
+ url: productUrl,
224
+ },
225
+ ],
226
+ },
227
+ };
228
+ }
229
+ /**
230
+ * Создает mainEntity для указанной категории товаров.
231
+ *
232
+ * @param category Данные о категории.
233
+ * @param products Данные о товарах категории.
234
+ * @param categoryPath Url путь к категориям товаров. В пути должен присутствовать шаблон ':id', обозначающий идентификатор категории для подстановки.
235
+ * @param productPath Url путь к товару. В пути должен присутствовать шаблон ':id', обозначающий идентификатор товара для подстановки.
236
+ */
237
+ createCategoryMainEntity(category, products, categoryPath, productPath) {
238
+ const childCategories = this.isVirtualCategory(category)
239
+ ? [...(category.childCategories ?? []), ...(category.productCategories ?? [])]
240
+ : (category.categories ?? []);
241
+ return {
242
+ '@type': 'ItemList',
243
+ numberOfItems: products.length + childCategories.length,
244
+ itemListOrder: 'https://schema.org/ItemListUnordered',
245
+ itemListElement: [
246
+ // Добавляем подкатегории в начало списка.
247
+ ...childCategories.slice(0, 5).map((subCategory, index) => ({
248
+ '@type': 'ListItem',
249
+ position: index + 1,
250
+ name: subCategory.name,
251
+ url: this.getCategoryCanonicalUrl(subCategory, categoryPath),
252
+ image: this.mediaImageTransformerPipe.transform(subCategory.image, true),
253
+ description: subCategory.seo?.description ?? subCategory.properties?.description,
254
+ })),
255
+ // Добавляем товары после подкатегорий.
256
+ ...products.slice(0, 10).map((product, index) => this.createProductsListItem(product, childCategories.length + index + 1, productPath)),
257
+ ],
258
+ };
259
+ }
260
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SchemaOrgFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
261
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SchemaOrgFactory, providedIn: 'root' }); }
262
+ }
263
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SchemaOrgFactory, decorators: [{
264
+ type: Injectable,
265
+ args: [{
266
+ providedIn: 'root',
267
+ }]
268
+ }] });
269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLW9yZy1mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zZW8vY2xhc3Nlcy9zY2hlbWEtb3JnLWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRy9DOztHQUVHO0FBSUgsTUFBTSxPQUFPLGdCQUFnQjtJQUg3QjtRQUlJOztXQUVHO1FBQ2MsZ0JBQVcsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFdkQ7O1dBRUc7UUFDYyxTQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXhDOztXQUVHO1FBQ0ssaUJBQVksR0FBbUIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTlEOztXQUVHO1FBQ2MsOEJBQXlCLEdBQUcsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUM7S0E4UHBGO0lBNVBHOzs7OztPQUtHO0lBQ0ksc0JBQXNCLENBQUMsT0FBbUIsRUFBRSxXQUFtQjtRQUNsRSxNQUFNLFVBQVUsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUN4SCx1RUFBdUU7UUFDdkUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFNBQVMsQ0FBRSxPQUFxQixFQUFFLGVBQWUsRUFBRSxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDekgsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUM7UUFDcEQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFbkYsT0FBTztZQUNILFVBQVUsRUFBRSxvQkFBb0I7WUFDaEMsT0FBTyxFQUFFLFNBQVM7WUFDbEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUN2QixHQUFHLENBQUMsV0FBVyxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUM7WUFDbkMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2pCLEdBQUcsRUFBRSxVQUFVO1lBQ2YsTUFBTSxFQUFFO2dCQUNKO29CQUNJLE9BQU8sRUFBRSxPQUFPO29CQUNoQixhQUFhLEVBQUUsS0FBSztvQkFDcEIsR0FBRyxDQUFDLGVBQWUsSUFBSSxFQUFFLGVBQWUsRUFBRSxDQUFDO29CQUMzQyxLQUFLLEVBQUUsT0FBTyxDQUFDLE9BQU87b0JBQ3RCLFlBQVksRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQztvQkFDM0MsYUFBYSxFQUFFLGlDQUFpQztvQkFDaEQsTUFBTSxFQUFFO3dCQUNKLE9BQU8sRUFBRSxjQUFjO3dCQUN2QixJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJO3FCQUM5QjtvQkFDRCxHQUFHLEVBQUUsVUFBVTtpQkFDbEI7YUFDSjtTQUNvQixDQUFDO0lBQzlCLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLHVCQUF1QixDQUMxQixRQUEwQyxFQUMxQyxRQUFzQixFQUN0QixZQUFvQixFQUNwQixXQUFtQixFQUNuQixXQUF1QztRQUV2QyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLFdBQVcsSUFBSSxRQUFRLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQztRQUNsRixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFN0UsT0FBTztZQUNILFVBQVUsRUFBRSxvQkFBb0I7WUFDaEMsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixJQUFJLEVBQUUsUUFBUSxDQUFDLEdBQUcsRUFBRSxLQUFLLElBQUksUUFBUSxDQUFDLElBQUk7WUFDMUMsR0FBRyxDQUFDLFdBQVcsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDO1lBQ25DLEdBQUcsRUFBRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQztZQUN6RCxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDdkIsY0FBYztZQUNkLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLFFBQVEsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xFLDZEQUE2RDtZQUM3RCxVQUFVLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFdBQVcsQ0FBQztZQUN4Rix5REFBeUQ7WUFDekQsVUFBVSxFQUFFLFdBQVc7WUFDdkIscUNBQXFDO1lBQ3JDLEtBQUssRUFBRTtnQkFDSCxPQUFPLEVBQUUsY0FBYztnQkFDdkIsU0FBUyxFQUFFLFFBQVEsQ0FBQyxJQUFJO2dCQUN4QixJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUk7Z0JBQ25CLEdBQUcsQ0FBQyxXQUFXLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQzthQUN0QztZQUNELHNCQUFzQjtZQUN0QixRQUFRLEVBQUU7Z0JBQ04sT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUk7Z0JBQzNCLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87YUFDekI7WUFDRCxzQkFBc0I7WUFDdEIsV0FBVyxFQUFFO2dCQUNULEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUU7Z0JBQ3hELEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQzthQUNqSjtZQUNELHNEQUFzRDtZQUN0RCxrQkFBa0IsRUFBRTtnQkFDaEI7b0JBQ0ksT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLElBQUksRUFBRSxvQkFBb0I7b0JBQzFCLHVFQUF1RTtvQkFDdkUsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7aUJBQzVDO2dCQUNEO29CQUNJLE9BQU8sRUFBRSxlQUFlO29CQUN4QixJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUk7aUJBQ3ZCO2dCQUNELGtDQUFrQztnQkFDbEMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsUUFBUTtvQkFDdEIsQ0FBQyxDQUFDO3dCQUNJOzRCQUNJLE9BQU8sRUFBRSxlQUFlOzRCQUN4QixJQUFJLEVBQUUsY0FBYzs0QkFDcEIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUTt5QkFDL0I7cUJBQ0o7b0JBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDVCxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxLQUFLO29CQUNuQixDQUFDLENBQUM7d0JBQ0k7NEJBQ0ksT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLElBQUksRUFBRSxXQUFXOzRCQUNqQixLQUFLLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLO3lCQUM1QjtxQkFDSjtvQkFDSCxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQ1o7U0FDMkIsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGtEQUFrRDtJQUMxQyx3QkFBd0IsQ0FBQyxTQUFrQjtRQUMvQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDYixPQUFPLFNBQVMsQ0FBQztRQUNyQixDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFcEMsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQy9ELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsa0RBQWtEO0lBQzFDLGVBQWUsQ0FBQyxPQUFtQjtRQUN2QyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixPQUFPLFVBQVUsQ0FBQztRQUN0QixDQUFDO1FBRUQsT0FBTyxPQUFPLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7SUFDakUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxrREFBa0Q7SUFDMUMsaUJBQWlCLENBQUMsUUFBMEM7UUFDaEUsT0FBTyxpQkFBaUIsSUFBSSxRQUFRLElBQUksbUJBQW1CLElBQUksUUFBUSxDQUFDO0lBQzVFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLHVCQUF1QixDQUFDLFFBQTBDLEVBQUUsWUFBb0I7UUFDNUYsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMvRyxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUU3QyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLHNCQUFzQixDQUFDLE9BQW1CLEVBQUUsUUFBZ0IsRUFBRSxXQUFtQjtRQUNyRixNQUFNLFVBQVUsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUN4SCx1RUFBdUU7UUFDdkUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFNBQVMsQ0FBRSxPQUFxQixFQUFFLGVBQWUsRUFBRSxFQUFFLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMzSCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLFdBQVcsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQztRQUNoRixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUVuRixPQUFPO1lBQ0gsT0FBTyxFQUFFLFVBQVU7WUFDbkIsUUFBUTtZQUNSLElBQUksRUFBRTtnQkFDRixPQUFPLEVBQUUsU0FBUztnQkFDbEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO2dCQUNsQixHQUFHLEVBQUUsVUFBVTtnQkFDZixHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7Z0JBQ3ZCLEdBQUcsQ0FBQyxXQUFXLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQztnQkFDbkMsTUFBTSxFQUFFO29CQUNKO3dCQUNJLE9BQU8sRUFBRSxPQUFPO3dCQUNoQixhQUFhLEVBQUUsS0FBSzt3QkFDcEIsR0FBRyxDQUFDLGVBQWUsSUFBSSxFQUFFLGVBQWUsRUFBRSxDQUFDO3dCQUMzQyxLQUFLLEVBQUUsT0FBTyxDQUFDLE9BQU87d0JBQ3RCLFlBQVksRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQzt3QkFDM0MsYUFBYSxFQUFFLGlDQUFpQzt3QkFDaEQsTUFBTSxFQUFFOzRCQUNKLE9BQU8sRUFBRSxjQUFjOzRCQUN2QixJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJO3lCQUM5Qjt3QkFDRCxHQUFHLEVBQUUsVUFBVTtxQkFDbEI7aUJBQ0o7YUFDSjtTQUNKLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNLLHdCQUF3QixDQUFDLFFBQTBDLEVBQUUsUUFBc0IsRUFBRSxZQUFvQixFQUFFLFdBQW1CO1FBQzFJLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7WUFDcEQsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFFLFFBQThCLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBRSxRQUE4QixDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzVILENBQUMsQ0FBQyxDQUFFLFFBQXVCLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRWxELE9BQU87WUFDSCxPQUFPLEVBQUUsVUFBVTtZQUNuQixhQUFhLEVBQUUsUUFBUSxDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsTUFBTTtZQUN2RCxhQUFhLEVBQUUsc0NBQXNDO1lBQ3JELGVBQWUsRUFBRTtnQkFDYiwwQ0FBMEM7Z0JBQzFDLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDeEQsT0FBTyxFQUFFLFVBQVU7b0JBQ25CLFFBQVEsRUFBRSxLQUFLLEdBQUcsQ0FBQztvQkFDbkIsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJO29CQUN0QixHQUFHLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUM7b0JBQzVELEtBQUssRUFBRSxJQUFJLENBQUMseUJBQXlCLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDO29CQUN4RSxXQUFXLEVBQUUsV0FBVyxDQUFDLEdBQUcsRUFBRSxXQUFXLElBQUksV0FBVyxDQUFDLFVBQVUsRUFBRSxXQUFXO2lCQUNuRixDQUFDLENBQUM7Z0JBQ0gsdUNBQXVDO2dCQUN2QyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLE1BQU0sR0FBRyxLQUFLLEdBQUcsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO2FBQzFJO1NBQ0osQ0FBQztJQUNOLENBQUM7K0dBaFJRLGdCQUFnQjttSEFBaEIsZ0JBQWdCLGNBRmIsTUFBTTs7NEZBRVQsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29sbGVjdGlvblBhZ2UsIFByb2R1Y3QsIFdpdGhDb250ZXh0IH0gZnJvbSAnc2NoZW1hLWR0cyc7XG5cbmltcG9ydCB7IFNjQ2F0ZWdvcnkgfSBmcm9tICcuLi8uLi9jYXRhbG9nL2R0by9zYy1jYXRlZ29yeSc7XG5pbXBvcnQgeyBTY1Byb2R1Y3QgfSBmcm9tICcuLi8uLi9jYXRhbG9nL2R0by9zYy1wcm9kdWN0JztcbmltcG9ydCB7IFNjVmlydHVhbENhdGVnb3J5IH0gZnJvbSAnLi4vLi4vY2F0YWxvZy9kdG8vc2MtdmlydHVhbC1jYXRlZ29yeSc7XG5pbXBvcnQgeyBTY0lDYXRlZ29yeSB9IGZyb20gJy4uLy4uL2NhdGFsb2cvaW50ZXJmYWNlcy9zYy1pLWNhdGVnb3J5JztcbmltcG9ydCB7IFNjSVByb2R1Y3QgfSBmcm9tICcuLi8uLi9jYXRhbG9nL2ludGVyZmFjZXMvc2MtaS1wcm9kdWN0JztcbmltcG9ydCB7IFNjSVZpcnR1YWxDYXRlZ29yeSB9IGZyb20gJy4uLy4uL2NhdGFsb2cvaW50ZXJmYWNlcy9zYy1pLXZpcnR1YWwtY2F0ZWdvcnknO1xuaW1wb3J0IHsgU2NJZE9yU2x1Z1BpcGUgfSBmcm9tICcuLi8uLi9waXBlcy9zYy1pZC1vci1zbHVnLnBpcGUnO1xuaW1wb3J0IHsgU2NNZWRpYUltYWdlVHJhbnNmb3JtZXJQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvc2MtbWVkaWEtaW1hZ2UtdHJhbnNmb3JtZXIucGlwZSc7XG5pbXBvcnQgeyBTQ19DT01QQU5ZX0lORk8gfSBmcm9tICcuLi8uLi90b2tlbnMvc2MtY29tcGFueS1pbmZvJztcbmltcG9ydCB7IFNDX1VSTFMgfSBmcm9tICcuLi8uLi90b2tlbnMvc2MtdXJscyc7XG5pbXBvcnQgeyBTY0lTY2hlbWFPcmdCcmVhZGNydW1iTGlzdCB9IGZyb20gJy4uL2ludGVyZmFjZXMvc2MtaS1zY2hlbWEtb3JnLWJyZWFkY3J1bWItbGlzdCc7XG5cbi8qKlxuICog0JzQtdGF0LDQvdC40LfQvNGLINCz0LXQvdC10YDQsNGG0LjQuCDRgdGF0LXQvCDQtNCw0L3QvdGL0YUgU2NoZW1hLm9yZy5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2NoZW1hT3JnRmFjdG9yeSB7XG4gICAgLyoqXG4gICAgICog0JTQsNC90L3Ri9C1INC+INC60L7QvNC/0LDQvdC40LguXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21wYW55SW5mbyA9IGluamVjdChTQ19DT01QQU5ZX0lORk8pO1xuXG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INGB0YHRi9C70L7QuiDQv9GA0LjQu9C+0LbQtdC90LjRjy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVybHMgPSBpbmplY3QoU0NfVVJMUyk7XG5cbiAgICAvKipcbiAgICAgKiDQn9Cw0LnQvywg0LLQvtC30LLRgNCw0YnQsNGO0YnQuNC5INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC40LvQuCDRgdC40LzQstC+0LvRjNC90L7QtSDQvtCx0L7Qt9C90LDRh9C10L3QuNC1IChzbHVnKSDQuNGB0YXQvtC00Y8g0LjQtyDQvdCw0YHRgtGA0L7QtdC6INC+0LrRgNGD0LbQtdC90LjRjy5cbiAgICAgKi9cbiAgICBwcml2YXRlIGlkT3JTbHVnUGlwZTogU2NJZE9yU2x1Z1BpcGUgPSBpbmplY3QoU2NJZE9yU2x1Z1BpcGUpO1xuXG4gICAgLyoqXG4gICAgICog0J/QsNC50L8g0LTQu9GPINGE0L7RgNC80LjRgNC+0LLQsNC90LjRjyDQv9C+0LvQvdC+0LPQviBVUkkg0LjQt9C+0LHRgNCw0LbQtdC90LjRjyDQvdCwIG1lZGlhINGB0LXRgNCy0LXRgNC1LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbWVkaWFJbWFnZVRyYW5zZm9ybWVyUGlwZSA9IGluamVjdChTY01lZGlhSW1hZ2VUcmFuc2Zvcm1lclBpcGUpO1xuXG4gICAgLyoqXG4gICAgICog0JPQtdC90LXRgNC40YDRg9C10YIg0Lgg0LLQvtC30LLRgNCw0YnQsNC10YIg0YHRhdC10LzRgyDQtNCw0L3QvdGL0YUg0LTQu9GPINGD0LrQsNC30LDQvdC90L7Qs9C+INC/0YDQvtC00YPQutGC0LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvZHVjdCDQlNCw0L3QvdGL0LUg0L4g0L/RgNC+0LTRg9C60YLQtS5cbiAgICAgKiBAcGFyYW0gcHJvZHVjdFBhdGggVXJsINC/0YPRgtGMINC6INGC0L7QstCw0YDRgy4g0JIg0L/Rg9GC0Lgg0LTQvtC70LbQtdC9INC/0YDQuNGB0YPRgtGB0YLQstC+0LLQsNGC0Ywg0YjQsNCx0LvQvtC9ICc6aWQnLCDQvtCx0L7Qt9C90LDRh9Cw0Y7RidC40Lkg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YLQvtCy0LDRgNCwINC00LvRjyDQv9C+0LTRgdGC0LDQvdC+0LLQutC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZW5lcmF0ZUZvclByb2R1Y3RJdGVtKHByb2R1Y3Q6IFNjSVByb2R1Y3QsIHByb2R1Y3RQYXRoOiBzdHJpbmcpOiBXaXRoQ29udGV4dDxQcm9kdWN0PiB7XG4gICAgICAgIGNvbnN0IHByb2R1Y3RVcmwgPSBgJHt0aGlzLnVybHMuc2l0ZVVybH0ke3Byb2R1Y3RQYXRoLnJlcGxhY2UoJzppZCcsIHRoaXMuaWRPclNsdWdQaXBlLnRyYW5zZm9ybShwcm9kdWN0KS50b1N0cmluZygpKX1gO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWNvbmRpdGlvblxuICAgICAgICBjb25zdCBpbWFnZSA9IHRoaXMubWVkaWFJbWFnZVRyYW5zZm9ybWVyUGlwZS50cmFuc2Zvcm0oKHByb2R1Y3QgYXMgU2NQcm9kdWN0KT8uZ2V0SW1hZ2VQcmV2aWV3KCkgPz8gcHJvZHVjdC5pbWFnZSwgdHJ1ZSk7XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gcHJvZHVjdC5wcm9wZXJ0aWVzPy5kZXNjcmlwdGlvbjtcbiAgICAgICAgY29uc3QgcHJpY2VWYWxpZFVudGlsID0gdGhpcy5ub3JtYWxpemVQcmljZVZhbGlkVW50aWwocHJvZHVjdC5kaXNjb3VudD8uZXhwaXJlZEF0KTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgJ0Bjb250ZXh0JzogJ2h0dHBzOi8vc2NoZW1hLm9yZycsXG4gICAgICAgICAgICAnQHR5cGUnOiAnUHJvZHVjdCcsXG4gICAgICAgICAgICBuYW1lOiBwcm9kdWN0Lm5hbWUsXG4gICAgICAgICAgICAuLi4oaW1hZ2UgJiYgeyBpbWFnZSB9KSxcbiAgICAgICAgICAgIC4uLihkZXNjcmlwdGlvbiAmJiB7IGRlc2NyaXB0aW9uIH0pLFxuICAgICAgICAgICAgbXBuOiBwcm9kdWN0LmNvZGUsXG4gICAgICAgICAgICB1cmw6IHByb2R1Y3RVcmwsXG4gICAgICAgICAgICBvZmZlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICdAdHlwZSc6ICdPZmZlcicsXG4gICAgICAgICAgICAgICAgICAgIHByaWNlQ3VycmVuY3k6ICdSVUInLFxuICAgICAgICAgICAgICAgICAgICAuLi4ocHJpY2VWYWxpZFVudGlsICYmIHsgcHJpY2VWYWxpZFVudGlsIH0pLFxuICAgICAgICAgICAgICAgICAgICBwcmljZTogcHJvZHVjdC5jb3N0UnViLFxuICAgICAgICAgICAgICAgICAgICBhdmFpbGFiaWxpdHk6IHRoaXMuZ2V0QXZhaWxhYmlsaXR5KHByb2R1Y3QpLFxuICAgICAgICAgICAgICAgICAgICBpdGVtQ29uZGl0aW9uOiAnaHR0cHM6Ly9zY2hlbWEub3JnL05ld0NvbmRpdGlvbicsXG4gICAgICAgICAgICAgICAgICAgIHNlbGxlcjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0B0eXBlJzogJ09yZ2FuaXphdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiB0aGlzLmNvbXBhbnlJbmZvLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHVybDogcHJvZHVjdFVybCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSBhcyBXaXRoQ29udGV4dDxQcm9kdWN0PjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQk9C10L3QtdGA0LjRgNGD0LXRgiDQuCDQstC+0LfQstGA0LDRidCw0LXRgiDRgdGF0LXQvNGDINC00LDQvdC90YvRhSDQtNC70Y8g0YPQutCw0LfQsNC90L3QvtCz0L4g0L/RgNC+0LTRg9C60YLQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjYXRlZ29yeSDQlNCw0L3QvdGL0LUg0L4g0LrQsNGC0LXQs9C+0YDQuNC4LlxuICAgICAqIEBwYXJhbSBwcm9kdWN0cyDQlNCw0L3QvdGL0LUg0L4g0L/RgNC+0LTRg9C60YLQsNGFINC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKiBAcGFyYW0gY2F0ZWdvcnlQYXRoIFVybCDQv9GD0YLRjCDQuiDQutCw0YLQtdCz0L7RgNC40Y/QvCDRgtC+0LLQsNGA0L7Qsi4g0JIg0L/Rg9GC0Lgg0LTQvtC70LbQtdC9INC/0YDQuNGB0YPRgtGB0YLQstC+0LLQsNGC0Ywg0YjQsNCx0LvQvtC9ICc6aWQnLCDQvtCx0L7Qt9C90LDRh9Cw0Y7RidC40Lkg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LrQsNGC0LXQs9C+0YDQuNC4INC00LvRjyDQv9C+0LTRgdGC0LDQvdC+0LLQutC4LlxuICAgICAqIEBwYXJhbSBwcm9kdWN0UGF0aCBVcmwg0L/Rg9GC0Ywg0Log0YLQvtCy0LDRgNGDLiDQkiDQv9GD0YLQuCDQtNC+0LvQttC10L0g0L/RgNC40YHRg9GC0YHRgtCy0L7QstCw0YLRjCDRiNCw0LHQu9C+0L0gJzppZCcsINC+0LHQvtC30L3QsNGH0LDRjtGJ0LjQuSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgtC+0LLQsNGA0LAg0LTQu9GPINC/0L7QtNGB0YLQsNC90L7QstC60LguXG4gICAgICogQHBhcmFtIGJyZWFkY3J1bWJzINCU0LDQvdC90YvQtSDQviDRhdC70LXQsdC90YvRhSDQutGA0L7RiNC60LDRhSDQtNC70Y8g0LrQsNGC0LXQs9C+0YDQuNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZW5lcmF0ZUZvckNhdGVnb3J5SXRlbShcbiAgICAgICAgY2F0ZWdvcnk6IFNjSUNhdGVnb3J5IHwgU2NJVmlydHVhbENhdGVnb3J5LFxuICAgICAgICBwcm9kdWN0czogU2NJUHJvZHVjdFtdLFxuICAgICAgICBjYXRlZ29yeVBhdGg6IHN0cmluZyxcbiAgICAgICAgcHJvZHVjdFBhdGg6IHN0cmluZyxcbiAgICAgICAgYnJlYWRjcnVtYnM6IFNjSVNjaGVtYU9yZ0JyZWFkY3J1bWJMaXN0XG4gICAgKTogV2l0aENvbnRleHQ8Q29sbGVjdGlvblBhZ2U+IHtcbiAgICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSBjYXRlZ29yeS5zZW8/LmRlc2NyaXB0aW9uID8/IGNhdGVnb3J5LnByb3BlcnRpZXM/LmRlc2NyaXB0aW9uO1xuICAgICAgICBjb25zdCBpbWFnZSA9IHRoaXMubWVkaWFJbWFnZVRyYW5zZm9ybWVyUGlwZS50cmFuc2Zvcm0oY2F0ZWdvcnkuaW1hZ2UsIHRydWUpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAnQGNvbnRleHQnOiAnaHR0cHM6Ly9zY2hlbWEub3JnJyxcbiAgICAgICAgICAgICdAdHlwZSc6ICdDb2xsZWN0aW9uUGFnZScsXG4gICAgICAgICAgICBuYW1lOiBjYXRlZ29yeS5zZW8/LnRpdGxlID8/IGNhdGVnb3J5Lm5hbWUsXG4gICAgICAgICAgICAuLi4oZGVzY3JpcHRpb24gJiYgeyBkZXNjcmlwdGlvbiB9KSxcbiAgICAgICAgICAgIHVybDogdGhpcy5nZXRDYXRlZ29yeUNhbm9uaWNhbFVybChjYXRlZ29yeSwgY2F0ZWdvcnlQYXRoKSxcbiAgICAgICAgICAgIC4uLihpbWFnZSAmJiB7IGltYWdlIH0pLFxuICAgICAgICAgICAgLy8gU0VPINC00LDQvdC90YvQtS5cbiAgICAgICAgICAgIC4uLihjYXRlZ29yeS5zZW8/LmtleXdvcmRzICYmIHsga2V5d29yZHM6IGNhdGVnb3J5LnNlby5rZXl3b3JkcyB9KSxcbiAgICAgICAgICAgIC8vINCe0YHQvdC+0LLQvdC+0Lkg0LrQvtC90YLQtdC90YIg0YHRgtGA0LDQvdC40YbRiyAtINGB0L/QuNGB0L7QuiDRgtC+0LLQsNGA0L7QsiDQuCDQv9C+0LTQutCw0YLQtdCz0L7RgNC40LkuXG4gICAgICAgICAgICBtYWluRW50aXR5OiB0aGlzLmNyZWF0ZUNhdGVnb3J5TWFpbkVudGl0eShjYXRlZ29yeSwgcHJvZHVjdHMsIGNhdGVnb3J5UGF0aCwgcHJvZHVjdFBhdGgpLFxuICAgICAgICAgICAgLy8g0J3QsNCy0LjQs9Cw0YbQuNC+0L3QvdGL0LUg0YXQu9C10LHQvdGL0LUg0LrRgNC+0YjQutC4IChTY2hlbWEub3JnOiBicmVhZGNydW1iKS5cbiAgICAgICAgICAgIGJyZWFkY3J1bWI6IGJyZWFkY3J1bWJzLFxuICAgICAgICAgICAgLy8g0JTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvQtSDQvNC10YLQsNC00LDQvdC90YvQtSDQtNC70Y8gU0VPLlxuICAgICAgICAgICAgYWJvdXQ6IHtcbiAgICAgICAgICAgICAgICAnQHR5cGUnOiAnQ2F0ZWdvcnlDb2RlJyxcbiAgICAgICAgICAgICAgICBjb2RlVmFsdWU6IGNhdGVnb3J5LnNsdWcsXG4gICAgICAgICAgICAgICAgbmFtZTogY2F0ZWdvcnkubmFtZSxcbiAgICAgICAgICAgICAgICAuLi4oZGVzY3JpcHRpb24gJiYgeyBkZXNjcmlwdGlvbiB9KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAvLyDQmNC90YTQvtGA0LzQsNGG0LjRjyDQviDRgdCw0LnRgtC1LlxuICAgICAgICAgICAgaXNQYXJ0T2Y6IHtcbiAgICAgICAgICAgICAgICAnQHR5cGUnOiAnV2ViU2l0ZScsXG4gICAgICAgICAgICAgICAgbmFtZTogdGhpcy5jb21wYW55SW5mby5uYW1lLFxuICAgICAgICAgICAgICAgIHVybDogdGhpcy51cmxzLnNpdGVVcmwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLy8g0KHQstGP0LfQsNC90L3Ri9C1INGB0YLRgNCw0L3QuNGG0YsuXG4gICAgICAgICAgICByZWxhdGVkTGluazogW1xuICAgICAgICAgICAgICAgIGAke3RoaXMudXJscy5zaXRlVXJsfSR7Y2F0ZWdvcnlQYXRoLnJlcGxhY2UoJzppZCcsICcnKX1gLFxuICAgICAgICAgICAgICAgIC4uLih0aGlzLmlzVmlydHVhbENhdGVnb3J5KGNhdGVnb3J5KSB8fCAhY2F0ZWdvcnkucGFyZW50Q2F0ZWdvcnkgPyBbXSA6IFt0aGlzLmdldENhdGVnb3J5Q2Fub25pY2FsVXJsKGNhdGVnb3J5LnBhcmVudENhdGVnb3J5LCBjYXRlZ29yeVBhdGgpXSksXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgLy8g0JTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvQtSDRgdCy0L7QudGB0YLQstCwINC60LDRgtC10LPQvtGA0LjQuCAo0L3QtSDQuNC30L7QsdGA0LDQttC10L3QuNGPKS5cbiAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0eTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgJ0B0eXBlJzogJ1Byb3BlcnR5VmFsdWUnLFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiAn0JrQvtC70LjRh9C10YHRgtCy0L4g0YLQvtCy0LDRgNC+0LInLFxuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWNvbmRpdGlvblxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogKHByb2R1Y3RzPy5sZW5ndGggPz8gMCkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgJ0B0eXBlJzogJ1Byb3BlcnR5VmFsdWUnLFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnU2x1ZyDQutCw0YLQtdCz0L7RgNC40LgnLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogY2F0ZWdvcnkuc2x1ZyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIC8vINCU0L7QsdCw0LLQu9GP0LXQvCBTRU8g0LTQsNC90L3Ri9C1INC10YHQu9C4INC10YHRgtGMLlxuICAgICAgICAgICAgICAgIC4uLihjYXRlZ29yeS5zZW8/LmtleXdvcmRzXG4gICAgICAgICAgICAgICAgICAgID8gW1xuICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQHR5cGUnOiAnUHJvcGVydHlWYWx1ZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnU0VPIEtleXdvcmRzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBjYXRlZ29yeS5zZW8ua2V5d29yZHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICA6IFtdKSxcbiAgICAgICAgICAgICAgICAuLi4oY2F0ZWdvcnkuc2VvPy50aXRsZVxuICAgICAgICAgICAgICAgICAgICA/IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0B0eXBlJzogJ1Byb3BlcnR5VmFsdWUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ1NFTyBUaXRsZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogY2F0ZWdvcnkuc2VvLnRpdGxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgOiBbXSksXG4gICAgICAgICAgICBdLFxuICAgICAgICB9IGFzIFdpdGhDb250ZXh0PENvbGxlY3Rpb25QYWdlPjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQndC+0YDQvNCw0LvQuNC30YPQtdGCINC00LDRgtGDINC+0LrQvtC90YfQsNC90LjRjyDRhtC10L3RiyDQsiDRhNC+0YDQvNCw0YIgU2NoZW1hLm9yZyAoWVlZWS1NTS1ERCkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZXhwaXJlZEF0INCU0LDRgtCwINC00LvRjyDQvdC+0YDQvNCw0LvQuNC30LDRhtC40LhcbiAgICAgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2xhc3MtbWV0aG9kcy11c2UtdGhpc1xuICAgIHByaXZhdGUgbm9ybWFsaXplUHJpY2VWYWxpZFVudGlsKGV4cGlyZWRBdD86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICghZXhwaXJlZEF0KSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGF0ZSA9IGV4cGlyZWRBdC5zbGljZSgwLCAxMCk7XG5cbiAgICAgICAgcmV0dXJuIC9eXFxkezR9LVxcZHsyfS1cXGR7Mn0kLy50ZXN0KGRhdGUpID8gZGF0ZSA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntC/0YDQtdC00LXQu9GP0LXRgiDQtNC+0YHRgtGD0L/QvdC+0YHRgtGMINGC0L7QstCw0YDQsCDQv9C+INC00LDQvdC90YvQvCDQv9GA0L7QtNGD0LrRgtCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2R1Y3Qg0JTQsNC90L3Ri9C1INC+INC/0YDQvtC00YPQutGC0LUuXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNsYXNzLW1ldGhvZHMtdXNlLXRoaXNcbiAgICBwcml2YXRlIGdldEF2YWlsYWJpbGl0eShwcm9kdWN0OiBTY0lQcm9kdWN0KTogJ0luU3RvY2snIHwgJ091dE9mU3RvY2snIHwgJ1ByZU9yZGVyJyB7XG4gICAgICAgIGlmIChwcm9kdWN0Lm9uT3JkZXIpIHtcbiAgICAgICAgICAgIHJldHVybiAnUHJlT3JkZXInO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHByb2R1Y3Quc3RvY2tDb3VudD8ubGVuZ3RoID8gJ0luU3RvY2snIDogJ091dE9mU3RvY2snO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCf0YDQvtCy0LXRgNGP0LXRgiwg0Y/QstC70Y/QtdGC0YHRjyDQu9C4INC60LDRgtC10LPQvtGA0LjRjyDQstC40YDRgtGD0LDQu9GM0L3QvtC5LlxuICAgICAqXG4gICAgICogQHBhcmFtIGNhdGVnb3J5INCU0LDQvdC90YvQtSDQviDQutCw0YLQtdCz0L7RgNC40Lgg0LTQu9GPINC/0YDQvtCy0LXRgNC60LguXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNsYXNzLW1ldGhvZHMtdXNlLXRoaXNcbiAgICBwcml2YXRlIGlzVmlydHVhbENhdGVnb3J5KGNhdGVnb3J5OiBTY0lDYXRlZ29yeSB8IFNjSVZpcnR1YWxDYXRlZ29yeSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gJ2NoaWxkQ2F0ZWdvcmllcycgaW4gY2F0ZWdvcnkgJiYgJ3Byb2R1Y3RDYXRlZ29yaWVzJyBpbiBjYXRlZ29yeTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiBVUkwg0LTQu9GPINGD0LrQsNC30LDQvdC90L7QuSDQutCw0YLQtdCz0L7RgNC40LguXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2F0ZWdvcnkg0JTQsNC90L3Ri9C1INC+INC60LDRgtC10LPQvtGA0LjQuFxuICAgICAqIEBwYXJhbSBjYXRlZ29yeVBhdGggVXJsINC/0YPRgtGMINC6INC60LDRgtC10LPQvtGA0LjRj9C8INGC0L7QstCw0YDQvtCyLiDQkiDQv9GD0YLQuCDQtNC+0LvQttC10L0g0L/RgNC40YHRg9GC0YHRgtCy0L7QstCw0YLRjCDRiNCw0LHQu9C+0L0gJzppZCcsINC+0LHQvtC30L3QsNGH0LDRjtGJ0LjQuSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQutCw0YLQtdCz0L7RgNC40Lgg0LTQu9GPINC/0L7QtNGB0YLQsNC90L7QstC60LguXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRDYXRlZ29yeUNhbm9uaWNhbFVybChjYXRlZ29yeTogU2NJQ2F0ZWdvcnkgfCBTY0lWaXJ0dWFsQ2F0ZWdvcnksIGNhdGVnb3J5UGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgaWQgPSB0aGlzLmlzVmlydHVhbENhdGVnb3J5KGNhdGVnb3J5KSA/IGNhdGVnb3J5LnNsdWcgOiB0aGlzLmlkT3JTbHVnUGlwZS50cmFuc2Zvcm0oY2F0ZWdvcnkpLnRvU3RyaW5nKCk7XG4gICAgICAgIGNvbnN0IHBhdGggPSBjYXRlZ29yeVBhdGgucmVwbGFjZSgnOmlkJywgaWQpO1xuXG4gICAgICAgIHJldHVybiBgJHt0aGlzLnVybHMuc2l0ZVVybH0ke3BhdGh9YDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0ZHRgiDRjdC70LXQvNC10L3RgiDRgdC/0LjRgdC60LAgSXRlbUxpc3Qg0YEg0LrRgNCw0YLQutC40LwgUHJvZHVjdCDQtNC70Y8g0YHRgtGA0LDQvdC40YbRiyDQutCw0YLQtdCz0L7RgNC40LguXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvZHVjdCDQlNCw0L3QvdGL0LUg0L4g0L/RgNC+0LTRg9C60YLQtS5cbiAgICAgKiBAcGFyYW0gcG9zaXRpb24g0J/QvtC30LjRhtC40Y8g0LIg0YHQv9C40YHQutC1LlxuICAgICAqIEBwYXJhbSBwcm9kdWN0UGF0aCBVcmwg0L/Rg9GC0Ywg0Log0YLQvtCy0LDRgNGDLiDQkiDQv9GD0YLQuCDQtNC+0LvQttC10L0g0L/RgNC40YHRg9GC0YHRgtCy0L7QstCw0YLRjCDRiNCw0LHQu9C+0L0gJzppZCcsINC+0LHQvtC30L3QsNGH0LDRjtGJ0LjQuSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgtC+0LLQsNGA0LAg0LTQu9GPINC/0L7QtNGB0YLQsNC90L7QstC60LguXG4gICAgICovXG4gICAgcHJpdmF0ZSBjcmVhdGVQcm9kdWN0c0xpc3RJdGVtKHByb2R1Y3Q6IFNjSVByb2R1Y3QsIHBvc2l0aW9uOiBudW1iZXIsIHByb2R1Y3RQYXRoOiBzdHJpbmcpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCBwcm9kdWN0VXJsID0gYCR7dGhpcy51cmxzLnNpdGVVcmx9JHtwcm9kdWN0UGF0aC5yZXBsYWNlKCc6aWQnLCB0aGlzLmlkT3JTbHVnUGlwZS50cmFuc2Zvcm0ocHJvZHVjdCkudG9TdHJpbmcoKSl9YDtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1jb25kaXRpb25cbiAgICAgICAgY29uc3QgaW1hZ2UgPSB0aGlzLm1lZGlhSW1hZ2VUcmFuc2Zvcm1lclBpcGUudHJhbnNmb3JtKChwcm9kdWN0IGFzIFNjUHJvZHVjdCk/LmdldEltYWdlUHJldmlldz8uKCkgPz8gcHJvZHVjdC5pbWFnZSwgdHJ1ZSk7XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gcHJvZHVjdC5zZW8/LmRlc2NyaXB0aW9uID8/IHByb2R1Y3QucHJvcGVydGllcz8uZGVzY3JpcHRpb247XG4gICAgICAgIGNvbnN0IHByaWNlVmFsaWRVbnRpbCA9IHRoaXMubm9ybWFsaXplUHJpY2VWYWxpZFVudGlsKHByb2R1Y3QuZGlzY291bnQ/LmV4cGlyZWRBdCk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICdAdHlwZSc6ICdMaXN0SXRlbScsXG4gICAgICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgICAgIGl0ZW06IHtcbiAgICAgICAgICAgICAgICAnQHR5cGUnOiAnUHJvZHVjdCcsXG4gICAgICAgICAgICAgICAgbmFtZTogcHJvZHVjdC5uYW1lLFxuICAgICAgICAgICAgICAgIHVybDogcHJvZHVjdFVybCxcbiAgICAgICAgICAgICAgICAuLi4oaW1hZ2UgJiYgeyBpbWFnZSB9KSxcbiAgICAgICAgICAgICAgICAuLi4oZGVzY3JpcHRpb24gJiYgeyBkZXNjcmlwdGlvbiB9KSxcbiAgICAgICAgICAgICAgICBvZmZlcnM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0B0eXBlJzogJ09mZmVyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByaWNlQ3VycmVuY3k6ICdSVUInLFxuICAgICAgICAgICAgICAgICAgICAgICAgLi4uKHByaWNlVmFsaWRVbnRpbCAmJiB7IHByaWNlVmFsaWRVbnRpbCB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByaWNlOiBwcm9kdWN0LmNvc3RSdWIsXG4gICAgICAgICAgICAgICAgICAgICAgICBhdmFpbGFiaWxpdHk6IHRoaXMuZ2V0QXZhaWxhYmlsaXR5KHByb2R1Y3QpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbUNvbmRpdGlvbjogJ2h0dHBzOi8vc2NoZW1hLm9yZy9OZXdDb25kaXRpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsbGVyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0B0eXBlJzogJ09yZ2FuaXphdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogdGhpcy5jb21wYW55SW5mby5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogcHJvZHVjdFVybCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0LXRgiBtYWluRW50aXR5INC00LvRjyDRg9C60LDQt9Cw0L3QvdC+0Lkg0LrQsNGC0LXQs9C+0YDQuNC4INGC0L7QstCw0YDQvtCyLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNhdGVnb3J5INCU0LDQvdC90YvQtSDQviDQutCw0YLQtdCz0L7RgNC40LguXG4gICAgICogQHBhcmFtIHByb2R1Y3RzINCU0LDQvdC90YvQtSDQviDRgtC+0LLQsNGA0LDRhSDQutCw0YLQtdCz0L7RgNC40LguXG4gICAgICogQHBhcmFtIGNhdGVnb3J5UGF0aCBVcmwg0L/Rg9GC0Ywg0Log0LrQsNGC0LXQs9C+0YDQuNGP0Lwg0YLQvtCy0LDRgNC+0LIuINCSINC/0YPRgtC4INC00L7Qu9C20LXQvSDQv9GA0LjRgdGD0YLRgdGC0LLQvtCy0LDRgtGMINGI0LDQsdC70L7QvSAnOmlkJywg0L7QsdC+0LfQvdCw0YfQsNGO0YnQuNC5INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC60LDRgtC10LPQvtGA0LjQuCDQtNC70Y8g0L/QvtC00YHRgtCw0L3QvtCy0LrQuC5cbiAgICAgKiBAcGFyYW0gcHJvZHVjdFBhdGggVXJsINC/0YPRgtGMINC6INGC0L7QstCw0YDRgy4g0JIg0L/Rg9GC0Lgg0LTQvtC70LbQtdC9INC/0YDQuNGB0YPRgtGB0YLQstC+0LLQsNGC0Ywg0YjQsNCx0LvQvtC9ICc6aWQnLCDQvtCx0L7Qt9C90LDRh9Cw0Y7RidC40Lkg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YLQvtCy0LDRgNCwINC00LvRjyDQv9C+0LTRgdGC0LDQvdC+0LLQutC4LlxuICAgICAqL1xuICAgIHByaXZhdGUgY3JlYXRlQ2F0ZWdvcnlNYWluRW50aXR5KGNhdGVnb3J5OiBTY0lDYXRlZ29yeSB8IFNjSVZpcnR1YWxDYXRlZ29yeSwgcHJvZHVjdHM6IFNjSVByb2R1Y3RbXSwgY2F0ZWdvcnlQYXRoOiBzdHJpbmcsIHByb2R1Y3RQYXRoOiBzdHJpbmcpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCBjaGlsZENhdGVnb3JpZXMgPSB0aGlzLmlzVmlydHVhbENhdGVnb3J5KGNhdGVnb3J5KVxuICAgICAgICAgICAgPyBbLi4uKChjYXRlZ29yeSBhcyBTY1ZpcnR1YWxDYXRlZ29yeSkuY2hpbGRDYXRlZ29yaWVzID8/IFtdKSwgLi4uKChjYXRlZ29yeSBhcyBTY1ZpcnR1YWxDYXRlZ29yeSkucHJvZHVjdENhdGVnb3JpZXMgPz8gW10pXVxuICAgICAgICAgICAgOiAoKGNhdGVnb3J5IGFzIFNjQ2F0ZWdvcnkpLmNhdGVnb3JpZXMgPz8gW10pO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAnQHR5cGUnOiAnSXRlbUxpc3QnLFxuICAgICAgICAgICAgbnVtYmVyT2ZJdGVtczogcHJvZHVjdHMubGVuZ3RoICsgY2hpbGRDYXRlZ29yaWVzLmxlbmd0aCxcbiAgICAgICAgICAgIGl0ZW1MaXN0T3JkZXI6ICdodHRwczovL3NjaGVtYS5vcmcvSXRlbUxpc3RVbm9yZGVyZWQnLFxuICAgICAgICAgICAgaXRlbUxpc3RFbGVtZW50OiBbXG4gICAgICAgICAgICAgICAgLy8g0JTQvtCx0LDQstC70Y/QtdC8INC/0L7QtNC60LDRgtC10LPQvtGA0LjQuCDQsiDQvdCw0YfQsNC70L4g0YHQv9C40YHQutCwLlxuICAgICAgICAgICAgICAgIC4uLmNoaWxkQ2F0ZWdvcmllcy5zbGljZSgwLCA1KS5tYXAoKHN1YkNhdGVnb3J5LCBpbmRleCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgJ0B0eXBlJzogJ0xpc3RJdGVtJyxcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGluZGV4ICsgMSxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogc3ViQ2F0ZWdvcnkubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiB0aGlzLmdldENhdGVnb3J5Q2Fub25pY2FsVXJsKHN1YkNhdGVnb3J5LCBjYXRlZ29yeVBhdGgpLFxuICAgICAgICAgICAgICAgICAgICBpbWFnZTogdGhpcy5tZWRpYUltYWdlVHJhbnNmb3JtZXJQaXBlLnRyYW5zZm9ybShzdWJDYXRlZ29yeS5pbWFnZSwgdHJ1ZSksXG4gICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBzdWJDYXRlZ29yeS5zZW8/LmRlc2NyaXB0aW9uID8/IHN1YkNhdGVnb3J5LnByb3BlcnRpZXM/LmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgICAvLyDQlNC+0LHQsNCy0LvRj9C10Lwg0YLQvtCy0LDRgNGLINC/0L7RgdC70LUg0L/QvtC00LrQsNGC0LXQs9C+0YDQuNC5LlxuICAgICAgICAgICAgICAgIC4uLnByb2R1Y3RzLnNsaWNlKDAsIDEwKS5tYXAoKHByb2R1Y3QsIGluZGV4KSA9PiB0aGlzLmNyZWF0ZVByb2R1Y3RzTGlzdEl0ZW0ocHJvZHVjdCwgY2hpbGRDYXRlZ29yaWVzLmxlbmd0aCArIGluZGV4ICsgMSwgcHJvZHVjdFBhdGgpKSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
@@ -0,0 +1,5 @@
1
+ export * from './interfaces';
2
+ export * from './classes';
3
+ export * from './services';
4
+ export * from './types';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3Nlby9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2NsYXNzZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from './sc-i-schema-org-breadcrumb-list';
2
+ export * from './sc-i-default-page-meta';
3
+ export * from './sc-i-seo';
4
+ export * from './sc-i-seo-resource';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3Nlby9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zYy1pLXNjaGVtYS1vcmctYnJlYWRjcnVtYi1saXN0JztcbmV4cG9ydCAqIGZyb20gJy4vc2MtaS1kZWZhdWx0LXBhZ2UtbWV0YSc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWktc2VvJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtaS1zZW8tcmVzb3VyY2UnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1kZWZhdWx0LXBhZ2UtbWV0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc2VvL2ludGVyZmFjZXMvc2MtaS1kZWZhdWx0LXBhZ2UtbWV0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiDQnNC10YLQsNC00LDQvdC90YvQtSDRgdGC0YDQsNC90LjRhtGLINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjSURlZmF1bHRQYWdlTWV0YSB7XG4gICAgLyoqXG4gICAgICog0JfQsNCz0L7Qu9C+0LLQvtC6LlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHRpdGxlOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQntC/0LjRgdCw0L3QuNC1LlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQmtC70Y7Rh9C10LLRi9C1INGB0LvQvtCy0LAuXG4gICAgICovXG4gICAgcmVhZG9ubHkga2V5d29yZHM6IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1zY2hlbWEtb3JnLWJyZWFkY3J1bWItbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc2VvL2ludGVyZmFjZXMvc2MtaS1zY2hlbWEtb3JnLWJyZWFkY3J1bWItbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiDQmNC90YLQtdGA0YTQtdC50YEg0LTQu9GPINGB0YLRgNGD0LrRgtGD0YDQuNGA0L7QstCw0L3QvdGL0YUg0LTQsNC90L3Ri9GFINGF0LvQtdCx0L3Ri9GFINC60YDQvtGI0LXQuiDRgdC+0LPQu9Cw0YHQvdC+IFNjaGVtYS5vcmcuXG4gKlxuICogQHNlZSBodHRwczovL3NjaGVtYS5vcmcvQnJlYWRjcnVtYkxpc3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTY0lTY2hlbWFPcmdCcmVhZGNydW1iTGlzdCB7XG4gICAgLyoqXG4gICAgICog0KLQuNC/INGB0YXQtdC80YsgU2NoZW1hLm9yZyDQtNC70Y8g0YXQu9C10LHQvdGL0YUg0LrRgNC+0YjQtdC6LlxuICAgICAqL1xuICAgICdAdHlwZSc6ICdCcmVhZGNydW1iTGlzdCc7XG5cbiAgICAvKipcbiAgICAgKiDQodC/0LjRgdC+0Log0Y3Qu9C10LzQtdC90YLQvtCyINC90LDQstC40LPQsNGG0LjQuCAo0YXQu9C10LHQvdGL0YUg0LrRgNC+0YjQtdC6KS5cbiAgICAgKiDQmtCw0LbQtNGL0Lkg0Y3Qu9C10LzQtdC90YIg0L/RgNC10LTRgdGC0LDQstC70Y/QtdGCINC+0LTQuNC9INGD0YDQvtCy0LXQvdGMINC90LDQstC40LPQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBpdGVtTGlzdEVsZW1lbnQ6IEFycmF5PHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqINCi0LjQvyDRjdC70LXQvNC10L3RgtCwINGB0L/QuNGB0LrQsCDRgdC+0LPQu9Cw0YHQvdC+IFNjaGVtYS5vcmcuXG4gICAgICAgICAqL1xuICAgICAgICAnQHR5cGUnOiAnTGlzdEl0ZW0nO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiDQn9C+0LfQuNGG0LjRjyDRjdC70LXQvNC10L3RgtCwINCyINGB0L/QuNGB0LrQtSDQvdCw0LLQuNCz0LDRhtC40LggKNC90LDRh9C40L3QsNGPINGBIDEpLlxuICAgICAgICAgKi9cbiAgICAgICAgcG9zaXRpb246IG51bWJlcjtcblxuICAgICAgICAvKipcbiAgICAgICAgICog0J7RgtC+0LHRgNCw0LbQsNC10LzQvtC1INC90LDQt9Cy0LDQvdC40LUg0Y3Qu9C10LzQtdC90YLQsCDQvdCw0LLQuNCz0LDRhtC40LguXG4gICAgICAgICAqL1xuICAgICAgICBuYW1lOiBzdHJpbmc7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFVSTC3QsNC00YDQtdGBINGB0YLRgNCw0L3QuNGG0YsgKNC+0L/RhtC40L7QvdCw0LvRjNC90L4pLlxuICAgICAgICAgKiDQldGB0LvQuCDQvdC1INGD0LrQsNC30LDQvSwg0Y3Qu9C10LzQtdC90YIg0YHRh9C40YLQsNC10YLRgdGPINC90LXQsNC60YLQuNCy0L3Ri9C8LlxuICAgICAgICAgKi9cbiAgICAgICAgaXRlbT86IHN0cmluZztcbiAgICB9Pjtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1zZW8tcmVzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3Nlby9pbnRlcmZhY2VzL3NjLWktc2VvLXJlc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY0lTZW8gfSBmcm9tICcuL3NjLWktc2VvJztcblxuLyoqXG4gKiDQlNCw0L3QvdGL0LUg0L7QsdGK0LXQutGC0LAg0LjQvNC10Y7RidC10LPQviBzZW8t0LTQsNC90L3Ri9C1LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjSVNlb1Jlc291cmNlIHtcbiAgICAvKipcbiAgICAgKiBTZW8t0LTQsNC90L3Ri9C1LlxuICAgICAqL1xuICAgIHNlbz86IFNjSVNlbztcblxuICAgIC8qKlxuICAgICAqINCh0YHRi9C70LrQsCDQvdCwINC+0YHQvdC+0LLQvdC+0LUg0LjQt9C+0LHRgNCw0LbQtdC90LjQtS5cbiAgICAgKi9cbiAgICBpbWFnZT86IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1zZW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3Nlby9pbnRlcmZhY2VzL3NjLWktc2VvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY0lEZWZhdWx0UGFnZU1ldGEgfSBmcm9tICcuL3NjLWktZGVmYXVsdC1wYWdlLW1ldGEnO1xuXG4vKipcbiAqIFNlby3QtNCw0L3QvdGL0LUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NJU2VvIGV4dGVuZHMgUGFydGlhbDxTY0lEZWZhdWx0UGFnZU1ldGE+IHtcbiAgICAvKipcbiAgICAgKiDQnNCw0YHRgdC40LIg0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvRhSDQt9C90LDRh9C10L3QuNC5INC80LXRgtCw0YLQtdCz0L7Qsi5cbiAgICAgKi9cbiAgICBtZXRhPzogQXJyYXk8e1xuICAgICAgICAvKipcbiAgICAgICAgICog0J3QsNC40LzQtdC90L7QstCw0L3QuNC1INC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdC+0LPQviDQvNC10YLQsNGC0LXQs9CwLlxuICAgICAgICAgKi9cbiAgICAgICAgbmFtZTogc3RyaW5nO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiDQl9C90LDRh9C10L3QuNC1INC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdC+0LPQviDQvNC10YLQsNGC0LXQs9CwLlxuICAgICAgICAgKi9cbiAgICAgICAgY29udGVudDogc3RyaW5nO1xuICAgIH0+O1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './sc-seo.service';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3Nlby9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zYy1zZW8uc2VydmljZSc7XG4iXX0=