@kepler.gl/components 3.3.0-alpha.3 → 3.3.0-alpha.5

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 (356) hide show
  1. package/dist/annotations/annotation-overlay.d.ts +1 -0
  2. package/dist/annotations/annotation-overlay.js +7 -5
  3. package/dist/annotations/annotation-panel.js +16 -17
  4. package/dist/annotations/annotation-text.js +2 -3
  5. package/dist/annotations/annotation-utils.d.ts +14 -0
  6. package/dist/annotations/annotation-utils.js +44 -3
  7. package/dist/annotations/lexical-editor/floating-link-editor.js +9 -10
  8. package/dist/annotations/lexical-editor/lexical-rich-text-editor.js +2 -3
  9. package/dist/annotations/lexical-editor/lexical-toolbar.js +6 -7
  10. package/dist/annotations/lexical-editor/use-lexical-toolbar.js +15 -15
  11. package/dist/bottom-widget.js +3 -4
  12. package/dist/common/action-panel.js +2 -3
  13. package/dist/common/animation-control/animation-speed-slider.js +2 -3
  14. package/dist/common/animation-control/animation-window-control.js +2 -3
  15. package/dist/common/animation-control/floating-time-display.js +2 -3
  16. package/dist/common/animation-control/playback-controls.js +2 -3
  17. package/dist/common/animation-control/window-action-control.js +2 -3
  18. package/dist/common/checkbox.js +2 -3
  19. package/dist/common/color-legend.js +2 -3
  20. package/dist/common/column-stats-chart.js +2 -3
  21. package/dist/common/data-table/display-format.js +2 -3
  22. package/dist/common/data-table/grid.js +2 -3
  23. package/dist/common/data-table/header-cell.js +2 -3
  24. package/dist/common/data-table/index.js +2 -3
  25. package/dist/common/data-table/option-dropdown.js +2 -3
  26. package/dist/common/field-selector.js +2 -3
  27. package/dist/common/file-uploader/file-drop.js +2 -3
  28. package/dist/common/file-uploader/file-upload-progress.js +2 -3
  29. package/dist/common/file-uploader/file-upload.js +8 -9
  30. package/dist/common/file-uploader/upload-button.js +2 -3
  31. package/dist/common/histogram-plot.js +2 -3
  32. package/dist/common/icons/3d-models/airplane.js +2 -3
  33. package/dist/common/icons/3d-models/bicycle.js +2 -3
  34. package/dist/common/icons/3d-models/boeing.js +2 -3
  35. package/dist/common/icons/3d-models/car.js +2 -3
  36. package/dist/common/icons/3d-models/cargoship.js +2 -3
  37. package/dist/common/icons/3d-models/evtol.js +2 -3
  38. package/dist/common/icons/3d-models/glider.js +2 -3
  39. package/dist/common/icons/3d-models/helicopter.js +2 -3
  40. package/dist/common/icons/3d-models/scooter.js +2 -3
  41. package/dist/common/icons/3d-models/semitruck.js +2 -3
  42. package/dist/common/icons/3d-models/truck.js +2 -3
  43. package/dist/common/icons/add.js +2 -3
  44. package/dist/common/icons/annotation-text.js +2 -3
  45. package/dist/common/icons/arrow-down-alt.js +2 -3
  46. package/dist/common/icons/arrow-down-full.js +2 -3
  47. package/dist/common/icons/arrow-down-small.js +2 -3
  48. package/dist/common/icons/arrow-down-solid.js +2 -3
  49. package/dist/common/icons/arrow-down.js +2 -3
  50. package/dist/common/icons/arrow-left.js +2 -3
  51. package/dist/common/icons/arrow-right.js +2 -3
  52. package/dist/common/icons/arrow-up-alt.js +2 -3
  53. package/dist/common/icons/arrow-up-solid.js +2 -3
  54. package/dist/common/icons/arrow-up.js +2 -3
  55. package/dist/common/icons/base-map.js +2 -3
  56. package/dist/common/icons/base.js +2 -3
  57. package/dist/common/icons/bug.js +2 -3
  58. package/dist/common/icons/calendar.js +2 -3
  59. package/dist/common/icons/cancel.js +2 -3
  60. package/dist/common/icons/checkmark.js +2 -3
  61. package/dist/common/icons/clipboard.js +2 -3
  62. package/dist/common/icons/clock.js +2 -3
  63. package/dist/common/icons/close.js +2 -3
  64. package/dist/common/icons/cloud.js +2 -3
  65. package/dist/common/icons/code-alt.js +2 -3
  66. package/dist/common/icons/copy.js +2 -3
  67. package/dist/common/icons/crosshairs.js +2 -3
  68. package/dist/common/icons/cube-3d.js +2 -3
  69. package/dist/common/icons/cursor-click.js +2 -3
  70. package/dist/common/icons/cursor-point.js +2 -3
  71. package/dist/common/icons/data-table.js +2 -3
  72. package/dist/common/icons/db.js +2 -3
  73. package/dist/common/icons/delete.js +2 -3
  74. package/dist/common/icons/docs.js +2 -3
  75. package/dist/common/icons/docs2.js +2 -3
  76. package/dist/common/icons/drag-n-drop.js +2 -3
  77. package/dist/common/icons/draggable-dots.js +2 -3
  78. package/dist/common/icons/draw-polygon.js +2 -3
  79. package/dist/common/icons/edit.js +2 -3
  80. package/dist/common/icons/effects/brightness-contrast.js +2 -3
  81. package/dist/common/icons/effects/color-halftone.js +2 -3
  82. package/dist/common/icons/effects/distance-fog.js +2 -3
  83. package/dist/common/icons/effects/dot-screen.js +2 -3
  84. package/dist/common/icons/effects/edge-work.js +2 -3
  85. package/dist/common/icons/effects/hexagonal-pixelate.js +2 -3
  86. package/dist/common/icons/effects/hue-saturation.js +2 -3
  87. package/dist/common/icons/effects/ink.js +2 -3
  88. package/dist/common/icons/effects/light-and-shadow.js +2 -3
  89. package/dist/common/icons/effects/magic-wand.js +2 -3
  90. package/dist/common/icons/effects/magnify.js +2 -3
  91. package/dist/common/icons/effects/noise.js +2 -3
  92. package/dist/common/icons/effects/sepia.js +2 -3
  93. package/dist/common/icons/effects/surface-fog.js +2 -3
  94. package/dist/common/icons/effects/tilt-shift.js +2 -3
  95. package/dist/common/icons/effects/triangle-blur.js +2 -3
  96. package/dist/common/icons/effects/vibrance.js +2 -3
  97. package/dist/common/icons/effects/vignette.js +2 -3
  98. package/dist/common/icons/effects/zoom-blur.js +2 -3
  99. package/dist/common/icons/email.js +2 -3
  100. package/dist/common/icons/expand.js +2 -3
  101. package/dist/common/icons/eye-seen.js +2 -3
  102. package/dist/common/icons/eye-unseen.js +2 -3
  103. package/dist/common/icons/file.js +2 -3
  104. package/dist/common/icons/filter-funnel.js +2 -3
  105. package/dist/common/icons/folder.js +2 -3
  106. package/dist/common/icons/gear.js +2 -3
  107. package/dist/common/icons/globe.js +2 -3
  108. package/dist/common/icons/hash.js +2 -3
  109. package/dist/common/icons/help.js +2 -3
  110. package/dist/common/icons/horizontal-resize-handle.js +2 -3
  111. package/dist/common/icons/info.js +2 -3
  112. package/dist/common/icons/layers.js +2 -3
  113. package/dist/common/icons/left-arrow.js +2 -3
  114. package/dist/common/icons/legend.js +2 -3
  115. package/dist/common/icons/line-chart.js +2 -3
  116. package/dist/common/icons/location-marker.js +2 -3
  117. package/dist/common/icons/login.js +2 -3
  118. package/dist/common/icons/logout.js +2 -3
  119. package/dist/common/icons/map-icon.js +2 -3
  120. package/dist/common/icons/map-pin.js +2 -3
  121. package/dist/common/icons/messages.js +2 -3
  122. package/dist/common/icons/minus.js +2 -3
  123. package/dist/common/icons/moon.js +2 -3
  124. package/dist/common/icons/pause.js +2 -3
  125. package/dist/common/icons/pin.js +2 -3
  126. package/dist/common/icons/play.js +2 -3
  127. package/dist/common/icons/pointer-click.js +2 -3
  128. package/dist/common/icons/polygon.js +2 -3
  129. package/dist/common/icons/rectangle.js +2 -3
  130. package/dist/common/icons/reduce.js +2 -3
  131. package/dist/common/icons/reset.js +2 -3
  132. package/dist/common/icons/save.js +2 -3
  133. package/dist/common/icons/save2.js +2 -3
  134. package/dist/common/icons/search.js +2 -3
  135. package/dist/common/icons/settings.js +2 -3
  136. package/dist/common/icons/share.js +2 -3
  137. package/dist/common/icons/speed.js +2 -3
  138. package/dist/common/icons/split.js +2 -3
  139. package/dist/common/icons/square-select.js +2 -3
  140. package/dist/common/icons/sun.js +2 -3
  141. package/dist/common/icons/sunrise.js +2 -3
  142. package/dist/common/icons/sunset.js +2 -3
  143. package/dist/common/icons/timeline-marker.js +2 -3
  144. package/dist/common/icons/trash.js +2 -3
  145. package/dist/common/icons/vert-dots.js +2 -3
  146. package/dist/common/icons/vert-three-dots.js +2 -3
  147. package/dist/common/icons/warning-sign.js +2 -3
  148. package/dist/common/icons/warning.js +2 -3
  149. package/dist/common/icons/zoom-in.js +2 -3
  150. package/dist/common/icons/zoom-out.js +2 -3
  151. package/dist/common/index.js +2 -3
  152. package/dist/common/item-selector/chickleted-input.js +2 -3
  153. package/dist/common/item-selector/dropdown-list.js +2 -3
  154. package/dist/common/item-selector/item-selector.js +2 -3
  155. package/dist/common/item-selector/typeahead.js +2 -3
  156. package/dist/common/layout-splitter.js +2 -3
  157. package/dist/common/line-chart.js +2 -3
  158. package/dist/common/loading-spinner.js +2 -3
  159. package/dist/common/modal.js +6 -7
  160. package/dist/common/portaled.js +2 -3
  161. package/dist/common/radius-legend.js +2 -3
  162. package/dist/common/range-brush.js +2 -3
  163. package/dist/common/range-plot.js +2 -3
  164. package/dist/common/range-slider-timeline-panel.js +2 -3
  165. package/dist/common/range-slider-timeline.js +2 -3
  166. package/dist/common/range-slider.js +2 -3
  167. package/dist/common/slider/slider-bar-handle.js +2 -3
  168. package/dist/common/slider/slider-handle.js +2 -3
  169. package/dist/common/slider/slider.js +2 -3
  170. package/dist/common/styled-components.d.ts +86 -83
  171. package/dist/common/styled-components.js +53 -45
  172. package/dist/common/time-range-slider.js +2 -3
  173. package/dist/common/time-slider-marker.js +2 -3
  174. package/dist/common/timeline-slider.js +2 -3
  175. package/dist/common/tippy-tooltip.js +2 -3
  176. package/dist/connect/with-local-selector.js +2 -3
  177. package/dist/container.js +4 -5
  178. package/dist/context.js +2 -3
  179. package/dist/dnd-context.js +2 -3
  180. package/dist/editor/editor.js +3 -4
  181. package/dist/editor/feature-action-panel.js +2 -3
  182. package/dist/effects/compact-color-picker.js +2 -3
  183. package/dist/effects/effect-configurator.js +17 -18
  184. package/dist/effects/effect-list.js +2 -3
  185. package/dist/effects/effect-manager.js +2 -3
  186. package/dist/effects/effect-panel-header.js +2 -3
  187. package/dist/effects/effect-panel.js +2 -3
  188. package/dist/effects/effect-time-configurator.js +18 -7
  189. package/dist/effects/effect-time-selector.js +2 -3
  190. package/dist/effects/effect-time-slider.js +2 -3
  191. package/dist/effects/effect-type-dropdown-list.js +2 -3
  192. package/dist/effects/effect-type-list-item.js +2 -3
  193. package/dist/effects/effect-type-selector.js +2 -3
  194. package/dist/effects/surface-fog-section.js +7 -8
  195. package/dist/effects/timezone-selector.js +2 -3
  196. package/dist/filter-animation-controller.js +2 -3
  197. package/dist/filters/filter-panels/filter-panel-with-field-select.js +2 -3
  198. package/dist/filters/filter-panels/filter-synced-dataset-panel.js +4 -5
  199. package/dist/filters/filter-panels/multi-select-filter-panel.js +2 -3
  200. package/dist/filters/filter-panels/new-filter-panel.js +2 -3
  201. package/dist/filters/filter-panels/polygon-filter-panel.js +2 -3
  202. package/dist/filters/filter-panels/range-filter-panel.js +2 -3
  203. package/dist/filters/filter-panels/single-select-filter-panel.js +2 -3
  204. package/dist/filters/filter-panels/time-range-filter-panel.js +2 -3
  205. package/dist/filters/polygon-filter.js +3 -4
  206. package/dist/filters/time-widget-settings.js +9 -10
  207. package/dist/filters/time-widget-top.js +2 -3
  208. package/dist/filters/time-widget.js +2 -3
  209. package/dist/geocoder/geocoder.js +6 -7
  210. package/dist/geocoder-panel.js +2 -3
  211. package/dist/hooks/use-cloud-list-provider.js +2 -3
  212. package/dist/hooks/use-fetch-raster-tile-metadata.js +2 -2
  213. package/dist/hooks/use-fetch-vector-tile-metadata.js +2 -2
  214. package/dist/index.d.ts +3 -2
  215. package/dist/index.js +31 -3
  216. package/dist/kepler-gl.d.ts +1 -0
  217. package/dist/kepler-gl.js +3 -3
  218. package/dist/layer-animation-controller.js +2 -3
  219. package/dist/loading-indicator.d.ts +1 -0
  220. package/dist/loading-indicator.js +6 -4
  221. package/dist/map/annotations/annotation-control.js +2 -3
  222. package/dist/map/attribution.d.ts +52 -0
  223. package/dist/map/attribution.js +391 -0
  224. package/dist/map/effects/effect-control.js +2 -3
  225. package/dist/map/layer-hover-info.js +2 -3
  226. package/dist/map/lazy-tippy.js +2 -3
  227. package/dist/map/locale-panel.d.ts +1 -1
  228. package/dist/map/locale-panel.js +2 -3
  229. package/dist/map/map-control-panel.js +2 -3
  230. package/dist/map/map-control.d.ts +3 -0
  231. package/dist/map/map-control.js +1 -1
  232. package/dist/map/map-draw-panel.d.ts +1 -1
  233. package/dist/map/map-draw-panel.js +2 -3
  234. package/dist/map/map-legend-panel.d.ts +1 -1
  235. package/dist/map/map-legend-panel.js +9 -14
  236. package/dist/map/map-legend.js +2 -3
  237. package/dist/map/map-navigation-control.js +20 -4
  238. package/dist/map/map-popover.js +2 -3
  239. package/dist/map/map-scale.d.ts +11 -0
  240. package/dist/map/map-scale.js +162 -0
  241. package/dist/map/split-map-button.d.ts +4 -2
  242. package/dist/map/split-map-button.js +63 -46
  243. package/dist/map/toggle-3d-button.d.ts +8 -2
  244. package/dist/map/toggle-3d-button.js +79 -17
  245. package/dist/map-container.d.ts +6 -16
  246. package/dist/map-container.js +354 -240
  247. package/dist/map-view-state-context.d.ts +2 -0
  248. package/dist/map-view-state-context.js +2 -3
  249. package/dist/maps-layout.js +2 -3
  250. package/dist/modal-container.js +2 -3
  251. package/dist/modals/add-map-style-modal.js +49 -12
  252. package/dist/modals/cloud-components/cloud-header.js +2 -3
  253. package/dist/modals/cloud-components/cloud-item.spec.js +8 -8
  254. package/dist/modals/cloud-components/cloud-maps.spec.js +7 -7
  255. package/dist/modals/cloud-tile.js +5 -6
  256. package/dist/modals/data-table-modal.js +2 -3
  257. package/dist/modals/error-display.js +2 -3
  258. package/dist/modals/export-data-modal.js +2 -3
  259. package/dist/modals/export-image-modal.js +2 -3
  260. package/dist/modals/export-map-modal/export-json-map.js +2 -3
  261. package/dist/modals/export-video-modal.js +52 -10
  262. package/dist/modals/export-video-modal.spec.js +83 -83
  263. package/dist/modals/globe-export-video-container.d.ts +117 -0
  264. package/dist/modals/globe-export-video-container.js +626 -0
  265. package/dist/modals/globe-export-video-preview.d.ts +41 -0
  266. package/dist/modals/globe-export-video-preview.js +152 -0
  267. package/dist/modals/hubble-utils.d.ts +13 -1
  268. package/dist/modals/hubble-utils.js +164 -36
  269. package/dist/modals/image-modal-container.js +2 -3
  270. package/dist/modals/load-data-modal.js +2 -3
  271. package/dist/modals/load-storage-map.js +2 -3
  272. package/dist/modals/load-storage-map.spec.js +10 -10
  273. package/dist/modals/modal-tabs.js +2 -3
  274. package/dist/modals/overwrite-map-modal.js +2 -3
  275. package/dist/modals/save-map-modal.js +2 -3
  276. package/dist/modals/save-map-modal.spec.js +16 -16
  277. package/dist/modals/share-map-modal.js +2 -3
  278. package/dist/modals/share-map-modal.spec.js +9 -9
  279. package/dist/modals/swipe-composite-utils.d.ts +1 -1
  280. package/dist/modals/swipe-composite-utils.js +11 -1
  281. package/dist/modals/swipe-export-settings.d.ts +1 -0
  282. package/dist/modals/swipe-export-settings.js +8 -6
  283. package/dist/modals/swipe-export-video-container.d.ts +6 -0
  284. package/dist/modals/swipe-export-video-container.js +27 -4
  285. package/dist/modals/swipe-export-video-preview.d.ts +2 -0
  286. package/dist/modals/swipe-export-video-preview.js +80 -18
  287. package/dist/modals/tilesets-modals/load-data-footer.js +2 -3
  288. package/dist/modals/tilesets-modals/load-tileset.js +2 -3
  289. package/dist/modals/tilesets-modals/tileset-bitmap-form.js +18 -19
  290. package/dist/modals/tilesets-modals/tileset-raster-form.js +5 -6
  291. package/dist/modals/tilesets-modals/tileset-tile3d-form.js +13 -14
  292. package/dist/modals/tilesets-modals/tileset-vector-form.js +7 -8
  293. package/dist/modals/tilesets-modals/tileset-wms-form.js +11 -12
  294. package/dist/notification-panel/notification-item.js +2 -3
  295. package/dist/plot-container.js +2 -3
  296. package/dist/side-panel/add-by-dataset-button.js +2 -3
  297. package/dist/side-panel/common/dataset-title.js +2 -3
  298. package/dist/side-panel/common/source-data-selector-content.js +2 -3
  299. package/dist/side-panel/common/source-selector.js +2 -3
  300. package/dist/side-panel/filter-manager.js +2 -3
  301. package/dist/side-panel/filter-panel/filter-panel-header.js +2 -3
  302. package/dist/side-panel/filter-panel/filter-panel.js +2 -3
  303. package/dist/side-panel/interaction-panel/interaction-panel.js +2 -3
  304. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +2 -3
  305. package/dist/side-panel/interaction-panel/tooltip-config.js +2 -3
  306. package/dist/side-panel/layer-manager.d.ts +2 -1
  307. package/dist/side-panel/layer-manager.js +6 -4
  308. package/dist/side-panel/layer-panel/channel-by-value-selector.js +2 -3
  309. package/dist/side-panel/layer-panel/color-breaks-panel.js +2 -3
  310. package/dist/side-panel/layer-panel/color-palette.js +2 -3
  311. package/dist/side-panel/layer-panel/color-range-selector.js +2 -3
  312. package/dist/side-panel/layer-panel/color-scale-selector.js +2 -3
  313. package/dist/side-panel/layer-panel/color-selector.js +2 -3
  314. package/dist/side-panel/layer-panel/column-selector.js +2 -3
  315. package/dist/side-panel/layer-panel/custom-palette.js +41 -42
  316. package/dist/side-panel/layer-panel/custom-picker.js +2 -3
  317. package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +2 -1
  318. package/dist/side-panel/layer-panel/dataset-layer-group.js +6 -5
  319. package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +2 -1
  320. package/dist/side-panel/layer-panel/dataset-layer-section.js +5 -4
  321. package/dist/side-panel/layer-panel/dimension-scale-selector.js +2 -3
  322. package/dist/side-panel/layer-panel/layer-color-selector.js +2 -3
  323. package/dist/side-panel/layer-panel/layer-column-config.js +2 -3
  324. package/dist/side-panel/layer-panel/layer-column-mode-config.js +2 -3
  325. package/dist/side-panel/layer-panel/layer-config-group.js +2 -3
  326. package/dist/side-panel/layer-panel/layer-configurator.js +51 -52
  327. package/dist/side-panel/layer-panel/layer-group-header.js +2 -3
  328. package/dist/side-panel/layer-panel/layer-list.d.ts +2 -1
  329. package/dist/side-panel/layer-panel/layer-list.js +8 -7
  330. package/dist/side-panel/layer-panel/layer-panel-header.d.ts +1 -1
  331. package/dist/side-panel/layer-panel/layer-panel-header.js +3 -4
  332. package/dist/side-panel/layer-panel/layer-panel.d.ts +2 -1
  333. package/dist/side-panel/layer-panel/layer-panel.js +15 -6
  334. package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +2 -3
  335. package/dist/side-panel/layer-panel/layer-type-list-item.js +2 -3
  336. package/dist/side-panel/layer-panel/layer-type-selector.js +2 -3
  337. package/dist/side-panel/layer-panel/raster-tile-layer-configurator.js +4 -5
  338. package/dist/side-panel/layer-panel/scenegraph-model-selector.js +2 -3
  339. package/dist/side-panel/layer-panel/single-color-palette.js +2 -3
  340. package/dist/side-panel/layer-panel/text-label-panel.js +2 -3
  341. package/dist/side-panel/layer-panel/vector-tile-layer-configurator.js +2 -3
  342. package/dist/side-panel/layer-panel/vis-config-slider.js +2 -3
  343. package/dist/side-panel/map-manager.d.ts +9 -3
  344. package/dist/side-panel/map-manager.js +13 -7
  345. package/dist/side-panel/map-style-panel/globe-config-panel.d.ts +15 -0
  346. package/dist/side-panel/map-style-panel/globe-config-panel.js +269 -0
  347. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +2 -3
  348. package/dist/side-panel/map-style-panel/map-layer-group-item.js +2 -3
  349. package/dist/side-panel/panel-header.js +9 -10
  350. package/dist/side-panel/panel-toggle.js +2 -3
  351. package/dist/side-panel/panel-view-list-toggle.js +2 -3
  352. package/dist/side-panel/side-bar.js +2 -3
  353. package/dist/side-panel.js +4 -3
  354. package/dist/types.d.ts +2 -1
  355. package/dist/types.js +1 -1
  356. package/package.json +23 -23
@@ -14,7 +14,7 @@ var _reactTimePicker = _interopRequireDefault(require("react-time-picker"));
14
14
  var _reactTooltip = _interopRequireDefault(require("react-tooltip"));
15
15
  var _styledComponents = _interopRequireDefault(require("styled-components"));
16
16
  var _isPropValid = _interopRequireDefault(require("@emotion/is-prop-valid"));
17
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34, _templateObject35, _templateObject36, _templateObject37, _templateObject38, _templateObject39, _templateObject40, _templateObject41, _templateObject42, _templateObject43, _templateObject44, _templateObject45, _templateObject46, _templateObject47, _templateObject48, _templateObject49, _templateObject50, _templateObject51, _templateObject52, _templateObject53; // SPDX-License-Identifier: MIT
17
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject0, _templateObject1, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34, _templateObject35, _templateObject36, _templateObject37, _templateObject38, _templateObject39, _templateObject40, _templateObject41, _templateObject42, _templateObject43, _templateObject44, _templateObject45, _templateObject46, _templateObject47, _templateObject48, _templateObject49, _templateObject50, _templateObject51; // SPDX-License-Identifier: MIT
18
18
  // Copyright contributors to the kepler.gl project
19
19
  // This implements the default behavior from styled-components v5
20
20
  function shouldForwardProp(propName, target) {
@@ -48,21 +48,21 @@ var SBFlexboxItem = exports.SBFlexboxItem = _styledComponents["default"].div(_te
48
48
  var SBFlexboxNoMargin = exports.SBFlexboxNoMargin = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n"])));
49
49
  var PanelLabel = exports.PanelLabel = _styledComponents["default"].label.attrs({
50
50
  className: 'side-panel-panel__label'
51
- })(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n display: inline-block;\n font-size: 11px;\n font-weight: 400;\n margin-bottom: 4px;\n text-transform: capitalize;\n"])), function (props) {
51
+ })(_templateObject0 || (_templateObject0 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n display: inline-block;\n font-size: 11px;\n font-weight: 400;\n margin-bottom: 4px;\n text-transform: capitalize;\n"])), function (props) {
52
52
  return props.theme.labelColor;
53
53
  });
54
54
  var PanelLabelWrapper = exports.PanelLabelWrapper = _styledComponents["default"].div.attrs({
55
55
  className: 'side-panel-panel__label-wrapper'
56
- })(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: self-start;\n"])));
57
- var PanelLabelBold = exports.PanelLabelBold = (0, _styledComponents["default"])(PanelLabel)(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: 500;\n"])));
56
+ })(_templateObject1 || (_templateObject1 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: self-start;\n"])));
57
+ var PanelLabelBold = exports.PanelLabelBold = (0, _styledComponents["default"])(PanelLabel)(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: 500;\n"])));
58
58
  var PanelHeaderTitle = exports.PanelHeaderTitle = _styledComponents["default"].span.attrs(function (props) {
59
59
  return {
60
60
  className: (0, _classnames["default"])('side-panel-panel__header__title', props.className)
61
61
  };
62
- })(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-size: 13px;\n letter-spacing: 0.43px;\n text-transform: capitalize;\n"])), function (props) {
62
+ })(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-size: 13px;\n letter-spacing: 0.43px;\n text-transform: capitalize;\n"])), function (props) {
63
63
  return props.theme.textColor;
64
64
  });
65
- var PanelHeaderContent = exports.PanelHeaderContent = _styledComponents["default"].div(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n color: ", ";\n padding-left: 12px;\n\n .icon {\n color: ", ";\n display: flex;\n align-items: center;\n margin-right: 12px;\n }\n"])), function (props) {
65
+ var PanelHeaderContent = exports.PanelHeaderContent = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n color: ", ";\n padding-left: 12px;\n\n .icon {\n color: ", ";\n display: flex;\n align-items: center;\n margin-right: 12px;\n }\n"])), function (props) {
66
66
  return props.theme.textColor;
67
67
  }, function (props) {
68
68
  return props.theme.labelColor;
@@ -71,21 +71,21 @@ var PanelContent = exports.PanelContent = _styledComponents["default"].div.attrs
71
71
  return {
72
72
  className: (0, _classnames["default"])('side-panel-panel__content', props.className)
73
73
  };
74
- })(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n padding: 12px;\n"])), function (props) {
74
+ })(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n padding: 12px;\n"])), function (props) {
75
75
  return props.theme.panelContentBackground;
76
76
  });
77
77
  var SidePanelSection = exports.SidePanelSection = _styledComponents["default"].div.attrs(function (props) {
78
78
  return {
79
79
  className: (0, _classnames["default"])('side-panel-section', props.className)
80
80
  };
81
- })(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 12px;\n\n opacity: ", ";\n pointer-events: ", ";\n"])), function (props) {
81
+ })(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 12px;\n\n opacity: ", ";\n pointer-events: ", ";\n"])), function (props) {
82
82
  return props.disabled ? 0.4 : 1;
83
83
  }, function (props) {
84
84
  return props.disabled ? 'none' : 'all';
85
85
  });
86
86
  var SidePanelDivider = exports.SidePanelDivider = _styledComponents["default"].div.attrs({
87
87
  className: 'side-panel-divider'
88
- })(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteral2["default"])(["\n border-bottom: ", " solid\n ", ";\n margin-bottom: ", "px;\n height: ", "px;\n"])), function (props) {
88
+ })(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n border-bottom: ", " solid\n ", ";\n margin-bottom: ", "px;\n height: ", "px;\n"])), function (props) {
89
89
  return props.theme.sidepanelDividerBorder;
90
90
  }, function (props) {
91
91
  return props.theme.panelBorderColor;
@@ -94,7 +94,7 @@ var SidePanelDivider = exports.SidePanelDivider = _styledComponents["default"].d
94
94
  }, function (props) {
95
95
  return props.theme.sidepanelDividerHeight;
96
96
  });
97
- var Tooltip = exports.Tooltip = (0, _styledComponents["default"])(_reactTooltip["default"])(_templateObject18 || (_templateObject18 = (0, _taggedTemplateLiteral2["default"])(["\n &.__react_component_tooltip {\n font-size: ", ";\n font-weight: 400;\n padding: 10px 18px;\n box-shadow: ", ";\n\n &.type-dark {\n background-color: ", ";\n color: ", ";\n &.place-bottom {\n &:after {\n border-bottom-color: ", ";\n }\n }\n\n &.place-top {\n &:after {\n border-top-color: ", ";\n }\n }\n\n &.place-right {\n &:after {\n border-right-color: ", ";\n }\n }\n\n &.place-left {\n &:after {\n border-left-color: ", ";\n }\n }\n }\n }\n"])), function (props) {
97
+ var Tooltip = exports.Tooltip = (0, _styledComponents["default"])(_reactTooltip["default"])(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2["default"])(["\n &.__react_component_tooltip {\n font-size: ", ";\n font-weight: 400;\n padding: 10px 18px;\n box-shadow: ", ";\n\n &.type-dark {\n background-color: ", ";\n color: ", ";\n &.place-bottom {\n &:after {\n border-bottom-color: ", ";\n }\n }\n\n &.place-top {\n &:after {\n border-top-color: ", ";\n }\n }\n\n &.place-right {\n &:after {\n border-right-color: ", ";\n }\n }\n\n &.place-left {\n &:after {\n border-left-color: ", ";\n }\n }\n }\n }\n"])), function (props) {
98
98
  return props.theme.tooltipFontSize;
99
99
  }, function (props) {
100
100
  return props.theme.tooltipBoxShadow;
@@ -118,7 +118,7 @@ var Button = exports.Button = _styledComponents["default"].button.withConfig({
118
118
  return {
119
119
  className: (0, _classnames["default"])('button', props.className)
120
120
  };
121
- })(_templateObject19 || (_templateObject19 = (0, _taggedTemplateLiteral2["default"])(["\n align-items: center;\n background-color: ", ";\n border-radius: ", ";\n color: ", ";\n cursor: pointer;\n display: inline-flex;\n font-size: ", ";\n font-weight: 500;\n font-family: ", ";\n justify-content: center;\n letter-spacing: 0.3px;\n line-height: 14px;\n outline: 0;\n padding: ", ";\n text-align: center;\n transition: ", ";\n vertical-align: middle;\n width: ", ";\n opacity: ", ";\n pointer-events: ", ";\n border: ", ";\n &:hover,\n &:focus,\n &:active,\n &.active {\n background-color: ", ";\n color: ", ";\n }\n\n svg {\n margin-right: ", ";\n }\n"])), function (props) {
121
+ })(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteral2["default"])(["\n align-items: center;\n background-color: ", ";\n border-radius: ", ";\n color: ", ";\n cursor: pointer;\n display: inline-flex;\n font-size: ", ";\n font-weight: 500;\n font-family: ", ";\n justify-content: center;\n letter-spacing: 0.3px;\n line-height: 14px;\n outline: 0;\n padding: ", ";\n text-align: center;\n transition: ", ";\n vertical-align: middle;\n width: ", ";\n opacity: ", ";\n pointer-events: ", ";\n border: ", ";\n &:hover,\n &:focus,\n &:active,\n &.active {\n background-color: ", ";\n color: ", ";\n }\n\n svg {\n margin-right: ", ";\n }\n"])), function (props) {
122
122
  return props.negative ? props.theme.negativeBtnBgd : props.secondary ? props.theme.secondaryBtnBgd : props.link ? props.theme.linkBtnBgd : props.floating ? props.theme.floatingBtnBgd : props.cta ? props.theme.ctaBtnBgd : props.theme.primaryBtnBgd;
123
123
  }, function (props) {
124
124
  return props.theme.primaryBtnRadius;
@@ -149,30 +149,30 @@ var Button = exports.Button = _styledComponents["default"].button.withConfig({
149
149
  });
150
150
  var Input = exports.Input = _styledComponents["default"].input.withConfig({
151
151
  shouldForwardProp: shouldForwardProp
152
- })(_templateObject20 || (_templateObject20 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
152
+ })(_templateObject18 || (_templateObject18 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
153
153
  return props.secondary ? props.theme.secondaryInput : props.theme.input;
154
154
  });
155
155
  var InputLight = exports.InputLight = _styledComponents["default"].input.withConfig({
156
156
  shouldForwardProp: shouldForwardProp
157
- })(_templateObject21 || (_templateObject21 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
157
+ })(_templateObject19 || (_templateObject19 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
158
158
  return props.theme.inputLT;
159
159
  });
160
160
  var TextArea = exports.TextArea = _styledComponents["default"].textarea.withConfig({
161
161
  shouldForwardProp: shouldForwardProp
162
- })(_templateObject22 || (_templateObject22 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
162
+ })(_templateObject20 || (_templateObject20 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
163
163
  return props.secondary ? props.theme.secondaryInput : props.theme.input;
164
164
  });
165
165
  var TextAreaLight = exports.TextAreaLight = _styledComponents["default"].textarea.withConfig({
166
166
  shouldForwardProp: shouldForwardProp
167
- })(_templateObject23 || (_templateObject23 = (0, _taggedTemplateLiteral2["default"])(["\n ", " height: auto;\n white-space: pre-wrap;\n"])), function (props) {
167
+ })(_templateObject21 || (_templateObject21 = (0, _taggedTemplateLiteral2["default"])(["\n ", " height: auto;\n white-space: pre-wrap;\n"])), function (props) {
168
168
  return props.theme.inputLT;
169
169
  });
170
- var InlineInput = exports.InlineInput = (0, _styledComponents["default"])(Input)(_templateObject24 || (_templateObject24 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
170
+ var InlineInput = exports.InlineInput = (0, _styledComponents["default"])(Input)(_templateObject22 || (_templateObject22 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
171
171
  return props.theme.inlineInput;
172
172
  });
173
173
  var StyledPanelHeader = exports.StyledPanelHeader = _styledComponents["default"].div.withConfig({
174
174
  shouldForwardProp: shouldForwardProp
175
- })(_templateObject25 || (_templateObject25 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n border-left: 3px solid\n rgb(\n ", "\n );\n padding: 0 10px 0 0;\n height: ", "px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-radius: ", ";\n transition: ", ";\n"])), function (props) {
175
+ })(_templateObject23 || (_templateObject23 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n border-left: 3px solid\n rgb(\n ", "\n );\n padding: 0 10px 0 0;\n height: ", "px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-radius: ", ";\n transition: ", ";\n"])), function (props) {
176
176
  return props.$active ? props.theme.panelBackgroundHover : props.theme.panelBackground;
177
177
  }, function (props) {
178
178
  return props.labelRCGColorValues ? props.labelRCGColorValues.join(',') : 'transparent';
@@ -183,7 +183,7 @@ var StyledPanelHeader = exports.StyledPanelHeader = _styledComponents["default"]
183
183
  }, function (props) {
184
184
  return props.theme.transition;
185
185
  });
186
- var StyledPanelDropdown = exports.StyledPanelDropdown = _styledComponents["default"].div(_templateObject26 || (_templateObject26 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n background-color: ", ";\n overflow-y: auto;\n box-shadow: ", ";\n border-radius: ", ";\n max-height: 500px;\n position: relative;\n z-index: 999;\n"])), function (props) {
186
+ var StyledPanelDropdown = exports.StyledPanelDropdown = _styledComponents["default"].div(_templateObject24 || (_templateObject24 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n background-color: ", ";\n overflow-y: auto;\n box-shadow: ", ";\n border-radius: ", ";\n max-height: 500px;\n position: relative;\n z-index: 999;\n"])), function (props) {
187
187
  return props.theme.panelDropdownScrollBar;
188
188
  }, function (props) {
189
189
  return props.type === 'light' ? props.theme.modalDropdownBackground : props.theme.panelBackground;
@@ -192,7 +192,7 @@ var StyledPanelDropdown = exports.StyledPanelDropdown = _styledComponents["defau
192
192
  }, function (props) {
193
193
  return props.theme.panelBorderRadius;
194
194
  });
195
- var ButtonGroup = exports.ButtonGroup = _styledComponents["default"].div(_templateObject27 || (_templateObject27 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n .button {\n border-radius: 0;\n margin-left: 2px;\n }\n .button:first-child {\n border-bottom-left-radius: ", ";\n border-top-left-radius: ", ";\n margin-left: 0;\n }\n .button:last-child {\n border-bottom-right-radius: ", ";\n border-top-right-radius: ", ";\n }\n"])), function (props) {
195
+ var ButtonGroup = exports.ButtonGroup = _styledComponents["default"].div(_templateObject25 || (_templateObject25 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n .button {\n border-radius: 0;\n margin-left: 2px;\n }\n .button:first-child {\n border-bottom-left-radius: ", ";\n border-top-left-radius: ", ";\n margin-left: 0;\n }\n .button:last-child {\n border-bottom-right-radius: ", ";\n border-top-right-radius: ", ";\n }\n"])), function (props) {
196
196
  return props.theme.primaryBtnRadius;
197
197
  }, function (props) {
198
198
  return props.theme.primaryBtnRadius;
@@ -203,12 +203,12 @@ var ButtonGroup = exports.ButtonGroup = _styledComponents["default"].div(_templa
203
203
  });
204
204
  var DatasetSquare = exports.DatasetSquare = _styledComponents["default"].div.withConfig({
205
205
  shouldForwardProp: shouldForwardProp
206
- })(_templateObject28 || (_templateObject28 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-block;\n width: 10px;\n height: 10px;\n background-color: rgb(", ");\n margin-right: 12px;\n"])), function (props) {
206
+ })(_templateObject26 || (_templateObject26 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-block;\n width: 10px;\n height: 10px;\n background-color: rgb(", ");\n margin-right: 12px;\n"])), function (props) {
207
207
  return props.backgroundColor.join(',');
208
208
  });
209
209
  var SelectionButton = exports.SelectionButton = _styledComponents["default"].div.withConfig({
210
210
  shouldForwardProp: shouldForwardProp
211
- })(_templateObject29 || (_templateObject29 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n border-radius: 2px;\n border: 1px solid\n ", ";\n color: ", ";\n background-color: ", ";\n\n cursor: pointer;\n font-weight: 500;\n margin-right: 6px;\n padding: 6px 16px;\n\n &:hover {\n color: ", ";\n border: 1px solid ", ";\n }\n"])), function (props) {
211
+ })(_templateObject27 || (_templateObject27 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n border-radius: 2px;\n border: 1px solid\n ", ";\n color: ", ";\n background-color: ", ";\n\n cursor: pointer;\n font-weight: 500;\n margin-right: 6px;\n padding: 6px 16px;\n\n &:hover {\n color: ", ";\n border: 1px solid ", ";\n }\n"])), function (props) {
212
212
  return props.selected ? props.theme.selectionBtnBorderActColor : props.theme.selectionBtnBorderColor;
213
213
  }, function (props) {
214
214
  return props.selected ? props.theme.selectionBtnActColor : props.theme.selectionBtnColor;
@@ -219,14 +219,14 @@ var SelectionButton = exports.SelectionButton = _styledComponents["default"].div
219
219
  }, function (props) {
220
220
  return props.theme.selectionBtnBorderActColor;
221
221
  });
222
- var StyledTable = exports.StyledTable = _styledComponents["default"].table(_templateObject30 || (_templateObject30 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n border-spacing: 0;\n\n thead {\n tr th {\n background: ", ";\n color: ", ";\n padding: 18px 12px;\n text-align: start;\n }\n }\n\n tbody {\n tr td {\n border-bottom: ", ";\n padding: 12px;\n }\n }\n"])), function (props) {
222
+ var StyledTable = exports.StyledTable = _styledComponents["default"].table(_templateObject28 || (_templateObject28 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n border-spacing: 0;\n\n thead {\n tr th {\n background: ", ";\n color: ", ";\n padding: 18px 12px;\n text-align: start;\n }\n }\n\n tbody {\n tr td {\n border-bottom: ", ";\n padding: 12px;\n }\n }\n"])), function (props) {
223
223
  return props.theme.panelBackgroundLT;
224
224
  }, function (props) {
225
225
  return props.theme.titleColorLT;
226
226
  }, function (props) {
227
227
  return props.theme.panelBorderLT;
228
228
  });
229
- var StyledModalContent = exports.StyledModalContent = _styledComponents["default"].div(_templateObject31 || (_templateObject31 = (0, _taggedTemplateLiteral2["default"])(["\n background: ", ";\n color: ", ";\n display: flex;\n flex-direction: row;\n font-size: 10px;\n padding: 24px ", ";\n margin: 0 -", ";\n justify-content: space-between;\n ", ";\n"])), function (props) {
229
+ var StyledModalContent = exports.StyledModalContent = _styledComponents["default"].div(_templateObject29 || (_templateObject29 = (0, _taggedTemplateLiteral2["default"])(["\n background: ", ";\n color: ", ";\n display: flex;\n flex-direction: row;\n font-size: 10px;\n padding: 24px ", ";\n margin: 0 -", ";\n justify-content: space-between;\n ", ";\n"])), function (props) {
230
230
  return props.theme.panelBackgroundLT;
231
231
  }, function (props) {
232
232
  return props.theme.textColorLT;
@@ -234,25 +234,25 @@ var StyledModalContent = exports.StyledModalContent = _styledComponents["default
234
234
  return props.theme.modalLateralPadding;
235
235
  }, function (props) {
236
236
  return props.theme.modalLateralPadding;
237
- }, _styles.media.portable(_templateObject32 || (_templateObject32 = (0, _taggedTemplateLiteral2["default"])(["\n flex-direction: column;\n padding: 16px ", ";\n margin: 0 -", ";\n "])), function (props) {
237
+ }, _styles.media.portable(_templateObject30 || (_templateObject30 = (0, _taggedTemplateLiteral2["default"])(["\n flex-direction: column;\n padding: 16px ", ";\n margin: 0 -", ";\n "])), function (props) {
238
238
  return props.theme.modalPortableLateralPadding;
239
239
  }, function (props) {
240
240
  return props.theme.modalPortableLateralPadding;
241
241
  }));
242
242
  var StyledModalVerticalPanel = exports.StyledModalVerticalPanel = _styledComponents["default"].div.attrs({
243
243
  className: 'modal-vertical-panel'
244
- })(_templateObject33 || (_templateObject33 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n font-size: 12px;\n\n .modal-section:first-child {\n margin-top: 24px;\n ", ";\n }\n\n input {\n margin-right: 8px;\n }\n"])), _styles.media.palm(_templateObject34 || (_templateObject34 = (0, _taggedTemplateLiteral2["default"])(["\n margin-top: 0;\n "]))));
244
+ })(_templateObject31 || (_templateObject31 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n font-size: 12px;\n\n .modal-section:first-child {\n margin-top: 24px;\n ", ";\n }\n\n input {\n margin-right: 8px;\n }\n"])), _styles.media.palm(_templateObject32 || (_templateObject32 = (0, _taggedTemplateLiteral2["default"])(["\n margin-top: 0;\n "]))));
245
245
  var StyledModalSection = exports.StyledModalSection = _styledComponents["default"].div.attrs(function (_ref) {
246
246
  var className = _ref.className;
247
247
  return {
248
248
  className: (0, _classnames["default"])('modal-section', className)
249
249
  };
250
- })(_templateObject35 || (_templateObject35 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 32px;\n\n .modal-section-title {\n font-weight: 500;\n }\n .modal-section-subtitle {\n color: ", ";\n }\n\n input {\n margin-top: 8px;\n }\n\n ", ";\n ", ";\n"])), function (props) {
250
+ })(_templateObject33 || (_templateObject33 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 32px;\n\n .modal-section-title {\n font-weight: 500;\n }\n .modal-section-subtitle {\n color: ", ";\n }\n\n input {\n margin-top: 8px;\n }\n\n ", ";\n ", ";\n"])), function (props) {
251
251
  return props.theme.subtextColorLT;
252
- }, _styles.media.portable(_templateObject36 || (_templateObject36 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 24px;\n "]))), _styles.media.palm(_templateObject37 || (_templateObject37 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 16px;\n "]))));
252
+ }, _styles.media.portable(_templateObject34 || (_templateObject34 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 24px;\n "]))), _styles.media.palm(_templateObject35 || (_templateObject35 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 16px;\n "]))));
253
253
  var StyledModalInputFootnote = exports.StyledModalInputFootnote = _styledComponents["default"].div.attrs({
254
254
  className: 'modal-input__footnote'
255
- })(_templateObject38 || (_templateObject38 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: flex-end;\n color: ", ";\n font-size: 10px;\n"])), function (props) {
255
+ })(_templateObject36 || (_templateObject36 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: flex-end;\n color: ", ";\n font-size: 10px;\n"])), function (props) {
256
256
  return props.error ? props.theme.errorColor : props.theme.subtextColorLT;
257
257
  });
258
258
  /**
@@ -260,23 +260,31 @@ var StyledModalInputFootnote = exports.StyledModalInputFootnote = _styledCompone
260
260
  * which will cause the map to display points in the wrong locations
261
261
  * This workaround will hide the error banner.
262
262
  */
263
- var StyledMapContainer = exports.StyledMapContainer = _styledComponents["default"].div(_templateObject39 || (_templateObject39 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n height: 100%;\n .maplibregl-map {\n .maplibregl-missing-css {\n display: none;\n }\n .maplibregl-ctrl-attrib {\n display: none;\n }\n }\n .mapboxgl-map {\n .mapboxgl-missing-css {\n display: none;\n }\n .mapboxgl-ctrl-attrib {\n display: none;\n }\n }\n"])));
263
+ var StyledMapContainer = exports.StyledMapContainer = _styledComponents["default"].div(_templateObject37 || (_templateObject37 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n height: 100%;\n .maplibregl-map {\n .maplibregl-missing-css {\n display: none;\n }\n .maplibregl-ctrl-attrib {\n display: none;\n }\n }\n .mapboxgl-map {\n .mapboxgl-missing-css {\n display: none;\n }\n .mapboxgl-ctrl-attrib {\n display: none;\n }\n }\n"])));
264
264
  var StyledAttribution = exports.StyledAttribution = _styledComponents["default"].div.withConfig({
265
265
  shouldForwardProp: function shouldForwardProp(prop) {
266
- return !['mapLibCssClass', 'mapLibAttributionCssClass'].includes(prop);
266
+ return !['mapLibCssClass', 'mapLibAttributionCssClass', 'showLogo'].includes(prop);
267
267
  }
268
268
  }).attrs(function (props) {
269
269
  return {
270
270
  className: props.mapLibAttributionCssClass
271
271
  };
272
- })(_templateObject40 || (_templateObject40 = (0, _taggedTemplateLiteral2["default"])(["\n bottom: 0;\n right: 0;\n position: absolute;\n display: block;\n margin: 0 10px 6px;\n z-index: 1;\n .attrition-link {\n display: flex;\n align-items: center;\n margin-left: 10px;\n\n a,\n .pipe-separator {\n margin-right: 2px;\n color: ", ";\n }\n\n .pipe-separator {\n text-decoration: none;\n }\n }\n\n .attrition-logo {\n display: flex;\n font-size: 10px;\n justify-content: flex-end;\n align-items: center;\n color: ", ";\n\n a.", "-ctrl-logo {\n width: 72px;\n margin-left: 4px;\n background-size: contain;\n }\n }\n a,\n .pipe-separator {\n font-size: 10px;\n }\n\n ", ";\n"])), function (props) {
272
+ })(_templateObject38 || (_templateObject38 = (0, _taggedTemplateLiteral2["default"])(["\n bottom: 0;\n right: 0;\n position: absolute;\n display: block;\n margin: 0 10px 6px;\n z-index: 1;\n .attrition-link {\n display: flex;\n align-items: center;\n margin-left: 10px;\n\n a,\n .pipe-separator {\n margin-right: 2px;\n color: ", ";\n }\n\n .basemap-attribution {\n display: inline-block;\n max-width: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n vertical-align: bottom;\n margin-right: 2px;\n font-size: 10px;\n line-height: normal;\n color: ", ";\n\n &:hover {\n max-width: none;\n white-space: normal;\n }\n }\n\n .basemap-attribution a {\n font-size: 10px;\n color: ", ";\n }\n\n .pipe-separator {\n text-decoration: none;\n }\n }\n\n .attrition-logo {\n display: flex;\n font-size: 10px;\n justify-content: flex-end;\n align-items: center;\n color: ", ";\n\n a.", "-ctrl-logo {\n width: 72px;\n margin-left: 4px;\n background-size: contain;\n }\n }\n a,\n .pipe-separator {\n font-size: 10px;\n }\n\n ", ";\n"])), function (props) {
273
+ return props.theme.labelColor;
274
+ }, function (props) {
275
+ return props.showLogo === false ? '320px' : '220px';
276
+ }, function (props) {
277
+ return props.theme.labelColor;
278
+ }, function (props) {
273
279
  return props.theme.labelColor;
274
280
  }, function (props) {
275
281
  return props.theme.labelColor;
276
282
  }, function (props) {
277
283
  return props.mapLibCssClass;
278
- }, _styles.media.palm(_templateObject41 || (_templateObject41 = (0, _taggedTemplateLiteral2["default"])(["\n .attrition-logo a {\n width: 60px;\n }\n\n .attrition-link {\n line-height: 1em;\n }\n "]))));
279
- var StyledExportSection = exports.StyledExportSection = _styledComponents["default"].div(_templateObject42 || (_templateObject42 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n margin: 35px 0;\n width: 100%;\n color: ", ";\n font-size: 12px;\n opacity: ", ";\n pointer-events: ", ";\n\n .description {\n width: 185px;\n .title {\n font-weight: 500;\n font-family: ", ";\n }\n .subtitle {\n color: ", ";\n font-size: 11px;\n }\n }\n .warning {\n color: ", ";\n font-weight: 500;\n }\n .description.full {\n width: 100%;\n }\n .selection {\n display: flex;\n flex-wrap: wrap;\n flex: 1;\n padding-left: 50px;\n\n select {\n background-color: white;\n border-radius: 1px;\n display: inline-block;\n font: inherit;\n line-height: 1.5em;\n padding: 0.5em 3.5em 0.5em 1em;\n margin: 0;\n box-sizing: border-box;\n appearance: none;\n width: 250px;\n height: 36px;\n\n background-image: linear-gradient(45deg, transparent 50%, gray 50%),\n linear-gradient(135deg, gray 50%, transparent 50%), linear-gradient(to right, #ccc, #ccc);\n background-position: calc(100% - 20px) calc(1em + 2px), calc(100% - 15px) calc(1em + 2px),\n calc(100% - 2.5em) 4.5em;\n background-size: 5px 5px, 5px 5px, 1px 1.5em;\n background-repeat: no-repeat;\n }\n\n select:focus {\n background-image: linear-gradient(45deg, green 50%, transparent 50%),\n linear-gradient(135deg, transparent 50%, green 50%), linear-gradient(to right, #ccc, #ccc);\n background-position: calc(100% - 15px) 1em, calc(100% - 20px) 1em, calc(100% - 2.5em) 4.5em;\n background-size: 5px 5px, 5px 5px, 1px 1.5em;\n background-repeat: no-repeat;\n border-color: green;\n outline: 0;\n }\n }\n"])), function (props) {
284
+ }, _styles.media.palm(_templateObject39 || (_templateObject39 = (0, _taggedTemplateLiteral2["default"])(["\n .attrition-logo a {\n width: 60px;\n }\n\n .attrition-link {\n line-height: 1em;\n }\n\n .basemap-attribution {\n max-width: ", ";\n }\n "])), function (props) {
285
+ return props.showLogo === false ? '220px' : '140px';
286
+ }));
287
+ var StyledExportSection = exports.StyledExportSection = _styledComponents["default"].div(_templateObject40 || (_templateObject40 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n margin: 35px 0;\n width: 100%;\n color: ", ";\n font-size: 12px;\n opacity: ", ";\n pointer-events: ", ";\n\n .description {\n width: 185px;\n .title {\n font-weight: 500;\n font-family: ", ";\n }\n .subtitle {\n color: ", ";\n font-size: 11px;\n }\n }\n .warning {\n color: ", ";\n font-weight: 500;\n }\n .description.full {\n width: 100%;\n }\n .selection {\n display: flex;\n flex-wrap: wrap;\n flex: 1;\n padding-left: 50px;\n\n select {\n background-color: white;\n border-radius: 1px;\n display: inline-block;\n font: inherit;\n line-height: 1.5em;\n padding: 0.5em 3.5em 0.5em 1em;\n margin: 0;\n box-sizing: border-box;\n appearance: none;\n width: 250px;\n height: 36px;\n\n background-image: linear-gradient(45deg, transparent 50%, gray 50%),\n linear-gradient(135deg, gray 50%, transparent 50%), linear-gradient(to right, #ccc, #ccc);\n background-position: calc(100% - 20px) calc(1em + 2px), calc(100% - 15px) calc(1em + 2px),\n calc(100% - 2.5em) 4.5em;\n background-size: 5px 5px, 5px 5px, 1px 1.5em;\n background-repeat: no-repeat;\n }\n\n select:focus {\n background-image: linear-gradient(45deg, green 50%, transparent 50%),\n linear-gradient(135deg, transparent 50%, green 50%), linear-gradient(to right, #ccc, #ccc);\n background-position: calc(100% - 15px) 1em, calc(100% - 20px) 1em, calc(100% - 2.5em) 4.5em;\n background-size: 5px 5px, 5px 5px, 1px 1.5em;\n background-repeat: no-repeat;\n border-color: green;\n outline: 0;\n }\n }\n"])), function (props) {
280
288
  return props.theme.textColorLT;
281
289
  }, function (props) {
282
290
  return props.disabled ? 0.3 : 1;
@@ -290,20 +298,20 @@ var StyledExportSection = exports.StyledExportSection = _styledComponents["defau
290
298
  }, function (props) {
291
299
  return props.theme.errorColor;
292
300
  });
293
- var StyledFilteredOption = exports.StyledFilteredOption = (0, _styledComponents["default"])(SelectionButton)(_templateObject43 || (_templateObject43 = (0, _taggedTemplateLiteral2["default"])(["\n align-items: center;\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin: 4px;\n padding: 8px 12px;\n width: 140px;\n\n .filter-option-title {\n color: ", ";\n font-size: 12px;\n font-weight: 500;\n }\n .filter-option-subtitle {\n color: ", ";\n font-size: 11px;\n }\n"])), function (props) {
301
+ var StyledFilteredOption = exports.StyledFilteredOption = (0, _styledComponents["default"])(SelectionButton)(_templateObject41 || (_templateObject41 = (0, _taggedTemplateLiteral2["default"])(["\n align-items: center;\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin: 4px;\n padding: 8px 12px;\n width: 140px;\n\n .filter-option-title {\n color: ", ";\n font-size: 12px;\n font-weight: 500;\n }\n .filter-option-subtitle {\n color: ", ";\n font-size: 11px;\n }\n"])), function (props) {
294
302
  return props.theme.textColorLT;
295
303
  }, function (props) {
296
304
  return props.theme.subtextColorLT;
297
305
  });
298
- var StyledType = exports.StyledType = (0, _styledComponents["default"])(SelectionButton)(_templateObject44 || (_templateObject44 = (0, _taggedTemplateLiteral2["default"])(["\n height: 100px;\n margin: 4px;\n padding: 6px 10px;\n width: 100px;\n"])));
299
- var WidgetContainer = exports.WidgetContainer = _styledComponents["default"].div(_templateObject45 || (_templateObject45 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 1;\n"])));
300
- var BottomWidgetInner = exports.BottomWidgetInner = _styledComponents["default"].div(_templateObject46 || (_templateObject46 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n padding: ", ";\n position: relative;\n margin-top: ", "px;\n\n ", "\n"])), function (props) {
306
+ var StyledType = exports.StyledType = (0, _styledComponents["default"])(SelectionButton)(_templateObject42 || (_templateObject42 = (0, _taggedTemplateLiteral2["default"])(["\n height: 100px;\n margin: 4px;\n padding: 6px 10px;\n width: 100px;\n"])));
307
+ var WidgetContainer = exports.WidgetContainer = _styledComponents["default"].div(_templateObject43 || (_templateObject43 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 1;\n"])));
308
+ var BottomWidgetInner = exports.BottomWidgetInner = _styledComponents["default"].div(_templateObject44 || (_templateObject44 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n padding: ", ";\n position: relative;\n margin-top: ", "px;\n\n ", "\n"])), function (props) {
301
309
  return props.theme.bottomWidgetBgd;
302
310
  }, function (props) {
303
311
  return "".concat(props.theme.bottomInnerPdVert, "px ").concat(props.theme.bottomInnerPdSide, "px");
304
312
  }, function (props) {
305
313
  return props.theme.bottomPanelGap;
306
- }, _styles.media.portable(_templateObject47 || (_templateObject47 = (0, _taggedTemplateLiteral2["default"])(["\n border-top: 1px solid ", ";\n border-left: 1px solid ", ";\n padding: 12px 12px;\n margin-top: 0;\n "])), function (props) {
314
+ }, _styles.media.portable(_templateObject45 || (_templateObject45 = (0, _taggedTemplateLiteral2["default"])(["\n border-top: 1px solid ", ";\n border-left: 1px solid ", ";\n padding: 12px 12px;\n margin-top: 0;\n "])), function (props) {
307
315
  return props.theme.panelBorderColor;
308
316
  }, function (props) {
309
317
  return props.theme.panelBorderColor;
@@ -316,7 +324,7 @@ var MapControlButton = exports.MapControlButton = (0, _styledComponents["default
316
324
  return {
317
325
  className: (0, _classnames["default"])('map-control-button', props.className)
318
326
  };
319
- })(_templateObject48 || (_templateObject48 = (0, _taggedTemplateLiteral2["default"])(["\n box-shadow: 0 6px 12px 0 rgba(0, 0, 0, 0.16);\n height: 32px;\n width: 32px;\n padding: 0;\n border-radius: ", ";\n background-color: ", ";\n color: ", ";\n border: ", ";\n\n &:hover,\n &:focus,\n &:active,\n &.active {\n background-color: ", ";\n color: ", ";\n border: ", ";\n }\n svg {\n margin-right: 0;\n }\n"])), function (props) {
327
+ })(_templateObject46 || (_templateObject46 = (0, _taggedTemplateLiteral2["default"])(["\n box-shadow: 0 6px 12px 0 rgba(0, 0, 0, 0.16);\n height: 32px;\n width: 32px;\n padding: 0;\n border-radius: ", ";\n background-color: ", ";\n color: ", ";\n border: ", ";\n\n &:hover,\n &:focus,\n &:active,\n &.active {\n background-color: ", ";\n color: ", ";\n border: ", ";\n }\n svg {\n margin-right: 0;\n }\n"])), function (props) {
320
328
  return props.theme.floatingBtnRadius;
321
329
  }, function (props) {
322
330
  return props.active ? props.theme.floatingBtnBgdHover : props.theme.floatingBtnBgd;
@@ -331,16 +339,16 @@ var MapControlButton = exports.MapControlButton = (0, _styledComponents["default
331
339
  }, function (props) {
332
340
  return props.theme.floatingBtnBorderHover;
333
341
  });
334
- var StyledFilterContent = exports.StyledFilterContent = _styledComponents["default"].div(_templateObject49 || (_templateObject49 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n padding: 12px;\n"])), function (props) {
342
+ var StyledFilterContent = exports.StyledFilterContent = _styledComponents["default"].div(_templateObject47 || (_templateObject47 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n padding: 12px;\n"])), function (props) {
335
343
  return props.theme.panelContentBackground;
336
344
  });
337
- var TruncatedTitleText = exports.TruncatedTitleText = _styledComponents["default"].div(_templateObject50 || (_templateObject50 = (0, _taggedTemplateLiteral2["default"])(["\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n"])));
345
+ var TruncatedTitleText = exports.TruncatedTitleText = _styledComponents["default"].div(_templateObject48 || (_templateObject48 = (0, _taggedTemplateLiteral2["default"])(["\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n"])));
338
346
  var CheckMark = exports.CheckMark = _styledComponents["default"].span.attrs({
339
347
  className: 'checkbox-inner'
340
- })(_templateObject51 || (_templateObject51 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n position: absolute;\n top: 0;\n right: 0;\n display: block;\n width: 10px;\n height: 10px;\n border-top-left-radius: 2px;\n\n &:after {\n position: absolute;\n display: table;\n border: 1px solid #fff;\n border-top: 0;\n border-left: 0;\n transform: rotate(45deg) scale(1) translate(-50%, -50%);\n opacity: 1;\n content: ' ';\n top: 40%;\n left: 30%;\n width: 3.2px;\n height: 6.22px;\n }\n"])), function (props) {
348
+ })(_templateObject49 || (_templateObject49 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n position: absolute;\n top: 0;\n right: 0;\n display: block;\n width: 10px;\n height: 10px;\n border-top-left-radius: 2px;\n\n &:after {\n position: absolute;\n display: table;\n border: 1px solid #fff;\n border-top: 0;\n border-left: 0;\n transform: rotate(45deg) scale(1) translate(-50%, -50%);\n opacity: 1;\n content: ' ';\n top: 40%;\n left: 30%;\n width: 3.2px;\n height: 6.22px;\n }\n"])), function (props) {
341
349
  return props.theme.selectionBtnBorderActColor;
342
350
  });
343
- var StyledTimePicker = exports.StyledTimePicker = (0, _styledComponents["default"])(_reactTimePicker["default"])(_templateObject52 || (_templateObject52 = (0, _taggedTemplateLiteral2["default"])(["\n .react-time-picker {\n display: inline-flex;\n position: relative;\n font-family: ", ";\n font-size: ", ";\n background-color: ", ";\n color: ", ";\n }\n .react-time-picker,\n .react-time-picker *,\n .react-time-picker *:before,\n .react-time-picker *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n }\n .react-time-picker__wrapper {\n display: flex;\n flex-grow: 1;\n flex-shrink: 0;\n background-color: ", ";\n border-radius: 4px;\n width: 110px;\n white-space: nowrap;\n }\n .react-time-picker__wrapper:hover {\n background-color: ", ";\n }\n .react-time-picker__inputGroup {\n min-width: calc((4px * 3) + 0.54em * 6 + 0.217em * 2);\n flex-grow: 1;\n padding: 4px 2px;\n box-sizing: content-box;\n display: flex;\n justify-content: end;\n align-items: center;\n height: 24px;\n }\n .react-time-picker__inputGroup__divider {\n padding: 1px 0;\n white-space: pre;\n }\n .react-time-picker__inputGroup__divider,\n .react-time-picker__inputGroup__leadingZero {\n display: inline-block;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: 400;\n }\n .react-time-picker__inputGroup__input {\n min-width: 0.54em;\n height: 100%;\n position: relative;\n padding: 0 1px;\n border: 0;\n background: transparent;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n box-sizing: content-box;\n -webkit-appearance: textfield;\n -moz-appearance: textfield;\n appearance: textfield;\n }\n .react-time-picker__inputGroup__input:focus {\n outline: none;\n }\n .react-time-picker__inputGroup__input::-webkit-outer-spin-button,\n .react-time-picker__inputGroup__input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n margin: 0;\n }\n .react-time-picker__inputGroup__input--hasLeadingZero {\n margin-left: -0.54em;\n padding-left: calc(1px + 0.54em);\n }\n .react-time-picker__inputGroup__amPm {\n max-width: 37px;\n font: inherit;\n font-weight: 400;\n -webkit-appearance: menulist;\n -moz-appearance: menulist;\n appearance: menulist;\n font-size: ", ";\n }\n .react-time-picker__button {\n border: 0;\n background-color: ", ";\n padding: 4px 6px;\n }\n .react-time-picker__button:enabled {\n cursor: pointer;\n }\n .react-time-picker__button svg {\n display: inherit;\n }\n .react-time-picker__clock--closed,\n .react-time-picker__clear-button {\n display: none;\n }\n"])), function (props) {
351
+ var StyledTimePicker = exports.StyledTimePicker = (0, _styledComponents["default"])(_reactTimePicker["default"])(_templateObject50 || (_templateObject50 = (0, _taggedTemplateLiteral2["default"])(["\n .react-time-picker {\n display: inline-flex;\n position: relative;\n font-family: ", ";\n font-size: ", ";\n background-color: ", ";\n color: ", ";\n }\n .react-time-picker,\n .react-time-picker *,\n .react-time-picker *:before,\n .react-time-picker *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n }\n .react-time-picker__wrapper {\n display: flex;\n flex-grow: 1;\n flex-shrink: 0;\n background-color: ", ";\n border-radius: 4px;\n width: 110px;\n white-space: nowrap;\n }\n .react-time-picker__wrapper:hover {\n background-color: ", ";\n }\n .react-time-picker__inputGroup {\n min-width: calc((4px * 3) + 0.54em * 6 + 0.217em * 2);\n flex-grow: 1;\n padding: 4px 2px;\n box-sizing: content-box;\n display: flex;\n justify-content: end;\n align-items: center;\n height: 24px;\n }\n .react-time-picker__inputGroup__divider {\n padding: 1px 0;\n white-space: pre;\n }\n .react-time-picker__inputGroup__divider,\n .react-time-picker__inputGroup__leadingZero {\n display: inline-block;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: 400;\n }\n .react-time-picker__inputGroup__input {\n min-width: 0.54em;\n height: 100%;\n position: relative;\n padding: 0 1px;\n border: 0;\n background: transparent;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n box-sizing: content-box;\n -webkit-appearance: textfield;\n -moz-appearance: textfield;\n appearance: textfield;\n }\n .react-time-picker__inputGroup__input:focus {\n outline: none;\n }\n .react-time-picker__inputGroup__input::-webkit-outer-spin-button,\n .react-time-picker__inputGroup__input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n margin: 0;\n }\n .react-time-picker__inputGroup__input--hasLeadingZero {\n margin-left: -0.54em;\n padding-left: calc(1px + 0.54em);\n }\n .react-time-picker__inputGroup__amPm {\n max-width: 37px;\n font: inherit;\n font-weight: 400;\n -webkit-appearance: menulist;\n -moz-appearance: menulist;\n appearance: menulist;\n font-size: ", ";\n }\n .react-time-picker__button {\n border: 0;\n background-color: ", ";\n padding: 4px 6px;\n }\n .react-time-picker__button:enabled {\n cursor: pointer;\n }\n .react-time-picker__button svg {\n display: inherit;\n }\n .react-time-picker__clock--closed,\n .react-time-picker__clear-button {\n display: none;\n }\n"])), function (props) {
344
352
  return props.theme.fontFamily;
345
353
  }, function (props) {
346
354
  return props.theme.inputFontSize;
@@ -369,7 +377,7 @@ var StyledTimePicker = exports.StyledTimePicker = (0, _styledComponents["default
369
377
  }, function (props) {
370
378
  return props.theme.inputBgd;
371
379
  });
372
- var StyledDatePicker = exports.StyledDatePicker = (0, _styledComponents["default"])(_reactDatePicker["default"])(_templateObject53 || (_templateObject53 = (0, _taggedTemplateLiteral2["default"])(["\n .react-date-picker {\n display: inline-flex;\n position: relative;\n font-family: ", ";\n font-size: ", ";\n }\n .react-date-picker,\n .react-date-picker *,\n .react-date-picker *:before,\n .react-date-picker *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n }\n .react-date-picker__wrapper {\n display: flex;\n flex-grow: 1;\n flex-shrink: 0;\n width: 108px;\n white-space: nowrap;\n border-radius: 4px;\n }\n .react-date-picker__inputGroup {\n min-width: calc((4px * 3) + 0.54em * 8 + 0.217em * 2);\n flex-grow: 1;\n padding: 4px 9px;\n box-sizing: content-box;\n background-color: ", ";\n display: flex;\n justify-content: end;\n align-items: center;\n height: 22px;\n border: 1px solid ", ";\n border-radius: 4px;\n }\n\n .react-date-picker__inputGroup:hover {\n background-color: ", ";\n }\n .react-date-picker__inputGroup__divider {\n padding: 1px 0;\n white-space: pre;\n color: ", ";\n }\n .react-date-picker__inputGroup__divider,\n .react-date-picker__inputGroup__leadingZero {\n display: inline-block;\n }\n .react-date-picker__inputGroup__input {\n min-width: 0.54em;\n height: 100%;\n position: relative;\n padding: 0 1px;\n border: 0;\n background: none;\n color: ", ";\n font: inherit;\n font-size: ", ";\n box-sizing: content-box;\n -webkit-appearance: textfield;\n -moz-appearance: textfield;\n appearance: textfield;\n }\n .react-date-picker__inputGroup__input:focus {\n outline: none;\n }\n .react-date-picker__inputGroup__input::-webkit-outer-spin-button,\n .react-date-picker__inputGroup__input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n margin: 0;\n }\n .react-date-picker__inputGroup__input:invalid {\n background: ", ";\n }\n .react-date-picker__inputGroup__input--hasLeadingZero {\n margin-left: -0.54em;\n padding-left: calc(1px + 0.54em);\n }\n .react-date-picker__calendar {\n width: 257px;\n max-width: 100vw;\n z-index: 11;\n color: ", ";\n inset: auto !important;\n }\n .react-date-picker__calendar--closed {\n display: none;\n }\n .react-date-picker__calendar .react-calendar {\n border-width: thin;\n }\n .react-date-picker__button {\n display: none;\n }\n .react-calendar {\n width: 256px;\n max-width: 100%;\n color: ", ";\n background: ", ";\n border-radius: 0px 4px 4px 4px;\n font-family: ", ";\n line-height: 1.125em;\n padding: 16px;\n }\n .react-calendar,\n .react-calendar *,\n .react-calendar *:before,\n .react-calendar *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n }\n .react-calendar button {\n margin: 0;\n border: 0;\n outline: none;\n }\n .react-calendar buttom:enabled {\n color: ", ";\n }\n .react-calendar button:enabled:hover {\n cursor: pointer;\n }\n .react-calendar__navigation {\n display: flex;\n height: 25px;\n margin-bottom: 1em;\n }\n .react-calendar__navigation button {\n min-width: 25px;\n background: none;\n }\n .react-calendar__navigation button:enabled:hover,\n .react-calendar__navigation button:enabled:focus {\n background-color: ", ";\n }\n .react-calendar__month-view__weekdays {\n text-align: center;\n text-transform: uppercase;\n font-weight: bold;\n }\n .react-calendar__month-view__weekdays__weekday {\n color: ", ";\n padding: 0.5em;\n font-size: ", ";\n abbr {\n text-decoration: none;\n }\n }\n .react-calendar__month-view__weekNumbers .react-calendar__tile {\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: bold;\n }\n .react-calendar__month-view__days__day--weekend {\n color: ", ";\n }\n .react-calendar__month-view__days__day--neighboringMonth {\n color: ", ";\n opacity: 0.4;\n }\n .react-calendar__navigation__label__labelText,\n .react-calendar__navigation__arrow {\n color: ", ";\n }\n .react-calendar__year-view .react-calendar__tile,\n .react-calendar__decade-view .react-calendar__tile,\n .react-calendar__century-view .react-calendar__tile {\n padding: 2em 0.5em;\n }\n .react-calendar__tile {\n color: ", ";\n max-width: 100%;\n padding: 6px 4px;\n background: none;\n text-align: center;\n font-size: ", ";\n height: 30px;\n }\n .react-calendar__tile:enabled:hover,\n .react-calendar__tile:enabled:focus {\n background-color: ", ";\n color: ", ";\n }\n .react-calendar__tile--now:enabled:hover,\n .react-calendar__tile--now:enabled:focus {\n background: ", ";\n color: ", ";\n }\n .react-calendar__tile--hasActive {\n background: ", ";\n }\n .react-calendar__tile--hasActive:enabled:hover,\n .react-calendar__tile--hasActive:enabled:focus {\n background: ", ";\n color: ", ";\n }\n .react-calendar__tile--active {\n background: ", ";\n color: ", ";\n border-radius: 4px;\n }\n .react-calendar__tile--active:enabled:hover,\n .react-calendar__tile--active:enabled:focus {\n background: ", ";\n }\n .calendar__navigation__label__labelText {\n \u0441olor: ", ";\n }\n"])), function (props) {
380
+ var StyledDatePicker = exports.StyledDatePicker = (0, _styledComponents["default"])(_reactDatePicker["default"])(_templateObject51 || (_templateObject51 = (0, _taggedTemplateLiteral2["default"])(["\n .react-date-picker {\n display: inline-flex;\n position: relative;\n font-family: ", ";\n font-size: ", ";\n }\n .react-date-picker,\n .react-date-picker *,\n .react-date-picker *:before,\n .react-date-picker *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n }\n .react-date-picker__wrapper {\n display: flex;\n flex-grow: 1;\n flex-shrink: 0;\n width: 108px;\n white-space: nowrap;\n border-radius: 4px;\n }\n .react-date-picker__inputGroup {\n min-width: calc((4px * 3) + 0.54em * 8 + 0.217em * 2);\n flex-grow: 1;\n padding: 4px 9px;\n box-sizing: content-box;\n background-color: ", ";\n display: flex;\n justify-content: end;\n align-items: center;\n height: 22px;\n border: 1px solid ", ";\n border-radius: 4px;\n }\n\n .react-date-picker__inputGroup:hover {\n background-color: ", ";\n }\n .react-date-picker__inputGroup__divider {\n padding: 1px 0;\n white-space: pre;\n color: ", ";\n }\n .react-date-picker__inputGroup__divider,\n .react-date-picker__inputGroup__leadingZero {\n display: inline-block;\n }\n .react-date-picker__inputGroup__input {\n min-width: 0.54em;\n height: 100%;\n position: relative;\n padding: 0 1px;\n border: 0;\n background: none;\n color: ", ";\n font: inherit;\n font-size: ", ";\n box-sizing: content-box;\n -webkit-appearance: textfield;\n -moz-appearance: textfield;\n appearance: textfield;\n }\n .react-date-picker__inputGroup__input:focus {\n outline: none;\n }\n .react-date-picker__inputGroup__input::-webkit-outer-spin-button,\n .react-date-picker__inputGroup__input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n margin: 0;\n }\n .react-date-picker__inputGroup__input:invalid {\n background: ", ";\n }\n .react-date-picker__inputGroup__input--hasLeadingZero {\n margin-left: -0.54em;\n padding-left: calc(1px + 0.54em);\n }\n .react-date-picker__calendar {\n width: 257px;\n max-width: 100vw;\n z-index: 11;\n color: ", ";\n inset: auto !important;\n }\n .react-date-picker__calendar--closed {\n display: none;\n }\n .react-date-picker__calendar .react-calendar {\n border-width: thin;\n }\n .react-date-picker__button {\n display: none;\n }\n .react-calendar {\n width: 256px;\n max-width: 100%;\n color: ", ";\n background: ", ";\n border-radius: 0px 4px 4px 4px;\n font-family: ", ";\n line-height: 1.125em;\n padding: 16px;\n }\n .react-calendar,\n .react-calendar *,\n .react-calendar *:before,\n .react-calendar *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n }\n .react-calendar button {\n margin: 0;\n border: 0;\n outline: none;\n }\n .react-calendar buttom:enabled {\n color: ", ";\n }\n .react-calendar button:enabled:hover {\n cursor: pointer;\n }\n .react-calendar__navigation {\n display: flex;\n height: 25px;\n margin-bottom: 1em;\n }\n .react-calendar__navigation button {\n min-width: 25px;\n background: none;\n }\n .react-calendar__navigation button:enabled:hover,\n .react-calendar__navigation button:enabled:focus {\n background-color: ", ";\n }\n .react-calendar__month-view__weekdays {\n text-align: center;\n text-transform: uppercase;\n font-weight: bold;\n }\n .react-calendar__month-view__weekdays__weekday {\n color: ", ";\n padding: 0.5em;\n font-size: ", ";\n abbr {\n text-decoration: none;\n }\n }\n .react-calendar__month-view__weekNumbers .react-calendar__tile {\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: bold;\n }\n .react-calendar__month-view__days__day--weekend {\n color: ", ";\n }\n .react-calendar__month-view__days__day--neighboringMonth {\n color: ", ";\n opacity: 0.4;\n }\n .react-calendar__navigation__label__labelText,\n .react-calendar__navigation__arrow {\n color: ", ";\n }\n .react-calendar__year-view .react-calendar__tile,\n .react-calendar__decade-view .react-calendar__tile,\n .react-calendar__century-view .react-calendar__tile {\n padding: 2em 0.5em;\n }\n .react-calendar__tile {\n color: ", ";\n max-width: 100%;\n padding: 6px 4px;\n background: none;\n text-align: center;\n font-size: ", ";\n height: 30px;\n }\n .react-calendar__tile:enabled:hover,\n .react-calendar__tile:enabled:focus {\n background-color: ", ";\n color: ", ";\n }\n .react-calendar__tile--now:enabled:hover,\n .react-calendar__tile--now:enabled:focus {\n background: ", ";\n color: ", ";\n }\n .react-calendar__tile--hasActive {\n background: ", ";\n }\n .react-calendar__tile--hasActive:enabled:hover,\n .react-calendar__tile--hasActive:enabled:focus {\n background: ", ";\n color: ", ";\n }\n .react-calendar__tile--active {\n background: ", ";\n color: ", ";\n border-radius: 4px;\n }\n .react-calendar__tile--active:enabled:hover,\n .react-calendar__tile--active:enabled:focus {\n background: ", ";\n }\n .calendar__navigation__label__labelText {\n \u0441olor: ", ";\n }\n"])), function (props) {
373
381
  return props.theme.fontFamily;
374
382
  }, function (props) {
375
383
  return props.theme.inputFontSize;
@@ -436,4 +444,4 @@ var StyledDatePicker = exports.StyledDatePicker = (0, _styledComponents["default
436
444
  }, function (props) {
437
445
  return props.theme.effectPanelTextMain;
438
446
  });
439
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc3R5bGVzIiwicmVxdWlyZSIsIl9jbGFzc25hbWVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9yZWFjdERhdGVQaWNrZXIiLCJfcmVhY3RUaW1lUGlja2VyIiwiX3JlYWN0VG9vbHRpcCIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2lzUHJvcFZhbGlkIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl90ZW1wbGF0ZU9iamVjdDYiLCJfdGVtcGxhdGVPYmplY3Q3IiwiX3RlbXBsYXRlT2JqZWN0OCIsIl90ZW1wbGF0ZU9iamVjdDkiLCJfdGVtcGxhdGVPYmplY3QxMCIsIl90ZW1wbGF0ZU9iamVjdDExIiwiX3RlbXBsYXRlT2JqZWN0MTIiLCJfdGVtcGxhdGVPYmplY3QxMyIsIl90ZW1wbGF0ZU9iamVjdDE0IiwiX3RlbXBsYXRlT2JqZWN0MTUiLCJfdGVtcGxhdGVPYmplY3QxNiIsIl90ZW1wbGF0ZU9iamVjdDE3IiwiX3RlbXBsYXRlT2JqZWN0MTgiLCJfdGVtcGxhdGVPYmplY3QxOSIsIl90ZW1wbGF0ZU9iamVjdDIwIiwiX3RlbXBsYXRlT2JqZWN0MjEiLCJfdGVtcGxhdGVPYmplY3QyMiIsIl90ZW1wbGF0ZU9iamVjdDIzIiwiX3RlbXBsYXRlT2JqZWN0MjQiLCJfdGVtcGxhdGVPYmplY3QyNSIsIl90ZW1wbGF0ZU9iamVjdDI2IiwiX3RlbXBsYXRlT2JqZWN0MjciLCJfdGVtcGxhdGVPYmplY3QyOCIsIl90ZW1wbGF0ZU9iamVjdDI5IiwiX3RlbXBsYXRlT2JqZWN0MzAiLCJfdGVtcGxhdGVPYmplY3QzMSIsIl90ZW1wbGF0ZU9iamVjdDMyIiwiX3RlbXBsYXRlT2JqZWN0MzMiLCJfdGVtcGxhdGVPYmplY3QzNCIsIl90ZW1wbGF0ZU9iamVjdDM1IiwiX3RlbXBsYXRlT2JqZWN0MzYiLCJfdGVtcGxhdGVPYmplY3QzNyIsIl90ZW1wbGF0ZU9iamVjdDM4IiwiX3RlbXBsYXRlT2JqZWN0MzkiLCJfdGVtcGxhdGVPYmplY3Q0MCIsIl90ZW1wbGF0ZU9iamVjdDQxIiwiX3RlbXBsYXRlT2JqZWN0NDIiLCJfdGVtcGxhdGVPYmplY3Q0MyIsIl90ZW1wbGF0ZU9iamVjdDQ0IiwiX3RlbXBsYXRlT2JqZWN0NDUiLCJfdGVtcGxhdGVPYmplY3Q0NiIsIl90ZW1wbGF0ZU9iamVjdDQ3IiwiX3RlbXBsYXRlT2JqZWN0NDgiLCJfdGVtcGxhdGVPYmplY3Q0OSIsIl90ZW1wbGF0ZU9iamVjdDUwIiwiX3RlbXBsYXRlT2JqZWN0NTEiLCJfdGVtcGxhdGVPYmplY3Q1MiIsIl90ZW1wbGF0ZU9iamVjdDUzIiwic2hvdWxkRm9yd2FyZFByb3AiLCJwcm9wTmFtZSIsInRhcmdldCIsImlzUHJvcFZhbGlkIiwiU2VsZWN0VGV4dCIsImV4cG9ydHMiLCJzdHlsZWQiLCJzcGFuIiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsInRoZW1lIiwibGFiZWxDb2xvciIsInNlbGVjdEZvbnRTaXplIiwiU2VsZWN0VGV4dEJvbGQiLCJ0ZXh0Q29sb3IiLCJJY29uUm91bmRTbWFsbCIsImRpdiIsInNlY29uZGFyeUJ0bkJnZEhvdmVyIiwic2Vjb25kYXJ5QnRuQ29sb3IiLCJDZW50ZXJGbGV4Ym94IiwiQ2VudGVyVmVydGljYWxGbGV4Ym94IiwiRW5kSG9yaXpvbnRhbEZsZXhib3giLCJTcGFjZUJldHdlZW5GbGV4Ym94IiwiU0JGbGV4Ym94SXRlbSIsIlNCRmxleGJveE5vTWFyZ2luIiwiUGFuZWxMYWJlbCIsImxhYmVsIiwiYXR0cnMiLCJjbGFzc05hbWUiLCJQYW5lbExhYmVsV3JhcHBlciIsIlBhbmVsTGFiZWxCb2xkIiwiUGFuZWxIZWFkZXJUaXRsZSIsImNsYXNzbmFtZXMiLCJQYW5lbEhlYWRlckNvbnRlbnQiLCJQYW5lbENvbnRlbnQiLCJwYW5lbENvbnRlbnRCYWNrZ3JvdW5kIiwiU2lkZVBhbmVsU2VjdGlvbiIsImRpc2FibGVkIiwiU2lkZVBhbmVsRGl2aWRlciIsInNpZGVwYW5lbERpdmlkZXJCb3JkZXIiLCJwYW5lbEJvcmRlckNvbG9yIiwic2lkZXBhbmVsRGl2aWRlck1hcmdpbiIsInNpZGVwYW5lbERpdmlkZXJIZWlnaHQiLCJUb29sdGlwIiwiUmVhY3RUb29sdGlwIiwidG9vbHRpcEZvbnRTaXplIiwidG9vbHRpcEJveFNoYWRvdyIsInRvb2x0aXBCZyIsInRvb2x0aXBDb2xvciIsIkJ1dHRvbiIsImJ1dHRvbiIsIndpdGhDb25maWciLCJuZWdhdGl2ZSIsIm5lZ2F0aXZlQnRuQmdkIiwic2Vjb25kYXJ5Iiwic2Vjb25kYXJ5QnRuQmdkIiwibGluayIsImxpbmtCdG5CZ2QiLCJmbG9hdGluZyIsImZsb2F0aW5nQnRuQmdkIiwiY3RhIiwiY3RhQnRuQmdkIiwicHJpbWFyeUJ0bkJnZCIsInByaW1hcnlCdG5SYWRpdXMiLCJuZWdhdGl2ZUJ0bkNvbG9yIiwibGlua0J0bkNvbG9yIiwiZmxvYXRpbmdCdG5Db2xvciIsImN0YUJ0bkNvbG9yIiwicHJpbWFyeUJ0bkNvbG9yIiwibGFyZ2UiLCJwcmltYXJ5QnRuRm9udFNpemVMYXJnZSIsInNtYWxsIiwicHJpbWFyeUJ0bkZvbnRTaXplU21hbGwiLCJwcmltYXJ5QnRuRm9udFNpemVEZWZhdWx0IiwiYnRuRm9udEZhbWlseSIsInRyYW5zaXRpb24iLCJ3aWR0aCIsIm5lZ2F0aXZlQnRuQm9yZGVyIiwic2Vjb25kYXJ5QnRuQm9yZGVyIiwiZmxvYXRpbmdCdG5Cb3JkZXIiLCJsaW5rQnRuQm9yZGVyIiwicHJpbWFyeUJ0bkJvcmRlciIsIm5lZ2F0aXZlQnRuQmdkSG92ZXIiLCJsaW5rQnRuQWN0QmdkSG92ZXIiLCJmbG9hdGluZ0J0bkJnZEhvdmVyIiwiY3RhQnRuQmdkSG92ZXIiLCJwcmltYXJ5QnRuQmdkSG92ZXIiLCJuZWdhdGl2ZUJ0bkFjdENvbG9yIiwic2Vjb25kYXJ5QnRuQWN0Q29sb3IiLCJsaW5rQnRuQWN0Q29sb3IiLCJmbG9hdGluZ0J0bkFjdENvbG9yIiwiY3RhQnRuQWN0Q29sb3IiLCJwcmltYXJ5QnRuQWN0Q29sb3IiLCJJbnB1dCIsImlucHV0Iiwic2Vjb25kYXJ5SW5wdXQiLCJJbnB1dExpZ2h0IiwiaW5wdXRMVCIsIlRleHRBcmVhIiwidGV4dGFyZWEiLCJUZXh0QXJlYUxpZ2h0IiwiSW5saW5lSW5wdXQiLCJpbmxpbmVJbnB1dCIsIlN0eWxlZFBhbmVsSGVhZGVyIiwiJGFjdGl2ZSIsInBhbmVsQmFja2dyb3VuZEhvdmVyIiwicGFuZWxCYWNrZ3JvdW5kIiwibGFiZWxSQ0dDb2xvclZhbHVlcyIsImpvaW4iLCJwYW5lbEhlYWRlckhlaWdodCIsInBhbmVsSGVhZGVyQm9yZGVyUmFkaXVzIiwiU3R5bGVkUGFuZWxEcm9wZG93biIsInBhbmVsRHJvcGRvd25TY3JvbGxCYXIiLCJ0eXBlIiwibW9kYWxEcm9wZG93bkJhY2tncm91bmQiLCJwYW5lbEJveFNoYWRvdyIsInBhbmVsQm9yZGVyUmFkaXVzIiwiQnV0dG9uR3JvdXAiLCJEYXRhc2V0U3F1YXJlIiwiYmFja2dyb3VuZENvbG9yIiwiU2VsZWN0aW9uQnV0dG9uIiwic2VsZWN0ZWQiLCJzZWxlY3Rpb25CdG5Cb3JkZXJBY3RDb2xvciIsInNlbGVjdGlvbkJ0bkJvcmRlckNvbG9yIiwic2VsZWN0aW9uQnRuQWN0Q29sb3IiLCJzZWxlY3Rpb25CdG5Db2xvciIsInNlbGVjdGlvbkJ0bkFjdEJnZCIsInNlbGVjdGlvbkJ0bkJnZCIsIlN0eWxlZFRhYmxlIiwidGFibGUiLCJwYW5lbEJhY2tncm91bmRMVCIsInRpdGxlQ29sb3JMVCIsInBhbmVsQm9yZGVyTFQiLCJTdHlsZWRNb2RhbENvbnRlbnQiLCJ0ZXh0Q29sb3JMVCIsIm1vZGFsTGF0ZXJhbFBhZGRpbmciLCJtZWRpYSIsInBvcnRhYmxlIiwibW9kYWxQb3J0YWJsZUxhdGVyYWxQYWRkaW5nIiwiU3R5bGVkTW9kYWxWZXJ0aWNhbFBhbmVsIiwicGFsbSIsIlN0eWxlZE1vZGFsU2VjdGlvbiIsIl9yZWYiLCJzdWJ0ZXh0Q29sb3JMVCIsIlN0eWxlZE1vZGFsSW5wdXRGb290bm90ZSIsImVycm9yIiwiZXJyb3JDb2xvciIsIlN0eWxlZE1hcENvbnRhaW5lciIsIlN0eWxlZEF0dHJpYnV0aW9uIiwicHJvcCIsImluY2x1ZGVzIiwibWFwTGliQXR0cmlidXRpb25Dc3NDbGFzcyIsIm1hcExpYkNzc0NsYXNzIiwiU3R5bGVkRXhwb3J0U2VjdGlvbiIsIl9wcm9wcyR0aGVtZSRmb250RmFtaSIsImZvbnRGYW1pbHlNZWRpdW0iLCJmb250RmFtaWx5IiwiU3R5bGVkRmlsdGVyZWRPcHRpb24iLCJTdHlsZWRUeXBlIiwiV2lkZ2V0Q29udGFpbmVyIiwiQm90dG9tV2lkZ2V0SW5uZXIiLCJib3R0b21XaWRnZXRCZ2QiLCJjb25jYXQiLCJib3R0b21Jbm5lclBkVmVydCIsImJvdHRvbUlubmVyUGRTaWRlIiwiYm90dG9tUGFuZWxHYXAiLCJNYXBDb250cm9sQnV0dG9uIiwiZmxvYXRpbmdCdG5SYWRpdXMiLCJhY3RpdmUiLCJmbG9hdGluZ0J0bkJvcmRlckhvdmVyIiwiU3R5bGVkRmlsdGVyQ29udGVudCIsIlRydW5jYXRlZFRpdGxlVGV4dCIsIkNoZWNrTWFyayIsIlN0eWxlZFRpbWVQaWNrZXIiLCJUaW1lUGlja2VyIiwiaW5wdXRGb250U2l6ZSIsImlucHV0QmdkIiwiZWZmZWN0UGFuZWxUZXh0TWFpbiIsImlucHV0QmdkSG92ZXIiLCJTdHlsZWREYXRlUGlja2VyIiwiRGF0ZVBpY2tlciIsImVmZmVjdFBhbmVsVGV4dFNlY29uZGFyeTEiLCJpbnB1dEJnZEFjdGl2ZSIsImVmZmVjdFBhbmVsVGV4dFNlY29uZGFyeTIiLCJlZmZlY3RQYW5lbFRleHRTZWNvbmRhcnkzIiwicHJpbWFyeUJ0bkFjdEJnZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7bWVkaWF9IGZyb20gJ0BrZXBsZXIuZ2wvc3R5bGVzJztcbmltcG9ydCB7UkdCQ29sb3J9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgRGF0ZVBpY2tlciBmcm9tICdyZWFjdC1kYXRlLXBpY2tlcic7XG5pbXBvcnQgVGltZVBpY2tlciBmcm9tICdyZWFjdC10aW1lLXBpY2tlcic7XG5pbXBvcnQgUmVhY3RUb29sdGlwLCB7VG9vbHRpcFByb3BzfSBmcm9tICdyZWFjdC10b29sdGlwJztcbmltcG9ydCBzdHlsZWQsIHtJU3R5bGVkQ29tcG9uZW50fSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgaXNQcm9wVmFsaWQgZnJvbSAnQGVtb3Rpb24vaXMtcHJvcC12YWxpZCc7XG5cbmltcG9ydCB7QmFzZUNvbXBvbmVudFByb3BzfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vIFRoaXMgaW1wbGVtZW50cyB0aGUgZGVmYXVsdCBiZWhhdmlvciBmcm9tIHN0eWxlZC1jb21wb25lbnRzIHY1XG5leHBvcnQgZnVuY3Rpb24gc2hvdWxkRm9yd2FyZFByb3AocHJvcE5hbWUsIHRhcmdldCkge1xuICBpZiAodHlwZW9mIHRhcmdldCA9PT0gJ3N0cmluZycpIHtcbiAgICAvLyBGb3IgSFRNTCBlbGVtZW50cywgZm9yd2FyZCB0aGUgcHJvcCBpZiBpdCBpcyBhIHZhbGlkIEhUTUwgYXR0cmlidXRlXG4gICAgcmV0dXJuIGlzUHJvcFZhbGlkKHByb3BOYW1lKTtcbiAgfVxuICAvLyBGb3Igb3RoZXIgZWxlbWVudHMsIGZvcndhcmQgYWxsIHByb3BzXG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgY29uc3QgU2VsZWN0VGV4dCA9IHN0eWxlZC5zcGFuYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlbGVjdEZvbnRTaXplfTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICBpIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTZWxlY3RUZXh0Qm9sZCA9IHN0eWxlZChTZWxlY3RUZXh0KWBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbmA7XG5cbmV4cG9ydCBjb25zdCBJY29uUm91bmRTbWFsbCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDlweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5CZ2RIb3Zlcn07XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkNvbG9yfTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQmdkSG92ZXJ9O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgQ2VudGVyRmxleGJveCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgQ2VudGVyVmVydGljYWxGbGV4Ym94ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBFbmRIb3Jpem9udGFsRmxleGJveCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBlbmQ7XG5gO1xuXG5leHBvcnQgY29uc3QgU3BhY2VCZXR3ZWVuRmxleGJveCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFNCRmxleGJveEl0ZW0gPSBzdHlsZWQuZGl2YFxuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFNCRmxleGJveE5vTWFyZ2luID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsTGFiZWwgPSBzdHlsZWQubGFiZWwuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdzaWRlLXBhbmVsLXBhbmVsX19sYWJlbCdcbn0pYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5gO1xuXG5leHBvcnQgY29uc3QgUGFuZWxMYWJlbFdyYXBwZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnc2lkZS1wYW5lbC1wYW5lbF9fbGFiZWwtd3JhcHBlcidcbn0pYFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc2VsZi1zdGFydDtcbmA7XG5cbmV4cG9ydCBjb25zdCBQYW5lbExhYmVsQm9sZCA9IHN0eWxlZChQYW5lbExhYmVsKWBcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbmA7XG5cbmV4cG9ydCBjb25zdCBQYW5lbEhlYWRlclRpdGxlID0gc3R5bGVkLnNwYW4uYXR0cnMocHJvcHMgPT4gKHtcbiAgY2xhc3NOYW1lOiBjbGFzc25hbWVzKCdzaWRlLXBhbmVsLXBhbmVsX19oZWFkZXJfX3RpdGxlJywgcHJvcHMuY2xhc3NOYW1lKVxufSkpYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjQzcHg7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsSGVhZGVyQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIHBhZGRpbmctbGVmdDogMTJweDtcblxuICAuaWNvbiB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGFiZWxDb2xvcn07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsQ29udGVudCA9IHN0eWxlZC5kaXYuYXR0cnMocHJvcHMgPT4gKHtcbiAgY2xhc3NOYW1lOiBjbGFzc25hbWVzKCdzaWRlLXBhbmVsLXBhbmVsX19jb250ZW50JywgcHJvcHMuY2xhc3NOYW1lKVxufSkpYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQ29udGVudEJhY2tncm91bmR9O1xuICBwYWRkaW5nOiAxMnB4O1xuYDtcblxuaW50ZXJmYWNlIFNpZGVQYW5lbFNlY3Rpb25Qcm9wcyB7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFNpZGVQYW5lbFNlY3Rpb24gPSBzdHlsZWQuZGl2LmF0dHJzKHByb3BzID0+ICh7XG4gIGNsYXNzTmFtZTogY2xhc3NuYW1lcygnc2lkZS1wYW5lbC1zZWN0aW9uJywgcHJvcHMuY2xhc3NOYW1lKVxufSkpPFNpZGVQYW5lbFNlY3Rpb25Qcm9wcz5gXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5cbiAgb3BhY2l0eTogJHtwcm9wcyA9PiAocHJvcHMuZGlzYWJsZWQgPyAwLjQgOiAxKX07XG4gIHBvaW50ZXItZXZlbnRzOiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/ICdub25lJyA6ICdhbGwnKX07XG5gO1xuXG5leHBvcnQgY29uc3QgU2lkZVBhbmVsRGl2aWRlciA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdzaWRlLXBhbmVsLWRpdmlkZXInXG59KWBcbiAgYm9yZGVyLWJvdHRvbTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlcGFuZWxEaXZpZGVyQm9yZGVyfSBzb2xpZFxuICAgICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3JkZXJDb2xvcn07XG4gIG1hcmdpbi1ib3R0b206ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZXBhbmVsRGl2aWRlck1hcmdpbn1weDtcbiAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVwYW5lbERpdmlkZXJIZWlnaHR9cHg7XG5gO1xuXG50eXBlIFRvb2x0aXBBdHRyc1Byb3BzID0ge2ludGVyYWN0aXZlPzogYm9vbGVhbn0gJiBUb29sdGlwUHJvcHMgJiBCYXNlQ29tcG9uZW50UHJvcHM7XG5cbmV4cG9ydCBjb25zdCBUb29sdGlwOiBJU3R5bGVkQ29tcG9uZW50PCd3ZWInLCBUb29sdGlwQXR0cnNQcm9wcz4gPSBzdHlsZWQoXG4gIFJlYWN0VG9vbHRpcFxuKTxUb29sdGlwUHJvcHM+YFxuICAmLl9fcmVhY3RfY29tcG9uZW50X3Rvb2x0aXAge1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwRm9udFNpemV9O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgcGFkZGluZzogMTBweCAxOHB4O1xuICAgIGJveC1zaGFkb3c6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudG9vbHRpcEJveFNoYWRvd307XG5cbiAgICAmLnR5cGUtZGFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCZ307XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwQ29sb3J9O1xuICAgICAgJi5wbGFjZS1ib3R0b20ge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCZ307XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5wbGFjZS10b3Age1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCZ307XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5wbGFjZS1yaWdodCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwQmd9O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucGxhY2UtbGVmdCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCZ307XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCB0eXBlIEJ1dHRvblByb3BzID0gUmVhY3QuQnV0dG9uSFRNTEF0dHJpYnV0ZXM8SFRNTEJ1dHRvbkVsZW1lbnQ+ICYge1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIHJlZj86IFJlYWN0LkZvcndhcmRlZFJlZjxIVE1MRWxlbWVudD47XG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xuICBuZWdhdGl2ZT86IGJvb2xlYW47XG4gIHNlY29uZGFyeT86IGJvb2xlYW47XG4gIGxpbms/OiBib29sZWFuO1xuICBmbG9hdGluZz86IGJvb2xlYW47XG4gIGN0YT86IGJvb2xlYW47XG4gIGxhcmdlPzogYm9vbGVhbjtcbiAgc21hbGw/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIHdpZHRoPzogc3RyaW5nO1xuICBpbmFjdGl2ZT86IGJvb2xlYW47XG4gIHNpemU/OiBzdHJpbmc7XG59O1xuXG4vLyB0aGlzIG5lZWRzIHRvIGJlIGFuIGFjdHVhbCBidXR0b24gdG8gYmUgYWJsZSB0byBzZXQgZGlzYWJsZWQgYXR0cmlidXRlIGNvcnJlY3RseVxuZXhwb3J0IGNvbnN0IEJ1dHRvbiA9IHN0eWxlZC5idXR0b24ud2l0aENvbmZpZyh7c2hvdWxkRm9yd2FyZFByb3B9KS5hdHRycyhwcm9wcyA9PiAoe1xuICBjbGFzc05hbWU6IGNsYXNzbmFtZXMoJ2J1dHRvbicsIHByb3BzLmNsYXNzTmFtZSlcbn0pKTxCdXR0b25Qcm9wcz5gXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5uZWdhdGl2ZVxuICAgICAgPyBwcm9wcy50aGVtZS5uZWdhdGl2ZUJ0bkJnZFxuICAgICAgOiBwcm9wcy5zZWNvbmRhcnlcbiAgICAgID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQmdkXG4gICAgICA6IHByb3BzLmxpbmtcbiAgICAgID8gcHJvcHMudGhlbWUubGlua0J0bkJnZFxuICAgICAgOiBwcm9wcy5mbG9hdGluZ1xuICAgICAgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJnZFxuICAgICAgOiBwcm9wcy5jdGFcbiAgICAgID8gcHJvcHMudGhlbWUuY3RhQnRuQmdkXG4gICAgICA6IHByb3BzLnRoZW1lLnByaW1hcnlCdG5CZ2R9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5SYWRpdXN9O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLm5lZ2F0aXZlXG4gICAgICA/IHByb3BzLnRoZW1lLm5lZ2F0aXZlQnRuQ29sb3JcbiAgICAgIDogcHJvcHMuc2Vjb25kYXJ5XG4gICAgICA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkNvbG9yXG4gICAgICA6IHByb3BzLmxpbmtcbiAgICAgID8gcHJvcHMudGhlbWUubGlua0J0bkNvbG9yXG4gICAgICA6IHByb3BzLmZsb2F0aW5nXG4gICAgICA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQ29sb3JcbiAgICAgIDogcHJvcHMuY3RhXG4gICAgICA/IHByb3BzLnRoZW1lLmN0YUJ0bkNvbG9yXG4gICAgICA6IHByb3BzLnRoZW1lLnByaW1hcnlCdG5Db2xvcn07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcyA9PlxuICAgIHByb3BzLmxhcmdlXG4gICAgICA/IHByb3BzLnRoZW1lLnByaW1hcnlCdG5Gb250U2l6ZUxhcmdlXG4gICAgICA6IHByb3BzLnNtYWxsXG4gICAgICA/IHByb3BzLnRoZW1lLnByaW1hcnlCdG5Gb250U2l6ZVNtYWxsXG4gICAgICA6IHByb3BzLnRoZW1lLnByaW1hcnlCdG5Gb250U2l6ZURlZmF1bHR9O1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5idG5Gb250RmFtaWx5fTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gIG91dGxpbmU6IDA7XG4gIHBhZGRpbmc6ICR7cHJvcHMgPT4gKHByb3BzLmxhcmdlID8gJzE0cHggMzJweCcgOiBwcm9wcy5zbWFsbCA/ICc2cHggOXB4JyA6ICc5cHggMTJweCcpfTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRyYW5zaXRpb259O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHtwcm9wcyA9PiBwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBvcGFjaXR5OiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/IDAuNCA6IDEpfTtcbiAgcG9pbnRlci1ldmVudHM6ICR7cHJvcHMgPT4gKHByb3BzLmRpc2FibGVkID8gJ25vbmUnIDogJ2FsbCcpfTtcbiAgYm9yZGVyOiAke3Byb3BzID0+XG4gICAgcHJvcHMubmVnYXRpdmVcbiAgICAgID8gcHJvcHMudGhlbWUubmVnYXRpdmVCdG5Cb3JkZXJcbiAgICAgIDogcHJvcHMuc2Vjb25kYXJ5XG4gICAgICA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkJvcmRlclxuICAgICAgOiBwcm9wcy5mbG9hdGluZ1xuICAgICAgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJvcmRlclxuICAgICAgOiBwcm9wcy5saW5rXG4gICAgICA/IHByb3BzLnRoZW1lLmxpbmtCdG5Cb3JkZXJcbiAgICAgIDogcHJvcHMudGhlbWUucHJpbWFyeUJ0bkJvcmRlcn07XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgICAgcHJvcHMubmVnYXRpdmVcbiAgICAgICAgPyBwcm9wcy50aGVtZS5uZWdhdGl2ZUJ0bkJnZEhvdmVyXG4gICAgICAgIDogcHJvcHMuc2Vjb25kYXJ5XG4gICAgICAgID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQmdkSG92ZXJcbiAgICAgICAgOiBwcm9wcy5saW5rXG4gICAgICAgID8gcHJvcHMudGhlbWUubGlua0J0bkFjdEJnZEhvdmVyXG4gICAgICAgIDogcHJvcHMuZmxvYXRpbmdcbiAgICAgICAgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJnZEhvdmVyXG4gICAgICAgIDogcHJvcHMuY3RhXG4gICAgICAgID8gcHJvcHMudGhlbWUuY3RhQnRuQmdkSG92ZXJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQmdkSG92ZXJ9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+XG4gICAgICBwcm9wcy5uZWdhdGl2ZVxuICAgICAgICA/IHByb3BzLnRoZW1lLm5lZ2F0aXZlQnRuQWN0Q29sb3JcbiAgICAgICAgOiBwcm9wcy5zZWNvbmRhcnlcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5BY3RDb2xvclxuICAgICAgICA6IHByb3BzLmxpbmtcbiAgICAgICAgPyBwcm9wcy50aGVtZS5saW5rQnRuQWN0Q29sb3JcbiAgICAgICAgOiBwcm9wcy5mbG9hdGluZ1xuICAgICAgICA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQWN0Q29sb3JcbiAgICAgICAgOiBwcm9wcy5jdGFcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jdGFCdG5BY3RDb2xvclxuICAgICAgICA6IHByb3BzLnRoZW1lLnByaW1hcnlCdG5BY3RDb2xvcn07XG4gIH1cblxuICBzdmcge1xuICAgIG1hcmdpbi1yaWdodDogJHtwcm9wcyA9PiAocHJvcHMubGFyZ2UgPyAnMTBweCcgOiBwcm9wcy5zbWFsbCA/ICc2cHgnIDogJzhweCcpfTtcbiAgfVxuYDtcblxuaW50ZXJmYWNlIElucHV0UHJvcHMge1xuICBzZWNvbmRhcnk/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgSW5wdXQgPSBzdHlsZWQuaW5wdXQud2l0aENvbmZpZyh7c2hvdWxkRm9yd2FyZFByb3B9KTxJbnB1dFByb3BzPmBcbiAgJHtwcm9wcyA9PiAocHJvcHMuc2Vjb25kYXJ5ID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5SW5wdXQgOiBwcm9wcy50aGVtZS5pbnB1dCl9O1xuYDtcblxuZXhwb3J0IGNvbnN0IElucHV0TGlnaHQgPSBzdHlsZWQuaW5wdXQud2l0aENvbmZpZyh7c2hvdWxkRm9yd2FyZFByb3B9KWBcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dExUfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBUZXh0QXJlYSA9IHN0eWxlZC50ZXh0YXJlYS53aXRoQ29uZmlnKHtzaG91bGRGb3J3YXJkUHJvcH0pPElucHV0UHJvcHM+YFxuICAke3Byb3BzID0+IChwcm9wcy5zZWNvbmRhcnkgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlJbnB1dCA6IHByb3BzLnRoZW1lLmlucHV0KX07XG5gO1xuZXhwb3J0IGNvbnN0IFRleHRBcmVhTGlnaHQgPSBzdHlsZWQudGV4dGFyZWEud2l0aENvbmZpZyh7c2hvdWxkRm9yd2FyZFByb3B9KWBcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dExUfSBoZWlnaHQ6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbmA7XG5cbmV4cG9ydCBjb25zdCBJbmxpbmVJbnB1dCA9IHN0eWxlZChJbnB1dClgXG4gICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5saW5lSW5wdXR9O1xuYDtcblxuZXhwb3J0IGludGVyZmFjZSBTdHlsZWRQYW5lbEhlYWRlclByb3BzIHtcbiAgJGFjdGl2ZT86IGJvb2xlYW47XG4gIGxhYmVsUkNHQ29sb3JWYWx1ZXM/OiBSR0JDb2xvciB8IG51bGw7XG4gIHdhcm5pbmc/OiBib29sZWFuO1xuICBpc1ZhbGlkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFN0eWxlZFBhbmVsSGVhZGVyID0gc3R5bGVkLmRpdi53aXRoQ29uZmlnKHtzaG91bGRGb3J3YXJkUHJvcH0pPFN0eWxlZFBhbmVsSGVhZGVyUHJvcHM+YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuJGFjdGl2ZSA/IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyIDogcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kfTtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZFxuICAgIHJnYihcbiAgICAgICR7cHJvcHMgPT4gKHByb3BzLmxhYmVsUkNHQ29sb3JWYWx1ZXMgPyBwcm9wcy5sYWJlbFJDR0NvbG9yVmFsdWVzLmpvaW4oJywnKSA6ICd0cmFuc3BhcmVudCcpfVxuICAgICk7XG4gIHBhZGRpbmc6IDAgMTBweCAwIDA7XG4gIGhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEhlYWRlckhlaWdodH1weDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsSGVhZGVyQm9yZGVyUmFkaXVzfTtcbiAgdHJhbnNpdGlvbjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50cmFuc2l0aW9ufTtcbmA7XG5cbmludGVyZmFjZSBTdHlsZWRQYW5lbERyb3Bkb3duUHJvcHMge1xuICB0eXBlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgU3R5bGVkUGFuZWxEcm9wZG93biA9IHN0eWxlZC5kaXY8U3R5bGVkUGFuZWxEcm9wZG93blByb3BzPmBcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbERyb3Bkb3duU2Nyb2xsQmFyfVxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMudHlwZSA9PT0gJ2xpZ2h0JyA/IHByb3BzLnRoZW1lLm1vZGFsRHJvcGRvd25CYWNrZ3JvdW5kIDogcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kfTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgYm94LXNoYWRvdzogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJveFNoYWRvd307XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3JkZXJSYWRpdXN9O1xuICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTk7XG5gO1xuXG5leHBvcnQgY29uc3QgQnV0dG9uR3JvdXAgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICAuYnV0dG9uIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gIH1cbiAgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuUmFkaXVzfTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5SYWRpdXN9O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0blJhZGl1c307XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0blJhZGl1c307XG4gIH1cbmA7XG5cbmludGVyZmFjZSBEYXRhc2V0U3F1YXJlUHJvcHMge1xuICBiYWNrZ3JvdW5kQ29sb3I6IFJHQkNvbG9yO1xufVxuXG5leHBvcnQgY29uc3QgRGF0YXNldFNxdWFyZSA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7c2hvdWxkRm9yd2FyZFByb3B9KTxEYXRhc2V0U3F1YXJlUHJvcHM+YFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigke3Byb3BzID0+IHByb3BzLmJhY2tncm91bmRDb2xvci5qb2luKCcsJyl9KTtcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuYDtcblxuaW50ZXJmYWNlIFNlbGVjdGlvbkJ1dHRvblByb3BzIHtcbiAgc2VsZWN0ZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgU2VsZWN0aW9uQnV0dG9uID0gc3R5bGVkLmRpdi53aXRoQ29uZmlnKHtzaG91bGRGb3J3YXJkUHJvcH0pPFNlbGVjdGlvbkJ1dHRvblByb3BzPmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcyA9PlxuICAgICAgcHJvcHMuc2VsZWN0ZWRcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5Cb3JkZXJBY3RDb2xvclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkJvcmRlckNvbG9yfTtcbiAgY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5zZWxlY3RlZCA/IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkFjdENvbG9yIDogcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQ29sb3J9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuc2VsZWN0ZWQgPyBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5BY3RCZ2QgOiBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5CZ2R9O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIHBhZGRpbmc6IDZweCAxNnB4O1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkFjdENvbG9yfTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkJvcmRlckFjdENvbG9yfTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRhYmxlID0gc3R5bGVkLnRhYmxlYFxuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG5cbiAgdGhlYWQge1xuICAgIHRyIHRoIHtcbiAgICAgIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kTFR9O1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGl0bGVDb2xvckxUfTtcbiAgICAgIHBhZGRpbmc6IDE4cHggMTJweDtcbiAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHtcbiAgICB0ciB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQm9yZGVyTFR9O1xuICAgICAgcGFkZGluZzogMTJweDtcbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNb2RhbENvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZExUfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yTFR9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmb250LXNpemU6IDEwcHg7XG4gIHBhZGRpbmc6IDI0cHggJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tb2RhbExhdGVyYWxQYWRkaW5nfTtcbiAgbWFyZ2luOiAwIC0ke3Byb3BzID0+IHByb3BzLnRoZW1lLm1vZGFsTGF0ZXJhbFBhZGRpbmd9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICR7bWVkaWEucG9ydGFibGVgXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAxNnB4ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubW9kYWxQb3J0YWJsZUxhdGVyYWxQYWRkaW5nfTtcbiAgICBtYXJnaW46IDAgLSR7cHJvcHMgPT4gcHJvcHMudGhlbWUubW9kYWxQb3J0YWJsZUxhdGVyYWxQYWRkaW5nfTtcbiAgYH07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTW9kYWxWZXJ0aWNhbFBhbmVsID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ21vZGFsLXZlcnRpY2FsLXBhbmVsJ1xufSlgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBmb250LXNpemU6IDEycHg7XG5cbiAgLm1vZGFsLXNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgJHttZWRpYS5wYWxtYFxuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICBgfTtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1vZGFsU2VjdGlvbiA9IHN0eWxlZC5kaXYuYXR0cnMoKHtjbGFzc05hbWV9KSA9PiAoe1xuICBjbGFzc05hbWU6IGNsYXNzbmFtZXMoJ21vZGFsLXNlY3Rpb24nLCBjbGFzc05hbWUpXG59KSlgXG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG5cbiAgLm1vZGFsLXNlY3Rpb24tdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cbiAgLm1vZGFsLXNlY3Rpb24tc3VidGl0bGUge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvckxUfTtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gIH1cblxuICAke21lZGlhLnBvcnRhYmxlYFxuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIGB9O1xuICAke21lZGlhLnBhbG1gXG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgYH07XG5gO1xuXG5pbnRlcmZhY2UgU3R5bGVkTW9kYWxJbnB1dEZvb3Rub3RlUHJvcHMge1xuICBlcnJvcj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNb2RhbElucHV0Rm9vdG5vdGUgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbW9kYWwtaW5wdXRfX2Zvb3Rub3RlJ1xufSk8U3R5bGVkTW9kYWxJbnB1dEZvb3Rub3RlUHJvcHM+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBjb2xvcjogJHtwcm9wcyA9PiAocHJvcHMuZXJyb3IgPyBwcm9wcy50aGVtZS5lcnJvckNvbG9yIDogcHJvcHMudGhlbWUuc3VidGV4dENvbG9yTFQpfTtcbiAgZm9udC1zaXplOiAxMHB4O1xuYDtcbi8qKlxuICogTmV3ZXIgdmVyc2lvbnMgb2YgbWFwYm94LmdsIGRpc3BsYXkgYW4gZXJyb3IgbWVzc2FnZSBiYW5uZXIgb24gdG9wIG9mIHRoZSBtYXAgYnkgZGVmYXVsdFxuICogd2hpY2ggd2lsbCBjYXVzZSB0aGUgbWFwIHRvIGRpc3BsYXkgcG9pbnRzIGluIHRoZSB3cm9uZyBsb2NhdGlvbnNcbiAqIFRoaXMgd29ya2Fyb3VuZCB3aWxsIGhpZGUgdGhlIGVycm9yIGJhbm5lci5cbiAqL1xuZXhwb3J0IGNvbnN0IFN0eWxlZE1hcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC5tYXBsaWJyZWdsLW1hcCB7XG4gICAgLm1hcGxpYnJlZ2wtbWlzc2luZy1jc3Mge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLm1hcGJveGdsLW1hcCB7XG4gICAgLm1hcGJveGdsLW1pc3NpbmctY3NzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5tYXBib3hnbC1jdHJsLWF0dHJpYiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IHR5cGUgU3R5bGVkQXR0cmlidXRpb25Qcm9wcyA9IHtcbiAgbWFwTGliQ3NzQ2xhc3M6IHN0cmluZztcbiAgbWFwTGliQXR0cmlidXRpb25Dc3NDbGFzczogc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEF0dHJpYnV0aW9uID0gc3R5bGVkLmRpdlxuICAud2l0aENvbmZpZyh7XG4gICAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnbWFwTGliQ3NzQ2xhc3MnLCAnbWFwTGliQXR0cmlidXRpb25Dc3NDbGFzcyddLmluY2x1ZGVzKHByb3ApXG4gIH0pXG4gIC5hdHRyczxTdHlsZWRBdHRyaWJ1dGlvblByb3BzPihwcm9wcyA9PiAoe1xuICAgIGNsYXNzTmFtZTogcHJvcHMubWFwTGliQXR0cmlidXRpb25Dc3NDbGFzc1xuICB9KSk8U3R5bGVkQXR0cmlidXRpb25Qcm9wcz5gXG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCAxMHB4IDZweDtcbiAgei1pbmRleDogMTtcbiAgLmF0dHJpdGlvbi1saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG5cbiAgICBhLFxuICAgIC5waXBlLXNlcGFyYXRvciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxhYmVsQ29sb3J9O1xuICAgIH1cblxuICAgIC5waXBlLXNlcGFyYXRvciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmF0dHJpdGlvbi1sb2dvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGFiZWxDb2xvcn07XG5cbiAgICBhLiR7cHJvcHMgPT4gcHJvcHMubWFwTGliQ3NzQ2xhc3N9LWN0cmwtbG9nbyB7XG4gICAgICB3aWR0aDogNzJweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgfVxuICB9XG4gIGEsXG4gIC5waXBlLXNlcGFyYXRvciB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICB9XG5cbiAgJHttZWRpYS5wYWxtYFxuICAgIC5hdHRyaXRpb24tbG9nbyBhIHtcbiAgICAgIHdpZHRoOiA2MHB4O1xuICAgIH1cblxuICAgIC5hdHRyaXRpb24tbGluayB7XG4gICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIH1cbiAgYH07XG5gO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0eWxlZEV4cG9ydFNlY3Rpb25Qcm9wcyB7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFN0eWxlZEV4cG9ydFNlY3Rpb24gPSBzdHlsZWQuZGl2PFN0eWxlZEV4cG9ydFNlY3Rpb25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1hcmdpbjogMzVweCAwO1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yTFR9O1xuICBmb250LXNpemU6IDEycHg7XG4gIG9wYWNpdHk6ICR7cHJvcHMgPT4gKHByb3BzLmRpc2FibGVkID8gMC4zIDogMSl9O1xuICBwb2ludGVyLWV2ZW50czogJHtwcm9wcyA9PiAocHJvcHMuZGlzYWJsZWQgPyAnbm9uZScgOiAnYWxsJyl9O1xuXG4gIC5kZXNjcmlwdGlvbiB7XG4gICAgd2lkdGg6IDE4NXB4O1xuICAgIC50aXRsZSB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1mYW1pbHk6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udEZhbWlseU1lZGl1bSA/PyBwcm9wcy50aGVtZS5mb250RmFtaWx5fTtcbiAgICB9XG4gICAgLnN1YnRpdGxlIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvckxUfTtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICB9XG4gIH1cbiAgLndhcm5pbmcge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVycm9yQ29sb3J9O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cbiAgLmRlc2NyaXB0aW9uLmZ1bGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5zZWxlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuXG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udDogaW5oZXJpdDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICAgIHBhZGRpbmc6IDAuNWVtIDMuNWVtIDAuNWVtIDFlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgaGVpZ2h0OiAzNnB4O1xuXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50IDUwJSwgZ3JheSA1MCUpLFxuICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCBncmF5IDUwJSwgdHJhbnNwYXJlbnQgNTAlKSwgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjY2NjLCAjY2NjKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDIwcHgpIGNhbGMoMWVtICsgMnB4KSwgY2FsYygxMDAlIC0gMTVweCkgY2FsYygxZW0gKyAycHgpLFxuICAgICAgICBjYWxjKDEwMCUgLSAyLjVlbSkgNC41ZW07XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDVweCA1cHgsIDVweCA1cHgsIDFweCAxLjVlbTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgfVxuXG4gICAgc2VsZWN0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgZ3JlZW4gNTAlLCB0cmFuc3BhcmVudCA1MCUpLFxuICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB0cmFuc3BhcmVudCA1MCUsIGdyZWVuIDUwJSksIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2NjYywgI2NjYyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxNXB4KSAxZW0sIGNhbGMoMTAwJSAtIDIwcHgpIDFlbSwgY2FsYygxMDAlIC0gMi41ZW0pIDQuNWVtO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA1cHggNXB4LCA1cHggNXB4LCAxcHggMS41ZW07XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYm9yZGVyLWNvbG9yOiBncmVlbjtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRmlsdGVyZWRPcHRpb24gPSBzdHlsZWQoU2VsZWN0aW9uQnV0dG9uKWBcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogNHB4O1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgd2lkdGg6IDE0MHB4O1xuXG4gIC5maWx0ZXItb3B0aW9uLXRpdGxlIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JMVH07XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cbiAgLmZpbHRlci1vcHRpb24tc3VidGl0bGUge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvckxUfTtcbiAgICBmb250LXNpemU6IDExcHg7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRUeXBlID0gc3R5bGVkKFNlbGVjdGlvbkJ1dHRvbilgXG4gIGhlaWdodDogMTAwcHg7XG4gIG1hcmdpbjogNHB4O1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgd2lkdGg6IDEwMHB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFdpZGdldENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHotaW5kZXg6IDE7XG5gO1xuXG5leHBvcnQgY29uc3QgQm90dG9tV2lkZ2V0SW5uZXIgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmJvdHRvbVdpZGdldEJnZH07XG4gIHBhZGRpbmc6ICR7cHJvcHMgPT4gYCR7cHJvcHMudGhlbWUuYm90dG9tSW5uZXJQZFZlcnR9cHggJHtwcm9wcy50aGVtZS5ib3R0b21Jbm5lclBkU2lkZX1weGB9O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm90dG9tUGFuZWxHYXB9cHg7XG5cbiAgJHttZWRpYS5wb3J0YWJsZWBcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJvcmRlckNvbG9yfTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3JkZXJDb2xvcn07XG4gICAgcGFkZGluZzogMTJweCAxMnB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIGB9XG5gO1xuXG5pbnRlcmZhY2UgTWFwQ29udHJvbEJ1dHRvblByb3BzIHtcbiAgYWN0aXZlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IE1hcENvbnRyb2xCdXR0b24gPSBzdHlsZWQoQnV0dG9uKVxuICAud2l0aENvbmZpZyh7XG4gICAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnYWN0aXZlJ10uaW5jbHVkZXMocHJvcClcbiAgfSlcbiAgLmF0dHJzKHByb3BzID0+ICh7XG4gICAgY2xhc3NOYW1lOiBjbGFzc25hbWVzKCdtYXAtY29udHJvbC1idXR0b24nLCBwcm9wcy5jbGFzc05hbWUpXG4gIH0pKTxNYXBDb250cm9sQnV0dG9uUHJvcHM+YFxuICBib3gtc2hhZG93OiAwIDZweCAxMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE2KTtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMzJweDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mbG9hdGluZ0J0blJhZGl1c307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5hY3RpdmUgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJnZEhvdmVyIDogcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5CZ2R9O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmFjdGl2ZSA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQWN0Q29sb3IgOiBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkNvbG9yfTtcbiAgYm9yZGVyOiAke3Byb3BzID0+XG4gICAgcHJvcHMuYWN0aXZlID8gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5Cb3JkZXJIb3ZlciA6IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQm9yZGVyfTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5CZ2RIb3Zlcn07XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5BY3RDb2xvcn07XG4gICAgYm9yZGVyOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQm9yZGVySG92ZXJ9O1xuICB9XG4gIHN2ZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRmlsdGVyQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxDb250ZW50QmFja2dyb3VuZH07XG4gIHBhZGRpbmc6IDEycHg7XG5gO1xuXG5leHBvcnQgY29uc3QgVHJ1bmNhdGVkVGl0bGVUZXh0ID0gc3R5bGVkLmRpdmBcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5gO1xuXG5leHBvcnQgY29uc3QgQ2hlY2tNYXJrID0gc3R5bGVkLnNwYW4uYXR0cnMoe1xuICBjbGFzc05hbWU6ICdjaGVja2JveC1pbm5lcidcbn0pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkJvcmRlckFjdENvbG9yfTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMnB4O1xuXG4gICY6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHNjYWxlKDEpIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICB0b3A6IDQwJTtcbiAgICBsZWZ0OiAzMCU7XG4gICAgd2lkdGg6IDMuMnB4O1xuICAgIGhlaWdodDogNi4yMnB4O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVGltZVBpY2tlciA9IHN0eWxlZChUaW1lUGlja2VyKWBcbiAgLnJlYWN0LXRpbWUtcGlja2VyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1mYW1pbHk6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udEZhbWlseX07XG4gICAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Rm9udFNpemV9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2R9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dE1haW59O1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcixcbiAgLnJlYWN0LXRpbWUtcGlja2VyICosXG4gIC5yZWFjdC10aW1lLXBpY2tlciAqOmJlZm9yZSxcbiAgLnJlYWN0LXRpbWUtcGlja2VyICo6YWZ0ZXIge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2R9O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB3aWR0aDogMTEwcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX3dyYXBwZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2RIb3Zlcn07XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19pbnB1dEdyb3VwIHtcbiAgICBtaW4td2lkdGg6IGNhbGMoKDRweCAqIDMpICsgMC41NGVtICogNiArIDAuMjE3ZW0gKiAyKTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgcGFkZGluZzogNHB4IDJweDtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9faW5wdXRHcm91cF9fZGl2aWRlciB7XG4gICAgcGFkZGluZzogMXB4IDA7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX2lucHV0R3JvdXBfX2RpdmlkZXIsXG4gIC5yZWFjdC10aW1lLXBpY2tlcl9faW5wdXRHcm91cF9fbGVhZGluZ1plcm8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRNYWlufTtcbiAgICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250RmFtaWx5fTtcbiAgICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRGb250U2l6ZX07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX2lucHV0R3JvdXBfX2lucHV0IHtcbiAgICBtaW4td2lkdGg6IDAuNTRlbTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgMXB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRNYWlufTtcbiAgICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250RmFtaWx5fTtcbiAgICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRGb250U2l6ZX07XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9faW5wdXRHcm91cF9faW5wdXQ6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19pbnB1dEdyb3VwX19pbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbiAgLnJlYWN0LXRpbWUtcGlja2VyX19pbnB1dEdyb3VwX19pbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX2lucHV0R3JvdXBfX2lucHV0LS1oYXNMZWFkaW5nWmVybyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjU0ZW07XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKDFweCArIDAuNTRlbSk7XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19pbnB1dEdyb3VwX19hbVBtIHtcbiAgICBtYXgtd2lkdGg6IDM3cHg7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbWVudWxpc3Q7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBtZW51bGlzdDtcbiAgICBhcHBlYXJhbmNlOiBtZW51bGlzdDtcbiAgICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRGb250U2l6ZX07XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19idXR0b24ge1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0QmdkfTtcbiAgICBwYWRkaW5nOiA0cHggNnB4O1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9fYnV0dG9uOmVuYWJsZWQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX2J1dHRvbiBzdmcge1xuICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19jbG9jay0tY2xvc2VkLFxuICAucmVhY3QtdGltZS1waWNrZXJfX2NsZWFyLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZERhdGVQaWNrZXIgPSBzdHlsZWQoRGF0ZVBpY2tlcilgXG4gIC5yZWFjdC1kYXRlLXBpY2tlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtZmFtaWx5OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZvbnRGYW1pbHl9O1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEZvbnRTaXplfTtcbiAgfVxuICAucmVhY3QtZGF0ZS1waWNrZXIsXG4gIC5yZWFjdC1kYXRlLXBpY2tlciAqLFxuICAucmVhY3QtZGF0ZS1waWNrZXIgKjpiZWZvcmUsXG4gIC5yZWFjdC1kYXRlLXBpY2tlciAqOmFmdGVyIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogMTA4cHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwIHtcbiAgICBtaW4td2lkdGg6IGNhbGMoKDRweCAqIDMpICsgMC41NGVtICogOCArIDAuMjE3ZW0gKiAyKTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgcGFkZGluZzogNHB4IDlweDtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0QmdkfTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2R9O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgfVxuXG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9faW5wdXRHcm91cDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEJnZEhvdmVyfTtcbiAgfVxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2lucHV0R3JvdXBfX2RpdmlkZXIge1xuICAgIHBhZGRpbmc6IDFweCAwO1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZWZmZWN0UGFuZWxUZXh0TWFpbn07XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwX19kaXZpZGVyLFxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2lucHV0R3JvdXBfX2xlYWRpbmdaZXJvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwX19pbnB1dCB7XG4gICAgbWluLXdpZHRoOiAwLjU0ZW07XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDFweDtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRNYWlufTtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEZvbnRTaXplfTtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICBhcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwX19pbnB1dDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2lucHV0R3JvdXBfX2lucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2lucHV0R3JvdXBfX2lucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9faW5wdXRHcm91cF9faW5wdXQ6aW52YWxpZCB7XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEJnZH07XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwX19pbnB1dC0taGFzTGVhZGluZ1plcm8ge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41NGVtO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYygxcHggKyAwLjU0ZW0pO1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9fY2FsZW5kYXIge1xuICAgIHdpZHRoOiAyNTdweDtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIHotaW5kZXg6IDExO1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dFNlY29uZGFyeTF9O1xuICAgIGluc2V0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19jYWxlbmRhci0tY2xvc2VkIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9fY2FsZW5kYXIgLnJlYWN0LWNhbGVuZGFyIHtcbiAgICBib3JkZXItd2lkdGg6IHRoaW47XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyIHtcbiAgICB3aWR0aDogMjU2cHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dFNlY29uZGFyeTF9O1xuICAgIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2RIb3Zlcn07XG4gICAgYm9yZGVyLXJhZGl1czogMHB4IDRweCA0cHggNHB4O1xuICAgIGZvbnQtZmFtaWx5OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZvbnRGYW1pbHl9O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNWVtO1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyLFxuICAucmVhY3QtY2FsZW5kYXIgKixcbiAgLnJlYWN0LWNhbGVuZGFyICo6YmVmb3JlLFxuICAucmVhY3QtY2FsZW5kYXIgKjphZnRlciB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhciBidXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXIgYnV0dG9tOmVuYWJsZWQge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dE1haW59O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhciBidXR0b246ZW5hYmxlZDpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fbmF2aWdhdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fbmF2aWdhdGlvbiBidXR0b24ge1xuICAgIG1pbi13aWR0aDogMjVweDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fbmF2aWdhdGlvbiBidXR0b246ZW5hYmxlZDpob3ZlcixcbiAgLnJlYWN0LWNhbGVuZGFyX19uYXZpZ2F0aW9uIGJ1dHRvbjplbmFibGVkOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0QmdkQWN0aXZlfTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX21vbnRoLXZpZXdfX3dlZWtkYXlzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX21vbnRoLXZpZXdfX3dlZWtkYXlzX193ZWVrZGF5IHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRTZWNvbmRhcnkyfTtcbiAgICBwYWRkaW5nOiAwLjVlbTtcbiAgICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRGb250U2l6ZX07XG4gICAgYWJiciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fbW9udGgtdmlld19fd2Vla051bWJlcnMgLnJlYWN0LWNhbGVuZGFyX190aWxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX19tb250aC12aWV3X19kYXlzX19kYXktLXdlZWtlbmQge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dFNlY29uZGFyeTF9O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fbW9udGgtdmlld19fZGF5c19fZGF5LS1uZWlnaGJvcmluZ01vbnRoIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRTZWNvbmRhcnkzfTtcbiAgICBvcGFjaXR5OiAwLjQ7XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX19uYXZpZ2F0aW9uX19sYWJlbF9fbGFiZWxUZXh0LFxuICAucmVhY3QtY2FsZW5kYXJfX25hdmlnYXRpb25fX2Fycm93IHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRNYWlufTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX3llYXItdmlldyAucmVhY3QtY2FsZW5kYXJfX3RpbGUsXG4gIC5yZWFjdC1jYWxlbmRhcl9fZGVjYWRlLXZpZXcgLnJlYWN0LWNhbGVuZGFyX190aWxlLFxuICAucmVhY3QtY2FsZW5kYXJfX2NlbnR1cnktdmlldyAucmVhY3QtY2FsZW5kYXJfX3RpbGUge1xuICAgIHBhZGRpbmc6IDJlbSAwLjVlbTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGUge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dFNlY29uZGFyeTF9O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA2cHggNHB4O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEZvbnRTaXplfTtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlOmVuYWJsZWQ6aG92ZXIsXG4gIC5yZWFjdC1jYWxlbmRhcl9fdGlsZTplbmFibGVkOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5CZ2R9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5BY3RDb2xvcn07XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlLS1ub3c6ZW5hYmxlZDpob3ZlcixcbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlLS1ub3c6ZW5hYmxlZDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQmdkfTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRNYWlufTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGUtLWhhc0FjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQWN0QmdkfTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGUtLWhhc0FjdGl2ZTplbmFibGVkOmhvdmVyLFxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGUtLWhhc0FjdGl2ZTplbmFibGVkOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5BY3RCZ2R9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dE1haW59O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fdGlsZS0tYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5BY3RCZ2R9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dE1haW59O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGUtLWFjdGl2ZTplbmFibGVkOmhvdmVyLFxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGUtLWFjdGl2ZTplbmFibGVkOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5BY3RCZ2R9O1xuICB9XG4gIC5jYWxlbmRhcl9fbmF2aWdhdGlvbl9fbGFiZWxfX2xhYmVsVGV4dCB7XG4gICAg0YFvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dE1haW59O1xuICB9XG5gO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFHQSxJQUFBQSxPQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFBQyxX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
447
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc3R5bGVzIiwicmVxdWlyZSIsIl9jbGFzc25hbWVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9yZWFjdERhdGVQaWNrZXIiLCJfcmVhY3RUaW1lUGlja2VyIiwiX3JlYWN0VG9vbHRpcCIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2lzUHJvcFZhbGlkIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl90ZW1wbGF0ZU9iamVjdDYiLCJfdGVtcGxhdGVPYmplY3Q3IiwiX3RlbXBsYXRlT2JqZWN0OCIsIl90ZW1wbGF0ZU9iamVjdDkiLCJfdGVtcGxhdGVPYmplY3QwIiwiX3RlbXBsYXRlT2JqZWN0MSIsIl90ZW1wbGF0ZU9iamVjdDEwIiwiX3RlbXBsYXRlT2JqZWN0MTEiLCJfdGVtcGxhdGVPYmplY3QxMiIsIl90ZW1wbGF0ZU9iamVjdDEzIiwiX3RlbXBsYXRlT2JqZWN0MTQiLCJfdGVtcGxhdGVPYmplY3QxNSIsIl90ZW1wbGF0ZU9iamVjdDE2IiwiX3RlbXBsYXRlT2JqZWN0MTciLCJfdGVtcGxhdGVPYmplY3QxOCIsIl90ZW1wbGF0ZU9iamVjdDE5IiwiX3RlbXBsYXRlT2JqZWN0MjAiLCJfdGVtcGxhdGVPYmplY3QyMSIsIl90ZW1wbGF0ZU9iamVjdDIyIiwiX3RlbXBsYXRlT2JqZWN0MjMiLCJfdGVtcGxhdGVPYmplY3QyNCIsIl90ZW1wbGF0ZU9iamVjdDI1IiwiX3RlbXBsYXRlT2JqZWN0MjYiLCJfdGVtcGxhdGVPYmplY3QyNyIsIl90ZW1wbGF0ZU9iamVjdDI4IiwiX3RlbXBsYXRlT2JqZWN0MjkiLCJfdGVtcGxhdGVPYmplY3QzMCIsIl90ZW1wbGF0ZU9iamVjdDMxIiwiX3RlbXBsYXRlT2JqZWN0MzIiLCJfdGVtcGxhdGVPYmplY3QzMyIsIl90ZW1wbGF0ZU9iamVjdDM0IiwiX3RlbXBsYXRlT2JqZWN0MzUiLCJfdGVtcGxhdGVPYmplY3QzNiIsIl90ZW1wbGF0ZU9iamVjdDM3IiwiX3RlbXBsYXRlT2JqZWN0MzgiLCJfdGVtcGxhdGVPYmplY3QzOSIsIl90ZW1wbGF0ZU9iamVjdDQwIiwiX3RlbXBsYXRlT2JqZWN0NDEiLCJfdGVtcGxhdGVPYmplY3Q0MiIsIl90ZW1wbGF0ZU9iamVjdDQzIiwiX3RlbXBsYXRlT2JqZWN0NDQiLCJfdGVtcGxhdGVPYmplY3Q0NSIsIl90ZW1wbGF0ZU9iamVjdDQ2IiwiX3RlbXBsYXRlT2JqZWN0NDciLCJfdGVtcGxhdGVPYmplY3Q0OCIsIl90ZW1wbGF0ZU9iamVjdDQ5IiwiX3RlbXBsYXRlT2JqZWN0NTAiLCJfdGVtcGxhdGVPYmplY3Q1MSIsInNob3VsZEZvcndhcmRQcm9wIiwicHJvcE5hbWUiLCJ0YXJnZXQiLCJpc1Byb3BWYWxpZCIsIlNlbGVjdFRleHQiLCJleHBvcnRzIiwic3R5bGVkIiwic3BhbiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsImxhYmVsQ29sb3IiLCJzZWxlY3RGb250U2l6ZSIsIlNlbGVjdFRleHRCb2xkIiwidGV4dENvbG9yIiwiSWNvblJvdW5kU21hbGwiLCJkaXYiLCJzZWNvbmRhcnlCdG5CZ2RIb3ZlciIsInNlY29uZGFyeUJ0bkNvbG9yIiwiQ2VudGVyRmxleGJveCIsIkNlbnRlclZlcnRpY2FsRmxleGJveCIsIkVuZEhvcml6b250YWxGbGV4Ym94IiwiU3BhY2VCZXR3ZWVuRmxleGJveCIsIlNCRmxleGJveEl0ZW0iLCJTQkZsZXhib3hOb01hcmdpbiIsIlBhbmVsTGFiZWwiLCJsYWJlbCIsImF0dHJzIiwiY2xhc3NOYW1lIiwiUGFuZWxMYWJlbFdyYXBwZXIiLCJQYW5lbExhYmVsQm9sZCIsIlBhbmVsSGVhZGVyVGl0bGUiLCJjbGFzc25hbWVzIiwiUGFuZWxIZWFkZXJDb250ZW50IiwiUGFuZWxDb250ZW50IiwicGFuZWxDb250ZW50QmFja2dyb3VuZCIsIlNpZGVQYW5lbFNlY3Rpb24iLCJkaXNhYmxlZCIsIlNpZGVQYW5lbERpdmlkZXIiLCJzaWRlcGFuZWxEaXZpZGVyQm9yZGVyIiwicGFuZWxCb3JkZXJDb2xvciIsInNpZGVwYW5lbERpdmlkZXJNYXJnaW4iLCJzaWRlcGFuZWxEaXZpZGVySGVpZ2h0IiwiVG9vbHRpcCIsIlJlYWN0VG9vbHRpcCIsInRvb2x0aXBGb250U2l6ZSIsInRvb2x0aXBCb3hTaGFkb3ciLCJ0b29sdGlwQmciLCJ0b29sdGlwQ29sb3IiLCJCdXR0b24iLCJidXR0b24iLCJ3aXRoQ29uZmlnIiwibmVnYXRpdmUiLCJuZWdhdGl2ZUJ0bkJnZCIsInNlY29uZGFyeSIsInNlY29uZGFyeUJ0bkJnZCIsImxpbmsiLCJsaW5rQnRuQmdkIiwiZmxvYXRpbmciLCJmbG9hdGluZ0J0bkJnZCIsImN0YSIsImN0YUJ0bkJnZCIsInByaW1hcnlCdG5CZ2QiLCJwcmltYXJ5QnRuUmFkaXVzIiwibmVnYXRpdmVCdG5Db2xvciIsImxpbmtCdG5Db2xvciIsImZsb2F0aW5nQnRuQ29sb3IiLCJjdGFCdG5Db2xvciIsInByaW1hcnlCdG5Db2xvciIsImxhcmdlIiwicHJpbWFyeUJ0bkZvbnRTaXplTGFyZ2UiLCJzbWFsbCIsInByaW1hcnlCdG5Gb250U2l6ZVNtYWxsIiwicHJpbWFyeUJ0bkZvbnRTaXplRGVmYXVsdCIsImJ0bkZvbnRGYW1pbHkiLCJ0cmFuc2l0aW9uIiwid2lkdGgiLCJuZWdhdGl2ZUJ0bkJvcmRlciIsInNlY29uZGFyeUJ0bkJvcmRlciIsImZsb2F0aW5nQnRuQm9yZGVyIiwibGlua0J0bkJvcmRlciIsInByaW1hcnlCdG5Cb3JkZXIiLCJuZWdhdGl2ZUJ0bkJnZEhvdmVyIiwibGlua0J0bkFjdEJnZEhvdmVyIiwiZmxvYXRpbmdCdG5CZ2RIb3ZlciIsImN0YUJ0bkJnZEhvdmVyIiwicHJpbWFyeUJ0bkJnZEhvdmVyIiwibmVnYXRpdmVCdG5BY3RDb2xvciIsInNlY29uZGFyeUJ0bkFjdENvbG9yIiwibGlua0J0bkFjdENvbG9yIiwiZmxvYXRpbmdCdG5BY3RDb2xvciIsImN0YUJ0bkFjdENvbG9yIiwicHJpbWFyeUJ0bkFjdENvbG9yIiwiSW5wdXQiLCJpbnB1dCIsInNlY29uZGFyeUlucHV0IiwiSW5wdXRMaWdodCIsImlucHV0TFQiLCJUZXh0QXJlYSIsInRleHRhcmVhIiwiVGV4dEFyZWFMaWdodCIsIklubGluZUlucHV0IiwiaW5saW5lSW5wdXQiLCJTdHlsZWRQYW5lbEhlYWRlciIsIiRhY3RpdmUiLCJwYW5lbEJhY2tncm91bmRIb3ZlciIsInBhbmVsQmFja2dyb3VuZCIsImxhYmVsUkNHQ29sb3JWYWx1ZXMiLCJqb2luIiwicGFuZWxIZWFkZXJIZWlnaHQiLCJwYW5lbEhlYWRlckJvcmRlclJhZGl1cyIsIlN0eWxlZFBhbmVsRHJvcGRvd24iLCJwYW5lbERyb3Bkb3duU2Nyb2xsQmFyIiwidHlwZSIsIm1vZGFsRHJvcGRvd25CYWNrZ3JvdW5kIiwicGFuZWxCb3hTaGFkb3ciLCJwYW5lbEJvcmRlclJhZGl1cyIsIkJ1dHRvbkdyb3VwIiwiRGF0YXNldFNxdWFyZSIsImJhY2tncm91bmRDb2xvciIsIlNlbGVjdGlvbkJ1dHRvbiIsInNlbGVjdGVkIiwic2VsZWN0aW9uQnRuQm9yZGVyQWN0Q29sb3IiLCJzZWxlY3Rpb25CdG5Cb3JkZXJDb2xvciIsInNlbGVjdGlvbkJ0bkFjdENvbG9yIiwic2VsZWN0aW9uQnRuQ29sb3IiLCJzZWxlY3Rpb25CdG5BY3RCZ2QiLCJzZWxlY3Rpb25CdG5CZ2QiLCJTdHlsZWRUYWJsZSIsInRhYmxlIiwicGFuZWxCYWNrZ3JvdW5kTFQiLCJ0aXRsZUNvbG9yTFQiLCJwYW5lbEJvcmRlckxUIiwiU3R5bGVkTW9kYWxDb250ZW50IiwidGV4dENvbG9yTFQiLCJtb2RhbExhdGVyYWxQYWRkaW5nIiwibWVkaWEiLCJwb3J0YWJsZSIsIm1vZGFsUG9ydGFibGVMYXRlcmFsUGFkZGluZyIsIlN0eWxlZE1vZGFsVmVydGljYWxQYW5lbCIsInBhbG0iLCJTdHlsZWRNb2RhbFNlY3Rpb24iLCJfcmVmIiwic3VidGV4dENvbG9yTFQiLCJTdHlsZWRNb2RhbElucHV0Rm9vdG5vdGUiLCJlcnJvciIsImVycm9yQ29sb3IiLCJTdHlsZWRNYXBDb250YWluZXIiLCJTdHlsZWRBdHRyaWJ1dGlvbiIsInByb3AiLCJpbmNsdWRlcyIsIm1hcExpYkF0dHJpYnV0aW9uQ3NzQ2xhc3MiLCJzaG93TG9nbyIsIm1hcExpYkNzc0NsYXNzIiwiU3R5bGVkRXhwb3J0U2VjdGlvbiIsIl9wcm9wcyR0aGVtZSRmb250RmFtaSIsImZvbnRGYW1pbHlNZWRpdW0iLCJmb250RmFtaWx5IiwiU3R5bGVkRmlsdGVyZWRPcHRpb24iLCJTdHlsZWRUeXBlIiwiV2lkZ2V0Q29udGFpbmVyIiwiQm90dG9tV2lkZ2V0SW5uZXIiLCJib3R0b21XaWRnZXRCZ2QiLCJjb25jYXQiLCJib3R0b21Jbm5lclBkVmVydCIsImJvdHRvbUlubmVyUGRTaWRlIiwiYm90dG9tUGFuZWxHYXAiLCJNYXBDb250cm9sQnV0dG9uIiwiZmxvYXRpbmdCdG5SYWRpdXMiLCJhY3RpdmUiLCJmbG9hdGluZ0J0bkJvcmRlckhvdmVyIiwiU3R5bGVkRmlsdGVyQ29udGVudCIsIlRydW5jYXRlZFRpdGxlVGV4dCIsIkNoZWNrTWFyayIsIlN0eWxlZFRpbWVQaWNrZXIiLCJUaW1lUGlja2VyIiwiaW5wdXRGb250U2l6ZSIsImlucHV0QmdkIiwiZWZmZWN0UGFuZWxUZXh0TWFpbiIsImlucHV0QmdkSG92ZXIiLCJTdHlsZWREYXRlUGlja2VyIiwiRGF0ZVBpY2tlciIsImVmZmVjdFBhbmVsVGV4dFNlY29uZGFyeTEiLCJpbnB1dEJnZEFjdGl2ZSIsImVmZmVjdFBhbmVsVGV4dFNlY29uZGFyeTIiLCJlZmZlY3RQYW5lbFRleHRTZWNvbmRhcnkzIiwicHJpbWFyeUJ0bkFjdEJnZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7bWVkaWF9IGZyb20gJ0BrZXBsZXIuZ2wvc3R5bGVzJztcbmltcG9ydCB7UkdCQ29sb3J9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgRGF0ZVBpY2tlciBmcm9tICdyZWFjdC1kYXRlLXBpY2tlcic7XG5pbXBvcnQgVGltZVBpY2tlciBmcm9tICdyZWFjdC10aW1lLXBpY2tlcic7XG5pbXBvcnQgUmVhY3RUb29sdGlwLCB7VG9vbHRpcFByb3BzfSBmcm9tICdyZWFjdC10b29sdGlwJztcbmltcG9ydCBzdHlsZWQsIHtJU3R5bGVkQ29tcG9uZW50fSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgaXNQcm9wVmFsaWQgZnJvbSAnQGVtb3Rpb24vaXMtcHJvcC12YWxpZCc7XG5cbmltcG9ydCB7QmFzZUNvbXBvbmVudFByb3BzfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vIFRoaXMgaW1wbGVtZW50cyB0aGUgZGVmYXVsdCBiZWhhdmlvciBmcm9tIHN0eWxlZC1jb21wb25lbnRzIHY1XG5leHBvcnQgZnVuY3Rpb24gc2hvdWxkRm9yd2FyZFByb3AocHJvcE5hbWUsIHRhcmdldCkge1xuICBpZiAodHlwZW9mIHRhcmdldCA9PT0gJ3N0cmluZycpIHtcbiAgICAvLyBGb3IgSFRNTCBlbGVtZW50cywgZm9yd2FyZCB0aGUgcHJvcCBpZiBpdCBpcyBhIHZhbGlkIEhUTUwgYXR0cmlidXRlXG4gICAgcmV0dXJuIGlzUHJvcFZhbGlkKHByb3BOYW1lKTtcbiAgfVxuICAvLyBGb3Igb3RoZXIgZWxlbWVudHMsIGZvcndhcmQgYWxsIHByb3BzXG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgY29uc3QgU2VsZWN0VGV4dCA9IHN0eWxlZC5zcGFuYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlbGVjdEZvbnRTaXplfTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICBpIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTZWxlY3RUZXh0Qm9sZCA9IHN0eWxlZChTZWxlY3RUZXh0KWBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbmA7XG5cbmV4cG9ydCBjb25zdCBJY29uUm91bmRTbWFsbCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDlweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5CZ2RIb3Zlcn07XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkNvbG9yfTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQmdkSG92ZXJ9O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgQ2VudGVyRmxleGJveCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgQ2VudGVyVmVydGljYWxGbGV4Ym94ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBFbmRIb3Jpem9udGFsRmxleGJveCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBlbmQ7XG5gO1xuXG5leHBvcnQgY29uc3QgU3BhY2VCZXR3ZWVuRmxleGJveCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFNCRmxleGJveEl0ZW0gPSBzdHlsZWQuZGl2YFxuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFNCRmxleGJveE5vTWFyZ2luID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsTGFiZWwgPSBzdHlsZWQubGFiZWwuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdzaWRlLXBhbmVsLXBhbmVsX19sYWJlbCdcbn0pYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5gO1xuXG5leHBvcnQgY29uc3QgUGFuZWxMYWJlbFdyYXBwZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnc2lkZS1wYW5lbC1wYW5lbF9fbGFiZWwtd3JhcHBlcidcbn0pYFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc2VsZi1zdGFydDtcbmA7XG5cbmV4cG9ydCBjb25zdCBQYW5lbExhYmVsQm9sZCA9IHN0eWxlZChQYW5lbExhYmVsKWBcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbmA7XG5cbmV4cG9ydCBjb25zdCBQYW5lbEhlYWRlclRpdGxlID0gc3R5bGVkLnNwYW4uYXR0cnMocHJvcHMgPT4gKHtcbiAgY2xhc3NOYW1lOiBjbGFzc25hbWVzKCdzaWRlLXBhbmVsLXBhbmVsX19oZWFkZXJfX3RpdGxlJywgcHJvcHMuY2xhc3NOYW1lKVxufSkpYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjQzcHg7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsSGVhZGVyQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIHBhZGRpbmctbGVmdDogMTJweDtcblxuICAuaWNvbiB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGFiZWxDb2xvcn07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsQ29udGVudCA9IHN0eWxlZC5kaXYuYXR0cnMocHJvcHMgPT4gKHtcbiAgY2xhc3NOYW1lOiBjbGFzc25hbWVzKCdzaWRlLXBhbmVsLXBhbmVsX19jb250ZW50JywgcHJvcHMuY2xhc3NOYW1lKVxufSkpYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQ29udGVudEJhY2tncm91bmR9O1xuICBwYWRkaW5nOiAxMnB4O1xuYDtcblxuaW50ZXJmYWNlIFNpZGVQYW5lbFNlY3Rpb25Qcm9wcyB7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFNpZGVQYW5lbFNlY3Rpb24gPSBzdHlsZWQuZGl2LmF0dHJzKHByb3BzID0+ICh7XG4gIGNsYXNzTmFtZTogY2xhc3NuYW1lcygnc2lkZS1wYW5lbC1zZWN0aW9uJywgcHJvcHMuY2xhc3NOYW1lKVxufSkpPFNpZGVQYW5lbFNlY3Rpb25Qcm9wcz5gXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5cbiAgb3BhY2l0eTogJHtwcm9wcyA9PiAocHJvcHMuZGlzYWJsZWQgPyAwLjQgOiAxKX07XG4gIHBvaW50ZXItZXZlbnRzOiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/ICdub25lJyA6ICdhbGwnKX07XG5gO1xuXG5leHBvcnQgY29uc3QgU2lkZVBhbmVsRGl2aWRlciA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdzaWRlLXBhbmVsLWRpdmlkZXInXG59KWBcbiAgYm9yZGVyLWJvdHRvbTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlcGFuZWxEaXZpZGVyQm9yZGVyfSBzb2xpZFxuICAgICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3JkZXJDb2xvcn07XG4gIG1hcmdpbi1ib3R0b206ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZXBhbmVsRGl2aWRlck1hcmdpbn1weDtcbiAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVwYW5lbERpdmlkZXJIZWlnaHR9cHg7XG5gO1xuXG50eXBlIFRvb2x0aXBBdHRyc1Byb3BzID0ge2ludGVyYWN0aXZlPzogYm9vbGVhbn0gJiBUb29sdGlwUHJvcHMgJiBCYXNlQ29tcG9uZW50UHJvcHM7XG5cbmV4cG9ydCBjb25zdCBUb29sdGlwOiBJU3R5bGVkQ29tcG9uZW50PCd3ZWInLCBUb29sdGlwQXR0cnNQcm9wcz4gPSBzdHlsZWQoXG4gIFJlYWN0VG9vbHRpcFxuKTxUb29sdGlwUHJvcHM+YFxuICAmLl9fcmVhY3RfY29tcG9uZW50X3Rvb2x0aXAge1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwRm9udFNpemV9O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgcGFkZGluZzogMTBweCAxOHB4O1xuICAgIGJveC1zaGFkb3c6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudG9vbHRpcEJveFNoYWRvd307XG5cbiAgICAmLnR5cGUtZGFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCZ307XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwQ29sb3J9O1xuICAgICAgJi5wbGFjZS1ib3R0b20ge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCZ307XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5wbGFjZS10b3Age1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCZ307XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5wbGFjZS1yaWdodCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwQmd9O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucGxhY2UtbGVmdCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCZ307XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCB0eXBlIEJ1dHRvblByb3BzID0gUmVhY3QuQnV0dG9uSFRNTEF0dHJpYnV0ZXM8SFRNTEJ1dHRvbkVsZW1lbnQ+ICYge1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIHJlZj86IFJlYWN0LkZvcndhcmRlZFJlZjxIVE1MRWxlbWVudD47XG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xuICBuZWdhdGl2ZT86IGJvb2xlYW47XG4gIHNlY29uZGFyeT86IGJvb2xlYW47XG4gIGxpbms/OiBib29sZWFuO1xuICBmbG9hdGluZz86IGJvb2xlYW47XG4gIGN0YT86IGJvb2xlYW47XG4gIGxhcmdlPzogYm9vbGVhbjtcbiAgc21hbGw/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIHdpZHRoPzogc3RyaW5nO1xuICBpbmFjdGl2ZT86IGJvb2xlYW47XG4gIHNpemU/OiBzdHJpbmc7XG59O1xuXG4vLyB0aGlzIG5lZWRzIHRvIGJlIGFuIGFjdHVhbCBidXR0b24gdG8gYmUgYWJsZSB0byBzZXQgZGlzYWJsZWQgYXR0cmlidXRlIGNvcnJlY3RseVxuZXhwb3J0IGNvbnN0IEJ1dHRvbiA9IHN0eWxlZC5idXR0b24ud2l0aENvbmZpZyh7c2hvdWxkRm9yd2FyZFByb3B9KS5hdHRycyhwcm9wcyA9PiAoe1xuICBjbGFzc05hbWU6IGNsYXNzbmFtZXMoJ2J1dHRvbicsIHByb3BzLmNsYXNzTmFtZSlcbn0pKTxCdXR0b25Qcm9wcz5gXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5uZWdhdGl2ZVxuICAgICAgPyBwcm9wcy50aGVtZS5uZWdhdGl2ZUJ0bkJnZFxuICAgICAgOiBwcm9wcy5zZWNvbmRhcnlcbiAgICAgID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQmdkXG4gICAgICA6IHByb3BzLmxpbmtcbiAgICAgID8gcHJvcHMudGhlbWUubGlua0J0bkJnZFxuICAgICAgOiBwcm9wcy5mbG9hdGluZ1xuICAgICAgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJnZFxuICAgICAgOiBwcm9wcy5jdGFcbiAgICAgID8gcHJvcHMudGhlbWUuY3RhQnRuQmdkXG4gICAgICA6IHByb3BzLnRoZW1lLnByaW1hcnlCdG5CZ2R9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5SYWRpdXN9O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLm5lZ2F0aXZlXG4gICAgICA/IHByb3BzLnRoZW1lLm5lZ2F0aXZlQnRuQ29sb3JcbiAgICAgIDogcHJvcHMuc2Vjb25kYXJ5XG4gICAgICA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkNvbG9yXG4gICAgICA6IHByb3BzLmxpbmtcbiAgICAgID8gcHJvcHMudGhlbWUubGlua0J0bkNvbG9yXG4gICAgICA6IHByb3BzLmZsb2F0aW5nXG4gICAgICA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQ29sb3JcbiAgICAgIDogcHJvcHMuY3RhXG4gICAgICA/IHByb3BzLnRoZW1lLmN0YUJ0bkNvbG9yXG4gICAgICA6IHByb3BzLnRoZW1lLnByaW1hcnlCdG5Db2xvcn07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcyA9PlxuICAgIHByb3BzLmxhcmdlXG4gICAgICA/IHByb3BzLnRoZW1lLnByaW1hcnlCdG5Gb250U2l6ZUxhcmdlXG4gICAgICA6IHByb3BzLnNtYWxsXG4gICAgICA/IHByb3BzLnRoZW1lLnByaW1hcnlCdG5Gb250U2l6ZVNtYWxsXG4gICAgICA6IHByb3BzLnRoZW1lLnByaW1hcnlCdG5Gb250U2l6ZURlZmF1bHR9O1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5idG5Gb250RmFtaWx5fTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gIG91dGxpbmU6IDA7XG4gIHBhZGRpbmc6ICR7cHJvcHMgPT4gKHByb3BzLmxhcmdlID8gJzE0cHggMzJweCcgOiBwcm9wcy5zbWFsbCA/ICc2cHggOXB4JyA6ICc5cHggMTJweCcpfTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRyYW5zaXRpb259O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHtwcm9wcyA9PiBwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBvcGFjaXR5OiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/IDAuNCA6IDEpfTtcbiAgcG9pbnRlci1ldmVudHM6ICR7cHJvcHMgPT4gKHByb3BzLmRpc2FibGVkID8gJ25vbmUnIDogJ2FsbCcpfTtcbiAgYm9yZGVyOiAke3Byb3BzID0+XG4gICAgcHJvcHMubmVnYXRpdmVcbiAgICAgID8gcHJvcHMudGhlbWUubmVnYXRpdmVCdG5Cb3JkZXJcbiAgICAgIDogcHJvcHMuc2Vjb25kYXJ5XG4gICAgICA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkJvcmRlclxuICAgICAgOiBwcm9wcy5mbG9hdGluZ1xuICAgICAgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJvcmRlclxuICAgICAgOiBwcm9wcy5saW5rXG4gICAgICA/IHByb3BzLnRoZW1lLmxpbmtCdG5Cb3JkZXJcbiAgICAgIDogcHJvcHMudGhlbWUucHJpbWFyeUJ0bkJvcmRlcn07XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgICAgcHJvcHMubmVnYXRpdmVcbiAgICAgICAgPyBwcm9wcy50aGVtZS5uZWdhdGl2ZUJ0bkJnZEhvdmVyXG4gICAgICAgIDogcHJvcHMuc2Vjb25kYXJ5XG4gICAgICAgID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQmdkSG92ZXJcbiAgICAgICAgOiBwcm9wcy5saW5rXG4gICAgICAgID8gcHJvcHMudGhlbWUubGlua0J0bkFjdEJnZEhvdmVyXG4gICAgICAgIDogcHJvcHMuZmxvYXRpbmdcbiAgICAgICAgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJnZEhvdmVyXG4gICAgICAgIDogcHJvcHMuY3RhXG4gICAgICAgID8gcHJvcHMudGhlbWUuY3RhQnRuQmdkSG92ZXJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQmdkSG92ZXJ9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+XG4gICAgICBwcm9wcy5uZWdhdGl2ZVxuICAgICAgICA/IHByb3BzLnRoZW1lLm5lZ2F0aXZlQnRuQWN0Q29sb3JcbiAgICAgICAgOiBwcm9wcy5zZWNvbmRhcnlcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5BY3RDb2xvclxuICAgICAgICA6IHByb3BzLmxpbmtcbiAgICAgICAgPyBwcm9wcy50aGVtZS5saW5rQnRuQWN0Q29sb3JcbiAgICAgICAgOiBwcm9wcy5mbG9hdGluZ1xuICAgICAgICA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQWN0Q29sb3JcbiAgICAgICAgOiBwcm9wcy5jdGFcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jdGFCdG5BY3RDb2xvclxuICAgICAgICA6IHByb3BzLnRoZW1lLnByaW1hcnlCdG5BY3RDb2xvcn07XG4gIH1cblxuICBzdmcge1xuICAgIG1hcmdpbi1yaWdodDogJHtwcm9wcyA9PiAocHJvcHMubGFyZ2UgPyAnMTBweCcgOiBwcm9wcy5zbWFsbCA/ICc2cHgnIDogJzhweCcpfTtcbiAgfVxuYDtcblxuaW50ZXJmYWNlIElucHV0UHJvcHMge1xuICBzZWNvbmRhcnk/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgSW5wdXQgPSBzdHlsZWQuaW5wdXQud2l0aENvbmZpZyh7c2hvdWxkRm9yd2FyZFByb3B9KTxJbnB1dFByb3BzPmBcbiAgJHtwcm9wcyA9PiAocHJvcHMuc2Vjb25kYXJ5ID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5SW5wdXQgOiBwcm9wcy50aGVtZS5pbnB1dCl9O1xuYDtcblxuZXhwb3J0IGNvbnN0IElucHV0TGlnaHQgPSBzdHlsZWQuaW5wdXQud2l0aENvbmZpZyh7c2hvdWxkRm9yd2FyZFByb3B9KWBcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dExUfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBUZXh0QXJlYSA9IHN0eWxlZC50ZXh0YXJlYS53aXRoQ29uZmlnKHtzaG91bGRGb3J3YXJkUHJvcH0pPElucHV0UHJvcHM+YFxuICAke3Byb3BzID0+IChwcm9wcy5zZWNvbmRhcnkgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlJbnB1dCA6IHByb3BzLnRoZW1lLmlucHV0KX07XG5gO1xuZXhwb3J0IGNvbnN0IFRleHRBcmVhTGlnaHQgPSBzdHlsZWQudGV4dGFyZWEud2l0aENvbmZpZyh7c2hvdWxkRm9yd2FyZFByb3B9KWBcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dExUfSBoZWlnaHQ6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbmA7XG5cbmV4cG9ydCBjb25zdCBJbmxpbmVJbnB1dCA9IHN0eWxlZChJbnB1dClgXG4gICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5saW5lSW5wdXR9O1xuYDtcblxuZXhwb3J0IGludGVyZmFjZSBTdHlsZWRQYW5lbEhlYWRlclByb3BzIHtcbiAgJGFjdGl2ZT86IGJvb2xlYW47XG4gIGxhYmVsUkNHQ29sb3JWYWx1ZXM/OiBSR0JDb2xvciB8IG51bGw7XG4gIHdhcm5pbmc/OiBib29sZWFuO1xuICBpc1ZhbGlkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFN0eWxlZFBhbmVsSGVhZGVyID0gc3R5bGVkLmRpdi53aXRoQ29uZmlnKHtzaG91bGRGb3J3YXJkUHJvcH0pPFN0eWxlZFBhbmVsSGVhZGVyUHJvcHM+YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuJGFjdGl2ZSA/IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyIDogcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kfTtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZFxuICAgIHJnYihcbiAgICAgICR7cHJvcHMgPT4gKHByb3BzLmxhYmVsUkNHQ29sb3JWYWx1ZXMgPyBwcm9wcy5sYWJlbFJDR0NvbG9yVmFsdWVzLmpvaW4oJywnKSA6ICd0cmFuc3BhcmVudCcpfVxuICAgICk7XG4gIHBhZGRpbmc6IDAgMTBweCAwIDA7XG4gIGhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEhlYWRlckhlaWdodH1weDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsSGVhZGVyQm9yZGVyUmFkaXVzfTtcbiAgdHJhbnNpdGlvbjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50cmFuc2l0aW9ufTtcbmA7XG5cbmludGVyZmFjZSBTdHlsZWRQYW5lbERyb3Bkb3duUHJvcHMge1xuICB0eXBlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgU3R5bGVkUGFuZWxEcm9wZG93biA9IHN0eWxlZC5kaXY8U3R5bGVkUGFuZWxEcm9wZG93blByb3BzPmBcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbERyb3Bkb3duU2Nyb2xsQmFyfVxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMudHlwZSA9PT0gJ2xpZ2h0JyA/IHByb3BzLnRoZW1lLm1vZGFsRHJvcGRvd25CYWNrZ3JvdW5kIDogcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kfTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgYm94LXNoYWRvdzogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJveFNoYWRvd307XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3JkZXJSYWRpdXN9O1xuICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTk7XG5gO1xuXG5leHBvcnQgY29uc3QgQnV0dG9uR3JvdXAgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICAuYnV0dG9uIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gIH1cbiAgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuUmFkaXVzfTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5SYWRpdXN9O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0blJhZGl1c307XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0blJhZGl1c307XG4gIH1cbmA7XG5cbmludGVyZmFjZSBEYXRhc2V0U3F1YXJlUHJvcHMge1xuICBiYWNrZ3JvdW5kQ29sb3I6IFJHQkNvbG9yO1xufVxuXG5leHBvcnQgY29uc3QgRGF0YXNldFNxdWFyZSA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7c2hvdWxkRm9yd2FyZFByb3B9KTxEYXRhc2V0U3F1YXJlUHJvcHM+YFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigke3Byb3BzID0+IHByb3BzLmJhY2tncm91bmRDb2xvci5qb2luKCcsJyl9KTtcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuYDtcblxuaW50ZXJmYWNlIFNlbGVjdGlvbkJ1dHRvblByb3BzIHtcbiAgc2VsZWN0ZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgU2VsZWN0aW9uQnV0dG9uID0gc3R5bGVkLmRpdi53aXRoQ29uZmlnKHtzaG91bGRGb3J3YXJkUHJvcH0pPFNlbGVjdGlvbkJ1dHRvblByb3BzPmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcyA9PlxuICAgICAgcHJvcHMuc2VsZWN0ZWRcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5Cb3JkZXJBY3RDb2xvclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkJvcmRlckNvbG9yfTtcbiAgY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5zZWxlY3RlZCA/IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkFjdENvbG9yIDogcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQ29sb3J9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuc2VsZWN0ZWQgPyBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5BY3RCZ2QgOiBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5CZ2R9O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIHBhZGRpbmc6IDZweCAxNnB4O1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkFjdENvbG9yfTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkJvcmRlckFjdENvbG9yfTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRhYmxlID0gc3R5bGVkLnRhYmxlYFxuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG5cbiAgdGhlYWQge1xuICAgIHRyIHRoIHtcbiAgICAgIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kTFR9O1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGl0bGVDb2xvckxUfTtcbiAgICAgIHBhZGRpbmc6IDE4cHggMTJweDtcbiAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHtcbiAgICB0ciB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQm9yZGVyTFR9O1xuICAgICAgcGFkZGluZzogMTJweDtcbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNb2RhbENvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZExUfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yTFR9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmb250LXNpemU6IDEwcHg7XG4gIHBhZGRpbmc6IDI0cHggJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tb2RhbExhdGVyYWxQYWRkaW5nfTtcbiAgbWFyZ2luOiAwIC0ke3Byb3BzID0+IHByb3BzLnRoZW1lLm1vZGFsTGF0ZXJhbFBhZGRpbmd9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICR7bWVkaWEucG9ydGFibGVgXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAxNnB4ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubW9kYWxQb3J0YWJsZUxhdGVyYWxQYWRkaW5nfTtcbiAgICBtYXJnaW46IDAgLSR7cHJvcHMgPT4gcHJvcHMudGhlbWUubW9kYWxQb3J0YWJsZUxhdGVyYWxQYWRkaW5nfTtcbiAgYH07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTW9kYWxWZXJ0aWNhbFBhbmVsID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ21vZGFsLXZlcnRpY2FsLXBhbmVsJ1xufSlgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBmb250LXNpemU6IDEycHg7XG5cbiAgLm1vZGFsLXNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgJHttZWRpYS5wYWxtYFxuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICBgfTtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1vZGFsU2VjdGlvbiA9IHN0eWxlZC5kaXYuYXR0cnMoKHtjbGFzc05hbWV9KSA9PiAoe1xuICBjbGFzc05hbWU6IGNsYXNzbmFtZXMoJ21vZGFsLXNlY3Rpb24nLCBjbGFzc05hbWUpXG59KSlgXG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG5cbiAgLm1vZGFsLXNlY3Rpb24tdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cbiAgLm1vZGFsLXNlY3Rpb24tc3VidGl0bGUge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvckxUfTtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gIH1cblxuICAke21lZGlhLnBvcnRhYmxlYFxuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIGB9O1xuICAke21lZGlhLnBhbG1gXG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgYH07XG5gO1xuXG5pbnRlcmZhY2UgU3R5bGVkTW9kYWxJbnB1dEZvb3Rub3RlUHJvcHMge1xuICBlcnJvcj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNb2RhbElucHV0Rm9vdG5vdGUgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbW9kYWwtaW5wdXRfX2Zvb3Rub3RlJ1xufSk8U3R5bGVkTW9kYWxJbnB1dEZvb3Rub3RlUHJvcHM+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBjb2xvcjogJHtwcm9wcyA9PiAocHJvcHMuZXJyb3IgPyBwcm9wcy50aGVtZS5lcnJvckNvbG9yIDogcHJvcHMudGhlbWUuc3VidGV4dENvbG9yTFQpfTtcbiAgZm9udC1zaXplOiAxMHB4O1xuYDtcbi8qKlxuICogTmV3ZXIgdmVyc2lvbnMgb2YgbWFwYm94LmdsIGRpc3BsYXkgYW4gZXJyb3IgbWVzc2FnZSBiYW5uZXIgb24gdG9wIG9mIHRoZSBtYXAgYnkgZGVmYXVsdFxuICogd2hpY2ggd2lsbCBjYXVzZSB0aGUgbWFwIHRvIGRpc3BsYXkgcG9pbnRzIGluIHRoZSB3cm9uZyBsb2NhdGlvbnNcbiAqIFRoaXMgd29ya2Fyb3VuZCB3aWxsIGhpZGUgdGhlIGVycm9yIGJhbm5lci5cbiAqL1xuZXhwb3J0IGNvbnN0IFN0eWxlZE1hcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC5tYXBsaWJyZWdsLW1hcCB7XG4gICAgLm1hcGxpYnJlZ2wtbWlzc2luZy1jc3Mge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLm1hcGJveGdsLW1hcCB7XG4gICAgLm1hcGJveGdsLW1pc3NpbmctY3NzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5tYXBib3hnbC1jdHJsLWF0dHJpYiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IHR5cGUgU3R5bGVkQXR0cmlidXRpb25Qcm9wcyA9IHtcbiAgbWFwTGliQ3NzQ2xhc3M6IHN0cmluZztcbiAgbWFwTGliQXR0cmlidXRpb25Dc3NDbGFzczogc3RyaW5nO1xuICBzaG93TG9nbz86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQXR0cmlidXRpb24gPSBzdHlsZWQuZGl2XG4gIC53aXRoQ29uZmlnKHtcbiAgICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PlxuICAgICAgIVsnbWFwTGliQ3NzQ2xhc3MnLCAnbWFwTGliQXR0cmlidXRpb25Dc3NDbGFzcycsICdzaG93TG9nbyddLmluY2x1ZGVzKHByb3ApXG4gIH0pXG4gIC5hdHRyczxTdHlsZWRBdHRyaWJ1dGlvblByb3BzPihwcm9wcyA9PiAoe1xuICAgIGNsYXNzTmFtZTogcHJvcHMubWFwTGliQXR0cmlidXRpb25Dc3NDbGFzc1xuICB9KSk8U3R5bGVkQXR0cmlidXRpb25Qcm9wcz5gXG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCAxMHB4IDZweDtcbiAgei1pbmRleDogMTtcbiAgLmF0dHJpdGlvbi1saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG5cbiAgICBhLFxuICAgIC5waXBlLXNlcGFyYXRvciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxhYmVsQ29sb3J9O1xuICAgIH1cblxuICAgIC5iYXNlbWFwLWF0dHJpYnV0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1heC13aWR0aDogJHtwcm9wcyA9PiAocHJvcHMuc2hvd0xvZ28gPT09IGZhbHNlID8gJzMyMHB4JyA6ICcyMjBweCcpfTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGFiZWxDb2xvcn07XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJhc2VtYXAtYXR0cmlidXRpb24gYSB7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgICB9XG5cbiAgICAucGlwZS1zZXBhcmF0b3Ige1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5hdHRyaXRpb24tbG9nbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxhYmVsQ29sb3J9O1xuXG4gICAgYS4ke3Byb3BzID0+IHByb3BzLm1hcExpYkNzc0NsYXNzfS1jdHJsLWxvZ28ge1xuICAgICAgd2lkdGg6IDcycHg7XG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIH1cbiAgfVxuICBhLFxuICAucGlwZS1zZXBhcmF0b3Ige1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgfVxuXG4gICR7bWVkaWEucGFsbWBcbiAgICAuYXR0cml0aW9uLWxvZ28gYSB7XG4gICAgICB3aWR0aDogNjBweDtcbiAgICB9XG5cbiAgICAuYXR0cml0aW9uLWxpbmsge1xuICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICB9XG5cbiAgICAuYmFzZW1hcC1hdHRyaWJ1dGlvbiB7XG4gICAgICBtYXgtd2lkdGg6ICR7KHByb3BzOiBTdHlsZWRBdHRyaWJ1dGlvblByb3BzKSA9PiAocHJvcHMuc2hvd0xvZ28gPT09IGZhbHNlID8gJzIyMHB4JyA6ICcxNDBweCcpfTtcbiAgICB9XG4gIGB9O1xuYDtcblxuZXhwb3J0IGludGVyZmFjZSBTdHlsZWRFeHBvcnRTZWN0aW9uUHJvcHMge1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRFeHBvcnRTZWN0aW9uID0gc3R5bGVkLmRpdjxTdHlsZWRFeHBvcnRTZWN0aW9uUHJvcHM+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBtYXJnaW46IDM1cHggMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckxUfTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBvcGFjaXR5OiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/IDAuMyA6IDEpfTtcbiAgcG9pbnRlci1ldmVudHM6ICR7cHJvcHMgPT4gKHByb3BzLmRpc2FibGVkID8gJ25vbmUnIDogJ2FsbCcpfTtcblxuICAuZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiAxODVweDtcbiAgICAudGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtZmFtaWx5OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZvbnRGYW1pbHlNZWRpdW0gPz8gcHJvcHMudGhlbWUuZm9udEZhbWlseX07XG4gICAgfVxuICAgIC5zdWJ0aXRsZSB7XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3JMVH07XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgfVxuICB9XG4gIC53YXJuaW5nIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lcnJvckNvbG9yfTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG4gIC5kZXNjcmlwdGlvbi5mdWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuc2VsZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4OiAxO1xuICAgIHBhZGRpbmctbGVmdDogNTBweDtcblxuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgICBwYWRkaW5nOiAwLjVlbSAzLjVlbSAwLjVlbSAxZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgIGhlaWdodDogMzZweDtcblxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCA1MCUsIGdyYXkgNTAlKSxcbiAgICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgZ3JheSA1MCUsIHRyYW5zcGFyZW50IDUwJSksIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2NjYywgI2NjYyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAyMHB4KSBjYWxjKDFlbSArIDJweCksIGNhbGMoMTAwJSAtIDE1cHgpIGNhbGMoMWVtICsgMnB4KSxcbiAgICAgICAgY2FsYygxMDAlIC0gMi41ZW0pIDQuNWVtO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA1cHggNXB4LCA1cHggNXB4LCAxcHggMS41ZW07XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIH1cblxuICAgIHNlbGVjdDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIGdyZWVuIDUwJSwgdHJhbnNwYXJlbnQgNTAlKSxcbiAgICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdHJhbnNwYXJlbnQgNTAlLCBncmVlbiA1MCUpLCBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNjY2MsICNjY2MpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMTVweCkgMWVtLCBjYWxjKDEwMCUgLSAyMHB4KSAxZW0sIGNhbGMoMTAwJSAtIDIuNWVtKSA0LjVlbTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNXB4IDVweCwgNXB4IDVweCwgMXB4IDEuNWVtO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJvcmRlci1jb2xvcjogZ3JlZW47XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZpbHRlcmVkT3B0aW9uID0gc3R5bGVkKFNlbGVjdGlvbkJ1dHRvbilgXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDRweDtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIHdpZHRoOiAxNDBweDtcblxuICAuZmlsdGVyLW9wdGlvbi10aXRsZSB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yTFR9O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG4gIC5maWx0ZXItb3B0aW9uLXN1YnRpdGxlIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3JMVH07XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVHlwZSA9IHN0eWxlZChTZWxlY3Rpb25CdXR0b24pYFxuICBoZWlnaHQ6IDEwMHB4O1xuICBtYXJnaW46IDRweDtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIHdpZHRoOiAxMDBweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBXaWRnZXRDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICB6LWluZGV4OiAxO1xuYDtcblxuZXhwb3J0IGNvbnN0IEJvdHRvbVdpZGdldElubmVyID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3R0b21XaWRnZXRCZ2R9O1xuICBwYWRkaW5nOiAke3Byb3BzID0+IGAke3Byb3BzLnRoZW1lLmJvdHRvbUlubmVyUGRWZXJ0fXB4ICR7cHJvcHMudGhlbWUuYm90dG9tSW5uZXJQZFNpZGV9cHhgfTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmJvdHRvbVBhbmVsR2FwfXB4O1xuXG4gICR7bWVkaWEucG9ydGFibGVgXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3JkZXJDb2xvcn07XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQm9yZGVyQ29sb3J9O1xuICAgIHBhZGRpbmc6IDEycHggMTJweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICBgfVxuYDtcblxuaW50ZXJmYWNlIE1hcENvbnRyb2xCdXR0b25Qcm9wcyB7XG4gIGFjdGl2ZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBNYXBDb250cm9sQnV0dG9uID0gc3R5bGVkKEJ1dHRvbilcbiAgLndpdGhDb25maWcoe1xuICAgIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+ICFbJ2FjdGl2ZSddLmluY2x1ZGVzKHByb3ApXG4gIH0pXG4gIC5hdHRycyhwcm9wcyA9PiAoe1xuICAgIGNsYXNzTmFtZTogY2xhc3NuYW1lcygnbWFwLWNvbnRyb2wtYnV0dG9uJywgcHJvcHMuY2xhc3NOYW1lKVxuICB9KSk8TWFwQ29udHJvbEJ1dHRvblByb3BzPmBcbiAgYm94LXNoYWRvdzogMCA2cHggMTJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNik7XG4gIGhlaWdodDogMzJweDtcbiAgd2lkdGg6IDMycHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5SYWRpdXN9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuYWN0aXZlID8gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5CZ2RIb3ZlciA6IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQmdkfTtcbiAgY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5hY3RpdmUgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkFjdENvbG9yIDogcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5Db2xvcn07XG4gIGJvcmRlcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmFjdGl2ZSA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQm9yZGVySG92ZXIgOiBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJvcmRlcn07XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQmdkSG92ZXJ9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQWN0Q29sb3J9O1xuICAgIGJvcmRlcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJvcmRlckhvdmVyfTtcbiAgfVxuICBzdmcge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZpbHRlckNvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQ29udGVudEJhY2tncm91bmR9O1xuICBwYWRkaW5nOiAxMnB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFRydW5jYXRlZFRpdGxlVGV4dCA9IHN0eWxlZC5kaXZgXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuYDtcblxuZXhwb3J0IGNvbnN0IENoZWNrTWFyayA9IHN0eWxlZC5zcGFuLmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnY2hlY2tib3gtaW5uZXInXG59KWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5Cb3JkZXJBY3RDb2xvcn07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweDtcblxuICAmOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBzY2FsZSgxKSB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgb3BhY2l0eTogMTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgdG9wOiA0MCU7XG4gICAgbGVmdDogMzAlO1xuICAgIHdpZHRoOiAzLjJweDtcbiAgICBoZWlnaHQ6IDYuMjJweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRpbWVQaWNrZXIgPSBzdHlsZWQoVGltZVBpY2tlcilgXG4gIC5yZWFjdC10aW1lLXBpY2tlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtZmFtaWx5OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZvbnRGYW1pbHl9O1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEZvbnRTaXplfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0QmdkfTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRNYWlufTtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXIsXG4gIC5yZWFjdC10aW1lLXBpY2tlciAqLFxuICAucmVhY3QtdGltZS1waWNrZXIgKjpiZWZvcmUsXG4gIC5yZWFjdC10aW1lLXBpY2tlciAqOmFmdGVyIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0QmdkfTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgd2lkdGg6IDExMHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX193cmFwcGVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0QmdkSG92ZXJ9O1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9faW5wdXRHcm91cCB7XG4gICAgbWluLXdpZHRoOiBjYWxjKCg0cHggKiAzKSArIDAuNTRlbSAqIDYgKyAwLjIxN2VtICogMik7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHBhZGRpbmc6IDRweCAycHg7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMjRweDtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX2lucHV0R3JvdXBfX2RpdmlkZXIge1xuICAgIHBhZGRpbmc6IDFweCAwO1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19pbnB1dEdyb3VwX19kaXZpZGVyLFxuICAucmVhY3QtdGltZS1waWNrZXJfX2lucHV0R3JvdXBfX2xlYWRpbmdaZXJvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZWZmZWN0UGFuZWxUZXh0TWFpbn07XG4gICAgZm9udC1mYW1pbHk6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udEZhbWlseX07XG4gICAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Rm9udFNpemV9O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19pbnB1dEdyb3VwX19pbnB1dCB7XG4gICAgbWluLXdpZHRoOiAwLjU0ZW07XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDFweDtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZWZmZWN0UGFuZWxUZXh0TWFpbn07XG4gICAgZm9udC1mYW1pbHk6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udEZhbWlseX07XG4gICAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Rm9udFNpemV9O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgIGFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX2lucHV0R3JvdXBfX2lucHV0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9faW5wdXRHcm91cF9faW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4gIC5yZWFjdC10aW1lLXBpY2tlcl9faW5wdXRHcm91cF9faW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19pbnB1dEdyb3VwX19pbnB1dC0taGFzTGVhZGluZ1plcm8ge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41NGVtO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYygxcHggKyAwLjU0ZW0pO1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9faW5wdXRHcm91cF9fYW1QbSB7XG4gICAgbWF4LXdpZHRoOiAzN3B4O1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1lbnVsaXN0O1xuICAgIC1tb3otYXBwZWFyYW5jZTogbWVudWxpc3Q7XG4gICAgYXBwZWFyYW5jZTogbWVudWxpc3Q7XG4gICAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Rm9udFNpemV9O1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9fYnV0dG9uIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEJnZH07XG4gICAgcGFkZGluZzogNHB4IDZweDtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX2J1dHRvbjplbmFibGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19idXR0b24gc3ZnIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0O1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9fY2xvY2stLWNsb3NlZCxcbiAgLnJlYWN0LXRpbWUtcGlja2VyX19jbGVhci1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWREYXRlUGlja2VyID0gc3R5bGVkKERhdGVQaWNrZXIpYFxuICAucmVhY3QtZGF0ZS1waWNrZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250RmFtaWx5fTtcbiAgICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRGb250U2l6ZX07XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyLFxuICAucmVhY3QtZGF0ZS1waWNrZXIgKixcbiAgLnJlYWN0LWRhdGUtcGlja2VyICo6YmVmb3JlLFxuICAucmVhY3QtZGF0ZS1waWNrZXIgKjphZnRlciB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IDEwOHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9faW5wdXRHcm91cCB7XG4gICAgbWluLXdpZHRoOiBjYWxjKCg0cHggKiAzKSArIDAuNTRlbSAqIDggKyAwLjIxN2VtICogMik7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHBhZGRpbmc6IDRweCA5cHg7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEJnZH07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMjJweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0QmdkfTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIH1cblxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2lucHV0R3JvdXA6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2RIb3Zlcn07XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwX19kaXZpZGVyIHtcbiAgICBwYWRkaW5nOiAxcHggMDtcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dE1haW59O1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9faW5wdXRHcm91cF9fZGl2aWRlcixcbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwX19sZWFkaW5nWmVybyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9faW5wdXRHcm91cF9faW5wdXQge1xuICAgIG1pbi13aWR0aDogMC41NGVtO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAxcHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZWZmZWN0UGFuZWxUZXh0TWFpbn07XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRGb250U2l6ZX07XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9faW5wdXRHcm91cF9faW5wdXQ6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwX19pbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwX19pbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2lucHV0R3JvdXBfX2lucHV0OmludmFsaWQge1xuICAgIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2R9O1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9faW5wdXRHcm91cF9faW5wdXQtLWhhc0xlYWRpbmdaZXJvIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuNTRlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMXB4ICsgMC41NGVtKTtcbiAgfVxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2NhbGVuZGFyIHtcbiAgICB3aWR0aDogMjU3cHg7XG4gICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICB6LWluZGV4OiAxMTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRTZWNvbmRhcnkxfTtcbiAgICBpbnNldDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9fY2FsZW5kYXItLWNsb3NlZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2NhbGVuZGFyIC5yZWFjdC1jYWxlbmRhciB7XG4gICAgYm9yZGVyLXdpZHRoOiB0aGluO1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9fYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhciB7XG4gICAgd2lkdGg6IDI1NnB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRTZWNvbmRhcnkxfTtcbiAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0QmdkSG92ZXJ9O1xuICAgIGJvcmRlci1yYWRpdXM6IDBweCA0cHggNHB4IDRweDtcbiAgICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250RmFtaWx5fTtcbiAgICBsaW5lLWhlaWdodDogMS4xMjVlbTtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcixcbiAgLnJlYWN0LWNhbGVuZGFyICosXG4gIC5yZWFjdC1jYWxlbmRhciAqOmJlZm9yZSxcbiAgLnJlYWN0LWNhbGVuZGFyICo6YWZ0ZXIge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXIgYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyIGJ1dHRvbTplbmFibGVkIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRNYWlufTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXIgYnV0dG9uOmVuYWJsZWQ6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX25hdmlnYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX25hdmlnYXRpb24gYnV0dG9uIHtcbiAgICBtaW4td2lkdGg6IDI1cHg7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX25hdmlnYXRpb24gYnV0dG9uOmVuYWJsZWQ6aG92ZXIsXG4gIC5yZWFjdC1jYWxlbmRhcl9fbmF2aWdhdGlvbiBidXR0b246ZW5hYmxlZDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEJnZEFjdGl2ZX07XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX19tb250aC12aWV3X193ZWVrZGF5cyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX19tb250aC12aWV3X193ZWVrZGF5c19fd2Vla2RheSB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZWZmZWN0UGFuZWxUZXh0U2Vjb25kYXJ5Mn07XG4gICAgcGFkZGluZzogMC41ZW07XG4gICAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Rm9udFNpemV9O1xuICAgIGFiYnIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX21vbnRoLXZpZXdfX3dlZWtOdW1iZXJzIC5yZWFjdC1jYWxlbmRhcl9fdGlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fbW9udGgtdmlld19fZGF5c19fZGF5LS13ZWVrZW5kIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRTZWNvbmRhcnkxfTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX21vbnRoLXZpZXdfX2RheXNfX2RheS0tbmVpZ2hib3JpbmdNb250aCB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZWZmZWN0UGFuZWxUZXh0U2Vjb25kYXJ5M307XG4gICAgb3BhY2l0eTogMC40O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fbmF2aWdhdGlvbl9fbGFiZWxfX2xhYmVsVGV4dCxcbiAgLnJlYWN0LWNhbGVuZGFyX19uYXZpZ2F0aW9uX19hcnJvdyB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZWZmZWN0UGFuZWxUZXh0TWFpbn07XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX195ZWFyLXZpZXcgLnJlYWN0LWNhbGVuZGFyX190aWxlLFxuICAucmVhY3QtY2FsZW5kYXJfX2RlY2FkZS12aWV3IC5yZWFjdC1jYWxlbmRhcl9fdGlsZSxcbiAgLnJlYWN0LWNhbGVuZGFyX19jZW50dXJ5LXZpZXcgLnJlYWN0LWNhbGVuZGFyX190aWxlIHtcbiAgICBwYWRkaW5nOiAyZW0gMC41ZW07XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRTZWNvbmRhcnkxfTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogNnB4IDRweDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRGb250U2l6ZX07XG4gICAgaGVpZ2h0OiAzMHB4O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fdGlsZTplbmFibGVkOmhvdmVyLFxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGU6ZW5hYmxlZDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQmdkfTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQWN0Q29sb3J9O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fdGlsZS0tbm93OmVuYWJsZWQ6aG92ZXIsXG4gIC5yZWFjdC1jYWxlbmRhcl9fdGlsZS0tbm93OmVuYWJsZWQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkJnZH07XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZWZmZWN0UGFuZWxUZXh0TWFpbn07XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlLS1oYXNBY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkFjdEJnZH07XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlLS1oYXNBY3RpdmU6ZW5hYmxlZDpob3ZlcixcbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlLS1oYXNBY3RpdmU6ZW5hYmxlZDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQWN0QmdkfTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRNYWlufTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGUtLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQWN0QmdkfTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRNYWlufTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlLS1hY3RpdmU6ZW5hYmxlZDpob3ZlcixcbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlLS1hY3RpdmU6ZW5hYmxlZDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQWN0QmdkfTtcbiAgfVxuICAuY2FsZW5kYXJfX25hdmlnYXRpb25fX2xhYmVsX19sYWJlbFRleHQge1xuICAgINGBb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRNYWlufTtcbiAgfVxuYDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBR0EsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBRUEsSUFBQUMsV0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsZ0JBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLGdCQUFBLEdBQUFGLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSyxhQUFBLEdBQUFILHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTSxpQkFBQSxHQUFBSixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU8sWUFBQSxHQUFBTCxzQkFBQSxDQUFBRixPQUFBO0FBQWlELElBQUFRLGVBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsaUJBQUEsRUFWakQ7QUFDQTtBQWFBO0FBQ08sU0FBU0MsaUJBQWlCQSxDQUFDQyxRQUFRLEVBQUVDLE1BQU0sRUFBRTtFQUNsRCxJQUFJLE9BQU9BLE1BQU0sS0FBSyxRQUFRLEVBQUU7SUFDOUI7SUFDQSxPQUFPLElBQUFDLHVCQUFXLEVBQUNGLFFBQVEsQ0FBQztFQUM5QjtFQUNBO0VBQ0EsT0FBTyxJQUFJO0FBQ2I7QUFFTyxJQUFNRyxVQUFVLEdBQUFDLE9BQUEsQ0FBQUQsVUFBQSxHQUFHRSw0QkFBTSxDQUFDQyxJQUFJLENBQUE1RCxlQUFBLEtBQUFBLGVBQUEsT0FBQTZELHVCQUFBLDRJQUMxQixVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNDLFVBQVU7QUFBQSxHQUMzQixVQUFBRixLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNFLGNBQWM7QUFBQSxFQU9qRDtBQUVNLElBQU1DLGNBQWMsR0FBQVIsT0FBQSxDQUFBUSxjQUFBLEdBQUcsSUFBQVAsNEJBQU0sRUFBQ0YsVUFBVSxDQUFDLENBQUF4RCxnQkFBQSxLQUFBQSxnQkFBQSxPQUFBNEQsdUJBQUEsNERBQ3JDLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0ksU0FBUztBQUFBLEVBRXhDO0FBRU0sSUFBTUMsY0FBYyxHQUFBVixPQUFBLENBQUFVLGNBQUEsR0FBR1QsNEJBQU0sQ0FBQ1UsR0FBRyxDQUFBbkUsZ0JBQUEsS0FBQUEsZ0JBQUEsT0FBQTJELHVCQUFBLHVRQUtsQixVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNPLG9CQUFvQjtBQUFBLEdBQ3BELFVBQUFSLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ1EsaUJBQWlCO0FBQUEsR0FNekIsVUFBQVQsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDTyxvQkFBb0I7QUFBQSxFQUVoRTtBQUVNLElBQU1FLGFBQWEsR0FBQWQsT0FBQSxDQUFBYyxhQUFBLEdBQUdiLDRCQUFNLENBQUNVLEdBQUcsQ0FBQWxFLGdCQUFBLEtBQUFBLGdCQUFBLE9BQUEwRCx1QkFBQSxnRUFHdEM7QUFFTSxJQUFNWSxxQkFBcUIsR0FBQWYsT0FBQSxDQUFBZSxxQkFBQSxHQUFHZCw0QkFBTSxDQUFDVSxHQUFHLENBQUFqRSxnQkFBQSxLQUFBQSxnQkFBQSxPQUFBeUQsdUJBQUEsMkZBSTlDO0FBRU0sSUFBTWEsb0JBQW9CLEdBQUFoQixPQUFBLENBQUFnQixvQkFBQSxHQUFHZiw0QkFBTSxDQUFDVSxHQUFHLENBQUFoRSxnQkFBQSxLQUFBQSxnQkFBQSxPQUFBd0QsdUJBQUEscUZBSTdDO0FBRU0sSUFBTWMsbUJBQW1CLEdBQUFqQixPQUFBLENBQUFpQixtQkFBQSxHQUFHaEIsNEJBQU0sQ0FBQ1UsR0FBRyxDQUFBL0QsZ0JBQUEsS0FBQUEsZ0JBQUEsT0FBQXVELHVCQUFBLGtHQUk1QztBQUVNLElBQU1lLGFBQWEsR0FBQWxCLE9BQUEsQ0FBQWtCLGFBQUEsR0FBR2pCLDRCQUFNLENBQUNVLEdBQUcsQ0FBQTlELGdCQUFBLEtBQUFBLGdCQUFBLE9BQUFzRCx1QkFBQSw2REFHdEM7QUFFTSxJQUFNZ0IsaUJBQWlCLEdBQUFuQixPQUFBLENBQUFtQixpQkFBQSxHQUFHbEIsNEJBQU0sQ0FBQ1UsR0FBRyxDQUFBN0QsZ0JBQUEsS0FBQUEsZ0JBQUEsT0FBQXFELHVCQUFBLDJFQUcxQztBQUVNLElBQU1pQixVQUFVLEdBQUFwQixPQUFBLENBQUFvQixVQUFBLEdBQUduQiw0QkFBTSxDQUFDb0IsS0FBSyxDQUFDQyxLQUFLLENBQUM7RUFDM0NDLFNBQVMsRUFBRTtBQUNiLENBQUMsQ0FBQyxDQUFBeEUsZ0JBQUEsS0FBQUEsZ0JBQUEsT0FBQW9ELHVCQUFBLGdLQUNTLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0MsVUFBVTtBQUFBLEVBTXpDO0FBRU0sSUFBTWtCLGlCQUFpQixHQUFBeEIsT0FBQSxDQUFBd0IsaUJBQUEsR0FBR3ZCLDRCQUFNLENBQUNVLEdBQUcsQ0FBQ1csS0FBSyxDQUFDO0VBQ2hEQyxTQUFTLEVBQUU7QUFDYixDQUFDLENBQUMsQ0FBQXZFLGdCQUFBLEtBQUFBLGdCQUFBLE9BQUFtRCx1QkFBQSxvRUFHRDtBQUVNLElBQU1zQixjQUFjLEdBQUF6QixPQUFBLENBQUF5QixjQUFBLEdBQUcsSUFBQXhCLDRCQUFNLEVBQUNtQixVQUFVLENBQUMsQ0FBQW5FLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUFrRCx1QkFBQSwyQ0FFL0M7QUFFTSxJQUFNdUIsZ0JBQWdCLEdBQUExQixPQUFBLENBQUEwQixnQkFBQSxHQUFHekIsNEJBQU0sQ0FBQ0MsSUFBSSxDQUFDb0IsS0FBSyxDQUFDLFVBQUFsQixLQUFLO0VBQUEsT0FBSztJQUMxRG1CLFNBQVMsRUFBRSxJQUFBSSxzQkFBVSxFQUFDLGlDQUFpQyxFQUFFdkIsS0FBSyxDQUFDbUIsU0FBUztFQUMxRSxDQUFDO0FBQUEsQ0FBQyxDQUFDLENBQUFyRSxpQkFBQSxLQUFBQSxpQkFBQSxPQUFBaUQsdUJBQUEscUhBQ1EsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDSSxTQUFTO0FBQUEsRUFJeEM7QUFFTSxJQUFNbUIsa0JBQWtCLEdBQUE1QixPQUFBLENBQUE0QixrQkFBQSxHQUFHM0IsNEJBQU0sQ0FBQ1UsR0FBRyxDQUFBeEQsaUJBQUEsS0FBQUEsaUJBQUEsT0FBQWdELHVCQUFBLG1OQUdqQyxVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNJLFNBQVM7QUFBQSxHQUk1QixVQUFBTCxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNDLFVBQVU7QUFBQSxFQUszQztBQUVNLElBQU11QixZQUFZLEdBQUE3QixPQUFBLENBQUE2QixZQUFBLEdBQUc1Qiw0QkFBTSxDQUFDVSxHQUFHLENBQUNXLEtBQUssQ0FBQyxVQUFBbEIsS0FBSztFQUFBLE9BQUs7SUFDckRtQixTQUFTLEVBQUUsSUFBQUksc0JBQVUsRUFBQywyQkFBMkIsRUFBRXZCLEtBQUssQ0FBQ21CLFNBQVM7RUFDcEUsQ0FBQztBQUFBLENBQUMsQ0FBQyxDQUFBbkUsaUJBQUEsS0FBQUEsaUJBQUEsT0FBQStDLHVCQUFBLG9FQUNtQixVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUN5QixzQkFBc0I7QUFBQSxFQUVoRTtBQU1NLElBQU1DLGdCQUFnQixHQUFBL0IsT0FBQSxDQUFBK0IsZ0JBQUEsR0FBRzlCLDRCQUFNLENBQUNVLEdBQUcsQ0FBQ1csS0FBSyxDQUFDLFVBQUFsQixLQUFLO0VBQUEsT0FBSztJQUN6RG1CLFNBQVMsRUFBRSxJQUFBSSxzQkFBVSxFQUFDLG9CQUFvQixFQUFFdkIsS0FBSyxDQUFDbUIsU0FBUztFQUM3RCxDQUFDO0FBQUEsQ0FBQyxDQUFDLENBQUFsRSxpQkFBQSxLQUFBQSxpQkFBQSxPQUFBOEMsdUJBQUEsNEZBR1UsVUFBQUMsS0FBSztFQUFBLE9BQUtBLEtBQUssQ0FBQzRCLFFBQVEsR0FBRyxHQUFHLEdBQUcsQ0FBQztBQUFBLENBQUMsRUFDNUIsVUFBQTVCLEtBQUs7RUFBQSxPQUFLQSxLQUFLLENBQUM0QixRQUFRLEdBQUcsTUFBTSxHQUFHLEtBQUs7QUFBQSxDQUFDLENBQzdEO0FBRU0sSUFBTUMsZ0JBQWdCLEdBQUFqQyxPQUFBLENBQUFpQyxnQkFBQSxHQUFHaEMsNEJBQU0sQ0FBQ1UsR0FBRyxDQUFDVyxLQUFLLENBQUM7RUFDL0NDLFNBQVMsRUFBRTtBQUNiLENBQUMsQ0FBQyxDQUFBakUsaUJBQUEsS0FBQUEsaUJBQUEsT0FBQTZDLHVCQUFBLDRHQUNpQixVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUM2QixzQkFBc0I7QUFBQSxHQUN4RCxVQUFBOUIsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDOEIsZ0JBQWdCO0FBQUEsR0FDeEIsVUFBQS9CLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQytCLHNCQUFzQjtBQUFBLEdBQ2xELFVBQUFoQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNnQyxzQkFBc0I7QUFBQSxFQUN0RDtBQUlNLElBQU1DLE9BQW1ELEdBQUF0QyxPQUFBLENBQUFzQyxPQUFBLEdBQUcsSUFBQXJDLDRCQUFNLEVBQ3ZFc0Msd0JBQ0YsQ0FBQyxDQUFBaEYsaUJBQUEsS0FBQUEsaUJBQUEsT0FBQTRDLHVCQUFBLHVuQkFFZ0IsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDbUMsZUFBZTtBQUFBLEdBR25DLFVBQUFwQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNvQyxnQkFBZ0I7QUFBQSxHQUc3QixVQUFBckMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDcUMsU0FBUztBQUFBLEdBQ3pDLFVBQUF0QyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNzQyxZQUFZO0FBQUEsR0FHZixVQUFBdkMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDcUMsU0FBUztBQUFBLEdBTWpDLFVBQUF0QyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNxQyxTQUFTO0FBQUEsR0FNNUIsVUFBQXRDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3FDLFNBQVM7QUFBQSxHQU0vQixVQUFBdEMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDcUMsU0FBUztBQUFBLEVBSzVEO0FBbUJEO0FBQ08sSUFBTUUsTUFBTSxHQUFBNUMsT0FBQSxDQUFBNEMsTUFBQSxHQUFHM0MsNEJBQU0sQ0FBQzRDLE1BQU0sQ0FBQ0MsVUFBVSxDQUFDO0VBQUNuRCxpQkFBaUIsRUFBakJBO0FBQWlCLENBQUMsQ0FBQyxDQUFDMkIsS0FBSyxDQUFDLFVBQUFsQixLQUFLO0VBQUEsT0FBSztJQUNsRm1CLFNBQVMsRUFBRSxJQUFBSSxzQkFBVSxFQUFDLFFBQVEsRUFBRXZCLEtBQUssQ0FBQ21CLFNBQVM7RUFDakQsQ0FBQztBQUFBLENBQUMsQ0FBQyxDQUFBL0QsaUJBQUEsS0FBQUEsaUJBQUEsT0FBQTJDLHVCQUFBLDhtQkFFbUIsVUFBQUMsS0FBSztFQUFBLE9BQ3ZCQSxLQUFLLENBQUMyQyxRQUFRLEdBQ1YzQyxLQUFLLENBQUNDLEtBQUssQ0FBQzJDLGNBQWMsR0FDMUI1QyxLQUFLLENBQUM2QyxTQUFTLEdBQ2Y3QyxLQUFLLENBQUNDLEtBQUssQ0FBQzZDLGVBQWUsR0FDM0I5QyxLQUFLLENBQUMrQyxJQUFJLEdBQ1YvQyxLQUFLLENBQUNDLEtBQUssQ0FBQytDLFVBQVUsR0FDdEJoRCxLQUFLLENBQUNpRCxRQUFRLEdBQ2RqRCxLQUFLLENBQUNDLEtBQUssQ0FBQ2lELGNBQWMsR0FDMUJsRCxLQUFLLENBQUNtRCxHQUFHLEdBQ1RuRCxLQUFLLENBQUNDLEtBQUssQ0FBQ21ELFNBQVMsR0FDckJwRCxLQUFLLENBQUNDLEtBQUssQ0FBQ29ELGFBQWE7QUFBQSxHQUNkLFVBQUFyRCxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNxRCxnQkFBZ0I7QUFBQSxHQUM3QyxVQUFBdEQsS0FBSztFQUFBLE9BQ1pBLEtBQUssQ0FBQzJDLFFBQVEsR0FDVjNDLEtBQUssQ0FBQ0MsS0FBSyxDQUFDc0QsZ0JBQWdCLEdBQzVCdkQsS0FBSyxDQUFDNkMsU0FBUyxHQUNmN0MsS0FBSyxDQUFDQyxLQUFLLENBQUNRLGlCQUFpQixHQUM3QlQsS0FBSyxDQUFDK0MsSUFBSSxHQUNWL0MsS0FBSyxDQUFDQyxLQUFLLENBQUN1RCxZQUFZLEdBQ3hCeEQsS0FBSyxDQUFDaUQsUUFBUSxHQUNkakQsS0FBSyxDQUFDQyxLQUFLLENBQUN3RCxnQkFBZ0IsR0FDNUJ6RCxLQUFLLENBQUNtRCxHQUFHLEdBQ1RuRCxLQUFLLENBQUNDLEtBQUssQ0FBQ3lELFdBQVcsR0FDdkIxRCxLQUFLLENBQUNDLEtBQUssQ0FBQzBELGVBQWU7QUFBQSxHQUdwQixVQUFBM0QsS0FBSztFQUFBLE9BQ2hCQSxLQUFLLENBQUM0RCxLQUFLLEdBQ1A1RCxLQUFLLENBQUNDLEtBQUssQ0FBQzRELHVCQUF1QixHQUNuQzdELEtBQUssQ0FBQzhELEtBQUssR0FDWDlELEtBQUssQ0FBQ0MsS0FBSyxDQUFDOEQsdUJBQXVCLEdBQ25DL0QsS0FBSyxDQUFDQyxLQUFLLENBQUMrRCx5QkFBeUI7QUFBQSxHQUU1QixVQUFBaEUsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDZ0UsYUFBYTtBQUFBLEdBS3RDLFVBQUFqRSxLQUFLO0VBQUEsT0FBS0EsS0FBSyxDQUFDNEQsS0FBSyxHQUFHLFdBQVcsR0FBRzVELEtBQUssQ0FBQzhELEtBQUssR0FBRyxTQUFTLEdBQUcsVUFBVTtBQUFBLENBQUMsRUFFeEUsVUFBQTlELEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ2lFLFVBQVU7QUFBQSxHQUVwQyxVQUFBbEUsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ21FLEtBQUssSUFBSSxNQUFNO0FBQUEsR0FDNUIsVUFBQW5FLEtBQUs7RUFBQSxPQUFLQSxLQUFLLENBQUM0QixRQUFRLEdBQUcsR0FBRyxHQUFHLENBQUM7QUFBQSxDQUFDLEVBQzVCLFVBQUE1QixLQUFLO0VBQUEsT0FBS0EsS0FBSyxDQUFDNEIsUUFBUSxHQUFHLE1BQU0sR0FBRyxLQUFLO0FBQUEsQ0FBQyxFQUNsRCxVQUFBNUIsS0FBSztFQUFBLE9BQ2JBLEtBQUssQ0FBQzJDLFFBQVEsR0FDVjNDLEtBQUssQ0FBQ0MsS0FBSyxDQUFDbUUsaUJBQWlCLEdBQzdCcEUsS0FBSyxDQUFDNkMsU0FBUyxHQUNmN0MsS0FBSyxDQUFDQyxLQUFLLENBQUNvRSxrQkFBa0IsR0FDOUJyRSxLQUFLLENBQUNpRCxRQUFRLEdBQ2RqRCxLQUFLLENBQUNDLEtBQUssQ0FBQ3FFLGlCQUFpQixHQUM3QnRFLEtBQUssQ0FBQytDLElBQUksR0FDVi9DLEtBQUssQ0FBQ0MsS0FBSyxDQUFDc0UsYUFBYSxHQUN6QnZFLEtBQUssQ0FBQ0MsS0FBSyxDQUFDdUUsZ0JBQWdCO0FBQUEsR0FLWixVQUFBeEUsS0FBSztFQUFBLE9BQ3ZCQSxLQUFLLENBQUMyQyxRQUFRLEdBQ1YzQyxLQUFLLENBQUNDLEtBQUssQ0FBQ3dFLG1CQUFtQixHQUMvQnpFLEtBQUssQ0FBQzZDLFNBQVMsR0FDZjdDLEtBQUssQ0FBQ0MsS0FBSyxDQUFDTyxvQkFBb0IsR0FDaENSLEtBQUssQ0FBQytDLElBQUksR0FDVi9DLEtBQUssQ0FBQ0MsS0FBSyxDQUFDeUUsa0JBQWtCLEdBQzlCMUUsS0FBSyxDQUFDaUQsUUFBUSxHQUNkakQsS0FBSyxDQUFDQyxLQUFLLENBQUMwRSxtQkFBbUIsR0FDL0IzRSxLQUFLLENBQUNtRCxHQUFHLEdBQ1RuRCxLQUFLLENBQUNDLEtBQUssQ0FBQzJFLGNBQWMsR0FDMUI1RSxLQUFLLENBQUNDLEtBQUssQ0FBQzRFLGtCQUFrQjtBQUFBLEdBQzNCLFVBQUE3RSxLQUFLO0VBQUEsT0FDWkEsS0FBSyxDQUFDMkMsUUFBUSxHQUNWM0MsS0FBSyxDQUFDQyxLQUFLLENBQUM2RSxtQkFBbUIsR0FDL0I5RSxLQUFLLENBQUM2QyxTQUFTLEdBQ2Y3QyxLQUFLLENBQUNDLEtBQUssQ0FBQzhFLG9CQUFvQixHQUNoQy9FLEtBQUssQ0FBQytDLElBQUksR0FDVi9DLEtBQUssQ0FBQ0MsS0FBSyxDQUFDK0UsZUFBZSxHQUMzQmhGLEtBQUssQ0FBQ2lELFFBQVEsR0FDZGpELEtBQUssQ0FBQ0MsS0FBSyxDQUFDZ0YsbUJBQW1CLEdBQy9CakYsS0FBSyxDQUFDbUQsR0FBRyxHQUNUbkQsS0FBSyxDQUFDQyxLQUFLLENBQUNpRixjQUFjLEdBQzFCbEYsS0FBSyxDQUFDQyxLQUFLLENBQUNrRixrQkFBa0I7QUFBQSxHQUlwQixVQUFBbkYsS0FBSztFQUFBLE9BQUtBLEtBQUssQ0FBQzRELEtBQUssR0FBRyxNQUFNLEdBQUc1RCxLQUFLLENBQUM4RCxLQUFLLEdBQUcsS0FBSyxHQUFHLEtBQUs7QUFBQSxDQUFDLENBRWhGO0FBTU0sSUFBTXNCLEtBQUssR0FBQXhGLE9BQUEsQ0FBQXdGLEtBQUEsR0FBR3ZGLDRCQUFNLENBQUN3RixLQUFLLENBQUMzQyxVQUFVLENBQUM7RUFBQ25ELGlCQUFpQixFQUFqQkE7QUFBaUIsQ0FBQyxDQUFDLENBQUFsQyxpQkFBQSxLQUFBQSxpQkFBQSxPQUFBMEMsdUJBQUEsZ0NBQzdELFVBQUFDLEtBQUs7RUFBQSxPQUFLQSxLQUFLLENBQUM2QyxTQUFTLEdBQUc3QyxLQUFLLENBQUNDLEtBQUssQ0FBQ3FGLGNBQWMsR0FBR3RGLEtBQUssQ0FBQ0MsS0FBSyxDQUFDb0YsS0FBSztBQUFBLENBQUMsQ0FDOUU7QUFFTSxJQUFNRSxVQUFVLEdBQUEzRixPQUFBLENBQUEyRixVQUFBLEdBQUcxRiw0QkFBTSxDQUFDd0YsS0FBSyxDQUFDM0MsVUFBVSxDQUFDO0VBQUNuRCxpQkFBaUIsRUFBakJBO0FBQWlCLENBQUMsQ0FBQyxDQUFBakMsaUJBQUEsS0FBQUEsaUJBQUEsT0FBQXlDLHVCQUFBLGdDQUNsRSxVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUN1RixPQUFPO0FBQUEsRUFDL0I7QUFFTSxJQUFNQyxRQUFRLEdBQUE3RixPQUFBLENBQUE2RixRQUFBLEdBQUc1Riw0QkFBTSxDQUFDNkYsUUFBUSxDQUFDaEQsVUFBVSxDQUFDO0VBQUNuRCxpQkFBaUIsRUFBakJBO0FBQWlCLENBQUMsQ0FBQyxDQUFBaEMsaUJBQUEsS0FBQUEsaUJBQUEsT0FBQXdDLHVCQUFBLGdDQUNuRSxVQUFBQyxLQUFLO0VBQUEsT0FBS0EsS0FBSyxDQUFDNkMsU0FBUyxHQUFHN0MsS0FBSyxDQUFDQyxLQUFLLENBQUNxRixjQUFjLEdBQUd0RixLQUFLLENBQUNDLEtBQUssQ0FBQ29GLEtBQUs7QUFBQSxDQUFDLENBQzlFO0FBQ00sSUFBTU0sYUFBYSxHQUFBL0YsT0FBQSxDQUFBK0YsYUFBQSxHQUFHOUYsNEJBQU0sQ0FBQzZGLFFBQVEsQ0FBQ2hELFVBQVUsQ0FBQztFQUFDbkQsaUJBQWlCLEVBQWpCQTtBQUFpQixDQUFDLENBQUMsQ0FBQS9CLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUF1Qyx1QkFBQSx1RUFDeEUsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDdUYsT0FBTztBQUFBLEVBRS9CO0FBRU0sSUFBTUksV0FBVyxHQUFBaEcsT0FBQSxDQUFBZ0csV0FBQSxHQUFHLElBQUEvRiw0QkFBTSxFQUFDdUYsS0FBSyxDQUFDLENBQUEzSCxpQkFBQSxLQUFBQSxpQkFBQSxPQUFBc0MsdUJBQUEsZ0NBQ3BDLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQzRGLFdBQVc7QUFBQSxFQUNuQztBQVNNLElBQU1DLGlCQUFpQixHQUFBbEcsT0FBQSxDQUFBa0csaUJBQUEsR0FBR2pHLDRCQUFNLENBQUNVLEdBQUcsQ0FBQ21DLFVBQVUsQ0FBQztFQUFDbkQsaUJBQWlCLEVBQWpCQTtBQUFpQixDQUFDLENBQUMsQ0FBQTdCLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUFxQyx1QkFBQSwrUUFDckQsVUFBQUMsS0FBSztFQUFBLE9BQ3ZCQSxLQUFLLENBQUMrRixPQUFPLEdBQUcvRixLQUFLLENBQUNDLEtBQUssQ0FBQytGLG9CQUFvQixHQUFHaEcsS0FBSyxDQUFDQyxLQUFLLENBQUNnRyxlQUFlO0FBQUEsR0FHMUUsVUFBQWpHLEtBQUs7RUFBQSxPQUFLQSxLQUFLLENBQUNrRyxtQkFBbUIsR0FBR2xHLEtBQUssQ0FBQ2tHLG1CQUFtQixDQUFDQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsYUFBYTtBQUFBLENBQUMsRUFHdEYsVUFBQW5HLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ21HLGlCQUFpQjtBQUFBLEdBSS9CLFVBQUFwRyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNvRyx1QkFBdUI7QUFBQSxHQUMvQyxVQUFBckcsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDaUUsVUFBVTtBQUFBLEVBQzlDO0FBTU0sSUFBTW9DLG1CQUFtQixHQUFBMUcsT0FBQSxDQUFBMEcsbUJBQUEsR0FBR3pHLDRCQUFNLENBQUNVLEdBQUcsQ0FBQTVDLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUFvQyx1QkFBQSwwTEFDekMsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDc0csc0JBQXNCO0FBQUEsR0FDekIsVUFBQXZHLEtBQUs7RUFBQSxPQUN2QkEsS0FBSyxDQUFDd0csSUFBSSxLQUFLLE9BQU8sR0FBR3hHLEtBQUssQ0FBQ0MsS0FBSyxDQUFDd0csdUJBQXVCLEdBQUd6RyxLQUFLLENBQUNDLEtBQUssQ0FBQ2dHLGVBQWU7QUFBQSxHQUU5RSxVQUFBakcsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDeUcsY0FBYztBQUFBLEdBQ2hDLFVBQUExRyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUMwRyxpQkFBaUI7QUFBQSxFQUl4RDtBQUVNLElBQU1DLFdBQVcsR0FBQWhILE9BQUEsQ0FBQWdILFdBQUEsR0FBRy9HLDRCQUFNLENBQUNVLEdBQUcsQ0FBQTNDLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUFtQyx1QkFBQSw2VUFPSixVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNxRCxnQkFBZ0I7QUFBQSxHQUN4QyxVQUFBdEQsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDcUQsZ0JBQWdCO0FBQUEsR0FJakMsVUFBQXRELEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3FELGdCQUFnQjtBQUFBLEdBQ3hDLFVBQUF0RCxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNxRCxnQkFBZ0I7QUFBQSxFQUVuRTtBQU1NLElBQU11RCxhQUFhLEdBQUFqSCxPQUFBLENBQUFpSCxhQUFBLEdBQUdoSCw0QkFBTSxDQUFDVSxHQUFHLENBQUNtQyxVQUFVLENBQUM7RUFBQ25ELGlCQUFpQixFQUFqQkE7QUFBaUIsQ0FBQyxDQUFDLENBQUExQixpQkFBQSxLQUFBQSxpQkFBQSxPQUFBa0MsdUJBQUEseUlBSTdDLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUM4RyxlQUFlLENBQUNYLElBQUksQ0FBQyxHQUFHLENBQUM7QUFBQSxFQUVqRTtBQU1NLElBQU1ZLGVBQWUsR0FBQW5ILE9BQUEsQ0FBQW1ILGVBQUEsR0FBR2xILDRCQUFNLENBQUNVLEdBQUcsQ0FBQ21DLFVBQVUsQ0FBQztFQUFDbkQsaUJBQWlCLEVBQWpCQTtBQUFpQixDQUFDLENBQUMsQ0FBQXpCLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUFpQyx1QkFBQSwwU0FJbkUsVUFBQUMsS0FBSztFQUFBLE9BQ0xBLEtBQUssQ0FBQ2dILFFBQVEsR0FDVmhILEtBQUssQ0FBQ0MsS0FBSyxDQUFDZ0gsMEJBQTBCLEdBQ3RDakgsS0FBSyxDQUFDQyxLQUFLLENBQUNpSCx1QkFBdUI7QUFBQSxHQUNsQyxVQUFBbEgsS0FBSztFQUFBLE9BQ1pBLEtBQUssQ0FBQ2dILFFBQVEsR0FBR2hILEtBQUssQ0FBQ0MsS0FBSyxDQUFDa0gsb0JBQW9CLEdBQUduSCxLQUFLLENBQUNDLEtBQUssQ0FBQ21ILGlCQUFpQjtBQUFBLEdBQy9ELFVBQUFwSCxLQUFLO0VBQUEsT0FDdkJBLEtBQUssQ0FBQ2dILFFBQVEsR0FBR2hILEtBQUssQ0FBQ0MsS0FBSyxDQUFDb0gsa0JBQWtCLEdBQUdySCxLQUFLLENBQUNDLEtBQUssQ0FBQ3FILGVBQWU7QUFBQSxHQVFwRSxVQUFBdEgsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDa0gsb0JBQW9CO0FBQUEsR0FDOUIsVUFBQW5ILEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ2dILDBCQUEwQjtBQUFBLEVBRXRFO0FBRU0sSUFBTU0sV0FBVyxHQUFBM0gsT0FBQSxDQUFBMkgsV0FBQSxHQUFHMUgsNEJBQU0sQ0FBQzJILEtBQUssQ0FBQXpKLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUFnQyx1QkFBQSw2UkFNbkIsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDd0gsaUJBQWlCO0FBQUEsR0FDM0MsVUFBQXpILEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3lILFlBQVk7QUFBQSxHQVF6QixVQUFBMUgsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDMEgsYUFBYTtBQUFBLEVBSXhEO0FBRU0sSUFBTUMsa0JBQWtCLEdBQUFoSSxPQUFBLENBQUFnSSxrQkFBQSxHQUFHL0gsNEJBQU0sQ0FBQ1UsR0FBRyxDQUFBdkMsaUJBQUEsS0FBQUEsaUJBQUEsT0FBQStCLHVCQUFBLGlOQUM1QixVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUN3SCxpQkFBaUI7QUFBQSxHQUMzQyxVQUFBekgsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDNEgsV0FBVztBQUFBLEdBSXpCLFVBQUE3SCxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUM2SCxtQkFBbUI7QUFBQSxHQUMzQyxVQUFBOUgsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDNkgsbUJBQW1CO0FBQUEsR0FFbkRDLGFBQUssQ0FBQ0MsUUFBUSxDQUFBL0osaUJBQUEsS0FBQUEsaUJBQUEsT0FBQThCLHVCQUFBLHFHQUVFLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ2dJLDJCQUEyQjtBQUFBLEdBQ25ELFVBQUFqSSxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNnSSwyQkFBMkI7QUFBQSxHQUVoRTtBQUVNLElBQU1DLHdCQUF3QixHQUFBdEksT0FBQSxDQUFBc0ksd0JBQUEsR0FBR3JJLDRCQUFNLENBQUNVLEdBQUcsQ0FBQ1csS0FBSyxDQUFDO0VBQ3ZEQyxTQUFTLEVBQUU7QUFDYixDQUFDLENBQUMsQ0FBQWpELGlCQUFBLEtBQUFBLGlCQUFBLE9BQUE2Qix1QkFBQSw2T0FRSWdJLGFBQUssQ0FBQ0ksSUFBSSxDQUFBaEssaUJBQUEsS0FBQUEsaUJBQUEsT0FBQTRCLHVCQUFBLGlEQVFmO0FBRU0sSUFBTXFJLGtCQUFrQixHQUFBeEksT0FBQSxDQUFBd0ksa0JBQUEsR0FBR3ZJLDRCQUFNLENBQUNVLEdBQUcsQ0FBQ1csS0FBSyxDQUFDLFVBQUFtSCxJQUFBO0VBQUEsSUFBRWxILFNBQVMsR0FBQWtILElBQUEsQ0FBVGxILFNBQVM7RUFBQSxPQUFPO0lBQ25FQSxTQUFTLEVBQUUsSUFBQUksc0JBQVUsRUFBQyxlQUFlLEVBQUVKLFNBQVM7RUFDbEQsQ0FBQztBQUFBLENBQUMsQ0FBQyxDQUFBL0MsaUJBQUEsS0FBQUEsaUJBQUEsT0FBQTJCLHVCQUFBLHVOQU9VLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3FJLGNBQWM7QUFBQSxHQU81Q1AsYUFBSyxDQUFDQyxRQUFRLENBQUEzSixpQkFBQSxLQUFBQSxpQkFBQSxPQUFBMEIsdUJBQUEsb0RBR2RnSSxhQUFLLENBQUNJLElBQUksQ0FBQTdKLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUF5Qix1QkFBQSxtREFHYjtBQU1NLElBQU13SSx3QkFBd0IsR0FBQTNJLE9BQUEsQ0FBQTJJLHdCQUFBLEdBQUcxSSw0QkFBTSxDQUFDVSxHQUFHLENBQUNXLEtBQUssQ0FBQztFQUN2REMsU0FBUyxFQUFFO0FBQ2IsQ0FBQyxDQUFDLENBQUE1QyxpQkFBQSxLQUFBQSxpQkFBQSxPQUFBd0IsdUJBQUEsMkdBR1MsVUFBQUMsS0FBSztFQUFBLE9BQUtBLEtBQUssQ0FBQ3dJLEtBQUssR0FBR3hJLEtBQUssQ0FBQ0MsS0FBSyxDQUFDd0ksVUFBVSxHQUFHekksS0FBSyxDQUFDQyxLQUFLLENBQUNxSSxjQUFjO0FBQUEsQ0FBQyxDQUV0RjtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxJQUFNSSxrQkFBa0IsR0FBQTlJLE9BQUEsQ0FBQThJLGtCQUFBLEdBQUc3SSw0QkFBTSxDQUFDVSxHQUFHLENBQUEvQixpQkFBQSxLQUFBQSxpQkFBQSxPQUFBdUIsdUJBQUEscVZBbUIzQztBQVFNLElBQU00SSxpQkFBaUIsR0FBQS9JLE9BQUEsQ0FBQStJLGlCQUFBLEdBQUc5SSw0QkFBTSxDQUFDVSxHQUFHLENBQ3hDbUMsVUFBVSxDQUFDO0VBQ1ZuRCxpQkFBaUIsRUFBRSxTQUFuQkEsaUJBQWlCQSxDQUFFcUosSUFBSTtJQUFBLE9BQ3JCLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSwyQkFBMkIsRUFBRSxVQUFVLENBQUMsQ0FBQ0MsUUFBUSxDQUFDRCxJQUFJLENBQUM7RUFBQTtBQUMvRSxDQUFDLENBQUMsQ0FDRDFILEtBQUssQ0FBeUIsVUFBQWxCLEtBQUs7RUFBQSxPQUFLO0lBQ3ZDbUIsU0FBUyxFQUFFbkIsS0FBSyxDQUFDOEk7RUFDbkIsQ0FBQztBQUFBLENBQUMsQ0FBQyxDQUFBckssaUJBQUEsS0FBQUEsaUJBQUEsT0FBQXNCLHVCQUFBLGdwQ0FlVSxVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNDLFVBQVU7QUFBQSxHQUszQixVQUFBRixLQUFLO0VBQUEsT0FBS0EsS0FBSyxDQUFDK0ksUUFBUSxLQUFLLEtBQUssR0FBRyxPQUFPLEdBQUcsT0FBTztBQUFBLENBQUMsRUFRM0QsVUFBQS9JLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0MsVUFBVTtBQUFBLEdBVS9CLFVBQUFGLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0MsVUFBVTtBQUFBLEdBYWpDLFVBQUFGLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0MsVUFBVTtBQUFBLEdBRXBDLFVBQUFGLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNnSixjQUFjO0FBQUEsR0FXakNqQixhQUFLLENBQUNJLElBQUksQ0FBQXpKLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUFxQix1QkFBQSxtTUFVSyxVQUFDQyxLQUE2QjtFQUFBLE9BQU1BLEtBQUssQ0FBQytJLFFBQVEsS0FBSyxLQUFLLEdBQUcsT0FBTyxHQUFHLE9BQU87QUFBQSxDQUFDLEVBR25HO0FBTU0sSUFBTUUsbUJBQW1CLEdBQUFySixPQUFBLENBQUFxSixtQkFBQSxHQUFHcEosNEJBQU0sQ0FBQ1UsR0FBRyxDQUFBNUIsaUJBQUEsS0FBQUEsaUJBQUEsT0FBQW9CLHVCQUFBLG9zREFLbEMsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDNEgsV0FBVztBQUFBLEdBRTlCLFVBQUE3SCxLQUFLO0VBQUEsT0FBS0EsS0FBSyxDQUFDNEIsUUFBUSxHQUFHLEdBQUcsR0FBRyxDQUFDO0FBQUEsQ0FBQyxFQUM1QixVQUFBNUIsS0FBSztFQUFBLE9BQUtBLEtBQUssQ0FBQzRCLFFBQVEsR0FBRyxNQUFNLEdBQUcsS0FBSztBQUFBLENBQUMsRUFNekMsVUFBQTVCLEtBQUs7RUFBQSxJQUFBa0oscUJBQUE7RUFBQSxRQUFBQSxxQkFBQSxHQUFJbEosS0FBSyxDQUFDQyxLQUFLLENBQUNrSixnQkFBZ0IsY0FBQUQscUJBQUEsY0FBQUEscUJBQUEsR0FBSWxKLEtBQUssQ0FBQ0MsS0FBSyxDQUFDbUosVUFBVTtBQUFBLEdBR3JFLFVBQUFwSixLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNxSSxjQUFjO0FBQUEsR0FLckMsVUFBQXRJLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3dJLFVBQVU7QUFBQSxFQTJDM0M7QUFFTSxJQUFNWSxvQkFBb0IsR0FBQXpKLE9BQUEsQ0FBQXlKLG9CQUFBLEdBQUcsSUFBQXhKLDRCQUFNLEVBQUNrSCxlQUFlLENBQUMsQ0FBQW5JLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUFtQix1QkFBQSx5VkFVOUMsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDNEgsV0FBVztBQUFBLEdBS2hDLFVBQUE3SCxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNxSSxjQUFjO0FBQUEsRUFHL0M7QUFFTSxJQUFNZ0IsVUFBVSxHQUFBMUosT0FBQSxDQUFBMEosVUFBQSxHQUFHLElBQUF6Siw0QkFBTSxFQUFDa0gsZUFBZSxDQUFDLENBQUFsSSxpQkFBQSxLQUFBQSxpQkFBQSxPQUFBa0IsdUJBQUEsK0ZBS2hEO0FBRU0sSUFBTXdKLGVBQWUsR0FBQTNKLE9BQUEsQ0FBQTJKLGVBQUEsR0FBRzFKLDRCQUFNLENBQUNVLEdBQUcsQ0FBQXpCLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUFpQix1QkFBQSxxQ0FFeEM7QUFFTSxJQUFNeUosaUJBQWlCLEdBQUE1SixPQUFBLENBQUE0SixpQkFBQSxHQUFHM0osNEJBQU0sQ0FBQ1UsR0FBRyxDQUFBeEIsaUJBQUEsS0FBQUEsaUJBQUEsT0FBQWdCLHVCQUFBLDRIQUNyQixVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUN3SixlQUFlO0FBQUEsR0FDN0MsVUFBQXpKLEtBQUs7RUFBQSxVQUFBMEosTUFBQSxDQUFPMUosS0FBSyxDQUFDQyxLQUFLLENBQUMwSixpQkFBaUIsU0FBQUQsTUFBQSxDQUFNMUosS0FBSyxDQUFDQyxLQUFLLENBQUMySixpQkFBaUI7QUFBQSxDQUFJLEVBRTdFLFVBQUE1SixLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUM0SixjQUFjO0FBQUEsR0FFL0M5QixhQUFLLENBQUNDLFFBQVEsQ0FBQWhKLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUFlLHVCQUFBLHlJQUNVLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQzhCLGdCQUFnQjtBQUFBLEdBQ3BDLFVBQUEvQixLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUM4QixnQkFBZ0I7QUFBQSxHQUlqRTtBQU1NLElBQU0rSCxnQkFBZ0IsR0FBQWxLLE9BQUEsQ0FBQWtLLGdCQUFBLEdBQUcsSUFBQWpLLDRCQUFNLEVBQUMyQyxNQUFNLENBQUMsQ0FDM0NFLFVBQVUsQ0FBQztFQUNWbkQsaUJBQWlCLEVBQUUsU0FBbkJBLGlCQUFpQkEsQ0FBRXFKLElBQUk7SUFBQSxPQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQ0MsUUFBUSxDQUFDRCxJQUFJLENBQUM7RUFBQTtBQUN2RCxDQUFDLENBQUMsQ0FDRDFILEtBQUssQ0FBQyxVQUFBbEIsS0FBSztFQUFBLE9BQUs7SUFDZm1CLFNBQVMsRUFBRSxJQUFBSSxzQkFBVSxFQUFDLG9CQUFvQixFQUFFdkIsS0FBSyxDQUFDbUIsU0FBUztFQUM3RCxDQUFDO0FBQUEsQ0FBQyxDQUFDLENBQUFsQyxpQkFBQSxLQUFBQSxpQkFBQSxPQUFBYyx1QkFBQSw0V0FLYyxVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUM4SixpQkFBaUI7QUFBQSxHQUNuQyxVQUFBL0osS0FBSztFQUFBLE9BQ3ZCQSxLQUFLLENBQUNnSyxNQUFNLEdBQUdoSyxLQUFLLENBQUNDLEtBQUssQ0FBQzBFLG1CQUFtQixHQUFHM0UsS0FBSyxDQUFDQyxLQUFLLENBQUNpRCxjQUFjO0FBQUEsR0FDcEUsVUFBQWxELEtBQUs7RUFBQSxPQUNaQSxLQUFLLENBQUNnSyxNQUFNLEdBQUdoSyxLQUFLLENBQUNDLEtBQUssQ0FBQ2dGLG1CQUFtQixHQUFHakYsS0FBSyxDQUFDQyxLQUFLLENBQUN3RCxnQkFBZ0I7QUFBQSxHQUNyRSxVQUFBekQsS0FBSztFQUFBLE9BQ2JBLEtBQUssQ0FBQ2dLLE1BQU0sR0FBR2hLLEtBQUssQ0FBQ0MsS0FBSyxDQUFDZ0ssc0JBQXNCLEdBQUdqSyxLQUFLLENBQUNDLEtBQUssQ0FBQ3FFLGlCQUFpQjtBQUFBLEdBTTdELFVBQUF0RSxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUMwRSxtQkFBbUI7QUFBQSxHQUNuRCxVQUFBM0UsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDZ0YsbUJBQW1CO0FBQUEsR0FDdkMsVUFBQWpGLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ2dLLHNCQUFzQjtBQUFBLEVBS3hEO0FBRU0sSUFBTUMsbUJBQW1CLEdBQUF0SyxPQUFBLENBQUFzSyxtQkFBQSxHQUFHckssNEJBQU0sQ0FBQ1UsR0FBRyxDQUFBckIsaUJBQUEsS0FBQUEsaUJBQUEsT0FBQWEsdUJBQUEsb0VBQ3ZCLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3lCLHNCQUFzQjtBQUFBLEVBRWhFO0FBRU0sSUFBTXlJLGtCQUFrQixHQUFBdkssT0FBQSxDQUFBdUssa0JBQUEsR0FBR3RLLDRCQUFNLENBQUNVLEdBQUcsQ0FBQXBCLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUFZLHVCQUFBLCtGQUkzQztBQUVNLElBQU1xSyxTQUFTLEdBQUF4SyxPQUFBLENBQUF3SyxTQUFBLEdBQUd2Syw0QkFBTSxDQUFDQyxJQUFJLENBQUNvQixLQUFLLENBQUM7RUFDekNDLFNBQVMsRUFBRTtBQUNiLENBQUMsQ0FBQyxDQUFBL0IsaUJBQUEsS0FBQUEsaUJBQUEsT0FBQVcsdUJBQUEsc2VBQ29CLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ2dILDBCQUEwQjtBQUFBLEVBdUJwRTtBQUVNLElBQU1vRCxnQkFBZ0IsR0FBQXpLLE9BQUEsQ0FBQXlLLGdCQUFBLEdBQUcsSUFBQXhLLDRCQUFNLEVBQUN5SywyQkFBVSxDQUFDLENBQUFqTCxpQkFBQSxLQUFBQSxpQkFBQSxPQUFBVSx1QkFBQSxpbEZBSS9CLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ21KLFVBQVU7QUFBQSxHQUNqQyxVQUFBcEosS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDc0ssYUFBYTtBQUFBLEdBQzNCLFVBQUF2SyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUN1SyxRQUFRO0FBQUEsR0FDeEMsVUFBQXhLLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3dLLG1CQUFtQjtBQUFBLEdBYzdCLFVBQUF6SyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUN1SyxRQUFRO0FBQUEsR0FNN0IsVUFBQXhLLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3lLLGFBQWE7QUFBQSxHQW1CN0MsVUFBQTFLLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3dLLG1CQUFtQjtBQUFBLEdBQ2xDLFVBQUF6SyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNtSixVQUFVO0FBQUEsR0FDakMsVUFBQXBKLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3NLLGFBQWE7QUFBQSxHQVV0QyxVQUFBdkssS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDd0ssbUJBQW1CO0FBQUEsR0FDbEMsVUFBQXpLLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ21KLFVBQVU7QUFBQSxHQUNqQyxVQUFBcEosS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDc0ssYUFBYTtBQUFBLEdBMkJsQyxVQUFBdkssS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDc0ssYUFBYTtBQUFBLEdBSTNCLFVBQUF2SyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUN1SyxRQUFRO0FBQUEsRUFhcEQ7QUFFTSxJQUFNRyxnQkFBZ0IsR0FBQS9LLE9BQUEsQ0FBQStLLGdCQUFBLEdBQUcsSUFBQTlLLDRCQUFNLEVBQUMrSywyQkFBVSxDQUFDLENBQUF0TCxpQkFBQSxLQUFBQSxpQkFBQSxPQUFBUyx1QkFBQSxzdEtBSS9CLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ21KLFVBQVU7QUFBQSxHQUNqQyxVQUFBcEosS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDc0ssYUFBYTtBQUFBLEdBdUIzQixVQUFBdkssS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDdUssUUFBUTtBQUFBLEdBSzdCLFVBQUF4SyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUN1SyxRQUFRO0FBQUEsR0FLN0IsVUFBQXhLLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3lLLGFBQWE7QUFBQSxHQUs3QyxVQUFBMUssS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDd0ssbUJBQW1CO0FBQUEsR0FheEMsVUFBQXpLLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3dLLG1CQUFtQjtBQUFBLEdBRXBDLFVBQUF6SyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNzSyxhQUFhO0FBQUEsR0FpQmpDLFVBQUF2SyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUN1SyxRQUFRO0FBQUEsR0FVbEMsVUFBQXhLLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQzRLLHlCQUF5QjtBQUFBLEdBZTlDLFVBQUE3SyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUM0Syx5QkFBeUI7QUFBQSxHQUN6QyxVQUFBN0ssS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDeUssYUFBYTtBQUFBLEdBRWpDLFVBQUExSyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNtSixVQUFVO0FBQUEsR0FrQnJDLFVBQUFwSixLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUN3SyxtQkFBbUI7QUFBQSxHQWdCN0IsVUFBQXpLLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQzZLLGNBQWM7QUFBQSxHQVE5QyxVQUFBOUssS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDOEsseUJBQXlCO0FBQUEsR0FFMUMsVUFBQS9LLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3NLLGFBQWE7QUFBQSxHQVl0QyxVQUFBdkssS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDNEsseUJBQXlCO0FBQUEsR0FHOUMsVUFBQTdLLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQytLLHlCQUF5QjtBQUFBLEdBSzlDLFVBQUFoTCxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUN3SyxtQkFBbUI7QUFBQSxHQVF4QyxVQUFBekssS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDNEsseUJBQXlCO0FBQUEsR0FLMUMsVUFBQTdLLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3NLLGFBQWE7QUFBQSxHQUszQixVQUFBdkssS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDb0QsYUFBYTtBQUFBLEdBQzdDLFVBQUFyRCxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNrRixrQkFBa0I7QUFBQSxHQUlsQyxVQUFBbkYsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDb0QsYUFBYTtBQUFBLEdBQ3ZDLFVBQUFyRCxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUN3SyxtQkFBbUI7QUFBQSxHQUduQyxVQUFBekssS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDZ0wsZ0JBQWdCO0FBQUEsR0FJckMsVUFBQWpMLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ2dMLGdCQUFnQjtBQUFBLEdBQzFDLFVBQUFqTCxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUN3SyxtQkFBbUI7QUFBQSxHQUduQyxVQUFBekssS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDZ0wsZ0JBQWdCO0FBQUEsR0FDMUMsVUFBQWpMLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3dLLG1CQUFtQjtBQUFBLEdBS25DLFVBQUF6SyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNnTCxnQkFBZ0I7QUFBQSxHQUcxQyxVQUFBakwsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDd0ssbUJBQW1CO0FBQUEsRUFFcEQiLCJpZ25vcmVMaXN0IjpbXX0=