@talrace/ngx-noder 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (515) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +274 -0
  3. package/esm2022/lib/+shared/abstract/base-api.service.mjs +99 -0
  4. package/esm2022/lib/+shared/abstract/observer.component.mjs +24 -0
  5. package/esm2022/lib/+shared/confirm-dialog/confirm-dialog.component.mjs +28 -0
  6. package/esm2022/lib/+shared/constants/default-file-name.const.mjs +2 -0
  7. package/esm2022/lib/+shared/constants/paginator-sizes.const.mjs +3 -0
  8. package/esm2022/lib/+shared/editor/core/base/event-emitting.mjs +71 -0
  9. package/esm2022/lib/+shared/editor/core/components/edges/edge-type.enum.mjs +6 -0
  10. package/esm2022/lib/+shared/editor/core/components/edges/edge.component.mjs +100 -0
  11. package/esm2022/lib/+shared/editor/core/components/edges/edges.mjs +104 -0
  12. package/esm2022/lib/+shared/editor/core/constants/alignments.const.mjs +8 -0
  13. package/esm2022/lib/+shared/editor/core/constants/clipboardEventTypes.const.mjs +6 -0
  14. package/esm2022/lib/+shared/editor/core/constants/content-style-change.const.mjs +15 -0
  15. package/esm2022/lib/+shared/editor/core/constants/display-values.const.mjs +8 -0
  16. package/esm2022/lib/+shared/editor/core/constants/document-info.const.mjs +13 -0
  17. package/esm2022/lib/+shared/editor/core/constants/editor-version.const.mjs +2 -0
  18. package/esm2022/lib/+shared/editor/core/constants/editor.const.mjs +62 -0
  19. package/esm2022/lib/+shared/editor/core/constants/unicode-chars.const.mjs +5 -0
  20. package/esm2022/lib/+shared/editor/core/document.mjs +134 -0
  21. package/esm2022/lib/+shared/editor/core/edit.session.mjs +1102 -0
  22. package/esm2022/lib/+shared/editor/core/editor.mjs +1279 -0
  23. package/esm2022/lib/+shared/editor/core/enums/break-types.enum.mjs +7 -0
  24. package/esm2022/lib/+shared/editor/core/enums/hrule.enum.mjs +7 -0
  25. package/esm2022/lib/+shared/editor/core/enums/mouse-button.enum.mjs +7 -0
  26. package/esm2022/lib/+shared/editor/core/enums/numbering-marker-type.enum.mjs +12 -0
  27. package/esm2022/lib/+shared/editor/core/enums/page-type.enum.mjs +7 -0
  28. package/esm2022/lib/+shared/editor/core/enums/vertical-alignment.enum.mjs +11 -0
  29. package/esm2022/lib/+shared/editor/core/helpers/content-style.helper.mjs +156 -0
  30. package/esm2022/lib/+shared/editor/core/helpers/delta.helper.mjs +18 -0
  31. package/esm2022/lib/+shared/editor/core/helpers/dom.helper.mjs +42 -0
  32. package/esm2022/lib/+shared/editor/core/helpers/event.helper.mjs +18 -0
  33. package/esm2022/lib/+shared/editor/core/helpers/font-metrics.helper.mjs +88 -0
  34. package/esm2022/lib/+shared/editor/core/helpers/format-style.helper.mjs +72 -0
  35. package/esm2022/lib/+shared/editor/core/helpers/line-width.helper.mjs +13 -0
  36. package/esm2022/lib/+shared/editor/core/helpers/numbering.helper.mjs +83 -0
  37. package/esm2022/lib/+shared/editor/core/helpers/page.helper.mjs +12 -0
  38. package/esm2022/lib/+shared/editor/core/helpers/paragraph-style.helper.mjs +41 -0
  39. package/esm2022/lib/+shared/editor/core/helpers/paragraph.helper.mjs +132 -0
  40. package/esm2022/lib/+shared/editor/core/helpers/position.helper.mjs +191 -0
  41. package/esm2022/lib/+shared/editor/core/helpers/print.rendering.helper.mjs +7 -0
  42. package/esm2022/lib/+shared/editor/core/helpers/rendering.helper.mjs +186 -0
  43. package/esm2022/lib/+shared/editor/core/helpers/unicode.helper.mjs +20 -0
  44. package/esm2022/lib/+shared/editor/core/interfaces/cell.interface.mjs +2 -0
  45. package/esm2022/lib/+shared/editor/core/interfaces/cursor-position.interface.mjs +2 -0
  46. package/esm2022/lib/+shared/editor/core/interfaces/font-metric-size.interface.mjs +2 -0
  47. package/esm2022/lib/+shared/editor/core/interfaces/layer.config.mjs +2 -0
  48. package/esm2022/lib/+shared/editor/core/interfaces/paragraph-info.interface.mjs +2 -0
  49. package/esm2022/lib/+shared/editor/core/interfaces/render-changes.interface.mjs +2 -0
  50. package/esm2022/lib/+shared/editor/core/interfaces/replace.interface.mjs +2 -0
  51. package/esm2022/lib/+shared/editor/core/interfaces/search-iteration.interface.mjs +2 -0
  52. package/esm2022/lib/+shared/editor/core/interfaces/toolbar-styles.interface.mjs +2 -0
  53. package/esm2022/lib/+shared/editor/core/interfaces/visible-line-info.interface.mjs +2 -0
  54. package/esm2022/lib/+shared/editor/core/interfaces/visible-range.interface.mjs +2 -0
  55. package/esm2022/lib/+shared/editor/core/keyboard/text-input.mjs +53 -0
  56. package/esm2022/lib/+shared/editor/core/layers/cursor.layer.mjs +103 -0
  57. package/esm2022/lib/+shared/editor/core/layers/edges.layer.mjs +99 -0
  58. package/esm2022/lib/+shared/editor/core/layers/lines.mjs +96 -0
  59. package/esm2022/lib/+shared/editor/core/layers/pages.layer.mjs +106 -0
  60. package/esm2022/lib/+shared/editor/core/layers/print.edges.layer.mjs +7 -0
  61. package/esm2022/lib/+shared/editor/core/layers/print.pages.layer.mjs +7 -0
  62. package/esm2022/lib/+shared/editor/core/layers/print.text.layer.mjs +7 -0
  63. package/esm2022/lib/+shared/editor/core/layers/renderloop.mjs +26 -0
  64. package/esm2022/lib/+shared/editor/core/layers/scrollbar.mjs +100 -0
  65. package/esm2022/lib/+shared/editor/core/layers/selection.layer.mjs +115 -0
  66. package/esm2022/lib/+shared/editor/core/layers/text.layer.mjs +124 -0
  67. package/esm2022/lib/+shared/editor/core/models/display-token.model.mjs +12 -0
  68. package/esm2022/lib/+shared/editor/core/models/distance.model.mjs +10 -0
  69. package/esm2022/lib/+shared/editor/core/models/edge-element.model.mjs +9 -0
  70. package/esm2022/lib/+shared/editor/core/models/format-ext.model.mjs +10 -0
  71. package/esm2022/lib/+shared/editor/core/models/indent.model.mjs +9 -0
  72. package/esm2022/lib/+shared/editor/core/models/line-info.model.mjs +9 -0
  73. package/esm2022/lib/+shared/editor/core/models/margin.model.mjs +16 -0
  74. package/esm2022/lib/+shared/editor/core/models/numbering-data.model.mjs +9 -0
  75. package/esm2022/lib/+shared/editor/core/models/render-changes.model.mjs +25 -0
  76. package/esm2022/lib/+shared/editor/core/paging/page-vertical-data.model.mjs +9 -0
  77. package/esm2022/lib/+shared/editor/core/paging/pages.wrap.mjs +219 -0
  78. package/esm2022/lib/+shared/editor/core/paging/paragraph.mjs +52 -0
  79. package/esm2022/lib/+shared/editor/core/paging/text-line-info.mjs +34 -0
  80. package/esm2022/lib/+shared/editor/core/point.mjs +13 -0
  81. package/esm2022/lib/+shared/editor/core/print.renderer.mjs +72 -0
  82. package/esm2022/lib/+shared/editor/core/range.mjs +94 -0
  83. package/esm2022/lib/+shared/editor/core/renderer.mjs +217 -0
  84. package/esm2022/lib/+shared/editor/core/search.mjs +231 -0
  85. package/esm2022/lib/+shared/editor/core/virtual.renderer.mjs +356 -0
  86. package/esm2022/lib/+shared/editor/custom-components/external-element/element-toolbar/element-toolbar.component.mjs +35 -0
  87. package/esm2022/lib/+shared/editor/custom-components/external-element/external-element.service.mjs +6 -0
  88. package/esm2022/lib/+shared/editor/custom-components/external-element/external-elements.const.mjs +4 -0
  89. package/esm2022/lib/+shared/editor/custom-components/external-element/external-sidenav.interface.mjs +2 -0
  90. package/esm2022/lib/+shared/editor/custom-components/external-element/external.component.mjs +41 -0
  91. package/esm2022/lib/+shared/editor/custom-components/external-element/models/element-data.model.mjs +9 -0
  92. package/esm2022/lib/+shared/editor/custom-components/external-element/models/external-element.model.mjs +10 -0
  93. package/esm2022/lib/+shared/editor/custom-components/external-element/models/external-sidenav.model.mjs +15 -0
  94. package/esm2022/lib/+shared/editor/custom-components/image/components/image.component.mjs +87 -0
  95. package/esm2022/lib/+shared/editor/custom-components/image/input-handler/image-input.handler.mjs +38 -0
  96. package/esm2022/lib/+shared/editor/custom-components/image/interfaces/size.mjs +2 -0
  97. package/esm2022/lib/+shared/editor/custom-components/image/resizer/coordinate.mjs +2 -0
  98. package/esm2022/lib/+shared/editor/custom-components/image/resizer/direction-wrapper.mjs +19 -0
  99. package/esm2022/lib/+shared/editor/custom-components/image/resizer/direction.enum.mjs +12 -0
  100. package/esm2022/lib/+shared/editor/custom-components/image/resizer/resizer.component.mjs +106 -0
  101. package/esm2022/lib/+shared/editor/custom-components/image/resizer/size-delta.mjs +2 -0
  102. package/esm2022/lib/+shared/editor/custom-components/image/resizer/size-wrapper.mjs +52 -0
  103. package/esm2022/lib/+shared/editor/custom-components/image/services/image-api.service.mjs +14 -0
  104. package/esm2022/lib/+shared/editor/custom-components/shared/abstract/base.component.mjs +57 -0
  105. package/esm2022/lib/+shared/editor/custom-components/shared/constants/custom-content-markers.const.mjs +3 -0
  106. package/esm2022/lib/+shared/editor/custom-components/shared/helpers/custom-component.hepler.mjs +43 -0
  107. package/esm2022/lib/+shared/editor/custom-components/shared/interfaces/custom-components.interface.mjs +2 -0
  108. package/esm2022/lib/+shared/editor/custom-components/shared/services/component/component.service.mjs +64 -0
  109. package/esm2022/lib/+shared/editor/custom-components/shared/services/custom-content/custom-content.service.mjs +120 -0
  110. package/esm2022/lib/+shared/editor/custom-components/shared/services/overlay/overlay.service.mjs +55 -0
  111. package/esm2022/lib/+shared/editor/custom-components/shared/types/custom-content.mjs +2 -0
  112. package/esm2022/lib/+shared/editor/custom-components/tab/tab.component.mjs +43 -0
  113. package/esm2022/lib/+shared/editor/custom-components/table/cell-resizer/cell-resizer.mjs +118 -0
  114. package/esm2022/lib/+shared/editor/custom-components/table/components/table-cell.component.mjs +95 -0
  115. package/esm2022/lib/+shared/editor/custom-components/table/components/table.component.mjs +293 -0
  116. package/esm2022/lib/+shared/editor/custom-components/table/enums/reisizer-side.enum.mjs +8 -0
  117. package/esm2022/lib/+shared/editor/custom-components/table/enums/vertical-merge.enum.mjs +6 -0
  118. package/esm2022/lib/+shared/editor/custom-components/table/models/cell-data.model.mjs +18 -0
  119. package/esm2022/lib/+shared/editor/custom-components/table/models/cell-resizer-parameters.model.mjs +9 -0
  120. package/esm2022/lib/+shared/editor/custom-components/table/models/row-data.model.mjs +8 -0
  121. package/esm2022/lib/+shared/editor/custom-components/table/models/selection-range.model.mjs +7 -0
  122. package/esm2022/lib/+shared/editor/custom-components/table/overlay-menu/overlay-menu.component.mjs +74 -0
  123. package/esm2022/lib/+shared/editor/custom-components/table/selection/table-selection.mjs +358 -0
  124. package/esm2022/lib/+shared/editor/editor.component.mjs +103 -0
  125. package/esm2022/lib/+shared/editor/editor.module.mjs +85 -0
  126. package/esm2022/lib/+shared/editor/execution/models/cell-session-source.model.mjs +19 -0
  127. package/esm2022/lib/+shared/editor/execution/models/edge-session-source.model.mjs +15 -0
  128. package/esm2022/lib/+shared/editor/execution/models/general-properties.model.mjs +11 -0
  129. package/esm2022/lib/+shared/editor/execution/models/main-session-source.model.mjs +8 -0
  130. package/esm2022/lib/+shared/editor/execution/models/session-source.model.mjs +3 -0
  131. package/esm2022/lib/+shared/editor/execution/models/session.model.mjs +10 -0
  132. package/esm2022/lib/+shared/editor/execution/regulator.service.mjs +193 -0
  133. package/esm2022/lib/+shared/editor/helpers/break.helper.mjs +18 -0
  134. package/esm2022/lib/+shared/editor/helpers/content.helper.mjs +30 -0
  135. package/esm2022/lib/+shared/editor/helpers/format.helper.mjs +23 -0
  136. package/esm2022/lib/+shared/editor/helpers/indexed-element.helper.mjs +6 -0
  137. package/esm2022/lib/+shared/editor/helpers/tab.helper.mjs +6 -0
  138. package/esm2022/lib/+shared/editor/interaction/editor.service.mjs +309 -0
  139. package/esm2022/lib/+shared/editor/interaction/input.handler.mjs +160 -0
  140. package/esm2022/lib/+shared/editor/interaction/mouse.handler.mjs +49 -0
  141. package/esm2022/lib/+shared/editor/interfaces/contents.interface.mjs +2 -0
  142. package/esm2022/lib/+shared/editor/interfaces/insert-index.interface.mjs +2 -0
  143. package/esm2022/lib/+shared/editor/operation-history/operation-history.mjs +184 -0
  144. package/esm2022/lib/+shared/editor/operation-history/operation.type.mjs +2 -0
  145. package/esm2022/lib/+shared/editor/operation-history/operations-history-info.model.mjs +7 -0
  146. package/esm2022/lib/+shared/editor/operations/enums/command-type.enum.mjs +31 -0
  147. package/esm2022/lib/+shared/editor/operations/enums/target-type.enum.mjs +7 -0
  148. package/esm2022/lib/+shared/editor/operations/helpers/break-operations.helper.mjs +9 -0
  149. package/esm2022/lib/+shared/editor/operations/helpers/content-operations.helper.mjs +15 -0
  150. package/esm2022/lib/+shared/editor/operations/helpers/format-operations.helper.mjs +56 -0
  151. package/esm2022/lib/+shared/editor/operations/helpers/image-operations.helper.mjs +19 -0
  152. package/esm2022/lib/+shared/editor/operations/helpers/indexed-element-operations.helper.mjs +43 -0
  153. package/esm2022/lib/+shared/editor/operations/helpers/link-operations.helper.mjs +28 -0
  154. package/esm2022/lib/+shared/editor/operations/helpers/numbering-operations.helper.mjs +55 -0
  155. package/esm2022/lib/+shared/editor/operations/helpers/operations-helper.helper.mjs +394 -0
  156. package/esm2022/lib/+shared/editor/operations/helpers/paragraph-operations.helper.mjs +83 -0
  157. package/esm2022/lib/+shared/editor/operations/helpers/save-commands.helper.mjs +118 -0
  158. package/esm2022/lib/+shared/editor/operations/helpers/tab-operations.helper.mjs +16 -0
  159. package/esm2022/lib/+shared/editor/operations/helpers/table-operations.helper.mjs +371 -0
  160. package/esm2022/lib/+shared/editor/operations/helpers/target-operations.helper.mjs +23 -0
  161. package/esm2022/lib/+shared/editor/positioning/selection.mjs +307 -0
  162. package/esm2022/lib/+shared/editor/store/editor.actions.mjs +13 -0
  163. package/esm2022/lib/+shared/editor-header/editor-header.component.mjs +314 -0
  164. package/esm2022/lib/+shared/editor-search/editor-search-dialog.component.mjs +71 -0
  165. package/esm2022/lib/+shared/editor-toolbar/color-picker/color-picker.component.mjs +32 -0
  166. package/esm2022/lib/+shared/editor-toolbar/constants/numbering-templates.const.mjs +1148 -0
  167. package/esm2022/lib/+shared/editor-toolbar/constants/svg-icons.const.mjs +157 -0
  168. package/esm2022/lib/+shared/editor-toolbar/editor-toolbar.component.mjs +115 -0
  169. package/esm2022/lib/+shared/editor-toolbar/editor-toolbar.module.mjs +107 -0
  170. package/esm2022/lib/+shared/editor-toolbar/enums/alignment.enum.mjs +8 -0
  171. package/esm2022/lib/+shared/editor-toolbar/enums/numbering-template-type.enum.mjs +16 -0
  172. package/esm2022/lib/+shared/editor-toolbar/enums/numbering-type.enum.mjs +6 -0
  173. package/esm2022/lib/+shared/editor-toolbar/font/font.component.mjs +45 -0
  174. package/esm2022/lib/+shared/editor-toolbar/font-size/font-size.component.mjs +85 -0
  175. package/esm2022/lib/+shared/editor-toolbar/font-style/font-style.component.mjs +80 -0
  176. package/esm2022/lib/+shared/editor-toolbar/format/format.component.mjs +28 -0
  177. package/esm2022/lib/+shared/editor-toolbar/heading/heading.component.mjs +23 -0
  178. package/esm2022/lib/+shared/editor-toolbar/helpers/toolbar-styles.helper.mjs +55 -0
  179. package/esm2022/lib/+shared/editor-toolbar/numbering/numbering.component.mjs +53 -0
  180. package/esm2022/lib/+shared/editor-toolbar/print/print.component.mjs +18 -0
  181. package/esm2022/lib/+shared/editor-toolbar/undo-redo/undo-redo.component.mjs +27 -0
  182. package/esm2022/lib/+shared/editor-toolbar/zoom/zoom.component.mjs +74 -0
  183. package/esm2022/lib/+shared/enums/mode.enum.mjs +7 -0
  184. package/esm2022/lib/+shared/helpers/print.helper.mjs +40 -0
  185. package/esm2022/lib/+shared/insert-table/insert-table.component.mjs +54 -0
  186. package/esm2022/lib/+shared/services/commands.service.mjs +20 -0
  187. package/esm2022/lib/+shared/services/custom-icon.service.mjs +34 -0
  188. package/esm2022/lib/models/generated/add-numbering.model.mjs +8 -0
  189. package/esm2022/lib/models/generated/apply-element-style.model.mjs +8 -0
  190. package/esm2022/lib/models/generated/apply-image-style.model.mjs +8 -0
  191. package/esm2022/lib/models/generated/apply-paragraph-style.model.mjs +12 -0
  192. package/esm2022/lib/models/generated/apply-text-style.model.mjs +12 -0
  193. package/esm2022/lib/models/generated/borders-style.model.mjs +8 -0
  194. package/esm2022/lib/models/generated/break.model.mjs +8 -0
  195. package/esm2022/lib/models/generated/cell.model.mjs +12 -0
  196. package/esm2022/lib/models/generated/column-section.model.mjs +8 -0
  197. package/esm2022/lib/models/generated/column.model.mjs +8 -0
  198. package/esm2022/lib/models/generated/command.model.mjs +116 -0
  199. package/esm2022/lib/models/generated/delete.model.mjs +8 -0
  200. package/esm2022/lib/models/generated/document-name.model.mjs +8 -0
  201. package/esm2022/lib/models/generated/document.model.mjs +8 -0
  202. package/esm2022/lib/models/generated/docx.model.mjs +12 -0
  203. package/esm2022/lib/models/generated/edge-target.model.mjs +8 -0
  204. package/esm2022/lib/models/generated/edge.model.mjs +8 -0
  205. package/esm2022/lib/models/generated/element.model.mjs +8 -0
  206. package/esm2022/lib/models/generated/file-source.model.mjs +8 -0
  207. package/esm2022/lib/models/generated/format.model.mjs +12 -0
  208. package/esm2022/lib/models/generated/heading.model.mjs +16 -0
  209. package/esm2022/lib/models/generated/image-data.model.mjs +8 -0
  210. package/esm2022/lib/models/generated/image.model.mjs +12 -0
  211. package/esm2022/lib/models/generated/insert-break.model.mjs +8 -0
  212. package/esm2022/lib/models/generated/insert-element.model.mjs +12 -0
  213. package/esm2022/lib/models/generated/insert-image.model.mjs +12 -0
  214. package/esm2022/lib/models/generated/insert-link.model.mjs +12 -0
  215. package/esm2022/lib/models/generated/insert-styled-text.model.mjs +12 -0
  216. package/esm2022/lib/models/generated/insert-tab.model.mjs +8 -0
  217. package/esm2022/lib/models/generated/insert-table-columns.model.mjs +8 -0
  218. package/esm2022/lib/models/generated/insert-table-rows.model.mjs +8 -0
  219. package/esm2022/lib/models/generated/insert-table.model.mjs +8 -0
  220. package/esm2022/lib/models/generated/insert-text.model.mjs +8 -0
  221. package/esm2022/lib/models/generated/last-document-revision.model.mjs +12 -0
  222. package/esm2022/lib/models/generated/link-data.model.mjs +8 -0
  223. package/esm2022/lib/models/generated/link.model.mjs +8 -0
  224. package/esm2022/lib/models/generated/margins.model.mjs +8 -0
  225. package/esm2022/lib/models/generated/numbering-level.model.mjs +12 -0
  226. package/esm2022/lib/models/generated/numbering.model.mjs +8 -0
  227. package/esm2022/lib/models/generated/operation.model.mjs +12 -0
  228. package/esm2022/lib/models/generated/page-numbers.model.mjs +8 -0
  229. package/esm2022/lib/models/generated/paragraph-style.model.mjs +8 -0
  230. package/esm2022/lib/models/generated/paragraph.model.mjs +12 -0
  231. package/esm2022/lib/models/generated/remove-numberings.model.mjs +8 -0
  232. package/esm2022/lib/models/generated/remove-table-columns.model.mjs +8 -0
  233. package/esm2022/lib/models/generated/remove-table-rows.model.mjs +8 -0
  234. package/esm2022/lib/models/generated/replace-by-text.model.mjs +8 -0
  235. package/esm2022/lib/models/generated/replace.model.mjs +40 -0
  236. package/esm2022/lib/models/generated/resize-table-columns.model.mjs +8 -0
  237. package/esm2022/lib/models/generated/restore-numberings.model.mjs +8 -0
  238. package/esm2022/lib/models/generated/restore-paragraph-styles.model.mjs +8 -0
  239. package/esm2022/lib/models/generated/restore-table.model.mjs +12 -0
  240. package/esm2022/lib/models/generated/restore-text-styles.model.mjs +8 -0
  241. package/esm2022/lib/models/generated/restore.model.mjs +8 -0
  242. package/esm2022/lib/models/generated/revision.model.mjs +12 -0
  243. package/esm2022/lib/models/generated/row.model.mjs +8 -0
  244. package/esm2022/lib/models/generated/tab.model.mjs +8 -0
  245. package/esm2022/lib/models/generated/table-cell.model.mjs +8 -0
  246. package/esm2022/lib/models/generated/table.model.mjs +12 -0
  247. package/esm2022/lib/models/generated/target.model.mjs +16 -0
  248. package/esm2022/lib/models/generated/text-style.model.mjs +8 -0
  249. package/esm2022/public-api.mjs +43 -0
  250. package/esm2022/talrace-ngx-noder.mjs +5 -0
  251. package/fesm2022/talrace-ngx-noder.mjs +13736 -0
  252. package/fesm2022/talrace-ngx-noder.mjs.map +1 -0
  253. package/index.d.ts +5 -0
  254. package/lib/+shared/abstract/base-api.service.d.ts +23 -0
  255. package/lib/+shared/abstract/observer.component.d.ts +10 -0
  256. package/lib/+shared/confirm-dialog/confirm-dialog.component.d.ts +16 -0
  257. package/lib/+shared/constants/default-file-name.const.d.ts +1 -0
  258. package/lib/+shared/constants/paginator-sizes.const.d.ts +2 -0
  259. package/lib/+shared/editor/core/base/event-emitting.d.ts +17 -0
  260. package/lib/+shared/editor/core/components/edges/edge-type.enum.d.ts +4 -0
  261. package/lib/+shared/editor/core/components/edges/edge.component.d.ts +45 -0
  262. package/lib/+shared/editor/core/components/edges/edges.d.ts +26 -0
  263. package/lib/+shared/editor/core/constants/alignments.const.d.ts +7 -0
  264. package/lib/+shared/editor/core/constants/clipboardEventTypes.const.d.ts +5 -0
  265. package/lib/+shared/editor/core/constants/content-style-change.const.d.ts +14 -0
  266. package/lib/+shared/editor/core/constants/display-values.const.d.ts +7 -0
  267. package/lib/+shared/editor/core/constants/document-info.const.d.ts +12 -0
  268. package/lib/+shared/editor/core/constants/editor-version.const.d.ts +1 -0
  269. package/lib/+shared/editor/core/constants/editor.const.d.ts +16 -0
  270. package/lib/+shared/editor/core/constants/unicode-chars.const.d.ts +1 -0
  271. package/lib/+shared/editor/core/document.d.ts +56 -0
  272. package/lib/+shared/editor/core/edit.session.d.ts +159 -0
  273. package/lib/+shared/editor/core/editor.d.ts +206 -0
  274. package/lib/+shared/editor/core/enums/break-types.enum.d.ts +5 -0
  275. package/lib/+shared/editor/core/enums/hrule.enum.d.ts +5 -0
  276. package/lib/+shared/editor/core/enums/mouse-button.enum.d.ts +5 -0
  277. package/lib/+shared/editor/core/enums/numbering-marker-type.enum.d.ts +10 -0
  278. package/lib/+shared/editor/core/enums/page-type.enum.d.ts +5 -0
  279. package/lib/+shared/editor/core/enums/vertical-alignment.enum.d.ts +9 -0
  280. package/lib/+shared/editor/core/helpers/content-style.helper.d.ts +16 -0
  281. package/lib/+shared/editor/core/helpers/delta.helper.d.ts +6 -0
  282. package/lib/+shared/editor/core/helpers/dom.helper.d.ts +10 -0
  283. package/lib/+shared/editor/core/helpers/event.helper.d.ts +4 -0
  284. package/lib/+shared/editor/core/helpers/font-metrics.helper.d.ts +32 -0
  285. package/lib/+shared/editor/core/helpers/format-style.helper.d.ts +11 -0
  286. package/lib/+shared/editor/core/helpers/line-width.helper.d.ts +5 -0
  287. package/lib/+shared/editor/core/helpers/numbering.helper.d.ts +19 -0
  288. package/lib/+shared/editor/core/helpers/page.helper.d.ts +4 -0
  289. package/lib/+shared/editor/core/helpers/paragraph-style.helper.d.ts +6 -0
  290. package/lib/+shared/editor/core/helpers/paragraph.helper.d.ts +27 -0
  291. package/lib/+shared/editor/core/helpers/position.helper.d.ts +34 -0
  292. package/lib/+shared/editor/core/helpers/print.rendering.helper.d.ts +6 -0
  293. package/lib/+shared/editor/core/helpers/rendering.helper.d.ts +26 -0
  294. package/lib/+shared/editor/core/helpers/unicode.helper.d.ts +4 -0
  295. package/lib/+shared/editor/core/interfaces/cell.interface.d.ts +5 -0
  296. package/lib/+shared/editor/core/interfaces/cursor-position.interface.d.ts +11 -0
  297. package/lib/+shared/editor/core/interfaces/font-metric-size.interface.d.ts +11 -0
  298. package/lib/+shared/editor/core/interfaces/layer.config.d.ts +13 -0
  299. package/lib/+shared/editor/core/interfaces/paragraph-info.interface.d.ts +7 -0
  300. package/lib/+shared/editor/core/interfaces/render-changes.interface.d.ts +10 -0
  301. package/lib/+shared/editor/core/interfaces/replace.interface.d.ts +4 -0
  302. package/lib/+shared/editor/core/interfaces/search-iteration.interface.d.ts +4 -0
  303. package/lib/+shared/editor/core/interfaces/toolbar-styles.interface.d.ts +18 -0
  304. package/lib/+shared/editor/core/interfaces/visible-line-info.interface.d.ts +5 -0
  305. package/lib/+shared/editor/core/interfaces/visible-range.interface.d.ts +11 -0
  306. package/lib/+shared/editor/core/keyboard/text-input.d.ts +10 -0
  307. package/lib/+shared/editor/core/layers/cursor.layer.d.ts +24 -0
  308. package/lib/+shared/editor/core/layers/edges.layer.d.ts +24 -0
  309. package/lib/+shared/editor/core/layers/lines.d.ts +21 -0
  310. package/lib/+shared/editor/core/layers/pages.layer.d.ts +27 -0
  311. package/lib/+shared/editor/core/layers/print.edges.layer.d.ts +4 -0
  312. package/lib/+shared/editor/core/layers/print.pages.layer.d.ts +4 -0
  313. package/lib/+shared/editor/core/layers/print.text.layer.d.ts +5 -0
  314. package/lib/+shared/editor/core/layers/renderloop.d.ts +8 -0
  315. package/lib/+shared/editor/core/layers/scrollbar.d.ts +41 -0
  316. package/lib/+shared/editor/core/layers/selection.layer.d.ts +19 -0
  317. package/lib/+shared/editor/core/layers/text.layer.d.ts +22 -0
  318. package/lib/+shared/editor/core/models/display-token.model.d.ts +27 -0
  319. package/lib/+shared/editor/core/models/distance.model.d.ts +6 -0
  320. package/lib/+shared/editor/core/models/edge-element.model.d.ts +7 -0
  321. package/lib/+shared/editor/core/models/format-ext.model.d.ts +5 -0
  322. package/lib/+shared/editor/core/models/indent.model.d.ts +7 -0
  323. package/lib/+shared/editor/core/models/line-info.model.d.ts +14 -0
  324. package/lib/+shared/editor/core/models/margin.model.d.ts +9 -0
  325. package/lib/+shared/editor/core/models/numbering-data.model.d.ts +11 -0
  326. package/lib/+shared/editor/core/models/render-changes.model.d.ts +14 -0
  327. package/lib/+shared/editor/core/paging/page-vertical-data.model.d.ts +8 -0
  328. package/lib/+shared/editor/core/paging/pages.wrap.d.ts +41 -0
  329. package/lib/+shared/editor/core/paging/paragraph.d.ts +44 -0
  330. package/lib/+shared/editor/core/paging/text-line-info.d.ts +17 -0
  331. package/lib/+shared/editor/core/point.d.ts +7 -0
  332. package/lib/+shared/editor/core/print.renderer.d.ts +25 -0
  333. package/lib/+shared/editor/core/range.d.ts +32 -0
  334. package/lib/+shared/editor/core/renderer.d.ts +60 -0
  335. package/lib/+shared/editor/core/search.d.ts +32 -0
  336. package/lib/+shared/editor/core/virtual.renderer.d.ts +93 -0
  337. package/lib/+shared/editor/custom-components/external-element/element-toolbar/element-toolbar.component.d.ts +14 -0
  338. package/lib/+shared/editor/custom-components/external-element/external-element.service.d.ts +7 -0
  339. package/lib/+shared/editor/custom-components/external-element/external-elements.const.d.ts +5 -0
  340. package/lib/+shared/editor/custom-components/external-element/external-sidenav.interface.d.ts +5 -0
  341. package/lib/+shared/editor/custom-components/external-element/external.component.d.ts +17 -0
  342. package/lib/+shared/editor/custom-components/external-element/models/element-data.model.d.ts +7 -0
  343. package/lib/+shared/editor/custom-components/external-element/models/external-element.model.d.ts +20 -0
  344. package/lib/+shared/editor/custom-components/external-element/models/external-sidenav.model.d.ts +7 -0
  345. package/lib/+shared/editor/custom-components/image/components/image.component.d.ts +31 -0
  346. package/lib/+shared/editor/custom-components/image/input-handler/image-input.handler.d.ts +13 -0
  347. package/lib/+shared/editor/custom-components/image/interfaces/size.d.ts +4 -0
  348. package/lib/+shared/editor/custom-components/image/resizer/coordinate.d.ts +4 -0
  349. package/lib/+shared/editor/custom-components/image/resizer/direction-wrapper.d.ts +9 -0
  350. package/lib/+shared/editor/custom-components/image/resizer/direction.enum.d.ts +10 -0
  351. package/lib/+shared/editor/custom-components/image/resizer/resizer.component.d.ts +26 -0
  352. package/lib/+shared/editor/custom-components/image/resizer/size-delta.d.ts +4 -0
  353. package/lib/+shared/editor/custom-components/image/resizer/size-wrapper.d.ts +19 -0
  354. package/lib/+shared/editor/custom-components/image/services/image-api.service.d.ts +8 -0
  355. package/lib/+shared/editor/custom-components/shared/abstract/base.component.d.ts +24 -0
  356. package/lib/+shared/editor/custom-components/shared/constants/custom-content-markers.const.d.ts +2 -0
  357. package/lib/+shared/editor/custom-components/shared/helpers/custom-component.hepler.d.ts +8 -0
  358. package/lib/+shared/editor/custom-components/shared/interfaces/custom-components.interface.d.ts +13 -0
  359. package/lib/+shared/editor/custom-components/shared/services/component/component.service.d.ts +21 -0
  360. package/lib/+shared/editor/custom-components/shared/services/custom-content/custom-content.service.d.ts +30 -0
  361. package/lib/+shared/editor/custom-components/shared/services/overlay/overlay.service.d.ts +18 -0
  362. package/lib/+shared/editor/custom-components/shared/types/custom-content.d.ts +5 -0
  363. package/lib/+shared/editor/custom-components/tab/tab.component.d.ts +15 -0
  364. package/lib/+shared/editor/custom-components/table/cell-resizer/cell-resizer.d.ts +31 -0
  365. package/lib/+shared/editor/custom-components/table/components/table-cell.component.d.ts +45 -0
  366. package/lib/+shared/editor/custom-components/table/components/table.component.d.ts +55 -0
  367. package/lib/+shared/editor/custom-components/table/enums/reisizer-side.enum.d.ts +6 -0
  368. package/lib/+shared/editor/custom-components/table/enums/vertical-merge.enum.d.ts +4 -0
  369. package/lib/+shared/editor/custom-components/table/models/cell-data.model.d.ts +11 -0
  370. package/lib/+shared/editor/custom-components/table/models/cell-resizer-parameters.model.d.ts +9 -0
  371. package/lib/+shared/editor/custom-components/table/models/row-data.model.d.ts +7 -0
  372. package/lib/+shared/editor/custom-components/table/models/selection-range.model.d.ts +17 -0
  373. package/lib/+shared/editor/custom-components/table/overlay-menu/overlay-menu.component.d.ts +37 -0
  374. package/lib/+shared/editor/custom-components/table/selection/table-selection.d.ts +74 -0
  375. package/lib/+shared/editor/editor.component.d.ts +43 -0
  376. package/lib/+shared/editor/editor.module.d.ts +30 -0
  377. package/lib/+shared/editor/execution/models/cell-session-source.model.d.ts +11 -0
  378. package/lib/+shared/editor/execution/models/edge-session-source.model.d.ts +11 -0
  379. package/lib/+shared/editor/execution/models/general-properties.model.d.ts +7 -0
  380. package/lib/+shared/editor/execution/models/main-session-source.model.d.ts +5 -0
  381. package/lib/+shared/editor/execution/models/session-source.model.d.ts +5 -0
  382. package/lib/+shared/editor/execution/models/session.model.d.ts +12 -0
  383. package/lib/+shared/editor/execution/regulator.service.d.ts +45 -0
  384. package/lib/+shared/editor/helpers/break.helper.d.ts +7 -0
  385. package/lib/+shared/editor/helpers/content.helper.d.ts +9 -0
  386. package/lib/+shared/editor/helpers/format.helper.d.ts +4 -0
  387. package/lib/+shared/editor/helpers/indexed-element.helper.d.ts +4 -0
  388. package/lib/+shared/editor/helpers/tab.helper.d.ts +3 -0
  389. package/lib/+shared/editor/interaction/editor.service.d.ts +194 -0
  390. package/lib/+shared/editor/interaction/input.handler.d.ts +25 -0
  391. package/lib/+shared/editor/interaction/mouse.handler.d.ts +14 -0
  392. package/lib/+shared/editor/interfaces/contents.interface.d.ts +22 -0
  393. package/lib/+shared/editor/interfaces/insert-index.interface.d.ts +3 -0
  394. package/lib/+shared/editor/operation-history/operation-history.d.ts +65 -0
  395. package/lib/+shared/editor/operation-history/operation.type.d.ts +24 -0
  396. package/lib/+shared/editor/operation-history/operations-history-info.model.d.ts +5 -0
  397. package/lib/+shared/editor/operations/enums/command-type.enum.d.ts +29 -0
  398. package/lib/+shared/editor/operations/enums/target-type.enum.d.ts +5 -0
  399. package/lib/+shared/editor/operations/helpers/break-operations.helper.d.ts +5 -0
  400. package/lib/+shared/editor/operations/helpers/content-operations.helper.d.ts +5 -0
  401. package/lib/+shared/editor/operations/helpers/format-operations.helper.d.ts +11 -0
  402. package/lib/+shared/editor/operations/helpers/image-operations.helper.d.ts +7 -0
  403. package/lib/+shared/editor/operations/helpers/indexed-element-operations.helper.d.ts +8 -0
  404. package/lib/+shared/editor/operations/helpers/link-operations.helper.d.ts +6 -0
  405. package/lib/+shared/editor/operations/helpers/numbering-operations.helper.d.ts +11 -0
  406. package/lib/+shared/editor/operations/helpers/operations-helper.helper.d.ts +52 -0
  407. package/lib/+shared/editor/operations/helpers/paragraph-operations.helper.d.ts +13 -0
  408. package/lib/+shared/editor/operations/helpers/save-commands.helper.d.ts +43 -0
  409. package/lib/+shared/editor/operations/helpers/tab-operations.helper.d.ts +4 -0
  410. package/lib/+shared/editor/operations/helpers/table-operations.helper.d.ts +30 -0
  411. package/lib/+shared/editor/operations/helpers/target-operations.helper.d.ts +6 -0
  412. package/lib/+shared/editor/positioning/selection.d.ts +50 -0
  413. package/lib/+shared/editor/store/editor.actions.d.ts +11 -0
  414. package/lib/+shared/editor-header/editor-header.component.d.ts +101 -0
  415. package/lib/+shared/editor-search/editor-search-dialog.component.d.ts +24 -0
  416. package/lib/+shared/editor-toolbar/color-picker/color-picker.component.d.ts +12 -0
  417. package/lib/+shared/editor-toolbar/constants/numbering-templates.const.d.ts +6 -0
  418. package/lib/+shared/editor-toolbar/constants/svg-icons.const.d.ts +12 -0
  419. package/lib/+shared/editor-toolbar/editor-toolbar.component.d.ts +44 -0
  420. package/lib/+shared/editor-toolbar/editor-toolbar.module.d.ts +28 -0
  421. package/lib/+shared/editor-toolbar/enums/alignment.enum.d.ts +6 -0
  422. package/lib/+shared/editor-toolbar/enums/numbering-template-type.enum.d.ts +14 -0
  423. package/lib/+shared/editor-toolbar/enums/numbering-type.enum.d.ts +4 -0
  424. package/lib/+shared/editor-toolbar/font/font.component.d.ts +13 -0
  425. package/lib/+shared/editor-toolbar/font-size/font-size.component.d.ts +24 -0
  426. package/lib/+shared/editor-toolbar/font-style/font-style.component.d.ts +24 -0
  427. package/lib/+shared/editor-toolbar/format/format.component.d.ts +12 -0
  428. package/lib/+shared/editor-toolbar/heading/heading.component.d.ts +8 -0
  429. package/lib/+shared/editor-toolbar/helpers/toolbar-styles.helper.d.ts +6 -0
  430. package/lib/+shared/editor-toolbar/numbering/numbering.component.d.ts +18 -0
  431. package/lib/+shared/editor-toolbar/print/print.component.d.ts +7 -0
  432. package/lib/+shared/editor-toolbar/undo-redo/undo-redo.component.d.ts +10 -0
  433. package/lib/+shared/editor-toolbar/zoom/zoom.component.d.ts +22 -0
  434. package/lib/+shared/enums/mode.enum.d.ts +5 -0
  435. package/lib/+shared/helpers/print.helper.d.ts +9 -0
  436. package/lib/+shared/insert-table/insert-table.component.d.ts +21 -0
  437. package/lib/+shared/services/commands.service.d.ts +10 -0
  438. package/lib/+shared/services/custom-icon.service.d.ts +11 -0
  439. package/lib/models/generated/add-numbering.model.d.ts +7 -0
  440. package/lib/models/generated/apply-element-style.model.d.ts +6 -0
  441. package/lib/models/generated/apply-image-style.model.d.ts +6 -0
  442. package/lib/models/generated/apply-paragraph-style.model.d.ts +7 -0
  443. package/lib/models/generated/apply-text-style.model.d.ts +7 -0
  444. package/lib/models/generated/borders-style.model.d.ts +8 -0
  445. package/lib/models/generated/break.model.d.ts +5 -0
  446. package/lib/models/generated/cell.model.d.ts +32 -0
  447. package/lib/models/generated/column-section.model.d.ts +7 -0
  448. package/lib/models/generated/column.model.d.ts +5 -0
  449. package/lib/models/generated/command.model.d.ts +60 -0
  450. package/lib/models/generated/delete.model.d.ts +5 -0
  451. package/lib/models/generated/document-name.model.d.ts +5 -0
  452. package/lib/models/generated/document.model.d.ts +7 -0
  453. package/lib/models/generated/docx.model.d.ts +43 -0
  454. package/lib/models/generated/edge-target.model.d.ts +5 -0
  455. package/lib/models/generated/edge.model.d.ts +24 -0
  456. package/lib/models/generated/element.model.d.ts +9 -0
  457. package/lib/models/generated/file-source.model.d.ts +4 -0
  458. package/lib/models/generated/format.model.d.ts +7 -0
  459. package/lib/models/generated/heading.model.d.ts +12 -0
  460. package/lib/models/generated/image-data.model.d.ts +6 -0
  461. package/lib/models/generated/image.model.d.ts +31 -0
  462. package/lib/models/generated/insert-break.model.d.ts +6 -0
  463. package/lib/models/generated/insert-element.model.d.ts +5 -0
  464. package/lib/models/generated/insert-image.model.d.ts +6 -0
  465. package/lib/models/generated/insert-link.model.d.ts +7 -0
  466. package/lib/models/generated/insert-styled-text.model.d.ts +7 -0
  467. package/lib/models/generated/insert-tab.model.d.ts +4 -0
  468. package/lib/models/generated/insert-table-columns.model.d.ts +7 -0
  469. package/lib/models/generated/insert-table-rows.model.d.ts +7 -0
  470. package/lib/models/generated/insert-table.model.d.ts +8 -0
  471. package/lib/models/generated/insert-text.model.d.ts +5 -0
  472. package/lib/models/generated/last-document-revision.model.d.ts +9 -0
  473. package/lib/models/generated/link-data.model.d.ts +5 -0
  474. package/lib/models/generated/link.model.d.ts +7 -0
  475. package/lib/models/generated/margins.model.d.ts +7 -0
  476. package/lib/models/generated/numbering-level.model.d.ts +14 -0
  477. package/lib/models/generated/numbering.model.d.ts +7 -0
  478. package/lib/models/generated/operation.model.d.ts +8 -0
  479. package/lib/models/generated/page-numbers.model.d.ts +8 -0
  480. package/lib/models/generated/paragraph-style.model.d.ts +18 -0
  481. package/lib/models/generated/paragraph.model.d.ts +6 -0
  482. package/lib/models/generated/remove-numberings.model.d.ts +5 -0
  483. package/lib/models/generated/remove-table-columns.model.d.ts +6 -0
  484. package/lib/models/generated/remove-table-rows.model.d.ts +6 -0
  485. package/lib/models/generated/replace-by-text.model.d.ts +6 -0
  486. package/lib/models/generated/replace.model.d.ts +19 -0
  487. package/lib/models/generated/resize-table-columns.model.d.ts +9 -0
  488. package/lib/models/generated/restore-numberings.model.d.ts +7 -0
  489. package/lib/models/generated/restore-paragraph-styles.model.d.ts +5 -0
  490. package/lib/models/generated/restore-table.model.d.ts +6 -0
  491. package/lib/models/generated/restore-text-styles.model.d.ts +5 -0
  492. package/lib/models/generated/restore.model.d.ts +22 -0
  493. package/lib/models/generated/revision.model.d.ts +9 -0
  494. package/lib/models/generated/row.model.d.ts +9 -0
  495. package/lib/models/generated/tab.model.d.ts +6 -0
  496. package/lib/models/generated/table-cell.model.d.ts +6 -0
  497. package/lib/models/generated/table.model.d.ts +18 -0
  498. package/lib/models/generated/target.model.d.ts +9 -0
  499. package/lib/models/generated/text-style.model.d.ts +14 -0
  500. package/package.json +35 -0
  501. package/public-api.d.ts +42 -0
  502. package/src/_ngx-noder.theme.scss +22 -0
  503. package/src/assets/fonts/nc-iconfont.css +333 -0
  504. package/src/assets/fonts/nc-iconfont.eot +0 -0
  505. package/src/assets/fonts/nc-iconfont.svg +110 -0
  506. package/src/assets/fonts/nc-iconfont.ttf +0 -0
  507. package/src/assets/fonts/nc-iconfont.woff +0 -0
  508. package/src/lib/+shared/add-link-dialog/_add-link-dialog.theme.scss +21 -0
  509. package/src/lib/+shared/editor/_editor.theme.scss +35 -0
  510. package/src/lib/+shared/editor/custom-components/external-element/element-toolbar/_element-toolbar.theme.scss +10 -0
  511. package/src/lib/+shared/editor-header/_editor-header.theme.scss +106 -0
  512. package/src/lib/+shared/editor-toolbar/_editor-toolbar.theme.scss +33 -0
  513. package/src/lib/+shared/editor-toolbar/numbering/_numbering.theme.scss +29 -0
  514. package/src/lib/+shared/insert-table/_insert-table.theme.scss +22 -0
  515. package/src/styles.scss +58 -0
@@ -0,0 +1,1148 @@
1
+ import { Alignment } from '../enums/alignment.enum';
2
+ import { NumberingLevelModel } from '../../../models/generated/numbering-level.model';
3
+ import { NumberingMarkerType } from '../../editor/core/enums/numbering-marker-type.enum';
4
+ import { NumberingTemplateType } from '../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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyaW5nLXRlbXBsYXRlcy5jb25zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliLytzaGFyZWQvZWRpdG9yLXRvb2xiYXIvY29uc3RhbnRzL251bWJlcmluZy10ZW1wbGF0ZXMuY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUU1RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUM5QjtRQUNJLFlBQVksRUFBRSxxQkFBcUIsQ0FBQyxXQUFXO1FBQy9DLE1BQU0sRUFBRTtZQUNKLElBQUksbUJBQW1CLENBQUM7Z0JBQ3BCLEtBQUssRUFBRSxDQUFDO2dCQUNSLFVBQVUsRUFBRSxtQkFBbUIsQ0FBQyxPQUFPO2dCQUN2QyxNQUFNLEVBQUUsS0FBSztnQkFDYixXQUFXLEVBQUUsSUFBSSxjQUFjLEVBQUU7Z0JBQ2pDLFVBQVUsRUFBRSxDQUFDO2dCQUNiLGVBQWUsRUFBRSxTQUFTLENBQUMsSUFBSTtnQkFDL0IsYUFBYSxFQUFFLEVBQUU7Z0JBQ2pCLFVBQVUsRUFBRSxFQUFFO2FBQ2pCLENBQUM7WUFDRixJQUFJLG1CQUFtQixDQUFDO2dCQUNwQixLQUFLLEVBQUUsQ0FBQztnQkFDUixVQUFVLEVBQUUsbUJBQW1CLENBQUMsV0FBVztnQkFDM0MsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsV0FBVyxFQUFFLElBQUksY0FBYyxFQUFFO2dCQUNqQyxVQUFV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bSAnLi4vZW51bXMvYWxpZ25tZW50LmVudW0nO1xuaW1wb3J0IHsgTnVtYmVyaW5nTGV2ZWxNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvbnVtYmVyaW5nLWxldmVsLm1vZGVsJztcbmltcG9ydCB7IE51bWJlcmluZ01hcmtlclR5cGUgfSBmcm9tICcuLi8uLi9lZGl0b3IvY29yZS9lbnVtcy9udW1iZXJpbmctbWFya2VyLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUgfSBmcm9tICcuLi9lbnVtcy9udW1iZXJpbmctdGVtcGxhdGUtdHlwZS5lbnVtJztcbmltcG9ydCB7IFRleHRTdHlsZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC90ZXh0LXN0eWxlLm1vZGVsJztcblxuZXhwb3J0IGNvbnN0IE51bWJlcmluZ1RlbXBsYXRlcyA9IFtcbiAgICB7XG4gICAgICAgIHRlbXBsYXRlVHlwZTogTnVtYmVyaW5nVGVtcGxhdGVUeXBlLk51bWJlckxpc3QxLFxuICAgICAgICBsZXZlbHM6IFtcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMCxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkRlY2ltYWwsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTEuJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDQ4XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkxvd2VyTGV0dGVyLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyUyLicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiA5NlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDIsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5Mb3dlclJvbWFuLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyUzLicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuUmlnaHQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMTQ0XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMyxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkRlY2ltYWwsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTQuJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDE5MlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDQsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5Mb3dlckxldHRlcixcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclNS4nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMjQwXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNSxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkxvd2VyUm9tYW4sXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTYuJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5SaWdodCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAyODhcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA2LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuRGVjaW1hbCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclNy4nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMzM2XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNyxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkxvd2VyTGV0dGVyLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyU4LicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAzODRcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA4LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuTG93ZXJSb21hbixcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclOS4nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LlJpZ2h0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDQzMlxuICAgICAgICAgICAgfSlcbiAgICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgICB0ZW1wbGF0ZVR5cGU6IE51bWJlcmluZ1RlbXBsYXRlVHlwZS5OdW1iZXJMaXN0MixcbiAgICAgICAgbGV2ZWxzOiBbXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDAsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5EZWNpbWFsLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyUxKScsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiA0OFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5Mb3dlckxldHRlcixcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclMiknLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogOTZcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAyLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuTG93ZXJSb21hbixcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclMyknLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LlJpZ2h0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDE0NFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDMsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5EZWNpbWFsLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyglNCknLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMTkyXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNCxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkxvd2VyTGV0dGVyLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyglNSknLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMjQwXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNSxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkxvd2VyUm9tYW4sXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnKCU2KScsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuUmlnaHQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMjg4XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNixcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkRlY2ltYWwsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTcuJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDMzNlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDcsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5Mb3dlckxldHRlcixcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclOC4nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMzg0XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogOCxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkxvd2VyUm9tYW4sXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTkuJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5SaWdodCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiA0MzJcbiAgICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdGVtcGxhdGVUeXBlOiBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUuTnVtYmVyTGlzdDMsXG4gICAgICAgIGxldmVsczogW1xuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAwLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuRGVjaW1hbCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclMS4nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LlJpZ2h0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDQ4XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkRlY2ltYWwsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTEuJTIuJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5SaWdodCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiA5NlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDIsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5EZWNpbWFsLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyUxLiUyLiUzLicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuUmlnaHQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMTQ0XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMyxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkRlY2ltYWwsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTEuJTIuJTMuJTQuJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5SaWdodCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAxOTJcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA0LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuRGVjaW1hbCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclMS4lMi4lMy4lNC4lNS4nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LlJpZ2h0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDI0MFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDUsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5EZWNpbWFsLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyUxLiUyLiUzLiU0LiU1LiU2LicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuUmlnaHQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMjg4XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNixcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkRlY2ltYWwsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTEuJTIuJTMuJTQuJTUuJTYuJTcuJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5SaWdodCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAzMzZcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA3LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuRGVjaW1hbCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclMS4lMi4lMy4lNC4lNS4lNi4lNy4lOC4nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LlJpZ2h0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDM4NFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDgsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5EZWNpbWFsLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyUxLiUyLiUzLiU0LiU1LiU2LiU3LiU4LiU5LicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuUmlnaHQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogNDMyXG4gICAgICAgICAgICB9KVxuICAgICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHRlbXBsYXRlVHlwZTogTnVtYmVyaW5nVGVtcGxhdGVUeXBlLk51bWJlckxpc3Q0LFxuICAgICAgICBsZXZlbHM6IFtcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMCxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLlVwcGVyTGV0dGVyLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyUxLicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiA0OFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5Mb3dlckxldHRlcixcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclMi4nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogOTZcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAyLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuTG93ZXJSb21hbixcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclMy4nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LlJpZ2h0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDE0NFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDMsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5EZWNpbWFsLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyU0LicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAxOTJcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA0LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuTG93ZXJMZXR0ZXIsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTUuJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDI0MFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDUsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5Mb3dlclJvbWFuLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyU2LicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuUmlnaHQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMjg4XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNixcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkRlY2ltYWwsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTcuJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDMzNlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDcsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5Mb3dlckxldHRlcixcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclOC4nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMzg0XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogOCxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkxvd2VyUm9tYW4sXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTkuJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5SaWdodCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiA0MzJcbiAgICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdGVtcGxhdGVUeXBlOiBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUuTnVtYmVyTGlzdDUsXG4gICAgICAgIGxldmVsczogW1xuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAwLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuVXBwZXJSb21hbixcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclMS4nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LlJpZ2h0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDQ4XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLlVwcGVyTGV0dGVyLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyUyLicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiA5NlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDIsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5EZWNpbWFsLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyUzLicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAxNDRcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAzLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuTG93ZXJMZXR0ZXIsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTQpJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDE5MlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDQsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5EZWNpbWFsLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyglNSknLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMjQwXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNSxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkxvd2VyTGV0dGVyLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyglNiknLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMjg4XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNixcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkxvd2VyUm9tYW4sXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnKCU3KScsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuUmlnaHQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMzM2XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNyxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkxvd2VyTGV0dGVyLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyglOCknLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMzg0XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogOCxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkxvd2VyUm9tYW4sXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnKCU5KScsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuUmlnaHQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogNDMyXG4gICAgICAgICAgICB9KVxuICAgICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHRlbXBsYXRlVHlwZTogTnVtYmVyaW5nVGVtcGxhdGVUeXBlLk51bWJlckxpc3Q2LFxuICAgICAgICBsZXZlbHM6IFtcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMCxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkRlY2ltYWxaZXJvLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyUxLicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiA0OFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5Mb3dlckxldHRlcixcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclMi4nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogOTZcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAyLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuTG93ZXJSb21hbixcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclMy4nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LlJpZ2h0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDE0NFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDMsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5EZWNpbWFsLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyU0LicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAxOTJcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA0LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuTG93ZXJMZXR0ZXIsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTUuJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDI0MFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDUsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5Mb3dlclJvbWFuLFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJyU2LicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuUmlnaHQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMjg4XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNixcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkRlY2ltYWwsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTcuJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDMzNlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDcsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5Mb3dlckxldHRlcixcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICclOC4nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMzg0XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogOCxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkxvd2VyUm9tYW4sXG4gICAgICAgICAgICAgICAgbWFya2VyOiAnJTkuJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5SaWdodCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiA0MzJcbiAgICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdGVtcGxhdGVUeXBlOiBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUuQnVsbGV0TGlzdDEsXG4gICAgICAgIGxldmVsczogW1xuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAwLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KXjycsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiA0OFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4peLJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDk2XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMixcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfilqAnLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMTQ0XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMyxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfil48nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMTkyXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNCxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfil4snLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMjQwXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNSxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfilqAnLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMjg4XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNixcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfil48nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMzM2XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNyxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfil4snLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMzg0XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogOCxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfilqAnLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogNDMyXG4gICAgICAgICAgICB9KVxuICAgICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHRlbXBsYXRlVHlwZTogTnVtYmVyaW5nVGVtcGxhdGVUeXBlLkJ1bGxldExpc3QyLFxuICAgICAgICBsZXZlbHM6IFtcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMCxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfilqAnLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogNDhcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KWoScsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiA5NlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDIsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4peLJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDE0NFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDMsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4pagJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDE5MlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDQsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4pahJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDI0MFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDUsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4peLJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDI4OFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDYsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4pagJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDMzNlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDcsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4pahJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDM4NFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDgsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4peLJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDQzMlxuICAgICAgICAgICAgfSlcbiAgICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgICB0ZW1wbGF0ZVR5cGU6IE51bWJlcmluZ1RlbXBsYXRlVHlwZS5CdWxsZXRMaXN0MyxcbiAgICAgICAgbGV2ZWxzOiBbXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDAsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4peGJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDQ4XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfil4cnLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogOTZcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAyLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KXiycsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAxNDRcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAzLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KXhicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAxOTJcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA0LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KXhycsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAyNDBcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA1LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KXiycsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAyODhcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA2LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KXhicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAzMzZcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA3LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KXhycsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAzODRcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA4LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KXiycsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiA0MzJcbiAgICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdGVtcGxhdGVUeXBlOiBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUuQnVsbGV0TGlzdDQsXG4gICAgICAgIGxldmVsczogW1xuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAwLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KeoicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiA0OFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4peGJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDk2XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMixcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfil48nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMTQ0XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMyxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfinqInLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMTkyXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNCxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfil4YnLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMjQwXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNSxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfil48nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMjg4XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNixcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfinqInLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMzM2XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogNyxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfil4YnLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogMzg0XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogOCxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfil48nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogNDMyXG4gICAgICAgICAgICB9KVxuICAgICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHRlbXBsYXRlVHlwZTogTnVtYmVyaW5nVGVtcGxhdGVUeXBlLkJ1bGxldExpc3Q1LFxuICAgICAgICBsZXZlbHM6IFtcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMCxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfimIUnLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogNDhcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KXiycsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiA5NlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDIsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4pahJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDE0NFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDMsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4piFJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDE5MlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDQsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4peLJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDI0MFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDUsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4pahJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDI4OFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDYsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4piFJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDMzNlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDcsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4peLJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDM4NFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDgsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4pahJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDQzMlxuICAgICAgICAgICAgfSlcbiAgICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgICB0ZW1wbGF0ZVR5cGU6IE51bWJlcmluZ1RlbXBsYXRlVHlwZS5CdWxsZXRMaXN0NixcbiAgICAgICAgbGV2ZWxzOiBbXG4gICAgICAgICAgICBuZXcgTnVtYmVyaW5nTGV2ZWxNb2RlbCh7XG4gICAgICAgICAgICAgICAgbGV2ZWw6IDAsXG4gICAgICAgICAgICAgICAgbWFya2VyVHlwZTogTnVtYmVyaW5nTWFya2VyVHlwZS5CdWxsZXQsXG4gICAgICAgICAgICAgICAgbWFya2VyOiAn4p6iJyxcbiAgICAgICAgICAgICAgICBtYXJrZXJTdHlsZTogbmV3IFRleHRTdHlsZU1vZGVsKCksXG4gICAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJBbGlnbm1lbnQ6IEFsaWdubWVudC5MZWZ0LFxuICAgICAgICAgICAgICAgIGluZGVudEhhbmdpbmc6IDI0LFxuICAgICAgICAgICAgICAgIGluZGVudExlZnQ6IDQ4XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBOdW1iZXJpbmdMZXZlbE1vZGVsKHtcbiAgICAgICAgICAgICAgICBsZXZlbDogMSxcbiAgICAgICAgICAgICAgICBtYXJrZXJUeXBlOiBOdW1iZXJpbmdNYXJrZXJUeXBlLkJ1bGxldCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6ICfil48nLFxuICAgICAgICAgICAgICAgIG1hcmtlclN0eWxlOiBuZXcgVGV4dFN0eWxlTW9kZWwoKSxcbiAgICAgICAgICAgICAgICBzdGFydFZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIG1hcmtlckFsaWdubWVudDogQWxpZ25tZW50LkxlZnQsXG4gICAgICAgICAgICAgICAgaW5kZW50SGFuZ2luZzogMjQsXG4gICAgICAgICAgICAgICAgaW5kZW50TGVmdDogOTZcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAyLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KXiycsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAxNDRcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiAzLFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KeoicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAxOTJcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA0LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KXjycsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAyNDBcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA1LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KXiycsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAyODhcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA2LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KeoicsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAzMzZcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA3LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KXjycsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiAzODRcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IE51bWJlcmluZ0xldmVsTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxldmVsOiA4LFxuICAgICAgICAgICAgICAgIG1hcmtlclR5cGU6IE51bWJlcmluZ01hcmtlclR5cGUuQnVsbGV0LFxuICAgICAgICAgICAgICAgIG1hcmtlcjogJ+KXiycsXG4gICAgICAgICAgICAgICAgbWFya2VyU3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbCgpLFxuICAgICAgICAgICAgICAgIHN0YXJ0VmFsdWU6IDEsXG4gICAgICAgICAgICAgICAgbWFya2VyQWxpZ25tZW50OiBBbGlnbm1lbnQuTGVmdCxcbiAgICAgICAgICAgICAgICBpbmRlbnRIYW5naW5nOiAyNCxcbiAgICAgICAgICAgICAgICBpbmRlbnRMZWZ0OiA0MzJcbiAgICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICB9XG5dO1xuIl19