/**
 * Based on BEMIT (BEM + ITCSS) for folder structure and naming convention
 * Use Dropbox styleguide as reference : https://github.com/dropbox/css-style-guide
 */

/**
 * Generic : Reset with sanitize.css
 */

/* Document
 * ========================================================================== */

/**
 * Add border box sizing in all browsers (opinionated).
 */

*,
::before,
::after {
  box-sizing: border-box;
}

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritance in all browsers (opinionated).
 */

::before,
::after {
  text-decoration: inherit; /* 1 */
  vertical-align: inherit; /* 2 */
}

/**
 * 1. Use the default cursor in all browsers (opinionated).
 * 2. Change the line height in all browsers (opinionated).
 * 3. Use a 4-space tab width in all browsers (opinionated).
 * 4. Remove the grey highlight on links in iOS (opinionated).
 * 5. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 * 6. Breaks words to prevent overflow in all browsers (opinionated).
 */

html {
  cursor: default; /* 1 */
  line-height: 1.5; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  -webkit-tap-highlight-color: transparent /* 4 */;
  -ms-text-size-adjust: 100%; /* 5 */
  -webkit-text-size-adjust: 100%; /* 5 */
  word-break: break-word; /* 6 */
}

/* Sections
 * ========================================================================== */

/**
 * Remove the margin in all browsers (opinionated).
 */

body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Edge, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
 * ========================================================================== */

/**
 * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
 */

dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
  margin: 0;
}

/**
 * Remove the margin on nested lists in Edge 18- and IE.
 */

ol ol,
ol ul,
ul ol,
ul ul {
  margin: 0;
}

/**
 * 1. Add the correct sizing in Firefox.
 * 2. Show the overflow in Edge 18- and IE.
 */

hr {
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * Add the correct display in IE.
 */

main {
  display: block;
}

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */

nav ol,
nav ul {
  list-style: none;
  padding: 0;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
 * ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * Add the correct text decoration in Edge 18-, IE, and Safari.
 */

abbr[title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/* Embedded content
 * ========================================================================== */

/*
 * Change the alignment on media elements in all browsers (opinionated).
 */

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/**
 * Add the correct display in IE 9-.
 */

audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */

audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on iframes in all browsers (opinionated).
 */

iframe {
  border-style: none;
}

/**
 * Remove the border on images within links in IE 10-.
 */

img {
  border-style: none;
}

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */

svg:not([fill]) {
  fill: currentColor;
}

/**
 * Hide the overflow in IE.
 */

svg:not(:root) {
  overflow: hidden;
}

/* Tabular data
 * ========================================================================== */

/**
 * Collapse border spacing in all browsers (opinionated).
 */

table {
  border-collapse: collapse;
}

/* Forms
 * ========================================================================== */

/**
 * Remove the margin on controls in Safari.
 */

button,
input,
select {
  margin: 0;
}

/**
 * 1. Show the overflow in IE.
 * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
 */

button {
  overflow: visible; /* 1 */
  text-transform: none; /* 2 */
}

/**
 * Correct the inability to style buttons in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * 1. Change the inconsistent appearance in all browsers (opinionated).
 * 2. Correct the padding in Firefox.
 */

fieldset {
  border: 1px solid #a0a0a0; /* 1 */
  padding: 0.35em 0.75em 0.625em; /* 2 */
}

/**
 * Show the overflow in Edge 18- and IE.
 */

input {
  overflow: visible;
}

/**
 * 1. Correct the text wrapping in Edge 18- and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 */

legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  white-space: normal; /* 1 */
}

/**
 * 1. Add the correct display in Edge 18- and IE.
 * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
 */

progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the inheritance of text transform in Firefox.
 */

select {
  text-transform: none;
}

/**
 * 1. Remove the margin in Firefox and Safari.
 * 2. Remove the default vertical scrollbar in IE.
 * 3. Change the resize direction in all browsers (opinionated).
 */

textarea {
  margin: 0; /* 1 */
  overflow: auto; /* 2 */
  resize: vertical; /* 3 */
}

/**
 * Remove the padding in IE 10-.
 */

[type="checkbox"],
[type="radio"] {
  padding: 0;
}

/**
 * 1. Correct the odd appearance in Chrome, Edge, and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */

::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
 * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 */

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style upload buttons in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Remove the inner border and padding of focus outlines in Firefox.
 */

::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus outline styles unset by the previous rule in Firefox.
 */

:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove the additional :invalid styles in Firefox.
 */

:-moz-ui-invalid {
  box-shadow: none;
}

/* Interactive
 * ========================================================================== */

/*
 * Add the correct display in Edge 18- and IE.
 */

details {
  display: block;
}

/*
 * Add the correct styles in Edge 18-, IE, and Safari.
 */

dialog {
  background-color: white;
  border: solid;
  color: black;
  display: block;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
}

dialog:not([open]) {
  display: none;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Scripting
 * ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */

canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */

template {
  display: none;
}

/* User interaction
 * ========================================================================== */

/*
 * 1. Remove the tapping delay in IE 10.
 * 2. Remove the tapping delay on clickable elements
      in all browsers (opinionated).
 */

a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] { /* 1 */
  touch-action: manipulation; /* 2 */
}

/**
 * Add the correct display in IE 10-.
 */

[hidden] {
  display: none;
}

/* Accessibility
 * ========================================================================== */

/**
 * Change the cursor on busy elements in all browsers (opinionated).
 */

[aria-busy="true"] {
  cursor: progress;
}

/*
 * Change the cursor on control elements in all browsers (opinionated).
 */

[aria-controls] {
  cursor: pointer;
}

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements in all browsers (opinionated).
 */

[aria-disabled="true"],
[disabled] {
  cursor: not-allowed;
}

/*
 * Change the display on visually hidden accessible elements
 * in all browsers (opinionated).
 */

[aria-hidden="false"][hidden] {
  display: inline;
  display: initial;
}

[aria-hidden="false"][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

/**
 * 1. Change the inconsistent appearance in all browsers (opinionated).
 * 2. Add typography inheritance in all browsers (opinionated).
 */

button,
input,
select,
textarea {
  background-color: transparent; /* 1 */
  border: 1px solid WindowFrame; /* 1 */
  color: inherit; /* 1 */
  font: inherit; /* 2 */
  letter-spacing: inherit; /* 2 */
  padding: 0.25em 0.375em; /* 1 */
}

/**
 * Change the inconsistent appearance in all browsers (opinionated).
 */

select {
  -moz-appearance: none;
  -webkit-appearance: none;
  background: no-repeat right center / 1em;
  border-radius: 0;
  padding-right: 1em;
}

/**
 * Change the inconsistent appearance in all browsers (opinionated).
 */

select:not([multiple]):not([size]) {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='4'%3E%3Cpath d='M4 0h6L7 4'/%3E%3C/svg%3E");
}

/**
 * Change the inconsistent appearance in IE (opinionated).
 */

::-ms-expand {
  display: none;
}

/**
 * Correct the inconsistent appearance in IE (opinionated).
 */

:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.54);
}

/**
 * Use the default user interface font in all browsers (opinionated).
 */

html {
  font-family:
    system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif,
     "Segoe UI",
     "Roboto",
     "Ubuntu",
     "Cantarell",
     "Noto Sans",
     sans-serif,
     "Apple Color Emoji",
     "Segoe UI Emoji",
     "Segoe UI Symbol",
     "Noto Color Emoji";
}

/**
 * Use the default monospace user interface font in all browsers (opinionated).
 */

code,
kbd,
samp,
pre {
  font-family:
    /* macOS 10.10+ */ "Menlo",
    /* Windows 6+ */ "Consolas",
    /* Android 4+ */ "Roboto Mono",
    /* Ubuntu 10.10+ */ "Ubuntu Monospace",
    /* KDE Plasma 5+ */ "Noto Mono",
    /* KDE Plasma 4+ */ "Oxygen Mono",
    /* Linux/OpenOffice fallback */ "Liberation Mono",
    /* fallback */ monospace,
    /* macOS emoji */ "Apple Color Emoji",
    /* Windows emoji */ "Segoe UI Emoji",
    /* Windows emoji */ "Segoe UI Symbol",
    /* Linux emoji */ "Noto Color Emoji";
}

/**
 * Settings
 */

/**
 * Core
 *
 * 1. The “scale ratio” for the theme. This value is the ratio between the
 *    h1 font size and the global-font-size. So if the scale ratio is 2
 *    and the global-font-size is 16px then the h1 font size is 32px.
 * 2. “rhythm unit” (i.e. the height of the base line height).
 */

@font-face {
  font-family: 'Marianne';
  src: url('../fonts/Marianne-Medium.woff2') format('woff2'), url('../fonts/Marianne-Medium.woff') format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Marianne';
  src: url('../fonts/Marianne-Bold.woff2') format('woff2'), url('../fonts/Marianne-Bold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Marianne';
  src: url('../fonts/Marianne-Light.woff2') format('woff2'), url('../fonts/Marianne-Light.woff') format('woff');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Marianne';
  src: url('../fonts/Marianne-BoldItalic.woff2') format('woff2'), url('../fonts/Marianne-BoldItalic.woff') format('woff');
  font-weight: bold;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Marianne';
  src: url('../fonts/Marianne-Regular.woff2') format('woff2'), url('../fonts/Marianne-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

:root {
  --global-font-family: 'Marianne', georgia, sans-serif;
  --global-headings-font-family: 'Marianne', apple-system, sans-serif;
  --global-font-size: 1rem;
  --global-line-height: 1.4;
  --global-scale-ratio: 3; /* [1] */
  --global-spacing-rhythm: 1;
}

/**
 * Colors
 */

:root {
  --color-gray: #808080;

  --color-primary: #142a64;
  --color-primary-light: #4aa4e7;
  --color-primary-lighter: #daeef8;
  --color-secondary: #72e48e;
  --color-success: #28a745;
  --color-danger: #dc3545;
  --color-info: #17a2b8;
}

/**
 * Spacing
 */

:root {
  --spacing-baseline: 6px;

  --spacing-unit-factor-xs: 1;
  --spacing-unit-factor-sm: 2;
  --spacing-unit-factor: 4;
  --spacing-unit-factor-lg: 8;
  --spacing-unit-factor-xl: 16;

  --spacing-unit: calc(var(--spacing-baseline) * var(--spacing-unit-factor));
  --spacing-unit-xs: calc(var(--spacing-baseline) * var(--spacing-unit-factor-xs));
  --spacing-unit-sm: calc(var(--spacing-baseline) * var(--spacing-unit-factor-sm));
  --spacing-unit-lg: calc(var(--spacing-baseline) * var(--spacing-unit-factor-lg));
  --spacing-unit-xl: calc(var(--spacing-baseline) * var(--spacing-unit-factor-xl));
}

/**
 * Media queries
 */

/**
 * Custom media queries
 *
 * 0. xs : 23.4375em - 375px
 * 1. sm : 36em - 576px
 * 2. md : 48em - 768px
 * 3. lg : 64em - 1024px
 * 4. xl : 85em - 1360px
 * 5. xxl : 100em - 1600px
 */

/* [0] */

/* [1] */

/* [2] */

/* [3] */

/* [4] */

/* [5] */

/**
 * Grid
 */

:root {
  --grid-width-sm: 546px;
  --grid-width-md: 700px;
  --grid-width-lg: 992px;
  --grid-width-xl: 1200px;

  --grid-gutter: 40px;
}

/**
 * Icons template to build icon font utility classes in _fonts.css
 */

@font-face {
	font-family: "icons";
	src: url('../fonts/icons.eot');
	src: url('../fonts/icons.eot?#iefix') format('eot'),
		url('../fonts/icons.woff2') format('woff2'),
		url('../fonts/icons.woff') format('woff'),
		url('../fonts/icons.ttf') format('truetype'),
		url('../fonts/icons.svg#icons') format('svg');
}

[class*="o-icon"] {
	line-height: 1;
}

[class*="o-icon-"]::before {
	font-family: "icons";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-style: normal;
	font-feature-settings: normal;
	font-variant: normal;
	font-weight: normal;
	line-height: 1;
	speak: none;
	display: inline-block;
	vertical-align: middle;
	text-decoration: inherit;
	text-transform: none;
}

.o-icon-facebook::before {
	content: "\E001";
}

.o-icon-linkedin::before {
	content: "\E002";
}

.o-icon-nav::before {
	content: "\E003";
}

.o-icon-scroll::before {
	content: "\E004";
}

.o-icon-twitter::before {
	content: "\E005";
}

.o-icon-youtube::before {
	content: "\E006";
}

/**
 * Mixins
 */

/**
 * Elements
 */

/**
 * Page
 */

/**
 * Simple page-level setup.
 *
 * 1. Force scrollbars to always be visible to prevent awkward ‘jumps’ when
 *    navigating between pages that do/do not have enough content to produce
 *    scrollbars naturally.
 * 2. Ensure the page always fills at least the entire height of the viewport.
 * 3. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  color: #808080;
  color: var(--color-gray);
  font-size: 1rem;
  font-size: var(--global-font-size);
  font-family: 'Marianne', georgia, sans-serif;
  font-family: var(--global-font-family);
  line-height: 1.4;
  line-height: var(--global-line-height);
  overflow-y: scroll; /* [1] */
  min-height: 100%; /* [2] */
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%; /* [3] */
  -webkit-font-smoothing: antialiased;
}

/**
 * Typography
 */

/* Global */

p,
ul,
ol,
dl,
blockquote {
  margin: 0 0 calc(1rem * 1.4 * 1);
  margin: 0 0 calc(var(--global-font-size) * var(--global-line-height) * var(--global-spacing-rhythm));
}

/* Headings */

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.2;
  font-family: 'Marianne', apple-system, sans-serif;
  font-family: var(--global-headings-font-family);
  margin: 0 0 calc(1rem * 1.4 * 1 / 2);
  margin: 0 0 calc(var(--global-font-size) * var(--global-line-height) * var(--global-spacing-rhythm) / 2);
}

h1 {
  font-size: calc(1rem * 3);
  font-size: calc(var(--global-font-size) * var(--global-scale-ratio));
}

h2,
.u-h2 {
  font-size: 1.75rem;
  margin-bottom: 20px;
  font-weight: 500;
  color: #142a64;
  color: var(--color-primary);
  text-transform: uppercase;
}

@media (min-width: 48em) {

h2,
.u-h2 {
    margin-bottom: 30px;
    font-size: 2.125rem
}
  }

@media (min-width: 64em) {

h2,
.u-h2 {
    font-size: 2.875rem
}
  }

h3 {
  font-size: calc(1rem * 3 * 0.65);
  font-size: calc(var(--global-font-size) * var(--global-scale-ratio) * 0.65);
}

h4 {
  font-size: calc(1rem * 3 * 0.5);
  font-size: calc(var(--global-font-size) * var(--global-scale-ratio) * 0.5);
}

h5 {
  font-size: calc(1rem * 3 * 0.44);
  font-size: calc(var(--global-font-size) * var(--global-scale-ratio) * 0.44);
}

h6 {
  font-size: calc(1rem * 3 * 0.4);
  font-size: calc(var(--global-font-size) * var(--global-scale-ratio) * 0.4);
}

/* Lists */

ul,
ol {
  padding-left: 0;
  margin-left: calc(1rem * 1.4 * 1);
  margin-left: calc(var(--global-font-size) * var(--global-line-height) * var(--global-spacing-rhythm));
}

ul ul,
  ul ol,
  ol ul,
  ol ol {
    margin-top: calc(1rem * 1.4 * 1 / 2);
    margin-top: calc(var(--global-font-size) * var(--global-line-height) * var(--global-spacing-rhythm) / 2);
    margin-bottom: calc(1rem * 1.4 * 1 / 2);
    margin-bottom: calc(var(--global-font-size) * var(--global-line-height) * var(--global-spacing-rhythm) / 2);
    margin-left: calc(1rem * 1.4 * 1);
    margin-left: calc(var(--global-font-size) * var(--global-line-height) * var(--global-spacing-rhythm));
  }

/* Blockquotes */

blockquote {
  margin-left: calc(1rem * 1.4 * 1);
  margin-left: calc(var(--global-font-size) * var(--global-line-height) * var(--global-spacing-rhythm));
}

/* Links */

a {
  color: currentColor;
  transition: color 0.3s ease;
}

a:hover,
  a:focus {
    text-decoration: none;
  }

/**
 * Table
 */

table {
  width: 100%;
}

/**
 * Images
 */

img {
  max-width: 100%;
}

img[height] {
    height: auto;
  }

/**
 * Forms
 *
 * Use :focus-visible polyfill to detect focus by keyboard
 * https://www.npmjs.com/package/focus-visible
 */

button {
  border: 0;
  cursor: pointer;
}

.js-focus-visible :focus:not(.focus-visible) {
  outline: none;
}

/**
 * Objects
 */

/**
 * Wrapper
 */

.o-wrapper {
  width: 100%;
  padding: 0 calc(40px / 2);
  padding: 0 calc(var(--grid-gutter) / 2);
}

@media (min-width: 36em) {

.o-wrapper {
    width: 546px;
    width: var(--grid-width-sm);
    margin: 0 auto;
    padding: 0
}
  }

@media (min-width: 48em) {

.o-wrapper {
    width: 700px;
    width: var(--grid-width-md)
}
  }

@media (min-width: 64em) {

.o-wrapper {
    width: 992px;
    width: var(--grid-width-lg)
}
  }

@media (min-width: 85em) {

.o-wrapper {
    width: 1200px;
    width: var(--grid-width-xl)
}
  }

/**
 * Icon
 *
 * Define 1em size for the icon, allowing to be controlled with font-size
 * https://css-tricks.com/control-icons-with-font-size/
 *
 * 1. Use the .o-icon__stroke on paths having a stroke color
 */

.o-icon {
  width: 1em;
  height: 1em;
}

.o-icon__stroke {
    stroke: currentColor; /* [1] */
  }

/**
 * Vendors
 */

/* Slider */

.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0;
}

.slick-list:focus {
        outline: none;
    }

.slick-list.dragging {
        cursor: pointer;
        cursor: hand;
    }

.slick-slider .slick-track,
.slick-slider .slick-list {
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.slick-track:before,
    .slick-track:after {
        content: "";
        display: table;
    }

.slick-track:after {
        clear: both;
    }

.slick-loading .slick-track {
        visibility: hidden;
    }

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;

    display: none;
}

[dir="rtl"] .slick-slide {
        float: right;
    }

.slick-slide img {
        display: block;
    }

.slick-slide.slick-loading img {
        display: none;
    }

.slick-slide.dragging img {
        pointer-events: none;
    }

.slick-initialized .slick-slide {
        display: block;
    }

.slick-loading .slick-slide {
        visibility: hidden;
    }

.slick-vertical .slick-slide {
        display: block;
        height: auto;
        border: 1px solid transparent;
    }

.slick-arrow.slick-hidden {
    display: none;
}

/**
 * Components
 */

/**
 * Cover
 */

.c-cover {
  color: #fff;
  text-align: center;
  text-transform: uppercase;
  background: url(../img/bg-cover.jpg) center center no-repeat;
  background-size: cover;
}

.c-cover__content {
    width: 100%;
    min-height: 100vh;
    display: flex;
    padding-top: 96px;
    align-items: center;
    justify-content: center;
  }

@media (min-width: 48em) {

.c-cover__content {
      padding-top: 160px
  }
    }

.c-cover__inner {
    position: relative;
  }

.c-cover__scroll {
    width: 56px;
    height: 56px;
    padding: 0;
    position: relative;
    font-size: 1.5rem;
    border-radius: 50%;
    border: 1px solid #fff;
    margin-top: 20px;
    transition: all 0.3s ease;
  }

@media (min-width: 48em) {

.c-cover__scroll {
      margin-top: 30px;
      width: 72px;
      height: 72px;
      font-size: 2rem
  }
    }

@media (min-width: 64em) {

.c-cover__scroll {
      width: 100px;
      height: 100px;
      font-size: 2.875rem;
      border-width: 2px
  }
    }

@media (any-hover: hover) {
      .c-cover__scroll:hover {
        color: #142a64;
        color: var(--color-primary);
        background-color: #fff;
      }
    }

.c-cover__scroll i {
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
    }

.c-cover__title {
    font-size: 2rem;
    margin-bottom: 10px;
  }

@media (min-width: 48em) {

.c-cover__title {
      margin-bottom: 20px;
      font-size: 3.125rem
  }
    }

@media (min-width: 64em) {

.c-cover__title {
      font-size: 4.5rem
  }
    }

.c-cover__info {
    line-height: 1.2;
    font-size: 1.25rem;
  }

@media (min-width: 48em) {

.c-cover__info {
      font-size: 2rem
  }
    }

@media (min-width: 64em) {

.c-cover__info {
      font-size: 2.875rem
  }
    }

/**
 * Header
 */

.c-header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 1000;
  border-bottom: 1px solid #fff;
  transition: background 0.3s ease, box-shadow 0.3s ease;
}

.show-nav .c-header,
  .is-scrolled .c-header {
    background-color: #fff;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.08);
  }

.c-header__content {
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

@media (min-width: 64em) {

.c-header__content {
      padding: 30px 40px
  }
    }

.c-header__logos {
    display: flex;
    align-items: center;
  }

@media (min-width: 48em) {

.c-header__logos {
      margin-right: 30px
  }
    }

.c-header__pfue {
    margin-left: 20px;
    overflow: hidden;
    transform: all 0.3s ease;
  }

@media (min-width: 48em) {

.c-header__pfue {
      margin-left: 30px
  }
    }

.c-header__pfue img {
      height: 56px;
      width: auto;
    }

@media (min-width: 48em) {

.c-header__pfue img {
        height: 80px
    }
      }

@media (min-width: 64em) {

.c-header__pfue img {
        height: 120px
    }
      }

.is-scrolled .c-header__pfue {
      opacity: 0;
      height: 0;
      width: 0;
      margin: 0;
    }

.c-header__logo {
    display: block;
    width: 56px;
    transition: all 0.3s ease;
  }

@media (min-width: 48em) {

.c-header__logo {
      width: 80px
  }

      .is-scrolled .c-header__logo {
        width: 56px;
      }
    }

@media (min-width: 64em) {

.c-header__logo {
      width: 120px
  }
    }

.c-header__logo svg {
      display: block;
      width: 100%;
      height: auto;
    }

body:not(.show-nav):not(.is-scrolled) .c-header__logo path {
        fill: #fff;
      }

.c-header__toggle {
    width: 28px;
    height: 28px;
    position: relative;
  }

@media (min-width: 64em) {

.c-header__toggle {
      display: none
  }
    }

.c-header__toggle span {
      display: block;
      width: 28px;
      height: 2px;
      background-color: #fff;
      position: absolute;
      left: 2px;
      top: 50%;
      border-radius: 2px;
      margin-top: -1px;
      transition: background 0.3s ease;
    }

.c-header__toggle span::before,
      .c-header__toggle span::after {
        content: '';
        display: block;
        width: 28px;
        height: 2px;
        border-radius: 2px;
        background-color: #fff;
        position: absolute;
        top: -7px;
        transition: top 0.3s 0.3s ease, background-color 0.3s ease, transform 0.3s ease;
      }

.c-header__toggle span::after {
        top: 7px;
      }

.is-scrolled .c-header__toggle span {
        background-color: #142a64;
        background-color: var(--color-primary);
      }

.is-scrolled .c-header__toggle span::before,
        .is-scrolled .c-header__toggle span::after {
          background-color: #142a64;
          background-color: var(--color-primary);
        }

.show-nav .c-header__toggle span {
        transition: background 0.3s ease;
        background: transparent;
      }

.show-nav .c-header__toggle span::before,
        .show-nav .c-header__toggle span::after {
          top: 0;
          background-color: #142a64;
          background-color: var(--color-primary);
          transition: top 0.3s ease, background-color 0.3s ease, transform 0.3s 0.3s ease;
        }

.show-nav .c-header__toggle span::before {
          transform: rotate(45deg);
        }

.show-nav .c-header__toggle span::after {
          transform: rotate(-45deg);
        }

/**
 * Nav
 */

.c-nav {
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  padding: 20px;
  font-size: 1.125rem;
  color: #142a64;
  color: var(--color-primary);
  height: calc(100vh - 96px);
  background-color: #fff;
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
}

@media (min-width: 64em) {

.c-nav {
    flex: 1;
    position: static;
    width: auto;
    padding: 0;
    height: auto;
    background-color: transparent;
    opacity: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    visibility: visible;
    transform: none
}
  }

.show-nav .c-nav {
    opacity: 1;
    visibility: visible;
    transform: none;
  }

.c-nav__menu {
    list-style: none;
    padding: 0;
    margin: 0;
  }

.c-nav__menu li {
    margin-bottom: 0;
  }

.c-nav__menu {
    font-weight: bold;
    margin-bottom: 40px;
  }

@media (min-width: 64em) {

.c-nav__menu {
      margin: 0;
      display: flex
  }
    }

.c-nav__menu li {
      margin-bottom: 10px;
    }

@media (min-width: 64em) {

.c-nav__menu li {
        margin: 0 30px 0 0;
        position: relative
    }

        .c-nav__menu li::after {
          content: '';
          display: block;
          width: 100%;
          height: 2px;
          position: absolute;
          left: 0;
          top: 100%;
          transform: translateY(4px);
          opacity: 0;
          transition: all 0.3s ease;
          background-color: #72e48e;
          background-color: var(--color-secondary);
        }
          .c-nav__menu li.is-active::after {
            opacity: 1;
            transform: none;
          }
      }

.c-nav__menu a {
      text-decoration: none;
    }

@media (min-width: 64em) {

.c-nav__menu a {
        color: #fff
    }

        .is-scrolled .c-nav__menu a {
          color: #142a64;
          color: var(--color-primary);
        }
      }

.c-nav__lang {
    list-style: none;
    padding: 0;
    margin: 0;
  }

.c-nav__lang li {
    margin-bottom: 0;
  }

.c-nav__lang {
    font-weight: bold;
    display: flex;
  }

.c-nav__lang li {
      margin-right: 10px;
    }

.c-nav__lang a,
    .c-nav__lang span {
      text-decoration: none;
      position: relative;
      width: 46px;
      height: 46px;
      display: flex;
      z-index: 10;
      align-items: center;
      justify-content: center;
      transition: color 0.3s ease;
    }

@media (min-width: 64em) {

.c-nav__lang a,
    .c-nav__lang span {
        color: #fff
    }

        .is-scrolled .c-nav__lang a, .is-scrolled .c-nav__lang span {
          color: #142a64;
          color: var(--color-primary);
        }
      }

.c-nav__lang a::before, .c-nav__lang span::before {
        content: '';
        display: block;
        width: 100%;
        height: 100%;
        z-index: -1;
        position: absolute;
        left: 0;
        top: 0;
        border-radius: 50%;
        border: 1px solid #142a64;
        border: 1px solid var(--color-primary);
      }

@media (min-width: 64em) {

.c-nav__lang a::before, .c-nav__lang span::before {
          border-color: #fff
      }

          .is-scrolled .c-nav__lang a::before, .is-scrolled .c-nav__lang span::before {
            border-color: #142a64;
            border-color: var(--color-primary);
          }
        }

.c-nav__lang a::before {
        opacity: 0;
        transition: opacity 0.3s ease;
      }

@media (any-hover: hover) {
          .c-nav__lang a:hover::before {
            opacity: 1;
          }
      }

/**
 * Pres
 */

.c-pres {
  color: #fff;
  padding: 40px 0;
  background-color: #142a64;
  background-color: var(--color-primary);
}

@media (min-width: 48em) {

.c-pres {
    padding: 80px 0
}
  }

.c-pres--first {
    padding-top: 140px;
  }

@media (min-width: 48em) {

.c-pres--first {
      padding-top: 180px
  }
    }

@media (min-width: 64em) {

.c-pres--first {
      padding-top: 300px
  }
    }

.c-pres__title {
    font-weight: 300;
    color: #72e48e;
    color: var(--color-secondary);
  }

.c-pres__title strong {
      color: #fff;
      display: block;
      font-weight: 500;
    }

@media (min-width: 48em) {

.c-pres__content {
      -moz-columns: 2;
           columns: 2;
      -moz-column-gap: 40px;
           grid-column-gap: 40px;
           column-gap: 40px
  }
    }

@media (min-width: 64em) {

.c-pres__content {
      font-size: 1.125rem
  }
    }

.c-pres--first .c-pres__content {
      font-size: 1.125rem;
    }

@media (min-width: 48em) {

.c-pres--first .c-pres__content {
        -moz-columns: 1;
             columns: 1
    }
      }

@media (min-width: 64em) {

.c-pres--first .c-pres__content {
        font-size: 1.375rem
    }
      }

/**
 * Program
 */

.c-program {
  padding: 40px 0;
}

@media (min-width: 48em) {

.c-program {
    padding: 80px 0
}
  }

.c-program__head {
    margin-bottom: 40px;
  }

@media (min-width: 48em) {

.c-program__head {
      display: flex;
      align-items: center;
      justify-content: space-between
  }
    }

@media (min-width: 48em) {

.c-program__head h2 {
        margin-bottom: 0
    }
      }

.c-program__nav {
    margin: 0 -20px 40px 0;
    overflow: scroll;
  }

@media (min-width: 36em) {

.c-program__nav {
      margin-right: calc((100vw - 546px) / -2);
      margin-right: calc((100vw - var(--grid-width-sm)) / -2)
  }
    }

@media (min-width: 48em) {

.c-program__nav {
      overflow: visible;
      margin-right: 0
  }
    }

.c-program__nav ol {
      list-style: none;
      padding: 0;
      margin: 0;
    }

.c-program__nav ol li {
    margin-bottom: 0;
  }

.c-program__nav ol {
      display: flex;
    }

@media (min-width: 48em) {

.c-program__nav ol {
        justify-content: space-between
    }
      }

.c-program__nav li {
      padding-right: 20px;
    }

@media (min-width: 48em) {

.c-program__nav li {
        padding-right: 0
    }
      }

.c-program__nav li.is-active button {
          color: #fff;
          background-color: #142a64;
          background-color: var(--color-primary);
        }

.c-program__nav button {
      color: #999;
      height: 36px;
      font-weight: bold;
      border-radius: 20px;
      min-width: 200px;
      text-align: center;
      background-color: #e6e6e6;
      transition: all 0.3s ease;
    }

@media (min-width: 64em) {

.c-program__nav button {
        height: 40px;
        font-size: 1.125rem;
        min-width: 260px
    }
      }

@media (min-width: 85em) {

.c-program__nav button {
        min-width: 300px
    }
      }

@media (any-hover: hover) {
        .c-program__nav button:hover {
          color: #fff;
          background-color: #142a64;
          background-color: var(--color-primary);
        }
      }

.c-program__title {
    font-size: 1.5rem;
    color: #142a64;
    color: var(--color-primary);
    font-weight: 300;
    text-transform: uppercase;
  }

@media (min-width: 48em) {

.c-program__title {
      font-size: 1.75rem;
      margin-bottom: 30px
  }
    }

@media (min-width: 64em) {

.c-program__title {
      font-size: 2rem
  }
    }

.c-program__lunch {
    font-size: 1.375rem;
    margin-bottom: 20px;
    line-height: 1.2;
    padding: 10px 0;
    text-transform: uppercase;
    color: #142a64;
    color: var(--color-primary);
    border-top: 1px solid #142a64;
    border-top: 1px solid var(--color-primary);
    border-bottom: 1px solid #142a64;
    border-bottom: 1px solid var(--color-primary);
  }

@media (min-width: 48em) {

.c-program__lunch {
      margin-bottom: 40px
  }
    }

@media (min-width: 85em) {

.c-program__lunch {
      font-size: 1.5rem
  }
    }

.c-program__slider {
    margin: 0 -10px;
    position: relative;
  }

.c-program__slide {
    padding: 0 10px;
  }

@media (min-width: 48em) {

.c-program__row {
      display: flex;
      flex-flow: row wrap
  }
    }

.c-program__row + .c-program__row {
      padding-top: 20px;
      border-top: 1px solid #142a64;
      border-top: 1px solid var(--color-primary);
    }

@media (min-width: 48em) {

.c-program__row + .c-program__row {
        padding-top: 40px
    }
      }

.c-program__row--bg {
      min-height: 280px;
      padding: 20px 20px 1px;
      background: #daeef8;
      background: var(--color-primary-lighter);
    }

@media (min-width: 48em) {

.c-program__row--bg {
        min-height: 360px
    }
      }

@media (min-width: 85em) {

.c-program__row--bg {
        min-height: 440px
    }
      }

@media (min-width: 48em) {

.c-program__col {
      flex-grow: 0;
      flex-shrink: 0;
      flex-basis: calc(99.9% * 6/12 - (40px - 40px * 6/12));
      max-width: calc(99.9% * 6/12 - (40px - 40px * 6/12));
      width: calc(99.9% * 6/12 - (40px - 40px * 6/12))
  }

.c-program__col:nth-child(1n) {
      margin-right: 40px;
      margin-left: 0
  }

.c-program__col:last-child {
      margin-right: 0
  }

.c-program__col:nth-child(12n) {
      margin-right: 0;
      margin-left: auto
  }
    }

@media (min-width: 85em) {

.c-program__col {
      flex-grow: 0;
      flex-shrink: 0;
      flex-basis: calc(99.9% * 6/12 - (80px - 80px * 6/12));
      max-width: calc(99.9% * 6/12 - (80px - 80px * 6/12));
      width: calc(99.9% * 6/12 - (80px - 80px * 6/12))
  }

.c-program__col:nth-child(1n) {
      margin-right: 80px;
      margin-left: 0
  }

.c-program__col:last-child {
      margin-right: 0
  }

.c-program__col:nth-child(2n) {
      margin-right: 0;
      margin-left: auto
  }
    }

.c-program .slick-arrow {
    display: none;
  }

@media (min-width: 85em) {

.c-program .slick-arrow {
      display: block;
      padding: 80px 0 0 40px;
      width: 0;
      height: 0;
      overflow: hidden;
      position: absolute;
      left: -50px;
      top: 50%;
      z-index: 100;
      color: #142a64;
      color: var(--color-primary);
      transition: all 0.3s ease
  }

      .c-program .slick-arrow::after {
        font-family: "icons";
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-style: normal;
        font-feature-settings: normal;
        font-variant: normal;
        font-weight: normal;
        line-height: 1;
        speak: none;
        display: inline-block;
        vertical-align: middle;
        text-decoration: inherit;
        text-transform: none;
        font-family: "icons";
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-style: normal;
        font-variant: normal;
        font-weight: normal;
        line-height: 1;
        speak: none;
        display: inline-block;
        vertical-align: middle;
        text-decoration: inherit;
        text-transform: none;
        content: "\E003";
        font-size: 5rem;
        position: absolute;
        left: -20px;
        top: 0;
        transform: rotate(180deg);
      }

      .c-program .slick-arrow.slick-disabled {
        opacity: 0.5;
      }

      .c-program .slick-arrow.slick-next {
        left: auto;
        right: -50px;
      }

        .c-program .slick-arrow.slick-next::after {
          transform: none;
        }
    }

.slick-dots {
  list-style: none;
  padding: 0;
  margin: 0;
}

.slick-dots li {
    margin-bottom: 0;
  }

.slick-dots {
  display: flex;
  justify-content: center;
}

.slick-dots li {
    margin: 0 10px;
  }

.slick-dots li.slick-active button {
        transform: scale(1.4);
      }

.slick-dots button {
    display: block;
    padding: 20px 0 0 20px;
    width: 0;
    height: 0;
    border-radius: 50%;
    overflow: hidden;
    background-color: #142a64;
    background-color: var(--color-primary);
    transition: all 0.3s ease;
  }

@media (any-hover: hover) {
      .slick-dots button:hover {
        transform: scale(1.4);
      }
    }

/**
 * Btn
 */

.c-btn {
  color: #fff;
  font-weight: bold;
  padding: 0 12px;
  display: inline-flex;
  font-size: 1rem;
  height: 36px;
  line-height: 1.2;
  align-items: center;
  text-align: center;
  border-radius: 20px;
  text-transform: uppercase;
  text-decoration: none;
  background-color: #72e48e;
  background-color: var(--color-secondary);
  transition: background 0.3s ease;
}

@media (any-hover: hover) {
    .c-btn:hover {
      background-color: #142a64;
      background-color: var(--color-primary);
    }
  }

@media (min-width: 48em) {

.c-btn {
    font-size: 1.125rem;
    height: 36px;
    padding: 0 20px
}
  }

@media (min-width: 64em) {

.c-btn {
    font-size: 1.25rem;
    height: 40px
}
  }

/**
 * Event
 */

.c-event {
  margin-bottom: 20px;
}

@media (min-width: 48em) {

.c-event {
    margin-bottom: 40px
}
  }

.c-event + .c-event {
    padding-top: 20px;
    border-top: 1px solid #142a64;
    border-top: 1px solid var(--color-primary);
  }

@media (min-width: 48em) {

.c-event + .c-event {
      padding-top: 40px
  }
    }

.c-event__metas {
    margin-bottom: 20px;
    display: flex;
    align-items: center;
  }

.c-event__hours {
    color: #fff;
    display: inline-block;
    padding: 4px 12px;
    margin-right: 12px;
    background-color: #142a64;
    background-color: var(--color-primary);
  }

.c-event--forum .c-event__hours {
      background-color: #72e48e;
      background-color: var(--color-secondary);
    }

.c-program__row--bg .c-event__hours {
      color: #fff;
      background-color: #4aa4e7;
      background-color: var(--color-primary-light);
    }

.c-event--light .c-event__hours {
      color: #fff;
      background-color: #4aa4e7;
      background-color: var(--color-primary-light);
    }

.c-event__tag {
    color: #142a64;
    color: var(--color-primary);
    text-transform: uppercase;
  }

.c-event--forum .c-event__tag {
      color: #72e48e;
      color: var(--color-secondary);
    }

.c-event__title {
    font-size: 1.375rem;
    color: #142a64;
    color: var(--color-primary);
  }

@media (min-width: 85em) {

.c-event__title {
      font-size: 1.5rem
  }
    }

.c-program__row--bg .c-event__title {
      color: #4aa4e7;
      color: var(--color-primary-light);
    }

.c-event--forum .c-event__title {
      color: #72e48e;
      color: var(--color-secondary);
    }

.c-event--light .c-event__title {
      color: #4aa4e7;
      color: var(--color-primary-light);
    }

/**
 * Signup
 */

.c-signup {
  padding: 40px 0;
  background-color: #f2f2f2;
}

@media (min-width: 48em) {

.c-signup {
    padding: 80px 0
}
  }

.c-signup__content {
    font-size: 1.125rem;
    margin-bottom: 40px;
  }

@media (min-width: 48em) {

.c-signup__content {
      margin-bottom: 80px
  }
    }

@media (min-width: 64em) {

.c-signup__content {
      font-size: 1.375rem
  }
    }

.c-signup__opening {
    text-align: center;
    font-size: 1.5rem;
    font-weight: bold;
    color: #142a64;
    color: var(--color-primary);
  }

@media (min-width: 48em) {

.c-signup__opening {
      font-size: 1.75rem;
      margin-bottom: 30px
  }
    }

@media (min-width: 64em) {

.c-signup__opening {
      font-size: 2rem
  }
    }

.c-signup__btns {
    text-align: center;
  }

.c-signup__btn {
    color: #000;
    height: 40px;
    line-height: 1.1;
    font-size: 1.125rem;
    display: inline-flex;
    align-items: center;
    padding: 0 16px;
    border-radius: 40px;
    font-weight: bold;
    text-decoration: none;
    margin: 0 10px 20px;
    border: 1px solid #142a64;
    border: 1px solid var(--color-primary);
    transition: background 0.3s ease, color 0.3s ease;
  }

@media (any-hover: hover) {
      .c-signup__btn:hover {
        color: #fff;
        background-color: #142a64;
        background-color: var(--color-primary);
      }
    }

@media (min-width: 48em) {

.c-signup__btn {
      font-size: 1.5rem;
      height: 52px
  }
    }

@media (min-width: 64em) {

.c-signup__btn {
      height: 60px;
      font-size: 1.75rem;
      margin: 0 20px 0;
      padding: 0 30px
  }
    }

/**
 * Logos
 */

.c-logos {
  padding: 30px 0;
  text-align: center;
}

.c-logos__content {
    display: flex;
    align-items: center;
  }

.c-logos__f22 {
    width: 100px;
    margin-bottom: 30px;
  }

@media (min-width: 48em) {

.c-logos__f22 {
      margin: 0
  }
    }

.c-logos__gvt {
    width: 140px;
    margin-right: 20px;
  }

@media (min-width: 48em) {

.c-logos__gvt {
      width: 220px;
      margin-right: 40px
  }
    }

.c-logos__last {
    width: 100px;
  }

@media (min-width: 48em) {

.c-logos__last {
      width: 140px
  }
    }

/**
 * Footer
 */

.c-footer {
  color: #fff;
}

.c-footer__top {
    padding: 40px 0;
    background-color: #142a64;
    background-color: var(--color-primary);
  }

@media (min-width: 48em) {

.c-footer__top {
      padding: 80px 0
  }
    }

.c-footer__btm {
    font-size: 0.75rem;
    padding: 20px 0;
    background-color: #232e4d;
  }

@media (min-width: 64em) {

.c-footer__btm {
      font-size: 0.875rem
  }
    }

@media (min-width: 64em) {

.c-footer__content {
      display: flex;
      flex-flow: row wrap
  }
    }

.c-footer__links {
    list-style: none;
    padding: 0;
    margin: 0;
  }

.c-footer__links li {
    margin-bottom: 0;
  }

.c-footer__links {
    font-weight: bold;
    text-transform: uppercase;
    font-size: 1.125rem;
    margin-bottom: 40px;
  }

@media (min-width: 64em) {

.c-footer__links {
      font-size: 1.5rem;
      flex-grow: 0;
      flex-shrink: 0;
      flex-basis: calc(99.9% * 4/12 - (40px - 40px * 4/12));
      max-width: calc(99.9% * 4/12 - (40px - 40px * 4/12));
      width: calc(99.9% * 4/12 - (40px - 40px * 4/12))
  }

.c-footer__links:nth-child(1n) {
      margin-right: 40px;
      margin-left: 0
  }

.c-footer__links:last-child {
      margin-right: 0
  }

.c-footer__links:nth-child(12n) {
      margin-right: 0;
      margin-left: auto
  }
    }

.c-footer__links li {
      margin-bottom: 10px;
    }

@media (min-width: 48em) {

.c-footer__links li {
        margin-bottom: 20px
    }
      }

.c-footer__links a {
      text-decoration: none;
    }

@media (any-hover: hover) {
        .c-footer__links a:hover {
          text-decoration: underline;
        }
      }

@media (min-width: 64em) {

.c-footer__nl {
      flex-grow: 0;
      flex-shrink: 0;
      flex-basis: calc(99.9% * 8/12 - (40px - 40px * 8/12));
      max-width: calc(99.9% * 8/12 - (40px - 40px * 8/12));
      width: calc(99.9% * 8/12 - (40px - 40px * 8/12))
  }

.c-footer__nl:nth-child(1n) {
      margin-right: 40px;
      margin-left: 0
  }

.c-footer__nl:last-child {
      margin-right: 0
  }

.c-footer__nl:nth-child(12n) {
      margin-right: 0;
      margin-left: auto
  }
    }

/**
 * NL
 */

.forms-builder-wrapper .title {
    font-size: 1.25rem;
    margin-bottom: 10px;
  }

@media (min-width: 64em) {

.forms-builder-wrapper .title {
      font-size: 1.625rem;
      margin-bottom: 20px
  }
    }

.forms-builder-wrapper .description.editable {
    margin-bottom: 20px;
  }

@media (min-width: 64em) {

.forms-builder-wrapper .description.editable {
      margin-bottom: 30px
  }
    }

.forms-builder-wrapper .lbl-tinyltr {
    font-size: 0.75rem;
  }

@media (min-width: 64em) {

.forms-builder-wrapper .lbl-tinyltr {
      font-size: 0.875rem
  }
    }

.forms-builder-wrapper .nl-form-inline {
    display: flex;
    margin-bottom: 20px;
  }

@media (min-width: 64em) {

.forms-builder-wrapper .nl-form-inline {
      margin-bottom: 30px
  }
    }

.forms-builder-wrapper .nl-form-inline input[type='email'] {
      height: 42px;
      padding: 0 12px;
      background-color: #fff;
      border: 0;
      flex: 1;
      font-size: 1rem;
      font-style: italic;
      margin-right: 10px;
      color: #142a64;
      color: var(--color-primary);
    }

.forms-builder-wrapper .nl-form-inline .button {
      font-size: 0.875rem;
      padding: 0 25px;
      height: 42px;
      font-weight: bold;
      text-transform: uppercase;
      color: #142a64;
      color: var(--color-primary);
      background-color: #72e48e;
      background-color: var(--color-secondary);
      transition: all 0.3s ease;
    }

@media (any-hover: hover) {
        .forms-builder-wrapper .nl-form-inline .button:hover {
          background-color: #4aa4e7;
          background-color: var(--color-primary-light);
        }
      }

/**
 * Events
 */

.c-events {
  padding: 40px 0;
  background-color: #f2f2f2;
}

@media (min-width: 48em) {

.c-events {
    padding: 80px 0
}
  }

.c-events__box {
    color: #142a64;
    color: var(--color-primary);
    padding: 20px;
    margin-bottom: 20px;
    background-color: #fff;
  }

@media (min-width: 48em) {

.c-events__box {
      padding: 40px;
      margin-bottom: 40px
  }
    }

.c-events h2 {
    text-transform: none;
    font-size: 1.25rem;
  }

@media (min-width: 48em) {

.c-events h2 {
      font-size: 1.625rem
  }
    }

@media (min-width: 64em) {

.c-events h2 {
      font-size: 2.25rem
  }
    }

.c-events__tag {
    color: #fff;
    display: inline-block;
    padding: 4px 12px;
    margin-bottom: 4px;
    background-color: #72e48e;
    background-color: var(--color-secondary);
  }

.c-events a {
    font-weight: bold;
  }

/**
 * Partners
 */

.c-partners {
  padding: 30px 0;
}

.c-partners h2 {
    font-size: 1.125rem;
  }

@media (min-width: 48em) {

.c-partners h2 {
      font-size: 1.5rem
  }
    }

@media (min-width: 64em) {

.c-partners h2 {
      font-size: 2rem
  }
    }

.c-partners .slick-track {
    display: flex;
    align-items: center;
  }

.c-partners__slider {
    padding: 0 30px;
    position: relative;
    margin: 0 -10px;
  }

.c-partners__slider .slick-arrow {
      display: block;
      padding: 40px 0 0 20px;
      width: 0;
      height: 0;
      overflow: hidden;
      position: absolute;
      left: -30px;
      top: 50%;
      z-index: 100;
      font-size: 2.5rem;
      transform: translateY(-50%) rotate(180deg);
      color: #142a64;
      color: var(--color-primary);
      transition: all 0.3s ease;
    }

.c-partners__slider .slick-arrow::after {
        font-family: "icons";
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-style: normal;
        font-feature-settings: normal;
        font-variant: normal;
        font-weight: normal;
        line-height: 1;
        speak: none;
        display: inline-block;
        vertical-align: middle;
        text-decoration: inherit;
        text-transform: none;
        font-family: "icons";
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-style: normal;
        font-variant: normal;
        font-weight: normal;
        line-height: 1;
        speak: none;
        display: inline-block;
        vertical-align: middle;
        text-decoration: inherit;
        text-transform: none;
        content: "\E003";
        position: absolute;
        left: 50%;
        top: 0;
        transform: translateX(-50%);
      }

.c-partners__slider .slick-arrow.slick-disabled {
        opacity: 0.5;
      }

.c-partners__slider .slick-arrow.slick-next {
        left: auto;
        right: -30px;
        transform: translateY(-50%);
      }

.c-partners__slide {
    padding: 0 20px;
    float: none;
    height: auto;
    height: 60px;
    width: 160px;
  }

.c-partners__slide img {
      width: 100%;
      height: 100%;
      -o-object-fit: contain;
         object-fit: contain;
    }

/**
 * Utilities
 */

/**
 * Print
 */

@media print {
  /**
   * 1. Black prints faster: http://www.sanbeiji.com/archives/953
   */

  *,
  *::before,
  *::after {
    background: transparent !important;
    color: #000 !important; /* [1] */
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]::after {
    content: " (" attr(href) ")";
  }

  abbr[title]::after {
    content: " (" attr(title) ")";
  }

  /**
   * Don’t show links that are fragment identifiers, or use the `javascript:`
   * pseudo protocol.
   */

  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: "";
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  /**
   * Printing Tables: http://css-discuss.incutio.com/wiki/Printing_Tables
   */

  thead {
    display: table-header-group;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}

/**
 * Hide
 */

/**
 * Hide only visually, but have it available for screen readers:
 * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 */

.u-sr-only {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
          clip-path: inset(50%) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

/**
 * Hide visually and from screen readers.
 */

.u-hidden {
  display: none !important;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Nhbml0aXplLmNzcy9zYW5pdGl6ZS5jc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc2FuaXRpemUuY3NzL2Zvcm1zLmNzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zYW5pdGl6ZS5jc3MvdHlwb2dyYXBoeS5jc3MiLCJzZXR0aW5ncy9fY29yZS5jc3MiLCJzZXR0aW5ncy9fY29sb3JzLmNzcyIsInNldHRpbmdzL19zcGFjaW5nLmNzcyIsInNldHRpbmdzL19tZWRpYXF1ZXJpZXMuY3NzIiwic2V0dGluZ3MvX2dyaWQuY3NzIiwic2V0dGluZ3MvX2ljb25zLmNzcyIsInNldHRpbmdzL19taXhpbnMuY3NzIiwiZWxlbWVudHMvX3BhZ2UuY3NzIiwiZWxlbWVudHMvX3R5cG9ncmFwaHkuY3NzIiwiZWxlbWVudHMvX3RhYmxlLmNzcyIsImVsZW1lbnRzL19pbWFnZXMuY3NzIiwiZWxlbWVudHMvX2Zvcm1zLmNzcyIsIm9iamVjdHMvX3dyYXBwZXIuY3NzIiwib2JqZWN0cy9faWNvbi5jc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suc2NzcyIsImNvbXBvbmVudHMvX2NvdmVyLmNzcyIsImNvbXBvbmVudHMvX2hlYWRlci5jc3MiLCJjb21wb25lbnRzL19uYXYuY3NzIiwiY29tcG9uZW50cy9fcHJlcy5jc3MiLCJjb21wb25lbnRzL19wcm9ncmFtLmNzcyIsImNvbXBvbmVudHMvX2J0bi5jc3MiLCJjb21wb25lbnRzL19ldmVudC5jc3MiLCJjb21wb25lbnRzL19zaWdudXAuY3NzIiwiY29tcG9uZW50cy9fbG9nb3MuY3NzIiwiY29tcG9uZW50cy9fZm9vdGVyLmNzcyIsImNvbXBvbmVudHMvX25sLmNzcyIsImNvbXBvbmVudHMvX2V2ZW50cy5jc3MiLCJjb21wb25lbnRzL19wYXJ0bmVycy5jc3MiLCJ1dGlsaXRpZXMvX3ByaW50LmNzcyIsInV0aWxpdGllcy9faGlk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QkFBc0I7RUFDdEIsdUJBQXVCO0VBQ3ZCLDJCQUEyQjtFQUMzQixxQkFBcUI7RUFDckIsNkJBQTZCO0VBQzdCLDhCQUE4QjtFQUM5QixxQkFBcUI7QUFDdkI7O0FBRUE7O0VBRUU7O0FBRUY7RUFDRSx3QkFBd0I7QUFDMUIiLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEJhc2VkIG9uIEJFTUlUIChCRU0gKyBJVENTUykgZm9yIGZvbGRlciBzdHJ1Y3R1cmUgYW5kIG5hbWluZyBjb252ZW50aW9uXG4gKiBVc2UgRHJvcGJveCBzdHlsZWd1aWRlIGFzIHJlZmVyZW5jZSA6IGh0dHBzOi8vZ2l0aHViLmNvbS9kcm9wYm94L2Nzcy1zdHlsZS1ndWlkZVxuICovXG5cbi8qKlxuICogR2VuZXJpYyA6IFJlc2V0IHdpdGggc2FuaXRpemUuY3NzXG4gKi9cbkBpbXBvcnQgJ3Nhbml0aXplLmNzcyc7XG5AaW1wb3J0ICdzYW5pdGl6ZS5jc3MvZm9ybXMuY3NzJztcbkBpbXBvcnQgJ3Nhbml0aXplLmNzcy90eXBvZ3JhcGh5LmNzcyc7XG5cbi8qKlxuICogU2V0dGluZ3NcbiAqL1xuQGltcG9ydCAnc2V0dGluZ3MvX2NvcmUuY3NzJztcbkBpbXBvcnQgJ3NldHRpbmdzL19jb2xvcnMuY3NzJztcbkBpbXBvcnQgJ3NldHRpbmdzL19zcGFjaW5nLmNzcyc7XG5AaW1wb3J0ICdzZXR0aW5ncy9fbWVkaWFxdWVyaWVzLmNzcyc7XG5AaW1wb3J0ICdzZXR0aW5ncy9fZ3JpZC5jc3MnO1xuQGltcG9ydCAnc2V0dGluZ3MvX2ljb25zLmNzcyc7XG5AaW1wb3J0ICdzZXR0aW5ncy9fbWl4aW5zLmNzcyc7XG5cbi8qKlxuICogRWxlbWVudHNcbiAqL1xuQGltcG9ydCAnZWxlbWVudHMvX3BhZ2UuY3NzJztcbkBpbXBvcnQgJ2VsZW1lbnRzL190eXBvZ3JhcGh5LmNzcyc7XG5AaW1wb3J0ICdlbGVtZW50cy9fdGFibGUuY3NzJztcbkBpbXBvcnQgJ2VsZW1lbnRzL19pbWFnZXMuY3NzJztcbkBpbXBvcnQgJ2VsZW1lbnRzL19mb3Jtcy5jc3MnO1xuXG4vKipcbiAqIE9iamVjdHNcbiAqL1xuQGltcG9ydCAnb2JqZWN0cy9fd3JhcHBlci5jc3MnO1xuQGltcG9ydCAnb2JqZWN0cy9faWNvbi5jc3MnO1xuXG4vKipcbiAqIFZlbmRvcnNcbiAqL1xuQGltcG9ydCAnc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suc2Nzcyc7XG5cbi8qKlxuICogQ29tcG9uZW50c1xuICovXG5AaW1wb3J0ICdjb21wb25lbnRzL19jb3Zlci5jc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9faGVhZGVyLmNzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL19uYXYuY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvX3ByZXMuY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvX3Byb2dyYW0uY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvX2J0bi5jc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9fZXZlbnQuY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvX3NpZ251cC5jc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9fbG9nb3MuY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvX2Zvb3Rlci5jc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9fbmwuY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvX2V2ZW50cy5jc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9fcGFydG5lcnMuY3NzJztcblxuLyoqXG4gKiBVdGlsaXRpZXNcbiAqL1xuQGltcG9ydCAndXRpbGl0aWVzL19wcmludC5jc3MnO1xuQGltcG9ydCAndXRpbGl0aWVzL19oaWRlLmNzcyc7XG4iLCIvKiBEb2N1bWVudFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgYm9yZGVyIGJveCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuKixcbjo6YmVmb3JlLFxuOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qKlxuICogMS4gQWRkIHRleHQgZGVjb3JhdGlvbiBpbmhlcml0YW5jZSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIEFkZCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW5oZXJpdGFuY2UgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuOjpiZWZvcmUsXG46OmFmdGVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0OyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gVXNlIHRoZSBkZWZhdWx0IGN1cnNvciBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIENoYW5nZSB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAzLiBVc2UgYSA0LXNwYWNlIHRhYiB3aWR0aCBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDQuIFJlbW92ZSB0aGUgZ3JleSBoaWdobGlnaHQgb24gbGlua3MgaW4gaU9TIChvcGluaW9uYXRlZCkuXG4gKiA1LiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gKiA2LiBCcmVha3Mgd29yZHMgdG8gcHJldmVudCBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5odG1sIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjU7IC8qIDIgKi9cbiAgLW1vei10YWItc2l6ZTogNDsgLyogMyAqL1xuICB0YWItc2l6ZTogNDsgLyogMyAqL1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50IC8qIDQgKi87XG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiA1ICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogNSAqL1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkOyAvKiA2ICovXG59XG5cbi8qIFNlY3Rpb25zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRWRnZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIG9uIG5lc3RlZCBsaXN0cyBpbiBDaHJvbWUsIEVkZ2UsIElFLCBhbmQgU2FmYXJpLlxuICovXG5cbmRsIGRsLFxuZGwgb2wsXG5kbCB1bCxcbm9sIGRsLFxudWwgZGwge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gb24gbmVzdGVkIGxpc3RzIGluIEVkZ2UgMTgtIGFuZCBJRS5cbiAqL1xuXG5vbCBvbCxcbm9sIHVsLFxudWwgb2wsXG51bCB1bCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3Qgc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIDE4LSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBsaXN0IHN0eWxlIG9uIG5hdmlnYXRpb24gbGlzdHMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxubmF2IG9sLFxubmF2IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gRWRnZSAxOC0sIElFLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ2hhbmdlIHRoZSBhbGlnbm1lbnQgb24gbWVkaWEgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5pZnJhbWUsXG5pbWcsXG5zdmcsXG52aWRlbyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpZnJhbWVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmlmcmFtZSB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgd2l0aGluIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qKlxuICogQ2hhbmdlIHRoZSBmaWxsIGNvbG9yIHRvIG1hdGNoIHRoZSB0ZXh0IGNvbG9yIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbnN2Zzpub3QoW2ZpbGxdKSB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIFRhYnVsYXIgZGF0YVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDb2xsYXBzZSBib3JkZXIgc3BhY2luZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG5cbi8qIEZvcm1zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIG9uIGNvbnRyb2xzIGluIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDIuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSAxOC0sIEZpcmVmb3gsIGFuZCBJRS5cbiAqL1xuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBidXR0b25zIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBpbmNvbnNpc3RlbnQgYXBwZWFyYW5jZSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhMGEwYTA7IC8qIDEgKi9cbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSAxOC0gYW5kIElFLlxuICovXG5cbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIDE4LSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKi9cblxubGVnZW5kIHtcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlIDE4LSBhbmQgSUUuXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRWRnZSwgYW5kIEZpcmVmb3guXG4gKi9cblxucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqIDIuIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKiAzLiBDaGFuZ2UgdGhlIHJlc2l6ZSBkaXJlY3Rpb24gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IGF1dG87IC8qIDIgKi9cbiAgcmVzaXplOiB2ZXJ0aWNhbDsgLyogMyAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHRleHQgc3R5bGUgb2YgcGxhY2Vob2xkZXJzIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgb3BhY2l0eTogMC41NDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgdXBsb2FkIGJ1dHRvbnMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBvZiBmb2N1cyBvdXRsaW5lcyBpbiBGaXJlZm94LlxuICovXG5cbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBvdXRsaW5lIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZSBpbiBGaXJlZm94LlxuICovXG5cbjotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGFkZGl0aW9uYWwgOmludmFsaWQgc3R5bGVzIGluIEZpcmVmb3guXG4gKi9cblxuOi1tb3otdWktaW52YWxpZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIEludGVyYWN0aXZlXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSAxOC0gYW5kIElFLlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBzdHlsZXMgaW4gRWRnZSAxOC0sIElFLCBhbmQgU2FmYXJpLlxuICovXG5cbmRpYWxvZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IHNvbGlkO1xuICBjb2xvcjogYmxhY2s7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IC1tb3otZml0LWNvbnRlbnQ7XG4gIGhlaWdodDogLXdlYmtpdC1maXQtY29udGVudDtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiAxZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAtbW96LWZpdC1jb250ZW50O1xuICB3aWR0aDogLXdlYmtpdC1maXQtY29udGVudDtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xufVxuXG5kaWFsb2c6bm90KFtvcGVuXSkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIFNjcmlwdGluZ1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBVc2VyIGludGVyYWN0aW9uXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVtb3ZlIHRoZSB0YXBwaW5nIGRlbGF5IGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSB0YXBwaW5nIGRlbGF5IG9uIGNsaWNrYWJsZSBlbGVtZW50c1xuICAgICAgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYSxcbmFyZWEsXG5idXR0b24sXG5pbnB1dCxcbmxhYmVsLFxuc2VsZWN0LFxuc3VtbWFyeSxcbnRleHRhcmVhLFxuW3RhYmluZGV4XSB7XG4gIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgLyogMSAqL1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEFjY2Vzc2liaWxpdHlcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ2hhbmdlIHRoZSBjdXJzb3Igb24gYnVzeSBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5bYXJpYS1idXN5PVwidHJ1ZVwiXSB7XG4gIGN1cnNvcjogcHJvZ3Jlc3M7XG59XG5cbi8qXG4gKiBDaGFuZ2UgdGhlIGN1cnNvciBvbiBjb250cm9sIGVsZW1lbnRzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cblthcmlhLWNvbnRyb2xzXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLypcbiAqIENoYW5nZSB0aGUgY3Vyc29yIG9uIGRpc2FibGVkLCBub3QtZWRpdGFibGUsIG9yIG90aGVyd2lzZVxuICogaW5vcGVyYWJsZSBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5bYXJpYS1kaXNhYmxlZD1cInRydWVcIl0sXG5bZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLypcbiAqIENoYW5nZSB0aGUgZGlzcGxheSBvbiB2aXN1YWxseSBoaWRkZW4gYWNjZXNzaWJsZSBlbGVtZW50c1xuICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuW2FyaWEtaGlkZGVuPVwiZmFsc2VcIl1baGlkZGVuXSB7XG4gIGRpc3BsYXk6IGluaXRpYWw7XG59XG5cblthcmlhLWhpZGRlbj1cImZhbHNlXCJdW2hpZGRlbl06bm90KDpmb2N1cykge1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4iLCIvKipcbiAqIDEuIENoYW5nZSB0aGUgaW5jb25zaXN0ZW50IGFwcGVhcmFuY2UgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBBZGQgdHlwb2dyYXBoeSBpbmhlcml0YW5jZSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgYm9yZGVyOiAxcHggc29saWQgV2luZG93RnJhbWU7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDsgLyogMiAqL1xuICBwYWRkaW5nOiAwLjI1ZW0gMC4zNzVlbTsgLyogMSAqL1xufVxuXG4vKipcbiAqIENoYW5nZSB0aGUgaW5jb25zaXN0ZW50IGFwcGVhcmFuY2UgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuc2VsZWN0IHtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vLXJlcGVhdCByaWdodCBjZW50ZXIgLyAxZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDFlbTtcbn1cblxuLyoqXG4gKiBDaGFuZ2UgdGhlIGluY29uc2lzdGVudCBhcHBlYXJhbmNlIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbnNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTYnIGhlaWdodD0nNCclM0UlM0NwYXRoIGQ9J000IDBoNkw3IDQnLyUzRSUzQy9zdmclM0VcIik7XG59XG5cbi8qKlxuICogQ2hhbmdlIHRoZSBpbmNvbnNpc3RlbnQgYXBwZWFyYW5jZSBpbiBJRSAob3BpbmlvbmF0ZWQpLlxuICovXG5cbjo6LW1zLWV4cGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5jb25zaXN0ZW50IGFwcGVhcmFuY2UgaW4gSUUgKG9waW5pb25hdGVkKS5cbiAqL1xuXG46LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG59XG4iLCIvKipcbiAqIFVzZSB0aGUgZGVmYXVsdCB1c2VyIGludGVyZmFjZSBmb250IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTpcbiAgICBzeXN0ZW0tdWksXG4gICAgLyogbWFjT1MgMTAuMTEtMTAuMTIgKi8gLWFwcGxlLXN5c3RlbSxcbiAgICAvKiBXaW5kb3dzIDYrICovIFwiU2Vnb2UgVUlcIixcbiAgICAvKiBBbmRyb2lkIDQrICovIFwiUm9ib3RvXCIsXG4gICAgLyogVWJ1bnR1IDEwLjEwKyAqLyBcIlVidW50dVwiLFxuICAgIC8qIEdub21lIDMrICovIFwiQ2FudGFyZWxsXCIsXG4gICAgLyogS0RFIFBsYXNtYSA1KyAqLyBcIk5vdG8gU2Fuc1wiLFxuICAgIC8qIGZhbGxiYWNrICovIHNhbnMtc2VyaWYsXG4gICAgLyogbWFjT1MgZW1vamkgKi8gXCJBcHBsZSBDb2xvciBFbW9qaVwiLFxuICAgIC8qIFdpbmRvd3MgZW1vamkgKi8gXCJTZWdvZSBVSSBFbW9qaVwiLFxuICAgIC8qIFdpbmRvd3MgZW1vamkgKi8gXCJTZWdvZSBVSSBTeW1ib2xcIixcbiAgICAvKiBMaW51eCBlbW9qaSAqLyBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbn1cblxuLyoqXG4gKiBVc2UgdGhlIGRlZmF1bHQgbW9ub3NwYWNlIHVzZXIgaW50ZXJmYWNlIGZvbnQgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAsXG5wcmUge1xuICBmb250LWZhbWlseTpcbiAgICAvKiBtYWNPUyAxMC4xMCsgKi8gXCJNZW5sb1wiLFxuICAgIC8qIFdpbmRvd3MgNisgKi8gXCJDb25zb2xhc1wiLFxuICAgIC8qIEFuZHJvaWQgNCsgKi8gXCJSb2JvdG8gTW9ub1wiLFxuICAgIC8qIFVidW50dSAxMC4xMCsgKi8gXCJVYnVudHUgTW9ub3NwYWNlXCIsXG4gICAgLyogS0RFIFBsYXNtYSA1KyAqLyBcIk5vdG8gTW9ub1wiLFxuICAgIC8qIEtERSBQbGFzbWEgNCsgKi8gXCJPeHlnZW4gTW9ub1wiLFxuICAgIC8qIExpbnV4L09wZW5PZmZpY2UgZmFsbGJhY2sgKi8gXCJMaWJlcmF0aW9uIE1vbm9cIixcbiAgICAvKiBmYWxsYmFjayAqLyBtb25vc3BhY2UsXG4gICAgLyogbWFjT1MgZW1vamkgKi8gXCJBcHBsZSBDb2xvciBFbW9qaVwiLFxuICAgIC8qIFdpbmRvd3MgZW1vamkgKi8gXCJTZWdvZSBVSSBFbW9qaVwiLFxuICAgIC8qIFdpbmRvd3MgZW1vamkgKi8gXCJTZWdvZSBVSSBTeW1ib2xcIixcbiAgICAvKiBMaW51eCBlbW9qaSAqLyBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbn1cbiIsIi8qKlxuICogQ29yZVxuICpcbiAqIDEuIFRoZSDigJxzY2FsZSByYXRpb+KAnSBmb3IgdGhlIHRoZW1lLiBUaGlzIHZhbHVlIGlzIHRoZSByYXRpbyBiZXR3ZWVuIHRoZVxuICogICAgaDEgZm9udCBzaXplIGFuZCB0aGUgZ2xvYmFsLWZvbnQtc2l6ZS4gU28gaWYgdGhlIHNjYWxlIHJhdGlvIGlzIDJcbiAqICAgIGFuZCB0aGUgZ2xvYmFsLWZvbnQtc2l6ZSBpcyAxNnB4IHRoZW4gdGhlIGgxIGZvbnQgc2l6ZSBpcyAzMnB4LlxuICogMi4g4oCccmh5dGhtIHVuaXTigJ0gKGkuZS4gdGhlIGhlaWdodCBvZiB0aGUgYmFzZSBsaW5lIGhlaWdodCkuXG4gKi9cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWFyaWFubmUnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvTWFyaWFubmUtTWVkaXVtLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJy4uL2ZvbnRzL01hcmlhbm5lLU1lZGl1bS53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXJpYW5uZSc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9NYXJpYW5uZS1Cb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJy4uL2ZvbnRzL01hcmlhbm5lLUJvbGQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ01hcmlhbm5lJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL01hcmlhbm5lLUxpZ2h0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJy4uL2ZvbnRzL01hcmlhbm5lLUxpZ2h0LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ01hcmlhbm5lJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL01hcmlhbm5lLUJvbGRJdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIHVybCgnLi4vZm9udHMvTWFyaWFubmUtQm9sZEl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWFyaWFubmUnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvTWFyaWFubmUtUmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgdXJsKCcuLi9mb250cy9NYXJpYW5uZS1SZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbjpyb290IHtcbiAgLS1nbG9iYWwtZm9udC1mYW1pbHk6ICdNYXJpYW5uZScsIGdlb3JnaWEsIHNhbnMtc2VyaWY7XG4gIC0tZ2xvYmFsLWhlYWRpbmdzLWZvbnQtZmFtaWx5OiAnTWFyaWFubmUnLCBhcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWY7XG4gIC0tZ2xvYmFsLWZvbnQtc2l6ZTogMTZweDtcbiAgLS1nbG9iYWwtbGluZS1oZWlnaHQ6IDEuNDtcbiAgLS1nbG9iYWwtc2NhbGUtcmF0aW86IDM7IC8qIFsxXSAqL1xuICAtLWdsb2JhbC1zcGFjaW5nLXJoeXRobTogMTtcbn1cbiIsIi8qKlxuICogQ29sb3JzXG4gKi9cblxuOnJvb3Qge1xuICAtLWNvbG9yLWdyYXk6ICM4MDgwODA7XG5cbiAgLS1jb2xvci1wcmltYXJ5OiAjMTQyYTY0O1xuICAtLWNvbG9yLXByaW1hcnktbGlnaHQ6ICM0YWE0ZTc7XG4gIC0tY29sb3ItcHJpbWFyeS1saWdodGVyOiAjZGFlZWY4O1xuICAtLWNvbG9yLXNlY29uZGFyeTogIzcyZTQ4ZTtcbiAgLS1jb2xvci1zdWNjZXNzOiAjMjhhNzQ1O1xuICAtLWNvbG9yLWRhbmdlcjogI2RjMzU0NTtcbiAgLS1jb2xvci1pbmZvOiAjMTdhMmI4O1xufVxuIiwiLyoqXG4gKiBTcGFjaW5nXG4gKi9cblxuOnJvb3Qge1xuICAtLXNwYWNpbmctYmFzZWxpbmU6IDZweDtcblxuICAtLXNwYWNpbmctdW5pdC1mYWN0b3IteHM6IDE7XG4gIC0tc3BhY2luZy11bml0LWZhY3Rvci1zbTogMjtcbiAgLS1zcGFjaW5nLXVuaXQtZmFjdG9yOiA0O1xuICAtLXNwYWNpbmctdW5pdC1mYWN0b3ItbGc6IDg7XG4gIC0tc3BhY2luZy11bml0LWZhY3Rvci14bDogMTY7XG5cbiAgLS1zcGFjaW5nLXVuaXQ6IGNhbGModmFyKC0tc3BhY2luZy1iYXNlbGluZSkgKiB2YXIoLS1zcGFjaW5nLXVuaXQtZmFjdG9yKSk7XG4gIC0tc3BhY2luZy11bml0LXhzOiBjYWxjKHZhcigtLXNwYWNpbmctYmFzZWxpbmUpICogdmFyKC0tc3BhY2luZy11bml0LWZhY3Rvci14cykpO1xuICAtLXNwYWNpbmctdW5pdC1zbTogY2FsYyh2YXIoLS1zcGFjaW5nLWJhc2VsaW5lKSAqIHZhcigtLXNwYWNpbmctdW5pdC1mYWN0b3Itc20pKTtcbiAgLS1zcGFjaW5nLXVuaXQtbGc6IGNhbGModmFyKC0tc3BhY2luZy1iYXNlbGluZSkgKiB2YXIoLS1zcGFjaW5nLXVuaXQtZmFjdG9yLWxnKSk7XG4gIC0tc3BhY2luZy11bml0LXhsOiBjYWxjKHZhcigtLXNwYWNpbmctYmFzZWxpbmUpICogdmFyKC0tc3BhY2luZy11bml0LWZhY3Rvci14bCkpO1xufVxuIiwiLyoqXG4gKiBNZWRpYSBxdWVyaWVzXG4gKi9cblxuLyoqXG4gKiBDdXN0b20gbWVkaWEgcXVlcmllc1xuICpcbiAqIDAuIHhzIDogMjMuNDM3NWVtIC0gMzc1cHhcbiAqIDEuIHNtIDogMzZlbSAtIDU3NnB4XG4gKiAyLiBtZCA6IDQ4ZW0gLSA3NjhweFxuICogMy4gbGcgOiA2NGVtIC0gMTAyNHB4XG4gKiA0LiB4bCA6IDg1ZW0gLSAxMzYwcHhcbiAqIDUuIHh4bCA6IDEwMGVtIC0gMTYwMHB4XG4gKi9cblxuQGN1c3RvbS1tZWRpYSAtLW1xLXhzICh3aWR0aCA+PSAyMy40Mzc1ZW0pOyAvKiBbMF0gKi9cbkBjdXN0b20tbWVkaWEgLS1tcS1zbSAod2lkdGggPj0gMzZlbSk7IC8qIFsxXSAqL1xuQGN1c3RvbS1tZWRpYSAtLW1xLW1kICh3aWR0aCA+PSA0OGVtKTsgLyogWzJdICovXG5AY3VzdG9tLW1lZGlhIC0tbXEtbGcgKHdpZHRoID49IDY0ZW0pOyAvKiBbM10gKi9cbkBjdXN0b20tbWVkaWEgLS1tcS14bCAod2lkdGggPj0gODVlbSk7IC8qIFs0XSAqL1xuQGN1c3RvbS1tZWRpYSAtLW1xLXh4bCAod2lkdGggPj0gMTAwZW0pOyAvKiBbNV0gKi9cbiIsIi8qKlxuICogR3JpZFxuICovXG5cbjpyb290IHtcbiAgLS1ncmlkLXdpZHRoLXNtOiA1NDZweDtcbiAgLS1ncmlkLXdpZHRoLW1kOiA3MDBweDtcbiAgLS1ncmlkLXdpZHRoLWxnOiA5OTJweDtcbiAgLS1ncmlkLXdpZHRoLXhsOiAxMjAwcHg7XG5cbiAgLS1ncmlkLWd1dHRlcjogNDBweDtcbn1cblxuQGxvc3QgZmxleGJveCBmbGV4O1xuQGxvc3QgZ3V0dGVyIDQwcHg7XG4iLCIvKipcbiAqIEljb25zIHRlbXBsYXRlIHRvIGJ1aWxkIGljb24gZm9udCB1dGlsaXR5IGNsYXNzZXMgaW4gX2ZvbnRzLmNzc1xuICovXG5cbkBmb250LWZhY2Uge1xuXHRmb250LWZhbWlseTogXCJpY29uc1wiO1xuXHRzcmM6IHVybCgnLi4vZm9udHMvaWNvbnMuZW90Jyk7XG5cdHNyYzogdXJsKCcuLi9mb250cy9pY29ucy5lb3Q/I2llZml4JykgZm9ybWF0KCdlb3QnKSxcblx0XHR1cmwoJy4uL2ZvbnRzL2ljb25zLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuXHRcdHVybCgnLi4vZm9udHMvaWNvbnMud29mZicpIGZvcm1hdCgnd29mZicpLFxuXHRcdHVybCgnLi4vZm9udHMvaWNvbnMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuXHRcdHVybCgnLi4vZm9udHMvaWNvbnMuc3ZnI2ljb25zJykgZm9ybWF0KCdzdmcnKTtcbn1cblxuW2NsYXNzKj1cIm8taWNvblwiXSB7XG5cdGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5bY2xhc3MqPVwiby1pY29uLVwiXTo6YmVmb3JlIHtcblx0Zm9udC1mYW1pbHk6IFwiaWNvbnNcIjtcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC12YXJpYW50OiBub3JtYWw7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRzcGVhazogbm9uZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHR0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5AZGVmaW5lLW1peGluIGljb24gJG5hbWUge1xuICBmb250LWZhbWlseTogXCJpY29uc1wiO1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRmb250LXZhcmlhbnQ6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdHNwZWFrOiBub25lO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cblxuQGRlZmluZS1taXhpbiBpY29uLWZhY2Vib29rIHtcblx0QG1peGluIGljb247XG5cdGNvbnRlbnQ6IFwiXFxFMDAxXCI7XG59XG5cbkBkZWZpbmUtbWl4aW4gaWNvbi1saW5rZWRpbiB7XG5cdEBtaXhpbiBpY29uO1xuXHRjb250ZW50OiBcIlxcRTAwMlwiO1xufVxuXG5AZGVmaW5lLW1peGluIGljb24tbmF2IHtcblx0QG1peGluIGljb247XG5cdGNvbnRlbnQ6IFwiXFxFMDAzXCI7XG59XG5cbkBkZWZpbmUtbWl4aW4gaWNvbi1zY3JvbGwge1xuXHRAbWl4aW4gaWNvbjtcblx0Y29udGVudDogXCJcXEUwMDRcIjtcbn1cblxuQGRlZmluZS1taXhpbiBpY29uLXR3aXR0ZXIge1xuXHRAbWl4aW4gaWNvbjtcblx0Y29udGVudDogXCJcXEUwMDVcIjtcbn1cblxuQGRlZmluZS1taXhpbiBpY29uLXlvdXR1YmUge1xuXHRAbWl4aW4gaWNvbjtcblx0Y29udGVudDogXCJcXEUwMDZcIjtcbn1cblxuXG5cbi5vLWljb24tZmFjZWJvb2s6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDAxXCI7XG59XG5cbi5vLWljb24tbGlua2VkaW46OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDAyXCI7XG59XG5cbi5vLWljb24tbmF2OjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAwM1wiO1xufVxuXG4uby1pY29uLXNjcm9sbDo6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXEUwMDRcIjtcbn1cblxuLm8taWNvbi10d2l0dGVyOjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcRTAwNVwiO1xufVxuXG4uby1pY29uLXlvdXR1YmU6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxFMDA2XCI7XG59XG4iLCIvKipcbiAqIE1peGluc1xuICovXG5cbkBkZWZpbmUtbWl4aW4gbGlzdC1yZXNldCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcblxuICAmIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4iLCIvKipcbiAqIFBhZ2VcbiAqL1xuXG4vKipcbiAqIFNpbXBsZSBwYWdlLWxldmVsIHNldHVwLlxuICpcbiAqIDEuIEZvcmNlIHNjcm9sbGJhcnMgdG8gYWx3YXlzIGJlIHZpc2libGUgdG8gcHJldmVudCBhd2t3YXJkIOKAmGp1bXBz4oCZIHdoZW5cbiAqICAgIG5hdmlnYXRpbmcgYmV0d2VlbiBwYWdlcyB0aGF0IGRvL2RvIG5vdCBoYXZlIGVub3VnaCBjb250ZW50IHRvIHByb2R1Y2VcbiAqICAgIHNjcm9sbGJhcnMgbmF0dXJhbGx5LlxuICogMi4gRW5zdXJlIHRoZSBwYWdlIGFsd2F5cyBmaWxscyBhdCBsZWFzdCB0aGUgZW50aXJlIGhlaWdodCBvZiB0aGUgdmlld3BvcnQuXG4gKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWdyYXkpO1xuICBmb250LXNpemU6IHZhcigtLWdsb2JhbC1mb250LXNpemUpO1xuICBmb250LWZhbWlseTogdmFyKC0tZ2xvYmFsLWZvbnQtZmFtaWx5KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWdsb2JhbC1saW5lLWhlaWdodCk7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgLyogWzFdICovXG4gIG1pbi1oZWlnaHQ6IDEwMCU7IC8qIFsyXSAqL1xuICB0ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiBbM10gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG4iLCIvKipcbiAqIFR5cG9ncmFwaHlcbiAqL1xuXG4vKiBHbG9iYWwgKi9cblxucCxcbnVsLFxub2wsXG5kbCxcbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCBjYWxjKHZhcigtLWdsb2JhbC1mb250LXNpemUpICogdmFyKC0tZ2xvYmFsLWxpbmUtaGVpZ2h0KSAqIHZhcigtLWdsb2JhbC1zcGFjaW5nLXJoeXRobSkpO1xufVxuXG4vKiBIZWFkaW5ncyAqL1xuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBmb250LWZhbWlseTogdmFyKC0tZ2xvYmFsLWhlYWRpbmdzLWZvbnQtZmFtaWx5KTtcbiAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1nbG9iYWwtZm9udC1zaXplKSAqIHZhcigtLWdsb2JhbC1saW5lLWhlaWdodCkgKiB2YXIoLS1nbG9iYWwtc3BhY2luZy1yaHl0aG0pIC8gMik7XG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiBjYWxjKHZhcigtLWdsb2JhbC1mb250LXNpemUpICogdmFyKC0tZ2xvYmFsLXNjYWxlLXJhdGlvKSk7XG59XG5cbmgyLFxuLnUtaDIge1xuICBmb250LXNpemU6IDI4cHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICBAbWVkaWEgKC0tbXEtbWQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMzRweDtcbiAgfVxuXG4gIEBtZWRpYSAoLS1tcS1sZykge1xuICAgIGZvbnQtc2l6ZTogNDZweDtcbiAgfVxufVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1nbG9iYWwtZm9udC1zaXplKSAqIHZhcigtLWdsb2JhbC1zY2FsZS1yYXRpbykgKiAwLjY1KTtcbn1cblxuaDQge1xuICBmb250LXNpemU6IGNhbGModmFyKC0tZ2xvYmFsLWZvbnQtc2l6ZSkgKiB2YXIoLS1nbG9iYWwtc2NhbGUtcmF0aW8pICogMC41KTtcbn1cblxuaDUge1xuICBmb250LXNpemU6IGNhbGModmFyKC0tZ2xvYmFsLWZvbnQtc2l6ZSkgKiB2YXIoLS1nbG9iYWwtc2NhbGUtcmF0aW8pICogMC40NCk7XG59XG5cbmg2IHtcbiAgZm9udC1zaXplOiBjYWxjKHZhcigtLWdsb2JhbC1mb250LXNpemUpICogdmFyKC0tZ2xvYmFsLXNjYWxlLXJhdGlvKSAqIDAuNCk7XG59XG5cbi8qIExpc3RzICovXG5cbnVsLFxub2wge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWdsb2JhbC1mb250LXNpemUpICogdmFyKC0tZ2xvYmFsLWxpbmUtaGVpZ2h0KSAqIHZhcigtLWdsb2JhbC1zcGFjaW5nLXJoeXRobSkpO1xuXG4gIHVsLFxuICBvbCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1nbG9iYWwtZm9udC1zaXplKSAqIHZhcigtLWdsb2JhbC1saW5lLWhlaWdodCkgKiB2YXIoLS1nbG9iYWwtc3BhY2luZy1yaHl0aG0pIC8gMik7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1nbG9iYWwtZm9udC1zaXplKSAqIHZhcigtLWdsb2JhbC1saW5lLWhlaWdodCkgKiB2YXIoLS1nbG9iYWwtc3BhY2luZy1yaHl0aG0pIC8gMik7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tZ2xvYmFsLWZvbnQtc2l6ZSkgKiB2YXIoLS1nbG9iYWwtbGluZS1oZWlnaHQpICogdmFyKC0tZ2xvYmFsLXNwYWNpbmctcmh5dGhtKSk7XG4gIH1cbn1cblxuLyogQmxvY2txdW90ZXMgKi9cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWdsb2JhbC1mb250LXNpemUpICogdmFyKC0tZ2xvYmFsLWxpbmUtaGVpZ2h0KSAqIHZhcigtLWdsb2JhbC1zcGFjaW5nLXJoeXRobSkpO1xufVxuXG4vKiBMaW5rcyAqL1xuXG5hIHtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuIiwiLyoqXG4gKiBUYWJsZVxuICovXG5cbnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4iLCIvKipcbiAqIEltYWdlc1xuICovXG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcblxuICAmW2hlaWdodF0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuIiwiLyoqXG4gKiBGb3Jtc1xuICpcbiAqIFVzZSA6Zm9jdXMtdmlzaWJsZSBwb2x5ZmlsbCB0byBkZXRlY3QgZm9jdXMgYnkga2V5Ym9hcmRcbiAqIGh0dHBzOi8vd3d3Lm5wbWpzLmNvbS9wYWNrYWdlL2ZvY3VzLXZpc2libGVcbiAqL1xuXG5idXR0b24ge1xuICBib3JkZXI6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmpzLWZvY3VzLXZpc2libGUgOmZvY3VzOm5vdCguZm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiBub25lO1xufVxuIiwiLyoqXG4gKiBXcmFwcGVyXG4gKi9cblxuLm8td3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIGNhbGModmFyKC0tZ3JpZC1ndXR0ZXIpIC8gMik7XG5cbiAgQG1lZGlhICgtLW1xLXNtKSB7XG4gICAgd2lkdGg6IHZhcigtLWdyaWQtd2lkdGgtc20pO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICBAbWVkaWEgKC0tbXEtbWQpIHtcbiAgICB3aWR0aDogdmFyKC0tZ3JpZC13aWR0aC1tZCk7XG4gIH1cblxuICBAbWVkaWEgKC0tbXEtbGcpIHtcbiAgICB3aWR0aDogdmFyKC0tZ3JpZC13aWR0aC1sZyk7XG4gIH1cblxuICBAbWVkaWEgKC0tbXEteGwpIHtcbiAgICB3aWR0aDogdmFyKC0tZ3JpZC13aWR0aC14bCk7XG4gIH1cbn1cbiIsIi8qKlxuICogSWNvblxuICpcbiAqIERlZmluZSAxZW0gc2l6ZSBmb3IgdGhlIGljb24sIGFsbG93aW5nIHRvIGJlIGNvbnRyb2xsZWQgd2l0aCBmb250LXNpemVcbiAqIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vY29udHJvbC1pY29ucy13aXRoLWZvbnQtc2l6ZS9cbiAqXG4gKiAxLiBVc2UgdGhlIC5vLWljb25fX3N0cm9rZSBvbiBwYXRocyBoYXZpbmcgYSBzdHJva2UgY29sb3JcbiAqL1xuXG4uby1pY29uIHtcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG5cbiAgJl9fc3Ryb2tlIHtcbiAgICBzdHJva2U6IGN1cnJlbnRDb2xvcjsgLyogWzFdICovXG4gIH1cbn1cbiIsIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qKlxuICogQ292ZXJcbiAqL1xuXG4uYy1jb3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcvYmctY292ZXIuanBnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAmX19jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctdG9wOiA5NnB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBAbWVkaWEgKC0tbXEtbWQpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNjBweDtcbiAgICB9XG4gIH1cblxuICAmX19pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJl9fc2Nyb2xsIHtcbiAgICB3aWR0aDogNTZweDtcbiAgICBoZWlnaHQ6IDU2cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblxuICAgIEBtZWRpYSAoLS1tcS1tZCkge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgIHdpZHRoOiA3MnB4O1xuICAgICAgaGVpZ2h0OiA3MnB4O1xuICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAoLS1tcS1sZykge1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgIGZvbnQtc2l6ZTogNDZweDtcbiAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgQG1lZGlhICgtLW1xLW1kKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAoLS1tcS1sZykge1xuICAgICAgZm9udC1zaXplOiA3MnB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2luZm8ge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuXG4gICAgQG1lZGlhICgtLW1xLW1kKSB7XG4gICAgICBmb250LXNpemU6IDMycHg7XG4gICAgfVxuXG4gICAgQG1lZGlhICgtLW1xLWxnKSB7XG4gICAgICBmb250LXNpemU6IDQ2cHg7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIEhlYWRlclxuICovXG5cbi5jLWhlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlLCBib3gtc2hhZG93IDAuM3MgZWFzZTtcblxuICAuc2hvdy1uYXYgJixcbiAgLmlzLXNjcm9sbGVkICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDMwcHggcmdiKDAgMCAwIC8gOCUpO1xuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgQG1lZGlhICgtLW1xLWxnKSB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDQwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fbG9nb3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIEBtZWRpYSAoLS1tcS1tZCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3BmdWUge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiBhbGwgMC4zcyBlYXNlO1xuXG4gICAgQG1lZGlhICgtLW1xLW1kKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgIEBtZWRpYSAoLS1tcS1tZCkge1xuICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAoLS1tcS1sZykge1xuICAgICAgICBoZWlnaHQ6IDEyMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pcy1zY3JvbGxlZCAmIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAmX19sb2dvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNTZweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG4gICAgQG1lZGlhICgtLW1xLW1kKSB7XG4gICAgICB3aWR0aDogODBweDtcblxuICAgICAgLmlzLXNjcm9sbGVkICYge1xuICAgICAgICB3aWR0aDogNTZweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKC0tbXEtbGcpIHtcbiAgICAgIHdpZHRoOiAxMjBweDtcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICBib2R5Om5vdCguc2hvdy1uYXYpOm5vdCguaXMtc2Nyb2xsZWQpICYge1xuICAgICAgcGF0aCB7XG4gICAgICAgIGZpbGw6ICNmZmY7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fdG9nZ2xlIHtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQG1lZGlhICgtLW1xLWxnKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMjhweDtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDJweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtN3B4O1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4zcyAwLjNzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlLCB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogN3B4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pcy1zY3JvbGxlZCAmIHtcbiAgICAgIHNwYW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcblxuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5zaG93LW5hdiAmIHtcbiAgICAgIHNwYW4ge1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjNzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlLCB0cmFuc2Zvcm0gMC4zcyAwLjNzIGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIE5hdlxuICovXG5cbi5jLW5hdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMjBweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtIDk2cHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcblxuICBAbWVkaWEgKC0tbXEtbGcpIHtcbiAgICBmbGV4OiAxO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLnNob3ctbmF2ICYge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAmX19tZW51IHtcbiAgICBAbWl4aW4gbGlzdC1yZXNldDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG4gICAgQG1lZGlhICgtLW1xLWxnKSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgIEBtZWRpYSAoLS1tcS1sZykge1xuICAgICAgICBtYXJnaW46IDAgMzBweCAwIDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgIEBtZWRpYSAoLS1tcS1sZykge1xuICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAuaXMtc2Nyb2xsZWQgJiB7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbGFuZyB7XG4gICAgQG1peGluIGxpc3QtcmVzZXQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG5cbiAgICBhLFxuICAgIHNwYW4ge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDQ2cHg7XG4gICAgICBoZWlnaHQ6IDQ2cHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2U7XG5cbiAgICAgIEBtZWRpYSAoLS1tcS1sZykge1xuICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAuaXMtc2Nyb2xsZWQgJiB7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuXG4gICAgICAgIEBtZWRpYSAoLS1tcS1sZykge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcblxuICAgICAgICAgIC5pcy1zY3JvbGxlZCAmIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBQcmVzXG4gKi9cblxuLmMtcHJlcyB7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiA0MHB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuXG4gIEBtZWRpYSAoLS1tcS1tZCkge1xuICAgIHBhZGRpbmc6IDgwcHggMDtcbiAgfVxuXG4gICYtLWZpcnN0IHtcbiAgICBwYWRkaW5nLXRvcDogMTQwcHg7XG5cbiAgICBAbWVkaWEgKC0tbXEtbWQpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxODBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKC0tbXEtbGcpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzMDBweDtcbiAgICB9XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcblxuICAgIHN0cm9uZyB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBAbWVkaWEgKC0tbXEtbWQpIHtcbiAgICAgIGNvbHVtbnM6IDI7XG4gICAgICBjb2x1bW4tZ2FwOiA0MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAoLS1tcS1sZykge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgIH1cblxuICAgIC5jLXByZXMtLWZpcnN0ICYge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuXG4gICAgICBAbWVkaWEgKC0tbXEtbWQpIHtcbiAgICAgICAgY29sdW1uczogMTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhICgtLW1xLWxnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogUHJvZ3JhbVxuICovXG5cbi5jLXByb2dyYW0ge1xuICBwYWRkaW5nOiA0MHB4IDA7XG5cbiAgQG1lZGlhICgtLW1xLW1kKSB7XG4gICAgcGFkZGluZzogODBweCAwO1xuICB9XG5cbiAgJl9faGVhZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcblxuICAgIEBtZWRpYSAoLS1tcS1tZCkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgQG1lZGlhICgtLW1xLW1kKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbmF2IHtcbiAgICBtYXJnaW46IDAgLTIwcHggNDBweCAwO1xuICAgIG92ZXJmbG93OiBzY3JvbGw7XG5cbiAgICBAbWVkaWEgKC0tbXEtc20pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogY2FsYygoMTAwdncgLSB2YXIoLS1ncmlkLXdpZHRoLXNtKSkgLyAtMik7XG4gICAgfVxuXG4gICAgQG1lZGlhICgtLW1xLW1kKSB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICBvbCB7XG4gICAgICBAbWl4aW4gbGlzdC1yZXNldDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgIEBtZWRpYSAoLS1tcS1tZCkge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcblxuICAgICAgQG1lZGlhICgtLW1xLW1kKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGJ1dHRvbiB7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICAgIGhlaWdodDogMzZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblxuICAgICAgQG1lZGlhICgtLW1xLWxnKSB7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBtaW4td2lkdGg6IDI2MHB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKC0tbXEteGwpIHtcbiAgICAgICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgQG1lZGlhICgtLW1xLW1kKSB7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAoLS1tcS1sZykge1xuICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2x1bmNoIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuXG4gICAgQG1lZGlhICgtLW1xLW1kKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAoLS1tcS14bCkge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3NsaWRlciB7XG4gICAgbWFyZ2luOiAwIC0xMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICZfX3NsaWRlIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gIH1cblxuICAmX19yb3cge1xuICAgIEBtZWRpYSAoLS1tcS1tZCkge1xuICAgICAgbG9zdC1mbGV4LWNvbnRhaW5lcjogcm93O1xuICAgIH1cblxuICAgICYgKyAmIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuXG4gICAgICBAbWVkaWEgKC0tbXEtbWQpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tYmcge1xuICAgICAgbWluLWhlaWdodDogMjgwcHg7XG4gICAgICBwYWRkaW5nOiAyMHB4IDIwcHggMXB4O1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodGVyKTtcblxuICAgICAgQG1lZGlhICgtLW1xLW1kKSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDM2MHB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKC0tbXEteGwpIHtcbiAgICAgICAgbWluLWhlaWdodDogNDQwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY29sIHtcbiAgICBAbWVkaWEgKC0tbXEtbWQpIHtcbiAgICAgIGxvc3QtY29sdW1uOiA2LzEyO1xuICAgIH1cblxuICAgIEBtZWRpYSAoLS1tcS14bCkge1xuICAgICAgbG9zdC1jb2x1bW46IDYvMTIgMiA4MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5zbGljay1hcnJvdyB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBtZWRpYSAoLS1tcS14bCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiA4MHB4IDAgMCA0MHB4O1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogLTUwcHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgQG1peGluIGljb247XG4gICAgICAgIEBtaXhpbiBpY29uLW5hdjtcbiAgICAgICAgZm9udC1zaXplOiA4MHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC0yMHB4O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICB9XG5cbiAgICAgICYuc2xpY2stZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICB9XG5cbiAgICAgICYuc2xpY2stbmV4dCB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAtNTBweDtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5zbGljay1kb3RzIHtcbiAgQG1peGluIGxpc3QtcmVzZXQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGxpIHtcbiAgICBtYXJnaW46IDAgMTBweDtcblxuICAgICYuc2xpY2stYWN0aXZlIHtcbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS40KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDIwcHggMCAwIDIwcHg7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cbiAgICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIEJ0blxuICovXG5cbi5jLWJ0biB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogMCAxMnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZTtcblxuICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAoLS1tcS1tZCkge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICB9XG5cbiAgQG1lZGlhICgtLW1xLWxnKSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgfVxufVxuIiwiLyoqXG4gKiBFdmVudFxuICovXG5cbi5jLWV2ZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICBAbWVkaWEgKC0tbXEtbWQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG5cbiAgJiArICYge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcblxuICAgIEBtZWRpYSAoLS1tcS1tZCkge1xuICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fbWV0YXMge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJl9faG91cnMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiA0cHggMTJweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG5cbiAgICAuYy1ldmVudC0tZm9ydW0gJiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC5jLXByb2dyYW1fX3Jvdy0tYmcgJiB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpO1xuICAgIH1cblxuICAgIC5jLWV2ZW50LS1saWdodCAmIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCk7XG4gICAgfVxuICB9XG5cbiAgJl9fdGFnIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIC5jLWV2ZW50LS1mb3J1bSAmIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuXG4gICAgQG1lZGlhICgtLW1xLXhsKSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgfVxuXG4gICAgLmMtcHJvZ3JhbV9fcm93LS1iZyAmIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KTtcbiAgICB9XG5cbiAgICAuYy1ldmVudC0tZm9ydW0gJiB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICAuYy1ldmVudC0tbGlnaHQgJiB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCk7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIFNpZ251cFxuICovXG5cbi5jLXNpZ251cCB7XG4gIHBhZGRpbmc6IDQwcHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcblxuICBAbWVkaWEgKC0tbXEtbWQpIHtcbiAgICBwYWRkaW5nOiA4MHB4IDA7XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcblxuICAgIEBtZWRpYSAoLS1tcS1tZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKC0tbXEtbGcpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICB9XG4gIH1cblxuICAmX19vcGVuaW5nIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcblxuICAgIEBtZWRpYSAoLS1tcS1tZCkge1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKC0tbXEtbGcpIHtcbiAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICB9XG4gIH1cblxuICAmX19idG5zIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmX19idG4ge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGhlaWdodDogNDBweDtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBtYXJnaW46IDAgMTBweCAyMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlLCBjb2xvciAwLjNzIGVhc2U7XG5cbiAgICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhICgtLW1xLW1kKSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBoZWlnaHQ6IDUycHg7XG4gICAgfVxuXG4gICAgQG1lZGlhICgtLW1xLWxnKSB7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBtYXJnaW46IDAgMjBweCAwO1xuICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBMb2dvc1xuICovXG5cbi5jLWxvZ29zIHtcbiAgcGFkZGluZzogMzBweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgJl9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJl9fZjIyIHtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgIEBtZWRpYSAoLS1tcS1tZCkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2d2dCB7XG4gICAgd2lkdGg6IDE0MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcblxuICAgIEBtZWRpYSAoLS1tcS1tZCkge1xuICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2xhc3Qge1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgIEBtZWRpYSAoLS1tcS1tZCkge1xuICAgICAgd2lkdGg6IDE0MHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBGb290ZXJcbiAqL1xuXG4uYy1mb290ZXIge1xuICBjb2xvcjogI2ZmZjtcblxuICAmX190b3Age1xuICAgIHBhZGRpbmc6IDQwcHggMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcblxuICAgIEBtZWRpYSAoLS1tcS1tZCkge1xuICAgICAgcGFkZGluZzogODBweCAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2J0bSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMyZTRkO1xuXG4gICAgQG1lZGlhICgtLW1xLWxnKSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgQG1lZGlhICgtLW1xLWxnKSB7XG4gICAgICBsb3N0LWZsZXgtY29udGFpbmVyOiByb3c7XG4gICAgfVxuICB9XG5cbiAgJl9fbGlua3Mge1xuICAgIEBtaXhpbiBsaXN0LXJlc2V0O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgICBAbWVkaWEgKC0tbXEtbGcpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxvc3QtY29sdW1uOiA0LzEyO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgIEBtZWRpYSAoLS1tcS1tZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19ubCB7XG4gICAgQG1lZGlhICgtLW1xLWxnKSB7XG4gICAgICBsb3N0LWNvbHVtbjogOC8xMjtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogTkxcbiAqL1xuXG4uZm9ybXMtYnVpbGRlci13cmFwcGVyIHtcbiAgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgIEBtZWRpYSAoLS1tcS1sZykge1xuICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gIH1cblxuICAuZGVzY3JpcHRpb24uZWRpdGFibGUge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICBAbWVkaWEgKC0tbXEtbGcpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICB9XG5cbiAgLmxibC10aW55bHRyIHtcbiAgICBmb250LXNpemU6IDEycHg7XG5cbiAgICBAbWVkaWEgKC0tbXEtbGcpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG4gIH1cblxuICAubmwtZm9ybS1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIEBtZWRpYSAoLS1tcS1sZykge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSdlbWFpbCddIHtcbiAgICAgIGhlaWdodDogNDJweDtcbiAgICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBmbGV4OiAxO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgcGFkZGluZzogMCAyNXB4O1xuICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cbiAgICAgIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBFdmVudHNcbiAqL1xuXG4uYy1ldmVudHMge1xuICBwYWRkaW5nOiA0MHB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG5cbiAgQG1lZGlhICgtLW1xLW1kKSB7XG4gICAgcGFkZGluZzogODBweCAwO1xuICB9XG5cbiAgJl9fYm94IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cbiAgICBAbWVkaWEgKC0tbXEtbWQpIHtcbiAgICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cbiAgfVxuXG4gIGgyIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXNpemU6IDIwcHg7XG5cbiAgICBAbWVkaWEgKC0tbXEtbWQpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKC0tbXEtbGcpIHtcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICB9XG4gIH1cblxuICAmX190YWcge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiA0cHggMTJweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgfVxuXG4gIGEge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG59XG4iLCIvKipcbiAqIFBhcnRuZXJzXG4gKi9cblxuLmMtcGFydG5lcnMge1xuICBwYWRkaW5nOiAzMHB4IDA7XG5cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMThweDtcblxuICAgIEBtZWRpYSAoLS1tcS1tZCkge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAoLS1tcS1sZykge1xuICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgIH1cbiAgfVxuXG4gIC5zbGljay10cmFjayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJl9fc2xpZGVyIHtcbiAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCAtMTBweDtcblxuICAgIC5zbGljay1hcnJvdyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDQwcHggMCAwIDIwcHg7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAtMzBweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgei1pbmRleDogMTAwO1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxODBkZWcpO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAbWl4aW4gaWNvbjtcbiAgICAgICAgQG1peGluIGljb24tbmF2O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICB9XG5cbiAgICAgICYuc2xpY2stZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICB9XG5cbiAgICAgICYuc2xpY2stbmV4dCB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAtMzBweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3NsaWRlIHtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGhlaWdodDogNjBweDtcbiAgICB3aWR0aDogMTYwcHg7XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBQcmludFxuICovXG5cbkBtZWRpYSBwcmludCB7XG4gIC8qKlxuICAgKiAxLiBCbGFjayBwcmludHMgZmFzdGVyOiBodHRwOi8vd3d3LnNhbmJlaWppLmNvbS9hcmNoaXZlcy85NTNcbiAgICovXG5cbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyAvKiBbMV0gKi9cbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cblxuICBhW2hyZWZdOjphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gIH1cblxuICBhYmJyW3RpdGxlXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgfVxuXG4gIC8qKlxuICAgKiBEb27igJl0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsIG9yIHVzZSB0aGUgYGphdmFzY3JpcHQ6YFxuICAgKiBwc2V1ZG8gcHJvdG9jb2wuXG4gICAqL1xuXG4gIGFbaHJlZl49XCIjXCJdOjphZnRlcixcbiAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cblxuICAvKipcbiAgICogUHJpbnRpbmcgVGFibGVzOiBodHRwOi8vY3NzLWRpc2N1c3MuaW5jdXRpby5jb20vd2lraS9QcmludGluZ19UYWJsZXNcbiAgICovXG5cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgfVxuXG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cblxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzO1xuICB9XG5cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgfVxufVxuIiwiLyoqXG4gKiBIaWRlXG4gKi9cblxuLyoqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKi9cblxuLnUtc3Itb25seSB7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDAgMCAwIDApICFpbXBvcnRhbnQ7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBIaWRlIHZpc3VhbGx5IGFuZCBmcm9tIHNjcmVlbiByZWFkZXJzLlxuICovXG5cbi51LWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiJdfQ== */
