@talrace/ngx-noder 0.0.18 → 0.0.19

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 (288) hide show
  1. package/fesm2022/talrace-ngx-noder.mjs +181 -181
  2. package/fesm2022/talrace-ngx-noder.mjs.map +1 -1
  3. package/lib/apart-components/editor-toolbar/components/base-toolbar.component.d.ts +1 -1
  4. package/lib/editor/components/external-element/external.component.d.ts +1 -1
  5. package/lib/editor/components/shared/abstract/base.component.d.ts +1 -1
  6. package/lib/editor/components/shared/abstract/destroy.component.d.ts +1 -1
  7. package/package.json +1 -3
  8. package/src/lib/apart-components/add-link-dialog/_add-link-dialog.theme.scss +3 -6
  9. package/src/lib/apart-components/add-link-mobile/_add-link-mobile.theme.scss +4 -7
  10. package/src/lib/apart-components/confirm-dialog/_theme.scss +6 -9
  11. package/src/lib/apart-components/editor-title/_editor-title.theme.scss +6 -9
  12. package/src/lib/apart-components/editor-title-mobile/_editor-title-mobile.theme.scss +9 -12
  13. package/src/lib/apart-components/editor-toolbar/_editor-toolbar.theme.scss +5 -8
  14. package/src/lib/apart-components/editor-toolbar/components/buttons/color-picker/_color-picker.theme.scss +1 -3
  15. package/src/lib/apart-components/editor-toolbar/components/buttons/font/_font.theme.scss +1 -3
  16. package/src/lib/apart-components/editor-toolbar/components/buttons/font-size/_font-size.theme.scss +2 -5
  17. package/src/lib/apart-components/editor-toolbar/components/buttons/font-style/_font-style.theme.scss +3 -6
  18. package/src/lib/apart-components/editor-toolbar/components/buttons/format/_format.theme.scss +3 -6
  19. package/src/lib/apart-components/editor-toolbar/components/buttons/numbering/_numbering.theme.scss +15 -18
  20. package/src/lib/apart-components/editor-toolbar/components/buttons/undo-redo/_undo-redo.theme.scss +2 -4
  21. package/src/lib/apart-components/editor-toolbar/components/menu-dropdowns/_menu-dropdowns.theme.scss +5 -8
  22. package/src/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/_menu-dropdowns-mobile.theme.scss +6 -9
  23. package/src/lib/apart-components/editor-toolbar/components/toolbar-actions/_toolbar-actions.theme.scss +3 -6
  24. package/src/lib/apart-components/insert-table/_insert-table.theme.scss +6 -9
  25. package/src/lib/apart-components/insert-table-mobile/_insert-table-mobile.theme.scss +12 -15
  26. package/src/lib/apart-components/text-format-mobile/_text-format-mobile.theme.scss +22 -25
  27. package/src/lib/editor/components/_editor.theme.scss +25 -28
  28. package/esm2022/lib/apart-components/add-link-dialog/add-link-dialog.component.mjs +0 -73
  29. package/esm2022/lib/apart-components/add-link-dialog/validation.helper.mjs +0 -7
  30. package/esm2022/lib/apart-components/add-link-mobile/add-link-mobile.component.mjs +0 -49
  31. package/esm2022/lib/apart-components/confirm-dialog/confirm-dialog.component.mjs +0 -34
  32. package/esm2022/lib/apart-components/editor-search/editor-search-dialog.component.mjs +0 -75
  33. package/esm2022/lib/apart-components/editor-title/editor-title.component.mjs +0 -95
  34. package/esm2022/lib/apart-components/editor-title-mobile/editor-title-mobile.component.mjs +0 -24
  35. package/esm2022/lib/apart-components/editor-toolbar/components/base-toolbar.component.mjs +0 -117
  36. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/color-picker/color-picker.component.mjs +0 -37
  37. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font/font.component.mjs +0 -49
  38. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font-size/font-size.component.mjs +0 -90
  39. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font-style/font-style.component.mjs +0 -81
  40. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/format/format.component.mjs +0 -28
  41. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/numbering/numbering.component.mjs +0 -53
  42. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/print/print.component.mjs +0 -18
  43. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/undo-redo/undo-redo.component.mjs +0 -27
  44. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/zoom/zoom.component.mjs +0 -71
  45. package/esm2022/lib/apart-components/editor-toolbar/components/menu-dropdowns/menu-dropdowns.component.mjs +0 -107
  46. package/esm2022/lib/apart-components/editor-toolbar/components/menu-dropdowns-mobile/menu-dropdowns-mobile.component.mjs +0 -25
  47. package/esm2022/lib/apart-components/editor-toolbar/components/toolbar-actions/toolbar-actions.component.mjs +0 -65
  48. package/esm2022/lib/apart-components/editor-toolbar/editor-mobile-toolbar/editor-mobile-toolbar.component.mjs +0 -86
  49. package/esm2022/lib/apart-components/editor-toolbar/editor-toolbar/editor-toolbar.component.mjs +0 -90
  50. package/esm2022/lib/apart-components/editor-toolbar/editor-toolbar.module.mjs +0 -122
  51. package/esm2022/lib/apart-components/editor-toolbar/shared/constants/editor-toolbar-modes.const.mjs +0 -8
  52. package/esm2022/lib/apart-components/editor-toolbar/shared/constants/numbering-templates.const.mjs +0 -1148
  53. package/esm2022/lib/apart-components/editor-toolbar/shared/constants/svg-icons.const.mjs +0 -157
  54. package/esm2022/lib/apart-components/editor-toolbar/shared/enums/alignment.enum.mjs +0 -8
  55. package/esm2022/lib/apart-components/editor-toolbar/shared/enums/editor-toolbar-mode.enum.mjs +0 -11
  56. package/esm2022/lib/apart-components/editor-toolbar/shared/enums/numbering-template-type.enum.mjs +0 -16
  57. package/esm2022/lib/apart-components/editor-toolbar/shared/enums/numbering-type.enum.mjs +0 -6
  58. package/esm2022/lib/apart-components/editor-toolbar/shared/services/custom-icon.service.mjs +0 -34
  59. package/esm2022/lib/apart-components/editor-toolbar/shared/services/editor-toolbar.service.mjs +0 -26
  60. package/esm2022/lib/apart-components/editor-toolbar/shared/services/toolbar-core.service.mjs +0 -60
  61. package/esm2022/lib/apart-components/editor-toolbar/shared/toolbar-styles.helper.mjs +0 -48
  62. package/esm2022/lib/apart-components/insert-table/insert-table.component.mjs +0 -54
  63. package/esm2022/lib/apart-components/insert-table-mobile/insert-table-mobile.component.mjs +0 -86
  64. package/esm2022/lib/apart-components/text-format-mobile/text-format-mobile.component.mjs +0 -134
  65. package/esm2022/lib/editor/components/edges/edge-element.model.mjs +0 -38
  66. package/esm2022/lib/editor/components/edges/edge-type.enum.mjs +0 -6
  67. package/esm2022/lib/editor/components/edges/edge.component.mjs +0 -141
  68. package/esm2022/lib/editor/components/edges/edges.mjs +0 -120
  69. package/esm2022/lib/editor/components/edges/page-type.enum.mjs +0 -7
  70. package/esm2022/lib/editor/components/editor.component.mjs +0 -112
  71. package/esm2022/lib/editor/components/external-element/external-element.service.mjs +0 -6
  72. package/esm2022/lib/editor/components/external-element/external-elements.const.mjs +0 -4
  73. package/esm2022/lib/editor/components/external-element/external-sidenav.interface.mjs +0 -2
  74. package/esm2022/lib/editor/components/external-element/external.component.mjs +0 -41
  75. package/esm2022/lib/editor/components/external-element/models/element-data.model.mjs +0 -9
  76. package/esm2022/lib/editor/components/external-element/models/external-element.model.mjs +0 -11
  77. package/esm2022/lib/editor/components/external-element/models/external-sidenav.model.mjs +0 -15
  78. package/esm2022/lib/editor/components/image/components/image.component.mjs +0 -88
  79. package/esm2022/lib/editor/components/image/image-api.service.mjs +0 -36
  80. package/esm2022/lib/editor/components/image/input-handler/image-input.handler.mjs +0 -46
  81. package/esm2022/lib/editor/components/image/resizer/coordinate.mjs +0 -2
  82. package/esm2022/lib/editor/components/image/resizer/direction-wrapper.mjs +0 -19
  83. package/esm2022/lib/editor/components/image/resizer/direction.enum.mjs +0 -12
  84. package/esm2022/lib/editor/components/image/resizer/resizer.component.mjs +0 -106
  85. package/esm2022/lib/editor/components/image/resizer/size-delta.mjs +0 -2
  86. package/esm2022/lib/editor/components/image/resizer/size-wrapper.mjs +0 -52
  87. package/esm2022/lib/editor/components/image/size.mjs +0 -2
  88. package/esm2022/lib/editor/components/shared/abstract/base.component.mjs +0 -60
  89. package/esm2022/lib/editor/components/shared/abstract/destroy.component.mjs +0 -18
  90. package/esm2022/lib/editor/components/shared/custom-component.hepler.mjs +0 -43
  91. package/esm2022/lib/editor/components/shared/custom-components.interface.mjs +0 -2
  92. package/esm2022/lib/editor/components/shared/custom-content-markers.const.mjs +0 -3
  93. package/esm2022/lib/editor/components/shared/custom-content.mjs +0 -2
  94. package/esm2022/lib/editor/components/shared/services/component.service.mjs +0 -52
  95. package/esm2022/lib/editor/components/shared/services/custom-content.service.mjs +0 -123
  96. package/esm2022/lib/editor/components/shared/services/overlay.service.mjs +0 -55
  97. package/esm2022/lib/editor/components/tab/tab.component.mjs +0 -44
  98. package/esm2022/lib/editor/components/tab/tab.helper.mjs +0 -6
  99. package/esm2022/lib/editor/components/table/cell-resizer/cell-resizer.mjs +0 -118
  100. package/esm2022/lib/editor/components/table/components/table-cell.component.mjs +0 -99
  101. package/esm2022/lib/editor/components/table/components/table.component.mjs +0 -412
  102. package/esm2022/lib/editor/components/table/enums/hrule.enum.mjs +0 -7
  103. package/esm2022/lib/editor/components/table/enums/reisizer-side.enum.mjs +0 -8
  104. package/esm2022/lib/editor/components/table/enums/vertical-merge.enum.mjs +0 -6
  105. package/esm2022/lib/editor/components/table/models/cell-data.model.mjs +0 -17
  106. package/esm2022/lib/editor/components/table/models/cell-resizer-parameters.model.mjs +0 -9
  107. package/esm2022/lib/editor/components/table/models/row-data.model.mjs +0 -8
  108. package/esm2022/lib/editor/components/table/models/selection-range.model.mjs +0 -7
  109. package/esm2022/lib/editor/components/table/overlay-menu/overlay-menu.component.mjs +0 -84
  110. package/esm2022/lib/editor/components/table/selection/table-selection.mjs +0 -383
  111. package/esm2022/lib/editor/content/constants/display-values.const.mjs +0 -8
  112. package/esm2022/lib/editor/content/constants/document-info.const.mjs +0 -13
  113. package/esm2022/lib/editor/content/constants/editor.const.mjs +0 -70
  114. package/esm2022/lib/editor/content/contents.interface.mjs +0 -2
  115. package/esm2022/lib/editor/content/display-data/display-data.mjs +0 -839
  116. package/esm2022/lib/editor/content/display-data/display-token.model.mjs +0 -12
  117. package/esm2022/lib/editor/content/display-data/format-ext.model.mjs +0 -10
  118. package/esm2022/lib/editor/content/display-data/general-properties.model.mjs +0 -11
  119. package/esm2022/lib/editor/content/display-data/indent.model.mjs +0 -9
  120. package/esm2022/lib/editor/content/display-data/line-info.model.mjs +0 -9
  121. package/esm2022/lib/editor/content/display-data/lines.mjs +0 -96
  122. package/esm2022/lib/editor/content/display-data/models/paragraph-info.model.mjs +0 -8
  123. package/esm2022/lib/editor/content/display-data/paragraph-info.interface.mjs +0 -2
  124. package/esm2022/lib/editor/content/display-data/paragraph.mjs +0 -56
  125. package/esm2022/lib/editor/content/display-data/text-line-info.mjs +0 -35
  126. package/esm2022/lib/editor/content/display-data/toolbar-styles.interface.mjs +0 -2
  127. package/esm2022/lib/editor/content/helpers/content-style.helper.mjs +0 -78
  128. package/esm2022/lib/editor/content/helpers/display-token.helper.mjs +0 -62
  129. package/esm2022/lib/editor/content/helpers/format.helper.mjs +0 -23
  130. package/esm2022/lib/editor/content/helpers/indexed-element.helper.mjs +0 -6
  131. package/esm2022/lib/editor/content/helpers/link.helper.mjs +0 -42
  132. package/esm2022/lib/editor/content/helpers/scaling.helper.mjs +0 -9
  133. package/esm2022/lib/editor/content/margin.model.mjs +0 -16
  134. package/esm2022/lib/editor/content/page-vertical-data.model.mjs +0 -9
  135. package/esm2022/lib/editor/content/vertical-alignment.enum.mjs +0 -11
  136. package/esm2022/lib/editor/core/event-emitting.mjs +0 -56
  137. package/esm2022/lib/editor/display/cell.interface.mjs +0 -2
  138. package/esm2022/lib/editor/display/event.helper.mjs +0 -18
  139. package/esm2022/lib/editor/display/layers/cursor.layer.mjs +0 -102
  140. package/esm2022/lib/editor/display/layers/layer.config.mjs +0 -2
  141. package/esm2022/lib/editor/display/layers/pages.layer.mjs +0 -109
  142. package/esm2022/lib/editor/display/layers/print.pages.layer.mjs +0 -7
  143. package/esm2022/lib/editor/display/layers/print.text.layer.mjs +0 -7
  144. package/esm2022/lib/editor/display/layers/selection.layer.mjs +0 -119
  145. package/esm2022/lib/editor/display/layers/text.layer.mjs +0 -226
  146. package/esm2022/lib/editor/display/print/print.helper.mjs +0 -40
  147. package/esm2022/lib/editor/display/print/print.renderer.mjs +0 -67
  148. package/esm2022/lib/editor/display/print/print.rendering.helper.mjs +0 -7
  149. package/esm2022/lib/editor/display/render-changes.interface.mjs +0 -2
  150. package/esm2022/lib/editor/display/render-changes.model.mjs +0 -25
  151. package/esm2022/lib/editor/display/renderer.mjs +0 -204
  152. package/esm2022/lib/editor/display/rendering.helper.mjs +0 -185
  153. package/esm2022/lib/editor/display/renderloop.mjs +0 -26
  154. package/esm2022/lib/editor/display/virtual.renderer.mjs +0 -284
  155. package/esm2022/lib/editor/display/visible-range.interface.mjs +0 -2
  156. package/esm2022/lib/editor/editor.module.mjs +0 -91
  157. package/esm2022/lib/editor/execution/distance.model.mjs +0 -10
  158. package/esm2022/lib/editor/execution/edit.session.mjs +0 -602
  159. package/esm2022/lib/editor/execution/editor.mjs +0 -1368
  160. package/esm2022/lib/editor/execution/helpers/dom.helper.mjs +0 -42
  161. package/esm2022/lib/editor/execution/helpers/format-style.helper.mjs +0 -73
  162. package/esm2022/lib/editor/execution/helpers/image.helpet.mjs +0 -12
  163. package/esm2022/lib/editor/execution/helpers/page.helper.mjs +0 -12
  164. package/esm2022/lib/editor/execution/helpers/paragraph-style.helper.mjs +0 -41
  165. package/esm2022/lib/editor/execution/helpers/paragraph.helper.mjs +0 -177
  166. package/esm2022/lib/editor/execution/regulator.service.mjs +0 -212
  167. package/esm2022/lib/editor/execution/targeting/cell-session-source.model.mjs +0 -18
  168. package/esm2022/lib/editor/execution/targeting/edge-session-source.model.mjs +0 -14
  169. package/esm2022/lib/editor/execution/targeting/main-session-source.model.mjs +0 -8
  170. package/esm2022/lib/editor/execution/targeting/session-source.model.mjs +0 -3
  171. package/esm2022/lib/editor/execution/targeting/session.model.mjs +0 -10
  172. package/esm2022/lib/editor/gadgets/font-metrics/editor-version.const.mjs +0 -2
  173. package/esm2022/lib/editor/gadgets/font-metrics/font-metric-size.interface.mjs +0 -2
  174. package/esm2022/lib/editor/gadgets/font-metrics/font-metrics.helper.mjs +0 -88
  175. package/esm2022/lib/editor/gadgets/history/operation-history.mjs +0 -208
  176. package/esm2022/lib/editor/gadgets/history/operation.type.mjs +0 -2
  177. package/esm2022/lib/editor/gadgets/history/operations-history-info.model.mjs +0 -7
  178. package/esm2022/lib/editor/gadgets/numbering/numbering-data.model.mjs +0 -9
  179. package/esm2022/lib/editor/gadgets/numbering/numbering-marker-type.enum.mjs +0 -12
  180. package/esm2022/lib/editor/gadgets/numbering/numbering-paragraph-style.model.mjs +0 -13
  181. package/esm2022/lib/editor/gadgets/numbering/numbering.helper.mjs +0 -149
  182. package/esm2022/lib/editor/gadgets/page-break/break-types.enum.mjs +0 -7
  183. package/esm2022/lib/editor/gadgets/page-break/break.helper.mjs +0 -18
  184. package/esm2022/lib/editor/gadgets/scrollbar.mjs +0 -86
  185. package/esm2022/lib/editor/gadgets/search/replace.interface.mjs +0 -2
  186. package/esm2022/lib/editor/gadgets/search/search-iteration.interface.mjs +0 -2
  187. package/esm2022/lib/editor/gadgets/search/search.mjs +0 -231
  188. package/esm2022/lib/editor/gadgets/unicode/unicode-chars.const.mjs +0 -5
  189. package/esm2022/lib/editor/gadgets/unicode/unicode.helper.mjs +0 -20
  190. package/esm2022/lib/editor/interaction/base.handler.mjs +0 -19
  191. package/esm2022/lib/editor/interaction/document.handler.mjs +0 -27
  192. package/esm2022/lib/editor/interaction/editor.service.mjs +0 -386
  193. package/esm2022/lib/editor/interaction/input.handler.mjs +0 -152
  194. package/esm2022/lib/editor/interaction/mode.enum.mjs +0 -7
  195. package/esm2022/lib/editor/interaction/mouse-button.enum.mjs +0 -7
  196. package/esm2022/lib/editor/interaction/mouse.handler.mjs +0 -50
  197. package/esm2022/lib/editor/interaction/text-input.mjs +0 -53
  198. package/esm2022/lib/editor/operations/commands.service.mjs +0 -20
  199. package/esm2022/lib/editor/operations/enums/command-type.enum.mjs +0 -32
  200. package/esm2022/lib/editor/operations/enums/target-type.enum.mjs +0 -7
  201. package/esm2022/lib/editor/operations/helpers/break-operations.helper.mjs +0 -9
  202. package/esm2022/lib/editor/operations/helpers/content-operations.helper.mjs +0 -15
  203. package/esm2022/lib/editor/operations/helpers/format-operations.helper.mjs +0 -85
  204. package/esm2022/lib/editor/operations/helpers/image-operations.helper.mjs +0 -19
  205. package/esm2022/lib/editor/operations/helpers/indexed-element-operations.helper.mjs +0 -43
  206. package/esm2022/lib/editor/operations/helpers/link-operations.helper.mjs +0 -136
  207. package/esm2022/lib/editor/operations/helpers/numbering-operations.helper.mjs +0 -55
  208. package/esm2022/lib/editor/operations/helpers/paragraph-operations.helper.mjs +0 -114
  209. package/esm2022/lib/editor/operations/helpers/tab-operations.helper.mjs +0 -16
  210. package/esm2022/lib/editor/operations/helpers/table-operations.helper.mjs +0 -374
  211. package/esm2022/lib/editor/operations/operations-helper.helper.mjs +0 -438
  212. package/esm2022/lib/editor/operations/save-commands.helper.mjs +0 -128
  213. package/esm2022/lib/editor/operations/target-operations.helper.mjs +0 -23
  214. package/esm2022/lib/editor/positioning/alignments.const.mjs +0 -8
  215. package/esm2022/lib/editor/positioning/content.helper.mjs +0 -45
  216. package/esm2022/lib/editor/positioning/cursor-paragraph.mjs +0 -13
  217. package/esm2022/lib/editor/positioning/cursor-position.interface.mjs +0 -2
  218. package/esm2022/lib/editor/positioning/insert-index.interface.mjs +0 -2
  219. package/esm2022/lib/editor/positioning/line-width.helper.mjs +0 -13
  220. package/esm2022/lib/editor/positioning/position.helper.mjs +0 -210
  221. package/esm2022/lib/editor/positioning/range.mjs +0 -94
  222. package/esm2022/lib/editor/positioning/selection.mjs +0 -351
  223. package/esm2022/lib/editor/revision.helper.mjs +0 -94
  224. package/esm2022/lib/models/generated/add-numbering.model.mjs +0 -8
  225. package/esm2022/lib/models/generated/apply-element-style.model.mjs +0 -8
  226. package/esm2022/lib/models/generated/apply-image-style.model.mjs +0 -8
  227. package/esm2022/lib/models/generated/apply-paragraph-style.model.mjs +0 -12
  228. package/esm2022/lib/models/generated/apply-text-style.model.mjs +0 -12
  229. package/esm2022/lib/models/generated/borders-style.model.mjs +0 -8
  230. package/esm2022/lib/models/generated/break.model.mjs +0 -8
  231. package/esm2022/lib/models/generated/cell.model.mjs +0 -12
  232. package/esm2022/lib/models/generated/column-section.model.mjs +0 -8
  233. package/esm2022/lib/models/generated/column.model.mjs +0 -8
  234. package/esm2022/lib/models/generated/command.model.mjs +0 -120
  235. package/esm2022/lib/models/generated/delete.model.mjs +0 -8
  236. package/esm2022/lib/models/generated/document-name.model.mjs +0 -8
  237. package/esm2022/lib/models/generated/document.model.mjs +0 -8
  238. package/esm2022/lib/models/generated/docx.model.mjs +0 -12
  239. package/esm2022/lib/models/generated/edge-target.model.mjs +0 -8
  240. package/esm2022/lib/models/generated/edge.model.mjs +0 -8
  241. package/esm2022/lib/models/generated/element.model.mjs +0 -8
  242. package/esm2022/lib/models/generated/file-source.model.mjs +0 -8
  243. package/esm2022/lib/models/generated/format.model.mjs +0 -12
  244. package/esm2022/lib/models/generated/heading.model.mjs +0 -16
  245. package/esm2022/lib/models/generated/image-data.model.mjs +0 -8
  246. package/esm2022/lib/models/generated/image.model.mjs +0 -12
  247. package/esm2022/lib/models/generated/insert-break.model.mjs +0 -8
  248. package/esm2022/lib/models/generated/insert-element.model.mjs +0 -12
  249. package/esm2022/lib/models/generated/insert-image.model.mjs +0 -12
  250. package/esm2022/lib/models/generated/insert-link.model.mjs +0 -12
  251. package/esm2022/lib/models/generated/insert-paragraph.model.mjs +0 -20
  252. package/esm2022/lib/models/generated/insert-styled-text.model.mjs +0 -12
  253. package/esm2022/lib/models/generated/insert-tab.model.mjs +0 -8
  254. package/esm2022/lib/models/generated/insert-table-columns.model.mjs +0 -8
  255. package/esm2022/lib/models/generated/insert-table-rows.model.mjs +0 -8
  256. package/esm2022/lib/models/generated/insert-table.model.mjs +0 -8
  257. package/esm2022/lib/models/generated/insert-text.model.mjs +0 -8
  258. package/esm2022/lib/models/generated/last-document-revision.model.mjs +0 -12
  259. package/esm2022/lib/models/generated/link-data.model.mjs +0 -8
  260. package/esm2022/lib/models/generated/link.model.mjs +0 -8
  261. package/esm2022/lib/models/generated/margins.model.mjs +0 -8
  262. package/esm2022/lib/models/generated/numbering-level.model.mjs +0 -12
  263. package/esm2022/lib/models/generated/numbering.model.mjs +0 -8
  264. package/esm2022/lib/models/generated/operation.model.mjs +0 -12
  265. package/esm2022/lib/models/generated/page-numbers.model.mjs +0 -8
  266. package/esm2022/lib/models/generated/paragraph-style.model.mjs +0 -8
  267. package/esm2022/lib/models/generated/paragraph.model.mjs +0 -12
  268. package/esm2022/lib/models/generated/remove-numberings.model.mjs +0 -8
  269. package/esm2022/lib/models/generated/remove-table-columns.model.mjs +0 -8
  270. package/esm2022/lib/models/generated/remove-table-rows.model.mjs +0 -8
  271. package/esm2022/lib/models/generated/replace-by-text.model.mjs +0 -8
  272. package/esm2022/lib/models/generated/replace.model.mjs +0 -44
  273. package/esm2022/lib/models/generated/resize-table-columns.model.mjs +0 -8
  274. package/esm2022/lib/models/generated/restore-numberings.model.mjs +0 -8
  275. package/esm2022/lib/models/generated/restore-paragraph-styles.model.mjs +0 -8
  276. package/esm2022/lib/models/generated/restore-table.model.mjs +0 -12
  277. package/esm2022/lib/models/generated/restore-text-styles.model.mjs +0 -8
  278. package/esm2022/lib/models/generated/restore.model.mjs +0 -8
  279. package/esm2022/lib/models/generated/revision.model.mjs +0 -12
  280. package/esm2022/lib/models/generated/row.model.mjs +0 -8
  281. package/esm2022/lib/models/generated/tab.model.mjs +0 -8
  282. package/esm2022/lib/models/generated/table-cell.model.mjs +0 -8
  283. package/esm2022/lib/models/generated/table.model.mjs +0 -12
  284. package/esm2022/lib/models/generated/target.model.mjs +0 -16
  285. package/esm2022/lib/models/generated/text-style.model.mjs +0 -8
  286. package/esm2022/lib/translate/noder-translate.loader.mjs +0 -22
  287. package/esm2022/public-api.mjs +0 -54
  288. package/esm2022/talrace-ngx-noder.mjs +0 -5
@@ -1,1148 +0,0 @@
1
- import { Alignment } from '../../../../apart-components/editor-toolbar/shared/enums/alignment.enum';
2
- import { NumberingLevelModel } from '../../../../models/generated/numbering-level.model';
3
- import { NumberingMarkerType } from '../../../../editor/gadgets/numbering/numbering-marker-type.enum';
4
- import { NumberingTemplateType } from '../../../../apart-components/editor-toolbar/shared/enums/numbering-template-type.enum';
5
- import { TextStyleModel } from '../../../../models/generated/text-style.model';
6
- export const NumberingTemplates = [
7
- {
8
- templateType: NumberingTemplateType.NumberList1,
9
- levels: [
10
- new NumberingLevelModel({
11
- level: 0,
12
- markerType: NumberingMarkerType.Decimal,
13
- marker: '%1.',
14
- markerStyle: new TextStyleModel(),
15
- startValue: 1,
16
- markerAlignment: Alignment.Left,
17
- indentHanging: 24,
18
- indentLeft: 48
19
- }),
20
- new NumberingLevelModel({
21
- level: 1,
22
- markerType: NumberingMarkerType.LowerLetter,
23
- marker: '%2.',
24
- markerStyle: new TextStyleModel(),
25
- startValue: 1,
26
- markerAlignment: Alignment.Left,
27
- indentHanging: 24,
28
- indentLeft: 96
29
- }),
30
- new NumberingLevelModel({
31
- level: 2,
32
- markerType: NumberingMarkerType.LowerRoman,
33
- marker: '%3.',
34
- markerStyle: new TextStyleModel(),
35
- startValue: 1,
36
- markerAlignment: Alignment.Right,
37
- indentHanging: 24,
38
- indentLeft: 144
39
- }),
40
- new NumberingLevelModel({
41
- level: 3,
42
- markerType: NumberingMarkerType.Decimal,
43
- marker: '%4.',
44
- markerStyle: new TextStyleModel(),
45
- startValue: 1,
46
- markerAlignment: Alignment.Left,
47
- indentHanging: 24,
48
- indentLeft: 192
49
- }),
50
- new NumberingLevelModel({
51
- level: 4,
52
- markerType: NumberingMarkerType.LowerLetter,
53
- marker: '%5.',
54
- markerStyle: new TextStyleModel(),
55
- startValue: 1,
56
- markerAlignment: Alignment.Left,
57
- indentHanging: 24,
58
- indentLeft: 240
59
- }),
60
- new NumberingLevelModel({
61
- level: 5,
62
- markerType: NumberingMarkerType.LowerRoman,
63
- marker: '%6.',
64
- markerStyle: new TextStyleModel(),
65
- startValue: 1,
66
- markerAlignment: Alignment.Right,
67
- indentHanging: 24,
68
- indentLeft: 288
69
- }),
70
- new NumberingLevelModel({
71
- level: 6,
72
- markerType: NumberingMarkerType.Decimal,
73
- marker: '%7.',
74
- markerStyle: new TextStyleModel(),
75
- startValue: 1,
76
- markerAlignment: Alignment.Left,
77
- indentHanging: 24,
78
- indentLeft: 336
79
- }),
80
- new NumberingLevelModel({
81
- level: 7,
82
- markerType: NumberingMarkerType.LowerLetter,
83
- marker: '%8.',
84
- markerStyle: new TextStyleModel(),
85
- startValue: 1,
86
- markerAlignment: Alignment.Left,
87
- indentHanging: 24,
88
- indentLeft: 384
89
- }),
90
- new NumberingLevelModel({
91
- level: 8,
92
- markerType: NumberingMarkerType.LowerRoman,
93
- marker: '%9.',
94
- markerStyle: new TextStyleModel(),
95
- startValue: 1,
96
- markerAlignment: Alignment.Right,
97
- indentHanging: 24,
98
- indentLeft: 432
99
- })
100
- ]
101
- },
102
- {
103
- templateType: NumberingTemplateType.NumberList2,
104
- levels: [
105
- new NumberingLevelModel({
106
- level: 0,
107
- markerType: NumberingMarkerType.Decimal,
108
- marker: '%1)',
109
- markerStyle: new TextStyleModel(),
110
- startValue: 1,
111
- markerAlignment: Alignment.Left,
112
- indentHanging: 24,
113
- indentLeft: 48
114
- }),
115
- new NumberingLevelModel({
116
- level: 1,
117
- markerType: NumberingMarkerType.LowerLetter,
118
- marker: '%2)',
119
- markerStyle: new TextStyleModel(),
120
- startValue: 1,
121
- markerAlignment: Alignment.Left,
122
- indentHanging: 24,
123
- indentLeft: 96
124
- }),
125
- new NumberingLevelModel({
126
- level: 2,
127
- markerType: NumberingMarkerType.LowerRoman,
128
- marker: '%3)',
129
- markerStyle: new TextStyleModel(),
130
- startValue: 1,
131
- markerAlignment: Alignment.Right,
132
- indentHanging: 24,
133
- indentLeft: 144
134
- }),
135
- new NumberingLevelModel({
136
- level: 3,
137
- markerType: NumberingMarkerType.Decimal,
138
- marker: '(%4)',
139
- markerStyle: new TextStyleModel(),
140
- startValue: 1,
141
- markerAlignment: Alignment.Left,
142
- indentHanging: 24,
143
- indentLeft: 192
144
- }),
145
- new NumberingLevelModel({
146
- level: 4,
147
- markerType: NumberingMarkerType.LowerLetter,
148
- marker: '(%5)',
149
- markerStyle: new TextStyleModel(),
150
- startValue: 1,
151
- markerAlignment: Alignment.Left,
152
- indentHanging: 24,
153
- indentLeft: 240
154
- }),
155
- new NumberingLevelModel({
156
- level: 5,
157
- markerType: NumberingMarkerType.LowerRoman,
158
- marker: '(%6)',
159
- markerStyle: new TextStyleModel(),
160
- startValue: 1,
161
- markerAlignment: Alignment.Right,
162
- indentHanging: 24,
163
- indentLeft: 288
164
- }),
165
- new NumberingLevelModel({
166
- level: 6,
167
- markerType: NumberingMarkerType.Decimal,
168
- marker: '%7.',
169
- markerStyle: new TextStyleModel(),
170
- startValue: 1,
171
- markerAlignment: Alignment.Left,
172
- indentHanging: 24,
173
- indentLeft: 336
174
- }),
175
- new NumberingLevelModel({
176
- level: 7,
177
- markerType: NumberingMarkerType.LowerLetter,
178
- marker: '%8.',
179
- markerStyle: new TextStyleModel(),
180
- startValue: 1,
181
- markerAlignment: Alignment.Left,
182
- indentHanging: 24,
183
- indentLeft: 384
184
- }),
185
- new NumberingLevelModel({
186
- level: 8,
187
- markerType: NumberingMarkerType.LowerRoman,
188
- marker: '%9.',
189
- markerStyle: new TextStyleModel(),
190
- startValue: 1,
191
- markerAlignment: Alignment.Right,
192
- indentHanging: 24,
193
- indentLeft: 432
194
- })
195
- ]
196
- },
197
- {
198
- templateType: NumberingTemplateType.NumberList3,
199
- levels: [
200
- new NumberingLevelModel({
201
- level: 0,
202
- markerType: NumberingMarkerType.Decimal,
203
- marker: '%1.',
204
- markerStyle: new TextStyleModel(),
205
- startValue: 1,
206
- markerAlignment: Alignment.Right,
207
- indentHanging: 24,
208
- indentLeft: 48
209
- }),
210
- new NumberingLevelModel({
211
- level: 1,
212
- markerType: NumberingMarkerType.Decimal,
213
- marker: '%1.%2.',
214
- markerStyle: new TextStyleModel(),
215
- startValue: 1,
216
- markerAlignment: Alignment.Right,
217
- indentHanging: 24,
218
- indentLeft: 96
219
- }),
220
- new NumberingLevelModel({
221
- level: 2,
222
- markerType: NumberingMarkerType.Decimal,
223
- marker: '%1.%2.%3.',
224
- markerStyle: new TextStyleModel(),
225
- startValue: 1,
226
- markerAlignment: Alignment.Right,
227
- indentHanging: 24,
228
- indentLeft: 144
229
- }),
230
- new NumberingLevelModel({
231
- level: 3,
232
- markerType: NumberingMarkerType.Decimal,
233
- marker: '%1.%2.%3.%4.',
234
- markerStyle: new TextStyleModel(),
235
- startValue: 1,
236
- markerAlignment: Alignment.Right,
237
- indentHanging: 24,
238
- indentLeft: 192
239
- }),
240
- new NumberingLevelModel({
241
- level: 4,
242
- markerType: NumberingMarkerType.Decimal,
243
- marker: '%1.%2.%3.%4.%5.',
244
- markerStyle: new TextStyleModel(),
245
- startValue: 1,
246
- markerAlignment: Alignment.Right,
247
- indentHanging: 24,
248
- indentLeft: 240
249
- }),
250
- new NumberingLevelModel({
251
- level: 5,
252
- markerType: NumberingMarkerType.Decimal,
253
- marker: '%1.%2.%3.%4.%5.%6.',
254
- markerStyle: new TextStyleModel(),
255
- startValue: 1,
256
- markerAlignment: Alignment.Right,
257
- indentHanging: 24,
258
- indentLeft: 288
259
- }),
260
- new NumberingLevelModel({
261
- level: 6,
262
- markerType: NumberingMarkerType.Decimal,
263
- marker: '%1.%2.%3.%4.%5.%6.%7.',
264
- markerStyle: new TextStyleModel(),
265
- startValue: 1,
266
- markerAlignment: Alignment.Right,
267
- indentHanging: 24,
268
- indentLeft: 336
269
- }),
270
- new NumberingLevelModel({
271
- level: 7,
272
- markerType: NumberingMarkerType.Decimal,
273
- marker: '%1.%2.%3.%4.%5.%6.%7.%8.',
274
- markerStyle: new TextStyleModel(),
275
- startValue: 1,
276
- markerAlignment: Alignment.Right,
277
- indentHanging: 24,
278
- indentLeft: 384
279
- }),
280
- new NumberingLevelModel({
281
- level: 8,
282
- markerType: NumberingMarkerType.Decimal,
283
- marker: '%1.%2.%3.%4.%5.%6.%7.%8.%9.',
284
- markerStyle: new TextStyleModel(),
285
- startValue: 1,
286
- markerAlignment: Alignment.Right,
287
- indentHanging: 24,
288
- indentLeft: 432
289
- })
290
- ]
291
- },
292
- {
293
- templateType: NumberingTemplateType.NumberList4,
294
- levels: [
295
- new NumberingLevelModel({
296
- level: 0,
297
- markerType: NumberingMarkerType.UpperLetter,
298
- marker: '%1.',
299
- markerStyle: new TextStyleModel(),
300
- startValue: 1,
301
- markerAlignment: Alignment.Left,
302
- indentHanging: 24,
303
- indentLeft: 48
304
- }),
305
- new NumberingLevelModel({
306
- level: 1,
307
- markerType: NumberingMarkerType.LowerLetter,
308
- marker: '%2.',
309
- markerStyle: new TextStyleModel(),
310
- startValue: 1,
311
- markerAlignment: Alignment.Left,
312
- indentHanging: 24,
313
- indentLeft: 96
314
- }),
315
- new NumberingLevelModel({
316
- level: 2,
317
- markerType: NumberingMarkerType.LowerRoman,
318
- marker: '%3.',
319
- markerStyle: new TextStyleModel(),
320
- startValue: 1,
321
- markerAlignment: Alignment.Right,
322
- indentHanging: 24,
323
- indentLeft: 144
324
- }),
325
- new NumberingLevelModel({
326
- level: 3,
327
- markerType: NumberingMarkerType.Decimal,
328
- marker: '%4.',
329
- markerStyle: new TextStyleModel(),
330
- startValue: 1,
331
- markerAlignment: Alignment.Left,
332
- indentHanging: 24,
333
- indentLeft: 192
334
- }),
335
- new NumberingLevelModel({
336
- level: 4,
337
- markerType: NumberingMarkerType.LowerLetter,
338
- marker: '%5.',
339
- markerStyle: new TextStyleModel(),
340
- startValue: 1,
341
- markerAlignment: Alignment.Left,
342
- indentHanging: 24,
343
- indentLeft: 240
344
- }),
345
- new NumberingLevelModel({
346
- level: 5,
347
- markerType: NumberingMarkerType.LowerRoman,
348
- marker: '%6.',
349
- markerStyle: new TextStyleModel(),
350
- startValue: 1,
351
- markerAlignment: Alignment.Right,
352
- indentHanging: 24,
353
- indentLeft: 288
354
- }),
355
- new NumberingLevelModel({
356
- level: 6,
357
- markerType: NumberingMarkerType.Decimal,
358
- marker: '%7.',
359
- markerStyle: new TextStyleModel(),
360
- startValue: 1,
361
- markerAlignment: Alignment.Left,
362
- indentHanging: 24,
363
- indentLeft: 336
364
- }),
365
- new NumberingLevelModel({
366
- level: 7,
367
- markerType: NumberingMarkerType.LowerLetter,
368
- marker: '%8.',
369
- markerStyle: new TextStyleModel(),
370
- startValue: 1,
371
- markerAlignment: Alignment.Left,
372
- indentHanging: 24,
373
- indentLeft: 384
374
- }),
375
- new NumberingLevelModel({
376
- level: 8,
377
- markerType: NumberingMarkerType.LowerRoman,
378
- marker: '%9.',
379
- markerStyle: new TextStyleModel(),
380
- startValue: 1,
381
- markerAlignment: Alignment.Right,
382
- indentHanging: 24,
383
- indentLeft: 432
384
- })
385
- ]
386
- },
387
- {
388
- templateType: NumberingTemplateType.NumberList5,
389
- levels: [
390
- new NumberingLevelModel({
391
- level: 0,
392
- markerType: NumberingMarkerType.UpperRoman,
393
- marker: '%1.',
394
- markerStyle: new TextStyleModel(),
395
- startValue: 1,
396
- markerAlignment: Alignment.Right,
397
- indentHanging: 24,
398
- indentLeft: 48
399
- }),
400
- new NumberingLevelModel({
401
- level: 1,
402
- markerType: NumberingMarkerType.UpperLetter,
403
- marker: '%2.',
404
- markerStyle: new TextStyleModel(),
405
- startValue: 1,
406
- markerAlignment: Alignment.Left,
407
- indentHanging: 24,
408
- indentLeft: 96
409
- }),
410
- new NumberingLevelModel({
411
- level: 2,
412
- markerType: NumberingMarkerType.Decimal,
413
- marker: '%3.',
414
- markerStyle: new TextStyleModel(),
415
- startValue: 1,
416
- markerAlignment: Alignment.Left,
417
- indentHanging: 24,
418
- indentLeft: 144
419
- }),
420
- new NumberingLevelModel({
421
- level: 3,
422
- markerType: NumberingMarkerType.LowerLetter,
423
- marker: '%4)',
424
- markerStyle: new TextStyleModel(),
425
- startValue: 1,
426
- markerAlignment: Alignment.Left,
427
- indentHanging: 24,
428
- indentLeft: 192
429
- }),
430
- new NumberingLevelModel({
431
- level: 4,
432
- markerType: NumberingMarkerType.Decimal,
433
- marker: '(%5)',
434
- markerStyle: new TextStyleModel(),
435
- startValue: 1,
436
- markerAlignment: Alignment.Left,
437
- indentHanging: 24,
438
- indentLeft: 240
439
- }),
440
- new NumberingLevelModel({
441
- level: 5,
442
- markerType: NumberingMarkerType.LowerLetter,
443
- marker: '(%6)',
444
- markerStyle: new TextStyleModel(),
445
- startValue: 1,
446
- markerAlignment: Alignment.Left,
447
- indentHanging: 24,
448
- indentLeft: 288
449
- }),
450
- new NumberingLevelModel({
451
- level: 6,
452
- markerType: NumberingMarkerType.LowerRoman,
453
- marker: '(%7)',
454
- markerStyle: new TextStyleModel(),
455
- startValue: 1,
456
- markerAlignment: Alignment.Right,
457
- indentHanging: 24,
458
- indentLeft: 336
459
- }),
460
- new NumberingLevelModel({
461
- level: 7,
462
- markerType: NumberingMarkerType.LowerLetter,
463
- marker: '(%8)',
464
- markerStyle: new TextStyleModel(),
465
- startValue: 1,
466
- markerAlignment: Alignment.Left,
467
- indentHanging: 24,
468
- indentLeft: 384
469
- }),
470
- new NumberingLevelModel({
471
- level: 8,
472
- markerType: NumberingMarkerType.LowerRoman,
473
- marker: '(%9)',
474
- markerStyle: new TextStyleModel(),
475
- startValue: 1,
476
- markerAlignment: Alignment.Right,
477
- indentHanging: 24,
478
- indentLeft: 432
479
- })
480
- ]
481
- },
482
- {
483
- templateType: NumberingTemplateType.NumberList6,
484
- levels: [
485
- new NumberingLevelModel({
486
- level: 0,
487
- markerType: NumberingMarkerType.DecimalZero,
488
- marker: '%1.',
489
- markerStyle: new TextStyleModel(),
490
- startValue: 1,
491
- markerAlignment: Alignment.Left,
492
- indentHanging: 24,
493
- indentLeft: 48
494
- }),
495
- new NumberingLevelModel({
496
- level: 1,
497
- markerType: NumberingMarkerType.LowerLetter,
498
- marker: '%2.',
499
- markerStyle: new TextStyleModel(),
500
- startValue: 1,
501
- markerAlignment: Alignment.Left,
502
- indentHanging: 24,
503
- indentLeft: 96
504
- }),
505
- new NumberingLevelModel({
506
- level: 2,
507
- markerType: NumberingMarkerType.LowerRoman,
508
- marker: '%3.',
509
- markerStyle: new TextStyleModel(),
510
- startValue: 1,
511
- markerAlignment: Alignment.Right,
512
- indentHanging: 24,
513
- indentLeft: 144
514
- }),
515
- new NumberingLevelModel({
516
- level: 3,
517
- markerType: NumberingMarkerType.Decimal,
518
- marker: '%4.',
519
- markerStyle: new TextStyleModel(),
520
- startValue: 1,
521
- markerAlignment: Alignment.Left,
522
- indentHanging: 24,
523
- indentLeft: 192
524
- }),
525
- new NumberingLevelModel({
526
- level: 4,
527
- markerType: NumberingMarkerType.LowerLetter,
528
- marker: '%5.',
529
- markerStyle: new TextStyleModel(),
530
- startValue: 1,
531
- markerAlignment: Alignment.Left,
532
- indentHanging: 24,
533
- indentLeft: 240
534
- }),
535
- new NumberingLevelModel({
536
- level: 5,
537
- markerType: NumberingMarkerType.LowerRoman,
538
- marker: '%6.',
539
- markerStyle: new TextStyleModel(),
540
- startValue: 1,
541
- markerAlignment: Alignment.Right,
542
- indentHanging: 24,
543
- indentLeft: 288
544
- }),
545
- new NumberingLevelModel({
546
- level: 6,
547
- markerType: NumberingMarkerType.Decimal,
548
- marker: '%7.',
549
- markerStyle: new TextStyleModel(),
550
- startValue: 1,
551
- markerAlignment: Alignment.Left,
552
- indentHanging: 24,
553
- indentLeft: 336
554
- }),
555
- new NumberingLevelModel({
556
- level: 7,
557
- markerType: NumberingMarkerType.LowerLetter,
558
- marker: '%8.',
559
- markerStyle: new TextStyleModel(),
560
- startValue: 1,
561
- markerAlignment: Alignment.Left,
562
- indentHanging: 24,
563
- indentLeft: 384
564
- }),
565
- new NumberingLevelModel({
566
- level: 8,
567
- markerType: NumberingMarkerType.LowerRoman,
568
- marker: '%9.',
569
- markerStyle: new TextStyleModel(),
570
- startValue: 1,
571
- markerAlignment: Alignment.Right,
572
- indentHanging: 24,
573
- indentLeft: 432
574
- })
575
- ]
576
- },
577
- {
578
- templateType: NumberingTemplateType.BulletList1,
579
- levels: [
580
- new NumberingLevelModel({
581
- level: 0,
582
- markerType: NumberingMarkerType.Bullet,
583
- marker: '●',
584
- markerStyle: new TextStyleModel(),
585
- startValue: 1,
586
- markerAlignment: Alignment.Left,
587
- indentHanging: 24,
588
- indentLeft: 48
589
- }),
590
- new NumberingLevelModel({
591
- level: 1,
592
- markerType: NumberingMarkerType.Bullet,
593
- marker: '○',
594
- markerStyle: new TextStyleModel(),
595
- startValue: 1,
596
- markerAlignment: Alignment.Left,
597
- indentHanging: 24,
598
- indentLeft: 96
599
- }),
600
- new NumberingLevelModel({
601
- level: 2,
602
- markerType: NumberingMarkerType.Bullet,
603
- marker: '■',
604
- markerStyle: new TextStyleModel(),
605
- startValue: 1,
606
- markerAlignment: Alignment.Left,
607
- indentHanging: 24,
608
- indentLeft: 144
609
- }),
610
- new NumberingLevelModel({
611
- level: 3,
612
- markerType: NumberingMarkerType.Bullet,
613
- marker: '●',
614
- markerStyle: new TextStyleModel(),
615
- startValue: 1,
616
- markerAlignment: Alignment.Left,
617
- indentHanging: 24,
618
- indentLeft: 192
619
- }),
620
- new NumberingLevelModel({
621
- level: 4,
622
- markerType: NumberingMarkerType.Bullet,
623
- marker: '○',
624
- markerStyle: new TextStyleModel(),
625
- startValue: 1,
626
- markerAlignment: Alignment.Left,
627
- indentHanging: 24,
628
- indentLeft: 240
629
- }),
630
- new NumberingLevelModel({
631
- level: 5,
632
- markerType: NumberingMarkerType.Bullet,
633
- marker: '■',
634
- markerStyle: new TextStyleModel(),
635
- startValue: 1,
636
- markerAlignment: Alignment.Left,
637
- indentHanging: 24,
638
- indentLeft: 288
639
- }),
640
- new NumberingLevelModel({
641
- level: 6,
642
- markerType: NumberingMarkerType.Bullet,
643
- marker: '●',
644
- markerStyle: new TextStyleModel(),
645
- startValue: 1,
646
- markerAlignment: Alignment.Left,
647
- indentHanging: 24,
648
- indentLeft: 336
649
- }),
650
- new NumberingLevelModel({
651
- level: 7,
652
- markerType: NumberingMarkerType.Bullet,
653
- marker: '○',
654
- markerStyle: new TextStyleModel(),
655
- startValue: 1,
656
- markerAlignment: Alignment.Left,
657
- indentHanging: 24,
658
- indentLeft: 384
659
- }),
660
- new NumberingLevelModel({
661
- level: 8,
662
- markerType: NumberingMarkerType.Bullet,
663
- marker: '■',
664
- markerStyle: new TextStyleModel(),
665
- startValue: 1,
666
- markerAlignment: Alignment.Left,
667
- indentHanging: 24,
668
- indentLeft: 432
669
- })
670
- ]
671
- },
672
- {
673
- templateType: NumberingTemplateType.BulletList2,
674
- levels: [
675
- new NumberingLevelModel({
676
- level: 0,
677
- markerType: NumberingMarkerType.Bullet,
678
- marker: '■',
679
- markerStyle: new TextStyleModel(),
680
- startValue: 1,
681
- markerAlignment: Alignment.Left,
682
- indentHanging: 24,
683
- indentLeft: 48
684
- }),
685
- new NumberingLevelModel({
686
- level: 1,
687
- markerType: NumberingMarkerType.Bullet,
688
- marker: '□',
689
- markerStyle: new TextStyleModel(),
690
- startValue: 1,
691
- markerAlignment: Alignment.Left,
692
- indentHanging: 24,
693
- indentLeft: 96
694
- }),
695
- new NumberingLevelModel({
696
- level: 2,
697
- markerType: NumberingMarkerType.Bullet,
698
- marker: '○',
699
- markerStyle: new TextStyleModel(),
700
- startValue: 1,
701
- markerAlignment: Alignment.Left,
702
- indentHanging: 24,
703
- indentLeft: 144
704
- }),
705
- new NumberingLevelModel({
706
- level: 3,
707
- markerType: NumberingMarkerType.Bullet,
708
- marker: '■',
709
- markerStyle: new TextStyleModel(),
710
- startValue: 1,
711
- markerAlignment: Alignment.Left,
712
- indentHanging: 24,
713
- indentLeft: 192
714
- }),
715
- new NumberingLevelModel({
716
- level: 4,
717
- markerType: NumberingMarkerType.Bullet,
718
- marker: '□',
719
- markerStyle: new TextStyleModel(),
720
- startValue: 1,
721
- markerAlignment: Alignment.Left,
722
- indentHanging: 24,
723
- indentLeft: 240
724
- }),
725
- new NumberingLevelModel({
726
- level: 5,
727
- markerType: NumberingMarkerType.Bullet,
728
- marker: '○',
729
- markerStyle: new TextStyleModel(),
730
- startValue: 1,
731
- markerAlignment: Alignment.Left,
732
- indentHanging: 24,
733
- indentLeft: 288
734
- }),
735
- new NumberingLevelModel({
736
- level: 6,
737
- markerType: NumberingMarkerType.Bullet,
738
- marker: '■',
739
- markerStyle: new TextStyleModel(),
740
- startValue: 1,
741
- markerAlignment: Alignment.Left,
742
- indentHanging: 24,
743
- indentLeft: 336
744
- }),
745
- new NumberingLevelModel({
746
- level: 7,
747
- markerType: NumberingMarkerType.Bullet,
748
- marker: '□',
749
- markerStyle: new TextStyleModel(),
750
- startValue: 1,
751
- markerAlignment: Alignment.Left,
752
- indentHanging: 24,
753
- indentLeft: 384
754
- }),
755
- new NumberingLevelModel({
756
- level: 8,
757
- markerType: NumberingMarkerType.Bullet,
758
- marker: '○',
759
- markerStyle: new TextStyleModel(),
760
- startValue: 1,
761
- markerAlignment: Alignment.Left,
762
- indentHanging: 24,
763
- indentLeft: 432
764
- })
765
- ]
766
- },
767
- {
768
- templateType: NumberingTemplateType.BulletList3,
769
- levels: [
770
- new NumberingLevelModel({
771
- level: 0,
772
- markerType: NumberingMarkerType.Bullet,
773
- marker: '◆',
774
- markerStyle: new TextStyleModel(),
775
- startValue: 1,
776
- markerAlignment: Alignment.Left,
777
- indentHanging: 24,
778
- indentLeft: 48
779
- }),
780
- new NumberingLevelModel({
781
- level: 1,
782
- markerType: NumberingMarkerType.Bullet,
783
- marker: '◇',
784
- markerStyle: new TextStyleModel(),
785
- startValue: 1,
786
- markerAlignment: Alignment.Left,
787
- indentHanging: 24,
788
- indentLeft: 96
789
- }),
790
- new NumberingLevelModel({
791
- level: 2,
792
- markerType: NumberingMarkerType.Bullet,
793
- marker: '○',
794
- markerStyle: new TextStyleModel(),
795
- startValue: 1,
796
- markerAlignment: Alignment.Left,
797
- indentHanging: 24,
798
- indentLeft: 144
799
- }),
800
- new NumberingLevelModel({
801
- level: 3,
802
- markerType: NumberingMarkerType.Bullet,
803
- marker: '◆',
804
- markerStyle: new TextStyleModel(),
805
- startValue: 1,
806
- markerAlignment: Alignment.Left,
807
- indentHanging: 24,
808
- indentLeft: 192
809
- }),
810
- new NumberingLevelModel({
811
- level: 4,
812
- markerType: NumberingMarkerType.Bullet,
813
- marker: '◇',
814
- markerStyle: new TextStyleModel(),
815
- startValue: 1,
816
- markerAlignment: Alignment.Left,
817
- indentHanging: 24,
818
- indentLeft: 240
819
- }),
820
- new NumberingLevelModel({
821
- level: 5,
822
- markerType: NumberingMarkerType.Bullet,
823
- marker: '○',
824
- markerStyle: new TextStyleModel(),
825
- startValue: 1,
826
- markerAlignment: Alignment.Left,
827
- indentHanging: 24,
828
- indentLeft: 288
829
- }),
830
- new NumberingLevelModel({
831
- level: 6,
832
- markerType: NumberingMarkerType.Bullet,
833
- marker: '◆',
834
- markerStyle: new TextStyleModel(),
835
- startValue: 1,
836
- markerAlignment: Alignment.Left,
837
- indentHanging: 24,
838
- indentLeft: 336
839
- }),
840
- new NumberingLevelModel({
841
- level: 7,
842
- markerType: NumberingMarkerType.Bullet,
843
- marker: '◇',
844
- markerStyle: new TextStyleModel(),
845
- startValue: 1,
846
- markerAlignment: Alignment.Left,
847
- indentHanging: 24,
848
- indentLeft: 384
849
- }),
850
- new NumberingLevelModel({
851
- level: 8,
852
- markerType: NumberingMarkerType.Bullet,
853
- marker: '○',
854
- markerStyle: new TextStyleModel(),
855
- startValue: 1,
856
- markerAlignment: Alignment.Left,
857
- indentHanging: 24,
858
- indentLeft: 432
859
- })
860
- ]
861
- },
862
- {
863
- templateType: NumberingTemplateType.BulletList4,
864
- levels: [
865
- new NumberingLevelModel({
866
- level: 0,
867
- markerType: NumberingMarkerType.Bullet,
868
- marker: '➢',
869
- markerStyle: new TextStyleModel(),
870
- startValue: 1,
871
- markerAlignment: Alignment.Left,
872
- indentHanging: 24,
873
- indentLeft: 48
874
- }),
875
- new NumberingLevelModel({
876
- level: 1,
877
- markerType: NumberingMarkerType.Bullet,
878
- marker: '◆',
879
- markerStyle: new TextStyleModel(),
880
- startValue: 1,
881
- markerAlignment: Alignment.Left,
882
- indentHanging: 24,
883
- indentLeft: 96
884
- }),
885
- new NumberingLevelModel({
886
- level: 2,
887
- markerType: NumberingMarkerType.Bullet,
888
- marker: '●',
889
- markerStyle: new TextStyleModel(),
890
- startValue: 1,
891
- markerAlignment: Alignment.Left,
892
- indentHanging: 24,
893
- indentLeft: 144
894
- }),
895
- new NumberingLevelModel({
896
- level: 3,
897
- markerType: NumberingMarkerType.Bullet,
898
- marker: '➢',
899
- markerStyle: new TextStyleModel(),
900
- startValue: 1,
901
- markerAlignment: Alignment.Left,
902
- indentHanging: 24,
903
- indentLeft: 192
904
- }),
905
- new NumberingLevelModel({
906
- level: 4,
907
- markerType: NumberingMarkerType.Bullet,
908
- marker: '◆',
909
- markerStyle: new TextStyleModel(),
910
- startValue: 1,
911
- markerAlignment: Alignment.Left,
912
- indentHanging: 24,
913
- indentLeft: 240
914
- }),
915
- new NumberingLevelModel({
916
- level: 5,
917
- markerType: NumberingMarkerType.Bullet,
918
- marker: '●',
919
- markerStyle: new TextStyleModel(),
920
- startValue: 1,
921
- markerAlignment: Alignment.Left,
922
- indentHanging: 24,
923
- indentLeft: 288
924
- }),
925
- new NumberingLevelModel({
926
- level: 6,
927
- markerType: NumberingMarkerType.Bullet,
928
- marker: '➢',
929
- markerStyle: new TextStyleModel(),
930
- startValue: 1,
931
- markerAlignment: Alignment.Left,
932
- indentHanging: 24,
933
- indentLeft: 336
934
- }),
935
- new NumberingLevelModel({
936
- level: 7,
937
- markerType: NumberingMarkerType.Bullet,
938
- marker: '◆',
939
- markerStyle: new TextStyleModel(),
940
- startValue: 1,
941
- markerAlignment: Alignment.Left,
942
- indentHanging: 24,
943
- indentLeft: 384
944
- }),
945
- new NumberingLevelModel({
946
- level: 8,
947
- markerType: NumberingMarkerType.Bullet,
948
- marker: '●',
949
- markerStyle: new TextStyleModel(),
950
- startValue: 1,
951
- markerAlignment: Alignment.Left,
952
- indentHanging: 24,
953
- indentLeft: 432
954
- })
955
- ]
956
- },
957
- {
958
- templateType: NumberingTemplateType.BulletList5,
959
- levels: [
960
- new NumberingLevelModel({
961
- level: 0,
962
- markerType: NumberingMarkerType.Bullet,
963
- marker: '★',
964
- markerStyle: new TextStyleModel(),
965
- startValue: 1,
966
- markerAlignment: Alignment.Left,
967
- indentHanging: 24,
968
- indentLeft: 48
969
- }),
970
- new NumberingLevelModel({
971
- level: 1,
972
- markerType: NumberingMarkerType.Bullet,
973
- marker: '○',
974
- markerStyle: new TextStyleModel(),
975
- startValue: 1,
976
- markerAlignment: Alignment.Left,
977
- indentHanging: 24,
978
- indentLeft: 96
979
- }),
980
- new NumberingLevelModel({
981
- level: 2,
982
- markerType: NumberingMarkerType.Bullet,
983
- marker: '□',
984
- markerStyle: new TextStyleModel(),
985
- startValue: 1,
986
- markerAlignment: Alignment.Left,
987
- indentHanging: 24,
988
- indentLeft: 144
989
- }),
990
- new NumberingLevelModel({
991
- level: 3,
992
- markerType: NumberingMarkerType.Bullet,
993
- marker: '★',
994
- markerStyle: new TextStyleModel(),
995
- startValue: 1,
996
- markerAlignment: Alignment.Left,
997
- indentHanging: 24,
998
- indentLeft: 192
999
- }),
1000
- new NumberingLevelModel({
1001
- level: 4,
1002
- markerType: NumberingMarkerType.Bullet,
1003
- marker: '○',
1004
- markerStyle: new TextStyleModel(),
1005
- startValue: 1,
1006
- markerAlignment: Alignment.Left,
1007
- indentHanging: 24,
1008
- indentLeft: 240
1009
- }),
1010
- new NumberingLevelModel({
1011
- level: 5,
1012
- markerType: NumberingMarkerType.Bullet,
1013
- marker: '□',
1014
- markerStyle: new TextStyleModel(),
1015
- startValue: 1,
1016
- markerAlignment: Alignment.Left,
1017
- indentHanging: 24,
1018
- indentLeft: 288
1019
- }),
1020
- new NumberingLevelModel({
1021
- level: 6,
1022
- markerType: NumberingMarkerType.Bullet,
1023
- marker: '★',
1024
- markerStyle: new TextStyleModel(),
1025
- startValue: 1,
1026
- markerAlignment: Alignment.Left,
1027
- indentHanging: 24,
1028
- indentLeft: 336
1029
- }),
1030
- new NumberingLevelModel({
1031
- level: 7,
1032
- markerType: NumberingMarkerType.Bullet,
1033
- marker: '○',
1034
- markerStyle: new TextStyleModel(),
1035
- startValue: 1,
1036
- markerAlignment: Alignment.Left,
1037
- indentHanging: 24,
1038
- indentLeft: 384
1039
- }),
1040
- new NumberingLevelModel({
1041
- level: 8,
1042
- markerType: NumberingMarkerType.Bullet,
1043
- marker: '□',
1044
- markerStyle: new TextStyleModel(),
1045
- startValue: 1,
1046
- markerAlignment: Alignment.Left,
1047
- indentHanging: 24,
1048
- indentLeft: 432
1049
- })
1050
- ]
1051
- },
1052
- {
1053
- templateType: NumberingTemplateType.BulletList6,
1054
- levels: [
1055
- new NumberingLevelModel({
1056
- level: 0,
1057
- markerType: NumberingMarkerType.Bullet,
1058
- marker: '➢',
1059
- markerStyle: new TextStyleModel(),
1060
- startValue: 1,
1061
- markerAlignment: Alignment.Left,
1062
- indentHanging: 24,
1063
- indentLeft: 48
1064
- }),
1065
- new NumberingLevelModel({
1066
- level: 1,
1067
- markerType: NumberingMarkerType.Bullet,
1068
- marker: '●',
1069
- markerStyle: new TextStyleModel(),
1070
- startValue: 1,
1071
- markerAlignment: Alignment.Left,
1072
- indentHanging: 24,
1073
- indentLeft: 96
1074
- }),
1075
- new NumberingLevelModel({
1076
- level: 2,
1077
- markerType: NumberingMarkerType.Bullet,
1078
- marker: '○',
1079
- markerStyle: new TextStyleModel(),
1080
- startValue: 1,
1081
- markerAlignment: Alignment.Left,
1082
- indentHanging: 24,
1083
- indentLeft: 144
1084
- }),
1085
- new NumberingLevelModel({
1086
- level: 3,
1087
- markerType: NumberingMarkerType.Bullet,
1088
- marker: '➢',
1089
- markerStyle: new TextStyleModel(),
1090
- startValue: 1,
1091
- markerAlignment: Alignment.Left,
1092
- indentHanging: 24,
1093
- indentLeft: 192
1094
- }),
1095
- new NumberingLevelModel({
1096
- level: 4,
1097
- markerType: NumberingMarkerType.Bullet,
1098
- marker: '●',
1099
- markerStyle: new TextStyleModel(),
1100
- startValue: 1,
1101
- markerAlignment: Alignment.Left,
1102
- indentHanging: 24,
1103
- indentLeft: 240
1104
- }),
1105
- new NumberingLevelModel({
1106
- level: 5,
1107
- markerType: NumberingMarkerType.Bullet,
1108
- marker: '○',
1109
- markerStyle: new TextStyleModel(),
1110
- startValue: 1,
1111
- markerAlignment: Alignment.Left,
1112
- indentHanging: 24,
1113
- indentLeft: 288
1114
- }),
1115
- new NumberingLevelModel({
1116
- level: 6,
1117
- markerType: NumberingMarkerType.Bullet,
1118
- marker: '➢',
1119
- markerStyle: new TextStyleModel(),
1120
- startValue: 1,
1121
- markerAlignment: Alignment.Left,
1122
- indentHanging: 24,
1123
- indentLeft: 336
1124
- }),
1125
- new NumberingLevelModel({
1126
- level: 7,
1127
- markerType: NumberingMarkerType.Bullet,
1128
- marker: '●',
1129
- markerStyle: new TextStyleModel(),
1130
- startValue: 1,
1131
- markerAlignment: Alignment.Left,
1132
- indentHanging: 24,
1133
- indentLeft: 384
1134
- }),
1135
- new NumberingLevelModel({
1136
- level: 8,
1137
- markerType: NumberingMarkerType.Bullet,
1138
- marker: '○',
1139
- markerStyle: new TextStyleModel(),
1140
- startValue: 1,
1141
- markerAlignment: Alignment.Left,
1142
- indentHanging: 24,
1143
- indentLeft: 432
1144
- })
1145
- ]
1146
- }
1147
- ];
1148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyaW5nLXRlbXBsYXRlcy5jb25zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2FwYXJ0LWNvbXBvbmVudHMvZWRpdG9yLXRvb2xiYXIvc2hhcmVkL2NvbnN0YW50cy9udW1iZXJpbmctdGVtcGxhdGVzLmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUNwRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUN0RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1RkFBdUYsQ0FBQztBQUM5SCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFFL0UsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDOUI7UUFDSSxZQUFZLEVBQUUscUJBQXFCLENBQUMsV0FBVztRQUMvQyxNQUFNLEVBQUU7WUFDSixJQUFJLG1CQUFtQixDQUFDO2dCQUNwQixLQUFLLEVBQUUsQ0FBQztnQkFDUixVQUFVLEVBQUUsbUJBQW1CLENBQUMsT0FBTztnQkFDdkMsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsV0FBVyxFQUFFLElBQUksY0FBYyxFQUFFO2dCQUNqQyxVQUFVLEVBQUUsQ0FBQztnQkFDYixlQUFlLEVBQUUsU0FBUyxDQUFDLElBQUk7Z0JBQy9CLGFBQWEsRUFBRSxFQUFFO2dCQUNqQixVQUFVLEVBQUUsRUFBRTthQUNqQixDQUFDO1lBQ0YsSUFBSSxtQkFBbUIsQ0FBQztnQkFDcEIsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsVUFBVSxFQUFFLG1CQUFtQixDQUFDLFdBQVc7Z0JBQzNDLE1BQU0sRUFBRSxLQUFLO2dCQUNiLFdBQVcsRUFBRSxJQUFJLGNB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dCB7IEFsaWdubWVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2FwYXJ0LWNvbXBvbmVudHMvZWRpdG9yLXRvb2xiYXIvc2hhcmVkL2VudW1zL2FsaWdubWVudC5lbnVtJztcbmltcG9ydCB7IE51bWJlcmluZ0xldmVsTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL251bWJlcmluZy1sZXZlbC5tb2RlbCc7XG5pbXBvcnQgeyBOdW1iZXJpbmdNYXJrZXJUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZWRpdG9yL2dhZGdldHMvbnVtYmVyaW5nL251bWJlcmluZy1tYXJrZXItdHlwZS5lbnVtJztcbmltcG9ydCB7IE51bWJlcmluZ1RlbXBsYXRlVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL2FwYXJ0LWNvbXBvbmVudHMvZWRpdG9yLXRvb2xiYXIvc2hhcmVkL2VudW1zL251bWJlcmluZy10ZW1wbGF0ZS10eXBlLmVudW0nO1xuaW1wb3J0IHsgVGV4dFN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3RleHQtc3R5bGUubW9kZWwnO1xuXG5leHBvcnQgY29uc3QgTnVtYmVyaW5nVGVtcGxhdGVzID0gW1xuICAgIHtcbiAgICAgICAgdGVtcGxhdGVUeXBlOiBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUuTnVtYmVyTGlzdDEsXG4gICAgICAgIGxldmVsczogW1xuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAwLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuRGVjaW1hbCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclMS4nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogNDhcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuTG93ZXJMZXR0ZXIsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTIuJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDk2XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMixcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkxvd2VyUm9tYW4sXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTMuJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5SaWdodCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAxNDRcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAzLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuRGVjaW1hbCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclNC4nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMTkyXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNCxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkxvd2VyTGV0dGVyLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyU1LicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAyNDBcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA1LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuTG93ZXJSb21hbixcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclNi4nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LlJpZ2h0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDI4OFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDYsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5EZWNpbWFsLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyU3LicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAzMzZcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA3LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuTG93ZXJMZXR0ZXIsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTguJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDM4NFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDgsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5Mb3dlclJvbWFuLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyU5LicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuUmlnaHQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogNDMyXG4gICAgICAgICAgICB9KVxuICAgICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHRlbXBsYXRlVHlwZTogTnVtYmVyaW5nVGVtcGxhdGVUeXBlLk51bWJlckxpc3QyLFxuICAgICAgICBsZXZlbHM6IFtcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMCxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkRlY2ltYWwsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTEpJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDQ4XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkxvd2VyTGV0dGVyLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyUyKScsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiA5NlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDIsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5Mb3dlclJvbWFuLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyUzKScsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuUmlnaHQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMTQ0XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMyxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkRlY2ltYWwsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnKCU0KScsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAxOTJcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA0LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuTG93ZXJMZXR0ZXIsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnKCU1KScsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAyNDBcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA1LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuTG93ZXJSb21hbixcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICcoJTYpJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5SaWdodCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAyODhcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA2LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuRGVjaW1hbCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclNy4nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMzM2XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNyxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkxvd2VyTGV0dGVyLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyU4LicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAzODRcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA4LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuTG93ZXJSb21hbixcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclOS4nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LlJpZ2h0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDQzMlxuICAgICAgICAgICAgfSlcbiAgICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgICB0ZW1wbGF0ZVR5cGU6IE51bWJlcmluZ1RlbXBsYXRlVHlwZS5OdW1iZXJMaXN0MyxcbiAgICAgICAgbGV2ZWxzOiBbXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDAsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5EZWNpbWFsLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyUxLicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuUmlnaHQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogNDhcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuRGVjaW1hbCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclMS4lMi4nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LlJpZ2h0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDk2XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMixcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkRlY2ltYWwsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTEuJTIuJTMuJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5SaWdodCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAxNDRcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAzLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuRGVjaW1hbCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclMS4lMi4lMy4lNC4nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LlJpZ2h0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDE5MlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDQsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5EZWNpbWFsLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyUxLiUyLiUzLiU0LiU1LicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuUmlnaHQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMjQwXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNSxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkRlY2ltYWwsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTEuJTIuJTMuJTQuJTUuJTYuJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5SaWdodCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAyODhcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA2LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuRGVjaW1hbCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclMS4lMi4lMy4lNC4lNS4lNi4lNy4nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LlJpZ2h0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDMzNlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDcsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5EZWNpbWFsLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyUxLiUyLiUzLiU0LiU1LiU2LiU3LiU4LicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuUmlnaHQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMzg0XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogOCxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkRlY2ltYWwsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTEuJTIuJTMuJTQuJTUuJTYuJTcuJTguJTkuJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5SaWdodCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiA0MzJcbiAgICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdGVtcGxhdGVUeXBlOiBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUuTnVtYmVyTGlzdDQsXG4gICAgICAgIGxldmVsczogW1xuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAwLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuVXBwZXJMZXR0ZXIsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTEuJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDQ4XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkxvd2VyTGV0dGVyLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyUyLicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiA5NlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDIsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5Mb3dlclJvbWFuLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyUzLicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuUmlnaHQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMTQ0XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMyxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkRlY2ltYWwsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTQuJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDE5MlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDQsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5Mb3dlckxldHRlcixcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclNS4nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMjQwXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNSxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkxvd2VyUm9tYW4sXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTYuJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5SaWdodCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAyODhcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA2LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuRGVjaW1hbCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclNy4nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMzM2XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNyxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkxvd2VyTGV0dGVyLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyU4LicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAzODRcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA4LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuTG93ZXJSb21hbixcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclOS4nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LlJpZ2h0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDQzMlxuICAgICAgICAgICAgfSlcbiAgICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgICB0ZW1wbGF0ZVR5cGU6IE51bWJlcmluZ1RlbXBsYXRlVHlwZS5OdW1iZXJMaXN0NSxcbiAgICAgICAgbGV2ZWxzOiBbXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDAsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5VcHBlclJvbWFuLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyUxLicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuUmlnaHQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogNDhcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuVXBwZXJMZXR0ZXIsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTIuJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDk2XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMixcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkRlY2ltYWwsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTMuJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDE0NFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDMsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5Mb3dlckxldHRlcixcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclNCknLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMTkyXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNCxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkRlY2ltYWwsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnKCU1KScsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAyNDBcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA1LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuTG93ZXJMZXR0ZXIsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnKCU2KScsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAyODhcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA2LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuTG93ZXJSb21hbixcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICcoJTcpJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5SaWdodCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAzMzZcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA3LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuTG93ZXJMZXR0ZXIsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnKCU4KScsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAzODRcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA4LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuTG93ZXJSb21hbixcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICcoJTkpJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5SaWdodCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiA0MzJcbiAgICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdGVtcGxhdGVUeXBlOiBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUuTnVtYmVyTGlzdDYsXG4gICAgICAgIGxldmVsczogW1xuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAwLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuRGVjaW1hbFplcm8sXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTEuJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDQ4XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkxvd2VyTGV0dGVyLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyUyLicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiA5NlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDIsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5Mb3dlclJvbWFuLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyUzLicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuUmlnaHQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMTQ0XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMyxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkRlY2ltYWwsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTQuJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDE5MlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDQsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5Mb3dlckxldHRlcixcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclNS4nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMjQwXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNSxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkxvd2VyUm9tYW4sXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTYuJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5SaWdodCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAyODhcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA2LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuRGVjaW1hbCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclNy4nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMzM2XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNyxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkxvd2VyTGV0dGVyLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyU4LicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAzODRcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA4LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuTG93ZXJSb21hbixcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclOS4nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LlJpZ2h0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDQzMlxuICAgICAgICAgICAgfSlcbiAgICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgICB0ZW1wbGF0ZVR5cGU6IE51bWJlcmluZ1RlbXBsYXRlVHlwZS5CdWxsZXRMaXN0MSxcbiAgICAgICAgbGV2ZWxzOiBbXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDAsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4pePJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDQ4XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfil4snLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogOTZcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAyLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KWoCcsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAxNDRcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAzLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KXjycsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAxOTJcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA0LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KXiycsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAyNDBcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA1LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KWoCcsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAyODhcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA2LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KXjycsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAzMzZcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA3LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KXiycsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAzODRcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA4LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KWoCcsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiA0MzJcbiAgICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdGVtcGxhdGVUeXBlOiBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUuQnVsbGV0TGlzdDIsXG4gICAgICAgIGxldmVsczogW1xuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAwLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KWoCcsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiA0OFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4pahJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDk2XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMixcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfil4snLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMTQ0XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMyxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfilqAnLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMTkyXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNCxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfilqEnLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMjQwXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNSxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfil4snLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMjg4XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNixcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfilqAnLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMzM2XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNyxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfilqEnLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMzg0XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogOCxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfil4snLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogNDMyXG4gICAgICAgICAgICB9KVxuICAgICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHRlbXBsYXRlVHlwZTogTnVtYmVyaW5nVGVtcGxhdGVUeXBlLkJ1bGxldExpc3QzLFxuICAgICAgICBsZXZlbHM6IFtcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMCxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfil4YnLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogNDhcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KXhycsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiA5NlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDIsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4peLJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDE0NFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDMsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4peGJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDE5MlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDQsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4peHJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDI0MFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDUsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4peLJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDI4OFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDYsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4peGJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDMzNlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDcsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4peHJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDM4NFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDgsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4peLJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDQzMlxuICAgICAgICAgICAgfSlcbiAgICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgICB0ZW1wbGF0ZVR5cGU6IE51bWJlcmluZ1RlbXBsYXRlVHlwZS5CdWxsZXRMaXN0NCxcbiAgICAgICAgbGV2ZWxzOiBbXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDAsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4p6iJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDQ4XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfil4YnLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogOTZcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAyLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KXjycsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAxNDRcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAzLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KeoicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAxOTJcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA0LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KXhicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAyNDBcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA1LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KXjycsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAyODhcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA2LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KeoicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAzMzZcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA3LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KXhicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAzODRcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA4LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KXjycsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiA0MzJcbiAgICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdGVtcGxhdGVUeXBlOiBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUuQnVsbGV0TGlzdDUsXG4gICAgICAgIGxldmVsczogW1xuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAwLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KYhScsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiA0OFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4peLJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDk2XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMixcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfilqEnLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMTQ0XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMyxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfimIUnLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMTkyXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNCxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfil4snLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMjQwXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNSxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfilqEnLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMjg4XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNixcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfimIUnLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMzM2XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNyxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfil4snLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMzg0XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogOCxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfilqEnLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogNDMyXG4gICAgICAgICAgICB9KVxuICAgICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHRlbXBsYXRlVHlwZTogTnVtYmVyaW5nVGVtcGxhdGVUeXBlLkJ1bGxldExpc3Q2LFxuICAgICAgICBsZXZlbHM6IFtcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMCxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfinqInLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogNDhcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KXjycsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiA5NlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDIsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4peLJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDE0NFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDMsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4p6iJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDE5MlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDQsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4pePJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDI0MFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDUsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4peLJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDI4OFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDYsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4p6iJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDMzNlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDcsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4pePJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDM4NFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDgsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4peLJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDQzMlxuICAgICAgICAgICAgfSlcbiAgICAgICAgXVxuICAgIH1cbl07XG4iXX0=