theme.css 115 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498
  1. @font-face { font-family: "lato"; src: url("../fonts/lato/Lato-Regular.eot"); src: url("../fonts/lato/Lato-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/lato/Lato-Regular.woff") format("woff"), url("../fonts/lato/Lato-Regular.ttf") format("truetype"), url("../fonts/lato/Lato-Regular.svg#lato") format("svg"); }
  2. @font-face { font-family: "syne"; src: url("../fonts/syne/Syne-Bold.eot"); src: url("../fonts/syne/Syne-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/syne/Syne-Bold.woff") format("woff"), url("../fonts/syne/Syne-Bold.ttf") format("truetype"), url("../fonts/syne/Syne-Bold.svg#syne") format("svg"); }
  3. @font-face { font-family: "Avara"; src: url("../fonts/avara/Avara-Bold_Italic_web.eot"); src: url("../fonts/avara/Avara-Bold_Italic_web.eot?#iefix") format("embedded-opentype"), url("../fonts/avara/Avara-Bold_Italic_web.woff") format("woff"), url("../fonts/avara/Avara-Bold_Italic_web.ttf") format("truetype"), url("../fonts/avara/Avara-Bold_Italic_web.svg#Avara") format("svg"); }
  4. @font-face { font-family: "playfairdisplay-regularitalic"; src: url("../fonts/playfair/playfairdisplay-regularitalic.eot"); src: url("../fonts/playfair/playfairdisplay-regularitalic.eot?#iefix") format("embedded-opentype"), url("../fonts/playfair/playfairdisplay-regularitalic.woff") format("woff"), url("../fonts/playfair/playfairdisplay-regularitalic.ttf") format("truetype"), url("../fonts/playfair/playfairdisplay-regularitalic.svg#playfairdisplay-regularitalic") format("svg"); }
  5. @font-face { font-family: "Moche-Bold"; src: url("../fonts/moche/Moche-Bold.eot"); src: url("../fonts/moche/Moche-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/moche/Moche-Bold.woff") format("woff"), url("../fonts/moche/Moche-Bold.ttf") format("truetype"), url("../fonts/moche/Moche-Bold.svg#Moche-Bold") format("svg"); }
  6. @font-face { font-family: "rammetto-regular"; src: url("../fonts/rammetto/rammettoone-regular-webfont.eot"); src: url("../fonts/rammetto/rammettoone-regular-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/rammetto/rammettoone-regular-webfont.woff") format("woff"), url("../fonts/rammetto/rammettoone-regular-webfont.ttf") format("truetype"), url("../fonts/rammetto/rammettoone-regular-webfont.svg#rammetto-regular") format("svg"); }
  7. @font-face { font-family: "rumeur-regular"; src: url("../fonts/rumeur/rumeur-webfont.eot"); src: url("../fonts/rumeur/rumeur-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/rumeur/rumeur-webfont.woff") format("woff"), url("../fonts/rumeur/rumeur-webfont.ttf") format("truetype"), url("../fonts/rumeur/rumeur-webfont.svg#rumeur-regular") format("svg"); }
  8. /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
  9. /* Document ========================================================================== */
  10. /** 1. Correct the line height in all browsers. 2. Prevent adjustments of font size after orientation changes in iOS. */
  11. html { margin: 0; padding: 0; line-height: 1.15; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ font-size: 16px; }
  12. /* Sections ========================================================================== */
  13. /** Remove the margin in all browsers. */
  14. body { margin: 0; padding: 0; }
  15. /** Render the `main` element consistently in IE. */
  16. main { display: block; }
  17. /** Correct the font size and margin on `h1` elements within `section` and `article` contexts in Chrome, Firefox, and Safari. */
  18. h1 { font-size: auto; margin: 0; }
  19. /* Grouping content ========================================================================== */
  20. /** 1. Add the correct box sizing in Firefox. 2. Show the overflow in Edge and IE. */
  21. hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ }
  22. /** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
  23. pre { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }
  24. /* Text-level semantics ========================================================================== */
  25. /** Remove the gray background on active links in IE 10. */
  26. p { margin: 0; }
  27. ul { list-style: none; }
  28. ul, li { margin: 0; padding: 0; }
  29. a { background-color: transparent; color: black; text-decoration: none; }
  30. /** 1. Remove the bottom border in Chrome 57- 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */
  31. abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ -webkit-text-decoration: underline dotted; text-decoration: underline dotted; /* 2 */ }
  32. /** Add the correct font weight in Chrome, Edge, and Safari. */
  33. b, strong { font-weight: bolder; }
  34. /** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
  35. code, kbd, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }
  36. /** Add the correct font size in all browsers. */
  37. small { font-size: 80%; }
  38. /** Prevent `sub` and `sup` elements from affecting the line height in all browsers. */
  39. sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
  40. sub { bottom: -0.25em; }
  41. sup { top: -0.5em; }
  42. /* Embedded content ========================================================================== */
  43. /** Remove the border on images inside links in IE 10. */
  44. img { border-style: none; width: 100%; height: 100%; vertical-align: bottom; }
  45. /* Forms ========================================================================== */
  46. /** 1. Change the font styles in all browsers. 2. Remove the margin in Firefox and Safari. */
  47. button, input, optgroup, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 1 */ line-height: 1.15; /* 1 */ margin: 0; /* 2 */ }
  48. /** Show the overflow in IE. 1. Show the overflow in Edge. */
  49. button, input { /* 1 */ overflow: visible; }
  50. /** Remove the inheritance of text transform in Edge, Firefox, and IE. 1. Remove the inheritance of text transform in Firefox. */
  51. button, select { /* 1 */ text-transform: none; }
  52. /** Correct the inability to style clickable types in iOS and Safari. */
  53. button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
  54. /** Remove the inner border and padding in Firefox. */
  55. button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }
  56. /** Restore the focus styles unset by the previous rule. */
  57. button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }
  58. /** Correct the padding in Firefox. */
  59. fieldset { padding: 0.35em 0.75em 0.625em; }
  60. /** 1. Correct the text wrapping in Edge and IE. 2. Correct the color inheritance from `fieldset` elements in IE. 3. Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers. */
  61. legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ }
  62. /** Add the correct vertical alignment in Chrome, Firefox, and Opera. */
  63. progress { vertical-align: baseline; }
  64. /** Remove the default vertical scrollbar in IE 10+. */
  65. textarea { overflow: auto; }
  66. /** 1. Add the correct box sizing in IE 10. 2. Remove the padding in IE 10. */
  67. [type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
  68. /** Correct the cursor style of increment and decrement buttons in Chrome. */
  69. [type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }
  70. /** 1. Correct the odd appearance in Chrome and Safari. 2. Correct the outline style in Safari. */
  71. [type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ }
  72. /** Remove the inner padding in Chrome and Safari on macOS. */
  73. [type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
  74. /** 1. Correct the inability to style clickable types in iOS and Safari. 2. Change font properties to `inherit` in Safari. */
  75. ::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ }
  76. /* Interactive ========================================================================== */
  77. /* Add the correct display in Edge, IE 10+, and Firefox. */
  78. details { display: block; }
  79. /* Add the correct display in all browsers. */
  80. summary { display: list-item; }
  81. /* Misc ========================================================================== */
  82. /** Add the correct display in IE 10+. */
  83. template { display: none; }
  84. /** Add the correct display in IE 10. */
  85. [hidden] { display: none; }
  86. h1, h2, h3, p, ul, li, a, span { font-family: "lato"; font-weight: lighter; }
  87. header a { font-size: 2.5rem; line-height: 3rem; }
  88. a, button { border: none; outline: none !important; }
  89. .title-menu h2 { font-family: "rammetto-regular"; }
  90. .home h2, .home p { font-size: 2.5rem; line-height: 3rem; }
  91. .home #text_figli strong { position: relative; }
  92. .home #text_figli strong::after { display: block; position: absolute; content: ""; width: 100%; height: 1px; background: black; bottom: 0; }
  93. .home #text_figli a { position: relative; }
  94. .home #text_figli a#publique { font-family: "playfairdisplay-regularitalic"; }
  95. .home #text_figli a#sociale { font-family: "syne"; }
  96. .home #text_figli a#culturelle { font-family: "Avara"; }
  97. .home #text_figli a#commanditaires { font-family: "Moche-Bold"; }
  98. .home #text_figli a#figureslibres { font-family: "rammetto-regular"; }
  99. .home #text_figli a#logiciels-libres { font-family: "rumeur-regular"; }
  100. .home #text_figli #item .e-content p { font-size: 1.5rem; line-height: 3rem; }
  101. .home #text_figli #item .e-content p strong { font-weight: bold !important; }
  102. .home #text_figli #item .e-content p a { text-decoration: underline; }
  103. .home #text_figli #item .e-content p em { font-style: italic; }
  104. .home #text_figli #item_list.commanditaires { -ms-flex-direction: column; flex-direction: column; }
  105. .home #text_figli #item_list.commanditaires .card-title { line-height: normal; }
  106. #item h2 { width: auto; line-height: 4rem !important; font-size: 4rem !important; font-weight: normal !important; }
  107. #item span { font-size: 1rem; }
  108. #item.publique h2 { font-family: "playfairdisplay-regularitalic"; }
  109. #item.publique span { font-family: "playfairdisplay-regularitalic"; font-weight: normal; }
  110. #item.sociale h2 { font-family: "syne"; }
  111. #item.sociale span { font-family: "syne"; font-weight: normal; }
  112. #item.culturelle h2 { font-family: "Avara"; }
  113. #item.culturelle span { font-family: "Avara"; font-weight: normal; }
  114. a.publique, span.publique { font-family: "playfairdisplay-regularitalic"; }
  115. a.sociale, span.sociale { font-family: "syne"; }
  116. a.culturelle, span.culturelle { font-family: "Avara"; }
  117. .sidebar-right h2 { margin: .5rem 0rem 0rem 0rem; }
  118. .sidebar-right ul > span { font-size: 0.8rem; line-height: 1rem !important; text-decoration: underline; margin-bottom: 0.5rem; }
  119. .sidebar-right ul > li { font-size: 1.7rem; line-height: 2.5rem; }
  120. .sidebar-right ul > li a { font-size: 1.7rem; line-height: 2rem; border-radius: 50px; }
  121. .sidebar-right .informations { padding: 1rem; }
  122. .sidebar-right .informations > div { margin-bottom: 1rem; }
  123. .sidebar-right .informations h3 { font-size: 1.5rem; line-height: 2rem; margin: 0; }
  124. .sidebar-right .informations p { font-size: 1rem; line-height: 1.5rem; }
  125. .other_projets h3 { font-size: 2.5rem; margin: 0; }
  126. .card h2 { margin: 0; font-size: 1rem; }
  127. #text_figli { z-index: 999; opacity: 1; }
  128. #text_figli p > a { z-index: 999; }
  129. #text_figli p > a:before, #text_figli p > a:after { content: ""; position: absolute; bottom: -1px; width: 0px; height: 1px; margin: 1px 0 0; transition: all 0.2s ease-in-out; transition-duration: 0.3s; opacity: 0; background-color: black; }
  130. #text_figli p > a::before { left: 50%; }
  131. #text_figli p > a:after { right: 50%; }
  132. #text_figli p > a:hover { cursor: pointer; }
  133. #text_figli p > a:hover:before, #text_figli p > a:hover:after { width: 100%; opacity: 1; }
  134. #text_figli p > a:hover:before, #text_figli p > a:hover:after { width: 50%; }
  135. #text_figli p > a #icone_list { transition: 1s 0.5s margin-left,0.8s 0.3s opacity; }
  136. #text_figli p > a #icone_list .hamburger.hamburger--slider .hamburger-inner { transform: translate3d(0, 5px, 0) rotate(0deg); transition: 0s 0.2s transform; }
  137. #text_figli p > a #icone_list .hamburger.hamburger--slider .hamburger-inner:after { transform: translate3d(0, -10px, 0) rotate(0deg); transition: 0.2s 0.2s transform; }
  138. #text_figli p > a.open #icone_list { transition: 0.5s margin-left, 0.5s opacity; }
  139. #text_figli p > a.open #icone_list .hamburger.hamburger--slider .hamburger-inner { transform: translate3d(0, 5px, 0) rotate(45deg); transition: 0.8s 0.2s transform; }
  140. #text_figli p > a.open #icone_list .hamburger.hamburger--slider .hamburger-inner:after { transform: translate3d(0, -10px, 0) rotate(90deg); transition: 1s 0.2s transform; }
  141. #text_figli p > a#figureslibres::before, #text_figli p > a#figureslibres::after { bottom: 5px; }
  142. #text_figli.hidden { opacity: 0; transition: 0.3s opacity ease; }
  143. .circle_hover { position: absolute; width: 0px; height: 0px; transform: translate(-50%, -50%); z-index: 0; transition: height .2s, width .2s; }
  144. .circle_hover.open { width: 200px; height: 200px; transition: height .5s, width .5s; }
  145. .circle_hover.figureslibres { background: url("/user/themes/figureslibres/images/figures_libres.svg") center no-repeat; background-size: contain; }
  146. .circle_hover.publique { background: url("/user/themes/figureslibres/images/publique.svg") center no-repeat; background-size: contain; }
  147. .circle_hover.sociale { background: url("/user/themes/figureslibres/images/sociale.svg") center no-repeat; background-size: contain; }
  148. .circle_hover.culturelle { background: url("/user/themes/figureslibres/images/culturelle.svg") center no-repeat; background-size: contain; }
  149. .circle_hover.commanditaires { background: url("/user/themes/figureslibres/images/commanditaires.svg") center no-repeat; background-size: contain; }
  150. .circle_hover.logiciels-libres { background: url("/user/themes/figureslibres/images/logiciels_libres.svg") center no-repeat; background-size: contain; }
  151. * { box-sizing: border-box; }
  152. .loader { display: none; background-image: url("/user/themes/figureslibres/images/ajax-loader.gif"); background-size: 10px 10px; background-position: center; background-repeat: no-repeat; vertical-align: middle; margin-left: 10px; width: 10px; height: 10px; }
  153. .card .loader { position: absolute; top: 50%; left: 50%; transform: translate(-50%, 50%); z-index: 999; margin-left: 0; }
  154. html, body { background: #f9f9f9fe; }
  155. html.hidden, body.hidden { overflow: hidden; }
  156. img.lazy { display: block; }
  157. body #start { width: calc(( 100% / 1.5 ) - (1rem / 2)); margin: 1rem auto auto 1rem; }
  158. body #start #text_figli p a #icone_list { opacity: 0; margin-left: -30px; z-index: 999; position: relative; display: inline-block; }
  159. body #start #text_figli p a #icone_list .hamburger { padding: 0; margin-left: 10px; }
  160. body #start #text_figli p a #icone_list .hamburger .hamburger-box { vertical-align: middle; }
  161. body #start #text_figli p a.marg { margin-right: 0.5rem; }
  162. body #start #text_figli p a.open #icone_list { z-index: 999; position: relative; display: inline-block; margin-left: 0px; opacity: 1; transition: 0.5s margin-left, 0.5s opacity; }
  163. body #start #text_figli p a.open #icone_list .hamburger { padding: 0; margin-left: 10px; }
  164. body #start #text_figli p a.open #icone_list .hamburger.hamburger--slider .hamburger-inner { transform: translate3d(0, 5px, 0) rotate(45deg); transition: 0.8s 0.2s transform; }
  165. body #start #text_figli p a.open #icone_list .hamburger.hamburger--slider .hamburger-inner:after { transform: translate3d(0, -10px, 0) rotate(90deg); transition: 1s 0.2s transform; }
  166. body #start #text_figli p a.open #icone_list .hamburger .hamburger-box { vertical-align: middle; }
  167. body #start #text_figli #item_list { width: 80vw; margin-top: 0.5rem; position: relative; }
  168. body #start #text_figli #item_list .card { width: calc((100% / 5) - ( 0.5rem * 2)); min-width: 250px; display: inline-block; vertical-align: top; position: relative; margin: 0 0.5rem 0.5rem 0; height: 100%; }
  169. body #start #text_figli #item_list .card > .card-image.open a img { filter: grayscale(0); transition: filter 0.3s ease; }
  170. body #start #text_figli #item_list .card a { display: block; border-radius: 5px; overflow: auto; }
  171. body #start #text_figli #item_list .card a img { filter: grayscale(1); transition: filter 0.3s ease; }
  172. body #start #text_figli #item_list .card .card-header { width: 100%; padding: 0.5rem; -ms-flex-wrap: wrap; flex-wrap: wrap; display: none; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; }
  173. body #start #text_figli #item_list .card .card-header > * { font-size: 0.8rem; line-height: 1rem; margin-right: 0.5rem; }
  174. body #start #text_figli #item_list .card:hover a { display: block; }
  175. body #start #text_figli #item_list .card:hover a img { filter: grayscale(0); transition: filter 0.3s ease; }
  176. body #start #text_figli #item_list .card:hover .card-header { display: -ms-inline-flexbox; display: inline-flex; position: absolute; bottom: 0; }
  177. body #start #text_figli #item_list .card:last-of-type { vertical-align: baseline !important; }
  178. body #start #text_figli #item_list .card #item { width: calc( 80vw - ( 0.5rem * 6)); padding: 2rem 2rem 0.5rem 2rem; margin-top: 0.5rem; border-radius: 5px; position: relative; }
  179. body #start #text_figli #item_list .card #item .content-title { margin: 1rem auto 3rem auto; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: baseline; align-items: baseline; }
  180. body #start #text_figli #item_list .card #item .content-title a { display: block; }
  181. body #start #text_figli #item_list .card #item .e-content p { font-size: 1rem; line-height: 1.2rem; }
  182. body #start #text_figli #item_list .card #item.publique { background: #ffaeab; }
  183. body #start #text_figli #item_list .card #item.sociale { background: #7eff71; }
  184. body #start #text_figli #item_list .card #item.culturelle { background: #feff74; }
  185. body #start #text_figli #item_list .card #item.commanditaires { background: #fabbde; }
  186. body #start #text_figli #item_list .card #item #icone_list { position: absolute; top: 0px; right: 0; line-height: 0; }
  187. body #start #text_figli #item_list.publique .card:hover .card-header { background: #ffaeab; }
  188. body #start #text_figli #item_list.sociale .card:hover .card-header { background: #7eff71; }
  189. body #start #text_figli #item_list.culturelle .card:hover .card-header { background: #feff74; }
  190. body #start #text_figli #item_list.commanditaires { columns: 4 150px; column-gap: 2em; display: block; margin: 1rem auto; }
  191. body #start #text_figli #item_list.commanditaires p { font-size: 1rem; line-height: 1.2rem; margin: 0.5rem auto; }
  192. body #start #text_figli #item_list.commanditaires .card:hover .card-header { background: #feff74; }
  193. body #start #text_figli #item_list.figureslibres, body #start #text_figli #item_list.logiciels-libres { display: block; width: 70%; min-width: 500px; margin: 1rem 0; }
  194. body #start #text_figli #item_list.figureslibres p, body #start #text_figli #item_list.logiciels-libres p { font-size: 1rem; line-height: 1.5rem; }
  195. body #start #text_figli #top { cursor: pointer; position: relative; width: 100%; text-align: center; }
  196. body:not(.home) #start { margin-top: calc( 2rem + 3rem); }
  197. #icone_list .hamburger { padding: 0.8rem; }
  198. #icone_list .hamburger .hamburger-box { width: 18px; height: 12px; }
  199. #icone_list .hamburger .hamburger-box .hamburger-inner { height: 2px; width: 18px; }
  200. #icone_list .hamburger .hamburger-box .hamburger-inner::before { width: 15px; height: inherit; top: 5px; }
  201. #icone_list .hamburger .hamburger-box .hamburger-inner::after { top: 10px; height: inherit; width: inherit; }
  202. #icone_list .hamburger.hamburger--slider.is-active .hamburger-inner { transform: translate3d(0, 5px, 0) rotate(45deg); }
  203. #icone_list .hamburger.hamburger--slider.is-active .hamburger-inner::after { transform: translate3d(0, -10px, 0) rotate(-90deg); }
  204. body.sticky-footer { height: 100%; min-height: 100vh; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; }
  205. body.sticky-footer #page-wrapper { -ms-flex: 1 0 auto; flex: 1 0 auto; }
  206. .home footer { color: #acb3c2; display: -ms-inline-flexbox; display: inline-flex; position: fixed; bottom: 20px; right: 20px; }
  207. .home footer p { font-size: 1rem !important; line-height: 1rem !important; }
  208. .home footer p a img { width: 20px !important; }
  209. .sidebar-right { position: fixed; width: 100%; height: 100%; left: -100vw; top: 0; transition: 0.3s right ease; background: #f9f9f9fe; z-index: 1000; }
  210. .sidebar-right ul span { line-height: 2rem; }
  211. .sidebar-right #icone_list { z-index: 1000; position: fixed; top: 10px; right: 0; }
  212. .sidebar-right .list-projets { height: 100%; overflow: auto; }
  213. .sidebar-right .list-projets .title-menu { padding-left: 0.5rem; }
  214. .sidebar-right .list-projets .title-menu::after { content: " "; width: 0; height: 1px; display: block; margin-top: 0.5rem; }
  215. .sidebar-right .list-projets .container-wrap { display: -ms-inline-flexbox; display: inline-flex; }
  216. .sidebar-right .list-projets .container { width: 85%; opacity: 0; position: relative; overflow: auto; padding: 1rem 2rem 2rem 0.5rem; margin-top: 20px; }
  217. .sidebar-right .list-projets .container::after { content: " "; height: 0; width: 1px; display: block; position: absolute; top: 0; margin-right: 1rem; right: 0; }
  218. .sidebar-right .list-projets .container ul { margin-bottom: 20px; }
  219. .sidebar-right .list-projets .container ul span.cat { display: block; line-height: 3rem; }
  220. .sidebar-right .list-projets .container ul li { display: -ms-inline-flexbox; display: inline-flex; -ms-flex-align: end; align-items: flex-end; width: auto; position: relative; }
  221. .sidebar-right .list-projets .container ul li a { z-index: 0; display: block; background: #f9f9f9fe; transition: 0.6s background; margin-right: 0px; padding: 0 7px; }
  222. .sidebar-right .list-projets .container ul li a .img { pointer-events: none; display: none; position: fixed; width: 300px; height: auto; z-index: 999; transform-origin: center center; transform: rotate(0deg); border-radius: 10px; overflow: hidden; }
  223. .sidebar-right .list-projets .container ul li a:hover { z-index: 999; }
  224. .sidebar-right .list-projets .container ul li a:hover .img { display: block; transition: all 1s ease; }
  225. .sidebar-right .list-projets .container ul li:hover.culturelle a { background: #feff74; transition: 0.6s background; }
  226. .sidebar-right .list-projets .container ul li:hover.sociale a { background: #7eff71; transition: 0.6s background; }
  227. .sidebar-right .list-projets .container ul li:hover.publique a { background: #ffaeab; transition: 0.6s background; }
  228. .sidebar-right .list-projets .container ul li:hover::before { min-width: 100%; transition: 0.3s background; }
  229. .sidebar-right .list-projets .container ul a { color: black; z-index: 999; }
  230. .sidebar-right .list-projets .container ul a.active { color: black; }
  231. .sidebar-right .list-projets .informations { min-width: 250px; position: relative; height: 100%; padding-left: 40px; opacity: 0; }
  232. .sidebar-right.is-active { left: 0; transition: 0.5s 0.3s left ease; }
  233. .sidebar-right.is-active .title-menu::after { width: 100%; background: black; transition: 1s 0.9s width ease; }
  234. .sidebar-right.is-active .informations { padding-left: 25px; opacity: 1; transition: 1s opacity 1s ease; }
  235. .sidebar-right.is-active .container { margin-top: 0; opacity: 1; transition: 1s opacity 1s ease; }
  236. .sidebar-right.is-active .container::after { background: black; height: 100%; transition: 1s 0.9s height ease; }
  237. #item_list { display: -ms-inline-flexbox; display: inline-flex; -ms-flex-wrap: wrap; flex-wrap: wrap; width: 100%; }
  238. #item_list .card { width: calc(( 100% / 2 ) - (1rem / 2)); height: 100%; }
  239. #item_list .card:nth-child(odd) { margin-right: 1rem; }
  240. #item_list .card .card-header { z-index: 999; display: -ms-inline-flexbox; display: inline-flex; width: 100%; }
  241. #item_list .card .card-header > * { margin-right: 0.5rem; }
  242. #item .e-content { width: 50%; min-width: 500px; margin: 0 0 2rem 0; }
  243. #item .card-image img:not(:last-of-type) { margin-bottom: 1.5rem; }
  244. .other_projets { border-top: 1px solid black; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-top: 1rem; margin-bottom: 1rem; }
  245. .other_projets h3 { margin: 1rem 0 0.5rem 0; width: 100%; }
  246. .other_projets .card { width: calc(( 100% / 3 ) - (1rem / 3)); }
  247. .other_projets .card:nth-child(-1n+3) { margin-right: 0.5rem; }
  248. .other_projets .card .card-header { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  249. .other_projets .card .card-header > * { margin-right: 0.5rem; }
  250. @media screen and (max-width: 1024px) { body #start { width: 80%; }
  251. body #start #text_figli #item_list.figureslibres, body #start #text_figli #item_list.logiciels-libres { width: 100%; }
  252. body #start #text_figli #item_list .card { width: calc(( 100% / 3 ) - 0.5rem); }
  253. body #start #text_figli #item_list .card #item { width: calc(300% + (.5rem * 2)); }
  254. body #start #text_figli #item_list .card #item .content-title { margin: 1rem auto 1rem auto; }
  255. body #start #text_figli #item_list .card #item .e-content { width: 100%; } }
  256. @media screen and (max-width: 1000px) { .sidebar-right .list-projets .container { width: 100%; float: none; padding-bottom: 0; }
  257. .sidebar-right .list-projets .informations { float: none; padding-left: 0.5rem; margin-left: 10px; }
  258. #item_list { width: 90vw !important; } }
  259. @media screen and (max-width: 768px) { body #start #text_figli #item_list .card { width: calc((100% / 2) - .5rem); }
  260. body #start #text_figli #item_list .card #item { width: calc(90vw - 0.5rem); } }
  261. @media screen and (max-width: 510px) { body #start { width: calc( 100% - 1rem); margin: 0.5rem auto 2rem auto; }
  262. body #start #text_figli p { font-size: 1.7rem; line-height: 2.3rem; }
  263. body #start #text_figli #item_list { width: 100% !important; }
  264. body #start #text_figli #item_list.figureslibres, body #start #text_figli #item_list.logiciels-libres { min-width: 100%; }
  265. body #start #text_figli #item_list .card { width: calc(100%); margin: 0 0 0.5rem 0; }
  266. body #start #text_figli #item_list .card #item { width: 100%; padding: 1rem; }
  267. body #start #text_figli #item_list .card #item .e-content { min-width: 100%; margin: 2rem 0; }
  268. body #start #text_figli #item_list .card #item .content-title h2 { font-size: 2rem !important; line-height: 2.5rem !important; }
  269. body #start #text_figli #item_list .card #item .content-title > div { line-height: 1rem; }
  270. body .sidebar-right { width: 100%; right: -100%; }
  271. body .sidebar-right #icone_list { z-index: 0; top: 0; }
  272. body .sidebar-right #icone_list .hamburger { float: right; z-index: 999; }
  273. body .sidebar-right .list-projets { z-index: 999; }
  274. body .sidebar-right .list-projets .title-menu h2 { font-size: 1.7rem; line-height: 2.3rem; }
  275. body .sidebar-right .list-projets ul li { margin-top: 0 !important; display: initial !important; font-size: 1rem; line-height: 1.5rem; }
  276. body .sidebar-right .list-projets ul li::before { width: 100%; }
  277. body .sidebar-right .list-projets ul li a { display: initial !important; padding: 0rem !important; font-size: 1rem; line-height: 1.5rem; }
  278. body .sidebar-right .list-projets ul li a img { display: none !important; }
  279. body .sidebar-right .list-projets ul li > span { font-size: 1rem; line-height: 1.5rem; }
  280. body .sidebar-right .list-projets .container-wrap { display: block; }
  281. body .sidebar-right .list-projets .container-wrap .container::after { height: 1px; width: 0; bottom: 0; top: auto !important; left: 0 !important; }
  282. body .sidebar-right.is-active .container::after { width: 100% !important; transition: 1s width 1s ease; }
  283. body .sidebar-right .informations h3 { font-size: 1.1rem; }
  284. footer { z-index: 999; -ms-flex-pack: center; justify-content: center; width: 100%; bottom: 0 !important; left: 0 !important; padding: 0.5rem; background-color: #f9f9f9fe; }
  285. .circle_hover.open { width: 100px !important; height: 100px !important; } }
  286. /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuY3NzIiwic291cmNlcyI6WyJ0aGVtZS5zY3NzIiwiY29uZmlndXJhdGlvbnMvX2ZvbnRzLnNjc3MiLCJjb25maWd1cmF0aW9ucy9fdmFyaWFibGUuc2NzcyIsImNvbmZpZ3VyYXRpb25zL19leHRlbmQuc2NzcyIsInRoZW1lL19yZXNldC5zY3NzIiwidGhlbWUvX3R5cG9ncmFwaHkuc2NzcyIsInRoZW1lL19hbmltYXRpb24uc2NzcyIsInRoZW1lL19oZWFkZXIuc2NzcyIsInRoZW1lL19zdGFydC5zY3NzIiwidGhlbWUvX2Zvb3Rlci5zY3NzIiwidGhlbWUvX3NpZGViYXIuc2NzcyIsInRoZW1lL19ibG9nLnNjc3MiLCJ0aGVtZS9faXRlbS5zY3NzIiwidGhlbWUvX21vYmlsZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcmUgdmFyaWFibGVzIGFuZCBtaXhpbnNcbkBpbXBvcnQgJ2NvbmZpZ3VyYXRpb25zL19mb250cyc7XG5AaW1wb3J0ICdjb25maWd1cmF0aW9ucy9fdmFyaWFibGUnO1xuQGltcG9ydCAnY29uZmlndXJhdGlvbnMvX2V4dGVuZCc7XG5AaW1wb3J0ICd0aGVtZS9yZXNldCc7XG5AaW1wb3J0ICd0aGVtZS90eXBvZ3JhcGh5JztcblxuQGltcG9ydCAndGhlbWUvYW5pbWF0aW9uJztcbkBpbXBvcnQgJ3RoZW1lL2hlYWRlcic7XG5AaW1wb3J0ICd0aGVtZS9zdGFydCc7XG5AaW1wb3J0ICd0aGVtZS9mb290ZXInO1xuQGltcG9ydCAndGhlbWUvc2lkZWJhcic7XG5AaW1wb3J0ICd0aGVtZS9ibG9nJztcbkBpbXBvcnQgJ3RoZW1lL2l0ZW0nO1xuQGltcG9ydCAndGhlbWUvbW9iaWxlJztcbiIsIi8vIEZvbnQgRmFtaWx5XG4kZm9udC1mYW1pbHktZGVmYXVsdDogIFx0XHRcdFwiUmFsZXdheVwiLCBcIkhlbHZldGljYVwiLCBcIlRhaG9tYVwiLCBcIkdlbmV2YVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4kZm9udC1mYW1pbHktaGVhZGVyOiAgXHRcdFx0XCJNb250c2VycmF0XCIsIFwiSGVsdmV0aWNhXCIsIFwiVGFob21hXCIsIFwiR2VuZXZhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1tb25vOiBcdFx0XHRcdFwiSW5jb25zb2xhdGFcIiwgbW9ub3NwYWNlO1xuJGZvbnQtZmFtaWx5LXNlcmlmOlx0XHRcdFx0XCJHZW9yZ2lhXCIsIFwiVGltZXNcIiwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7XG4vLyBAZm9udC1mYWNlXG5cbiRsYXRvOiBcImxhdG9cIjtcbiRmYW1pbHk6IFwibGF0b1wiO1xuJGZpbGUtcmVndWxhcjogXCJMYXRvLVJlZ3VsYXJcIjtcbiRjYXRlZ29yeTogXCJzYW5zLXNlcmlmXCI7XG5cbkBtaXhpbiBmb250LWZhY2UoJGxhdG8sICRmaWxlLXJlZ3VsYXIsICRmYW1pbHksICRjYXRlZ29yeTpcIlwiKSB7XG4gICAgJGZpbGVwYXRoOiBcIi4uL2ZvbnRzL1wiICsgJGZhbWlseSArIFwiL1wiICsgJGZpbGUtcmVndWxhcjtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiI3skbGF0b31cIjtcbiAgICAgICAgc3JjOiB1cmwoJGZpbGVwYXRoICsgXCIuZW90XCIpO1xuICAgICAgICBzcmM6IHVybCgkZmlsZXBhdGggKyBcIi5lb3Q/I2llZml4XCIpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgICAgICAgdXJsKCRmaWxlcGF0aCArIFwiLndvZmZcIikgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICAgICAgIHVybCgkZmlsZXBhdGggKyBcIi50dGZcIikgIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgICAgICAgdXJsKCRmaWxlcGF0aCArIFwiLnN2ZyNcIiArICRsYXRvICsgXCJcIikgZm9ybWF0KCdzdmcnKTtcbiAgICB9XG5cbiAgICAlI3skbGF0b30ge1xuICAgICAgICBmb250OiB7XG4gICAgICAgICAgICBAaWYgJGNhdGVnb3J5ICE9IFwiXCIge1xuICAgICAgICAgICAgICAgIGZhbWlseTogXCIjeyRsYXRvfVwiLCAjeyRjYXRlZ29yeX07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgZmFtaWx5OiBcIiN7JGxhdG99XCI7XG4gICAgICAgICAgICAgICAgd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiRzeW5lOiBcInN5bmVcIjtcbiRmYW1pbHktYm9sZDogXCJzeW5lXCI7XG4kZmlsZS1ib2xkOiBcIlN5bmUtQm9sZFwiO1xuXG5AbWl4aW4gZm9udC1mYWNlKCRzeW5lLCAkZmlsZS1ib2xkLCAkZmFtaWx5LWJvbGQsICRjYXRlZ29yeTpcIlwiKSB7XG4gICAgJGZpbGVwYXRoOiBcIi4uL2ZvbnRzL1wiICsgJGZhbWlseS1ib2xkICsgXCIvXCIgKyAkZmlsZS1ib2xkO1xuICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogXCIjeyRzeW5lfVwiO1xuICAgICAgICBzcmM6IHVybCgkZmlsZXBhdGggKyBcIi5lb3RcIik7XG4gICAgICAgIHNyYzogdXJsKCRmaWxlcGF0aCArIFwiLmVvdD8jaWVmaXhcIikgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIud29mZlwiKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB9XG5cbiAgICAlI3skc3luZX0ge1xuICAgICAgICBmb250OiB7XG4gICAgICAgICAgICBAaWYgJGNhdGVnb3J5ICE9IFwiXCIge1xuICAgICAgICAgICAgICAgIGZhbWlseTogXCIjeyRzeW5lfVwiLCAjeyRjYXRlZ29yeX07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgZmFtaWx5OiBcIiN7JHN5bmV9XCI7XG4gICAgICAgICAgICAgICAgd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiRhdmFyYTogXCJBdmFyYVwiO1xuJGZhbWlseS1ib2xkLWl0YWxpYzogXCJhdmFyYVwiO1xuJGZpbGUtYm9sZC1pdGFsaWM6IFwiQXZhcmEtQm9sZF9JdGFsaWNfd2ViXCI7XG5cbkBtaXhpbiBmb250LWZhY2UoJGF2YXJhLCAkZmlsZS1ib2xkLWl0YWxpYywgJGZhbWlseS1ib2xkLWl0YWxpYywgJGNhdGVnb3J5OlwiXCIpIHtcbiAgICAkZmlsZXBhdGg6IFwiLi4vZm9udHMvXCIgKyAkZmFtaWx5LWJvbGQtaXRhbGljICsgXCIvXCIgKyAkZmlsZS1ib2xkLWl0YWxpYztcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiI3skYXZhcmF9XCI7XG4gICAgICAgIHNyYzogdXJsKCRmaWxlcGF0aCArIFwiLmVvdFwiKTtcbiAgICAgICAgc3JjOiB1cmwoJGZpbGVwYXRoICsgXCIuZW90PyNpZWZpeFwiKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICAgICAgIHVybCgkZmlsZXBhdGggKyBcIi53b2ZmXCIpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIudHRmXCIpICBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICAgICAgIHVybCgkZmlsZXBhdGggKyBcIi5zdmcjXCIgKyAkYXZhcmEgKyBcIlwiKSBmb3JtYXQoJ3N2ZycpO1xuICAgIH1cblxuICAgICUjeyRhdmFyYX0ge1xuICAgICAgICBmb250OiB7XG4gICAgICAgICAgICBAaWYgJGNhdGVnb3J5ICE9IFwiXCIge1xuICAgICAgICAgICAgICAgIGZhbWlseTogXCIjeyRhdmFyYX1cIiwgI3skY2F0ZWdvcnl9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgIGZhbWlseTogXCIjeyRhdmFyYX1cIjtcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuJHBsYXlmYWlyOiBcInBsYXlmYWlyZGlzcGxheS1yZWd1bGFyaXRhbGljXCI7XG4kZmFtaWx5LWl0YWxpYzogXCJwbGF5ZmFpclwiO1xuJGZpbGUtaXRhbGljOiBcInBsYXlmYWlyZGlzcGxheS1yZWd1bGFyaXRhbGljXCI7XG5cbkBtaXhpbiBmb250LWZhY2UoJHBsYXlmYWlyLCAkZmlsZS1pdGFsaWMsICRmYW1pbHktaXRhbGljLCAkY2F0ZWdvcnk6XCJcIikge1xuICAgICRmaWxlcGF0aDogXCIuLi9mb250cy9cIiArICRmYW1pbHktaXRhbGljICsgXCIvXCIgKyAkZmlsZS1pdGFsaWM7XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIiN7JHBsYXlmYWlyfVwiO1xuICAgICAgICBzcmM6IHVybCgkZmlsZXBhdGggKyBcIi5lb3RcIik7XG4gICAgICAgIHNyYzogdXJsKCRmaWxlcGF0aCArIFwiLmVvdD8jaWVmaXhcIikgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIud29mZlwiKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgICAgICAgdXJsKCRmaWxlcGF0aCArIFwiLnR0ZlwiKSAgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIuc3ZnI1wiICsgJHBsYXlmYWlyICsgXCJcIikgZm9ybWF0KCdzdmcnKTtcbiAgICB9XG5cbiAgICAlI3skcGxheWZhaXJ9IHtcbiAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgQGlmICRjYXRlZ29yeSAhPSBcIlwiIHtcbiAgICAgICAgICAgICAgZmFtaWx5OiBcIiN7JHBsYXlmYWlyfVwiLCAjeyRjYXRlZ29yeX07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgZmFtaWx5OiBcIiN7JHBsYXlmYWlyfVwiO1xuICAgICAgICAgICAgICAgIHdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4kbW9jaGU6IFwiTW9jaGUtQm9sZFwiO1xuJGZhbWlseS1yZWd1bGFyMjogXCJtb2NoZVwiO1xuJGZpbGUtcmVndWxhcjI6IFwiTW9jaGUtQm9sZFwiO1xuXG5AbWl4aW4gZm9udC1mYWNlKCRtb2NoZSwgJGZpbGUtcmVndWxhcjIsICRmYW1pbHktcmVndWxhcjIsICRjYXRlZ29yeTpcIlwiKSB7XG4gICAgJGZpbGVwYXRoOiBcIi4uL2ZvbnRzL1wiICsgJGZhbWlseS1yZWd1bGFyMiArIFwiL1wiICsgJGZpbGUtcmVndWxhcjI7XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIiN7JG1vY2hlfVwiO1xuICAgICAgICBzcmM6IHVybCgkZmlsZXBhdGggKyBcIi5lb3RcIik7XG4gICAgICAgIHNyYzogdXJsKCRmaWxlcGF0aCArIFwiLmVvdD8jaWVmaXhcIikgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIud29mZlwiKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgICAgICAgdXJsKCRmaWxlcGF0aCArIFwiLnR0ZlwiKSAgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIuc3ZnI1wiICsgJG1vY2hlICsgXCJcIikgZm9ybWF0KCdzdmcnKTtcbiAgICB9XG5cbiAgICAlI3skbW9jaGV9IHtcbiAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgQGlmICRjYXRlZ29yeSAhPSBcIlwiIHtcbiAgICAgICAgICAgICAgZmFtaWx5OiBcIiN7JG1vY2hlfVwiLCAjeyRjYXRlZ29yeX07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgZmFtaWx5OiBcIiN7JG1vY2hlfVwiO1xuICAgICAgICAgICAgICAgIHdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4kcmFtbWV0dG86IFwicmFtbWV0dG8tcmVndWxhclwiO1xuJGZhbWlseS1yZWd1bGFyMzogXCJyYW1tZXR0b1wiO1xuJGZpbGUtcmVndWxhcjM6IFwicmFtbWV0dG9vbmUtcmVndWxhci13ZWJmb250XCI7XG5cbkBtaXhpbiBmb250LWZhY2UoJHJhbW1ldHRvLCAkZmlsZS1yZWd1bGFyMywgJGZhbWlseS1yZWd1bGFyMywgJGNhdGVnb3J5OlwiXCIpIHtcbiAgICAkZmlsZXBhdGg6IFwiLi4vZm9udHMvXCIgKyAkZmFtaWx5LXJlZ3VsYXIzICsgXCIvXCIgKyAkZmlsZS1yZWd1bGFyMztcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiI3skcmFtbWV0dG99XCI7XG4gICAgICAgIHNyYzogdXJsKCRmaWxlcGF0aCArIFwiLmVvdFwiKTtcbiAgICAgICAgc3JjOiB1cmwoJGZpbGVwYXRoICsgXCIuZW90PyNpZWZpeFwiKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICAgICAgIHVybCgkZmlsZXBhdGggKyBcIi53b2ZmXCIpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIudHRmXCIpICBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICAgICAgIHVybCgkZmlsZXBhdGggKyBcIi5zdmcjXCIgKyAkcmFtbWV0dG8gKyBcIlwiKSBmb3JtYXQoJ3N2ZycpO1xuICAgIH1cblxuICAgICUjeyRyYW1tZXR0b30ge1xuICAgICAgICBmb250OiB7XG4gICAgICAgICAgICBAaWYgJGNhdGVnb3J5ICE9IFwiXCIge1xuICAgICAgICAgICAgICBmYW1pbHk6IFwiI3skcmFtbWV0dG99XCIsICN7JGNhdGVnb3J5fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICBmYW1pbHk6IFwiI3skcmFtbWV0dG99XCI7XG4gICAgICAgICAgICAgICAgd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiRydW1ldXI6IFwicnVtZXVyLXJlZ3VsYXJcIjtcbiRmYW1pbHktcmVndWxhcjQ6IFwicnVtZXVyXCI7XG4kZmlsZS1yZWd1bGFyNDogXCJydW1ldXItd2ViZm9udFwiO1xuXG5AbWl4aW4gZm9udC1mYWNlKCRyYW1tZXR0bywgJGZpbGUtcmVndWxhcjQsICRmYW1pbHktcmVndWxhcjQsICRjYXRlZ29yeTpcIlwiKSB7XG4gICAgJGZpbGVwYXRoOiBcIi4uL2ZvbnRzL1wiICsgJGZhbWlseS1yZWd1bGFyNCArIFwiL1wiICsgJGZpbGUtcmVndWxhcjQ7XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIiN7JHJhbW1ldHRvfVwiO1xuICAgICAgICBzcmM6IHVybCgkZmlsZXBhdGggKyBcIi5lb3RcIik7XG4gICAgICAgIHNyYzogdXJsKCRmaWxlcGF0aCArIFwiLmVvdD8jaWVmaXhcIikgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIud29mZlwiKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgICAgICAgdXJsKCRmaWxlcGF0aCArIFwiLnR0ZlwiKSAgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgICAgICB1cmwoJGZpbGVwYXRoICsgXCIuc3ZnI1wiICsgJHJhbW1ldHRvICsgXCJcIikgZm9ybWF0KCdzdmcnKTtcbiAgICB9XG5cbiAgICAlI3skcmFtbWV0dG99IHtcbiAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgQGlmICRjYXRlZ29yeSAhPSBcIlwiIHtcbiAgICAgICAgICAgICAgZmFtaWx5OiBcIiN7JHJhbW1ldHRvfVwiLCAjeyRjYXRlZ29yeX07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgZmFtaWx5OiBcIiN7JHJhbW1ldHRvfVwiO1xuICAgICAgICAgICAgICAgIHdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGluY2x1ZGUgZm9udC1mYWNlKCRsYXRvLCAkZmlsZS1yZWd1bGFyLCAkZmFtaWx5LCAkY2F0ZWdvcnkpOy8vMVxuQGluY2x1ZGUgZm9udC1mYWNlKCRzeW5lLCAkZmlsZS1ib2xkLCAkZmFtaWx5LWJvbGQsICRjYXRlZ29yeSk7Ly8yXG5AaW5jbHVkZSBmb250LWZhY2UoJGF2YXJhLCAkZmlsZS1ib2xkLWl0YWxpYywgJGZhbWlseS1ib2xkLWl0YWxpYywgJGNhdGVnb3J5KTsvLzJcbkBpbmNsdWRlIGZvbnQtZmFjZSgkcGxheWZhaXIsICRmaWxlLWl0YWxpYywgJGZhbWlseS1pdGFsaWMsICRjYXRlZ29yeSk7Ly8yXG5cbkBpbmNsdWRlIGZvbnQtZmFjZSgkbW9jaGUsICRmaWxlLXJlZ3VsYXIyLCAkZmFtaWx5LXJlZ3VsYXIyLCAkY2F0ZWdvcnkpOy8vMlxuQGluY2x1ZGUgZm9udC1mYWNlKCRyYW1tZXR0bywgJGZpbGUtcmVndWxhcjMsICRmYW1pbHktcmVndWxhcjMsICRjYXRlZ29yeSk7Ly8yXG5AaW5jbHVkZSBmb250LWZhY2UoJHJ1bWV1ciwgJGZpbGUtcmVndWxhcjQsICRmYW1pbHktcmVndWxhcjQsICRjYXRlZ29yeSk7Ly8yXG5cbi8vIGZvbnQtc2l6ZVxuJHR4dC1maWdsaTogMi41cmVtO1xuXG4vLyBsaW5lLWhlaWdodFxuJEZsaG9tZTogM3JlbTtcblxuJG1hcmc6IDAuNXJlbTtcbiRtYXJnSTogMXJlbTtcbiRXaTogODAlO1xuXG4kV2k1MDogY2FsYygoIDEwMCUgLyAyICkgLSAoI3skbWFyZ0l9IC8gMikpO1xuJFdpODA6IGNhbGMoKCAxMDAlIC8gMS41ICkgLSAoI3skbWFyZ0l9IC8gMikpO1xuJFdpMzM6IGNhbGMoKCAxMDAlIC8gMyApIC0gKCN7JG1hcmdJfSAvIDMpKTtcblxuLy8gbW9iaWxlXG4kdHh0LWZpZ2xpLW06IDEuNXJlbTtcblxuLy8gbGluZS1oZWlnaHRcbiRGbGhvbWUtbTogMnJlbTtcbiRXaS1tOiBjYWxjKCAxMDAlIC0gMXJlbSk7XG4kV2k4MC1tOiA4MCU7XG4kV2kzMy1tOiBjYWxjKCggMTAwJSAvIDMgKSAtIDAuNXJlbSk7XG5cbi8vIHRhYmxldHRlXG4kdHh0LWZpZ2xpLXQ6IDIuNXJlbTtcblxuLy8gbGluZS1oZWlnaHRcbiRGbGhvbWUtdDogM3JlbTtcblxuLy8gY29sb3JcbiRjb2xvcl9wdWJsaXF1ZTogI2ZmYWVhYjtcbiRjb2xvcl9zb2NpYWxlOiAjN2VmZjcxO1xuJGNvbG9yX2N1bHR1cmVsbGU6ICNmZWZmNzQ7XG4kY29sb3JfY29tbWFuZGl0YWlyZTogI2ZhYmJkZTtcbiRjb2xvcl9maWd1cmVzbGlicmVzOiAjODJmOGVlO1xuIiwiIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogYXV0bztcbiAgbWFyZ2luOjA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbnB7XG4gbWFyZ2luOiAwO1xufVxuXG51bHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbnVsLGxpe1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IGJsYWNrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsImgxLCBoMiwgaDMsIHAsIHVsLCBsaSwgYSwgc3BhbntcbiAgZm9udC1mYW1pbHk6ICRsYXRvO1xuICBmb250LXdlaWdodDogbGlnaHRlcjtcbn1cblxuaGVhZGVye1xuICBhe1xuICAgIGZvbnQtc2l6ZTogJHR4dC1maWdsaTtcbiAgICBsaW5lLWhlaWdodDogJEZsaG9tZTtcbiAgfVxufVxuXG5hLCBidXR0b257XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZSFpbXBvcnRhbnQ7XG59XG5cbi50aXRsZS1tZW51e1xuICBoMntcbiAgICBmb250LWZhbWlseTogJHJhbW1ldHRvO1xuICB9XG59XG4uaG9tZXtcbiAgaDIsIHB7XG4gICAgZm9udC1zaXplOiAkdHh0LWZpZ2xpO1xuICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICB9XG4gICN0ZXh0X2ZpZ2xpe1xuICAgIHN0cm9uZ3tcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICY6OmFmdGVye1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICAgIGF7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAmI3B1YmxpcXVle1xuICAgICAgICBmb250LWZhbWlseTogJHBsYXlmYWlyO1xuICAgICAgfVxuICAgICAgJiNzb2NpYWxle1xuICAgICAgICBmb250LWZhbWlseTogJHN5bmU7XG4gICAgICB9XG4gICAgICAmI2N1bHR1cmVsbGV7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYXZhcmE7XG4gICAgICB9XG4gICAgICAmI2NvbW1hbmRpdGFpcmVze1xuICAgICAgICBmb250LWZhbWlseTogJG1vY2hlO1xuICAgICAgfVxuICAgICAgJiNmaWd1cmVzbGlicmVze1xuICAgICAgICBmb250LWZhbWlseTogJHJhbW1ldHRvO1xuICAgICAgfVxuICAgICAgJiNsb2dpY2llbHMtbGlicmVze1xuICAgICAgICBmb250LWZhbWlseTogJHJ1bWV1cjtcbiAgICAgIH1cbiAgICB9XG4gICAgI2l0ZW17XG4gICAgICAuZS1jb250ZW50e1xuICAgICAgICBwe1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgICAgICAgIHN0cm9uZ3tcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgYXtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgIH1cbiAgICAgICAgICBlbXtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgI2l0ZW1fbGlzdHtcbiAgICAgICYuY29tbWFuZGl0YWlyZXN7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIC5jYXJkLXRpdGxle1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2l0ZW17XG4gIGgye1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiA0cmVtIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDRyZW0haW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwhaW1wb3J0YW50O1xuICB9XG4gIHNwYW57XG4gICAgZm9udC1zaXplOiAxcmVtO1xuIH1cbiAmLnB1YmxpcXVle1xuICAgaDJ7XG4gICAgIGZvbnQtZmFtaWx5OiAkcGxheWZhaXI7XG4gICB9XG4gICBzcGFue1xuICAgICBmb250LWZhbWlseTogJHBsYXlmYWlyO1xuICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgfVxuIH1cbiAmLnNvY2lhbGV7XG4gICBoMntcbiAgICAgZm9udC1mYW1pbHk6ICRzeW5lO1xuICAgfVxuICAgc3BhbntcbiAgICAgZm9udC1mYW1pbHk6ICRzeW5lO1xuICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgfVxuIH1cbiAgJi5jdWx0dXJlbGxle1xuICAgIGgye1xuICAgICAgZm9udC1mYW1pbHk6ICRhdmFyYTtcbiAgICB9XG4gICAgc3BhbntcbiAgICAgIGZvbnQtZmFtaWx5OiAkYXZhcmE7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cbiAgfVxufVxuXG5hLnB1YmxpcXVlLCBzcGFuLnB1YmxpcXVle1xuICBmb250LWZhbWlseTogJHBsYXlmYWlyO1xufVxuXG5hLnNvY2lhbGUsIHNwYW4uc29jaWFsZXtcbiAgZm9udC1mYW1pbHk6ICRzeW5lO1xufVxuXG5hLmN1bHR1cmVsbGUsIHNwYW4uY3VsdHVyZWxsZXtcbiAgZm9udC1mYW1pbHk6ICRhdmFyYTtcbn1cblxuLnNpZGViYXItcmlnaHR7XG4gIGgye1xuICAgIG1hcmdpbjogLjVyZW0gMHJlbSAwcmVtIDByZW07XG4gIH1cbiAgdWwgPiBzcGFue1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtIWltcG9ydGFudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIH1cbiAgdWwgPiBsaXtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICBsaW5lLWhlaWdodDogMi41cmVtO1xuICAgICBhe1xuICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgfVxuICB9XG4gIC5pbmZvcm1hdGlvbnN7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICAmPiBkaXZ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cbiAgICBoM3tcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIHB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgIH1cbiAgfVxufVxuXG4ub3RoZXJfcHJvamV0c3tcbiAgaDN7XG4gICAgZm9udC1zaXplOiAkdHh0LWZpZ2xpO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG4uY2FyZHtcbiAgaDJ7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuIiwiJGFuaW1hdGU6IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXG4jdGV4dF9maWdsaXtcbiAgei1pbmRleDogOTk5O1xuICBvcGFjaXR5OiAxO1xuICBwe1xuICAgICYgPiBhe1xuICAgICAgei1pbmRleDogOTk5O1xuICAgICAgJjpiZWZvcmUsXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgIHdpZHRoOiAwcHg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBtYXJnaW46IDFweCAwIDA7XG4gICAgICAgIHRyYW5zaXRpb246ICRhbmltYXRlO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICAgIH1cbiAgICAgICY6OmJlZm9yZXtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgfVxuICAgICAgJjphZnRlcntcbiAgICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgIH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAjaWNvbmVfbGlzdHtcbiAgICAgICAgdHJhbnNpdGlvbjogMXMgMC41cyBtYXJnaW4tbGVmdCwwLjhzIDAuM3Mgb3BhY2l0eTtcbiAgICAgICAgLmhhbWJ1cmdlcntcbiAgICAgICAgICAmLmhhbWJ1cmdlci0tc2xpZGVye1xuICAgICAgICAgICAgLmhhbWJ1cmdlci1pbm5lcntcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDVweCwwKSByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IDBzIDAuMnMgdHJhbnNmb3JtO1xuICAgICAgICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtMTBweCwwKSByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4ycyAwLjJzIHRyYW5zZm9ybTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5vcGVue1xuICAgICAgICAjaWNvbmVfbGlzdHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAwLjVzIG1hcmdpbi1sZWZ0LCAwLjVzIG9wYWNpdHk7XG4gICAgICAgICAgLmhhbWJ1cmdlcntcbiAgICAgICAgICAgICYuaGFtYnVyZ2VyLS1zbGlkZXJ7XG4gICAgICAgICAgICAgIC5oYW1idXJnZXItaW5uZXJ7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDVweCwwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuOHMgMC4ycyB0cmFuc2Zvcm07XG4gICAgICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtMTBweCwwKSByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMXMgMC4ycyB0cmFuc2Zvcm07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmI2ZpZ3VyZXNsaWJyZXN7XG4gICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXJ7XG4gICAgICAgICAgYm90dG9tOiA1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5oaWRkZW57XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIG9wYWNpdHkgZWFzZTtcbiAgfVxufVxuXG4uY2lyY2xlX2hvdmVye1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwcHg7XG4gIGhlaWdodDogMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgei1pbmRleDogMDtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IC4ycywgd2lkdGggLjJzO1xuICAmLm9wZW57XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IC41cywgd2lkdGggLjVzO1xuICB9XG4gICYuZmlndXJlc2xpYnJlc3tcbiAgICBiYWNrZ3JvdW5kOlxuICAgIHVybChcIi91c2VyL3RoZW1lcy9maWd1cmVzbGlicmVzL2ltYWdlcy9maWd1cmVzX2xpYnJlcy5zdmdcIikgY2VudGVyIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIH1cbiAgJi5wdWJsaXF1ZXtcbiAgICAgIGJhY2tncm91bmQ6XG4gICAgICB1cmwoXCIvdXNlci90aGVtZXMvZmlndXJlc2xpYnJlcy9pbWFnZXMvcHVibGlxdWUuc3ZnXCIpIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIH1cbiAgJi5zb2NpYWxle1xuICAgIGJhY2tncm91bmQ6XG4gICAgdXJsKFwiL3VzZXIvdGhlbWVzL2ZpZ3VyZXNsaWJyZXMvaW1hZ2VzL3NvY2lhbGUuc3ZnXCIpIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB9XG4gICYuY3VsdHVyZWxsZXtcbiAgICBiYWNrZ3JvdW5kOlxuICAgIHVybChcIi91c2VyL3RoZW1lcy9maWd1cmVzbGlicmVzL2ltYWdlcy9jdWx0dXJlbGxlLnN2Z1wiKSBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgfVxuICAmLmNvbW1hbmRpdGFpcmVze1xuICAgIGJhY2tncm91bmQ6XG4gICAgdXJsKFwiL3VzZXIvdGhlbWVzL2ZpZ3VyZXNsaWJyZXMvaW1hZ2VzL2NvbW1hbmRpdGFpcmVzLnN2Z1wiKSBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgfVxuICAmLmxvZ2ljaWVscy1saWJyZXN7XG4gICAgYmFja2dyb3VuZDpcbiAgICB1cmwoXCIvdXNlci90aGVtZXMvZmlndXJlc2xpYnJlcy9pbWFnZXMvbG9naWNpZWxzX2xpYnJlcy5zdmdcIikgY2VudGVyIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIH1cbn1cbiIsIi5ob21le1xuICBoZWFkZXJ7XG4gIH1cbn1cbiIsIip7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5sb2FkZXJ7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3VzZXIvdGhlbWVzL2ZpZ3VyZXNsaWJyZXMvaW1hZ2VzL2FqYXgtbG9hZGVyLmdpZicpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwcHggMTBweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbn1cblxuLmNhcmR7XG4gIC5sb2FkZXJ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MCUpO1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG5odG1sLCBib2R5e1xuICBiYWNrZ3JvdW5kOiAjZjlmOWY5ZmU7XG4gICYuaGlkZGVue1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cbmltZy5sYXp5e1xuICBkaXNwbGF5OiBibG9jaztcbn1cbmJvZHl7XG4gICNzdGFydHtcbiAgICAgIHdpZHRoOiAkV2k4MDtcbiAgICAgIG1hcmdpbjogMXJlbSBhdXRvIGF1dG8gMXJlbTtcbiAgICAgICN0ZXh0X2ZpZ2xpe1xuICAgICAgICBwIHtcbiAgICAgICAgICBhe1xuICAgICAgICAgICAgI2ljb25lX2xpc3R7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMzBweDtcbiAgICAgICAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgLmhhbWJ1cmdlcntcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgIC5oYW1idXJnZXItYm94e1xuICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYubWFyZ3tcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbWFyZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYub3BlbntcbiAgICAgICAgICAgICAgI2ljb25lX2xpc3R7XG4gICAgICAgICAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuNXMgbWFyZ2luLWxlZnQsIDAuNXMgb3BhY2l0eTtcbiAgICAgICAgICAgICAgICAuaGFtYnVyZ2Vye1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgJi5oYW1idXJnZXItLXNsaWRlcntcbiAgICAgICAgICAgICAgICAgICAgLmhhbWJ1cmdlci1pbm5lcntcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsNXB4LDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC44cyAwLjJzIHRyYW5zZm9ybTtcbiAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC0xMHB4LDApIHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAxcyAwLjJzIHRyYW5zZm9ybTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIC5oYW1idXJnZXItYm94e1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAjaXRlbV9saXN0e1xuICAgICAgICAgIHdpZHRoOiA4MHZ3O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC5jYXJke1xuICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gNSkgLSAoICN7JG1hcmd9ICogMikgKTtcbiAgICAgICAgICBtaW4td2lkdGg6IDI1MHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW46IDAgJG1hcmcgJG1hcmcgMDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgJiA+IC5jYXJkLWltYWdle1xuICAgICAgICAgICAgJi5vcGVue1xuICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIGltZ3tcbiAgICAgICAgICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDApO1xuICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogZmlsdGVyIDAuM3MgZWFzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgICAgICBpbWd7XG4gICAgICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBmaWx0ZXIgMC4zcyBlYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1oZWFkZXJ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRtYXJnO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAmID4gKntcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIGltZ3tcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgwKTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBmaWx0ZXIgMC4zcyBlYXNlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY2FyZC1oZWFkZXJ7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LW9mLXR5cGV7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAjaXRlbXtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCA4MHZ3IC0gKCAjeyRtYXJnfSAqIDYpICk7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDJyZW0gMC41cmVtIDJyZW07XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkbWFyZztcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIC5jb250ZW50LXRpdGxle1xuICAgICAgICAgICAgICBtYXJnaW46IDFyZW0gYXV0byAzcmVtIGF1dG87XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5lLWNvbnRlbnR7XG4gICAgICAgICAgICAgIC8vIG1hcmdpbjogMXJlbSBhdXRvIDJyZW0gYXV0bztcbiAgICAgICAgICAgICAgcHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMnJlbTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5wdWJsaXF1ZXtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3B1YmxpcXVlO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnNvY2lhbGV7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9zb2NpYWxlO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmN1bHR1cmVsbGV7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9jdWx0dXJlbGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5jb21tYW5kaXRhaXJlc3tcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2NvbW1hbmRpdGFpcmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjaWNvbmVfbGlzdHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnB1YmxpcXVle1xuICAgICAgICAgIC5jYXJke1xuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgLmNhcmQtaGVhZGVye1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9wdWJsaXF1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnNvY2lhbGV7XG4gICAgICAgICAgLmNhcmR7XG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAuY2FyZC1oZWFkZXJ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3NvY2lhbGU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5jdWx0dXJlbGxle1xuICAgICAgICAgIC5jYXJke1xuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgLmNhcmQtaGVhZGVye1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9jdWx0dXJlbGxlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuY29tbWFuZGl0YWlyZXN7XG4gICAgICAgICAgY29sdW1uczogNCAxNTBweDtcbiAgICAgICAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDJlbTtcbiAgICAgICAgICAtbW96LWNvbHVtbi1nYXA6IDJlbTtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiAyZW07XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAxcmVtIGF1dG87XG4gICAgICAgICAgcHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07XG4gICAgICAgICAgICBtYXJnaW46IDAuNXJlbSBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZHtcbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgIC5jYXJkLWhlYWRlcntcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfY3VsdHVyZWxsZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmZpZ3VyZXNsaWJyZXMsICYubG9naWNpZWxzLWxpYnJlc3tcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgIG1pbi13aWR0aDogNTAwcHg7XG4gICAgICAgICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgICAgICAgcHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAjdG9we1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJjpub3QoLmhvbWUpe1xuICAgICNzdGFydHtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGMoIDJyZW0gKyAgI3skRmxob21lfSk7XG4gICAgfVxuICB9XG59XG5cbiNpY29uZV9saXN0e1xuICAuaGFtYnVyZ2Vye1xuICAgIHBhZGRpbmc6IDAuOHJlbTtcbiAgICAuaGFtYnVyZ2VyLWJveHtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgLmhhbWJ1cmdlci1pbm5lcntcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICAmOjpiZWZvcmV7XG4gICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVye1xuICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5oYW1idXJnZXItLXNsaWRlci5pcy1hY3RpdmV7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVye1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgJjo6YWZ0ZXIgIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gU3RpY2t5IEZvb3RlciBzb2x1dGlvblxuYm9keS5zdGlja3ktZm9vdGVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAjcGFnZS13cmFwcGVyIHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxufVxuXG4uaG9tZXtcbiAgZm9vdGVye1xuICAgIGNvbG9yOiAjYWNiM2MyO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDIwcHg7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgcHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbSFpbXBvcnRhbnQ7XG4gICAgICBsaW5lLWhlaWdodDogMXJlbSFpbXBvcnRhbnQ7XG4gICAgICBhe1xuICAgICAgaW1ne1xuICAgICAgICAgIHdpZHRoOiAyMHB4IWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnNpZGViYXItcmlnaHR7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLy8gcmlnaHQ6IGNhbGMoIC0yMCUgKyAwLjVyZW0pO1xuICBsZWZ0OiAtMTAwdnc7XG4gIHRvcDogMDtcbiAgdHJhbnNpdGlvbjogMC4zcyByaWdodCBlYXNlO1xuICBiYWNrZ3JvdW5kOiAjZjlmOWY5ZmU7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHVse1xuICAgIHNwYW57XG4gICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICB9XG4gICAgJiA+ICo6bm90KHNwYW4pIHtcbiAgICAgIC8vIGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrO1xuICAgICAgLy8gYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICB9XG4gIH1cblxuICAjaWNvbmVfbGlzdHtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDEwcHg7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgLmxpc3QtcHJvamV0c3tcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgLnRpdGxlLW1lbnV7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICAgICY6OmFmdGVye1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAuY29udGFpbmVyLXdyYXB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB9XG4gICAgLmNvbnRhaW5lcntcbiAgICAgIHdpZHRoOiA4NSU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICBwYWRkaW5nOiAxcmVtIDJyZW0gMnJlbSAwLjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICByaWdodDowO1xuICAgICAgfVxuICAgIHVse1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIHNwYW4uY2F0e1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDNyZW07XG4gICAgICB9XG4gICAgICBsaXtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYXtcbiAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmOWY5ZjlmZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAwLjZzIGJhY2tncm91bmQ7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gICAgICAgICAgcGFkZGluZzogMCA3cHg7XG4gICAgICAgICAgLmltZ3tcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICAgICAgLmltZ3tcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICYuY3VsdHVyZWxsZXtcbiAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9jdWx0dXJlbGxlO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjZzIGJhY2tncm91bmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICYuc29jaWFsZXtcbiAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9zb2NpYWxlO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjZzIGJhY2tncm91bmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICYucHVibGlxdWV7XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfcHVibGlxdWU7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuNnMgYmFja2dyb3VuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6OmJlZm9yZXt9XG4gICAgICAgICAgfVxuICAgICAgICAgICY6OmJlZm9yZXtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuM3MgYmFja2dyb3VuZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGF7XG4gICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICAmLmFjdGl2ZXtcbiAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgfVxuICAgIC5pbmZvcm1hdGlvbnN7XG4gICAgICBtaW4td2lkdGg6IDI1MHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgfVxuICB9XG4gICYuaXMtYWN0aXZle1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNpdGlvbjogMC41cyAwLjNzIGxlZnQgZWFzZTtcbiAgICAudGl0bGUtbWVudXtcbiAgICAgICY6OmFmdGVye1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgICAgIHRyYW5zaXRpb246IDFzIDAuOXMgd2lkdGggZWFzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmluZm9ybWF0aW9uc3tcbiAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2l0aW9uOiAxcyBvcGFjaXR5IDFzIGVhc2U7XG5cbiAgICB9XG4gICAgLmNvbnRhaW5lcntcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogMXMgb3BhY2l0eSAxcyBlYXNlO1xuICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRyYW5zaXRpb246IDFzIDAuOXMgaGVpZ2h0IGVhc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIjaXRlbV9saXN0e1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB3aWR0aDogMTAwJTtcbiAgLmNhcmR7XG4gICAgd2lkdGg6ICRXaTUwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAmOm50aC1jaGlsZChvZGQpe1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ0k7XG4gICAgfVxuICAgIC5jYXJkLWhlYWRlcntcbiAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAmID4gKiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJG1hcmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIjaXRlbXtcbiAgLmUtY29udGVudHtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1pbi13aWR0aDogNTAwcHg7XG4gICAgbWFyZ2luOiAwIDAgMnJlbSAwO1xuICAgIH1cbiAgLmNhcmQtaW1hZ2V7XG4gICAgaW1nOm5vdCg6bGFzdC1vZi10eXBlKXtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICB9XG4gIH1cbn1cblxuLm90aGVyX3Byb2pldHN7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCBibGFjaztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tdG9wOiAkbWFyZ0k7XG4gIG1hcmdpbi1ib3R0b206ICRtYXJnSTtcbiAgaDN7XG4gICAgbWFyZ2luOiAxcmVtIDAgJG1hcmcgMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuY2FyZHtcbiAgICB3aWR0aDogJFdpMzM7XG4gICAgJjpudGgtY2hpbGQoLTFuKzMpe1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkbWFyZztcbiAgICB9XG4gICAgLmNhcmQtaGVhZGVye1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICYgPiAqe1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KXtcbiAgYm9keXtcbiAgICAjc3RhcnR7XG4gICAgICB3aWR0aDogJFdpODAtbTtcbiAgICAgICN0ZXh0X2ZpZ2xpe1xuICAgICAgICAjaXRlbV9saXN0e1xuICAgICAgICAgICYuZmlndXJlc2xpYnJlcywgJi5sb2dpY2llbHMtbGlicmVze1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJke1xuICAgICAgICAgICAgd2lkdGg6ICRXaTMzLW07XG4gICAgICAgICAgICAjaXRlbXtcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMzAwJSArICguNXJlbSAqIDIpKTtcbiAgICAgICAgICAgICAgLmNvbnRlbnQtdGl0bGV7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxcmVtIGF1dG8gMXJlbSBhdXRvO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC5lLWNvbnRlbnR7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpe1xuICAuc2lkZWJhci1yaWdodHtcbiAgICAubGlzdC1wcm9qZXRzIHtcbiAgICAgIC5jb250YWluZXJ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICB9XG4gICAgICAuaW5mb3JtYXRpb25ze1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAjaXRlbV9saXN0e1xuICAgIHdpZHRoOiA5MHZ3IWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICBib2R5ICNzdGFydCAjdGV4dF9maWdsaSAjaXRlbV9saXN0IC5jYXJke1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMikgLSAuNXJlbSk7XG4gICAgI2l0ZW17XG4gICAgICB3aWR0aDogY2FsYyg5MHZ3IC0gMC41cmVtKTtcbiAgICB9XG4gIH1cblxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MTBweCkge1xuICBib2R5e1xuICAgICNzdGFydHtcbiAgICAgIHdpZHRoOiAkV2ktbTtcbiAgICAgIG1hcmdpbjogMC41cmVtIGF1dG8gMnJlbSBhdXRvO1xuICAgICAgI3RleHRfZmlnbGl7XG4gICAgICAgIHB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIuM3JlbTtcbiAgICAgICAgfVxuICAgICAgICAjaXRlbV9saXN0e1xuICAgICAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcbiAgICAgICAgICAmLmZpZ3VyZXNsaWJyZXMsICYubG9naWNpZWxzLWxpYnJlc3tcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmR7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlKTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuNXJlbSAwO1xuICAgICAgICAgICAgI2l0ZW17XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICAgICAgICAuZS1jb250ZW50e1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDJyZW0gMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAuY29udGVudC10aXRsZXtcbiAgICAgICAgICAgICAgICBoMntcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmID4gZGl2e1xuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnNpZGViYXItcmlnaHR7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHJpZ2h0OiAtMTAwJTtcbiAgICAgICNpY29uZV9saXN0e1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAvLyB3aWR0aDogYXV0byU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgLmhhbWJ1cmdlcntcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubGlzdC1wcm9qZXRze1xuICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgICAgIC50aXRsZS1tZW51e1xuICAgICAgICAgIGgye1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMi4zcmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB1bHtcbiAgICAgICAgICBsaXtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZGlzcGxheTogaW5pdGlhbCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGluaXRpYWwhaW1wb3J0YW50O1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwcmVtIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICAgICAgICBpbWd7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY+IHNwYW57XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNvbnRhaW5lci13cmFwe1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIC5jb250YWluZXJ7XG4gICAgICAgICAgICAmOjphZnRlcntcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgIHRvcDogYXV0byFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIGxlZnQ6IDAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy1hY3RpdmV7XG4gICAgICAgIC5jb250YWluZXJ7XG4gICAgICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAxcyB3aWR0aCAxcyBlYXNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmluZm9ybWF0aW9uc3tcbiAgICAgICAgaDN7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmb290ZXJ7XG4gICAgei1pbmRleDogOTk5O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvdHRvbTogMCFpbXBvcnRhbnQ7XG4gICAgbGVmdDogMCFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5ZjlmZTtcbiAgfVxuXG4gIC5jaXJjbGVfaG92ZXIub3BlbntcbiAgICB3aWR0aDogMTAwcHghaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTAwcHghaW1wb3J0YW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFDb0xJLFVBQVUsR0FDTixXQUFXLEVBQUUsTUFBYyxFQUMzQixHQUFHLEVBQUUscUNBQXVCLEVBQzVCLEdBQUcsRUFBRSw0Q0FBOEIsQ0FBQywyQkFBMkIsRUFDekQsc0NBQXdCLENBQUMsY0FBYyxFQUN2QyxxQ0FBdUIsQ0FBRSxrQkFBa0IsRUFDM0MsMENBQXlDLENBQUMsYUFBYTs7QUFOakUsVUFBVSxHQUNOLFdBQVcsRUFBRSxNQUFjLEVBQzNCLEdBQUcsRUFBRSxrQ0FBdUIsRUFDNUIsR0FBRyxFQUFFLHlDQUE4QixDQUFDLDJCQUEyQixFQUN6RCxtQ0FBd0IsQ0FBQyxjQUFjLEVBQ3ZDLGtDQUF1QixDQUFFLGtCQUFrQixFQUMzQyx1Q0FBeUMsQ0FBQyxhQUFhOztBQU5qRSxVQUFVLEdBQ04sV0FBVyxFQUFFLE9BQWMsRUFDM0IsR0FBRyxFQUFFLCtDQUF1QixFQUM1QixHQUFHLEVBQUUsc0RBQThCLENBQUMsMkJBQTJCLEVBQ3pELGdEQUF3QixDQUFDLGNBQWMsRUFDdkMsK0NBQXVCLENBQUUsa0JBQWtCLEVBQzNDLHFEQUF5QyxDQUFDLGFBQWE7O0FBTmpFLFVBQVUsR0FDTixXQUFXLEVBQUUsK0JBQWMsRUFDM0IsR0FBRyxFQUFFLDBEQUF1QixFQUM1QixHQUFHLEVBQUUsaUVBQThCLENBQUMsMkJBQTJCLEVBQ3pELDJEQUF3QixDQUFDLGNBQWMsRUFDdkMsMERBQXVCLENBQUUsa0JBQWtCLEVBQzNDLHdGQUF5QyxDQUFDLGFBQWE7O0FBTmpFLFVBQVUsR0FDTixXQUFXLEVBQUUsWUFBYyxFQUMzQixHQUFHLEVBQUUsb0NBQXVCLEVBQzVCLEdBQUcsRUFBRSwyQ0FBOEIsQ0FBQywyQkFBMkIsRUFDekQscUNBQXdCLENBQUMsY0FBYyxFQUN2QyxvQ0FBdUIsQ0FBRSxrQkFBa0IsRUFDM0MsK0NBQXlDLENBQUMsYUFBYTs7QUFOakUsVUFBVSxHQUNOLFdBQVcsRUFBRSxrQkFBYyxFQUMzQixHQUFHLEVBQUUsd0RBQXVCLEVBQzVCLEdBQUcsRUFBRSwrREFBOEIsQ0FBQywyQkFBMkIsRUFDekQseURBQXdCLENBQUMsY0FBYyxFQUN2Qyx3REFBdUIsQ0FBRSxrQkFBa0IsRUFDM0MseUVBQXlDLENBQUMsYUFBYTs7QUFOakUsVUFBVSxHQUNOLFdBQVcsRUFBRSxnQkFBYyxFQUMzQixHQUFHLEVBQUUseUNBQXVCLEVBQzVCLEdBQUcsRUFBRSxnREFBOEIsQ0FBQywyQkFBMkIsRUFDekQsMENBQXdCLENBQUMsY0FBYyxFQUN2Qyx5Q0FBdUIsQ0FBRSxrQkFBa0IsRUFDM0Msd0RBQXlDLENBQUMsYUFBYTs7QUcxTHJFLDRFQUE0RTtBQUU1RSx5RkFDZ0Y7QUFFaEYsd0hBR0c7QUFFSCxBQUFBLElBQUksQ0FBQyxFQUNILE1BQU0sRUFBRSxDQUFDLEVBQ1QsT0FBTyxFQUFFLENBQUMsRUFDVixXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FDMUIsd0JBQXdCLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FDdkMsU0FBUyxFQUFFLElBQUksR0FDaEI7O0FBRUQseUZBQ2dGO0FBRWhGLHlDQUVHO0FBRUgsQUFBQSxJQUFJLENBQUMsRUFDSCxNQUFNLEVBQUUsQ0FBQyxFQUNULE9BQU8sRUFBRSxDQUFDLEdBQ1g7O0FBRUQsb0RBRUc7QUFFSCxBQUFBLElBQUksQ0FBQyxFQUNILE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FBRUQsZ0lBR0c7QUFFSCxBQUFBLEVBQUUsQ0FBQyxFQUNELFNBQVMsRUFBRSxJQUFJLEVBQ2YsTUFBTSxFQUFDLENBQUMsR0FDVDs7QUFFRCxpR0FDZ0Y7QUFFaEYscUZBR0c7QUFFSCxBQUFBLEVBQUUsQ0FBQyxFQUNELGtCQUFrQixFQUFFLFdBQVcsRUFDdkIsVUFBVSxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQ3hDLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUNsQixRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFDM0I7O0FBRUQsZ0lBR0c7QUFFSCxBQUFBLEdBQUcsQ0FBQyxFQUNGLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxPQUFPLENBQzFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUN4Qjs7QUFFRCxxR0FDZ0Y7QUFFaEYsMkRBRUc7QUFDSCxBQUFBLENBQUMsQ0FBQSxFQUNBLE1BQU0sRUFBRSxDQUFDLEdBQ1Q7O0FBRUQsQUFBQSxFQUFFLENBQUEsRUFDQSxVQUFVLEVBQUUsSUFBSSxHQUNqQjs7QUFDRCxBQUFBLEVBQUUsRUFBQyxFQUFFLENBQUEsRUFDSCxNQUFNLEVBQUUsQ0FBQyxFQUNULE9BQU8sRUFBRSxDQUFDLEdBQ1g7O0FBRUQsQUFBQSxDQUFDLENBQUMsRUFDQSxnQkFBZ0IsRUFBRSxXQUFXLEVBQzdCLEtBQUssRUFBRSxLQUFLLEVBQ1osZUFBZSxFQUFFLElBQUksR0FDdEI7O0FBRUQsMkhBR0c7QUFFSCxBQUFBLElBQUksQ0FBQSxBQUFBLEtBQUMsQUFBQSxFQUFPLEVBQ1YsYUFBYSxFQUFFLElBQUksRUFBRSxPQUFPLENBQzVCLGVBQWUsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUNuQyx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFDakMsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFDbkQ7O0FBRUQsK0RBRUc7QUFFSCxBQUFBLENBQUMsRUFDRCxNQUFNLENBQUMsRUFDTCxXQUFXLEVBQUUsTUFBTSxHQUNwQjs7QUFFRCxnSUFHRztBQUVILEFBQUEsSUFBSSxFQUNKLEdBQUcsRUFDSCxJQUFJLENBQUMsRUFDSCxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsT0FBTyxDQUMxQyxTQUFTLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFDeEI7O0FBRUQsaURBRUc7QUFFSCxBQUFBLEtBQUssQ0FBQyxFQUNKLFNBQVMsRUFBRSxHQUFHLEdBQ2Y7O0FBRUQsdUZBR0c7QUFFSCxBQUFBLEdBQUcsRUFDSCxHQUFHLENBQUMsRUFDRixTQUFTLEVBQUUsR0FBRyxFQUNkLFdBQVcsRUFBRSxDQUFDLEVBQ2QsUUFBUSxFQUFFLFFBQVEsRUFDbEIsY0FBYyxFQUFFLFFBQVEsR0FDekI7O0FBRUQsQUFBQSxHQUFHLENBQUMsRUFDRixNQUFNLEVBQUUsT0FBTyxHQUNoQjs7QUFFRCxBQUFBLEdBQUcsQ0FBQyxFQUNGLEdBQUcsRUFBRSxNQUFNLEdBQ1o7O0FBRUQsaUdBQ2dGO0FBRWhGLHlEQUVHO0FBRUgsQUFBQSxHQUFHLENBQUMsRUFDRixZQUFZLEVBQUUsSUFBSSxFQUNsQixLQUFLLEVBQUUsSUFBSSxFQUNYLE1BQU0sRUFBRSxJQUFJLEVBQ1osY0FBYyxFQUFFLE1BQU0sR0FDdkI7O0FBRUQsc0ZBQ2dGO0FBRWhGLDZGQUdHO0FBRUgsQUFBQSxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sUUFBUSxDQUFDLEVBQ1AsV0FBVyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQzdCLFNBQVMsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUN4QixXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FDMUIsTUFBTSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQ25COztBQUVELDZEQUdHO0FBRUgsQUFBQSxNQUFNLEVBQ04sS0FBSyxDQUFDLEVBQUUsT0FBTyxDQUNiLFFBQVEsRUFBRSxPQUFPLEdBQ2xCOztBQUVELGlJQUdHO0FBRUgsQUFBQSxNQUFNLEVBQ04sTUFBTSxDQUFDLEVBQUUsT0FBTyxDQUNkLGNBQWMsRUFBRSxJQUFJLEdBQ3JCOztBQUVELHdFQUVHO0FBRUgsQUFBQSxNQUFNLEdBQ04sQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLElBQ0QsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLElBQ0QsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLEVBQWUsRUFDZCxrQkFBa0IsRUFBRSxNQUFNLEdBQzNCOztBQUVELHNEQUVHO0FBRUgsQUFBQSxNQUFNLEFBQUEsa0JBQWtCLEdBQ3hCLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQUFjLGtCQUFrQixHQUNqQyxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosQ0FBYSxrQkFBa0IsR0FDaEMsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBQWMsa0JBQWtCLENBQUMsRUFDaEMsWUFBWSxFQUFFLElBQUksRUFDbEIsT0FBTyxFQUFFLENBQUMsR0FDWDs7QUFFRCwyREFFRztBQUVILEFBQUEsTUFBTSxBQUFBLGVBQWUsR0FDckIsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBQWMsZUFBZSxHQUM5QixBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosQ0FBYSxlQUFlLEdBQzdCLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQUFjLGVBQWUsQ0FBQyxFQUM3QixPQUFPLEVBQUUscUJBQXFCLEdBQy9COztBQUVELHNDQUVHO0FBRUgsQUFBQSxRQUFRLENBQUMsRUFDUCxPQUFPLEVBQUUscUJBQXFCLEdBQy9COztBQUVELG1PQUtHO0FBRUgsQUFBQSxNQUFNLENBQUMsRUFDTCxrQkFBa0IsRUFBRSxVQUFVLEVBQ3RCLFVBQVUsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUN2QyxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FDdkIsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQ3ZCLFNBQVMsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUN4QixPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FDbkIsV0FBVyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQzdCOztBQUVELHdFQUVHO0FBRUgsQUFBQSxRQUFRLENBQUMsRUFDUCxjQUFjLEVBQUUsUUFBUSxHQUN6Qjs7QUFFRCx1REFFRztBQUVILEFBQUEsUUFBUSxDQUFDLEVBQ1AsUUFBUSxFQUFFLElBQUksR0FDZjs7QUFFRCw4RUFHRztDQUVILEFBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLElBQ0QsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLEVBQWMsRUFDYixrQkFBa0IsRUFBRSxVQUFVLEVBQ3RCLFVBQVUsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUN2QyxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFDcEI7O0FBRUQsNkVBRUc7Q0FFSCxBQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQUFjLDJCQUEyQixHQUMxQyxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FBYywyQkFBMkIsQ0FBQyxFQUN6QyxNQUFNLEVBQUUsSUFBSSxHQUNiOztBQUVELGtHQUdHO0NBRUgsQUFBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsRUFBZSxFQUNkLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxPQUFPLENBQ3RDLGNBQWMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUM5Qjs7QUFFRCw4REFFRztDQUVILEFBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBQWMsMkJBQTJCLENBQUMsRUFDekMsa0JBQWtCLEVBQUUsSUFBSSxHQUN6Qjs7QUFFRCw2SEFHRztBQUVILEFBQUEsNEJBQTRCLENBQUMsRUFDM0Isa0JBQWtCLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FDbkMsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQ3ZCOztBQUVELDRGQUNnRjtBQUVoRiwyREFFRztBQUVILEFBQUEsT0FBTyxDQUFDLEVBQ04sT0FBTyxFQUFFLEtBQUssR0FDZjs7QUFFRCw4Q0FFRztBQUVILEFBQUEsT0FBTyxDQUFDLEVBQ04sT0FBTyxFQUFFLFNBQVMsR0FDbkI7O0FBRUQscUZBQ2dGO0FBRWhGLHlDQUVHO0FBRUgsQUFBQSxRQUFRLENBQUMsRUFDUCxPQUFPLEVBQUUsSUFBSSxHQUNkOztBQUVELHdDQUVHO0NBRUgsQUFBQSxBQUFBLE1BQUMsQUFBQSxFQUFRLEVBQ1AsT0FBTyxFQUFFLElBQUksR0FDZDs7QUNwWEQsQUFBQSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFBLEVBQzVCLFdBQVcsRUpNTixNQUFNLEVJTFgsV0FBVyxFQUFFLE9BQU8sR0FDckI7O0FBRUQsQUFDRSxNQURJLENBQ0osQ0FBQyxDQUFBLEVBQ0MsU0FBUyxFSEdELE1BQU0sRUdGZCxXQUFXLEVIS04sSUFBSSxHR0pWOztBQUdILEFBQUEsQ0FBQyxFQUFFLE1BQU0sQ0FBQSxFQUNQLE1BQU0sRUFBRSxJQUFJLEVBQ1osT0FBTyxFQUFFLElBQUksQ0FBQSxVQUFVLEdBQ3hCOztBQUVELEFBQ0UsV0FEUyxDQUNULEVBQUUsQ0FBQSxFQUNBLFdBQVcsRUorSEosa0JBQWtCLEdJOUgxQjs7QUFFSCxBQUNFLEtBREcsQ0FDSCxFQUFFLEVBREosS0FBSyxDQUNDLENBQUMsQ0FBQSxFQUNILFNBQVMsRUhkRCxNQUFNLEVHZWQsV0FBVyxFQUFFLElBQUksR0FDbEI7O0FBSkgsQUFNSSxLQU5DLENBS0gsV0FBVyxDQUNULE1BQU0sQ0FBQSxFQUNKLFFBQVEsRUFBRSxRQUFRLEdBVW5COztBQWpCTCxBQVFNLEtBUkQsQ0FLSCxXQUFXLENBQ1QsTUFBTSxBQUVILE9BQU8sQ0FBQSxFQUNOLE9BQU8sRUFBRSxLQUFLLEVBQ2QsUUFBUSxFQUFFLFFBQVEsRUFDbEIsT0FBTyxFQUFFLEVBQUUsRUFDWCxLQUFLLEVBQUUsSUFBSSxFQUNYLE1BQU0sRUFBRSxHQUFHLEVBQ1gsVUFBVSxFQUFFLEtBQUssRUFDakIsTUFBTSxFQUFFLENBQUMsR0FDVjs7QUFoQlAsQUFrQkksS0FsQkMsQ0FLSCxXQUFXLENBYVQsQ0FBQyxDQUFBLEVBQ0MsUUFBUSxFQUFFLFFBQVEsR0FtQm5COztBQXRDTCxBQW9CTSxLQXBCRCxDQUtILFdBQVcsQ0FhVCxDQUFDLEFBRUUsU0FBUyxDQUFBLEVBQ1IsV0FBVyxFSitDUiwrQkFBK0IsR0k5Q25DOztBQXRCUCxBQXVCTSxLQXZCRCxDQUtILFdBQVcsQ0FhVCxDQUFDLEFBS0UsUUFBUSxDQUFBLEVBQ1AsV0FBVyxFSlZaLE1BQU0sR0lXTjs7QUF6QlAsQUEwQk0sS0ExQkQsQ0FLSCxXQUFXLENBYVQsQ0FBQyxBQVFFLFdBQVcsQ0FBQSxFQUNWLFdBQVcsRUphWCxPQUFPLEdJWlI7O0FBNUJQLEFBNkJNLEtBN0JELENBS0gsV0FBVyxDQWFULENBQUMsQUFXRSxlQUFlLENBQUEsRUFDZCxXQUFXLEVKa0VYLFlBQVksR0lqRWI7O0FBL0JQLEFBZ0NNLEtBaENELENBS0gsV0FBVyxDQWFULENBQUMsQUFjRSxjQUFjLENBQUEsRUFDYixXQUFXLEVKMkZSLGtCQUFrQixHSTFGdEI7O0FBbENQLEFBbUNNLEtBbkNELENBS0gsV0FBVyxDQWFULENBQUMsQUFpQkUsaUJBQWlCLENBQUEsRUFDaEIsV0FBVyxFSm9IVixnQkFBZ0IsR0luSGxCOztBQXJDUCxBQXlDUSxLQXpDSCxDQUtILFdBQVcsQ0FrQ1QsS0FBSyxDQUNILFVBQVUsQ0FDUixDQUFDLENBQUEsRUFDQyxTQUFTLEVBQUUsTUFBTSxFQUNqQixXQUFXLEVBQUUsSUFBSSxHQVVsQjs7QUFyRFQsQUE0Q1UsS0E1Q0wsQ0FLSCxXQUFXLENBa0NULEtBQUssQ0FDSCxVQUFVLENBQ1IsQ0FBQyxDQUdDLE1BQU0sQ0FBQSxFQUNKLFdBQVcsRUFBRSxJQUFJLENBQUEsVUFBVSxHQUM1Qjs7QUE5Q1gsQUErQ1UsS0EvQ0wsQ0FLSCxXQUFXLENBa0NULEtBQUssQ0FDSCxVQUFVLENBQ1IsQ0FBQyxDQU1DLENBQUMsQ0FBQSxFQUNDLGVBQWUsRUFBRSxTQUFTLEdBQzNCOztBQWpEWCxBQWtEVSxLQWxETCxDQUtILFdBQVcsQ0FrQ1QsS0FBSyxDQUNILFVBQVUsQ0FDUixDQUFDLENBU0MsRUFBRSxDQUFBLEVBQ0EsVUFBVSxFQUFFLE1BQU0sR0FDbkI7O0FBcERYLEFBeURNLEtBekRELENBS0gsV0FBVyxDQW1EVCxVQUFVLEFBQ1AsZUFBZSxDQUFBLEVBQ2QsY0FBYyxFQUFFLE1BQU0sR0FJdkI7O0FBOURQLEFBMkRRLEtBM0RILENBS0gsV0FBVyxDQW1EVCxVQUFVLEFBQ1AsZUFBZSxDQUVkLFdBQVcsQ0FBQSxFQUNULFdBQVcsRUFBRSxNQUFNLEdBQ3BCOztBQU1ULEFBQ0UsS0FERyxDQUNILEVBQUUsQ0FBQSxFQUNBLEtBQUssRUFBRSxJQUFJLEVBQ1gsV0FBVyxFQUFFLElBQUksQ0FBQSxVQUFVLEVBQzNCLFNBQVMsRUFBRSxJQUFJLENBQUEsVUFBVSxFQUN6QixXQUFXLEVBQUUsTUFBTSxDQUFBLFVBQVUsR0FDOUI7O0FBTkgsQUFPRSxLQVBHLENBT0gsSUFBSSxDQUFBLEVBQ0YsU0FBUyxFQUFFLElBQUksR0FDakI7O0FBVEYsQUFXRyxLQVhFLEFBVUgsU0FBUyxDQUNSLEVBQUUsQ0FBQSxFQUNBLFdBQVcsRUpYTCwrQkFBK0IsR0lZdEM7O0FBYkosQUFjRyxLQWRFLEFBVUgsU0FBUyxDQUlSLElBQUksQ0FBQSxFQUNGLFdBQVcsRUpkTCwrQkFBK0IsRUllckMsV0FBVyxFQUFFLE1BQU0sR0FDcEI7O0FBakJKLEFBb0JHLEtBcEJFLEFBbUJILFFBQVEsQ0FDUCxFQUFFLENBQUEsRUFDQSxXQUFXLEVKMUVULE1BQU0sR0kyRVQ7O0FBdEJKLEFBdUJHLEtBdkJFLEFBbUJILFFBQVEsQ0FJUCxJQUFJLENBQUEsRUFDRixXQUFXLEVKN0VULE1BQU0sRUk4RVIsV0FBVyxFQUFFLE1BQU0sR0FDcEI7O0FBMUJKLEFBNkJJLEtBN0JDLEFBNEJGLFdBQVcsQ0FDVixFQUFFLENBQUEsRUFDQSxXQUFXLEVKekRULE9BQU8sR0kwRFY7O0FBL0JMLEFBZ0NJLEtBaENDLEFBNEJGLFdBQVcsQ0FJVixJQUFJLENBQUEsRUFDRixXQUFXLEVKNURULE9BQU8sRUk2RFQsV0FBVyxFQUFFLE1BQU0sR0FDcEI7O0FBSUwsQUFBQSxDQUFDLEFBQUEsU0FBUyxFQUFFLElBQUksQUFBQSxTQUFTLENBQUEsRUFDdkIsV0FBVyxFSnZDRiwrQkFBK0IsR0l3Q3pDOztBQUVELEFBQUEsQ0FBQyxBQUFBLFFBQVEsRUFBRSxJQUFJLEFBQUEsUUFBUSxDQUFBLEVBQ3JCLFdBQVcsRUpqR04sTUFBTSxHSWtHWjs7QUFFRCxBQUFBLENBQUMsQUFBQSxXQUFXLEVBQUUsSUFBSSxBQUFBLFdBQVcsQ0FBQSxFQUMzQixXQUFXLEVKM0VMLE9BQU8sR0k0RWQ7O0FBRUQsQUFDRSxjQURZLENBQ1osRUFBRSxDQUFBLEVBQ0EsTUFBTSxFQUFFLG9CQUFvQixHQUM3Qjs7QUFISCxBQUlFLGNBSlksQ0FJWixFQUFFLEdBQUcsSUFBSSxDQUFBLEVBQ1AsU0FBUyxFQUFFLE1BQU0sRUFDakIsV0FBVyxFQUFFLElBQUksQ0FBQSxVQUFVLEVBQzNCLGVBQWUsRUFBRSxTQUFTLEVBQzFCLGFBQWEsRUFBRSxNQUFNLEdBQ3RCOztBQVRILEFBVUUsY0FWWSxDQVVaLEVBQUUsR0FBRyxFQUFFLENBQUEsRUFDTCxTQUFTLEVBQUUsTUFBTSxFQUNqQixXQUFXLEVBQUUsTUFBTSxHQU1wQjs7QUFsQkgsQUFhSyxjQWJTLENBVVosRUFBRSxHQUFHLEVBQUUsQ0FHSixDQUFDLENBQUEsRUFDQSxTQUFTLEVBQUUsTUFBTSxFQUNqQixXQUFXLEVBQUUsSUFBSSxFQUNqQixhQUFhLEVBQUUsSUFBSSxHQUNwQjs7QUFqQkwsQUFtQkUsY0FuQlksQ0FtQlosYUFBYSxDQUFBLEVBQ1gsT0FBTyxFQUFFLElBQUksR0FhZDs7QUFqQ0gsQUFxQkksY0FyQlUsQ0FtQlosYUFBYSxHQUVSLEdBQUcsQ0FBQSxFQUNKLGFBQWEsRUFBRSxJQUFJLEdBQ3BCOztBQXZCTCxBQXdCSSxjQXhCVSxDQW1CWixhQUFhLENBS1gsRUFBRSxDQUFBLEVBQ0EsU0FBUyxFQUFFLE1BQU0sRUFDakIsV0FBVyxFQUFFLElBQUksRUFDakIsTUFBTSxFQUFFLENBQUMsR0FDVjs7QUE1QkwsQUE2QkksY0E3QlUsQ0FtQlosYUFBYSxDQVVYLENBQUMsQ0FBQSxFQUNDLFNBQVMsRUFBRSxJQUFJLEVBQ2YsV0FBVyxFQUFFLE1BQU0sR0FDcEI7O0FBSUwsQUFDRSxjQURZLENBQ1osRUFBRSxDQUFBLEVBQ0EsU0FBUyxFSHhLRCxNQUFNLEVHeUtkLE1BQU0sRUFBRSxDQUFDLEdBQ1Y7O0FBR0gsQUFDRSxLQURHLENBQ0gsRUFBRSxDQUFBLEVBQ0EsTUFBTSxFQUFFLENBQUMsRUFDVCxTQUFTLEVBQUUsSUFBSSxHQUNoQjs7QUN6TEgsQUFBQSxXQUFXLENBQUEsRUFDVCxPQUFPLEVBQUUsR0FBRyxFQUNaLE9BQU8sRUFBRSxDQUFDLEdBOEVYOztBQWhGRCxBQUlJLFdBSk8sQ0FHVCxDQUFDLEdBQ0ssQ0FBQyxDQUFBLEVBQ0gsT0FBTyxFQUFFLEdBQUcsR0FxRWI7O0FBMUVMLEFBTU0sV0FOSyxDQUdULENBQUMsR0FDSyxDQUFDLEFBRUYsT0FBTyxFQU5kLFdBQVcsQ0FHVCxDQUFDLEdBQ0ssQ0FBQyxBQUdGLE1BQU0sQ0FBQyxFQUNOLE9BQU8sRUFBRSxFQUFFLEVBQ1gsUUFBUSxFQUFFLFFBQVEsRUFDbEIsTUFBTSxFQUFFLElBQUksRUFDWixLQUFLLEVBQUUsR0FBRyxFQUNWLE1BQU0sRUFBRSxHQUFHLEVBQ1gsTUFBTSxFQUFFLE9BQU8sRUFDZixVQUFVLEVBaEJSLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQWlCdEIsbUJBQW1CLEVBQUUsSUFBSSxFQUN6QixPQUFPLEVBQUUsQ0FBQyxFQUNWLGdCQUFnQixFQUFFLEtBQUssR0FDeEI7O0FBbEJQLEFBbUJNLFdBbkJLLENBR1QsQ0FBQyxHQUNLLENBQUMsQUFlRixRQUFRLENBQUEsRUFDUCxJQUFJLEVBQUUsR0FBRyxHQUNWOztBQXJCUCxBQXNCTSxXQXRCSyxDQUdULENBQUMsR0FDSyxDQUFDLEFBa0JGLE1BQU0sQ0FBQSxFQUNMLEtBQUssRUFBRSxHQUFHLEdBQ1g7O0FBeEJQLEFBeUJNLFdBekJLLENBR1QsQ0FBQyxHQUNLLENBQUMsQUFxQkYsTUFBTSxDQUFDLEVBQ04sTUFBTSxFQUFFLE9BQU8sR0FVaEI7O0FBcENQLEFBMkJRLFdBM0JHLENBR1QsQ0FBQyxHQUNLLENBQUMsQUFxQkYsTUFBTSxBQUVKLE9BQU8sRUEzQmhCLFdBQVcsQ0FHVCxDQUFDLEdBQ0ssQ0FBQyxBQXFCRixNQUFNLEFBR0osTUFBTSxDQUFDLEVBQ04sS0FBSyxFQUFFLElBQUksRUFDWCxPQUFPLEVBQUUsQ0FBQyxHQUNYOztBQS9CVCxBQWdDUSxXQWhDRyxDQUdULENBQUMsR0FDSyxDQUFDLEFBcUJGLE1BQU0sQUFPSixPQUFPLEVBaENoQixXQUFXLENBR1QsQ0FBQyxHQUNLLENBQUMsQUFxQkYsTUFBTSxBQVFKLE1BQU0sQ0FBQyxFQUNOLEtBQUssRUFBRSxHQUFHLEdBQ1g7O0FBbkNULEFBcUNNLFdBckNLLENBR1QsQ0FBQyxHQUNLLENBQUMsQ0FpQ0gsV0FBVyxDQUFBLEVBQ1QsVUFBVSxFQUFFLHFDQUFxQyxHQWFsRDs7QUFuRFAsQUF5Q1ksV0F6Q0QsQ0FHVCxDQUFDLEdBQ0ssQ0FBQyxDQWlDSCxXQUFXLENBRVQsVUFBVSxBQUNQLGtCQUFrQixDQUNqQixnQkFBZ0IsQ0FBQSxFQUNkLFNBQVMsRUFBRSxzQkFBb0IsQ0FBQyxZQUFZLEVBQzVDLFVBQVUsRUFBRSxpQkFBaUIsR0FLOUI7O0FBaERiLEFBNENjLFdBNUNILENBR1QsQ0FBQyxHQUNLLENBQUMsQ0FpQ0gsV0FBVyxDQUVULFVBQVUsQUFDUCxrQkFBa0IsQ0FDakIsZ0JBQWdCLEFBR2IsTUFBTSxDQUFBLEVBQ0wsU0FBUyxFQUFFLHdCQUFzQixDQUFDLFlBQVksRUFDOUMsVUFBVSxFQUFFLG1CQUFtQixHQUNoQzs7QUEvQ2YsQUFxRFEsV0FyREcsQ0FHVCxDQUFDLEdBQ0ssQ0FBQyxBQWdERixLQUFLLENBQ0osV0FBVyxDQUFBLEVBQ1QsVUFBVSxFQUFFLDhCQUE4QixHQWEzQzs7QUFuRVQsQUF5RGMsV0F6REgsQ0FHVCxDQUFDLEdBQ0ssQ0FBQyxBQWdERixLQUFLLENBQ0osV0FBVyxDQUVULFVBQVUsQUFDUCxrQkFBa0IsQ0FDakIsZ0JBQWdCLENBQUEsRUFDZCxTQUFTLEVBQUUsc0JBQW9CLENBQUMsYUFBYSxFQUM3QyxVQUFVLEVBQUUsbUJBQW1CLEdBS2hDOztBQWhFZixBQTREZ0IsV0E1REwsQ0FHVCxDQUFDLEdBQ0ssQ0FBQyxBQWdERixLQUFLLENBQ0osV0FBVyxDQUVULFVBQVUsQUFDUCxrQkFBa0IsQ0FDakIsZ0JBQWdCLEFBR2IsTUFBTSxDQUFBLEVBQ0wsU0FBUyxFQUFFLHdCQUFzQixDQUFDLGFBQWEsRUFDL0MsVUFBVSxFQUFFLGlCQUFpQixHQUM5Qjs7QUEvRGpCLEFBc0VRLFdBdEVHLENBR1QsQ0FBQyxHQUNLLENBQUMsQUFpRUYsY0FBYyxBQUNaLFFBQVEsRUF0RWpCLFdBQVcsQ0FHVCxDQUFDLEdBQ0ssQ0FBQyxBQWlFRixjQUFjLEFBQ0QsT0FBTyxDQUFBLEVBQ2pCLE1BQU0sRUFBRSxHQUFHLEdBQ1o7O0FBeEVULEFBNEVFLFdBNUVTLEFBNEVSLE9BQU8sQ0FBQSxFQUNOLE9BQU8sRUFBRSxDQUFDLEVBQ1YsVUFBVSxFQUFFLGlCQUFpQixHQUM5Qjs7QUFHSCxBQUFBLGFBQWEsQ0FBQSxFQUNYLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLEtBQUssRUFBRSxHQUFHLEVBQ1YsTUFBTSxFQUFFLEdBQUcsRUFDWCxTQUFTLEVBQUUscUJBQXFCLEVBQ2hDLE9BQU8sRUFBRSxDQUFDLEVBQ1YsVUFBVSxFQUFFLHFCQUFxQixHQW9DbEM7O0FBMUNELEFBT0UsYUFQVyxBQU9WLEtBQUssQ0FBQSxFQUNKLEtBQUssRUFBRSxLQUFLLEVBQ1osTUFBTSxFQUFFLEtBQUssRUFDYixVQUFVLEVBQUUscUJBQXFCLEdBQ2xDOztBQVhILEFBWUUsYUFaVyxBQVlWLGNBQWMsQ0FBQSxFQUNiLFVBQVUsRUFDViwyREFBMkQsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUM1RSxlQUFlLEVBQUUsT0FBTyxHQUN6Qjs7QUFoQkgsQUFpQkUsYUFqQlcsQUFpQlYsU0FBUyxDQUFBLEVBQ04sVUFBVSxFQUNWLHFEQUFxRCxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQ3RFLGVBQWUsRUFBRSxPQUFPLEdBQzNCOztBQXJCSCxBQXNCRSxhQXRCVyxBQXNCVixRQUFRLENBQUEsRUFDUCxVQUFVLEVBQ1Ysb0RBQW9ELENBQUMsTUFBTSxDQUFDLFNBQVMsRUFDckUsZUFBZSxFQUFFLE9BQU8sR0FDekI7O0FBMUJILEFBMkJFLGFBM0JXLEFBMkJWLFdBQVcsQ0FBQSxFQUNWLFVBQVUsRUFDVix1REFBdUQsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUN4RSxlQUFlLEVBQUUsT0FBTyxHQUN6Qjs7QUEvQkgsQUFnQ0UsYUFoQ1csQUFnQ1YsZUFBZSxDQUFBLEVBQ2QsVUFBVSxFQUNWLDJEQUEyRCxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQzVFLGVBQWUsRUFBRSxPQUFPLEdBQ3pCOztBQXBDSCxBQXFDRSxhQXJDVyxBQXFDVixpQkFBaUIsQ0FBQSxFQUNoQixVQUFVLEVBQ1YsNkRBQTZELENBQUMsTUFBTSxDQUFDLFNBQVMsRUFDOUUsZUFBZSxFQUFFLE9BQU8sR0FDekI7O0FFN0hILEFBQUEsQ0FBQyxDQUFBLEVBQ0MsVUFBVSxFQUFFLFVBQVUsR0FDdkI7O0FBRUQsQUFBQSxPQUFPLENBQUEsRUFDTCxPQUFPLEVBQUUsSUFBSSxFQUNiLGdCQUFnQixFQUFFLHdEQUF3RCxFQUMxRSxlQUFlLEVBQUUsU0FBUyxFQUMxQixtQkFBbUIsRUFBRSxNQUFNLEVBQzNCLGlCQUFpQixFQUFFLFNBQVMsRUFDNUIsY0FBYyxFQUFFLE1BQU0sRUFDdEIsV0FBVyxFQUFFLElBQUksRUFDakIsS0FBSyxFQUFFLElBQUksRUFDWCxNQUFNLEVBQUUsSUFBSSxHQUNiOztBQUVELEFBQ0UsS0FERyxDQUNILE9BQU8sQ0FBQSxFQUNMLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLEdBQUcsRUFBRSxHQUFHLEVBQ1IsSUFBSSxFQUFFLEdBQUcsRUFDVCxTQUFTLEVBQUUsb0JBQW9CLEVBQy9CLE9BQU8sRUFBRSxHQUFHLEVBQ1osV0FBVyxFQUFFLENBQUMsR0FDZjs7QUFHSCxBQUFBLElBQUksRUFBRSxJQUFJLENBQUEsRUFDUixVQUFVLEVBQUUsU0FBUyxHQUl0Qjs7QUFMRCxBQUVFLElBRkUsQUFFRCxPQUFPLEVBRkosSUFBSSxBQUVQLE9BQU8sQ0FBQSxFQUNOLFFBQVEsRUFBRSxNQUFNLEdBQ2pCOztBQUVILEFBQUEsR0FBRyxBQUFBLEtBQUssQ0FBQSxFQUNOLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FBQ0QsQUFDRSxJQURFLENBQ0YsTUFBTSxDQUFBLEVBQ0YsS0FBSyxFTmxCSixpQ0FBc0MsRU1tQnZDLE1BQU0sRUFBRSxtQkFBbUIsR0E4TjlCOztBQWpPSCxBQU9ZLElBUFIsQ0FDRixNQUFNLENBR0YsV0FBVyxDQUNULENBQUMsQ0FDQyxDQUFDLENBQ0MsV0FBVyxDQUFBLEVBQ1QsT0FBTyxFQUFFLENBQUMsRUFDVixXQUFXLEVBQUUsS0FBSyxFQUNsQixPQUFPLEVBQUUsR0FBRyxFQUNaLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLE9BQU8sRUFBRSxZQUFZLEdBUXRCOztBQXBCYixBQWFjLElBYlYsQ0FDRixNQUFNLENBR0YsV0FBVyxDQUNULENBQUMsQ0FDQyxDQUFDLENBQ0MsV0FBVyxDQU1ULFVBQVUsQ0FBQSxFQUNSLE9BQU8sRUFBRSxDQUFDLEVBQ1YsV0FBVyxFQUFFLElBQUksR0FJbEI7O0FBbkJmLEFBZ0JnQixJQWhCWixDQUNGLE1BQU0sQ0FHRixXQUFXLENBQ1QsQ0FBQyxDQUNDLENBQUMsQ0FDQyxXQUFXLENBTVQsVUFBVSxDQUdSLGNBQWMsQ0FBQSxFQUNaLGNBQWMsRUFBRSxNQUFNLEdBQ3ZCOztBQWxCakIsQUFxQlksSUFyQlIsQ0FDRixNQUFNLENBR0YsV0FBVyxDQUNULENBQUMsQ0FDQyxDQUFDLEFBZUUsS0FBSyxDQUFBLEVBQ0osWUFBWSxFTjNDbkIsTUFBTSxHTTRDQTs7QUF2QmIsQUF5QmMsSUF6QlYsQ0FDRixNQUFNLENBR0YsV0FBVyxDQUNULENBQUMsQ0FDQyxDQUFDLEFBa0JFLEtBQUssQ0FDSixXQUFXLENBQUEsRUFDVCxPQUFPLEVBQUUsR0FBRyxFQUNaLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLE9BQU8sRUFBRSxZQUFZLEVBQ3JCLFdBQVcsRUFBRSxHQUFHLEVBQ2hCLE9BQU8sRUFBRSxDQUFDLEVBQ1YsVUFBVSxFQUFFLDhCQUE4QixHQWtCM0M7O0FBakRmLEFBZ0NnQixJQWhDWixDQUNGLE1BQU0sQ0FHRixXQUFXLENBQ1QsQ0FBQyxDQUNDLENBQUMsQUFrQkUsS0FBSyxDQUNKLFdBQVcsQ0FPVCxVQUFVLENBQUEsRUFDUixPQUFPLEVBQUUsQ0FBQyxFQUNWLFdBQVcsRUFBRSxJQUFJLEdBY2xCOztBQWhEakIsQUFvQ29CLElBcENoQixDQUNGLE1BQU0sQ0FHRixXQUFXLENBQ1QsQ0FBQyxDQUNDLENBQUMsQUFrQkUsS0FBSyxDQUNKLFdBQVcsQ0FPVCxVQUFVLEFBR1Asa0JBQWtCLENBQ2pCLGdCQUFnQixDQUFBLEVBQ2QsU0FBUyxFQUFFLHNCQUFvQixDQUFDLGFBQWEsRUFDN0MsVUFBVSxFQUFFLG1CQUFtQixHQUtoQzs7QUEzQ3JCLEFBdUNzQixJQXZDbEIsQ0FDRixNQUFNLENBR0YsV0FBVyxDQUNULENBQUMsQ0FDQyxDQUFDLEFBa0JFLEtBQUssQ0FDSixXQUFXLENBT1QsVUFBVSxBQUdQLGtCQUFrQixDQUNqQixnQkFBZ0IsQUFHYixNQUFNLENBQUEsRUFDTCxTQUFTLEVBQUUsd0JBQXNCLENBQUMsYUFBYSxFQUMvQyxVQUFVLEVBQUUsaUJBQWlCLEdBQzlCOztBQTFDdkIsQUE2Q2tCLElBN0NkLENBQ0YsTUFBTSxDQUdGLFdBQVcsQ0FDVCxDQUFDLENBQ0MsQ0FBQyxBQWtCRSxLQUFLLENBQ0osV0FBVyxDQU9ULFVBQVUsQ0FhUixjQUFjLENBQUEsRUFDWixjQUFjLEVBQUUsTUFBTSxHQUN2Qjs7QUEvQ25CLEFBcURRLElBckRKLENBQ0YsTUFBTSxDQUdGLFdBQVcsQ0FpRFQsVUFBVSxDQUFBLEVBQ1IsS0FBSyxFQUFFLElBQUksRUFDWCxVQUFVLEVBQUUsTUFBTSxFQUNsQixRQUFRLEVBQUUsUUFBUSxHQWlLckI7O0FBek5QLEFBeURRLElBekRKLENBQ0YsTUFBTSxDQUdGLFdBQVcsQ0FpRFQsVUFBVSxDQUlWLEtBQUssQ0FBQSxFQUNILEtBQUssRUFBRSxnQ0FBbUMsRUFDMUMsU0FBUyxFQUFFLEtBQUssRUFDaEIsT0FBTyxFQUFFLFlBQVksRUFDckIsY0FBYyxFQUFFLEdBQUcsRUFDbkIsUUFBUSxFQUFFLFFBQVEsRUFDbEIsTUFBTSxFQUFFLENBQUMsQ05wRlosTUFBTSxDQUFOLE1BQU0sQ01vRm1CLENBQUMsRUFDdkIsTUFBTSxFQUFFLElBQUksR0ErRmI7O0FBL0pULEFBb0VnQixJQXBFWixDQUNGLE1BQU0sQ0FHRixXQUFXLENBaURULFVBQVUsQ0FJVixLQUFLLEdBUUMsV0FBVyxBQUNaLEtBQUssQ0FDSixDQUFDLENBQ0MsR0FBRyxDQUFBLEVBQ0QsTUFBTSxFQUFFLFlBQVksRUFDcEIsVUFBVSxFQUFFLGdCQUFnQixHQUM3Qjs7QUF2RWpCLEFBMkVVLElBM0VOLENBQ0YsTUFBTSxDQUdGLFdBQVcsQ0FpRFQsVUFBVSxDQUlWLEtBQUssQ0FrQkgsQ0FBQyxDQUFBLEVBQ0MsT0FBTyxFQUFFLEtBQUssRUFDZCxhQUFhLEVBQUUsR0FBRyxFQUNsQixRQUFRLEVBQUUsSUFBSSxHQUtmOztBQW5GWCxBQStFWSxJQS9FUixDQUNGLE1BQU0sQ0FHRixXQUFXLENBaURULFVBQVUsQ0FJVixLQUFLLENBa0JILENBQUMsQ0FJQyxHQUFHLENBQUEsRUFDRCxNQUFNLEVBQUUsWUFBWSxFQUNwQixVQUFVLEVBQUUsZ0JBQWdCLEdBQzdCOztBQWxGYixBQW9GVSxJQXBGTixDQUNGLE1BQU0sQ0FHRixXQUFXLENBaURULFVBQVUsQ0FJVixLQUFLLENBMkJILFlBQVksQ0FBQSxFQUNWLEtBQUssRUFBRSxJQUFJLEVBQ1gsT0FBTyxFTjNHWixNQUFNLEVNNEdELFNBQVMsRUFBRSxJQUFJLEVBQ2YsT0FBTyxFQUFFLElBQUksRUFDYix5QkFBeUIsRUFBRSxHQUFHLEVBQzlCLDBCQUEwQixFQUFFLEdBQUcsR0FNaEM7O0FBaEdYLEFBMkZZLElBM0ZSLENBQ0YsTUFBTSxDQUdGLFdBQVcsQ0FpRFQsVUFBVSxDQUlWLEtBQUssQ0EyQkgsWUFBWSxHQU9OLENBQUMsQ0FBQSxFQUNILFNBQVMsRUFBRSxNQUFNLEVBQ2pCLFdBQVcsRUFBRSxJQUFJLEVBQ2pCLFlBQVksRU5uSG5CLE1BQU0sR01vSEE7O0FBL0ZiLEFBa0dZLElBbEdSLENBQ0YsTUFBTSxDQUdGLFdBQVcsQ0FpRFQsVUFBVSxDQUlWLEtBQUssQUF3Q0YsTUFBTSxDQUNMLENBQUMsQ0FBQSxFQUNDLE9BQU8sRUFBRSxLQUFLLEdBS2Y7O0FBeEdiLEFBb0djLElBcEdWLENBQ0YsTUFBTSxDQUdGLFdBQVcsQ0FpRFQsVUFBVSxDQUlWLEtBQUssQUF3Q0YsTUFBTSxDQUNMLENBQUMsQ0FFQyxHQUFHLENBQUEsRUFDRCxNQUFNLEVBQUUsWUFBWSxFQUNwQixVQUFVLEVBQUUsZ0JBQWdCLEdBQzdCOztBQXZHZixBQXlHWSxJQXpHUixDQUNGLE1BQU0sQ0FHRixXQUFXLENBaURULFVBQVUsQ0FJVixLQUFLLEFBd0NGLE1BQU0sQ0FRTCxZQUFZLENBQUEsRUFDVixPQUFPLEVBQUUsV0FBVyxFQUNwQixRQUFRLEVBQUUsUUFBUSxFQUVsQixNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQTlHYixBQWdIVSxJQWhITixDQUNGLE1BQU0sQ0FHRixXQUFXLENBaURULFVBQVUsQ0FJVixLQUFLLEFBdURGLGFBQWEsQ0FBQSxFQUNaLGNBQWMsRUFBRSxRQUFRLENBQUEsVUFBVSxHQUNuQzs7QUFsSFgsQUFtSFUsSUFuSE4sQ0FDRixNQUFNLENBR0YsV0FBVyxDQWlEVCxVQUFVLENBSVYsS0FBSyxDQTBESCxLQUFLLENBQUEsRUFDSCxLQUFLLEVBQUUsMkJBQThCLEVBQ3JDLE9BQU8sRUFBRSxxQkFBcUIsRUFDOUIsVUFBVSxFTjNJZixNQUFNLEVNNElELGFBQWEsRUFBRSxHQUFHLEVBQ2xCLFFBQVEsRUFBRSxRQUFRLEdBc0NuQjs7QUE5SlgsQUF5SFksSUF6SFIsQ0FDRixNQUFNLENBR0YsV0FBVyxDQWlEVCxVQUFVLENBSVYsS0FBSyxDQTBESCxLQUFLLENBTUgsY0FBYyxDQUFBLEVBQ1osTUFBTSxFQUFFLG1CQUFtQixFQUMzQixPQUFPLEVBQUUsSUFBSSxFQUNiLFNBQVMsRUFBRSxJQUFJLEVBQ2YsZUFBZSxFQUFFLGFBQWEsRUFDOUIsV0FBVyxFQUFFLFFBQVEsR0FJdEI7O0FBbEliLEFBK0hjLElBL0hWLENBQ0YsTUFBTSxDQUdGLFdBQVcsQ0FpRFQsVUFBVSxDQUlWLEtBQUssQ0EwREgsS0FBSyxDQU1ILGNBQWMsQ0FNWixDQUFDLENBQUEsRUFDQyxPQUFPLEVBQUUsS0FBSyxHQUNmOztBQWpJZixBQXFJYyxJQXJJVixDQUNGLE1BQU0sQ0FHRixXQUFXLENBaURULFVBQVUsQ0FJVixLQUFLLENBMERILEtBQUssQ0FnQkgsVUFBVSxDQUVSLENBQUMsQ0FBQSxFQUNDLFNBQVMsRUFBRSxJQUFJLEVBQ2YsV0FBVyxFQUFFLE1BQU0sR0FDcEI7O0FBeElmLEFBMElZLElBMUlSLENBQ0YsTUFBTSxDQUdGLFdBQVcsQ0FpRFQsVUFBVSxDQUlWLEtBQUssQ0EwREgsS0FBSyxBQXVCRixTQUFTLENBQUEsRUFDUixVQUFVLEVOeElQLE9BQU8sR00wSVg7O0FBN0liLEFBOElZLElBOUlSLENBQ0YsTUFBTSxDQUdGLFdBQVcsQ0FpRFQsVUFBVSxDQUlWLEtBQUssQ0EwREgsS0FBSyxBQTJCRixRQUFRLENBQUEsRUFDUCxVQUFVLEVOM0lSLE9BQU8sR002SVY7O0FBakpiLEFBa0pZLElBbEpSLENBQ0YsTUFBTSxDQUdGLFdBQVcsQ0FpRFQsVUFBVSxDQUlWLEtBQUssQ0EwREgsS0FBSyxBQStCRixXQUFXLENBQUEsRUFDVixVQUFVLEVOOUlMLE9BQU8sR00rSWI7O0FBcEpiLEFBcUpZLElBckpSLENBQ0YsTUFBTSxDQUdGLFdBQVcsQ0FpRFQsVUFBVSxDQUlWLEtBQUssQ0EwREgsS0FBSyxBQWtDRixlQUFlLENBQUEsRUFDZCxVQUFVLEVOaEpGLE9BQU8sR01pSmhCOztBQXZKYixBQXdKWSxJQXhKUixDQUNGLE1BQU0sQ0FHRixXQUFXLENBaURULFVBQVUsQ0FJVixLQUFLLENBMERILEtBQUssQ0FxQ0gsV0FBVyxDQUFBLEVBQ1QsUUFBUSxFQUFFLFFBQVEsRUFDbEIsR0FBRyxFQUFFLEdBQUcsRUFDUixLQUFLLEVBQUUsQ0FBQyxFQUNSLFdBQVcsRUFBRSxDQUFDLEdBQ2Y7O0FBN0piLEFBbUtjLElBbktWLENBQ0YsTUFBTSxDQUdGLFdBQVcsQ0FpRFQsVUFBVSxBQTJHVCxTQUFTLENBQ1IsS0FBSyxBQUNGLE1BQU0sQ0FDTCxZQUFZLENBQUEsRUFDVixVQUFVLEVOaktULE9BQU8sR01rS1Q7O0FBcktmLEFBNEtjLElBNUtWLENBQ0YsTUFBTSxDQUdGLFdBQVcsQ0FpRFQsVUFBVSxBQW9IVCxRQUFRLENBQ1AsS0FBSyxBQUNGLE1BQU0sQ0FDTCxZQUFZLENBQUEsRUFDVixVQUFVLEVOektWLE9BQU8sR00wS1I7O0FBOUtmLEFBcUxjLElBckxWLENBQ0YsTUFBTSxDQUdGLFdBQVcsQ0FpRFQsVUFBVSxBQTZIVCxXQUFXLENBQ1YsS0FBSyxBQUNGLE1BQU0sQ0FDTCxZQUFZLENBQUEsRUFDVixVQUFVLEVOakxQLE9BQU8sR01rTFg7O0FBdkxmLEFBMkxRLElBM0xKLENBQ0YsTUFBTSxDQUdGLFdBQVcsQ0FpRFQsVUFBVSxBQXNJVCxlQUFlLENBQUEsRUFDZCxPQUFPLEVBQUUsT0FBTyxFQUNoQixrQkFBa0IsRUFBRSxHQUFHLEVBQ3ZCLGVBQWUsRUFBRSxHQUFHLEVBQ3BCLFVBQVUsRUFBRSxHQUFHLEVBQ2YsT0FBTyxFQUFFLEtBQUssRUFDZCxNQUFNLEVBQUUsU0FBUyxHQWFsQjs7QUE5TVQsQUFrTVUsSUFsTU4sQ0FDRixNQUFNLENBR0YsV0FBVyxDQWlEVCxVQUFVLEFBc0lULGVBQWUsQ0FPZCxDQUFDLENBQUEsRUFDQyxTQUFTLEVBQUUsSUFBSSxFQUNmLFdBQVcsRUFBRSxNQUFNLEVBQ25CLE1BQU0sRUFBRSxXQUFXLEdBQ3BCOztBQXRNWCxBQXlNYyxJQXpNVixDQUNGLE1BQU0sQ0FHRixXQUFXLENBaURULFVBQVUsQUFzSVQsZUFBZSxDQVlkLEtBQUssQUFDRixNQUFNLENBQ0wsWUFBWSxDQUFBLEVBQ1YsVUFBVSxFTnJNUCxPQUFPLEdNc01YOztBQTNNZixBQStNUSxJQS9NSixDQUNGLE1BQU0sQ0FHRixXQUFXLENBaURULFVBQVUsQUEwSlQsY0FBYyxFQS9NdkIsSUFBSSxDQUNGLE1BQU0sQ0FHRixXQUFXLENBaURULFVBQVUsQUEwSlEsaUJBQWlCLENBQUEsRUFDakMsT0FBTyxFQUFFLEtBQUssRUFDZCxLQUFLLEVBQUUsR0FBRyxFQUNWLFNBQVMsRUFBRSxLQUFLLEVBQ2hCLE1BQU0sRUFBRSxNQUFNLEdBS2Y7O0FBeE5ULEFBb05VLElBcE5OLENBQ0YsTUFBTSxDQUdGLFdBQVcsQ0FpRFQsVUFBVSxBQTBKVCxjQUFjLENBS2IsQ0FBQyxFQXBOWCxJQUFJLENBQ0YsTUFBTSxDQUdGLFdBQVcsQ0FpRFQsVUFBVSxBQTBKUSxpQkFBaUIsQ0FLakMsQ0FBQyxDQUFBLEVBQ0MsU0FBUyxFQUFFLElBQUksRUFDZixXQUFXLEVBQUUsTUFBTSxHQUNwQjs7QUF2TlgsQUEwTk0sSUExTkYsQ0FDRixNQUFNLENBR0YsV0FBVyxDQXNOWCxJQUFJLENBQUEsRUFDRixNQUFNLEVBQUUsT0FBTyxFQUNmLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLEtBQUssRUFBRSxJQUFJLEVBQ1gsVUFBVSxFQUFFLE1BQU0sR0FDbkI7O0FBL05QLEFBbU9JLElBbk9BLEFBa09ELElBQUssQ0FBQSxLQUFLLEVBQ1QsTUFBTSxDQUFBLEVBQ0osVUFBVSxFQUFFLG1CQUF5QixHQUN0Qzs7QUFJTCxBQUNFLFdBRFMsQ0FDVCxVQUFVLENBQUEsRUFDUixPQUFPLEVBQUUsTUFBTSxHQTJCaEI7O0FBN0JILEFBR0ksV0FITyxDQUNULFVBQVUsQ0FFUixjQUFjLENBQUEsRUFDWixLQUFLLEVBQUUsSUFBSSxFQUNYLE1BQU0sRUFBRSxJQUFJLEdBZWI7O0FBcEJMLEFBTU0sV0FOSyxDQUNULFVBQVUsQ0FFUixjQUFjLENBR1osZ0JBQWdCLENBQUEsRUFDZCxNQUFNLEVBQUUsR0FBRyxFQUNYLEtBQUssRUFBRSxJQUFJLEdBV1o7O0FBbkJQLEFBU1EsV0FURyxDQUNULFVBQVUsQ0FFUixjQUFjLENBR1osZ0JBQWdCLEFBR2IsUUFBUSxDQUFBLEVBQ1AsS0FBSyxFQUFFLElBQUksRUFDWCxNQUFNLEVBQUUsT0FBTyxFQUNmLEdBQUcsRUFBRSxHQUFHLEdBQ1Q7O0FBYlQsQUFjUSxXQWRHLENBQ1QsVUFBVSxDQUVSLGNBQWMsQ0FHWixnQkFBZ0IsQUFRYixPQUFPLENBQUEsRUFDTixHQUFHLEVBQUUsSUFBSSxFQUNULE1BQU0sRUFBRSxPQUFPLEVBQ2YsS0FBSyxFQUFFLE9BQU8sR0FDZjs7QUFsQlQsQUFzQk0sV0F0QkssQ0FDVCxVQUFVLEFBb0JQLGtCQUFrQixBQUFBLFVBQVUsQ0FDM0IsZ0JBQWdCLENBQUEsRUFDZCxTQUFTLEVBQUUsc0JBQXNCLENBQUMsYUFBYSxHQUloRDs7QUEzQlAsQUF3QlEsV0F4QkcsQ0FDVCxVQUFVLEFBb0JQLGtCQUFrQixBQUFBLFVBQVUsQ0FDM0IsZ0JBQWdCLEFBRWIsT0FBTyxDQUFFLEVBQ1IsU0FBUyxFQUFFLHdCQUF3QixDQUFDLGNBQWMsR0FDbkQ7O0FDdFNULEFBQUEsSUFBSSxBQUFBLGNBQWMsQ0FBQyxFQUNqQixNQUFNLEVBQUUsSUFBSSxFQUNaLFVBQVUsRUFBRSxLQUFLLEVBQ2pCLE9BQU8sRUFBRSxJQUFJLEVBQ2IsY0FBYyxFQUFFLE1BQU0sR0FLdkI7O0FBVEQsQUFNRSxJQU5FLEFBQUEsY0FBYyxDQU1oQixhQUFhLENBQUMsRUFDWixJQUFJLEVBQUUsUUFBUSxHQUNmOztBQUdILEFBQ0UsS0FERyxDQUNILE1BQU0sQ0FBQSxFQUNKLEtBQUssRUFBRSxPQUFPLEVBQ2QsT0FBTyxFQUFFLFdBQVcsRUFDcEIsUUFBUSxFQUFFLEtBQUssRUFDZixNQUFNLEVBQUUsSUFBSSxFQUNaLEtBQUssRUFBRSxJQUFJLEdBVVo7O0FBaEJILEFBT0ksS0FQQyxDQUNILE1BQU0sQ0FNSixDQUFDLENBQUEsRUFDQyxTQUFTLEVBQUUsSUFBSSxDQUFBLFVBQVUsRUFDekIsV0FBVyxFQUFFLElBQUksQ0FBQSxVQUFVLEdBTTVCOztBQWZMLEFBV00sS0FYRCxDQUNILE1BQU0sQ0FNSixDQUFDLENBR0MsQ0FBQyxDQUNELEdBQUcsQ0FBQSxFQUNDLEtBQUssRUFBRSxJQUFJLENBQUEsVUFBVSxHQUN0Qjs7QUN6QlQsQUFBQSxjQUFjLENBQUEsRUFDWixRQUFRLEVBQUUsS0FBSyxFQUNmLEtBQUssRUFBRSxJQUFJLEVBQ1gsTUFBTSxFQUFFLElBQUksRUFFWixJQUFJLEVBQUUsTUFBTSxFQUNaLEdBQUcsRUFBRSxDQUFDLEVBQ04sVUFBVSxFQUFFLGVBQWUsRUFDM0IsVUFBVSxFQUFFLFNBQVMsRUFDckIsT0FBTyxFQUFFLElBQUksR0E4SmQ7O0FBdktELEFBV0ksY0FYVSxDQVVaLEVBQUUsQ0FDQSxJQUFJLENBQUEsRUFDRixXQUFXLEVBQUUsSUFBSSxHQUNsQjs7QUFiTCxBQW9CRSxjQXBCWSxDQW9CWixXQUFXLENBQUEsRUFDVCxPQUFPLEVBQUUsSUFBSSxFQUNiLFFBQVEsRUFBRSxLQUFLLEVBQ2YsR0FBRyxFQUFFLElBQUksRUFDVCxLQUFLLEVBQUUsQ0FBQyxHQUNUOztBQXpCSCxBQTBCRSxjQTFCWSxDQTBCWixhQUFhLENBQUEsRUFDWCxNQUFNLEVBQUUsSUFBSSxFQUNaLFFBQVEsRUFBRSxJQUFJLEdBK0dmOztBQTNJSCxBQTZCSSxjQTdCVSxDQTBCWixhQUFhLENBR1gsV0FBVyxDQUFBLEVBQ1QsWUFBWSxFQUFFLE1BQU0sR0FRckI7O0FBdENMLEFBK0JNLGNBL0JRLENBMEJaLGFBQWEsQ0FHWCxXQUFXLEFBRVIsT0FBTyxDQUFBLEVBQ04sT0FBTyxFQUFFLEdBQUcsRUFDWixLQUFLLEVBQUUsQ0FBQyxFQUNSLE1BQU0sRUFBRSxHQUFHLEVBQ1gsT0FBTyxFQUFFLEtBQUssRUFDZCxVQUFVLEVBQUUsTUFBTSxHQUNuQjs7QUFyQ1AsQUF1Q0ksY0F2Q1UsQ0EwQlosYUFBYSxDQWFYLGVBQWUsQ0FBQSxFQUNiLE9BQU8sRUFBRSxXQUFXLEdBQ3JCOztBQXpDTCxBQTBDSSxjQTFDVSxDQTBCWixhQUFhLENBZ0JYLFVBQVUsQ0FBQSxFQUNSLEtBQUssRUFBRSxHQUFHLEVBQ1YsT0FBTyxFQUFFLENBQUMsRUFDVixRQUFRLEVBQUUsUUFBUSxFQUNsQixRQUFRLEVBQUUsSUFBSSxFQUNkLE9BQU8sRUFBRSxxQkFBcUIsRUFDOUIsVUFBVSxFQUFFLElBQUksR0FtRmpCOztBQW5JTCxBQWlETSxjQWpEUSxDQTBCWixhQUFhLENBZ0JYLFVBQVUsQUFPUCxPQUFPLENBQUEsRUFDTixPQUFPLEVBQUUsR0FBRyxFQUNaLE1BQU0sRUFBRSxDQUFDLEVBQ1QsS0FBSyxFQUFFLEdBQUcsRUFDVixPQUFPLEVBQUUsS0FBSyxFQUNkLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLEdBQUcsRUFBRSxDQUFDLEVBQ04sWUFBWSxFQUFFLElBQUksRUFDbEIsS0FBSyxFQUFDLENBQUMsR0FDUjs7QUExRFAsQUEyREksY0EzRFUsQ0EwQlosYUFBYSxDQWdCWCxVQUFVLENBaUJWLEVBQUUsQ0FBQSxFQUNBLGFBQWEsRUFBRSxJQUFJLEdBc0VwQjs7QUFsSUwsQUE2RE0sY0E3RFEsQ0EwQlosYUFBYSxDQWdCWCxVQUFVLENBaUJWLEVBQUUsQ0FFQSxJQUFJLEFBQUEsSUFBSSxDQUFBLEVBQ04sT0FBTyxFQUFFLEtBQUssRUFDZCxXQUFXLEVBQUUsSUFBSSxHQUNsQjs7QUFoRVAsQUFpRU0sY0FqRVEsQ0EwQlosYUFBYSxDQWdCWCxVQUFVLENBaUJWLEVBQUUsQ0FNQSxFQUFFLENBQUEsRUFDQSxPQUFPLEVBQUUsV0FBVyxFQUNwQixXQUFXLEVBQUUsUUFBUSxFQUNyQixLQUFLLEVBQUUsSUFBSSxFQUNYLFFBQVEsRUFBRSxRQUFRLEdBcURuQjs7QUExSFAsQUFzRVEsY0F0RU0sQ0EwQlosYUFBYSxDQWdCWCxVQUFVLENBaUJWLEVBQUUsQ0FNQSxFQUFFLENBS0EsQ0FBQyxDQUFBLEVBQ0MsT0FBTyxFQUFFLENBQUMsRUFDVixPQUFPLEVBQUUsS0FBSyxFQUNkLFVBQVUsRUFBRSxTQUFTLEVBQ3JCLFVBQVUsRUFBRSxlQUFlLEVBQzNCLFlBQVksRUFBRSxHQUFHLEVBQ2pCLE9BQU8sRUFBRSxLQUFLLEdBb0JmOztBQWhHVCxBQTZFVSxjQTdFSSxDQTBCWixhQUFhLENBZ0JYLFVBQVUsQ0FpQlYsRUFBRSxDQU1BLEVBQUUsQ0FLQSxDQUFDLENBT0MsSUFBSSxDQUFBLEVBQ0YsY0FBYyxFQUFFLElBQUksRUFDcEIsT0FBTyxFQUFFLElBQUksRUFDYixRQUFRLEVBQUUsS0FBSyxFQUNmLEtBQUssRUFBRSxLQUFLLEVBQ1osTUFBTSxFQUFFLElBQUksRUFDWixPQUFPLEVBQUUsR0FBRyxFQUNaLGdCQUFnQixFQUFFLGFBQWEsRUFDL0IsU0FBUyxFQUFFLFlBQVksRUFDdkIsYUFBYSxFQUFFLElBQUksRUFDbkIsUUFBUSxFQUFFLE1BQU0sR0FDakI7O0FBeEZYLEFBeUZVLGNBekZJLENBMEJaLGFBQWEsQ0FnQlgsVUFBVSxDQWlCVixFQUFFLENBTUEsRUFBRSxDQUtBLENBQUMsQUFtQkUsTUFBTSxDQUFBLEVBQ0wsT0FBTyxFQUFFLEdBQUcsR0FLYjs7QUEvRlgsQUEyRlksY0EzRkUsQ0EwQlosYUFBYSxDQWdCWCxVQUFVLENBaUJWLEVBQUUsQ0FNQSxFQUFFLENBS0EsQ0FBQyxBQW1CRSxNQUFNLENBRUwsSUFBSSxDQUFBLEVBQ0YsT0FBTyxFQUFFLEtBQUssRUFDZCxVQUFVLEVBQUUsV0FBVyxHQUN4Qjs7QUE5RmIsQUFtR1ksY0FuR0UsQ0EwQlosYUFBYSxDQWdCWCxVQUFVLENBaUJWLEVBQUUsQ0FNQSxFQUFFLEFBZ0NDLE1BQU0sQUFDSixXQUFXLENBQ1YsQ0FBQyxDQUFBLEVBQ0MsVUFBVSxFUjNETCxPQUFPLEVRNERaLFVBQVUsRUFBRSxlQUFlLEdBQzVCOztBQXRHYixBQXlHWSxjQXpHRSxDQTBCWixhQUFhLENBZ0JYLFVBQVUsQ0FpQlYsRUFBRSxDQU1BLEVBQUUsQUFnQ0MsTUFBTSxBQU9KLFFBQVEsQ0FDUCxDQUFDLENBQUEsRUFDQyxVQUFVLEVSbEVSLE9BQU8sRVFtRVQsVUFBVSxFQUFFLGVBQWUsR0FDNUI7O0FBNUdiLEFBK0dZLGNBL0dFLENBMEJaLGFBQWEsQ0FnQlgsVUFBVSxDQWlCVixFQUFFLENBTUEsRUFBRSxBQWdDQyxNQUFNLEFBYUosU0FBUyxDQUNSLENBQUMsQ0FBQSxFQUNDLFVBQVUsRVJ6RVAsT0FBTyxFUTBFVixVQUFVLEVBQUUsZUFBZSxHQUM1Qjs7QUFsSGIsQUFxSFUsY0FySEksQ0EwQlosYUFBYSxDQWdCWCxVQUFVLENBaUJWLEVBQUUsQ0FNQSxFQUFFLEFBZ0NDLE1BQU0sQUFvQkosUUFBUSxDQUFBLEVBQ1AsU0FBUyxFQUFFLElBQUksRUFDZixVQUFVLEVBQUUsZUFBZSxHQUM1Qjs7QUF4SFgsQUEySE0sY0EzSFEsQ0EwQlosYUFBYSxDQWdCWCxVQUFVLENBaUJWLEVBQUUsQ0FnRUEsQ0FBQyxDQUFBLEVBQ0MsS0FBSyxFQUFFLEtBQUssRUFDWixPQUFPLEVBQUUsR0FBRyxHQUliOztBQWpJUCxBQThIUSxjQTlITSxDQTBCWixhQUFhLENBZ0JYLFVBQVUsQ0FpQlYsRUFBRSxDQWdFQSxDQUFDLEFBR0UsT0FBTyxDQUFBLEVBQ04sS0FBSyxFQUFFLEtBQUssR0FDYjs7QUFoSVQsQUFvSUksY0FwSVUsQ0EwQlosYUFBYSxDQTBHWCxhQUFhLENBQUEsRUFDWCxTQUFTLEVBQUUsS0FBSyxFQUNoQixRQUFRLEVBQUUsUUFBUSxFQUNsQixNQUFNLEVBQUUsSUFBSSxFQUNaLFlBQVksRUFBRSxJQUFJLEVBQ2xCLE9BQU8sRUFBRSxDQUFDLEdBQ1Y7O0FBMUlOLEFBNElFLGNBNUlZLEFBNElYLFVBQVUsQ0FBQSxFQUNULElBQUksRUFBRSxDQUFDLEVBQ1AsVUFBVSxFQUFFLG1CQUFtQixHQXdCaEM7O0FBdEtILEFBZ0pNLGNBaEpRLEFBNElYLFVBQVUsQ0FHVCxXQUFXLEFBQ1IsT0FBTyxDQUFBLEVBQ04sS0FBSyxFQUFFLElBQUksRUFDWCxVQUFVLEVBQUUsS0FBSyxFQUNqQixVQUFVLEVBQUUsa0JBQWtCLEdBQy9COztBQXBKUCxBQXNKSSxjQXRKVSxBQTRJWCxVQUFVLENBVVQsYUFBYSxDQUFBLEVBQ1gsWUFBWSxFQUFFLElBQUksRUFDbEIsT0FBTyxFQUFFLENBQUMsRUFDVixVQUFVLEVBQUUsa0JBQWtCLEdBRS9COztBQTNKTCxBQTRKSSxjQTVKVSxBQTRJWCxVQUFVLENBZ0JULFVBQVUsQ0FBQSxFQUNSLFVBQVUsRUFBRSxDQUFDLEVBQ2IsT0FBTyxFQUFFLENBQUMsRUFDVixVQUFVLEVBQUUsa0JBQWtCLEdBTS9COztBQXJLTCxBQWdLTSxjQWhLUSxBQTRJWCxVQUFVLENBZ0JULFVBQVUsQUFJUCxPQUFPLENBQUEsRUFDTixVQUFVLEVBQUUsS0FBSyxFQUNqQixNQUFNLEVBQUUsSUFBSSxFQUNaLFVBQVUsRUFBRSxtQkFBbUIsR0FDaEM7O0FDcEtQLEFBQUEsVUFBVSxDQUFBLEVBQ04sT0FBTyxFQUFFLFdBQVcsRUFDcEIsU0FBUyxFQUFFLElBQUksRUFDZixLQUFLLEVBQUUsSUFBSSxHQWdCZDs7QUFuQkQsQUFJRSxVQUpRLENBSVIsS0FBSyxDQUFBLEVBQ0gsS0FBSyxFVGNGLCtCQUFvQyxFU2J2QyxNQUFNLEVBQUUsSUFBSSxHQVliOztBQWxCSCxBQU9JLFVBUE0sQ0FJUixLQUFLLEFBR0YsVUFBVyxDQUFBLEdBQUcsRUFBQyxFQUNkLFlBQVksRVRRVixJQUFJLEdTUFA7O0FBVEwsQUFVSSxVQVZNLENBSVIsS0FBSyxDQU1ILFlBQVksQ0FBQSxFQUNWLE9BQU8sRUFBRSxHQUFHLEVBQ1osT0FBTyxFQUFFLFdBQVcsRUFDcEIsS0FBSyxFQUFFLElBQUksR0FJWjs7QUFqQkwsQUFjTSxVQWRJLENBSVIsS0FBSyxDQU1ILFlBQVksR0FJTixDQUFDLENBQUMsRUFDSixZQUFZLEVUQWIsTUFBTSxHU0NOOztBQ2hCUCxBQUNFLEtBREcsQ0FDSCxVQUFVLENBQUEsRUFDUixLQUFLLEVBQUUsR0FBRyxFQUNWLFNBQVMsRUFBRSxLQUFLLEVBQ2hCLE1BQU0sRUFBRSxVQUFVLEdBQ2pCOztBQUxMLEFBT0ksS0FQQyxDQU1ILFdBQVcsQ0FDVCxHQUFHLEFBQUEsSUFBSyxDQUFBLGFBQWEsRUFBQyxFQUNwQixhQUFhLEVBQUUsTUFBTSxHQUN0Qjs7QUFJTCxBQUFBLGNBQWMsQ0FBQSxFQUNaLFVBQVUsRUFBRSxlQUFlLEVBQzNCLE9BQU8sRUFBRSxJQUFJLEVBQ2IsU0FBUyxFQUFFLElBQUksRUFDZixVQUFVLEVWREosSUFBSSxFVUVWLGFBQWEsRVZGUCxJQUFJLEdVb0JYOztBQXZCRCxBQU1FLGNBTlksQ0FNWixFQUFFLENBQUEsRUFDQSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ1ZMWCxNQUFNLENVS1ksQ0FBQyxFQUN0QixLQUFLLEVBQUUsSUFBSSxHQUNaOztBQVRILEFBVUUsY0FWWSxDQVVaLEtBQUssQ0FBQSxFQUNILEtBQUssRVZIRiwrQkFBb0MsR1VjeEM7O0FBdEJILEFBWUksY0FaVSxDQVVaLEtBQUssQUFFRixVQUFXLENBQUEsS0FBSyxFQUFDLEVBQ2hCLFlBQVksRVZYWCxNQUFNLEdVWVI7O0FBZEwsQUFlSSxjQWZVLENBVVosS0FBSyxDQUtILFlBQVksQ0FBQSxFQUNWLE9BQU8sRUFBRSxJQUFJLEVBQ2IsU0FBUyxFQUFFLElBQUksR0FJaEI7O0FBckJMLEFBa0JNLGNBbEJRLENBVVosS0FBSyxDQUtILFlBQVksR0FHTixDQUFDLENBQUEsRUFDSCxZQUFZLEVWakJiLE1BQU0sR1VrQk47O0FDakNQLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU0sSUFDbEMsQUFDRSxJQURFLENBQ0YsTUFBTSxDQUFBLEVBQ0osS0FBSyxFWDBCRixHQUFHLEdXTlA7RUF0QkgsQUFLUSxJQUxKLENBQ0YsTUFBTSxDQUVKLFdBQVcsQ0FDVCxVQUFVLEFBQ1AsY0FBYyxFQUx2QixJQUFJLENBQ0YsTUFBTSxDQUVKLFdBQVcsQ0FDVCxVQUFVLEFBQ1UsaUJBQWlCLENBQUEsRUFDakMsS0FBSyxFQUFFLElBQUksR0FDWjtFQVBULEFBUVEsSUFSSixDQUNGLE1BQU0sQ0FFSixXQUFXLENBQ1QsVUFBVSxDQUlSLEtBQUssQ0FBQSxFQUNILEtBQUssRVhvQlIsMkJBQTJCLEdXVnpCO0VBbkJULEFBVVUsSUFWTixDQUNGLE1BQU0sQ0FFSixXQUFXLENBQ1QsVUFBVSxDQUlSLEtBQUssQ0FFSCxLQUFLLENBQUEsRUFDSCxLQUFLLEVBQUUsd0JBQXdCLEdBT2hDO0VBbEJYLEFBWVksSUFaUixDQUNGLE1BQU0sQ0FFSixXQUFXLENBQ1QsVUFBVSxDQUlSLEtBQUssQ0FFSCxLQUFLLENBRUgsY0FBYyxDQUFBLEVBQ1osTUFBTSxFQUFFLG1CQUFtQixHQUM1QjtFQWRiLEFBZVksSUFmUixDQUNGLE1BQU0sQ0FFSixXQUFXLENBQ1QsVUFBVSxDQUlSLEtBQUssQ0FFSCxLQUFLLENBS0gsVUFBVSxDQUFBLEVBQ1IsS0FBSyxFQUFFLElBQUksR0FDWjs7QUFVZixNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNLElBQ2xDLEFBRUksY0FGVSxDQUNaLGFBQWEsQ0FDWCxVQUFVLENBQUEsRUFDUixLQUFLLEVBQUUsSUFBSSxFQUNYLEtBQUssRUFBRSxJQUFJLEVBQ1gsY0FBYyxFQUFFLENBQUMsR0FDbEI7RUFOTCxBQU9JLGNBUFUsQ0FDWixhQUFhLENBTVgsYUFBYSxDQUFBLEVBQ1gsS0FBSyxFQUFFLElBQUksRUFDWCxZQUFZLEVBQUUsTUFBTSxFQUNwQixXQUFXLEVBQUUsSUFBSSxHQUNsQjtFQUdMLEFBQUEsVUFBVSxDQUFBLEVBQ1IsS0FBSyxFQUFFLElBQUksQ0FBQSxVQUFVLEdBQ3RCOztBQUdILE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUssSUFDakMsQUFBQSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFBLEVBQ3RDLEtBQUssRUFBRSx3QkFBd0IsR0FJaEM7RUFMRCxBQUVFLElBRkUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBRXRDLEtBQUssQ0FBQSxFQUNILEtBQUssRUFBRSxtQkFBbUIsR0FDM0I7O0FBS0wsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSyxJQUNqQyxBQUNFLElBREUsQ0FDRixNQUFNLENBQUEsRUFDSixLQUFLLEVYakNKLGtCQUFrQixFV2tDbkIsTUFBTSxFQUFFLHFCQUFxQixHQW1DOUI7RUF0Q0gsQUFLTSxJQUxGLENBQ0YsTUFBTSxDQUdKLFdBQVcsQ0FDVCxDQUFDLENBQUEsRUFDQyxTQUFTLEVBQUUsTUFBTSxFQUNqQixXQUFXLEVBQUUsTUFBTSxHQUNwQjtFQVJQLEFBU00sSUFURixDQUNGLE1BQU0sQ0FHSixXQUFXLENBS1QsVUFBVSxDQUFBLEVBQ1IsS0FBSyxFQUFFLElBQUksQ0FBQSxVQUFVLEdBMEJ0QjtFQXBDUCxBQVdRLElBWEosQ0FDRixNQUFNLENBR0osV0FBVyxDQUtULFVBQVUsQUFFUCxjQUFjLEVBWHZCLElBQUksQ0FDRixNQUFNLENBR0osV0FBVyxDQUtULFVBQVUsQUFFVSxpQkFBaUIsQ0FBQSxFQUNqQyxTQUFTLEVBQUUsSUFBSSxHQUNoQjtFQWJULEFBY1EsSUFkSixDQUNGLE1BQU0sQ0FHSixXQUFXLENBS1QsVUFBVSxDQUtSLEtBQUssQ0FBQSxFQUNILEtBQUssRUFBRSxVQUFVLEVBQ2pCLE1BQU0sRUFBRSxZQUFZLEdBbUJyQjtFQW5DVCxBQWlCVSxJQWpCTixDQUNGLE1BQU0sQ0FHSixXQUFXLENBS1QsVUFBVSxDQUtSLEtBQUssQ0FHSCxLQUFLLENBQUEsRUFDSCxLQUFLLEVBQUUsSUFBSSxFQUNYLE9BQU8sRUFBRSxJQUFJLEdBZWQ7RUFsQ1gsQUFvQlksSUFwQlIsQ0FDRixNQUFNLENBR0osV0FBVyxDQUtULFVBQVUsQ0FLUixLQUFLLENBR0gsS0FBSyxDQUdILFVBQVUsQ0FBQSxFQUNSLFNBQVMsRUFBRSxJQUFJLEVBQ2YsTUFBTSxFQUFFLE1BQU0sR0FDZjtFQXZCYixBQXlCYyxJQXpCVixDQUNGLE1BQU0sQ0FHSixXQUFXLENBS1QsVUFBVSxDQUtSLEtBQUssQ0FHSCxLQUFLLENBT0gsY0FBYyxDQUNaLEVBQUUsQ0FBQSxFQUNBLFNBQVMsRUFBRSxlQUFlLEVBQzFCLFdBQVcsRUFBRSxpQkFBaUIsR0FDL0I7RUE1QmYsQUE2QmMsSUE3QlYsQ0FDRixNQUFNLENBR0osV0FBVyxDQUtULFVBQVUsQ0FLUixLQUFLLENBR0gsS0FBSyxDQU9ILGNBQWMsR0FLUixHQUFHLENBQUEsRUFDTCxXQUFXLEVBQUUsSUFBSSxHQUNsQjtFQS9CZixBQXVDRSxJQXZDRSxDQXVDRixjQUFjLENBQUEsRUFDWixLQUFLLEVBQUUsSUFBSSxFQUNYLEtBQUssRUFBRSxLQUFLLEdBb0ViO0VBN0dILEFBMENJLElBMUNBLENBdUNGLGNBQWMsQ0FHWixXQUFXLENBQUEsRUFDVCxPQUFPLEVBQUUsQ0FBQyxFQUVWLEdBQUcsRUFBRSxDQUFDLEdBS1A7RUFsREwsQUE4Q00sSUE5Q0YsQ0F1Q0YsY0FBYyxDQUdaLFdBQVcsQ0FJVCxVQUFVLENBQUEsRUFDUixLQUFLLEVBQUUsS0FBSyxFQUNaLE9BQU8sRUFBRSxHQUFHLEdBQ2I7RUFqRFAsQUFtREksSUFuREEsQ0F1Q0YsY0FBYyxDQVlaLGFBQWEsQ0FBQSxFQUNYLE9BQU8sRUFBRSxHQUFHLEdBMkNiO0VBL0ZMLEFBc0RRLElBdERKLENBdUNGLGNBQWMsQ0FZWixhQUFhLENBRVgsV0FBVyxDQUNULEVBQUUsQ0FBQSxFQUNBLFNBQVMsRUFBRSxNQUFNLEVBQ2pCLFdBQVcsRUFBRSxNQUFNLEdBQ3BCO0VBekRULEFBNERRLElBNURKLENBdUNGLGNBQWMsQ0FZWixhQUFhLENBUVgsRUFBRSxDQUNBLEVBQUUsQ0FBQSxFQUNBLFVBQVUsRUFBRSxDQUFDLENBQUEsVUFBVSxFQUN2QixPQUFPLEVBQUUsT0FBTyxDQUFBLFVBQVUsRUFDMUIsU0FBUyxFQUFFLElBQUksRUFDZixXQUFXLEVBQUUsTUFBTSxHQWlCcEI7RUFqRlQsQUFpRVUsSUFqRU4sQ0F1Q0YsY0FBYyxDQVlaLGFBQWEsQ0FRWCxFQUFFLENBQ0EsRUFBRSxBQUtDLFFBQVEsQ0FBQSxFQUNQLEtBQUssRUFBRSxJQUFJLEdBQ1o7RUFuRVgsQUFvRVUsSUFwRU4sQ0F1Q0YsY0FBYyxDQVlaLGFBQWEsQ0FRWCxFQUFFLENBQ0EsRUFBRSxDQVFBLENBQUMsQ0FBQSxFQUNDLE9BQU8sRUFBRSxPQUFPLENBQUEsVUFBVSxFQUMxQixPQUFPLEVBQUUsSUFBSSxDQUFBLFVBQVUsRUFDdkIsU0FBUyxFQUFFLElBQUksRUFDZixXQUFXLEVBQUUsTUFBTSxHQUlwQjtFQTVFWCxBQXlFWSxJQXpFUixDQXVDRixjQUFjLENBWVosYUFBYSxDQVFYLEVBQUUsQ0FDQSxFQUFFLENBUUEsQ0FBQyxDQUtDLEdBQUcsQ0FBQSxFQUNELE9BQU8sRUFBRSxJQUFJLENBQUEsVUFBVSxHQUN4QjtFQTNFYixBQTZFVSxJQTdFTixDQXVDRixjQUFjLENBWVosYUFBYSxDQVFYLEVBQUUsQ0FDQSxFQUFFLEdBaUJHLElBQUksQ0FBQSxFQUNMLFNBQVMsRUFBRSxJQUFJLEVBQ2YsV0FBVyxFQUFFLE1BQU0sR0FDcEI7RUFoRlgsQUFtRk0sSUFuRkYsQ0F1Q0YsY0FBYyxDQVlaLGFBQWEsQ0FnQ1gsZUFBZSxDQUFBLEVBQ2IsT0FBTyxFQUFFLEtBQUssR0FVZjtFQTlGUCxBQXNGVSxJQXRGTixDQXVDRixjQUFjLENBWVosYUFBYSxDQWdDWCxlQUFlLENBRWIsVUFBVSxBQUNQLE9BQU8sQ0FBQSxFQUNOLE1BQU0sRUFBRSxHQUFHLEVBQ1gsS0FBSyxFQUFFLENBQUMsRUFDUixNQUFNLEVBQUUsQ0FBQyxFQUNULEdBQUcsRUFBRSxJQUFJLENBQUEsVUFBVSxFQUNuQixJQUFJLEVBQUUsQ0FBQyxDQUFBLFVBQVUsR0FDbEI7RUE1RlgsQUFrR1EsSUFsR0osQ0F1Q0YsY0FBYyxBQXlEWCxVQUFVLENBQ1QsVUFBVSxBQUNQLE9BQU8sQ0FBQSxFQUNOLEtBQUssRUFBRSxJQUFJLENBQUEsVUFBVSxFQUNyQixVQUFVLEVBQUUsZ0JBQWdCLEdBQzdCO0VBckdULEFBeUdNLElBekdGLENBdUNGLGNBQWMsQ0FpRVosYUFBYSxDQUNYLEVBQUUsQ0FBQSxFQUNBLFNBQVMsRUFBRSxNQUFNLEdBQ2xCO0VBS1AsQUFBQSxNQUFNLENBQUEsRUFDSixPQUFPLEVBQUUsR0FBRyxFQUNaLGVBQWUsRUFBRSxNQUFNLEVBQ3ZCLEtBQUssRUFBRSxJQUFJLEVBQ1gsTUFBTSxFQUFFLENBQUMsQ0FBQSxVQUFVLEVBQ25CLElBQUksRUFBRSxDQUFDLENBQUEsVUFBVSxFQUNqQixPQUFPLEVBQUUsTUFBTSxFQUNmLGdCQUFnQixFQUFFLFNBQVMsR0FDNUI7RUFFRCxBQUFBLGFBQWEsQUFBQSxLQUFLLENBQUEsRUFDaEIsS0FBSyxFQUFFLEtBQUssQ0FBQSxVQUFVLEVBQ3RCLE1BQU0sRUFBRSxLQUFLLENBQUEsVUFBVSxHQUN4QiJ9 */