theme.css 76 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386
  1. html { height: 100%; }
  2. #body-wrapper .container { padding: 2rem 0 2rem; }
  3. .header-fixed #body-wrapper { padding-top: 4rem; }
  4. .header-fixed .hero + #start > #body-wrapper { padding-top: 0; }
  5. section.section { padding-left: 1rem; padding-right: 1rem; position: relative; }
  6. .overlay-light, .overlay-dark, .overlay-light-gradient, .overlay-dark-gradient { z-index: 0; }
  7. .hero { display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; -ms-flex-pack: center; justify-content: center; padding-top: 6rem; padding-bottom: 7rem; background-size: cover; background-position: center; }
  8. .hero h1 { color: #242931; font-size: 4rem; }
  9. .hero h2 { color: rgba(36, 41, 49, 0.8); font-size: 2.5rem; }
  10. .hero.hero-fullscreen { min-height: 100vh; }
  11. .hero.hero-large { min-height: 500px; }
  12. .hero.hero-medium { min-height: 400px; }
  13. .hero.hero-small { min-height: 110px; }
  14. .hero.hero-tiny { min-height: 8rem; }
  15. .header-fixed .hero { background-position: 50% 0; }
  16. @media (max-width: 840px) { .hero h1 { font-size: 3rem; }
  17. .hero h2 { font-size: 1.75rem; } }
  18. @media (max-width: 600px) { .hero h1 { font-size: 2rem; }
  19. .hero h2 { font-size: 1.25rem; } }
  20. .hero.text-light h1 { color: #fff; }
  21. .hero.text-light h2 { color: rgba(255, 255, 255, 0.8); }
  22. .hero p { font-size: .9rem; font-weight: 300; }
  23. .hero #to-start { display: inline-block; position: absolute; bottom: 10px; font-size: 2rem; cursor: pointer; }
  24. .image-overlay { position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: -1; }
  25. .overlay-light .image-overlay { background: rgba(255, 255, 255, 0.4); }
  26. .overlay-light-gradient .image-overlay { background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.2)); }
  27. .overlay-dark .image-overlay { background: rgba(0, 0, 0, 0.4); }
  28. .overlay-dark-gradient .image-overlay { background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.2)); }
  29. html { font-size: 16px; }
  30. @media screen and (min-width: 480px) { html { font-size: calc(16px + 4 * ((100vw - 480px) / 800)); } }
  31. @media screen and (min-width: 1280px) { html { font-size: 20px; } }
  32. h1, h2, h3, h4, h5, h6 { margin-top: 2rem; font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif; color: #3a414e; }
  33. h1, .h1 { font-size: 3rem; }
  34. h2, .h2 { font-size: 1.8rem; }
  35. h6, .h6 { font-weight: 400; }
  36. .title-center h1, .title-center h2 { text-align: center; }
  37. .title-h1h2 h1 { font-weight: 100; margin-bottom: 0; line-height: 1.1; }
  38. .title-h1h2 h1 strong, .title-h1h2 h1 bold { font-weight: 400; }
  39. .title-h1h2 h1 + h2 { line-height: 1.1; margin-top: 0; }
  40. .title-h1h2 h1 + h2, .title-center h1 + h2 { margin-bottom: 50px; font-weight: 700; }
  41. a:focus { outline: none !important; box-shadow: none !important; }
  42. img { max-width: 100%; }
  43. pre code, pre.xdebug-var-dump { background: #fafafa; display: block; padding: 1rem !important; line-height: 1.5; color: inherit; border-radius: 2px; overflow-x: auto; }
  44. pre code:not(.hljs) { background: #f8f8f8; }
  45. i.fa.fa-heart.pulse, i.fa.fa-heart-o.pulse { color: #920; }
  46. b, strong { font-weight: 700; }
  47. .heavy { font-weight: 700; }
  48. .light { font-weight: 200; }
  49. .text-light { color: rgba(255, 255, 255, 0.8); }
  50. .text-light h1, .text-light h2, .text-light h3, .text-light h4, .text-light h5, .text-light h6 { color: rgba(255, 255, 255, 0.9); }
  51. #error { text-align: center; position: relative; margin-top: 5rem; }
  52. #error .icon { font-size: 50px; }
  53. #messages { margin-bottom: 1rem; }
  54. #messages .icon { font-size: 1rem; }
  55. ul, ol { margin-left: 1.6rem; }
  56. ul ul, ul ol, ol ul, ol ol { margin-left: 1.6rem; }
  57. ul { list-style: disc outside; }
  58. ol { list-style: decimal outside; }
  59. .notices { margin: 1.5rem 0; }
  60. .notices p { margin: 1rem 0; }
  61. form .button-wrapper { margin-top: 0.75rem; margin-bottom: 1rem; }
  62. form span.required { color: #e85600; font-weight: 700; font-size: 1.2rem; }
  63. form .form-input[type=range] { -webkit-appearance: slider-horizontal; -moz-appearance: slider-horizontal; appearance: slider-horizontal; }
  64. form .form-input[type=range]:focus { box-shadow: none; border: none; }
  65. #grav-login > form { margin: 2rem auto 0; max-width: 350px; }
  66. #grav-login .form-label { display: none; }
  67. #grav-login .form-data { margin: 1rem 0; }
  68. #grav-login .form-input { text-align: center; }
  69. #grav-login .button-wrapper { text-align: right; }
  70. #grav-login .button-wrapper .form-data.rememberme { margin: 0; float: left; }
  71. #grav-login .button-wrapper button[type="submit"] { background: #3085EE; border-color: #227ded; color: #fff; }
  72. #grav-login .button-wrapper button[type="submit"]:focus, #grav-login .button-wrapper button[type="submit"]:hover { background: #1877ec; border-color: #1370e3; color: #fff; }
  73. #grav-login .button-wrapper button[type="submit"]:active, #grav-login .button-wrapper button[type="submit"].active { background: #1372e7; border-color: #126bd9; color: #fff; }
  74. .mobile-container { position: absolute; top: 40%; left: 0; margin: 0 auto; z-index: 2; }
  75. .mobile-logo svg, .mobile-logo img { height: 42px; margin-top: .7rem; margin-left: 1.4rem; }
  76. .mobile-logo svg path, .mobile-logo img path { fill: #fff; }
  77. .mobile-menu { display: none; top: 0; right: 0; z-index: 3; }
  78. .header-fixed .mobile-menu { position: fixed; }
  79. @media (max-width: 840px) { .mobile-menu { display: block; } }
  80. .mobile-menu .button_container { position: absolute; top: 1.3rem; right: 1rem; height: 24px; width: 28px; cursor: pointer; z-index: 100; transition: opacity .25s ease, top 0.5s ease; }
  81. .mobile-menu .button_container:hover { opacity: .7; }
  82. .mobile-menu .button_container.active { position: fixed; }
  83. .mobile-menu .button_container.active .top { transform: translateY(8px) translateX(0) rotate(45deg); background: #FFF; }
  84. .mobile-menu .button_container.active .middle { opacity: 0; background: #FFF; }
  85. .mobile-menu .button_container.active .bottom { transform: translateY(-8px) translateX(0) rotate(-45deg); background: #FFF; }
  86. .mobile-menu .button_container span { background: #3085EE; border: none; height: 4px; width: 100%; position: absolute; top: 0; left: 0; transition: all .35s ease; cursor: pointer; }
  87. .mobile-menu .button_container span:nth-of-type(2) { top: 8px; }
  88. .mobile-menu .button_container span:nth-of-type(3) { top: 16px; }
  89. .overlay { position: fixed; background: #000; top: 0; left: 0; width: 100%; height: 0%; opacity: 0; visibility: hidden; transition: opacity .35s, visibility .35s, height .35s; }
  90. .overlay.open { opacity: .95; visibility: visible; height: 100%; }
  91. .overlay nav { position: relative; margin: 0 auto; text-align: center; }
  92. .overlay-menu { height: calc(100% - 90px); overflow-y: scroll; }
  93. .overlay-menu > .tree { text-align: left; }
  94. .treemenu.treemenu-root { margin: 1rem; }
  95. .treemenu li { list-style: none; margin: 0 0 1px; padding: 5px 0; line-height: 1.2rem; background: rgba(102, 113, 137, 0.1); }
  96. .treemenu li a { display: block; margin-left: 1.2rem; font-size: 1rem; }
  97. .treemenu li a:hover, .treemenu li a:focus, .treemenu li a.active { color: #3e8def !important; text-decoration: none; }
  98. .treemenu ul { margin: 0 0 0 1rem; }
  99. .treemenu .toggler { cursor: pointer; vertical-align: top; font-size: 1.1rem; line-height: 1rem; padding-left: 5px; float: left; }
  100. .treemenu .toggler:before { display: inline-block; margin-right: 2pt; }
  101. .treemenu li.tree-empty > .toggler { opacity: 0.3; cursor: default; }
  102. .treemenu li.tree-empty > .toggler:before { content: "\2022"; }
  103. .treemenu li.tree-closed > .toggler:before { content: "+"; }
  104. .treemenu li.tree-opened > .toggler:before { content: "\2212"; }
  105. .mobile-nav-open { overflow-y: hidden; }
  106. .default-animation, #header, #header .navbar-section, #header .logo svg, #header .logo img, .modular-features.small .feature-icon i, .modular-features .feature-icon { transition: all 0.5s ease; }
  107. .pulse { animation-name: pulse_animation; animation-duration: 2000ms; transform-origin: 70% 70%; animation-iteration-count: infinite; animation-timing-function: linear; }
  108. @keyframes pulse_animation { 0% { transform: scale(1); }
  109. 30% { transform: scale(1); }
  110. 40% { transform: scale(1.08); }
  111. 50% { transform: scale(1); }
  112. 60% { transform: scale(1); }
  113. 70% { transform: scale(1.05); }
  114. 80% { transform: scale(1); }
  115. 100% { transform: scale(1); } }
  116. #header { width: 100%; height: 4rem; border-bottom: 1px solid rgba(172, 179, 194, 0.2); font-size: 0.7rem; font-weight: 700; background: #fff; color: #454d5d; }
  117. #header a { color: #454d5d; }
  118. #header .logo svg path { fill: #222; }
  119. .header-dark #header:not(.scrolled) { background: #222; color: #fff; }
  120. .header-dark #header:not(.scrolled) a { color: rgba(255, 255, 255, 0.7) !important; }
  121. .header-dark #header:not(.scrolled) a.active { color: #fff !important; }
  122. .header-dark #header:not(.scrolled) .dropmenu ul ul a { color: #454d5d !important; }
  123. .header-dark #header:not(.scrolled) .logo svg path { fill: #fff; }
  124. .header-dark.header-transparent #header:not(.scrolled) { background: rgba(0, 0, 0, 0.05); }
  125. .header-transparent #header:not(.scrolled) { background: rgba(255, 255, 255, 0.05); }
  126. #header .navbar-section { height: 4rem; }
  127. @media (max-width: 840px) { #header .navbar-section { margin-right: 2rem; } }
  128. #header .logo svg, #header .logo img { height: 42px; display: inherit; }
  129. .header-fixed #header { position: fixed; top: 0; z-index: 2; }
  130. body.header-fixed.header-animated #header.scrolled { height: 2.3rem; }
  131. body.header-fixed.header-animated #header.scrolled .navbar-section { height: 2.3rem; }
  132. body.header-fixed.header-animated #header.scrolled .logo svg, body.header-fixed.header-animated #header.scrolled .logo img { height: 28px; }
  133. body.header-fixed.header-animated #header.scrolled ~ .mobile-menu .button_container { top: 0.5rem; }
  134. .login-status-wrapper { white-space: nowrap; }
  135. body.sticky-footer { height: 100%; min-height: 100vh; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; }
  136. body.sticky-footer #page-wrapper { -ms-flex: 1 0 auto; flex: 1 0 auto; }
  137. #footer { color: #acb3c2; padding: 1rem 1rem 0; text-align: center; }
  138. @media (max-width: 840px) { .dropmenu { display: none; } }
  139. .dropmenu ul { white-space: nowrap; margin: 0; display: -ms-flexbox; display: flex; }
  140. .dropmenu ul li { position: relative; margin: 0; }
  141. .dropmenu ul li a { text-decoration: none; padding: 7px 30px 7px 20px; display: block; }
  142. .dropmenu ul li a:hover, .dropmenu ul li a:focus, .dropmenu ul li a.active { color: #3085EE !important; }
  143. .dropmenu ul li a:before { content: '\f107'; font-family: 'FontAwesome'; display: inline-block; vertical-align: middle; float: right; margin-right: -20px; }
  144. .dropmenu ul li a:only-child { padding-right: 20px; }
  145. .dropmenu ul li a:only-child:before { content: ''; }
  146. .dropmenu ul li:hover > ul { display: block; visibility: visible; }
  147. .dropmenu ul ul li a:before { content: '\f105'; }
  148. .dropmenu ul ul { position: absolute; top: 100%; list-style: none; background: #fff; box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1); visibility: hidden; }
  149. .dropmenu ul ul ul { position: absolute; left: 100%; top: 0; }
  150. .dropmenu > ul > li { display: inline-block; }
  151. .dropmenu.animated ul li { transition: background .7s, color 0.5s; }
  152. .dropmenu.animated ul li:hover > ul { opacity: 1; transform: translateY(0); }
  153. .dropmenu.animated ul ul { transition: transform .3s, opacity .5s; opacity: 0; transform: translateY(-10px); }
  154. /** Extra columns spacing **/
  155. .extra-spacing:not(.col-12), :not(.col12) > .e-content { padding-right: 1rem; }
  156. @media (max-width: 840px) { .extra-spacing:not(.col-12), :not(.col12) > .e-content { padding-right: 0; } }
  157. /** Breadcrumbs styling **/
  158. #breadcrumbs { padding-left: 0; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; margin-top: -1rem; margin-bottom: 1rem; }
  159. #breadcrumbs i { display: none; }
  160. #breadcrumbs span, #breadcrumbs a { padding: 0 0.5rem; }
  161. #breadcrumbs span:first-child, #breadcrumbs a:first-child { padding-left: 0; }
  162. #breadcrumbs span:not(:first-child)::before, #breadcrumbs a:not(:first-child)::before { color: #e7e9ed; content: "/"; padding-right: 1rem; }
  163. /** Blog Listing **/
  164. .blog-listing .bricklayer-column { padding-left: 0px; padding-right: 25px; }
  165. .blog-listing .card { margin-bottom: 25px; border: 0; box-shadow: 0 10px 45px -9px rgba(0, 0, 0, 0.1); }
  166. .blog-listing .card-footer { text-align: right; }
  167. .blog-listing .blog-date { font-size: 13px; }
  168. /** Blog Item **/
  169. .content-title { margin-bottom: 2rem; }
  170. .content-title h2 { margin-bottom: 0.5rem; }
  171. .label { font-size: 12px; text-transform: uppercase; }
  172. /** Pagination **/
  173. ul.pagination { -ms-flex-pack: center; justify-content: center; }
  174. .prev-next { margin-top: 4rem; }
  175. /** Sidebar specific tweaks **/
  176. #sidebar ul.related-pages { box-shadow: none; padding: 0; }
  177. #sidebar ul.related-pages li { border-bottom: 1px solid #e7e9ed; }
  178. #sidebar ul.related-pages li:last-child { border-bottom: 0; }
  179. #sidebar ul.archives { list-style: none; margin-left: 0; }
  180. #sidebar ul.archives .label { vertical-align: text-top; }
  181. .modular-hero #to-start { bottom: 3.5rem; }
  182. .modular-features { text-align: center; }
  183. .modular-features.offset-box .frame-box { margin: -3rem -1.4rem 3rem; padding: 1rem 1rem; background: #fff; box-shadow: 0 0 75px 0 rgba(69, 77, 93, 0.1); }
  184. .modular-features.small .columns { margin-top: -1rem; }
  185. .modular-features.small .column:hover .feature-icon i { color: #3085EE; }
  186. .modular-features.small .feature-icon { display: block; -ms-flex-pack: left; justify-content: left; }
  187. .modular-features.small .feature-icon i { position: relative; display: inherit; font-size: 70px; margin: 0 auto 1rem; transform: none; left: auto; top: auto; color: #acb3c2; }
  188. .modular-features.small .feature-icon h6 { text-transform: none; }
  189. .modular-features .frame-box { padding: 3rem 0; }
  190. .modular-features .frame-box > p { max-width: 600px; margin-left: auto; margin-right: auto; }
  191. .modular-features .column { padding: 1rem; }
  192. .modular-features .column:hover .feature-icon { color: #acb3c2; }
  193. .modular-features .column:hover .feature-icon h6 { color: #3085EE; }
  194. .modular-features .column:hover .feature-content { color: #667189; }
  195. .modular-features .feature-icon { font-size: 130px; height: 100px; color: #e7e9ed; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; -ms-flex-pack: center; justify-content: center; position: relative; margin: 1rem 0; }
  196. .modular-features .feature-icon i { position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); }
  197. .modular-features .feature-icon h6 { background: #fff; line-height: 1; z-index: 1; text-transform: uppercase; font-weight: 600; margin: 0; display: block; color: #667189; }
  198. .modular-features .feature-content { color: #acb3c2; }
  199. .modular-text { padding-top: 4rem; padding-bottom: 4rem; }
  200. .modular-text .columns.left { -ms-flex-direction: row-reverse; flex-direction: row-reverse; }
  201. /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuY3NzIiwic291cmNlcyI6WyJ0aGVtZS5zY3NzIiwic3BlY3RyZS9fdmFyaWFibGVzLnNjc3MiLCJzcGVjdHJlL19taXhpbnMuc2NzcyIsInNwZWN0cmUvbWl4aW5zL19hdmF0YXIuc2NzcyIsInNwZWN0cmUvbWl4aW5zL19idXR0b24uc2NzcyIsInNwZWN0cmUvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwic3BlY3RyZS9taXhpbnMvX2NvbG9yLnNjc3MiLCJzcGVjdHJlL21peGlucy9fbGFiZWwuc2NzcyIsInNwZWN0cmUvbWl4aW5zL19wb3NpdGlvbi5zY3NzIiwic3BlY3RyZS9taXhpbnMvX3NoYWRvdy5zY3NzIiwic3BlY3RyZS9taXhpbnMvX3RleHQuc2NzcyIsInNwZWN0cmUvbWl4aW5zL190b2FzdC5zY3NzIiwic3BlY3RyZS9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsInRoZW1lL192YXJpYWJsZXMuc2NzcyIsInRoZW1lL19taXhpbnMuc2NzcyIsInRoZW1lL19mcmFtZXdvcmsuc2NzcyIsInRoZW1lL190eXBvZ3JhcGh5LnNjc3MiLCJ0aGVtZS9fZm9ybXMuc2NzcyIsInRoZW1lL19tb2JpbGUuc2NzcyIsInRoZW1lL19hbmltYXRpb24uc2NzcyIsInRoZW1lL19oZWFkZXIuc2NzcyIsInRoZW1lL19mb290ZXIuc2NzcyIsInRoZW1lL19tZW51LnNjc3MiLCJ0aGVtZS9fYmxvZy5zY3NzIiwidGhlbWUvX29uZXBhZ2Uuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3JlIHZhcmlhYmxlcyBhbmQgbWl4aW5zXG5AaW1wb3J0ICdzcGVjdHJlL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdzcGVjdHJlL21peGlucyc7XG5cbkBpbXBvcnQgJ3RoZW1lL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd0aGVtZS9taXhpbnMnO1xuQGltcG9ydCAndGhlbWUvZnJhbWV3b3JrJztcbkBpbXBvcnQgJ3RoZW1lL3R5cG9ncmFwaHknO1xuQGltcG9ydCAndGhlbWUvZm9ybXMnO1xuQGltcG9ydCAndGhlbWUvbW9iaWxlJztcbkBpbXBvcnQgJ3RoZW1lL2FuaW1hdGlvbic7XG5cbkBpbXBvcnQgJ3RoZW1lL2hlYWRlcic7XG5AaW1wb3J0ICd0aGVtZS9mb290ZXInO1xuQGltcG9ydCAndGhlbWUvbWVudSc7XG5cbi8vIEV4dHJhIFNrZWxldG9uIFN0eWxpbmdcbkBpbXBvcnQgJ3RoZW1lL2Jsb2cnO1xuQGltcG9ydCAndGhlbWUvb25lcGFnZSc7XG5cbiIsIi8vIENvcmUgdmFyaWFibGVzXG4kdmVyc2lvbjogXCIwLjUuM1wiO1xuXG4vLyBDb3JlIGZlYXR1cmVzXG4kcnRsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gQ29yZSBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiAjMzA4NUVFICFkZWZhdWx0O1xuJHByaW1hcnktY29sb3ItZGFyazogZGFya2VuKCRwcmltYXJ5LWNvbG9yLCAzJSkgIWRlZmF1bHQ7XG4kcHJpbWFyeS1jb2xvci1saWdodDogbGlnaHRlbigkcHJpbWFyeS1jb2xvciwgMyUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1jb2xvcjogbGlnaHRlbigkcHJpbWFyeS1jb2xvciwgMzcuNSUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1jb2xvci1kYXJrOiBkYXJrZW4oJHNlY29uZGFyeS1jb2xvciwgMyUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1jb2xvci1saWdodDogbGlnaHRlbigkc2Vjb25kYXJ5LWNvbG9yLCAzJSkgIWRlZmF1bHQ7XG5cbi8vIEdyYXkgY29sb3JzXG4kZGFyay1jb2xvcjogIzQ1NGQ1ZCAhZGVmYXVsdDtcbiRsaWdodC1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRncmF5LWNvbG9yOiBsaWdodGVuKCRkYXJrLWNvbG9yLCA0MCUpICFkZWZhdWx0O1xuJGdyYXktY29sb3ItZGFyazogZGFya2VuKCRncmF5LWNvbG9yLCAyNSUpICFkZWZhdWx0O1xuJGdyYXktY29sb3ItbGlnaHQ6IGxpZ2h0ZW4oJGdyYXktY29sb3IsIDIwJSkgIWRlZmF1bHQ7XG5cbiRib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGRhcmstY29sb3IsIDYwJSkgIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yLWRhcms6IGRhcmtlbigkYm9yZGVyLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuJGJnLWNvbG9yOiBsaWdodGVuKCRkYXJrLWNvbG9yLCA2NiUpICFkZWZhdWx0O1xuJGJnLWNvbG9yLWRhcms6IGRhcmtlbigkYmctY29sb3IsIDMlKSAhZGVmYXVsdDtcbiRiZy1jb2xvci1saWdodDogJGxpZ2h0LWNvbG9yICFkZWZhdWx0O1xuXG4vLyBDb250cm9sIGNvbG9yc1xuJHN1Y2Nlc3MtY29sb3I6ICMzMmI2NDMgIWRlZmF1bHQ7XG4kd2FybmluZy1jb2xvcjogI2ZmYjcwMCAhZGVmYXVsdDtcbiRlcnJvci1jb2xvcjogI2U4NTYwMCAhZGVmYXVsdDtcblxuLy8gT3RoZXIgY29sb3JzXG4kY29kZS1jb2xvcjogI2Q3M2U0OCAhZGVmYXVsdDtcbiRoaWdobGlnaHQtY29sb3I6ICNmZmU5YjMgIWRlZmF1bHQ7XG4kYm9keS1iZzogJGJnLWNvbG9yLWxpZ2h0ICFkZWZhdWx0O1xuJGJvZHktZm9udC1jb2xvcjogbGlnaHRlbigkZGFyay1jb2xvciwgNSUpICFkZWZhdWx0O1xuJGxpbmstY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGxpbmstY29sb3ItZGFyazogZGFya2VuKCRsaW5rLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuJGxpbmstY29sb3ItbGlnaHQ6IGxpZ2h0ZW4oJGxpbmstY29sb3IsIDEwJSkgIWRlZmF1bHQ7XG5cbi8vIEZvbnRzXG4vLyBDcmVkaXQ6IGh0dHBzOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTUvMTEvdXNpbmctc3lzdGVtLXVpLWZvbnRzLXByYWN0aWNhbC1ndWlkZS9cbiRiYXNlLWZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBzeXN0ZW0tdWksIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8gIWRlZmF1bHQ7XG4kbW9uby1mb250LWZhbWlseTogXCJTRiBNb25vXCIsIFwiU2Vnb2UgVUkgTW9ub1wiLCBcIlJvYm90byBNb25vXCIsIE1lbmxvLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZmFsbGJhY2stZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRjamstemgtaGFucy1mb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHksIFwiUGluZ0ZhbmcgU0NcIiwgXCJIaXJhZ2lubyBTYW5zIEdCXCIsIFwiTWljcm9zb2Z0IFlhSGVpXCIsICRmYWxsYmFjay1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjamstemgtaGFudC1mb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHksIFwiUGluZ0ZhbmcgVENcIiwgXCJIaXJhZ2lubyBTYW5zIENOU1wiLCBcIk1pY3Jvc29mdCBKaGVuZ0hlaVwiLCAkZmFsbGJhY2stZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY2prLWpwLWZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseSwgXCJIaXJhZ2lubyBTYW5zXCIsIFwiSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvXCIsIFwiWXUgR290aGljXCIsIFl1R290aGljLCBNZWlyeW8sICRmYWxsYmFjay1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjamsta28tZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5LCBcIk1hbGd1biBHb3RoaWNcIiwgJGZhbGxiYWNrLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJvZHktZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5LCAkZmFsbGJhY2stZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vIFVuaXQgc2l6ZXNcbiR1bml0LW86IC4wNXJlbSAhZGVmYXVsdDtcbiR1bml0LWg6IC4xcmVtICFkZWZhdWx0O1xuJHVuaXQtMTogLjJyZW0gIWRlZmF1bHQ7XG4kdW5pdC0yOiAuNHJlbSAhZGVmYXVsdDtcbiR1bml0LTM6IC42cmVtICFkZWZhdWx0O1xuJHVuaXQtNDogLjhyZW0gIWRlZmF1bHQ7XG4kdW5pdC01OiAxcmVtICFkZWZhdWx0O1xuJHVuaXQtNjogMS4ycmVtICFkZWZhdWx0O1xuJHVuaXQtNzogMS40cmVtICFkZWZhdWx0O1xuJHVuaXQtODogMS42cmVtICFkZWZhdWx0O1xuJHVuaXQtOTogMS44cmVtICFkZWZhdWx0O1xuJHVuaXQtMTA6IDJyZW0gIWRlZmF1bHQ7XG4kdW5pdC0xMjogMi40cmVtICFkZWZhdWx0O1xuJHVuaXQtMTY6IDMuMnJlbSAhZGVmYXVsdDtcblxuLy8gRm9udCBzaXplc1xuJGh0bWwtZm9udC1zaXplOiAyMHB4ICFkZWZhdWx0O1xuJGh0bWwtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRmb250LXNpemU6IC44cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbTogLjdyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxnOiAuOXJlbSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodDogMS4ycmVtICFkZWZhdWx0O1xuXG4vLyBTaXplc1xuJGxheW91dC1zcGFjaW5nOiAkdW5pdC0yICFkZWZhdWx0O1xuJGxheW91dC1zcGFjaW5nLXNtOiAkdW5pdC0xICFkZWZhdWx0O1xuJGxheW91dC1zcGFjaW5nLWxnOiAkdW5pdC00ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXM6ICR1bml0LWggIWRlZmF1bHQ7XG4kYm9yZGVyLXdpZHRoOiAkdW5pdC1vICFkZWZhdWx0O1xuJGJvcmRlci13aWR0aC1sZzogJHVuaXQtaCAhZGVmYXVsdDtcbiRjb250cm9sLXNpemU6ICR1bml0LTkgIWRlZmF1bHQ7XG4kY29udHJvbC1zaXplLXNtOiAkdW5pdC03ICFkZWZhdWx0O1xuJGNvbnRyb2wtc2l6ZS1sZzogJHVuaXQtMTAgIWRlZmF1bHQ7XG4kY29udHJvbC1wYWRkaW5nLXg6ICR1bml0LTIgIWRlZmF1bHQ7XG4kY29udHJvbC1wYWRkaW5nLXgtc206ICR1bml0LTIgKiAuNzUgIWRlZmF1bHQ7XG4kY29udHJvbC1wYWRkaW5nLXgtbGc6ICR1bml0LTIgKiAxLjUgIWRlZmF1bHQ7XG4kY29udHJvbC1wYWRkaW5nLXk6ICgkY29udHJvbC1zaXplIC0gJGxpbmUtaGVpZ2h0KSAvIDIgLSAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNvbnRyb2wtcGFkZGluZy15LXNtOiAoJGNvbnRyb2wtc2l6ZS1zbSAtICRsaW5lLWhlaWdodCkgLyAyIC0gJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjb250cm9sLXBhZGRpbmcteS1sZzogKCRjb250cm9sLXNpemUtbGcgLSAkbGluZS1oZWlnaHQpIC8gMiAtICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY29udHJvbC1pY29uLXNpemU6IC44cmVtICFkZWZhdWx0O1xuXG4kY29udHJvbC13aWR0aC14czogMTgwcHggIWRlZmF1bHQ7XG4kY29udHJvbC13aWR0aC1zbTogMzIwcHggIWRlZmF1bHQ7XG4kY29udHJvbC13aWR0aC1tZDogNjQwcHggIWRlZmF1bHQ7XG4kY29udHJvbC13aWR0aC1sZzogOTYwcHggIWRlZmF1bHQ7XG4kY29udHJvbC13aWR0aC14bDogMTI4MHB4ICFkZWZhdWx0O1xuXG4vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzXG4kc2l6ZS14czogNDgwcHggIWRlZmF1bHQ7XG4kc2l6ZS1zbTogNjAwcHggIWRlZmF1bHQ7XG4kc2l6ZS1tZDogODQwcHggIWRlZmF1bHQ7XG4kc2l6ZS1sZzogOTYwcHggIWRlZmF1bHQ7XG4kc2l6ZS14bDogMTI4MHB4ICFkZWZhdWx0O1xuJHNpemUtMng6IDE0NDBweCAhZGVmYXVsdDtcblxuJHJlc3BvbnNpdmUtYnJlYWtwb2ludDogJHNpemUteHMgIWRlZmF1bHQ7XG5cbi8vIFotaW5kZXhcbiR6aW5kZXgtMDogMSAhZGVmYXVsdDtcbiR6aW5kZXgtMTogMTAwICFkZWZhdWx0O1xuJHppbmRleC0yOiAyMDAgIWRlZmF1bHQ7XG4kemluZGV4LTM6IDMwMCAhZGVmYXVsdDtcbiR6aW5kZXgtNDogNDAwICFkZWZhdWx0O1xuIiwiLy8gTWl4aW5zXG5AaW1wb3J0IFwibWl4aW5zL2F2YXRhclwiO1xuQGltcG9ydCBcIm1peGlucy9idXR0b25cIjtcbkBpbXBvcnQgXCJtaXhpbnMvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY29sb3JcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGFiZWxcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcG9zaXRpb25cIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2hhZG93XCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdG9hc3RcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdHJhbnNpdGlvblwiO1xuIiwiLy8gQXZhdGFyIG1peGluXG5AbWl4aW4gYXZhdGFyLWJhc2UoJHNpemU6ICR1bml0LTgpIHtcbiAgZm9udC1zaXplOiAkc2l6ZSAvIDI7XG4gIGhlaWdodDogJHNpemU7XG4gIHdpZHRoOiAkc2l6ZTtcbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50IG1peGluXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gIGJvcmRlci1jb2xvcjogZGFya2VuKCRjb2xvciwgMyUpO1xuICBjb2xvcjogJGxpZ2h0LWNvbG9yO1xuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBjb250cm9sLXNoYWRvdygkY29sb3IpO1xuICB9XG4gICY6Zm9jdXMsXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IGRhcmtlbigkY29sb3IsIDIlKTtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkY29sb3IsIDUlKTtcbiAgICBjb2xvcjogJGxpZ2h0LWNvbG9yO1xuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogZGFya2VuKCRjb2xvciwgNyUpO1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgICBjb2xvcjogJGxpZ2h0LWNvbG9yO1xuICB9XG4gICYubG9hZGluZyB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGxpZ2h0LWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICBiYWNrZ3JvdW5kOiAkbGlnaHQtY29sb3I7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBjb250cm9sLXNoYWRvdygkY29sb3IpO1xuICB9XG4gICY6Zm9jdXMsXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJGNvbG9yLCA1MCUpO1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRjb2xvciwgMiUpO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCA1JSk7XG4gICAgY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgfVxuICAmLmxvYWRpbmcge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDbGVhcmZpeCBtaXhpblxuQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxufVxuIiwiLy8gQmFja2dyb3VuZCBjb2xvciB1dGlsaXR5IG1peGluXG5AbWl4aW4gYmctY29sb3ItdmFyaWFudCgkbmFtZTogXCIuYmctcHJpbWFyeVwiLCAkY29sb3I6ICRwcmltYXJ5LWNvbG9yKSB7XG4gICN7JG5hbWV9IHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG5cbiAgICBAaWYgKGxpZ2h0bmVzcygkY29sb3IpIDwgNjApIHtcbiAgICAgIGNvbG9yOiAkbGlnaHQtY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vIFRleHQgY29sb3IgdXRpbGl0eSBtaXhpblxuQG1peGluIHRleHQtY29sb3ItdmFyaWFudCgkbmFtZTogXCIudGV4dC1wcmltYXJ5XCIsICRjb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgI3skbmFtZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICBhI3skbmFtZX0ge1xuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgNSUpO1xuICAgIH1cbiAgICAmOnZpc2l0ZWQge1xuICAgICAgY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLCA1JSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBMYWJlbCBiYXNlIHN0eWxlXG5AbWl4aW4gbGFiZWwtYmFzZSgpIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHBhZGRpbmc6IC4xcmVtIC4ycmVtO1xufVxuXG5AbWl4aW4gbGFiZWwtdmFyaWFudCgkY29sb3I6ICRsaWdodC1jb2xvciwgJGJnLWNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICBiYWNrZ3JvdW5kOiAkYmctY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG59XG4iLCIvLyBNYXJnaW4gdXRpbGl0eSBtaXhpblxuQG1peGluIG1hcmdpbi12YXJpYW50KCRpZDogMSwgJHNpemU6ICR1bml0LTEpIHtcbiAgLm0tI3skaWR9IHtcbiAgICBtYXJnaW46ICRzaXplICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItI3skaWR9IHtcbiAgICBtYXJnaW4tYm90dG9tOiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLSN7JGlkfSB7XG4gICAgbWFyZ2luLWxlZnQ6ICRzaXplICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXItI3skaWR9IHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzaXplICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtI3skaWR9IHtcbiAgICBtYXJnaW4tdG9wOiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm14LSN7JGlkfSB7XG4gICAgbWFyZ2luLWxlZnQ6ICRzaXplICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm15LSN7JGlkfSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNpemUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIFBhZGRpbmcgdXRpbGl0eSBtaXhpblxuQG1peGluIHBhZGRpbmctdmFyaWFudCgkaWQ6IDEsICRzaXplOiAkdW5pdC0xKSB7XG4gIC5wLSN7JGlkfSB7XG4gICAgcGFkZGluZzogJHNpemUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi0jeyRpZH0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBsLSN7JGlkfSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnByLSN7JGlkfSB7XG4gICAgcGFkZGluZy1yaWdodDogJHNpemUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC0jeyRpZH0ge1xuICAgIHBhZGRpbmctdG9wOiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB4LSN7JGlkfSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkc2l6ZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzaXplICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gIC5weS0jeyRpZH0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2l6ZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBDb21wb25lbnQgZm9jdXMgc2hhZG93XG5AbWl4aW4gY29udHJvbC1zaGFkb3coJGNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICBib3gtc2hhZG93OiAwIDAgMCAuMXJlbSByZ2JhKCRjb2xvciwgLjIpO1xufVxuXG4vLyBTaGFkb3cgbWl4aW5cbkBtaXhpbiBzaGFkb3ctdmFyaWFudCgkb2Zmc2V0KSB7XG4gIGJveC1zaGFkb3c6IDAgJG9mZnNldCAoJG9mZnNldCArIC4wNXJlbSkgKiAyIHJnYmEoJGRhcmstY29sb3IsIC4zKTtcbn1cbiIsIi8vIFRleHQgRWxsaXBzaXNcbkBtaXhpbiB0ZXh0LWVsbGlwc2lzKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vIFRvYXN0IHZhcmlhbnQgbWl4aW5cbkBtaXhpbiB0b2FzdC12YXJpYW50KCRjb2xvcjogJGRhcmstY29sb3IpIHtcbiAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsIC45KTtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG59XG4iLCIvLyBDb21wb25lbnQgdHJhbnNpdGlvblxuQG1peGluIGNvbnRyb2wtdHJhbnNpdGlvbigpIHtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlO1xufVxuIiwiLy8gTGF5b3V0XG4kaG9yaXotcGFkZGluZzogMXJlbTtcbiR2ZXJ0LXBhZGRpbmc6IDJyZW0gMCAycmVtO1xuXG4vLyBGb250c1xuJG1pbi1yZXNwb25zaXZlLWZvbnQtc2l6ZTogMTZweDtcbiR0aXRsZS1mb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHksICRmYWxsYmFjay1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8gSGVhZGVyXG4kaGVhZGVyLWhlaWdodC1sYXJnZTogNHJlbTtcbiRoZWFkZXItaGVpZ2h0LXNtYWxsOiAyLjNyZW07XG4kaGVhZGVyLWNvbG9yLWRhcms6ICMyMjI7XG4kaGVhZGVyLXRleHQtbGlnaHQ6ICRsaWdodC1jb2xvcjtcbiRoZWFkZXItdGV4dC1kYXJrOiBkYXJrZW4oJGRhcmstY29sb3IsIDE1JSk7XG5cbi8vIERyb3Bkb3duIE1lbnVcbiRkcm9wbWVudS1iZzogJGxpZ2h0LWNvbG9yO1xuJGRyb3BtZW51LWhvdmVyLXRleHQ6ICRwcmltYXJ5LWNvbG9yO1xuJGRyb3BtZW51LWhvcml6LXBhZGRpbmc6IDIwcHg7XG4kZHJvcG1lbnUtdmVydC1wYWRkaW5nOiA3cHg7XG4kZHJvcG1lbnUtY2hpbGQtcGFkZGluZzogMTBweDtcbiRkcm9wbWVudS1zaGFkb3c6IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cbi8vIE1vYmlsZSBNZW51XG4kbW9iaWxlLWNvbG9yLW1haW46ICRwcmltYXJ5LWNvbG9yO1xuJG1vYmlsZS1jb2xvci1hY3RpdmU6ICNGRkY7XG4kbW9iaWxlLWNvbG9yLWxpbms6ICNGRkY7XG4kbW9iaWxlLWJ1dHRvbi1oZWlnaHQ6IDI0cHg7XG4kbW9iaWxlLWJ1dHRvbi13aWR0aDogMjhweDsiLCJAbWl4aW4gYnJlYWtwb2ludCgkcG9pbnQpIHtcbiAgQGlmICRwb2ludCA9PSAyeCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6JHNpemUtMngpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkcG9pbnQgPT0geGwge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2l6ZS14bCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gIH0gQGVsc2UgaWYgJHBvaW50ID09IGxnIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNpemUtbGcpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkcG9pbnQgPT0gbWQge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2l6ZS1tZCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRwb2ludCA9PSBzbSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzaXplLXNtKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJHBvaW50ID09IHhzIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNpemUteHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSAgQGVsc2Uge1xuICAgIEB3YXJuIFwiQnJlYWtwb2ludCBtaXhpbiBzdXBwb3J0czogeHMsIHNtLCBtZCwgbGcsIHhsLCAyeFwiO1xuICB9XG59XG5cbkBtaXhpbiB2ZXJ0aWNhbC1hbGlnbigkcG9zaXRpb246IHJlbGF0aXZlKSB7XG4gIHBvc2l0aW9uOiAkcG9zaXRpb247XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbkBtaXhpbiBidXR0b24tcHJpbWFyeSgpIHtcbiAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3ItZGFyaztcbiAgY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgJjpmb2N1cyxcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogZGFya2VuKCRwcmltYXJ5LWNvbG9yLWRhcmssIDIlKTtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkcHJpbWFyeS1jb2xvci1kYXJrLCA1JSk7XG4gICAgY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IGRhcmtlbigkcHJpbWFyeS1jb2xvci1kYXJrLCA0JSk7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJHByaW1hcnktY29sb3ItZGFyaywgNyUpO1xuICAgIGNvbG9yOiAkbGlnaHQtY29sb3I7XG4gIH1cbn1cblxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJHZhbHVlKSB7XG4gIEByZXR1cm4gJHZhbHVlIC8gKCR2YWx1ZSAqIDAgKyAxKTtcbn1cblxuQG1peGluIGZsdWlkLXR5cGUoJG1pbi12dywgJG1heC12dywgJG1pbi1mb250LXNpemUsICRtYXgtZm9udC1zaXplKSB7XG4gICR1MTogdW5pdCgkbWluLXZ3KTtcbiAgJHUyOiB1bml0KCRtYXgtdncpO1xuICAkdTM6IHVuaXQoJG1pbi1mb250LXNpemUpO1xuICAkdTQ6IHVuaXQoJG1heC1mb250LXNpemUpO1xuXG4gIEBpZiAkdTEgPT0gJHUyIGFuZCAkdTEgPT0gJHUzIGFuZCAkdTEgPT0gJHU0IHtcbiAgICAmIHtcbiAgICAgIGZvbnQtc2l6ZTogJG1pbi1mb250LXNpemU7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWluLXZ3KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogY2FsYygjeyRtaW4tZm9udC1zaXplfSArICN7c3RyaXAtdW5pdCgkbWF4LWZvbnQtc2l6ZSAtICRtaW4tZm9udC1zaXplKX0gKiAoKDEwMHZ3IC0gI3skbWluLXZ3fSkgLyAje3N0cmlwLXVuaXQoJG1heC12dyAtICRtaW4tdncpfSkpO1xuICAgICAgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1heC12dykge1xuICAgICAgICBmb250LXNpemU6ICRtYXgtZm9udC1zaXplO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiaHRtbCB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuI2JvZHktd3JhcHBlciB7XG4gIC5jb250YWluZXIge1xuICAgIHBhZGRpbmc6ICR2ZXJ0LXBhZGRpbmc7XG4gIH1cblxuICAvLyBGaXhlZCBIZWFkZXIgc29sdXRpb25cbiAgLmhlYWRlci1maXhlZCAmIHtcbiAgICBwYWRkaW5nLXRvcDogJGhlYWRlci1oZWlnaHQtbGFyZ2U7XG4gIH1cbn1cblxuLmhlYWRlci1maXhlZCB7XG4gIC5oZXJvICsgI3N0YXJ0ID4gI2JvZHktd3JhcHBlciB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbn1cblxuc2VjdGlvbi5zZWN0aW9uIHtcbiAgcGFkZGluZy1sZWZ0OiAkaG9yaXotcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJGhvcml6LXBhZGRpbmc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm92ZXJsYXktbGlnaHQsIC5vdmVybGF5LWRhcmssIC5vdmVybGF5LWxpZ2h0LWdyYWRpZW50LCAub3ZlcmxheS1kYXJrLWdyYWRpZW50IHtcbiAgei1pbmRleDogMDtcbn1cblxuLy8gSGVyb1xuLmhlcm8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBwYWRkaW5nLXRvcDogNnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDdyZW07XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblxuICBoMSB7XG4gICAgY29sb3I6ICRoZWFkZXItdGV4dC1kYXJrO1xuICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgfVxuXG4gIGgyIHtcbiAgICBjb2xvcjogcmdiYSgkaGVhZGVyLXRleHQtZGFyaywgMC44KTtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgfVxuXG4gICYuaGVyby1mdWxsc2NyZWVuIHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgfVxuXG4gICYuaGVyby1sYXJnZSB7XG4gICAgbWluLWhlaWdodDogNTAwcHg7XG4gIH1cblxuICAmLmhlcm8tbWVkaXVtIHtcbiAgICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgfVxuXG4gICYuaGVyby1zbWFsbCB7XG4gICAgbWluLWhlaWdodDogMTEwcHg7XG4gIH1cblxuICAmLmhlcm8tdGlueSB7XG4gICAgbWluLWhlaWdodDogOHJlbTtcbiAgfVxuICBcbiAgLmhlYWRlci1maXhlZCAmIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMDtcbiAgfVxuXG4gIC8vJi5wYXJhbGxheCB7XG4gIC8vICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICAvL31cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgIH1cbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbSkge1xuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICB9XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIH1cbiAgfVxuXG5cbiAgJi50ZXh0LWxpZ2h0IHtcbiAgICBoMSB7XG4gICAgICBjb2xvcjogJGhlYWRlci10ZXh0LWxpZ2h0O1xuICAgIH1cbiAgICBoMiB7XG4gICAgICBjb2xvcjogcmdiYSgkaGVhZGVyLXRleHQtbGlnaHQsIDAuOCk7XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiAuOXJlbTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICB9XG5cbiAgI3RvLXN0YXJ0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTBweDtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi8vIE92ZXJsYXlcbi5pbWFnZS1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IC0xO1xuXG4gIC5vdmVybGF5LWxpZ2h0ICYge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoI2ZmZiwgMC40KTtcbiAgfVxuXG4gIC5vdmVybGF5LWxpZ2h0LWdyYWRpZW50ICYge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoI2ZmZiwwLjUpLCByZ2JhKCNmZmYsMC4yKSk7XG4gIH1cblxuICAub3ZlcmxheS1kYXJrICYge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoIzAwMCwgMC40KTtcbiAgfVxuXG4gIC5vdmVybGF5LWRhcmstZ3JhZGllbnQgJiB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgjMDAwLDAuNSksIHJnYmEoIzAwMCwwLjIpKTtcbiAgfVxufVxuXG5cblxuXG5cblxuXG5cblxuIiwiaHRtbCB7XG4gIEBpbmNsdWRlIGZsdWlkLXR5cGUoJHNpemUteHMsICRzaXplLXhsLCAkbWluLXJlc3BvbnNpdmUtZm9udC1zaXplLCAkaHRtbC1mb250LXNpemUpO1xufVxuXG4vLyBIZWFkZXIgT3ZlcnJpZGVzXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbiAgZm9udC1mYW1pbHk6ICR0aXRsZS1mb250LWZhbWlseTtcbiAgY29sb3I6IGRhcmtlbigkYm9keS1mb250LWNvbG9yLCAxMCUpO1xufVxuXG5oMSwgLmgxIHtcbiAgZm9udC1zaXplOiAzcmVtO1xufVxuXG5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiAxLjhyZW07XG59XG5cbmg2LCAuaDYge1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4udGl0bGUtY2VudGVyIHtcbiAgaDEsIGgyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLnRpdGxlLWgxaDIge1xuICBoMSAge1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuXG4gICAgc3Ryb25nLCBib2xkIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxuICB9XG4gIGgxICsgaDIge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG59XG5cbi8vIFR5cG9ncmFwaHkgSGludHNcbi50aXRsZS1oMWgyLCAudGl0bGUtY2VudGVyIHtcbiAgaDEgKyBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG59XG5cbmE6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5cbi8vIENvZGVibG9ja3NcbnByZSBjb2RlLCBwcmUueGRlYnVnLXZhci1kdW1we1xuICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG5wcmUge1xuICBjb2RlOm5vdCguaGxqcykge1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gIH1cbn1cblxuLy8gSWNvbiBUd2Vha3NcbmkuZmEge1xuXG5cbiAgJi5mYS1oZWFydCwgJi5mYS1oZWFydC1vIHtcbiAgICAmLnB1bHNlIHtcbiAgICAgIGNvbG9yOiAjOTIwXG4gICAgfVxuICB9XG59XG5cbi8vIEZvbnQgV2VpZ2h0c1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5oZWF2eSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5saWdodCB7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG59XG5cbi8vIENvbG9yc1xuLnRleHQtbGlnaHQge1xuICBjb2xvcjogcmdiYSgkbGlnaHQtY29sb3IsIDAuOCk7XG5cbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgY29sb3I6IHJnYmEoJGxpZ2h0LWNvbG9yLCAwLjkpO1xuICB9XG59XG5cbi8vIEVycm9yIGNvbmZpZ3VyYXRpb25cbiNlcnJvciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiA1cmVtO1xuXG4gIC5pY29uIHtcbiAgICBmb250LXNpemU6IDUwcHg7XG4gIH1cbn1cblxuLy8gTWVzc2FnZXNcbiNtZXNzYWdlcyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgLmljb24ge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuXG4vLyBMaXN0c1xudWwsXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAkdW5pdC04O1xuXG4gIHVsLFxuICBvbCB7XG4gICAgbWFyZ2luLWxlZnQ6ICR1bml0LTg7XG4gIH1cbn1cblxudWwge1xuICBsaXN0LXN0eWxlOiBkaXNjIG91dHNpZGU7XG59XG5cbm9sIHtcbiAgbGlzdC1zdHlsZTogZGVjaW1hbCBvdXRzaWRlO1xufVxuXG4vLyBOb3RpY2VzXG4ubm90aWNlcyB7XG4gIG1hcmdpbjogMS41cmVtIDA7XG4gIHAge1xuICAgIG1hcmdpbjogMXJlbSAwO1xuICB9XG59XG5cbiIsImZvcm0ge1xuICAuYnV0dG9uLXdyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IDAuNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxuXG4gIHNwYW4ucmVxdWlyZWQge1xuICAgIGNvbG9yOiAkZXJyb3ItY29sb3I7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgfVxuXG4gIC5mb3JtLWlucHV0W3R5cGU9cmFuZ2VdIHtcbiAgICBhcHBlYXJhbmNlOiBzbGlkZXItaG9yaXpvbnRhbDtcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbiNncmF2LWxvZ2luIHtcblxuICA+IGZvcm0ge1xuICAgIG1hcmdpbjogMnJlbSBhdXRvIDA7XG4gICAgbWF4LXdpZHRoOiAzNTBweDtcbiAgfVxuICAuZm9ybS1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuZm9ybS1kYXRhIHtcbiAgICBtYXJnaW46IDFyZW0gMDtcbiAgfVxuICAuZm9ybS1pbnB1dCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5idXR0b24td3JhcHBlciB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAuZm9ybS1kYXRhLnJlbWVtYmVybWUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICAgIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1wcmltYXJ5O1xuICAgIH1cbiAgfVxufVxuIiwiLm1vYmlsZS1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8vd2lkdGg6IDEwMCU7XG4gIC8vaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDQwJTtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiAgMCBhdXRvO1xuICB6LWluZGV4OiAyO1xufVxuXG4ubW9iaWxlLWxvZ28ge1xuICBzdmcsIGltZyB7XG4gICAgaGVpZ2h0OiA0MnB4O1xuICAgIG1hcmdpbi10b3A6IC43cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjRyZW07XG5cbiAgICBwYXRoIHtcbiAgICAgIGZpbGw6ICRsaWdodC1jb2xvcjtcbiAgICB9XG5cbiAgfVxufVxuXG4vLyBIYW1idXJnZXIgTWVudVxuLm1vYmlsZS1tZW51IHtcblxuICBkaXNwbGF5OiBub25lO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAzO1xuXG4gIC5oZWFkZXItZml4ZWQgJiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLmJ1dHRvbl9jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEuM3JlbTtcbiAgICByaWdodDogJGhvcml6LXBhZGRpbmc7XG4gICAgaGVpZ2h0OiAkbW9iaWxlLWJ1dHRvbi1oZWlnaHQ7XG4gICAgd2lkdGg6ICRtb2JpbGUtYnV0dG9uLXdpZHRoO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMjVzIGVhc2UsIHRvcCAwLjVzIGVhc2U7XG5cbiAgICAkYmFyLW9mZnNldDogJG1vYmlsZS1idXR0b24taGVpZ2h0IC8gMztcblxuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogLjc7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuXG4gICAgICAudG9wIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRiYXItb2Zmc2V0KSB0cmFuc2xhdGVYKDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIGJhY2tncm91bmQ6ICRtb2JpbGUtY29sb3ItYWN0aXZlO1xuICAgICAgfVxuICAgICAgLm1pZGRsZSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRtb2JpbGUtY29sb3ItYWN0aXZlO1xuICAgICAgfVxuXG4gICAgICAuYm90dG9tIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0oJGJhci1vZmZzZXQpKSB0cmFuc2xhdGVYKDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbW9iaWxlLWNvbG9yLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtb2JpbGUtY29sb3ItbWFpbjtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGhlaWdodDogNHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNpdGlvbjogIGFsbCAuMzVzIGVhc2U7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICB0b3A6ICRiYXItb2Zmc2V0O1xuICAgICAgfVxuXG4gICAgICAmOm50aC1vZi10eXBlKDMpIHtcbiAgICAgICAgdG9wOiAkYmFyLW9mZnNldCAqIDI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDAlO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjM1cywgdmlzaWJpbGl0eSAuMzVzLCBoZWlnaHQgLjM1cztcblxuICAmLm9wZW4ge1xuICAgIG9wYWNpdHk6IC45NTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICB9XG4gIG5hdiB7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5vdmVybGF5LW1lbnUge1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDkwcHgpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgJiA+IC50cmVlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cblxuLnRyZWVtZW51IHtcblxuICAmLnRyZWVtZW51LXJvb3Qge1xuICAgIG1hcmdpbjogMXJlbTtcbiAgfVxuXG4gIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMCAwIDFweDtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICBsaW5lLWhlaWdodDogMS4ycmVtO1xuXG4gICAgYmFja2dyb3VuZDogcmdiYSgkZ3JheS1jb2xvci1kYXJrLDAuMSk7XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuMnJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcblxuICAgICAgJjpob3ZlciwgJjpmb2N1cywgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3ItbGlnaHQgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHVsIHtcbiAgICBtYXJnaW46IDAgMCAwIDFyZW07XG4gIH1cblxuICAudG9nZ2xlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1hcmdpbi1yaWdodDogMnB0O1xuICAgIH1cbiAgfVxuXG4gIGxpLnRyZWUtZW1wdHkgID4gLnRvZ2dsZXIge1xuICAgIG9wYWNpdHk6IDAuMzsgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXDIwMjJcIjtcbiAgICB9XG4gIH1cblxuICBsaS50cmVlLWNsb3NlZCA+IC50b2dnbGVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCIrXCI7XG4gIH1cblxuICBsaS50cmVlLW9wZW5lZCA+IC50b2dnbGVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDIyMTJcIjtcbiAgfVxufVxuXG4ubW9iaWxlLW5hdi1vcGVuIHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xufVxuIiwiLmRlZmF1bHQtYW5pbWF0aW9uIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLy8gUHVsc2UgQW5pbWF0aW9uXG4ucHVsc2Uge1xuICBhbmltYXRpb24tbmFtZTogcHVsc2VfYW5pbWF0aW9uO1xuICBhbmltYXRpb24tZHVyYXRpb246IDIwMDBtcztcbiAgdHJhbnNmb3JtLW9yaWdpbjo3MCUgNzAlO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xufVxuXG5Aa2V5ZnJhbWVzIHB1bHNlX2FuaW1hdGlvbiB7XG4gIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAzMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDQwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4wOCk7IH1cbiAgNTAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICA2MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDcwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgODAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxufVxuIiwiI2hlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWFkZXItaGVpZ2h0LWxhcmdlO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgkZ3JheS1jb2xvciwgMC4yKTtcbiAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG5cbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgYmFja2dyb3VuZDogJGxpZ2h0LWNvbG9yO1xuICBjb2xvcjogJGRhcmstY29sb3I7XG5cbiAgYSB7XG4gICAgY29sb3I6ICRkYXJrLWNvbG9yO1xuICB9XG5cbiAgLmxvZ28gc3ZnIHBhdGgge1xuICAgIGZpbGw6ICRoZWFkZXItY29sb3ItZGFyaztcbiAgfVxuXG4gIC5oZWFkZXItZGFyayAmOm5vdCguc2Nyb2xsZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiAkaGVhZGVyLWNvbG9yLWRhcms7XG4gICAgY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiByZ2JhKCRsaWdodC1jb2xvciwgMC43KSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBhLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJGxpZ2h0LWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5kcm9wbWVudSB1bCB1bCBhIHtcbiAgICAgICAgY29sb3I6ICRkYXJrLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5sb2dvIHN2ZyBwYXRoIHtcbiAgICAgIGZpbGw6ICRsaWdodC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyLWRhcmsuaGVhZGVyLXRyYW5zcGFyZW50ICY6bm90KC5zY3JvbGxlZCkge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoIzAwMCwgMC4wNSk7XG4gIH1cblxuICAuaGVhZGVyLXRyYW5zcGFyZW50ICY6bm90KC5zY3JvbGxlZCkge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoI2ZmZiwgMC4wNSk7XG4gICAgLy9ib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubmF2YmFyLXNlY3Rpb24ge1xuICAgIGhlaWdodDogJGhlYWRlci1oZWlnaHQtbGFyZ2U7XG4gICAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJyZW07XG4gICAgfVxuICB9XG5cbiAgLmxvZ28ge1xuICAgIHN2ZywgaW1nIHtcbiAgICAgIGhlaWdodDogNDJweDtcbiAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgICBAZXh0ZW5kIC5kZWZhdWx0LWFuaW1hdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBGaXhlZCBIZWFkZXIgc29sdXRpb25cbiAgLmhlYWRlci1maXhlZCAmIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cbn1cblxuLy8gQW5pbWF0ZSBGaXhlZCBIZWFkZXJcbmJvZHkuaGVhZGVyLWZpeGVkLmhlYWRlci1hbmltYXRlZCB7XG4gICNoZWFkZXIuc2Nyb2xsZWQge1xuICAgIGhlaWdodDogJGhlYWRlci1oZWlnaHQtc21hbGw7XG5cbiAgICAubmF2YmFyLXNlY3Rpb24ge1xuICAgICAgaGVpZ2h0OiAkaGVhZGVyLWhlaWdodC1zbWFsbDtcbiAgICB9XG5cbiAgICAubG9nbyB7XG4gICAgICBzdmcsIGltZyB7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB+IC5tb2JpbGUtbWVudSAuYnV0dG9uX2NvbnRhaW5lciB7XG4gICAgICB0b3A6IDAuNXJlbTtcbiAgICB9XG4gIH1cbn1cblxuLmxvZ2luLXN0YXR1cy13cmFwcGVyIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn0iLCIvLyBTdGlja3kgRm9vdGVyIHNvbHV0aW9uXG5ib2R5LnN0aWNreS1mb290ZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICNwYWdlLXdyYXBwZXIge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG59XG5cbiNmb290ZXIge1xuICBjb2xvcjogI2FjYjNjMjtcbiAgcGFkZGluZzogMXJlbSAkaG9yaXotcGFkZGluZyAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59IiwiLmRyb3BtZW51IHtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHVsIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAkZHJvcG1lbnUtdmVydC1wYWRkaW5nICgkZHJvcG1lbnUtaG9yaXotcGFkZGluZyArICRkcm9wbWVudS1jaGlsZC1wYWRkaW5nKSAkZHJvcG1lbnUtdmVydC1wYWRkaW5nICRkcm9wbWVudS1ob3Jpei1wYWRkaW5nO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzLCAmLmFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6ICRkcm9wbWVudS1ob3Zlci10ZXh0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJ1xcZjEwNyc7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLSAoMiAqJGRyb3BtZW51LWNoaWxkLXBhZGRpbmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpvbmx5LWNoaWxkIHtcbiAgICAgICAgICAvL2JhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogJGRyb3BtZW51LWhvcml6LXBhZGRpbmc7XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgICYgPiB1bCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHVsIGxpIGE6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXGYxMDUnO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcG1lbnUtYmc7XG4gICAgICBib3gtc2hhZG93OiAkZHJvcG1lbnUtc2hhZG93O1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgICB1bCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgJiA+IHVsID4gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIC8vIEFuaW1hdGlvbiBvcHRpb25zXG4gICYuYW5pbWF0ZWQge1xuICAgIHVsIGxpIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjdzLCBjb2xvciAwLjVzO1xuICAgIH1cblxuICAgIHVsIGxpOmhvdmVyID4gdWwge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG5cbiAgICB1bCB1bCB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzLCBvcGFjaXR5IC41cztcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgIH1cbiAgfVxufSIsIi8qKiBFeHRyYSBjb2x1bW5zIHNwYWNpbmcgKiovXG4uZXh0cmEtc3BhY2luZzpub3QoLmNvbC0xMiksIDpub3QoLmNvbDEyKSA+IC5lLWNvbnRlbnQge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cbi8qKiBCcmVhZGNydW1icyBzdHlsaW5nICoqL1xuI2JyZWFkY3J1bWJzIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuXG4gIGkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBzcGFuLCBhIHtcbiAgICBwYWRkaW5nOiAwIDAuNXJlbTtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICBzcGFuLCBhIHtcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNlN2U5ZWQ7XG4gICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgfVxuICB9XG59XG5cbi8qKiBCbG9nIExpc3RpbmcgKiovXG4uYmxvZy1saXN0aW5nIHtcblxuICAuYnJpY2tsYXllci1jb2x1bW4ge1xuICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG5cbiAgfVxuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDQ1cHggLTlweCByZ2JhKDAsMCwwLDAuMSk7XG4gIH1cblxuICAuY2FyZC1mb290ZXIge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgLmJsb2ctZGF0ZSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICB9XG5cbiAgLmxhYmVsIHtcblxuICB9XG59XG5cbi8qKiBCbG9nIEl0ZW0gKiovXG4uY29udGVudC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgfVxufVxuXG4ubGFiZWwge1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8qKiBQYWdpbmF0aW9uICoqL1xudWwucGFnaW5hdGlvbiB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucHJldi1uZXh0IHtcbiAgbWFyZ2luLXRvcDogNHJlbTtcbn1cblxuLyoqIFNpZGViYXIgc3BlY2lmaWMgdHdlYWtzICoqL1xuI3NpZGViYXIge1xuXG4gIHVsLnJlbGF0ZWQtcGFnZXMge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGxpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIHVsLmFyY2hpdmVzIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgLmxhYmVsIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgICB9XG4gIH1cbn0iLCIubW9kdWxhci1oZXJvIHtcbiAgI3RvLXN0YXJ0IHtcbiAgICBib3R0b206IDMuNXJlbTtcbiAgfVxufVxuXG4ubW9kdWxhci1mZWF0dXJlcyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAmLm9mZnNldC1ib3gge1xuICAgIC5mcmFtZS1ib3gge1xuICAgICAgbWFyZ2luOiAtM3JlbSAoLTFyZW0gLSAkbGF5b3V0LXNwYWNpbmcpIDNyZW07XG4gICAgICBwYWRkaW5nOiAxcmVtIDFyZW07XG4gICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtY29sb3I7XG4gICAgICBib3gtc2hhZG93OiAwIDAgNzVweCAwIHJnYmEoJGRhcmstY29sb3IsIDAuMSk7XG4gICAgfVxuICB9XG5cbiAgJi5zbWFsbCB7XG5cbiAgICAuY29sdW1ucyB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG5cbiAgICAuY29sdW1uOmhvdmVyIHtcbiAgICAgIC5mZWF0dXJlLWljb24gaSB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmVhdHVyZS1pY29uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuXG5cbiAgICAgIGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogNzBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMXJlbTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGNvbG9yOiAkZ3JheS1jb2xvcjtcbiAgICAgICAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG5cbiAgICAgIH1cbiAgICAgIGg2IHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZyYW1lLWJveCB7XG4gICAgcGFkZGluZzogM3JlbSAwO1xuXG4gICAgPiBwIHtcbiAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICAuY29sdW1uIHtcbiAgICBwYWRkaW5nOiAxcmVtO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAuZmVhdHVyZS1pY29uIHtcbiAgICAgICAgY29sb3I6ICRncmF5LWNvbG9yO1xuICAgICAgICBoNiB7XG4gICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZmVhdHVyZS1jb250ZW50IHtcbiAgICAgICAgY29sb3I6ICRncmF5LWNvbG9yLWRhcms7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZlYXR1cmUtaWNvbiB7XG4gICAgZm9udC1zaXplOiAxMzBweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIGNvbG9yOiAkZ3JheS1jb2xvci1saWdodDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMXJlbSAwO1xuICAgIEBleHRlbmQgLmRlZmF1bHQtYW5pbWF0aW9uO1xuXG4gICAgaSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cblxuICAgIGg2IHtcbiAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1jb2xvcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogJGdyYXktY29sb3ItZGFyaztcbiAgICB9XG4gIH1cblxuICAuZmVhdHVyZS1jb250ZW50IHtcbiAgICBjb2xvcjogJGdyYXktY29sb3I7XG4gIH1cbn1cblxuLm1vZHVsYXItdGV4dCB7XG4gIHBhZGRpbmctdG9wOiA0cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcblxuICAuY29sdW1ucy5sZWZ0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cbn0iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFlQUEsQUFBQSxJQUFJLENBQUMsRUFDSCxNQUFNLEVBQUUsSUFBSSxHQUNiOztBQUVELEFBQ0UsYUFEVyxDQUNYLFVBQVUsQ0FBQyxFQUNULE9BQU8sRUZKSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0VLdkI7O0FBR0QsQUFBQSxhQUFhLENBTmYsYUFBYSxDQU1LLEVBQ2QsV0FBVyxFRkZP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 */