/*
---
name: .stretch
category: Shared/Helpers
tag:
 - helpers
---

`.stretch` Define an element which stretches to the size of its parent

```html
<div class="rel" style="height: 55px;">
   <div class="stretch styleguide-grid-unit"> I'm stretched to the size of my parent</div>
</div>
```
*/
.stretch {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/*
---
name: .abs
category: Shared/Helpers
tag:
 - helpers
---

`.abs` Set the element position to absolute
*/
.abs {
  position: absolute;
}
/*
---
name: .rel
category: Shared/Helpers
tag:
 - helpers
---

`.rel` Set the element position to relative
*/
.rel {
  position: relative;
}
/*
---
name: .vcenter
category: Shared/Helpers
tag:
 - helpers
---

`.vcenter` Sets vertical-align to middle
*/
.vcenter {
  vertical-align: middle;
}
/*
---
name: .hcenter
category: Shared/Helpers
tag:
 - helpers
---

`.hcenter` Sets text-align to center
*/
.hcenter {
  text-align: center;
}
/*
---
name: .floatleft
category: Shared/Helpers
tag:
 - helpers
---

`.floatleft` Sets float to left
*/
.floatleft {
  float: left;
}
/*
---
name: .floatright
category: Shared/Helpers
tag:
 - helpers
---

`.floatright` Sets float to right
*/
.floatright {
  float: right;
}
/*
---
name: .hidden
category: Shared/Helpers
tag:
 - helpers
---

`.hidden` Sets display to none.
*/
.hidden {
  display: none;
}
/*
---
name: rem( pixels )
category: Shared/Mixins
template: mixin
tag:
 - mixin
parameters:
 - name: pixels
   description: The pixel value to convert into rem based on the 16px root font-size
   optional: false
---

This less function turns a pixel value into a rem value based on the root font-size set to 16px.

An example usage looks like this:

```less
.example {
	padding: rem( 15px ) rem( 12px )
}
```
*/
/*
---
name: .for( @array, @code )
category: Shared/Mixins
template: mixin
tag:
 - mixin
parameters:
 - name: array
   description: The array of values to loop over
   optional: false
 - name: code
   description: The code that is executed on every value. You can access the index with `@i` and the value with `@value`
   optional: false
---

This mixin allows to execute code over an array

An example usage looks like this:
```less
@colors: #1abc9c, #2ecc71, #3498db, #9b59b6;

.for(@colors, {
    .color-@{i} {
        color: @value;
    }
});
```

This generates:
```css
.color-1 {
  color: #1abc9c;
}
.color-2 {
  color: #2ecc71;
}
.color-3 {
  color: #3498db;
}
.color-4 {
  color: #9b59b6;
}
```
*/
/*
---
name: Global Reset
category: Shared
---

The lernetz css library has a set of reset style to have the same behaviour on every browser.
Furthermore this reset sets some global variables like:
 * body font-families
 * body line-height
 * body text-rendering
 * :root font-size for proper rem conversion
*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: inherit;
  vertical-align: baseline;
}
:root {
  font-size: 16px;
}
html {
  font-size: 100%;
}
body {
  line-height: 1.5rem;
  color: #000000;
  font-family: 'Helvetica', sans-serif;
  text-rendering: optimizeLegibility;
  background-color: #FFF;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
select {
  vertical-align: middle;
}
textarea {
  width: 100%;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
/*
 * Normalize the behaviour of all browsers
 *
 * Instead of setting box-sizing fix on all elements we only set it on the root element
 * and tell all elements to inherit it's property from the parent
 * That way it's possible to overwrite the box-sizing anywhere while keeping proper inheritance
 */
html {
  box-sizing: border-box;
}
*,
*:before,
*:after {
  box-sizing: inherit;
}
a {
  text-decoration: none;
  color: #5C5AA5;
}
a > img {
  display: block;
}
/*
---
name: Colors
category: Shared/Variables
template: colors
tag:
 - variables
 - colors
colors:
 - variable: "@text-color"
   description: "The default text color on the body"
   value: "#3F3F40"
 - variable: "@text-inverted-color"
   description: "The default inverted text color on the body"
   value: "#FFF"
 - variable: "@action-color"
   description: "The main action color used for links and buttons"
   value: "#EC6449"
 - variable: "@body-color"
   description: "The main background color"
   value: "#FFF"
---

The color variables that are used throughout the library. 
*/
/*
---
name: Global settings
category: Shared/Variables
template: variables
tag:
 - variables
variables:
 - name: "@text-line-height"
   description: "The line height of the body"
   default: "1.5rem"
 - name: "@font-family"
   description: "The font-family of the body"
   default: "'Helvetica', sans-serif"
 - name: "@text-rendering"
   description: "The text-rendering of the body"
   default: "optimizeLegibility"
 - name: "@transition-duration"
   description: "The duration of the slide transitions"
   default: "0.4s"
---

These variables setups some global text formatting and styling.
*/
/*
---
name: Size settings
category: Shared/Variables
template: variables
tag:
 - variables
 - grid
variables:
 - name: "@grid-gutter"
   description: "The space between the grid children"
   default: "rem( 30px )"
 - name: "@grid-break-points"
   description: "The screensize when the grid should break."
   default: "rem(600px), rem(1024px)"
 - name: "@grid-break-labels"
   description: "The breakpoint label corresponding to the entie in the `@grid-break-points` list"
   default: "medium, large"
 - name: "@page-padding"
   description: "The padding for the .page-fluid component"
   default: "rem( 60px )"
---

These variables setups some global sizes mainly for the grid.
*/
/*
---
name: .button-default
category: Buttons/Default
tag:
 - component
 - button
---

The default button sets some basic properties so it is working as a `button` or `a` tag.

An example for a button:
```jade
button.button-default My Button
```

An example for a link:
```jade
a.button-default My Link
```
*/
.button-default {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  display: inline-block;
  cursor: pointer;
  outline: none;
}
/*
---
name: .grid
category: Layout/Grid
tag:
 - component
 - responsive
compile: true
---

A simple grid system that wraps children nodes based on the viewport width.

## Simple side by side rendering

The easiest use case is to use simple `.col-1`, `.col-1-2`, `.col-1-3`, `.col-1-4` for a side-by-side rendering.
The default value for all child elements of a `.grid` is equivalent to `.col-1`, so for only one child it will span the full width.

```jade
div.grid
	div.col-1-2 
		div.aigis-debug col-1-2
	div.col-1-2
		div.aigis-debug col-1-2
```
```jade
div.grid
	div.col-1-4 
		div.aigis-debug col-1-4
	div.col-3-4
		div.aigis-debug col-3-4
```

## Layouts on different devices

The breakpoints for different screen sizes are specified in the `@grid-break-points`, `@grid-break-labels` variables.
The default values define two breakpoints with labels: `.medium-X-X` and `.large-X-X`.
So an example grid with two breakpoints looks like this:

```jade
div.grid
	div.medium-1-2.large-1-4.xlarge-1-2
		div.aigis-debug col-1 medium-1-2 large-1-4
	div.medium-1-2.large-1-4.xlarge-1-2
		div.aigis-debug col-1 medium-1-2 large-1-4
	div.col-1-2.medium-1-2.large-1-4.xlarge-1-2
		div.aigis-debug col-1-2 medium-1-2 large-1-4
	div.col-1-2.medium-1-2.large-1-4.xlarge-1-2
		div.aigis-debug col-1-2 medium-1-2 large-1-4
```

**Note:** The `col-1` classes are not present on the first two nodes, since this is the default behaviour.


## Reverse order

To reverse the order in which the columns are displayed, you can add the modifier class `.-reverse` to your grid.
The columns will be in DOM order when viewport switches to small layout.

```jade
div.grid.-reverse
	div.col-1-4
		div.aigis-debug First column in DOM
	div.col-1-4
		div.aigis-debug Second column in DOM
	div.col-1-4
		div.aigis-debug Third column in DOM
	div.col-1-4
		div.aigis-debug Fourth column in DOM
```
## No gutter

If you dont need a spacing/gutter between the grid columns you can use the modifier `.-nogutter`.

```jade
div.grid.-nogutter
	div.col-1-4
		div.aigis-debug First column in DOM
	div.col-1-4
		div.aigis-debug Second column in DOM
	div.col-1-4
		div.aigis-debug Third column in DOM
	div.col-1-4
		div.aigis-debug Fourth column in DOM
```
*/
.grid {
  margin: 0 -0.9375rem;
  /**
	 * Generate all media breakpoints based on the @grid-break-points, @grid-break-labels variables.
	 */
}
.grid:after {
  content: "";
  display: table;
  clear: both;
}
.grid > * {
  float: left;
  position: relative;
  width: 100%;
  padding: 0 0.9375rem;
}
.grid.-reverse > * {
  float: right;
}
.grid.-nogutter {
  margin: 0;
}
.grid.-nogutter > * {
  padding: 0;
}
.grid .col-1 {
  width: 100%;
}
.grid .col-1-2 {
  width: 50%;
}
.grid .col-1-3 {
  width: 33.33333333%;
}
.grid .col-2-3 {
  width: 66.66666667%;
}
.grid .col-1-4 {
  width: 25%;
}
.grid .col-3-4 {
  width: 75%;
}
@media all and (min-width: 37.5rem) {
  .grid > .medium-1 {
    width: 100%;
  }
  .grid > .medium-1-2 {
    width: 50%;
  }
  .grid > .medium-1-3 {
    width: 33.33333333%;
  }
  .grid > .medium-2-3 {
    width: 66.66666667%;
  }
  .grid > .medium-1-4 {
    width: 25%;
  }
  .grid > .medium-3-4 {
    width: 75%;
  }
}
@media all and (min-width: 64rem) {
  .grid > .large-1 {
    width: 100%;
  }
  .grid > .large-1-2 {
    width: 50%;
  }
  .grid > .large-1-3 {
    width: 33.33333333%;
  }
  .grid > .large-2-3 {
    width: 66.66666667%;
  }
  .grid > .large-1-4 {
    width: 25%;
  }
  .grid > .large-3-4 {
    width: 75%;
  }
}
/*
---
name: img.responsive
category: Layout/Image
tag:
 - responsive
compile: true
---

This class makes the image scaling to its max width.

```jade
img.responsive(src='http://www.byui.edu/images/agriculture-life-sciences/flower.jpg')
```
*/
img.responsive {
  max-width: 100%;
  height: auto;
}
/*
---
name: .media-responsive
category: Layout/Media
tag:
 - responsive
compile: true
---

`.media-responsive` - This makes a the `.media-responsive` div a container for any media element (iframe, video, ... ) that responsive scales with a fix ratio.
The media element ( child ) needs the class `.stretch` to fully fill out the parents size.

The `.media-responsive` component has to predefined modifiers: `.-media-4-3`, `.-media-16-9` that define a fix ratio.

```jade
div.media-responsive.-media-16-9
	iframe.stretch(src="https://www.youtube.com/watch?v=TCd6PfxOy0Y")
```
*/
.media-responsive {
  width: 100%;
  position: relative;
  padding-bottom: 50%;
}
.media-responsive.-media-4-3 {
  padding-bottom: 75%;
}
.media-responsive.-media-16-9 {
  padding-bottom: 56.26%;
}
/*
---
name: .page-fluid
category: Page/Fluid
tag:
 - responsive
compile: true
---

`.page-fluid` centers the page content and adds a padding so the page sticks not to the browser viewport.
Furthermore it has a max-width based on the last `@grid-break-points` value.

```jade
div.page-fluid
	div.aigis-debug Some page content
```

## Max-width page

To broaden the width of the page you can add the modifier `.-unlimited`. Thsi will span the page to the full width.

```jade
div.page-fluid.-unlimited
	div.aigis-debug Some page content
```
*/
.page-fluid {
  max-width: 71.5rem;
  margin: auto;
  padding: 0 3.75rem;
}
.page-fluid.-unlimited {
  max-width: none;
}
/*
---
name: .row
category: Layout/Row
tag:
 - component
compile: true
---

This styling allow to place containers in a row. They will **not** break as the `.grid` but resize them accordingly.
Some benefits of the `.row` approach is the easy vertical centering and the usage of the `.col-auto` class.

## Basic row with vertical centering

You can use the sizing classes `.col-X-X` to define the width of a column as the following example shows. 

```jade
div.row
	div.col-1-4.aigis-debug col-1-4 with a lot of text that spans the column.
	div.col-3-4.aigis-debug col-3-4 content.
```

## Fixed row

There is a `.-fixed` modifier where each column has the same width.

```jade
div.row.-fixed
	div.aigis-debug evenly spreadout column
	div.aigis-debug evenly spreadout column with more content
	div.aigis-debug evenly spreadout column
	div.aigis-debug evenly spreadout column with much more content than the other
	div.aigis-debug.vcenter evenly spreadout column with .vcenter
```


## Auto sized column width and vcenter

There is a special `.col-auto` class that resizes the column to the size of its content.
This is usefull for example if you have a fixed size logo and the rest of the header has to resize.

```jade
div.row.-center
	div.col-auto.aigis-debug
		img(src="http://placehold.it/100x100")
	div.col-1.aigis-debug The rest
	div.col-auto.aigis-debug
		img(src="http://placehold.it/200x100")
```
*/
.row {
  display: table;
  width: 100%;
}
.row.-fixed {
  table-layout: fixed;
}
.row.-center > * {
  vertical-align: middle;
}
.row.-bottom > * {
  vertical-align: bottom;
}
.row.-padded > * + * {
  padding-left: 1.875rem;
}
.row > * {
  display: table-cell;
}
.row > *.col-1 {
  width: 100%;
}
.row > *.col-1-2,
.row > *.col-2-4 {
  width: 50%;
}
.row > *.col-1-3 {
  width: 33.33333333%;
}
.row > *.col-2-3 {
  width: 66.66666667%;
}
.row > *.col-1-4 {
  width: 25%;
}
.row > *.col-3-4 {
  width: 75%;
}
.row > *.col-auto {
  width: auto;
  white-space: nowrap;
}
/*
---
name: Colors
category: Shared/Variables
template: colors
tag:
 - variables
 - colors
colors:
 - variable: "@text-color"
   description: "The default text color on the body"
   value: "#3F3F40"
 - variable: "@text-inverted-color"
   description: "The default inverted text color on the body"
   value: "#FFF"
 - variable: "@action-color"
   description: "The main action color used for links and buttons"
   value: "#EC6449"
 - variable: "@body-color"
   description: "The main background color"
   value: "#FFF"
---

The color variables that are used throughout the library. 
*/
/*
---
name: Global settings
category: Shared/Variables
template: variables
tag:
 - variables
variables:
 - name: "@text-line-height"
   description: "The line height of the body"
   default: "1.5rem"
 - name: "@font-family"
   description: "The font-family of the body"
   default: "'Helvetica', sans-serif"
 - name: "@text-rendering"
   description: "The text-rendering of the body"
   default: "optimizeLegibility"
 - name: "@transition-duration"
   description: "The duration of the slide transitions"
   default: "0.4s"
---

These variables setups some global text formatting and styling.
*/
/*
---
name: Size settings
category: Shared/Variables
template: variables
tag:
 - variables
 - grid
variables:
 - name: "@grid-gutter"
   description: "The space between the grid children"
   default: "rem( 30px )"
 - name: "@grid-break-points"
   description: "The screensize when the grid should break."
   default: "rem(600px), rem(1024px)"
 - name: "@grid-break-labels"
   description: "The breakpoint label corresponding to the entie in the `@grid-break-points` list"
   default: "medium, large"
 - name: "@page-padding"
   description: "The padding for the .page-fluid component"
   default: "rem( 60px )"
---

These variables setups some global sizes mainly for the grid.
*/
.answer-view.-wrong {
  color: red;
}
.answer-view .label {
  margin-left: 0.9375rem;
  padding-left: 0.625rem;
  position: relative;
  display: block;
}
.answer-view .label > .input {
  top: 0.6875rem;
  position: absolute;
  left: -0.9375rem;
  margin: 0;
}
.box-chapter {
  cursor: pointer;
  margin-bottom: 60px;
}
.box-chapter .mandatory {
  min-height: 34px;
}
.box-chapter::after {
  opacity: 0;
  visibility: hidden;
  content: "▲";
}
.box-chapter.-expanded::after {
  display: inline-block;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 1.875rem;
  visibility: visible;
  content: "▲";
  z-index: 10;
  position: relative;
  bottom: -24px;
  color: #5C5AA5;
  opacity: 1;
  transition: opacity 0.8s;
}
.box-chapter .image {
  padding-bottom: 13px;
  border-bottom: 3px solid #5C5AA5;
  max-height: 203px;
}
.box-chapter .title {
  margin: 14px 0;
  color: #000000;
  height: 55px;
  overflow: hidden;
  font-size: 1.375rem;
}
.box-chapter .link-container {
  position: relative;
}
.box-chapter .link-container:hover .image {
  opacity: 0.8;
}
.box-chapter .link-container:hover .title {
  color: #5C5AA5;
}
.box-chapter .class > svg,
.box-chapter .duration > svg,
.box-chapter .label > svg {
  margin-right: 9px;
  color: #5C5AA5;
}
.box-chapter .class,
.box-chapter .duration {
  display: inline-block;
  width: 50%;
}
.box-chapter .export {
  text-align: center;
}
.box-chapter .export > .button-export {
  margin-right: 10px;
}
.box-chapter .export > .button-export:last-child {
  margin-right: 0px;
}
@media only screen and (max-width: 1024px) {
  .box-chapter .image {
    max-height: 307px;
  }
}
@media only screen and (max-width: 600px) {
  .box-chapter {
    margin-bottom: 30px;
  }
  .box-chapter .image {
    max-height: 380px;
  }
  .box-chapter > .title {
    height: 30px;
  }
}
.button-export {
  height: 32px;
  width: 98px;
  color: #5C5AA5;
  display: inline-block;
  border-radius: 16px;
  border: 2px solid #5C5AA5;
  font-size: 0.875rem;
  text-align: center;
  line-height: 1.75rem;
  transition: all 0.1s;
}
.button-export:hover {
  border-color: #4A4A8A;
  background-color: #4A4A8A;
  color: #fff;
}
.button-export:active {
  border-color: #5C5AA5;
  background-color: #5C5AA5;
  color: #ffffff;
}
.button-filter {
  position: relative;
  color: #000;
  background-color: #F6F6F6;
  cursor: pointer;
  padding: 1rem;
  border-bottom: 1px solid #fff;
}
.button-filter:last-child {
  border: none;
}
.button-filter.-active {
  color: #5C5AA5;
}
.button-filter.-active > .icon-checked {
  display: inline-block;
  color: #5C5AA5;
  position: absolute;
  right: 1rem;
  top: 23px;
}
.button-filter:hover {
  color: #4A4A8A;
}
.button-filter.-hidden {
  display: none;
}
.button-filter > .icon-filter,
.button-filter > .icon-checked {
  display: none;
}
.button-filter.-toggle {
  color: #fff;
  background-color: #5C5AA5;
}
.button-filter.-toggle > .icon-checked {
  display: none;
}
.button-filter.-toggle > .icon-filter {
  display: inline-block;
  margin-right: 1rem;
}
/*
.button-filter {
    
    margin-bottom: 20px;
    padding: 10px;
    width: 132px;
    height: 44px;
    border-radius: 22px;
    background-color: @brand-color;
    box-shadow: 0 2px 6px 0 rgba(0,0,0,0.3);
    color: white;
    font-size: rem(16px);
    letter-spacing: rem(0.48px);
    text-align: center;
    cursor: pointer;
    overflow: hidden;
    white-space: nowrap;
    transition: all 0.2s;

    &:hover {
        background-color: @hover-color;
    }

    &.-active{
        background-color: @dark-hover-color;
        box-shadow: 0 6px 6px 0 rgba(0,0,0,0.3);
    }
    &.-hidden {
        display:none;
    }
}

*/
.button-teacher {
  cursor: pointer;
  font-size: 18px;
  text-transform: uppercase;
  width: 400px;
  text-align: right;
  display: block;
  font-weight: bold;
}
.button-teacher:hover {
  color: #4A4A8A;
}
.button-teacher .icon {
  color: #5C5AA5;
  height: 26px;
  vertical-align: top;
}
.button-teacher.-close {
  text-align: left;
  color: #000;
}
.button-teacher.-close .icon {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}
.button-teacher.-close:hover {
  color: #4A4A8A;
}
.caption-element > p {
  color: #6a6a6a;
  font-size: 0.875rem;
  line-height: 1.3125rem;
  font-weight: 300;
}
.carousel-element {
  position: relative;
}
.carousel-element.-lightbox {
  position: fixed;
  background-color: rgba(0, 0, 0, 0.6);
  overflow-y: scroll;
  top: 0px;
  left: 0px;
  max-width: 100%;
  width: 100%;
  height: 100%;
  z-index: 20;
}
.carousel-element.-lightbox .close {
  display: block;
  position: fixed;
  height: 100%;
  right: 32px;
  top: 32px;
  width: 32px;
  height: 32px;
  z-index: 10;
  cursor: pointer;
}
.carousel-element.-lightbox .navi-left,
.carousel-element.-lightbox .navi-right {
  width: 48px;
  height: 48px;
}
.carousel-element.-lightbox .navi-right {
  right: 0px;
  -webkit-transform: rotate(180deg) translateY(0%);
          transform: rotate(180deg) translateY(0%);
}
.carousel-element.-lightbox .navi-left {
  left: 0px;
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
}
.carousel-element.-lightbox .outer-stage {
  height: 100%;
  overflow-y: auto;
}
.carousel-element.-lightbox .outer-stage .inner-stage {
  height: 100%;
}
.carousel-element.-lightbox .outer-stage .inner-stage .lightbox {
  min-width: 100%;
  width: 100%;
  text-align: center;
}
.carousel-element.-lightbox .outer-stage .inner-stage .lightbox .container {
  width: 80%;
  margin: 0 auto;
  background-color: transparent;
}
.carousel-element.-lightbox .outer-stage .inner-stage .lightbox .container .inner .image-container {
  position: relative;
  height: 100%;
  max-height: 100vh;
  margin-top: 100px;
  display: inline-block;
}
.carousel-element.-lightbox .outer-stage .inner-stage .lightbox .container .inner .image {
  margin: 0 auto;
  display: block;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}
.carousel-element.-lightbox .outer-stage .inner-stage .lightbox .open {
  display: none;
}
.carousel-element.-lightbox .outer-stage .inner-stage .lightbox .caption-element {
  display: none;
}
.carousel-element .close {
  display: none;
}
.carousel-element .navi-left,
.carousel-element .navi-right {
  position: absolute;
  top: 50%;
  cursor: pointer;
  z-index: 5;
  background-color: #5C5AA5;
  width: 44px;
  height: 44px;
}
.carousel-element .navi-left svg,
.carousel-element .navi-right svg {
  width: 44px;
  height: 44px;
}
.carousel-element .navi-left {
  left: 0px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.carousel-element .navi-right {
  right: 0px;
  -webkit-transform: rotate(180deg) translateY(50%);
          transform: rotate(180deg) translateY(50%);
}
.carousel-element .outer-stage {
  overflow: hidden;
}
.carousel-element .outer-stage .inner-stage {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  transition: left 0.4s ease-out;
  left: 0px;
  position: relative;
}
.carousel-element .outer-stage .inner-stage .lightbox {
  height: 485px;
}
.carousel-element .outer-stage .inner-stage .lightbox .container {
  background-color: #6A6A6A;
  height: 450px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.carousel-element .outer-stage .inner-stage .lightbox .container .image {
  width: auto;
  max-height: 450px;
  margin: 0 auto;
  display: block;
}
.carousel-element .outer-stage .inner-stage .lightbox .caption-element {
  display: block;
  width: 100%;
  margin-top: 16px;
}
.chapter-cover {
  height: 450px;
  margin-top: 11px;
  margin-bottom: 85px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
.chapter-cover > .theme-icon {
  width: 200px;
  height: 200px;
}
.chapter-cover > .title {
  text-transform: uppercase;
  width: 940px;
  color: #ffffff;
  font-size: 4rem;
  font-weight: demi;
  line-height: 4.625rem;
  text-align: center;
  letter-spacing: 0.11875rem;
  text-shadow: 0.1px 0.1px 16px #6a6a6a73;
}
@media only screen and (max-width: 600px) {
  .chapter-cover {
    margin-bottom: 3.0625rem;
    height: 340px;
  }
  .chapter-cover > .theme-icon {
    width: 100px;
    height: 100px;
  }
  .chapter-cover > .title {
    font-size: 1.875rem;
    line-height: 2.5rem;
  }
}
.chapter-subnavi {
  background-color: #5C5AA5;
  max-height: 0px;
  visibility: hidden;
  opacity: 0;
  cursor: default;
  margin-top: 45px;
}
.chapter-subnavi.-expanded {
  position: absolute;
  width: 100vw;
  display: block;
  visibility: visible;
  opacity: 1;
  height: auto;
  max-height: 2000px;
  transition: opacity 0.5s, max-height 3s;
}
.chapter-subnavi > .container {
  margin: auto;
  padding: 3.125rem 1rem;
  color: #fff;
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-weight: 500;
}
.chapter-subnavi > .container > .theme-icon {
  left: 15px;
}
.chapter-subnavi > .container > .titlerow {
  z-index: 10;
  border-bottom: 1px solid #fff;
  padding-bottom: 1.375rem;
  position: relative;
}
.chapter-subnavi > .container > .titlerow > .navititle {
  font-size: 1.375rem;
  line-height: 1.6875rem;
  font-weight: 700;
  color: #fff;
  display: inline;
}
.chapter-subnavi > .container > .titlerow > .download {
  float: right;
  color: #fff;
}
.chapter-subnavi > .container > .titlerow > .download .icon {
  margin-right: 5px;
}
.chapter-subnavi > .container > .titlerow > .download:hover {
  color: #000;
}
.chapter-subnavi > .container .item {
  display: block;
  border-bottom: 1px solid #fff;
  color: #fff;
  cursor: pointer;
  padding: 0.75rem;
  position: relative;
  z-index: 10;
}
.chapter-subnavi > .container .item > .chapter {
  text-transform: uppercase;
}
.chapter-subnavi > .container .item .module-label {
  margin: 0;
  color: #fff;
  font-size: 0.875rem;
  line-height: 1.125rem;
  font-weight: 500;
}
.chapter-subnavi > .container .item .module-label > .icon {
  color: #fff;
}
.chapter-subnavi > .container .item:hover {
  background-color: #4A4A8A;
}
.chapter-subnavi > .container .item:hover .module-label {
  background-color: #4A4A8A;
}
.chapter-subnavi > .container .item:hover .module-label > .icon {
  background-color: #4A4A8A;
}
@media only screen and (max-width: 1024px) {
  .chapter-subnavi.-expanded {
    padding-left: 1rem;
  }
  .chapter-subnavi > .container {
    padding: 1.875rem 1rem;
  }
  .chapter-subnavi > .container .theme-icon {
    display: none;
  }
}
.common-page {
  margin-top: 5.3125rem;
}
.common-page.-main-impressum h1,
.common-page.-main-impressum h2,
.common-page.-main-impressum h3,
.common-page.-main-impressum .paragraph-element,
.common-page.-main-impressum .paragraph-element a {
  color: #fff;
}
.common-page h1,
.common-page h2,
.common-page h3 {
  font-weight: bold;
  color: black;
  font-size: 3rem;
  line-height: 3.625rem;
  text-align: center;
  margin-bottom: 3.75rem;
}
.common-page > .paragraph-element {
  margin-bottom: 1.5625rem;
}
.common-page > .image-element {
  margin-bottom: 1.5625rem;
}
.common-page > .delimiter-line {
  margin: 3.125rem 0;
}
@media only screen and (max-width: 600px) {
  .common-page {
    margin-top: 0rem;
  }
  .common-page.-main-impressum {
    padding-top: 1rem;
    margin-top: 7.5rem;
  }
  .common-page.-nocover {
    margin-top: 11.25rem;
  }
  .common-page h1,
  .common-page h2,
  .common-page h3 {
    font-size: 1.625rem;
    line-height: 2.125rem;
  }
  .common-page > .title-element {
    margin-bottom: 2.5rem;
  }
  .common-page > .paragraph-element {
    margin-bottom: 0.9375rem;
  }
  .common-page > .image-element {
    margin-bottom: 0.9375rem;
  }
  .common-page > .delimiter-line {
    margin: 1.875rem 0;
  }
}
.container-questions {
  margin-bottom: 5.625rem;
}
.container-questions .main-title {
  margin-bottom: 3.75rem;
  text-align: center;
  font-weight: bold;
  color: black;
}
.container-questions .number {
  margin-bottom: 2.875rem;
  color: #5C5AA5;
  width: 100%;
  text-align: center;
  border-bottom: 6px solid #5C5AA5;
  line-height: 0.05em;
  font-size: 3rem;
}
.container-questions .number span {
  padding: 0 20px;
  background-color: #fff;
  font-weight: bold;
}
@media only screen and (max-width: 600px) {
  .container-questions {
    margin-bottom: 2rem;
  }
  .container-questions > .number {
    margin-bottom: 1.25rem;
    font-size: 1.625rem;
  }
}
.container-teacher {
  border-bottom: 2px solid #5C5AA5;
}
.container-teacher.sidebar-login {
  border-bottom: 0px;
}
.container-teacher:last-child {
  border-bottom: none;
}
.container-teacher .module-title {
  padding-top: 20px;
  margin-bottom: 30px;
}
.container-teacher .title.title-download {
  border-bottom: 2px solid #5C5AA5;
  cursor: auto;
  margin: 0px;
  padding: 10px 0px;
}
.container-teacher .title {
  margin: 0px -18px 0px -27px;
  padding: 10px 0px 10px 27px;
  position: relative;
  cursor: pointer;
}
.container-teacher .title.-chapter.-current {
  border-left: 3px solid #5C5AA5;
  background-color: #E9E9E9;
}
.container-teacher .title.-chapter:hover {
  background-color: #E9E9E9;
}
.container-teacher .title.-background:hover {
  background-color: #E9E9E9;
}
.container-teacher .title .title-content {
  display: inline-block;
  margin-right: 34px;
}
.container-teacher .title .icon {
  color: #5C5AA5;
  position: absolute;
  top: 14px;
  right: 17px;
}
.container-teacher .content {
  padding-bottom: 30px;
}
.container-teacher .content .content-section {
  margin-bottom: 20px;
}
.container-teacher .content .content-section.-inline .section-title {
  display: inline;
  margin-right: 5px;
}
.container-teacher .content .content-section .section-title {
  font-size: 18px;
  font-weight: bold;
  line-height: 23px;
  margin-bottom: 5px;
}
.container-teacher .content .content-section p {
  margin-bottom: 10px;
}
.container-teacher .content .content-section ul,
.container-teacher .content .content-section ol {
  margin-left: 30px;
}
.container-teacher .content .content-section ul li,
.container-teacher .content .content-section ol li {
  margin-bottom: 10px;
}
.container-teacher .content.-close {
  display: none;
}
.container-teacher .export {
  margin-top: 32px;
}
.container-teacher .export > .button-export {
  margin-right: 29px;
}
.container-teacher .export .download {
  display: block;
  color: #000;
  margin: 11px 0px;
}
.container-teacher .export .download:hover {
  color: #5C5AA5;
  cursor: pointer;
}
.container-teacher .export p {
  font-size: 18px;
  font-weight: bold;
  line-height: 23px;
  margin-bottom: 35px;
}
@media only screen and (max-width: 600px) {
  .container-teacher .module-title {
    margin-bottom: 20px;
  }
  .container-teacher .export {
    margin-top: 20px;
  }
  .container-teacher .export p {
    margin-bottom: 20px;
  }
}
.delimiter-line {
  width: 100%;
  border-bottom: 6px solid #5C5AA5;
}
@media only screen and (max-width: 600px) {
  .delimiter-line {
    border-bottom: 4px solid #5C5AA5;
  }
}
.feedback-container {
  text-align: right;
  margin-bottom: 20px;
}
.feedback-container .button {
  padding: 0;
  cursor: pointer;
}
.feedback-container .button:focus {
  outline: none;
}
.feedback-panel {
  padding: .75rem 1.25rem;
  background-color: #b4b4b4;
  border-radius: 10px;
  border: 1px solid transparent;
  margin-bottom: 1.875rem;
}
.feedback-panel.-correct {
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb;
}
.feedback-panel.-wrong {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb;
}
.filter-container {
  position: fixed;
  right: 40px;
  bottom: 0px;
  z-index: 10;
  box-shadow: 0.1px 0.1px 16px #6a6a6a54;
}
@media only screen and (max-width: 600px) {
  .filter-container {
    right: 16px;
  }
}
[class^="icon-"],
[class*=" icon-"] {
  height: 32px;
  width: 32px;
  display: inline-block;
  fill: currentColor;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
}
[class^="icon-"].-small,
[class*=" icon-"].-small {
  height: 20px;
  width: 20px;
}
[class^="icon-"].-sub,
[class*=" icon-"].-sub {
  vertical-align: sub;
}
[class^="icon-"].-inverted,
[class*=" icon-"].-inverted {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}
[class^="icon-"].-brand,
[class*=" icon-"].-brand {
  color: #5C5AA5;
}
[class^="icon-"].-rspacer,
[class*=" icon-"].-rspacer {
  margin-right: 10px;
}
.iconcontainer.-inverted > [class^="icon-"],
.iconcontainer.-inverted > [class*=" icon-"] {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}
.image-element.-small {
  max-width: 50%;
}
@media only screen and (max-width: 600px) {
  .image-element.-small {
    max-width: 100%;
  }
}
/**

.landing-intro {

    animation: type 8s steps(110), blink 1s infinite;
    overflow:hidden;
    white-space: nowrap;
    width: 970px;
    border-right: 3px solid black;


    @keyframes type {
        from{
            width: 0;
        }
    }


    @keyframes blink {
        50% {
            border-color: transparent;
        }
    }
}


**/
.landing-navigationcontainer {
  text-align: center;
}
.landing-navigationitem {
  text-align: center;
  position: relative;
  display: inline-block;
}
.landing-navigationitem .image-container {
  position: relative;
  overflow: hidden;
  border-radius: 100%;
  z-index: 100;
  line-height: 0px;
  width: 80%;
  height: 80%;
  margin: 1.875rem auto;
}
.landing-navigationitem .image-container > .image {
  width: 100%;
  height: 100%;
  transition: -webkit-transform .5s ease;
  transition: transform .5s ease;
  transition: transform .5s ease, -webkit-transform .5s ease;
}
.landing-navigationitem .image-container > .activation {
  display: none;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  white-space: nowrap;
}
.landing-navigationitem .text {
  font-size: 1.625rem;
  line-height: 2.1875rem;
  font-weight: bold;
  color: #000;
}
.landing-navigationitem.-hidden .activation {
  display: block;
}
.landing-navigationitem.-hidden .image,
.landing-navigationitem.-hidden .text {
  opacity: 0.2;
}
.landing-navigationitem.theme-lilac .image-container {
  border: 5px solid #5C5AA5;
  background-color: #5C5AA5;
}
.landing-navigationitem.theme-lilac .flash {
  color: #5C5AA5;
}
.landing-navigationitem.theme-mint .image-container {
  border: 5px solid #2B7565;
  background-color: #2B7565;
}
.landing-navigationitem.theme-mint .flash {
  color: #2B7565;
}
.landing-navigationitem .flash {
  opacity: 0;
  position: absolute;
  transition: opacity 0.8s, top 0.8s, left 0.8s, right 0.8s, -webkit-transform 0.8s;
  transition: transform 0.8s, opacity 0.8s, top 0.8s, left 0.8s, right 0.8s;
  transition: transform 0.8s, opacity 0.8s, top 0.8s, left 0.8s, right 0.8s, -webkit-transform 0.8s;
  top: 50%;
  left: 50%;
}
.landing-navigationitem .flash .icon {
  width: 40px;
  height: 56px;
}
.landing-navigationitem:not(.-hidden):hover {
  /** disabled until icons are defined...
        .flash {
            opacity: 1;
            transition: transform 0.8s, opacity 0.8s, top 0.8s, left 0.8s, right 0.8s;
            
            &.flash1 {
                top: 63px;
                left: 0px;
            }
    
            &.flash2 {
                top: 24px;
                left: 280px
            }
    
            &.flash3 {
                top: 302px;
                right: 77px;
            }
        }
**/
}
.landing-navigationitem:not(.-hidden):hover .image {
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
}
.lightbox {
  min-width: 100%;
}
.lightbox .container {
  position: relative;
  display: inline-block;
}
.lightbox .container .open {
  position: absolute;
  bottom: 8px;
  right: 0px;
  width: 32px;
  height: 32px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.lightbox .open,
.lightbox .close {
  cursor: pointer;
}
.lightbox .open {
  display: block;
}
.lightbox .close {
  display: none;
}
.lightbox.-open {
  position: fixed;
  height: 100%;
  z-index: 100;
  top: 0px;
  left: 0px;
  background-color: rgba(0, 0, 0, 0.8);
  overflow-y: scroll;
}
.lightbox.-open .caption-element {
  display: none;
}
.lightbox.-open .container {
  text-align: center;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 80%;
  max-height: 100%;
}
.lightbox.-open .container .inner {
  display: inline-block;
  position: relative;
  margin: 20px 0px;
}
.lightbox.-open .close {
  display: block;
  position: absolute;
  right: 16px;
  top: 16px;
  width: 32px;
  height: 32px;
}
.lightbox.-open .open {
  display: none;
}
.lightbox.-open .caption {
  text-align: center;
  margin-bottom: 16px;
}
.main-navigation {
  position: absolute;
  top: 0;
  z-index: 100;
  color: #5C5AA5;
}
.main-navigation .hamburger {
  line-height: 1.4375rem;
}
.main-navigation .hamburger:hover {
  cursor: pointer;
}
.main-navigation ul {
  background-color: #fff;
  font-size: 1.125rem;
  line-height: 1.875rem;
  color: #000;
}
.main-navigation li {
  list-style-type: none;
  line-height: 1.875rem;
  cursor: pointer;
  display: block;
  padding: 8px 0 8px 20px;
}
.main-navigation li a {
  color: #000;
}
.main-navigation li a:hover {
  color: #226052;
}
.main-navigation .level1 {
  width: 23.75rem;
  box-shadow: 1px 1px rgba(0, 0, 0, 0.25);
}
.main-navigation .level1 .book,
.main-navigation .level1 .impressum {
  padding-left: 20px;
}
.main-navigation .level1 .icon {
  width: 36px;
  height: 18px;
  color: #5C5AA5;
  position: absolute;
  right: 20px;
}
.main-navigation .level1.-flatnavigation {
  padding-left: 20px;
}
.main-navigation .level1.-active .book:first-child {
  margin-left: -20px;
  padding: 6px 0 6px 37px;
  border-left: 3px solid #5C5AA5;
  color: #5C5AA5;
}
.main-navigation .level1.-active .icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.main-navigation .level1.-active .level2 {
  background-color: #f6f6f6;
  padding-left: 27px;
  margin-left: -20px;
}
.main-navigation .level1.-active .level2 li a {
  display: block;
}
.main-navigation .level1.-active .level2 li:hover a {
  color: #226052;
}
.main-navigation .level1:first-child:hover {
  color: #4A4A8A;
}
.main-navigation .-close {
  display: none;
}
.main-navigation .level2 {
  text-transform: none;
}
@media only screen and (max-width: 600px) {
  .main-navigation .level1 {
    width: 21.25rem;
  }
}
.module-label {
  color: #6a6a6a;
  margin-bottom: 10px;
  font-size: 16px;
}
.module-label.-half {
  width: 50%;
  display: inline-block;
}
.module-label .icon {
  color: #5C5AA5;
  margin-right: 9px;
}
.module-label .text {
  vertical-align: top;
}
.page-fluid {
  padding: 0 1rem;
  max-width: 40.125rem;
}
@media only screen and (max-width: 600px) {
  .content  .page-fluid {
    padding: 0 0;
  }
}
.page-footer {
  width: 100%;
  background-color: #5C5AA5;
  margin-top: 200px;
  height: 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.page-footer .text {
  color: #fff;
  margin-left: 32px;
}
.page-footer .text .impressum {
  color: #fff;
}
@media only screen and (max-width: 600px) {
  .page-footer {
    margin-top: 160px;
  }
}
.page-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
  background-color: #fff;
}
.page-header.-landingpage {
  position: absolute;
}
.page-header.-impressum .logo-section {
  margin-bottom: 0px;
}
.page-header .border-bottom {
  padding-bottom: 11px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.25);
  margin-left: 16px;
  margin-right: 16px;
}
.page-header .logo-section {
  width: 100%;
  height: 80px;
  background-color: #5C5AA5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 16px;
  line-height: 0px;
}
.page-header .logo-section .title {
  font-size: 2.0625rem;
  line-height: 3.125rem;
  letter-spacing: 0.053125rem;
  font-weight: bold;
  color: #fff;
}
.page-header .logo-section .logo {
  width: 96px;
  height: 25px;
  margin-left: 11px;
  margin-right: 50px;
  margin-top: 24px;
  margin-bottom: 24px;
  visibility: visible;
  opacity: 1;
}
.page-header .main-navigation {
  display: inline-block;
}
.page-header .button-login {
  display: inline-block;
  margin-left: 52px;
  vertical-align: text-top;
}
.page-header .button-login a {
  font-size: 1.125rem;
  line-height: 1.625rem;
  color: #000000;
  text-transform: uppercase;
  font-weight: bold;
}
.page-header .button-login a svg {
  vertical-align: text-top;
  color: #5C5AA5;
}
.page-header .button-login:hover a {
  color: #4A4A8A;
}
.page-header .button-login:active a {
  color: #226052;
}
.page-header .sidebar-teacher {
  right: 0;
}
.page-header .site-title {
  display: none;
}
.page-header .home-button {
  display: none;
}
.page-header.-collabse {
  padding-top: 0px;
}
.page-header.-collabse .logo-section {
  visibility: hidden;
  height: 0px;
  transition: height 0.5s;
}
.page-header.-collabse .title {
  display: none;
}
.page-header.-collabse .site-title {
  position: relative;
  left: 75px;
  width: 100%;
  white-space: nowrap;
  display: table-cell;
  font-size: 18px;
  vertical-align: middle;
}
.page-header.-collabse .back-button {
  top: 55px;
  transition: top 0.5s;
}
.page-header.-collabse .home-button {
  display: table-cell;
  padding-left: 50px;
}
.page-header.-collabse .home-button .icon {
  display: inline-block;
  height: 26px;
  width: 26px;
  vertical-align: top;
}
.page-header > .back-button {
  position: fixed;
  top: 134px;
  left: 15px;
  background-color: #F6F6F6;
  font-size: 1.125rem;
  padding: 10px;
  font-weight: 600;
}
.page-header > .back-button a {
  color: #000;
  vertical-align: top;
}
.page-header > .back-button:hover a {
  color: #5C5AA5;
}
.page-header > .back-button .icon {
  color: #5C5AA5;
  width: 28px;
  height: 20px;
  margin-right: 10px;
}
@media only screen and (max-width: 1024px) {
  .page-header.-collabse .site-title {
    display: none;
  }
}
@media only screen and (max-width: 600px) {
  .page-header.-collabse .site-title {
    display: none;
  }
  .page-header .logo-section {
    display: block;
  }
  .page-header .logo-section .logo {
    margin-top: 14px;
    margin-bottom: 9px;
    margin-left: 8px;
  }
  .page-header .logo-section .title {
    font-size: 18px;
    line-height: 1.8125rem;
    font-weight: bold;
    margin-left: 16px;
  }
  .page-header .button-login .navi-text {
    display: none;
  }
  .page-header .button-teacher {
    width: 30px;
  }
  .page-header .button-teacher .navi-text {
    display: none;
  }
}
.page-layout {
  max-width: 100%;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100vh;
}
.page-layout > .content {
  padding-top: 162px;
}
.page-layout > .content.-main-impressum {
  background-color: #5C5AA5;
  margin: 0 -1rem;
  height: 100%;
}
.page-layout > .content.-main-impressum > .close {
  position: fixed;
  right: 10rem;
}
.page-layout > .content.-main-impressum > .close > .link {
  cursor: pointer;
  color: #fff;
}
.page-layout > .content.-main-impressum > .close > .link:hover {
  color: #721c24;
}
.page-layout > .content.-sidebar {
  padding-right: 400px;
}
@media only screen and (max-width: 1024px) {
  .page-layout > .content.-main-impressum {
    right: 2rem;
  }
}
@media only screen and (max-width: 600px) {
  .page-layout > .content {
    padding-top: 0;
    margin-top: 140px;
  }
  .page-layout > .content.-main-impressum {
    padding: 0 3rem;
  }
  .page-layout > .content.-main-impressum > .close {
    top: 105px;
    right: 2rem;
  }
  .page-layout > .content.-sidebar {
    padding-right: 0px;
    padding-top: 0px;
  }
}
.page-overview {
  max-width: 58.75rem;
}
.page-overview .introduction {
  margin-bottom: 5rem;
  color: #000000;
  font-size: 2.375rem;
  font-weight: 500;
  line-height: 50px;
}
@media only screen and (max-width: 600px) {
  .page-overview > .introduction {
    font-size: 1.625rem;
    line-height: 2.125rem;
  }
}
.paragraph-element {
  color: #000000;
}
.paragraph-element.-introduction {
  font-size: 1.625rem;
  line-height: 2.375rem;
  font-weight: 500;
}
.paragraph-element.-default {
  font-size: 1.375rem;
  line-height: 2.1875rem;
  font-weight: 300;
}
.paragraph-element strong,
.paragraph-element b {
  font-weight: bold;
}
.paragraph-element ul,
.paragraph-element ol {
  margin-left: 60px;
  margin-bottom: 30px;
}
.paragraph-element ul li {
  margin-bottom: 10px;
}
.paragraph-element .abbreviation {
  position: relative;
  text-decoration: none;
  border-bottom: 3px dotted black;
  line-height: 20px;
  cursor: help;
}
.paragraph-element .abbreviation .tooltip {
  display: none;
}
.paragraph-element .abbreviation.-right .tooltip {
  left: 0px;
}
.paragraph-element .abbreviation.-left .tooltip {
  right: 0px;
}
.paragraph-element .abbreviation.-top .tooltip {
  bottom: 30px;
}
.paragraph-element .abbreviation.-bottom .tooltip {
  top: 30px;
}
.paragraph-element .abbreviation.-big.-open .tooltip,
.paragraph-element .abbreviation.-big:hover .tooltip {
  width: auto;
  width: 50vw;
  white-space: normal;
}
.paragraph-element .abbreviation.-sidebar.-open .tooltip,
.paragraph-element .abbreviation.-sidebar:hover .tooltip {
  width: auto;
  width: 200px;
  white-space: normal;
}
.paragraph-element .abbreviation.-open .tooltip,
.paragraph-element .abbreviation:hover .tooltip {
  display: block;
  position: absolute;
  z-index: 10;
  white-space: nowrap;
  background-color: #1e1e1e;
  color: #fff;
  border-radius: 3px;
  box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, 0.4);
  font-size: 14px;
  padding: 3px 5px;
}
@media only screen and (max-width: 600px) {
  .paragraph-element.-introduction {
    font-size: 1.375rem;
    line-height: 2rem;
  }
  .paragraph-element.-default {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
  .paragraph-element ul,
  .paragraph-element ol {
    margin-bottom: 15px;
  }
}
.question-item {
  margin-bottom: 3.75rem;
}
.question-item > .icon {
  display: inline-block;
  color: #5C5AA5;
  height: 30px;
  width: 30px;
  vertical-align: text-bottom;
  margin-right: 5px;
}
.question-item .title {
  color: #5C5AA5;
  text-transform: uppercase;
  margin-bottom: 0.9375rem;
  font-size: 1.625rem;
  font-weight: bold;
  display: inline-block;
}
.question-item .linkedvideo-element .caption-element {
  margin-top: 0.625rem;
}
.question-item .paragraph-element,
.question-item .image-element,
.question-item ul,
.question-item ol,
.question-item .iframe-element,
.question-item .video-element,
.question-item .linkedvideo-element,
.question-item .carousel-element {
  margin-bottom: 30px;
}
.question-item .paragraph-element.-nomargin,
.question-item .image-element.-nomargin,
.question-item ul.-nomargin,
.question-item ol.-nomargin,
.question-item .iframe-element.-nomargin,
.question-item .video-element.-nomargin,
.question-item .linkedvideo-element.-nomargin,
.question-item .carousel-element.-nomargin {
  margin-bottom: 0;
}
.question-item ul,
.question-item ol {
  margin-left: 60px;
}
.question-item ul li,
.question-item ol li {
  margin-bottom: 10px;
}
@media only screen and (max-width: 600px) {
  .question-item .title {
    font-size: 1.375rem;
    line-height: 2rem;
    font-weight: demi;
  }
  .question-item .paragraph-element,
  .question-item .image-element,
  .question-item ul,
  .question-item ol,
  .question-item .iframe-element,
  .question-item .video-element,
  .question-item .linkedvideo-element,
  .question-item .carousel-element {
    margin-bottom: 15px;
  }
}
.question-text > .dropdown.-wrong {
  background-color: #f8d7da;
}
.question-text > .dropdown.-correct {
  background-color: #d4edda;
}
.sidebar-login {
  background-color: #5C5AA5;
  margin-left: -27px;
  margin-right: -18px;
  padding-left: 27px;
  padding-right: 18px;
}
.sidebar-login a {
  color: #fff;
  padding: 10px 0;
  display: inline-block;
}
.sidebar-login .icon {
  width: 22px;
  height: 22px;
  margin-right: 16px;
  vertical-align: sub;
}
.sidebar-login .icon.icon-arrow-down {
  color: inherit;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  position: relative;
  top: 0;
  right: -40px;
}
.sidebar-login .title {
  display: inline-block;
}
.sidebar-login:hover {
  background-color: #4A4A8A;
  cursor: pointer;
}
@media only screen and (max-width: 600px) {
  .sidebar-login .icon.icon-arrow-down {
    right: -20px;
  }
}
.sidebar-teacher {
  font-size: 18px;
  background-color: #F6F6F6;
  box-shadow: -1px 1px 0 0 rgba(0, 0, 0, 0.25);
  padding-left: 27px;
  padding-right: 34px;
  width: 416px;
  position: fixed;
  right: 0px;
  top: 133px;
  bottom: 0px;
  display: block;
  overflow-y: auto;
  z-index: 10;
}
.sidebar-teacher.-teacher .container-teacher.sort-0 .title {
  border-top: 5px solid #5C5AA5;
}
.sidebar-teacher .label {
  font-size: 14px;
  display: inline-block;
}
.sidebar-teacher .meta-space {
  margin-bottom: 64px;
}
.sidebar-teacher.-close {
  display: none;
}
.sidebar-teacher.-collabse {
  top: 55px;
  transition-timing-function: linear;
  transition: top 0.5s;
}
@media only screen and (max-width: 600px) {
  .sidebar-teacher {
    top: 133px;
    padding-right: 20px;
    width: 343px;
  }
}
body.landing {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 100vh;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
body.landing .page-layout .page-landing {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
body.landing .page-footer {
  margin-top: 100px;
}
h1 {
  font-size: 4rem;
  letter-spacing: 0.11875rem;
  line-height: 4.375rem;
  font-weight: normal;
}
h2 {
  font-size: 3rem;
  line-height: 3.625rem;
  font-weight: normal;
}
h3 {
  line-height: 1.6875rem;
  font-size: 1.25rem;
  font-weight: bold;
}
@media only screen and (max-width: 600px) {
  h2 {
    font-size: 1.625rem;
    line-height: 2.125rem;
  }
  h3 {
    line-height: 1.5625rem;
    font-size: 1.125rem;
  }
}
.theme-color {
  display: none;
  width: 0px;
  height: 0px;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 5;
  border-right: 50px solid transparent;
  border-bottom: 50px solid transparent;
}
.theme-color.-optik {
  border-top: 50px solid #F6AC4E;
  border-left: 50px solid #F6AC4E;
}
.theme-color.-energie {
  border-top: 50px solid #6FC3A9;
  border-left: 50px solid #6FC3A9;
}
.theme-color.-elektrizitaet {
  border-top: 50px solid #CCD7C5;
  border-left: 50px solid #CCD7C5;
}
.theme-color.-koerper {
  border-top: 50px solid #F56E94;
  border-left: 50px solid #F56E94;
}
.theme-color.-robotik {
  border-top: 50px solid #87529D;
  border-left: 50px solid #87529D;
}
@media only screen and (max-width: 1024px) {
  .theme-color {
    display: block;
  }
}
.theme-icon {
  position: absolute;
  top: 0;
  left: 0px;
  width: 100px;
  height: 100px;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpbGFjLmNzcyIsImxpYi9sZXNzL3NoYXJlZC9oZWxwZXJzLmxlc3MiLCJsaWIvbGVzcy9zaGFyZWQvcmVzZXQubGVzcyIsImxpYi9sZXNzL2NvbXBvbmVudHMvY29yZS9idXR0b24ubGVzcyIsImxpYi9sZXNzL2NvbXBvbmVudHMvY29yZS9yZXNwb25zaXZlL2dyaWQubGVzcyIsImxpYi9sZXNzL2NvbXBvbmVudHMvY29yZS9yZXNwb25zaXZlL2ltYWdlLmxlc3MiLCJsaWIvbGVzcy9jb21wb25lbnRzL2NvcmUvcmVzcG9uc2l2ZS9tZWRpYS5sZXNzIiwibGliL2xlc3MvY29tcG9uZW50cy9jb3JlL3Jlc3BvbnNpdmUvcGFnZS5sZXNzIiwibGliL2xlc3MvY29tcG9uZW50cy9jb3JlL3Jvdy5sZXNzIiwiY29tcG9uZW50cy9hbnN3ZXItdmlldy5sZXNzIiwiY29tcG9uZW50cy9ib3gtY2hhcHRlci5sZXNzIiwiY29tcG9uZW50cy9idXR0b24tZXhwb3J0Lmxlc3MiLCJjb21wb25lbnRzL2J1dHRvbi1maWx0ZXIubGVzcyIsImNvbXBvbmVudHMvYnV0dG9uLXRlYWNoZXIubGVzcyIsImNvbXBvbmVudHMvY2FwdGlvbi1lbGVtZW50Lmxlc3MiLCJjb21wb25lbnRzL2Nhcm91c2VsLWVsZW1lbnQubGVzcyIsImNvbXBvbmVudHMvY2hhcHRlci1jb3Zlci5sZXNzIiwiY29tcG9uZW50cy9jaGFwdGVyLXN1Ym5hdmkubGVzcyIsImNvbXBvbmVudHMvY29tbW9uLXBhZ2UubGVzcyIsImNvbXBvbmVudHMvY29udGFpbmVyLXF1ZXN0aW9ucy5sZXNzIiwiY29tcG9uZW50cy9jb250YWluZXItdGVhY2hlci5sZXNzIiwiY29tcG9uZW50cy9kZWxpbWl0ZXItbGluZS5sZXNzIiwiY29tcG9uZW50cy9mZWVkYmFjay1jb250YWluZXIubGVzcyIsImNvbXBvbmVudHMvZmVlZGJhY2stcGFuZWwubGVzcyIsImNvbXBvbmVudHMvZmlsdGVyLWNvbnRhaW5lci5sZXNzIiwiY29tcG9uZW50cy9mb250YXN0aWMtaWNvbnMubGVzcyIsImNvbXBvbmVudHMvaW1hZ2UtZWxlbWVudC5sZXNzIiwiY29tcG9uZW50cy9sYW5kaW5nLW5hdmlnYXRpb25jb250YWluZXIubGVzcyIsImNvbXBvbmVudHMvbGFuZGluZy1uYXZpZ2F0aW9uaXRlbS5sZXNzIiwiY29tcG9uZW50cy9saWdodGJveC5sZXNzIiwiY29tcG9uZW50cy9tYWluLW5hdmlnYXRpb24ubGVzcyIsImNvbXBvbmVudHMvbW9kdWxlLWxhYmVsLmxlc3MiLCJjb21wb25lbnRzL3BhZ2UtZmx1aWQubGVzcyIsImNvbXBvbmVudHMvcGFnZS1mb290ZXIubGVzcyIsImNvbXBvbmVudHMvcGFnZS1oZWFkZXIubGVzcyIsImNvbXBvbmVudHMvcGFnZS1sYXlvdXQubGVzcyIsImNvbXBvbmVudHMvcGFnZS1vdmVydmlldy5sZXNzIiwiY29tcG9uZW50cy9wYXJhZ3JhcGgtZWxlbWVudC5sZXNzIiwiY29tcG9uZW50cy9xdWVzdGlvbi1pdGVtLmxlc3MiLCJjb21wb25lbnRzL3F1ZXN0aW9uLXRleHQubGVzcyIsImNvbXBvbmVudHMvc2lkZWJhci1sb2dpbi5sZXNzIiwiY29tcG9uZW50cy9zaWRlYmFyLXRlYWNoZXIubGVzcyIsImNvbXBvbmVudHMvc3RpY2t5LWZvb3Rlci5sZXNzIiwiY29tcG9uZW50cy90ZXh0Lmxlc3MiLCJjb21wb25lbnRzL3RoZW1lLWNvbG9yLmxlc3MiLCJjb21wb25lbnRzL3RoZW1lLWljb24ubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0VBZUU7QUNDRjtFQUNDLG1CQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxZQUFBO0VBQ0EsYUFBQTtDRENBO0FBQ0Q7Ozs7Ozs7OztFQVNFO0FDR0Y7RUFDQyxtQkFBQTtDRERBO0FBQ0Q7Ozs7Ozs7OztFQVNFO0FDS0Y7RUFDQyxtQkFBQTtDREhBO0FBQ0Q7Ozs7Ozs7OztFQVNFO0FDT0Y7RUFDQyx1QkFBQTtDRExB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QzU0RUQ7RUFFSTtJQUNJLG9CQUFBO0lBQ0Esc0JBQUE7RzNDNjRFTDtFMkN6NEVDO0lBQ0ksdUJBQUE7SUFDQSxvQkFBQTtHM0MyNEVMO0NBQ0Y7QTRDMTZFRDtFQUVJLGNBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUVBLG1CQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFFQSxXQUFBO0VBRUEscUNBQUE7RUFDQSxzQ0FBQTtDNUN3NkVIO0E0Q3Q2RUc7RUFDSSwrQkFBQTtFQUNBLGdDQUFBO0M1Q3c2RVA7QTRDcjZFRztFQUNJLCtCQUFBO0VBQ0EsZ0NBQUE7QzVDdTZFUDtBNENyNkVHO0VBQ0ksK0JBQUE7RUFDQSxnQ0FBQTtDNUN1NkVQO0E0Q3I2RUc7RUFDSSwrQkFBQTtFQUNBLGdDQUFBO0M1Q3U2RVA7QTRDcjZFRztFQUNJLCtCQUFBO0VBQ0EsZ0NBQUE7QzVDdTZFUDtBNENwNkVHO0VBS0g7SUFKTyxlQUFBO0c1Q3U2RUw7Q0FDRjtBNkM5OEVEO0VBRUksbUJBQUE7RUFDQSxPQUFBO0VBQ0EsVUFBQTtFQUNBLGFBQUE7RUFDQSxjQUFBO0M3Qys4RUgiLCJmaWxlIjoibGlsYWMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbi0tLVxubmFtZTogLnN0cmV0Y2hcbmNhdGVnb3J5OiBTaGFyZWQvSGVscGVyc1xudGFnOlxuIC0gaGVscGVyc1xuLS0tXG5cbmAuc3RyZXRjaGAgRGVmaW5lIGFuIGVsZW1lbnQgd2hpY2ggc3RyZXRjaGVzIHRvIHRoZSBzaXplIG9mIGl0cyBwYXJlbnRcblxuYGBgaHRtbFxuPGRpdiBjbGFzcz1cInJlbFwiIHN0eWxlPVwiaGVpZ2h0OiA1NXB4O1wiPlxuICAgPGRpdiBjbGFzcz1cInN0cmV0Y2ggc3R5bGVndWlkZS1ncmlkLXVuaXRcIj4gSSdtIHN0cmV0Y2hlZCB0byB0aGUgc2l6ZSBvZiBteSBwYXJlbnQ8L2Rpdj5cbjwvZGl2PlxuYGBgXG4qL1xuLnN0cmV0Y2gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi8qXG4tLS1cbm5hbWU6IC5hYnNcbmNhdGVnb3J5OiBTaGFyZWQvSGVscGVyc1xudGFnOlxuIC0gaGVscGVyc1xuLS0tXG5cbmAuYWJzYCBTZXQgdGhlIGVsZW1lbnQgcG9zaXRpb24gdG8gYWJzb2x1dGVcbiovXG4uYWJzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLypcbi0tLVxubmFtZTogLnJlbFxuY2F0ZWdvcnk6IFNoYXJlZC9IZWxwZXJzXG50YWc6XG4gLSBoZWxwZXJzXG4tLS1cblxuYC5yZWxgIFNldCB0aGUgZWxlbWVudCBwb3NpdGlvbiB0byByZWxhdGl2ZVxuKi9cbi5yZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4vKlxuLS0tXG5uYW1lOiAudmNlbnRlclxuY2F0ZWdvcnk6IFNoYXJlZC9IZWxwZXJzXG50YWc6XG4gLSBoZWxwZXJzXG4tLS1cblxuYC52Y2VudGVyYCBTZXRzIHZlcnRpY2FsLWFsaWduIHRvIG1pZGRsZVxuKi9cbi52Y2VudGVyIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi8qXG4tLS1cbm5hbWU6IC5oY2VudGVyXG5jYXRlZ29yeTogU2hhcmVkL0hlbHBlcnNcbnRhZzpcbiAtIGhlbHBlcnNcbi0tLVxuXG5gLmhjZW50ZXJgIFNldHMgdGV4dC1hbGlnbiB0byBjZW50ZXJcbiovXG4uaGNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi8qXG4tLS1cbm5hbWU6IC5mbG9hdGxlZnRcbmNhdGVnb3J5OiBTaGFyZWQvSGVscGVyc1xudGFnOlxuIC0gaGVscGVyc1xuLS0tXG5cbmAuZmxvYXRsZWZ0YCBTZXRzIGZsb2F0IHRvIGxlZnRcbiovXG4uZmxvYXRsZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4vKlxuLS0tXG5uYW1lOiAuZmxvYXRyaWdodFxuY2F0ZWdvcnk6IFNoYXJlZC9IZWxwZXJzXG50YWc6XG4gLSBoZWxwZXJzXG4tLS1cblxuYC5mbG9hdHJpZ2h0YCBTZXRzIGZsb2F0IHRvIHJpZ2h0XG4qL1xuLmZsb2F0cmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG4vKlxuLS0tXG5uYW1lOiAuaGlkZGVuXG5jYXRlZ29yeTogU2hhcmVkL0hlbHBlcnNcbnRhZzpcbiAtIGhlbHBlcnNcbi0tLVxuXG5gLmhpZGRlbmAgU2V0cyBkaXNwbGF5IHRvIG5vbmUuXG4qL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKlxuLS0tXG5uYW1lOiByZW0oIHBpeGVscyApXG5jYXRlZ29yeTogU2hhcmVkL01peGluc1xudGVtcGxhdGU6IG1peGluXG50YWc6XG4gLSBtaXhpblxucGFyYW1ldGVyczpcbiAtIG5hbWU6IHBpeGVsc1xuICAgZGVzY3JpcHRpb246IFRoZSBwaXhlbCB2YWx1ZSB0byBjb252ZXJ0IGludG8gcmVtIGJhc2VkIG9uIHRoZSAxNnB4IHJvb3QgZm9udC1zaXplXG4gICBvcHRpb25hbDogZmFsc2Vcbi0tLVxuXG5UaGlzIGxlc3MgZnVuY3Rpb24gdHVybnMgYSBwaXhlbCB2YWx1ZSBpbnRvIGEgcmVtIHZhbHVlIGJhc2VkIG9uIHRoZSByb290IGZvbnQtc2l6ZSBzZXQgdG8gMTZweC5cblxuQW4gZXhhbXBsZSB1c2FnZSBsb29rcyBsaWtlIHRoaXM6XG5cbmBgYGxlc3Ncbi5leGFtcGxlIHtcblx0cGFkZGluZzogcmVtKCAxNXB4ICkgcmVtKCAxMnB4IClcbn1cbmBgYFxuKi9cbi8qXG4tLS1cbm5hbWU6IC5mb3IoIEBhcnJheSwgQGNvZGUgKVxuY2F0ZWdvcnk6IFNoYXJlZC9NaXhpbnNcbnRlbXBsYXRlOiBtaXhpblxudGFnOlxuIC0gbWl4aW5cbnBhcmFtZXRlcnM6XG4gLSBuYW1lOiBhcnJheVxuICAgZGVzY3JpcHRpb246IFRoZSBhcnJheSBvZiB2YWx1ZXMgdG8gbG9vcCBvdmVyXG4gICBvcHRpb25hbDogZmFsc2VcbiAtIG5hbWU6IGNvZGVcbiAgIGRlc2NyaXB0aW9uOiBUaGUgY29kZSB0aGF0IGlzIGV4ZWN1dGVkIG9uIGV2ZXJ5IHZhbHVlLiBZb3UgY2FuIGFjY2VzcyB0aGUgaW5kZXggd2l0aCBgQGlgIGFuZCB0aGUgdmFsdWUgd2l0aCBgQHZhbHVlYFxuICAgb3B0aW9uYWw6IGZhbHNlXG4tLS1cblxuVGhpcyBtaXhpbiBhbGxvd3MgdG8gZXhlY3V0ZSBjb2RlIG92ZXIgYW4gYXJyYXlcblxuQW4gZXhhbXBsZSB1c2FnZSBsb29rcyBsaWtlIHRoaXM6XG5gYGBsZXNzXG5AY29sb3JzOiAjMWFiYzljLCAjMmVjYzcxLCAjMzQ5OGRiLCAjOWI1OWI2O1xuXG4uZm9yKEBjb2xvcnMsIHtcbiAgICAuY29sb3ItQHtpfSB7XG4gICAgICAgIGNvbG9yOiBAdmFsdWU7XG4gICAgfVxufSk7XG5gYGBcblxuVGhpcyBnZW5lcmF0ZXM6XG5gYGBjc3Ncbi5jb2xvci0xIHtcbiAgY29sb3I6ICMxYWJjOWM7XG59XG4uY29sb3ItMiB7XG4gIGNvbG9yOiAjMmVjYzcxO1xufVxuLmNvbG9yLTMge1xuICBjb2xvcjogIzM0OThkYjtcbn1cbi5jb2xvci00IHtcbiAgY29sb3I6ICM5YjU5YjY7XG59XG5gYGBcbiovXG4vKlxuLS0tXG5uYW1lOiBHbG9iYWwgUmVzZXRcbmNhdGVnb3J5OiBTaGFyZWRcbi0tLVxuXG5UaGUgbGVybmV0eiBjc3MgbGlicmFyeSBoYXMgYSBzZXQgb2YgcmVzZXQgc3R5bGUgdG8gaGF2ZSB0aGUgc2FtZSBiZWhhdmlvdXIgb24gZXZlcnkgYnJvd3Nlci5cbkZ1cnRoZXJtb3JlIHRoaXMgcmVzZXQgc2V0cyBzb21lIGdsb2JhbCB2YXJpYWJsZXMgbGlrZTpcbiAqIGJvZHkgZm9udC1mYW1pbGllc1xuICogYm9keSBsaW5lLWhlaWdodFxuICogYm9keSB0ZXh0LXJlbmRlcmluZ1xuICogOnJvb3QgZm9udC1zaXplIGZvciBwcm9wZXIgcmVtIGNvbnZlcnNpb25cbiovXG5odG1sLFxuYm9keSxcbmRpdixcbnNwYW4sXG5vYmplY3QsXG5pZnJhbWUsXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wLFxuYmxvY2txdW90ZSxcbnByZSxcbmFiYnIsXG5hZGRyZXNzLFxuY2l0ZSxcbmNvZGUsXG5kZWwsXG5kZm4sXG5lbSxcbmltZyxcbmlucyxcbmtiZCxcbnEsXG5zYW1wLFxuc21hbGwsXG5zdHJvbmcsXG5zdWIsXG5zdXAsXG52YXIsXG5iLFxuaSxcbmRsLFxuZHQsXG5kZCxcbm9sLFxudWwsXG5saSxcbmZpZWxkc2V0LFxuZm9ybSxcbmxhYmVsLFxubGVnZW5kLFxudGFibGUsXG5jYXB0aW9uLFxudGJvZHksXG50Zm9vdCxcbnRoZWFkLFxudHIsXG50aCxcbnRkLFxuYXJ0aWNsZSxcbmFzaWRlLFxuY2FudmFzLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnksXG50aW1lLFxubWFyayxcbmF1ZGlvLFxudmlkZW8ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG46cm9vdCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cbmh0bWwge1xuICBmb250LXNpemU6IDEwMCU7XG59XG5ib2R5IHtcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhJywgc2Fucy1zZXJpZjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbn1cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWVudSxcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbnNlbGVjdCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG50ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xufVxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250OiBpbmhlcml0O1xuICBtYXJnaW46IDA7XG59XG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cbi8qXG4gKiBOb3JtYWxpemUgdGhlIGJlaGF2aW91ciBvZiBhbGwgYnJvd3NlcnNcbiAqXG4gKiBJbnN0ZWFkIG9mIHNldHRpbmcgYm94LXNpemluZyBmaXggb24gYWxsIGVsZW1lbnRzIHdlIG9ubHkgc2V0IGl0IG9uIHRoZSByb290IGVsZW1lbnRcbiAqIGFuZCB0ZWxsIGFsbCBlbGVtZW50cyB0byBpbmhlcml0IGl0J3MgcHJvcGVydHkgZnJvbSB0aGUgcGFyZW50XG4gKiBUaGF0IHdheSBpdCdzIHBvc3NpYmxlIHRvIG92ZXJ3cml0ZSB0aGUgYm94LXNpemluZyBhbnl3aGVyZSB3aGlsZSBrZWVwaW5nIHByb3BlciBpbmhlcml0YW5jZVxuICovXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICM1QzVBQTU7XG59XG5hID4gaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKlxuLS0tXG5uYW1lOiBDb2xvcnNcbmNhdGVnb3J5OiBTaGFyZWQvVmFyaWFibGVzXG50ZW1wbGF0ZTogY29sb3JzXG50YWc6XG4gLSB2YXJpYWJsZXNcbiAtIGNvbG9yc1xuY29sb3JzOlxuIC0gdmFyaWFibGU6IFwiQHRleHQtY29sb3JcIlxuICAgZGVzY3JpcHRpb246IFwiVGhlIGRlZmF1bHQgdGV4dCBjb2xvciBvbiB0aGUgYm9keVwiXG4gICB2YWx1ZTogXCIjM0YzRjQwXCJcbiAtIHZhcmlhYmxlOiBcIkB0ZXh0LWludmVydGVkLWNvbG9yXCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSBkZWZhdWx0IGludmVydGVkIHRleHQgY29sb3Igb24gdGhlIGJvZHlcIlxuICAgdmFsdWU6IFwiI0ZGRlwiXG4gLSB2YXJpYWJsZTogXCJAYWN0aW9uLWNvbG9yXCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSBtYWluIGFjdGlvbiBjb2xvciB1c2VkIGZvciBsaW5rcyBhbmQgYnV0dG9uc1wiXG4gICB2YWx1ZTogXCIjRUM2NDQ5XCJcbiAtIHZhcmlhYmxlOiBcIkBib2R5LWNvbG9yXCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSBtYWluIGJhY2tncm91bmQgY29sb3JcIlxuICAgdmFsdWU6IFwiI0ZGRlwiXG4tLS1cblxuVGhlIGNvbG9yIHZhcmlhYmxlcyB0aGF0IGFyZSB1c2VkIHRocm91Z2hvdXQgdGhlIGxpYnJhcnkuIFxuKi9cbi8qXG4tLS1cbm5hbWU6IEdsb2JhbCBzZXR0aW5nc1xuY2F0ZWdvcnk6IFNoYXJlZC9WYXJpYWJsZXNcbnRlbXBsYXRlOiB2YXJpYWJsZXNcbnRhZzpcbiAtIHZhcmlhYmxlc1xudmFyaWFibGVzOlxuIC0gbmFtZTogXCJAdGV4dC1saW5lLWhlaWdodFwiXG4gICBkZXNjcmlwdGlvbjogXCJUaGUgbGluZSBoZWlnaHQgb2YgdGhlIGJvZHlcIlxuICAgZGVmYXVsdDogXCIxLjVyZW1cIlxuIC0gbmFtZTogXCJAZm9udC1mYW1pbHlcIlxuICAgZGVzY3JpcHRpb246IFwiVGhlIGZvbnQtZmFtaWx5IG9mIHRoZSBib2R5XCJcbiAgIGRlZmF1bHQ6IFwiJ0hlbHZldGljYScsIHNhbnMtc2VyaWZcIlxuIC0gbmFtZTogXCJAdGV4dC1yZW5kZXJpbmdcIlxuICAgZGVzY3JpcHRpb246IFwiVGhlIHRleHQtcmVuZGVyaW5nIG9mIHRoZSBib2R5XCJcbiAgIGRlZmF1bHQ6IFwib3B0aW1pemVMZWdpYmlsaXR5XCJcbiAtIG5hbWU6IFwiQHRyYW5zaXRpb24tZHVyYXRpb25cIlxuICAgZGVzY3JpcHRpb246IFwiVGhlIGR1cmF0aW9uIG9mIHRoZSBzbGlkZSB0cmFuc2l0aW9uc1wiXG4gICBkZWZhdWx0OiBcIjAuNHNcIlxuLS0tXG5cblRoZXNlIHZhcmlhYmxlcyBzZXR1cHMgc29tZSBnbG9iYWwgdGV4dCBmb3JtYXR0aW5nIGFuZCBzdHlsaW5nLlxuKi9cbi8qXG4tLS1cbm5hbWU6IFNpemUgc2V0dGluZ3NcbmNhdGVnb3J5OiBTaGFyZWQvVmFyaWFibGVzXG50ZW1wbGF0ZTogdmFyaWFibGVzXG50YWc6XG4gLSB2YXJpYWJsZXNcbiAtIGdyaWRcbnZhcmlhYmxlczpcbiAtIG5hbWU6IFwiQGdyaWQtZ3V0dGVyXCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSBzcGFjZSBiZXR3ZWVuIHRoZSBncmlkIGNoaWxkcmVuXCJcbiAgIGRlZmF1bHQ6IFwicmVtKCAzMHB4IClcIlxuIC0gbmFtZTogXCJAZ3JpZC1icmVhay1wb2ludHNcIlxuICAgZGVzY3JpcHRpb246IFwiVGhlIHNjcmVlbnNpemUgd2hlbiB0aGUgZ3JpZCBzaG91bGQgYnJlYWsuXCJcbiAgIGRlZmF1bHQ6IFwicmVtKDYwMHB4KSwgcmVtKDEwMjRweClcIlxuIC0gbmFtZTogXCJAZ3JpZC1icmVhay1sYWJlbHNcIlxuICAgZGVzY3JpcHRpb246IFwiVGhlIGJyZWFrcG9pbnQgbGFiZWwgY29ycmVzcG9uZGluZyB0byB0aGUgZW50aWUgaW4gdGhlIGBAZ3JpZC1icmVhay1wb2ludHNgIGxpc3RcIlxuICAgZGVmYXVsdDogXCJtZWRpdW0sIGxhcmdlXCJcbiAtIG5hbWU6IFwiQHBhZ2UtcGFkZGluZ1wiXG4gICBkZXNjcmlwdGlvbjogXCJUaGUgcGFkZGluZyBmb3IgdGhlIC5wYWdlLWZsdWlkIGNvbXBvbmVudFwiXG4gICBkZWZhdWx0OiBcInJlbSggNjBweCApXCJcbi0tLVxuXG5UaGVzZSB2YXJpYWJsZXMgc2V0dXBzIHNvbWUgZ2xvYmFsIHNpemVzIG1haW5seSBmb3IgdGhlIGdyaWQuXG4qL1xuLypcbi0tLVxubmFtZTogLmJ1dHRvbi1kZWZhdWx0XG5jYXRlZ29yeTogQnV0dG9ucy9EZWZhdWx0XG50YWc6XG4gLSBjb21wb25lbnRcbiAtIGJ1dHRvblxuLS0tXG5cblRoZSBkZWZhdWx0IGJ1dHRvbiBzZXRzIHNvbWUgYmFzaWMgcHJvcGVydGllcyBzbyBpdCBpcyB3b3JraW5nIGFzIGEgYGJ1dHRvbmAgb3IgYGFgIHRhZy5cblxuQW4gZXhhbXBsZSBmb3IgYSBidXR0b246XG5gYGBqYWRlXG5idXR0b24uYnV0dG9uLWRlZmF1bHQgTXkgQnV0dG9uXG5gYGBcblxuQW4gZXhhbXBsZSBmb3IgYSBsaW5rOlxuYGBgamFkZVxuYS5idXR0b24tZGVmYXVsdCBNeSBMaW5rXG5gYGBcbiovXG4uYnV0dG9uLWRlZmF1bHQge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi8qXG4tLS1cbm5hbWU6IC5ncmlkXG5jYXRlZ29yeTogTGF5b3V0L0dyaWRcbnRhZzpcbiAtIGNvbXBvbmVudFxuIC0gcmVzcG9uc2l2ZVxuY29tcGlsZTogdHJ1ZVxuLS0tXG5cbkEgc2ltcGxlIGdyaWQgc3lzdGVtIHRoYXQgd3JhcHMgY2hpbGRyZW4gbm9kZXMgYmFzZWQgb24gdGhlIHZpZXdwb3J0IHdpZHRoLlxuXG4jIyBTaW1wbGUgc2lkZSBieSBzaWRlIHJlbmRlcmluZ1xuXG5UaGUgZWFzaWVzdCB1c2UgY2FzZSBpcyB0byB1c2Ugc2ltcGxlIGAuY29sLTFgLCBgLmNvbC0xLTJgLCBgLmNvbC0xLTNgLCBgLmNvbC0xLTRgIGZvciBhIHNpZGUtYnktc2lkZSByZW5kZXJpbmcuXG5UaGUgZGVmYXVsdCB2YWx1ZSBmb3IgYWxsIGNoaWxkIGVsZW1lbnRzIG9mIGEgYC5ncmlkYCBpcyBlcXVpdmFsZW50IHRvIGAuY29sLTFgLCBzbyBmb3Igb25seSBvbmUgY2hpbGQgaXQgd2lsbCBzcGFuIHRoZSBmdWxsIHdpZHRoLlxuXG5gYGBqYWRlXG5kaXYuZ3JpZFxuXHRkaXYuY29sLTEtMiBcblx0XHRkaXYuYWlnaXMtZGVidWcgY29sLTEtMlxuXHRkaXYuY29sLTEtMlxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBjb2wtMS0yXG5gYGBcbmBgYGphZGVcbmRpdi5ncmlkXG5cdGRpdi5jb2wtMS00IFxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBjb2wtMS00XG5cdGRpdi5jb2wtMy00XG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIGNvbC0zLTRcbmBgYFxuXG4jIyBMYXlvdXRzIG9uIGRpZmZlcmVudCBkZXZpY2VzXG5cblRoZSBicmVha3BvaW50cyBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcyBhcmUgc3BlY2lmaWVkIGluIHRoZSBgQGdyaWQtYnJlYWstcG9pbnRzYCwgYEBncmlkLWJyZWFrLWxhYmVsc2AgdmFyaWFibGVzLlxuVGhlIGRlZmF1bHQgdmFsdWVzIGRlZmluZSB0d28gYnJlYWtwb2ludHMgd2l0aCBsYWJlbHM6IGAubWVkaXVtLVgtWGAgYW5kIGAubGFyZ2UtWC1YYC5cblNvIGFuIGV4YW1wbGUgZ3JpZCB3aXRoIHR3byBicmVha3BvaW50cyBsb29rcyBsaWtlIHRoaXM6XG5cbmBgYGphZGVcbmRpdi5ncmlkXG5cdGRpdi5tZWRpdW0tMS0yLmxhcmdlLTEtNC54bGFyZ2UtMS0yXG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIGNvbC0xIG1lZGl1bS0xLTIgbGFyZ2UtMS00XG5cdGRpdi5tZWRpdW0tMS0yLmxhcmdlLTEtNC54bGFyZ2UtMS0yXG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIGNvbC0xIG1lZGl1bS0xLTIgbGFyZ2UtMS00XG5cdGRpdi5jb2wtMS0yLm1lZGl1bS0xLTIubGFyZ2UtMS00LnhsYXJnZS0xLTJcblx0XHRkaXYuYWlnaXMtZGVidWcgY29sLTEtMiBtZWRpdW0tMS0yIGxhcmdlLTEtNFxuXHRkaXYuY29sLTEtMi5tZWRpdW0tMS0yLmxhcmdlLTEtNC54bGFyZ2UtMS0yXG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIGNvbC0xLTIgbWVkaXVtLTEtMiBsYXJnZS0xLTRcbmBgYFxuXG4qKk5vdGU6KiogVGhlIGBjb2wtMWAgY2xhc3NlcyBhcmUgbm90IHByZXNlbnQgb24gdGhlIGZpcnN0IHR3byBub2Rlcywgc2luY2UgdGhpcyBpcyB0aGUgZGVmYXVsdCBiZWhhdmlvdXIuXG5cblxuIyMgUmV2ZXJzZSBvcmRlclxuXG5UbyByZXZlcnNlIHRoZSBvcmRlciBpbiB3aGljaCB0aGUgY29sdW1ucyBhcmUgZGlzcGxheWVkLCB5b3UgY2FuIGFkZCB0aGUgbW9kaWZpZXIgY2xhc3MgYC4tcmV2ZXJzZWAgdG8geW91ciBncmlkLlxuVGhlIGNvbHVtbnMgd2lsbCBiZSBpbiBET00gb3JkZXIgd2hlbiB2aWV3cG9ydCBzd2l0Y2hlcyB0byBzbWFsbCBsYXlvdXQuXG5cbmBgYGphZGVcbmRpdi5ncmlkLi1yZXZlcnNlXG5cdGRpdi5jb2wtMS00XG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIEZpcnN0IGNvbHVtbiBpbiBET01cblx0ZGl2LmNvbC0xLTRcblx0XHRkaXYuYWlnaXMtZGVidWcgU2Vjb25kIGNvbHVtbiBpbiBET01cblx0ZGl2LmNvbC0xLTRcblx0XHRkaXYuYWlnaXMtZGVidWcgVGhpcmQgY29sdW1uIGluIERPTVxuXHRkaXYuY29sLTEtNFxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBGb3VydGggY29sdW1uIGluIERPTVxuYGBgXG4jIyBObyBndXR0ZXJcblxuSWYgeW91IGRvbnQgbmVlZCBhIHNwYWNpbmcvZ3V0dGVyIGJldHdlZW4gdGhlIGdyaWQgY29sdW1ucyB5b3UgY2FuIHVzZSB0aGUgbW9kaWZpZXIgYC4tbm9ndXR0ZXJgLlxuXG5gYGBqYWRlXG5kaXYuZ3JpZC4tbm9ndXR0ZXJcblx0ZGl2LmNvbC0xLTRcblx0XHRkaXYuYWlnaXMtZGVidWcgRmlyc3QgY29sdW1uIGluIERPTVxuXHRkaXYuY29sLTEtNFxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBTZWNvbmQgY29sdW1uIGluIERPTVxuXHRkaXYuY29sLTEtNFxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBUaGlyZCBjb2x1bW4gaW4gRE9NXG5cdGRpdi5jb2wtMS00XG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIEZvdXJ0aCBjb2x1bW4gaW4gRE9NXG5gYGBcbiovXG4uZ3JpZCB7XG4gIG1hcmdpbjogMCAtMC45Mzc1cmVtO1xuICAvKipcblx0ICogR2VuZXJhdGUgYWxsIG1lZGlhIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSBAZ3JpZC1icmVhay1wb2ludHMsIEBncmlkLWJyZWFrLWxhYmVscyB2YXJpYWJsZXMuXG5cdCAqL1xufVxuLmdyaWQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG4uZ3JpZCA+ICoge1xuICBmbG9hdDogbGVmdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCAwLjkzNzVyZW07XG59XG4uZ3JpZC4tcmV2ZXJzZSA+ICoge1xuICBmbG9hdDogcmlnaHQ7XG59XG4uZ3JpZC4tbm9ndXR0ZXIge1xuICBtYXJnaW46IDA7XG59XG4uZ3JpZC4tbm9ndXR0ZXIgPiAqIHtcbiAgcGFkZGluZzogMDtcbn1cbi5ncmlkIC5jb2wtMSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmdyaWQgLmNvbC0xLTIge1xuICB3aWR0aDogNTAlO1xufVxuLmdyaWQgLmNvbC0xLTMge1xuICB3aWR0aDogMzMuMzMzMzMzMzMlO1xufVxuLmdyaWQgLmNvbC0yLTMge1xuICB3aWR0aDogNjYuNjY2NjY2NjclO1xufVxuLmdyaWQgLmNvbC0xLTQge1xuICB3aWR0aDogMjUlO1xufVxuLmdyaWQgLmNvbC0zLTQge1xuICB3aWR0aDogNzUlO1xufVxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogMzcuNXJlbSkge1xuICAuZ3JpZCA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmdyaWQgPiAubWVkaXVtLTEtMiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuZ3JpZCA+IC5tZWRpdW0tMS0zIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkID4gLm1lZGl1bS0yLTMge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQgPiAubWVkaXVtLTEtNCB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuZ3JpZCA+IC5tZWRpdW0tMy00IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG59XG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2NHJlbSkge1xuICAuZ3JpZCA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuZ3JpZCA+IC5sYXJnZS0xLTIge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmdyaWQgPiAubGFyZ2UtMS0zIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkID4gLmxhcmdlLTItMyB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZCA+IC5sYXJnZS0xLTQge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmdyaWQgPiAubGFyZ2UtMy00IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG59XG4vKlxuLS0tXG5uYW1lOiBpbWcucmVzcG9uc2l2ZVxuY2F0ZWdvcnk6IExheW91dC9JbWFnZVxudGFnOlxuIC0gcmVzcG9uc2l2ZVxuY29tcGlsZTogdHJ1ZVxuLS0tXG5cblRoaXMgY2xhc3MgbWFrZXMgdGhlIGltYWdlIHNjYWxpbmcgdG8gaXRzIG1heCB3aWR0aC5cblxuYGBgamFkZVxuaW1nLnJlc3BvbnNpdmUoc3JjPSdodHRwOi8vd3d3LmJ5dWkuZWR1L2ltYWdlcy9hZ3JpY3VsdHVyZS1saWZlLXNjaWVuY2VzL2Zsb3dlci5qcGcnKVxuYGBgXG4qL1xuaW1nLnJlc3BvbnNpdmUge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbi8qXG4tLS1cbm5hbWU6IC5tZWRpYS1yZXNwb25zaXZlXG5jYXRlZ29yeTogTGF5b3V0L01lZGlhXG50YWc6XG4gLSByZXNwb25zaXZlXG5jb21waWxlOiB0cnVlXG4tLS1cblxuYC5tZWRpYS1yZXNwb25zaXZlYCAtIFRoaXMgbWFrZXMgYSB0aGUgYC5tZWRpYS1yZXNwb25zaXZlYCBkaXYgYSBjb250YWluZXIgZm9yIGFueSBtZWRpYSBlbGVtZW50IChpZnJhbWUsIHZpZGVvLCAuLi4gKSB0aGF0IHJlc3BvbnNpdmUgc2NhbGVzIHdpdGggYSBmaXggcmF0aW8uXG5UaGUgbWVkaWEgZWxlbWVudCAoIGNoaWxkICkgbmVlZHMgdGhlIGNsYXNzIGAuc3RyZXRjaGAgdG8gZnVsbHkgZmlsbCBvdXQgdGhlIHBhcmVudHMgc2l6ZS5cblxuVGhlIGAubWVkaWEtcmVzcG9uc2l2ZWAgY29tcG9uZW50IGhhcyB0byBwcmVkZWZpbmVkIG1vZGlmaWVyczogYC4tbWVkaWEtNC0zYCwgYC4tbWVkaWEtMTYtOWAgdGhhdCBkZWZpbmUgYSBmaXggcmF0aW8uXG5cbmBgYGphZGVcbmRpdi5tZWRpYS1yZXNwb25zaXZlLi1tZWRpYS0xNi05XG5cdGlmcmFtZS5zdHJldGNoKHNyYz1cImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9VENkNlBmeE95MFlcIilcbmBgYFxuKi9cbi5tZWRpYS1yZXNwb25zaXZlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDUwJTtcbn1cbi5tZWRpYS1yZXNwb25zaXZlLi1tZWRpYS00LTMge1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xufVxuLm1lZGlhLXJlc3BvbnNpdmUuLW1lZGlhLTE2LTkge1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjYlO1xufVxuLypcbi0tLVxubmFtZTogLnBhZ2UtZmx1aWRcbmNhdGVnb3J5OiBQYWdlL0ZsdWlkXG50YWc6XG4gLSByZXNwb25zaXZlXG5jb21waWxlOiB0cnVlXG4tLS1cblxuYC5wYWdlLWZsdWlkYCBjZW50ZXJzIHRoZSBwYWdlIGNvbnRlbnQgYW5kIGFkZHMgYSBwYWRkaW5nIHNvIHRoZSBwYWdlIHN0aWNrcyBub3QgdG8gdGhlIGJyb3dzZXIgdmlld3BvcnQuXG5GdXJ0aGVybW9yZSBpdCBoYXMgYSBtYXgtd2lkdGggYmFzZWQgb24gdGhlIGxhc3QgYEBncmlkLWJyZWFrLXBvaW50c2AgdmFsdWUuXG5cbmBgYGphZGVcbmRpdi5wYWdlLWZsdWlkXG5cdGRpdi5haWdpcy1kZWJ1ZyBTb21lIHBhZ2UgY29udGVudFxuYGBgXG5cbiMjIE1heC13aWR0aCBwYWdlXG5cblRvIGJyb2FkZW4gdGhlIHdpZHRoIG9mIHRoZSBwYWdlIHlvdSBjYW4gYWRkIHRoZSBtb2RpZmllciBgLi11bmxpbWl0ZWRgLiBUaHNpIHdpbGwgc3BhbiB0aGUgcGFnZSB0byB0aGUgZnVsbCB3aWR0aC5cblxuYGBgamFkZVxuZGl2LnBhZ2UtZmx1aWQuLXVubGltaXRlZFxuXHRkaXYuYWlnaXMtZGVidWcgU29tZSBwYWdlIGNvbnRlbnRcbmBgYFxuKi9cbi5wYWdlLWZsdWlkIHtcbiAgbWF4LXdpZHRoOiA3MS41cmVtO1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmc6IDAgMy43NXJlbTtcbn1cbi5wYWdlLWZsdWlkLi11bmxpbWl0ZWQge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG4vKlxuLS0tXG5uYW1lOiAucm93XG5jYXRlZ29yeTogTGF5b3V0L1Jvd1xudGFnOlxuIC0gY29tcG9uZW50XG5jb21waWxlOiB0cnVlXG4tLS1cblxuVGhpcyBzdHlsaW5nIGFsbG93IHRvIHBsYWNlIGNvbnRhaW5lcnMgaW4gYSByb3cuIFRoZXkgd2lsbCAqKm5vdCoqIGJyZWFrIGFzIHRoZSBgLmdyaWRgIGJ1dCByZXNpemUgdGhlbSBhY2NvcmRpbmdseS5cblNvbWUgYmVuZWZpdHMgb2YgdGhlIGAucm93YCBhcHByb2FjaCBpcyB0aGUgZWFzeSB2ZXJ0aWNhbCBjZW50ZXJpbmcgYW5kIHRoZSB1c2FnZSBvZiB0aGUgYC5jb2wtYXV0b2AgY2xhc3MuXG5cbiMjIEJhc2ljIHJvdyB3aXRoIHZlcnRpY2FsIGNlbnRlcmluZ1xuXG5Zb3UgY2FuIHVzZSB0aGUgc2l6aW5nIGNsYXNzZXMgYC5jb2wtWC1YYCB0byBkZWZpbmUgdGhlIHdpZHRoIG9mIGEgY29sdW1uIGFzIHRoZSBmb2xsb3dpbmcgZXhhbXBsZSBzaG93cy4gXG5cbmBgYGphZGVcbmRpdi5yb3dcblx0ZGl2LmNvbC0xLTQuYWlnaXMtZGVidWcgY29sLTEtNCB3aXRoIGEgbG90IG9mIHRleHQgdGhhdCBzcGFucyB0aGUgY29sdW1uLlxuXHRkaXYuY29sLTMtNC5haWdpcy1kZWJ1ZyBjb2wtMy00IGNvbnRlbnQuXG5gYGBcblxuIyMgRml4ZWQgcm93XG5cblRoZXJlIGlzIGEgYC4tZml4ZWRgIG1vZGlmaWVyIHdoZXJlIGVhY2ggY29sdW1uIGhhcyB0aGUgc2FtZSB3aWR0aC5cblxuYGBgamFkZVxuZGl2LnJvdy4tZml4ZWRcblx0ZGl2LmFpZ2lzLWRlYnVnIGV2ZW5seSBzcHJlYWRvdXQgY29sdW1uXG5cdGRpdi5haWdpcy1kZWJ1ZyBldmVubHkgc3ByZWFkb3V0IGNvbHVtbiB3aXRoIG1vcmUgY29udGVudFxuXHRkaXYuYWlnaXMtZGVidWcgZXZlbmx5IHNwcmVhZG91dCBjb2x1bW5cblx0ZGl2LmFpZ2lzLWRlYnVnIGV2ZW5seSBzcHJlYWRvdXQgY29sdW1uIHdpdGggbXVjaCBtb3JlIGNvbnRlbnQgdGhhbiB0aGUgb3RoZXJcblx0ZGl2LmFpZ2lzLWRlYnVnLnZjZW50ZXIgZXZlbmx5IHNwcmVhZG91dCBjb2x1bW4gd2l0aCAudmNlbnRlclxuYGBgXG5cblxuIyMgQXV0byBzaXplZCBjb2x1bW4gd2lkdGggYW5kIHZjZW50ZXJcblxuVGhlcmUgaXMgYSBzcGVjaWFsIGAuY29sLWF1dG9gIGNsYXNzIHRoYXQgcmVzaXplcyB0aGUgY29sdW1uIHRvIHRoZSBzaXplIG9mIGl0cyBjb250ZW50LlxuVGhpcyBpcyB1c2VmdWxsIGZvciBleGFtcGxlIGlmIHlvdSBoYXZlIGEgZml4ZWQgc2l6ZSBsb2dvIGFuZCB0aGUgcmVzdCBvZiB0aGUgaGVhZGVyIGhhcyB0byByZXNpemUuXG5cbmBgYGphZGVcbmRpdi5yb3cuLWNlbnRlclxuXHRkaXYuY29sLWF1dG8uYWlnaXMtZGVidWdcblx0XHRpbWcoc3JjPVwiaHR0cDovL3BsYWNlaG9sZC5pdC8xMDB4MTAwXCIpXG5cdGRpdi5jb2wtMS5haWdpcy1kZWJ1ZyBUaGUgcmVzdFxuXHRkaXYuY29sLWF1dG8uYWlnaXMtZGVidWdcblx0XHRpbWcoc3JjPVwiaHR0cDovL3BsYWNlaG9sZC5pdC8yMDB4MTAwXCIpXG5gYGBcbiovXG4ucm93IHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnJvdy4tZml4ZWQge1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xufVxuLnJvdy4tY2VudGVyID4gKiB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4ucm93Li1ib3R0b20gPiAqIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cbi5yb3cuLXBhZGRlZCA+ICogKyAqIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTtcbn1cbi5yb3cgPiAqIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbn1cbi5yb3cgPiAqLmNvbC0xIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4ucm93ID4gKi5jb2wtMS0yLFxuLnJvdyA+ICouY29sLTItNCB7XG4gIHdpZHRoOiA1MCU7XG59XG4ucm93ID4gKi5jb2wtMS0zIHtcbiAgd2lkdGg6IDMzLjMzMzMzMzMzJTtcbn1cbi5yb3cgPiAqLmNvbC0yLTMge1xuICB3aWR0aDogNjYuNjY2NjY2NjclO1xufVxuLnJvdyA+ICouY29sLTEtNCB7XG4gIHdpZHRoOiAyNSU7XG59XG4ucm93ID4gKi5jb2wtMy00IHtcbiAgd2lkdGg6IDc1JTtcbn1cbi5yb3cgPiAqLmNvbC1hdXRvIHtcbiAgd2lkdGg6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4vKlxuLS0tXG5uYW1lOiBDb2xvcnNcbmNhdGVnb3J5OiBTaGFyZWQvVmFyaWFibGVzXG50ZW1wbGF0ZTogY29sb3JzXG50YWc6XG4gLSB2YXJpYWJsZXNcbiAtIGNvbG9yc1xuY29sb3JzOlxuIC0gdmFyaWFibGU6IFwiQHRleHQtY29sb3JcIlxuICAgZGVzY3JpcHRpb246IFwiVGhlIGRlZmF1bHQgdGV4dCBjb2xvciBvbiB0aGUgYm9keVwiXG4gICB2YWx1ZTogXCIjM0YzRjQwXCJcbiAtIHZhcmlhYmxlOiBcIkB0ZXh0LWludmVydGVkLWNvbG9yXCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSBkZWZhdWx0IGludmVydGVkIHRleHQgY29sb3Igb24gdGhlIGJvZHlcIlxuICAgdmFsdWU6IFwiI0ZGRlwiXG4gLSB2YXJpYWJsZTogXCJAYWN0aW9uLWNvbG9yXCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSBtYWluIGFjdGlvbiBjb2xvciB1c2VkIGZvciBsaW5rcyBhbmQgYnV0dG9uc1wiXG4gICB2YWx1ZTogXCIjRUM2NDQ5XCJcbiAtIHZhcmlhYmxlOiBcIkBib2R5LWNvbG9yXCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSBtYWluIGJhY2tncm91bmQgY29sb3JcIlxuICAgdmFsdWU6IFwiI0ZGRlwiXG4tLS1cblxuVGhlIGNvbG9yIHZhcmlhYmxlcyB0aGF0IGFyZSB1c2VkIHRocm91Z2hvdXQgdGhlIGxpYnJhcnkuIFxuKi9cbi8qXG4tLS1cbm5hbWU6IEdsb2JhbCBzZXR0aW5nc1xuY2F0ZWdvcnk6IFNoYXJlZC9WYXJpYWJsZXNcbnRlbXBsYXRlOiB2YXJpYWJsZXNcbnRhZzpcbiAtIHZhcmlhYmxlc1xudmFyaWFibGVzOlxuIC0gbmFtZTogXCJAdGV4dC1saW5lLWhlaWdodFwiXG4gICBkZXNjcmlwdGlvbjogXCJUaGUgbGluZSBoZWlnaHQgb2YgdGhlIGJvZHlcIlxuICAgZGVmYXVsdDogXCIxLjVyZW1cIlxuIC0gbmFtZTogXCJAZm9udC1mYW1pbHlcIlxuICAgZGVzY3JpcHRpb246IFwiVGhlIGZvbnQtZmFtaWx5IG9mIHRoZSBib2R5XCJcbiAgIGRlZmF1bHQ6IFwiJ0hlbHZldGljYScsIHNhbnMtc2VyaWZcIlxuIC0gbmFtZTogXCJAdGV4dC1yZW5kZXJpbmdcIlxuICAgZGVzY3JpcHRpb246IFwiVGhlIHRleHQtcmVuZGVyaW5nIG9mIHRoZSBib2R5XCJcbiAgIGRlZmF1bHQ6IFwib3B0aW1pemVMZWdpYmlsaXR5XCJcbiAtIG5hbWU6IFwiQHRyYW5zaXRpb24tZHVyYXRpb25cIlxuICAgZGVzY3JpcHRpb246IFwiVGhlIGR1cmF0aW9uIG9mIHRoZSBzbGlkZSB0cmFuc2l0aW9uc1wiXG4gICBkZWZhdWx0OiBcIjAuNHNcIlxuLS0tXG5cblRoZXNlIHZhcmlhYmxlcyBzZXR1cHMgc29tZSBnbG9iYWwgdGV4dCBmb3JtYXR0aW5nIGFuZCBzdHlsaW5nLlxuKi9cbi8qXG4tLS1cbm5hbWU6IFNpemUgc2V0dGluZ3NcbmNhdGVnb3J5OiBTaGFyZWQvVmFyaWFibGVzXG50ZW1wbGF0ZTogdmFyaWFibGVzXG50YWc6XG4gLSB2YXJpYWJsZXNcbiAtIGdyaWRcbnZhcmlhYmxlczpcbiAtIG5hbWU6IFwiQGdyaWQtZ3V0dGVyXCJcbiAgIGRlc2NyaXB0aW9uOiBcIlRoZSBzcGFjZSBiZXR3ZWVuIHRoZSBncmlkIGNoaWxkcmVuXCJcbiAgIGRlZmF1bHQ6IFwicmVtKCAzMHB4IClcIlxuIC0gbmFtZTogXCJAZ3JpZC1icmVhay1wb2ludHNcIlxuICAgZGVzY3JpcHRpb246IFwiVGhlIHNjcmVlbnNpemUgd2hlbiB0aGUgZ3JpZCBzaG91bGQgYnJlYWsuXCJcbiAgIGRlZmF1bHQ6IFwicmVtKDYwMHB4KSwgcmVtKDEwMjRweClcIlxuIC0gbmFtZTogXCJAZ3JpZC1icmVhay1sYWJlbHNcIlxuICAgZGVzY3JpcHRpb246IFwiVGhlIGJyZWFrcG9pbnQgbGFiZWwgY29ycmVzcG9uZGluZyB0byB0aGUgZW50aWUgaW4gdGhlIGBAZ3JpZC1icmVhay1wb2ludHNgIGxpc3RcIlxuICAgZGVmYXVsdDogXCJtZWRpdW0sIGxhcmdlXCJcbiAtIG5hbWU6IFwiQHBhZ2UtcGFkZGluZ1wiXG4gICBkZXNjcmlwdGlvbjogXCJUaGUgcGFkZGluZyBmb3IgdGhlIC5wYWdlLWZsdWlkIGNvbXBvbmVudFwiXG4gICBkZWZhdWx0OiBcInJlbSggNjBweCApXCJcbi0tLVxuXG5UaGVzZSB2YXJpYWJsZXMgc2V0dXBzIHNvbWUgZ2xvYmFsIHNpemVzIG1haW5seSBmb3IgdGhlIGdyaWQuXG4qL1xuLmFuc3dlci12aWV3Li13cm9uZyB7XG4gIGNvbG9yOiByZWQ7XG59XG4uYW5zd2VyLXZpZXcgLmxhYmVsIHtcbiAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5hbnN3ZXItdmlldyAubGFiZWwgPiAuaW5wdXQge1xuICB0b3A6IDAuNjg3NXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMC45Mzc1cmVtO1xuICBtYXJnaW46IDA7XG59XG4uYm94LWNoYXB0ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XG59XG4uYm94LWNoYXB0ZXIgLm1hbmRhdG9yeSB7XG4gIG1pbi1oZWlnaHQ6IDM0cHg7XG59XG4uYm94LWNoYXB0ZXI6OmFmdGVyIHtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBjb250ZW50OiBcIuKWslwiO1xufVxuLmJveC1jaGFwdGVyLi1leHBhbmRlZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBmb250LXNpemU6IDEuODc1cmVtO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBjb250ZW50OiBcIuKWslwiO1xuICB6LWluZGV4OiAxMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3R0b206IC0yNHB4O1xuICBjb2xvcjogIzVDNUFBNTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzO1xufVxuLmJveC1jaGFwdGVyIC5pbWFnZSB7XG4gIHBhZGRpbmctYm90dG9tOiAxM3B4O1xuICBib3JkZXItYm90dG9tOiAzcHggc29saWQgIzVDNUFBNTtcbiAgbWF4LWhlaWdodDogMjAzcHg7XG59XG4uYm94LWNoYXB0ZXIgLnRpdGxlIHtcbiAgbWFyZ2luOiAxNHB4IDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBoZWlnaHQ6IDU1cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG59XG4uYm94LWNoYXB0ZXIgLmxpbmstY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmJveC1jaGFwdGVyIC5saW5rLWNvbnRhaW5lcjpob3ZlciAuaW1hZ2Uge1xuICBvcGFjaXR5OiAwLjg7XG59XG4uYm94LWNoYXB0ZXIgLmxpbmstY29udGFpbmVyOmhvdmVyIC50aXRsZSB7XG4gIGNvbG9yOiAjNUM1QUE1O1xufVxuLmJveC1jaGFwdGVyIC5jbGFzcyA+IHN2Zyxcbi5ib3gtY2hhcHRlciAuZHVyYXRpb24gPiBzdmcsXG4uYm94LWNoYXB0ZXIgLmxhYmVsID4gc3ZnIHtcbiAgbWFyZ2luLXJpZ2h0OiA5cHg7XG4gIGNvbG9yOiAjNUM1QUE1O1xufVxuLmJveC1jaGFwdGVyIC5jbGFzcyxcbi5ib3gtY2hhcHRlciAuZHVyYXRpb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA1MCU7XG59XG4uYm94LWNoYXB0ZXIgLmV4cG9ydCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5ib3gtY2hhcHRlciAuZXhwb3J0ID4gLmJ1dHRvbi1leHBvcnQge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG4uYm94LWNoYXB0ZXIgLmV4cG9ydCA+IC5idXR0b24tZXhwb3J0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDBweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5ib3gtY2hhcHRlciAuaW1hZ2Uge1xuICAgIG1heC1oZWlnaHQ6IDMwN3B4O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5ib3gtY2hhcHRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuICAuYm94LWNoYXB0ZXIgLmltYWdlIHtcbiAgICBtYXgtaGVpZ2h0OiAzODBweDtcbiAgfVxuICAuYm94LWNoYXB0ZXIgPiAudGl0bGUge1xuICAgIGhlaWdodDogMzBweDtcbiAgfVxufVxuLmJ1dHRvbi1leHBvcnQge1xuICBoZWlnaHQ6IDMycHg7XG4gIHdpZHRoOiA5OHB4O1xuICBjb2xvcjogIzVDNUFBNTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjNUM1QUE1O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xcztcbn1cbi5idXR0b24tZXhwb3J0OmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjNEE0QThBO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEE0QThBO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5idXR0b24tZXhwb3J0OmFjdGl2ZSB7XG4gIGJvcmRlci1jb2xvcjogIzVDNUFBNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVDNUFBNTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uYnV0dG9uLWZpbHRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNkY2RjY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG59XG4uYnV0dG9uLWZpbHRlcjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyOiBub25lO1xufVxuLmJ1dHRvbi1maWx0ZXIuLWFjdGl2ZSB7XG4gIGNvbG9yOiAjNUM1QUE1O1xufVxuLmJ1dHRvbi1maWx0ZXIuLWFjdGl2ZSA+IC5pY29uLWNoZWNrZWQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiAjNUM1QUE1O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxcmVtO1xuICB0b3A6IDIzcHg7XG59XG4uYnV0dG9uLWZpbHRlcjpob3ZlciB7XG4gIGNvbG9yOiAjNEE0QThBO1xufVxuLmJ1dHRvbi1maWx0ZXIuLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uYnV0dG9uLWZpbHRlciA+IC5pY29uLWZpbHRlcixcbi5idXR0b24tZmlsdGVyID4gLmljb24tY2hlY2tlZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uYnV0dG9uLWZpbHRlci4tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1QzVBQTU7XG59XG4uYnV0dG9uLWZpbHRlci4tdG9nZ2xlID4gLmljb24tY2hlY2tlZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uYnV0dG9uLWZpbHRlci4tdG9nZ2xlID4gLmljb24tZmlsdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG59XG4vKlxuLmJ1dHRvbi1maWx0ZXIge1xuICAgIFxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICB3aWR0aDogMTMycHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDIycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoMCwwLDAsMC4zKTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1zaXplOiByZW0oMTZweCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHJlbSgwLjQ4cHgpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBob3Zlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmLi1hY3RpdmV7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBkYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDZweCA2cHggMCByZ2JhKDAsMCwwLDAuMyk7XG4gICAgfVxuICAgICYuLWhpZGRlbiB7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICB9XG59XG5cbiovXG4uYnV0dG9uLXRlYWNoZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgd2lkdGg6IDQwMHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmJ1dHRvbi10ZWFjaGVyOmhvdmVyIHtcbiAgY29sb3I6ICM0QTRBOEE7XG59XG4uYnV0dG9uLXRlYWNoZXIgLmljb24ge1xuICBjb2xvcjogIzVDNUFBNTtcbiAgaGVpZ2h0OiAyNnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLmJ1dHRvbi10ZWFjaGVyLi1jbG9zZSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNvbG9yOiAjMDAwO1xufVxuLmJ1dHRvbi10ZWFjaGVyLi1jbG9zZSAuaWNvbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xufVxuLmJ1dHRvbi10ZWFjaGVyLi1jbG9zZTpob3ZlciB7XG4gIGNvbG9yOiAjNEE0QThBO1xufVxuLmNhcHRpb24tZWxlbWVudCA+IHAge1xuICBjb2xvcjogIzZhNmE2YTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cbi5jYXJvdXNlbC1lbGVtZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmNhcm91c2VsLWVsZW1lbnQuLWxpZ2h0Ym94IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgdG9wOiAwcHg7XG4gIGxlZnQ6IDBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAyMDtcbn1cbi5jYXJvdXNlbC1lbGVtZW50Li1saWdodGJveCAuY2xvc2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHJpZ2h0OiAzMnB4O1xuICB0b3A6IDMycHg7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIHotaW5kZXg6IDEwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uY2Fyb3VzZWwtZWxlbWVudC4tbGlnaHRib3ggLm5hdmktbGVmdCxcbi5jYXJvdXNlbC1lbGVtZW50Li1saWdodGJveCAubmF2aS1yaWdodCB7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG59XG4uY2Fyb3VzZWwtZWxlbWVudC4tbGlnaHRib3ggLm5hdmktcmlnaHQge1xuICByaWdodDogMHB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZVkoMCUpO1xufVxuLmNhcm91c2VsLWVsZW1lbnQuLWxpZ2h0Ym94IC5uYXZpLWxlZnQge1xuICBsZWZ0OiAwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG59XG4uY2Fyb3VzZWwtZWxlbWVudC4tbGlnaHRib3ggLm91dGVyLXN0YWdlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuLmNhcm91c2VsLWVsZW1lbnQuLWxpZ2h0Ym94IC5vdXRlci1zdGFnZSAuaW5uZXItc3RhZ2Uge1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uY2Fyb3VzZWwtZWxlbWVudC4tbGlnaHRib3ggLm91dGVyLXN0YWdlIC5pbm5lci1zdGFnZSAubGlnaHRib3gge1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uY2Fyb3VzZWwtZWxlbWVudC4tbGlnaHRib3ggLm91dGVyLXN0YWdlIC5pbm5lci1zdGFnZSAubGlnaHRib3ggLmNvbnRhaW5lciB7XG4gIHdpZHRoOiA4MCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5jYXJvdXNlbC1lbGVtZW50Li1saWdodGJveCAub3V0ZXItc3RhZ2UgLmlubmVyLXN0YWdlIC5saWdodGJveCAuY29udGFpbmVyIC5pbm5lciAuaW1hZ2UtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMHZoO1xuICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmNhcm91c2VsLWVsZW1lbnQuLWxpZ2h0Ym94IC5vdXRlci1zdGFnZSAuaW5uZXItc3RhZ2UgLmxpZ2h0Ym94IC5jb250YWluZXIgLmlubmVyIC5pbWFnZSB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG59XG4uY2Fyb3VzZWwtZWxlbWVudC4tbGlnaHRib3ggLm91dGVyLXN0YWdlIC5pbm5lci1zdGFnZSAubGlnaHRib3ggLm9wZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmNhcm91c2VsLWVsZW1lbnQuLWxpZ2h0Ym94IC5vdXRlci1zdGFnZSAuaW5uZXItc3RhZ2UgLmxpZ2h0Ym94IC5jYXB0aW9uLWVsZW1lbnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmNhcm91c2VsLWVsZW1lbnQgLmNsb3NlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5jYXJvdXNlbC1lbGVtZW50IC5uYXZpLWxlZnQsXG4uY2Fyb3VzZWwtZWxlbWVudCAubmF2aS1yaWdodCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVDNUFBNTtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbn1cbi5jYXJvdXNlbC1lbGVtZW50IC5uYXZpLWxlZnQgc3ZnLFxuLmNhcm91c2VsLWVsZW1lbnQgLm5hdmktcmlnaHQgc3ZnIHtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbn1cbi5jYXJvdXNlbC1lbGVtZW50IC5uYXZpLWxlZnQge1xuICBsZWZ0OiAwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbi5jYXJvdXNlbC1lbGVtZW50IC5uYXZpLXJpZ2h0IHtcbiAgcmlnaHQ6IDBweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKSB0cmFuc2xhdGVZKDUwJSk7XG59XG4uY2Fyb3VzZWwtZWxlbWVudCAub3V0ZXItc3RhZ2Uge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmNhcm91c2VsLWVsZW1lbnQgLm91dGVyLXN0YWdlIC5pbm5lci1zdGFnZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogbGVmdDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIHRyYW5zaXRpb246IGxlZnQgMC40cyBlYXNlLW91dDtcbiAgbGVmdDogMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uY2Fyb3VzZWwtZWxlbWVudCAub3V0ZXItc3RhZ2UgLmlubmVyLXN0YWdlIC5saWdodGJveCB7XG4gIGhlaWdodDogNDg1cHg7XG59XG4uY2Fyb3VzZWwtZWxlbWVudCAub3V0ZXItc3RhZ2UgLmlubmVyLXN0YWdlIC5saWdodGJveCAuY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZBNkE2QTtcbiAgaGVpZ2h0OiA0NTBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLmNhcm91c2VsLWVsZW1lbnQgLm91dGVyLXN0YWdlIC5pbm5lci1zdGFnZSAubGlnaHRib3ggLmNvbnRhaW5lciAuaW1hZ2Uge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LWhlaWdodDogNDUwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5jYXJvdXNlbC1lbGVtZW50IC5vdXRlci1zdGFnZSAuaW5uZXItc3RhZ2UgLmxpZ2h0Ym94IC5jYXB0aW9uLWVsZW1lbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG59XG4uY2hhcHRlci1jb3ZlciB7XG4gIGhlaWdodDogNDUwcHg7XG4gIG1hcmdpbi10b3A6IDExcHg7XG4gIG1hcmdpbi1ib3R0b206IDg1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uY2hhcHRlci1jb3ZlciA+IC50aGVtZS1pY29uIHtcbiAgd2lkdGg6IDIwMHB4O1xuICBoZWlnaHQ6IDIwMHB4O1xufVxuLmNoYXB0ZXItY292ZXIgPiAudGl0bGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3aWR0aDogOTQwcHg7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDRyZW07XG4gIGZvbnQtd2VpZ2h0OiBkZW1pO1xuICBsaW5lLWhlaWdodDogNC42MjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTE4NzVyZW07XG4gIHRleHQtc2hhZG93OiAwLjFweCAwLjFweCAxNnB4ICM2YTZhNmE3Mztcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLmNoYXB0ZXItY292ZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMuMDYyNXJlbTtcbiAgICBoZWlnaHQ6IDM0MHB4O1xuICB9XG4gIC5jaGFwdGVyLWNvdmVyID4gLnRoZW1lLWljb24ge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICB9XG4gIC5jaGFwdGVyLWNvdmVyID4gLnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gIH1cbn1cbi5jaGFwdGVyLXN1Ym5hdmkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUM1QUE1O1xuICBtYXgtaGVpZ2h0OiAwcHg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBtYXJnaW4tdG9wOiA0NXB4O1xufVxuLmNoYXB0ZXItc3VibmF2aS4tZXhwYW5kZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDB2dztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIG9wYWNpdHk6IDE7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LWhlaWdodDogMjAwMHB4O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMsIG1heC1oZWlnaHQgM3M7XG59XG4uY2hhcHRlci1zdWJuYXZpID4gLmNvbnRhaW5lciB7XG4gIG1hcmdpbjogYXV0bztcbiAgcGFkZGluZzogMy4xMjVyZW0gMXJlbTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5jaGFwdGVyLXN1Ym5hdmkgPiAuY29udGFpbmVyID4gLnRoZW1lLWljb24ge1xuICBsZWZ0OiAxNXB4O1xufVxuLmNoYXB0ZXItc3VibmF2aSA+IC5jb250YWluZXIgPiAudGl0bGVyb3cge1xuICB6LWluZGV4OiAxMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG4gIHBhZGRpbmctYm90dG9tOiAxLjM3NXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmNoYXB0ZXItc3VibmF2aSA+IC5jb250YWluZXIgPiAudGl0bGVyb3cgPiAubmF2aXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cbi5jaGFwdGVyLXN1Ym5hdmkgPiAuY29udGFpbmVyID4gLnRpdGxlcm93ID4gLmRvd25sb2FkIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBjb2xvcjogI2ZmZjtcbn1cbi5jaGFwdGVyLXN1Ym5hdmkgPiAuY29udGFpbmVyID4gLnRpdGxlcm93ID4gLmRvd25sb2FkIC5pY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG4uY2hhcHRlci1zdWJuYXZpID4gLmNvbnRhaW5lciA+IC50aXRsZXJvdyA+IC5kb3dubG9hZDpob3ZlciB7XG4gIGNvbG9yOiAjMDAwO1xufVxuLmNoYXB0ZXItc3VibmF2aSA+IC5jb250YWluZXIgLml0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG4gIGNvbG9yOiAjZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7XG59XG4uY2hhcHRlci1zdWJuYXZpID4gLmNvbnRhaW5lciAuaXRlbSA+IC5jaGFwdGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5jaGFwdGVyLXN1Ym5hdmkgPiAuY29udGFpbmVyIC5pdGVtIC5tb2R1bGUtbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4uY2hhcHRlci1zdWJuYXZpID4gLmNvbnRhaW5lciAuaXRlbSAubW9kdWxlLWxhYmVsID4gLmljb24ge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5jaGFwdGVyLXN1Ym5hdmkgPiAuY29udGFpbmVyIC5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRBNEE4QTtcbn1cbi5jaGFwdGVyLXN1Ym5hdmkgPiAuY29udGFpbmVyIC5pdGVtOmhvdmVyIC5tb2R1bGUtbGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEE0QThBO1xufVxuLmNoYXB0ZXItc3VibmF2aSA+IC5jb250YWluZXIgLml0ZW06aG92ZXIgLm1vZHVsZS1sYWJlbCA+IC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRBNEE4QTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5jaGFwdGVyLXN1Ym5hdmkuLWV4cGFuZGVkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIH1cbiAgLmNoYXB0ZXItc3VibmF2aSA+IC5jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDEuODc1cmVtIDFyZW07XG4gIH1cbiAgLmNoYXB0ZXItc3VibmF2aSA+IC5jb250YWluZXIgLnRoZW1lLWljb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5jb21tb24tcGFnZSB7XG4gIG1hcmdpbi10b3A6IDUuMzEyNXJlbTtcbn1cbi5jb21tb24tcGFnZS4tbWFpbi1pbXByZXNzdW0gaDEsXG4uY29tbW9uLXBhZ2UuLW1haW4taW1wcmVzc3VtIGgyLFxuLmNvbW1vbi1wYWdlLi1tYWluLWltcHJlc3N1bSBoMyxcbi5jb21tb24tcGFnZS4tbWFpbi1pbXByZXNzdW0gLnBhcmFncmFwaC1lbGVtZW50LFxuLmNvbW1vbi1wYWdlLi1tYWluLWltcHJlc3N1bSAucGFyYWdyYXBoLWVsZW1lbnQgYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmNvbW1vbi1wYWdlIGgxLFxuLmNvbW1vbi1wYWdlIGgyLFxuLmNvbW1vbi1wYWdlIGgzIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBibGFjaztcbiAgZm9udC1zaXplOiAzcmVtO1xuICBsaW5lLWhlaWdodDogMy42MjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMy43NXJlbTtcbn1cbi5jb21tb24tcGFnZSA+IC5wYXJhZ3JhcGgtZWxlbWVudCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTtcbn1cbi5jb21tb24tcGFnZSA+IC5pbWFnZS1lbGVtZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtO1xufVxuLmNvbW1vbi1wYWdlID4gLmRlbGltaXRlci1saW5lIHtcbiAgbWFyZ2luOiAzLjEyNXJlbSAwO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAuY29tbW9uLXBhZ2Uge1xuICAgIG1hcmdpbi10b3A6IDByZW07XG4gIH1cbiAgLmNvbW1vbi1wYWdlLi1tYWluLWltcHJlc3N1bSB7XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgbWFyZ2luLXRvcDogNy41cmVtO1xuICB9XG4gIC5jb21tb24tcGFnZS4tbm9jb3ZlciB7XG4gICAgbWFyZ2luLXRvcDogMTEuMjVyZW07XG4gIH1cbiAgLmNvbW1vbi1wYWdlIGgxLFxuICAuY29tbW9uLXBhZ2UgaDIsXG4gIC5jb21tb24tcGFnZSBoMyB7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMi4xMjVyZW07XG4gIH1cbiAgLmNvbW1vbi1wYWdlID4gLnRpdGxlLWVsZW1lbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgfVxuICAuY29tbW9uLXBhZ2UgPiAucGFyYWdyYXBoLWVsZW1lbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgfVxuICAuY29tbW9uLXBhZ2UgPiAuaW1hZ2UtZWxlbWVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICB9XG4gIC5jb21tb24tcGFnZSA+IC5kZWxpbWl0ZXItbGluZSB7XG4gICAgbWFyZ2luOiAxLjg3NXJlbSAwO1xuICB9XG59XG4uY29udGFpbmVyLXF1ZXN0aW9ucyB7XG4gIG1hcmdpbi1ib3R0b206IDUuNjI1cmVtO1xufVxuLmNvbnRhaW5lci1xdWVzdGlvbnMgLm1haW4tdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAzLjc1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogYmxhY2s7XG59XG4uY29udGFpbmVyLXF1ZXN0aW9ucyAubnVtYmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMi44NzVyZW07XG4gIGNvbG9yOiAjNUM1QUE1O1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItYm90dG9tOiA2cHggc29saWQgIzVDNUFBNTtcbiAgbGluZS1oZWlnaHQ6IDAuMDVlbTtcbiAgZm9udC1zaXplOiAzcmVtO1xufVxuLmNvbnRhaW5lci1xdWVzdGlvbnMgLm51bWJlciBzcGFuIHtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLmNvbnRhaW5lci1xdWVzdGlvbnMge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIH1cbiAgLmNvbnRhaW5lci1xdWVzdGlvbnMgPiAubnVtYmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gIH1cbn1cbi5jb250YWluZXItdGVhY2hlciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjNUM1QUE1O1xufVxuLmNvbnRhaW5lci10ZWFjaGVyLnNpZGViYXItbG9naW4ge1xuICBib3JkZXItYm90dG9tOiAwcHg7XG59XG4uY29udGFpbmVyLXRlYWNoZXI6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4uY29udGFpbmVyLXRlYWNoZXIgLm1vZHVsZS10aXRsZSB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuLmNvbnRhaW5lci10ZWFjaGVyIC50aXRsZS50aXRsZS1kb3dubG9hZCB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjNUM1QUE1O1xuICBjdXJzb3I6IGF1dG87XG4gIG1hcmdpbjogMHB4O1xuICBwYWRkaW5nOiAxMHB4IDBweDtcbn1cbi5jb250YWluZXItdGVhY2hlciAudGl0bGUge1xuICBtYXJnaW46IDBweCAtMThweCAwcHggLTI3cHg7XG4gIHBhZGRpbmc6IDEwcHggMHB4IDEwcHggMjdweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uY29udGFpbmVyLXRlYWNoZXIgLnRpdGxlLi1jaGFwdGVyLi1jdXJyZW50IHtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjNUM1QUE1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTlFOUU5O1xufVxuLmNvbnRhaW5lci10ZWFjaGVyIC50aXRsZS4tY2hhcHRlcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFOUU5RTk7XG59XG4uY29udGFpbmVyLXRlYWNoZXIgLnRpdGxlLi1iYWNrZ3JvdW5kOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U5RTlFOTtcbn1cbi5jb250YWluZXItdGVhY2hlciAudGl0bGUgLnRpdGxlLWNvbnRlbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMzRweDtcbn1cbi5jb250YWluZXItdGVhY2hlciAudGl0bGUgLmljb24ge1xuICBjb2xvcjogIzVDNUFBNTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE0cHg7XG4gIHJpZ2h0OiAxN3B4O1xufVxuLmNvbnRhaW5lci10ZWFjaGVyIC5jb250ZW50IHtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG59XG4uY29udGFpbmVyLXRlYWNoZXIgLmNvbnRlbnQgLmNvbnRlbnQtc2VjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4uY29udGFpbmVyLXRlYWNoZXIgLmNvbnRlbnQgLmNvbnRlbnQtc2VjdGlvbi4taW5saW5lIC5zZWN0aW9uLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cbi5jb250YWluZXItdGVhY2hlciAuY29udGVudCAuY29udGVudC1zZWN0aW9uIC5zZWN0aW9uLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cbi5jb250YWluZXItdGVhY2hlciAuY29udGVudCAuY29udGVudC1zZWN0aW9uIHAge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLmNvbnRhaW5lci10ZWFjaGVyIC5jb250ZW50IC5jb250ZW50LXNlY3Rpb24gdWwsXG4uY29udGFpbmVyLXRlYWNoZXIgLmNvbnRlbnQgLmNvbnRlbnQtc2VjdGlvbiBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4O1xufVxuLmNvbnRhaW5lci10ZWFjaGVyIC5jb250ZW50IC5jb250ZW50LXNlY3Rpb24gdWwgbGksXG4uY29udGFpbmVyLXRlYWNoZXIgLmNvbnRlbnQgLmNvbnRlbnQtc2VjdGlvbiBvbCBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4uY29udGFpbmVyLXRlYWNoZXIgLmNvbnRlbnQuLWNsb3NlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5jb250YWluZXItdGVhY2hlciAuZXhwb3J0IHtcbiAgbWFyZ2luLXRvcDogMzJweDtcbn1cbi5jb250YWluZXItdGVhY2hlciAuZXhwb3J0ID4gLmJ1dHRvbi1leHBvcnQge1xuICBtYXJnaW4tcmlnaHQ6IDI5cHg7XG59XG4uY29udGFpbmVyLXRlYWNoZXIgLmV4cG9ydCAuZG93bmxvYWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICMwMDA7XG4gIG1hcmdpbjogMTFweCAwcHg7XG59XG4uY29udGFpbmVyLXRlYWNoZXIgLmV4cG9ydCAuZG93bmxvYWQ6aG92ZXIge1xuICBjb2xvcjogIzVDNUFBNTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmNvbnRhaW5lci10ZWFjaGVyIC5leHBvcnQgcCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAuY29udGFpbmVyLXRlYWNoZXIgLm1vZHVsZS10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuICAuY29udGFpbmVyLXRlYWNoZXIgLmV4cG9ydCB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuICAuY29udGFpbmVyLXRlYWNoZXIgLmV4cG9ydCBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG59XG4uZGVsaW1pdGVyLWxpbmUge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICM1QzVBQTU7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5kZWxpbWl0ZXItbGluZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICM1QzVBQTU7XG4gIH1cbn1cbi5mZWVkYmFjay1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5mZWVkYmFjay1jb250YWluZXIgLmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5mZWVkYmFjay1jb250YWluZXIgLmJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uZmVlZGJhY2stcGFuZWwge1xuICBwYWRkaW5nOiAuNzVyZW0gMS4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I0YjRiNDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xufVxuLmZlZWRiYWNrLXBhbmVsLi1jb3JyZWN0IHtcbiAgY29sb3I6ICMxNTU3MjQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNGVkZGE7XG4gIGJvcmRlci1jb2xvcjogI2MzZTZjYjtcbn1cbi5mZWVkYmFjay1wYW5lbC4td3Jvbmcge1xuICBjb2xvcjogIzcyMWMyNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZDdkYTtcbiAgYm9yZGVyLWNvbG9yOiAjZjVjNmNiO1xufVxuLmZpbHRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiA0MHB4O1xuICBib3R0b206IDBweDtcbiAgei1pbmRleDogMTA7XG4gIGJveC1zaGFkb3c6IDAuMXB4IDAuMXB4IDE2cHggIzZhNmE2YTU0O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAuZmlsdGVyLWNvbnRhaW5lciB7XG4gICAgcmlnaHQ6IDE2cHg7XG4gIH1cbn1cbltjbGFzc149XCJpY29uLVwiXSxcbltjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICBoZWlnaHQ6IDMycHg7XG4gIHdpZHRoOiAzMnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXM7XG59XG5bY2xhc3NePVwiaWNvbi1cIl0uLXNtYWxsLFxuW2NsYXNzKj1cIiBpY29uLVwiXS4tc21hbGwge1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAyMHB4O1xufVxuW2NsYXNzXj1cImljb24tXCJdLi1zdWIsXG5bY2xhc3MqPVwiIGljb24tXCJdLi1zdWIge1xuICB2ZXJ0aWNhbC1hbGlnbjogc3ViO1xufVxuW2NsYXNzXj1cImljb24tXCJdLi1pbnZlcnRlZCxcbltjbGFzcyo9XCIgaWNvbi1cIl0uLWludmVydGVkIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG59XG5bY2xhc3NePVwiaWNvbi1cIl0uLWJyYW5kLFxuW2NsYXNzKj1cIiBpY29uLVwiXS4tYnJhbmQge1xuICBjb2xvcjogIzVDNUFBNTtcbn1cbltjbGFzc149XCJpY29uLVwiXS4tcnNwYWNlcixcbltjbGFzcyo9XCIgaWNvbi1cIl0uLXJzcGFjZXIge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG4uaWNvbmNvbnRhaW5lci4taW52ZXJ0ZWQgPiBbY2xhc3NePVwiaWNvbi1cIl0sXG4uaWNvbmNvbnRhaW5lci4taW52ZXJ0ZWQgPiBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG59XG4uaW1hZ2UtZWxlbWVudC4tc21hbGwge1xuICBtYXgtd2lkdGg6IDUwJTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLmltYWdlLWVsZW1lbnQuLXNtYWxsIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cbi8qKlxuXG4ubGFuZGluZy1pbnRybyB7XG5cbiAgICBhbmltYXRpb246IHR5cGUgOHMgc3RlcHMoMTEwKSwgYmxpbmsgMXMgaW5maW5pdGU7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgd2lkdGg6IDk3MHB4O1xuICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkIGJsYWNrO1xuXG5cbiAgICBAa2V5ZnJhbWVzIHR5cGUge1xuICAgICAgICBmcm9te1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIEBrZXlmcmFtZXMgYmxpbmsge1xuICAgICAgICA1MCUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4qKi9cbi5sYW5kaW5nLW5hdmlnYXRpb25jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubGFuZGluZy1uYXZpZ2F0aW9uaXRlbSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ubGFuZGluZy1uYXZpZ2F0aW9uaXRlbSAuaW1hZ2UtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICB6LWluZGV4OiAxMDA7XG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG4gIHdpZHRoOiA4MCU7XG4gIGhlaWdodDogODAlO1xuICBtYXJnaW46IDEuODc1cmVtIGF1dG87XG59XG4ubGFuZGluZy1uYXZpZ2F0aW9uaXRlbSAuaW1hZ2UtY29udGFpbmVyID4gLmltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC41cyBlYXNlO1xufVxuLmxhbmRpbmctbmF2aWdhdGlvbml0ZW0gLmltYWdlLWNvbnRhaW5lciA+IC5hY3RpdmF0aW9uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4ubGFuZGluZy1uYXZpZ2F0aW9uaXRlbSAudGV4dCB7XG4gIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjE4NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzAwMDtcbn1cbi5sYW5kaW5nLW5hdmlnYXRpb25pdGVtLi1oaWRkZW4gLmFjdGl2YXRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5sYW5kaW5nLW5hdmlnYXRpb25pdGVtLi1oaWRkZW4gLmltYWdlLFxuLmxhbmRpbmctbmF2aWdhdGlvbml0ZW0uLWhpZGRlbiAudGV4dCB7XG4gIG9wYWNpdHk6IDAuMjtcbn1cbi5sYW5kaW5nLW5hdmlnYXRpb25pdGVtLnRoZW1lLWxpbGFjIC5pbWFnZS1jb250YWluZXIge1xuICBib3JkZXI6IDVweCBzb2xpZCAjNUM1QUE1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUM1QUE1O1xufVxuLmxhbmRpbmctbmF2aWdhdGlvbml0ZW0udGhlbWUtbGlsYWMgLmZsYXNoIHtcbiAgY29sb3I6ICM1QzVBQTU7XG59XG4ubGFuZGluZy1uYXZpZ2F0aW9uaXRlbS50aGVtZS1taW50IC5pbWFnZS1jb250YWluZXIge1xuICBib3JkZXI6IDVweCBzb2xpZCAjMkI3NTY1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkI3NTY1O1xufVxuLmxhbmRpbmctbmF2aWdhdGlvbml0ZW0udGhlbWUtbWludCAuZmxhc2gge1xuICBjb2xvcjogIzJCNzU2NTtcbn1cbi5sYW5kaW5nLW5hdmlnYXRpb25pdGVtIC5mbGFzaCB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuOHMsIG9wYWNpdHkgMC44cywgdG9wIDAuOHMsIGxlZnQgMC44cywgcmlnaHQgMC44cztcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbn1cbi5sYW5kaW5nLW5hdmlnYXRpb25pdGVtIC5mbGFzaCAuaWNvbiB7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDU2cHg7XG59XG4ubGFuZGluZy1uYXZpZ2F0aW9uaXRlbTpub3QoLi1oaWRkZW4pOmhvdmVyIHtcbiAgLyoqIGRpc2FibGVkIHVudGlsIGljb25zIGFyZSBkZWZpbmVkLi4uXG4gICAgICAgIC5mbGFzaCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuOHMsIG9wYWNpdHkgMC44cywgdG9wIDAuOHMsIGxlZnQgMC44cywgcmlnaHQgMC44cztcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJi5mbGFzaDEge1xuICAgICAgICAgICAgICAgIHRvcDogNjNweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAmLmZsYXNoMiB7XG4gICAgICAgICAgICAgICAgdG9wOiAyNHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDI4MHB4XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAmLmZsYXNoMyB7XG4gICAgICAgICAgICAgICAgdG9wOiAzMDJweDtcbiAgICAgICAgICAgICAgICByaWdodDogNzdweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuKiovXG59XG4ubGFuZGluZy1uYXZpZ2F0aW9uaXRlbTpub3QoLi1oaWRkZW4pOmhvdmVyIC5pbWFnZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbn1cbi5saWdodGJveCB7XG4gIG1pbi13aWR0aDogMTAwJTtcbn1cbi5saWdodGJveCAuY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ubGlnaHRib3ggLmNvbnRhaW5lciAub3BlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiA4cHg7XG4gIHJpZ2h0OiAwcHg7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuLmxpZ2h0Ym94IC5vcGVuLFxuLmxpZ2h0Ym94IC5jbG9zZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5saWdodGJveCAub3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmxpZ2h0Ym94IC5jbG9zZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubGlnaHRib3guLW9wZW4ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTAwO1xuICB0b3A6IDBweDtcbiAgbGVmdDogMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cbi5saWdodGJveC4tb3BlbiAuY2FwdGlvbi1lbGVtZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5saWdodGJveC4tb3BlbiAuY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgd2lkdGg6IDgwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbn1cbi5saWdodGJveC4tb3BlbiAuY29udGFpbmVyIC5pbm5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDIwcHggMHB4O1xufVxuLmxpZ2h0Ym94Li1vcGVuIC5jbG9zZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxNnB4O1xuICB0b3A6IDE2cHg7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG59XG4ubGlnaHRib3guLW9wZW4gLm9wZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmxpZ2h0Ym94Li1vcGVuIC5jYXB0aW9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuLm1haW4tbmF2aWdhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDA7XG4gIGNvbG9yOiAjNUM1QUE1O1xufVxuLm1haW4tbmF2aWdhdGlvbiAuaGFtYnVyZ2VyIHtcbiAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbn1cbi5tYWluLW5hdmlnYXRpb24gLmhhbWJ1cmdlcjpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5tYWluLW5hdmlnYXRpb24gdWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS44NzVyZW07XG4gIGNvbG9yOiAjMDAwO1xufVxuLm1haW4tbmF2aWdhdGlvbiBsaSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDEuODc1cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA4cHggMCA4cHggMjBweDtcbn1cbi5tYWluLW5hdmlnYXRpb24gbGkgYSB7XG4gIGNvbG9yOiAjMDAwO1xufVxuLm1haW4tbmF2aWdhdGlvbiBsaSBhOmhvdmVyIHtcbiAgY29sb3I6ICMyMjYwNTI7XG59XG4ubWFpbi1uYXZpZ2F0aW9uIC5sZXZlbDEge1xuICB3aWR0aDogMjMuNzVyZW07XG4gIGJveC1zaGFkb3c6IDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cbi5tYWluLW5hdmlnYXRpb24gLmxldmVsMSAuYm9vayxcbi5tYWluLW5hdmlnYXRpb24gLmxldmVsMSAuaW1wcmVzc3VtIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xufVxuLm1haW4tbmF2aWdhdGlvbiAubGV2ZWwxIC5pY29uIHtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMThweDtcbiAgY29sb3I6ICM1QzVBQTU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDIwcHg7XG59XG4ubWFpbi1uYXZpZ2F0aW9uIC5sZXZlbDEuLWZsYXRuYXZpZ2F0aW9uIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xufVxuLm1haW4tbmF2aWdhdGlvbiAubGV2ZWwxLi1hY3RpdmUgLmJvb2s6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIHBhZGRpbmc6IDZweCAwIDZweCAzN3B4O1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICM1QzVBQTU7XG4gIGNvbG9yOiAjNUM1QUE1O1xufVxuLm1haW4tbmF2aWdhdGlvbiAubGV2ZWwxLi1hY3RpdmUgLmljb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuLm1haW4tbmF2aWdhdGlvbiAubGV2ZWwxLi1hY3RpdmUgLmxldmVsMiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XG4gIHBhZGRpbmctbGVmdDogMjdweDtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xufVxuLm1haW4tbmF2aWdhdGlvbiAubGV2ZWwxLi1hY3RpdmUgLmxldmVsMiBsaSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ubWFpbi1uYXZpZ2F0aW9uIC5sZXZlbDEuLWFjdGl2ZSAubGV2ZWwyIGxpOmhvdmVyIGEge1xuICBjb2xvcjogIzIyNjA1Mjtcbn1cbi5tYWluLW5hdmlnYXRpb24gLmxldmVsMTpmaXJzdC1jaGlsZDpob3ZlciB7XG4gIGNvbG9yOiAjNEE0QThBO1xufVxuLm1haW4tbmF2aWdhdGlvbiAuLWNsb3NlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5tYWluLW5hdmlnYXRpb24gLmxldmVsMiB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAubWFpbi1uYXZpZ2F0aW9uIC5sZXZlbDEge1xuICAgIHdpZHRoOiAyMS4yNXJlbTtcbiAgfVxufVxuLm1vZHVsZS1sYWJlbCB7XG4gIGNvbG9yOiAjNmE2YTZhO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXNpemU6IDE2cHg7XG59XG4ubW9kdWxlLWxhYmVsLi1oYWxmIHtcbiAgd2lkdGg6IDUwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLm1vZHVsZS1sYWJlbCAuaWNvbiB7XG4gIGNvbG9yOiAjNUM1QUE1O1xuICBtYXJnaW4tcmlnaHQ6IDlweDtcbn1cbi5tb2R1bGUtbGFiZWwgLnRleHQge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLnBhZ2UtZmx1aWQge1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIG1heC13aWR0aDogNDAuMTI1cmVtO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAuY29udGVudCAgLnBhZ2UtZmx1aWQge1xuICAgIHBhZGRpbmc6IDAgMDtcbiAgfVxufVxuLnBhZ2UtZm9vdGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1QzVBQTU7XG4gIG1hcmdpbi10b3A6IDIwMHB4O1xuICBoZWlnaHQ6IDgwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ucGFnZS1mb290ZXIgLnRleHQge1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luLWxlZnQ6IDMycHg7XG59XG4ucGFnZS1mb290ZXIgLnRleHQgLmltcHJlc3N1bSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAucGFnZS1mb290ZXIge1xuICAgIG1hcmdpbi10b3A6IDE2MHB4O1xuICB9XG59XG4ucGFnZS1oZWFkZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLnBhZ2UtaGVhZGVyLi1sYW5kaW5ncGFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5wYWdlLWhlYWRlci4taW1wcmVzc3VtIC5sb2dvLXNlY3Rpb24ge1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG59XG4ucGFnZS1oZWFkZXIgLmJvcmRlci1ib3R0b20ge1xuICBwYWRkaW5nLWJvdHRvbTogMTFweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG59XG4ucGFnZS1oZWFkZXIgLmxvZ28tc2VjdGlvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDgwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1QzVBQTU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG59XG4ucGFnZS1oZWFkZXIgLmxvZ28tc2VjdGlvbiAudGl0bGUge1xuICBmb250LXNpemU6IDIuMDYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNTMxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5wYWdlLWhlYWRlciAubG9nby1zZWN0aW9uIC5sb2dvIHtcbiAgd2lkdGg6IDk2cHg7XG4gIGhlaWdodDogMjVweDtcbiAgbWFyZ2luLWxlZnQ6IDExcHg7XG4gIG1hcmdpbi1yaWdodDogNTBweDtcbiAgbWFyZ2luLXRvcDogMjRweDtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbn1cbi5wYWdlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnBhZ2UtaGVhZGVyIC5idXR0b24tbG9naW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiA1MnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG59XG4ucGFnZS1oZWFkZXIgLmJ1dHRvbi1sb2dpbiBhIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4ucGFnZS1oZWFkZXIgLmJ1dHRvbi1sb2dpbiBhIHN2ZyB7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgY29sb3I6ICM1QzVBQTU7XG59XG4ucGFnZS1oZWFkZXIgLmJ1dHRvbi1sb2dpbjpob3ZlciBhIHtcbiAgY29sb3I6ICM0QTRBOEE7XG59XG4ucGFnZS1oZWFkZXIgLmJ1dHRvbi1sb2dpbjphY3RpdmUgYSB7XG4gIGNvbG9yOiAjMjI2MDUyO1xufVxuLnBhZ2UtaGVhZGVyIC5zaWRlYmFyLXRlYWNoZXIge1xuICByaWdodDogMDtcbn1cbi5wYWdlLWhlYWRlciAuc2l0ZS10aXRsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ucGFnZS1oZWFkZXIgLmhvbWUtYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5wYWdlLWhlYWRlci4tY29sbGFic2Uge1xuICBwYWRkaW5nLXRvcDogMHB4O1xufVxuLnBhZ2UtaGVhZGVyLi1jb2xsYWJzZSAubG9nby1zZWN0aW9uIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBoZWlnaHQ6IDBweDtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG59XG4ucGFnZS1oZWFkZXIuLWNvbGxhYnNlIC50aXRsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ucGFnZS1oZWFkZXIuLWNvbGxhYnNlIC5zaXRlLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA3NXB4O1xuICB3aWR0aDogMTAwJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLnBhZ2UtaGVhZGVyLi1jb2xsYWJzZSAuYmFjay1idXR0b24ge1xuICB0b3A6IDU1cHg7XG4gIHRyYW5zaXRpb246IHRvcCAwLjVzO1xufVxuLnBhZ2UtaGVhZGVyLi1jb2xsYWJzZSAuaG9tZS1idXR0b24ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG59XG4ucGFnZS1oZWFkZXIuLWNvbGxhYnNlIC5ob21lLWJ1dHRvbiAuaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAyNnB4O1xuICB3aWR0aDogMjZweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi5wYWdlLWhlYWRlciA+IC5iYWNrLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAxMzRweDtcbiAgbGVmdDogMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y2RjZGNjtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgcGFkZGluZzogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5wYWdlLWhlYWRlciA+IC5iYWNrLWJ1dHRvbiBhIHtcbiAgY29sb3I6ICMwMDA7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4ucGFnZS1oZWFkZXIgPiAuYmFjay1idXR0b246aG92ZXIgYSB7XG4gIGNvbG9yOiAjNUM1QUE1O1xufVxuLnBhZ2UtaGVhZGVyID4gLmJhY2stYnV0dG9uIC5pY29uIHtcbiAgY29sb3I6ICM1QzVBQTU7XG4gIHdpZHRoOiAyOHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5wYWdlLWhlYWRlci4tY29sbGFic2UgLnNpdGUtdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLnBhZ2UtaGVhZGVyLi1jb2xsYWJzZSAuc2l0ZS10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAucGFnZS1oZWFkZXIgLmxvZ28tc2VjdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnBhZ2UtaGVhZGVyIC5sb2dvLXNlY3Rpb24gLmxvZ28ge1xuICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogOXB4O1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIH1cbiAgLnBhZ2UtaGVhZGVyIC5sb2dvLXNlY3Rpb24gLnRpdGxlIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgfVxuICAucGFnZS1oZWFkZXIgLmJ1dHRvbi1sb2dpbiAubmF2aS10ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5wYWdlLWhlYWRlciAuYnV0dG9uLXRlYWNoZXIge1xuICAgIHdpZHRoOiAzMHB4O1xuICB9XG4gIC5wYWdlLWhlYWRlciAuYnV0dG9uLXRlYWNoZXIgLm5hdmktdGV4dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLnBhZ2UtbGF5b3V0IHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuLnBhZ2UtbGF5b3V0ID4gLmNvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogMTYycHg7XG59XG4ucGFnZS1sYXlvdXQgPiAuY29udGVudC4tbWFpbi1pbXByZXNzdW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUM1QUE1O1xuICBtYXJnaW46IDAgLTFyZW07XG4gIGhlaWdodDogMTAwJTtcbn1cbi5wYWdlLWxheW91dCA+IC5jb250ZW50Li1tYWluLWltcHJlc3N1bSA+IC5jbG9zZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDEwcmVtO1xufVxuLnBhZ2UtbGF5b3V0ID4gLmNvbnRlbnQuLW1haW4taW1wcmVzc3VtID4gLmNsb3NlID4gLmxpbmsge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnBhZ2UtbGF5b3V0ID4gLmNvbnRlbnQuLW1haW4taW1wcmVzc3VtID4gLmNsb3NlID4gLmxpbms6aG92ZXIge1xuICBjb2xvcjogIzcyMWMyNDtcbn1cbi5wYWdlLWxheW91dCA+IC5jb250ZW50Li1zaWRlYmFyIHtcbiAgcGFkZGluZy1yaWdodDogNDAwcHg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAucGFnZS1sYXlvdXQgPiAuY29udGVudC4tbWFpbi1pbXByZXNzdW0ge1xuICAgIHJpZ2h0OiAycmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5wYWdlLWxheW91dCA+IC5jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBtYXJnaW4tdG9wOiAxNDBweDtcbiAgfVxuICAucGFnZS1sYXlvdXQgPiAuY29udGVudC4tbWFpbi1pbXByZXNzdW0ge1xuICAgIHBhZGRpbmc6IDAgM3JlbTtcbiAgfVxuICAucGFnZS1sYXlvdXQgPiAuY29udGVudC4tbWFpbi1pbXByZXNzdW0gPiAuY2xvc2Uge1xuICAgIHRvcDogMTA1cHg7XG4gICAgcmlnaHQ6IDJyZW07XG4gIH1cbiAgLnBhZ2UtbGF5b3V0ID4gLmNvbnRlbnQuLXNpZGViYXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgICBwYWRkaW5nLXRvcDogMHB4O1xuICB9XG59XG4ucGFnZS1vdmVydmlldyB7XG4gIG1heC13aWR0aDogNTguNzVyZW07XG59XG4ucGFnZS1vdmVydmlldyAuaW50cm9kdWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogNXJlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMi4zNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiA1MHB4O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAucGFnZS1vdmVydmlldyA+IC5pbnRyb2R1Y3Rpb24ge1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuMTI1cmVtO1xuICB9XG59XG4ucGFyYWdyYXBoLWVsZW1lbnQge1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5wYXJhZ3JhcGgtZWxlbWVudC4taW50cm9kdWN0aW9uIHtcbiAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuMzc1cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuLnBhcmFncmFwaC1lbGVtZW50Li1kZWZhdWx0IHtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuMTg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cbi5wYXJhZ3JhcGgtZWxlbWVudCBzdHJvbmcsXG4ucGFyYWdyYXBoLWVsZW1lbnQgYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnBhcmFncmFwaC1lbGVtZW50IHVsLFxuLnBhcmFncmFwaC1lbGVtZW50IG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDYwcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG4ucGFyYWdyYXBoLWVsZW1lbnQgdWwgbGkge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLnBhcmFncmFwaC1lbGVtZW50IC5hYmJyZXZpYXRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogM3B4IGRvdHRlZCBibGFjaztcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGN1cnNvcjogaGVscDtcbn1cbi5wYXJhZ3JhcGgtZWxlbWVudCAuYWJicmV2aWF0aW9uIC50b29sdGlwIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5wYXJhZ3JhcGgtZWxlbWVudCAuYWJicmV2aWF0aW9uLi1yaWdodCAudG9vbHRpcCB7XG4gIGxlZnQ6IDBweDtcbn1cbi5wYXJhZ3JhcGgtZWxlbWVudCAuYWJicmV2aWF0aW9uLi1sZWZ0IC50b29sdGlwIHtcbiAgcmlnaHQ6IDBweDtcbn1cbi5wYXJhZ3JhcGgtZWxlbWVudCAuYWJicmV2aWF0aW9uLi10b3AgLnRvb2x0aXAge1xuICBib3R0b206IDMwcHg7XG59XG4ucGFyYWdyYXBoLWVsZW1lbnQgLmFiYnJldmlhdGlvbi4tYm90dG9tIC50b29sdGlwIHtcbiAgdG9wOiAzMHB4O1xufVxuLnBhcmFncmFwaC1lbGVtZW50IC5hYmJyZXZpYXRpb24uLWJpZy4tb3BlbiAudG9vbHRpcCxcbi5wYXJhZ3JhcGgtZWxlbWVudCAuYWJicmV2aWF0aW9uLi1iaWc6aG92ZXIgLnRvb2x0aXAge1xuICB3aWR0aDogYXV0bztcbiAgd2lkdGg6IDUwdnc7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG4ucGFyYWdyYXBoLWVsZW1lbnQgLmFiYnJldmlhdGlvbi4tc2lkZWJhci4tb3BlbiAudG9vbHRpcCxcbi5wYXJhZ3JhcGgtZWxlbWVudCAuYWJicmV2aWF0aW9uLi1zaWRlYmFyOmhvdmVyIC50b29sdGlwIHtcbiAgd2lkdGg6IGF1dG87XG4gIHdpZHRoOiAyMDBweDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cbi5wYXJhZ3JhcGgtZWxlbWVudCAuYWJicmV2aWF0aW9uLi1vcGVuIC50b29sdGlwLFxuLnBhcmFncmFwaC1lbGVtZW50IC5hYmJyZXZpYXRpb246aG92ZXIgLnRvb2x0aXAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlMWUxZTtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogMXB4IDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgcGFkZGluZzogM3B4IDVweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLnBhcmFncmFwaC1lbGVtZW50Li1pbnRyb2R1Y3Rpb24ge1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIH1cbiAgLnBhcmFncmFwaC1lbGVtZW50Li1kZWZhdWx0IHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xuICB9XG4gIC5wYXJhZ3JhcGgtZWxlbWVudCB1bCxcbiAgLnBhcmFncmFwaC1lbGVtZW50IG9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG59XG4ucXVlc3Rpb24taXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDMuNzVyZW07XG59XG4ucXVlc3Rpb24taXRlbSA+IC5pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogIzVDNUFBNTtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogMzBweDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cbi5xdWVzdGlvbi1pdGVtIC50aXRsZSB7XG4gIGNvbG9yOiAjNUM1QUE1O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ucXVlc3Rpb24taXRlbSAubGlua2VkdmlkZW8tZWxlbWVudCAuY2FwdGlvbi1lbGVtZW50IHtcbiAgbWFyZ2luLXRvcDogMC42MjVyZW07XG59XG4ucXVlc3Rpb24taXRlbSAucGFyYWdyYXBoLWVsZW1lbnQsXG4ucXVlc3Rpb24taXRlbSAuaW1hZ2UtZWxlbWVudCxcbi5xdWVzdGlvbi1pdGVtIHVsLFxuLnF1ZXN0aW9uLWl0ZW0gb2wsXG4ucXVlc3Rpb24taXRlbSAuaWZyYW1lLWVsZW1lbnQsXG4ucXVlc3Rpb24taXRlbSAudmlkZW8tZWxlbWVudCxcbi5xdWVzdGlvbi1pdGVtIC5saW5rZWR2aWRlby1lbGVtZW50LFxuLnF1ZXN0aW9uLWl0ZW0gLmNhcm91c2VsLWVsZW1lbnQge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuLnF1ZXN0aW9uLWl0ZW0gLnBhcmFncmFwaC1lbGVtZW50Li1ub21hcmdpbixcbi5xdWVzdGlvbi1pdGVtIC5pbWFnZS1lbGVtZW50Li1ub21hcmdpbixcbi5xdWVzdGlvbi1pdGVtIHVsLi1ub21hcmdpbixcbi5xdWVzdGlvbi1pdGVtIG9sLi1ub21hcmdpbixcbi5xdWVzdGlvbi1pdGVtIC5pZnJhbWUtZWxlbWVudC4tbm9tYXJnaW4sXG4ucXVlc3Rpb24taXRlbSAudmlkZW8tZWxlbWVudC4tbm9tYXJnaW4sXG4ucXVlc3Rpb24taXRlbSAubGlua2VkdmlkZW8tZWxlbWVudC4tbm9tYXJnaW4sXG4ucXVlc3Rpb24taXRlbSAuY2Fyb3VzZWwtZWxlbWVudC4tbm9tYXJnaW4ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnF1ZXN0aW9uLWl0ZW0gdWwsXG4ucXVlc3Rpb24taXRlbSBvbCB7XG4gIG1hcmdpbi1sZWZ0OiA2MHB4O1xufVxuLnF1ZXN0aW9uLWl0ZW0gdWwgbGksXG4ucXVlc3Rpb24taXRlbSBvbCBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5xdWVzdGlvbi1pdGVtIC50aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICBmb250LXdlaWdodDogZGVtaTtcbiAgfVxuICAucXVlc3Rpb24taXRlbSAucGFyYWdyYXBoLWVsZW1lbnQsXG4gIC5xdWVzdGlvbi1pdGVtIC5pbWFnZS1lbGVtZW50LFxuICAucXVlc3Rpb24taXRlbSB1bCxcbiAgLnF1ZXN0aW9uLWl0ZW0gb2wsXG4gIC5xdWVzdGlvbi1pdGVtIC5pZnJhbWUtZWxlbWVudCxcbiAgLnF1ZXN0aW9uLWl0ZW0gLnZpZGVvLWVsZW1lbnQsXG4gIC5xdWVzdGlvbi1pdGVtIC5saW5rZWR2aWRlby1lbGVtZW50LFxuICAucXVlc3Rpb24taXRlbSAuY2Fyb3VzZWwtZWxlbWVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxufVxuLnF1ZXN0aW9uLXRleHQgPiAuZHJvcGRvd24uLXdyb25nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZDdkYTtcbn1cbi5xdWVzdGlvbi10ZXh0ID4gLmRyb3Bkb3duLi1jb3JyZWN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0ZWRkYTtcbn1cbi5zaWRlYmFyLWxvZ2luIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVDNUFBNTtcbiAgbWFyZ2luLWxlZnQ6IC0yN3B4O1xuICBtYXJnaW4tcmlnaHQ6IC0xOHB4O1xuICBwYWRkaW5nLWxlZnQ6IDI3cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE4cHg7XG59XG4uc2lkZWJhci1sb2dpbiBhIHtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnNpZGViYXItbG9naW4gLmljb24ge1xuICB3aWR0aDogMjJweDtcbiAgaGVpZ2h0OiAyMnB4O1xuICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBzdWI7XG59XG4uc2lkZWJhci1sb2dpbiAuaWNvbi5pY29uLWFycm93LWRvd24ge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAtNDBweDtcbn1cbi5zaWRlYmFyLWxvZ2luIC50aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5zaWRlYmFyLWxvZ2luOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRBNEE4QTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAuc2lkZWJhci1sb2dpbiAuaWNvbi5pY29uLWFycm93LWRvd24ge1xuICAgIHJpZ2h0OiAtMjBweDtcbiAgfVxufVxuLnNpZGViYXItdGVhY2hlciB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y2RjZGNjtcbiAgYm94LXNoYWRvdzogLTFweCAxcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIHBhZGRpbmctbGVmdDogMjdweDtcbiAgcGFkZGluZy1yaWdodDogMzRweDtcbiAgd2lkdGg6IDQxNnB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwcHg7XG4gIHRvcDogMTMzcHg7XG4gIGJvdHRvbTogMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgei1pbmRleDogMTA7XG59XG4uc2lkZWJhci10ZWFjaGVyLi10ZWFjaGVyIC5jb250YWluZXItdGVhY2hlci5zb3J0LTAgLnRpdGxlIHtcbiAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICM1QzVBQTU7XG59XG4uc2lkZWJhci10ZWFjaGVyIC5sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnNpZGViYXItdGVhY2hlciAubWV0YS1zcGFjZSB7XG4gIG1hcmdpbi1ib3R0b206IDY0cHg7XG59XG4uc2lkZWJhci10ZWFjaGVyLi1jbG9zZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc2lkZWJhci10ZWFjaGVyLi1jb2xsYWJzZSB7XG4gIHRvcDogNTVweDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNpdGlvbjogdG9wIDAuNXM7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5zaWRlYmFyLXRlYWNoZXIge1xuICAgIHRvcDogMTMzcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICB3aWR0aDogMzQzcHg7XG4gIH1cbn1cbmJvZHkubGFuZGluZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuYm9keS5sYW5kaW5nIC5wYWdlLWxheW91dCAucGFnZS1sYW5kaW5nIHtcbiAgZmxleDogMTtcbn1cbmJvZHkubGFuZGluZyAucGFnZS1mb290ZXIge1xuICBtYXJnaW4tdG9wOiAxMDBweDtcbn1cbmgxIHtcbiAgZm9udC1zaXplOiA0cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4xMTg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDQuMzc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuaDIge1xuICBmb250LXNpemU6IDNyZW07XG4gIGxpbmUtaGVpZ2h0OiAzLjYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbmgzIHtcbiAgbGluZS1oZWlnaHQ6IDEuNjg3NXJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuMTI1cmVtO1xuICB9XG4gIGgzIHtcbiAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIH1cbn1cbi50aGVtZS1jb2xvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAwcHg7XG4gIGhlaWdodDogMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMHB4O1xuICBsZWZ0OiAwcHg7XG4gIHotaW5kZXg6IDU7XG4gIGJvcmRlci1yaWdodDogNTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogNTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cbi50aGVtZS1jb2xvci4tb3B0aWsge1xuICBib3JkZXItdG9wOiA1MHB4IHNvbGlkICNGNkFDNEU7XG4gIGJvcmRlci1sZWZ0OiA1MHB4IHNvbGlkICNGNkFDNEU7XG59XG4udGhlbWUtY29sb3IuLWVuZXJnaWUge1xuICBib3JkZXItdG9wOiA1MHB4IHNvbGlkICM2RkMzQTk7XG4gIGJvcmRlci1sZWZ0OiA1MHB4IHNvbGlkICM2RkMzQTk7XG59XG4udGhlbWUtY29sb3IuLWVsZWt0cml6aXRhZXQge1xuICBib3JkZXItdG9wOiA1MHB4IHNvbGlkICNDQ0Q3QzU7XG4gIGJvcmRlci1sZWZ0OiA1MHB4IHNvbGlkICNDQ0Q3QzU7XG59XG4udGhlbWUtY29sb3IuLWtvZXJwZXIge1xuICBib3JkZXItdG9wOiA1MHB4IHNvbGlkICNGNTZFOTQ7XG4gIGJvcmRlci1sZWZ0OiA1MHB4IHNvbGlkICNGNTZFOTQ7XG59XG4udGhlbWUtY29sb3IuLXJvYm90aWsge1xuICBib3JkZXItdG9wOiA1MHB4IHNvbGlkICM4NzUyOUQ7XG4gIGJvcmRlci1sZWZ0OiA1MHB4IHNvbGlkICM4NzUyOUQ7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAudGhlbWUtY29sb3Ige1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4udGhlbWUtaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwcHg7XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbn1cbiIsIi8qXG4tLS1cbm5hbWU6IC5zdHJldGNoXG5jYXRlZ29yeTogU2hhcmVkL0hlbHBlcnNcbnRhZzpcbiAtIGhlbHBlcnNcbi0tLVxuXG5gLnN0cmV0Y2hgIERlZmluZSBhbiBlbGVtZW50IHdoaWNoIHN0cmV0Y2hlcyB0byB0aGUgc2l6ZSBvZiBpdHMgcGFyZW50XG5cbmBgYGh0bWxcbjxkaXYgY2xhc3M9XCJyZWxcIiBzdHlsZT1cImhlaWdodDogNTVweDtcIj5cbiAgIDxkaXYgY2xhc3M9XCJzdHJldGNoIHN0eWxlZ3VpZGUtZ3JpZC11bml0XCI+IEknbSBzdHJldGNoZWQgdG8gdGhlIHNpemUgb2YgbXkgcGFyZW50PC9kaXY+XG48L2Rpdj5cbmBgYFxuKi9cbi5zdHJldGNoIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cblxuLypcbi0tLVxubmFtZTogLmFic1xuY2F0ZWdvcnk6IFNoYXJlZC9IZWxwZXJzXG50YWc6XG4gLSBoZWxwZXJzXG4tLS1cblxuYC5hYnNgIFNldCB0aGUgZWxlbWVudCBwb3NpdGlvbiB0byBhYnNvbHV0ZVxuKi9cbi5hYnMge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cblxuLypcbi0tLVxubmFtZTogLnJlbFxuY2F0ZWdvcnk6IFNoYXJlZC9IZWxwZXJzXG50YWc6XG4gLSBoZWxwZXJzXG4tLS1cblxuYC5yZWxgIFNldCB0aGUgZWxlbWVudCBwb3NpdGlvbiB0byByZWxhdGl2ZVxuKi9cbi5yZWwge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLypcbi0tLVxubmFtZTogLnZjZW50ZXJcbmNhdGVnb3J5OiBTaGFyZWQvSGVscGVyc1xudGFnOlxuIC0gaGVscGVyc1xuLS0tXG5cbmAudmNlbnRlcmAgU2V0cyB2ZXJ0aWNhbC1hbGlnbiB0byBtaWRkbGVcbiovXG4udmNlbnRlciB7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLypcbi0tLVxubmFtZTogLmhjZW50ZXJcbmNhdGVnb3J5OiBTaGFyZWQvSGVscGVyc1xudGFnOlxuIC0gaGVscGVyc1xuLS0tXG5cbmAuaGNlbnRlcmAgU2V0cyB0ZXh0LWFsaWduIHRvIGNlbnRlclxuKi9cbi5oY2VudGVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5cbi8qXG4tLS1cbm5hbWU6IC5mbG9hdGxlZnRcbmNhdGVnb3J5OiBTaGFyZWQvSGVscGVyc1xudGFnOlxuIC0gaGVscGVyc1xuLS0tXG5cbmAuZmxvYXRsZWZ0YCBTZXRzIGZsb2F0IHRvIGxlZnRcbiovXG4uZmxvYXRsZWZ0IHtcblx0ZmxvYXQ6IGxlZnQ7XG59XG5cbi8qXG4tLS1cbm5hbWU6IC5mbG9hdHJpZ2h0XG5jYXRlZ29yeTogU2hhcmVkL0hlbHBlcnNcbnRhZzpcbiAtIGhlbHBlcnNcbi0tLVxuXG5gLmZsb2F0cmlnaHRgIFNldHMgZmxvYXQgdG8gcmlnaHRcbiovXG4uZmxvYXRyaWdodCB7XG5cdGZsb2F0OiByaWdodDtcbn1cblxuLypcbi0tLVxubmFtZTogLmhpZGRlblxuY2F0ZWdvcnk6IFNoYXJlZC9IZWxwZXJzXG50YWc6XG4gLSBoZWxwZXJzXG4tLS1cblxuYC5oaWRkZW5gIFNldHMgZGlzcGxheSB0byBub25lLlxuKi9cbi5oaWRkZW4ge1xuXHRkaXNwbGF5OiBub25lO1xufSIsIi8qXG4tLS1cbm5hbWU6IEdsb2JhbCBSZXNldFxuY2F0ZWdvcnk6IFNoYXJlZFxuLS0tXG5cblRoZSBsZXJuZXR6IGNzcyBsaWJyYXJ5IGhhcyBhIHNldCBvZiByZXNldCBzdHlsZSB0byBoYXZlIHRoZSBzYW1lIGJlaGF2aW91ciBvbiBldmVyeSBicm93c2VyLlxuRnVydGhlcm1vcmUgdGhpcyByZXNldCBzZXRzIHNvbWUgZ2xvYmFsIHZhcmlhYmxlcyBsaWtlOlxuICogYm9keSBmb250LWZhbWlsaWVzXG4gKiBib2R5IGxpbmUtaGVpZ2h0XG4gKiBib2R5IHRleHQtcmVuZGVyaW5nXG4gKiA6cm9vdCBmb250LXNpemUgZm9yIHByb3BlciByZW0gY29udmVyc2lvblxuKi9cblxuXG5cbmh0bWwsIGJvZHksIGRpdiwgc3Bhbiwgb2JqZWN0LCBpZnJhbWUsXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG5hYmJyLCBhZGRyZXNzLCBjaXRlLCBjb2RlLFxuZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzYW1wLFxuc21hbGwsIHN0cm9uZywgc3ViLCBzdXAsIHZhcixcbmIsIGksXG5kbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxuZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG50YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcbmFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSxcbmZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiwgc3VtbWFyeSxcbnRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XG5cdG1hcmdpbjowO1xuXHRwYWRkaW5nOjA7XG5cdGJvcmRlcjowO1xuXHRvdXRsaW5lOjA7XG5cdGZvbnQtc2l6ZTppbmhlcml0O1xuXHR2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTtcbn1cblxuOnJvb3Qge1xuXHRmb250LXNpemU6IDE2cHg7XG59XG5cbmh0bWwge1xuXHRmb250LXNpemU6IDEwMCU7XG59XG5cbmJvZHkge1xuXHRsaW5lLWhlaWdodDogQHRleHQtbGluZS1oZWlnaHQ7XG5cdGNvbG9yOiBAdGV4dC1jb2xvcjtcblx0Zm9udC1mYW1pbHk6IEBmb250LWZhbWlseTtcblx0dGV4dC1yZW5kZXJpbmc6IEB0ZXh0LXJlbmRlcmluZztcblx0YmFja2dyb3VuZC1jb2xvcjogQGJvZHktY29sb3I7XG59XG5cbmFydGljbGUsYXNpZGUsZGV0YWlscyxmaWdjYXB0aW9uLGZpZ3VyZSxcbmZvb3RlcixoZWFkZXIsaGdyb3VwLG1lbnUsbmF2LHNlY3Rpb24ge1xuXHRkaXNwbGF5OmJsb2NrO1xufVxuXG5cbnNlbGVjdCB7XG5cdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbn1cblxudGV4dGFyZWEge1xuXHR3aWR0aDoxMDAlO1xufVxuXG50YWJsZSB7XG5cdGJvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtcblx0Ym9yZGVyLXNwYWNpbmc6MDtcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbi8vICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuLy8gMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbi8vIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuLy9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDFcbiAgZm9udDogaW5oZXJpdDsgLy8gMlxuICBtYXJnaW46IDA7IC8vIDNcbn1cblxuXG4vL1xuLy8gUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuLy9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cblxuXG4vKlxuICogTm9ybWFsaXplIHRoZSBiZWhhdmlvdXIgb2YgYWxsIGJyb3dzZXJzXG4gKlxuICogSW5zdGVhZCBvZiBzZXR0aW5nIGJveC1zaXppbmcgZml4IG9uIGFsbCBlbGVtZW50cyB3ZSBvbmx5IHNldCBpdCBvbiB0aGUgcm9vdCBlbGVtZW50XG4gKiBhbmQgdGVsbCBhbGwgZWxlbWVudHMgdG8gaW5oZXJpdCBpdCdzIHByb3BlcnR5IGZyb20gdGhlIHBhcmVudFxuICogVGhhdCB3YXkgaXQncyBwb3NzaWJsZSB0byBvdmVyd3JpdGUgdGhlIGJveC1zaXppbmcgYW55d2hlcmUgd2hpbGUga2VlcGluZyBwcm9wZXIgaW5oZXJpdGFuY2VcbiAqL1xuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmEge1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGNvbG9yOiBAYWN0aW9uLWNvbG9yO1xuXG5cdD4gaW1nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuIiwiLypcbi0tLVxubmFtZTogLmJ1dHRvbi1kZWZhdWx0XG5jYXRlZ29yeTogQnV0dG9ucy9EZWZhdWx0XG50YWc6XG4gLSBjb21wb25lbnRcbiAtIGJ1dHRvblxuLS0tXG5cblRoZSBkZWZhdWx0IGJ1dHRvbiBzZXRzIHNvbWUgYmFzaWMgcHJvcGVydGllcyBzbyBpdCBpcyB3b3JraW5nIGFzIGEgYGJ1dHRvbmAgb3IgYGFgIHRhZy5cblxuQW4gZXhhbXBsZSBmb3IgYSBidXR0b246XG5gYGBqYWRlXG5idXR0b24uYnV0dG9uLWRlZmF1bHQgTXkgQnV0dG9uXG5gYGBcblxuQW4gZXhhbXBsZSBmb3IgYSBsaW5rOlxuYGBgamFkZVxuYS5idXR0b24tZGVmYXVsdCBNeSBMaW5rXG5gYGBcbiovXG4uYnV0dG9uLWRlZmF1bHQge1xuXHRhcHBlYXJhbmNlOiBub25lO1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiBub25lO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0b3V0bGluZTogbm9uZTtcbn0iLCIvKlxuLS0tXG5uYW1lOiAuZ3JpZFxuY2F0ZWdvcnk6IExheW91dC9HcmlkXG50YWc6XG4gLSBjb21wb25lbnRcbiAtIHJlc3BvbnNpdmVcbmNvbXBpbGU6IHRydWVcbi0tLVxuXG5BIHNpbXBsZSBncmlkIHN5c3RlbSB0aGF0IHdyYXBzIGNoaWxkcmVuIG5vZGVzIGJhc2VkIG9uIHRoZSB2aWV3cG9ydCB3aWR0aC5cblxuIyMgU2ltcGxlIHNpZGUgYnkgc2lkZSByZW5kZXJpbmdcblxuVGhlIGVhc2llc3QgdXNlIGNhc2UgaXMgdG8gdXNlIHNpbXBsZSBgLmNvbC0xYCwgYC5jb2wtMS0yYCwgYC5jb2wtMS0zYCwgYC5jb2wtMS00YCBmb3IgYSBzaWRlLWJ5LXNpZGUgcmVuZGVyaW5nLlxuVGhlIGRlZmF1bHQgdmFsdWUgZm9yIGFsbCBjaGlsZCBlbGVtZW50cyBvZiBhIGAuZ3JpZGAgaXMgZXF1aXZhbGVudCB0byBgLmNvbC0xYCwgc28gZm9yIG9ubHkgb25lIGNoaWxkIGl0IHdpbGwgc3BhbiB0aGUgZnVsbCB3aWR0aC5cblxuYGBgamFkZVxuZGl2LmdyaWRcblx0ZGl2LmNvbC0xLTIgXG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIGNvbC0xLTJcblx0ZGl2LmNvbC0xLTJcblx0XHRkaXYuYWlnaXMtZGVidWcgY29sLTEtMlxuYGBgXG5gYGBqYWRlXG5kaXYuZ3JpZFxuXHRkaXYuY29sLTEtNCBcblx0XHRkaXYuYWlnaXMtZGVidWcgY29sLTEtNFxuXHRkaXYuY29sLTMtNFxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBjb2wtMy00XG5gYGBcblxuIyMgTGF5b3V0cyBvbiBkaWZmZXJlbnQgZGV2aWNlc1xuXG5UaGUgYnJlYWtwb2ludHMgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMgYXJlIHNwZWNpZmllZCBpbiB0aGUgYEBncmlkLWJyZWFrLXBvaW50c2AsIGBAZ3JpZC1icmVhay1sYWJlbHNgIHZhcmlhYmxlcy5cblRoZSBkZWZhdWx0IHZhbHVlcyBkZWZpbmUgdHdvIGJyZWFrcG9pbnRzIHdpdGggbGFiZWxzOiBgLm1lZGl1bS1YLVhgIGFuZCBgLmxhcmdlLVgtWGAuXG5TbyBhbiBleGFtcGxlIGdyaWQgd2l0aCB0d28gYnJlYWtwb2ludHMgbG9va3MgbGlrZSB0aGlzOlxuXG5gYGBqYWRlXG5kaXYuZ3JpZFxuXHRkaXYubWVkaXVtLTEtMi5sYXJnZS0xLTQueGxhcmdlLTEtMlxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBjb2wtMSBtZWRpdW0tMS0yIGxhcmdlLTEtNFxuXHRkaXYubWVkaXVtLTEtMi5sYXJnZS0xLTQueGxhcmdlLTEtMlxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBjb2wtMSBtZWRpdW0tMS0yIGxhcmdlLTEtNFxuXHRkaXYuY29sLTEtMi5tZWRpdW0tMS0yLmxhcmdlLTEtNC54bGFyZ2UtMS0yXG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIGNvbC0xLTIgbWVkaXVtLTEtMiBsYXJnZS0xLTRcblx0ZGl2LmNvbC0xLTIubWVkaXVtLTEtMi5sYXJnZS0xLTQueGxhcmdlLTEtMlxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBjb2wtMS0yIG1lZGl1bS0xLTIgbGFyZ2UtMS00XG5gYGBcblxuKipOb3RlOioqIFRoZSBgY29sLTFgIGNsYXNzZXMgYXJlIG5vdCBwcmVzZW50IG9uIHRoZSBmaXJzdCB0d28gbm9kZXMsIHNpbmNlIHRoaXMgaXMgdGhlIGRlZmF1bHQgYmVoYXZpb3VyLlxuXG5cbiMjIFJldmVyc2Ugb3JkZXJcblxuVG8gcmV2ZXJzZSB0aGUgb3JkZXIgaW4gd2hpY2ggdGhlIGNvbHVtbnMgYXJlIGRpc3BsYXllZCwgeW91IGNhbiBhZGQgdGhlIG1vZGlmaWVyIGNsYXNzIGAuLXJldmVyc2VgIHRvIHlvdXIgZ3JpZC5cblRoZSBjb2x1bW5zIHdpbGwgYmUgaW4gRE9NIG9yZGVyIHdoZW4gdmlld3BvcnQgc3dpdGNoZXMgdG8gc21hbGwgbGF5b3V0LlxuXG5gYGBqYWRlXG5kaXYuZ3JpZC4tcmV2ZXJzZVxuXHRkaXYuY29sLTEtNFxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBGaXJzdCBjb2x1bW4gaW4gRE9NXG5cdGRpdi5jb2wtMS00XG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIFNlY29uZCBjb2x1bW4gaW4gRE9NXG5cdGRpdi5jb2wtMS00XG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIFRoaXJkIGNvbHVtbiBpbiBET01cblx0ZGl2LmNvbC0xLTRcblx0XHRkaXYuYWlnaXMtZGVidWcgRm91cnRoIGNvbHVtbiBpbiBET01cbmBgYFxuIyMgTm8gZ3V0dGVyXG5cbklmIHlvdSBkb250IG5lZWQgYSBzcGFjaW5nL2d1dHRlciBiZXR3ZWVuIHRoZSBncmlkIGNvbHVtbnMgeW91IGNhbiB1c2UgdGhlIG1vZGlmaWVyIGAuLW5vZ3V0dGVyYC5cblxuYGBgamFkZVxuZGl2LmdyaWQuLW5vZ3V0dGVyXG5cdGRpdi5jb2wtMS00XG5cdFx0ZGl2LmFpZ2lzLWRlYnVnIEZpcnN0IGNvbHVtbiBpbiBET01cblx0ZGl2LmNvbC0xLTRcblx0XHRkaXYuYWlnaXMtZGVidWcgU2Vjb25kIGNvbHVtbiBpbiBET01cblx0ZGl2LmNvbC0xLTRcblx0XHRkaXYuYWlnaXMtZGVidWcgVGhpcmQgY29sdW1uIGluIERPTVxuXHRkaXYuY29sLTEtNFxuXHRcdGRpdi5haWdpcy1kZWJ1ZyBGb3VydGggY29sdW1uIGluIERPTVxuYGBgXG4qL1xuXG4uZ3JpZCB7XG5cblx0bWFyZ2luOiAwIC1AZ3JpZC1ndXR0ZXIvMjtcblxuXHQmOmFmdGVyIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXHRcdGNsZWFyOiBib3RoO1xuXHR9XG5cblx0PiAqIHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6MTAwJTtcblx0XHRwYWRkaW5nOiAwIEBncmlkLWd1dHRlci8yO1xuXHR9XG5cblx0Ji4tcmV2ZXJzZSA+ICoge1xuXHRcdGZsb2F0OnJpZ2h0O1xuXHR9XG5cblxuXHQmLi1ub2d1dHRlciB7XG5cdFx0bWFyZ2luOiAwO1xuXG5cdFx0PiAqIHtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0fVxuXHR9XG5cblxuXHQuY29sLTEge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cdC5jb2wtMS0yIHtcblx0XHR3aWR0aDogMTAwJS8yO1xuXHR9XG5cdC5jb2wtMS0zIHtcblx0XHR3aWR0aDogMTAwJS8zKjE7XG5cdH1cblx0LmNvbC0yLTMge1xuXHRcdHdpZHRoOiAxMDAlLzMqMjtcblx0fVxuXHQuY29sLTEtNCB7XG5cdFx0d2lkdGg6IDEwMCUvNCoxO1xuXHR9XG5cdC5jb2wtMy00IHtcblx0XHR3aWR0aDogMTAwJS80KjM7XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGUgYWxsIG1lZGlhIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSBAZ3JpZC1icmVhay1wb2ludHMsIEBncmlkLWJyZWFrLWxhYmVscyB2YXJpYWJsZXMuXG5cdCAqL1xuXHQuZm9yKCBAZ3JpZC1icmVhay1wb2ludHMsIHtcblxuXHRcdEBsYWJlbDogZXh0cmFjdCggQGdyaWQtYnJlYWstbGFiZWxzLCBAaSApO1xuXG5cdFx0QG1lZGlhIGFsbCBhbmQgKCBtaW4td2lkdGg6IEB2YWx1ZSApIHtcblxuXHRcdFx0PiAuQHtsYWJlbH0tMSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXG5cdFx0XHQ+IC5Ae2xhYmVsfS0xLTIge1xuXHRcdFx0XHR3aWR0aDogMTAwJS8yO1xuXHRcdFx0fVxuXG5cdFx0XHQ+IC5Ae2xhYmVsfS0xLTMge1xuXHRcdFx0XHR3aWR0aDogMTAwJS8zKjE7XG5cdFx0XHR9XG5cblx0XHRcdD4gLkB7bGFiZWx9LTItMyB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlLzMqMjtcblx0XHRcdH1cblxuXHRcdFx0PiAuQHtsYWJlbH0tMS00IHtcblx0XHRcdFx0d2lkdGg6IDEwMCUvNCoxO1xuXHRcdFx0fVxuXG5cdFx0XHQ+IC5Ae2xhYmVsfS0zLTQge1xuXHRcdFx0XHR3aWR0aDogMTAwJS80KjM7XG5cdFx0XHR9XG5cdFx0fVxuXHR9KTtcbn0iLCIvKlxuLS0tXG5uYW1lOiBpbWcucmVzcG9uc2l2ZVxuY2F0ZWdvcnk6IExheW91dC9JbWFnZVxudGFnOlxuIC0gcmVzcG9uc2l2ZVxuY29tcGlsZTogdHJ1ZVxuLS0tXG5cblRoaXMgY2xhc3MgbWFrZXMgdGhlIGltYWdlIHNjYWxpbmcgdG8gaXRzIG1heCB3aWR0aC5cblxuYGBgamFkZVxuaW1nLnJlc3BvbnNpdmUoc3JjPSdodHRwOi8vd3d3LmJ5dWkuZWR1L2ltYWdlcy9hZ3JpY3VsdHVyZS1saWZlLXNjaWVuY2VzL2Zsb3dlci5qcGcnKVxuYGBgXG4qL1xuaW1nLnJlc3BvbnNpdmUge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdGhlaWdodDogYXV0bztcbn1cbiIsIi8qXG4tLS1cbm5hbWU6IC5tZWRpYS1yZXNwb25zaXZlXG5jYXRlZ29yeTogTGF5b3V0L01lZGlhXG50YWc6XG4gLSByZXNwb25zaXZlXG5jb21waWxlOiB0cnVlXG4tLS1cblxuYC5tZWRpYS1yZXNwb25zaXZlYCAtIFRoaXMgbWFrZXMgYSB0aGUgYC5tZWRpYS1yZXNwb25zaXZlYCBkaXYgYSBjb250YWluZXIgZm9yIGFueSBtZWRpYSBlbGVtZW50IChpZnJhbWUsIHZpZGVvLCAuLi4gKSB0aGF0IHJlc3BvbnNpdmUgc2NhbGVzIHdpdGggYSBmaXggcmF0aW8uXG5UaGUgbWVkaWEgZWxlbWVudCAoIGNoaWxkICkgbmVlZHMgdGhlIGNsYXNzIGAuc3RyZXRjaGAgdG8gZnVsbHkgZmlsbCBvdXQgdGhlIHBhcmVudHMgc2l6ZS5cblxuVGhlIGAubWVkaWEtcmVzcG9uc2l2ZWAgY29tcG9uZW50IGhhcyB0byBwcmVkZWZpbmVkIG1vZGlmaWVyczogYC4tbWVkaWEtNC0zYCwgYC4tbWVkaWEtMTYtOWAgdGhhdCBkZWZpbmUgYSBmaXggcmF0aW8uXG5cbmBgYGphZGVcbmRpdi5tZWRpYS1yZXNwb25zaXZlLi1tZWRpYS0xNi05XG5cdGlmcmFtZS5zdHJldGNoKHNyYz1cImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9VENkNlBmeE95MFlcIilcbmBgYFxuKi9cbi5tZWRpYS1yZXNwb25zaXZlIHtcblx0d2lkdGg6IDEwMCU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy1ib3R0b206IDUwJTtcblxuXHQmLi1tZWRpYS00LTMge1xuXHRcdHBhZGRpbmctYm90dG9tOiA3NSU7XG5cdH1cblxuXHQmLi1tZWRpYS0xNi05IHtcblx0XHRwYWRkaW5nLWJvdHRvbTogNTYuMjYlXG5cdH1cbn1cbiIsIi8qXG4tLS1cbm5hbWU6IC5wYWdlLWZsdWlkXG5jYXRlZ29yeTogUGFnZS9GbHVpZFxudGFnOlxuIC0gcmVzcG9uc2l2ZVxuY29tcGlsZTogdHJ1ZVxuLS0tXG5cbmAucGFnZS1mbHVpZGAgY2VudGVycyB0aGUgcGFnZSBjb250ZW50IGFuZCBhZGRzIGEgcGFkZGluZyBzbyB0aGUgcGFnZSBzdGlja3Mgbm90IHRvIHRoZSBicm93c2VyIHZpZXdwb3J0LlxuRnVydGhlcm1vcmUgaXQgaGFzIGEgbWF4LXdpZHRoIGJhc2VkIG9uIHRoZSBsYXN0IGBAZ3JpZC1icmVhay1wb2ludHNgIHZhbHVlLlxuXG5gYGBqYWRlXG5kaXYucGFnZS1mbHVpZFxuXHRkaXYuYWlnaXMtZGVidWcgU29tZSBwYWdlIGNvbnRlbnRcbmBgYFxuXG4jIyBNYXgtd2lkdGggcGFnZVxuXG5UbyBicm9hZGVuIHRoZSB3aWR0aCBvZiB0aGUgcGFnZSB5b3UgY2FuIGFkZCB0aGUgbW9kaWZpZXIgYC4tdW5saW1pdGVkYC4gVGhzaSB3aWxsIHNwYW4gdGhlIHBhZ2UgdG8gdGhlIGZ1bGwgd2lkdGguXG5cbmBgYGphZGVcbmRpdi5wYWdlLWZsdWlkLi11bmxpbWl0ZWRcblx0ZGl2LmFpZ2lzLWRlYnVnIFNvbWUgcGFnZSBjb250ZW50XG5gYGBcbiovXG4ucGFnZS1mbHVpZCB7XG5cblx0QG1heC13aWR0aC1wb2ludDogZXh0cmFjdCggQGdyaWQtYnJlYWstcG9pbnRzLCBsZW5ndGgoIEBncmlkLWJyZWFrLXBvaW50cyApICk7XG5cdFxuXHRtYXgtd2lkdGg6IEBtYXgtd2lkdGgtcG9pbnQgKyAyICogZXh0cmFjdCggQHBhZ2UtcGFkZGluZywgMiApO1xuXHRtYXJnaW46IGF1dG87XG5cdHBhZGRpbmc6IEBwYWdlLXBhZGRpbmc7XG5cblx0Ji4tdW5saW1pdGVkIHtcblx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdH1cbn1cbiIsIi8qXG4tLS1cbm5hbWU6IC5yb3dcbmNhdGVnb3J5OiBMYXlvdXQvUm93XG50YWc6XG4gLSBjb21wb25lbnRcbmNvbXBpbGU6IHRydWVcbi0tLVxuXG5UaGlzIHN0eWxpbmcgYWxsb3cgdG8gcGxhY2UgY29udGFpbmVycyBpbiBhIHJvdy4gVGhleSB3aWxsICoqbm90KiogYnJlYWsgYXMgdGhlIGAuZ3JpZGAgYnV0IHJlc2l6ZSB0aGVtIGFjY29yZGluZ2x5LlxuU29tZSBiZW5lZml0cyBvZiB0aGUgYC5yb3dgIGFwcHJvYWNoIGlzIHRoZSBlYXN5IHZlcnRpY2FsIGNlbnRlcmluZyBhbmQgdGhlIHVzYWdlIG9mIHRoZSBgLmNvbC1hdXRvYCBjbGFzcy5cblxuIyMgQmFzaWMgcm93IHdpdGggdmVydGljYWwgY2VudGVyaW5nXG5cbllvdSBjYW4gdXNlIHRoZSBzaXppbmcgY2xhc3NlcyBgLmNvbC1YLVhgIHRvIGRlZmluZSB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYXMgdGhlIGZvbGxvd2luZyBleGFtcGxlIHNob3dzLiBcblxuYGBgamFkZVxuZGl2LnJvd1xuXHRkaXYuY29sLTEtNC5haWdpcy1kZWJ1ZyBjb2wtMS00IHdpdGggYSBsb3Qgb2YgdGV4dCB0aGF0IHNwYW5zIHRoZSBjb2x1bW4uXG5cdGRpdi5jb2wtMy00LmFpZ2lzLWRlYnVnIGNvbC0zLTQgY29udGVudC5cbmBgYFxuXG4jIyBGaXhlZCByb3dcblxuVGhlcmUgaXMgYSBgLi1maXhlZGAgbW9kaWZpZXIgd2hlcmUgZWFjaCBjb2x1bW4gaGFzIHRoZSBzYW1lIHdpZHRoLlxuXG5gYGBqYWRlXG5kaXYucm93Li1maXhlZFxuXHRkaXYuYWlnaXMtZGVidWcgZXZlbmx5IHNwcmVhZG91dCBjb2x1bW5cblx0ZGl2LmFpZ2lzLWRlYnVnIGV2ZW5seSBzcHJlYWRvdXQgY29sdW1uIHdpdGggbW9yZSBjb250ZW50XG5cdGRpdi5haWdpcy1kZWJ1ZyBldmVubHkgc3ByZWFkb3V0IGNvbHVtblxuXHRkaXYuYWlnaXMtZGVidWcgZXZlbmx5IHNwcmVhZG91dCBjb2x1bW4gd2l0aCBtdWNoIG1vcmUgY29udGVudCB0aGFuIHRoZSBvdGhlclxuXHRkaXYuYWlnaXMtZGVidWcudmNlbnRlciBldmVubHkgc3ByZWFkb3V0IGNvbHVtbiB3aXRoIC52Y2VudGVyXG5gYGBcblxuXG4jIyBBdXRvIHNpemVkIGNvbHVtbiB3aWR0aCBhbmQgdmNlbnRlclxuXG5UaGVyZSBpcyBhIHNwZWNpYWwgYC5jb2wtYXV0b2AgY2xhc3MgdGhhdCByZXNpemVzIHRoZSBjb2x1bW4gdG8gdGhlIHNpemUgb2YgaXRzIGNvbnRlbnQuXG5UaGlzIGlzIHVzZWZ1bGwgZm9yIGV4YW1wbGUgaWYgeW91IGhhdmUgYSBmaXhlZCBzaXplIGxvZ28gYW5kIHRoZSByZXN0IG9mIHRoZSBoZWFkZXIgaGFzIHRvIHJlc2l6ZS5cblxuYGBgamFkZVxuZGl2LnJvdy4tY2VudGVyXG5cdGRpdi5jb2wtYXV0by5haWdpcy1kZWJ1Z1xuXHRcdGltZyhzcmM9XCJodHRwOi8vcGxhY2Vob2xkLml0LzEwMHgxMDBcIilcblx0ZGl2LmNvbC0xLmFpZ2lzLWRlYnVnIFRoZSByZXN0XG5cdGRpdi5jb2wtYXV0by5haWdpcy1kZWJ1Z1xuXHRcdGltZyhzcmM9XCJodHRwOi8vcGxhY2Vob2xkLml0LzIwMHgxMDBcIilcbmBgYFxuKi9cbi5yb3cge1xuXHRkaXNwbGF5OiB0YWJsZTtcblx0d2lkdGg6IDEwMCU7XG5cblx0Ji4tZml4ZWQge1xuICAgIFx0dGFibGUtbGF5b3V0OiBmaXhlZDtcblx0fVxuXG5cdCYuLWNlbnRlciB7XG5cdFx0PiAqIHtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0fVxuXHR9XG5cblx0Ji4tYm90dG9tIHtcblx0XHQ+ICoge1xuXHRcdFx0dmVydGljYWwtYWxpZ246IGJvdHRvbTtcblx0XHR9XG5cdH1cblxuXHQmLi1wYWRkZWQge1xuXHRcdD4gKiArICoge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiBAcm93LWd1dHRlcjtcblx0XHR9XG5cdH1cblx0XG5cdD4gKiB7XG5cdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcblx0XHRcblx0XHQmLmNvbC0xIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0XHQmLmNvbC0xLTIsXG5cdFx0Ji5jb2wtMi00IHtcblx0XHRcdHdpZHRoOiAxMDAlLzI7XG5cdFx0fVxuXHRcdCYuY29sLTEtMyB7XG5cdFx0XHR3aWR0aDogMTAwJS8zKjE7XG5cdFx0fVxuXHRcdCYuY29sLTItMyB7XG5cdFx0XHR3aWR0aDogMTAwJS8zKjI7XG5cdFx0fVxuXHRcdCYuY29sLTEtNCB7XG5cdFx0XHR3aWR0aDogMTAwJS80KjE7XG5cdFx0fVxuXHRcdCYuY29sLTMtNCB7XG5cdFx0XHR3aWR0aDogMTAwJS80KjM7XG5cdFx0fVxuXHRcdFxuXHRcdCYuY29sLWF1dG8ge1xuXHRcdFx0d2lkdGg6YXV0bztcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0fVxuXHR9XG59XG5cblxuIiwiLmFuc3dlci12aWV3IHtcblxuICAgICYuLXdyb25nIHtcbiAgICAgICAgY29sb3I6IHJlZDtcbiAgICB9XG4gICAgLmxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSgxNXB4KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oMTBweCk7XG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICA+LmlucHV0IHtcbiAgICAgICAgICAgIHRvcDogcmVtKDExcHgpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogcmVtKC0xNXB4KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG5cbiAgICB9XG5cbiAgICAuYW5zd2VydGV4dCB7XG4gICAgICAgIC8vIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IHJlbSgxNXB4KTtcbiAgICB9XG59IiwiLmJveC1jaGFwdGVyIHtcbiAgICBcbiAgICBjdXJzb3I6cG9pbnRlcjtcbiAgICBcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuXG4gICAgLm1hbmRhdG9yeSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDM0cHg7XG4gICAgfVxuICAgIFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBjb250ZW50OiBcIuKWslwiO1xuICAgIH1cbiAgICBcbiAgICAmLi1leHBhbmRlZCB7XG4gICAgICAgIFxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDMwcHgpO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwi4payXCI7XG4gICAgICAgICAgICB6LWluZGV4OjEwO1xuICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICBib3R0b206IC0yNHB4O1xuICAgICAgICAgICAgY29sb3I6IEBicmFuZC1jb2xvcjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7XG4gICAgICAgIH1cbiAgICB9XG4gICAgICAgIFxuXG5cbiAgICAuaW1hZ2Uge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTNweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIEBicmFuZC1jb2xvcjtcbiAgICAgICAgbWF4LWhlaWdodDogMjAzcHg7XG4gICAgICAgIC8vd2lkdGg6IDI5MnB4O1xuICAgICAgICAvL2hlaWdodDogMTgwcHg7XG5cbiAgICB9XG4gICAgLnRpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAxNHB4IDA7XG4gICAgICAgIGNvbG9yOiBAdGV4dC1kYXJrLWNvbG9yO1xuICAgICAgICBoZWlnaHQ6IDU1cHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIycHgpO1xuICAgICAgICAvLyB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAvLyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB9XG5cbiAgICAubGluay1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmxpbmstY29udGFpbmVyOmhvdmVyIHtcbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6MC44O1xuICAgICAgICB9XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNsYXNzID4gc3ZnLCAuZHVyYXRpb24gPiBzdmcsIC5sYWJlbCA+IHN2ZyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOXB4O1xuICAgICAgICBjb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgIH1cblxuICAgIC5jbGFzcywgLmR1cmF0aW9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgIH1cblxuXG4gICAgLy8gLm1vZHVsZS1sYWJlbCB7XG4gICAgLy8gICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAvLyB9XG4gICAgXG4gICAgLmV4cG9ydCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgPi5idXR0b24tZXhwb3J0IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgICAgICA+LmJ1dHRvbi1leHBvcnQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBsYXJnZS1icmVhay1wb2ludCkgeyBcbiAgICAuYm94LWNoYXB0ZXIge1xuICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMzA3cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBzbWFsbC1icmVhay1wb2ludCkgeyBcbiAgICAuYm94LWNoYXB0ZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAzODBweDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgPi50aXRsZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuIiwiLmJ1dHRvbi1leHBvcnQge1xuICAgIGhlaWdodDogMzJweDtcbiAgICB3aWR0aDogOThweDtcblxuICAgIGNvbG9yOiBAYnJhbmQtY29sb3I7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgQGJyYW5kLWNvbG9yO1xuXG4gICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IHJlbSgyOHB4KTtcblxuICAgIHRyYW5zaXRpb246IGFsbCAwLjFzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQGhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaG92ZXItY29sb3I7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAYnJhbmQtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBicmFuZC1jb2xvcjtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgfVxufSIsIi5idXR0b24tZmlsdGVye1xuICAgIFxuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNkY2RjY7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IHJlbSgxNnB4KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAmLi1hY3RpdmUge1xuICAgICAgICBjb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgICAgICA+Lmljb24tY2hlY2tlZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IHJlbSgxNnB4KTtcbiAgICAgICAgICAgIHRvcDogMjNweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogQGhvdmVyLWNvbG9yO1xuICAgIH1cblxuICAgICYuLWhpZGRlbiB7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICB9XG4gICAgPi5pY29uLWZpbHRlciwgPi5pY29uLWNoZWNrZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYuLXRvZ2dsZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJhbmQtY29sb3I7XG4gICAgICAgIFxuICAgICAgICA+Lmljb24tY2hlY2tlZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgPi5pY29uLWZpbHRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgxNnB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKlxuLmJ1dHRvbi1maWx0ZXIge1xuICAgIFxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICB3aWR0aDogMTMycHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDIycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoMCwwLDAsMC4zKTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1zaXplOiByZW0oMTZweCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHJlbSgwLjQ4cHgpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBob3Zlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmLi1hY3RpdmV7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBkYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDZweCA2cHggMCByZ2JhKDAsMCwwLDAuMyk7XG4gICAgfVxuICAgICYuLWhpZGRlbiB7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICB9XG59XG5cbiovIiwiLmJ1dHRvbi10ZWFjaGVyIHtcbiAgICBcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgd2lkdGg6IDQwMHB4O1xuICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICBmb250LXdlaWdodDpib2xkO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBAaG92ZXItY29sb3I7XG4gICAgfVxuICAgIFxuICAgIC5pY29uIHtcbiAgICAgICAgY29sb3I6IEBicmFuZC1jb2xvcjtcbiAgICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC8vY29sb3I6IEBob3Zlci1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuLWNsb3NlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IEBob3Zlci1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuY2FwdGlvbi1lbGVtZW50IHtcbiAgICA+IHB7XG4gICAgICAgIGNvbG9yOiBAdGV4dC1saWdodC1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMjFweCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgfVxufSIsIi5jYXJvdXNlbC1lbGVtZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgJi4tbGlnaHRib3gge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgbGVmdDowcHg7XG4gICAgICAgIG1heC13aWR0aDoxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAyMDtcblxuICAgICAgICAuY2xvc2Uge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICByaWdodDogMzJweDtcbiAgICAgICAgICAgIHRvcDogMzJweDtcbiAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICBjdXJzb3I6cG9pbnRlcjtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLm5hdmktbGVmdCwgLm5hdmktcmlnaHQge1xuICAgICAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2aS1yaWdodCB7XG4gICAgICAgICAgICByaWdodDogMHB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKSB0cmFuc2xhdGVZKDAlKTtcblxuICAgICAgICB9XG4gICAgICAgIC5uYXZpLWxlZnQge1xuICAgICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICAgICAgfVxuICAgICAgICAub3V0ZXItc3RhZ2Uge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgICAgIC5pbm5lci1zdGFnZSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC5saWdodGJveCB7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgLmNvbnRhaW5lcntcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAuaW5uZXIge1xuIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLm9wZW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuY2FwdGlvbi1lbGVtZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC5jbG9zZSB7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICB9XG5cbiAgICAubmF2aS1sZWZ0LCAubmF2aS1yaWdodCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgICAgICB3aWR0aDo0NHB4O1xuICAgICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgICAgIGhlaWdodDo0NHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hdmktbGVmdCB7XG4gICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSlcbiAgICB9XG5cbiAgICAubmF2aS1yaWdodCB7XG4gICAgICAgIHJpZ2h0OiAwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZykgdHJhbnNsYXRlWSg1MCUpO1xuICAgIH1cblxuICAgIC5vdXRlci1zdGFnZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIC5pbm5lci1zdGFnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogbGVmdDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGxlZnQgLjRzIGVhc2Utb3V0O1xuICAgICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAubGlnaHRib3gge1xuICAgICAgICAgICAgICAgIC8vcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0ODVweDsgLy9pbmtsIGNhcHRpb25cbiAgICAgICAgICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZBNkE2QTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0NTBweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0NTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7ICAgXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmNhcHRpb24tZWxlbWVudCB7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufSIsIi5jaGFwdGVyLWNvdmVyIHtcbiAgICBoZWlnaHQ6IDQ1MHB4O1xuICAgIG1hcmdpbi10b3A6IDExcHg7IC8vd3RmXG4gICAgbWFyZ2luLWJvdHRvbTogODVweDtcbiAgICBcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgPi50aGVtZS1pY29uIHtcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIH1cblxuICAgID4udGl0bGUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB3aWR0aDogOTQwcHg7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDEpO1xuICAgICAgICBmb250LXNpemU6IHJlbSg2NHB4KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGRlbWk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oNzRweCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHJlbSgxLjlweCk7XG4gICAgICAgIHRleHQtc2hhZG93OiAwLjFweCAwLjFweCAxNnB4ICM2YTZhNmE3MztcbiAgICB9XG59XG5cbi8vdGVzdFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAc21hbGwtYnJlYWstcG9pbnQpIHsgXG4gICAgLmNoYXB0ZXItY292ZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNDlweCk7XG4gICAgICAgIGhlaWdodDogMzQwcHg7XG5cbiAgICAgICAgPi50aGVtZS1pY29uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgPi50aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgzMHB4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oNDBweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY2hhcHRlci1zdWJuYXZpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJhbmQtY29sb3I7XG4gICAgbWF4LWhlaWdodDogMHB4O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OjA7XG4gICAgY3Vyc29yOmRlZmF1bHQ7XG4gICAgbWFyZ2luLXRvcDogNDVweDtcbiAgICBcbiAgICBcblxuICAgICYuLWV4cGFuZGVkIHtcbiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMDAwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cywgbWF4LWhlaWdodCAzcztcbiAgICB9XG5cbiAgICA+LmNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogIGF1dG87XG4gICAgICAgIHBhZGRpbmc6IHJlbSg1MHB4KSByZW0oMTZweCk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxOHB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgyNnB4KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICAgICA+LnRoZW1lLWljb24ge1xuICAgICAgICAgICAgbGVmdDogMTVweDsgLy9wcm9ibGVtIG9mIHNjcm9sbGJhcj9cbiAgICAgICAgfVxuXG4gICAgICAgID4udGl0bGVyb3cge1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oMjJweCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgID4ubmF2aXRpdGxlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgyMnB4KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtKDI3cHgpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+LmRvd25sb2FkIHtcbiAgICAgICAgICAgICAgICBmbG9hdDpyaWdodDtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbG9yOiBAaG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuXG5cbiAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgY3Vyc29yOnBvaW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMTJweCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPi5jaGFwdGVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAubW9kdWxlLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgxOHB4KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgID4uaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgLm1vZHVsZS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICA+Lmljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2UtYnJlYWstcG9pbnQpIHtcbiAgICBcblxuICAgIFxuICAgIC5jaGFwdGVyLXN1Ym5hdml7XG4gICAgICAgICYuLWV4cGFuZGVkIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtKDE2cHgpO1xuICAgICAgICB9XG4gICAgICAgID4uY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgzMHB4KSByZW0oMTZweCk7XG5cbiAgICAgICAgICAgIC50aGVtZS1pY29uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICB9XG59IiwiLmNvbW1vbi1wYWdlIHtcblxuICAgIG1hcmdpbi10b3A6IHJlbSg4NXB4KTtcblxuICAgICYuLW1haW4taW1wcmVzc3VtIHtcbiAgICAgICAgaDEsIGgyLCBoMywgLnBhcmFncmFwaC1lbGVtZW50LCAucGFyYWdyYXBoLWVsZW1lbnQgYSB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgxLCBoMiwgaDMge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICBmb250LXNpemU6IHJlbSg0OHB4KTsgICAgXG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oNThweCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDYwcHgpO1xuICAgIH1cblxuICAgID4ucGFyYWdyYXBoLWVsZW1lbnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjVweCk7XG4gICAgfVxuICAgID4uaW1hZ2UtZWxlbWVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyNXB4KTtcbiAgICB9XG4gICAgPi5kZWxpbWl0ZXItbGluZSB7XG4gICAgICAgIG1hcmdpbjogcmVtKDUwcHgpIDA7XG4gICAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQHNtYWxsLWJyZWFrLXBvaW50KSB7XG4gICAgXG4gICAgLmNvbW1vbi1wYWdlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDBweCk7XG4gICAgICAgICYuLW1haW4taW1wcmVzc3Vte1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbSgxNnB4KTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSgxMjBweCk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgICAmLi1ub2NvdmVyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSgxODBweCk7XG4gICAgICAgIH1cbiAgICAgICAgaDEsIGgyLCBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgyNnB4KTsgICAgXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtKDM0cHgpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICA+LnRpdGxlLWVsZW1lbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDQwcHgpO1xuICAgICAgICB9XG4gICAgICAgID4ucGFyYWdyYXBoLWVsZW1lbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE1cHgpO1xuICAgICAgICB9XG4gICAgICAgID4uaW1hZ2UtZWxlbWVudCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTVweCk7XG4gICAgICAgIH1cblxuICAgICAgICA+LmRlbGltaXRlci1saW5lIHtcbiAgICAgICAgICAgIG1hcmdpbjogIHJlbSgzMHB4KSAwO1xuICAgICAgICB9XG4gICAgfVxuXG59IiwiLmNvbnRhaW5lci1xdWVzdGlvbnMge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSg5MHB4KTtcbiAgICBcbiAgICAubWFpbi10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg2MHB4KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgIH1cbiAgICAubnVtYmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDQ2cHgpO1xuICAgICAgICBjb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgQGJyYW5kLWNvbG9yO1xuICAgICAgICBsaW5lLWhlaWdodDogMC4wNWVtO1xuICAgICAgICBmb250LXNpemU6IHJlbSg0OHB4KTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHBhZGRpbmc6MCAyMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBzbWFsbC1icmVhay1wb2ludCkgeyBcbiAgICAuY29udGFpbmVyLXF1ZXN0aW9ucyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMnB4KTtcbiAgICAgICAgPi5udW1iZXIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjZweCk7XG4gICAgICAgICAgICAvL2xpbmUtaGVpZ2h0OiByZW0oMzRweCk7XG4gICAgICAgICAgICAvL2xpbmUtaGVpZ2h0OiAwLjA1ZW07XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIi5jb250YWluZXItdGVhY2hlciB7XG4gICAgXG5cbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgQGJyYW5kLWNvbG9yO1xuICAgIFxuICAgICYuc2lkZWJhci1sb2dpbiB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDBweDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOm5vbmU7XG4gICAgfVxuICAgIFxuICAgIFxuICAgIC5tb2R1bGUtdGl0bGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG5cbiAgICAudGl0bGUudGl0bGUtZG93bmxvYWQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgQGJyYW5kLWNvbG9yO1xuICAgICAgICBjdXJzb3I6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDBweDtcbiAgICB9XG5cblxuICAgIC50aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMHB4IC0xOHB4IDBweCAtMjdweDtcbiAgICAgICAgcGFkZGluZzogMTBweCAwcHggMTBweCAyN3B4O1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOnBvaW50ZXI7XG5cbiAgICAgICAgJi4tY2hhcHRlciB7XG4gICAgICAgICAgICAmLi1jdXJyZW50IHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIEBicmFuZC1jb2xvcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTlFOUU5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U5RTlFOTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuLWJhY2tncm91bmQge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U5RTlFOTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLnRpdGxlLWNvbnRlbnQge1xuICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDM0cHg7XG4gICAgICAgIH1cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgY29sb3I6IEBicmFuZC1jb2xvcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTRweDtcbiAgICAgICAgICAgIHJpZ2h0OiAxN3B4O1xuXG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcblxuICAgICAgICAuY29udGVudC1zZWN0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICAgICYuLWlubGluZSB7XG4gICAgICAgICAgICAgICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB1bCwgb2wge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cblxuICAgICAgICAmLi1jbG9zZSB7XG4gICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZXhwb3J0IHtcbiAgICAgICAgPi5idXR0b24tZXhwb3J0IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjlweDtcbiAgICAgICAgfVxuICAgICAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICAgICAgICBcbiAgICAgICAgLmRvd25sb2FkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICBtYXJnaW46IDExcHggMHB4O1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBicmFuZC1jb2xvcjtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjNweDtcblxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQHNtYWxsLWJyZWFrLXBvaW50KSB7IFxuICAgIC5jb250YWluZXItdGVhY2hlciB7XG4gICAgICAgIC5tb2R1bGUtdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5leHBvcnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuIiwiLmRlbGltaXRlci1saW5lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgQGJyYW5kLWNvbG9yO1xufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQHNtYWxsLWJyZWFrLXBvaW50KSB7XG5cbiAgICAuZGVsaW1pdGVyLWxpbmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgQGJyYW5kLWNvbG9yO1xuICAgICAgICBcbiAgICB9XG59IiwiLmZlZWRiYWNrLWNvbnRhaW5lciB7XG4gICB0ZXh0LWFsaWduOnJpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAuYnV0dG9uIHtcbiAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICBvdXRsaW5lOm5vbmU7XG4gICAgICAgfVxuICAgfVxufSIsIi5mZWVkYmFjay1wYW5lbCB7XG4gICAgcGFkZGluZzogLjc1cmVtIDEuMjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE4MCwgMTgwLCAxODApO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDMwcHgpO1xuICAgIFxuICAgIFxuICAgICYuLWNvcnJlY3Qge1xuICAgICAgICBjb2xvcjpAc3VjY2Vzcy1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHN1Y2Nlc3MtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAc3VjY2Vzcy1ib3JkZXItY29sb3I7XG4gICAgICAgIFxuICAgIH1cbiAgICAmLi13cm9uZyB7XG4gICAgICAgIGNvbG9yOkBhbGVydC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGFsZXJ0LWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQGFsZXJ0LWJvcmRlci1jb2xvcjtcbiAgICB9XG59IiwiLmZpbHRlci1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogNDBweDtcbiAgICBib3R0b206IDBweDtcbiAgICB6LWluZGV4OjEwO1xuICAgIGJveC1zaGFkb3c6IDAuMXB4IDAuMXB4IDE2cHggIzZhNmE2YTU0O1xufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQHNtYWxsLWJyZWFrLXBvaW50KSB7XG4gICAgLmZpbHRlci1jb250YWluZXIge1xuICAgICAgICByaWdodDogMTZweDtcbiAgICB9XG59IiwiW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cztcblxuICAgICYuLXNtYWxsIHtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICB9XG5cbiAgICAmLi1zdWIge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogc3ViO1xuICAgIH1cblxuICAgICYuLWludmVydGVkIHtcbiAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKTtcbiAgICB9XG5cbiAgICAmLi1icmFuZCB7XG4gICAgICAgIGNvbG9yOiBAYnJhbmQtY29sb3I7XG4gICAgfVxuXG4gICAgJi4tcnNwYWNlciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG59XG5cbi5pY29uY29udGFpbmVyLi1pbnZlcnRlZCA+IFtjbGFzc149XCJpY29uLVwiXSxcbi5pY29uY29udGFpbmVyLi1pbnZlcnRlZCA+IFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICAgIHRyYW5zZm9ybTpyb3RhdGUoLTE4MGRlZyk7XG59IiwiLmltYWdlLWVsZW1lbnQge1xuXG4gICAgJi4tc21hbGwge1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQHNtYWxsLWJyZWFrLXBvaW50KSB7XG4gICAgLmltYWdlLWVsZW1lbnQge1xuICAgICAgICAmLi1zbWFsbCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuIiwiLmxhbmRpbmctbmF2aWdhdGlvbmNvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufSIsIi5sYW5kaW5nLW5hdmlnYXRpb25pdGVtIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIC5pbWFnZS1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgICAgICAvLyB3aWR0aDogMjkzcHg7XG4gICAgICAgIC8vIGhlaWdodDogMjkzcHg7XG5cbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgaGVpZ2h0OiA4MCU7XG4gICAgICAgIG1hcmdpbjogcmVtKDMwcHgpIGF1dG87XG5cbiAgICAgICAgPi5pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXMgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgID4uYWN0aXZhdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC50ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjZweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMzVweCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG5cbiAgICAmLi1oaWRkZW4ge1xuICAgICAgICAuYWN0aXZhdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICAuaW1hZ2UsIC50ZXh0IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMjtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi50aGVtZS1saWxhYyB7XG4gICAgICAgIC5pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgICAgYm9yZGVyOiA1cHggc29saWQgQGxpbGFjO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGxpbGFjO1xuICAgICAgICB9XG4gICAgICAgIC5mbGFzaCB7XG4gICAgICAgICAgICBjb2xvcjogQGxpbGFjO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbiAgICAmLnRoZW1lLW1pbnQge1xuICAgICAgICAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogNXB4IHNvbGlkIEBtaW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG1pbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLmZsYXNoIHtcbiAgICAgICAgICAgIGNvbG9yOiBAbWludDtcbiAgICAgICAgfVxuICAgIH1cblxuXG5cblxuICAgIC5mbGFzaCB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuOHMsIG9wYWNpdHkgMC44cywgdG9wIDAuOHMsIGxlZnQgMC44cywgcmlnaHQgMC44cztcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgICB9XG5cbiAgICB9XG4gICAgXG4gICAgJjpub3QoLi1oaWRkZW4pOmhvdmVyIHtcbiAgICAgICAgXG4gICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06ICBzY2FsZSgxLjUpO1xuICAgICAgICAgICAgLy8gLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApO1xuXG5cbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgIFxuLyoqIGRpc2FibGVkIHVudGlsIGljb25zIGFyZSBkZWZpbmVkLi4uXG4gICAgICAgIC5mbGFzaCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuOHMsIG9wYWNpdHkgMC44cywgdG9wIDAuOHMsIGxlZnQgMC44cywgcmlnaHQgMC44cztcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJi5mbGFzaDEge1xuICAgICAgICAgICAgICAgIHRvcDogNjNweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAmLmZsYXNoMiB7XG4gICAgICAgICAgICAgICAgdG9wOiAyNHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDI4MHB4XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAmLmZsYXNoMyB7XG4gICAgICAgICAgICAgICAgdG9wOiAzMDJweDtcbiAgICAgICAgICAgICAgICByaWdodDogNzdweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuKiovXG4gICAgfVxuXG59IiwiLmxpZ2h0Ym94IHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgLy8gLmltYWdlIHtcbiAgICAgICAgLy8gICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAvLyAgICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgICAgIC8vICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgLy8gICAgIGRpc3BsYXk6IGJsb2NrOyAgIFxuICAgICAgICAvLyB9XG5cbiAgICAgICAgLy8gLmNhcHRpb24tZWxlbWVudCB7XG4gICAgICAgIC8vICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgLy8gfVxuICAgICAgICBcbiAgICAgICAgLm9wZW4ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyBcbiAgICAgICAgICAgIGJvdHRvbTogOHB4O1xuICAgICAgICAgICAgcmlnaHQ6MHB4O1xuICAgICAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG1pbi13aWR0aDoxMDAlO1xuICAgIC5vcGVuLCAuY2xvc2Uge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLm9wZW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLmNsb3NlIHtcbiAgICAgICAgZGlzcGxheTpub25lO1xuICAgIH1cblxuICAgIFxuICAgICYuLW9wZW4ge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgbGVmdDowcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuXG4gICAgICAgIC5jYXB0aW9uLWVsZW1lbnQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIC5pbm5lciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDIwcHggMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBcblxuICAgICAgICAuY2xvc2Uge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMTZweDtcbiAgICAgICAgICAgIHRvcDogMTZweDtcbiAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICB9XG4gICAgICAgIC5vcGVuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FwdGlvbiB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICB9XG4gICAgfVxufSIsIi5tYWluLW5hdmlnYXRpb24ge1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDowO1xuICAgIHotaW5kZXg6MTAwO1xuICAgIGNvbG9yOiBAYnJhbmQtY29sb3I7XG5cbiAgICAvLyBmb250LXNpemU6IDE4cHg7XG5cbiAgICAuaGFtYnVyZ2VyIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgyM3B4KTtcbiAgICB9XG4gICAgLmhhbWJ1cmdlcjpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6I2ZmZjtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMThweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMzBweCk7XG4gICAgICAgIGNvbG9yOiMwMDA7XG4gICAgfVxuICAgIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDMwcHgpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDhweCAwIDhweCAyMHB4O1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6QGRhcmstaG92ZXItY29sb3I7ICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxldmVsMSB7XG4gICAgICAgIHdpZHRoOiByZW0oMzgwcHgpO1xuICAgICAgICAvL1RPRE86XG4gICAgICAgIGJveC1zaGFkb3c6IDFweCAxcHggIGhzbGEoMCwgMCUsIDAlLCAwLjI1KTtcbiAgICAgICAgLy8gdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgXG4gICAgICAgIC5ib29rLCAuaW1wcmVzc3VtIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDoyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICBjb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLi1mbGF0bmF2aWdhdGlvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYuLWFjdGl2ZSB7XG4gICAgICAgICAgICAuYm9vazpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDZweCAwIDZweCAzN3B4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgQGJyYW5kLWNvbG9yO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAYnJhbmQtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5sZXZlbDIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6I2Y2ZjZmNjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI3cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGxpIGF7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGxpOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGRhcmstaG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIH0gICAgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5sZXZlbDE6Zmlyc3QtY2hpbGQ6aG92ZXIge1xuICAgICAgICBjb2xvcjogQGhvdmVyLWNvbG9yO1xuICAgIH1cbiAgICAuLWNsb3NlIHtcbiAgICAgICAgZGlzcGxheTpub25lO1xuICAgIH1cbiAgICAubGV2ZWwyIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQHNtYWxsLWJyZWFrLXBvaW50KSB7XG4gICAgLm1haW4tbmF2aWdhdGlvbiB7XG4gICAgICAgIC5sZXZlbDEge1xuICAgICAgICAgICAgd2lkdGg6IHJlbSgzNDBweCk7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLm1vZHVsZS1sYWJlbCB7XG4gICAgY29sb3I6IEB0ZXh0LWxpZ2h0LWNvbG9yO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgJi4taGFsZiB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgXG4gICAgLmljb24ge1xuICAgICAgICBjb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDlweDtcbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuICAgIFxufSIsIi5wYWdlLWZsdWlkIHtcbiAgICBwYWRkaW5nOiAwIHJlbSgxNnB4KTtcbiAgICBtYXgtd2lkdGg6IHJlbSg2MTBweCsxNnB4KzE2cHgpO1xufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQHNtYWxsLWJyZWFrLXBvaW50KSB7IFxuICAgIC5jb250ZW50ICYgLnBhZ2UtZmx1aWQge1xuICAgICAgICBwYWRkaW5nOiAwIDA7XG4gICAgfVxufSIsIi5wYWdlLWZvb3RlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIEBicmFuZC1jb2xvcjtcbiAgICBtYXJnaW4tdG9wOiAyMDBweDtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgLnRleHQge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMycHg7XG4gICAgICAgIC5pbXByZXNzdW0ge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBzbWFsbC1icmVhay1wb2ludCkgeyBcbiAgICAucGFnZS1mb290ZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNjBweDtcbiAgICB9XG59XG5cblxuIiwiLnBhZ2UtaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOjA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4gICAgJi4tbGFuZGluZ3BhZ2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi4taW1wcmVzc3VtIHtcbiAgICAgICAgLmxvZ28tc2VjdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYm9yZGVyLWJvdHRvbSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMXB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICB9XG5cbiAgICAubG9nby1zZWN0aW9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgICAgICBcbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDMzcHgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSg1MHB4KTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiByZW0oMC44NXB4KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cblxuICAgICAgICAubG9nb3tcbiAgICAgICAgICAgIHdpZHRoOiA5NnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDExcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcblxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgIH1cblxuXG4gICAgLm1haW4tbmF2aWdhdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICAuYnV0dG9uLWxvZ2luIHtcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMnB4KzIwcHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgICAgICAgXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMThweCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtKDI2cHgpO1xuICAgICAgICAgICAgY29sb3I6IEB0ZXh0LWRhcmstY29sb3I7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAYnJhbmQtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLWxvZ2luOmhvdmVyIGEge1xuICAgICAgICBjb2xvcjpAaG92ZXItY29sb3I7XG4gICAgfVxuICAgIC5idXR0b24tbG9naW46YWN0aXZlIGEge1xuICAgICAgICBjb2xvcjogQGRhcmstaG92ZXItY29sb3I7XG4gICAgfVxuXG4gICAgLnNpZGViYXItdGVhY2hlciB7XG4gICAgICAgIHJpZ2h0OjA7XG4gICAgfVxuXG4gICAgLnNpdGUtdGl0bGUge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxuICAgIC5ob21lLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICB9XG5cblxuXG5cbiAgICAmLi1jb2xsYWJzZSB7XG4gICAgICAgIFxuICAgICAgICBwYWRkaW5nLXRvcDogMHB4O1xuXG4gICAgICAgIC5sb2dvLXNlY3Rpb24ge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgaGVpZ2h0OiAwcHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICAgICAgfVxuXG4gICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgIH1cblxuICAgICAgIC5zaXRlLXRpdGxlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICAgbGVmdDogNzVweDtcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgZGlzcGxheTp0YWJsZS1jZWxsO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xuICAgICAgICB9XG5cblxuICAgICAgICAuYmFjay1idXR0b24ge1xuICAgICAgICAgICAgdG9wOiA1NXB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuNXM7XG4gICAgICAgIH1cblxuXG5cblxuXG5cbiAgICAgICAuaG9tZS1idXR0b24ge1xuXG4gICAgICAgICAgICBkaXNwbGF5OnRhYmxlLWNlbGw7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICAgICAgICAgIC5pY29ue1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGhlaWdodDoyNnB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNnB4O1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOnRvcDtcbiAgICAgICAgICAgIH1cblxuICAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgPi5iYWNrLWJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAxMzRweDtcbiAgICAgICAgbGVmdDogMTVweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciA6ICNGNkY2RjY7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4cHgpO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IzAwMDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgICAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBsYXJnZS1icmVhay1wb2ludCkgeyBcbiAgICAucGFnZS1oZWFkZXIge1xuICAgICAgICAmLi1jb2xsYWJzZSB7XG4gICAgICAgICAgICAuc2l0ZS10aXRsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQHNtYWxsLWJyZWFrLXBvaW50KSB7IFxuICAgIC5wYWdlLWhlYWRlciB7XG5cbiAgICAgICAgJi4tY29sbGFic2Uge1xuICAgICAgICAgICAgLnNpdGUtdGl0bGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2dvLXNlY3Rpb24ge1xuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgLmxvZ297XG4gICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNHB4O1xuICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOXB4O1xuICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgICAgICAgIFxuICAgICAgICAgICB9XG4gICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgyOXB4KTtcbiAgICAgICAgICAgICAgIC8vbGV0dGVyLXNwYWNpbmc6IHJlbSgwLjU3cHgpO1xuICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgICAgICAgICAgfVxuICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uLWxvZ2luIHtcbiAgICAgICAgICAgIC5uYXZpLXRleHQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYnV0dG9uLXRlYWNoZXIge1xuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAubmF2aS10ZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gfVxuIiwiLnBhZ2UtbGF5b3V0IHtcblxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46YXV0bztcbiAgICBcbiAgICBcbiAgICAvL3Rlc3RcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG5cblxuXG4gICAgJiA+IC5jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDE2MnB4O1xuXG4gICAgICAgICYuLW1haW4taW1wcmVzc3VtIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBicmFuZC1jb2xvcjtcbiAgICAgICAgICAgIG1hcmdpbjogMCByZW0oLTE2cHgpO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgJiA+LmNsb3NlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IHJlbSgxNjBweCk7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgXG5cbiAgICAgICAgICAgICAgICAmID4gLmxpbmsge1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBAYWxlcnQtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLi1zaWRlYmFyIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwMHB4O1xuICAgICAgICB9XG5cblxuICAgIH1cblxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBsYXJnZS1icmVhay1wb2ludCkgeyBcbiAgICAucGFnZS1sYXlvdXQge1xuICAgIFxuICAgICAgICAgJiA+IC5jb250ZW50IHtcblxuICAgICAgICAgICAgJi4tbWFpbi1pbXByZXNzdW0ge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiByZW0oMzJweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAc21hbGwtYnJlYWstcG9pbnQpIHsgXG4gICAgLnBhZ2UtbGF5b3V0IHtcbiAgICBcbiAgICAgICAgICYgPiAuY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE0MHB4O1xuXG4gICAgICAgICAgICAmLi1tYWluLWltcHJlc3N1bSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCByZW0oNDhweCk7XG4gICAgICAgICAgICAgICAgJiA+LmNsb3NlIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxMDVweDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IHJlbSgzMnB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAmLi1zaWRlYmFyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59IiwiLnBhZ2Utb3ZlcnZpZXcge1xuXG4gICAgbWF4LXdpZHRoOiByZW0oOTQwcHgpO1xuXG4gICAgLmludHJvZHVjdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg4MHB4KTtcbiAgICAgICAgLy93aWR0aDogOTQwcHg7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBmb250LXNpemU6IHJlbSgzOHB4KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQHNtYWxsLWJyZWFrLXBvaW50KSB7IFxuICAgIC5wYWdlLW92ZXJ2aWV3IHtcbiAgICAgICAgPi5pbnRyb2R1Y3Rpb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjZweCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtKDM0cHgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCIucGFyYWdyYXBoLWVsZW1lbnQge1xuICAgIFxuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICYuLWludHJvZHVjdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI2cHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDM4cHgpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgICBcbiAgICAmLi1kZWZhdWx0IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjJweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMzVweCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgfVxuXG4gICAgc3Ryb25nLCBiIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgdWwsIG9sIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDYwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICAgIHVsIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAuYWJicmV2aWF0aW9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDNweCBkb3R0ZWQgYmxhY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICAgICAgIGN1cnNvcjpoZWxwO1xuICAgICAgICAudG9vbHRpcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4tcmlnaHQge1xuICAgICAgICAgICAgLnRvb2x0aXAge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLi1sZWZ0IHtcbiAgICAgICAgICAgIC50b29sdGlwIHtcbiAgICAgICAgICAgICAgICByaWdodDogMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuLXRvcCB7XG4gICAgICAgICAgICAudG9vbHRpcCB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuLWJvdHRvbSB7XG4gICAgICAgICAgICAudG9vbHRpcCB7XG4gICAgICAgICAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuLWJpZyB7XG4gICAgICAgICAgICAmLi1vcGVuLCAmOmhvdmVyIHsgXG4gICAgICAgICAgICAgICAgLnRvb2x0aXAge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwdnc7XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi4tc2lkZWJhciB7XG4gICAgICAgICAgICAmLi1vcGVuLCAmOmhvdmVyIHsgXG4gICAgICAgICAgICAgICAgLnRvb2x0aXAge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgXG4gICAgICAgICYuLW9wZW4sICY6aG92ZXIge1xuICAgICAgICAgICAgLnRvb2x0aXAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OjEwO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMWUxZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMXB4IDFweCA1cHggMCByZ2JhKDAsMCwwLDAuNCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQHNtYWxsLWJyZWFrLXBvaW50KSB7IFxuICAgIC5wYXJhZ3JhcGgtZWxlbWVudCB7XG4gICAgICAgICYuLWludHJvZHVjdGlvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgyMnB4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMzJweCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLi1kZWZhdWx0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4cHgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgyOHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsLCBvbCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG5cbiAgICB9XG59XG4iLCIucXVlc3Rpb24taXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDYwcHgpO1xuXG4gICAgPi5pY29uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogQGJyYW5kLWNvbG9yO1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIGNvbG9yOiBAYnJhbmQtY29sb3I7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxNXB4KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjZweCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAubGlua2VkdmlkZW8tZWxlbWVudCB7XG4gICAgICAgIC5jYXB0aW9uLWVsZW1lbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDEwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhcmFncmFwaC1lbGVtZW50LCAuaW1hZ2UtZWxlbWVudCwgdWwsIG9sLCAuaWZyYW1lLWVsZW1lbnQsIC52aWRlby1lbGVtZW50LCAubGlua2VkdmlkZW8tZWxlbWVudCwgLmNhcm91c2VsLWVsZW1lbnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAmLi1ub21hcmdpbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICB1bCwgb2wge1xuICAgICAgICBtYXJnaW4tbGVmdDogNjBweDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQHNtYWxsLWJyZWFrLXBvaW50KSB7IFxuICAgIC5xdWVzdGlvbi1pdGVtIHtcbiAgICAgICAgLnRpdGxlIHsgXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgyMnB4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMzJweCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogZGVtaTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYXJhZ3JhcGgtZWxlbWVudCwgLmltYWdlLWVsZW1lbnQsIHVsLCBvbCwgLmlmcmFtZS1lbGVtZW50LCAudmlkZW8tZWxlbWVudCwgLmxpbmtlZHZpZGVvLWVsZW1lbnQsIC5jYXJvdXNlbC1lbGVtZW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gfSIsIi5xdWVzdGlvbi10ZXh0IHtcbiAgICA+LmRyb3Bkb3duIHtcbiAgICAgICAgJi4td3Jvbmcge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGFsZXJ0LWJhY2tncm91bmQtY29sb3JcbiAgICAgICAgfVxuICAgICAgICAmLi1jb3JyZWN0e1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHN1Y2Nlc3MtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuc2lkZWJhci1sb2dpbiB7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOkBicmFuZC1jb2xvcjtcbiAgICBtYXJnaW4tbGVmdDogLTI3cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMThweDtcbiAgICAvLyBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIFxuICAgIC8vcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyN3B4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE4cHg7XG4gICAgXG4gICAgIGEge1xuICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuaWNvbiB7XG4gICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHN1YjtcbiAgICAgICAgXG5cbiAgICAgICAgJi5pY29uLWFycm93LWRvd24ge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICAgIHJpZ2h0Oi00MHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC50aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGhvdmVyLWNvbG9yO1xuICAgICAgICBjdXJzb3I6cG9pbnRlcjtcbiAgICB9XG5cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAc21hbGwtYnJlYWstcG9pbnQpIHsgXG4gICAgLnNpZGViYXItbG9naW4ge1xuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICAmLmljb24tYXJyb3ctZG93biB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0yMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnNpZGViYXItdGVhY2hlciB7XG4gICAgXG4gICAgZm9udC1zaXplOiAxOHB4O1xuXG5cbiAgICAmLi10ZWFjaGVyIHtcbiAgICAgICAgLmNvbnRhaW5lci10ZWFjaGVyLnNvcnQtMCB7XG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCBAYnJhbmQtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5tZXRhLXNwYWNlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjRweDtcbiAgICB9XG5cbiAgICBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNGNkY2RjY7XG4gICAgYm94LXNoYWRvdzogLTFweCAxcHggMCAwIGhzbGEoMCwgMCUsIDAlLCAwLjI1KTtcbiAgICBwYWRkaW5nLWxlZnQ6IDI3cHg7XG4gICAgcGFkZGluZy1yaWdodDogMzRweDtcblxuICAgIHdpZHRoOiA0MTZweDtcbiAgICAvL3BhZGRpbmctdG9wOiAxMHB4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMHB4O1xuICAgIC8vdG9wOiAxNzRweDtcbiAgICB0b3A6IDEzM3B4O1xuICAgIGJvdHRvbTogMHB4O1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB6LWluZGV4OjEwO1xuXG4gICAgJi4tY2xvc2Uge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxuXG4gICAgJi4tY29sbGFic2Uge1xuICAgICAgICB0b3A6IDU1cHg7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjVzO1xuICAgIH1cblxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBzbWFsbC1icmVhay1wb2ludCkgeyBcbiAgICAuc2lkZWJhci10ZWFjaGVyIHtcbiAgICAgICAgdG9wOiAxMzNweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDoyMHB4O1xuICAgICAgICB3aWR0aDozNDNweDtcbiAgICB9XG59IiwiXG5cbmJvZHkubGFuZGluZyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBcbiAgLnBhZ2UtbGF5b3V0IHtcbiAgICAucGFnZS1sYW5kaW5nIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgIH1cbiAgfVxuXG4gIC5wYWdlLWZvb3RlciB7XG4gICAgICBtYXJnaW4tdG9wOjEwMHB4O1xuICB9XG4gIFxufVxuXG5cbiIsImgxIHtcbiAgICBmb250LXNpemU6IHJlbSg2NHB4KTtcbiAgICBsZXR0ZXItc3BhY2luZzogcmVtKDEuOXB4KTtcbiAgICBsaW5lLWhlaWdodDogcmVtKDcwcHgpO1xuICAgIGZvbnQtd2VpZ2h0Om5vcm1hbDtcbn1cblxuaDIge1xuICAgIGZvbnQtc2l6ZTogcmVtKDQ4cHgpOyAgICBcbiAgICBsaW5lLWhlaWdodDogcmVtKDU4cHgpO1xuICAgIGZvbnQtd2VpZ2h0Om5vcm1hbDtcbn1cblxuaDMge1xuICAgIGxpbmUtaGVpZ2h0OiByZW0oMjdweCk7XG4gICAgZm9udC1zaXplOiByZW0oMjBweCk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8vdGVzdFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAc21hbGwtYnJlYWstcG9pbnQpIHsgXG4gICAgIFxuICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjZweCk7ICAgIFxuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDM0cHgpO1xuICAgIH1cblxuICAgIFxuICAgIGgzIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgyNXB4KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMThweCk7XG4gICAgIH1cbiB9IiwiLnRoZW1lLWNvbG9yIHtcblxuICAgIGRpc3BsYXk6bm9uZTtcbiAgICB3aWR0aDogMHB4O1xuICAgIGhlaWdodDogMHB4O1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMHB4O1xuICAgIGxlZnQ6IDBweDtcblxuICAgIHotaW5kZXg6IDU7XG5cbiAgICBib3JkZXItcmlnaHQ6IDUwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogNTBweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICYuLW9wdGlrIHtcbiAgICAgICAgYm9yZGVyLXRvcDogNTBweCBzb2xpZCAjRjZBQzRFO1xuICAgICAgICBib3JkZXItbGVmdDogNTBweCBzb2xpZCAjRjZBQzRFO1xuICAgIH1cblxuICAgICYuLWVuZXJnaWUge1xuICAgICAgICBib3JkZXItdG9wOiA1MHB4IHNvbGlkICM2RkMzQTk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA1MHB4IHNvbGlkICM2RkMzQTk7XG4gICAgfVxuICAgICYuLWVsZWt0cml6aXRhZXQge1xuICAgICAgICBib3JkZXItdG9wOiA1MHB4IHNvbGlkICNDQ0Q3QzU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA1MHB4IHNvbGlkICNDQ0Q3QzU7XG4gICAgfVxuICAgICYuLWtvZXJwZXIge1xuICAgICAgICBib3JkZXItdG9wOiA1MHB4IHNvbGlkICNGNTZFOTQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA1MHB4IHNvbGlkICNGNTZFOTQ7XG4gICAgfVxuICAgICYuLXJvYm90aWsge1xuICAgICAgICBib3JkZXItdG9wOiA1MHB4IHNvbGlkICM4NzUyOUQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA1MHB4IHNvbGlkICM4NzUyOUQ7XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2UtYnJlYWstcG9pbnQpIHtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICB9XG5cblxufSIsIi50aGVtZS1pY29uIHtcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMHB4O1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuXG5cbn0iXX0= */
