@sabstravtech/obtservices 0.0.0 → 0.0.2

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 (904) hide show
  1. package/dist/obtservices/angular/components/basket-panel.d.ts +34 -0
  2. package/dist/obtservices/angular/components/with-component.d.ts +12 -0
  3. package/dist/obtservices/angular/data.d.ts +5530 -0
  4. package/dist/obtservices/angular/fetchers.d.ts +32 -0
  5. package/dist/obtservices/angular/lib/vendor/classes/environment.d.ts +3 -0
  6. package/dist/obtservices/angular/lib/vendor/classes/event-messenager.d.ts +4 -0
  7. package/dist/obtservices/angular/lib/vendor/classes/helpers.d.ts +15 -0
  8. package/dist/obtservices/angular/lib/vendor/fetchers/basket-fetcher.d.ts +6 -0
  9. package/dist/obtservices/angular/lib/vendor/fetchers/cabhire-quote-fetcher.d.ts +7 -0
  10. package/dist/obtservices/angular/lib/vendor/fetchers/carhire-availability-detail.fetcher.d.ts +7 -0
  11. package/dist/obtservices/angular/lib/vendor/fetchers/carhire-quote-fetcher.d.ts +7 -0
  12. package/dist/obtservices/angular/lib/vendor/fetchers/conferma-office-names.fetcher.d.ts +7 -0
  13. package/dist/obtservices/angular/lib/vendor/fetchers/conferma-quicklist.fetcher.d.ts +7 -0
  14. package/dist/obtservices/angular/lib/vendor/fetchers/eurostar-quote.fetcher.d.ts +7 -0
  15. package/dist/obtservices/angular/lib/vendor/fetchers/flight-quote.fetcher.d.ts +7 -0
  16. package/dist/obtservices/angular/lib/vendor/fetchers/get-rail-cards.fetcher.d.ts +7 -0
  17. package/dist/obtservices/angular/lib/vendor/fetchers/get-rail-station.fetcher.d.ts +7 -0
  18. package/dist/obtservices/angular/lib/vendor/fetchers/get-risk-alerts.fetcher.d.ts +7 -0
  19. package/dist/obtservices/angular/lib/vendor/fetchers/get-user-company-offices.fetcher.d.ts +7 -0
  20. package/dist/obtservices/angular/lib/vendor/fetchers/get-user-current-carbon-allowance.fetcher.d.ts +7 -0
  21. package/dist/obtservices/angular/lib/vendor/fetchers/get-user-recent-searches.fetcher.d.ts +7 -0
  22. package/dist/obtservices/angular/lib/vendor/fetchers/get-users-baskets-fetcher.d.ts +7 -0
  23. package/dist/obtservices/angular/lib/vendor/fetchers/getMiAutoSugestions.fetcher.d.ts +7 -0
  24. package/dist/obtservices/angular/lib/vendor/fetchers/hotel-avaliability-fetcher.d.ts +7 -0
  25. package/dist/obtservices/angular/lib/vendor/fetchers/hotel-quote-fetcher.d.ts +7 -0
  26. package/dist/obtservices/angular/lib/vendor/fetchers/irl-quote-fetcher.d.ts +7 -0
  27. package/dist/obtservices/angular/lib/vendor/fetchers/lounge-quote.fetcher.d.ts +7 -0
  28. package/dist/obtservices/angular/lib/vendor/fetchers/parking-quote-fetcher.d.ts +7 -0
  29. package/dist/obtservices/angular/lib/vendor/fetchers/rail-quote-fetcher.d.ts +7 -0
  30. package/dist/obtservices/angular/lib/vendor/fetchers/search-airlines-fetcher.d.ts +6 -0
  31. package/dist/obtservices/angular/lib/vendor/fetchers/search-airports-fetcher.d.ts +6 -0
  32. package/dist/obtservices/angular/lib/vendor/fetchers/search-cities.fetcher.d.ts +7 -0
  33. package/dist/obtservices/angular/lib/vendor/fetchers/search-conferma-cities.fetcher.d.ts +6 -0
  34. package/dist/obtservices/angular/lib/vendor/fetchers/search-depots.fetcher.d.ts +7 -0
  35. package/dist/obtservices/angular/lib/vendor/fetchers/search-hotel-chains.fetcher.d.ts +7 -0
  36. package/dist/obtservices/angular/lib/vendor/fetchers/search-postcodes.fetcher.d.ts +7 -0
  37. package/dist/obtservices/angular/lib/vendor/fetchers/search-rail-stations.fetcher.d.ts +7 -0
  38. package/dist/obtservices/angular/lib/vendor/fetchers/search-users-can-book-for-fetcher.d.ts +7 -0
  39. package/dist/obtservices/angular/lib/vendor/fetchers/user-addresses.fetcher.d.ts +7 -0
  40. package/dist/obtservices/angular/lib/vendor/fetchers/user-fetcher.d.ts +6 -0
  41. package/dist/obtservices/angular/lib/vendor/fetchers/user-message.fetcher.d.ts +7 -0
  42. package/dist/obtservices/angular/lib/vendor/fetchers/user-products-fetcher.d.ts +7 -0
  43. package/dist/obtservices/angular/lib/vendor/fetchers/user-ui-configs-fetcher.d.ts +7 -0
  44. package/dist/obtservices/angular/lib/vendor/services/enterprise-basket.service.d.ts +29 -0
  45. package/dist/obtservices/angular/lib/vendor/services/hotel-avallibility.service.d.ts +9 -0
  46. package/dist/obtservices/angular/lib/vendor/services/http-call.service.d.ts +48 -0
  47. package/dist/obtservices/angular/lib/vendor/services/logon.service.d.ts +18 -0
  48. package/dist/obtservices/angular/lib/vendor/services/modal-opener.service.d.ts +4 -0
  49. package/dist/obtservices/angular/lib/vendor/services/my-bookings.service.d.ts +7 -0
  50. package/dist/obtservices/angular/lib/vendor/services/route-happy.service.d.ts +6 -0
  51. package/dist/obtservices/angular/lib/vendor/services/search.service.d.ts +47 -0
  52. package/dist/obtservices/angular/lib/vendor/services/storage.service.d.ts +18 -0
  53. package/dist/obtservices/angular/lib/vendor/services/user.service.d.ts +10 -0
  54. package/dist/obtservices/angular/lib/vendor/services/webtoken.service.d.ts +7 -0
  55. package/dist/obtservices/angular/lib/vendor/testers/postcode-validate.tester.d.ts +6 -0
  56. package/dist/obtservices/angular/lib/vendor/testers/validate-mi-free-value.tester.d.ts +6 -0
  57. package/dist/obtservices/angular/lib/vendor/types/graphql.angular.types.d.ts +5915 -0
  58. package/dist/obtservices/angular/lib/vendor/updaters/accept-new-price.updater.d.ts +6 -0
  59. package/dist/obtservices/angular/lib/vendor/updaters/add-item-to-basket.updater.d.ts +6 -0
  60. package/dist/obtservices/angular/lib/vendor/updaters/addUserToBasketItem.d.ts +6 -0
  61. package/dist/obtservices/angular/lib/vendor/updaters/book-basket-updater.d.ts +6 -0
  62. package/dist/obtservices/angular/lib/vendor/updaters/create-basket-updater.d.ts +6 -0
  63. package/dist/obtservices/angular/lib/vendor/updaters/move-basket-item-to-basket.d.ts +6 -0
  64. package/dist/obtservices/angular/lib/vendor/updaters/remove-basket-updater.d.ts +6 -0
  65. package/dist/obtservices/angular/lib/vendor/updaters/remove-item-from-basket.updater.d.ts +6 -0
  66. package/dist/obtservices/angular/lib/vendor/updaters/remove-recent-search.updater.d.ts +6 -0
  67. package/dist/obtservices/angular/lib/vendor/updaters/remove-user-address.updater.d.ts +6 -0
  68. package/dist/obtservices/angular/lib/vendor/updaters/revalidate-basket-updater.d.ts +6 -0
  69. package/dist/obtservices/angular/lib/vendor/updaters/save-recent-search.updater.d.ts +6 -0
  70. package/dist/obtservices/angular/lib/vendor/updaters/save-user-address.updater.d.ts +6 -0
  71. package/dist/obtservices/angular/lib/vendor/updaters/send-basket-for-approval.updater.d.ts +6 -0
  72. package/dist/obtservices/angular/lib/vendor/updaters/set-basket-item-lead-passenger.updater.d.ts +6 -0
  73. package/dist/obtservices/angular/lib/vendor/updaters/set-basket-item-mi-group.d.ts +6 -0
  74. package/dist/obtservices/angular/lib/vendor/updaters/set-basket-item-mi-value-updater.d.ts +6 -0
  75. package/dist/obtservices/angular/lib/vendor/updaters/set-payment-option.updater.d.ts +6 -0
  76. package/dist/obtservices/angular/lib/vendor/updaters/update-basket-notes-updater.d.ts +6 -0
  77. package/dist/obtservices/angular/lib/vendor/updaters/update-basket-title-updater.d.ts +6 -0
  78. package/dist/obtservices/angular/obtservices-angular.d.ts +17 -0
  79. package/dist/obtservices/angular/obtservices-angular.metadata.json +1 -0
  80. package/dist/obtservices/angular/obtservices.module.d.ts +7 -0
  81. package/dist/obtservices/angular/package.json +11 -0
  82. package/dist/obtservices/base/fetchers.d.ts +36 -0
  83. package/dist/obtservices/base/lib/vendor/classes/base-enterprise.d.ts +39 -0
  84. package/dist/obtservices/base/lib/vendor/classes/base-network-call.d.ts +10 -0
  85. package/dist/obtservices/base/lib/vendor/classes/basket-info-mi-details.impl.d.ts +20 -0
  86. package/dist/obtservices/base/lib/vendor/classes/bookable-basket.d.ts +40 -0
  87. package/dist/obtservices/base/lib/vendor/classes/cabhire-enterprise-search.d.ts +138 -0
  88. package/dist/obtservices/base/lib/vendor/classes/carhire-enterprise-search.d.ts +203 -0
  89. package/dist/obtservices/base/lib/vendor/classes/enviroment.d.ts +24 -0
  90. package/dist/obtservices/base/lib/vendor/classes/eurostar-enterprise-search.d.ts +268 -0
  91. package/dist/obtservices/base/lib/vendor/classes/eurostar-search-type.enum.d.ts +4 -0
  92. package/dist/obtservices/base/lib/vendor/classes/event-messenager.d.ts +12 -0
  93. package/dist/obtservices/base/lib/vendor/classes/flight-enterprise-search.d.ts +251 -0
  94. package/dist/obtservices/base/lib/vendor/classes/flight-search-type.enum.d.ts +5 -0
  95. package/dist/obtservices/base/lib/vendor/classes/helpers.d.ts +173 -0
  96. package/dist/obtservices/base/lib/vendor/classes/hotel-enterprise-search.d.ts +176 -0
  97. package/dist/obtservices/base/lib/vendor/classes/irl-enterprise-search.d.ts +139 -0
  98. package/dist/obtservices/base/lib/vendor/classes/limited-cache.class.d.ts +21 -0
  99. package/dist/obtservices/base/lib/vendor/classes/lounges-enterprise-search.d.ts +68 -0
  100. package/dist/obtservices/base/lib/vendor/classes/management-info-and-valid.d.ts +41 -0
  101. package/dist/obtservices/base/lib/vendor/classes/modal-types.enum.d.ts +12 -0
  102. package/dist/obtservices/base/lib/vendor/classes/parking-enterprise-search.d.ts +103 -0
  103. package/dist/obtservices/base/lib/vendor/classes/rail-direction.enum.d.ts +4 -0
  104. package/dist/obtservices/base/lib/vendor/classes/rail-enterprise-search.d.ts +193 -0
  105. package/dist/obtservices/base/lib/vendor/classes/routehappy-request.d.ts +126 -0
  106. package/dist/obtservices/base/lib/vendor/classes/routehappy-response.d.ts +107 -0
  107. package/dist/obtservices/base/lib/vendor/classes/supplementary-booking-info-impl.d.ts +62 -0
  108. package/dist/obtservices/base/lib/vendor/classes/user-favourite.enum.d.ts +12 -0
  109. package/dist/obtservices/base/lib/vendor/classes/validator.checker.d.ts +6 -0
  110. package/dist/obtservices/base/lib/vendor/fetchers/basket-fetcher.d.ts +20 -0
  111. package/dist/obtservices/base/lib/vendor/fetchers/cabhire-quote-fetcher.d.ts +23 -0
  112. package/dist/obtservices/base/lib/vendor/fetchers/carhire-availability-detail.fetcher.d.ts +20 -0
  113. package/dist/obtservices/base/lib/vendor/fetchers/carhire-quote-fetcher.d.ts +23 -0
  114. package/dist/obtservices/base/lib/vendor/fetchers/conferma-office-names.fetcher.d.ts +21 -0
  115. package/dist/obtservices/base/lib/vendor/fetchers/conferma-quicklist.fetcher.d.ts +23 -0
  116. package/dist/obtservices/base/lib/vendor/fetchers/eurostar-quote.fetcher.d.ts +23 -0
  117. package/dist/obtservices/base/lib/vendor/fetchers/flight-quote.fetcher.d.ts +23 -0
  118. package/dist/obtservices/base/lib/vendor/fetchers/get-rail-cards.fetcher.d.ts +21 -0
  119. package/dist/obtservices/base/lib/vendor/fetchers/get-rail-station.fetcher.d.ts +21 -0
  120. package/dist/obtservices/base/lib/vendor/fetchers/get-risk-alerts.fetcher.d.ts +21 -0
  121. package/dist/obtservices/base/lib/vendor/fetchers/get-user-company-offices.fetcher.d.ts +21 -0
  122. package/dist/obtservices/base/lib/vendor/fetchers/get-user-current-carbon-allowance.fetcher.d.ts +20 -0
  123. package/dist/obtservices/base/lib/vendor/fetchers/get-user-recent-searches.fetcher.d.ts +21 -0
  124. package/dist/obtservices/base/lib/vendor/fetchers/get-users-baskets-fetcher.d.ts +21 -0
  125. package/dist/obtservices/base/lib/vendor/fetchers/getMiAutoSugestions.fetcher.d.ts +21 -0
  126. package/dist/obtservices/base/lib/vendor/fetchers/hotel-avaliability-fetcher.d.ts +24 -0
  127. package/dist/obtservices/base/lib/vendor/fetchers/hotel-quote-fetcher.d.ts +23 -0
  128. package/dist/obtservices/base/lib/vendor/fetchers/irl-quote-fetcher.d.ts +23 -0
  129. package/dist/obtservices/base/lib/vendor/fetchers/list-fetchable-enterprise.d.ts +20 -0
  130. package/dist/obtservices/base/lib/vendor/fetchers/lounge-quote.fetcher.d.ts +23 -0
  131. package/dist/obtservices/base/lib/vendor/fetchers/object-fetchable-enterprise.d.ts +11 -0
  132. package/dist/obtservices/base/lib/vendor/fetchers/parking-quote-fetcher.d.ts +23 -0
  133. package/dist/obtservices/base/lib/vendor/fetchers/rail-quote-fetcher.d.ts +23 -0
  134. package/dist/obtservices/base/lib/vendor/fetchers/search-airlines.fetcher.d.ts +20 -0
  135. package/dist/obtservices/base/lib/vendor/fetchers/search-airports-fetcher.d.ts +20 -0
  136. package/dist/obtservices/base/lib/vendor/fetchers/search-cities.fetcher.d.ts +21 -0
  137. package/dist/obtservices/base/lib/vendor/fetchers/search-conferma-cities.fetcher.d.ts +20 -0
  138. package/dist/obtservices/base/lib/vendor/fetchers/search-depots.fetcher.d.ts +20 -0
  139. package/dist/obtservices/base/lib/vendor/fetchers/search-hotel-chains.fetcher.d.ts +21 -0
  140. package/dist/obtservices/base/lib/vendor/fetchers/search-postcodes.fetcher.d.ts +21 -0
  141. package/dist/obtservices/base/lib/vendor/fetchers/search-rail-stations.fetcher.d.ts +21 -0
  142. package/dist/obtservices/base/lib/vendor/fetchers/search-users-can-book-for-fetcher.d.ts +21 -0
  143. package/dist/obtservices/base/lib/vendor/fetchers/user-addresses.fetcher.d.ts +21 -0
  144. package/dist/obtservices/base/lib/vendor/fetchers/user-fetcher.d.ts +20 -0
  145. package/dist/obtservices/base/lib/vendor/fetchers/user-message.fetcher.d.ts +21 -0
  146. package/dist/obtservices/base/lib/vendor/fetchers/user-products-fetcher.d.ts +21 -0
  147. package/dist/obtservices/base/lib/vendor/fetchers/user-ui-configs-fetcher.d.ts +23 -0
  148. package/dist/obtservices/base/lib/vendor/interfaces/Icabhire-enterprise-search.d.ts +133 -0
  149. package/dist/obtservices/base/lib/vendor/interfaces/Icarhire-enterprise-search.d.ts +99 -0
  150. package/dist/obtservices/base/lib/vendor/interfaces/Ienterprise-basket.service.d.ts +64 -0
  151. package/dist/obtservices/base/lib/vendor/interfaces/Ieurostar-enterprise-search.d.ts +124 -0
  152. package/dist/obtservices/base/lib/vendor/interfaces/Iflight-enterprise-search.d.ts +123 -0
  153. package/dist/obtservices/base/lib/vendor/interfaces/Ihotel-enterprise-search.d.ts +192 -0
  154. package/dist/obtservices/base/lib/vendor/interfaces/Iirl-enterprise-search.d.ts +45 -0
  155. package/dist/obtservices/base/lib/vendor/interfaces/Ilounges-enterprise-search.d.ts +36 -0
  156. package/dist/obtservices/base/lib/vendor/interfaces/Imybookings.service.d.ts +24 -0
  157. package/dist/obtservices/base/lib/vendor/interfaces/Iparking-enterprise-search.d.ts +58 -0
  158. package/dist/obtservices/base/lib/vendor/interfaces/Irail-enterprise-search.d.ts +110 -0
  159. package/dist/obtservices/base/lib/vendor/interfaces/Isearch.service.d.ts +101 -0
  160. package/dist/obtservices/base/lib/vendor/interfaces/Isupplementary-booking-info-impl.d.ts +42 -0
  161. package/dist/obtservices/base/lib/vendor/interfaces/Iuser.service.d.ts +59 -0
  162. package/dist/obtservices/base/lib/vendor/interfaces/car-hire-classes.interface.d.ts +7 -0
  163. package/dist/obtservices/base/lib/vendor/interfaces/car-hire-filters.interface.d.ts +10 -0
  164. package/dist/obtservices/base/lib/vendor/interfaces/car-hire-sort.interface.d.ts +4 -0
  165. package/dist/obtservices/base/lib/vendor/interfaces/cheapest-price.d.ts +4 -0
  166. package/dist/obtservices/base/lib/vendor/interfaces/code-name.d.ts +4 -0
  167. package/dist/obtservices/base/lib/vendor/interfaces/flight-filters.interface.d.ts +29 -0
  168. package/dist/obtservices/base/lib/vendor/interfaces/flight-multi-destination.interface.d.ts +7 -0
  169. package/dist/obtservices/base/lib/vendor/interfaces/rail-airport-express-stations.interface.d.ts +4 -0
  170. package/dist/obtservices/base/lib/vendor/interfaces/rail-basket-item.interface.d.ts +69 -0
  171. package/dist/obtservices/base/lib/vendor/interfaces/rail-journey-leg.interface.d.ts +6 -0
  172. package/dist/obtservices/base/lib/vendor/interfaces/rail-recent-search-args.interface.d.ts +19 -0
  173. package/dist/obtservices/base/lib/vendor/interfaces/rail-selected-ticket.interface.d.ts +10 -0
  174. package/dist/obtservices/base/lib/vendor/interfaces/rail-ticket-group.interface.d.ts +26 -0
  175. package/dist/obtservices/base/lib/vendor/interfaces/rail-ticket-groups.interface.d.ts +4 -0
  176. package/dist/obtservices/base/lib/vendor/interfaces/search-objects.interface.d.ts +16 -0
  177. package/dist/obtservices/base/lib/vendor/interfaces/select-filter.interface.d.ts +5 -0
  178. package/dist/obtservices/base/lib/vendor/interfaces/user.data.d.ts +21 -0
  179. package/dist/obtservices/base/lib/vendor/interfaces/value-display.d.ts +4 -0
  180. package/dist/obtservices/base/lib/vendor/models/login.model.d.ts +52 -0
  181. package/dist/obtservices/base/lib/vendor/models/regexp.model.d.ts +10 -0
  182. package/dist/obtservices/base/lib/vendor/models/traveller.object.d.ts +22 -0
  183. package/dist/obtservices/base/lib/vendor/services/enterprise-basket.service.d.ts +177 -0
  184. package/dist/obtservices/base/lib/vendor/services/hotel-avallibility.service.d.ts +31 -0
  185. package/dist/obtservices/base/lib/vendor/services/http-call.service.d.ts +17 -0
  186. package/dist/obtservices/base/lib/vendor/services/logon.service.d.ts +39 -0
  187. package/dist/obtservices/base/lib/vendor/services/modal-opener.service.d.ts +13 -0
  188. package/dist/obtservices/base/lib/vendor/services/my-bookings.service.d.ts +31 -0
  189. package/dist/obtservices/base/lib/vendor/services/routehappy.service.d.ts +47 -0
  190. package/dist/obtservices/base/lib/vendor/services/search.service.d.ts +236 -0
  191. package/dist/obtservices/base/lib/vendor/services/storage.service.d.ts +9 -0
  192. package/dist/obtservices/base/lib/vendor/services/url.service.d.ts +10 -0
  193. package/dist/obtservices/base/lib/vendor/services/user.service.d.ts +62 -0
  194. package/dist/obtservices/base/lib/vendor/services/webtoken.service.d.ts +20 -0
  195. package/dist/obtservices/base/lib/vendor/testers/base.tester.d.ts +11 -0
  196. package/dist/obtservices/base/lib/vendor/testers/postcode-validate.tester.d.ts +17 -0
  197. package/dist/obtservices/base/lib/vendor/testers/validate-mi-free-value.tester.d.ts +17 -0
  198. package/dist/obtservices/base/lib/vendor/types/graphql.types.d.ts +5597 -0
  199. package/dist/obtservices/base/lib/vendor/types/types.d.ts +444 -0
  200. package/dist/obtservices/base/lib/vendor/updaters/accept-new-price.updater.d.ts +20 -0
  201. package/dist/obtservices/base/lib/vendor/updaters/add-item-to-basket.updater.d.ts +20 -0
  202. package/dist/obtservices/base/lib/vendor/updaters/addUserToBasketItem.d.ts +20 -0
  203. package/dist/obtservices/base/lib/vendor/updaters/book-basket-updater.d.ts +20 -0
  204. package/dist/obtservices/base/lib/vendor/updaters/create-basket-updater.d.ts +20 -0
  205. package/dist/obtservices/base/lib/vendor/updaters/move-basket-item-to-basket.d.ts +20 -0
  206. package/dist/obtservices/base/lib/vendor/updaters/object-updater-enterprise.d.ts +11 -0
  207. package/dist/obtservices/base/lib/vendor/updaters/remove-basket-updater.d.ts +19 -0
  208. package/dist/obtservices/base/lib/vendor/updaters/remove-item-from-basket.updater.d.ts +20 -0
  209. package/dist/obtservices/base/lib/vendor/updaters/remove-recent-search-updater.d.ts +19 -0
  210. package/dist/obtservices/base/lib/vendor/updaters/remove-user-address-updater.d.ts +19 -0
  211. package/dist/obtservices/base/lib/vendor/updaters/revalidate-basket-updater.d.ts +20 -0
  212. package/dist/obtservices/base/lib/vendor/updaters/save-recent-search-updater.d.ts +20 -0
  213. package/dist/obtservices/base/lib/vendor/updaters/save-user-address.updater.d.ts +20 -0
  214. package/dist/obtservices/base/lib/vendor/updaters/send-basket-for-approval.updater.d.ts +20 -0
  215. package/dist/obtservices/base/lib/vendor/updaters/set-basket-item-lead-passenger.updater.d.ts +20 -0
  216. package/dist/obtservices/base/lib/vendor/updaters/set-basket-item-mi-group.d.ts +20 -0
  217. package/dist/obtservices/base/lib/vendor/updaters/set-basket-item-mi-value-updater.d.ts +20 -0
  218. package/dist/obtservices/base/lib/vendor/updaters/set-basket-item-paymenr-option.updater.d.ts +20 -0
  219. package/dist/obtservices/base/lib/vendor/updaters/update-basket-notes-updater.d.ts +20 -0
  220. package/dist/obtservices/base/lib/vendor/updaters/update-basket-title-updater.d.ts +20 -0
  221. package/dist/obtservices/base/obtservices-base.d.ts +9 -0
  222. package/dist/obtservices/base/obtservices-base.metadata.json +1 -0
  223. package/dist/obtservices/base/package.json +11 -0
  224. package/dist/obtservices/bundles/obtservices-angular.umd.js +32033 -0
  225. package/dist/obtservices/bundles/obtservices-angular.umd.js.map +1 -0
  226. package/dist/obtservices/bundles/obtservices-angular.umd.min.js +2 -0
  227. package/dist/obtservices/bundles/obtservices-angular.umd.min.js.map +1 -0
  228. package/dist/obtservices/bundles/obtservices-base.umd.js +18609 -0
  229. package/dist/obtservices/bundles/obtservices-base.umd.js.map +1 -0
  230. package/dist/obtservices/bundles/obtservices-base.umd.min.js +16 -0
  231. package/dist/obtservices/bundles/obtservices-base.umd.min.js.map +1 -0
  232. package/dist/obtservices/bundles/obtservices.umd.js +18 -0
  233. package/dist/obtservices/bundles/obtservices.umd.js.map +1 -0
  234. package/dist/obtservices/bundles/obtservices.umd.min.js +2 -0
  235. package/dist/obtservices/bundles/obtservices.umd.min.js.map +1 -0
  236. package/dist/obtservices/esm2015/angular/classes.js +4 -0
  237. package/dist/obtservices/esm2015/angular/components/basket-panel.js +113 -0
  238. package/dist/obtservices/esm2015/angular/components/with-component.js +26 -0
  239. package/dist/obtservices/esm2015/angular/components.js +3 -0
  240. package/dist/obtservices/esm2015/angular/data.js +5 -0
  241. package/dist/obtservices/esm2015/angular/fetchers.js +33 -0
  242. package/dist/obtservices/esm2015/angular/lib/vendor/classes/environment.js +10 -0
  243. package/dist/obtservices/esm2015/angular/lib/vendor/classes/event-messenager.js +16 -0
  244. package/dist/obtservices/esm2015/angular/lib/vendor/classes/helpers.js +81 -0
  245. package/dist/obtservices/esm2015/angular/lib/vendor/data/airports.data.json +5508 -0
  246. package/dist/obtservices/esm2015/angular/lib/vendor/data/flight-booking.data.json +136 -0
  247. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/basket-fetcher.js +22 -0
  248. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/cabhire-quote-fetcher.js +25 -0
  249. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/carhire-availability-detail.fetcher.js +25 -0
  250. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/carhire-quote-fetcher.js +25 -0
  251. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/conferma-office-names.fetcher.js +25 -0
  252. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/conferma-quicklist.fetcher.js +25 -0
  253. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/eurostar-quote.fetcher.js +25 -0
  254. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/flight-quote.fetcher.js +25 -0
  255. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/get-rail-cards.fetcher.js +25 -0
  256. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/get-rail-station.fetcher.js +25 -0
  257. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/get-risk-alerts.fetcher.js +25 -0
  258. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/get-user-company-offices.fetcher.js +25 -0
  259. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/get-user-current-carbon-allowance.fetcher.js +25 -0
  260. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/get-user-recent-searches.fetcher.js +25 -0
  261. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/get-users-baskets-fetcher.js +25 -0
  262. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/getMiAutoSugestions.fetcher.js +25 -0
  263. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/hotel-avaliability-fetcher.js +25 -0
  264. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/hotel-quote-fetcher.js +25 -0
  265. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/irl-quote-fetcher.js +25 -0
  266. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/lounge-quote.fetcher.js +25 -0
  267. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/parking-quote-fetcher.js +25 -0
  268. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/rail-quote-fetcher.js +25 -0
  269. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/search-airlines-fetcher.js +22 -0
  270. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/search-airports-fetcher.js +22 -0
  271. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/search-cities.fetcher.js +25 -0
  272. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/search-conferma-cities.fetcher.js +22 -0
  273. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/search-depots.fetcher.js +25 -0
  274. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/search-hotel-chains.fetcher.js +25 -0
  275. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/search-postcodes.fetcher.js +25 -0
  276. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/search-rail-stations.fetcher.js +25 -0
  277. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/search-users-can-book-for-fetcher.js +25 -0
  278. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/user-addresses.fetcher.js +25 -0
  279. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/user-fetcher.js +22 -0
  280. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/user-message.fetcher.js +25 -0
  281. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/user-products-fetcher.js +25 -0
  282. package/dist/obtservices/esm2015/angular/lib/vendor/fetchers/user-ui-configs-fetcher.js +25 -0
  283. package/dist/obtservices/esm2015/angular/lib/vendor/services/enterprise-basket.service.js +91 -0
  284. package/dist/obtservices/esm2015/angular/lib/vendor/services/hotel-avallibility.service.js +28 -0
  285. package/dist/obtservices/esm2015/angular/lib/vendor/services/http-call.service.js +220 -0
  286. package/dist/obtservices/esm2015/angular/lib/vendor/services/logon.service.js +41 -0
  287. package/dist/obtservices/esm2015/angular/lib/vendor/services/modal-opener.service.js +15 -0
  288. package/dist/obtservices/esm2015/angular/lib/vendor/services/my-bookings.service.js +22 -0
  289. package/dist/obtservices/esm2015/angular/lib/vendor/services/route-happy.service.js +22 -0
  290. package/dist/obtservices/esm2015/angular/lib/vendor/services/search.service.js +142 -0
  291. package/dist/obtservices/esm2015/angular/lib/vendor/services/storage.service.js +79 -0
  292. package/dist/obtservices/esm2015/angular/lib/vendor/services/user.service.js +31 -0
  293. package/dist/obtservices/esm2015/angular/lib/vendor/services/webtoken.service.js +59 -0
  294. package/dist/obtservices/esm2015/angular/lib/vendor/testers/postcode-validate.tester.js +22 -0
  295. package/dist/obtservices/esm2015/angular/lib/vendor/testers/validate-mi-free-value.tester.js +22 -0
  296. package/dist/obtservices/esm2015/angular/lib/vendor/types/graphql.angular.types.js +5662 -0
  297. package/dist/obtservices/esm2015/angular/lib/vendor/updaters/accept-new-price.updater.js +22 -0
  298. package/dist/obtservices/esm2015/angular/lib/vendor/updaters/add-item-to-basket.updater.js +22 -0
  299. package/dist/obtservices/esm2015/angular/lib/vendor/updaters/addUserToBasketItem.js +22 -0
  300. package/dist/obtservices/esm2015/angular/lib/vendor/updaters/book-basket-updater.js +22 -0
  301. package/dist/obtservices/esm2015/angular/lib/vendor/updaters/create-basket-updater.js +22 -0
  302. package/dist/obtservices/esm2015/angular/lib/vendor/updaters/move-basket-item-to-basket.js +22 -0
  303. package/dist/obtservices/esm2015/angular/lib/vendor/updaters/remove-basket-updater.js +22 -0
  304. package/dist/obtservices/esm2015/angular/lib/vendor/updaters/remove-item-from-basket.updater.js +22 -0
  305. package/dist/obtservices/esm2015/angular/lib/vendor/updaters/remove-recent-search.updater.js +22 -0
  306. package/dist/obtservices/esm2015/angular/lib/vendor/updaters/remove-user-address.updater.js +22 -0
  307. package/dist/obtservices/esm2015/angular/lib/vendor/updaters/revalidate-basket-updater.js +22 -0
  308. package/dist/obtservices/esm2015/angular/lib/vendor/updaters/save-recent-search.updater.js +22 -0
  309. package/dist/obtservices/esm2015/angular/lib/vendor/updaters/save-user-address.updater.js +22 -0
  310. package/dist/obtservices/esm2015/angular/lib/vendor/updaters/send-basket-for-approval.updater.js +22 -0
  311. package/dist/obtservices/esm2015/angular/lib/vendor/updaters/set-basket-item-lead-passenger.updater.js +22 -0
  312. package/dist/obtservices/esm2015/angular/lib/vendor/updaters/set-basket-item-mi-group.js +22 -0
  313. package/dist/obtservices/esm2015/angular/lib/vendor/updaters/set-basket-item-mi-value-updater.js +22 -0
  314. package/dist/obtservices/esm2015/angular/lib/vendor/updaters/set-payment-option.updater.js +22 -0
  315. package/dist/obtservices/esm2015/angular/lib/vendor/updaters/update-basket-notes-updater.js +22 -0
  316. package/dist/obtservices/esm2015/angular/lib/vendor/updaters/update-basket-title-updater.js +22 -0
  317. package/dist/obtservices/esm2015/angular/obtservices-angular.js +18 -0
  318. package/dist/obtservices/esm2015/angular/obtservices.module.js +128 -0
  319. package/dist/obtservices/esm2015/angular/public_api.js +9 -0
  320. package/dist/obtservices/esm2015/angular/services.js +12 -0
  321. package/dist/obtservices/esm2015/angular/types.js +2 -0
  322. package/dist/obtservices/esm2015/angular/updaters.js +14 -0
  323. package/dist/obtservices/esm2015/base/classes.js +28 -0
  324. package/dist/obtservices/esm2015/base/fetchers.js +37 -0
  325. package/dist/obtservices/esm2015/base/interfaces.js +30 -0
  326. package/dist/obtservices/esm2015/base/lib/vendor/classes/base-enterprise.js +78 -0
  327. package/dist/obtservices/esm2015/base/lib/vendor/classes/base-network-call.js +24 -0
  328. package/dist/obtservices/esm2015/base/lib/vendor/classes/basket-info-mi-details.impl.js +35 -0
  329. package/dist/obtservices/esm2015/base/lib/vendor/classes/bookable-basket.js +237 -0
  330. package/dist/obtservices/esm2015/base/lib/vendor/classes/cabhire-enterprise-search.js +696 -0
  331. package/dist/obtservices/esm2015/base/lib/vendor/classes/carhire-enterprise-search.js +1204 -0
  332. package/dist/obtservices/esm2015/base/lib/vendor/classes/enviroment.js +12 -0
  333. package/dist/obtservices/esm2015/base/lib/vendor/classes/eurostar-enterprise-search.js +1462 -0
  334. package/dist/obtservices/esm2015/base/lib/vendor/classes/eurostar-search-type.enum.js +6 -0
  335. package/dist/obtservices/esm2015/base/lib/vendor/classes/event-messenager.js +17 -0
  336. package/dist/obtservices/esm2015/base/lib/vendor/classes/flight-enterprise-search.js +1640 -0
  337. package/dist/obtservices/esm2015/base/lib/vendor/classes/flight-search-type.enum.js +7 -0
  338. package/dist/obtservices/esm2015/base/lib/vendor/classes/helpers.js +978 -0
  339. package/dist/obtservices/esm2015/base/lib/vendor/classes/hotel-enterprise-search.js +1022 -0
  340. package/dist/obtservices/esm2015/base/lib/vendor/classes/irl-enterprise-search.js +1117 -0
  341. package/dist/obtservices/esm2015/base/lib/vendor/classes/limited-cache.class.js +64 -0
  342. package/dist/obtservices/esm2015/base/lib/vendor/classes/lounges-enterprise-search.js +323 -0
  343. package/dist/obtservices/esm2015/base/lib/vendor/classes/management-info-and-valid.js +174 -0
  344. package/dist/obtservices/esm2015/base/lib/vendor/classes/modal-types.enum.js +22 -0
  345. package/dist/obtservices/esm2015/base/lib/vendor/classes/parking-enterprise-search.js +397 -0
  346. package/dist/obtservices/esm2015/base/lib/vendor/classes/rail-direction.enum.js +6 -0
  347. package/dist/obtservices/esm2015/base/lib/vendor/classes/rail-enterprise-search.js +1324 -0
  348. package/dist/obtservices/esm2015/base/lib/vendor/classes/routehappy-request.js +2 -0
  349. package/dist/obtservices/esm2015/base/lib/vendor/classes/routehappy-response.js +8 -0
  350. package/dist/obtservices/esm2015/base/lib/vendor/classes/supplementary-booking-info-impl.js +250 -0
  351. package/dist/obtservices/esm2015/base/lib/vendor/classes/user-favourite.enum.js +15 -0
  352. package/dist/obtservices/esm2015/base/lib/vendor/classes/validator.checker.js +4 -0
  353. package/dist/obtservices/esm2015/base/lib/vendor/data/countries.json +1212 -0
  354. package/dist/obtservices/esm2015/base/lib/vendor/data/euro-stations.json +30 -0
  355. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/basket-fetcher.js +11 -0
  356. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/cabhire-quote-fetcher.js +11 -0
  357. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/carhire-availability-detail.fetcher.js +10 -0
  358. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/carhire-quote-fetcher.js +11 -0
  359. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/conferma-office-names.fetcher.js +11 -0
  360. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/conferma-quicklist.fetcher.js +11 -0
  361. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/eurostar-quote.fetcher.js +11 -0
  362. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/flight-quote.fetcher.js +11 -0
  363. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/get-rail-cards.fetcher.js +11 -0
  364. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/get-rail-station.fetcher.js +11 -0
  365. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/get-risk-alerts.fetcher.js +11 -0
  366. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/get-user-company-offices.fetcher.js +11 -0
  367. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/get-user-current-carbon-allowance.fetcher.js +10 -0
  368. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/get-user-recent-searches.fetcher.js +10 -0
  369. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/get-users-baskets-fetcher.js +10 -0
  370. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/getMiAutoSugestions.fetcher.js +10 -0
  371. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/hotel-avaliability-fetcher.js +22 -0
  372. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/hotel-quote-fetcher.js +11 -0
  373. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/irl-quote-fetcher.js +11 -0
  374. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/list-fetchable-enterprise.js +27 -0
  375. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/lounge-quote.fetcher.js +11 -0
  376. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/object-fetchable-enterprise.js +11 -0
  377. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/parking-quote-fetcher.js +11 -0
  378. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/rail-quote-fetcher.js +11 -0
  379. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/search-airlines.fetcher.js +11 -0
  380. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/search-airports-fetcher.js +10 -0
  381. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/search-cities.fetcher.js +11 -0
  382. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/search-conferma-cities.fetcher.js +11 -0
  383. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/search-depots.fetcher.js +10 -0
  384. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/search-hotel-chains.fetcher.js +11 -0
  385. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/search-postcodes.fetcher.js +11 -0
  386. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/search-rail-stations.fetcher.js +11 -0
  387. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/search-users-can-book-for-fetcher.js +11 -0
  388. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/user-addresses.fetcher.js +11 -0
  389. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/user-fetcher.js +10 -0
  390. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/user-message.fetcher.js +11 -0
  391. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/user-products-fetcher.js +11 -0
  392. package/dist/obtservices/esm2015/base/lib/vendor/fetchers/user-ui-configs-fetcher.js +11 -0
  393. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/Icabhire-enterprise-search.js +17 -0
  394. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/Icarhire-enterprise-search.js +2 -0
  395. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/Ienterprise-basket.service.js +2 -0
  396. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/Ieurostar-enterprise-search.js +2 -0
  397. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/Iflight-enterprise-search.js +2 -0
  398. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/Ihotel-enterprise-search.js +18 -0
  399. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/Iirl-enterprise-search.js +2 -0
  400. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/Ilounges-enterprise-search.js +2 -0
  401. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/Imybookings.service.js +2 -0
  402. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/Iparking-enterprise-search.js +2 -0
  403. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/Irail-enterprise-search.js +2 -0
  404. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/Isearch.service.js +2 -0
  405. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/Isupplementary-booking-info-impl.js +2 -0
  406. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/Iuser.service.js +2 -0
  407. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/car-hire-classes.interface.js +2 -0
  408. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/car-hire-filters.interface.js +2 -0
  409. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/car-hire-sort.interface.js +2 -0
  410. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/cheapest-price.js +2 -0
  411. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/code-name.js +2 -0
  412. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/flight-filters.interface.js +2 -0
  413. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/flight-multi-destination.interface.js +2 -0
  414. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/rail-airport-express-stations.interface.js +2 -0
  415. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/rail-basket-item.interface.js +2 -0
  416. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/rail-journey-leg.interface.js +2 -0
  417. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/rail-recent-search-args.interface.js +2 -0
  418. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/rail-selected-ticket.interface.js +2 -0
  419. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/rail-ticket-group.interface.js +2 -0
  420. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/rail-ticket-groups.interface.js +2 -0
  421. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/search-objects.interface.js +2 -0
  422. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/select-filter.interface.js +2 -0
  423. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/user.data.js +2 -0
  424. package/dist/obtservices/esm2015/base/lib/vendor/interfaces/value-display.js +2 -0
  425. package/dist/obtservices/esm2015/base/lib/vendor/models/login.model.js +71 -0
  426. package/dist/obtservices/esm2015/base/lib/vendor/models/regexp.model.js +13 -0
  427. package/dist/obtservices/esm2015/base/lib/vendor/models/traveller.object.js +38 -0
  428. package/dist/obtservices/esm2015/base/lib/vendor/services/enterprise-basket.service.js +669 -0
  429. package/dist/obtservices/esm2015/base/lib/vendor/services/hotel-avallibility.service.js +165 -0
  430. package/dist/obtservices/esm2015/base/lib/vendor/services/http-call.service.js +16 -0
  431. package/dist/obtservices/esm2015/base/lib/vendor/services/logon.service.js +177 -0
  432. package/dist/obtservices/esm2015/base/lib/vendor/services/modal-opener.service.js +20 -0
  433. package/dist/obtservices/esm2015/base/lib/vendor/services/my-bookings.service.js +124 -0
  434. package/dist/obtservices/esm2015/base/lib/vendor/services/routehappy.service.js +196 -0
  435. package/dist/obtservices/esm2015/base/lib/vendor/services/search.service.js +1281 -0
  436. package/dist/obtservices/esm2015/base/lib/vendor/services/storage.service.js +3 -0
  437. package/dist/obtservices/esm2015/base/lib/vendor/services/url.service.js +12 -0
  438. package/dist/obtservices/esm2015/base/lib/vendor/services/user.service.js +223 -0
  439. package/dist/obtservices/esm2015/base/lib/vendor/services/webtoken.service.js +56 -0
  440. package/dist/obtservices/esm2015/base/lib/vendor/testers/base.tester.js +11 -0
  441. package/dist/obtservices/esm2015/base/lib/vendor/testers/postcode-validate.tester.js +10 -0
  442. package/dist/obtservices/esm2015/base/lib/vendor/testers/validate-mi-free-value.tester.js +10 -0
  443. package/dist/obtservices/esm2015/base/lib/vendor/types/graphql.types.js +456 -0
  444. package/dist/obtservices/esm2015/base/lib/vendor/types/types.js +161 -0
  445. package/dist/obtservices/esm2015/base/lib/vendor/updaters/accept-new-price.updater.js +10 -0
  446. package/dist/obtservices/esm2015/base/lib/vendor/updaters/add-item-to-basket.updater.js +10 -0
  447. package/dist/obtservices/esm2015/base/lib/vendor/updaters/addUserToBasketItem.js +10 -0
  448. package/dist/obtservices/esm2015/base/lib/vendor/updaters/book-basket-updater.js +11 -0
  449. package/dist/obtservices/esm2015/base/lib/vendor/updaters/create-basket-updater.js +11 -0
  450. package/dist/obtservices/esm2015/base/lib/vendor/updaters/move-basket-item-to-basket.js +10 -0
  451. package/dist/obtservices/esm2015/base/lib/vendor/updaters/object-updater-enterprise.js +11 -0
  452. package/dist/obtservices/esm2015/base/lib/vendor/updaters/remove-basket-updater.js +11 -0
  453. package/dist/obtservices/esm2015/base/lib/vendor/updaters/remove-item-from-basket.updater.js +10 -0
  454. package/dist/obtservices/esm2015/base/lib/vendor/updaters/remove-recent-search-updater.js +11 -0
  455. package/dist/obtservices/esm2015/base/lib/vendor/updaters/remove-user-address-updater.js +11 -0
  456. package/dist/obtservices/esm2015/base/lib/vendor/updaters/revalidate-basket-updater.js +10 -0
  457. package/dist/obtservices/esm2015/base/lib/vendor/updaters/save-recent-search-updater.js +11 -0
  458. package/dist/obtservices/esm2015/base/lib/vendor/updaters/save-user-address.updater.js +10 -0
  459. package/dist/obtservices/esm2015/base/lib/vendor/updaters/send-basket-for-approval.updater.js +10 -0
  460. package/dist/obtservices/esm2015/base/lib/vendor/updaters/set-basket-item-lead-passenger.updater.js +10 -0
  461. package/dist/obtservices/esm2015/base/lib/vendor/updaters/set-basket-item-mi-group.js +10 -0
  462. package/dist/obtservices/esm2015/base/lib/vendor/updaters/set-basket-item-mi-value-updater.js +10 -0
  463. package/dist/obtservices/esm2015/base/lib/vendor/updaters/set-basket-item-paymenr-option.updater.js +10 -0
  464. package/dist/obtservices/esm2015/base/lib/vendor/updaters/update-basket-notes-updater.js +10 -0
  465. package/dist/obtservices/esm2015/base/lib/vendor/updaters/update-basket-title-updater.js +10 -0
  466. package/dist/obtservices/esm2015/base/models.js +4 -0
  467. package/dist/obtservices/esm2015/base/obtservices-base.js +9 -0
  468. package/dist/obtservices/esm2015/base/public_api.js +9 -0
  469. package/dist/obtservices/esm2015/base/services.js +13 -0
  470. package/dist/obtservices/esm2015/base/testers.js +3 -0
  471. package/dist/obtservices/esm2015/base/types.js +2 -0
  472. package/dist/obtservices/esm2015/base/updaters.js +21 -0
  473. package/dist/obtservices/esm2015/obtservices.js +5 -0
  474. package/dist/obtservices/esm2015/public_api.js +2 -0
  475. package/dist/obtservices/fesm2015/obtservices-angular.js +35267 -0
  476. package/dist/obtservices/fesm2015/obtservices-angular.js.map +1 -0
  477. package/dist/obtservices/fesm2015/obtservices-base.js +16573 -0
  478. package/dist/obtservices/fesm2015/obtservices-base.js.map +1 -0
  479. package/dist/obtservices/fesm2015/obtservices.js +8 -0
  480. package/dist/obtservices/fesm2015/obtservices.js.map +1 -0
  481. package/dist/obtservices/obtservices.d.ts +4 -0
  482. package/dist/obtservices/obtservices.metadata.json +1 -0
  483. package/dist/obtservices/package.json +23 -0
  484. package/dist/obtservices/public_api.d.ts +1 -0
  485. package/dist/obtservices/tsconfig.lib.tsbuildinfo +3 -0
  486. package/package.json +4 -1
  487. package/.editorconfig +0 -13
  488. package/.gitmodules +0 -0
  489. package/.vscode/settings.json +0 -4
  490. package/angular.json +0 -45
  491. package/audit.config.json +0 -6
  492. package/codegen.yml +0 -18
  493. package/ng-package.json +0 -7
  494. package/projects/obtservices/angular/package.json +0 -3
  495. package/projects/obtservices/angular/src/components/basket-panel.ts +0 -139
  496. package/projects/obtservices/angular/src/components/with-component.ts +0 -40
  497. package/projects/obtservices/angular/src/data.ts +0 -5
  498. package/projects/obtservices/angular/src/fetchers.ts +0 -32
  499. package/projects/obtservices/angular/src/lib/vendor/classes/environment.ts +0 -5
  500. package/projects/obtservices/angular/src/lib/vendor/classes/event-messenager.ts +0 -11
  501. package/projects/obtservices/angular/src/lib/vendor/classes/helpers.ts +0 -87
  502. package/projects/obtservices/angular/src/lib/vendor/data/airports.data.json +0 -5508
  503. package/projects/obtservices/angular/src/lib/vendor/data/animations.ts +0 -38
  504. package/projects/obtservices/angular/src/lib/vendor/data/booking-expected-responses.json +0 -100
  505. package/projects/obtservices/angular/src/lib/vendor/data/cities.data.json +0 -31499
  506. package/projects/obtservices/angular/src/lib/vendor/data/countries.json +0 -1212
  507. package/projects/obtservices/angular/src/lib/vendor/data/flight-booking.data.json +0 -136
  508. package/projects/obtservices/angular/src/lib/vendor/data/postcodes1.json +0 -194
  509. package/projects/obtservices/angular/src/lib/vendor/data/rail_addresses.json +0 -2524
  510. package/projects/obtservices/angular/src/lib/vendor/fetchers/basket-fetcher.ts +0 -14
  511. package/projects/obtservices/angular/src/lib/vendor/fetchers/cabhire-quote-fetcher.ts +0 -15
  512. package/projects/obtservices/angular/src/lib/vendor/fetchers/carhire-availability-detail.fetcher.ts +0 -17
  513. package/projects/obtservices/angular/src/lib/vendor/fetchers/carhire-quote-fetcher.ts +0 -16
  514. package/projects/obtservices/angular/src/lib/vendor/fetchers/conferma-office-names.fetcher.ts +0 -16
  515. package/projects/obtservices/angular/src/lib/vendor/fetchers/conferma-quicklist.fetcher.ts +0 -16
  516. package/projects/obtservices/angular/src/lib/vendor/fetchers/eurostar-quote.fetcher.ts +0 -16
  517. package/projects/obtservices/angular/src/lib/vendor/fetchers/flight-quote.fetcher.ts +0 -16
  518. package/projects/obtservices/angular/src/lib/vendor/fetchers/get-rail-cards.fetcher.ts +0 -16
  519. package/projects/obtservices/angular/src/lib/vendor/fetchers/get-rail-station.fetcher.ts +0 -16
  520. package/projects/obtservices/angular/src/lib/vendor/fetchers/get-risk-alerts.fetcher.ts +0 -18
  521. package/projects/obtservices/angular/src/lib/vendor/fetchers/get-user-company-offices.fetcher.ts +0 -16
  522. package/projects/obtservices/angular/src/lib/vendor/fetchers/get-user-current-carbon-allowance.fetcher.ts +0 -16
  523. package/projects/obtservices/angular/src/lib/vendor/fetchers/get-user-recent-searches.fetcher.ts +0 -16
  524. package/projects/obtservices/angular/src/lib/vendor/fetchers/get-users-baskets-fetcher.ts +0 -16
  525. package/projects/obtservices/angular/src/lib/vendor/fetchers/getMiAutoSugestions.fetcher.ts +0 -16
  526. package/projects/obtservices/angular/src/lib/vendor/fetchers/hotel-avaliability-fetcher.ts +0 -17
  527. package/projects/obtservices/angular/src/lib/vendor/fetchers/hotel-quote-fetcher.ts +0 -16
  528. package/projects/obtservices/angular/src/lib/vendor/fetchers/irl-quote-fetcher.ts +0 -16
  529. package/projects/obtservices/angular/src/lib/vendor/fetchers/lounge-quote.fetcher.ts +0 -16
  530. package/projects/obtservices/angular/src/lib/vendor/fetchers/parking-quote-fetcher.ts +0 -16
  531. package/projects/obtservices/angular/src/lib/vendor/fetchers/rail-quote-fetcher.ts +0 -16
  532. package/projects/obtservices/angular/src/lib/vendor/fetchers/search-airlines-fetcher.ts +0 -14
  533. package/projects/obtservices/angular/src/lib/vendor/fetchers/search-airports-fetcher.ts +0 -14
  534. package/projects/obtservices/angular/src/lib/vendor/fetchers/search-cities.fetcher.ts +0 -16
  535. package/projects/obtservices/angular/src/lib/vendor/fetchers/search-conferma-cities.fetcher.ts +0 -14
  536. package/projects/obtservices/angular/src/lib/vendor/fetchers/search-depots.fetcher.ts +0 -18
  537. package/projects/obtservices/angular/src/lib/vendor/fetchers/search-hotel-chains.fetcher.ts +0 -16
  538. package/projects/obtservices/angular/src/lib/vendor/fetchers/search-postcodes.fetcher.ts +0 -16
  539. package/projects/obtservices/angular/src/lib/vendor/fetchers/search-rail-stations.fetcher.ts +0 -16
  540. package/projects/obtservices/angular/src/lib/vendor/fetchers/search-users-can-book-for-fetcher.ts +0 -16
  541. package/projects/obtservices/angular/src/lib/vendor/fetchers/user-addresses.fetcher.ts +0 -16
  542. package/projects/obtservices/angular/src/lib/vendor/fetchers/user-fetcher.ts +0 -14
  543. package/projects/obtservices/angular/src/lib/vendor/fetchers/user-message.fetcher.ts +0 -16
  544. package/projects/obtservices/angular/src/lib/vendor/fetchers/user-products-fetcher.ts +0 -16
  545. package/projects/obtservices/angular/src/lib/vendor/fetchers/user-ui-configs-fetcher.ts +0 -16
  546. package/projects/obtservices/angular/src/lib/vendor/services/enterprise-basket.service.ts +0 -133
  547. package/projects/obtservices/angular/src/lib/vendor/services/hotel-avallibility.service.ts +0 -19
  548. package/projects/obtservices/angular/src/lib/vendor/services/http-call.service.ts +0 -252
  549. package/projects/obtservices/angular/src/lib/vendor/services/logon.service.ts +0 -40
  550. package/projects/obtservices/angular/src/lib/vendor/services/modal-opener.service.ts +0 -9
  551. package/projects/obtservices/angular/src/lib/vendor/services/my-bookings.service.ts +0 -21
  552. package/projects/obtservices/angular/src/lib/vendor/services/route-happy.service.ts +0 -11
  553. package/projects/obtservices/angular/src/lib/vendor/services/search.service.ts +0 -213
  554. package/projects/obtservices/angular/src/lib/vendor/services/storage.service.ts +0 -82
  555. package/projects/obtservices/angular/src/lib/vendor/services/user.service.ts +0 -36
  556. package/projects/obtservices/angular/src/lib/vendor/services/webtoken.service.ts +0 -62
  557. package/projects/obtservices/angular/src/lib/vendor/testers/postcode-validate.tester.ts +0 -14
  558. package/projects/obtservices/angular/src/lib/vendor/testers/validate-mi-free-value.tester.ts +0 -14
  559. package/projects/obtservices/angular/src/lib/vendor/types/graphql.angular.types.ts +0 -11081
  560. package/projects/obtservices/angular/src/lib/vendor/updaters/accept-new-price.updater.ts +0 -14
  561. package/projects/obtservices/angular/src/lib/vendor/updaters/add-item-to-basket.updater.ts +0 -14
  562. package/projects/obtservices/angular/src/lib/vendor/updaters/addUserToBasketItem.ts +0 -14
  563. package/projects/obtservices/angular/src/lib/vendor/updaters/book-basket-updater.ts +0 -14
  564. package/projects/obtservices/angular/src/lib/vendor/updaters/create-basket-updater.ts +0 -14
  565. package/projects/obtservices/angular/src/lib/vendor/updaters/move-basket-item-to-basket.ts +0 -14
  566. package/projects/obtservices/angular/src/lib/vendor/updaters/remove-basket-updater.ts +0 -14
  567. package/projects/obtservices/angular/src/lib/vendor/updaters/remove-item-from-basket.updater.ts +0 -14
  568. package/projects/obtservices/angular/src/lib/vendor/updaters/remove-recent-search.updater.ts +0 -14
  569. package/projects/obtservices/angular/src/lib/vendor/updaters/remove-user-address.updater.ts +0 -14
  570. package/projects/obtservices/angular/src/lib/vendor/updaters/revalidate-basket-updater.ts +0 -14
  571. package/projects/obtservices/angular/src/lib/vendor/updaters/save-recent-search.updater.ts +0 -14
  572. package/projects/obtservices/angular/src/lib/vendor/updaters/save-user-address.updater.ts +0 -11
  573. package/projects/obtservices/angular/src/lib/vendor/updaters/send-basket-for-approval.updater.ts +0 -14
  574. package/projects/obtservices/angular/src/lib/vendor/updaters/set-basket-item-lead-passenger.updater.ts +0 -14
  575. package/projects/obtservices/angular/src/lib/vendor/updaters/set-basket-item-mi-group.ts +0 -14
  576. package/projects/obtservices/angular/src/lib/vendor/updaters/set-basket-item-mi-value-updater.ts +0 -15
  577. package/projects/obtservices/angular/src/lib/vendor/updaters/set-payment-option.updater.ts +0 -15
  578. package/projects/obtservices/angular/src/lib/vendor/updaters/update-basket-notes-updater.ts +0 -14
  579. package/projects/obtservices/angular/src/lib/vendor/updaters/update-basket-title-updater.ts +0 -14
  580. package/projects/obtservices/angular/src/obtservices.module.ts +0 -131
  581. package/projects/obtservices/base/package.json +0 -3
  582. package/projects/obtservices/base/src/custom.d.ts +0 -3
  583. package/projects/obtservices/base/src/fetchers.ts +0 -36
  584. package/projects/obtservices/base/src/lib/vendor/classes/base-enterprise.ts +0 -126
  585. package/projects/obtservices/base/src/lib/vendor/classes/base-network-call.ts +0 -40
  586. package/projects/obtservices/base/src/lib/vendor/classes/basket-info-mi-details.impl.ts +0 -68
  587. package/projects/obtservices/base/src/lib/vendor/classes/bookable-basket.ts +0 -343
  588. package/projects/obtservices/base/src/lib/vendor/classes/cabhire-enterprise-search.ts +0 -907
  589. package/projects/obtservices/base/src/lib/vendor/classes/carhire-enterprise-search.ts +0 -1597
  590. package/projects/obtservices/base/src/lib/vendor/classes/empty-enterprise-search.ts +0 -75
  591. package/projects/obtservices/base/src/lib/vendor/classes/enviroment.ts +0 -25
  592. package/projects/obtservices/base/src/lib/vendor/classes/eurostar-enterprise-search.ts +0 -2126
  593. package/projects/obtservices/base/src/lib/vendor/classes/eurostar-search-type.enum.ts +0 -4
  594. package/projects/obtservices/base/src/lib/vendor/classes/event-messenager.ts +0 -23
  595. package/projects/obtservices/base/src/lib/vendor/classes/flight-enterprise-search.ts +0 -2399
  596. package/projects/obtservices/base/src/lib/vendor/classes/flight-search-type.enum.ts +0 -5
  597. package/projects/obtservices/base/src/lib/vendor/classes/helpers.ts +0 -1233
  598. package/projects/obtservices/base/src/lib/vendor/classes/hotel-enterprise-search.ts +0 -1370
  599. package/projects/obtservices/base/src/lib/vendor/classes/irl-enterprise-search.ts +0 -1380
  600. package/projects/obtservices/base/src/lib/vendor/classes/limited-cache.class.ts +0 -70
  601. package/projects/obtservices/base/src/lib/vendor/classes/lounges-enterprise-search.ts +0 -444
  602. package/projects/obtservices/base/src/lib/vendor/classes/management-info-and-valid.ts +0 -268
  603. package/projects/obtservices/base/src/lib/vendor/classes/modal-types.enum.ts +0 -28
  604. package/projects/obtservices/base/src/lib/vendor/classes/parking-enterprise-search.ts +0 -541
  605. package/projects/obtservices/base/src/lib/vendor/classes/rail-direction.enum.ts +0 -4
  606. package/projects/obtservices/base/src/lib/vendor/classes/rail-enterprise-search.ts +0 -1751
  607. package/projects/obtservices/base/src/lib/vendor/classes/routehappy-request.ts +0 -146
  608. package/projects/obtservices/base/src/lib/vendor/classes/routehappy-response.ts +0 -128
  609. package/projects/obtservices/base/src/lib/vendor/classes/supplementary-booking-info-impl.ts +0 -375
  610. package/projects/obtservices/base/src/lib/vendor/classes/user-favourite.enum.ts +0 -12
  611. package/projects/obtservices/base/src/lib/vendor/classes/validator.checker.ts +0 -7
  612. package/projects/obtservices/base/src/lib/vendor/data/airports.data.json +0 -5508
  613. package/projects/obtservices/base/src/lib/vendor/data/booking-expected-responses.json +0 -100
  614. package/projects/obtservices/base/src/lib/vendor/data/cities.data.json +0 -31499
  615. package/projects/obtservices/base/src/lib/vendor/data/countries.json +0 -1212
  616. package/projects/obtservices/base/src/lib/vendor/data/euro-stations.json +0 -30
  617. package/projects/obtservices/base/src/lib/vendor/data/flight-booking.data.json +0 -136
  618. package/projects/obtservices/base/src/lib/vendor/data/postcodes1.json +0 -194
  619. package/projects/obtservices/base/src/lib/vendor/data/rail_addresses.json +0 -2524
  620. package/projects/obtservices/base/src/lib/vendor/fetchers/basket-fetcher.ts +0 -29
  621. package/projects/obtservices/base/src/lib/vendor/fetchers/cabhire-quote-fetcher.ts +0 -34
  622. package/projects/obtservices/base/src/lib/vendor/fetchers/carhire-availability-detail.fetcher.ts +0 -35
  623. package/projects/obtservices/base/src/lib/vendor/fetchers/carhire-quote-fetcher.ts +0 -34
  624. package/projects/obtservices/base/src/lib/vendor/fetchers/conferma-office-names.fetcher.ts +0 -34
  625. package/projects/obtservices/base/src/lib/vendor/fetchers/conferma-quicklist.fetcher.ts +0 -35
  626. package/projects/obtservices/base/src/lib/vendor/fetchers/eurostar-quote.fetcher.ts +0 -35
  627. package/projects/obtservices/base/src/lib/vendor/fetchers/flight-quote.fetcher.ts +0 -35
  628. package/projects/obtservices/base/src/lib/vendor/fetchers/get-rail-cards.fetcher.ts +0 -35
  629. package/projects/obtservices/base/src/lib/vendor/fetchers/get-rail-station.fetcher.ts +0 -35
  630. package/projects/obtservices/base/src/lib/vendor/fetchers/get-risk-alerts.fetcher.ts +0 -35
  631. package/projects/obtservices/base/src/lib/vendor/fetchers/get-user-company-offices.fetcher.ts +0 -34
  632. package/projects/obtservices/base/src/lib/vendor/fetchers/get-user-current-carbon-allowance.fetcher.ts +0 -35
  633. package/projects/obtservices/base/src/lib/vendor/fetchers/get-user-recent-searches.fetcher.ts +0 -36
  634. package/projects/obtservices/base/src/lib/vendor/fetchers/get-users-baskets-fetcher.ts +0 -33
  635. package/projects/obtservices/base/src/lib/vendor/fetchers/getMiAutoSugestions.fetcher.ts +0 -35
  636. package/projects/obtservices/base/src/lib/vendor/fetchers/hotel-avaliability-fetcher.ts +0 -53
  637. package/projects/obtservices/base/src/lib/vendor/fetchers/hotel-quote-fetcher.ts +0 -35
  638. package/projects/obtservices/base/src/lib/vendor/fetchers/irl-quote-fetcher.ts +0 -34
  639. package/projects/obtservices/base/src/lib/vendor/fetchers/list-fetchable-enterprise.ts +0 -59
  640. package/projects/obtservices/base/src/lib/vendor/fetchers/lounge-quote.fetcher.ts +0 -34
  641. package/projects/obtservices/base/src/lib/vendor/fetchers/object-fetchable-enterprise.ts +0 -20
  642. package/projects/obtservices/base/src/lib/vendor/fetchers/parking-quote-fetcher.ts +0 -34
  643. package/projects/obtservices/base/src/lib/vendor/fetchers/rail-quote-fetcher.ts +0 -34
  644. package/projects/obtservices/base/src/lib/vendor/fetchers/search-airlines.fetcher.ts +0 -30
  645. package/projects/obtservices/base/src/lib/vendor/fetchers/search-airports-fetcher.ts +0 -29
  646. package/projects/obtservices/base/src/lib/vendor/fetchers/search-cities.fetcher.ts +0 -34
  647. package/projects/obtservices/base/src/lib/vendor/fetchers/search-conferma-cities.fetcher.ts +0 -32
  648. package/projects/obtservices/base/src/lib/vendor/fetchers/search-depots.fetcher.ts +0 -34
  649. package/projects/obtservices/base/src/lib/vendor/fetchers/search-hotel-chains.fetcher.ts +0 -34
  650. package/projects/obtservices/base/src/lib/vendor/fetchers/search-postcodes.fetcher.ts +0 -37
  651. package/projects/obtservices/base/src/lib/vendor/fetchers/search-rail-stations.fetcher.ts +0 -35
  652. package/projects/obtservices/base/src/lib/vendor/fetchers/search-users-can-book-for-fetcher.ts +0 -35
  653. package/projects/obtservices/base/src/lib/vendor/fetchers/user-addresses.fetcher.ts +0 -34
  654. package/projects/obtservices/base/src/lib/vendor/fetchers/user-fetcher.ts +0 -27
  655. package/projects/obtservices/base/src/lib/vendor/fetchers/user-message.fetcher.ts +0 -34
  656. package/projects/obtservices/base/src/lib/vendor/fetchers/user-products-fetcher.ts +0 -35
  657. package/projects/obtservices/base/src/lib/vendor/fetchers/user-ui-configs-fetcher.ts +0 -35
  658. package/projects/obtservices/base/src/lib/vendor/interfaces/Icabhire-enterprise-search.ts +0 -174
  659. package/projects/obtservices/base/src/lib/vendor/interfaces/Icarhire-enterprise-search.ts +0 -143
  660. package/projects/obtservices/base/src/lib/vendor/interfaces/Ienterprise-basket.service.ts +0 -127
  661. package/projects/obtservices/base/src/lib/vendor/interfaces/Ieurostar-enterprise-search.ts +0 -197
  662. package/projects/obtservices/base/src/lib/vendor/interfaces/Iflight-enterprise-search.ts +0 -196
  663. package/projects/obtservices/base/src/lib/vendor/interfaces/Ihotel-enterprise-search.ts +0 -219
  664. package/projects/obtservices/base/src/lib/vendor/interfaces/Iirl-enterprise-search.ts +0 -135
  665. package/projects/obtservices/base/src/lib/vendor/interfaces/Ilounges-enterprise-search.ts +0 -58
  666. package/projects/obtservices/base/src/lib/vendor/interfaces/Imybookings.service.ts +0 -27
  667. package/projects/obtservices/base/src/lib/vendor/interfaces/Iparking-enterprise-search.ts +0 -72
  668. package/projects/obtservices/base/src/lib/vendor/interfaces/Irail-enterprise-search.ts +0 -161
  669. package/projects/obtservices/base/src/lib/vendor/interfaces/Isearch.service.ts +0 -178
  670. package/projects/obtservices/base/src/lib/vendor/interfaces/Isupplementary-booking-info-impl.ts +0 -63
  671. package/projects/obtservices/base/src/lib/vendor/interfaces/Iuser.service.ts +0 -87
  672. package/projects/obtservices/base/src/lib/vendor/interfaces/car-hire-classes.interface.ts +0 -8
  673. package/projects/obtservices/base/src/lib/vendor/interfaces/car-hire-filters.interface.ts +0 -11
  674. package/projects/obtservices/base/src/lib/vendor/interfaces/car-hire-sort.interface.ts +0 -4
  675. package/projects/obtservices/base/src/lib/vendor/interfaces/cheapest-price.ts +0 -4
  676. package/projects/obtservices/base/src/lib/vendor/interfaces/code-name.ts +0 -4
  677. package/projects/obtservices/base/src/lib/vendor/interfaces/flight-filters.interface.ts +0 -41
  678. package/projects/obtservices/base/src/lib/vendor/interfaces/flight-multi-destination.interface.ts +0 -8
  679. package/projects/obtservices/base/src/lib/vendor/interfaces/rail-airport-express-stations.interface.ts +0 -4
  680. package/projects/obtservices/base/src/lib/vendor/interfaces/rail-basket-item.interface.ts +0 -79
  681. package/projects/obtservices/base/src/lib/vendor/interfaces/rail-journey-leg.interface.ts +0 -6
  682. package/projects/obtservices/base/src/lib/vendor/interfaces/rail-recent-search-args.interface.ts +0 -20
  683. package/projects/obtservices/base/src/lib/vendor/interfaces/rail-selected-ticket.interface.ts +0 -11
  684. package/projects/obtservices/base/src/lib/vendor/interfaces/rail-ticket-group.interface.ts +0 -29
  685. package/projects/obtservices/base/src/lib/vendor/interfaces/rail-ticket-groups.interface.ts +0 -5
  686. package/projects/obtservices/base/src/lib/vendor/interfaces/search-objects.interface.ts +0 -17
  687. package/projects/obtservices/base/src/lib/vendor/interfaces/select-filter.interface.ts +0 -5
  688. package/projects/obtservices/base/src/lib/vendor/interfaces/user.data.ts +0 -22
  689. package/projects/obtservices/base/src/lib/vendor/interfaces/value-display.ts +0 -4
  690. package/projects/obtservices/base/src/lib/vendor/models/login.model.ts +0 -97
  691. package/projects/obtservices/base/src/lib/vendor/models/regexp.model.ts +0 -13
  692. package/projects/obtservices/base/src/lib/vendor/models/traveller.object.ts +0 -61
  693. package/projects/obtservices/base/src/lib/vendor/services/enterprise-basket.service.ts +0 -1150
  694. package/projects/obtservices/base/src/lib/vendor/services/hotel-avallibility.service.ts +0 -251
  695. package/projects/obtservices/base/src/lib/vendor/services/http-call.service.ts +0 -57
  696. package/projects/obtservices/base/src/lib/vendor/services/logon.service.ts +0 -245
  697. package/projects/obtservices/base/src/lib/vendor/services/modal-opener.service.ts +0 -30
  698. package/projects/obtservices/base/src/lib/vendor/services/my-bookings.service.ts +0 -184
  699. package/projects/obtservices/base/src/lib/vendor/services/routehappy.service.ts +0 -275
  700. package/projects/obtservices/base/src/lib/vendor/services/search.service.ts +0 -2026
  701. package/projects/obtservices/base/src/lib/vendor/services/storage.service.ts +0 -15
  702. package/projects/obtservices/base/src/lib/vendor/services/url.service.ts +0 -12
  703. package/projects/obtservices/base/src/lib/vendor/services/user.service.ts +0 -354
  704. package/projects/obtservices/base/src/lib/vendor/services/webtoken.service.ts +0 -66
  705. package/projects/obtservices/base/src/lib/vendor/testers/base.tester.ts +0 -18
  706. package/projects/obtservices/base/src/lib/vendor/testers/postcode-validate.tester.ts +0 -24
  707. package/projects/obtservices/base/src/lib/vendor/testers/validate-mi-free-value.tester.ts +0 -23
  708. package/projects/obtservices/base/src/lib/vendor/types/graphql.types.ts +0 -6184
  709. package/projects/obtservices/base/src/lib/vendor/types/types.ts +0 -630
  710. package/projects/obtservices/base/src/lib/vendor/updaters/accept-new-price.updater.ts +0 -31
  711. package/projects/obtservices/base/src/lib/vendor/updaters/add-item-to-basket.updater.ts +0 -29
  712. package/projects/obtservices/base/src/lib/vendor/updaters/addUserToBasketItem.ts +0 -30
  713. package/projects/obtservices/base/src/lib/vendor/updaters/book-basket-updater.ts +0 -28
  714. package/projects/obtservices/base/src/lib/vendor/updaters/create-basket-updater.ts +0 -29
  715. package/projects/obtservices/base/src/lib/vendor/updaters/move-basket-item-to-basket.ts +0 -30
  716. package/projects/obtservices/base/src/lib/vendor/updaters/object-updater-enterprise.ts +0 -20
  717. package/projects/obtservices/base/src/lib/vendor/updaters/remove-basket-updater.ts +0 -29
  718. package/projects/obtservices/base/src/lib/vendor/updaters/remove-item-from-basket.updater.ts +0 -28
  719. package/projects/obtservices/base/src/lib/vendor/updaters/remove-recent-search-updater.ts +0 -29
  720. package/projects/obtservices/base/src/lib/vendor/updaters/remove-user-address-updater.ts +0 -29
  721. package/projects/obtservices/base/src/lib/vendor/updaters/revalidate-basket-updater.ts +0 -29
  722. package/projects/obtservices/base/src/lib/vendor/updaters/save-recent-search-updater.ts +0 -30
  723. package/projects/obtservices/base/src/lib/vendor/updaters/save-user-address.updater.ts +0 -30
  724. package/projects/obtservices/base/src/lib/vendor/updaters/send-basket-for-approval.updater.ts +0 -31
  725. package/projects/obtservices/base/src/lib/vendor/updaters/set-basket-item-lead-passenger.updater.ts +0 -30
  726. package/projects/obtservices/base/src/lib/vendor/updaters/set-basket-item-mi-group.ts +0 -32
  727. package/projects/obtservices/base/src/lib/vendor/updaters/set-basket-item-mi-value-updater.ts +0 -30
  728. package/projects/obtservices/base/src/lib/vendor/updaters/set-basket-item-paymenr-option.updater.ts +0 -28
  729. package/projects/obtservices/base/src/lib/vendor/updaters/update-basket-notes-updater.ts +0 -30
  730. package/projects/obtservices/base/src/lib/vendor/updaters/update-basket-title-updater.ts +0 -30
  731. package/projects/obtservices/base/src/testers.ts +0 -2
  732. package/projects/obtservices/graphQL/autogenerated/index.js +0 -2
  733. package/projects/obtservices/graphQL/autogenerated/mutations/acceptNewPrice.gql +0 -1580
  734. package/projects/obtservices/graphQL/autogenerated/mutations/addItemToBasket.gql +0 -1580
  735. package/projects/obtservices/graphQL/autogenerated/mutations/addUsersToBasketItem.gql +0 -1580
  736. package/projects/obtservices/graphQL/autogenerated/mutations/bookBasket.gql +0 -1580
  737. package/projects/obtservices/graphQL/autogenerated/mutations/cancelBooking.gql +0 -6
  738. package/projects/obtservices/graphQL/autogenerated/mutations/confermaCreateCard.gql +0 -23
  739. package/projects/obtservices/graphQL/autogenerated/mutations/confermaDeleteCard.gql +0 -3
  740. package/projects/obtservices/graphQL/autogenerated/mutations/createBasket.gql +0 -1580
  741. package/projects/obtservices/graphQL/autogenerated/mutations/deleteBasket.gql +0 -3
  742. package/projects/obtservices/graphQL/autogenerated/mutations/deleteFavouriteSearch.gql +0 -3
  743. package/projects/obtservices/graphQL/autogenerated/mutations/deleteRecentSearch.gql +0 -3
  744. package/projects/obtservices/graphQL/autogenerated/mutations/deleteUserAddress.gql +0 -3
  745. package/projects/obtservices/graphQL/autogenerated/mutations/index.js +0 -36
  746. package/projects/obtservices/graphQL/autogenerated/mutations/moveItemToADifferentBasket.gql +0 -1580
  747. package/projects/obtservices/graphQL/autogenerated/mutations/removeItemFromBasket.gql +0 -1580
  748. package/projects/obtservices/graphQL/autogenerated/mutations/removeItemsFromBasket.gql +0 -1580
  749. package/projects/obtservices/graphQL/autogenerated/mutations/removeUserFromBasketItem.gql +0 -1580
  750. package/projects/obtservices/graphQL/autogenerated/mutations/reopenBasket.gql +0 -1580
  751. package/projects/obtservices/graphQL/autogenerated/mutations/revalidateBasket.gql +0 -1580
  752. package/projects/obtservices/graphQL/autogenerated/mutations/revalidateBasketItem.gql +0 -1580
  753. package/projects/obtservices/graphQL/autogenerated/mutations/saveFavouriteSearch.gql +0 -348
  754. package/projects/obtservices/graphQL/autogenerated/mutations/saveRecentSearch.gql +0 -348
  755. package/projects/obtservices/graphQL/autogenerated/mutations/saveUserAddress.gql +0 -14
  756. package/projects/obtservices/graphQL/autogenerated/mutations/sendBasketForApproval.gql +0 -1580
  757. package/projects/obtservices/graphQL/autogenerated/mutations/setAddressAsUserPrimary.gql +0 -14
  758. package/projects/obtservices/graphQL/autogenerated/mutations/setBasketItemLeadPassenger.gql +0 -1580
  759. package/projects/obtservices/graphQL/autogenerated/mutations/setBasketItemMIGroup.gql +0 -1580
  760. package/projects/obtservices/graphQL/autogenerated/mutations/setBasketItemMIValue.gql +0 -1580
  761. package/projects/obtservices/graphQL/autogenerated/mutations/setBasketItemPaymentMethod.gql +0 -1580
  762. package/projects/obtservices/graphQL/autogenerated/mutations/setMIDefaultValue.gql +0 -3
  763. package/projects/obtservices/graphQL/autogenerated/mutations/setUserLanguage.gql +0 -339
  764. package/projects/obtservices/graphQL/autogenerated/mutations/updateBasketNotes.gql +0 -1580
  765. package/projects/obtservices/graphQL/autogenerated/mutations/updateBasketTitle.gql +0 -1580
  766. package/projects/obtservices/graphQL/autogenerated/queries/alive.gql +0 -3
  767. package/projects/obtservices/graphQL/autogenerated/queries/carHireAvailabilityDetailRequest.gql +0 -42
  768. package/projects/obtservices/graphQL/autogenerated/queries/confermaBlockClientHotels.gql +0 -23
  769. package/projects/obtservices/graphQL/autogenerated/queries/confermaBlockConsumerHotels.gql +0 -23
  770. package/projects/obtservices/graphQL/autogenerated/queries/confermaListCards.gql +0 -11
  771. package/projects/obtservices/graphQL/autogenerated/queries/confermaUnblockClientHotels.gql +0 -23
  772. package/projects/obtservices/graphQL/autogenerated/queries/confermaUnblockConsumerHotels.gql +0 -23
  773. package/projects/obtservices/graphQL/autogenerated/queries/getCOVIDMicrositeToken.gql +0 -3
  774. package/projects/obtservices/graphQL/autogenerated/queries/getCancellationInfo.gql +0 -7
  775. package/projects/obtservices/graphQL/autogenerated/queries/getCarHireDepots.gql +0 -13
  776. package/projects/obtservices/graphQL/autogenerated/queries/getConfermaOffice.gql +0 -50
  777. package/projects/obtservices/graphQL/autogenerated/queries/getConfermaOfficeNames.gql +0 -26
  778. package/projects/obtservices/graphQL/autogenerated/queries/getConfermaQuicklist.gql +0 -131
  779. package/projects/obtservices/graphQL/autogenerated/queries/getCountries.gql +0 -8
  780. package/projects/obtservices/graphQL/autogenerated/queries/getHotelAvailability.gql +0 -78
  781. package/projects/obtservices/graphQL/autogenerated/queries/getHotelChains.gql +0 -3
  782. package/projects/obtservices/graphQL/autogenerated/queries/getIRLSupplierStation.gql +0 -28
  783. package/projects/obtservices/graphQL/autogenerated/queries/getMultipleHotelsAvailability.gql +0 -78
  784. package/projects/obtservices/graphQL/autogenerated/queries/getPostcodeDetails.gql +0 -25
  785. package/projects/obtservices/graphQL/autogenerated/queries/getRailStation.gql +0 -27
  786. package/projects/obtservices/graphQL/autogenerated/queries/getRailcards.gql +0 -6
  787. package/projects/obtservices/graphQL/autogenerated/queries/getRiskAlerts.gql +0 -17
  788. package/projects/obtservices/graphQL/autogenerated/queries/getUser.gql +0 -339
  789. package/projects/obtservices/graphQL/autogenerated/queries/getUserAddresses.gql +0 -14
  790. package/projects/obtservices/graphQL/autogenerated/queries/getUserBasket.gql +0 -1580
  791. package/projects/obtservices/graphQL/autogenerated/queries/getUserBaskets.gql +0 -1580
  792. package/projects/obtservices/graphQL/autogenerated/queries/getUserCompanyOffices.gql +0 -88
  793. package/projects/obtservices/graphQL/autogenerated/queries/getUserCurrentCarbonAllowance.gql +0 -524
  794. package/projects/obtservices/graphQL/autogenerated/queries/getUserFavouriteSearches.gql +0 -348
  795. package/projects/obtservices/graphQL/autogenerated/queries/getUserMIAutoSuggestValues.gql +0 -10
  796. package/projects/obtservices/graphQL/autogenerated/queries/getUserMessages.gql +0 -10
  797. package/projects/obtservices/graphQL/autogenerated/queries/getUserPhoneNumbers.gql +0 -13
  798. package/projects/obtservices/graphQL/autogenerated/queries/getUserRecentSearches.gql +0 -348
  799. package/projects/obtservices/graphQL/autogenerated/queries/getUserServices.gql +0 -16
  800. package/projects/obtservices/graphQL/autogenerated/queries/getUserTravelRules.gql +0 -111
  801. package/projects/obtservices/graphQL/autogenerated/queries/getUserUIConfigs.gql +0 -52
  802. package/projects/obtservices/graphQL/autogenerated/queries/index.js +0 -64
  803. package/projects/obtservices/graphQL/autogenerated/queries/isPostcodeValid.gql +0 -3
  804. package/projects/obtservices/graphQL/autogenerated/queries/postcodeAutoSuggest.gql +0 -3
  805. package/projects/obtservices/graphQL/autogenerated/queries/searchAirlines.gql +0 -32
  806. package/projects/obtservices/graphQL/autogenerated/queries/searchAirports.gql +0 -60
  807. package/projects/obtservices/graphQL/autogenerated/queries/searchCabHire.gql +0 -63
  808. package/projects/obtservices/graphQL/autogenerated/queries/searchCarHire.gql +0 -104
  809. package/projects/obtservices/graphQL/autogenerated/queries/searchCities.gql +0 -14
  810. package/projects/obtservices/graphQL/autogenerated/queries/searchConfermaCities.gql +0 -11
  811. package/projects/obtservices/graphQL/autogenerated/queries/searchEurostar.gql +0 -833
  812. package/projects/obtservices/graphQL/autogenerated/queries/searchFastTrack.gql +0 -46
  813. package/projects/obtservices/graphQL/autogenerated/queries/searchFlights.gql +0 -23
  814. package/projects/obtservices/graphQL/autogenerated/queries/searchFlightsV2.gql +0 -833
  815. package/projects/obtservices/graphQL/autogenerated/queries/searchHotelChains.gql +0 -3
  816. package/projects/obtservices/graphQL/autogenerated/queries/searchHotels.gql +0 -131
  817. package/projects/obtservices/graphQL/autogenerated/queries/searchIRL.gql +0 -514
  818. package/projects/obtservices/graphQL/autogenerated/queries/searchIRLSupplierStations.gql +0 -28
  819. package/projects/obtservices/graphQL/autogenerated/queries/searchLounges.gql +0 -89
  820. package/projects/obtservices/graphQL/autogenerated/queries/searchParking.gql +0 -70
  821. package/projects/obtservices/graphQL/autogenerated/queries/searchPostcodes.gql +0 -25
  822. package/projects/obtservices/graphQL/autogenerated/queries/searchRail.gql +0 -840
  823. package/projects/obtservices/graphQL/autogenerated/queries/searchRailStations.gql +0 -27
  824. package/projects/obtservices/graphQL/autogenerated/queries/searchUserCanBookFor.gql +0 -339
  825. package/projects/obtservices/graphQL/autogenerated/queries/validateBasketItemMI.gql +0 -3
  826. package/projects/obtservices/graphQL/autogenerated/queries/validateUserMIFreeValue.gql +0 -3
  827. package/projects/obtservices/graphQL/documents/acceptNewPrice.graphql +0 -5
  828. package/projects/obtservices/graphQL/documents/addUserToBasketItem.graphql +0 -9
  829. package/projects/obtservices/graphQL/documents/basket.fragments.graphql +0 -171
  830. package/projects/obtservices/graphQL/documents/baskets.graphql +0 -111
  831. package/projects/obtservices/graphQL/documents/bookBasket.graphql +0 -9
  832. package/projects/obtservices/graphQL/documents/cabhire.graphql +0 -66
  833. package/projects/obtservices/graphQL/documents/carHireAvailabilityDetailRequest.graphql +0 -44
  834. package/projects/obtservices/graphQL/documents/carhire.graphql +0 -117
  835. package/projects/obtservices/graphQL/documents/deleteRecentSearch.graphql +0 -3
  836. package/projects/obtservices/graphQL/documents/deleteUserAddress.graphql +0 -3
  837. package/projects/obtservices/graphQL/documents/error.fragments.graphql +0 -10
  838. package/projects/obtservices/graphQL/documents/flights.graphql +0 -830
  839. package/projects/obtservices/graphQL/documents/getCarHireDepots.graphql +0 -13
  840. package/projects/obtservices/graphQL/documents/getConfermaOfficeNames.graphql +0 -11
  841. package/projects/obtservices/graphQL/documents/getConfermaQuicklist.graphql +0 -108
  842. package/projects/obtservices/graphQL/documents/getRailStation.graphql +0 -31
  843. package/projects/obtservices/graphQL/documents/getRailcards.graphql +0 -6
  844. package/projects/obtservices/graphQL/documents/getRiskAlerts.graphql +0 -24
  845. package/projects/obtservices/graphQL/documents/getUserAddresses.graphql +0 -14
  846. package/projects/obtservices/graphQL/documents/getUserCompanyOffices.graphql +0 -18
  847. package/projects/obtservices/graphQL/documents/getUserCurrentCarbonAllowance.graphql +0 -29
  848. package/projects/obtservices/graphQL/documents/getUserMIAutoSuggestValues.graphql +0 -10
  849. package/projects/obtservices/graphQL/documents/getUserPhoneNumbers.graphql +0 -13
  850. package/projects/obtservices/graphQL/documents/getUserRecentSearches.graphql +0 -20
  851. package/projects/obtservices/graphQL/documents/hotels.graphql +0 -242
  852. package/projects/obtservices/graphQL/documents/isPostcodeValid.graphql +0 -3
  853. package/projects/obtservices/graphQL/documents/lookups.graphql +0 -54
  854. package/projects/obtservices/graphQL/documents/lounges.graphql +0 -88
  855. package/projects/obtservices/graphQL/documents/moveItemToADifferentBasket.graphql +0 -9
  856. package/projects/obtservices/graphQL/documents/parking.graphql +0 -79
  857. package/projects/obtservices/graphQL/documents/rail.graphql +0 -645
  858. package/projects/obtservices/graphQL/documents/saveRecentSearch.graphql +0 -5
  859. package/projects/obtservices/graphQL/documents/saveUserAddress.graphql +0 -14
  860. package/projects/obtservices/graphQL/documents/searchAirlines.graphql +0 -32
  861. package/projects/obtservices/graphQL/documents/searchCities.graphql +0 -14
  862. package/projects/obtservices/graphQL/documents/searchConfermaCities.graphql +0 -11
  863. package/projects/obtservices/graphQL/documents/searchEurostar.graphql +0 -810
  864. package/projects/obtservices/graphQL/documents/searchHotelChains.graphql +0 -3
  865. package/projects/obtservices/graphQL/documents/searchIRL.graphql +0 -521
  866. package/projects/obtservices/graphQL/documents/searchPostcodes.graphql +0 -7
  867. package/projects/obtservices/graphQL/documents/searchRailStations.graphql +0 -27
  868. package/projects/obtservices/graphQL/documents/searchUserAddresses.graphql +0 -14
  869. package/projects/obtservices/graphQL/documents/set-basker-item-mi-group.graphql +0 -9
  870. package/projects/obtservices/graphQL/documents/setBasketItemLeadPassenger.graphql +0 -5
  871. package/projects/obtservices/graphQL/documents/setBasketItemMIValue.graphql +0 -16
  872. package/projects/obtservices/graphQL/documents/setBasketItemPaymentMethod.graphql +0 -12
  873. package/projects/obtservices/graphQL/documents/updateBasketNotes.graphql +0 -10
  874. package/projects/obtservices/graphQL/documents/updateBasketTitle.graphql +0 -10
  875. package/projects/obtservices/graphQL/documents/user.fragments.graphql +0 -65
  876. package/projects/obtservices/graphQL/documents/user.graphql +0 -95
  877. package/projects/obtservices/graphQL/documents/validateUserMIFreeValue.graphql +0 -3
  878. package/projects/obtservices/graphQL/schema/schema.graphql +0 -2635
  879. package/projects/obtservices/karma.conf.js +0 -32
  880. package/projects/obtservices/ng-package.json +0 -7
  881. package/projects/obtservices/package-lock.json +0 -5
  882. package/projects/obtservices/package.json +0 -12
  883. package/projects/obtservices/src/obtservices.ts +0 -0
  884. package/projects/obtservices/src/public_api.ts +0 -1
  885. package/projects/obtservices/tsconfig.lib.json +0 -30
  886. package/projects/obtservices/tsconfig.spec.json +0 -17
  887. package/projects/obtservices/tslint.json +0 -17
  888. package/tsconfig.json +0 -36
  889. package/tslint.json +0 -62
  890. /package/{projects → dist}/obtservices/README.md +0 -0
  891. /package/{projects/obtservices/angular/src/classes.ts → dist/obtservices/angular/classes.d.ts} +0 -0
  892. /package/{projects/obtservices/angular/src/components.ts → dist/obtservices/angular/components.d.ts} +0 -0
  893. /package/{projects/obtservices/angular/src/public_api.ts → dist/obtservices/angular/public_api.d.ts} +0 -0
  894. /package/{projects/obtservices/angular/src/services.ts → dist/obtservices/angular/services.d.ts} +0 -0
  895. /package/{projects/obtservices/angular/src/types.ts → dist/obtservices/angular/types.d.ts} +0 -0
  896. /package/{projects/obtservices/angular/src/updaters.ts → dist/obtservices/angular/updaters.d.ts} +0 -0
  897. /package/{projects/obtservices/base/src/classes.ts → dist/obtservices/base/classes.d.ts} +0 -0
  898. /package/{projects/obtservices/base/src/interfaces.ts → dist/obtservices/base/interfaces.d.ts} +0 -0
  899. /package/{projects/obtservices/base/src/models.ts → dist/obtservices/base/models.d.ts} +0 -0
  900. /package/{projects/obtservices/base/src/public_api.ts → dist/obtservices/base/public_api.d.ts} +0 -0
  901. /package/{projects/obtservices/base/src/services.ts → dist/obtservices/base/services.d.ts} +0 -0
  902. /package/{projects/obtservices/angular/src/testers.ts → dist/obtservices/base/testers.d.ts} +0 -0
  903. /package/{projects/obtservices/base/src/types.ts → dist/obtservices/base/types.d.ts} +0 -0
  904. /package/{projects/obtservices/base/src/updaters.ts → dist/obtservices/base/updaters.d.ts} +0 -0
@@ -0,0 +1,456 @@
1
+ export var ApplicationStage;
2
+ (function (ApplicationStage) {
3
+ ApplicationStage["BeforeSearch"] = "BEFORE_SEARCH";
4
+ ApplicationStage["AfterSearch"] = "AFTER_SEARCH";
5
+ })(ApplicationStage || (ApplicationStage = {}));
6
+ export var BaggageType;
7
+ (function (BaggageType) {
8
+ BaggageType["CheckIn"] = "CheckIn";
9
+ BaggageType["HandCarry"] = "HandCarry";
10
+ })(BaggageType || (BaggageType = {}));
11
+ export var BasketItemStatus;
12
+ (function (BasketItemStatus) {
13
+ BasketItemStatus["Open"] = "OPEN";
14
+ BasketItemStatus["Booked"] = "BOOKED";
15
+ BasketItemStatus["BookingFailed"] = "BOOKING_FAILED";
16
+ })(BasketItemStatus || (BasketItemStatus = {}));
17
+ export var BasketStatus;
18
+ (function (BasketStatus) {
19
+ BasketStatus["Open"] = "OPEN";
20
+ BasketStatus["Booked"] = "BOOKED";
21
+ BasketStatus["AwaitingApproval"] = "AWAITING_APPROVAL";
22
+ BasketStatus["Approved"] = "APPROVED";
23
+ BasketStatus["Disapproved"] = "DISAPPROVED";
24
+ BasketStatus["PartiallyBooked"] = "PARTIALLY_BOOKED";
25
+ BasketStatus["BookingFailed"] = "BOOKING_FAILED";
26
+ })(BasketStatus || (BasketStatus = {}));
27
+ export var BookerType;
28
+ (function (BookerType) {
29
+ BookerType["Root"] = "ROOT";
30
+ BookerType["Tmc"] = "TMC";
31
+ BookerType["Company"] = "COMPANY";
32
+ BookerType["Office"] = "OFFICE";
33
+ BookerType["CompanyGroup"] = "COMPANY_GROUP";
34
+ BookerType["SelfBook"] = "SELF_BOOK";
35
+ BookerType["Booker"] = "BOOKER";
36
+ BookerType["Traveller"] = "TRAVELLER";
37
+ BookerType["BookerWithSelf"] = "BOOKER_WITH_SELF";
38
+ })(BookerType || (BookerType = {}));
39
+ export var CabHireVehicleType;
40
+ (function (CabHireVehicleType) {
41
+ CabHireVehicleType["Any"] = "Any";
42
+ CabHireVehicleType["DdaCar"] = "DDACar";
43
+ CabHireVehicleType["CoachLarge"] = "CoachLarge";
44
+ CabHireVehicleType["CoachSmall"] = "CoachSmall";
45
+ CabHireVehicleType["Economy"] = "Economy";
46
+ CabHireVehicleType["EconomyCoach"] = "EconomyCoach";
47
+ CabHireVehicleType["EconomyMpvSmall"] = "EconomyMPVSmall";
48
+ CabHireVehicleType["EconomyMpvLarge"] = "EconomyMPVLarge";
49
+ CabHireVehicleType["EconomySuv"] = "EconomySUV";
50
+ CabHireVehicleType["ExecutiveCar"] = "ExecutiveCar";
51
+ CabHireVehicleType["ExecutiveSuv"] = "ExecutiveSUV";
52
+ CabHireVehicleType["GreenCar"] = "GreenCar";
53
+ CabHireVehicleType["GreenExecutive"] = "GreenExecutive";
54
+ CabHireVehicleType["GreenSuv"] = "GreenSUV";
55
+ CabHireVehicleType["SmallMpv"] = "SmallMPV";
56
+ CabHireVehicleType["MediumMpv"] = "MediumMPV";
57
+ CabHireVehicleType["LargeMpv"] = "LargeMPV";
58
+ CabHireVehicleType["StandardCar"] = "StandardCar";
59
+ CabHireVehicleType["Suv"] = "SUV";
60
+ CabHireVehicleType["BlackCab"] = "BlackCab";
61
+ CabHireVehicleType["TaxiSuv"] = "TaxiSUV";
62
+ })(CabHireVehicleType || (CabHireVehicleType = {}));
63
+ export var CarHireClass;
64
+ (function (CarHireClass) {
65
+ CarHireClass["Mini"] = "Mini";
66
+ CarHireClass["MiniElite"] = "MiniElite";
67
+ CarHireClass["Economy"] = "Economy";
68
+ CarHireClass["EconomyElite"] = "EconomyElite";
69
+ CarHireClass["Compact"] = "Compact";
70
+ CarHireClass["CompactElite"] = "CompactElite";
71
+ CarHireClass["Intermediate"] = "Intermediate";
72
+ CarHireClass["IntermediateElite"] = "IntermediateElite";
73
+ CarHireClass["Standard"] = "Standard";
74
+ CarHireClass["StandardElite"] = "StandardElite";
75
+ CarHireClass["Fullsize"] = "Fullsize";
76
+ CarHireClass["FullsizeElite"] = "FullsizeElite";
77
+ CarHireClass["Premium"] = "Premium";
78
+ CarHireClass["PremiumElite"] = "PremiumElite";
79
+ CarHireClass["Luxury"] = "Luxury";
80
+ CarHireClass["LuxuryElite"] = "LuxuryElite";
81
+ CarHireClass["Oversize"] = "Oversize";
82
+ CarHireClass["Special"] = "Special";
83
+ })(CarHireClass || (CarHireClass = {}));
84
+ export var CarHireTransmission;
85
+ (function (CarHireTransmission) {
86
+ CarHireTransmission["Manual"] = "Manual";
87
+ CarHireTransmission["Auto"] = "Auto";
88
+ })(CarHireTransmission || (CarHireTransmission = {}));
89
+ export var CarHireType;
90
+ (function (CarHireType) {
91
+ CarHireType["TwoToThreeDoor"] = "TwoToThreeDoor";
92
+ CarHireType["TwoOrFourDoor"] = "TwoOrFourDoor";
93
+ CarHireType["FourToFiveDoor"] = "FourToFiveDoor";
94
+ CarHireType["WagonOrEstate"] = "WagonOrEstate";
95
+ CarHireType["PassengerVan"] = "PassengerVan";
96
+ CarHireType["Limousine"] = "Limousine";
97
+ CarHireType["Sport"] = "Sport";
98
+ CarHireType["Convertible"] = "Convertible";
99
+ CarHireType["Suv"] = "SUV";
100
+ CarHireType["OpenAirAllTerrain"] = "OpenAirAllTerrain";
101
+ CarHireType["Special"] = "Special";
102
+ CarHireType["PickUpRegularCab"] = "PickUpRegularCab";
103
+ CarHireType["PickUpExtendedCab"] = "PickUpExtendedCab";
104
+ CarHireType["SpecialOfferCar"] = "SpecialOfferCar";
105
+ CarHireType["Coupe"] = "Coupe";
106
+ CarHireType["MonospaceEuropeanUse"] = "MonospaceEuropeanUse";
107
+ CarHireType["MotorHome"] = "MotorHome";
108
+ CarHireType["TwoWheelVehicle"] = "TwoWheelVehicle";
109
+ CarHireType["Roadster"] = "Roadster";
110
+ })(CarHireType || (CarHireType = {}));
111
+ export var CarbonPolicySource;
112
+ (function (CarbonPolicySource) {
113
+ CarbonPolicySource["Company"] = "COMPANY";
114
+ CarbonPolicySource["Office"] = "OFFICE";
115
+ CarbonPolicySource["User"] = "USER";
116
+ })(CarbonPolicySource || (CarbonPolicySource = {}));
117
+ export var ConfermaCardStatus;
118
+ (function (ConfermaCardStatus) {
119
+ ConfermaCardStatus["Pending"] = "Pending";
120
+ ConfermaCardStatus["Enabled"] = "Enabled";
121
+ ConfermaCardStatus["Disabled"] = "Disabled";
122
+ })(ConfermaCardStatus || (ConfermaCardStatus = {}));
123
+ export var CurrencyCode;
124
+ (function (CurrencyCode) {
125
+ CurrencyCode["Aed"] = "AED";
126
+ CurrencyCode["Afn"] = "AFN";
127
+ CurrencyCode["All"] = "ALL";
128
+ CurrencyCode["Amd"] = "AMD";
129
+ CurrencyCode["Ang"] = "ANG";
130
+ CurrencyCode["Aoa"] = "AOA";
131
+ CurrencyCode["Ars"] = "ARS";
132
+ CurrencyCode["Aud"] = "AUD";
133
+ CurrencyCode["Awg"] = "AWG";
134
+ CurrencyCode["Azn"] = "AZN";
135
+ CurrencyCode["Bam"] = "BAM";
136
+ CurrencyCode["Bbd"] = "BBD";
137
+ CurrencyCode["Bdt"] = "BDT";
138
+ CurrencyCode["Bgn"] = "BGN";
139
+ CurrencyCode["Bhd"] = "BHD";
140
+ CurrencyCode["Bif"] = "BIF";
141
+ CurrencyCode["Bmd"] = "BMD";
142
+ CurrencyCode["Bnd"] = "BND";
143
+ CurrencyCode["Bob"] = "BOB";
144
+ CurrencyCode["Bov"] = "BOV";
145
+ CurrencyCode["Brl"] = "BRL";
146
+ CurrencyCode["Bsd"] = "BSD";
147
+ CurrencyCode["Btn"] = "BTN";
148
+ CurrencyCode["Bwp"] = "BWP";
149
+ CurrencyCode["Byn"] = "BYN";
150
+ CurrencyCode["Bzd"] = "BZD";
151
+ CurrencyCode["Cad"] = "CAD";
152
+ CurrencyCode["Cdf"] = "CDF";
153
+ CurrencyCode["Che"] = "CHE";
154
+ CurrencyCode["Chf"] = "CHF";
155
+ CurrencyCode["Chw"] = "CHW";
156
+ CurrencyCode["Clf"] = "CLF";
157
+ CurrencyCode["Clp"] = "CLP";
158
+ CurrencyCode["Cny"] = "CNY";
159
+ CurrencyCode["Cop"] = "COP";
160
+ CurrencyCode["Cou"] = "COU";
161
+ CurrencyCode["Crc"] = "CRC";
162
+ CurrencyCode["Cuc"] = "CUC";
163
+ CurrencyCode["Cup"] = "CUP";
164
+ CurrencyCode["Cve"] = "CVE";
165
+ CurrencyCode["Czk"] = "CZK";
166
+ CurrencyCode["Djf"] = "DJF";
167
+ CurrencyCode["Dkk"] = "DKK";
168
+ CurrencyCode["Dop"] = "DOP";
169
+ CurrencyCode["Dzd"] = "DZD";
170
+ CurrencyCode["Egp"] = "EGP";
171
+ CurrencyCode["Ern"] = "ERN";
172
+ CurrencyCode["Etb"] = "ETB";
173
+ CurrencyCode["Eur"] = "EUR";
174
+ CurrencyCode["Fjd"] = "FJD";
175
+ CurrencyCode["Fkp"] = "FKP";
176
+ CurrencyCode["Gbp"] = "GBP";
177
+ CurrencyCode["Gel"] = "GEL";
178
+ CurrencyCode["Ghs"] = "GHS";
179
+ CurrencyCode["Gip"] = "GIP";
180
+ CurrencyCode["Gmd"] = "GMD";
181
+ CurrencyCode["Gnf"] = "GNF";
182
+ CurrencyCode["Gtq"] = "GTQ";
183
+ CurrencyCode["Gyd"] = "GYD";
184
+ CurrencyCode["Hkd"] = "HKD";
185
+ CurrencyCode["Hnl"] = "HNL";
186
+ CurrencyCode["Hrk"] = "HRK";
187
+ CurrencyCode["Htg"] = "HTG";
188
+ CurrencyCode["Huf"] = "HUF";
189
+ CurrencyCode["Idr"] = "IDR";
190
+ CurrencyCode["Ils"] = "ILS";
191
+ CurrencyCode["Inr"] = "INR";
192
+ CurrencyCode["Iqd"] = "IQD";
193
+ CurrencyCode["Irr"] = "IRR";
194
+ CurrencyCode["Isk"] = "ISK";
195
+ CurrencyCode["Jmd"] = "JMD";
196
+ CurrencyCode["Jod"] = "JOD";
197
+ CurrencyCode["Jpy"] = "JPY";
198
+ CurrencyCode["Kes"] = "KES";
199
+ CurrencyCode["Kgs"] = "KGS";
200
+ CurrencyCode["Khr"] = "KHR";
201
+ CurrencyCode["Kmf"] = "KMF";
202
+ CurrencyCode["Kpw"] = "KPW";
203
+ CurrencyCode["Krw"] = "KRW";
204
+ CurrencyCode["Kwd"] = "KWD";
205
+ CurrencyCode["Kyd"] = "KYD";
206
+ CurrencyCode["Kzt"] = "KZT";
207
+ CurrencyCode["Lak"] = "LAK";
208
+ CurrencyCode["Lbp"] = "LBP";
209
+ CurrencyCode["Lkr"] = "LKR";
210
+ CurrencyCode["Lrd"] = "LRD";
211
+ CurrencyCode["Lsl"] = "LSL";
212
+ CurrencyCode["Lyd"] = "LYD";
213
+ CurrencyCode["Mad"] = "MAD";
214
+ CurrencyCode["Mdl"] = "MDL";
215
+ CurrencyCode["Mga"] = "MGA";
216
+ CurrencyCode["Mkd"] = "MKD";
217
+ CurrencyCode["Mmk"] = "MMK";
218
+ CurrencyCode["Mnt"] = "MNT";
219
+ CurrencyCode["Mop"] = "MOP";
220
+ CurrencyCode["Mru"] = "MRU";
221
+ CurrencyCode["Mur"] = "MUR";
222
+ CurrencyCode["Mvr"] = "MVR";
223
+ CurrencyCode["Mwk"] = "MWK";
224
+ CurrencyCode["Mxn"] = "MXN";
225
+ CurrencyCode["Mxv"] = "MXV";
226
+ CurrencyCode["Myr"] = "MYR";
227
+ CurrencyCode["Mzn"] = "MZN";
228
+ CurrencyCode["Nad"] = "NAD";
229
+ CurrencyCode["Ngn"] = "NGN";
230
+ CurrencyCode["Nio"] = "NIO";
231
+ CurrencyCode["Nok"] = "NOK";
232
+ CurrencyCode["Npr"] = "NPR";
233
+ CurrencyCode["Nzd"] = "NZD";
234
+ CurrencyCode["Omr"] = "OMR";
235
+ CurrencyCode["Pab"] = "PAB";
236
+ CurrencyCode["Pen"] = "PEN";
237
+ CurrencyCode["Pgk"] = "PGK";
238
+ CurrencyCode["Php"] = "PHP";
239
+ CurrencyCode["Pkr"] = "PKR";
240
+ CurrencyCode["Pln"] = "PLN";
241
+ CurrencyCode["Pyg"] = "PYG";
242
+ CurrencyCode["Qar"] = "QAR";
243
+ CurrencyCode["Ron"] = "RON";
244
+ CurrencyCode["Rsd"] = "RSD";
245
+ CurrencyCode["Rub"] = "RUB";
246
+ CurrencyCode["Rwf"] = "RWF";
247
+ CurrencyCode["Sar"] = "SAR";
248
+ CurrencyCode["Sbd"] = "SBD";
249
+ CurrencyCode["Scr"] = "SCR";
250
+ CurrencyCode["Sdg"] = "SDG";
251
+ CurrencyCode["Sek"] = "SEK";
252
+ CurrencyCode["Sgd"] = "SGD";
253
+ CurrencyCode["Shp"] = "SHP";
254
+ CurrencyCode["Sll"] = "SLL";
255
+ CurrencyCode["Sos"] = "SOS";
256
+ CurrencyCode["Srd"] = "SRD";
257
+ CurrencyCode["Ssp"] = "SSP";
258
+ CurrencyCode["Stn"] = "STN";
259
+ CurrencyCode["Svc"] = "SVC";
260
+ CurrencyCode["Syp"] = "SYP";
261
+ CurrencyCode["Szl"] = "SZL";
262
+ CurrencyCode["Thb"] = "THB";
263
+ CurrencyCode["Tjs"] = "TJS";
264
+ CurrencyCode["Tmt"] = "TMT";
265
+ CurrencyCode["Tnd"] = "TND";
266
+ CurrencyCode["Top"] = "TOP";
267
+ CurrencyCode["Try"] = "TRY";
268
+ CurrencyCode["Ttd"] = "TTD";
269
+ CurrencyCode["Twd"] = "TWD";
270
+ CurrencyCode["Tzs"] = "TZS";
271
+ CurrencyCode["Uah"] = "UAH";
272
+ CurrencyCode["Ugx"] = "UGX";
273
+ CurrencyCode["Usd"] = "USD";
274
+ CurrencyCode["Usn"] = "USN";
275
+ CurrencyCode["Uyi"] = "UYI";
276
+ CurrencyCode["Uyu"] = "UYU";
277
+ CurrencyCode["Uzs"] = "UZS";
278
+ CurrencyCode["Vef"] = "VEF";
279
+ CurrencyCode["Vnd"] = "VND";
280
+ CurrencyCode["Vuv"] = "VUV";
281
+ CurrencyCode["Wst"] = "WST";
282
+ CurrencyCode["Xaf"] = "XAF";
283
+ CurrencyCode["Xag"] = "XAG";
284
+ CurrencyCode["Xau"] = "XAU";
285
+ CurrencyCode["Xba"] = "XBA";
286
+ CurrencyCode["Xbb"] = "XBB";
287
+ CurrencyCode["Xbc"] = "XBC";
288
+ CurrencyCode["Xbd"] = "XBD";
289
+ CurrencyCode["Xcd"] = "XCD";
290
+ CurrencyCode["Xdr"] = "XDR";
291
+ CurrencyCode["Xof"] = "XOF";
292
+ CurrencyCode["Xpd"] = "XPD";
293
+ CurrencyCode["Xpf"] = "XPF";
294
+ CurrencyCode["Xpt"] = "XPT";
295
+ CurrencyCode["Xsu"] = "XSU";
296
+ CurrencyCode["Xts"] = "XTS";
297
+ CurrencyCode["Xua"] = "XUA";
298
+ CurrencyCode["Xxx"] = "XXX";
299
+ CurrencyCode["Yer"] = "YER";
300
+ CurrencyCode["Zar"] = "ZAR";
301
+ CurrencyCode["Zmw"] = "ZMW";
302
+ CurrencyCode["Zwl"] = "ZWL";
303
+ })(CurrencyCode || (CurrencyCode = {}));
304
+ export var DistanceTypes;
305
+ (function (DistanceTypes) {
306
+ DistanceTypes["K"] = "K";
307
+ DistanceTypes["M"] = "M";
308
+ })(DistanceTypes || (DistanceTypes = {}));
309
+ export var FareRuleType;
310
+ (function (FareRuleType) {
311
+ FareRuleType["Cancellation"] = "Cancellation";
312
+ FareRuleType["Change"] = "Change";
313
+ FareRuleType["NoShow"] = "NoShow";
314
+ FareRuleType["Upgrade"] = "Upgrade";
315
+ FareRuleType["Other"] = "Other";
316
+ })(FareRuleType || (FareRuleType = {}));
317
+ export var FareType;
318
+ (function (FareType) {
319
+ FareType["Flexible"] = "Flexible";
320
+ FareType["Lowest"] = "Lowest";
321
+ FareType["Negotiated"] = "Negotiated";
322
+ FareType["NonNegotiated"] = "NonNegotiated";
323
+ FareType["Leisure"] = "Leisure";
324
+ FareType["RequestFareRules"] = "RequestFareRules";
325
+ FareType["SelectAndPro"] = "SelectAndPro";
326
+ })(FareType || (FareType = {}));
327
+ export var FlightCabinClass;
328
+ (function (FlightCabinClass) {
329
+ FlightCabinClass["Any"] = "Any";
330
+ FlightCabinClass["LiteEconomy"] = "LiteEconomy";
331
+ FlightCabinClass["EconomyRestricted"] = "EconomyRestricted";
332
+ FlightCabinClass["EconomyNoBags"] = "EconomyNoBags";
333
+ FlightCabinClass["Economy"] = "Economy";
334
+ FlightCabinClass["PremiumEconomy"] = "PremiumEconomy";
335
+ FlightCabinClass["Business"] = "Business";
336
+ FlightCabinClass["PremiumBusiness"] = "PremiumBusiness";
337
+ FlightCabinClass["First"] = "First";
338
+ FlightCabinClass["PremiumFirst"] = "PremiumFirst";
339
+ })(FlightCabinClass || (FlightCabinClass = {}));
340
+ export var FlightPassengerType;
341
+ (function (FlightPassengerType) {
342
+ FlightPassengerType["Infant"] = "Infant";
343
+ FlightPassengerType["Child"] = "Child";
344
+ FlightPassengerType["Adult"] = "Adult";
345
+ FlightPassengerType["Senior"] = "Senior";
346
+ })(FlightPassengerType || (FlightPassengerType = {}));
347
+ export var IrlClass;
348
+ (function (IrlClass) {
349
+ IrlClass["All"] = "All";
350
+ IrlClass["First"] = "First";
351
+ IrlClass["Standard"] = "Standard";
352
+ })(IrlClass || (IrlClass = {}));
353
+ export var IrlJourneyType;
354
+ (function (IrlJourneyType) {
355
+ IrlJourneyType["ReturnJourney"] = "ReturnJourney";
356
+ IrlJourneyType["SingleJourney"] = "SingleJourney";
357
+ })(IrlJourneyType || (IrlJourneyType = {}));
358
+ export var IrlSupplier;
359
+ (function (IrlSupplier) {
360
+ IrlSupplier["Renfe"] = "Renfe";
361
+ IrlSupplier["BeNe"] = "BeNe";
362
+ IrlSupplier["Ntv"] = "Ntv";
363
+ })(IrlSupplier || (IrlSupplier = {}));
364
+ export var IrlTravellerStatus;
365
+ (function (IrlTravellerStatus) {
366
+ IrlTravellerStatus["Placeholder"] = "placeholder";
367
+ IrlTravellerStatus["Complete"] = "complete";
368
+ })(IrlTravellerStatus || (IrlTravellerStatus = {}));
369
+ export var PassengerType;
370
+ (function (PassengerType) {
371
+ PassengerType["Adult"] = "ADULT";
372
+ PassengerType["Child"] = "CHILD";
373
+ PassengerType["Infant"] = "INFANT";
374
+ })(PassengerType || (PassengerType = {}));
375
+ export var PassportSex;
376
+ (function (PassportSex) {
377
+ PassportSex["M"] = "M";
378
+ PassportSex["F"] = "F";
379
+ })(PassportSex || (PassportSex = {}));
380
+ export var PhoneType;
381
+ (function (PhoneType) {
382
+ PhoneType["Mobile"] = "MOBILE";
383
+ PhoneType["Landline"] = "LANDLINE";
384
+ PhoneType["Fax"] = "FAX";
385
+ PhoneType["Other"] = "OTHER";
386
+ })(PhoneType || (PhoneType = {}));
387
+ export var RailClass;
388
+ (function (RailClass) {
389
+ RailClass["All"] = "All";
390
+ RailClass["First"] = "First";
391
+ RailClass["Standard"] = "Standard";
392
+ })(RailClass || (RailClass = {}));
393
+ export var RailJourneyType;
394
+ (function (RailJourneyType) {
395
+ RailJourneyType["ReturnJourney"] = "ReturnJourney";
396
+ RailJourneyType["SingleJourney"] = "SingleJourney";
397
+ RailJourneyType["DualSingleJourney"] = "DualSingleJourney";
398
+ RailJourneyType["OpenReturnJourney"] = "OpenReturnJourney";
399
+ })(RailJourneyType || (RailJourneyType = {}));
400
+ export var RailStationClassification;
401
+ (function (RailStationClassification) {
402
+ RailStationClassification["Origin"] = "Origin";
403
+ RailStationClassification["Intermediate"] = "Intermediate";
404
+ RailStationClassification["Destination"] = "Destination";
405
+ RailStationClassification["Unknown"] = "Unknown";
406
+ })(RailStationClassification || (RailStationClassification = {}));
407
+ export var RailStoppingPattern;
408
+ (function (RailStoppingPattern) {
409
+ RailStoppingPattern["RequestStop"] = "RequestStop";
410
+ RailStoppingPattern["PickUpOnly"] = "PickUpOnly";
411
+ RailStoppingPattern["SetDownOnly"] = "SetDownOnly";
412
+ RailStoppingPattern["Normal"] = "Normal";
413
+ RailStoppingPattern["Passing"] = "Passing";
414
+ RailStoppingPattern["Unknown"] = "Unknown";
415
+ })(RailStoppingPattern || (RailStoppingPattern = {}));
416
+ export var RailTravellerStatus;
417
+ (function (RailTravellerStatus) {
418
+ RailTravellerStatus["Placeholder"] = "placeholder";
419
+ RailTravellerStatus["Complete"] = "complete";
420
+ })(RailTravellerStatus || (RailTravellerStatus = {}));
421
+ export var RiskLevel;
422
+ (function (RiskLevel) {
423
+ RiskLevel["Low"] = "Low";
424
+ RiskLevel["Moderate"] = "Moderate";
425
+ RiskLevel["Medium"] = "Medium";
426
+ RiskLevel["High"] = "High";
427
+ RiskLevel["Extreme"] = "Extreme";
428
+ })(RiskLevel || (RiskLevel = {}));
429
+ export var ServiceType;
430
+ (function (ServiceType) {
431
+ ServiceType["Flight"] = "FLIGHT";
432
+ ServiceType["Eurostar"] = "EUROSTAR";
433
+ ServiceType["InternationalRail"] = "INTERNATIONAL_RAIL";
434
+ ServiceType["Rail"] = "RAIL";
435
+ ServiceType["Hotel"] = "HOTEL";
436
+ ServiceType["Car"] = "CAR";
437
+ ServiceType["Lounge"] = "LOUNGE";
438
+ ServiceType["FastTrack"] = "FAST_TRACK";
439
+ ServiceType["Parking"] = "PARKING";
440
+ ServiceType["Cab"] = "CAB";
441
+ ServiceType["Coach"] = "COACH";
442
+ })(ServiceType || (ServiceType = {}));
443
+ export var UiConfigTarget;
444
+ (function (UiConfigTarget) {
445
+ UiConfigTarget["All"] = "ALL";
446
+ UiConfigTarget["Mock"] = "MOCK";
447
+ UiConfigTarget["Lightning"] = "LIGHTNING";
448
+ UiConfigTarget["App"] = "APP";
449
+ })(UiConfigTarget || (UiConfigTarget = {}));
450
+ export var UiPresentation;
451
+ (function (UiPresentation) {
452
+ UiPresentation["FreeText"] = "FREE_TEXT";
453
+ UiPresentation["AutoSuggest"] = "AUTO_SUGGEST";
454
+ UiPresentation["Hidden"] = "HIDDEN";
455
+ })(UiPresentation || (UiPresentation = {}));
456
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29idHNlcnZpY2VzL2Jhc2Uvc3JjL2xpYi92ZW5kb3IvdHlwZXMvZ3JhcGhxbC50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtR0EsTUFBTSxDQUFOLElBQVksZ0JBR1g7QUFIRCxXQUFZLGdCQUFnQjtJQUMxQixrREFBOEIsQ0FBQTtJQUM5QixnREFBNEIsQ0FBQTtBQUM5QixDQUFDLEVBSFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUczQjtBQXdCRCxNQUFNLENBQU4sSUFBWSxXQUdYO0FBSEQsV0FBWSxXQUFXO0lBQ3JCLGtDQUFtQixDQUFBO0lBQ25CLHNDQUF1QixDQUFBO0FBQ3pCLENBQUMsRUFIVyxXQUFXLEtBQVgsV0FBVyxRQUd0QjtBQWlFRCxNQUFNLENBQU4sSUFBWSxnQkFJWDtBQUpELFdBQVksZ0JBQWdCO0lBQzFCLGlDQUFhLENBQUE7SUFDYixxQ0FBaUIsQ0FBQTtJQUNqQixvREFBZ0MsQ0FBQTtBQUNsQyxDQUFDLEVBSlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUkzQjtBQUVELE1BQU0sQ0FBTixJQUFZLFlBUVg7QUFSRCxXQUFZLFlBQVk7SUFDdEIsNkJBQWEsQ0FBQTtJQUNiLGlDQUFpQixDQUFBO0lBQ2pCLHNEQUFzQyxDQUFBO0lBQ3RDLHFDQUFxQixDQUFBO0lBQ3JCLDJDQUEyQixDQUFBO0lBQzNCLG9EQUFvQyxDQUFBO0lBQ3BDLGdEQUFnQyxDQUFBO0FBQ2xDLENBQUMsRUFSVyxZQUFZLEtBQVosWUFBWSxRQVF2QjtBQVNELE1BQU0sQ0FBTixJQUFZLFVBVVg7QUFWRCxXQUFZLFVBQVU7SUFDcEIsMkJBQWEsQ0FBQTtJQUNiLHlCQUFXLENBQUE7SUFDWCxpQ0FBbUIsQ0FBQTtJQUNuQiwrQkFBaUIsQ0FBQTtJQUNqQiw0Q0FBOEIsQ0FBQTtJQUM5QixvQ0FBc0IsQ0FBQTtJQUN0QiwrQkFBaUIsQ0FBQTtJQUNqQixxQ0FBdUIsQ0FBQTtJQUN2QixpREFBbUMsQ0FBQTtBQUNyQyxDQUFDLEVBVlcsVUFBVSxLQUFWLFVBQVUsUUFVckI7QUFpRUQsTUFBTSxDQUFOLElBQVksa0JBc0JYO0FBdEJELFdBQVksa0JBQWtCO0lBQzVCLGlDQUFXLENBQUE7SUFDWCx1Q0FBaUIsQ0FBQTtJQUNqQiwrQ0FBeUIsQ0FBQTtJQUN6QiwrQ0FBeUIsQ0FBQTtJQUN6Qix5Q0FBbUIsQ0FBQTtJQUNuQixtREFBNkIsQ0FBQTtJQUM3Qix5REFBbUMsQ0FBQTtJQUNuQyx5REFBbUMsQ0FBQTtJQUNuQywrQ0FBeUIsQ0FBQTtJQUN6QixtREFBNkIsQ0FBQTtJQUM3QixtREFBNkIsQ0FBQTtJQUM3QiwyQ0FBcUIsQ0FBQTtJQUNyQix1REFBaUMsQ0FBQTtJQUNqQywyQ0FBcUIsQ0FBQTtJQUNyQiwyQ0FBcUIsQ0FBQTtJQUNyQiw2Q0FBdUIsQ0FBQTtJQUN2QiwyQ0FBcUIsQ0FBQTtJQUNyQixpREFBMkIsQ0FBQTtJQUMzQixpQ0FBVyxDQUFBO0lBQ1gsMkNBQXFCLENBQUE7SUFDckIseUNBQW1CLENBQUE7QUFDckIsQ0FBQyxFQXRCVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBc0I3QjtBQTJDRCxNQUFNLENBQU4sSUFBWSxZQW1CWDtBQW5CRCxXQUFZLFlBQVk7SUFDdEIsNkJBQWEsQ0FBQTtJQUNiLHVDQUF1QixDQUFBO0lBQ3ZCLG1DQUFtQixDQUFBO0lBQ25CLDZDQUE2QixDQUFBO0lBQzdCLG1DQUFtQixDQUFBO0lBQ25CLDZDQUE2QixDQUFBO0lBQzdCLDZDQUE2QixDQUFBO0lBQzdCLHVEQUF1QyxDQUFBO0lBQ3ZDLHFDQUFxQixDQUFBO0lBQ3JCLCtDQUErQixDQUFBO0lBQy9CLHFDQUFxQixDQUFBO0lBQ3JCLCtDQUErQixDQUFBO0lBQy9CLG1DQUFtQixDQUFBO0lBQ25CLDZDQUE2QixDQUFBO0lBQzdCLGlDQUFpQixDQUFBO0lBQ2pCLDJDQUEyQixDQUFBO0lBQzNCLHFDQUFxQixDQUFBO0lBQ3JCLG1DQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFuQlcsWUFBWSxLQUFaLFlBQVksUUFtQnZCO0FBMEZELE1BQU0sQ0FBTixJQUFZLG1CQUdYO0FBSEQsV0FBWSxtQkFBbUI7SUFDN0Isd0NBQWlCLENBQUE7SUFDakIsb0NBQWEsQ0FBQTtBQUNmLENBQUMsRUFIVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBRzlCO0FBRUQsTUFBTSxDQUFOLElBQVksV0FvQlg7QUFwQkQsV0FBWSxXQUFXO0lBQ3JCLGdEQUFpQyxDQUFBO0lBQ2pDLDhDQUErQixDQUFBO0lBQy9CLGdEQUFpQyxDQUFBO0lBQ2pDLDhDQUErQixDQUFBO0lBQy9CLDRDQUE2QixDQUFBO0lBQzdCLHNDQUF1QixDQUFBO0lBQ3ZCLDhCQUFlLENBQUE7SUFDZiwwQ0FBMkIsQ0FBQTtJQUMzQiwwQkFBVyxDQUFBO0lBQ1gsc0RBQXVDLENBQUE7SUFDdkMsa0NBQW1CLENBQUE7SUFDbkIsb0RBQXFDLENBQUE7SUFDckMsc0RBQXVDLENBQUE7SUFDdkMsa0RBQW1DLENBQUE7SUFDbkMsOEJBQWUsQ0FBQTtJQUNmLDREQUE2QyxDQUFBO0lBQzdDLHNDQUF1QixDQUFBO0lBQ3ZCLGtEQUFtQyxDQUFBO0lBQ25DLG9DQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFwQlcsV0FBVyxLQUFYLFdBQVcsUUFvQnRCO0FBeURELE1BQU0sQ0FBTixJQUFZLGtCQUlYO0FBSkQsV0FBWSxrQkFBa0I7SUFDNUIseUNBQW1CLENBQUE7SUFDbkIsdUNBQWlCLENBQUE7SUFDakIsbUNBQWEsQ0FBQTtBQUNmLENBQUMsRUFKVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBSTdCO0FBd0VELE1BQU0sQ0FBTixJQUFZLGtCQUlYO0FBSkQsV0FBWSxrQkFBa0I7SUFDNUIseUNBQW1CLENBQUE7SUFDbkIseUNBQW1CLENBQUE7SUFDbkIsMkNBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQUpXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFJN0I7QUFvRkQsTUFBTSxDQUFOLElBQVksWUFtTFg7QUFuTEQsV0FBWSxZQUFZO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7QUFDYixDQUFDLEVBbkxXLFlBQVksS0FBWixZQUFZLFFBbUx2QjtBQVVELE1BQU0sQ0FBTixJQUFZLGFBR1g7QUFIRCxXQUFZLGFBQWE7SUFDdkIsd0JBQU8sQ0FBQTtJQUNQLHdCQUFPLENBQUE7QUFDVCxDQUFDLEVBSFcsYUFBYSxLQUFiLGFBQWEsUUFHeEI7QUFvQ0QsTUFBTSxDQUFOLElBQVksWUFNWDtBQU5ELFdBQVksWUFBWTtJQUN0Qiw2Q0FBNkIsQ0FBQTtJQUM3QixpQ0FBaUIsQ0FBQTtJQUNqQixpQ0FBaUIsQ0FBQTtJQUNqQixtQ0FBbUIsQ0FBQTtJQUNuQiwrQkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFOVyxZQUFZLEtBQVosWUFBWSxRQU12QjtBQUVELE1BQU0sQ0FBTixJQUFZLFFBUVg7QUFSRCxXQUFZLFFBQVE7SUFDbEIsaUNBQXFCLENBQUE7SUFDckIsNkJBQWlCLENBQUE7SUFDakIscUNBQXlCLENBQUE7SUFDekIsMkNBQStCLENBQUE7SUFDL0IsK0JBQW1CLENBQUE7SUFDbkIsaURBQXFDLENBQUE7SUFDckMseUNBQTZCLENBQUE7QUFDL0IsQ0FBQyxFQVJXLFFBQVEsS0FBUixRQUFRLFFBUW5CO0FBeUNELE1BQU0sQ0FBTixJQUFZLGdCQVdYO0FBWEQsV0FBWSxnQkFBZ0I7SUFDMUIsK0JBQVcsQ0FBQTtJQUNYLCtDQUEyQixDQUFBO0lBQzNCLDJEQUF1QyxDQUFBO0lBQ3ZDLG1EQUErQixDQUFBO0lBQy9CLHVDQUFtQixDQUFBO0lBQ25CLHFEQUFpQyxDQUFBO0lBQ2pDLHlDQUFxQixDQUFBO0lBQ3JCLHVEQUFtQyxDQUFBO0lBQ25DLG1DQUFlLENBQUE7SUFDZixpREFBNkIsQ0FBQTtBQUMvQixDQUFDLEVBWFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQVczQjtBQTBHRCxNQUFNLENBQU4sSUFBWSxtQkFLWDtBQUxELFdBQVksbUJBQW1CO0lBQzdCLHdDQUFpQixDQUFBO0lBQ2pCLHNDQUFlLENBQUE7SUFDZixzQ0FBZSxDQUFBO0lBQ2Ysd0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUxXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFLOUI7QUEyTkQsTUFBTSxDQUFOLElBQVksUUFJWDtBQUpELFdBQVksUUFBUTtJQUNsQix1QkFBVyxDQUFBO0lBQ1gsMkJBQWUsQ0FBQTtJQUNmLGlDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFKVyxRQUFRLEtBQVIsUUFBUSxRQUluQjtBQStDRCxNQUFNLENBQU4sSUFBWSxjQUdYO0FBSEQsV0FBWSxjQUFjO0lBQ3hCLGlEQUErQixDQUFBO0lBQy9CLGlEQUErQixDQUFBO0FBQ2pDLENBQUMsRUFIVyxjQUFjLEtBQWQsY0FBYyxRQUd6QjtBQTJERCxNQUFNLENBQU4sSUFBWSxXQUlYO0FBSkQsV0FBWSxXQUFXO0lBQ3JCLDhCQUFlLENBQUE7SUFDZiw0QkFBYSxDQUFBO0lBQ2IsMEJBQVcsQ0FBQTtBQUNiLENBQUMsRUFKVyxXQUFXLEtBQVgsV0FBVyxRQUl0QjtBQWdGRCxNQUFNLENBQU4sSUFBWSxrQkFHWDtBQUhELFdBQVksa0JBQWtCO0lBQzVCLGlEQUEyQixDQUFBO0lBQzNCLDJDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBRzdCO0FBMGVELE1BQU0sQ0FBTixJQUFZLGFBSVg7QUFKRCxXQUFZLGFBQWE7SUFDdkIsZ0NBQWUsQ0FBQTtJQUNmLGdDQUFlLENBQUE7SUFDZixrQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBSlcsYUFBYSxLQUFiLGFBQWEsUUFJeEI7QUFrQkQsTUFBTSxDQUFOLElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNyQixzQkFBTyxDQUFBO0lBQ1Asc0JBQU8sQ0FBQTtBQUNULENBQUMsRUFIVyxXQUFXLEtBQVgsV0FBVyxRQUd0QjtBQTRDRCxNQUFNLENBQU4sSUFBWSxTQUtYO0FBTEQsV0FBWSxTQUFTO0lBQ25CLDhCQUFpQixDQUFBO0lBQ2pCLGtDQUFxQixDQUFBO0lBQ3JCLHdCQUFXLENBQUE7SUFDWCw0QkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFMVyxTQUFTLEtBQVQsU0FBUyxRQUtwQjtBQTBoQkQsTUFBTSxDQUFOLElBQVksU0FJWDtBQUpELFdBQVksU0FBUztJQUNuQix3QkFBVyxDQUFBO0lBQ1gsNEJBQWUsQ0FBQTtJQUNmLGtDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFKVyxTQUFTLEtBQVQsU0FBUyxRQUlwQjtBQTBDRCxNQUFNLENBQU4sSUFBWSxlQUtYO0FBTEQsV0FBWSxlQUFlO0lBQ3pCLGtEQUErQixDQUFBO0lBQy9CLGtEQUErQixDQUFBO0lBQy9CLDBEQUF1QyxDQUFBO0lBQ3ZDLDBEQUF1QyxDQUFBO0FBQ3pDLENBQUMsRUFMVyxlQUFlLEtBQWYsZUFBZSxRQUsxQjtBQTRFRCxNQUFNLENBQU4sSUFBWSx5QkFLWDtBQUxELFdBQVkseUJBQXlCO0lBQ25DLDhDQUFpQixDQUFBO0lBQ2pCLDBEQUE2QixDQUFBO0lBQzdCLHdEQUEyQixDQUFBO0lBQzNCLGdEQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFMVyx5QkFBeUIsS0FBekIseUJBQXlCLFFBS3BDO0FBRUQsTUFBTSxDQUFOLElBQVksbUJBT1g7QUFQRCxXQUFZLG1CQUFtQjtJQUM3QixrREFBMkIsQ0FBQTtJQUMzQixnREFBeUIsQ0FBQTtJQUN6QixrREFBMkIsQ0FBQTtJQUMzQix3Q0FBaUIsQ0FBQTtJQUNqQiwwQ0FBbUIsQ0FBQTtJQUNuQiwwQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBUFcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQU85QjtBQTRHRCxNQUFNLENBQU4sSUFBWSxtQkFHWDtBQUhELFdBQVksbUJBQW1CO0lBQzdCLGtEQUEyQixDQUFBO0lBQzNCLDRDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBRzlCO0FBeUJELE1BQU0sQ0FBTixJQUFZLFNBTVg7QUFORCxXQUFZLFNBQVM7SUFDbkIsd0JBQVcsQ0FBQTtJQUNYLGtDQUFxQixDQUFBO0lBQ3JCLDhCQUFpQixDQUFBO0lBQ2pCLDBCQUFhLENBQUE7SUFDYixnQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBTlcsU0FBUyxLQUFULFNBQVMsUUFNcEI7QUFnREQsTUFBTSxDQUFOLElBQVksV0FZWDtBQVpELFdBQVksV0FBVztJQUNyQixnQ0FBaUIsQ0FBQTtJQUNqQixvQ0FBcUIsQ0FBQTtJQUNyQix1REFBd0MsQ0FBQTtJQUN4Qyw0QkFBYSxDQUFBO0lBQ2IsOEJBQWUsQ0FBQTtJQUNmLDBCQUFXLENBQUE7SUFDWCxnQ0FBaUIsQ0FBQTtJQUNqQix1Q0FBd0IsQ0FBQTtJQUN4QixrQ0FBbUIsQ0FBQTtJQUNuQiwwQkFBVyxDQUFBO0lBQ1gsOEJBQWUsQ0FBQTtBQUNqQixDQUFDLEVBWlcsV0FBVyxLQUFYLFdBQVcsUUFZdEI7QUE0RUQsTUFBTSxDQUFOLElBQVksY0FLWDtBQUxELFdBQVksY0FBYztJQUN4Qiw2QkFBVyxDQUFBO0lBQ1gsK0JBQWEsQ0FBQTtJQUNiLHlDQUF1QixDQUFBO0lBQ3ZCLDZCQUFXLENBQUE7QUFDYixDQUFDLEVBTFcsY0FBYyxLQUFkLGNBQWMsUUFLekI7QUFFRCxNQUFNLENBQU4sSUFBWSxjQUlYO0FBSkQsV0FBWSxjQUFjO0lBQ3hCLHdDQUFzQixDQUFBO0lBQ3RCLDhDQUE0QixDQUFBO0lBQzVCLG1DQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyxjQUFjLEtBQWQsY0FBYyxRQUl6QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIE1heWJlPFQ+ID0gVCB8IG51bGw7XG5leHBvcnQgdHlwZSBFeGFjdDxUIGV4dGVuZHMgeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0+ID0geyBbSyBpbiBrZXlvZiBUXTogVFtLXSB9O1xuZXhwb3J0IHR5cGUgTWFrZU9wdGlvbmFsPFQsIEsgZXh0ZW5kcyBrZXlvZiBUPiA9IE9taXQ8VCwgSz4gJiB7IFtTdWJLZXkgaW4gS10/OiBNYXliZTxUW1N1YktleV0+IH07XG5leHBvcnQgdHlwZSBNYWtlTWF5YmU8VCwgSyBleHRlbmRzIGtleW9mIFQ+ID0gT21pdDxULCBLPiAmIHsgW1N1YktleSBpbiBLXTogTWF5YmU8VFtTdWJLZXldPiB9O1xuZXhwb3J0IHR5cGUgRmllbGRXcmFwcGVyPFQ+ID0gVDtcbi8qKiBBbGwgYnVpbHQtaW4gYW5kIGN1c3RvbSBzY2FsYXJzLCBtYXBwZWQgdG8gdGhlaXIgYWN0dWFsIHZhbHVlcyAqL1xuZXhwb3J0IHR5cGUgU2NhbGFycyA9IHtcbiAgSUQ6IHN0cmluZztcbiAgU3RyaW5nOiBzdHJpbmc7XG4gIEJvb2xlYW46IGJvb2xlYW47XG4gIEludDogbnVtYmVyO1xuICBGbG9hdDogbnVtYmVyO1xuICBEYXRlOiBhbnk7XG4gIERhdGVUaW1lOiBhbnk7XG4gIEpTT046IGFueTtcbn07XG5cbmV4cG9ydCB0eXBlIEFkZHJlc3MgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWRkcmVzcyc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG51bWJlck9yTmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdHJlZXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG93bj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG9zdGNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdXNlclByaW1hcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIG9mZmljZVByaW1hcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBBZnRlckNhbmNlbGxhdGlvbkluZm8gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWZ0ZXJDYW5jZWxsYXRpb25JbmZvJztcbiAgY2FuY2VsbGVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY2FuY2VsbGF0aW9uRmVlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBBaXJsaW5lUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0FpcmxpbmVSZXN1bHQnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGlhdGE/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaWNhbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhbGlhcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjYWxsc2lnbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhY3RpdmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGNvbnRpbmVudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJhbm5lckltYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvZ29JbWFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQWlybGluZVJlc3VsdHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWlybGluZVJlc3VsdHMnO1xuICBpYXRhTWF0Y2g/OiBNYXliZTxGaWVsZFdyYXBwZXI8QWlybGluZVJlc3VsdD4+O1xuICBnZW5lcmFsTWF0Y2hlczogQXJyYXk8RmllbGRXcmFwcGVyPEFpcmxpbmVSZXN1bHQ+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEFpcnBvcnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWlycG9ydCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlhdGE/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaWNhbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0ZXJtaW5hbHM6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBoYXNMb3VuZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGhhc1Bhcmtpbmc/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGhhc0Zhc3RUcmFjaz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgaGFzUHVibGljVHJhdmVsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBsb2NhdGlvbkRldGFpbHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8TG9jYXRpb25EZXRhaWw+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEFpcnBvcnREZXRhaWwgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWlycG9ydERldGFpbCc7XG4gIGlhdGE/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaWNhbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGFsdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgc3RhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2l0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb2FkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvcHVsYXJpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgYXJlYT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvZmZzZXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWlycG9ydE5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeU5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG9zdGNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEFpcnBvcnRSZXN1bHRzID0ge1xuICBfX3R5cGVuYW1lPzogJ0FpcnBvcnRSZXN1bHRzJztcbiAgaWF0YU1hdGNoPzogTWF5YmU8RmllbGRXcmFwcGVyPEFpcnBvcnQ+PjtcbiAgZ2VuZXJhbE1hdGNoZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxBaXJwb3J0Pj47XG59O1xuXG5leHBvcnQgZW51bSBBcHBsaWNhdGlvblN0YWdlIHtcbiAgQmVmb3JlU2VhcmNoID0gJ0JFRk9SRV9TRUFSQ0gnLFxuICBBZnRlclNlYXJjaCA9ICdBRlRFUl9TRUFSQ0gnXG59XG5cbmV4cG9ydCB0eXBlIEFwcHJvdmVlID0ge1xuICBfX3R5cGVuYW1lPzogJ0FwcHJvdmVlJztcbiAgYXBwcm92ZWU6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbiAgYWN0aXZlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcHJpb3JpdHk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBBcHByb3ZlciA9IHtcbiAgX190eXBlbmFtZT86ICdBcHByb3Zlcic7XG4gIGFwcHJvdmVyOiBGaWVsZFdyYXBwZXI8VXNlcj47XG4gIGFjdGl2ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHByaW9yaXR5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFnZ2FnZUFsbG93YW5jZSA9IHtcbiAgX190eXBlbmFtZT86ICdCYWdnYWdlQWxsb3dhbmNlJztcbiAgdHlwZTogRmllbGRXcmFwcGVyPEJhZ2dhZ2VUeXBlPjtcbiAgcXR5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBtYXhLRz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIG1heExCUz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgZW51bSBCYWdnYWdlVHlwZSB7XG4gIENoZWNrSW4gPSAnQ2hlY2tJbicsXG4gIEhhbmRDYXJyeSA9ICdIYW5kQ2FycnknXG59XG5cbmV4cG9ydCB0eXBlIEJhc2tldCA9IHtcbiAgX190eXBlbmFtZT86ICdCYXNrZXQnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBvd25lcjogRmllbGRXcmFwcGVyPFVzZXI+O1xuICByZWZlcmVuY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRpdGxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBub3Rlcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGJhc2tldEl0ZW1zOiBBcnJheTxGaWVsZFdyYXBwZXI8QmFza2V0SXRlbT4+O1xuICBzdGF0dXM6IEZpZWxkV3JhcHBlcjxCYXNrZXRTdGF0dXM+O1xuICBjb21wYW55R3JvdXA/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q29tcGFueUdyb3VwPj47XG4gIHZhbGlkYXRlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGJvb2tlZEF0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhc2tldEl0ZW0gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQmFza2V0SXRlbSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIGJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGFkdWx0czogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgY2hpbGRyZW46IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIGluZmFudHM6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIGRldGFpbDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG4gIGRldGFpbEhhc2g6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZXhwaXJ5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGV4cGlyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1c2VyczogQXJyYXk8RmllbGRXcmFwcGVyPFVzZXI+PjtcbiAgdXNlclBhc3NlbmdlclR5cGVzOiBBcnJheTxGaWVsZFdyYXBwZXI8VXNlclBhc3NlbmdlclR5cGU+PjtcbiAgbGVhZFBhc3Nlbmdlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxVc2VyPj47XG4gIHNlcnZpY2U6IEZpZWxkV3JhcHBlcjxTZXJ2aWNlPjtcbiAgc2VhcmNoUXVlcnk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICBwcmljZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjdXJyZW5jeTogRmllbGRXcmFwcGVyPEN1cnJlbmN5Q29kZT47XG4gIG1pR3JvdXBzQXZhaWxhYmxlOiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWlHcm91cFNlbGVjdGVkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1hbmFnZW1lbnRJbmZvOiBBcnJheTxGaWVsZFdyYXBwZXI8TWFuYWdlbWVudEluZm8+PjtcbiAgdmFsaWRhdGVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgbGF0ZXN0VmFsaWRhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG4gIGxhdGVzdFZhbGlkYXRpb25QcmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBsYXRlc3RWYWxpZGF0aW9uUHJpY2VEaWZmZXJlbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGxhdGVzdFZhbGlkYXRpb25BdmFpbGFibGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGJvb2tpbmdUaGlyZFBhcnR5UmVmZXJlbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBuckxvY2F0b3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RhdHVzOiBGaWVsZFdyYXBwZXI8QmFza2V0SXRlbVN0YXR1cz47XG4gIGF2YWlsYWJsZVBheW1lbnRNZXRob2RzOiBBcnJheTxGaWVsZFdyYXBwZXI8UGF5bWVudE1ldGhvZD4+O1xuICBzZWxlY3RlZFBheW1lbnRNZXRob2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8UGF5bWVudE1ldGhvZD4+O1xuICBwZXJJdGVtU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbiAgcGVyUGFzc2VuZ2VyU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbiAgcGVySXRlbUFkZHJlc3M6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwZXJJdGVtUGhvbmVOdW1iZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwZXJQYXNzZW5nZXJBZGRyZXNzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGVyUGFzc2VuZ2VyUGhvbmVOdW1iZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjYW5jZWxsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGFtZW5kYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvMlBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJJdGVtOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIG91dGJvdW5kRGF0ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBpbmJvdW5kRGF0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG59O1xuXG5leHBvcnQgZW51bSBCYXNrZXRJdGVtU3RhdHVzIHtcbiAgT3BlbiA9ICdPUEVOJyxcbiAgQm9va2VkID0gJ0JPT0tFRCcsXG4gIEJvb2tpbmdGYWlsZWQgPSAnQk9PS0lOR19GQUlMRUQnXG59XG5cbmV4cG9ydCBlbnVtIEJhc2tldFN0YXR1cyB7XG4gIE9wZW4gPSAnT1BFTicsXG4gIEJvb2tlZCA9ICdCT09LRUQnLFxuICBBd2FpdGluZ0FwcHJvdmFsID0gJ0FXQUlUSU5HX0FQUFJPVkFMJyxcbiAgQXBwcm92ZWQgPSAnQVBQUk9WRUQnLFxuICBEaXNhcHByb3ZlZCA9ICdESVNBUFBST1ZFRCcsXG4gIFBhcnRpYWxseUJvb2tlZCA9ICdQQVJUSUFMTFlfQk9PS0VEJyxcbiAgQm9va2luZ0ZhaWxlZCA9ICdCT09LSU5HX0ZBSUxFRCdcbn1cblxuZXhwb3J0IHR5cGUgQmVmb3JlQ2FuY2VsbGF0aW9uSW5mbyA9IHtcbiAgX190eXBlbmFtZT86ICdCZWZvcmVDYW5jZWxsYXRpb25JbmZvJztcbiAgY2FuY2VsbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBpbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNhbmNlbGxhdGlvbkZlZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgZW51bSBCb29rZXJUeXBlIHtcbiAgUm9vdCA9ICdST09UJyxcbiAgVG1jID0gJ1RNQycsXG4gIENvbXBhbnkgPSAnQ09NUEFOWScsXG4gIE9mZmljZSA9ICdPRkZJQ0UnLFxuICBDb21wYW55R3JvdXAgPSAnQ09NUEFOWV9HUk9VUCcsXG4gIFNlbGZCb29rID0gJ1NFTEZfQk9PSycsXG4gIEJvb2tlciA9ICdCT09LRVInLFxuICBUcmF2ZWxsZXIgPSAnVFJBVkVMTEVSJyxcbiAgQm9va2VyV2l0aFNlbGYgPSAnQk9PS0VSX1dJVEhfU0VMRidcbn1cblxuZXhwb3J0IHR5cGUgQm9va2luZ0FkZHJlc3MgPSB7XG4gIG51bWJlck9yTmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHN0cmVldDogU2NhbGFyc1snU3RyaW5nJ107XG4gIHRvd246IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBwb3N0Y29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50cnlDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJvb2tpbmdQaG9uZU51bWJlciA9IHtcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhcmVhQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIG51bWJlcjogU2NhbGFyc1snU3RyaW5nJ107XG4gIGV4dGVuc2lvbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENhYkhpcmVMb2NhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdDYWJIaXJlTG9jYXRpb24nO1xuICBhZGRyZXNzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwb3N0Y29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FiSGlyZUxvY2F0aW9uSW5wdXQgPSB7XG4gIGFkZHJlc3M6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBwb3N0Y29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5leHBvcnQgdHlwZSBDYWJIaXJlUXVvdGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FiSGlyZVF1b3RlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgc3VwcGxpZXJOYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlc3RpbWF0ZWRDTzI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgcHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY3VycmVuY3k6IEZpZWxkV3JhcHBlcjxDdXJyZW5jeUNvZGU+O1xuICB2ZWhpY2xlVHlwZTogRmllbGRXcmFwcGVyPENhYkhpcmVWZWhpY2xlVHlwZT47XG4gIHRyaXBEaXN0YW5jZU1ldHJlcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICB0cmlwRHVyYXRpb25TZWNvbmRzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGRlcGFydHM6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdG1jUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY29tcGFueVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG9mZmljZVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRtY1ByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB1bmF2YWlsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVuYXZhaWxhYmxlTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmcm9tTG9jYXRpb246IEZpZWxkV3JhcHBlcjxDYWJIaXJlTG9jYXRpb24+O1xuICB0b0xvY2F0aW9uOiBGaWVsZFdyYXBwZXI8Q2FiSGlyZUxvY2F0aW9uPjtcbiAgdmlhczogQXJyYXk8RmllbGRXcmFwcGVyPENhYkhpcmVMb2NhdGlvbj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FiSGlyZVJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdDYWJIaXJlUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPENhYkhpcmVRdW90ZT4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IGVudW0gQ2FiSGlyZVZlaGljbGVUeXBlIHtcbiAgQW55ID0gJ0FueScsXG4gIERkYUNhciA9ICdEREFDYXInLFxuICBDb2FjaExhcmdlID0gJ0NvYWNoTGFyZ2UnLFxuICBDb2FjaFNtYWxsID0gJ0NvYWNoU21hbGwnLFxuICBFY29ub215ID0gJ0Vjb25vbXknLFxuICBFY29ub215Q29hY2ggPSAnRWNvbm9teUNvYWNoJyxcbiAgRWNvbm9teU1wdlNtYWxsID0gJ0Vjb25vbXlNUFZTbWFsbCcsXG4gIEVjb25vbXlNcHZMYXJnZSA9ICdFY29ub215TVBWTGFyZ2UnLFxuICBFY29ub215U3V2ID0gJ0Vjb25vbXlTVVYnLFxuICBFeGVjdXRpdmVDYXIgPSAnRXhlY3V0aXZlQ2FyJyxcbiAgRXhlY3V0aXZlU3V2ID0gJ0V4ZWN1dGl2ZVNVVicsXG4gIEdyZWVuQ2FyID0gJ0dyZWVuQ2FyJyxcbiAgR3JlZW5FeGVjdXRpdmUgPSAnR3JlZW5FeGVjdXRpdmUnLFxuICBHcmVlblN1diA9ICdHcmVlblNVVicsXG4gIFNtYWxsTXB2ID0gJ1NtYWxsTVBWJyxcbiAgTWVkaXVtTXB2ID0gJ01lZGl1bU1QVicsXG4gIExhcmdlTXB2ID0gJ0xhcmdlTVBWJyxcbiAgU3RhbmRhcmRDYXIgPSAnU3RhbmRhcmRDYXInLFxuICBTdXYgPSAnU1VWJyxcbiAgQmxhY2tDYWIgPSAnQmxhY2tDYWInLFxuICBUYXhpU3V2ID0gJ1RheGlTVVYnXG59XG5cbmV4cG9ydCB0eXBlIENhckhpcmVBZGRpdGlvbmFsSW5mb0l0ZW0gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZUFkZGl0aW9uYWxJbmZvSXRlbSc7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGV4dD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIGpzb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY3VzdG9tPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVDdXN0b20+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZUFkZHJlc3MgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZUFkZHJlc3MnO1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRvcExpbmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2l0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByZWdpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG9zdENvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGF0ZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZUFpcnBvcnRJbnB1dCA9IHtcbiAgcGlja3VwQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZHJvcG9mZkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlQ2hhcmdlID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVDaGFyZ2UnO1xuICBsYWJlbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhbW91bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY3VycmVuY3lDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlQ2l0eUlucHV0ID0ge1xuICBwaWNrdXBDb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGlja3VwQ2l0eT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZHJvcG9mZkNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkcm9wb2ZmQ2l0eT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCBlbnVtIENhckhpcmVDbGFzcyB7XG4gIE1pbmkgPSAnTWluaScsXG4gIE1pbmlFbGl0ZSA9ICdNaW5pRWxpdGUnLFxuICBFY29ub215ID0gJ0Vjb25vbXknLFxuICBFY29ub215RWxpdGUgPSAnRWNvbm9teUVsaXRlJyxcbiAgQ29tcGFjdCA9ICdDb21wYWN0JyxcbiAgQ29tcGFjdEVsaXRlID0gJ0NvbXBhY3RFbGl0ZScsXG4gIEludGVybWVkaWF0ZSA9ICdJbnRlcm1lZGlhdGUnLFxuICBJbnRlcm1lZGlhdGVFbGl0ZSA9ICdJbnRlcm1lZGlhdGVFbGl0ZScsXG4gIFN0YW5kYXJkID0gJ1N0YW5kYXJkJyxcbiAgU3RhbmRhcmRFbGl0ZSA9ICdTdGFuZGFyZEVsaXRlJyxcbiAgRnVsbHNpemUgPSAnRnVsbHNpemUnLFxuICBGdWxsc2l6ZUVsaXRlID0gJ0Z1bGxzaXplRWxpdGUnLFxuICBQcmVtaXVtID0gJ1ByZW1pdW0nLFxuICBQcmVtaXVtRWxpdGUgPSAnUHJlbWl1bUVsaXRlJyxcbiAgTHV4dXJ5ID0gJ0x1eHVyeScsXG4gIEx1eHVyeUVsaXRlID0gJ0x1eHVyeUVsaXRlJyxcbiAgT3ZlcnNpemUgPSAnT3ZlcnNpemUnLFxuICBTcGVjaWFsID0gJ1NwZWNpYWwnXG59XG5cbmV4cG9ydCB0eXBlIENhckhpcmVDdXN0b20gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZUN1c3RvbSc7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGV4dD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlRGVwb3QgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZURlcG90JztcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9jYXRpb25Db2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGV4dGVuZGVkTG9jYXRpb25Db2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHZlbmRvckNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICB2ZW5kb3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRkcmVzc0xpbmVzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgY2l0eU5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVEZXBvdFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlRGVwb3RSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q2FySGlyZURlcG90Pj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlRGV0YWlsUmVxdWVzdFJlc3BvbnNlID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVEZXRhaWxSZXF1ZXN0UmVzcG9uc2UnO1xuICBpZGVudGlmaWVycz86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlSWRlbnRpZmllcnM+PjtcbiAgdmVuZG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVWZW5kb3I+PjtcbiAgYWRkcmVzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlQWRkcmVzcz4+O1xuICBhZGRpdGlvbmFsSW5mbz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxDYXJIaXJlQWRkaXRpb25hbEluZm9JdGVtPj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZURpc3BsYXlSZWNvcmQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZURpc3BsYXlSZWNvcmQnO1xuICBzdGF0dXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcGlja3VwPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRyb3BvZmY/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdmVuZG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVWZW5kb3I+PjtcbiAgdmVoaWNsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlVmVoaWNsZT4+O1xuICBjaGFyZ2VzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVDaGFyZ2U+Pj4+O1xuICBwaWNrdXBMb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlQWRkcmVzcz4+O1xuICByZXR1cm5Mb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlQWRkcmVzcz4+O1xuICBhZGRpdGlvbmFsSW5mbz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlQWRkaXRpb25hbEluZm9JdGVtPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVJZGVudGlmaWVycyA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlSWRlbnRpZmllcnMnO1xuICBsb2NhdG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJwaD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGF0dXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdmVoVHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbkNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZXh0ZW5kZWRMb2NhdGlvbkNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9jYXRpb25OYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRyb3BPZmZMb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwaWNrdXBEYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG4gIGRyb3BvZmZEYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG4gIHZlbmRvcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZUlucHV0SWRlbnRpZmllcnMgPSB7XG4gIGxvY2F0b3I/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJwaD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RhdHVzPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2ZWhUeXBlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsb2NhdGlvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGV4dGVuZGVkTG9jYXRpb25Db2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsb2NhdGlvbk5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BPZmZMb2NhdGlvbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGlja3VwRGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZHJvcG9mZkRhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHZlbmRvcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVMb2NhdGlvbklucHV0ID0ge1xuICBwaWNrdXBDb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGlja3VwUG9zdGFsQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZHJvcG9mZkNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkcm9wb2ZmUG9zdGFsQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZVJlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxDYXJIaXJlVmVoaWNsZUF2YWlsaWJpbGl0eT4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IGVudW0gQ2FySGlyZVRyYW5zbWlzc2lvbiB7XG4gIE1hbnVhbCA9ICdNYW51YWwnLFxuICBBdXRvID0gJ0F1dG8nXG59XG5cbmV4cG9ydCBlbnVtIENhckhpcmVUeXBlIHtcbiAgVHdvVG9UaHJlZURvb3IgPSAnVHdvVG9UaHJlZURvb3InLFxuICBUd29PckZvdXJEb29yID0gJ1R3b09yRm91ckRvb3InLFxuICBGb3VyVG9GaXZlRG9vciA9ICdGb3VyVG9GaXZlRG9vcicsXG4gIFdhZ29uT3JFc3RhdGUgPSAnV2Fnb25PckVzdGF0ZScsXG4gIFBhc3NlbmdlclZhbiA9ICdQYXNzZW5nZXJWYW4nLFxuICBMaW1vdXNpbmUgPSAnTGltb3VzaW5lJyxcbiAgU3BvcnQgPSAnU3BvcnQnLFxuICBDb252ZXJ0aWJsZSA9ICdDb252ZXJ0aWJsZScsXG4gIFN1diA9ICdTVVYnLFxuICBPcGVuQWlyQWxsVGVycmFpbiA9ICdPcGVuQWlyQWxsVGVycmFpbicsXG4gIFNwZWNpYWwgPSAnU3BlY2lhbCcsXG4gIFBpY2tVcFJlZ3VsYXJDYWIgPSAnUGlja1VwUmVndWxhckNhYicsXG4gIFBpY2tVcEV4dGVuZGVkQ2FiID0gJ1BpY2tVcEV4dGVuZGVkQ2FiJyxcbiAgU3BlY2lhbE9mZmVyQ2FyID0gJ1NwZWNpYWxPZmZlckNhcicsXG4gIENvdXBlID0gJ0NvdXBlJyxcbiAgTW9ub3NwYWNlRXVyb3BlYW5Vc2UgPSAnTW9ub3NwYWNlRXVyb3BlYW5Vc2UnLFxuICBNb3RvckhvbWUgPSAnTW90b3JIb21lJyxcbiAgVHdvV2hlZWxWZWhpY2xlID0gJ1R3b1doZWVsVmVoaWNsZScsXG4gIFJvYWRzdGVyID0gJ1JvYWRzdGVyJ1xufVxuXG5leHBvcnQgdHlwZSBDYXJIaXJlVmVoaWNsZSA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlVmVoaWNsZSc7XG4gIGNsYXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhbnNtaXNzaW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFpcmNvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaW1hZ2VzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVWZWhpY2xlQXZhaWxpYmlsaXR5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVWZWhpY2xlQXZhaWxpYmlsaXR5JztcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZUlkZW50aWZpZXJzPj47XG4gIGRpc3BsYXlSZWNvcmQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZURpc3BsYXlSZWNvcmQ+PjtcbiAgdG1jUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY29tcGFueVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG9mZmljZVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRtY1ByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB1bmF2YWlsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVuYXZhaWxhYmxlTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbzJQZXJQYXNzZW5nZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVySXRlbTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZVZlbmRvciA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlVmVuZG9yJztcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2dvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJib25BbGxvd2FuY2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FyYm9uQWxsb3dhbmNlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgc3RhcnRPZlBlcmlvZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBlbmRPZlBlcmlvZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICByZW1haW5pbmdDbzI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgdG90YWxDbzI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY2FyYm9uUG9saWN5U291cmNlOiBGaWVsZFdyYXBwZXI8Q2FyYm9uUG9saWN5U291cmNlPjtcbiAgcGVyaW9kQ29uc3VtcHRpb246IEFycmF5PEZpZWxkV3JhcHBlcjxDYXJib25Db25zdW1wdGlvbj4+O1xuICBjb21wYW55PzogTWF5YmU8RmllbGRXcmFwcGVyPENvbXBhbnk+PjtcbiAgb2ZmaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPE9mZmljZT4+O1xuICB1c2VyOiBGaWVsZFdyYXBwZXI8VXNlcj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJib25Db25zdW1wdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJib25Db25zdW1wdGlvbic7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIGNvbnN1bWVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGRhdGV0aW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG59O1xuXG5leHBvcnQgZW51bSBDYXJib25Qb2xpY3lTb3VyY2Uge1xuICBDb21wYW55ID0gJ0NPTVBBTlknLFxuICBPZmZpY2UgPSAnT0ZGSUNFJyxcbiAgVXNlciA9ICdVU0VSJ1xufVxuXG5leHBvcnQgdHlwZSBDaXR5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NpdHknO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5Q29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29vcmRpbmF0ZXM6IEZpZWxkV3JhcHBlcjxHZW9Db29yZGluYXRlcz47XG4gIGNvbnRpbmVudE5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBDb21wYW55ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbXBhbnknO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0bWM6IEZpZWxkV3JhcHBlcjxUbWM+O1xuICBvZmZpY2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8T2ZmaWNlPj47XG4gIGNvbXBhbnlHcm91cHM6IEFycmF5PEZpZWxkV3JhcHBlcjxDb21wYW55R3JvdXA+PjtcbiAgYWRkcmVzc2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8QWRkcmVzcz4+O1xuICBwaG9uZU51bWJlcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxQaG9uZU51bWJlcj4+O1xuICBzdXBwb3J0UGhvbmVOdW1iZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8UGhvbmVOdW1iZXI+PjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBzdXBwb3J0RW1haWw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvMkNvbnN1bXB0aW9uUG9saWN5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvMkFsbG93YW5jZVBlcmlvZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbzJBbGxvd2FuY2VQZXJQZXJpb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbXBhbnlHcm91cCA9IHtcbiAgX190eXBlbmFtZT86ICdDb21wYW55R3JvdXAnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXNjcmlwdGlvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29tcGFueTogRmllbGRXcmFwcGVyPENvbXBhbnk+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG59O1xuXG5leHBvcnQgdHlwZSBDb25mZXJtYUJsb2NrZWRIb3RlbHNSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFCbG9ja2VkSG90ZWxzUmVzdWx0JztcbiAgcmVzdWx0czogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBDb25mZXJtYUNhcmQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFDYXJkJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbGFiZWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG9rZW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgd2ViSW5zdGFuY2VJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb21wYW55PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+PjtcbiAgb2ZmaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+PjtcbiAgdXNlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPj47XG4gIHN0YXR1czogRmllbGRXcmFwcGVyPENvbmZlcm1hQ2FyZFN0YXR1cz47XG4gIGV4cGlyZXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FyZEhvbGRlck5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FyZFR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hQ2FyZFJlc3VsdHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFDYXJkUmVzdWx0cyc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIGxhYmVsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRva2VuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNhcmRIb2xkZXJOYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNhcmRUeXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGV4cGlyZXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPj47XG4gIHN0YXR1czogRmllbGRXcmFwcGVyPENvbmZlcm1hQ2FyZFN0YXR1cz47XG59O1xuXG5leHBvcnQgZW51bSBDb25mZXJtYUNhcmRTdGF0dXMge1xuICBQZW5kaW5nID0gJ1BlbmRpbmcnLFxuICBFbmFibGVkID0gJ0VuYWJsZWQnLFxuICBEaXNhYmxlZCA9ICdEaXNhYmxlZCdcbn1cblxuZXhwb3J0IHR5cGUgQ29uZmVybWFDaXR5TG9jYXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFDaXR5TG9jYXRpb24nO1xuICBmb3VuZEV4YWN0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgc3VnZ2VzdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8Q29uZmVybWFDaXR5TG9jYXRpb25PcHRpb25zPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hQ2l0eUxvY2F0aW9uT3B0aW9ucyA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYUNpdHlMb2NhdGlvbk9wdGlvbnMnO1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5Q29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFDcmVhdGVDYXJkUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hQ3JlYXRlQ2FyZFJlc3VsdCc7XG4gIHJlc3VsdHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hT2ZmaWNlQWRkcmVzcyA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZUFkZHJlc3MnO1xuICBhZGRyZXNzTmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRyZXNzTGluZTE/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRkcmVzc0xpbmUyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkZHJlc3NMaW5lMz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwb3N0YWxDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeU5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGVsZXBob25lTnVtYmVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhY3NpbWlsZU51bWJlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBlbWFpbEFkZHJlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RhdGVQcm92aW5jZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtb2JpbGVOdW1iZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hT2ZmaWNlSG90ZWxzID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlSG90ZWxzJztcbiAgaG90ZWxJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBob3RlbE5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaXNQcmVmZXJyZWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDb25mZXJtYU9mZmljZUluZm8gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VJbmZvJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRkcmVzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxDb25mZXJtYU9mZmljZUFkZHJlc3M+PjtcbiAgY2xvc2VzdEFpcnBvcnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2xvc2VzdFRyYWluU3RhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2xvc2VzdEhvdGVscz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxDb25mZXJtYU9mZmljZUhvdGVscz4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBDb25mZXJtYU9mZmljZU5hbWVzID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlTmFtZXMnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hT2ZmaWNlTmFtZXNSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VOYW1lc1Jlc3VsdCc7XG4gIHJlc3VsdHM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8Q29uZmVybWFPZmZpY2VOYW1lcz4+Pj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBDb25mZXJtYU9mZmljZVJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZVJlc3VsdCc7XG4gIHJlc3VsdHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q29uZmVybWFPZmZpY2VJbmZvPj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBDb3VudHJ5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvdW50cnknO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkaWFsQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gQ3VycmVuY3lDb2RlIHtcbiAgQWVkID0gJ0FFRCcsXG4gIEFmbiA9ICdBRk4nLFxuICBBbGwgPSAnQUxMJyxcbiAgQW1kID0gJ0FNRCcsXG4gIEFuZyA9ICdBTkcnLFxuICBBb2EgPSAnQU9BJyxcbiAgQXJzID0gJ0FSUycsXG4gIEF1ZCA9ICdBVUQnLFxuICBBd2cgPSAnQVdHJyxcbiAgQXpuID0gJ0FaTicsXG4gIEJhbSA9ICdCQU0nLFxuICBCYmQgPSAnQkJEJyxcbiAgQmR0ID0gJ0JEVCcsXG4gIEJnbiA9ICdCR04nLFxuICBCaGQgPSAnQkhEJyxcbiAgQmlmID0gJ0JJRicsXG4gIEJtZCA9ICdCTUQnLFxuICBCbmQgPSAnQk5EJyxcbiAgQm9iID0gJ0JPQicsXG4gIEJvdiA9ICdCT1YnLFxuICBCcmwgPSAnQlJMJyxcbiAgQnNkID0gJ0JTRCcsXG4gIEJ0biA9ICdCVE4nLFxuICBCd3AgPSAnQldQJyxcbiAgQnluID0gJ0JZTicsXG4gIEJ6ZCA9ICdCWkQnLFxuICBDYWQgPSAnQ0FEJyxcbiAgQ2RmID0gJ0NERicsXG4gIENoZSA9ICdDSEUnLFxuICBDaGYgPSAnQ0hGJyxcbiAgQ2h3ID0gJ0NIVycsXG4gIENsZiA9ICdDTEYnLFxuICBDbHAgPSAnQ0xQJyxcbiAgQ255ID0gJ0NOWScsXG4gIENvcCA9ICdDT1AnLFxuICBDb3UgPSAnQ09VJyxcbiAgQ3JjID0gJ0NSQycsXG4gIEN1YyA9ICdDVUMnLFxuICBDdXAgPSAnQ1VQJyxcbiAgQ3ZlID0gJ0NWRScsXG4gIEN6ayA9ICdDWksnLFxuICBEamYgPSAnREpGJyxcbiAgRGtrID0gJ0RLSycsXG4gIERvcCA9ICdET1AnLFxuICBEemQgPSAnRFpEJyxcbiAgRWdwID0gJ0VHUCcsXG4gIEVybiA9ICdFUk4nLFxuICBFdGIgPSAnRVRCJyxcbiAgRXVyID0gJ0VVUicsXG4gIEZqZCA9ICdGSkQnLFxuICBGa3AgPSAnRktQJyxcbiAgR2JwID0gJ0dCUCcsXG4gIEdlbCA9ICdHRUwnLFxuICBHaHMgPSAnR0hTJyxcbiAgR2lwID0gJ0dJUCcsXG4gIEdtZCA9ICdHTUQnLFxuICBHbmYgPSAnR05GJyxcbiAgR3RxID0gJ0dUUScsXG4gIEd5ZCA9ICdHWUQnLFxuICBIa2QgPSAnSEtEJyxcbiAgSG5sID0gJ0hOTCcsXG4gIEhyayA9ICdIUksnLFxuICBIdGcgPSAnSFRHJyxcbiAgSHVmID0gJ0hVRicsXG4gIElkciA9ICdJRFInLFxuICBJbHMgPSAnSUxTJyxcbiAgSW5yID0gJ0lOUicsXG4gIElxZCA9ICdJUUQnLFxuICBJcnIgPSAnSVJSJyxcbiAgSXNrID0gJ0lTSycsXG4gIEptZCA9ICdKTUQnLFxuICBKb2QgPSAnSk9EJyxcbiAgSnB5ID0gJ0pQWScsXG4gIEtlcyA9ICdLRVMnLFxuICBLZ3MgPSAnS0dTJyxcbiAgS2hyID0gJ0tIUicsXG4gIEttZiA9ICdLTUYnLFxuICBLcHcgPSAnS1BXJyxcbiAgS3J3ID0gJ0tSVycsXG4gIEt3ZCA9ICdLV0QnLFxuICBLeWQgPSAnS1lEJyxcbiAgS3p0ID0gJ0taVCcsXG4gIExhayA9ICdMQUsnLFxuICBMYnAgPSAnTEJQJyxcbiAgTGtyID0gJ0xLUicsXG4gIExyZCA9ICdMUkQnLFxuICBMc2wgPSAnTFNMJyxcbiAgTHlkID0gJ0xZRCcsXG4gIE1hZCA9ICdNQUQnLFxuICBNZGwgPSAnTURMJyxcbiAgTWdhID0gJ01HQScsXG4gIE1rZCA9ICdNS0QnLFxuICBNbWsgPSAnTU1LJyxcbiAgTW50ID0gJ01OVCcsXG4gIE1vcCA9ICdNT1AnLFxuICBNcnUgPSAnTVJVJyxcbiAgTXVyID0gJ01VUicsXG4gIE12ciA9ICdNVlInLFxuICBNd2sgPSAnTVdLJyxcbiAgTXhuID0gJ01YTicsXG4gIE14diA9ICdNWFYnLFxuICBNeXIgPSAnTVlSJyxcbiAgTXpuID0gJ01aTicsXG4gIE5hZCA9ICdOQUQnLFxuICBOZ24gPSAnTkdOJyxcbiAgTmlvID0gJ05JTycsXG4gIE5vayA9ICdOT0snLFxuICBOcHIgPSAnTlBSJyxcbiAgTnpkID0gJ05aRCcsXG4gIE9tciA9ICdPTVInLFxuICBQYWIgPSAnUEFCJyxcbiAgUGVuID0gJ1BFTicsXG4gIFBnayA9ICdQR0snLFxuICBQaHAgPSAnUEhQJyxcbiAgUGtyID0gJ1BLUicsXG4gIFBsbiA9ICdQTE4nLFxuICBQeWcgPSAnUFlHJyxcbiAgUWFyID0gJ1FBUicsXG4gIFJvbiA9ICdST04nLFxuICBSc2QgPSAnUlNEJyxcbiAgUnViID0gJ1JVQicsXG4gIFJ3ZiA9ICdSV0YnLFxuICBTYXIgPSAnU0FSJyxcbiAgU2JkID0gJ1NCRCcsXG4gIFNjciA9ICdTQ1InLFxuICBTZGcgPSAnU0RHJyxcbiAgU2VrID0gJ1NFSycsXG4gIFNnZCA9ICdTR0QnLFxuICBTaHAgPSAnU0hQJyxcbiAgU2xsID0gJ1NMTCcsXG4gIFNvcyA9ICdTT1MnLFxuICBTcmQgPSAnU1JEJyxcbiAgU3NwID0gJ1NTUCcsXG4gIFN0biA9ICdTVE4nLFxuICBTdmMgPSAnU1ZDJyxcbiAgU3lwID0gJ1NZUCcsXG4gIFN6bCA9ICdTWkwnLFxuICBUaGIgPSAnVEhCJyxcbiAgVGpzID0gJ1RKUycsXG4gIFRtdCA9ICdUTVQnLFxuICBUbmQgPSAnVE5EJyxcbiAgVG9wID0gJ1RPUCcsXG4gIFRyeSA9ICdUUlknLFxuICBUdGQgPSAnVFREJyxcbiAgVHdkID0gJ1RXRCcsXG4gIFR6cyA9ICdUWlMnLFxuICBVYWggPSAnVUFIJyxcbiAgVWd4ID0gJ1VHWCcsXG4gIFVzZCA9ICdVU0QnLFxuICBVc24gPSAnVVNOJyxcbiAgVXlpID0gJ1VZSScsXG4gIFV5dSA9ICdVWVUnLFxuICBVenMgPSAnVVpTJyxcbiAgVmVmID0gJ1ZFRicsXG4gIFZuZCA9ICdWTkQnLFxuICBWdXYgPSAnVlVWJyxcbiAgV3N0ID0gJ1dTVCcsXG4gIFhhZiA9ICdYQUYnLFxuICBYYWcgPSAnWEFHJyxcbiAgWGF1ID0gJ1hBVScsXG4gIFhiYSA9ICdYQkEnLFxuICBYYmIgPSAnWEJCJyxcbiAgWGJjID0gJ1hCQycsXG4gIFhiZCA9ICdYQkQnLFxuICBYY2QgPSAnWENEJyxcbiAgWGRyID0gJ1hEUicsXG4gIFhvZiA9ICdYT0YnLFxuICBYcGQgPSAnWFBEJyxcbiAgWHBmID0gJ1hQRicsXG4gIFhwdCA9ICdYUFQnLFxuICBYc3UgPSAnWFNVJyxcbiAgWHRzID0gJ1hUUycsXG4gIFh1YSA9ICdYVUEnLFxuICBYeHggPSAnWFhYJyxcbiAgWWVyID0gJ1lFUicsXG4gIFphciA9ICdaQVInLFxuICBabXcgPSAnWk1XJyxcbiAgWndsID0gJ1pXTCdcbn1cblxuXG5cbmV4cG9ydCB0eXBlIERlc3RpbmF0aW9uRW50cnkgPSB7XG4gIG9yaWc6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkZXN0OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGF0ZTogU2NhbGFyc1snRGF0ZSddO1xufTtcblxuZXhwb3J0IGVudW0gRGlzdGFuY2VUeXBlcyB7XG4gIEsgPSAnSycsXG4gIE0gPSAnTSdcbn1cblxuZXhwb3J0IHR5cGUgRHluYW1pY0NvbmRpdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdEeW5hbWljQ29uZGl0aW9uJztcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmVGbGlnaHRTZWFyY2hSZXN1bHRzID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZFRmxpZ2h0U2VhcmNoUmVzdWx0cyc7XG4gIGpvdXJuZXlzOiBBcnJheTxGaWVsZFdyYXBwZXI8RmxpZ2h0SXRpbmVyYXJ5Pj47XG4gIG11bHRpOiBBcnJheTxGaWVsZFdyYXBwZXI8SXRpbmVyYXJ5U3VtbWFyeT4+O1xuICBncm91cGVkPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPEdyb3VwRmxpZ2h0cz4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZhcmVDb25kaXRpb25FbnRyeSA9IHtcbiAgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknO1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0eXBlOiBGaWVsZFdyYXBwZXI8RmFyZVJ1bGVUeXBlPjtcbiAgY3VycmVuY3k6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFtb3VudDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICByZW1hcms/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2hhbmdlRmVlSW5kOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY2FuY2VsRmVlSW5kOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcmVmdW5kYWJsZUluZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5leHBvcnQgdHlwZSBGYXJlQ29uZGl0aW9ucyA9IHtcbiAgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9ucyc7XG4gIGNhbmNlbGxhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xuICBjaGFuZ2U/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RmFyZUNvbmRpdGlvbkVudHJ5Pj4+PjtcbiAgbm9TaG93PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZhcmVDb25kaXRpb25FbnRyeT4+Pj47XG4gIHVwZ3JhZGU/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RmFyZUNvbmRpdGlvbkVudHJ5Pj4+PjtcbiAgb3RoZXI/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RmFyZUNvbmRpdGlvbkVudHJ5Pj4+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIEZhcmVSdWxlVHlwZSB7XG4gIENhbmNlbGxhdGlvbiA9ICdDYW5jZWxsYXRpb24nLFxuICBDaGFuZ2UgPSAnQ2hhbmdlJyxcbiAgTm9TaG93ID0gJ05vU2hvdycsXG4gIFVwZ3JhZGUgPSAnVXBncmFkZScsXG4gIE90aGVyID0gJ090aGVyJ1xufVxuXG5leHBvcnQgZW51bSBGYXJlVHlwZSB7XG4gIEZsZXhpYmxlID0gJ0ZsZXhpYmxlJyxcbiAgTG93ZXN0ID0gJ0xvd2VzdCcsXG4gIE5lZ290aWF0ZWQgPSAnTmVnb3RpYXRlZCcsXG4gIE5vbk5lZ290aWF0ZWQgPSAnTm9uTmVnb3RpYXRlZCcsXG4gIExlaXN1cmUgPSAnTGVpc3VyZScsXG4gIFJlcXVlc3RGYXJlUnVsZXMgPSAnUmVxdWVzdEZhcmVSdWxlcycsXG4gIFNlbGVjdEFuZFBybyA9ICdTZWxlY3RBbmRQcm8nXG59XG5cbmV4cG9ydCB0eXBlIEZhc3RUcmFja1F1b3RlID0ge1xuICBfX3R5cGVuYW1lPzogJ0Zhc3RUcmFja1F1b3RlJztcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY3VycmVuY3k6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJlZnVuZGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0ZXJtaW5hbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBpbWFnZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2dvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGltcG9ydGFudEluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG1jUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY29tcGFueVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG9mZmljZVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRtY1ByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB1bmF2YWlsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVuYXZhaWxhYmxlTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbzJQZXJQYXNzZW5nZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVySXRlbTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmFzdFRyYWNrUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0Zhc3RUcmFja1Jlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxGYXN0VHJhY2tRdW90ZT4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0QW1vdW50ID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodEFtb3VudCc7XG4gIGRlc2NyaXB0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhbW91bnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY3VycmVuY3k6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgZW51bSBGbGlnaHRDYWJpbkNsYXNzIHtcbiAgQW55ID0gJ0FueScsXG4gIExpdGVFY29ub215ID0gJ0xpdGVFY29ub215JyxcbiAgRWNvbm9teVJlc3RyaWN0ZWQgPSAnRWNvbm9teVJlc3RyaWN0ZWQnLFxuICBFY29ub215Tm9CYWdzID0gJ0Vjb25vbXlOb0JhZ3MnLFxuICBFY29ub215ID0gJ0Vjb25vbXknLFxuICBQcmVtaXVtRWNvbm9teSA9ICdQcmVtaXVtRWNvbm9teScsXG4gIEJ1c2luZXNzID0gJ0J1c2luZXNzJyxcbiAgUHJlbWl1bUJ1c2luZXNzID0gJ1ByZW1pdW1CdXNpbmVzcycsXG4gIEZpcnN0ID0gJ0ZpcnN0JyxcbiAgUHJlbWl1bUZpcnN0ID0gJ1ByZW1pdW1GaXJzdCdcbn1cblxuZXhwb3J0IHR5cGUgRmxpZ2h0Q2FyYm9uRW1pc3Npb25zID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcmJvbkVtaXNzaW9ucyc7XG4gIGFtb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIHVuaXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRDYXJyaWVyRGV0YWlsID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcnJpZXJEZXRhaWwnO1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFsaWFzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNhbGxzaWduPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGlhdGE/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaWNhbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2dvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJhbm5lcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwb3B1bGFyaXR5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRGYXJlVG90YWwgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0RmFyZVRvdGFsJztcbiAgcHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgdGF4PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgZGlzY291bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjdXJyZW5jeTogRmllbGRXcmFwcGVyPEN1cnJlbmN5Q29kZT47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRJdGluZXJhcnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0SXRpbmVyYXJ5JztcbiAgdWlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBwYXNzZW5nZXJDb3VudDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgb3V0Ym91bmRGbGlnaHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8RmxpZ2h0Sm91cm5leT4+O1xuICBpbmJvdW5kRmxpZ2h0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGbGlnaHRKb3VybmV5Pj4+PjtcbiAgb3V0Ym91bmRUb3RhbER1cmF0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBvdXRib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPEZpZWxkV3JhcHBlcjxGbGlnaHRDYXJib25FbWlzc2lvbnM+PjtcbiAgaW5ib3VuZFRvdGFsRHVyYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgaW5ib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPEZpZWxkV3JhcHBlcjxGbGlnaHRDYXJib25FbWlzc2lvbnM+PjtcbiAgdGF4ZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RmxpZ2h0QW1vdW50Pj4+PjtcbiAgZGlzY291bnRzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZsaWdodEFtb3VudD4+Pj47XG4gIHRvdGFsOiBGaWVsZFdyYXBwZXI8RmxpZ2h0RmFyZVRvdGFsPjtcbiAgZmFyZUNvbmRpdGlvbnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8RmFyZUNvbmRpdGlvbnM+PjtcbiAgYmFnZ2FnZUFsbG93YW5jZT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxCYWdnYWdlQWxsb3dhbmNlPj4+PjtcbiAgYWRkaXRpb25hbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+PjtcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgdmVyc2lvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG1jUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY29tcGFueVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG9mZmljZVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRtY1ByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB1bmF2YWlsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVuYXZhaWxhYmxlTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbzJQZXJJdGVtOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0Sm91cm5leSA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JztcbiAgZmFyZUluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8RmxpZ2h0U3BlY2lhbEZhcmVJbmZvPj47XG4gIG9yaWdpbkFpcnBvcnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9yaWdpblRlcm1pbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpbkFpcnBvcnROYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpbkFpcnBvcnREZXRhaWw6IEZpZWxkV3JhcHBlcjxBaXJwb3J0RGV0YWlsPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvblRlcm1pbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RpbmF0aW9uQWlycG9ydE5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsOiBGaWVsZFdyYXBwZXI8QWlycG9ydERldGFpbD47XG4gIGRhdGVUaW1lRGVwYXJ0aW5nOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkYXRlVGltZURlcGFydGluZ1VUQzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGF0ZVRpbWVBcnJpdmluZzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGF0ZVRpbWVBcnJpdmluZ1VUQzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWFya2V0aW5nQ2FycmllcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWFya2V0aW5nQ2Fycmllck5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWFya2V0aW5nQ2FycmllckRldGFpbDogRmllbGRXcmFwcGVyPEZsaWdodENhcnJpZXJEZXRhaWw+O1xuICBtYXJrZXRpbmdGbGlnaHROdW1iZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9wZXJhdGluZ0NhcnJpZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9wZXJhdGluZ0NhcnJpZXJOYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWw6IEZpZWxkV3JhcHBlcjxGbGlnaHRDYXJyaWVyRGV0YWlsPjtcbiAgb3BlcmF0aW5nRmxpZ2h0TnVtYmVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlcXVpcG1lbnRDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlcXVpcG1lbnROYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b3RhbER1cmF0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBzZWF0c0F2YWlsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBjYWJpbkNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FiaW5DbGFzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtYXJrZXRpbmdOYW1lcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIGZhcmVDb25kaXRpb25zOiBGaWVsZFdyYXBwZXI8RmFyZUNvbmRpdGlvbnM+O1xuICB2ZW5kb3JDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0b3BzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJvb2tpbmdDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1hcnJpYWdlR3JvdXA/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGZhcmVCYXNpc0NvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRkaXRpb25hbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodFBhc3Nlbmdlck9iamVjdCA9IHtcbiAgdHlwZTogRmxpZ2h0UGFzc2VuZ2VyVHlwZTtcbiAgZmlyc3ROYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtaWRkbGVOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdXJuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkb2I/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xufTtcblxuZXhwb3J0IGVudW0gRmxpZ2h0UGFzc2VuZ2VyVHlwZSB7XG4gIEluZmFudCA9ICdJbmZhbnQnLFxuICBDaGlsZCA9ICdDaGlsZCcsXG4gIEFkdWx0ID0gJ0FkdWx0JyxcbiAgU2VuaW9yID0gJ1Nlbmlvcidcbn1cblxuZXhwb3J0IHR5cGUgRmxpZ2h0UmV2YWxpZGF0ZVJlc3BvbnNlID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodFJldmFsaWRhdGVSZXNwb25zZSc7XG4gIHZhbGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYXZhaWxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBwcmljZURpZmZlcmVuY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjdXJyZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0U2VhcmNoUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXJjaFJlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hSZXN1bHQ+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodFNlYXJjaFJlc3VsdFYyID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXJjaFJlc3VsdFYyJztcbiAgcmVzdWx0czogRmllbGRXcmFwcGVyPEZlRmxpZ2h0U2VhcmNoUmVzdWx0cz47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRTcGVjaWFsRmFyZUluZm8gPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0U3BlY2lhbEZhcmVJbmZvJztcbiAgdGl0bGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHR5cGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3VwcGxpZXJDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBHZW9Db29yZGluYXRlcyA9IHtcbiAgX190eXBlbmFtZT86ICdHZW9Db29yZGluYXRlcyc7XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgYWx0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgR3JvdXBGbGlnaHRzID0ge1xuICBfX3R5cGVuYW1lPzogJ0dyb3VwRmxpZ2h0cyc7XG4gIHJlZmVyZW5jZUlEOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBmbGlnaHRJRDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYm91bmRJbmRpY2F0b3I6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG1pblByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIG1heFByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGZsaWdodHM6IEZpZWxkV3JhcHBlcjxNYXRjaGluZ0ZsaWdodHM+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxBZGRyZXNzID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsQWRkcmVzcyc7XG4gIGFkZHJlc3NMaW5lMT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRyZXNzTGluZTI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRkcmVzc0xpbmUzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvc3RPclppcENvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGVsZXBob25lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhY3NpbWlsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxBdmFpbGFiaWxpdHkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxBdmFpbGFiaWxpdHknO1xuICBob3RlbElkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpbWFnZVVybDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcm9vbXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxSb29tPj4+PjtcbiAgcHJwbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGN1cnJlbmN5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpc0J1c3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdmVyc2lvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsQXZhaWxhYmlsaXR5UmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsQXZhaWxhYmlsaXR5UmVzdWx0JztcbiAgcmVzdWx0cz86IE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbEF2YWlsYWJpbGl0eT4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxDYXJkID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsQ2FyZCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxDb252ZXJzaW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsQ29udmVyc2lvbic7XG4gIHJhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgbG9jYWxDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsb2NhbFRvdGFsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvbnZlcnRlZENvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvbnZlcnRlZFRvdGFsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbERlcG9zaXQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxEZXBvc2l0JztcbiAgYW1vdW50OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIHBvbGljeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByZXF1aXJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbEl0aW5lcmFyeSA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbEl0aW5lcmFyeSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpbWFnZVVybDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZ3JvdXA6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxvY2F0aW9uOiBGaWVsZFdyYXBwZXI8SG90ZWxMb2NhdGlvbj47XG4gIGFkZHJlc3M6IEZpZWxkV3JhcHBlcjxIb3RlbEFkZHJlc3M+O1xuICB0cmFuc3BvcnRzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsVHJhbnNwb3J0Pj4+PjtcbiAgcHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8SG90ZWxQcmVmZXJyZWQ+O1xuICB0YWdzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsVGFnPj4+PjtcbiAgYXZhaWxhYmxlUmF0ZXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxBdmFpbGFiaWxpdHk+PjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgdmVyc2lvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG1jUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY29tcGFueVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG9mZmljZVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRtY1ByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB1bmF2YWlsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVuYXZhaWxhYmxlTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxMb2NhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbExvY2F0aW9uJztcbiAgZGlzdGFuY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgZGlzdGFuY2VUeXBlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsb25naXR1ZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgbGF0aXR1ZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsTXVsdGlBdmFpbGFiaWxpdHlSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxNdWx0aUF2YWlsYWJpbGl0eVJlc3VsdCc7XG4gIHJlc3VsdHM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxBdmFpbGFiaWxpdHk+Pj4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxOaWdodCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbE5pZ2h0JztcbiAgbmlnaHQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIHJhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgaW5mbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkYXRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsUGF5bWVudFR5cGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxQYXltZW50VHlwZSc7XG4gIHR5cGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsUG9saWN5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsUG9saWN5JztcbiAgY2FuY2VsbGF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcG9zaXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlzYWJsZWRBY2Nlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGdlbmVyYWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZ3VhcmFudGVlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlZnVuZEF2YWlsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsUHJlZmVycmVkID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsUHJlZmVycmVkJztcbiAgY2xpZW50OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY29uc3VtZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxSb29tID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsUm9vbSc7XG4gIHJvb21JZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcm9vbVR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm9vbURlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJhdGVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJhdGVEZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0b3RhbDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjdXJyZW5jeUNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGN1cnJlbmN5Q29udmVyc2lvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbENvbnZlcnNpb24+PjtcbiAgZGVwb3NpdD86IE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbERlcG9zaXQ+PjtcbiAgbmlnaHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8SG90ZWxOaWdodD4+O1xuICBwb2xpY2llczogRmllbGRXcmFwcGVyPEhvdGVsUG9saWN5PjtcbiAgdGF4OiBGaWVsZFdyYXBwZXI8SG90ZWxUYXg+O1xuICBhY2NlcHRlZENhcmRzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsQ2FyZD4+Pj47XG4gIHBheW1lbnRUeXBlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbFBheW1lbnRUeXBlPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsU2VhcmNoUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsU2VhcmNoUmVzdWx0JztcbiAgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbEl0aW5lcmFyeT4+Pj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbFRhZyA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbFRhZyc7XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRpc3BsYXk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHlwZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWNvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsVGF4ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsVGF4JztcbiAgaW5jbHVkZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICByYXRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbFRyYW5zcG9ydCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbFRyYW5zcG9ydCc7XG4gIHR5cGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlzdGFuY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgZGlzdGFuY2VUeXBlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgZW51bSBJcmxDbGFzcyB7XG4gIEFsbCA9ICdBbGwnLFxuICBGaXJzdCA9ICdGaXJzdCcsXG4gIFN0YW5kYXJkID0gJ1N0YW5kYXJkJ1xufVxuXG5leHBvcnQgdHlwZSBJcmxEeW5hbWljQ29uZGl0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTER5bmFtaWNDb25kaXRpb24nO1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxJZGVudGlmaWVycyA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycyc7XG4gIHRyYW5zYWN0aW9uSWRlbnRpZmllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzaWduYXR1cmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgam91cm5leUlkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJvdmlkZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZUlkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlyZWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFsbG93ZWRXaXRoOiBBcnJheTxGaWVsZFdyYXBwZXI8SXJsSWRlbnRpZmllcnM+PjtcbiAgc2luZ2xlT3JSZXR1cm4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYm9va2luZ1JlZj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsSm91cm5leU9wdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxKb3VybmV5T3B0aW9uJztcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsSWRlbnRpZmllcnM+PjtcbiAgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxUcmF2ZWxsZXI+Pj47XG4gIGZyb20/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZnJvbUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG9Db2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydERhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgYXJyaXZlRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICBjaGFuZ2VzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPElybFNlZ21lbnQ+Pj47XG4gIHByb3ZpZGVycz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxQcm92aWRlcj4+PjtcbiAgdW5zZWxsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRFeHRyYXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsVGlja2V0RXh0cmE+Pj47XG4gIHBsdXNCdXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsUGx1c0J1cz4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsSm91cm5leU9wdGlvbnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMSm91cm5leU9wdGlvbnMnO1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBvdXRib3VuZD86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxKb3VybmV5T3B0aW9uPj4+O1xuICByZXR1cm4/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsSm91cm5leU9wdGlvbj4+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIElybEpvdXJuZXlUeXBlIHtcbiAgUmV0dXJuSm91cm5leSA9ICdSZXR1cm5Kb3VybmV5JyxcbiAgU2luZ2xlSm91cm5leSA9ICdTaW5nbGVKb3VybmV5J1xufVxuXG5leHBvcnQgdHlwZSBJcmxQbHVzQnVzID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFBsdXNCdXMnO1xuICBvcmlnaW5QbHVzQnVzTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpblN0YXRpb25OTEM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzdGluYXRpb25QbHVzQnVzTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RpbmF0aW9uU3RhdGlvbk5MQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsUHJvdmlkZXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMUHJvdmlkZXInO1xuICBwcm92aWRlcklkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2hlYXBlc3RUaWNrZXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsVGlja2V0T3B0aW9uPj47XG4gIHRpY2tldE9wdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8SXJsVGlja2V0T3B0aW9uPj4+PjtcbiAgYm9va2VkVGlja2V0PzogTWF5YmU8RmllbGRXcmFwcGVyPElybFRpY2tldE9wdGlvbj4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsU2VhcmNoUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFNlYXJjaFJlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxJcmxKb3VybmV5T3B0aW9ucz4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsU2VhdCA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxTZWF0JztcbiAgbG9jYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29hY2g/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbnVtYmVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRpcmVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwb3NpdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZWNrPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXRUeXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXRTZWxlY3Rpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFjaWxpdGllcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIG5vdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxTZWF0UHJlZmVyZW5jZVR5cGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJztcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhbGxvd2VkVmFsdWVzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFNlZ21lbnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMU2VnbWVudCc7XG4gIGlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9wZXJhdG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnREYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG4gIGFycml2ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhcnJpdmVEYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG4gIHJlc2VydmFibGVTdGF0dXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxTZWF0UHJlZmVyZW5jZVR5cGU+Pj47XG4gIHNlYXRQcmVmZXJlbmNlR3JvdXA/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdHM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsU2VhdD4+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIElybFN1cHBsaWVyIHtcbiAgUmVuZmUgPSAnUmVuZmUnLFxuICBCZU5lID0gJ0JlTmUnLFxuICBOdHYgPSAnTnR2J1xufVxuXG5leHBvcnQgdHlwZSBJcmxTdXBwbGllclN0YXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMU3VwcGxpZXJTdGF0aW9uJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3VwcGxpZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN0YXRpb25Db2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBubGNDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIHRyYWlubGluZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhaW5saW5lVW5pcXVlQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbkRldGFpbHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8TG9jYXRpb25EZXRhaWw+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFRleHRWYWx1ZVBhaXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMVGV4dFZhbHVlUGFpcic7XG4gIHRleHQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHZhbHVlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxUaWNrZXQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0JztcbiAgcHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJvdXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPElybFNlZ21lbnQ+Pj47XG4gIG51bUNoaWxkcmVuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIG51bUFkdWx0cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsVGlja2V0RXh0cmEgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0RXh0cmEnO1xuICBpZGVudGlmaWVycz86IE1heWJlPEZpZWxkV3JhcHBlcjxJcmxUaWNrZXRFeHRyYUlkZW50aWZpZXJzPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9jYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGF0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlJ10+PjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgYWR1bHRBbW91bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjaGlsZEFtb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGN1cnJlbmN5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxUaWNrZXRFeHRyYUlkZW50aWZpZXJzID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldEV4dHJhSWRlbnRpZmllcnMnO1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPj47XG4gIGpvdXJuZXlJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpc09yaWdpbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFRpY2tldE9wdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxUaWNrZXRPcHRpb24nO1xuICBpZGVudGlmaWVycz86IE1heWJlPEZpZWxkV3JhcHBlcjxJcmxJZGVudGlmaWVycz4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNsYXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNpbmdsZU9yUmV0dXJuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgcmVzZXJ2YWJsZVN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjdXJyZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb3V0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb3V0ZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxJcmxUaWNrZXQ+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsVHJhdmVsbGVyID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFRyYXZlbGxlcic7XG4gIHN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxJcmxUcmF2ZWxsZXJTdGF0dXM+PjtcbiAgaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZG9iPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGUnXT4+O1xuICByYWlsY2FyZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBnaXZlbk5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3VybmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBuYW1lVGl0bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29udGFjdEluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVsaXZlcnlFbWFpbEFkZHJlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gSXJsVHJhdmVsbGVyU3RhdHVzIHtcbiAgUGxhY2Vob2xkZXIgPSAncGxhY2Vob2xkZXInLFxuICBDb21wbGV0ZSA9ICdjb21wbGV0ZSdcbn1cblxuZXhwb3J0IHR5cGUgSW5wdXRDYXJIaXJlRGVwb3QgPSB7XG4gIHZlbmRvckNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBpY2t1cExvY2F0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGlja3VwRXh0ZW5kZWRMb2NhdGlvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BPZmZMb2NhdGlvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BPZmZFeHRlbmRlZExvY2F0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEl0aW5lcmFyeVN1bW1hcnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSXRpbmVyYXJ5U3VtbWFyeSc7XG4gIG9yZGVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBvcmlnaW46IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc3RpbmF0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8RmxpZ2h0SXRpbmVyYXJ5Pj47XG4gIG1pblByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIG1heFByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIExhbmd1YWdlID0ge1xuICBfX3R5cGVuYW1lPzogJ0xhbmd1YWdlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaXNvQ29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIExvY2F0aW9uRGV0YWlsID0ge1xuICBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJztcbiAgY29udGluZW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2l0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb29yZGluYXRlcz86IE1heWJlPEZpZWxkV3JhcHBlcjxHZW9Db29yZGluYXRlcz4+O1xuICBwb3N0Y29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb2FkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGdyaWRSZWZlcmVuY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbm9ydGhpbmc/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZWFzdGluZz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgTG91bmdlTG9jYXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnTG91bmdlTG9jYXRpb24nO1xuICBjb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhaXJwb3J0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0ZXJtaW5hbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBhZGRyZXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRlbGVwaG9uZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYXg/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlyZWN0aW9ucz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpbnRyb2R1Y3Rpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9nbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtb2JpbGVJbWFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmdXJ0aGVySW1hZ2VzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgYWR1bHRBZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgY2hpbGRBZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgaW5mYW50QWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGxhbmRzaWRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYWlyc2lkZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGZhY2lsaXRpZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBvcGVuVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbG9zZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgd2lmaT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgdHY/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHNuYWNrcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgcGhvbmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGludGVybmV0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBjaGlsZHJlbkFsbG93ZWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGRpc2FibGVkQWNjZXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBkcmlua3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGZyZWVEcmlua3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGZyZWVGb29kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBzbW9raW5nUGVybWl0dGVkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBtYWdhemluZXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGluY2x1ZGVkRHJpbmtzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgbWVudUZvb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWVudURyaW5rcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtZW51RXh0cmFzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHdoYXRzSW5jbHVkZWREcmlua3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgd2hhdHNJbmNsdWRlZEV4dHJhcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB3aGF0c0luY2x1ZGVkRm9vZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBncm91cEluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2hlY2tJbkluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZHJlc3NDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhY2lsaXRpZXNJbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZvb2RBbmRCZXZlcmFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjYW5jZWxsYXRpb25JbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFtZW5kbWVudHNJbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1pc2M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBMb3VuZ2VRdW90ZSA9IHtcbiAgX190eXBlbmFtZT86ICdMb3VuZ2VRdW90ZSc7XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGN1cnJlbmN5OiBGaWVsZFdyYXBwZXI8Q3VycmVuY3lDb2RlPjtcbiAgbG91bmdlOiBGaWVsZFdyYXBwZXI8TG91bmdlTG9jYXRpb24+O1xuICB0bWNQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb21wYW55UHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb2ZmaWNlUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdG1jUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb21wYW55UHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHVuYXZhaWxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdW5hdmFpbGFibGVNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvMlBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJJdGVtOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBMb3VuZ2VTZWFyY2hSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnTG91bmdlU2VhcmNoUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPExvdW5nZVF1b3RlPj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBNYW5hZ2VtZW50SW5mbyA9IHtcbiAgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mbyc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIGRiSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGhhbmRvZmY6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHZhbHVlTWFzaz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZXJ2aWNlOiBGaWVsZFdyYXBwZXI8U2VydmljZT47XG4gIHVpUHJlc2VudGF0aW9uOiBGaWVsZFdyYXBwZXI8VWlQcmVzZW50YXRpb24+O1xuICBtYW5kYXRvcnk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwZXJQYXNzZW5nZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwZXJCb29raW5nOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYWdlbnRPbmx5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBmaXhlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGZpeGVkVmFsdWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8TWFuYWdlbWVudEluZm9WYWx1ZT4+O1xuICBkZWZhdWx0VmFsdWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8TWFuYWdlbWVudEluZm9WYWx1ZT4+O1xuICB2YWx1ZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mb1ZhbHVlPj47XG4gIGdyb3VwPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgc2VsZWN0ZWRWYWx1ZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWU+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIE1hbmFnZW1lbnRJbmZvVmFsdWUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIGxhYmVsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2YWx1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVmYXVsdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGZpeGVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYWdlbnRPbmx5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIE1hdGNoaW5nRmxpZ2h0cyA9IHtcbiAgX190eXBlbmFtZT86ICdNYXRjaGluZ0ZsaWdodHMnO1xuICBMaXRlRWNvbm9teT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG4gIEVjb25vbXlSZXN0cmljdGVkPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgRWNvbm9teU5vQmFncz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG4gIEVjb25vbXk/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pj4+O1xuICBQcmVtaXVtRWNvbm9teT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG4gIEJ1c2luZXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgUHJlbWl1bUJ1c2luZXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgRmlyc3Q/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pj4+O1xuICBQcmVtaXVtRmlyc3Q/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgTWVzc2FnZSA9IHtcbiAgX190eXBlbmFtZT86ICdNZXNzYWdlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29uZmlnOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbiAgdGFyZ2V0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBrZXk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBNdXRhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdNdXRhdGlvbic7XG4gIHNhdmVVc2VyQWRkcmVzczogRmllbGRXcmFwcGVyPEFkZHJlc3M+O1xuICBkZWxldGVVc2VyQWRkcmVzczogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHNldEFkZHJlc3NBc1VzZXJQcmltYXJ5OiBGaWVsZFdyYXBwZXI8QWRkcmVzcz47XG4gIHNlbmRCYXNrZXRGb3JBcHByb3ZhbDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGNyZWF0ZUJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGRlbGV0ZUJhc2tldDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVwZGF0ZUJhc2tldFRpdGxlOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgdXBkYXRlQmFza2V0Tm90ZXM6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBhZGRJdGVtVG9CYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICByZW1vdmVJdGVtRnJvbUJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHJlbW92ZUl0ZW1zRnJvbUJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIG1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgYWRkVXNlcnNUb0Jhc2tldEl0ZW06IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICByZW1vdmVVc2VyRnJvbUJhc2tldEl0ZW06IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICByZW9wZW5CYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBzZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlcjogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGJvb2tCYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBjYW5jZWxCb29raW5nOiBGaWVsZFdyYXBwZXI8QWZ0ZXJDYW5jZWxsYXRpb25JbmZvPjtcbiAgY29uZmVybWFDcmVhdGVDYXJkOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFDcmVhdGVDYXJkUmVzdWx0PjtcbiAgY29uZmVybWFEZWxldGVDYXJkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgc2V0QmFza2V0SXRlbU1JR3JvdXA6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBzZXRNSURlZmF1bHRWYWx1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHNldEJhc2tldEl0ZW1NSVZhbHVlOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgc2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2Q6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICByZXZhbGlkYXRlQmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgcmV2YWxpZGF0ZUJhc2tldEl0ZW06IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBhY2NlcHROZXdQcmljZTogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHNhdmVGYXZvdXJpdGVTZWFyY2g6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2g+PjtcbiAgc2F2ZVJlY2VudFNlYXJjaDogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaD4+O1xuICBkZWxldGVGYXZvdXJpdGVTZWFyY2g6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBkZWxldGVSZWNlbnRTZWFyY2g6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBzZXRVc2VyTGFuZ3VhZ2U6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TYXZlVXNlckFkZHJlc3NBcmdzID0ge1xuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XG4gIG51bWJlck9yTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RyZWV0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b3duPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHk/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBvc3Rjb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdXNlclByaW1hcnk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZVVzZXJBZGRyZXNzQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0QWRkcmVzc0FzVXNlclByaW1hcnlBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZW5kQmFza2V0Rm9yQXBwcm92YWxBcmdzID0ge1xuICBiYXNrZXQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlQmFza2V0QXJncyA9IHtcbiAgdGl0bGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlQmFza2V0QXJncyA9IHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZUJhc2tldFRpdGxlQXJncyA9IHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBuZXdUaXRsZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlQmFza2V0Tm90ZXNBcmdzID0ge1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5vdGVzOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25BZGRJdGVtVG9CYXNrZXRBcmdzID0ge1xuICBiYXNrZXQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgc2VydmljZTogU2NhbGFyc1snSUQnXTtcbiAgZGV0YWlsOiBTY2FsYXJzWydKU09OJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBpbmZhbnRzPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBwcmljZTogU2NhbGFyc1snRmxvYXQnXTtcbiAgY3VycmVuY3k6IEN1cnJlbmN5Q29kZTtcbiAgc2VhcmNoUXVlcnk6IFNjYWxhcnNbJ0pTT04nXTtcbiAgcXVpY2tBZGQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1c2Vycz86IE1heWJlPEFycmF5PE1heWJlPFVzZXJQYXNzZW5nZXJUeXBlSW5wdXQ+Pj47XG4gIGxlYWRQYXNzZW5nZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgY28yUGVySXRlbT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJQYXNzZW5nZXI/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgb3V0Ym91bmREYXRlOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBpbmJvdW5kRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlbW92ZUl0ZW1Gcm9tQmFza2V0QXJncyA9IHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW1vdmVJdGVtc0Zyb21CYXNrZXRBcmdzID0ge1xuICBiYXNrZXRJZDogU2NhbGFyc1snSUQnXTtcbiAgYmFza2V0SXRlbXM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbk1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0QXJncyA9IHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgbmV3QmFza2V0OiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFkZFVzZXJzVG9CYXNrZXRJdGVtQXJncyA9IHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgdXNlcnM6IEFycmF5PFVzZXJQYXNzZW5nZXJUeXBlSW5wdXQ+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlbW92ZVVzZXJGcm9tQmFza2V0SXRlbUFyZ3MgPSB7XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIHVzZXI6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVvcGVuQmFza2V0QXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgdXNlcjogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25Cb29rQmFza2V0QXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHN1cHBsZW1lbnRhcnlJbmZvOiBBcnJheTxTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm8+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNhbmNlbEJvb2tpbmdBcmdzID0ge1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNvbmZlcm1hQ3JlYXRlQ2FyZEFyZ3MgPSB7XG4gIGxhYmVsOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25Db25mZXJtYURlbGV0ZUNhcmRBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRCYXNrZXRJdGVtTWlHcm91cEFyZ3MgPSB7XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIGdyb3VwPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNldE1pRGVmYXVsdFZhbHVlQXJncyA9IHtcbiAgbWk6IFNjYWxhcnNbJ0lEJ107XG4gIHZhbHVlOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNldEJhc2tldEl0ZW1NaVZhbHVlQXJncyA9IHtcbiAgbWk6IFNjYWxhcnNbJ0lEJ107XG4gIG1pVmFsdWU/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgbWlGcmVlVmFsdWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVzZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZEFyZ3MgPSB7XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIHBheW1lbnRNZXRob2Q6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmV2YWxpZGF0ZUJhc2tldEFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblJldmFsaWRhdGVCYXNrZXRJdGVtQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQWNjZXB0TmV3UHJpY2VBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TYXZlRmF2b3VyaXRlU2VhcmNoQXJncyA9IHtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZTtcbiAgc2VhcmNoQXJnczogU2NhbGFyc1snSlNPTiddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNhdmVSZWNlbnRTZWFyY2hBcmdzID0ge1xuICBzZXJ2aWNlVHlwZTogU2VydmljZVR5cGU7XG4gIHNlYXJjaEFyZ3M6IFNjYWxhcnNbJ0pTT04nXTtcbiAgdHJhdmVsRGF0ZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PE1heWJlPFNjYWxhcnNbJ0lEJ10+Pj47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlRmF2b3VyaXRlU2VhcmNoQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlUmVjZW50U2VhcmNoQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0VXNlckxhbmd1YWdlQXJncyA9IHtcbiAgbGFuZ3VhZ2U/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIE9mZmljZSA9IHtcbiAgX190eXBlbmFtZT86ICdPZmZpY2UnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGNvbXBhbnk6IEZpZWxkV3JhcHBlcjxDb21wYW55PjtcbiAgYWRkcmVzc2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8QWRkcmVzcz4+O1xuICBwaG9uZU51bWJlcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxQaG9uZU51bWJlcj4+O1xuICBjbzJBbGxvd2FuY2VQZXJpb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yQWxsb3dhbmNlUGVyUGVyaW9kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBQYXJraW5nTG9jYXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnUGFya2luZ0xvY2F0aW9uJztcbiAgY29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWlycG9ydDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdGVybWluYWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBhZGRyZXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRpc3RhbmNlVG9BaXJwb3J0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgb25BaXJwb3J0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBjYXJQYXJrZWRGb3JZb3U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIG1lZXRBbmRHcmVldD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgdGVsZXBob25lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZheD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXJlY3Rpb25zPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFycml2YWxQcm9jZWR1cmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0dXJlUHJvY2VkdXJlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1heGltdW1DYXJTaXplPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGludHJvZHVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpbmZvcm1hdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFuc2ZlckluZm9ybWF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRyYW5zZmVyT3BlcmF0aW5nVGltZXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhbnNmZXJUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9nbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZWZhdWx0SW1hZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYnJhbmRJbWFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtb2JpbGVJbWFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmdXJ0aGVySW1hZ2VzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgbWlzYz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFBhcmtpbmdRdW90ZSA9IHtcbiAgX190eXBlbmFtZT86ICdQYXJraW5nUXVvdGUnO1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBjYXJQYXJrOiBGaWVsZFdyYXBwZXI8UGFya2luZ0xvY2F0aW9uPjtcbiAgcmVxdWlyZWRJbmZvOiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY3VycmVuY3k6IEZpZWxkV3JhcHBlcjxDdXJyZW5jeUNvZGU+O1xuICBtaXNjPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xuICB0bWNQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb21wYW55UHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb2ZmaWNlUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdG1jUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb21wYW55UHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHVuYXZhaWxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdW5hdmFpbGFibGVNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvMlBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJJdGVtOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBQYXJraW5nU2VhcmNoUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ1BhcmtpbmdTZWFyY2hSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8UGFya2luZ1F1b3RlPj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgZW51bSBQYXNzZW5nZXJUeXBlIHtcbiAgQWR1bHQgPSAnQURVTFQnLFxuICBDaGlsZCA9ICdDSElMRCcsXG4gIEluZmFudCA9ICdJTkZBTlQnXG59XG5cbmV4cG9ydCB0eXBlIFBhc3Nwb3J0ID0ge1xuICBfX3R5cGVuYW1lPzogJ1Bhc3Nwb3J0JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbnVtYmVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb2RlT2ZJc3N1aW5nU3RhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5hdGlvbmFsaXR5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzZXg6IEZpZWxkV3JhcHBlcjxQYXNzcG9ydFNleD47XG4gIGRvYjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBzdXJuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBnaXZlbk5hbWVzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkYXRlT2ZJc3N1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1c2VyOiBGaWVsZFdyYXBwZXI8VXNlcj47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbn07XG5cbmV4cG9ydCBlbnVtIFBhc3Nwb3J0U2V4IHtcbiAgTSA9ICdNJyxcbiAgRiA9ICdGJ1xufVxuXG5leHBvcnQgdHlwZSBQYXltZW50Q29uZmlnID0ge1xuICBjc3BVcmw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFnZW50SWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJvb2tlcklkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhcGlLZXk/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBhc3N3b3JkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzZXJ2ZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvbnN1bWVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjbGllbnRJZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWNjb3VudFR5cGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFjY291bnRWYWx1ZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG9rZW5Vcmw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRva2VuSWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvbnN1bWVySWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRva2VuVXNlcm5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRva2VuUGFzc3dvcmQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBQYXltZW50TWV0aG9kID0ge1xuICBfX3R5cGVuYW1lPzogJ1BheW1lbnRNZXRob2QnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUGF5bWVudE1ldGhvZElucHV0ID0ge1xuICBjb25maWc/OiBNYXliZTxQYXltZW50Q29uZmlnPjtcbn07XG5cbmV4cG9ydCB0eXBlIFBob25lTnVtYmVyID0ge1xuICBfX3R5cGVuYW1lPzogJ1Bob25lTnVtYmVyJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXJlYUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbnVtYmVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGV4dGVuc2lvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFBob25lVHlwZT4+O1xuICBvZmZpY2VQcmltYXJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICB1c2VyUHJpbWFyeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIFBob25lVHlwZSB7XG4gIE1vYmlsZSA9ICdNT0JJTEUnLFxuICBMYW5kbGluZSA9ICdMQU5ETElORScsXG4gIEZheCA9ICdGQVgnLFxuICBPdGhlciA9ICdPVEhFUidcbn1cblxuZXhwb3J0IHR5cGUgUG9zdGNvZGVEZXRhaWxzID0ge1xuICBfX3R5cGVuYW1lPzogJ1Bvc3Rjb2RlRGV0YWlscyc7XG4gIHBvc3Rjb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGVhc3RpbmdzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIG5vcnRoaW5ncz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBjb3VudHJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGV1cm9wZWFuRWxlY3RvcmFsUmVnaW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByaW1hcnlDYXJlVHJ1c3Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVnaW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxzb2E/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbXNvYT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpbmNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3V0Y29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwYXJsaWFtZW50YXJ5Q29uc3RpdHVlbmN5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkbWluRGlzdHJpY3Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcGFyaXNoPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkbWluQ291bnR5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkbWluV2FyZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjZWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2NnPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG51dHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5ID0ge1xuICBfX3R5cGVuYW1lPzogJ1F1ZXJ5JztcbiAgZ2V0VXNlckFkZHJlc3NlczogQXJyYXk8RmllbGRXcmFwcGVyPEFkZHJlc3M+PjtcbiAgc2VhcmNoQWlybGluZXM6IEZpZWxkV3JhcHBlcjxBaXJsaW5lUmVzdWx0cz47XG4gIHNlYXJjaEFpcnBvcnRzOiBGaWVsZFdyYXBwZXI8QWlycG9ydFJlc3VsdHM+O1xuICBnZXRVc2VyQmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgZ2V0VXNlckJhc2tldHM6IEFycmF5PEZpZWxkV3JhcHBlcjxCYXNrZXQ+PjtcbiAgc2VhcmNoQ2FiSGlyZTogRmllbGRXcmFwcGVyPENhYkhpcmVSZXN1bHQ+O1xuICBzZWFyY2hVc2VyQ2FuQm9va0ZvcjogQXJyYXk8RmllbGRXcmFwcGVyPFVzZXI+PjtcbiAgZ2V0Q2FuY2VsbGF0aW9uSW5mbzogRmllbGRXcmFwcGVyPEJlZm9yZUNhbmNlbGxhdGlvbkluZm8+O1xuICBzZWFyY2hDYXJIaXJlOiBGaWVsZFdyYXBwZXI8Q2FySGlyZVJlc3VsdD47XG4gIGdldENhckhpcmVEZXBvdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxDYXJIaXJlRGVwb3Q+PjtcbiAgY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3Q6IEZpZWxkV3JhcHBlcjxDYXJIaXJlRGV0YWlsUmVxdWVzdFJlc3BvbnNlPjtcbiAgZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q2FyYm9uQWxsb3dhbmNlPj47XG4gIHNlYXJjaENpdGllczogQXJyYXk8RmllbGRXcmFwcGVyPENpdHk+PjtcbiAgY29uZmVybWFCbG9ja0NsaWVudEhvdGVsczogRmllbGRXcmFwcGVyPENvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdD47XG4gIGNvbmZlcm1hVW5ibG9ja0NsaWVudEhvdGVsczogRmllbGRXcmFwcGVyPENvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdD47XG4gIGNvbmZlcm1hQmxvY2tDb25zdW1lckhvdGVsczogRmllbGRXcmFwcGVyPENvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdD47XG4gIGNvbmZlcm1hVW5ibG9ja0NvbnN1bWVySG90ZWxzOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFCbG9ja2VkSG90ZWxzUmVzdWx0PjtcbiAgY29uZmVybWFMaXN0Q2FyZHM6IEFycmF5PEZpZWxkV3JhcHBlcjxDb25mZXJtYUNhcmRSZXN1bHRzPj47XG4gIHNlYXJjaENvbmZlcm1hQ2l0aWVzOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFDaXR5TG9jYXRpb24+O1xuICBnZXRDb25mZXJtYU9mZmljZTogRmllbGRXcmFwcGVyPENvbmZlcm1hT2ZmaWNlUmVzdWx0PjtcbiAgZ2V0Q29uZmVybWFPZmZpY2VOYW1lczogRmllbGRXcmFwcGVyPENvbmZlcm1hT2ZmaWNlTmFtZXNSZXN1bHQ+O1xuICBnZXRDb25mZXJtYVF1aWNrbGlzdDogRmllbGRXcmFwcGVyPEhvdGVsU2VhcmNoUmVzdWx0PjtcbiAgZ2V0Q291bnRyaWVzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q291bnRyeT4+O1xuICBnZXRDT1ZJRE1pY3Jvc2l0ZVRva2VuOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzZWFyY2hGYXN0VHJhY2s6IEZpZWxkV3JhcHBlcjxGYXN0VHJhY2tSZXN1bHQ+O1xuICBzZWFyY2hGbGlnaHRzOiBGaWVsZFdyYXBwZXI8RmxpZ2h0U2VhcmNoUmVzdWx0PjtcbiAgc2VhcmNoRmxpZ2h0c1YyOiBGaWVsZFdyYXBwZXI8RmxpZ2h0U2VhcmNoUmVzdWx0VjI+O1xuICBzZWFyY2hFdXJvc3RhcjogRmllbGRXcmFwcGVyPEZsaWdodFNlYXJjaFJlc3VsdFYyPjtcbiAgYWxpdmU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBnZXRIb3RlbENoYWluczogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXJjaEhvdGVsQ2hhaW5zOiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhcmNoSG90ZWxzOiBGaWVsZFdyYXBwZXI8SG90ZWxTZWFyY2hSZXN1bHQ+O1xuICBnZXRIb3RlbEF2YWlsYWJpbGl0eTogRmllbGRXcmFwcGVyPEhvdGVsQXZhaWxhYmlsaXR5UmVzdWx0PjtcbiAgZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHk6IEZpZWxkV3JhcHBlcjxIb3RlbE11bHRpQXZhaWxhYmlsaXR5UmVzdWx0PjtcbiAgZ2V0SVJMU3VwcGxpZXJTdGF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPElybFN1cHBsaWVyU3RhdGlvbj4+O1xuICBzZWFyY2hJUkxTdXBwbGllclN0YXRpb25zOiBBcnJheTxGaWVsZFdyYXBwZXI8SXJsU3VwcGxpZXJTdGF0aW9uPj47XG4gIHNlYXJjaElSTDogRmllbGRXcmFwcGVyPElybFNlYXJjaFJlc3VsdD47XG4gIHNlYXJjaExvdW5nZXM6IEZpZWxkV3JhcHBlcjxMb3VuZ2VTZWFyY2hSZXN1bHQ+O1xuICBnZXRVc2VyTUlBdXRvU3VnZ2VzdFZhbHVlczogQXJyYXk8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvVmFsdWU+PjtcbiAgdmFsaWRhdGVVc2VyTUlGcmVlVmFsdWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB2YWxpZGF0ZUJhc2tldEl0ZW1NSTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGdldFVzZXJNZXNzYWdlczogQXJyYXk8RmllbGRXcmFwcGVyPE1lc3NhZ2U+PjtcbiAgZ2V0VXNlckNvbXBhbnlPZmZpY2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8T2ZmaWNlPj47XG4gIHNlYXJjaFBhcmtpbmc6IEZpZWxkV3JhcHBlcjxQYXJraW5nU2VhcmNoUmVzdWx0PjtcbiAgZ2V0VXNlclBob25lTnVtYmVyczogQXJyYXk8RmllbGRXcmFwcGVyPFBob25lTnVtYmVyPj47XG4gIGdldFBvc3Rjb2RlRGV0YWlsczogRmllbGRXcmFwcGVyPFBvc3Rjb2RlRGV0YWlscz47XG4gIHBvc3Rjb2RlQXV0b1N1Z2dlc3Q6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWFyY2hQb3N0Y29kZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxQb3N0Y29kZURldGFpbHM+PjtcbiAgaXNQb3N0Y29kZVZhbGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZ2V0UmFpbFN0YXRpb246IEZpZWxkV3JhcHBlcjxSYWlsU3RhdGlvbj47XG4gIHNlYXJjaFJhaWxTdGF0aW9uczogQXJyYXk8RmllbGRXcmFwcGVyPFJhaWxTdGF0aW9uPj47XG4gIHNlYXJjaFJhaWw6IEZpZWxkV3JhcHBlcjxSYWlsU2VhcmNoUmVzdWx0PjtcbiAgZ2V0UmFpbGNhcmRzOiBBcnJheTxGaWVsZFdyYXBwZXI8UmVmZXJlbmNlUmFpbENhcmRRdWFsaWZpZXI+PjtcbiAgZ2V0Umlza0FsZXJ0czogQXJyYXk8RmllbGRXcmFwcGVyPFJpc2tBbGVydD4+O1xuICBnZXRVc2VyVHJhdmVsUnVsZXM6IEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlc0NvbGxlY3Rpb24+O1xuICBnZXRVc2VyUmVjZW50U2VhcmNoZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2g+PjtcbiAgZ2V0VXNlckZhdm91cml0ZVNlYXJjaGVzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoPj47XG4gIGdldFVzZXJTZXJ2aWNlczogQXJyYXk8RmllbGRXcmFwcGVyPFNlcnZpY2U+PjtcbiAgZ2V0VXNlclVJQ29uZmlnczogRmllbGRXcmFwcGVyPFVpQ29uZmlnQ29sbGVjdGlvbj47XG4gIGdldFVzZXI6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hBaXJsaW5lc0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hBaXJwb3J0c0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGhhc0xvdW5nZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGhhc1Bhcmtpbmc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBoYXNGYXN0VHJhY2s/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBleGNsdWRlTm9uUHVibGljPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyQmFza2V0QXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0VXNlckJhc2tldHNBcmdzID0ge1xuICB1c2VyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHRyYXZlbGxlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBiYXNrZXRTdGF0dXM/OiBNYXliZTxCYXNrZXRTdGF0dXM+O1xuICBjcmVhdGVkQWZ0ZXI/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgY3JlYXRlZEJlZm9yZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBib29rZWRBZnRlcj86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBib29rZWRCZWZvcmU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZGF0ZU9mVHJhdmVsQmVmb3JlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGRhdGVPZlRyYXZlbEFmdGVyPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGJhc2tldEl0ZW1Cb29raW5nUmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRSZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldFRpdGxlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaENhYkhpcmVBcmdzID0ge1xuICBkZXBhcnRzOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBmcm9tTG9jYXRpb246IENhYkhpcmVMb2NhdGlvbklucHV0O1xuICB0b0xvY2F0aW9uOiBDYWJIaXJlTG9jYXRpb25JbnB1dDtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGluZmFudHM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHZpYXM/OiBNYXliZTxBcnJheTxNYXliZTxDYWJIaXJlTG9jYXRpb25JbnB1dD4+PjtcbiAgdmVoaWNsZVR5cGU/OiBNYXliZTxDYWJIaXJlVmVoaWNsZVR5cGU+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaFVzZXJDYW5Cb29rRm9yQXJncyA9IHtcbiAgZW1haWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVzZXJOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlbXBsb3llZUlkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldENhbmNlbGxhdGlvbkluZm9BcmdzID0ge1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaENhckhpcmVBcmdzID0ge1xuICBhaXJwb3J0PzogTWF5YmU8Q2FySGlyZUFpcnBvcnRJbnB1dD47XG4gIGNpdHk/OiBNYXliZTxDYXJIaXJlQ2l0eUlucHV0PjtcbiAgbG9jYXRpb24/OiBNYXliZTxDYXJIaXJlTG9jYXRpb25JbnB1dD47XG4gIGRlcG90PzogTWF5YmU8SW5wdXRDYXJIaXJlRGVwb3Q+O1xuICBwaWNrdXBEYXRlVGltZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgZHJvcG9mZkRhdGVUaW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB2ZW5kb3I/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNsYXNzPzogTWF5YmU8Q2FySGlyZUNsYXNzPjtcbiAgdHlwZT86IE1heWJlPENhckhpcmVUeXBlPjtcbiAgdHJhbnNtaXNzaW9uPzogTWF5YmU8Q2FySGlyZVRyYW5zbWlzc2lvbj47XG4gIGFpcmNvbj86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGVzdGltYXRlZERhaWx5RGlzdGFuY2U/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgZXN0aW1hdGVkRGFpbHlEaXN0YW5jZVVuaXRzPzogTWF5YmU8RGlzdGFuY2VUeXBlcz47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Q2FySGlyZURlcG90c0FyZ3MgPSB7XG4gIGxhdGl0dWRlOiBTY2FsYXJzWydGbG9hdCddO1xuICBsb25naXR1ZGU6IFNjYWxhcnNbJ0Zsb2F0J107XG4gIHZlbmRvckNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5Q2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RBcmdzID0ge1xuICBsb2NhdGlvbkRldGFpbHM6IENhckhpcmVJbnB1dElkZW50aWZpZXJzO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlQXJncyA9IHtcbiAgdXNlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaENpdGllc0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5Q29uZmVybWFCbG9ja0NsaWVudEhvdGVsc0FyZ3MgPSB7XG4gIGhvdGVsSWRzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGdyb3VwSWRzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5Q29uZmVybWFVbmJsb2NrQ2xpZW50SG90ZWxzQXJncyA9IHtcbiAgaG90ZWxJZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZ3JvdXBJZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlDb25mZXJtYUJsb2NrQ29uc3VtZXJIb3RlbHNBcmdzID0ge1xuICBob3RlbElkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBncm91cElkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUNvbmZlcm1hVW5ibG9ja0NvbnN1bWVySG90ZWxzQXJncyA9IHtcbiAgaG90ZWxJZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZ3JvdXBJZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlDb25mZXJtYUxpc3RDYXJkc0FyZ3MgPSB7XG4gIGNvbXBhbnlJZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBvZmZpY2VJZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaENvbmZlcm1hQ2l0aWVzQXJncyA9IHtcbiAgY2l0eU5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Q29uZmVybWFPZmZpY2VBcmdzID0ge1xuICBvZmZpY2VJZDogU2NhbGFyc1snSW50J107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Q29uZmVybWFRdWlja2xpc3RBcmdzID0ge1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoRmFzdFRyYWNrQXJncyA9IHtcbiAgYXJyaXZhbERhdGV0aW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hGbGlnaHRzQXJncyA9IHtcbiAgcGFzc2VuZ2VyczogQXJyYXk8RmxpZ2h0UGFzc2VuZ2VyT2JqZWN0PjtcbiAgb3JpZ2luQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtdWx0aURlc3RpbmF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8RGVzdGluYXRpb25FbnRyeT4+PjtcbiAgb3V0Ym91bmREYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZEFycml2YWxUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZENhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4+O1xuICByZXR1cm5UcmlwOiBTY2FsYXJzWydCb29sZWFuJ107XG4gIHJldHVybkRhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICByZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5BcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+Pj47XG4gIGZhcmVUeXBlOiBGYXJlVHlwZTtcbiAgcmVxdWlyZUZyZWVCYWc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtYXhDb25uZWN0aW9ucz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcHJlZmVycmVkQ2FycmllcnM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+PjtcbiAgaW5jbHVkZU5lYXJieUFpcnBvcnRzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYXNTaW5nbGVzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hGbGlnaHRzVjJBcmdzID0ge1xuICBwYXNzZW5nZXJzOiBBcnJheTxGbGlnaHRQYXNzZW5nZXJPYmplY3Q+O1xuICBvcmlnaW5BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG11bHRpRGVzdGluYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTxEZXN0aW5hdGlvbkVudHJ5Pj4+O1xuICBvdXRib3VuZERhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICBvdXRib3VuZERlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+Pj47XG4gIHJldHVyblRyaXA6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgcmV0dXJuRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkFycml2YWxUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5DYWJpbkNsYXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+PjtcbiAgZmFyZVR5cGU6IEZhcmVUeXBlO1xuICByZXF1aXJlRnJlZUJhZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG1heENvbm5lY3Rpb25zPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBwcmVmZXJyZWRDYXJyaWVycz86IE1heWJlPEFycmF5PE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPj4+O1xuICBpbmNsdWRlTmVhcmJ5QWlycG9ydHM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhc1NpbmdsZXM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaEV1cm9zdGFyQXJncyA9IHtcbiAgcGFzc2VuZ2VyczogQXJyYXk8RmxpZ2h0UGFzc2VuZ2VyT2JqZWN0PjtcbiAgb3JpZ2luQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtdWx0aURlc3RpbmF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8RGVzdGluYXRpb25FbnRyeT4+PjtcbiAgb3V0Ym91bmREYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZEFycml2YWxUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZENhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4+O1xuICByZXR1cm5UcmlwOiBTY2FsYXJzWydCb29sZWFuJ107XG4gIHJldHVybkRhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICByZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5BcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+Pj47XG4gIGZhcmVUeXBlOiBGYXJlVHlwZTtcbiAgcmVxdWlyZUZyZWVCYWc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtYXhDb25uZWN0aW9ucz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcHJlZmVycmVkQ2FycmllcnM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+PjtcbiAgaW5jbHVkZU5lYXJieUFpcnBvcnRzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYXNTaW5nbGVzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hIb3RlbENoYWluc0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hIb3RlbHNBcmdzID0ge1xuICBzdGFydERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgZW5kRGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBjaXR5TmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcG9zdE9yWmlwQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxhdGl0dWRlPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIGxvbmdpdHVkZT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICB0cmFpblN0YXRpb25Db2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpYXRhPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvZmZpY2VJZD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcm9vbXM6IFNjYWxhcnNbJ0ludCddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgY3VycmVuY3k6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkaXN0YW5jZVR5cGU6IERpc3RhbmNlVHlwZXM7XG4gIGRpc3RhbmNlOiBTY2FsYXJzWydJbnQnXTtcbiAgbWF4UmVzdWx0cz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgaG90ZWxOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBncm91cE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0SG90ZWxBdmFpbGFiaWxpdHlBcmdzID0ge1xuICBob3RlbDogU2NhbGFyc1snU3RyaW5nJ107XG4gIHN0YXJ0RGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBlbmREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGN1cnJlbmN5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb2NjdXBhbnRzOiBTY2FsYXJzWydJbnQnXTtcbiAgcm9vbXM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlBcmdzID0ge1xuICBob3RlbDogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdGFydERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgZW5kRGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBjdXJyZW5jeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIG9jY3VwYW50czogU2NhbGFyc1snSW50J107XG4gIHJvb21zPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldElybFN1cHBsaWVyU3RhdGlvbkFyZ3MgPSB7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHN1cHBsaWVyPzogTWF5YmU8SXJsU3VwcGxpZXI+O1xuICBjb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNBcmdzID0ge1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHN1cHBsaWVyOiBJcmxTdXBwbGllcjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hJcmxBcmdzID0ge1xuICBzdXBwbGllcjogSXJsU3VwcGxpZXI7XG4gIGNvdW50cnlDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgam91cm5leVR5cGU6IElybEpvdXJuZXlUeXBlO1xuICBjbGFzcz86IE1heWJlPElybENsYXNzPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgZGVwYXJ0dXJlTG9jYXRpb25JZDogU2NhbGFyc1snSUQnXTtcbiAgYXJyaXZhbExvY2F0aW9uSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICByZXR1cm5EZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaExvdW5nZXNBcmdzID0ge1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhcnJpdmFsRGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBpbmZhbnRzPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICB0ZXJtaW5hbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc0FyZ3MgPSB7XG4gIG1pOiBTY2FsYXJzWydJRCddO1xuICBwYXJ0aWFsTGFiZWw6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVZhbGlkYXRlVXNlck1pRnJlZVZhbHVlQXJncyA9IHtcbiAgbWk6IFNjYWxhcnNbJ0lEJ107XG4gIGZyZWVWYWx1ZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5VmFsaWRhdGVCYXNrZXRJdGVtTWlBcmdzID0ge1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJNZXNzYWdlc0FyZ3MgPSB7XG4gIHRhcmdldD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hQYXJraW5nQXJncyA9IHtcbiAgYXJyaXZhbERhdGV0aW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBkZXBhcnREYXRldGltZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgbG9jYXRpb25Db2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb3V0RmxpZ2h0TnVtYmVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZWNvbW1lbmRlZD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG9uQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG1lZXRBbmRHcmVldD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBhcmtBbmRSaWRlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGFya0FuZFN0cm9sbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNhclBhcmtlZEZvcllvdT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRlcm1pbmFsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFBvc3Rjb2RlRGV0YWlsc0FyZ3MgPSB7XG4gIHBvc3Rjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlQb3N0Y29kZUF1dG9TdWdnZXN0QXJncyA9IHtcbiAgcG9zdGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaFBvc3Rjb2Rlc0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlJc1Bvc3Rjb2RlVmFsaWRBcmdzID0ge1xuICBwb3N0Y29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0UmFpbFN0YXRpb25BcmdzID0ge1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBjb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaFJhaWxTdGF0aW9uc0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoUmFpbEFyZ3MgPSB7XG4gIGNvdW50cnlDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgam91cm5leVR5cGU6IFJhaWxKb3VybmV5VHlwZTtcbiAgY2xhc3M/OiBNYXliZTxSYWlsQ2xhc3M+O1xuICBvdXRib3VuZEFycml2YWxEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBvdXRib3VuZERlcGFydHVyZURhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGRlcGFydHVyZUxvY2F0aW9uSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGFycml2YWxMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcmV0dXJuQXJyaXZhbERhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHJldHVybkRlcGFydHVyZURhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHJhaWxDYXJkUXVhbGlmaWVycz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHZpYUxvY2F0aW9uSWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgZXh0cmFUaW1lVG9DaGFuZ2U/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwbHVzQnVzT3V0PzogTWF5YmU8UmFpbFBsdXNCdXNBdmFpbD47XG4gIHBsdXNCdXNSZXR1cm4/OiBNYXliZTxSYWlsUGx1c0J1c0F2YWlsPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRSaXNrQWxlcnRzQXJncyA9IHtcbiAgbWluTGV2ZWw/OiBNYXliZTxSaXNrTGV2ZWw+O1xuICBtYXhMZXZlbD86IE1heWJlPFJpc2tMZXZlbD47XG4gIGNvdW50cnlJc29Db2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHJhaWxTdGF0aW9uPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGFpcnBvcnRJYXRhPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJSZWNlbnRTZWFyY2hlc0FyZ3MgPSB7XG4gIHNlcnZpY2VUeXBlPzogTWF5YmU8U2VydmljZVR5cGU+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJGYXZvdXJpdGVTZWFyY2hlc0FyZ3MgPSB7XG4gIHNlcnZpY2VUeXBlPzogTWF5YmU8U2VydmljZVR5cGU+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJVaUNvbmZpZ3NBcmdzID0ge1xuICB0YXJnZXQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0VXNlckFyZ3MgPSB7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsQWNjb3VudCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsQWNjb3VudCc7XG4gIGlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlZmVyZW5jZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpc0RlZmF1bHQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxDYWxsaW5nUG9pbnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbENhbGxpbmdQb2ludCc7XG4gIHN0YXRpb25OYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0YXRpb25Db2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFycml2YWxEYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG4gIGRlcGFydHVyZURhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgc2NoZWR1bGVkUGxhdGZvcm0/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RhdGlvbkNsYXNzaWZpY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFJhaWxTdGF0aW9uQ2xhc3NpZmljYXRpb24+PjtcbiAgc3RvcHBpbmdQYXR0ZXJuPzogTWF5YmU8RmllbGRXcmFwcGVyPFJhaWxTdG9wcGluZ1BhdHRlcm4+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIFJhaWxDbGFzcyB7XG4gIEFsbCA9ICdBbGwnLFxuICBGaXJzdCA9ICdGaXJzdCcsXG4gIFN0YW5kYXJkID0gJ1N0YW5kYXJkJ1xufVxuXG5leHBvcnQgdHlwZSBSYWlsSWRlbnRpZmllcnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbElkZW50aWZpZXJzJztcbiAgdHJhbnNhY3Rpb25JZGVudGlmaWVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGpvdXJuZXlJZGVudGlmaWVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByb3ZpZGVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhcmVJZGVudGlmaWVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRpcmVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhbGxvd2VkV2l0aDogQXJyYXk8RmllbGRXcmFwcGVyPFJhaWxJZGVudGlmaWVycz4+O1xuICBzaW5nbGVPclJldHVybj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBib29raW5nUmVmPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsSm91cm5leU9wdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsSm91cm5leU9wdGlvbic7XG4gIGlkZW50aWZpZXJzPzogTWF5YmU8RmllbGRXcmFwcGVyPFJhaWxJZGVudGlmaWVycz4+O1xuICB0cmF2ZWxsZXJzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxUcmF2ZWxsZXI+Pj47XG4gIGNvMlBlckl0ZW0/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjbzJQZXJQYXNzZW5nZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBmcm9tPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZyb21Db2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRvQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnREYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG4gIGFycml2ZURhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgY2hhbmdlcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWdtZW50cz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsU2VnbWVudD4+PjtcbiAgcHJvdmlkZXJzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxQcm92aWRlcj4+PjtcbiAgdW5zZWxsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRFeHRyYXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldEV4dHJhPj4+O1xuICBwbHVzQnVzPzogTWF5YmU8RmllbGRXcmFwcGVyPFJhaWxQbHVzQnVzPj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsSm91cm5leU9wdGlvbnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlPcHRpb25zJztcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgb3V0Ym91bmQ/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlPcHRpb24+Pj47XG4gIHJldHVybj86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsSm91cm5leU9wdGlvbj4+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIFJhaWxKb3VybmV5VHlwZSB7XG4gIFJldHVybkpvdXJuZXkgPSAnUmV0dXJuSm91cm5leScsXG4gIFNpbmdsZUpvdXJuZXkgPSAnU2luZ2xlSm91cm5leScsXG4gIER1YWxTaW5nbGVKb3VybmV5ID0gJ0R1YWxTaW5nbGVKb3VybmV5JyxcbiAgT3BlblJldHVybkpvdXJuZXkgPSAnT3BlblJldHVybkpvdXJuZXknXG59XG5cbmV4cG9ydCB0eXBlIFJhaWxQbHVzQnVzID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxQbHVzQnVzJztcbiAgb3JpZ2luUGx1c0J1c05MQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvcmlnaW5TdGF0aW9uTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RpbmF0aW9uUGx1c0J1c05MQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXN0aW5hdGlvblN0YXRpb25OTEM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxQbHVzQnVzQXZhaWwgPSB7XG4gIG9yaWdpbj86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGRlc3RpbmF0aW9uPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxQcm92aWRlciA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsUHJvdmlkZXInO1xuICBwcm92aWRlcklkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2hlYXBlc3RUaWNrZXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldE9wdGlvbj4+O1xuICB0aWNrZXRPcHRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFJhaWxUaWNrZXRPcHRpb24+Pj4+O1xuICBib29rZWRUaWNrZXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldE9wdGlvbj4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFNlYXJjaFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsU2VhcmNoUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPFJhaWxKb3VybmV5T3B0aW9ucz4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFNlYXQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFNlYXQnO1xuICBsb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb2FjaD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBudW1iZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlyZWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvc2l0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlY2s/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdFR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdFNlbGVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYWNpbGl0aWVzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgbm90ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxTZWF0UHJlZmVyZW5jZVR5cGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFNlYXRQcmVmZXJlbmNlVHlwZSc7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWxsb3dlZFZhbHVlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsU2VnbWVudCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsU2VnbWVudCc7XG4gIGlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9wZXJhdG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnREYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG4gIGFycml2ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhcnJpdmVEYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG4gIHJlc2VydmFibGVTdGF0dXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsU2VhdFByZWZlcmVuY2VUeXBlPj4+O1xuICBzZWF0UHJlZmVyZW5jZUdyb3VwPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxTZWF0Pj4+O1xuICBjYWxsaW5nUG9pbnRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxDYWxsaW5nUG9pbnQ+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsU3RhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsU3RhdGlvbic7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN0YXRpb25Db2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBubGNDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIHRyYWlubGluZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhaW5saW5lVW5pcXVlQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbkRldGFpbHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8TG9jYXRpb25EZXRhaWw+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIFJhaWxTdGF0aW9uQ2xhc3NpZmljYXRpb24ge1xuICBPcmlnaW4gPSAnT3JpZ2luJyxcbiAgSW50ZXJtZWRpYXRlID0gJ0ludGVybWVkaWF0ZScsXG4gIERlc3RpbmF0aW9uID0gJ0Rlc3RpbmF0aW9uJyxcbiAgVW5rbm93biA9ICdVbmtub3duJ1xufVxuXG5leHBvcnQgZW51bSBSYWlsU3RvcHBpbmdQYXR0ZXJuIHtcbiAgUmVxdWVzdFN0b3AgPSAnUmVxdWVzdFN0b3AnLFxuICBQaWNrVXBPbmx5ID0gJ1BpY2tVcE9ubHknLFxuICBTZXREb3duT25seSA9ICdTZXREb3duT25seScsXG4gIE5vcm1hbCA9ICdOb3JtYWwnLFxuICBQYXNzaW5nID0gJ1Bhc3NpbmcnLFxuICBVbmtub3duID0gJ1Vua25vd24nXG59XG5cbmV4cG9ydCB0eXBlIFJhaWxUZXh0VmFsdWVQYWlyID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxUZXh0VmFsdWVQYWlyJztcbiAgdGV4dDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdmFsdWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxUaWNrZXQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldCc7XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb3V0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWdtZW50cz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsU2VnbWVudD4+PjtcbiAgbnVtQ2hpbGRyZW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgbnVtQWR1bHRzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsVGlja2V0RXh0cmEgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldEV4dHJhJztcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldEV4dHJhSWRlbnRpZmllcnM+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGUnXT4+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhbW91bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBhZHVsdEFtb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGNoaWxkQW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxUaWNrZXRFeHRyYUlkZW50aWZpZXJzID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRFeHRyYUlkZW50aWZpZXJzJztcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGUnXT4+O1xuICBqb3VybmV5SWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaXNPcmlnaW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsVGlja2V0T3B0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRPcHRpb24nO1xuICBpZGVudGlmaWVycz86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsSWRlbnRpZmllcnM+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0ZXJtcz86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0VGVybXM+PjtcbiAgY2xhc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2luZ2xlT3JSZXR1cm4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICByZXNlcnZhYmxlU3RhdHVzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGN1cnJlbmN5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJvdXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJvdXRlQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhdmFpbGFibGVTZWF0cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFJhaWxUaWNrZXQ+Pj4+O1xuICB0aWNrZXRRdWV1ZUxpc3Q/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldFF1ZXVlPj4+PjtcbiAgYWNjb3VudHNMaXN0PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFJhaWxBY2NvdW50Pj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxUaWNrZXRRdWV1ZSA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsVGlja2V0UXVldWUnO1xuICBpZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxUaWNrZXRUZXJtcyA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsVGlja2V0VGVybXMnO1xuICBlcnJvcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRUeXBlQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFpbk9wZXJhdGluZ0NvbXBhbnlDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRpY2tldFR5cGVOYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRpY2tldFR5cGVBbHROYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRpY2tldFR5cGVDbGFzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByZXNlcnZhdGlvblJ1bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgam91cm5leVR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJlQm9va2luZ1JlcXVpcmVtZW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGdlbmVyYWxWYWxpZGl0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB2YWxpZE91dFJ1bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdmFsaWRSZXR1cm5SdWxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGdlbmVyYWxEaXNjb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaGlsZERpc2NvdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJhaWxjYXJkRGlzY291bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVmdW5kQ2FuY2VsbGF0aW9uUnVsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaGFuZ2VSdWxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRpY2tldFR5cGVDb25kaXRpb25zRGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgam91cm5leUJyZWFrUnVsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhdmFpbGFiaWxpdHlSdWxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRvZEF2YWlsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBraW9za0F2YWlsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGFydERhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZW5kRGF0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkeW5hbWljQ29uZGl0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxEeW5hbWljQ29uZGl0aW9uPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxUcmF2ZWxsZXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRyYXZlbGxlcic7XG4gIHN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVHJhdmVsbGVyU3RhdHVzPj47XG4gIGlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRvYj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlJ10+PjtcbiAgcmFpbGNhcmQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZ2l2ZW5OYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN1cm5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbmFtZVRpdGxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbnRhY3RJbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlbGl2ZXJ5RW1haWxBZGRyZXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhcmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIFJhaWxUcmF2ZWxsZXJTdGF0dXMge1xuICBQbGFjZWhvbGRlciA9ICdwbGFjZWhvbGRlcicsXG4gIENvbXBsZXRlID0gJ2NvbXBsZXRlJ1xufVxuXG5leHBvcnQgdHlwZSBSZWZlcmVuY2VSYWlsQ2FyZFF1YWxpZmllciA9IHtcbiAgX190eXBlbmFtZT86ICdSZWZlcmVuY2VSYWlsQ2FyZFF1YWxpZmllcic7XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBSaXNrQWxlcnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmlza0FsZXJ0JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgdGl0bGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBicmVha2luZzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHJpc2s6IEZpZWxkV3JhcHBlcjxSaXNrTGV2ZWw+O1xuICBjYXRlZ29yeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbG9jYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBzdGFydERhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZW5kRGF0ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICByZWNlaXZlZERhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbn07XG5cbmV4cG9ydCBlbnVtIFJpc2tMZXZlbCB7XG4gIExvdyA9ICdMb3cnLFxuICBNb2RlcmF0ZSA9ICdNb2RlcmF0ZScsXG4gIE1lZGl1bSA9ICdNZWRpdW0nLFxuICBIaWdoID0gJ0hpZ2gnLFxuICBFeHRyZW1lID0gJ0V4dHJlbWUnXG59XG5cbmV4cG9ydCB0eXBlIFNlYXJjaCA9IHtcbiAgX190eXBlbmFtZT86ICdTZWFyY2gnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlcnZpY2VUeXBlOiBGaWVsZFdyYXBwZXI8U2VydmljZVR5cGU+O1xuICBzZWFyY2hBcmdzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB0cmF2ZWxEYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyPj4+O1xufTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoRXJyb3IgPSB7XG4gIF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InO1xuICBzZXJ2aWNlOiBGaWVsZFdyYXBwZXI8U2VydmljZT47XG4gIGVycm9yTWVzc2FnZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZXJyb3JDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoUmVzdWx0ID0gRmxpZ2h0SXRpbmVyYXJ5IHwgSXRpbmVyYXJ5U3VtbWFyeTtcblxuZXhwb3J0IHR5cGUgU2VsZWN0ZWRNYW5hZ2VtZW50SW5mb1ZhbHVlID0ge1xuICBfX3R5cGVuYW1lPzogJ1NlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZSc7XG4gIHZhbHVlPzogTWF5YmU8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvVmFsdWU+PjtcbiAgZnJlZVZhbHVlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJhc2tldExldmVsVmFsdWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1c2VyTGV2ZWxWYWx1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVzZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgU2VydmljZSA9IHtcbiAgX190eXBlbmFtZT86ICdTZXJ2aWNlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgdHlwZTogRmllbGRXcmFwcGVyPFNlcnZpY2VUeXBlPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzY3JpcHRpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN1cHBsaWVyVXJsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhY3RpdmU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhcGlFbmRwb2ludFVybDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbVR0bDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjYW5jZWxsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGFtZW5kYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGRldGFpbFNjaGVtYTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG4gIHNlYXJjaFF1ZXJ5U2NoZW1hOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCBlbnVtIFNlcnZpY2VUeXBlIHtcbiAgRmxpZ2h0ID0gJ0ZMSUdIVCcsXG4gIEV1cm9zdGFyID0gJ0VVUk9TVEFSJyxcbiAgSW50ZXJuYXRpb25hbFJhaWwgPSAnSU5URVJOQVRJT05BTF9SQUlMJyxcbiAgUmFpbCA9ICdSQUlMJyxcbiAgSG90ZWwgPSAnSE9URUwnLFxuICBDYXIgPSAnQ0FSJyxcbiAgTG91bmdlID0gJ0xPVU5HRScsXG4gIEZhc3RUcmFjayA9ICdGQVNUX1RSQUNLJyxcbiAgUGFya2luZyA9ICdQQVJLSU5HJyxcbiAgQ2FiID0gJ0NBQicsXG4gIENvYWNoID0gJ0NPQUNIJ1xufVxuXG5leHBvcnQgdHlwZSBTdGF0aW9uU2VhcmNoUmVxdWVzdFJlc3BvbnNlID0ge1xuICBfX3R5cGVuYW1lPzogJ1N0YXRpb25TZWFyY2hSZXF1ZXN0UmVzcG9uc2UnO1xuICB0ZXh0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2YWx1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFN1cHBsZW1lbnRhcnlCb29raW5nSW5mbyA9IHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgdXNlckluZm86IEFycmF5PFVzZXJJbmZvPjtcbiAgYWRkcmVzcz86IE1heWJlPEJvb2tpbmdBZGRyZXNzPjtcbiAgcGhvbmVOdW1iZXI/OiBNYXliZTxCb29raW5nUGhvbmVOdW1iZXI+O1xuICBzdXBwbGVtZW50YXJ5SW5mbzogU2NhbGFyc1snSlNPTiddO1xuICBwYXltZW50TWV0aG9kRGV0YWlsczogU2NhbGFyc1snSlNPTiddO1xufTtcblxuZXhwb3J0IHR5cGUgVG1jID0ge1xuICBfX3R5cGVuYW1lPzogJ1RNQyc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBUcmF2ZWxSdWxlID0ge1xuICBfX3R5cGVuYW1lPzogJ1RyYXZlbFJ1bGUnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXNjcmlwdGlvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYXBwbGllc1RvOiBGaWVsZFdyYXBwZXI8U2VydmljZVR5cGU+O1xuICBhcHBsaWNhdGlvblN0YWdlOiBGaWVsZFdyYXBwZXI8QXBwbGljYXRpb25TdGFnZT47XG59O1xuXG5leHBvcnQgdHlwZSBUcmF2ZWxSdWxlQXBwbGllc1RvID0ge1xuICBfX3R5cGVuYW1lPzogJ1RyYXZlbFJ1bGVBcHBsaWVzVG8nO1xuICBmbGlnaHQ/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG4gIHJhaWw/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG4gIGhvdGVsPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFRyYXZlbFJ1bGU+Pj4+O1xuICBjYXI/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG4gIGxvdW5nZT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgZmFzdFRyYWNrPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFRyYXZlbFJ1bGU+Pj4+O1xuICBwYXJraW5nPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFRyYXZlbFJ1bGU+Pj4+O1xuICBjYWI/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG4gIGNvYWNoPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFRyYXZlbFJ1bGU+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgVHJhdmVsUnVsZXNDb2xsZWN0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ1RyYXZlbFJ1bGVzQ29sbGVjdGlvbic7XG4gIHRtYzogQXJyYXk8RmllbGRXcmFwcGVyPFRyYXZlbFJ1bGU+PjtcbiAgY29tcGFueTogQXJyYXk8RmllbGRXcmFwcGVyPFRyYXZlbFJ1bGU+PjtcbiAgb2ZmaWNlczogQXJyYXk8RmllbGRXcmFwcGVyPFRyYXZlbFJ1bGU+PjtcbiAgY29tcGFueUdyb3VwczogQXJyYXk8RmllbGRXcmFwcGVyPFRyYXZlbFJ1bGU+PjtcbiAgdXNlcjogQXJyYXk8RmllbGRXcmFwcGVyPFRyYXZlbFJ1bGU+PjtcbiAgYWxsOiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICBhcHBsaWVzVG8/OiBNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZUFwcGxpZXNUbz4+O1xufTtcblxuZXhwb3J0IHR5cGUgVWlDb25maWcgPSB7XG4gIF9fdHlwZW5hbWU/OiAnVUlDb25maWcnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0YXJnZXQ6IEZpZWxkV3JhcHBlcjxVaUNvbmZpZ1RhcmdldD47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbmZpZz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+PjtcbiAga2V5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgVWlDb25maWdDb2xsZWN0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ1VJQ29uZmlnQ29sbGVjdGlvbic7XG4gIHRtYzogQXJyYXk8RmllbGRXcmFwcGVyPFVpQ29uZmlnPj47XG4gIGNvbXBhbnk6IEFycmF5PEZpZWxkV3JhcHBlcjxVaUNvbmZpZz4+O1xuICBvZmZpY2U6IEFycmF5PEZpZWxkV3JhcHBlcjxVaUNvbmZpZz4+O1xuICBjb21wYW55R3JvdXA6IEFycmF5PEZpZWxkV3JhcHBlcjxVaUNvbmZpZz4+O1xuICB1c2VyOiBBcnJheTxGaWVsZFdyYXBwZXI8VWlDb25maWc+PjtcbiAgYWxsOiBBcnJheTxGaWVsZFdyYXBwZXI8VWlDb25maWc+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIFVpQ29uZmlnVGFyZ2V0IHtcbiAgQWxsID0gJ0FMTCcsXG4gIE1vY2sgPSAnTU9DSycsXG4gIExpZ2h0bmluZyA9ICdMSUdIVE5JTkcnLFxuICBBcHAgPSAnQVBQJ1xufVxuXG5leHBvcnQgZW51bSBVaVByZXNlbnRhdGlvbiB7XG4gIEZyZWVUZXh0ID0gJ0ZSRUVfVEVYVCcsXG4gIEF1dG9TdWdnZXN0ID0gJ0FVVE9fU1VHR0VTVCcsXG4gIEhpZGRlbiA9ICdISURERU4nXG59XG5cbmV4cG9ydCB0eXBlIFVzZXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnVXNlcic7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIHRpdGxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBmb3JlbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3VybmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1haWw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVzZXJuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlbXBsb3llZUlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZG9iOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPjtcbiAgYWRtaW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHRtY0FkbWluPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBjb21wYW55QWRtaW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGJvb2tlclR5cGU6IEZpZWxkV3JhcHBlcjxCb29rZXJUeXBlPjtcbiAgYXV0aE1ldGhvZHM6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhY3RpdmU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwYXNzd29yZExhc3RVcGRhdGVkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgc2VsZWN0ZWRMYW5ndWFnZTogRmllbGRXcmFwcGVyPExhbmd1YWdlPjtcbiAgYXZhaWxhYmxlTGFuZ3VhZ2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8TGFuZ3VhZ2U+PjtcbiAgcGFzc3BvcnRzOiBBcnJheTxGaWVsZFdyYXBwZXI8UGFzc3BvcnQ+PjtcbiAgdG1jOiBGaWVsZFdyYXBwZXI8VG1jPjtcbiAgY29tcGFueTogRmllbGRXcmFwcGVyPENvbXBhbnk+O1xuICBvZmZpY2U6IEZpZWxkV3JhcHBlcjxPZmZpY2U+O1xuICBjb21wYW55R3JvdXBzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q29tcGFueUdyb3VwPj47XG4gIGFkZHJlc3NlczogQXJyYXk8RmllbGRXcmFwcGVyPEFkZHJlc3M+PjtcbiAgcGhvbmVOdW1iZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8UGhvbmVOdW1iZXI+PjtcbiAgYXBwcm92ZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8QXBwcm92ZXI+PjtcbiAgYXBwcm92ZXJGb3I6IEFycmF5PEZpZWxkV3JhcHBlcjxBcHByb3ZlZT4+O1xuICBib29rZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xuICBjYW5Cb29rRm9yOiBBcnJheTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xuICBjbzJBbGxvd2FuY2VQZXJpb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yQWxsb3dhbmNlUGVyUGVyaW9kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBVc2VySW5mbyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGFkZHJlc3M/OiBNYXliZTxCb29raW5nQWRkcmVzcz47XG4gIHBob25lTnVtYmVyPzogTWF5YmU8Qm9va2luZ1Bob25lTnVtYmVyPjtcbiAgc3VwcGxlbWVudGFyeUluZm86IFNjYWxhcnNbJ0pTT04nXTtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJQYXNzZW5nZXJUeXBlID0ge1xuICBfX3R5cGVuYW1lPzogJ1VzZXJQYXNzZW5nZXJUeXBlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgcGFzc2VuZ2VyVHlwZTogRmllbGRXcmFwcGVyPFBhc3NlbmdlclR5cGU+O1xufTtcblxuZXhwb3J0IHR5cGUgVXNlclBhc3NlbmdlclR5cGVJbnB1dCA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHBhc3NlbmdlclR5cGU6IFBhc3NlbmdlclR5cGU7XG59O1xuXG5leHBvcnQgdHlwZSBBY2NlcHROZXdQcmljZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBBY2NlcHROZXdQcmljZU11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IGFjY2VwdE5ld1ByaWNlOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBBZGRVc2Vyc1RvQmFza2V0SXRlbU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICB1c2VyczogQXJyYXk8VXNlclBhc3NlbmdlclR5cGVJbnB1dD4gfCBVc2VyUGFzc2VuZ2VyVHlwZUlucHV0O1xuICB3aXRoU3VwcGxlbWVudGFsOiBTY2FsYXJzWydCb29sZWFuJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBBZGRVc2Vyc1RvQmFza2V0SXRlbU11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IGFkZFVzZXJzVG9CYXNrZXRJdGVtOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBUcmF2ZWxsZXJGaWVsZHNGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgJiBQaWNrPFVzZXIsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCcgfCAndXNlcm5hbWUnIHwgJ2VtcGxveWVlSWQnPlxuKTtcblxuZXhwb3J0IHR5cGUgT3duZXJGaWVsZHNGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgJiBQaWNrPFVzZXIsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCc+XG4pO1xuXG5leHBvcnQgdHlwZSBCYXNrZXRGaWVsZHNGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAmIFBpY2s8QmFza2V0LCAnaWQnIHwgJ3JlZmVyZW5jZScgfCAndGl0bGUnIHwgJ25vdGVzJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnYm9va2VkQXQnIHwgJ3N0YXR1cycgfCAndmFsaWRhdGVkJz5cbiAgJiB7IG93bmVyOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAmIE93bmVyRmllbGRzRnJhZ21lbnRcbiAgKSwgYmFza2V0SXRlbXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0SXRlbScgfVxuICAgICYgTWFrZU9wdGlvbmFsPFBpY2s8QmFza2V0SXRlbSwgJ2lkJyB8ICdhZHVsdHMnIHwgJ2NoaWxkcmVuJyB8ICdpbmZhbnRzJyB8ICdkZXRhaWwnIHwgJ2RldGFpbEhhc2gnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdleHBpcnknIHwgJ2V4cGlyZWQnIHwgJ3NlYXJjaFF1ZXJ5JyB8ICdwcmljZScgfCAnY3VycmVuY3knIHwgJ21pR3JvdXBzQXZhaWxhYmxlJyB8ICdtaUdyb3VwU2VsZWN0ZWQnIHwgJ3ZhbGlkYXRlZCcgfCAnbGF0ZXN0VmFsaWRhdGlvbicgfCAnbGF0ZXN0VmFsaWRhdGlvblByaWNlJyB8ICdsYXRlc3RWYWxpZGF0aW9uUHJpY2VEaWZmZXJlbmNlJyB8ICdsYXRlc3RWYWxpZGF0aW9uQXZhaWxhYmxlJyB8ICdib29raW5nVGhpcmRQYXJ0eVJlZmVyZW5jZScgfCAncG5yTG9jYXRvcicgfCAnc3RhdHVzJyB8ICdwZXJJdGVtU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hJyB8ICdwZXJQYXNzZW5nZXJTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWEnIHwgJ3Blckl0ZW1BZGRyZXNzJyB8ICdwZXJJdGVtUGhvbmVOdW1iZXInIHwgJ3BlclBhc3NlbmdlckFkZHJlc3MnIHwgJ3BlclBhc3NlbmdlclBob25lTnVtYmVyJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJyB8ICdjbzJQZXJJdGVtJyB8ICdjbzJQZXJQYXNzZW5nZXInIHwgJ291dGJvdW5kRGF0ZScgfCAnaW5ib3VuZERhdGUnPiwgJ3Blckl0ZW1TdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWEnIHwgJ3BlclBhc3NlbmdlclN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYScgfCAncGVySXRlbUFkZHJlc3MnIHwgJ3Blckl0ZW1QaG9uZU51bWJlcicgfCAncGVyUGFzc2VuZ2VyQWRkcmVzcycgfCAncGVyUGFzc2VuZ2VyUGhvbmVOdW1iZXInPlxuICAgICYgeyBhdmFpbGFibGVQYXltZW50TWV0aG9kczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnRNZXRob2QnIH1cbiAgICAgICYgUGljazxQYXltZW50TWV0aG9kLCAnaWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgICApPiwgc2VsZWN0ZWRQYXltZW50TWV0aG9kPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnRNZXRob2QnIH1cbiAgICAgICYgUGljazxQYXltZW50TWV0aG9kLCAnaWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgICApPiwgc2VydmljZTogKFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlcnZpY2UnIH1cbiAgICAgICYgUGljazxTZXJ2aWNlLCAnaWQnIHwgJ3R5cGUnPlxuICAgICksIHVzZXJzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICAgJiBUcmF2ZWxsZXJGaWVsZHNGcmFnbWVudFxuICAgICk+LCB1c2VyUGFzc2VuZ2VyVHlwZXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdVc2VyUGFzc2VuZ2VyVHlwZScgfVxuICAgICAgJiBQaWNrPFVzZXJQYXNzZW5nZXJUeXBlLCAnaWQnIHwgJ3Bhc3NlbmdlclR5cGUnPlxuICAgICk+LCBsZWFkUGFzc2VuZ2VyPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAgICYgVHJhdmVsbGVyRmllbGRzRnJhZ21lbnRcbiAgICApPiwgbWFuYWdlbWVudEluZm86IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mbycgfVxuICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvLCAnaWQnIHwgJ2RiSWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdoYW5kb2ZmJyB8ICd2YWx1ZU1hc2snIHwgJ3VpUHJlc2VudGF0aW9uJyB8ICdtYW5kYXRvcnknIHwgJ3BlclBhc3NlbmdlcicgfCAncGVyQm9va2luZycgfCAnYWdlbnRPbmx5JyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZml4ZWQnIHwgJ2dyb3VwJz5cbiAgICAgICYgeyBmaXhlZFZhbHVlPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgKT4sIGRlZmF1bHRWYWx1ZT86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICk+LCB2YWx1ZXM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICk+LCBzZWxlY3RlZFZhbHVlczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU2VsZWN0ZWRNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICYgUGljazxTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWUsICdmcmVlVmFsdWUnIHwgJ2Jhc2tldExldmVsVmFsdWUnIHwgJ3VzZXJMZXZlbFZhbHVlJz5cbiAgICAgICAgJiB7IHZhbHVlPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICAgKT4sIHVzZXI/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAgICAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJyB8ICd1c2VybmFtZScgfCAnZW1wbG95ZWVJZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2RvYicgfCAnYWRtaW4nIHwgJ2NvbXBhbnlBZG1pbicgfCAnYm9va2VyVHlwZScgfCAnYXV0aE1ldGhvZHMnIHwgJ2FjdGl2ZScgfCAncGFzc3dvcmRMYXN0VXBkYXRlZCc+XG4gICAgICAgICk+IH1cbiAgICAgICk+IH1cbiAgICApPiB9XG4gICk+LCBjb21wYW55R3JvdXA/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbXBhbnlHcm91cCcgfVxuICAgICYgUGljazxDb21wYW55R3JvdXAsICdpZCcgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlckJhc2tldHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgdXNlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICB0cmF2ZWxsZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgYmFza2V0U3RhdHVzPzogTWF5YmU8QmFza2V0U3RhdHVzPjtcbiAgY3JlYXRlZEFmdGVyPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGNyZWF0ZWRCZWZvcmU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgYm9va2VkQWZ0ZXI/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgYm9va2VkQmVmb3JlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGRhdGVPZlRyYXZlbEJlZm9yZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBkYXRlT2ZUcmF2ZWxBZnRlcj86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBiYXNrZXRJdGVtQm9va2luZ1JlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0UmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRUaXRsZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyQmFza2V0c1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJCYXNrZXRzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgRGVsZXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHJlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIERlbGV0ZUJhc2tldE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiBQaWNrPE11dGF0aW9uLCAnZGVsZXRlQmFza2V0Jz5cbik7XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICB0aXRsZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBDcmVhdGVCYXNrZXRNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBjcmVhdGVCYXNrZXQ6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFJlbW92ZUl0ZW1Gcm9tQmFza2V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgUmVtb3ZlSXRlbUZyb21CYXNrZXRNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyByZW1vdmVJdGVtRnJvbUJhc2tldDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VuZEJhc2tldEZvckFwcHJvdmFsTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGJhc2tldDogU2NhbGFyc1snSUQnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZW5kQmFza2V0Rm9yQXBwcm92YWxNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzZW5kQmFza2V0Rm9yQXBwcm92YWw6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEFkZEl0ZW1Ub0Jhc2tldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBiYXNrZXQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgc2VydmljZTogU2NhbGFyc1snSUQnXTtcbiAgZGV0YWlsOiBTY2FsYXJzWydKU09OJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBpbmZhbnRzPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBwcmljZTogU2NhbGFyc1snRmxvYXQnXTtcbiAgY3VycmVuY3k6IEN1cnJlbmN5Q29kZTtcbiAgc2VhcmNoUXVlcnk6IFNjYWxhcnNbJ0pTT04nXTtcbiAgcXVpY2tBZGQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1c2Vycz86IE1heWJlPEFycmF5PE1heWJlPFVzZXJQYXNzZW5nZXJUeXBlSW5wdXQ+PiB8IE1heWJlPFVzZXJQYXNzZW5nZXJUeXBlSW5wdXQ+PjtcbiAgbGVhZFBhc3Nlbmdlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBjbzJQZXJJdGVtPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlclBhc3Nlbmdlcj86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBvdXRib3VuZERhdGU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGluYm91bmREYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgQWRkSXRlbVRvQmFza2V0TXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgYWRkSXRlbVRvQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyQmFza2V0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJCYXNrZXRRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBSZXZhbGlkYXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFJldmFsaWRhdGVCYXNrZXRNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyByZXZhbGlkYXRlQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBCb29rQmFza2V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBzdXBwbGVtZW50YXJ5SW5mbzogQXJyYXk8U3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvPiB8IFN1cHBsZW1lbnRhcnlCb29raW5nSW5mbztcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBCb29rQmFza2V0TXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgYm9va0Jhc2tldDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoQ2FiSGlyZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBkZXBhcnRzOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBmcm9tTG9jYXRpb246IENhYkhpcmVMb2NhdGlvbklucHV0O1xuICB0b0xvY2F0aW9uOiBDYWJIaXJlTG9jYXRpb25JbnB1dDtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGluZmFudHM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHZpYXM/OiBNYXliZTxBcnJheTxNYXliZTxDYWJIaXJlTG9jYXRpb25JbnB1dD4+IHwgTWF5YmU8Q2FiSGlyZUxvY2F0aW9uSW5wdXQ+PjtcbiAgdmVoaWNsZVR5cGU/OiBNYXliZTxDYWJIaXJlVmVoaWNsZVR5cGU+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoQ2FiSGlyZVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaENhYkhpcmU6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2FiSGlyZVJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FiSGlyZVF1b3RlJyB9XG4gICAgICAmIFBpY2s8Q2FiSGlyZVF1b3RlLCAnaWQnIHwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ3N1cHBsaWVyTmFtZScgfCAnZXN0aW1hdGVkQ08yJyB8ICdjbzJQZXJJdGVtJyB8ICdjbzJQZXJQYXNzZW5nZXInIHwgJ3ByaWNlJyB8ICdjdXJyZW5jeScgfCAndmVoaWNsZVR5cGUnIHwgJ3RyaXBEaXN0YW5jZU1ldHJlcycgfCAndHJpcER1cmF0aW9uU2Vjb25kcycgfCAnZGVwYXJ0cycgfCAndG1jUHJlZmVycmVkJyB8ICdjb21wYW55UHJlZmVycmVkJyB8ICdvZmZpY2VQcmVmZXJyZWQnIHwgJ3RtY1ByZWZlcnJlZE1lc3NhZ2UnIHwgJ2NvbXBhbnlQcmVmZXJyZWRNZXNzYWdlJyB8ICdvZmZpY2VQcmVmZXJyZWRNZXNzYWdlJyB8ICd1bmF2YWlsYWJsZScgfCAndW5hdmFpbGFibGVNZXNzYWdlJz5cbiAgICAgICYgeyBmcm9tTG9jYXRpb246IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhYkhpcmVMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8Q2FiSGlyZUxvY2F0aW9uLCAnYWRkcmVzcycgfCAncG9zdGNvZGUnIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnPlxuICAgICAgKSwgdG9Mb2NhdGlvbjogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FiSGlyZUxvY2F0aW9uJyB9XG4gICAgICAgICYgUGljazxDYWJIaXJlTG9jYXRpb24sICdhZGRyZXNzJyB8ICdwb3N0Y29kZScgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc+XG4gICAgICApLCB2aWFzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDYWJIaXJlTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPENhYkhpcmVMb2NhdGlvbiwgJ2FkZHJlc3MnIHwgJ3Bvc3Rjb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgICAgICk+IH1cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbG9jYXRpb25EZXRhaWxzOiBDYXJIaXJlSW5wdXRJZGVudGlmaWVycztcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3Q6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZURldGFpbFJlcXVlc3RSZXNwb25zZScgfVxuICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlSWRlbnRpZmllcnMnIH1cbiAgICAgICYgUGljazxDYXJIaXJlSWRlbnRpZmllcnMsICdsb2NhdG9yJyB8ICdycGgnIHwgJ3N0YXR1cycgfCAndmVoVHlwZScgfCAnbG9jYXRpb25Db2RlJyB8ICdleHRlbmRlZExvY2F0aW9uQ29kZScgfCAnbG9jYXRpb25OYW1lJyB8ICdkcm9wT2ZmTG9jYXRpb24nIHwgJ3BpY2t1cERhdGVUaW1lJyB8ICdkcm9wb2ZmRGF0ZVRpbWUnIHwgJ3ZlbmRvcic+XG4gICAgKT4sIHZlbmRvcj86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlVmVuZG9yJyB9XG4gICAgICAmIFBpY2s8Q2FySGlyZVZlbmRvciwgJ25hbWUnIHwgJ2xvZ28nPlxuICAgICk+LCBhZGRyZXNzPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVBZGRyZXNzJyB9XG4gICAgICAmIFBpY2s8Q2FySGlyZUFkZHJlc3MsICduYW1lJyB8ICd0b3BMaW5lJyB8ICdjaXR5JyB8ICdyZWdpb24nIHwgJ3Bvc3RDb2RlJyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnc3RhdGVDb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgICApPiwgYWRkaXRpb25hbEluZm8/OiBNYXliZTxBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUFkZGl0aW9uYWxJbmZvSXRlbScgfVxuICAgICAgJiBQaWNrPENhckhpcmVBZGRpdGlvbmFsSW5mb0l0ZW0sICduYW1lJyB8ICd0ZXh0JyB8ICdqc29uJz5cbiAgICAgICYgeyBjdXN0b20/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlQ3VzdG9tJyB9XG4gICAgICAgICYgUGljazxDYXJIaXJlQ3VzdG9tLCAnbmFtZScgfCAndGV4dCc+XG4gICAgICApPj4+IH1cbiAgICApPj4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaENhckhpcmVRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgYWlycG9ydD86IE1heWJlPENhckhpcmVBaXJwb3J0SW5wdXQ+O1xuICBjaXR5PzogTWF5YmU8Q2FySGlyZUNpdHlJbnB1dD47XG4gIGxvY2F0aW9uPzogTWF5YmU8Q2FySGlyZUxvY2F0aW9uSW5wdXQ+O1xuICBkZXBvdD86IE1heWJlPElucHV0Q2FySGlyZURlcG90PjtcbiAgcGlja3VwRGF0ZVRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGRyb3BvZmZEYXRlVGltZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgdmVuZG9yPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjbGFzcz86IE1heWJlPENhckhpcmVDbGFzcz47XG4gIHR5cGU/OiBNYXliZTxDYXJIaXJlVHlwZT47XG4gIHRyYW5zbWlzc2lvbj86IE1heWJlPENhckhpcmVUcmFuc21pc3Npb24+O1xuICBhaXJjb24/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBlc3RpbWF0ZWREYWlseURpc3RhbmNlPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIGVzdGltYXRlZERhaWx5RGlzdGFuY2VVbml0cz86IE1heWJlPERpc3RhbmNlVHlwZXM+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoQ2FySGlyZVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaENhckhpcmU6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZVJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZVZlaGljbGVBdmFpbGliaWxpdHknIH1cbiAgICAgICYgUGljazxDYXJIaXJlVmVoaWNsZUF2YWlsaWJpbGl0eSwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ3RtY1ByZWZlcnJlZCcgfCAnY29tcGFueVByZWZlcnJlZCcgfCAnb2ZmaWNlUHJlZmVycmVkJyB8ICd0bWNQcmVmZXJyZWRNZXNzYWdlJyB8ICdjb21wYW55UHJlZmVycmVkTWVzc2FnZScgfCAnb2ZmaWNlUHJlZmVycmVkTWVzc2FnZScgfCAndW5hdmFpbGFibGUnIHwgJ3VuYXZhaWxhYmxlTWVzc2FnZScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdjbzJQZXJJdGVtJz5cbiAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVJZGVudGlmaWVycycgfVxuICAgICAgICAmIFBpY2s8Q2FySGlyZUlkZW50aWZpZXJzLCAnbG9jYXRvcicgfCAncnBoJyB8ICdzdGF0dXMnIHwgJ3ZlaFR5cGUnIHwgJ2xvY2F0aW9uQ29kZScgfCAnZXh0ZW5kZWRMb2NhdGlvbkNvZGUnIHwgJ2xvY2F0aW9uTmFtZScgfCAnZHJvcE9mZkxvY2F0aW9uJyB8ICdwaWNrdXBEYXRlVGltZScgfCAnZHJvcG9mZkRhdGVUaW1lJyB8ICd2ZW5kb3InPlxuICAgICAgKT4sIGRpc3BsYXlSZWNvcmQ/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlRGlzcGxheVJlY29yZCcgfVxuICAgICAgICAmIFBpY2s8Q2FySGlyZURpc3BsYXlSZWNvcmQsICdzdGF0dXMnIHwgJ3BpY2t1cCcgfCAnZHJvcG9mZic+XG4gICAgICAgICYgeyB2ZW5kb3I/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVWZW5kb3InIH1cbiAgICAgICAgICAmIFBpY2s8Q2FySGlyZVZlbmRvciwgJ25hbWUnIHwgJ2xvZ28nPlxuICAgICAgICApPiwgdmVoaWNsZT86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZVZlaGljbGUnIH1cbiAgICAgICAgICAmIFBpY2s8Q2FySGlyZVZlaGljbGUsICdjbGFzcycgfCAndHlwZScgfCAndHJhbnNtaXNzaW9uJyB8ICdhaXJjb24nIHwgJ2Rlc2NyaXB0aW9uJyB8ICdpbWFnZXMnPlxuICAgICAgICApPiwgY2hhcmdlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUNoYXJnZScgfVxuICAgICAgICAgICYgUGljazxDYXJIaXJlQ2hhcmdlLCAnbGFiZWwnIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3lDb2RlJz5cbiAgICAgICAgKT4+PiwgcGlja3VwTG9jYXRpb24/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVBZGRyZXNzJyB9XG4gICAgICAgICAgJiBQaWNrPENhckhpcmVBZGRyZXNzLCAnbmFtZScgfCAndG9wTGluZScgfCAnY2l0eScgfCAncmVnaW9uJyB8ICdwb3N0Q29kZScgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ3N0YXRlQ29kZScgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc+XG4gICAgICAgICk+LCByZXR1cm5Mb2NhdGlvbj86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUFkZHJlc3MnIH1cbiAgICAgICAgICAmIFBpY2s8Q2FySGlyZUFkZHJlc3MsICduYW1lJyB8ICd0b3BMaW5lJyB8ICdjaXR5JyB8ICdyZWdpb24nIHwgJ3Bvc3RDb2RlJyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnc3RhdGVDb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgICAgICAgKT4sIGFkZGl0aW9uYWxJbmZvPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlQWRkaXRpb25hbEluZm9JdGVtJyB9XG4gICAgICAgICAgJiBQaWNrPENhckhpcmVBZGRpdGlvbmFsSW5mb0l0ZW0sICduYW1lJyB8ICd0ZXh0JyB8ICdqc29uJz5cbiAgICAgICAgICAmIHsgY3VzdG9tPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVDdXN0b20nIH1cbiAgICAgICAgICAgICYgUGljazxDYXJIaXJlQ3VzdG9tLCAnbmFtZScgfCAndGV4dCc+XG4gICAgICAgICAgKT4+PiB9XG4gICAgICAgICk+Pj4gfVxuICAgICAgKT4gfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBEZWxldGVSZWNlbnRTZWFyY2hNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBEZWxldGVSZWNlbnRTZWFyY2hNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgUGljazxNdXRhdGlvbiwgJ2RlbGV0ZVJlY2VudFNlYXJjaCc+XG4pO1xuXG5leHBvcnQgdHlwZSBEZWxldGVVc2VyQWRkcmVzc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIERlbGV0ZVVzZXJBZGRyZXNzTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIFBpY2s8TXV0YXRpb24sICdkZWxldGVVc2VyQWRkcmVzcyc+XG4pO1xuXG5leHBvcnQgdHlwZSBFcnJvcnNGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICYgUGljazxTZWFyY2hFcnJvciwgJ2Vycm9yTWVzc2FnZScgfCAnZXJyb3JDb2RlJz5cbiAgJiB7IHNlcnZpY2U6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2VydmljZScgfVxuICAgICYgUGljazxTZXJ2aWNlLCAnaWQnIHwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHcm91cGVkRmllbGRzRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdHcm91cEZsaWdodHMnIH1cbiAgJiBQaWNrPEdyb3VwRmxpZ2h0cywgJ3JlZmVyZW5jZUlEJyB8ICdmbGlnaHRJRCcgfCAnYm91bmRJbmRpY2F0b3InIHwgJ21pblByaWNlJyB8ICdtYXhQcmljZSc+XG4gICYgeyBmbGlnaHRzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ01hdGNoaW5nRmxpZ2h0cycgfVxuICAgICYgUGljazxNYXRjaGluZ0ZsaWdodHMsICdMaXRlRWNvbm9teScgfCAnRWNvbm9teVJlc3RyaWN0ZWQnIHwgJ0Vjb25vbXlOb0JhZ3MnIHwgJ0Vjb25vbXknIHwgJ1ByZW1pdW1FY29ub215JyB8ICdCdXNpbmVzcycgfCAnUHJlbWl1bUJ1c2luZXNzJyB8ICdGaXJzdCcgfCAnUHJlbWl1bUZpcnN0Jz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hGbGlnaHRzVjJRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcGFzc2VuZ2VyczogQXJyYXk8RmxpZ2h0UGFzc2VuZ2VyT2JqZWN0PiB8IEZsaWdodFBhc3Nlbmdlck9iamVjdDtcbiAgb3JpZ2luQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtdWx0aURlc3RpbmF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8RGVzdGluYXRpb25FbnRyeT4+IHwgTWF5YmU8RGVzdGluYXRpb25FbnRyeT4+O1xuICBvdXRib3VuZERhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICBvdXRib3VuZERlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+PiB8IE1heWJlPEZsaWdodENhYmluQ2xhc3M+PjtcbiAgcmV0dXJuVHJpcDogU2NhbGFyc1snQm9vbGVhbiddO1xuICByZXR1cm5EYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgcmV0dXJuRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkNhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4gfCBNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj47XG4gIGZhcmVUeXBlOiBGYXJlVHlwZTtcbiAgcmVxdWlyZUZyZWVCYWc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtYXhDb25uZWN0aW9ucz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcHJlZmVycmVkQ2FycmllcnM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+IHwgTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaW5jbHVkZU5lYXJieUFpcnBvcnRzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYXNTaW5nbGVzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgd2l0aEdyb3VwZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaEZsaWdodHNWMlF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaEZsaWdodHNWMjogKFxuICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTZWFyY2hSZXN1bHRWMicgfVxuICAgICYgeyByZXN1bHRzOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnRkVGbGlnaHRTZWFyY2hSZXN1bHRzJyB9XG4gICAgICAmIHsgam91cm5leXM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEl0aW5lcmFyeScgfVxuICAgICAgICAmIFBpY2s8RmxpZ2h0SXRpbmVyYXJ5LCAndWlkJyB8ICdwYXNzZW5nZXJDb3VudCcgfCAnb3V0Ym91bmRUb3RhbER1cmF0aW9uJyB8ICdpbmJvdW5kVG90YWxEdXJhdGlvbicgfCAnYWRkaXRpb25hbCcgfCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAndmVyc2lvbicgfCAndG1jUHJlZmVycmVkJyB8ICdjb21wYW55UHJlZmVycmVkJyB8ICdvZmZpY2VQcmVmZXJyZWQnIHwgJ3RtY1ByZWZlcnJlZE1lc3NhZ2UnIHwgJ2NvbXBhbnlQcmVmZXJyZWRNZXNzYWdlJyB8ICdvZmZpY2VQcmVmZXJyZWRNZXNzYWdlJyB8ICd1bmF2YWlsYWJsZScgfCAndW5hdmFpbGFibGVNZXNzYWdlJyB8ICdjbzJQZXJJdGVtJyB8ICdjbzJQZXJQYXNzZW5nZXInPlxuICAgICAgICAmIHsgb3V0Ym91bmRGbGlnaHRzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEpvdXJuZXknIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0Sm91cm5leSwgJ29yaWdpbkFpcnBvcnQnIHwgJ29yaWdpblRlcm1pbmFsJyB8ICdvcmlnaW5BaXJwb3J0TmFtZScgfCAnZGVzdGluYXRpb25BaXJwb3J0JyB8ICdkZXN0aW5hdGlvblRlcm1pbmFsJyB8ICdkZXN0aW5hdGlvbkFpcnBvcnROYW1lJyB8ICdkYXRlVGltZURlcGFydGluZycgfCAnZGF0ZVRpbWVEZXBhcnRpbmdVVEMnIHwgJ2RhdGVUaW1lQXJyaXZpbmcnIHwgJ2RhdGVUaW1lQXJyaXZpbmdVVEMnIHwgJ21hcmtldGluZ0NhcnJpZXInIHwgJ21hcmtldGluZ0NhcnJpZXJOYW1lJyB8ICdtYXJrZXRpbmdGbGlnaHROdW1iZXInIHwgJ29wZXJhdGluZ0NhcnJpZXInIHwgJ29wZXJhdGluZ0NhcnJpZXJOYW1lJyB8ICdvcGVyYXRpbmdGbGlnaHROdW1iZXInIHwgJ2VxdWlwbWVudENvZGUnIHwgJ2VxdWlwbWVudE5hbWUnIHwgJ3RvdGFsRHVyYXRpb24nIHwgJ2NhYmluQ2xhc3MnIHwgJ21hcmtldGluZ05hbWVzJyB8ICd2ZW5kb3JDb2RlJyB8ICdzdG9wcycgfCAnYm9va2luZ0NvZGUnIHwgJ21hcnJpYWdlR3JvdXAnIHwgJ2ZhcmVCYXNpc0NvZGUnIHwgJ2FkZGl0aW9uYWwnPlxuICAgICAgICAgICYgeyBvcmlnaW5BaXJwb3J0RGV0YWlsOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQWlycG9ydERldGFpbCcgfVxuICAgICAgICAgICAgJiBQaWNrPEFpcnBvcnREZXRhaWwsICdpYXRhJyB8ICdpY2FvJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3JvYWQnIHwgJ3BvcHVsYXJpdHknIHwgJ2FyZWEnIHwgJ2xvY2F0aW9uJyB8ICdvZmZzZXQnIHwgJ2FpcnBvcnROYW1lJyB8ICdjb3VudHJ5TmFtZScgfCAnY291bnRyeUNvZGUnIHwgJ3Bvc3Rjb2RlJz5cbiAgICAgICAgICApLCBkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWw6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0RGV0YWlsJyB9XG4gICAgICAgICAgICAmIFBpY2s8QWlycG9ydERldGFpbCwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncm9hZCcgfCAncG9wdWxhcml0eScgfCAnYXJlYScgfCAnbG9jYXRpb24nIHwgJ29mZnNldCcgfCAnYWlycG9ydE5hbWUnIHwgJ2NvdW50cnlOYW1lJyB8ICdjb3VudHJ5Q29kZScgfCAncG9zdGNvZGUnPlxuICAgICAgICAgICksIG1hcmtldGluZ0NhcnJpZXJEZXRhaWw6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJyaWVyRGV0YWlsJyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FycmllckRldGFpbCwgJ25hbWUnIHwgJ2FsaWFzJyB8ICdjYWxsc2lnbicgfCAnaWF0YScgfCAnaWNhbycgfCAnbG9nbycgfCAnYmFubmVyJyB8ICdwb3B1bGFyaXR5Jz5cbiAgICAgICAgICApLCBvcGVyYXRpbmdDYXJyaWVyRGV0YWlsOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FycmllckRldGFpbCcgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcnJpZXJEZXRhaWwsICduYW1lJyB8ICdhbGlhcycgfCAnY2FsbHNpZ24nIHwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xvZ28nIHwgJ2Jhbm5lcicgfCAncG9wdWxhcml0eSc+XG4gICAgICAgICAgKSwgZmFyZUNvbmRpdGlvbnM6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9ucycgfVxuICAgICAgICAgICAgJiB7IGNhbmNlbGxhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBjaGFuZ2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+Piwgbm9TaG93PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIHVwZ3JhZGU/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+Piwgb3RoZXI/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKSB9XG4gICAgICAgICk+LCBpbmJvdW5kRmxpZ2h0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Sm91cm5leScgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRKb3VybmV5LCAnb3JpZ2luQWlycG9ydCcgfCAnb3JpZ2luVGVybWluYWwnIHwgJ29yaWdpbkFpcnBvcnROYW1lJyB8ICdkZXN0aW5hdGlvbkFpcnBvcnQnIHwgJ2Rlc3RpbmF0aW9uVGVybWluYWwnIHwgJ2Rlc3RpbmF0aW9uQWlycG9ydE5hbWUnIHwgJ2RhdGVUaW1lRGVwYXJ0aW5nJyB8ICdkYXRlVGltZURlcGFydGluZ1VUQycgfCAnZGF0ZVRpbWVBcnJpdmluZycgfCAnZGF0ZVRpbWVBcnJpdmluZ1VUQycgfCAnbWFya2V0aW5nQ2FycmllcicgfCAnbWFya2V0aW5nQ2Fycmllck5hbWUnIHwgJ21hcmtldGluZ0ZsaWdodE51bWJlcicgfCAnb3BlcmF0aW5nQ2FycmllcicgfCAnb3BlcmF0aW5nQ2Fycmllck5hbWUnIHwgJ29wZXJhdGluZ0ZsaWdodE51bWJlcicgfCAnZXF1aXBtZW50Q29kZScgfCAnZXF1aXBtZW50TmFtZScgfCAndG90YWxEdXJhdGlvbicgfCAnY2FiaW5DbGFzcycgfCAnbWFya2V0aW5nTmFtZXMnIHwgJ3ZlbmRvckNvZGUnIHwgJ3N0b3BzJyB8ICdib29raW5nQ29kZScgfCAnbWFycmlhZ2VHcm91cCcgfCAnZmFyZUJhc2lzQ29kZScgfCAnYWRkaXRpb25hbCc+XG4gICAgICAgICAgJiB7IG9yaWdpbkFpcnBvcnREZXRhaWw6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0RGV0YWlsJyB9XG4gICAgICAgICAgICAmIFBpY2s8QWlycG9ydERldGFpbCwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncm9hZCcgfCAncG9wdWxhcml0eScgfCAnYXJlYScgfCAnbG9jYXRpb24nIHwgJ29mZnNldCcgfCAnYWlycG9ydE5hbWUnIHwgJ2NvdW50cnlOYW1lJyB8ICdjb3VudHJ5Q29kZScgfCAncG9zdGNvZGUnPlxuICAgICAgICAgICksIGRlc3RpbmF0aW9uQWlycG9ydERldGFpbDogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0FpcnBvcnREZXRhaWwnIH1cbiAgICAgICAgICAgICYgUGljazxBaXJwb3J0RGV0YWlsLCAnaWF0YScgfCAnaWNhbycgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdyb2FkJyB8ICdwb3B1bGFyaXR5JyB8ICdhcmVhJyB8ICdsb2NhdGlvbicgfCAnb2Zmc2V0JyB8ICdhaXJwb3J0TmFtZScgfCAnY291bnRyeU5hbWUnIHwgJ2NvdW50cnlDb2RlJyB8ICdwb3N0Y29kZSc+XG4gICAgICAgICAgKSwgbWFya2V0aW5nQ2FycmllckRldGFpbDogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcnJpZXJEZXRhaWwnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJyaWVyRGV0YWlsLCAnbmFtZScgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdsb2dvJyB8ICdiYW5uZXInIHwgJ3BvcHVsYXJpdHknPlxuICAgICAgICAgICksIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWw6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJyaWVyRGV0YWlsJyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FycmllckRldGFpbCwgJ25hbWUnIHwgJ2FsaWFzJyB8ICdjYWxsc2lnbicgfCAnaWF0YScgfCAnaWNhbycgfCAnbG9nbycgfCAnYmFubmVyJyB8ICdwb3B1bGFyaXR5Jz5cbiAgICAgICAgICApLCBmYXJlQ29uZGl0aW9uczogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25zJyB9XG4gICAgICAgICAgICAmIHsgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiwgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApIH1cbiAgICAgICAgKT4+Piwgb3V0Ym91bmRDYXJib25FbWlzc2lvbnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcmJvbkVtaXNzaW9ucycgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRDYXJib25FbWlzc2lvbnMsICdhbW91bnQnIHwgJ3VuaXQnPlxuICAgICAgICApPiwgaW5ib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodENhcmJvbkVtaXNzaW9ucywgJ2Ftb3VudCcgfCAndW5pdCc+XG4gICAgICAgICk+LCB0YXhlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0QW1vdW50JyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodEFtb3VudCwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgKT4+PiwgZGlzY291bnRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0QW1vdW50LCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICApPj4+LCB0b3RhbDogKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRGYXJlVG90YWwnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0RmFyZVRvdGFsLCAncHJpY2UnIHwgJ3RheCcgfCAnZGlzY291bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgKSwgZmFyZUNvbmRpdGlvbnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25zJyB9XG4gICAgICAgICAgJiB7IGNhbmNlbGxhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+LCBjaGFuZ2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+Piwgbm9TaG93PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICk+Pj4sIHVwZ3JhZGU/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+Piwgb3RoZXI/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+PiB9XG4gICAgICAgICk+LCBiYWdnYWdlQWxsb3dhbmNlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCYWdnYWdlQWxsb3dhbmNlJyB9XG4gICAgICAgICAgJiBQaWNrPEJhZ2dhZ2VBbGxvd2FuY2UsICd0eXBlJyB8ICdxdHknIHwgJ21heEtHJyB8ICdtYXhMQlMnPlxuICAgICAgICApPj4+IH1cbiAgICAgICk+LCBtdWx0aTogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSXRpbmVyYXJ5U3VtbWFyeScgfVxuICAgICAgICAmIFBpY2s8SXRpbmVyYXJ5U3VtbWFyeSwgJ29yZGVyJyB8ICdvcmlnaW4nIHwgJ2Rlc3RpbmF0aW9uJyB8ICdtaW5QcmljZScgfCAnbWF4UHJpY2UnPlxuICAgICAgICAmIHsgcmVzdWx0czogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRJdGluZXJhcnknIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0SXRpbmVyYXJ5LCAndWlkJyB8ICdwYXNzZW5nZXJDb3VudCcgfCAnb3V0Ym91bmRUb3RhbER1cmF0aW9uJyB8ICdpbmJvdW5kVG90YWxEdXJhdGlvbicgfCAnYWRkaXRpb25hbCcgfCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAndmVyc2lvbicgfCAndG1jUHJlZmVycmVkJyB8ICdjb21wYW55UHJlZmVycmVkJyB8ICdvZmZpY2VQcmVmZXJyZWQnIHwgJ3RtY1ByZWZlcnJlZE1lc3NhZ2UnIHwgJ2NvbXBhbnlQcmVmZXJyZWRNZXNzYWdlJyB8ICdvZmZpY2VQcmVmZXJyZWRNZXNzYWdlJyB8ICd1bmF2YWlsYWJsZScgfCAndW5hdmFpbGFibGVNZXNzYWdlJyB8ICdjbzJQZXJJdGVtJyB8ICdjbzJQZXJQYXNzZW5nZXInPlxuICAgICAgICAgICYgeyBvdXRib3VuZEZsaWdodHM6IEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Sm91cm5leSwgJ29yaWdpbkFpcnBvcnQnIHwgJ29yaWdpblRlcm1pbmFsJyB8ICdvcmlnaW5BaXJwb3J0TmFtZScgfCAnZGVzdGluYXRpb25BaXJwb3J0JyB8ICdkZXN0aW5hdGlvblRlcm1pbmFsJyB8ICdkZXN0aW5hdGlvbkFpcnBvcnROYW1lJyB8ICdkYXRlVGltZURlcGFydGluZycgfCAnZGF0ZVRpbWVEZXBhcnRpbmdVVEMnIHwgJ2RhdGVUaW1lQXJyaXZpbmcnIHwgJ2RhdGVUaW1lQXJyaXZpbmdVVEMnIHwgJ21hcmtldGluZ0NhcnJpZXInIHwgJ21hcmtldGluZ0NhcnJpZXJOYW1lJyB8ICdtYXJrZXRpbmdGbGlnaHROdW1iZXInIHwgJ29wZXJhdGluZ0NhcnJpZXInIHwgJ29wZXJhdGluZ0NhcnJpZXJOYW1lJyB8ICdvcGVyYXRpbmdGbGlnaHROdW1iZXInIHwgJ2VxdWlwbWVudENvZGUnIHwgJ2VxdWlwbWVudE5hbWUnIHwgJ3RvdGFsRHVyYXRpb24nIHwgJ2NhYmluQ2xhc3MnIHwgJ21hcmtldGluZ05hbWVzJyB8ICd2ZW5kb3JDb2RlJyB8ICdzdG9wcycgfCAnYm9va2luZ0NvZGUnIHwgJ21hcnJpYWdlR3JvdXAnIHwgJ2ZhcmVCYXNpc0NvZGUnIHwgJ2FkZGl0aW9uYWwnPlxuICAgICAgICAgICAgJiB7IG9yaWdpbkFpcnBvcnREZXRhaWw6IChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0FpcnBvcnREZXRhaWwnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEFpcnBvcnREZXRhaWwsICdpYXRhJyB8ICdpY2FvJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3JvYWQnIHwgJ3BvcHVsYXJpdHknIHwgJ2FyZWEnIHwgJ2xvY2F0aW9uJyB8ICdvZmZzZXQnIHwgJ2FpcnBvcnROYW1lJyB8ICdjb3VudHJ5TmFtZScgfCAnY291bnRyeUNvZGUnIHwgJ3Bvc3Rjb2RlJz5cbiAgICAgICAgICAgICksIGRlc3RpbmF0aW9uQWlycG9ydERldGFpbDogKFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQWlycG9ydERldGFpbCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8QWlycG9ydERldGFpbCwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncm9hZCcgfCAncG9wdWxhcml0eScgfCAnYXJlYScgfCAnbG9jYXRpb24nIHwgJ29mZnNldCcgfCAnYWlycG9ydE5hbWUnIHwgJ2NvdW50cnlOYW1lJyB8ICdjb3VudHJ5Q29kZScgfCAncG9zdGNvZGUnPlxuICAgICAgICAgICAgKSwgbWFya2V0aW5nQ2FycmllckRldGFpbDogKFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FycmllckRldGFpbCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FycmllckRldGFpbCwgJ25hbWUnIHwgJ2FsaWFzJyB8ICdjYWxsc2lnbicgfCAnaWF0YScgfCAnaWNhbycgfCAnbG9nbycgfCAnYmFubmVyJyB8ICdwb3B1bGFyaXR5Jz5cbiAgICAgICAgICAgICksIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWw6IChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcnJpZXJEZXRhaWwnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcnJpZXJEZXRhaWwsICduYW1lJyB8ICdhbGlhcycgfCAnY2FsbHNpZ24nIHwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xvZ28nIHwgJ2Jhbm5lcicgfCAncG9wdWxhcml0eSc+XG4gICAgICAgICAgICApLCBmYXJlQ29uZGl0aW9uczogKFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnIH1cbiAgICAgICAgICAgICAgJiB7IGNhbmNlbGxhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgICApPj4+LCBjaGFuZ2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICAgKT4+Piwgbm9TaG93PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICAgICk+Pj4sIHVwZ3JhZGU/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICAgKT4+Piwgb3RoZXI/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgICApIH1cbiAgICAgICAgICApPiwgaW5ib3VuZEZsaWdodHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Sm91cm5leScgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodEpvdXJuZXksICdvcmlnaW5BaXJwb3J0JyB8ICdvcmlnaW5UZXJtaW5hbCcgfCAnb3JpZ2luQWlycG9ydE5hbWUnIHwgJ2Rlc3RpbmF0aW9uQWlycG9ydCcgfCAnZGVzdGluYXRpb25UZXJtaW5hbCcgfCAnZGVzdGluYXRpb25BaXJwb3J0TmFtZScgfCAnZGF0ZVRpbWVEZXBhcnRpbmcnIHwgJ2RhdGVUaW1lRGVwYXJ0aW5nVVRDJyB8ICdkYXRlVGltZUFycml2aW5nJyB8ICdkYXRlVGltZUFycml2aW5nVVRDJyB8ICdtYXJrZXRpbmdDYXJyaWVyJyB8ICdtYXJrZXRpbmdDYXJyaWVyTmFtZScgfCAnbWFya2V0aW5nRmxpZ2h0TnVtYmVyJyB8ICdvcGVyYXRpbmdDYXJyaWVyJyB8ICdvcGVyYXRpbmdDYXJyaWVyTmFtZScgfCAnb3BlcmF0aW5nRmxpZ2h0TnVtYmVyJyB8ICdlcXVpcG1lbnRDb2RlJyB8ICdlcXVpcG1lbnROYW1lJyB8ICd0b3RhbER1cmF0aW9uJyB8ICdjYWJpbkNsYXNzJyB8ICdtYXJrZXRpbmdOYW1lcycgfCAndmVuZG9yQ29kZScgfCAnc3RvcHMnIHwgJ2Jvb2tpbmdDb2RlJyB8ICdtYXJyaWFnZUdyb3VwJyB8ICdmYXJlQmFzaXNDb2RlJyB8ICdhZGRpdGlvbmFsJz5cbiAgICAgICAgICAgICYgeyBvcmlnaW5BaXJwb3J0RGV0YWlsOiAoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0RGV0YWlsJyB9XG4gICAgICAgICAgICAgICYgUGljazxBaXJwb3J0RGV0YWlsLCAnaWF0YScgfCAnaWNhbycgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdyb2FkJyB8ICdwb3B1bGFyaXR5JyB8ICdhcmVhJyB8ICdsb2NhdGlvbicgfCAnb2Zmc2V0JyB8ICdhaXJwb3J0TmFtZScgfCAnY291bnRyeU5hbWUnIHwgJ2NvdW50cnlDb2RlJyB8ICdwb3N0Y29kZSc+XG4gICAgICAgICAgICApLCBkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWw6IChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0FpcnBvcnREZXRhaWwnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEFpcnBvcnREZXRhaWwsICdpYXRhJyB8ICdpY2FvJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3JvYWQnIHwgJ3BvcHVsYXJpdHknIHwgJ2FyZWEnIHwgJ2xvY2F0aW9uJyB8ICdvZmZzZXQnIHwgJ2FpcnBvcnROYW1lJyB8ICdjb3VudHJ5TmFtZScgfCAnY291bnRyeUNvZGUnIHwgJ3Bvc3Rjb2RlJz5cbiAgICAgICAgICAgICksIG1hcmtldGluZ0NhcnJpZXJEZXRhaWw6IChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcnJpZXJEZXRhaWwnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcnJpZXJEZXRhaWwsICduYW1lJyB8ICdhbGlhcycgfCAnY2FsbHNpZ24nIHwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xvZ28nIHwgJ2Jhbm5lcicgfCAncG9wdWxhcml0eSc+XG4gICAgICAgICAgICApLCBvcGVyYXRpbmdDYXJyaWVyRGV0YWlsOiAoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJyaWVyRGV0YWlsJyB9XG4gICAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJyaWVyRGV0YWlsLCAnbmFtZScgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdsb2dvJyB8ICdiYW5uZXInIHwgJ3BvcHVsYXJpdHknPlxuICAgICAgICAgICAgKSwgZmFyZUNvbmRpdGlvbnM6IChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25zJyB9XG4gICAgICAgICAgICAgICYgeyBjYW5jZWxsYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICAgKT4+PiwgY2hhbmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICAgICk+Pj4sIG5vU2hvdz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgICApPj4+LCB1cGdyYWRlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICAgICk+Pj4sIG90aGVyPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICAgKSB9XG4gICAgICAgICAgKT4+Piwgb3V0Ym91bmRDYXJib25FbWlzc2lvbnM/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FyYm9uRW1pc3Npb25zLCAnYW1vdW50JyB8ICd1bml0Jz5cbiAgICAgICAgICApPiwgaW5ib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJib25FbWlzc2lvbnMnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJib25FbWlzc2lvbnMsICdhbW91bnQnIHwgJ3VuaXQnPlxuICAgICAgICAgICk+LCB0YXhlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRBbW91bnQsICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICAgKT4+PiwgZGlzY291bnRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEFtb3VudCcgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodEFtb3VudCwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICApPj4+LCB0b3RhbDogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVUb3RhbCcgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodEZhcmVUb3RhbCwgJ3ByaWNlJyB8ICd0YXgnIHwgJ2Rpc2NvdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICAgKSwgZmFyZUNvbmRpdGlvbnM/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnIH1cbiAgICAgICAgICAgICYgeyBjYW5jZWxsYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiwgY2hhbmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIG5vU2hvdz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCB1cGdyYWRlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIG90aGVyPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+LCBiYWdnYWdlQWxsb3dhbmNlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0JhZ2dhZ2VBbGxvd2FuY2UnIH1cbiAgICAgICAgICAgICYgUGljazxCYWdnYWdlQWxsb3dhbmNlLCAndHlwZScgfCAncXR5JyB8ICdtYXhLRycgfCAnbWF4TEJTJz5cbiAgICAgICAgICApPj4+IH1cbiAgICAgICAgKT4gfVxuICAgICAgKT4sIGdyb3VwZWQ/OiBNYXliZTxBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdHcm91cEZsaWdodHMnIH1cbiAgICAgICAgJiBHcm91cGVkRmllbGRzRnJhZ21lbnRcbiAgICAgICk+PiB9XG4gICAgKSwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0Q2FySGlyZURlcG90c1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBsYXRpdHVkZTogU2NhbGFyc1snRmxvYXQnXTtcbiAgbG9uZ2l0dWRlOiBTY2FsYXJzWydGbG9hdCddO1xuICB2ZW5kb3JDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Q2FySGlyZURlcG90c1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldENhckhpcmVEZXBvdHM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZURlcG90JyB9XG4gICAgJiBQaWNrPENhckhpcmVEZXBvdCwgJ2NvdW50cnlDb2RlJyB8ICdsb2NhdGlvbkNvZGUnIHwgJ2V4dGVuZGVkTG9jYXRpb25Db2RlJyB8ICd2ZW5kb3JDb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICd2ZW5kb3InIHwgJ2FkZHJlc3NMaW5lcycgfCAnY2l0eU5hbWUnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0Q29uZmVybWFPZmZpY2VOYW1lczogKFxuICAgIHsgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZU5hbWVzUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VOYW1lcycgfVxuICAgICAgJiBQaWNrPENvbmZlcm1hT2ZmaWNlTmFtZXMsICdpZCcgfCAnbmFtZSc+XG4gICAgKT4+PiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRDb25mZXJtYVF1aWNrbGlzdDogKFxuICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFNlYXJjaFJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsSXRpbmVyYXJ5JyB9XG4gICAgICAmIFBpY2s8SG90ZWxJdGluZXJhcnksICdpZCcgfCAnbmFtZScgfCAnaW1hZ2VVcmwnIHwgJ2dyb3VwJyB8ICd2ZXJzaW9uJyB8ICd0bWNQcmVmZXJyZWRNZXNzYWdlJyB8ICdjb21wYW55UHJlZmVycmVkTWVzc2FnZScgfCAnb2ZmaWNlUHJlZmVycmVkTWVzc2FnZScgfCAndW5hdmFpbGFibGVNZXNzYWdlJz5cbiAgICAgICYgeyBsb2NhdGlvbjogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8SG90ZWxMb2NhdGlvbiwgJ2Rpc3RhbmNlJyB8ICdkaXN0YW5jZVR5cGUnIHwgJ2xvbmdpdHVkZScgfCAnbGF0aXR1ZGUnPlxuICAgICAgKSwgYWRkcmVzczogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxBZGRyZXNzJyB9XG4gICAgICAgICYgUGljazxIb3RlbEFkZHJlc3MsICdhZGRyZXNzTGluZTEnIHwgJ2FkZHJlc3NMaW5lMicgfCAnYWRkcmVzc0xpbmUzJyB8ICdwb3N0T3JaaXBDb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndGVsZXBob25lJyB8ICdmYWNzaW1pbGUnPlxuICAgICAgKSwgdHJhbnNwb3J0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsVHJhbnNwb3J0JyB9XG4gICAgICAgICYgUGljazxIb3RlbFRyYW5zcG9ydCwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2NvZGUnIHwgJ2Rpc3RhbmNlJyB8ICdkaXN0YW5jZVR5cGUnIHwgJ2xvbmdpdHVkZScgfCAnbGF0aXR1ZGUnPlxuICAgICAgKT4+PiwgcHJlZmVycmVkOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFByZWZlcnJlZCcgfVxuICAgICAgICAmIFBpY2s8SG90ZWxQcmVmZXJyZWQsICdjbGllbnQnIHwgJ2NvbnN1bWVyJz5cbiAgICAgICksIHRhZ3M/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRhZycgfVxuICAgICAgICAmIFBpY2s8SG90ZWxUYWcsICduYW1lJyB8ICdkaXNwbGF5JyB8ICd0eXBlJyB8ICdpY29uJz5cbiAgICAgICk+Pj4sIGF2YWlsYWJsZVJhdGVzPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxBdmFpbGFiaWxpdHknIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsQXZhaWxhYmlsaXR5LCAnaG90ZWxJZCcgfCAnaW1hZ2VVcmwnIHwgJ3BycG4nIHwgJ2N1cnJlbmN5Q29kZScgfCAnaXNCdXN5JyB8ICdzb3VyY2UnIHwgJ3ZlcnNpb24nPlxuICAgICAgICAmIHsgcm9vbXM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsUm9vbScgfVxuICAgICAgICAgICYgUGljazxIb3RlbFJvb20sICdyb29tSWQnIHwgJ3Jvb21UeXBlJyB8ICdyb29tRGVzY3JpcHRpb24nIHwgJ3JhdGVDb2RlJyB8ICdyYXRlRGVzY3JpcHRpb24nIHwgJ3RvdGFsJyB8ICdjdXJyZW5jeUNvZGUnPlxuICAgICAgICAgICYgeyBjdXJyZW5jeUNvbnZlcnNpb24/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxDb252ZXJzaW9uJyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxDb252ZXJzaW9uLCAncmF0ZScgfCAnbG9jYWxDb2RlJyB8ICdsb2NhbFRvdGFsJyB8ICdjb252ZXJ0ZWRDb2RlJyB8ICdjb252ZXJ0ZWRUb3RhbCc+XG4gICAgICAgICAgKT4sIGRlcG9zaXQ/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxEZXBvc2l0JyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxEZXBvc2l0LCAnYW1vdW50JyB8ICdwb2xpY3knIHwgJ3JlcXVpcmVkJz5cbiAgICAgICAgICApPiwgbmlnaHRzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxOaWdodCcgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsTmlnaHQsICduaWdodCcgfCAncmF0ZScgfCAnaW5mbycgfCAnZGF0ZSc+XG4gICAgICAgICAgKT4sIHBvbGljaWVzOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxQb2xpY3knIH1cbiAgICAgICAgICAgICYgUGljazxIb3RlbFBvbGljeSwgJ2NhbmNlbGxhdGlvbicgfCAnZGVwb3NpdCcgfCAnZGlzYWJsZWRBY2Nlc3MnIHwgJ2dlbmVyYWwnIHwgJ2d1YXJhbnRlZScgfCAncmVmdW5kQXZhaWxhYmxlJz5cbiAgICAgICAgICApLCB0YXg6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRheCcgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsVGF4LCAnaW5jbHVkZWQnIHwgJ3JhdGUnPlxuICAgICAgICAgICksIGFjY2VwdGVkQ2FyZHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxDYXJkJyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxDYXJkLCAnaWQnIHwgJ25hbWUnPlxuICAgICAgICAgICk+Pj4sIHBheW1lbnRUeXBlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFBheW1lbnRUeXBlJyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxQYXltZW50VHlwZSwgJ3R5cGUnIHwgJ25hbWUnPlxuICAgICAgICAgICk+Pj4gfVxuICAgICAgICApPj4+IH1cbiAgICAgICk+IH1cbiAgICApPj4+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRSYWlsU3RhdGlvblF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBjb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0UmFpbFN0YXRpb25RdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRSYWlsU3RhdGlvbjogKFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsU3RhdGlvbicgfVxuICAgICYgUGljazxSYWlsU3RhdGlvbiwgJ2lkJyB8ICduYW1lJyB8ICdzdGF0aW9uQ29kZScgfCAnbmxjQ29kZScgfCAndHJhaW5saW5lQ29kZScgfCAndHJhaW5saW5lVW5pcXVlQ29kZSc+XG4gICAgJiB7IGxvY2F0aW9uRGV0YWlscz86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbkRldGFpbCcgfVxuICAgICAgJiBQaWNrPExvY2F0aW9uRGV0YWlsLCAnY29udGluZW50JyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3Bvc3Rjb2RlJyB8ICdyb2FkJyB8ICdncmlkUmVmZXJlbmNlJyB8ICdub3J0aGluZycgfCAnZWFzdGluZyc+XG4gICAgICAmIHsgY29vcmRpbmF0ZXM/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdHZW9Db29yZGluYXRlcycgfVxuICAgICAgICAmIFBpY2s8R2VvQ29vcmRpbmF0ZXMsICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZSc+XG4gICAgICApPiB9XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFJhaWxjYXJkc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0UmFpbGNhcmRzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0UmFpbGNhcmRzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JlZmVyZW5jZVJhaWxDYXJkUXVhbGlmaWVyJyB9XG4gICAgJiBQaWNrPFJlZmVyZW5jZVJhaWxDYXJkUXVhbGlmaWVyLCAnbmFtZScgfCAnY29kZSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFJpc2tBbGVydHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbWluTGV2ZWw6IFJpc2tMZXZlbDtcbiAgbWF4TGV2ZWw6IFJpc2tMZXZlbDtcbiAgY291bnRyeUlzb0NvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmFpbFN0YXRpb24/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgYWlycG9ydElhdGE/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRSaXNrQWxlcnRzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0Umlza0FsZXJ0czogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdSaXNrQWxlcnQnIH1cbiAgICAmIFBpY2s8Umlza0FsZXJ0LCAnaWQnIHwgJ3RpdGxlJyB8ICdkZXNjcmlwdGlvbicgfCAnYnJlYWtpbmcnIHwgJ3Jpc2snIHwgJ2NhdGVnb3J5JyB8ICdjb3VudHJ5JyB8ICdsb2NhdGlvbicgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnc3RhcnREYXRlJyB8ICdlbmREYXRlJyB8ICdyZWNlaXZlZERhdGUnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyQWRkcmVzc2VzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyQWRkcmVzc2VzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlckFkZHJlc3NlczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdBZGRyZXNzJyB9XG4gICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyQ29tcGFueU9mZmljZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJDb21wYW55T2ZmaWNlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJDb21wYW55T2ZmaWNlczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdPZmZpY2UnIH1cbiAgICAmIFBpY2s8T2ZmaWNlLCAnaWQnIHwgJ25hbWUnPlxuICAgICYgeyBhZGRyZXNzZXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdBZGRyZXNzJyB9XG4gICAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICAgKT4gfVxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICB1c2VyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdDYXJib25BbGxvd2FuY2UnIH1cbiAgICAmIFBpY2s8Q2FyYm9uQWxsb3dhbmNlLCAnaWQnIHwgJ3N0YXJ0T2ZQZXJpb2QnIHwgJ2VuZE9mUGVyaW9kJyB8ICdyZW1haW5pbmdDbzInIHwgJ3RvdGFsQ28yJyB8ICdjYXJib25Qb2xpY3lTb3VyY2UnPlxuICAgICYgeyBjb21wYW55PzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NvbXBhbnknIH1cbiAgICAgICYgUGljazxDb21wYW55LCAnaWQnIHwgJ25hbWUnPlxuICAgICk+LCBvZmZpY2U/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnT2ZmaWNlJyB9XG4gICAgICAmIFBpY2s8T2ZmaWNlLCAnaWQnIHwgJ25hbWUnPlxuICAgICk+LCB1c2VyOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICAgJiBQaWNrPFVzZXIsICdpZCcgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJz5cbiAgICApLCBwZXJpb2RDb25zdW1wdGlvbjogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhcmJvbkNvbnN1bXB0aW9uJyB9XG4gICAgICAmIFBpY2s8Q2FyYm9uQ29uc3VtcHRpb24sICdpZCcgfCAnY29uc3VtZWQnIHwgJ2RhdGV0aW1lJz5cbiAgICApPiB9XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIG1pOiBTY2FsYXJzWydJRCddO1xuICBwYXJ0aWFsTGFiZWw6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyTUlBdXRvU3VnZ2VzdFZhbHVlczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlclBob25lUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyUGhvbmVRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyUGhvbmVOdW1iZXJzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Bob25lTnVtYmVyJyB9XG4gICAgJiBQaWNrPFBob25lTnVtYmVyLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb3VudHJ5Q29kZScgfCAnYXJlYUNvZGUnIHwgJ251bWJlcicgfCAnZXh0ZW5zaW9uJyB8ICd0eXBlJyB8ICdvZmZpY2VQcmltYXJ5JyB8ICd1c2VyUHJpbWFyeSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJSZWNlbnRTZWFyY2hlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBzZXJ2aWNlVHlwZT86IE1heWJlPFNlcnZpY2VUeXBlPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJSZWNlbnRTZWFyY2hlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJSZWNlbnRTZWFyY2hlczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2gnIH1cbiAgICAmIFBpY2s8U2VhcmNoLCAnaWQnIHwgJ25hbWUnIHwgJ3NlcnZpY2VUeXBlJyB8ICdzZWFyY2hBcmdzJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAndHJhdmVsRGF0ZSc+XG4gICAgJiB7IHRyYXZlbGxlcnM/OiBNYXliZTxBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICAgJiBQaWNrPFVzZXIsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCcgfCAndXNlcm5hbWUnIHwgJ2RvYic+XG4gICAgKT4+IH1cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoSG90ZWxzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHN0YXJ0RGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBlbmREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGNpdHlOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwb3N0T3JaaXBDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIHRyYWluU3RhdGlvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlhdGE/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9mZmljZUlkPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICByb29tczogU2NhbGFyc1snSW50J107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBjdXJyZW5jeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRpc3RhbmNlVHlwZTogRGlzdGFuY2VUeXBlcztcbiAgZGlzdGFuY2U6IFNjYWxhcnNbJ0ludCddO1xuICBtYXhSZXN1bHRzPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBob3RlbE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGdyb3VwTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaEhvdGVsc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaEhvdGVsczogKFxuICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFNlYXJjaFJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsSXRpbmVyYXJ5JyB9XG4gICAgICAmIFBpY2s8SG90ZWxJdGluZXJhcnksICdpZCcgfCAnbmFtZScgfCAnaW1hZ2VVcmwnIHwgJ2dyb3VwJyB8ICdjbzJQZXJQYXNzZW5nZXInIHwgJ2NvMlBlckl0ZW0nIHwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ3ZlcnNpb24nIHwgJ3RtY1ByZWZlcnJlZCcgfCAnY29tcGFueVByZWZlcnJlZCcgfCAnb2ZmaWNlUHJlZmVycmVkJyB8ICd0bWNQcmVmZXJyZWRNZXNzYWdlJyB8ICdjb21wYW55UHJlZmVycmVkTWVzc2FnZScgfCAnb2ZmaWNlUHJlZmVycmVkTWVzc2FnZScgfCAndW5hdmFpbGFibGUnIHwgJ3VuYXZhaWxhYmxlTWVzc2FnZSc+XG4gICAgICAmIHsgbG9jYXRpb246IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsTG9jYXRpb24sICdkaXN0YW5jZScgfCAnZGlzdGFuY2VUeXBlJyB8ICdsb25naXR1ZGUnIHwgJ2xhdGl0dWRlJz5cbiAgICAgICksIGFkZHJlc3M6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQWRkcmVzcycgfVxuICAgICAgICAmIFBpY2s8SG90ZWxBZGRyZXNzLCAnYWRkcmVzc0xpbmUxJyB8ICdhZGRyZXNzTGluZTInIHwgJ2FkZHJlc3NMaW5lMycgfCAncG9zdE9yWmlwQ29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3RlbGVwaG9uZScgfCAnZmFjc2ltaWxlJz5cbiAgICAgICksIHRyYW5zcG9ydHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRyYW5zcG9ydCcgfVxuICAgICAgICAmIFBpY2s8SG90ZWxUcmFuc3BvcnQsICd0eXBlJyB8ICduYW1lJyB8ICdjb2RlJyB8ICdkaXN0YW5jZScgfCAnZGlzdGFuY2VUeXBlJyB8ICdsb25naXR1ZGUnIHwgJ2xhdGl0dWRlJz5cbiAgICAgICk+Pj4sIHByZWZlcnJlZDogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxQcmVmZXJyZWQnIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsUHJlZmVycmVkLCAnY2xpZW50JyB8ICdjb25zdW1lcic+XG4gICAgICApLCB0YWdzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxUYWcnIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsVGFnLCAnbmFtZScgfCAnZGlzcGxheScgfCAndHlwZScgfCAnaWNvbic+XG4gICAgICApPj4+LCBhdmFpbGFibGVSYXRlcz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQXZhaWxhYmlsaXR5JyB9XG4gICAgICAgICYgUGljazxIb3RlbEF2YWlsYWJpbGl0eSwgJ2hvdGVsSWQnIHwgJ2ltYWdlVXJsJyB8ICdwcnBuJyB8ICdjdXJyZW5jeUNvZGUnIHwgJ2lzQnVzeScgfCAnc291cmNlJyB8ICd2ZXJzaW9uJz5cbiAgICAgICAgJiB7IHJvb21zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFJvb20nIH1cbiAgICAgICAgICAmIFBpY2s8SG90ZWxSb29tLCAncm9vbUlkJyB8ICdyb29tVHlwZScgfCAncm9vbURlc2NyaXB0aW9uJyB8ICdyYXRlQ29kZScgfCAncmF0ZURlc2NyaXB0aW9uJyB8ICd0b3RhbCcgfCAnY3VycmVuY3lDb2RlJz5cbiAgICAgICAgICAmIHsgY3VycmVuY3lDb252ZXJzaW9uPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQ29udmVyc2lvbicgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsQ29udmVyc2lvbiwgJ3JhdGUnIHwgJ2xvY2FsQ29kZScgfCAnbG9jYWxUb3RhbCcgfCAnY29udmVydGVkQ29kZScgfCAnY29udmVydGVkVG90YWwnPlxuICAgICAgICAgICk+LCBkZXBvc2l0PzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsRGVwb3NpdCcgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsRGVwb3NpdCwgJ2Ftb3VudCcgfCAncG9saWN5JyB8ICdyZXF1aXJlZCc+XG4gICAgICAgICAgKT4sIG5pZ2h0czogQXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsTmlnaHQnIH1cbiAgICAgICAgICAgICYgUGljazxIb3RlbE5pZ2h0LCAnbmlnaHQnIHwgJ3JhdGUnIHwgJ2luZm8nIHwgJ2RhdGUnPlxuICAgICAgICAgICk+LCBwb2xpY2llczogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsUG9saWN5JyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxQb2xpY3ksICdjYW5jZWxsYXRpb24nIHwgJ2RlcG9zaXQnIHwgJ2Rpc2FibGVkQWNjZXNzJyB8ICdnZW5lcmFsJyB8ICdndWFyYW50ZWUnIHwgJ3JlZnVuZEF2YWlsYWJsZSc+XG4gICAgICAgICAgKSwgdGF4OiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxUYXgnIH1cbiAgICAgICAgICAgICYgUGljazxIb3RlbFRheCwgJ2luY2x1ZGVkJyB8ICdyYXRlJz5cbiAgICAgICAgICApLCBhY2NlcHRlZENhcmRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQ2FyZCcgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsQ2FyZCwgJ2lkJyB8ICduYW1lJz5cbiAgICAgICAgICApPj4+LCBwYXltZW50VHlwZXM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxQYXltZW50VHlwZScgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsUGF5bWVudFR5cGUsICd0eXBlJyB8ICduYW1lJz5cbiAgICAgICAgICApPj4+IH1cbiAgICAgICAgKT4+PiB9XG4gICAgICApPiB9XG4gICAgKT4+PiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgUGljazxTZWFyY2hFcnJvciwgJ2Vycm9yTWVzc2FnZScgfCAnZXJyb3JDb2RlJz5cbiAgICAgICYgeyBzZXJ2aWNlOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdTZXJ2aWNlJyB9XG4gICAgICAgICYgUGljazxTZXJ2aWNlLCAnaWQnIHwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdkZXRhaWxTY2hlbWEnIHwgJ3NlYXJjaFF1ZXJ5U2NoZW1hJz5cbiAgICAgICkgfVxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBob3RlbDogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+IHwgU2NhbGFyc1snU3RyaW5nJ107XG4gIHN0YXJ0RGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBlbmREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGN1cnJlbmN5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb2NjdXBhbnRzOiBTY2FsYXJzWydJbnQnXTtcbiAgcm9vbXM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsTXVsdGlBdmFpbGFiaWxpdHlSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbEF2YWlsYWJpbGl0eScgfVxuICAgICAgJiBQaWNrPEhvdGVsQXZhaWxhYmlsaXR5LCAnaG90ZWxJZCcgfCAncHJwbicgfCAnY3VycmVuY3lDb2RlJyB8ICdpc0J1c3knIHwgJ3NvdXJjZScgfCAndmVyc2lvbic+XG4gICAgICAmIHsgcm9vbXM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFJvb20nIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsUm9vbSwgJ3Jvb21JZCcgfCAncm9vbVR5cGUnIHwgJ3Jvb21EZXNjcmlwdGlvbicgfCAncmF0ZUNvZGUnIHwgJ3JhdGVEZXNjcmlwdGlvbicgfCAndG90YWwnIHwgJ2N1cnJlbmN5Q29kZSc+XG4gICAgICAgICYgeyBjdXJyZW5jeUNvbnZlcnNpb24/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQ29udmVyc2lvbicgfVxuICAgICAgICAgICYgUGljazxIb3RlbENvbnZlcnNpb24sICdyYXRlJyB8ICdsb2NhbENvZGUnIHwgJ2xvY2FsVG90YWwnIHwgJ2NvbnZlcnRlZENvZGUnIHwgJ2NvbnZlcnRlZFRvdGFsJz5cbiAgICAgICAgKT4sIGRlcG9zaXQ/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsRGVwb3NpdCcgfVxuICAgICAgICAgICYgUGljazxIb3RlbERlcG9zaXQsICdhbW91bnQnIHwgJ3BvbGljeScgfCAncmVxdWlyZWQnPlxuICAgICAgICApPiwgbmlnaHRzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsTmlnaHQnIH1cbiAgICAgICAgICAmIFBpY2s8SG90ZWxOaWdodCwgJ25pZ2h0JyB8ICdyYXRlJyB8ICdpbmZvJyB8ICdkYXRlJz5cbiAgICAgICAgKT4sIHBvbGljaWVzOiAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsUG9saWN5JyB9XG4gICAgICAgICAgJiBQaWNrPEhvdGVsUG9saWN5LCAnY2FuY2VsbGF0aW9uJyB8ICdkZXBvc2l0JyB8ICdkaXNhYmxlZEFjY2VzcycgfCAnZ2VuZXJhbCcgfCAnZ3VhcmFudGVlJyB8ICdyZWZ1bmRBdmFpbGFibGUnPlxuICAgICAgICApLCB0YXg6IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxUYXgnIH1cbiAgICAgICAgICAmIFBpY2s8SG90ZWxUYXgsICdpbmNsdWRlZCcgfCAncmF0ZSc+XG4gICAgICAgICksIGFjY2VwdGVkQ2FyZHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQ2FyZCcgfVxuICAgICAgICAgICYgUGljazxIb3RlbENhcmQsICdpZCcgfCAnbmFtZSc+XG4gICAgICAgICk+Pj4sIHBheW1lbnRUeXBlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxQYXltZW50VHlwZScgfVxuICAgICAgICAgICYgUGljazxIb3RlbFBheW1lbnRUeXBlLCAndHlwZScgfCAnbmFtZSc+XG4gICAgICAgICk+Pj4gfVxuICAgICAgKT4+PiB9XG4gICAgKT4+PiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgSXNQb3N0Y29kZVZhbGlkUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHBvc3Rjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIElzUG9zdGNvZGVWYWxpZFF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiBQaWNrPFF1ZXJ5LCAnaXNQb3N0Y29kZVZhbGlkJz5cbik7XG5cbmV4cG9ydCB0eXBlIExvY2F0aW9uX0RldGFpbEZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTG9jYXRpb25EZXRhaWwnIH1cbiAgJiBQaWNrPExvY2F0aW9uRGV0YWlsLCAnY29udGluZW50JyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3Bvc3Rjb2RlJyB8ICdyb2FkJyB8ICdncmlkUmVmZXJlbmNlJyB8ICdub3J0aGluZycgfCAnZWFzdGluZyc+XG4gICYgeyBjb29yZGluYXRlcz86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnR2VvQ29vcmRpbmF0ZXMnIH1cbiAgICAmIFBpY2s8R2VvQ29vcmRpbmF0ZXMsICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaEFpcnBvcnRzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGhhc0xvdW5nZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGhhc1Bhcmtpbmc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBoYXNGYXN0VHJhY2s/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoQWlycG9ydHNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hBaXJwb3J0czogKFxuICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0UmVzdWx0cycgfVxuICAgICYgeyBpYXRhTWF0Y2g/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQWlycG9ydCcgfVxuICAgICAgJiBQaWNrPEFpcnBvcnQsICdpZCcgfCAnbmFtZScgfCAnaWF0YScgfCAnaWNhbycgfCAndGVybWluYWxzJz5cbiAgICAgICYgeyBsb2NhdGlvbkRldGFpbHM/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbkRldGFpbCcgfVxuICAgICAgICAmIExvY2F0aW9uX0RldGFpbEZyYWdtZW50XG4gICAgICApPiB9XG4gICAgKT4sIGdlbmVyYWxNYXRjaGVzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQWlycG9ydCcgfVxuICAgICAgJiBQaWNrPEFpcnBvcnQsICdpZCcgfCAnbmFtZScgfCAnaWF0YScgfCAnaWNhbycgfCAndGVybWluYWxzJz5cbiAgICAgICYgeyBsb2NhdGlvbkRldGFpbHM/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbkRldGFpbCcgfVxuICAgICAgICAmIExvY2F0aW9uX0RldGFpbEZyYWdtZW50XG4gICAgICApPiB9XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaExvdW5nZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbG9jYXRpb25Db2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgYXJyaXZhbERhdGV0aW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgaW5mYW50cz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgdGVybWluYWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hMb3VuZ2VzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoTG91bmdlczogKFxuICAgIHsgX190eXBlbmFtZT86ICdMb3VuZ2VTZWFyY2hSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0czogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvdW5nZVF1b3RlJyB9XG4gICAgICAmIFBpY2s8TG91bmdlUXVvdGUsICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICduYW1lJyB8ICdjb2RlJyB8ICdwcmljZScgfCAnY3VycmVuY3knIHwgJ3RtY1ByZWZlcnJlZCcgfCAnY29tcGFueVByZWZlcnJlZCcgfCAnb2ZmaWNlUHJlZmVycmVkJyB8ICd0bWNQcmVmZXJyZWRNZXNzYWdlJyB8ICdjb21wYW55UHJlZmVycmVkTWVzc2FnZScgfCAnb2ZmaWNlUHJlZmVycmVkTWVzc2FnZScgfCAndW5hdmFpbGFibGUnIHwgJ3VuYXZhaWxhYmxlTWVzc2FnZScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdjbzJQZXJJdGVtJz5cbiAgICAgICYgeyBsb3VuZ2U6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvdW5nZUxvY2F0aW9uJyB9XG4gICAgICAgICYgUGljazxMb3VuZ2VMb2NhdGlvbiwgJ2NvZGUnIHwgJ25hbWUnIHwgJ2FpcnBvcnQnIHwgJ3Rlcm1pbmFsJyB8ICdhZGRyZXNzJyB8ICd0ZWxlcGhvbmUnIHwgJ2ZheCcgfCAnZGlyZWN0aW9ucycgfCAnaW50cm9kdWN0aW9uJyB8ICdsb2dvJyB8ICdtb2JpbGVJbWFnZScgfCAnZnVydGhlckltYWdlcycgfCAnYWR1bHRBZ2UnIHwgJ2NoaWxkQWdlJyB8ICdpbmZhbnRBZ2UnIHwgJ2xhbmRzaWRlJyB8ICdhaXJzaWRlJyB8ICdmYWNpbGl0aWVzJyB8ICdvcGVuVGltZScgfCAnY2xvc2VUaW1lJyB8ICd3aWZpJyB8ICd0dicgfCAnc25hY2tzJyB8ICdwaG9uZScgfCAnaW50ZXJuZXQnIHwgJ2NoaWxkcmVuQWxsb3dlZCcgfCAnZGlzYWJsZWRBY2Nlc3MnIHwgJ2RyaW5rcycgfCAnZnJlZURyaW5rcycgfCAnZnJlZUZvb2QnIHwgJ3Ntb2tpbmdQZXJtaXR0ZWQnIHwgJ21hZ2F6aW5lcycgfCAnaW5jbHVkZWREcmlua3MnIHwgJ21lbnVGb29kJyB8ICdtZW51RHJpbmtzJyB8ICdtZW51RXh0cmFzJyB8ICd3aGF0c0luY2x1ZGVkRHJpbmtzJyB8ICd3aGF0c0luY2x1ZGVkRXh0cmFzJyB8ICd3aGF0c0luY2x1ZGVkRm9vZCcgfCAnZ3JvdXBJbmZvJyB8ICdjaGVja0luSW5mbycgfCAnZHJlc3NDb2RlJyB8ICdmYWNpbGl0aWVzSW5mbycgfCAnZm9vZEFuZEJldmVyYWdlJyB8ICdjYW5jZWxsYXRpb25JbmZvJyB8ICdhbWVuZG1lbnRzSW5mbycgfCAnbWlzYyc+XG4gICAgICApIH1cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgbmV3QmFza2V0OiBTY2FsYXJzWydJRCddO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0TXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgbW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXQ6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaFBhcmtpbmdRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgYXJyaXZhbERhdGV0aW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBkZXBhcnREYXRldGltZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgbG9jYXRpb25Db2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb3V0RmxpZ2h0TnVtYmVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZWNvbW1lbmRlZD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG9uQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG1lZXRBbmRHcmVldD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBhcmtBbmRSaWRlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGFya0FuZFN0cm9sbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNhclBhcmtlZEZvcllvdT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRlcm1pbmFsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoUGFya2luZ1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaFBhcmtpbmc6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGFya2luZ1NlYXJjaFJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUGFya2luZ1F1b3RlJyB9XG4gICAgICAmIFBpY2s8UGFya2luZ1F1b3RlLCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAncmVxdWlyZWRJbmZvJyB8ICdwcmljZScgfCAnY3VycmVuY3knIHwgJ21pc2MnIHwgJ3RtY1ByZWZlcnJlZCcgfCAnY29tcGFueVByZWZlcnJlZCcgfCAnb2ZmaWNlUHJlZmVycmVkJyB8ICd0bWNQcmVmZXJyZWRNZXNzYWdlJyB8ICdjb21wYW55UHJlZmVycmVkTWVzc2FnZScgfCAnb2ZmaWNlUHJlZmVycmVkTWVzc2FnZScgfCAndW5hdmFpbGFibGUnIHwgJ3VuYXZhaWxhYmxlTWVzc2FnZScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdjbzJQZXJJdGVtJz5cbiAgICAgICYgeyBjYXJQYXJrOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdQYXJraW5nTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPFBhcmtpbmdMb2NhdGlvbiwgJ2NvZGUnIHwgJ25hbWUnIHwgJ2FpcnBvcnQnIHwgJ3Rlcm1pbmFsJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhZGRyZXNzJyB8ICdkaXN0YW5jZVRvQWlycG9ydCcgfCAnb25BaXJwb3J0JyB8ICdjYXJQYXJrZWRGb3JZb3UnIHwgJ21lZXRBbmRHcmVldCcgfCAndGVsZXBob25lJyB8ICdmYXgnIHwgJ2RpcmVjdGlvbnMnIHwgJ2Fycml2YWxQcm9jZWR1cmUnIHwgJ2RlcGFydHVyZVByb2NlZHVyZScgfCAnbWF4aW11bUNhclNpemUnIHwgJ2ludHJvZHVjdGlvbicgfCAnaW5mb3JtYXRpb24nIHwgJ3RyYW5zZmVySW5mb3JtYXRpb24nIHwgJ3RyYW5zZmVyT3BlcmF0aW5nVGltZXMnIHwgJ3RyYW5zZmVyVGltZScgfCAnbG9nbycgfCAnZGVmYXVsdEltYWdlJyB8ICdicmFuZEltYWdlJyB8ICdtb2JpbGVJbWFnZScgfCAnZnVydGhlckltYWdlcycgfCAnbWlzYyc+XG4gICAgICApIH1cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoUmFpbFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGpvdXJuZXlUeXBlOiBSYWlsSm91cm5leVR5cGU7XG4gIGNsYXNzPzogTWF5YmU8UmFpbENsYXNzPjtcbiAgb3V0Ym91bmRBcnJpdmFsRGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBkZXBhcnR1cmVMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhcnJpdmFsTG9jYXRpb25JZDogU2NhbGFyc1snSUQnXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHJldHVybkFycml2YWxEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICByZXR1cm5EZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICByYWlsQ2FyZFF1YWxpZmllcnM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydTdHJpbmcnXT4gfCBTY2FsYXJzWydTdHJpbmcnXT47XG4gIHZpYUxvY2F0aW9uSWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgZXh0cmFUaW1lVG9DaGFuZ2U/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwbHVzQnVzT3V0PzogTWF5YmU8UmFpbFBsdXNCdXNBdmFpbD47XG4gIHBsdXNCdXNSZXR1cm4/OiBNYXliZTxSYWlsUGx1c0J1c0F2YWlsPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaFJhaWxRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hSYWlsOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxTZWFyY2hSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0czogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5T3B0aW9ucycgfVxuICAgICAgJiBQaWNrPFJhaWxKb3VybmV5T3B0aW9ucywgJ3NvdXJjZScgfCAnc291cmNlSWQnPlxuICAgICAgJiB7IG91dGJvdW5kPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlPcHRpb24nIH1cbiAgICAgICAgJiBQaWNrPFJhaWxKb3VybmV5T3B0aW9uLCAnY28yUGVySXRlbScgfCAnZnJvbScgfCAnZnJvbUNvZGUnIHwgJ3RvJyB8ICd0b0NvZGUnIHwgJ2NvMlBlclBhc3NlbmdlcicgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdjaGFuZ2VzJyB8ICd1bnNlbGxhYmxlJz5cbiAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAmIFBpY2s8UmFpbElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgKT4sIHRyYXZlbGxlcnM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUcmF2ZWxsZXInIH1cbiAgICAgICAgICAmIFBpY2s8UmFpbFRyYXZlbGxlciwgJ3N0YXR1cycgfCAnaWQnIHwgJ2RvYicgfCAncmFpbGNhcmQnIHwgJ2dpdmVuTmFtZScgfCAnc3VybmFtZScgfCAnbmFtZVRpdGxlJyB8ICdjb250YWN0SW5mbycgfCAnZGVsaXZlcnlFbWFpbEFkZHJlc3MnIHwgJ2ZhcmUnPlxuICAgICAgICApPj4sIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsU2VnbWVudCcgfVxuICAgICAgICAgICYgUGljazxSYWlsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgJiBQaWNrPFJhaWxTZWF0UHJlZmVyZW5jZVR5cGUsICduYW1lJyB8ICdhbGxvd2VkVmFsdWVzJz5cbiAgICAgICAgICApPj4sIHNlYXRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxTZWF0JyB9XG4gICAgICAgICAgICAmIFBpY2s8UmFpbFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICk+PiwgY2FsbGluZ1BvaW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsQ2FsbGluZ1BvaW50JyB9XG4gICAgICAgICAgICAmIFBpY2s8UmFpbENhbGxpbmdQb2ludCwgJ3N0YXRpb25OYW1lJyB8ICdzdGF0aW9uQ29kZScgfCAnYXJyaXZhbERhdGVUaW1lJyB8ICdkZXBhcnR1cmVEYXRlVGltZScgfCAnc2NoZWR1bGVkUGxhdGZvcm0nIHwgJ3N0YXRpb25DbGFzc2lmaWNhdGlvbicgfCAnc3RvcHBpbmdQYXR0ZXJuJz5cbiAgICAgICAgICApPj4gfVxuICAgICAgICApPj4sIHByb3ZpZGVycz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFByb3ZpZGVyJyB9XG4gICAgICAgICAgJiBQaWNrPFJhaWxQcm92aWRlciwgJ3Byb3ZpZGVySWQnIHwgJ25hbWUnPlxuICAgICAgICAgICYgeyBjaGVhcGVzdFRpY2tldD86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0T3B0aW9uJyB9XG4gICAgICAgICAgICAmIFBpY2s8UmFpbFRpY2tldE9wdGlvbiwgJ3R5cGUnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybicgfCAncHJpY2UnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ2N1cnJlbmN5JyB8ICdyb3V0ZScgfCAncm91dGVDb2RlJyB8ICdhdmFpbGFibGVTZWF0cyc+XG4gICAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFJhaWxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICAgICApPiwgdGVybXM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0VGVybXMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFJhaWxUaWNrZXRUZXJtcywgJ2Vycm9yJyB8ICd0aWNrZXRUeXBlQ29kZScgfCAndHJhaW5PcGVyYXRpbmdDb21wYW55Q29kZScgfCAndGlja2V0VHlwZU5hbWUnIHwgJ3RpY2tldFR5cGVBbHROYW1lJyB8ICd0aWNrZXRUeXBlQ2xhc3MnIHwgJ3Jlc2VydmF0aW9uUnVsZScgfCAnam91cm5leVR5cGUnIHwgJ3ByZUJvb2tpbmdSZXF1aXJlbWVudCcgfCAnZ2VuZXJhbFZhbGlkaXR5JyB8ICd2YWxpZE91dFJ1bGUnIHwgJ3ZhbGlkUmV0dXJuUnVsZScgfCAnZ2VuZXJhbERpc2NvdW50JyB8ICdjaGlsZERpc2NvdW50JyB8ICdyYWlsY2FyZERpc2NvdW50JyB8ICdyZWZ1bmRDYW5jZWxsYXRpb25SdWxlJyB8ICdjaGFuZ2VSdWxlJyB8ICd0aWNrZXRUeXBlQ29uZGl0aW9uc0Rlc2NyaXB0aW9uJyB8ICdqb3VybmV5QnJlYWtSdWxlJyB8ICdhdmFpbGFiaWxpdHlSdWxlJyB8ICd0b2RBdmFpbGFibGUnIHwgJ2tpb3NrQXZhaWxhYmxlJyB8ICdzdGFydERhdGUnIHwgJ2VuZERhdGUnPlxuICAgICAgICAgICAgICAmIHsgZHluYW1pY0NvbmRpdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0R5bmFtaWNDb25kaXRpb24nIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8RHluYW1pY0NvbmRpdGlvbiwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgICApPiwgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFJhaWxUaWNrZXQsICdwcmljZScgfCAndHlwZScgfCAncm91dGUnIHwgJ251bUNoaWxkcmVuJyB8ICdudW1BZHVsdHMnPlxuICAgICAgICAgICAgICAmIHsgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxTZWdtZW50JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPFJhaWxTZWdtZW50LCAnaWQnIHwgJ29wZXJhdG9yJyB8ICdkZXBhcnQnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdzZWF0UHJlZmVyZW5jZUdyb3VwJz5cbiAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICk+Pj4sIHRpY2tldFF1ZXVlTGlzdD86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRRdWV1ZScgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbFRpY2tldFF1ZXVlLCAnaWQnIHwgJ25hbWUnIHwgJ3R5cGUnPlxuICAgICAgICAgICAgKT4+PiwgYWNjb3VudHNMaXN0PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEFjY291bnQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFJhaWxBY2NvdW50LCAnaWQnIHwgJ3JlZmVyZW5jZScgfCAnZGVzY3JpcHRpb24nIHwgJ2lzRGVmYXVsdCcgfCAndHlwZSc+XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPiwgdGlja2V0T3B0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0T3B0aW9uJyB9XG4gICAgICAgICAgICAmIFBpY2s8UmFpbFRpY2tldE9wdGlvbiwgJ3R5cGUnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybicgfCAncHJpY2UnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ2N1cnJlbmN5JyB8ICdyb3V0ZScgfCAncm91dGVDb2RlJyB8ICdhdmFpbGFibGVTZWF0cyc+XG4gICAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFJhaWxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICAgICAgICYgeyBhbGxvd2VkV2l0aDogQXJyYXk8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8UmFpbElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICAgKT4gfVxuICAgICAgICAgICAgKT4sIHRlcm1zPzogTWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldFRlcm1zJyB9XG4gICAgICAgICAgICAgICYgUGljazxSYWlsVGlja2V0VGVybXMsICdlcnJvcicgfCAndGlja2V0VHlwZUNvZGUnIHwgJ3RyYWluT3BlcmF0aW5nQ29tcGFueUNvZGUnIHwgJ3RpY2tldFR5cGVOYW1lJyB8ICd0aWNrZXRUeXBlQWx0TmFtZScgfCAndGlja2V0VHlwZUNsYXNzJyB8ICdyZXNlcnZhdGlvblJ1bGUnIHwgJ2pvdXJuZXlUeXBlJyB8ICdwcmVCb29raW5nUmVxdWlyZW1lbnQnIHwgJ2dlbmVyYWxWYWxpZGl0eScgfCAndmFsaWRPdXRSdWxlJyB8ICd2YWxpZFJldHVyblJ1bGUnIHwgJ2dlbmVyYWxEaXNjb3VudCcgfCAnY2hpbGREaXNjb3VudCcgfCAncmFpbGNhcmREaXNjb3VudCcgfCAncmVmdW5kQ2FuY2VsbGF0aW9uUnVsZScgfCAnY2hhbmdlUnVsZScgfCAndGlja2V0VHlwZUNvbmRpdGlvbnNEZXNjcmlwdGlvbicgfCAnam91cm5leUJyZWFrUnVsZScgfCAnYXZhaWxhYmlsaXR5UnVsZScgfCAndG9kQXZhaWxhYmxlJyB8ICdraW9za0F2YWlsYWJsZScgfCAnc3RhcnREYXRlJyB8ICdlbmREYXRlJz5cbiAgICAgICAgICAgICk+LCB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbFRpY2tldCwgJ3ByaWNlJyB8ICd0eXBlJyB8ICdyb3V0ZScgfCAnbnVtQ2hpbGRyZW4nIHwgJ251bUFkdWx0cyc+XG4gICAgICAgICAgICApPj4+LCB0aWNrZXRRdWV1ZUxpc3Q/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0UXVldWUnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFJhaWxUaWNrZXRRdWV1ZSwgJ2lkJyB8ICduYW1lJyB8ICd0eXBlJz5cbiAgICAgICAgICAgICk+Pj4sIGFjY291bnRzTGlzdD86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxBY2NvdW50JyB9XG4gICAgICAgICAgICAgICYgUGljazxSYWlsQWNjb3VudCwgJ2lkJyB8ICdyZWZlcmVuY2UnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdpc0RlZmF1bHQnIHwgJ3R5cGUnPlxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4+PiwgYm9va2VkVGlja2V0PzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxSYWlsVGlja2V0T3B0aW9uLCAndHlwZScgfCAnY2xhc3MnIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdwcmljZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnY3VycmVuY3knIHwgJ3JvdXRlJyB8ICdyb3V0ZUNvZGUnPlxuICAgICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICYgUGljazxSYWlsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICAgICAgKT4sIHRlcm1zPzogTWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldFRlcm1zJyB9XG4gICAgICAgICAgICAgICYgUGljazxSYWlsVGlja2V0VGVybXMsICdlcnJvcicgfCAndGlja2V0VHlwZUNvZGUnIHwgJ3RyYWluT3BlcmF0aW5nQ29tcGFueUNvZGUnIHwgJ3RpY2tldFR5cGVOYW1lJyB8ICd0aWNrZXRUeXBlQWx0TmFtZScgfCAndGlja2V0VHlwZUNsYXNzJyB8ICdyZXNlcnZhdGlvblJ1bGUnIHwgJ2pvdXJuZXlUeXBlJyB8ICdwcmVCb29raW5nUmVxdWlyZW1lbnQnIHwgJ2dlbmVyYWxWYWxpZGl0eScgfCAndmFsaWRPdXRSdWxlJyB8ICd2YWxpZFJldHVyblJ1bGUnIHwgJ2dlbmVyYWxEaXNjb3VudCcgfCAnY2hpbGREaXNjb3VudCcgfCAncmFpbGNhcmREaXNjb3VudCcgfCAncmVmdW5kQ2FuY2VsbGF0aW9uUnVsZScgfCAnY2hhbmdlUnVsZScgfCAndGlja2V0VHlwZUNvbmRpdGlvbnNEZXNjcmlwdGlvbicgfCAnam91cm5leUJyZWFrUnVsZScgfCAnYXZhaWxhYmlsaXR5UnVsZScgfCAndG9kQXZhaWxhYmxlJyB8ICdraW9za0F2YWlsYWJsZScgfCAnc3RhcnREYXRlJyB8ICdlbmREYXRlJz5cbiAgICAgICAgICAgICk+LCB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbFRpY2tldCwgJ3ByaWNlJyB8ICd0eXBlJyB8ICdyb3V0ZScgfCAnbnVtQ2hpbGRyZW4nIHwgJ251bUFkdWx0cyc+XG4gICAgICAgICAgICApPj4+LCB0aWNrZXRRdWV1ZUxpc3Q/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0UXVldWUnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFJhaWxUaWNrZXRRdWV1ZSwgJ2lkJyB8ICduYW1lJyB8ICd0eXBlJz5cbiAgICAgICAgICAgICk+Pj4sIGFjY291bnRzTGlzdD86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxBY2NvdW50JyB9XG4gICAgICAgICAgICAgICYgUGljazxSYWlsQWNjb3VudCwgJ2lkJyB8ICdyZWZlcmVuY2UnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdpc0RlZmF1bHQnIHwgJ3R5cGUnPlxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4gfVxuICAgICAgICApPj4sIHRpY2tldEV4dHJhcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldEV4dHJhJyB9XG4gICAgICAgICAgJiBQaWNrPFJhaWxUaWNrZXRFeHRyYSwgJ3R5cGUnIHwgJ2xvY2F0aW9uJyB8ICdkYXRlJyB8ICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdhZHVsdEFtb3VudCcgfCAnY2hpbGRBbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldEV4dHJhSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICYgUGljazxSYWlsVGlja2V0RXh0cmFJZGVudGlmaWVycywgJ3R5cGUnIHwgJ2xvY2F0aW9uJyB8ICdkYXRlJyB8ICdqb3VybmV5SWQnIHwgJ2lzT3JpZ2luJz5cbiAgICAgICAgICApPiB9XG4gICAgICAgICk+PiwgcGx1c0J1cz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFBsdXNCdXMnIH1cbiAgICAgICAgICAmIFBpY2s8UmFpbFBsdXNCdXMsICdvcmlnaW5QbHVzQnVzTkxDJyB8ICdvcmlnaW5TdGF0aW9uTkxDJyB8ICdkZXN0aW5hdGlvblBsdXNCdXNOTEMnIHwgJ2Rlc3RpbmF0aW9uU3RhdGlvbk5MQyc+XG4gICAgICAgICk+IH1cbiAgICAgICk+PiwgcmV0dXJuPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlPcHRpb24nIH1cbiAgICAgICAgJiBQaWNrPFJhaWxKb3VybmV5T3B0aW9uLCAnY28yUGVySXRlbScgfCAnZnJvbScgfCAnZnJvbUNvZGUnIHwgJ3RvJyB8ICd0b0NvZGUnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmVEYXRlVGltZScgfCAnY2hhbmdlcycgfCAndW5zZWxsYWJsZSc+XG4gICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgJiBQaWNrPFJhaWxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICk+LCB0cmF2ZWxsZXJzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVHJhdmVsbGVyJyB9XG4gICAgICAgICAgJiBQaWNrPFJhaWxUcmF2ZWxsZXIsICdzdGF0dXMnIHwgJ2lkJyB8ICdkb2InIHwgJ3JhaWxjYXJkJyB8ICdnaXZlbk5hbWUnIHwgJ3N1cm5hbWUnIHwgJ25hbWVUaXRsZScgfCAnY29udGFjdEluZm8nIHwgJ2RlbGl2ZXJ5RW1haWxBZGRyZXNzJyB8ICdmYXJlJz5cbiAgICAgICAgKT4+LCBzZWdtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFNlZ21lbnQnIH1cbiAgICAgICAgICAmIFBpY2s8UmFpbFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICYgeyBjYWxsaW5nUG9pbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxDYWxsaW5nUG9pbnQnIH1cbiAgICAgICAgICAgICYgUGljazxSYWlsQ2FsbGluZ1BvaW50LCAnc3RhdGlvbk5hbWUnIHwgJ3N0YXRpb25Db2RlJyB8ICdhcnJpdmFsRGF0ZVRpbWUnIHwgJ2RlcGFydHVyZURhdGVUaW1lJyB8ICdzY2hlZHVsZWRQbGF0Zm9ybScgfCAnc3RhdGlvbkNsYXNzaWZpY2F0aW9uJyB8ICdzdG9wcGluZ1BhdHRlcm4nPlxuICAgICAgICAgICk+PiB9XG4gICAgICAgICk+PiwgcHJvdmlkZXJzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsUHJvdmlkZXInIH1cbiAgICAgICAgICAmIFBpY2s8UmFpbFByb3ZpZGVyLCAncHJvdmlkZXJJZCcgfCAnbmFtZSc+XG4gICAgICAgICAgJiB7IGNoZWFwZXN0VGlja2V0PzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxSYWlsVGlja2V0T3B0aW9uLCAndHlwZScgfCAnY2xhc3MnIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdwcmljZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnY3VycmVuY3knIHwgJ3JvdXRlJyB8ICdyb3V0ZUNvZGUnIHwgJ2F2YWlsYWJsZVNlYXRzJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICk+LCB0ZXJtcz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRUZXJtcycgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbFRpY2tldFRlcm1zLCAnZXJyb3InIHwgJ3RpY2tldFR5cGVDb2RlJyB8ICd0cmFpbk9wZXJhdGluZ0NvbXBhbnlDb2RlJyB8ICd0aWNrZXRUeXBlTmFtZScgfCAndGlja2V0VHlwZUFsdE5hbWUnIHwgJ3RpY2tldFR5cGVDbGFzcycgfCAncmVzZXJ2YXRpb25SdWxlJyB8ICdqb3VybmV5VHlwZScgfCAncHJlQm9va2luZ1JlcXVpcmVtZW50JyB8ICdnZW5lcmFsVmFsaWRpdHknIHwgJ3ZhbGlkT3V0UnVsZScgfCAndmFsaWRSZXR1cm5SdWxlJyB8ICdnZW5lcmFsRGlzY291bnQnIHwgJ2NoaWxkRGlzY291bnQnIHwgJ3JhaWxjYXJkRGlzY291bnQnIHwgJ3JlZnVuZENhbmNlbGxhdGlvblJ1bGUnIHwgJ2NoYW5nZVJ1bGUnIHwgJ3RpY2tldFR5cGVDb25kaXRpb25zRGVzY3JpcHRpb24nIHwgJ2pvdXJuZXlCcmVha1J1bGUnIHwgJ2F2YWlsYWJpbGl0eVJ1bGUnIHwgJ3RvZEF2YWlsYWJsZScgfCAna2lvc2tBdmFpbGFibGUnIHwgJ3N0YXJ0RGF0ZScgfCAnZW5kRGF0ZSc+XG4gICAgICAgICAgICAgICYgeyBkeW5hbWljQ29uZGl0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRHluYW1pY0NvbmRpdGlvbicgfVxuICAgICAgICAgICAgICAgICYgUGljazxEeW5hbWljQ29uZGl0aW9uLCAnbmFtZScgfCAnZGVzY3JpcHRpb24nPlxuICAgICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICAgICk+LCB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbFRpY2tldCwgJ3ByaWNlJyB8ICd0eXBlJyB8ICdyb3V0ZScgfCAnbnVtQ2hpbGRyZW4nIHwgJ251bUFkdWx0cyc+XG4gICAgICAgICAgICAgICYgeyBzZWdtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFNlZ21lbnQnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8UmFpbFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgKT4+PiwgdGlja2V0UXVldWVMaXN0PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldFF1ZXVlJyB9XG4gICAgICAgICAgICAgICYgUGljazxSYWlsVGlja2V0UXVldWUsICdpZCcgfCAnbmFtZScgfCAndHlwZSc+XG4gICAgICAgICAgICApPj4+LCBhY2NvdW50c0xpc3Q/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsQWNjb3VudCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbEFjY291bnQsICdpZCcgfCAncmVmZXJlbmNlJyB8ICdkZXNjcmlwdGlvbicgfCAnaXNEZWZhdWx0JyB8ICd0eXBlJz5cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+LCB0aWNrZXRPcHRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxSYWlsVGlja2V0T3B0aW9uLCAndHlwZScgfCAnY2xhc3MnIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdwcmljZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnY3VycmVuY3knIHwgJ3JvdXRlJyB8ICdyb3V0ZUNvZGUnIHwgJ2F2YWlsYWJsZVNlYXRzJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICAgJiB7IGFsbG93ZWRXaXRoOiBBcnJheTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAgICYgUGljazxSYWlsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICAgICAgICApPiB9XG4gICAgICAgICAgICApPiwgdGVybXM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0VGVybXMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFJhaWxUaWNrZXRUZXJtcywgJ2Vycm9yJyB8ICd0aWNrZXRUeXBlQ29kZScgfCAndHJhaW5PcGVyYXRpbmdDb21wYW55Q29kZScgfCAndGlja2V0VHlwZU5hbWUnIHwgJ3RpY2tldFR5cGVBbHROYW1lJyB8ICd0aWNrZXRUeXBlQ2xhc3MnIHwgJ3Jlc2VydmF0aW9uUnVsZScgfCAnam91cm5leVR5cGUnIHwgJ3ByZUJvb2tpbmdSZXF1aXJlbWVudCcgfCAnZ2VuZXJhbFZhbGlkaXR5JyB8ICd2YWxpZE91dFJ1bGUnIHwgJ3ZhbGlkUmV0dXJuUnVsZScgfCAnZ2VuZXJhbERpc2NvdW50JyB8ICdjaGlsZERpc2NvdW50JyB8ICdyYWlsY2FyZERpc2NvdW50JyB8ICdyZWZ1bmRDYW5jZWxsYXRpb25SdWxlJyB8ICdjaGFuZ2VSdWxlJyB8ICd0aWNrZXRUeXBlQ29uZGl0aW9uc0Rlc2NyaXB0aW9uJyB8ICdqb3VybmV5QnJlYWtSdWxlJyB8ICdhdmFpbGFiaWxpdHlSdWxlJyB8ICd0b2RBdmFpbGFibGUnIHwgJ2tpb3NrQXZhaWxhYmxlJyB8ICdzdGFydERhdGUnIHwgJ2VuZERhdGUnPlxuICAgICAgICAgICAgKT4sIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxSYWlsVGlja2V0LCAncHJpY2UnIHwgJ3R5cGUnIHwgJ3JvdXRlJyB8ICdudW1DaGlsZHJlbicgfCAnbnVtQWR1bHRzJz5cbiAgICAgICAgICAgICk+Pj4sIHRpY2tldFF1ZXVlTGlzdD86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRRdWV1ZScgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbFRpY2tldFF1ZXVlLCAnaWQnIHwgJ25hbWUnIHwgJ3R5cGUnPlxuICAgICAgICAgICAgKT4+PiwgYWNjb3VudHNMaXN0PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEFjY291bnQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFJhaWxBY2NvdW50LCAnaWQnIHwgJ3JlZmVyZW5jZScgfCAnZGVzY3JpcHRpb24nIHwgJ2lzRGVmYXVsdCcgfCAndHlwZSc+XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPj4+LCBib29rZWRUaWNrZXQ/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPFJhaWxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZSc+XG4gICAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFJhaWxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICAgICApPiwgdGVybXM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0VGVybXMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFJhaWxUaWNrZXRUZXJtcywgJ2Vycm9yJyB8ICd0aWNrZXRUeXBlQ29kZScgfCAndHJhaW5PcGVyYXRpbmdDb21wYW55Q29kZScgfCAndGlja2V0VHlwZU5hbWUnIHwgJ3RpY2tldFR5cGVBbHROYW1lJyB8ICd0aWNrZXRUeXBlQ2xhc3MnIHwgJ3Jlc2VydmF0aW9uUnVsZScgfCAnam91cm5leVR5cGUnIHwgJ3ByZUJvb2tpbmdSZXF1aXJlbWVudCcgfCAnZ2VuZXJhbFZhbGlkaXR5JyB8ICd2YWxpZE91dFJ1bGUnIHwgJ3ZhbGlkUmV0dXJuUnVsZScgfCAnZ2VuZXJhbERpc2NvdW50JyB8ICdjaGlsZERpc2NvdW50JyB8ICdyYWlsY2FyZERpc2NvdW50JyB8ICdyZWZ1bmRDYW5jZWxsYXRpb25SdWxlJyB8ICdjaGFuZ2VSdWxlJyB8ICd0aWNrZXRUeXBlQ29uZGl0aW9uc0Rlc2NyaXB0aW9uJyB8ICdqb3VybmV5QnJlYWtSdWxlJyB8ICdhdmFpbGFiaWxpdHlSdWxlJyB8ICd0b2RBdmFpbGFibGUnIHwgJ2tpb3NrQXZhaWxhYmxlJyB8ICdzdGFydERhdGUnIHwgJ2VuZERhdGUnPlxuICAgICAgICAgICAgKT4sIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxSYWlsVGlja2V0LCAncHJpY2UnIHwgJ3R5cGUnIHwgJ3JvdXRlJyB8ICdudW1DaGlsZHJlbicgfCAnbnVtQWR1bHRzJz5cbiAgICAgICAgICAgICk+Pj4sIHRpY2tldFF1ZXVlTGlzdD86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRRdWV1ZScgfVxuICAgICAgICAgICAgICAmIFBpY2s8UmFpbFRpY2tldFF1ZXVlLCAnaWQnIHwgJ25hbWUnIHwgJ3R5cGUnPlxuICAgICAgICAgICAgKT4+PiwgYWNjb3VudHNMaXN0PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEFjY291bnQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFJhaWxBY2NvdW50LCAnaWQnIHwgJ3JlZmVyZW5jZScgfCAnZGVzY3JpcHRpb24nIHwgJ2lzRGVmYXVsdCcgfCAndHlwZSc+XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPiB9XG4gICAgICAgICk+PiwgdGlja2V0RXh0cmFzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0RXh0cmEnIH1cbiAgICAgICAgICAmIFBpY2s8UmFpbFRpY2tldEV4dHJhLCAndHlwZScgfCAnbG9jYXRpb24nIHwgJ2RhdGUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2FkdWx0QW1vdW50JyB8ICdjaGlsZEFtb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICApPj4sIHBsdXNCdXM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxQbHVzQnVzJyB9XG4gICAgICAgICAgJiBQaWNrPFJhaWxQbHVzQnVzLCAnb3JpZ2luUGx1c0J1c05MQycgfCAnb3JpZ2luU3RhdGlvbk5MQycgfCAnZGVzdGluYXRpb25QbHVzQnVzTkxDJyB8ICdkZXN0aW5hdGlvblN0YXRpb25OTEMnPlxuICAgICAgICApPiB9XG4gICAgICApPj4gfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTYXZlUmVjZW50U2VhcmNoTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZTtcbiAgc2VhcmNoQXJnczogU2NhbGFyc1snSlNPTiddO1xuICB0cmF2ZWxEYXRlOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB0cmF2ZWxsZXJzPzogTWF5YmU8QXJyYXk8TWF5YmU8U2NhbGFyc1snSUQnXT4+IHwgTWF5YmU8U2NhbGFyc1snSUQnXT4+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2F2ZVJlY2VudFNlYXJjaE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNhdmVSZWNlbnRTZWFyY2g6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoJyB9XG4gICAgJiBQaWNrPFNlYXJjaCwgJ2lkJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2F2ZVVzZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbnVtYmVyT3JOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdHJlZXQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRvd24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50eT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcG9zdGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB1c2VyUHJpbWFyeT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTYXZlVXNlckFkZHJlc3NNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzYXZlVXNlckFkZHJlc3M6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWRkcmVzcycgfVxuICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hBaXJsaW5lc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hBaXJsaW5lc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaEFpcmxpbmVzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FpcmxpbmVSZXN1bHRzJyB9XG4gICAgJiB7IGlhdGFNYXRjaD86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdBaXJsaW5lUmVzdWx0JyB9XG4gICAgICAmIFBpY2s8QWlybGluZVJlc3VsdCwgJ2lkJyB8ICduYW1lJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdhbGlhcycgfCAnY2FsbHNpZ24nIHwgJ2FjdGl2ZScgfCAnY29udGluZW50JyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnYmFubmVySW1hZ2UnIHwgJ2xvZ29JbWFnZSc+XG4gICAgKT4sIGdlbmVyYWxNYXRjaGVzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQWlybGluZVJlc3VsdCcgfVxuICAgICAgJiBQaWNrPEFpcmxpbmVSZXN1bHQsICdpZCcgfCAnbmFtZScgfCAnaWF0YScgfCAnaWNhbycgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdhY3RpdmUnIHwgJ2NvbnRpbmVudCcgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ2Jhbm5lckltYWdlJyB8ICdsb2dvSW1hZ2UnPlxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hDaXRpZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaENpdGllc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaENpdGllczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdDaXR5JyB9XG4gICAgJiBQaWNrPENpdHksICdpZCcgfCAnbmFtZScgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ2NvbnRpbmVudE5hbWUnPlxuICAgICYgeyBjb29yZGluYXRlczogKFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0dlb0Nvb3JkaW5hdGVzJyB9XG4gICAgICAmIFBpY2s8R2VvQ29vcmRpbmF0ZXMsICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZSc+XG4gICAgKSB9XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNpdHlOYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoQ29uZmVybWFDaXRpZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hDb25mZXJtYUNpdGllczogKFxuICAgIHsgX190eXBlbmFtZT86ICdDb25mZXJtYUNpdHlMb2NhdGlvbicgfVxuICAgICYgUGljazxDb25mZXJtYUNpdHlMb2NhdGlvbiwgJ2ZvdW5kRXhhY3QnPlxuICAgICYgeyBzdWdnZXN0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDb25mZXJtYUNpdHlMb2NhdGlvbk9wdGlvbnMnIH1cbiAgICAgICYgUGljazxDb25mZXJtYUNpdHlMb2NhdGlvbk9wdGlvbnMsICduYW1lJyB8ICdjb3VudHJ5Q29kZScgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc+XG4gICAgKT4+PiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoRXVyb3N0YXJRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcGFzc2VuZ2VyczogQXJyYXk8RmxpZ2h0UGFzc2VuZ2VyT2JqZWN0PiB8IEZsaWdodFBhc3Nlbmdlck9iamVjdDtcbiAgb3JpZ2luQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtdWx0aURlc3RpbmF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8RGVzdGluYXRpb25FbnRyeT4+IHwgTWF5YmU8RGVzdGluYXRpb25FbnRyeT4+O1xuICBvdXRib3VuZERhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICBvdXRib3VuZERlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+PiB8IE1heWJlPEZsaWdodENhYmluQ2xhc3M+PjtcbiAgcmV0dXJuVHJpcDogU2NhbGFyc1snQm9vbGVhbiddO1xuICByZXR1cm5EYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgcmV0dXJuRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkNhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4gfCBNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj47XG4gIGZhcmVUeXBlOiBGYXJlVHlwZTtcbiAgcmVxdWlyZUZyZWVCYWc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtYXhDb25uZWN0aW9ucz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcHJlZmVycmVkQ2FycmllcnM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+IHwgTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaW5jbHVkZU5lYXJieUFpcnBvcnRzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYXNTaW5nbGVzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaEV1cm9zdGFyUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoRXVyb3N0YXI6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhcmNoUmVzdWx0VjInIH1cbiAgICAmIHsgcmVzdWx0czogKFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZFRmxpZ2h0U2VhcmNoUmVzdWx0cycgfVxuICAgICAgJiB7IGpvdXJuZXlzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRJdGluZXJhcnknIH1cbiAgICAgICAgJiBQaWNrPEZsaWdodEl0aW5lcmFyeSwgJ3VpZCcgfCAncGFzc2VuZ2VyQ291bnQnIHwgJ291dGJvdW5kVG90YWxEdXJhdGlvbicgfCAnaW5ib3VuZFRvdGFsRHVyYXRpb24nIHwgJ2FkZGl0aW9uYWwnIHwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ3ZlcnNpb24nIHwgJ3RtY1ByZWZlcnJlZCcgfCAnY29tcGFueVByZWZlcnJlZCcgfCAnb2ZmaWNlUHJlZmVycmVkJyB8ICd0bWNQcmVmZXJyZWRNZXNzYWdlJyB8ICdjb21wYW55UHJlZmVycmVkTWVzc2FnZScgfCAnb2ZmaWNlUHJlZmVycmVkTWVzc2FnZScgfCAndW5hdmFpbGFibGUnIHwgJ3VuYXZhaWxhYmxlTWVzc2FnZScgfCAnY28yUGVySXRlbScgfCAnY28yUGVyUGFzc2VuZ2VyJz5cbiAgICAgICAgJiB7IG91dGJvdW5kRmxpZ2h0czogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodEpvdXJuZXksICdvcmlnaW5BaXJwb3J0JyB8ICdvcmlnaW5UZXJtaW5hbCcgfCAnb3JpZ2luQWlycG9ydE5hbWUnIHwgJ2Rlc3RpbmF0aW9uQWlycG9ydCcgfCAnZGVzdGluYXRpb25UZXJtaW5hbCcgfCAnZGVzdGluYXRpb25BaXJwb3J0TmFtZScgfCAnZGF0ZVRpbWVEZXBhcnRpbmcnIHwgJ2RhdGVUaW1lRGVwYXJ0aW5nVVRDJyB8ICdkYXRlVGltZUFycml2aW5nJyB8ICdkYXRlVGltZUFycml2aW5nVVRDJyB8ICdtYXJrZXRpbmdDYXJyaWVyJyB8ICdtYXJrZXRpbmdDYXJyaWVyTmFtZScgfCAnbWFya2V0aW5nRmxpZ2h0TnVtYmVyJyB8ICdvcGVyYXRpbmdDYXJyaWVyJyB8ICdvcGVyYXRpbmdDYXJyaWVyTmFtZScgfCAnb3BlcmF0aW5nRmxpZ2h0TnVtYmVyJyB8ICdlcXVpcG1lbnRDb2RlJyB8ICdlcXVpcG1lbnROYW1lJyB8ICd0b3RhbER1cmF0aW9uJyB8ICdjYWJpbkNsYXNzJyB8ICdtYXJrZXRpbmdOYW1lcycgfCAndmVuZG9yQ29kZScgfCAnc3RvcHMnIHwgJ2Jvb2tpbmdDb2RlJyB8ICdtYXJyaWFnZUdyb3VwJyB8ICdmYXJlQmFzaXNDb2RlJyB8ICdhZGRpdGlvbmFsJz5cbiAgICAgICAgICAmIHsgZmFyZUluZm8/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0U3BlY2lhbEZhcmVJbmZvJyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0U3BlY2lhbEZhcmVJbmZvLCAndGl0bGUnIHwgJ3R5cGUnIHwgJ2NvZGUnIHwgJ3N1cHBsaWVyQ29kZSc+XG4gICAgICAgICAgKT4sIG9yaWdpbkFpcnBvcnREZXRhaWw6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0RGV0YWlsJyB9XG4gICAgICAgICAgICAmIFBpY2s8QWlycG9ydERldGFpbCwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncm9hZCcgfCAncG9wdWxhcml0eScgfCAnYXJlYScgfCAnbG9jYXRpb24nIHwgJ29mZnNldCcgfCAnYWlycG9ydE5hbWUnIHwgJ2NvdW50cnlOYW1lJyB8ICdjb3VudHJ5Q29kZScgfCAncG9zdGNvZGUnPlxuICAgICAgICAgICksIGRlc3RpbmF0aW9uQWlycG9ydERldGFpbDogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0FpcnBvcnREZXRhaWwnIH1cbiAgICAgICAgICAgICYgUGljazxBaXJwb3J0RGV0YWlsLCAnaWF0YScgfCAnaWNhbycgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdyb2FkJyB8ICdwb3B1bGFyaXR5JyB8ICdhcmVhJyB8ICdsb2NhdGlvbicgfCAnb2Zmc2V0JyB8ICdhaXJwb3J0TmFtZScgfCAnY291bnRyeU5hbWUnIHwgJ2NvdW50cnlDb2RlJyB8ICdwb3N0Y29kZSc+XG4gICAgICAgICAgKSwgbWFya2V0aW5nQ2FycmllckRldGFpbDogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcnJpZXJEZXRhaWwnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJyaWVyRGV0YWlsLCAnbmFtZScgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdsb2dvJyB8ICdiYW5uZXInIHwgJ3BvcHVsYXJpdHknPlxuICAgICAgICAgICksIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWw6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJyaWVyRGV0YWlsJyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FycmllckRldGFpbCwgJ25hbWUnIHwgJ2FsaWFzJyB8ICdjYWxsc2lnbicgfCAnaWF0YScgfCAnaWNhbycgfCAnbG9nbycgfCAnYmFubmVyJyB8ICdwb3B1bGFyaXR5Jz5cbiAgICAgICAgICApLCBmYXJlQ29uZGl0aW9uczogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25zJyB9XG4gICAgICAgICAgICAmIHsgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiwgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApIH1cbiAgICAgICAgKT4sIGluYm91bmRGbGlnaHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodEpvdXJuZXksICdvcmlnaW5BaXJwb3J0JyB8ICdvcmlnaW5UZXJtaW5hbCcgfCAnb3JpZ2luQWlycG9ydE5hbWUnIHwgJ2Rlc3RpbmF0aW9uQWlycG9ydCcgfCAnZGVzdGluYXRpb25UZXJtaW5hbCcgfCAnZGVzdGluYXRpb25BaXJwb3J0TmFtZScgfCAnZGF0ZVRpbWVEZXBhcnRpbmcnIHwgJ2RhdGVUaW1lRGVwYXJ0aW5nVVRDJyB8ICdkYXRlVGltZUFycml2aW5nJyB8ICdkYXRlVGltZUFycml2aW5nVVRDJyB8ICdtYXJrZXRpbmdDYXJyaWVyJyB8ICdtYXJrZXRpbmdDYXJyaWVyTmFtZScgfCAnbWFya2V0aW5nRmxpZ2h0TnVtYmVyJyB8ICdvcGVyYXRpbmdDYXJyaWVyJyB8ICdvcGVyYXRpbmdDYXJyaWVyTmFtZScgfCAnb3BlcmF0aW5nRmxpZ2h0TnVtYmVyJyB8ICdlcXVpcG1lbnRDb2RlJyB8ICdlcXVpcG1lbnROYW1lJyB8ICd0b3RhbER1cmF0aW9uJyB8ICdjYWJpbkNsYXNzJyB8ICdtYXJrZXRpbmdOYW1lcycgfCAndmVuZG9yQ29kZScgfCAnc3RvcHMnIHwgJ2Jvb2tpbmdDb2RlJyB8ICdtYXJyaWFnZUdyb3VwJyB8ICdmYXJlQmFzaXNDb2RlJyB8ICdhZGRpdGlvbmFsJz5cbiAgICAgICAgICAmIHsgZmFyZUluZm8/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0U3BlY2lhbEZhcmVJbmZvJyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0U3BlY2lhbEZhcmVJbmZvLCAndGl0bGUnIHwgJ3R5cGUnIHwgJ2NvZGUnIHwgJ3N1cHBsaWVyQ29kZSc+XG4gICAgICAgICAgKT4sIG9yaWdpbkFpcnBvcnREZXRhaWw6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0RGV0YWlsJyB9XG4gICAgICAgICAgICAmIFBpY2s8QWlycG9ydERldGFpbCwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncm9hZCcgfCAncG9wdWxhcml0eScgfCAnYXJlYScgfCAnbG9jYXRpb24nIHwgJ29mZnNldCcgfCAnYWlycG9ydE5hbWUnIHwgJ2NvdW50cnlOYW1lJyB8ICdjb3VudHJ5Q29kZScgfCAncG9zdGNvZGUnPlxuICAgICAgICAgICksIGRlc3RpbmF0aW9uQWlycG9ydERldGFpbDogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0FpcnBvcnREZXRhaWwnIH1cbiAgICAgICAgICAgICYgUGljazxBaXJwb3J0RGV0YWlsLCAnaWF0YScgfCAnaWNhbycgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdyb2FkJyB8ICdwb3B1bGFyaXR5JyB8ICdhcmVhJyB8ICdsb2NhdGlvbicgfCAnb2Zmc2V0JyB8ICdhaXJwb3J0TmFtZScgfCAnY291bnRyeU5hbWUnIHwgJ2NvdW50cnlDb2RlJyB8ICdwb3N0Y29kZSc+XG4gICAgICAgICAgKSwgbWFya2V0aW5nQ2FycmllckRldGFpbDogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcnJpZXJEZXRhaWwnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJyaWVyRGV0YWlsLCAnbmFtZScgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdsb2dvJyB8ICdiYW5uZXInIHwgJ3BvcHVsYXJpdHknPlxuICAgICAgICAgICksIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWw6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJyaWVyRGV0YWlsJyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FycmllckRldGFpbCwgJ25hbWUnIHwgJ2FsaWFzJyB8ICdjYWxsc2lnbicgfCAnaWF0YScgfCAnaWNhbycgfCAnbG9nbycgfCAnYmFubmVyJyB8ICdwb3B1bGFyaXR5Jz5cbiAgICAgICAgICApLCBmYXJlQ29uZGl0aW9uczogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25zJyB9XG4gICAgICAgICAgICAmIHsgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiwgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApIH1cbiAgICAgICAgKT4+Piwgb3V0Ym91bmRDYXJib25FbWlzc2lvbnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcmJvbkVtaXNzaW9ucycgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRDYXJib25FbWlzc2lvbnMsICdhbW91bnQnIHwgJ3VuaXQnPlxuICAgICAgICApPiwgaW5ib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodENhcmJvbkVtaXNzaW9ucywgJ2Ftb3VudCcgfCAndW5pdCc+XG4gICAgICAgICk+LCB0YXhlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0QW1vdW50JyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodEFtb3VudCwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgKT4+PiwgZGlzY291bnRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0QW1vdW50LCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICApPj4+LCB0b3RhbDogKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRGYXJlVG90YWwnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0RmFyZVRvdGFsLCAncHJpY2UnIHwgJ3RheCcgfCAnZGlzY291bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgKSwgZmFyZUNvbmRpdGlvbnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25zJyB9XG4gICAgICAgICAgJiB7IGNhbmNlbGxhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+LCBjaGFuZ2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+Piwgbm9TaG93PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICk+Pj4sIHVwZ3JhZGU/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+Piwgb3RoZXI/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+PiB9XG4gICAgICAgICk+LCBiYWdnYWdlQWxsb3dhbmNlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCYWdnYWdlQWxsb3dhbmNlJyB9XG4gICAgICAgICAgJiBQaWNrPEJhZ2dhZ2VBbGxvd2FuY2UsICd0eXBlJyB8ICdxdHknIHwgJ21heEtHJyB8ICdtYXhMQlMnPlxuICAgICAgICApPj4+IH1cbiAgICAgICk+LCBtdWx0aTogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSXRpbmVyYXJ5U3VtbWFyeScgfVxuICAgICAgICAmIFBpY2s8SXRpbmVyYXJ5U3VtbWFyeSwgJ29yZGVyJyB8ICdvcmlnaW4nIHwgJ2Rlc3RpbmF0aW9uJyB8ICdtaW5QcmljZScgfCAnbWF4UHJpY2UnPlxuICAgICAgICAmIHsgcmVzdWx0czogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRJdGluZXJhcnknIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0SXRpbmVyYXJ5LCAndWlkJyB8ICdwYXNzZW5nZXJDb3VudCcgfCAnb3V0Ym91bmRUb3RhbER1cmF0aW9uJyB8ICdpbmJvdW5kVG90YWxEdXJhdGlvbicgfCAnYWRkaXRpb25hbCcgfCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAndmVyc2lvbicgfCAndG1jUHJlZmVycmVkJyB8ICdjb21wYW55UHJlZmVycmVkJyB8ICdvZmZpY2VQcmVmZXJyZWQnIHwgJ3RtY1ByZWZlcnJlZE1lc3NhZ2UnIHwgJ2NvbXBhbnlQcmVmZXJyZWRNZXNzYWdlJyB8ICdvZmZpY2VQcmVmZXJyZWRNZXNzYWdlJyB8ICd1bmF2YWlsYWJsZScgfCAndW5hdmFpbGFibGVNZXNzYWdlJyB8ICdjbzJQZXJJdGVtJyB8ICdjbzJQZXJQYXNzZW5nZXInPlxuICAgICAgICAgICYgeyBvdXRib3VuZEZsaWdodHM6IEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Sm91cm5leSwgJ29yaWdpbkFpcnBvcnQnIHwgJ29yaWdpblRlcm1pbmFsJyB8ICdvcmlnaW5BaXJwb3J0TmFtZScgfCAnZGVzdGluYXRpb25BaXJwb3J0JyB8ICdkZXN0aW5hdGlvblRlcm1pbmFsJyB8ICdkZXN0aW5hdGlvbkFpcnBvcnROYW1lJyB8ICdkYXRlVGltZURlcGFydGluZycgfCAnZGF0ZVRpbWVEZXBhcnRpbmdVVEMnIHwgJ2RhdGVUaW1lQXJyaXZpbmcnIHwgJ2RhdGVUaW1lQXJyaXZpbmdVVEMnIHwgJ21hcmtldGluZ0NhcnJpZXInIHwgJ21hcmtldGluZ0NhcnJpZXJOYW1lJyB8ICdtYXJrZXRpbmdGbGlnaHROdW1iZXInIHwgJ29wZXJhdGluZ0NhcnJpZXInIHwgJ29wZXJhdGluZ0NhcnJpZXJOYW1lJyB8ICdvcGVyYXRpbmdGbGlnaHROdW1iZXInIHwgJ2VxdWlwbWVudENvZGUnIHwgJ2VxdWlwbWVudE5hbWUnIHwgJ3RvdGFsRHVyYXRpb24nIHwgJ2NhYmluQ2xhc3MnIHwgJ21hcmtldGluZ05hbWVzJyB8ICd2ZW5kb3JDb2RlJyB8ICdzdG9wcycgfCAnYm9va2luZ0NvZGUnIHwgJ21hcnJpYWdlR3JvdXAnIHwgJ2ZhcmVCYXNpc0NvZGUnIHwgJ2FkZGl0aW9uYWwnPlxuICAgICAgICAgICAgJiB7IGZhcmVJbmZvPzogTWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0U3BlY2lhbEZhcmVJbmZvJyB9XG4gICAgICAgICAgICAgICYgUGljazxGbGlnaHRTcGVjaWFsRmFyZUluZm8sICd0aXRsZScgfCAndHlwZScgfCAnY29kZScgfCAnc3VwcGxpZXJDb2RlJz5cbiAgICAgICAgICAgICk+LCBvcmlnaW5BaXJwb3J0RGV0YWlsOiAoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0RGV0YWlsJyB9XG4gICAgICAgICAgICAgICYgUGljazxBaXJwb3J0RGV0YWlsLCAnaWF0YScgfCAnaWNhbycgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdyb2FkJyB8ICdwb3B1bGFyaXR5JyB8ICdhcmVhJyB8ICdsb2NhdGlvbicgfCAnb2Zmc2V0JyB8ICdhaXJwb3J0TmFtZScgfCAnY291bnRyeU5hbWUnIHwgJ2NvdW50cnlDb2RlJyB8ICdwb3N0Y29kZSc+XG4gICAgICAgICAgICApLCBkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWw6IChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0FpcnBvcnREZXRhaWwnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEFpcnBvcnREZXRhaWwsICdpYXRhJyB8ICdpY2FvJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3JvYWQnIHwgJ3BvcHVsYXJpdHknIHwgJ2FyZWEnIHwgJ2xvY2F0aW9uJyB8ICdvZmZzZXQnIHwgJ2FpcnBvcnROYW1lJyB8ICdjb3VudHJ5TmFtZScgfCAnY291bnRyeUNvZGUnIHwgJ3Bvc3Rjb2RlJz5cbiAgICAgICAgICAgICksIG1hcmtldGluZ0NhcnJpZXJEZXRhaWw6IChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcnJpZXJEZXRhaWwnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcnJpZXJEZXRhaWwsICduYW1lJyB8ICdhbGlhcycgfCAnY2FsbHNpZ24nIHwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xvZ28nIHwgJ2Jhbm5lcicgfCAncG9wdWxhcml0eSc+XG4gICAgICAgICAgICApLCBvcGVyYXRpbmdDYXJyaWVyRGV0YWlsOiAoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJyaWVyRGV0YWlsJyB9XG4gICAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJyaWVyRGV0YWlsLCAnbmFtZScgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdsb2dvJyB8ICdiYW5uZXInIHwgJ3BvcHVsYXJpdHknPlxuICAgICAgICAgICAgKSwgZmFyZUNvbmRpdGlvbnM6IChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25zJyB9XG4gICAgICAgICAgICAgICYgeyBjYW5jZWxsYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICAgKT4+PiwgY2hhbmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICAgICk+Pj4sIG5vU2hvdz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgICApPj4+LCB1cGdyYWRlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICAgICk+Pj4sIG90aGVyPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICAgKSB9XG4gICAgICAgICAgKT4sIGluYm91bmRGbGlnaHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEpvdXJuZXknIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRKb3VybmV5LCAnb3JpZ2luQWlycG9ydCcgfCAnb3JpZ2luVGVybWluYWwnIHwgJ29yaWdpbkFpcnBvcnROYW1lJyB8ICdkZXN0aW5hdGlvbkFpcnBvcnQnIHwgJ2Rlc3RpbmF0aW9uVGVybWluYWwnIHwgJ2Rlc3RpbmF0aW9uQWlycG9ydE5hbWUnIHwgJ2RhdGVUaW1lRGVwYXJ0aW5nJyB8ICdkYXRlVGltZURlcGFydGluZ1VUQycgfCAnZGF0ZVRpbWVBcnJpdmluZycgfCAnZGF0ZVRpbWVBcnJpdmluZ1VUQycgfCAnbWFya2V0aW5nQ2FycmllcicgfCAnbWFya2V0aW5nQ2Fycmllck5hbWUnIHwgJ21hcmtldGluZ0ZsaWdodE51bWJlcicgfCAnb3BlcmF0aW5nQ2FycmllcicgfCAnb3BlcmF0aW5nQ2Fycmllck5hbWUnIHwgJ29wZXJhdGluZ0ZsaWdodE51bWJlcicgfCAnZXF1aXBtZW50Q29kZScgfCAnZXF1aXBtZW50TmFtZScgfCAndG90YWxEdXJhdGlvbicgfCAnY2FiaW5DbGFzcycgfCAnbWFya2V0aW5nTmFtZXMnIHwgJ3ZlbmRvckNvZGUnIHwgJ3N0b3BzJyB8ICdib29raW5nQ29kZScgfCAnbWFycmlhZ2VHcm91cCcgfCAnZmFyZUJhc2lzQ29kZScgfCAnYWRkaXRpb25hbCc+XG4gICAgICAgICAgICAmIHsgZmFyZUluZm8/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTcGVjaWFsRmFyZUluZm8nIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZsaWdodFNwZWNpYWxGYXJlSW5mbywgJ3RpdGxlJyB8ICd0eXBlJyB8ICdjb2RlJyB8ICdzdXBwbGllckNvZGUnPlxuICAgICAgICAgICAgKT4sIG9yaWdpbkFpcnBvcnREZXRhaWw6IChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0FpcnBvcnREZXRhaWwnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEFpcnBvcnREZXRhaWwsICdpYXRhJyB8ICdpY2FvJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3JvYWQnIHwgJ3BvcHVsYXJpdHknIHwgJ2FyZWEnIHwgJ2xvY2F0aW9uJyB8ICdvZmZzZXQnIHwgJ2FpcnBvcnROYW1lJyB8ICdjb3VudHJ5TmFtZScgfCAnY291bnRyeUNvZGUnIHwgJ3Bvc3Rjb2RlJz5cbiAgICAgICAgICAgICksIGRlc3RpbmF0aW9uQWlycG9ydERldGFpbDogKFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQWlycG9ydERldGFpbCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8QWlycG9ydERldGFpbCwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncm9hZCcgfCAncG9wdWxhcml0eScgfCAnYXJlYScgfCAnbG9jYXRpb24nIHwgJ29mZnNldCcgfCAnYWlycG9ydE5hbWUnIHwgJ2NvdW50cnlOYW1lJyB8ICdjb3VudHJ5Q29kZScgfCAncG9zdGNvZGUnPlxuICAgICAgICAgICAgKSwgbWFya2V0aW5nQ2FycmllckRldGFpbDogKFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FycmllckRldGFpbCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FycmllckRldGFpbCwgJ25hbWUnIHwgJ2FsaWFzJyB8ICdjYWxsc2lnbicgfCAnaWF0YScgfCAnaWNhbycgfCAnbG9nbycgfCAnYmFubmVyJyB8ICdwb3B1bGFyaXR5Jz5cbiAgICAgICAgICAgICksIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWw6IChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcnJpZXJEZXRhaWwnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcnJpZXJEZXRhaWwsICduYW1lJyB8ICdhbGlhcycgfCAnY2FsbHNpZ24nIHwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xvZ28nIHwgJ2Jhbm5lcicgfCAncG9wdWxhcml0eSc+XG4gICAgICAgICAgICApLCBmYXJlQ29uZGl0aW9uczogKFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnIH1cbiAgICAgICAgICAgICAgJiB7IGNhbmNlbGxhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgICApPj4+LCBjaGFuZ2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICAgKT4+Piwgbm9TaG93PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICAgICk+Pj4sIHVwZ3JhZGU/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICAgKT4+Piwgb3RoZXI/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgICApIH1cbiAgICAgICAgICApPj4+LCBvdXRib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJib25FbWlzc2lvbnMnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJib25FbWlzc2lvbnMsICdhbW91bnQnIHwgJ3VuaXQnPlxuICAgICAgICAgICk+LCBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcmJvbkVtaXNzaW9ucycgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcmJvbkVtaXNzaW9ucywgJ2Ftb3VudCcgfCAndW5pdCc+XG4gICAgICAgICAgKT4sIHRheGVzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEFtb3VudCcgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodEFtb3VudCwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICApPj4+LCBkaXNjb3VudHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0QW1vdW50JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0QW1vdW50LCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICAgICk+Pj4sIHRvdGFsOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0RmFyZVRvdGFsJyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0RmFyZVRvdGFsLCAncHJpY2UnIHwgJ3RheCcgfCAnZGlzY291bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICApLCBmYXJlQ29uZGl0aW9ucz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9ucycgfVxuICAgICAgICAgICAgJiB7IGNhbmNlbGxhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBjaGFuZ2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+Piwgbm9TaG93PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIHVwZ3JhZGU/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+Piwgb3RoZXI/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4sIGJhZ2dhZ2VBbGxvd2FuY2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQmFnZ2FnZUFsbG93YW5jZScgfVxuICAgICAgICAgICAgJiBQaWNrPEJhZ2dhZ2VBbGxvd2FuY2UsICd0eXBlJyB8ICdxdHknIHwgJ21heEtHJyB8ICdtYXhMQlMnPlxuICAgICAgICAgICk+Pj4gfVxuICAgICAgICApPiB9XG4gICAgICApPiwgZ3JvdXBlZD86IE1heWJlPEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0dyb3VwRmxpZ2h0cycgfVxuICAgICAgICAmIFBpY2s8R3JvdXBGbGlnaHRzLCAncmVmZXJlbmNlSUQnIHwgJ2ZsaWdodElEJyB8ICdib3VuZEluZGljYXRvcicgfCAnbWluUHJpY2UnIHwgJ21heFByaWNlJz5cbiAgICAgICAgJiB7IGZsaWdodHM6IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTWF0Y2hpbmdGbGlnaHRzJyB9XG4gICAgICAgICAgJiBQaWNrPE1hdGNoaW5nRmxpZ2h0cywgJ0xpdGVFY29ub215JyB8ICdFY29ub215UmVzdHJpY3RlZCcgfCAnRWNvbm9teU5vQmFncycgfCAnRWNvbm9teScgfCAnUHJlbWl1bUVjb25vbXknIHwgJ0J1c2luZXNzJyB8ICdQcmVtaXVtQnVzaW5lc3MnIHwgJ0ZpcnN0JyB8ICdQcmVtaXVtRmlyc3QnPlxuICAgICAgICApIH1cbiAgICAgICk+PiB9XG4gICAgKSwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoSG90ZWxDaGFpbnNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoSG90ZWxDaGFpbnNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgUGljazxRdWVyeSwgJ3NlYXJjaEhvdGVsQ2hhaW5zJz5cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaElybFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBzdXBwbGllcjogSXJsU3VwcGxpZXI7XG4gIGNvdW50cnlDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgam91cm5leVR5cGU6IElybEpvdXJuZXlUeXBlO1xuICBjbGFzcz86IE1heWJlPElybENsYXNzPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgZGVwYXJ0dXJlTG9jYXRpb25JZDogU2NhbGFyc1snSUQnXTtcbiAgYXJyaXZhbExvY2F0aW9uSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICByZXR1cm5EZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoSXJsUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoSVJMOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXJjaFJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSm91cm5leU9wdGlvbnMnIH1cbiAgICAgICYgUGljazxJcmxKb3VybmV5T3B0aW9ucywgJ3NvdXJjZScgfCAnc291cmNlSWQnPlxuICAgICAgJiB7IG91dGJvdW5kPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSm91cm5leU9wdGlvbicgfVxuICAgICAgICAmIFBpY2s8SXJsSm91cm5leU9wdGlvbiwgJ2Zyb20nIHwgJ2Zyb21Db2RlJyB8ICd0bycgfCAndG9Db2RlJyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ2NoYW5nZXMnIHwgJ3Vuc2VsbGFibGUnPlxuICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgJiBQaWNrPElybElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdzaWduYXR1cmUnIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICApPiwgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVHJhdmVsbGVyJyB9XG4gICAgICAgICAgJiBQaWNrPElybFRyYXZlbGxlciwgJ3N0YXR1cycgfCAnaWQnIHwgJ2RvYicgfCAncmFpbGNhcmQnIHwgJ2dpdmVuTmFtZScgfCAnc3VybmFtZScgfCAnbmFtZVRpdGxlJyB8ICdjb250YWN0SW5mbycgfCAnZGVsaXZlcnlFbWFpbEFkZHJlc3MnIHwgJ2ZhcmUnPlxuICAgICAgICApPj4sIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JyB9XG4gICAgICAgICAgJiBQaWNrPElybFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICYgeyBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgJiBQaWNrPElybFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdCcgfVxuICAgICAgICAgICAgJiBQaWNrPElybFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICk+PiB9XG4gICAgICAgICk+PiwgcHJvdmlkZXJzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxQcm92aWRlcicgfVxuICAgICAgICAgICYgUGljazxJcmxQcm92aWRlciwgJ3Byb3ZpZGVySWQnIHwgJ25hbWUnPlxuICAgICAgICAgICYgeyBjaGVhcGVzdFRpY2tldD86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZSc+XG4gICAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ3NpZ25hdHVyZScgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICAgICApPiwgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0LCAncHJpY2UnIHwgJ3R5cGUnIHwgJ3JvdXRlJyB8ICdudW1DaGlsZHJlbicgfCAnbnVtQWR1bHRzJz5cbiAgICAgICAgICAgICAgJiB7IHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPElybFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICAgICAgICYgeyBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdCcgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPiwgdGlja2V0T3B0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZSc+XG4gICAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ3NpZ25hdHVyZScgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICAgICApPiwgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0LCAncHJpY2UnIHwgJ3R5cGUnIHwgJ3JvdXRlJyB8ICdudW1DaGlsZHJlbicgfCAnbnVtQWR1bHRzJz5cbiAgICAgICAgICAgICAgJiB7IHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPElybFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICAgICAgICYgeyBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdCcgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPj4+LCBib29rZWRUaWNrZXQ/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0T3B0aW9uJyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0T3B0aW9uLCAndHlwZScgfCAnY2xhc3MnIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdwcmljZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnY3VycmVuY3knIHwgJ3JvdXRlJyB8ICdyb3V0ZUNvZGUnPlxuICAgICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdzaWduYXR1cmUnIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICAgICAgKT4sIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldCwgJ3ByaWNlJyB8ICd0eXBlJyB8ICdyb3V0ZScgfCAnbnVtQ2hpbGRyZW4nIHwgJ251bUFkdWx0cyc+XG4gICAgICAgICAgICAgICYgeyBzZWdtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VnbWVudCcgfVxuICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWdtZW50LCAnaWQnIHwgJ29wZXJhdG9yJyB8ICdkZXBhcnQnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdzZWF0UHJlZmVyZW5jZUdyb3VwJz5cbiAgICAgICAgICAgICAgICAmIHsgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0UHJlZmVyZW5jZVR5cGUnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0UHJlZmVyZW5jZVR5cGUsICduYW1lJyB8ICdhbGxvd2VkVmFsdWVzJz5cbiAgICAgICAgICAgICAgICApPj4sIHNlYXRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXQnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0LCAnbG9jYXRpb24nIHwgJ2NvYWNoJyB8ICdudW1iZXInIHwgJ2RpcmVjdGlvbicgfCAncG9zaXRpb24nIHwgJ2RlY2snIHwgJ3NlYXRUeXBlJyB8ICdzZWF0U2VsZWN0aW9uJyB8ICdmYWNpbGl0aWVzJyB8ICdub3RlJz5cbiAgICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4gfVxuICAgICAgICApPj4sIHRpY2tldEV4dHJhcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0RXh0cmEnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0RXh0cmEsICd0eXBlJyB8ICdsb2NhdGlvbicgfCAnZGF0ZScgfCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnYWR1bHRBbW91bnQnIHwgJ2NoaWxkQW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldEV4dHJhSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRFeHRyYUlkZW50aWZpZXJzLCAndHlwZScgfCAnbG9jYXRpb24nIHwgJ2RhdGUnIHwgJ2pvdXJuZXlJZCcgfCAnaXNPcmlnaW4nPlxuICAgICAgICAgICk+IH1cbiAgICAgICAgKT4+LCBwbHVzQnVzPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxQbHVzQnVzJyB9XG4gICAgICAgICAgJiBQaWNrPElybFBsdXNCdXMsICdvcmlnaW5QbHVzQnVzTkxDJyB8ICdvcmlnaW5TdGF0aW9uTkxDJyB8ICdkZXN0aW5hdGlvblBsdXNCdXNOTEMnIHwgJ2Rlc3RpbmF0aW9uU3RhdGlvbk5MQyc+XG4gICAgICAgICk+IH1cbiAgICAgICk+PiwgcmV0dXJuPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSm91cm5leU9wdGlvbicgfVxuICAgICAgICAmIFBpY2s8SXJsSm91cm5leU9wdGlvbiwgJ2Zyb20nIHwgJ2Zyb21Db2RlJyB8ICd0bycgfCAndG9Db2RlJyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ2NoYW5nZXMnIHwgJ3Vuc2VsbGFibGUnPlxuICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgJiBQaWNrPElybElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdzaWduYXR1cmUnIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICApPiwgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVHJhdmVsbGVyJyB9XG4gICAgICAgICAgJiBQaWNrPElybFRyYXZlbGxlciwgJ3N0YXR1cycgfCAnaWQnIHwgJ2RvYicgfCAncmFpbGNhcmQnIHwgJ2dpdmVuTmFtZScgfCAnc3VybmFtZScgfCAnbmFtZVRpdGxlJyB8ICdjb250YWN0SW5mbycgfCAnZGVsaXZlcnlFbWFpbEFkZHJlc3MnIHwgJ2ZhcmUnPlxuICAgICAgICApPj4sIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JyB9XG4gICAgICAgICAgJiBQaWNrPElybFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICYgeyBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgJiBQaWNrPElybFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdCcgfVxuICAgICAgICAgICAgJiBQaWNrPElybFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICk+PiB9XG4gICAgICAgICk+PiwgcHJvdmlkZXJzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxQcm92aWRlcicgfVxuICAgICAgICAgICYgUGljazxJcmxQcm92aWRlciwgJ3Byb3ZpZGVySWQnIHwgJ25hbWUnPlxuICAgICAgICAgICYgeyBjaGVhcGVzdFRpY2tldD86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZSc+XG4gICAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ3NpZ25hdHVyZScgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICAgICApPiwgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0LCAncHJpY2UnIHwgJ3R5cGUnIHwgJ3JvdXRlJyB8ICdudW1DaGlsZHJlbicgfCAnbnVtQWR1bHRzJz5cbiAgICAgICAgICAgICAgJiB7IHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPElybFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICAgICAgICYgeyBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdCcgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPiwgdGlja2V0T3B0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZSc+XG4gICAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ3NpZ25hdHVyZScgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICAgICApPiwgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0LCAncHJpY2UnIHwgJ3R5cGUnIHwgJ3JvdXRlJyB8ICdudW1DaGlsZHJlbicgfCAnbnVtQWR1bHRzJz5cbiAgICAgICAgICAgICAgJiB7IHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPElybFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICAgICAgICYgeyBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdCcgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPj4+LCBib29rZWRUaWNrZXQ/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0T3B0aW9uJyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0T3B0aW9uLCAndHlwZScgfCAnY2xhc3MnIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdwcmljZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnY3VycmVuY3knIHwgJ3JvdXRlJyB8ICdyb3V0ZUNvZGUnPlxuICAgICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdzaWduYXR1cmUnIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICAgICAgKT4sIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldCwgJ3ByaWNlJyB8ICd0eXBlJyB8ICdyb3V0ZScgfCAnbnVtQ2hpbGRyZW4nIHwgJ251bUFkdWx0cyc+XG4gICAgICAgICAgICAgICYgeyBzZWdtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VnbWVudCcgfVxuICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWdtZW50LCAnaWQnIHwgJ29wZXJhdG9yJyB8ICdkZXBhcnQnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdzZWF0UHJlZmVyZW5jZUdyb3VwJz5cbiAgICAgICAgICAgICAgICAmIHsgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0UHJlZmVyZW5jZVR5cGUnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0UHJlZmVyZW5jZVR5cGUsICduYW1lJyB8ICdhbGxvd2VkVmFsdWVzJz5cbiAgICAgICAgICAgICAgICApPj4sIHNlYXRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXQnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0LCAnbG9jYXRpb24nIHwgJ2NvYWNoJyB8ICdudW1iZXInIHwgJ2RpcmVjdGlvbicgfCAncG9zaXRpb24nIHwgJ2RlY2snIHwgJ3NlYXRUeXBlJyB8ICdzZWF0U2VsZWN0aW9uJyB8ICdmYWNpbGl0aWVzJyB8ICdub3RlJz5cbiAgICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4gfVxuICAgICAgICApPj4sIHRpY2tldEV4dHJhcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0RXh0cmEnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0RXh0cmEsICd0eXBlJyB8ICdsb2NhdGlvbicgfCAnZGF0ZScgfCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnYWR1bHRBbW91bnQnIHwgJ2NoaWxkQW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldEV4dHJhSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRFeHRyYUlkZW50aWZpZXJzLCAndHlwZScgfCAnbG9jYXRpb24nIHwgJ2RhdGUnIHwgJ2pvdXJuZXlJZCcgfCAnaXNPcmlnaW4nPlxuICAgICAgICAgICk+IH1cbiAgICAgICAgKT4+LCBwbHVzQnVzPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxQbHVzQnVzJyB9XG4gICAgICAgICAgJiBQaWNrPElybFBsdXNCdXMsICdvcmlnaW5QbHVzQnVzTkxDJyB8ICdvcmlnaW5TdGF0aW9uTkxDJyB8ICdkZXN0aW5hdGlvblBsdXNCdXNOTEMnIHwgJ2Rlc3RpbmF0aW9uU3RhdGlvbk5MQyc+XG4gICAgICAgICk+IH1cbiAgICAgICk+PiB9XG4gICAgKT4sIGVycm9yczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICAgICAmIEVycm9yc0ZyYWdtZW50XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBwb3N0Y29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hQb3N0Y29kZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRQb3N0Y29kZURldGFpbHM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUG9zdGNvZGVEZXRhaWxzJyB9XG4gICAgJiBQaWNrPFBvc3Rjb2RlRGV0YWlscywgJ3Bvc3Rjb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hSYWlsU3RhdGlvbnNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaFJhaWxTdGF0aW9uc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaFJhaWxTdGF0aW9uczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsU3RhdGlvbicgfVxuICAgICYgUGljazxSYWlsU3RhdGlvbiwgJ2lkJyB8ICduYW1lJyB8ICdzdGF0aW9uQ29kZScgfCAnbmxjQ29kZScgfCAndHJhaW5saW5lQ29kZScgfCAndHJhaW5saW5lVW5pcXVlQ29kZSc+XG4gICAgJiB7IGxvY2F0aW9uRGV0YWlscz86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbkRldGFpbCcgfVxuICAgICAgJiBQaWNrPExvY2F0aW9uRGV0YWlsLCAnY29udGluZW50JyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3Bvc3Rjb2RlJyB8ICdyb2FkJyB8ICdncmlkUmVmZXJlbmNlJyB8ICdub3J0aGluZycgfCAnZWFzdGluZyc+XG4gICAgICAmIHsgY29vcmRpbmF0ZXM/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdHZW9Db29yZGluYXRlcycgfVxuICAgICAgICAmIFBpY2s8R2VvQ29vcmRpbmF0ZXMsICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZSc+XG4gICAgICApPiB9XG4gICAgKT4gfVxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hVc2VyQWRkcmVzc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoVXNlckFkZHJlc3NRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyQWRkcmVzc2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnIH1cbiAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1NaUdyb3VwTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIGdyb3VwPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1NaUdyb3VwTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgc2V0QmFza2V0SXRlbU1JR3JvdXA6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICB1c2VyOiBTY2FsYXJzWydJRCddO1xuICB3aXRoU3VwcGxlbWVudGFsOiBTY2FsYXJzWydCb29sZWFuJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtTGVhZFBhc3Nlbmdlck11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtTWlWYWx1ZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBtaTogU2NhbGFyc1snSUQnXTtcbiAgbWlWYWx1ZT86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBtaUZyZWVWYWx1ZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdXNlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1NaVZhbHVlTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgc2V0QmFza2V0SXRlbU1JVmFsdWU6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIHBheW1lbnRNZXRob2Q6IFNjYWxhcnNbJ0lEJ107XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgVXBkYXRlQmFza2V0Tm90ZXNNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBub3RlczogU2NhbGFyc1snU3RyaW5nJ107XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgVXBkYXRlQmFza2V0Tm90ZXNNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyB1cGRhdGVCYXNrZXROb3RlczogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgVXBkYXRlQmFza2V0VGl0bGVNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBuZXdUaXRsZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgVXBkYXRlQmFza2V0VGl0bGVNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyB1cGRhdGVCYXNrZXRUaXRsZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgVXNlckZpZWxkc0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJyB8ICd1c2VybmFtZScgfCAnZW1wbG95ZWVJZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2RvYicgfCAnYWRtaW4nIHwgJ3RtY0FkbWluJyB8ICdjb21wYW55QWRtaW4nIHwgJ2Jvb2tlclR5cGUnIHwgJ2F1dGhNZXRob2RzJyB8ICdhY3RpdmUnIHwgJ3Bhc3N3b3JkTGFzdFVwZGF0ZWQnPlxuICAmIHsgc2VsZWN0ZWRMYW5ndWFnZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdMYW5ndWFnZScgfVxuICAgICYgUGljazxMYW5ndWFnZSwgJ2lkJyB8ICduYW1lJyB8ICdpc29Db2RlJz5cbiAgKSwgYXZhaWxhYmxlTGFuZ3VhZ2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xhbmd1YWdlJyB9XG4gICAgJiBQaWNrPExhbmd1YWdlLCAnaWQnIHwgJ25hbWUnIHwgJ2lzb0NvZGUnPlxuICApPiwgcGFzc3BvcnRzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Bhc3Nwb3J0JyB9XG4gICAgJiBQaWNrPFBhc3Nwb3J0LCAnaWQnIHwgJ251bWJlcicgfCAnY29kZU9mSXNzdWluZ1N0YXRlJyB8ICduYXRpb25hbGl0eScgfCAnc2V4JyB8ICdkb2InIHwgJ3N1cm5hbWUnIHwgJ2dpdmVuTmFtZXMnIHwgJ2RhdGVPZklzc3VlJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICk+LCBhZGRyZXNzZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWRkcmVzcycgfVxuICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgKT4sIHBob25lTnVtYmVyczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdQaG9uZU51bWJlcicgfVxuICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyU2VydmljZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJTZXJ2aWNlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJTZXJ2aWNlczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdTZXJ2aWNlJyB9XG4gICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAnY2FuY2VsbGFibGUnIHwgJ2FtZW5kYWJsZScgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ2RldGFpbFNjaGVtYScgfCAnc2VhcmNoUXVlcnlTY2hlbWEnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyVWlDb25maWdzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyVWlDb25maWdzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlclVJQ29uZmlnczogKFxuICAgIHsgX190eXBlbmFtZT86ICdVSUNvbmZpZ0NvbGxlY3Rpb24nIH1cbiAgICAmIHsgYWxsOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVUlDb25maWcnIH1cbiAgICAgICYgUGljazxVaUNvbmZpZywgJ2lkJyB8ICdjb25maWcnIHwgJ2tleSc+XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJNZXNzYWdlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlck1lc3NhZ2VzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlck1lc3NhZ2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ01lc3NhZ2UnIH1cbiAgICAmIFBpY2s8TWVzc2FnZSwgJ2lkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnY29uZmlnJyB8ICd0YXJnZXQnIHwgJ2tleSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJQaG9uZU51bWJlcnNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJQaG9uZU51bWJlcnNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyUGhvbmVOdW1iZXJzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Bob25lTnVtYmVyJyB9XG4gICAgJiBQaWNrPFBob25lTnVtYmVyLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb3VudHJ5Q29kZScgfCAnYXJlYUNvZGUnIHwgJ251bWJlcicgfCAnZXh0ZW5zaW9uJyB8ICd0eXBlJyB8ICdvZmZpY2VQcmltYXJ5JyB8ICd1c2VyUHJpbWFyeSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFNldFVzZXJMYW5ndWFnZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBsYW5ndWFnZT86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2V0VXNlckxhbmd1YWdlTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgc2V0VXNlckxhbmd1YWdlOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAmIFBpY2s8VXNlciwgJ2lkJz5cbiAgICAmIHsgc2VsZWN0ZWRMYW5ndWFnZTogKFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0xhbmd1YWdlJyB9XG4gICAgICAmIFBpY2s8TGFuZ3VhZ2UsICdpZCcgfCAnbmFtZSc+XG4gICAgKSB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlclF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlclF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXI6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICYgVXNlckZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoVXNlckNhbkJvb2tGb3JRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgZW1haWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVzZXJOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlbXBsb3llZUlkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoVXNlckNhbkJvb2tGb3JRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hVc2VyQ2FuQm9va0ZvcjogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgJiBQaWNrPFVzZXIsICdpZCcgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgVmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbWk6IFNjYWxhcnNbJ0lEJ107XG4gIGZyZWVWYWx1ZTogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiBQaWNrPFF1ZXJ5LCAndmFsaWRhdGVVc2VyTUlGcmVlVmFsdWUnPlxuKTtcblxuZXhwb3J0IG5hbWVzcGFjZSBBY2NlcHROZXdQcmljZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEFjY2VwdE5ld1ByaWNlTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQWNjZXB0TmV3UHJpY2VNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgQWNjZXB0TmV3UHJpY2UgPSBBY2NlcHROZXdQcmljZU11dGF0aW9uWydhY2NlcHROZXdQcmljZSddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEFkZFVzZXJzVG9CYXNrZXRJdGVtIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQWRkVXNlcnNUb0Jhc2tldEl0ZW1NdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBBZGRVc2Vyc1RvQmFza2V0SXRlbU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBBZGRVc2Vyc1RvQmFza2V0SXRlbSA9IEFkZFVzZXJzVG9CYXNrZXRJdGVtTXV0YXRpb25bJ2FkZFVzZXJzVG9CYXNrZXRJdGVtJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVHJhdmVsbGVyRmllbGRzIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBUcmF2ZWxsZXJGaWVsZHNGcmFnbWVudDtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBPd25lckZpZWxkcyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gT3duZXJGaWVsZHNGcmFnbWVudDtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBCYXNrZXRGaWVsZHMge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IEJhc2tldEZpZWxkc0ZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBPd25lciA9IEJhc2tldEZpZWxkc0ZyYWdtZW50Wydvd25lciddO1xuICBleHBvcnQgdHlwZSBCYXNrZXRJdGVtcyA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEF2YWlsYWJsZVBheW1lbnRNZXRob2RzID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnYXZhaWxhYmxlUGF5bWVudE1ldGhvZHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZWxlY3RlZFBheW1lbnRNZXRob2QgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydzZWxlY3RlZFBheW1lbnRNZXRob2QnXTtcbiAgZXhwb3J0IHR5cGUgU2VydmljZSA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3NlcnZpY2UnXTtcbiAgZXhwb3J0IHR5cGUgVXNlcnMgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFVzZXJQYXNzZW5nZXJUeXBlcyA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJQYXNzZW5nZXJUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIExlYWRQYXNzZW5nZXIgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydsZWFkUGFzc2VuZ2VyJ107XG4gIGV4cG9ydCB0eXBlIE1hbmFnZW1lbnRJbmZvID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBGaXhlZFZhbHVlID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydmaXhlZFZhbHVlJ107XG4gIGV4cG9ydCB0eXBlIERlZmF1bHRWYWx1ZSA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnZGVmYXVsdFZhbHVlJ107XG4gIGV4cG9ydCB0eXBlIFZhbHVlcyA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsndmFsdWVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VsZWN0ZWRWYWx1ZXMgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVmFsdWUgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXVsndmFsdWUnXTtcbiAgZXhwb3J0IHR5cGUgVXNlciA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnc2VsZWN0ZWRWYWx1ZXMnXVtudW1iZXJdWyd1c2VyJ107XG4gIGV4cG9ydCB0eXBlIENvbXBhbnlHcm91cCA9IEJhc2tldEZpZWxkc0ZyYWdtZW50Wydjb21wYW55R3JvdXAnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyQmFza2V0cyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJCYXNrZXRzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlckJhc2tldHNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlckJhc2tldHMgPSBHZXRVc2VyQmFza2V0c1F1ZXJ5WydnZXRVc2VyQmFza2V0cyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlQmFza2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlQmFza2V0TXV0YXRpb247XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlQmFza2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ3JlYXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlQmFza2V0TXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIENyZWF0ZUJhc2tldCA9IENyZWF0ZUJhc2tldE11dGF0aW9uWydjcmVhdGVCYXNrZXQnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBSZW1vdmVJdGVtRnJvbUJhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFJlbW92ZUl0ZW1Gcm9tQmFza2V0TXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gUmVtb3ZlSXRlbUZyb21CYXNrZXRNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgUmVtb3ZlSXRlbUZyb21CYXNrZXQgPSBSZW1vdmVJdGVtRnJvbUJhc2tldE11dGF0aW9uWydyZW1vdmVJdGVtRnJvbUJhc2tldCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlbmRCYXNrZXRGb3JBcHByb3ZhbCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlbmRCYXNrZXRGb3JBcHByb3ZhbE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNlbmRCYXNrZXRGb3JBcHByb3ZhbE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTZW5kQmFza2V0Rm9yQXBwcm92YWwgPSBTZW5kQmFza2V0Rm9yQXBwcm92YWxNdXRhdGlvblsnc2VuZEJhc2tldEZvckFwcHJvdmFsJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQWRkSXRlbVRvQmFza2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQWRkSXRlbVRvQmFza2V0TXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQWRkSXRlbVRvQmFza2V0TXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIEFkZEl0ZW1Ub0Jhc2tldCA9IEFkZEl0ZW1Ub0Jhc2tldE11dGF0aW9uWydhZGRJdGVtVG9CYXNrZXQnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyQmFza2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlckJhc2tldFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJCYXNrZXRRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlckJhc2tldCA9IEdldFVzZXJCYXNrZXRRdWVyeVsnZ2V0VXNlckJhc2tldCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFJldmFsaWRhdGVCYXNrZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBSZXZhbGlkYXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gUmV2YWxpZGF0ZUJhc2tldE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBSZXZhbGlkYXRlQmFza2V0ID0gUmV2YWxpZGF0ZUJhc2tldE11dGF0aW9uWydyZXZhbGlkYXRlQmFza2V0J107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQm9va0Jhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEJvb2tCYXNrZXRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBCb29rQmFza2V0TXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIEJvb2tCYXNrZXQgPSBCb29rQmFza2V0TXV0YXRpb25bJ2Jvb2tCYXNrZXQnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hDYWJIaXJlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoQ2FiSGlyZVF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaENhYkhpcmVRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoQ2FiSGlyZSA9IFNlYXJjaENhYkhpcmVRdWVyeVsnc2VhcmNoQ2FiSGlyZSddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gU2VhcmNoQ2FiSGlyZVF1ZXJ5WydzZWFyY2hDYWJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBGcm9tTG9jYXRpb24gPSBTZWFyY2hDYWJIaXJlUXVlcnlbJ3NlYXJjaENhYkhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Zyb21Mb2NhdGlvbiddO1xuICBleHBvcnQgdHlwZSBUb0xvY2F0aW9uID0gU2VhcmNoQ2FiSGlyZVF1ZXJ5WydzZWFyY2hDYWJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0b0xvY2F0aW9uJ107XG4gIGV4cG9ydCB0eXBlIFZpYXMgPSBTZWFyY2hDYWJIaXJlUXVlcnlbJ3NlYXJjaENhYkhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ3ZpYXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hDYWJIaXJlUXVlcnlbJ3NlYXJjaENhYkhpcmUnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeTtcbiAgZXhwb3J0IHR5cGUgQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QgPSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5WydjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCddO1xuICBleHBvcnQgdHlwZSBJZGVudGlmaWVycyA9IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlbJ2NhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0J11bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIFZlbmRvciA9IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlbJ2NhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0J11bJ3ZlbmRvciddO1xuICBleHBvcnQgdHlwZSBBZGRyZXNzID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVsnY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QnXVsnYWRkcmVzcyddO1xuICBleHBvcnQgdHlwZSBBZGRpdGlvbmFsSW5mbyA9IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlbJ2NhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0J11bJ2FkZGl0aW9uYWxJbmZvJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ3VzdG9tID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVsnY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QnXVsnYWRkaXRpb25hbEluZm8nXVtudW1iZXJdWydjdXN0b20nXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaENhckhpcmUge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hDYXJIaXJlUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoQ2FySGlyZVF1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hDYXJIaXJlID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIElkZW50aWZpZXJzID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBEaXNwbGF5UmVjb3JkID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ107XG4gIGV4cG9ydCB0eXBlIFZlbmRvciA9IFNlYXJjaENhckhpcmVRdWVyeVsnc2VhcmNoQ2FySGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsnZGlzcGxheVJlY29yZCddWyd2ZW5kb3InXTtcbiAgZXhwb3J0IHR5cGUgVmVoaWNsZSA9IFNlYXJjaENhckhpcmVRdWVyeVsnc2VhcmNoQ2FySGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsnZGlzcGxheVJlY29yZCddWyd2ZWhpY2xlJ107XG4gIGV4cG9ydCB0eXBlIENoYXJnZXMgPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc3BsYXlSZWNvcmQnXVsnY2hhcmdlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFBpY2t1cExvY2F0aW9uID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ3BpY2t1cExvY2F0aW9uJ107XG4gIGV4cG9ydCB0eXBlIFJldHVybkxvY2F0aW9uID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ3JldHVybkxvY2F0aW9uJ107XG4gIGV4cG9ydCB0eXBlIEFkZGl0aW9uYWxJbmZvID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ2FkZGl0aW9uYWxJbmZvJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ3VzdG9tID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ2FkZGl0aW9uYWxJbmZvJ11bbnVtYmVyXVsnY3VzdG9tJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlUmVjZW50U2VhcmNoIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlUmVjZW50U2VhcmNoTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlUmVjZW50U2VhcmNoTXV0YXRpb247XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlVXNlckFkZHJlc3Mge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVVc2VyQWRkcmVzc011dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZVVzZXJBZGRyZXNzTXV0YXRpb247XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRXJyb3JzIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBFcnJvcnNGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgU2VydmljZSA9IEVycm9yc0ZyYWdtZW50WydzZXJ2aWNlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR3JvdXBlZEZpZWxkcyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gR3JvdXBlZEZpZWxkc0ZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBGbGlnaHRzID0gR3JvdXBlZEZpZWxkc0ZyYWdtZW50WydmbGlnaHRzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoRmxpZ2h0c1YyIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaEZsaWdodHNWMiA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddO1xuICBleHBvcnQgdHlwZSBKb3VybmV5cyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kRmxpZ2h0cyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE9yaWdpbkFpcnBvcnREZXRhaWwgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydvcmlnaW5BaXJwb3J0RGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIERlc3RpbmF0aW9uQWlycG9ydERldGFpbCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2Rlc3RpbmF0aW9uQWlycG9ydERldGFpbCddO1xuICBleHBvcnQgdHlwZSBNYXJrZXRpbmdDYXJyaWVyRGV0YWlsID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnbWFya2V0aW5nQ2FycmllckRldGFpbCddO1xuICBleHBvcnQgdHlwZSBPcGVyYXRpbmdDYXJyaWVyRGV0YWlsID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnb3BlcmF0aW5nQ2FycmllckRldGFpbCddO1xuICBleHBvcnQgdHlwZSBGYXJlQ29uZGl0aW9ucyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ107XG4gIGV4cG9ydCB0eXBlIENhbmNlbGxhdGlvbiA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NhbmNlbGxhdGlvbiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIENoYW5nZSA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE5vU2hvdyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ25vU2hvdyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFVwZ3JhZGUgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWyd1cGdyYWRlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3RoZXIgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEluYm91bmRGbGlnaHRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfT3JpZ2luQWlycG9ydERldGFpbCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnb3JpZ2luQWlycG9ydERldGFpbCddO1xuICBleHBvcnQgdHlwZSBfRGVzdGluYXRpb25BaXJwb3J0RGV0YWlsID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX01hcmtldGluZ0NhcnJpZXJEZXRhaWwgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ21hcmtldGluZ0NhcnJpZXJEZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX09wZXJhdGluZ0NhcnJpZXJEZXRhaWwgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ29wZXJhdGluZ0NhcnJpZXJEZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX0ZhcmVDb25kaXRpb25zID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddO1xuICBleHBvcnQgdHlwZSBfQ2FuY2VsbGF0aW9uID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjYW5jZWxsYXRpb24nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfQ2hhbmdlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjaGFuZ2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfTm9TaG93ID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydub1Nob3cnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfVXBncmFkZSA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsndXBncmFkZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9PdGhlciA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnb3RoZXInXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPdXRib3VuZENhcmJvbkVtaXNzaW9ucyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kQ2FyYm9uRW1pc3Npb25zJ107XG4gIGV4cG9ydCB0eXBlIEluYm91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kQ2FyYm9uRW1pc3Npb25zJ107XG4gIGV4cG9ydCB0eXBlIFRheGVzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsndGF4ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBEaXNjb3VudHMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydkaXNjb3VudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUb3RhbCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ3RvdGFsJ107XG4gIGV4cG9ydCB0eXBlIF9fRmFyZUNvbmRpdGlvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddO1xuICBleHBvcnQgdHlwZSBfX0NhbmNlbGxhdGlvbiA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NhbmNlbGxhdGlvbiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fQ2hhbmdlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2hhbmdlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19Ob1Nob3cgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydub1Nob3cnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1VwZ3JhZGUgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWyd1cGdyYWRlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19PdGhlciA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ290aGVyJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQmFnZ2FnZUFsbG93YW5jZSA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2JhZ2dhZ2VBbGxvd2FuY2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBNdWx0aSA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9SZXN1bHRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9PdXRib3VuZEZsaWdodHMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19PcmlnaW5BaXJwb3J0RGV0YWlsID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ29yaWdpbkFpcnBvcnREZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX19EZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIF9fTWFya2V0aW5nQ2FycmllckRldGFpbCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydtYXJrZXRpbmdDYXJyaWVyRGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIF9fT3BlcmF0aW5nQ2FycmllckRldGFpbCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydvcGVyYXRpbmdDYXJyaWVyRGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIF9fX0ZhcmVDb25kaXRpb25zID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ107XG4gIGV4cG9ydCB0eXBlIF9fX0NhbmNlbGxhdGlvbiA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjYW5jZWxsYXRpb24nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19DaGFuZ2UgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2hhbmdlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fTm9TaG93ID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ25vU2hvdyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX1VwZ3JhZGUgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsndXBncmFkZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX090aGVyID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ290aGVyJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0luYm91bmRGbGlnaHRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fT3JpZ2luQWlycG9ydERldGFpbCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ29yaWdpbkFpcnBvcnREZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX19fRGVzdGluYXRpb25BaXJwb3J0RGV0YWlsID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIF9fX01hcmtldGluZ0NhcnJpZXJEZXRhaWwgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydtYXJrZXRpbmdDYXJyaWVyRGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIF9fX09wZXJhdGluZ0NhcnJpZXJEZXRhaWwgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydvcGVyYXRpbmdDYXJyaWVyRGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIF9fX19GYXJlQ29uZGl0aW9ucyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ107XG4gIGV4cG9ydCB0eXBlIF9fX19DYW5jZWxsYXRpb24gPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjYW5jZWxsYXRpb24nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fQ2hhbmdlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2hhbmdlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX05vU2hvdyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ25vU2hvdyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19VcGdyYWRlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsndXBncmFkZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19PdGhlciA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ290aGVyJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX091dGJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kQ2FyYm9uRW1pc3Npb25zJ107XG4gIGV4cG9ydCB0eXBlIF9JbmJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgX1RheGVzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ3RheGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0Rpc2NvdW50cyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNjb3VudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfVG90YWwgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsndG90YWwnXTtcbiAgZXhwb3J0IHR5cGUgX19fX19GYXJlQ29uZGl0aW9ucyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddO1xuICBleHBvcnQgdHlwZSBfX19fX0NhbmNlbGxhdGlvbiA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjYW5jZWxsYXRpb24nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX0NoYW5nZSA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjaGFuZ2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX05vU2hvdyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydub1Nob3cnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX1VwZ3JhZGUgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsndXBncmFkZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fT3RoZXIgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnb3RoZXInXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfQmFnZ2FnZUFsbG93YW5jZSA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydiYWdnYWdlQWxsb3dhbmNlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgR3JvdXBlZCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydncm91cGVkJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldENhckhpcmVEZXBvdHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDYXJIaXJlRGVwb3RzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q2FySGlyZURlcG90c1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRDYXJIaXJlRGVwb3RzID0gR2V0Q2FySGlyZURlcG90c1F1ZXJ5WydnZXRDYXJIaXJlRGVwb3RzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb25mZXJtYU9mZmljZU5hbWVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFPZmZpY2VOYW1lcyA9IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNRdWVyeVsnZ2V0Q29uZmVybWFPZmZpY2VOYW1lcyddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gR2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5WydnZXRDb25mZXJtYU9mZmljZU5hbWVzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlTmFtZXMnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb25mZXJtYVF1aWNrbGlzdCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFRdWlja2xpc3QgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2xvY2F0aW9uJ107XG4gIGV4cG9ydCB0eXBlIEFkZHJlc3MgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYWRkcmVzcyddO1xuICBleHBvcnQgdHlwZSBUcmFuc3BvcnRzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ3RyYW5zcG9ydHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQcmVmZXJyZWQgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsncHJlZmVycmVkJ107XG4gIGV4cG9ydCB0eXBlIFRhZ3MgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsndGFncyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEF2YWlsYWJsZVJhdGVzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ107XG4gIGV4cG9ydCB0eXBlIFJvb21zID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ3VycmVuY3lDb252ZXJzaW9uID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsnY3VycmVuY3lDb252ZXJzaW9uJ107XG4gIGV4cG9ydCB0eXBlIERlcG9zaXQgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdWydkZXBvc2l0J107XG4gIGV4cG9ydCB0eXBlIE5pZ2h0cyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ25pZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFBvbGljaWVzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsncG9saWNpZXMnXTtcbiAgZXhwb3J0IHR5cGUgVGF4ID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsndGF4J107XG4gIGV4cG9ydCB0eXBlIEFjY2VwdGVkQ2FyZHMgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdWydhY2NlcHRlZENhcmRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUGF5bWVudFR5cGVzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsncGF5bWVudFR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRSYWlsU3RhdGlvbiB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFJhaWxTdGF0aW9uUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0UmFpbFN0YXRpb25RdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0UmFpbFN0YXRpb24gPSBHZXRSYWlsU3RhdGlvblF1ZXJ5WydnZXRSYWlsU3RhdGlvbiddO1xuICBleHBvcnQgdHlwZSBMb2NhdGlvbkRldGFpbHMgPSBHZXRSYWlsU3RhdGlvblF1ZXJ5WydnZXRSYWlsU3RhdGlvbiddWydsb2NhdGlvbkRldGFpbHMnXTtcbiAgZXhwb3J0IHR5cGUgQ29vcmRpbmF0ZXMgPSBHZXRSYWlsU3RhdGlvblF1ZXJ5WydnZXRSYWlsU3RhdGlvbiddWydsb2NhdGlvbkRldGFpbHMnXVsnY29vcmRpbmF0ZXMnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRSYWlsY2FyZHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRSYWlsY2FyZHNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRSYWlsY2FyZHNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0UmFpbGNhcmRzID0gR2V0UmFpbGNhcmRzUXVlcnlbJ2dldFJhaWxjYXJkcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0Umlza0FsZXJ0cyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFJpc2tBbGVydHNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRSaXNrQWxlcnRzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFJpc2tBbGVydHMgPSBHZXRSaXNrQWxlcnRzUXVlcnlbJ2dldFJpc2tBbGVydHMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJBZGRyZXNzZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyQWRkcmVzc2VzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlckFkZHJlc3Nlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyQWRkcmVzc2VzID0gR2V0VXNlckFkZHJlc3Nlc1F1ZXJ5WydnZXRVc2VyQWRkcmVzc2VzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyQ29tcGFueU9mZmljZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyQ29tcGFueU9mZmljZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyQ29tcGFueU9mZmljZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlckNvbXBhbnlPZmZpY2VzID0gR2V0VXNlckNvbXBhbnlPZmZpY2VzUXVlcnlbJ2dldFVzZXJDb21wYW55T2ZmaWNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFkZHJlc3NlcyA9IEdldFVzZXJDb21wYW55T2ZmaWNlc1F1ZXJ5WydnZXRVc2VyQ29tcGFueU9mZmljZXMnXVtudW1iZXJdWydhZGRyZXNzZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlbJ2dldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlJ107XG4gIGV4cG9ydCB0eXBlIENvbXBhbnkgPSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5WydnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSddWydjb21wYW55J107XG4gIGV4cG9ydCB0eXBlIE9mZmljZSA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlbJ2dldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlJ11bJ29mZmljZSddO1xuICBleHBvcnQgdHlwZSBVc2VyID0gR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeVsnZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2UnXVsndXNlciddO1xuICBleHBvcnQgdHlwZSBQZXJpb2RDb25zdW1wdGlvbiA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlbJ2dldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlJ11bJ3BlcmlvZENvbnN1bXB0aW9uJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXMgPSBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc1F1ZXJ5WydnZXRVc2VyTUlBdXRvU3VnZ2VzdFZhbHVlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlclBob25lIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlclBob25lUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlclBob25lUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJQaG9uZU51bWJlcnMgPSBHZXRVc2VyUGhvbmVRdWVyeVsnZ2V0VXNlclBob25lTnVtYmVycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlclJlY2VudFNlYXJjaGVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlclJlY2VudFNlYXJjaGVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlclJlY2VudFNlYXJjaGVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJSZWNlbnRTZWFyY2hlcyA9IEdldFVzZXJSZWNlbnRTZWFyY2hlc1F1ZXJ5WydnZXRVc2VyUmVjZW50U2VhcmNoZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUcmF2ZWxsZXJzID0gR2V0VXNlclJlY2VudFNlYXJjaGVzUXVlcnlbJ2dldFVzZXJSZWNlbnRTZWFyY2hlcyddW251bWJlcl1bJ3RyYXZlbGxlcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaEhvdGVscyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaEhvdGVsc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaEhvdGVsc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hIb3RlbHMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMb2NhdGlvbiA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ2xvY2F0aW9uJ107XG4gIGV4cG9ydCB0eXBlIEFkZHJlc3MgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhZGRyZXNzJ107XG4gIGV4cG9ydCB0eXBlIFRyYW5zcG9ydHMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0cmFuc3BvcnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUHJlZmVycmVkID0gU2VhcmNoSG90ZWxzUXVlcnlbJ3NlYXJjaEhvdGVscyddWydyZXN1bHRzJ11bbnVtYmVyXVsncHJlZmVycmVkJ107XG4gIGV4cG9ydCB0eXBlIFRhZ3MgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0YWdzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQXZhaWxhYmxlUmF0ZXMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddO1xuICBleHBvcnQgdHlwZSBSb29tcyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ3VycmVuY3lDb252ZXJzaW9uID0gU2VhcmNoSG90ZWxzUXVlcnlbJ3NlYXJjaEhvdGVscyddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdWydjdXJyZW5jeUNvbnZlcnNpb24nXTtcbiAgZXhwb3J0IHR5cGUgRGVwb3NpdCA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsnZGVwb3NpdCddO1xuICBleHBvcnQgdHlwZSBOaWdodHMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ25pZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFBvbGljaWVzID0gU2VhcmNoSG90ZWxzUXVlcnlbJ3NlYXJjaEhvdGVscyddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdWydwb2xpY2llcyddO1xuICBleHBvcnQgdHlwZSBUYXggPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ3RheCddO1xuICBleHBvcnQgdHlwZSBBY2NlcHRlZENhcmRzID0gU2VhcmNoSG90ZWxzUXVlcnlbJ3NlYXJjaEhvdGVscyddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdWydhY2NlcHRlZENhcmRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUGF5bWVudFR5cGVzID0gU2VhcmNoSG90ZWxzUXVlcnlbJ3NlYXJjaEhvdGVscyddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdWydwYXltZW50VHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ2Vycm9ycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlcnZpY2UgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ2Vycm9ycyddW251bWJlcl1bJ3NlcnZpY2UnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHkgPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5WydnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeVsnZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHknXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFJvb21zID0gR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeVsnZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHknXVsncmVzdWx0cyddW251bWJlcl1bJ3Jvb21zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ3VycmVuY3lDb252ZXJzaW9uID0gR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeVsnZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHknXVsncmVzdWx0cyddW251bWJlcl1bJ3Jvb21zJ11bbnVtYmVyXVsnY3VycmVuY3lDb252ZXJzaW9uJ107XG4gIGV4cG9ydCB0eXBlIERlcG9zaXQgPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5WydnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSddWydyZXN1bHRzJ11bbnVtYmVyXVsncm9vbXMnXVtudW1iZXJdWydkZXBvc2l0J107XG4gIGV4cG9ydCB0eXBlIE5pZ2h0cyA9IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnlbJ2dldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyb29tcyddW251bWJlcl1bJ25pZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFBvbGljaWVzID0gR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeVsnZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHknXVsncmVzdWx0cyddW251bWJlcl1bJ3Jvb21zJ11bbnVtYmVyXVsncG9saWNpZXMnXTtcbiAgZXhwb3J0IHR5cGUgVGF4ID0gR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeVsnZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHknXVsncmVzdWx0cyddW251bWJlcl1bJ3Jvb21zJ11bbnVtYmVyXVsndGF4J107XG4gIGV4cG9ydCB0eXBlIEFjY2VwdGVkQ2FyZHMgPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5WydnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSddWydyZXN1bHRzJ11bbnVtYmVyXVsncm9vbXMnXVtudW1iZXJdWydhY2NlcHRlZENhcmRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUGF5bWVudFR5cGVzID0gR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeVsnZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHknXVsncmVzdWx0cyddW251bWJlcl1bJ3Jvb21zJ11bbnVtYmVyXVsncGF5bWVudFR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeVsnZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHknXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBJc1Bvc3Rjb2RlVmFsaWQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBJc1Bvc3Rjb2RlVmFsaWRRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBJc1Bvc3Rjb2RlVmFsaWRRdWVyeTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBMb2NhdGlvbl9EZXRhaWwge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IExvY2F0aW9uX0RldGFpbEZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBDb29yZGluYXRlcyA9IExvY2F0aW9uX0RldGFpbEZyYWdtZW50Wydjb29yZGluYXRlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaEFpcnBvcnRzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoQWlycG9ydHNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hBaXJwb3J0c1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hBaXJwb3J0cyA9IFNlYXJjaEFpcnBvcnRzUXVlcnlbJ3NlYXJjaEFpcnBvcnRzJ107XG4gIGV4cG9ydCB0eXBlIElhdGFNYXRjaCA9IFNlYXJjaEFpcnBvcnRzUXVlcnlbJ3NlYXJjaEFpcnBvcnRzJ11bJ2lhdGFNYXRjaCddO1xuICBleHBvcnQgdHlwZSBMb2NhdGlvbkRldGFpbHMgPSBTZWFyY2hBaXJwb3J0c1F1ZXJ5WydzZWFyY2hBaXJwb3J0cyddWydpYXRhTWF0Y2gnXVsnbG9jYXRpb25EZXRhaWxzJ107XG4gIGV4cG9ydCB0eXBlIEdlbmVyYWxNYXRjaGVzID0gU2VhcmNoQWlycG9ydHNRdWVyeVsnc2VhcmNoQWlycG9ydHMnXVsnZ2VuZXJhbE1hdGNoZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfTG9jYXRpb25EZXRhaWxzID0gU2VhcmNoQWlycG9ydHNRdWVyeVsnc2VhcmNoQWlycG9ydHMnXVsnZ2VuZXJhbE1hdGNoZXMnXVtudW1iZXJdWydsb2NhdGlvbkRldGFpbHMnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hMb3VuZ2VzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoTG91bmdlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaExvdW5nZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoTG91bmdlcyA9IFNlYXJjaExvdW5nZXNRdWVyeVsnc2VhcmNoTG91bmdlcyddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gU2VhcmNoTG91bmdlc1F1ZXJ5WydzZWFyY2hMb3VuZ2VzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMb3VuZ2UgPSBTZWFyY2hMb3VuZ2VzUXVlcnlbJ3NlYXJjaExvdW5nZXMnXVsncmVzdWx0cyddW251bWJlcl1bJ2xvdW5nZSddO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hMb3VuZ2VzUXVlcnlbJ3NlYXJjaExvdW5nZXMnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0TXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXRNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXQgPSBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldE11dGF0aW9uWydtb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaFBhcmtpbmcge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hQYXJraW5nUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoUGFya2luZ1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hQYXJraW5nID0gU2VhcmNoUGFya2luZ1F1ZXJ5WydzZWFyY2hQYXJraW5nJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hQYXJraW5nUXVlcnlbJ3NlYXJjaFBhcmtpbmcnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIENhclBhcmsgPSBTZWFyY2hQYXJraW5nUXVlcnlbJ3NlYXJjaFBhcmtpbmcnXVsncmVzdWx0cyddW251bWJlcl1bJ2NhclBhcmsnXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoUGFya2luZ1F1ZXJ5WydzZWFyY2hQYXJraW5nJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoUmFpbCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaFJhaWxRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hSYWlsUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaFJhaWwgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3V0Ym91bmQgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgSWRlbnRpZmllcnMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgVHJhdmVsbGVycyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWyd0cmF2ZWxsZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VnbWVudHMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZWF0UHJlZmVyZW5jZVR5cGVzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlYXRzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDYWxsaW5nUG9pbnRzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnY2FsbGluZ1BvaW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFByb3ZpZGVycyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDaGVhcGVzdFRpY2tldCA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddO1xuICBleHBvcnQgdHlwZSBfSWRlbnRpZmllcnMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgVGVybXMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGVybXMnXTtcbiAgZXhwb3J0IHR5cGUgRHluYW1pY0NvbmRpdGlvbnMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGVybXMnXVsnZHluYW1pY0NvbmRpdGlvbnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUaWNrZXRzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfU2VnbWVudHMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVGlja2V0UXVldWVMaXN0ID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ3RpY2tldFF1ZXVlTGlzdCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFjY291bnRzTGlzdCA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWydhY2NvdW50c0xpc3QnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUaWNrZXRPcHRpb25zID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX0lkZW50aWZpZXJzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBBbGxvd2VkV2l0aCA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXVsnYWxsb3dlZFdpdGgnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfVGVybXMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3Rlcm1zJ107XG4gIGV4cG9ydCB0eXBlIF9UaWNrZXRzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1RpY2tldFF1ZXVlTGlzdCA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsndGlja2V0UXVldWVMaXN0J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0FjY291bnRzTGlzdCA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsnYWNjb3VudHNMaXN0J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQm9va2VkVGlja2V0ID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddO1xuICBleHBvcnQgdHlwZSBfX19JZGVudGlmaWVycyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX19UZXJtcyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGVybXMnXTtcbiAgZXhwb3J0IHR5cGUgX19UaWNrZXRzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19UaWNrZXRRdWV1ZUxpc3QgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ3RpY2tldFF1ZXVlTGlzdCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fQWNjb3VudHNMaXN0ID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWydhY2NvdW50c0xpc3QnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUaWNrZXRFeHRyYXMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsndGlja2V0RXh0cmFzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX0lkZW50aWZpZXJzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3RpY2tldEV4dHJhcyddW251bWJlcl1bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIFBsdXNCdXMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncGx1c0J1cyddO1xuICBleHBvcnQgdHlwZSBSZXR1cm4gPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fSWRlbnRpZmllcnMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIF9UcmF2ZWxsZXJzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWyd0cmF2ZWxsZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19TZWdtZW50cyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfQ2FsbGluZ1BvaW50cyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydjYWxsaW5nUG9pbnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1Byb3ZpZGVycyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0NoZWFwZXN0VGlja2V0ID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddO1xuICBleHBvcnQgdHlwZSBfX19fX19JZGVudGlmaWVycyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX19fVGVybXMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ3Rlcm1zJ107XG4gIGV4cG9ydCB0eXBlIF9EeW5hbWljQ29uZGl0aW9ucyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGVybXMnXVsnZHluYW1pY0NvbmRpdGlvbnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19UaWNrZXRzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fU2VnbWVudHMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX1RpY2tldFF1ZXVlTGlzdCA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0UXVldWVMaXN0J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fQWNjb3VudHNMaXN0ID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWydhY2NvdW50c0xpc3QnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfVGlja2V0T3B0aW9ucyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19JZGVudGlmaWVycyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIF9BbGxvd2VkV2l0aCA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ2lkZW50aWZpZXJzJ11bJ2FsbG93ZWRXaXRoJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX1Rlcm1zID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsndGVybXMnXTtcbiAgZXhwb3J0IHR5cGUgX19fX1RpY2tldHMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX1RpY2tldFF1ZXVlTGlzdCA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldFF1ZXVlTGlzdCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19BY2NvdW50c0xpc3QgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWydhY2NvdW50c0xpc3QnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfQm9va2VkVGlja2V0ID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX19JZGVudGlmaWVycyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIF9fX19fVGVybXMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0ZXJtcyddO1xuICBleHBvcnQgdHlwZSBfX19fX1RpY2tldHMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19UaWNrZXRRdWV1ZUxpc3QgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRRdWV1ZUxpc3QnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX0FjY291bnRzTGlzdCA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ2FjY291bnRzTGlzdCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9UaWNrZXRFeHRyYXMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3RpY2tldEV4dHJhcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9QbHVzQnVzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwbHVzQnVzJ107XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNhdmVSZWNlbnRTZWFyY2gge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTYXZlUmVjZW50U2VhcmNoTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2F2ZVJlY2VudFNlYXJjaE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTYXZlUmVjZW50U2VhcmNoID0gU2F2ZVJlY2VudFNlYXJjaE11dGF0aW9uWydzYXZlUmVjZW50U2VhcmNoJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTYXZlVXNlckFkZHJlc3Mge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTYXZlVXNlckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTYXZlVXNlckFkZHJlc3NNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2F2ZVVzZXJBZGRyZXNzID0gU2F2ZVVzZXJBZGRyZXNzTXV0YXRpb25bJ3NhdmVVc2VyQWRkcmVzcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaEFpcmxpbmVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoQWlybGluZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hBaXJsaW5lc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hBaXJsaW5lcyA9IFNlYXJjaEFpcmxpbmVzUXVlcnlbJ3NlYXJjaEFpcmxpbmVzJ107XG4gIGV4cG9ydCB0eXBlIElhdGFNYXRjaCA9IFNlYXJjaEFpcmxpbmVzUXVlcnlbJ3NlYXJjaEFpcmxpbmVzJ11bJ2lhdGFNYXRjaCddO1xuICBleHBvcnQgdHlwZSBHZW5lcmFsTWF0Y2hlcyA9IFNlYXJjaEFpcmxpbmVzUXVlcnlbJ3NlYXJjaEFpcmxpbmVzJ11bJ2dlbmVyYWxNYXRjaGVzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hDaXRpZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hDaXRpZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hDaXRpZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoQ2l0aWVzID0gU2VhcmNoQ2l0aWVzUXVlcnlbJ3NlYXJjaENpdGllcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIENvb3JkaW5hdGVzID0gU2VhcmNoQ2l0aWVzUXVlcnlbJ3NlYXJjaENpdGllcyddW251bWJlcl1bJ2Nvb3JkaW5hdGVzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoQ29uZmVybWFDaXRpZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hDb25mZXJtYUNpdGllc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaENvbmZlcm1hQ2l0aWVzID0gU2VhcmNoQ29uZmVybWFDaXRpZXNRdWVyeVsnc2VhcmNoQ29uZmVybWFDaXRpZXMnXTtcbiAgZXhwb3J0IHR5cGUgU3VnZ2VzdGlvbnMgPSBTZWFyY2hDb25mZXJtYUNpdGllc1F1ZXJ5WydzZWFyY2hDb25mZXJtYUNpdGllcyddWydzdWdnZXN0aW9ucyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoRXVyb3N0YXIge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaEV1cm9zdGFyUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaEV1cm9zdGFyID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXTtcbiAgZXhwb3J0IHR5cGUgSm91cm5leXMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3V0Ym91bmRGbGlnaHRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEZhcmVJbmZvID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVJbmZvJ107XG4gIGV4cG9ydCB0eXBlIE9yaWdpbkFpcnBvcnREZXRhaWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnb3JpZ2luQWlycG9ydERldGFpbCddO1xuICBleHBvcnQgdHlwZSBEZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIE1hcmtldGluZ0NhcnJpZXJEZXRhaWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnbWFya2V0aW5nQ2FycmllckRldGFpbCddO1xuICBleHBvcnQgdHlwZSBPcGVyYXRpbmdDYXJyaWVyRGV0YWlsID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ29wZXJhdGluZ0NhcnJpZXJEZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgRmFyZUNvbmRpdGlvbnMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXTtcbiAgZXhwb3J0IHR5cGUgQ2FuY2VsbGF0aW9uID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NhbmNlbGxhdGlvbiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIENoYW5nZSA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjaGFuZ2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBOb1Nob3cgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnbm9TaG93J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVXBncmFkZSA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWyd1cGdyYWRlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3RoZXIgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnb3RoZXInXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBJbmJvdW5kRmxpZ2h0cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9GYXJlSW5mbyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVJbmZvJ107XG4gIGV4cG9ydCB0eXBlIF9PcmlnaW5BaXJwb3J0RGV0YWlsID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnb3JpZ2luQWlycG9ydERldGFpbCddO1xuICBleHBvcnQgdHlwZSBfRGVzdGluYXRpb25BaXJwb3J0RGV0YWlsID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIF9NYXJrZXRpbmdDYXJyaWVyRGV0YWlsID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnbWFya2V0aW5nQ2FycmllckRldGFpbCddO1xuICBleHBvcnQgdHlwZSBfT3BlcmF0aW5nQ2FycmllckRldGFpbCA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ29wZXJhdGluZ0NhcnJpZXJEZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX0ZhcmVDb25kaXRpb25zID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXTtcbiAgZXhwb3J0IHR5cGUgX0NhbmNlbGxhdGlvbiA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NhbmNlbGxhdGlvbiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9DaGFuZ2UgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjaGFuZ2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfTm9TaG93ID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnbm9TaG93J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1VwZ3JhZGUgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWyd1cGdyYWRlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX090aGVyID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnb3RoZXInXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPdXRib3VuZENhcmJvbkVtaXNzaW9ucyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydvdXRib3VuZENhcmJvbkVtaXNzaW9ucyddO1xuICBleHBvcnQgdHlwZSBJbmJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgVGF4ZXMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsndGF4ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBEaXNjb3VudHMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZGlzY291bnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVG90YWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsndG90YWwnXTtcbiAgZXhwb3J0IHR5cGUgX19GYXJlQ29uZGl0aW9ucyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddO1xuICBleHBvcnQgdHlwZSBfX0NhbmNlbGxhdGlvbiA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjYW5jZWxsYXRpb24nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX0NoYW5nZSA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjaGFuZ2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX05vU2hvdyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydub1Nob3cnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1VwZ3JhZGUgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsndXBncmFkZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fT3RoZXIgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnb3RoZXInXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBCYWdnYWdlQWxsb3dhbmNlID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2JhZ2dhZ2VBbGxvd2FuY2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBNdWx0aSA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfUmVzdWx0cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX091dGJvdW5kRmxpZ2h0cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19GYXJlSW5mbyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUluZm8nXTtcbiAgZXhwb3J0IHR5cGUgX19PcmlnaW5BaXJwb3J0RGV0YWlsID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydvcmlnaW5BaXJwb3J0RGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIF9fRGVzdGluYXRpb25BaXJwb3J0RGV0YWlsID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX19NYXJrZXRpbmdDYXJyaWVyRGV0YWlsID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydtYXJrZXRpbmdDYXJyaWVyRGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIF9fT3BlcmF0aW5nQ2FycmllckRldGFpbCA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnb3BlcmF0aW5nQ2FycmllckRldGFpbCddO1xuICBleHBvcnQgdHlwZSBfX19GYXJlQ29uZGl0aW9ucyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXTtcbiAgZXhwb3J0IHR5cGUgX19fQ2FuY2VsbGF0aW9uID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjYW5jZWxsYXRpb24nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19DaGFuZ2UgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX05vU2hvdyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnbm9TaG93J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fVXBncmFkZSA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsndXBncmFkZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX090aGVyID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9JbmJvdW5kRmxpZ2h0cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19GYXJlSW5mbyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlSW5mbyddO1xuICBleHBvcnQgdHlwZSBfX19PcmlnaW5BaXJwb3J0RGV0YWlsID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ29yaWdpbkFpcnBvcnREZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX19fRGVzdGluYXRpb25BaXJwb3J0RGV0YWlsID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2Rlc3RpbmF0aW9uQWlycG9ydERldGFpbCddO1xuICBleHBvcnQgdHlwZSBfX19NYXJrZXRpbmdDYXJyaWVyRGV0YWlsID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ21hcmtldGluZ0NhcnJpZXJEZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgX19fT3BlcmF0aW5nQ2FycmllckRldGFpbCA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydvcGVyYXRpbmdDYXJyaWVyRGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIF9fX19GYXJlQ29uZGl0aW9ucyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddO1xuICBleHBvcnQgdHlwZSBfX19fQ2FuY2VsbGF0aW9uID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NhbmNlbGxhdGlvbiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19DaGFuZ2UgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2hhbmdlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX05vU2hvdyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydub1Nob3cnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fVXBncmFkZSA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWyd1cGdyYWRlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX090aGVyID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ290aGVyJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX091dGJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZENhcmJvbkVtaXNzaW9ucyddO1xuICBleHBvcnQgdHlwZSBfSW5ib3VuZENhcmJvbkVtaXNzaW9ucyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZENhcmJvbkVtaXNzaW9ucyddO1xuICBleHBvcnQgdHlwZSBfVGF4ZXMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ3RheGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0Rpc2NvdW50cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZGlzY291bnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1RvdGFsID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0b3RhbCddO1xuICBleHBvcnQgdHlwZSBfX19fX0ZhcmVDb25kaXRpb25zID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddO1xuICBleHBvcnQgdHlwZSBfX19fX0NhbmNlbGxhdGlvbiA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2FuY2VsbGF0aW9uJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19DaGFuZ2UgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fTm9TaG93ID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydub1Nob3cnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX1VwZ3JhZGUgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ3VwZ3JhZGUnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX090aGVyID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9CYWdnYWdlQWxsb3dhbmNlID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydiYWdnYWdlQWxsb3dhbmNlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgR3JvdXBlZCA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnZ3JvdXBlZCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEZsaWdodHMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2dyb3VwZWQnXVtudW1iZXJdWydmbGlnaHRzJ107XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoSG90ZWxDaGFpbnMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hIb3RlbENoYWluc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaEhvdGVsQ2hhaW5zUXVlcnk7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoSXJsIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoSXJsUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoSXJsUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaElybCA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBJZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgVHJhdmVsbGVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsndHJhdmVsbGVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlZ21lbnRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUHJvdmlkZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDaGVhcGVzdFRpY2tldCA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBUaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1NlZ21lbnRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUaWNrZXRPcHRpb25zID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIF9UaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsndGlja2V0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1NlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQm9va2VkVGlja2V0ID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX19fSWRlbnRpZmllcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfX1RpY2tldHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19TZWF0UHJlZmVyZW5jZVR5cGVzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX1NlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUaWNrZXRFeHRyYXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3RpY2tldEV4dHJhcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsndGlja2V0RXh0cmFzJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgUGx1c0J1cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncGx1c0J1cyddO1xuICBleHBvcnQgdHlwZSBSZXR1cm4gPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX1RyYXZlbGxlcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWyd0cmF2ZWxsZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX1NlZ21lbnRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfUHJvdmlkZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0NoZWFwZXN0VGlja2V0ID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fSWRlbnRpZmllcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfX19UaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX1NlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1RpY2tldE9wdGlvbnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIF9fX19UaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19TZWdtZW50cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19TZWF0UHJlZmVyZW5jZVR5cGVzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRQcmVmZXJlbmNlVHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Cb29rZWRUaWNrZXQgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX19JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfX19fX1RpY2tldHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19TZWdtZW50cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19fU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX1NlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1RpY2tldEV4dHJhcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3RpY2tldEV4dHJhcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19fX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsndGlja2V0RXh0cmFzJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX1BsdXNCdXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwbHVzQnVzJ107XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hQb3N0Y29kZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hQb3N0Y29kZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hQb3N0Y29kZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0UG9zdGNvZGVEZXRhaWxzID0gU2VhcmNoUG9zdGNvZGVzUXVlcnlbJ2dldFBvc3Rjb2RlRGV0YWlscyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaFJhaWxTdGF0aW9ucyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaFJhaWxTdGF0aW9uc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaFJhaWxTdGF0aW9uc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hSYWlsU3RhdGlvbnMgPSBTZWFyY2hSYWlsU3RhdGlvbnNRdWVyeVsnc2VhcmNoUmFpbFN0YXRpb25zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTG9jYXRpb25EZXRhaWxzID0gU2VhcmNoUmFpbFN0YXRpb25zUXVlcnlbJ3NlYXJjaFJhaWxTdGF0aW9ucyddW251bWJlcl1bJ2xvY2F0aW9uRGV0YWlscyddO1xuICBleHBvcnQgdHlwZSBDb29yZGluYXRlcyA9IFNlYXJjaFJhaWxTdGF0aW9uc1F1ZXJ5WydzZWFyY2hSYWlsU3RhdGlvbnMnXVtudW1iZXJdWydsb2NhdGlvbkRldGFpbHMnXVsnY29vcmRpbmF0ZXMnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hVc2VyQWRkcmVzcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaFVzZXJBZGRyZXNzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoVXNlckFkZHJlc3NRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlckFkZHJlc3NlcyA9IFNlYXJjaFVzZXJBZGRyZXNzUXVlcnlbJ2dldFVzZXJBZGRyZXNzZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNldEJhc2tldEl0ZW1NaUdyb3VwIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0QmFza2V0SXRlbU1pR3JvdXBNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZXRCYXNrZXRJdGVtTWlHcm91cE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtTWlHcm91cCA9IFNldEJhc2tldEl0ZW1NaUdyb3VwTXV0YXRpb25bJ3NldEJhc2tldEl0ZW1NSUdyb3VwJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXIge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRCYXNrZXRJdGVtTGVhZFBhc3Nlbmdlck11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyID0gU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJNdXRhdGlvblsnc2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXInXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZXRCYXNrZXRJdGVtTWlWYWx1ZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldEJhc2tldEl0ZW1NaVZhbHVlTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0QmFza2V0SXRlbU1pVmFsdWVNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbU1pVmFsdWUgPSBTZXRCYXNrZXRJdGVtTWlWYWx1ZU11dGF0aW9uWydzZXRCYXNrZXRJdGVtTUlWYWx1ZSddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZCA9IFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kTXV0YXRpb25bJ3NldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlQmFza2V0Tm90ZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVCYXNrZXROb3Rlc011dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZUJhc2tldE5vdGVzTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFVwZGF0ZUJhc2tldE5vdGVzID0gVXBkYXRlQmFza2V0Tm90ZXNNdXRhdGlvblsndXBkYXRlQmFza2V0Tm90ZXMnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVCYXNrZXRUaXRsZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZUJhc2tldFRpdGxlTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlQmFza2V0VGl0bGVNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgVXBkYXRlQmFza2V0VGl0bGUgPSBVcGRhdGVCYXNrZXRUaXRsZU11dGF0aW9uWyd1cGRhdGVCYXNrZXRUaXRsZSddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFVzZXJGaWVsZHMge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFVzZXJGaWVsZHNGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgU2VsZWN0ZWRMYW5ndWFnZSA9IFVzZXJGaWVsZHNGcmFnbWVudFsnc2VsZWN0ZWRMYW5ndWFnZSddO1xuICBleHBvcnQgdHlwZSBBdmFpbGFibGVMYW5ndWFnZXMgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ2F2YWlsYWJsZUxhbmd1YWdlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFBhc3Nwb3J0cyA9IFVzZXJGaWVsZHNGcmFnbWVudFsncGFzc3BvcnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQWRkcmVzc2VzID0gVXNlckZpZWxkc0ZyYWdtZW50WydhZGRyZXNzZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQaG9uZU51bWJlcnMgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3Bob25lTnVtYmVycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlclNlcnZpY2VzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlclNlcnZpY2VzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlclNlcnZpY2VzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJTZXJ2aWNlcyA9IEdldFVzZXJTZXJ2aWNlc1F1ZXJ5WydnZXRVc2VyU2VydmljZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJVaUNvbmZpZ3Mge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyVWlDb25maWdzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlclVpQ29uZmlnc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyVWlDb25maWdzID0gR2V0VXNlclVpQ29uZmlnc1F1ZXJ5WydnZXRVc2VyVUlDb25maWdzJ107XG4gIGV4cG9ydCB0eXBlIEFsbCA9IEdldFVzZXJVaUNvbmZpZ3NRdWVyeVsnZ2V0VXNlclVJQ29uZmlncyddWydhbGwnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJNZXNzYWdlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJNZXNzYWdlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJNZXNzYWdlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyTWVzc2FnZXMgPSBHZXRVc2VyTWVzc2FnZXNRdWVyeVsnZ2V0VXNlck1lc3NhZ2VzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyUGhvbmVOdW1iZXJzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlclBob25lTnVtYmVyc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJQaG9uZU51bWJlcnNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlclBob25lTnVtYmVycyA9IEdldFVzZXJQaG9uZU51bWJlcnNRdWVyeVsnZ2V0VXNlclBob25lTnVtYmVycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2V0VXNlckxhbmd1YWdlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0VXNlckxhbmd1YWdlTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0VXNlckxhbmd1YWdlTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNldFVzZXJMYW5ndWFnZSA9IFNldFVzZXJMYW5ndWFnZU11dGF0aW9uWydzZXRVc2VyTGFuZ3VhZ2UnXTtcbiAgZXhwb3J0IHR5cGUgU2VsZWN0ZWRMYW5ndWFnZSA9IFNldFVzZXJMYW5ndWFnZU11dGF0aW9uWydzZXRVc2VyTGFuZ3VhZ2UnXVsnc2VsZWN0ZWRMYW5ndWFnZSddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXIge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlclF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyID0gR2V0VXNlclF1ZXJ5WydnZXRVc2VyJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoVXNlckNhbkJvb2tGb3Ige1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hVc2VyQ2FuQm9va0ZvclF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaFVzZXJDYW5Cb29rRm9yUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaFVzZXJDYW5Cb29rRm9yID0gU2VhcmNoVXNlckNhbkJvb2tGb3JRdWVyeVsnc2VhcmNoVXNlckNhbkJvb2tGb3InXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFZhbGlkYXRlVXNlck1pRnJlZVZhbHVlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZVF1ZXJ5O1xufVxuIl19