/*!
 * WeUI v2.4.3 (https://github.com/weui/weui)
 * Copyright 2021 Tencent, Inc.
 * Licensed under the MIT license
 */
body {
  --weui-BTN-DISABLED-FONT-COLOR: rgba(0, 0, 0, 0.2);
}

body[data-weui-theme='dark'] {
  --weui-BTN-DISABLED-FONT-COLOR: rgba(255, 255, 255, 0.2);
}

@media (prefers-color-scheme:dark) {
  body:not([data-weui-theme='light']) {
    --weui-BTN-DISABLED-FONT-COLOR: rgba(255, 255, 255, 0.2);
  }
}

body {
  --weui-BTN-DEFAULT-BG: #f2f2f2;
}

body[data-weui-theme='dark'] {
  --weui-BTN-DEFAULT-BG: rgba(255, 255, 255, 0.08);
}

@media (prefers-color-scheme:dark) {
  body:not([data-weui-theme='light']) {
    --weui-BTN-DEFAULT-BG: rgba(255, 255, 255, 0.08);
  }
}

body {
  --weui-BTN-DEFAULT-COLOR: #06ae56;
}

body[data-weui-theme='dark'] {
  --weui-BTN-DEFAULT-COLOR: rgba(255, 255, 255, 0.8);
}

@media (prefers-color-scheme:dark) {
  body:not([data-weui-theme='light']) {
    --weui-BTN-DEFAULT-COLOR: rgba(255, 255, 255, 0.8);
  }
}

body {
  --weui-BTN-DEFAULT-ACTIVE-BG: #e6e6e6;
}

body[data-weui-theme='dark'] {
  --weui-BTN-DEFAULT-ACTIVE-BG: rgba(255, 255, 255, 0.126);
}

@media (prefers-color-scheme:dark) {
  body:not([data-weui-theme='light']) {
    --weui-BTN-DEFAULT-ACTIVE-BG: rgba(255, 255, 255, 0.126);
  }
}

body {
  --weui-DIALOG-LINE-COLOR: rgba(0, 0, 0, 0.1);
}

body[data-weui-theme='dark'] {
  --weui-DIALOG-LINE-COLOR: rgba(255, 255, 255, 0.1);
}

@media (prefers-color-scheme:dark) {
  body:not([data-weui-theme='light']) {
    --weui-DIALOG-LINE-COLOR: rgba(255, 255, 255, 0.1);
  }
}

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  line-height: 1.6;
  font-family: -apple-system-font,"Helvetica Neue",sans-serif;
}

* {
  margin: 0;
  padding: 0;
}

a img {
  border: 0;
}

a {
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

input,textarea {
  caret-color: #07c160;
  caret-color: var(--weui-BRAND);
}

::-webkit-input-placeholder {
  color: rgba(0,0,0,0.3);
  color: var(--weui-FG-2);
}

::placeholder {
  color: rgba(0,0,0,0.3);
  color: var(--weui-FG-2);
}

body {
  --weui-BG-0: #ededed;
  --weui-BG-1: #f7f7f7;
  --weui-BG-2: #fff;
  --weui-BG-3: #f7f7f7;
  --weui-BG-4: #4c4c4c;
  --weui-BG-5: #fff;
  --weui-FG-0: rgba(0, 0, 0, 0.9);
  --weui-FG-HALF: rgba(0, 0, 0, 0.9);
  --weui-FG-1: rgba(0, 0, 0, 0.5);
  --weui-FG-2: rgba(0, 0, 0, 0.3);
  --weui-FG-3: rgba(0, 0, 0, 0.1);
  --weui-RED: #fa5151;
  --weui-ORANGE: #fa9d3b;
  --weui-YELLOW: #ffc300;
  --weui-GREEN: #91d300;
  --weui-LIGHTGREEN: #95ec69;
  --weui-BRAND: #07c160;
  --weui-BLUE: #10aeff;
  --weui-INDIGO: #1485ee;
  --weui-PURPLE: #6467f0;
  --weui-WHITE: #fff;
  --weui-LINK: #576b95;
  --weui-LINK-ACTIVE: rgba(87, 107, 149, 0.5);
  --weui-TEXTGREEN: #06ae56;
  --weui-FG: black;
  --weui-BG: white;
  --weui-TAG-TEXT-ORANGE: #fa9d3b;
  --weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, 0.1);
  --weui-TAG-TEXT-GREEN: #06ae56;
  --weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, 0.1);
  --weui-TAG-TEXT-BLUE: #10aeff;
  --weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, 0.1);
  --weui-TAG-TEXT-BLACK: rgba(0, 0, 0, 0.5);
  --weui-TAG-BACKGROUND-BLACK: rgba(0, 0, 0, 0.05);
}

@media (prefers-color-scheme:dark) {
  body:not([data-weui-theme='light']) {
    --weui-BG-0: #111111;
    --weui-BG-1: #1e1e1e;
    --weui-BG-2: #191919;
    --weui-BG-3: #202020;
    --weui-BG-4: #404040;
    --weui-BG-5: #2c2c2c;
    --weui-FG-0: rgba(255, 255, 255, 0.8);
    --weui-FG-HALF: rgba(255, 255, 255, 0.6);
    --weui-FG-1: rgba(255, 255, 255, 0.5);
    --weui-FG-2: rgba(255, 255, 255, 0.3);
    --weui-FG-3: rgba(255, 255, 255, 0.05);
    --weui-RED: #fa5151;
    --weui-ORANGE: #c87d2f;
    --weui-YELLOW: #cc9c00;
    --weui-GREEN: #74a800;
    --weui-LIGHTGREEN: #3eb575;
    --weui-BRAND: #07c160;
    --weui-BLUE: #10aeff;
    --weui-INDIGO: #1196ff;
    --weui-PURPLE: #8183ff;
    --weui-WHITE: rgba(255, 255, 255, 0.8);
    --weui-LINK: #7d90a9;
    --weui-LINK-ACTIVE: rgba(125, 144, 169, 0.5);
    --weui-TEXTGREEN: #259c5c;
    --weui-FG: white;
    --weui-BG: black;
    --weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, 0.6);
    --weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, 0.1);
    --weui-TAG-TEXT-GREEN: rgba(6, 174, 86, 0.6);
    --weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, 0.1);
    --weui-TAG-TEXT-BLUE: rgba(16, 174, 255, 0.6);
    --weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, 0.1);
    --weui-TAG-TEXT-BLACK: rgba(255, 255, 255, 0.5);
    --weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, 0.05);
  }
}

body[data-weui-theme='dark'] {
  --weui-BG-0: #111111;
  --weui-BG-1: #1e1e1e;
  --weui-BG-2: #191919;
  --weui-BG-3: #202020;
  --weui-BG-4: #404040;
  --weui-BG-5: #2c2c2c;
  --weui-FG-0: rgba(255, 255, 255, 0.8);
  --weui-FG-HALF: rgba(255, 255, 255, 0.6);
  --weui-FG-1: rgba(255, 255, 255, 0.5);
  --weui-FG-2: rgba(255, 255, 255, 0.3);
  --weui-FG-3: rgba(255, 255, 255, 0.05);
  --weui-RED: #fa5151;
  --weui-ORANGE: #c87d2f;
  --weui-YELLOW: #cc9c00;
  --weui-GREEN: #74a800;
  --weui-LIGHTGREEN: #3eb575;
  --weui-BRAND: #07c160;
  --weui-BLUE: #10aeff;
  --weui-INDIGO: #1196ff;
  --weui-PURPLE: #8183ff;
  --weui-WHITE: rgba(255, 255, 255, 0.8);
  --weui-LINK: #7d90a9;
  --weui-LINK-ACTIVE: rgba(125, 144, 169, 0.5);
  --weui-TEXTGREEN: #259c5c;
  --weui-FG: white;
  --weui-BG: black;
  --weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, 0.6);
  --weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, 0.1);
  --weui-TAG-TEXT-GREEN: rgba(6, 174, 86, 0.6);
  --weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, 0.1);
  --weui-TAG-TEXT-BLUE: rgba(16, 174, 255, 0.6);
  --weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, 0.1);
  --weui-TAG-TEXT-BLACK: rgba(255, 255, 255, 0.5);
  --weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, 0.05);
}

body {
  --weui-BG-COLOR-ACTIVE: #ececec;
}

body[data-weui-theme='dark'] {
  --weui-BG-COLOR-ACTIVE: #373737;
}

@media (prefers-color-scheme:dark) {
  body:not([data-weui-theme='light']) {
    --weui-BG-COLOR-ACTIVE: #373737;
  }
}

[class^="weui-icon-"],[class*=" weui-icon-"] {
  display: inline-block;
  vertical-align: middle;
  width: 24px;
  height: 24px;
  -webkit-mask-position: 50% 50%;
  mask-position: 50% 50%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
  mask-size: 100%;
  background-color: currentColor;
}

.weui-icon-circle {
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%221000%22%20height%3D%221000%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M500%20916.667C269.881%20916.667%2083.333%20730.119%2083.333%20500%2083.333%20269.881%20269.881%2083.333%20500%2083.333c230.119%200%20416.667%20186.548%20416.667%20416.667%200%20230.119-186.548%20416.667-416.667%20416.667zm0-50c202.504%200%20366.667-164.163%20366.667-366.667%200-202.504-164.163-366.667-366.667-366.667-202.504%200-366.667%20164.163-366.667%20366.667%200%20202.504%20164.163%20366.667%20366.667%20366.667z%22%20fill-rule%3D%22evenodd%22%20fill-opacity%3D%22.9%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%221000%22%20height%3D%221000%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M500%20916.667C269.881%20916.667%2083.333%20730.119%2083.333%20500%2083.333%20269.881%20269.881%2083.333%20500%2083.333c230.119%200%20416.667%20186.548%20416.667%20416.667%200%20230.119-186.548%20416.667-416.667%20416.667zm0-50c202.504%200%20366.667-164.163%20366.667-366.667%200-202.504-164.163-366.667-366.667-366.667-202.504%200-366.667%20164.163-366.667%20366.667%200%20202.504%20164.163%20366.667%20366.667%20366.667z%22%20fill-rule%3D%22evenodd%22%20fill-opacity%3D%22.9%22%2F%3E%3C%2Fsvg%3E);
}

.weui-icon-download {
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M11.25%2012.04l-1.72-1.72-1.06%201.06%202.828%202.83a1%201%200%20001.414-.001l2.828-2.828-1.06-1.061-1.73%201.73V7h-1.5v5.04zm0-5.04V2h1.5v5h6.251c.55%200%20.999.446.999.996v13.008a.998.998%200%2001-.996.996H4.996A.998.998%200%20014%2021.004V7.996A1%201%200%20014.999%207h6.251z%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M11.25%2012.04l-1.72-1.72-1.06%201.06%202.828%202.83a1%201%200%20001.414-.001l2.828-2.828-1.06-1.061-1.73%201.73V7h-1.5v5.04zm0-5.04V2h1.5v5h6.251c.55%200%20.999.446.999.996v13.008a.998.998%200%2001-.996.996H4.996A.998.998%200%20014%2021.004V7.996A1%201%200%20014.999%207h6.251z%22%2F%3E%3C%2Fsvg%3E);
}

.weui-icon-info {
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm-.75-12v7h1.5v-7h-1.5zM12%209a1%201%200%20100-2%201%201%200%20000%202z%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm-.75-12v7h1.5v-7h-1.5zM12%209a1%201%200%20100-2%201%201%200%20000%202z%22%2F%3E%3C%2Fsvg%3E);
}

.weui-icon-safe-success {
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%201000%22%3E%3Cpath%20d%3D%22M500.9%204.6C315.5%2046.7%20180.4%2093.1%2057.6%20132c0%20129.3.2%20231.7.2%20339.7%200%20304.2%20248.3%20471.6%20443.1%20523.7C695.7%20943.3%20944%20775.9%20944%20471.7c0-108%20.2-210.4.2-339.7C821.4%2093.1%20686.3%2046.7%20500.9%204.6zm248.3%20349.1l-299.7%20295c-2.1%202-5.3%202-7.4-.1L304.4%20506.1c-2-2.1-2.3-5.7-.6-8l18.3-24.9c1.7-2.3%205-2.8%207.2-1l112.2%2086c2.3%201.8%206%201.7%208.1-.1l274.7-228.9c2.2-1.8%205.7-1.7%207.7.3l17%2016.8c2.2%202.1%202.2%205.3.2%207.4z%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23070202%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%201000%22%3E%3Cpath%20d%3D%22M500.9%204.6C315.5%2046.7%20180.4%2093.1%2057.6%20132c0%20129.3.2%20231.7.2%20339.7%200%20304.2%20248.3%20471.6%20443.1%20523.7C695.7%20943.3%20944%20775.9%20944%20471.7c0-108%20.2-210.4.2-339.7C821.4%2093.1%20686.3%2046.7%20500.9%204.6zm248.3%20349.1l-299.7%20295c-2.1%202-5.3%202-7.4-.1L304.4%20506.1c-2-2.1-2.3-5.7-.6-8l18.3-24.9c1.7-2.3%205-2.8%207.2-1l112.2%2086c2.3%201.8%206%201.7%208.1-.1l274.7-228.9c2.2-1.8%205.7-1.7%207.7.3l17%2016.8c2.2%202.1%202.2%205.3.2%207.4z%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23070202%22%2F%3E%3C%2Fsvg%3E);
}

.weui-icon-safe-warn {
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%201000%22%3E%3Cpath%20d%3D%22M500.9%204.5c-185.4%2042-320.4%2088.4-443.2%20127.3%200%20129.3.2%20231.7.2%20339.6%200%20304.1%20248.2%20471.4%20443%20523.6%20194.7-52.2%20443-219.5%20443-523.6%200-107.9.2-210.3.2-339.6C821.3%2092.9%20686.2%2046.5%20500.9%204.5zm-26.1%20271.1h52.1c5.8%200%2010.3%204.7%2010.1%2010.4l-11.6%20313.8c-.1%202.8-2.5%205.2-5.4%205.2h-38.2c-2.9%200-5.3-2.3-5.4-5.2L464.8%20286c-.2-5.8%204.3-10.4%2010-10.4zm26.1%20448.3c-20.2%200-36.5-16.3-36.5-36.5s16.3-36.5%2036.5-36.5%2036.5%2016.3%2036.5%2036.5-16.4%2036.5-36.5%2036.5z%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23020202%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201000%201000%22%3E%3Cpath%20d%3D%22M500.9%204.5c-185.4%2042-320.4%2088.4-443.2%20127.3%200%20129.3.2%20231.7.2%20339.6%200%20304.1%20248.2%20471.4%20443%20523.6%20194.7-52.2%20443-219.5%20443-523.6%200-107.9.2-210.3.2-339.6C821.3%2092.9%20686.2%2046.5%20500.9%204.5zm-26.1%20271.1h52.1c5.8%200%2010.3%204.7%2010.1%2010.4l-11.6%20313.8c-.1%202.8-2.5%205.2-5.4%205.2h-38.2c-2.9%200-5.3-2.3-5.4-5.2L464.8%20286c-.2-5.8%204.3-10.4%2010-10.4zm26.1%20448.3c-20.2%200-36.5-16.3-36.5-36.5s16.3-36.5%2036.5-36.5%2036.5%2016.3%2036.5%2036.5-16.4%2036.5-36.5%2036.5z%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23020202%22%2F%3E%3C%2Fsvg%3E);
}

.weui-icon-success {
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm-1.177-7.86l-2.765-2.767L7%2012.431l3.119%203.121a1%201%200%20001.414%200l5.952-5.95-1.062-1.062-5.6%205.6z%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm-1.177-7.86l-2.765-2.767L7%2012.431l3.119%203.121a1%201%200%20001.414%200l5.952-5.95-1.062-1.062-5.6%205.6z%22%2F%3E%3C%2Fsvg%3E);
}

.weui-icon-success-circle {
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm0-1.2a8.8%208.8%200%20100-17.6%208.8%208.8%200%20000%2017.6zm-1.172-6.242l5.809-5.808.848.849-5.95%205.95a1%201%200%2001-1.414%200L7%2012.426l.849-.849%202.98%202.98z%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm0-1.2a8.8%208.8%200%20100-17.6%208.8%208.8%200%20000%2017.6zm-1.172-6.242l5.809-5.808.848.849-5.95%205.95a1%201%200%2001-1.414%200L7%2012.426l.849-.849%202.98%202.98z%22%2F%3E%3C%2Fsvg%3E);
}

.weui-icon-success-no-circle {
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8.657%2018.435L3%2012.778l1.414-1.414%204.95%204.95L20.678%205l1.414%201.414-12.02%2012.021a1%201%200%2001-1.415%200z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8.657%2018.435L3%2012.778l1.414-1.414%204.95%204.95L20.678%205l1.414%201.414-12.02%2012.021a1%201%200%2001-1.415%200z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
}

.weui-icon-waiting {
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12.75%2011.38V6h-1.5v6l4.243%204.243%201.06-1.06-3.803-3.804zM12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12.75%2011.38V6h-1.5v6l4.243%204.243%201.06-1.06-3.803-3.804zM12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
}

.weui-icon-waiting-circle {
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12.6%2011.503l3.891%203.891-.848.849L11.4%2012V6h1.2v5.503zM12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm0-1.2a8.8%208.8%200%20100-17.6%208.8%208.8%200%20000%2017.6z%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12.6%2011.503l3.891%203.891-.848.849L11.4%2012V6h1.2v5.503zM12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm0-1.2a8.8%208.8%200%20100-17.6%208.8%208.8%200%20000%2017.6z%22%2F%3E%3C%2Fsvg%3E);
}

.weui-icon-warn {
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm-.763-15.864l.11%207.596h1.305l.11-7.596h-1.525zm.759%2010.967c.512%200%20.902-.383.902-.882%200-.5-.39-.882-.902-.882a.878.878%200%2000-.896.882c0%20.499.396.882.896.882z%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm-.763-15.864l.11%207.596h1.305l.11-7.596h-1.525zm.759%2010.967c.512%200%20.902-.383.902-.882%200-.5-.39-.882-.902-.882a.878.878%200%2000-.896.882c0%20.499.396.882.896.882z%22%2F%3E%3C%2Fsvg%3E);
}

.weui-icon-info-circle {
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm0-1.2a8.8%208.8%200%20100-17.6%208.8%208.8%200%20000%2017.6zM11.4%2010h1.2v7h-1.2v-7zm.6-1a1%201%200%20110-2%201%201%200%20010%202z%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm0-1.2a8.8%208.8%200%20100-17.6%208.8%208.8%200%20000%2017.6zM11.4%2010h1.2v7h-1.2v-7zm.6-1a1%201%200%20110-2%201%201%200%20010%202z%22%2F%3E%3C%2Fsvg%3E);
}

.weui-icon-cancel {
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill-rule%3D%22evenodd%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm0-1.2a8.8%208.8%200%20100-17.6%208.8%208.8%200%20000%2017.6z%22%20fill-rule%3D%22nonzero%22%2F%3E%3Cpath%20d%3D%22M12.849%2012l3.11%203.111-.848.849L12%2012.849l-3.111%203.11-.849-.848L11.151%2012l-3.11-3.111.848-.849L12%2011.151l3.111-3.11.849.848L12.849%2012z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill-rule%3D%22evenodd%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm0-1.2a8.8%208.8%200%20100-17.6%208.8%208.8%200%20000%2017.6z%22%20fill-rule%3D%22nonzero%22%2F%3E%3Cpath%20d%3D%22M12.849%2012l3.11%203.111-.848.849L12%2012.849l-3.111%203.11-.849-.848L11.151%2012l-3.11-3.111.848-.849L12%2011.151l3.111-3.11.849.848L12.849%2012z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E);
}

.weui-icon-search {
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M16.31%2015.561l4.114%204.115-.848.848-4.123-4.123a7%207%200%2011.857-.84zM16.8%2011a5.8%205.8%200%2010-11.6%200%205.8%205.8%200%200011.6%200z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M16.31%2015.561l4.114%204.115-.848.848-4.123-4.123a7%207%200%2011.857-.84zM16.8%2011a5.8%205.8%200%2010-11.6%200%205.8%205.8%200%200011.6%200z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
}

.weui-icon-clear {
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M13.06%2012l3.006-3.005-1.06-1.06L12%2010.938%208.995%207.934l-1.06%201.06L10.938%2012l-3.005%203.005%201.06%201.06L12%2013.062l3.005%203.005%201.06-1.06L13.062%2012zM12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010z%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M13.06%2012l3.006-3.005-1.06-1.06L12%2010.938%208.995%207.934l-1.06%201.06L10.938%2012l-3.005%203.005%201.06%201.06L12%2013.062l3.005%203.005%201.06-1.06L13.062%2012zM12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010z%22%2F%3E%3C%2Fsvg%3E);
}

.weui-icon-back {
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm1.999-6.563L10.68%2012%2014%208.562%2012.953%207.5%209.29%2011.277a1.045%201.045%200%20000%201.446l3.663%203.777L14%2015.437z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm1.999-6.563L10.68%2012%2014%208.562%2012.953%207.5%209.29%2011.277a1.045%201.045%200%20000%201.446l3.663%203.777L14%2015.437z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
}

.weui-icon-delete {
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M6.774%206.4l.812%2013.648a.8.8%200%2000.798.752h7.232a.8.8%200%2000.798-.752L17.226%206.4H6.774zm11.655%200l-.817%2013.719A2%202%200%200115.616%2022H8.384a2%202%200%2001-1.996-1.881L5.571%206.4H3.5v-.7a.5.5%200%2001.5-.5h16a.5.5%200%2001.5.5v.7h-2.071zM14%203a.5.5%200%2001.5.5v.7h-5v-.7A.5.5%200%200110%203h4zM9.5%209h1.2l.5%209H10l-.5-9zm3.8%200h1.2l-.5%209h-1.2l.5-9z%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M6.774%206.4l.812%2013.648a.8.8%200%2000.798.752h7.232a.8.8%200%2000.798-.752L17.226%206.4H6.774zm11.655%200l-.817%2013.719A2%202%200%200115.616%2022H8.384a2%202%200%2001-1.996-1.881L5.571%206.4H3.5v-.7a.5.5%200%2001.5-.5h16a.5.5%200%2001.5.5v.7h-2.071zM14%203a.5.5%200%2001.5.5v.7h-5v-.7A.5.5%200%200110%203h4zM9.5%209h1.2l.5%209H10l-.5-9zm3.8%200h1.2l-.5%209h-1.2l.5-9z%22%2F%3E%3C%2Fsvg%3E);
}

.weui-icon-success-no-circle-thin {
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8.864%2016.617l-5.303-5.303-1.061%201.06%205.657%205.657a1%201%200%20001.414%200L21.238%206.364l-1.06-1.06L8.864%2016.616z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8.864%2016.617l-5.303-5.303-1.061%201.06%205.657%205.657a1%201%200%20001.414%200L21.238%206.364l-1.06-1.06L8.864%2016.616z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
}

.weui-icon-arrow {
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2.454%206.58l1.06-1.06%205.78%205.779a.996.996%200%20010%201.413l-5.78%205.779-1.06-1.061%205.425-5.425-5.425-5.424z%22%20fill%3D%22%23B2B2B2%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2.454%206.58l1.06-1.06%205.78%205.779a.996.996%200%20010%201.413l-5.78%205.779-1.06-1.061%205.425-5.425-5.425-5.424z%22%20fill%3D%22%23B2B2B2%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
}

.weui-icon-arrow-bold {
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20height%3D%2224%22%20width%3D%2212%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10.157%2012.711L4.5%2018.368l-1.414-1.414%204.95-4.95-4.95-4.95L4.5%205.64l5.657%205.657a1%201%200%20010%201.414z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20height%3D%2224%22%20width%3D%2212%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10.157%2012.711L4.5%2018.368l-1.414-1.414%204.95-4.95-4.95-4.95L4.5%205.64l5.657%205.657a1%201%200%20010%201.414z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
}

.weui-icon-back-arrow {
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M3.343%2012l7.071%207.071L9%2020.485l-7.778-7.778a1%201%200%20010-1.414L9%203.515l1.414%201.414L3.344%2012z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M3.343%2012l7.071%207.071L9%2020.485l-7.778-7.778a1%201%200%20010-1.414L9%203.515l1.414%201.414L3.344%2012z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
}

.weui-icon-back-arrow-thin {
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10%2019.438L8.955%2020.5l-7.666-7.79a1.02%201.02%200%20010-1.42L8.955%203.5%2010%204.563%202.682%2012%2010%2019.438z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10%2019.438L8.955%2020.5l-7.666-7.79a1.02%201.02%200%20010-1.42L8.955%203.5%2010%204.563%202.682%2012%2010%2019.438z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
}

.weui-icon-close {
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2010.586l5.657-5.657%201.414%201.414L13.414%2012l5.657%205.657-1.414%201.414L12%2013.414l-5.657%205.657-1.414-1.414L10.586%2012%204.929%206.343%206.343%204.93%2012%2010.586z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2010.586l5.657-5.657%201.414%201.414L13.414%2012l5.657%205.657-1.414%201.414L12%2013.414l-5.657%205.657-1.414-1.414L10.586%2012%204.929%206.343%206.343%204.93%2012%2010.586z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
}

.weui-icon-close-thin {
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12.25%2010.693L6.057%204.5%205%205.557l6.193%206.193L5%2017.943%206.057%2019l6.193-6.193L18.443%2019l1.057-1.057-6.193-6.193L19.5%205.557%2018.443%204.5z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12.25%2010.693L6.057%204.5%205%205.557l6.193%206.193L5%2017.943%206.057%2019l6.193-6.193L18.443%2019l1.057-1.057-6.193-6.193L19.5%205.557%2018.443%204.5z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
}

.weui-icon-back-circle {
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm0-1.2a8.8%208.8%200%20100-17.6%208.8%208.8%200%20000%2017.6zm1.999-5.363L12.953%2016.5%209.29%2012.723a1.045%201.045%200%20010-1.446L12.953%207.5%2014%208.563%2010.68%2012%2014%2015.438z%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm0-1.2a8.8%208.8%200%20100-17.6%208.8%208.8%200%20000%2017.6zm1.999-5.363L12.953%2016.5%209.29%2012.723a1.045%201.045%200%20010-1.446L12.953%207.5%2014%208.563%2010.68%2012%2014%2015.438z%22%2F%3E%3C%2Fsvg%3E);
}

.weui-icon-success {
  color: #07c160;
  color: var(--weui-BRAND);
}

.weui-icon-waiting {
  color: #10aeff;
  color: var(--weui-BLUE);
}

.weui-icon-warn {
  color: #fa5151;
  color: var(--weui-RED);
}

.weui-icon-info {
  color: #10aeff;
  color: var(--weui-BLUE);
}

.weui-icon-success-circle {
  color: #07c160;
  color: var(--weui-BRAND);
}

.weui-icon-success-no-circle,.weui-icon-success-no-circle-thin {
  color: #07c160;
  color: var(--weui-BRAND);
}

.weui-icon-waiting-circle {
  color: #10aeff;
  color: var(--weui-BLUE);
}

.weui-icon-circle {
  color: rgba(0,0,0,0.3);
  color: var(--weui-FG-2);
}

.weui-icon-download {
  color: #07c160;
  color: var(--weui-BRAND);
}

.weui-icon-info-circle {
  color: rgba(0,0,0,0.3);
  color: var(--weui-FG-2);
}

.weui-icon-safe-success {
  color: #07c160;
  color: var(--weui-BRAND);
}

.weui-icon-safe-warn {
  color: #ffc300;
  color: var(--weui-YELLOW);
}

.weui-icon-cancel {
  color: #fa5151;
  color: var(--weui-RED);
}

.weui-icon-search {
  color: rgba(0,0,0,0.5);
  color: var(--weui-FG-1);
}

.weui-icon-clear {
  color: rgba(0,0,0,0.3);
  color: var(--weui-FG-2);
}

.weui-icon-clear:active {
  color: rgba(0,0,0,0.5);
  color: var(--weui-FG-1);
}

.weui-icon-delete.weui-icon_gallery-delete {
  color: #fff;
  color: var(--weui-WHITE);
}

.weui-icon-arrow,.weui-icon-arrow-bold,.weui-icon-back-arrow,.weui-icon-back-arrow-thin {
  width: 12px;
}

.weui-icon-arrow,.weui-icon-arrow-bold {
  color: rgba(0,0,0,0.3);
  color: var(--weui-FG-2);
}

.weui-icon-back-arrow,.weui-icon-back-arrow-thin {
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-0);
}

.weui-icon-back,.weui-icon-back-circle {
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-0);
}

.weui-icon_msg {
  width: 64px;
  height: 64px;
}

.weui-icon_msg.weui-icon-warn {
  color: #fa5151;
  color: var(--weui-RED);
}

.weui-icon_msg-primary {
  width: 64px;
  height: 64px;
}

.weui-icon_msg-primary.weui-icon-warn {
  color: #ffc300;
  color: var(--weui-YELLOW);
}

.weui-link {
  color: #576b95;
  color: var(--weui-LINK);
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

.weui-link:visited {
  color: #576b95;
  color: var(--weui-LINK);
}

.weui-btn {
  position: relative;
  display: block;
  width: 184px;
  margin-left: auto;
  margin-right: auto;
  padding: 8px 24px;
  box-sizing: border-box;
  font-weight: 700;
  font-size: 17px;
  text-align: center;
  text-decoration: none;
  color: #fff;
  line-height: 1.41176471;
  border-radius: 4px;
  overflow: hidden;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

.weui-btn_block {
  width: auto;
}

.weui-btn_inline {
  display: inline-block;
}

.weui-btn_default {
  color: #06ae56;
  color: var(--weui-BTN-DEFAULT-COLOR);
  background-color: #f2f2f2;
  background-color: var(--weui-BTN-DEFAULT-BG);
}

.weui-btn_default:not(.weui-btn_disabled):visited {
  color: #06ae56;
  color: var(--weui-BTN-DEFAULT-COLOR);
}

.weui-btn_default:not(.weui-btn_disabled):active {
  background-color: #e6e6e6;
  background-color: var(--weui-BTN-DEFAULT-ACTIVE-BG);
}

.weui-btn_primary {
  background-color: #07c160;
  background-color: var(--weui-BRAND);
}

.weui-btn_primary:not(.weui-btn_disabled):visited {
  color: #fff;
}

.weui-btn_primary:not(.weui-btn_disabled):active {
  background-color: #06ae56;
  background-color: var(--weui-TAG-TEXT-GREEN);
}

.weui-btn_warn {
  color: #fa5151;
  color: var(--weui-RED);
  background-color: #f2f2f2;
  background-color: var(--weui-BTN-DEFAULT-BG);
}

.weui-btn_warn:not(.weui-btn_disabled):visited {
  color: #fa5151;
  color: var(--weui-RED);
}

.weui-btn_warn:not(.weui-btn_disabled):active {
  background-color: #e6e6e6;
  background-color: var(--weui-BTN-DEFAULT-ACTIVE-BG);
}

.weui-btn_disabled {
  color: rgba(0,0,0,0.2);
  color: var(--weui-BTN-DISABLED-FONT-COLOR);
  background-color: #f2f2f2;
  background-color: var(--weui-BTN-DEFAULT-BG);
}

.weui-btn_loading .weui-loading {
  margin: -0.2em 0.34em 0 0;
}

.weui-btn_loading .weui-primary-loading {
  margin: -0.2em 8px 0 0;
  vertical-align: middle;
}

.weui-btn_loading.weui-btn_primary {
  background-color: #06ae56;
  background-color: var(--weui-TAG-TEXT-GREEN);
  color: #fff;
  color: var(--weui-WHITE);
}

.weui-btn_loading.weui-btn_default {
  background-color: #e6e6e6;
  background-color: var(--weui-BTN-DEFAULT-ACTIVE-BG);
}

.weui-btn_loading.weui-btn_warn {
  background-color: #e6e6e6;
  background-color: var(--weui-BTN-DEFAULT-ACTIVE-BG);
}

.weui-btn_cell {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
  font-size: 17px;
  text-align: center;
  text-decoration: none;
  color: #fff;
  line-height: 1.41176471;
  padding: 16px;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  overflow: hidden;
  background-color: #fff;
  background-color: var(--weui-BG-5);
}

.weui-btn_cell+.weui-btn_cell {
  margin-top: 16px;
}

.weui-btn_cell:active {
  background-color: #ececec;
  background-color: var(--weui-BG-COLOR-ACTIVE);
}

.weui-btn_cell__icon {
  display: inline-block;
  vertical-align: middle;
  width: 24px;
  height: 24px;
  margin: -0.2em 0.34em 0 0;
}

.weui-btn_cell-default {
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-0);
}

.weui-btn_cell-primary {
  color: #576b95;
  color: var(--weui-LINK);
}

.weui-btn_cell-warn {
  color: #fa5151;
  color: var(--weui-RED);
}

button.weui-btn,input.weui-btn {
  border-width: 0;
  outline: 0;
  -webkit-appearance: none;
}

button.weui-btn:focus,input.weui-btn:focus {
  outline: 0;
}

button.weui-btn_inline,input.weui-btn_inline,button.weui-btn_mini,input.weui-btn_mini {
  width: auto;
}

.weui-btn_mini {
  display: inline-block;
  width: auto;
  padding: 0 0.75em;
  line-height: 2;
  font-size: 16px;
}

.weui-btn:not(.weui-btn_mini)+.weui-btn:not(.weui-btn_mini) {
  margin-top: 16px;
}

.weui-btn.weui-btn_inline+.weui-btn.weui-btn_inline {
  margin-top: auto;
  margin-left: 16px;
}

.weui-btn-area {
  margin: 48px 16px 8px;
}

.weui-btn-area_inline {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
}

.weui-btn-area_inline .weui-btn {
  margin-top: auto;
  margin-right: 16px;
  width: 100%;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
}

.weui-btn-area_inline .weui-btn:last-child {
  margin-right: 0;
}

.weui-btn_reset {
  background: transparent;
  border: 0;
  padding: 0;
  outline: 0;
}

.weui-btn_icon {
  font-size: 0;
}

.weui-btn_icon:active [class*="weui-icon-"] {
  color: rgba(0,0,0,0.5);
  color: var(--weui-FG-1);
}

.weui-cells {
  margin-top: 8px;
  background-color: #fff;
  background-color: var(--weui-BG-2);
  line-height: 1.41176471;
  font-size: 17px;
  overflow: hidden;
  position: relative;
}

.weui-cells:before {
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 1px;
  border-top: 1px solid rgba(0,0,0,0.1);
  border-top: 1px solid var(--weui-FG-3);
  color: rgba(0,0,0,0.1);
  color: var(--weui-FG-3);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: scaleY(0.5);
  transform: scaleY(0.5);
  z-index: 2;
}

.weui-cells:after {
  content: " ";
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  height: 1px;
  border-bottom: 1px solid rgba(0,0,0,0.1);
  border-bottom: 1px solid var(--weui-FG-3);
  color: rgba(0,0,0,0.1);
  color: var(--weui-FG-3);
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%;
  -webkit-transform: scaleY(0.5);
  transform: scaleY(0.5);
  z-index: 2;
}

.weui-cells__title {
  margin-top: 16px;
  margin-bottom: 3px;
  padding-left: 16px;
  padding-right: 16px;
  color: rgba(0,0,0,0.5);
  color: var(--weui-FG-1);
  font-size: 14px;
  line-height: 1.4;
}

.weui-cells__title+.weui-cells {
  margin-top: 0;
}

.weui-cells__tips {
  margin-top: 8px;
  color: rgba(0,0,0,0.5);
  color: var(--weui-FG-1);
  padding-left: 16px;
  padding-right: 16px;
  font-size: 14px;
  line-height: 1.4;
}

.weui-cells__tips a,.weui-cells__tips navigator {
  color: #576b95;
  color: var(--weui-LINK);
}

.weui-cells__tips navigator {
  display: inline;
}

.weui-cell {
  padding: 16px;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.weui-cell:before {
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 1px;
  border-top: 1px solid rgba(0,0,0,0.1);
  border-top: 1px solid var(--weui-FG-3);
  color: rgba(0,0,0,0.1);
  color: var(--weui-FG-3);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: scaleY(0.5);
  transform: scaleY(0.5);
  left: 16px;
  z-index: 2;
}

.weui-cell:first-child:before {
  display: none;
}

.weui-cell_active:active {
  background-color: #ececec;
  background-color: var(--weui-BG-COLOR-ACTIVE);
}

.weui-cell_primary {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

.weui-cell__bd {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
}

.weui-cell__ft {
  text-align: right;
  color: rgba(0,0,0,0.5);
  color: var(--weui-FG-1);
}

.weui-cell_swiped {
  display: block;
  padding: 0;
}

.weui-cell_swiped>.weui-cell__bd {
  position: relative;
  z-index: 1;
  background-color: #fff;
  background-color: var(--weui-BG-2);
}

.weui-cell_swiped>.weui-cell__ft {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  color: #fff;
}

.weui-swiped-btn {
  display: block;
  padding: 16px 1em;
  line-height: 1.41176471;
  color: inherit;
}

.weui-swiped-btn_default {
  background-color: #ededed;
  background-color: var(--weui-BG-0);
}

.weui-swiped-btn_warn {
  background-color: #fa5151;
  background-color: var(--weui-RED);
}

.weui-cell_access {
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  color: inherit;
}

.weui-cell_access:active {
  background-color: #ececec;
  background-color: var(--weui-BG-COLOR-ACTIVE);
}

.weui-cell_access .weui-cell__ft {
  padding-right: 22px;
  position: relative;
}

.weui-cell_access .weui-cell__ft:after {
  content: " ";
  width: 12px;
  height: 24px;
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
  mask-size: 100%;
  background-color: currentColor;
  color: rgba(0,0,0,0.3);
  color: var(--weui-FG-2);
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2.454%206.58l1.06-1.06%205.78%205.779a.996.996%200%20010%201.413l-5.78%205.779-1.06-1.061%205.425-5.425-5.425-5.424z%22%20fill%3D%22%23B2B2B2%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2.454%206.58l1.06-1.06%205.78%205.779a.996.996%200%20010%201.413l-5.78%205.779-1.06-1.061%205.425-5.425-5.425-5.424z%22%20fill%3D%22%23B2B2B2%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -12px;
}

.weui-cell_link {
  color: #576b95;
  color: var(--weui-LINK);
  font-size: 17px;
}

.weui-cell_link:first-child:before {
  display: block;
}

.weui-check__label {
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

.weui-check__label:active {
  background-color: #ececec;
  background-color: var(--weui-BG-COLOR-ACTIVE);
}

.weui-check {
  position: absolute;
  left: -9999px;
}

.weui-cells_radio .weui-cell__ft {
  padding-left: 16px;
  font-size: 0;
}

.weui-cells_radio .weui-check+.weui-icon-checked {
  min-width: 16px;
  color: transparent;
}

.weui-cells_radio .weui-check:checked+.weui-icon-checked,.weui-cells_radio .weui-check[aria-checked="true"]+.weui-icon-checked {
  color: #07c160;
  color: var(--weui-BRAND);
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8.657%2018.435L3%2012.778l1.414-1.414%204.95%204.95L20.678%205l1.414%201.414-12.02%2012.021a1%201%200%2001-1.415%200z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8.657%2018.435L3%2012.778l1.414-1.414%204.95%204.95L20.678%205l1.414%201.414-12.02%2012.021a1%201%200%2001-1.415%200z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
}

.weui-cells_checkbox .weui-check__label:before {
  left: 55px;
}

.weui-cells_checkbox .weui-cell__hd {
  padding-right: 16px;
  font-size: 0;
}

.weui-cells_checkbox .weui-icon-checked {
  color: rgba(0,0,0,0.3);
  color: var(--weui-FG-2);
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%221000%22%20height%3D%221000%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M500%20916.667C269.881%20916.667%2083.333%20730.119%2083.333%20500%2083.333%20269.881%20269.881%2083.333%20500%2083.333c230.119%200%20416.667%20186.548%20416.667%20416.667%200%20230.119-186.548%20416.667-416.667%20416.667zm0-50c202.504%200%20366.667-164.163%20366.667-366.667%200-202.504-164.163-366.667-366.667-366.667-202.504%200-366.667%20164.163-366.667%20366.667%200%20202.504%20164.163%20366.667%20366.667%20366.667z%22%20fill-rule%3D%22evenodd%22%20fill-opacity%3D%22.9%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%221000%22%20height%3D%221000%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M500%20916.667C269.881%20916.667%2083.333%20730.119%2083.333%20500%2083.333%20269.881%20269.881%2083.333%20500%2083.333c230.119%200%20416.667%20186.548%20416.667%20416.667%200%20230.119-186.548%20416.667-416.667%20416.667zm0-50c202.504%200%20366.667-164.163%20366.667-366.667%200-202.504-164.163-366.667-366.667-366.667-202.504%200-366.667%20164.163-366.667%20366.667%200%20202.504%20164.163%20366.667%20366.667%20366.667z%22%20fill-rule%3D%22evenodd%22%20fill-opacity%3D%22.9%22%2F%3E%3C%2Fsvg%3E);
}

.weui-cells_checkbox .weui-check:checked+.weui-icon-checked,.weui-cells_checkbox .weui-check[aria-checked="true"]+.weui-icon-checked {
  color: #07c160;
  color: var(--weui-BRAND);
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm-1.177-7.86l-2.765-2.767L7%2012.431l3.119%203.121a1%201%200%20001.414%200l5.952-5.95-1.062-1.062-5.6%205.6z%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm-1.177-7.86l-2.765-2.767L7%2012.431l3.119%203.121a1%201%200%20001.414%200l5.952-5.95-1.062-1.062-5.6%205.6z%22%2F%3E%3C%2Fsvg%3E);
}

.weui-label {
  display: block;
  width: 105px;
  word-wrap: break-word;
  word-break: break-all;
}

.weui-input {
  width: 100%;
  border: 0;
  outline: 0;
  -webkit-appearance: none;
  background-color: transparent;
  font-size: inherit;
  color: inherit;
  height: 1.41176471em;
  line-height: 1.41176471;
}

.weui-input::-webkit-outer-spin-button,.weui-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.weui-input:focus:not(:placeholder-shown)+.weui-btn_input-clear {
  display: inline;
}

.weui-textarea {
  display: block;
  border: 0;
  resize: none;
  background: transparent;
  width: 100%;
  color: inherit;
  font-size: 1em;
  line-height: inherit;
  outline: 0;
}

.weui-textarea-counter {
  color: rgba(0,0,0,0.3);
  color: var(--weui-FG-2);
  text-align: right;
  font-size: 14px;
}

.weui-cell_warn .weui-textarea-counter {
  color: #fa5151;
  color: var(--weui-RED);
}

.weui-cells_form .weui-cell_switch:active,.weui-cells_form .weui-cell_vcode:active,.weui-cells_form .weui-cell_readonly:active,.weui-cells_form .weui-cell_disabled:active {
  background-color: transparent;
}

.weui-cells_form .weui-cell__ft {
  font-size: 0;
}

.weui-cells_form .weui-icon-warn {
  display: none;
}

.weui-cells_form input,.weui-cells_form textarea,.weui-cells_form label[for] {
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

.weui-cell_warn {
  color: #fa5151;
  color: var(--weui-RED);
}

.weui-cell_warn .weui-icon-warn {
  display: inline-block;
}

.weui-cell_readonly .weui-input:disabled,.weui-cell_disabled .weui-input:disabled,.weui-cell_readonly .weui-textarea:disabled,.weui-cell_disabled .weui-textarea:disabled {
  opacity: 1;
  -webkit-text-fill-color: rgba(0,0,0,0.5);
  -webkit-text-fill-color: var(--weui-FG-1);
}

.weui-cell_readonly .weui-input[disabled],.weui-cell_disabled .weui-input[disabled],.weui-cell_readonly .weui-textarea[disabled],.weui-cell_disabled .weui-textarea[disabled],.weui-cell_readonly .weui-input[readonly],.weui-cell_disabled .weui-input[readonly],.weui-cell_readonly .weui-textarea[readonly],.weui-cell_disabled .weui-textarea[readonly] {
  color: rgba(0,0,0,0.5);
  color: var(--weui-FG-1);
}

.weui-btn_input-clear {
  display: none;
  padding-left: 8px;
}

.weui-btn_input-clear [class*="weui-icon-"] {
  width: 18px;
}

.weui-form-preview {
  position: relative;
  background-color: #fff;
  background-color: var(--weui-BG-2);
}

.weui-form-preview:before {
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 1px;
  border-top: 1px solid rgba(0,0,0,0.1);
  border-top: 1px solid var(--weui-FG-3);
  color: rgba(0,0,0,0.1);
  color: var(--weui-FG-3);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: scaleY(0.5);
  transform: scaleY(0.5);
}

.weui-form-preview:after {
  content: " ";
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  height: 1px;
  border-bottom: 1px solid rgba(0,0,0,0.1);
  border-bottom: 1px solid var(--weui-FG-3);
  color: rgba(0,0,0,0.1);
  color: var(--weui-FG-3);
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%;
  -webkit-transform: scaleY(0.5);
  transform: scaleY(0.5);
}

.weui-form-preview__hd {
  position: relative;
  padding: 16px;
  text-align: right;
  line-height: 2.5em;
}

.weui-form-preview__hd:after {
  content: " ";
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  height: 1px;
  border-bottom: 1px solid rgba(0,0,0,0.1);
  border-bottom: 1px solid var(--weui-FG-3);
  color: rgba(0,0,0,0.1);
  color: var(--weui-FG-3);
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%;
  -webkit-transform: scaleY(0.5);
  transform: scaleY(0.5);
  left: 16px;
}

.weui-form-preview__hd .weui-form-preview__value {
  font-style: normal;
  font-size: 1.6em;
}

.weui-form-preview__bd {
  padding: 16px;
  font-size: 0.9em;
  text-align: right;
  color: rgba(0,0,0,0.5);
  color: var(--weui-FG-1);
  line-height: 2;
}

.weui-form-preview__ft {
  position: relative;
  line-height: 50px;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
}

.weui-form-preview__ft:before {
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 1px;
  border-top: 1px solid rgba(0,0,0,0.1);
  border-top: 1px solid var(--weui-DIALOG-LINE-COLOR);
  color: rgba(0,0,0,0.1);
  color: var(--weui-DIALOG-LINE-COLOR);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: scaleY(0.5);
  transform: scaleY(0.5);
}

.weui-form-preview__item {
  overflow: hidden;
}

.weui-form-preview__label {
  float: left;
  margin-right: 1em;
  min-width: 4em;
  color: rgba(0,0,0,0.5);
  color: var(--weui-FG-1);
  text-align: justify;
  text-align-last: justify;
}

.weui-form-preview__value {
  display: block;
  overflow: hidden;
  word-break: normal;
  word-wrap: break-word;
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-0);
}

.weui-form-preview__btn {
  position: relative;
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
  color: #576b95;
  color: var(--weui-LINK);
  text-align: center;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

button.weui-form-preview__btn {
  background-color: transparent;
  border: 0;
  outline: 0;
  line-height: inherit;
  font-size: inherit;
}

.weui-form-preview__btn:active {
  background-color: #ececec;
  background-color: var(--weui-BG-COLOR-ACTIVE);
}

.weui-form-preview__btn:after {
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  bottom: 0;
  border-left: 1px solid rgba(0,0,0,0.1);
  border-left: 1px solid var(--weui-DIALOG-LINE-COLOR);
  color: rgba(0,0,0,0.1);
  color: var(--weui-DIALOG-LINE-COLOR);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: scaleX(0.5);
  transform: scaleX(0.5);
}

.weui-form-preview__btn:first-child:after {
  display: none;
}

.weui-form-preview__btn_default {
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-HALF);
}

.weui-form-preview__btn_primary {
  color: #576b95;
  color: var(--weui-LINK);
}

.weui-form-preview__list {
  padding-top: 24px;
  padding-bottom: 24px;
  line-height: 1.4;
  font-size: 14px;
  position: relative;
}

.weui-form-preview__list:before {
  content: "";
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 1px;
  border-top: 1px solid rgba(0,0,0,0.1);
  border-top: 1px solid var(--weui-FG-3);
  color: rgba(0,0,0,0.1);
  color: var(--weui-FG-3);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: scaleY(0.5);
  transform: scaleY(0.5);
}

.weui-form-preview__list:last-child {
  padding-bottom: 0;
}

.weui-form-preview__list .weui-form-preview__label {
  text-align: left;
  text-align-last: unset;
  width: 6em;
}

.weui-form-preview__list .weui-form-preview__value {
  -webkit-hyphens: auto;
  hyphens: auto;
}

.weui-form-preview__list .weui-form-preview__item {
  margin-top: 12px;
}

.weui-form-preview__list .weui-form-preview__item:first-child {
  margin-top: 0;
}

.weui-form-preview__list>.weui-cells__title:first-child {
  margin-top: 0;
}

.weui-cell_select {
  padding: 0;
}

.weui-cell_select .weui-select {
  padding-right: 30px;
}

.weui-cell_select .weui-cell__bd:after {
  content: " ";
  width: 12px;
  height: 24px;
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
  mask-size: 100%;
  background-color: currentColor;
  color: rgba(0,0,0,0.3);
  color: var(--weui-FG-2);
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2.454%206.58l1.06-1.06%205.78%205.779a.996.996%200%20010%201.413l-5.78%205.779-1.06-1.061%205.425-5.425-5.425-5.424z%22%20fill%3D%22%23B2B2B2%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2.454%206.58l1.06-1.06%205.78%205.779a.996.996%200%20010%201.413l-5.78%205.779-1.06-1.061%205.425-5.425-5.425-5.424z%22%20fill%3D%22%23B2B2B2%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
  position: absolute;
  top: 50%;
  right: 16px;
  margin-top: -12px;
}

.weui-select {
  -webkit-appearance: none;
  border: 0;
  outline: 0;
  background-color: transparent;
  width: 100%;
  font-size: inherit;
  height: 56px;
  line-height: 56px;
  position: relative;
  z-index: 1;
  padding-left: 16px;
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-0);
}

.weui-cell_select-before {
  padding-right: 16px;
}

.weui-cell_select-before .weui-select {
  width: 105px;
  box-sizing: border-box;
}

.weui-cell_select-before .weui-cell__hd {
  position: relative;
}

.weui-cell_select-before .weui-cell__hd:after {
  content: " ";
  position: absolute;
  right: 0;
  top: 0;
  width: 1px;
  bottom: 0;
  border-right: 1px solid rgba(0,0,0,0.1);
  border-right: 1px solid var(--weui-FG-3);
  color: rgba(0,0,0,0.1);
  color: var(--weui-FG-3);
  -webkit-transform-origin: 100% 0;
  transform-origin: 100% 0;
  -webkit-transform: scaleX(0.5);
  transform: scaleX(0.5);
}

.weui-cell_select-before .weui-cell__hd:before {
  content: " ";
  width: 12px;
  height: 24px;
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
  mask-size: 100%;
  background-color: currentColor;
  color: rgba(0,0,0,0.3);
  color: var(--weui-FG-2);
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2.454%206.58l1.06-1.06%205.78%205.779a.996.996%200%20010%201.413l-5.78%205.779-1.06-1.061%205.425-5.425-5.425-5.424z%22%20fill%3D%22%23B2B2B2%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2.454%206.58l1.06-1.06%205.78%205.779a.996.996%200%20010%201.413l-5.78%205.779-1.06-1.061%205.425-5.425-5.425-5.424z%22%20fill%3D%22%23B2B2B2%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);
  position: absolute;
  top: 50%;
  right: 16px;
  margin-top: -12px;
}

.weui-cell_select-before .weui-cell__bd {
  padding-left: 16px;
}

.weui-cell_select-before .weui-cell__bd:after {
  display: none;
}

.weui-cell_select-before.weui-cell_access .weui-cell__hd {
  line-height: 56px;
  padding-left: 32px;
}

.weui-cell_select-after {
  padding-left: 16px;
}

.weui-cell_select-after .weui-select {
  padding-left: 0;
}

.weui-cell_select-after.weui-cell_access .weui-cell__bd {
  line-height: 56px;
}

.weui-cell_vcode {
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
}

.weui-vcode-img {
  margin-left: 5px;
  height: 56px;
  vertical-align: middle;
}

.weui-vcode-btn {
  display: inline-block;
  height: 56px;
  margin-left: 5px;
  padding: 0 0.6em 0 0.7em;
  line-height: 56px;
  vertical-align: middle;
  font-size: 17px;
  color: #576b95;
  color: var(--weui-LINK);
  position: relative;
}

.weui-vcode-btn:before {
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  bottom: 0;
  border-left: 1px solid rgba(0,0,0,0.1);
  border-left: 1px solid var(--weui-FG-3);
  color: rgba(0,0,0,0.1);
  color: var(--weui-FG-3);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: scaleX(0.5);
  transform: scaleX(0.5);
}

button.weui-vcode-btn {
  background-color: transparent;
  border: 0;
  outline: 0;
}

.weui-vcode-btn:active {
  color: rgba(87,107,149,0.5);
  color: var(--weui-LINK-ACTIVE);
}

.weui-gallery {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #000;
  z-index: 1000;
}

.weui-gallery__img,.weui-gallery__opr {
  position: absolute;
  left: 0;
  left: constant(safe-area-inset-left);
  left: env(safe-area-inset-left);
  right: 0;
  right: constant(safe-area-inset-right);
  right: env(safe-area-inset-right);
}

.weui-gallery__img {
  top: 0;
  top: constant(safe-area-inset-top);
  top: env(safe-area-inset-top);
  bottom: 60px;
  bottom: calc(60px + constant(safe-area-inset-bottom));
  bottom: calc(60px + env(safe-area-inset-bottom));
  width: 100%;
  background: center center no-repeat;
  background-size: contain;
}

.weui-gallery__opr {
  position: absolute;
  bottom: 0;
  padding-bottom: 0;
  padding-bottom: constant(safe-area-inset-bottom);
  padding-bottom: env(safe-area-inset-bottom);
  background-color: #0d0d0d;
  color: #fff;
  color: var(--weui-WHITE);
  line-height: 60px;
  text-align: center;
}

.weui-gallery__del {
  display: block;
}

.weui-cell_switch {
  padding-top: 12px;
  padding-bottom: 12px;
}

.weui-switch {
  -webkit-appearance: none;
  appearance: none;
}

.weui-switch,.weui-switch-cp__box {
  position: relative;
  width: 52px;
  height: 32px;
  border: 2px solid rgba(0,0,0,0.1);
  border: 2px solid var(--weui-FG-3);
  outline: 0;
  border-radius: 16px;
  box-sizing: border-box;
  -webkit-transition: background-color 0.1s,border 0.1s;
  transition: background-color 0.1s,border 0.1s;
}

.weui-switch:before,.weui-switch-cp__box:before {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  border-radius: 15px;
  background-color: #f7f7f7;
  background-color: var(--weui-BG-3);
  -webkit-transition: -webkit-transform 0.35s cubic-bezier(0.45,1,0.4,1);
  transition: -webkit-transform 0.35s cubic-bezier(0.45,1,0.4,1);
  transition: transform 0.35s cubic-bezier(0.45,1,0.4,1);
  transition: transform 0.35s cubic-bezier(0.45,1,0.4,1),-webkit-transform 0.35s cubic-bezier(0.45,1,0.4,1);
}

.weui-switch:after,.weui-switch-cp__box:after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 28px;
  height: 28px;
  border-radius: 15px;
  background-color: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,0.4);
  -webkit-transition: -webkit-transform 0.35s cubic-bezier(0.4,0.4,0.25,1.35);
  transition: -webkit-transform 0.35s cubic-bezier(0.4,0.4,0.25,1.35);
  transition: transform 0.35s cubic-bezier(0.4,0.4,0.25,1.35);
  transition: transform 0.35s cubic-bezier(0.4,0.4,0.25,1.35),-webkit-transform 0.35s cubic-bezier(0.4,0.4,0.25,1.35);
}

.weui-switch:checked,.weui-switch-cp__input:checked+.weui-switch-cp__box,.weui-switch-cp__input[aria-checked="true"]+.weui-switch-cp__box {
  border-color: #07c160;
  border-color: var(--weui-BRAND);
  background-color: #07c160;
  background-color: var(--weui-BRAND);
}

.weui-switch:checked:before,.weui-switch-cp__input:checked+.weui-switch-cp__box:before,.weui-switch-cp__input[aria-checked="true"]+.weui-switch-cp__box:before {
  -webkit-transform: scale(0);
  transform: scale(0);
}

.weui-switch:checked:after,.weui-switch-cp__input:checked+.weui-switch-cp__box:after,.weui-switch-cp__input[aria-checked="true"]+.weui-switch-cp__box:after {
  -webkit-transform: translateX(20px);
  transform: translateX(20px);
}

.weui-switch-cp__input {
  position: absolute;
  left: -9999px;
}

.weui-switch-cp__box {
  display: block;
}

.weui-uploader {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
}

.weui-uploader__hd {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  padding-bottom: 16px;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.weui-uploader__title {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
}

.weui-uploader__info {
  color: rgba(0,0,0,0.3);
  color: var(--weui-FG-2);
}

.weui-uploader__bd {
  margin-bottom: -8px;
  margin-right: -8px;
  overflow: hidden;
}

.weui-uploader__files {
  list-style: none;
}

.weui-uploader__file {
  float: left;
  margin-right: 8px;
  margin-bottom: 8px;
  width: 96px;
  height: 96px;
  background: no-repeat center center;
  background-size: cover;
}

.weui-uploader__file_status {
  position: relative;
}

.weui-uploader__file_status:before {
  content: " ";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0,0,0,0.5);
}

.weui-uploader__file_status .weui-uploader__file-content {
  display: block;
}

.weui-uploader__file-content {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  color: #fff;
  color: var(--weui-WHITE);
}

.weui-uploader__file-content .weui-icon-warn {
  display: inline-block;
}

.weui-uploader__input-box {
  float: left;
  position: relative;
  margin-right: 8px;
  margin-bottom: 8px;
  width: 96px;
  height: 96px;
  box-sizing: border-box;
  background-color: #ededed;
}

body[data-weui-theme='dark'] .weui-uploader__input-box {
  background-color: #2e2e2e;
}

@media (prefers-color-scheme:dark) {
  body:not([data-weui-theme='light']) .weui-uploader__input-box {
    background-color: #2e2e2e;
  }
}

.weui-uploader__input-box:before,.weui-uploader__input-box:after {
  content: " ";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  background-color: #a3a3a3;
}

body[data-weui-theme='dark'] .weui-uploader__input-box:before,body[data-weui-theme='dark'] .weui-uploader__input-box:after {
  background-color: #6d6d6d;
}

@media (prefers-color-scheme:dark) {
  body:not([data-weui-theme='light']) .weui-uploader__input-box:before,body:not([data-weui-theme='light']) .weui-uploader__input-box:after {
    background-color: #6d6d6d;
  }
}

.weui-uploader__input-box:before {
  width: 2px;
  height: 32px;
}

.weui-uploader__input-box:after {
  width: 32px;
  height: 2px;
}

.weui-uploader__input-box:active:before,.weui-uploader__input-box:active:after {
  opacity: 0.7;
}

.weui-uploader__input {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

.weui-msg__desc a,.weui-msg__desc-primary a,.weui-msg__tips a {
  color: #576b95;
  color: var(--weui-LINK);
  display: inline-block;
  vertical-align: baseline;
}

.weui-msg {
  padding-top: 48px;
  padding: calc(48px + constant(safe-area-inset-top)) constant(safe-area-inset-right) constant(safe-area-inset-bottom) constant(safe-area-inset-left);
  padding: calc(48px + env(safe-area-inset-top)) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
  text-align: center;
  line-height: 1.4;
  min-height: 100%;
  box-sizing: border-box;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  background-color: #fff;
  background-color: var(--weui-BG-2);
}

.weui-msg__icon-area {
  margin-bottom: 32px;
}

.weui-msg__text-area {
  margin-bottom: 32px;
  padding: 0 32px;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
  line-height: 1.6;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
}

.weui-msg__text-area:first-child {
  padding-top: 96px;
}

.weui-msg__title {
  margin-bottom: 16px;
  font-weight: 700;
  font-size: 22px;
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-0);
}

.weui-msg__desc {
  font-size: 17px;
  font-weight: 400;
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-0);
  margin-bottom: 16px;
}

.weui-msg__desc-primary {
  font-size: 14px;
  color: rgba(0,0,0,0.5);
  color: var(--weui-FG-1);
  margin-bottom: 16px;
}

.weui-msg__custom-area {
  text-align: left;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
  margin-bottom: 16px;
}

.weui-msg__title+.weui-msg__custom-area {
  margin-top: 48px;
}

.weui-msg__desc+.weui-msg__custom-area,.weui-msg__desc-primary+.weui-msg__custom-area {
  margin-top: 40px;
}

.weui-msg__custom-area .weui-cells__group_form .weui-cells:before,.weui-msg__custom-area .weui-cells__group_form .weui-cells:after {
  left: 0;
  right: 0;
}

.weui-msg__custom-area .weui-cells__group_form .weui-cell {
  padding-left: 0;
  padding-right: 0;
}

.weui-msg__custom-area .weui-cells__group_form .weui-cell:before {
  left: 0;
  right: 0;
}

.weui-msg__opr-area {
  margin-bottom: 16px;
}

.weui-msg__opr-area .weui-btn-area {
  margin: 0;
}

.weui-msg__opr-area .weui-btn+.weui-btn {
  margin-bottom: 16px;
}

.weui-msg__opr-area:last-child {
  margin-bottom: 96px;
}

.weui-msg__opr-area+.weui-msg__extra-area {
  margin-top: 48px;
}

.weui-msg__tips-area {
  margin-bottom: 16px;
  padding: 0 40px;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
}

.weui-msg__opr-area+.weui-msg__tips-area {
  margin-bottom: 48px;
}

.weui-msg__tips-area:last-child {
  margin-bottom: 64px;
}

.weui-msg__tips {
  font-size: 12px;
  color: rgba(0,0,0,0.5);
  color: var(--weui-FG-1);
}

.weui-msg__extra-area {
  margin-bottom: 24px;
  font-size: 12px;
  color: rgba(0,0,0,0.5);
  color: var(--weui-FG-1);
}

.weui-msg__extra-area a,.weui-msg__extra-area navigator {
  color: #576b95;
  color: var(--weui-LINK);
}

.weui-msg__extra-area navigator {
  display: inline;
}

.weui-msg_align-top .weui-msg__text-area:first-child {
  padding-top: 0;
}

.weui-cells__group_form:first-child .weui-cells__title {
  margin-top: 0;
}

.weui-cells__group_form .weui-cells__title {
  margin-top: 24px;
  margin-bottom: 8px;
  padding: 0 32px;
}

.weui-cells__group_form .weui-cells:before,.weui-cells__group_form .weui-cell:before {
  left: 32px;
  right: 32px;
}

.weui-cells__group_form .weui-cells_checkbox .weui-check__label:before {
  left: 72px;
}

.weui-cells__group_form .weui-cells:after {
  left: 32px;
  right: 32px;
}

.weui-cells__group_form .weui-cell {
  padding: 16px 32px;
}

.weui-cells__group_form .weui-cell:not(.weui-cell_link) {
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-0);
}

.weui-cells__group_form .weui-cell__hd {
  padding-right: 16px;
}

.weui-cells__group_form .weui-cell__ft {
  padding-left: 16px;
}

.weui-cells__group_form .weui-cell_warn input {
  color: #fa5151;
  color: var(--weui-RED);
}

.weui-cells__group_form .weui-label {
  max-width: 5em;
  margin-right: 8px;
}

.weui-cells__group_form .weui-cells__tips {
  margin-top: 8px;
  padding: 0 32px;
  color: rgba(0,0,0,0.3);
  color: var(--weui-FG-2);
}

.weui-cells__group_form .weui-cells__tips a {
  font-weight: 700;
}

.weui-cells__group_form .weui-cells__tips_warn {
  color: #fa5151;
  color: var(--weui-RED);
}

.weui-cells__group_form .weui-cell_vcode {
  padding: 12px 32px;
}

.weui-cells__group_form .weui-vcode-btn {
  font-size: 16px;
  padding: 0 12px;
  margin-left: 0;
  height: auto;
  width: auto;
  line-height: 2em;
  color: #06ae56;
  color: var(--weui-BTN-DEFAULT-COLOR);
  background-color: #f2f2f2;
  background-color: var(--weui-BTN-DEFAULT-BG);
}

.weui-cells__group_form .weui-vcode-btn:before {
  display: none;
}

.weui-cells__group_form .weui-cell_select {
  padding: 0;
}

.weui-cells__group_form .weui-cell_select .weui-select {
  padding: 0 32px;
}

.weui-cells__group_form .weui-cell_select .weui-cell__bd:after {
  right: 32px;
}

.weui-cells__group_form .weui-cell_select-before .weui-label {
  margin-right: 24px;
}

.weui-cells__group_form .weui-cell_select-before .weui-select {
  padding-right: 24px;
  box-sizing: initial;
}

.weui-cells__group_form .weui-cell_select-after {
  padding-left: 32px;
}

.weui-cells__group_form .weui-cell_select-after .weui-select {
  padding-left: 0;
}

.weui-cells__group_form .weui-cell_switch {
  padding: 12px 32px;
}

.weui-form {
  padding: 56px 0 0;
  padding: calc(56px + constant(safe-area-inset-top)) constant(safe-area-inset-right) constant(safe-area-inset-bottom) constant(safe-area-inset-left);
  padding: calc(56px + env(safe-area-inset-top)) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  line-height: 1.4;
  min-height: 100%;
  box-sizing: border-box;
  background-color: #fff;
  background-color: var(--weui-BG-2);
}

.weui-form .weui-footer,.weui-form .weui-footer__link {
  font-size: 14px;
}

.weui-form .weui-agree {
  padding: 0;
}

.weui-form__text-area {
  padding: 0 32px;
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-0);
  text-align: center;
}

.weui-form__control-area {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
  margin: 48px 0;
}

.weui-form__tips-area {
  overflow: hidden;
}

.weui-form__tips-area,.weui-form__extra-area {
  margin-bottom: 24px;
  text-align: center;
}

.weui-form__opr-area {
  margin-bottom: 64px;
}

.weui-form__opr-area:last-child {
  margin-bottom: 96px;
}

.weui-form__title {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.36;
}

.weui-form__desc {
  font-size: 17px;
  margin-top: 16px;
}

.weui-form__tips {
  color: rgba(0,0,0,0.5);
  color: var(--weui-FG-1);
  font-size: 14px;
}

.weui-form__tips a,.weui-form__tips navigator {
  color: #576b95;
  color: var(--weui-LINK);
}

.weui-form__tips navigator {
  display: inline;
}

.weui-article {
  padding: 24px 16px;
  padding: 24px calc(16px + constant(safe-area-inset-right)) calc(24px + constant(safe-area-inset-bottom)) calc(16px + constant(safe-area-inset-left));
  padding: 24px calc(16px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));
  font-size: 17px;
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-0);
  word-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
}

.weui-article section {
  margin-bottom: 1.5em;
}

.weui-article h1 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 0.9em;
  line-height: 1.4;
}

.weui-article h2 {
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 0.34em;
  line-height: 1.4;
}

.weui-article h3 {
  font-weight: 700;
  font-size: 15px;
  margin-bottom: 0.34em;
  line-height: 1.4;
}

.weui-article * {
  max-width: 100%;
  box-sizing: border-box;
  word-wrap: break-word;
}

.weui-article p {
  margin: 0 0 0.8em;
}

.weui-tabbar {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  position: relative;
  z-index: 500;
  background-color: #f7f7f7;
  background-color: var(--weui-BG-1);
}

.weui-tabbar:before {
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 1px;
  border-top: 1px solid rgba(0,0,0,0.1);
  border-top: 1px solid var(--weui-FG-3);
  color: rgba(0,0,0,0.1);
  color: var(--weui-FG-3);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: scaleY(0.5);
  transform: scaleY(0.5);
}

.weui-tabbar__item {
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
  padding: 8px 0;
  padding-bottom: calc(8px + constant(safe-area-inset-bottom));
  padding-bottom: calc(8px + env(safe-area-inset-bottom));
  font-size: 0;
  color: rgba(0,0,0,0.5);
  color: var(--weui-FG-1);
  text-align: center;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

.weui-tabbar__item:first-child {
  padding-left: constant(safe-area-inset-left);
  padding-left: env(safe-area-inset-left);
}

.weui-tabbar__item:last-child {
  padding-right: constant(safe-area-inset-right);
  padding-right: env(safe-area-inset-right);
}

.weui-tabbar__item.weui-bar__item_on .weui-tabbar__icon,.weui-tabbar__item.weui-bar__item_on .weui-tabbar__icon>i,.weui-tabbar__item.weui-bar__item_on .weui-tabbar__label {
  color: #07c160;
  color: var(--weui-BRAND);
}

.weui-tabbar__icon {
  display: inline-block;
  width: 28px;
  height: 28px;
  margin-bottom: 2px;
}

i.weui-tabbar__icon,.weui-tabbar__icon>i {
  font-size: 24px;
  color: rgba(0,0,0,0.5);
  color: var(--weui-FG-1);
}

.weui-tabbar__icon img {
  width: 100%;
  height: 100%;
}

.weui-tabbar__label {
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-0);
  font-size: 10px;
  line-height: 1.4;
}

.weui-navbar {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  position: relative;
  z-index: 500;
  background-color: #fff;
  background-color: var(--weui-BG-2);
  padding-top: constant(safe-area-inset-top);
  padding-top: env(safe-area-inset-top);
}

.weui-navbar:after {
  content: " ";
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  height: 1px;
  border-bottom: 1px solid rgba(0,0,0,0.1);
  border-bottom: 1px solid var(--weui-FG-3);
  color: rgba(0,0,0,0.1);
  color: var(--weui-FG-3);
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%;
  -webkit-transform: scaleY(0.5);
  transform: scaleY(0.5);
}

.weui-navbar+.weui-tab__panel {
  padding-bottom: constant(safe-area-inset-bottom);
  padding-bottom: env(safe-area-inset-bottom);
}

.weui-navbar__item {
  position: relative;
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
  padding: 16px 0;
  padding-top: calc(16px + constant(safe-area-inset-top));
  padding-top: calc(16px + env(safe-area-inset-top));
  text-align: center;
  font-size: 17px;
  line-height: 1.41176471;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

.weui-navbar__item:active {
  background-color: #ececec;
  background-color: var(--weui-BG-COLOR-ACTIVE);
}

.weui-navbar__item.weui-bar__item_on {
  background-color: #ececec;
  background-color: var(--weui-BG-COLOR-ACTIVE);
}

.weui-navbar__item:after {
  content: " ";
  position: absolute;
  right: 0;
  top: 0;
  width: 1px;
  bottom: 0;
  border-right: 1px solid rgba(0,0,0,0.1);
  border-right: 1px solid var(--weui-FG-3);
  color: rgba(0,0,0,0.1);
  color: var(--weui-FG-3);
  -webkit-transform-origin: 100% 0;
  transform-origin: 100% 0;
  -webkit-transform: scaleX(0.5);
  transform: scaleX(0.5);
}

.weui-navbar__item:first-child {
  padding-left: constant(safe-area-inset-left);
  padding-left: env(safe-area-inset-left);
}

.weui-navbar__item:last-child {
  padding-right: constant(safe-area-inset-right);
  padding-right: env(safe-area-inset-right);
}

.weui-navbar__item:last-child:after {
  display: none;
}

.weui-tab {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  height: 100%;
  box-sizing: border-box;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.weui-tab__panel {
  box-sizing: border-box;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.weui-tab__content {
  display: none;
}

.weui-progress {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.weui-progress__bar {
  background-color: #ededed;
  background-color: var(--weui-BG-0);
  height: 3px;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
}

.weui-progress__inner-bar {
  width: 0;
  height: 100%;
  background-color: #07c160;
  background-color: var(--weui-BRAND);
}

.weui-progress__opr {
  display: block;
  margin-left: 15px;
  font-size: 0;
}

.weui-panel {
  background-color: #fff;
  background-color: var(--weui-BG-2);
  margin-top: 10px;
  position: relative;
  overflow: hidden;
}

.weui-panel:first-child {
  margin-top: 0;
}

.weui-panel:before {
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 1px;
  border-top: 1px solid rgba(0,0,0,0.1);
  border-top: 1px solid var(--weui-FG-3);
  color: rgba(0,0,0,0.1);
  color: var(--weui-FG-3);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: scaleY(0.5);
  transform: scaleY(0.5);
}

.weui-panel:after {
  content: " ";
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  height: 1px;
  border-bottom: 1px solid rgba(0,0,0,0.1);
  border-bottom: 1px solid var(--weui-FG-3);
  color: rgba(0,0,0,0.1);
  color: var(--weui-FG-3);
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%;
  -webkit-transform: scaleY(0.5);
  transform: scaleY(0.5);
}

.weui-panel__hd {
  padding: 16px 16px 13px;
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-0);
  font-size: 15px;
  font-weight: 700;
  position: relative;
}

.weui-panel__hd:after {
  content: " ";
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  height: 1px;
  border-bottom: 1px solid rgba(0,0,0,0.1);
  border-bottom: 1px solid var(--weui-FG-3);
  color: rgba(0,0,0,0.1);
  color: var(--weui-FG-3);
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%;
  -webkit-transform: scaleY(0.5);
  transform: scaleY(0.5);
  left: 15px;
}

.weui-media-box {
  padding: 16px;
  position: relative;
}

.weui-media-box:before {
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 1px;
  border-top: 1px solid rgba(0,0,0,0.1);
  border-top: 1px solid var(--weui-FG-3);
  color: rgba(0,0,0,0.1);
  color: var(--weui-FG-3);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: scaleY(0.5);
  transform: scaleY(0.5);
  left: 16px;
}

.weui-media-box:first-child:before {
  display: none;
}

a.weui-media-box {
  color: #000;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

a.weui-media-box:active {
  background-color: #ececec;
  background-color: var(--weui-BG-COLOR-ACTIVE);
}

.weui-media-box__title {
  font-weight: 400;
  font-size: 17px;
  line-height: 1.4;
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-0);
  width: auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  word-wrap: normal;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
}

.weui-media-box__desc {
  color: rgba(0,0,0,0.3);
  color: var(--weui-FG-2);
  font-size: 14px;
  line-height: 1.4;
  padding-top: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
}

.weui-media-box__info {
  margin-top: 16px;
  padding-bottom: 4px;
  font-size: 13px;
  color: rgba(0,0,0,0.3);
  color: var(--weui-FG-2);
  line-height: 1em;
  list-style: none;
  overflow: hidden;
}

.weui-media-box__info__meta {
  float: left;
  padding-right: 1em;
}

.weui-media-box__info__meta_extra {
  padding-left: 1em;
  border-left: 1px solid rgba(0,0,0,0.3);
  border-left: 1px solid var(--weui-FG-2);
}

.weui-media-box_appmsg {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.weui-media-box_appmsg .weui-media-box__hd {
  margin-right: 16px;
  width: 60px;
  height: 60px;
  line-height: 60px;
  text-align: center;
}

.weui-media-box_appmsg .weui-media-box__thumb {
  width: 100%;
  max-height: 100%;
  vertical-align: top;
}

.weui-media-box_appmsg .weui-media-box__bd {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
  min-width: 0;
}

.weui-media-box_small-appmsg {
  padding: 0;
}

.weui-media-box_small-appmsg .weui-cells {
  margin-top: 0;
}

.weui-media-box_small-appmsg .weui-cells:before {
  display: none;
}

.weui-grids {
  position: relative;
  overflow: hidden;
}

.weui-grids:before {
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 1px;
  border-top: 1px solid rgba(0,0,0,0.1);
  border-top: 1px solid var(--weui-FG-3);
  color: rgba(0,0,0,0.1);
  color: var(--weui-FG-3);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: scaleY(0.5);
  transform: scaleY(0.5);
}

.weui-grids:after {
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  bottom: 0;
  border-left: 1px solid rgba(0,0,0,0.1);
  border-left: 1px solid var(--weui-FG-3);
  color: rgba(0,0,0,0.1);
  color: var(--weui-FG-3);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: scaleX(0.5);
  transform: scaleX(0.5);
}

.weui-grid {
  position: relative;
  float: left;
  padding: 20px 10px;
  width: 33.33333333%;
  box-sizing: border-box;
}

.weui-grid:before {
  content: " ";
  position: absolute;
  right: 0;
  top: 0;
  width: 1px;
  bottom: 0;
  border-right: 1px solid rgba(0,0,0,0.1);
  border-right: 1px solid var(--weui-FG-3);
  color: rgba(0,0,0,0.1);
  color: var(--weui-FG-3);
  -webkit-transform-origin: 100% 0;
  transform-origin: 100% 0;
  -webkit-transform: scaleX(0.5);
  transform: scaleX(0.5);
}

.weui-grid:after {
  content: " ";
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  height: 1px;
  border-bottom: 1px solid rgba(0,0,0,0.1);
  border-bottom: 1px solid var(--weui-FG-3);
  color: rgba(0,0,0,0.1);
  color: var(--weui-FG-3);
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%;
  -webkit-transform: scaleY(0.5);
  transform: scaleY(0.5);
}

.weui-grid:active {
  background-color: #ececec;
  background-color: var(--weui-BG-COLOR-ACTIVE);
}

.weui-grid__icon {
  width: 28px;
  height: 28px;
  margin: 0 auto;
}

.weui-grid__icon img {
  display: block;
  width: 100%;
  height: 100%;
}

.weui-grid__icon+.weui-grid__label {
  margin-top: 4px;
}

.weui-grid__label {
  display: block;
  text-align: center;
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-0);
  font-size: 14px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.weui-footer {
  color: rgba(0,0,0,0.3);
  color: var(--weui-FG-2);
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
}

.weui-footer a,.weui-footer navigator {
  color: #576b95;
  color: var(--weui-LINK);
}

.weui-footer navigator {
  display: inline;
}

.weui-footer_fixed-bottom {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding-top: 16px;
  padding-bottom: 16px;
  padding-bottom: calc(16px + constant(safe-area-inset-bottom));
  padding-bottom: calc(16px + env(safe-area-inset-bottom));
  left: constant(safe-area-inset-left);
  left: env(safe-area-inset-left);
  right: constant(safe-area-inset-right);
  right: env(safe-area-inset-right);
}

.weui-footer__links {
  font-size: 0;
}

.weui-footer__link {
  display: inline-block;
  vertical-align: top;
  margin: 0 8px;
  position: relative;
  font-size: 14px;
}

.weui-footer__link:before {
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  bottom: 0;
  border-left: 1px solid rgba(0,0,0,0.1);
  border-left: 1px solid var(--weui-FG-3);
  color: rgba(0,0,0,0.1);
  color: var(--weui-FG-3);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: scaleX(0.5);
  transform: scaleX(0.5);
  left: -8px;
  top: 0.36em;
  bottom: 0.36em;
}

.weui-footer__link:first-child:before {
  display: none;
}

.weui-footer__text {
  padding: 0 16px;
  font-size: 12px;
}

.weui-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
}

.weui-flex__item {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
}

.weui-dialog {
  position: fixed;
  z-index: 5000;
  top: 50%;
  left: 16px;
  right: 16px;
  -webkit-transform: translate(0,-50%);
  transform: translate(0,-50%);
  background-color: #fff;
  background-color: var(--weui-BG-2);
  text-align: center;
  border-radius: 12px;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  max-height: 90%;
}

.weui-dialog__hd {
  padding: 32px 24px 16px;
}

.weui-dialog__title {
  font-weight: 700;
  font-size: 17px;
  line-height: 1.4;
}

.weui-dialog__bd {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 0 24px;
  margin-bottom: 32px;
  font-size: 17px;
  line-height: 1.4;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
  color: rgba(0,0,0,0.5);
  color: var(--weui-FG-1);
}

.weui-dialog__bd:first-child {
  min-height: 40px;
  padding: 32px 24px 0;
  font-weight: 700;
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-0);
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.weui-dialog__ft {
  position: relative;
  line-height: 56px;
  min-height: 56px;
  font-size: 17px;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
}

.weui-dialog__ft:after {
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 1px;
  border-top: 1px solid rgba(0,0,0,0.1);
  border-top: 1px solid var(--weui-DIALOG-LINE-COLOR);
  color: rgba(0,0,0,0.1);
  color: var(--weui-DIALOG-LINE-COLOR);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: scaleY(0.5);
  transform: scaleY(0.5);
}

.weui-dialog__btn {
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
  color: #576b95;
  color: var(--weui-LINK);
  font-weight: 700;
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  position: relative;
}

.weui-dialog__btn:active {
  background-color: #ececec;
  background-color: var(--weui-BG-COLOR-ACTIVE);
}

.weui-dialog__btn:after {
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  bottom: 0;
  border-left: 1px solid rgba(0,0,0,0.1);
  border-left: 1px solid var(--weui-DIALOG-LINE-COLOR);
  color: rgba(0,0,0,0.1);
  color: var(--weui-DIALOG-LINE-COLOR);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: scaleX(0.5);
  transform: scaleX(0.5);
}

.weui-dialog__btn:first-child:after {
  display: none;
}

.weui-dialog__btn_default {
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-HALF);
}

.weui-skin_android .weui-dialog {
  text-align: left;
  box-shadow: 0 6px 30px 0 rgba(0,0,0,0.1);
}

.weui-skin_android .weui-dialog__title {
  font-size: 22px;
  line-height: 1.4;
}

.weui-skin_android .weui-dialog__hd {
  text-align: left;
}

.weui-skin_android .weui-dialog__bd {
  color: rgba(0,0,0,0.5);
  color: var(--weui-FG-1);
  text-align: left;
}

.weui-skin_android .weui-dialog__bd:first-child {
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-0);
}

.weui-skin_android .weui-dialog__ft {
  display: block;
  text-align: right;
  line-height: 40px;
  min-height: 40px;
  padding: 0 24px 16px;
}

.weui-skin_android .weui-dialog__ft:after {
  display: none;
}

.weui-skin_android .weui-dialog__btn {
  display: inline-block;
  vertical-align: top;
  padding: 0 0.8em;
}

.weui-skin_android .weui-dialog__btn:after {
  display: none;
}

.weui-skin_android .weui-dialog__btn:last-child {
  margin-right: -0.8em;
}

.weui-skin_android .weui-dialog__btn_default {
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-HALF);
}

@media screen and (min-width:352px) {
  .weui-dialog {
    width: 320px;
    margin: 0 auto;
  }
}

.weui-half-screen-dialog {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  max-height: 75%;
  z-index: 5000;
  line-height: 1.4;
  background-color: #fff;
  background-color: var(--weui-BG-2);
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  overflow: hidden;
  padding: 0 24px;
  padding: 0 calc(24px + constant(safe-area-inset-right)) constant(safe-area-inset-bottom) calc(24px + constant(safe-area-inset-left));
  padding: 0 calc(24px + env(safe-area-inset-right)) env(safe-area-inset-bottom) calc(24px + env(safe-area-inset-left));
}

@media only screen and (max-height:558px) {
  .weui-half-screen-dialog {
    max-height: none;
  }
}

.weui-half-screen-dialog__hd {
  font-size: 8px;
  height: 8em;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.weui-half-screen-dialog__hd .weui-icon-btn {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.weui-half-screen-dialog__hd .weui-icon-btn:active {
  opacity: 0.5;
}

.weui-half-screen-dialog__hd__side {
  position: relative;
  left: -8px;
}

.weui-half-screen-dialog__hd__main {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
}

.weui-half-screen-dialog__hd__side+.weui-half-screen-dialog__hd__main {
  text-align: center;
  padding: 0 40px;
}

.weui-half-screen-dialog__hd__main+.weui-half-screen-dialog__hd__side {
  right: -8px;
  left: auto;
}

.weui-half-screen-dialog__hd__main+.weui-half-screen-dialog__hd__side .weui-icon-btn {
  right: 0;
}

.weui-half-screen-dialog__title {
  display: block;
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-0);
  font-weight: 700;
  font-size: 15px;
}

.weui-half-screen-dialog__subtitle {
  display: block;
  color: rgba(0,0,0,0.5);
  color: var(--weui-FG-1);
  font-size: 10px;
}

.weui-half-screen-dialog__bd {
  word-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
  overflow-y: auto;
  padding-top: 4px;
  padding-bottom: 40px;
  font-size: 14px;
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-0);
}

.weui-half-screen-dialog__desc {
  font-size: 17px;
  font-weight: 700;
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-0);
  line-height: 1.4;
}

.weui-half-screen-dialog__tips {
  padding-top: 16px;
  font-size: 14px;
  color: rgba(0,0,0,0.3);
  color: var(--weui-FG-2);
  line-height: 1.4;
}

.weui-half-screen-dialog__ft {
  padding: 0 24px 32px;
  text-align: center;
}

.weui-half-screen-dialog__ft .weui-btn:nth-last-child(n+2),.weui-half-screen-dialog__ft .weui-btn:nth-last-child(n+2)+.weui-btn {
  display: inline-block;
  vertical-align: top;
  margin: 0 8px;
  width: 120px;
}

.weui-icon-btn {
  outline: 0;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  border-width: 0;
  background-color: transparent;
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-0);
  font-size: 0;
}

.weui-icon-more {
  display: inline-block;
  vertical-align: middle;
  width: 24px;
  height: 24px;
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E  %3Cpath fill-opacity='.9' fill-rule='evenodd' d='M5 10.25a1.75 1.75 0 1 1 0 3.5 1.75 1.75 0 0 1 0-3.5zm7 0a1.75 1.75 0 1 1 0 3.5 1.75 1.75 0 0 1 0-3.5zm7 0a1.75 1.75 0 1 1 0 3.5 1.75 1.75 0 0 1 0-3.5z'/%3E%3C/svg%3E") no-repeat 50% 50%;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E  %3Cpath fill-opacity='.9' fill-rule='evenodd' d='M5 10.25a1.75 1.75 0 1 1 0 3.5 1.75 1.75 0 0 1 0-3.5zm7 0a1.75 1.75 0 1 1 0 3.5 1.75 1.75 0 0 1 0-3.5zm7 0a1.75 1.75 0 1 1 0 3.5 1.75 1.75 0 0 1 0-3.5z'/%3E%3C/svg%3E") no-repeat 50% 50%;
  -webkit-mask-size: cover;
  mask-size: cover;
  background-color: currentColor;
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-0);
}

.weui-icon-btn_goback {
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-0);
  display: inline-block;
  vertical-align: middle;
  width: 12px;
  height: 24px;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10%2019.438L8.955%2020.5l-7.666-7.79a1.02%201.02%200%20010-1.42L8.955%203.5%2010%204.563%202.682%2012%2010%2019.438z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%;
  mask: url("data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10%2019.438L8.955%2020.5l-7.666-7.79a1.02%201.02%200%20010-1.42L8.955%203.5%2010%204.563%202.682%2012%2010%2019.438z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%;
  -webkit-mask-size: cover;
  mask-size: cover;
  background-color: currentColor;
}

.weui-icon-btn_close {
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-0);
  display: inline-block;
  vertical-align: middle;
  width: 14px;
  height: 24px;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12.25%2010.693L6.057%204.5%205%205.557l6.193%206.193L5%2017.943%206.057%2019l6.193-6.193L18.443%2019l1.057-1.057-6.193-6.193L19.5%205.557%2018.443%204.5z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%;
  mask: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12.25%2010.693L6.057%204.5%205%205.557l6.193%206.193L5%2017.943%206.057%2019l6.193-6.193L18.443%2019l1.057-1.057-6.193-6.193L19.5%205.557%2018.443%204.5z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%;
  -webkit-mask-size: cover;
  mask-size: cover;
  background-color: currentColor;
}

.weui-toast {
  position: fixed;
  z-index: 5000;
  width: 136px;
  height: 136px;
  top: 40%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  text-align: center;
  border-radius: 12px;
  color: rgba(255,255,255,0.9);
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  background-color: #4c4c4c;
  background-color: var(--weui-BG-4);
  box-sizing: border-box;
  line-height: 1.4;
}

.weui-toast_text {
  height: auto;
  min-width: 152px;
  max-width: 216px;
  padding: 12px 0;
}

.weui-toast_text .weui-toast__content {
  font-size: 14px;
}

.weui-icon_toast {
  display: block;
  width: 40px;
  height: 40px;
  margin-bottom: 16px;
}

.weui-icon_toast.weui-icon-success-no-circle {
  color: rgba(255,255,255,0.9);
}

.weui-icon_toast.weui-icon-warn {
  color: rgba(255,255,255,0.9);
}

.weui-icon_toast.weui-loading {
  width: 36px;
  height: 36px;
}

.weui-icon_toast.weui-primary-loading {
  font-size: 40px;
  color: #EDEDED;
}

.weui-icon_toast.weui-primary-loading:before {
  border-width: 4px 0 4px 4px;
}

.weui-icon_toast.weui-primary-loading:after {
  border-width: 4px 4px 4px 0;
}

.weui-icon_toast.weui-primary-loading .weui-primary-loading__dot {
  width: 4px;
  height: 4px;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}

.weui-toast__content {
  font-size: 17px;
  padding: 0 12px;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
}

.weui-toast_text-more .weui-icon_toast {
  margin-bottom: 12px;
}

.weui-toast_text-more .weui-toast__content {
  font-size: 14px;
  line-height: 1.6;
}

.weui-mask {
  position: fixed;
  z-index: 1000;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background: rgba(0,0,0,0.6);
}

.weui-mask_transparent {
  position: fixed;
  z-index: 1000;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
}

.weui-actionsheet {
  position: fixed;
  left: 0;
  bottom: 0;
  -webkit-transform: translate(0,100%);
  transform: translate(0,100%);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 5000;
  width: 100%;
  background-color: #f7f7f7;
  background-color: var(--weui-BG-1);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s,-webkit-transform 0.3s;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  overflow: hidden;
}

.weui-actionsheet__title {
  position: relative;
  height: 56px;
  padding: 0 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  text-align: center;
  font-size: 12px;
  color: rgba(0,0,0,0.5);
  color: var(--weui-FG-1);
  line-height: 1.4;
  background: #fff;
  background: var(--weui-BG-2);
}

.weui-actionsheet__title:before {
  content: " ";
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  height: 1px;
  border-bottom: 1px solid rgba(0,0,0,0.1);
  border-bottom: 1px solid var(--weui-FG-3);
  color: rgba(0,0,0,0.1);
  color: var(--weui-FG-3);
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%;
  -webkit-transform: scaleY(0.5);
  transform: scaleY(0.5);
}

.weui-actionsheet__title .weui-actionsheet__title-text {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.weui-actionsheet__menu {
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-0);
  background-color: #fff;
  background-color: var(--weui-BG-2);
}

.weui-actionsheet__action {
  margin-top: 8px;
  background-color: #fff;
  background-color: var(--weui-BG-2);
  padding-bottom: constant(safe-area-inset-bottom);
  padding-bottom: env(safe-area-inset-bottom);
}

.weui-actionsheet__cell {
  position: relative;
  padding: 16px;
  text-align: center;
  font-size: 17px;
  line-height: 1.41176471;
}

.weui-actionsheet__cell:before {
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 1px;
  border-top: 1px solid rgba(0,0,0,0.1);
  border-top: 1px solid var(--weui-FG-3);
  color: rgba(0,0,0,0.1);
  color: var(--weui-FG-3);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: scaleY(0.5);
  transform: scaleY(0.5);
}

.weui-actionsheet__cell:active {
  background-color: #ececec;
  background-color: var(--weui-BG-COLOR-ACTIVE);
}

.weui-actionsheet__cell:first-child:before {
  display: none;
}

.weui-actionsheet__cell_warn {
  color: #fa5151;
  color: var(--weui-RED);
}

.weui-skin_android .weui-actionsheet {
  position: fixed;
  left: 50%;
  top: 50%;
  bottom: auto;
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  width: 274px;
  box-sizing: border-box;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background: transparent;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s,-webkit-transform 0.3s;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.weui-skin_android .weui-actionsheet__action {
  display: none;
}

.weui-skin_android .weui-actionsheet__menu {
  border-radius: 2px;
  box-shadow: 0 6px 30px 0 rgba(0,0,0,0.1);
}

.weui-skin_android .weui-actionsheet__cell {
  padding: 16px;
  font-size: 17px;
  line-height: 1.41176471;
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-0);
  text-align: left;
}

.weui-skin_android .weui-actionsheet__cell:first-child {
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}

.weui-skin_android .weui-actionsheet__cell:last-child {
  border-bottom-left-radius: 2px;
  border-bottom-right-radius: 2px;
}

.weui-actionsheet_toggle {
  -webkit-transform: translate(0,0);
  transform: translate(0,0);
}

.weui-loadmore {
  width: 65%;
  margin: 20px auto;
  text-align: center;
  font-size: 0;
}

.weui-loadmore .weui-loading,.weui-loadmore .weui-primary-loading {
  margin-right: 8px;
}

.weui-loadmore__tips {
  display: inline-block;
  vertical-align: middle;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-0);
}

.weui-loadmore_line {
  border-top: 1px solid rgba(0,0,0,0.1);
  border-top: 1px solid var(--weui-FG-3);
  margin-top: 32px;
}

.weui-loadmore_line .weui-loadmore__tips {
  position: relative;
  top: -0.9em;
  padding: 0 0.55em;
  background-color: #fff;
  background-color: var(--weui-BG-2);
  color: rgba(0,0,0,0.5);
  color: var(--weui-FG-1);
}

.weui-loadmore_dot .weui-loadmore__tips {
  padding: 0 0.16em;
}

.weui-loadmore_dot .weui-loadmore__tips:before {
  content: " ";
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: rgba(0,0,0,0.1);
  background-color: var(--weui-FG-3);
  display: inline-block;
  position: relative;
  vertical-align: 0;
  top: -0.16em;
}

.weui-badge {
  display: inline-block;
  padding: 0.15em 0.4em;
  min-width: 8px;
  border-radius: 18px;
  background-color: #fa5151;
  background-color: var(--weui-RED);
  color: #fff;
  line-height: 1.2;
  text-align: center;
  font-size: 12px;
  vertical-align: middle;
}

.weui-badge_dot {
  padding: 0.4em;
  min-width: 0;
}

.weui-toptips {
  display: none;
  position: fixed;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  top: 8px;
  left: 8px;
  right: 8px;
  padding: 10px;
  border-radius: 8px;
  font-size: 14px;
  text-align: center;
  color: #fff;
  z-index: 5000;
  word-wrap: break-word;
  word-break: break-all;
}

.weui-toptips_warn {
  background-color: #fa5151;
  background-color: var(--weui-RED);
}

.weui-list-tips {
  list-style: none;
  padding-top: 24px;
  padding-bottom: 24px;
  line-height: 1.4;
  font-size: 14px;
  color: rgba(0,0,0,0.5);
  color: var(--weui-FG-1);
  position: relative;
}

.weui-list-tips:before {
  content: "";
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 1px;
  border-top: 1px solid rgba(0,0,0,0.1);
  border-top: 1px solid var(--weui-FG-3);
  color: rgba(0,0,0,0.1);
  color: var(--weui-FG-3);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: scaleY(0.5);
  transform: scaleY(0.5);
}

.weui-list-tips:last-child {
  padding-bottom: 0;
}

.weui-list-tips__item {
  position: relative;
  padding-left: 15px;
  margin: 16px 0;
}

.weui-list-tips__item:before {
  content: "\2022";
  position: absolute;
  left: 0;
  top: -0.1em;
}

.weui-list-tips__item:first-child {
  margin-top: 0;
}

.weui-form-preview__list+.weui-list-tips>.weui-list-tips__item:first-child {
  margin-top: 6px;
}

.weui-search-bar {
  position: relative;
  padding: 8px;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  box-sizing: border-box;
  background-color: #ededed;
  background-color: var(--weui-BG-0);
  -webkit-text-size-adjust: 100%;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.weui-search-bar.weui-search-bar_focusing .weui-search-bar__cancel-btn {
  display: block;
}

.weui-search-bar.weui-search-bar_focusing .weui-search-bar__label {
  display: none;
}

.weui-search-bar .weui-icon-search {
  width: 16px;
  height: 16px;
}

.weui-search-bar__form {
  position: relative;
  -webkit-box-flex: 1;
  -webkit-flex: auto;
  flex: auto;
  background-color: #fff;
  background-color: var(--weui-BG-2);
  border-radius: 4px;
}

.weui-search-bar__box {
  position: relative;
  padding-left: 28px;
  padding-right: 32px;
  height: 100%;
  width: 100%;
  box-sizing: border-box;
  z-index: 1;
}

.weui-search-bar__box .weui-search-bar__input {
  padding: 8px 0;
  width: 100%;
  height: 1.14285714em;
  border: 0;
  font-size: 14px;
  line-height: 1.14285714em;
  box-sizing: content-box;
  background: transparent;
  caret-color: #07c160;
  caret-color: var(--weui-BRAND);
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-0);
}

.weui-search-bar__box .weui-search-bar__input:focus {
  outline: none;
}

.weui-search-bar__box .weui-icon-search {
  position: absolute;
  top: 50%;
  left: 8px;
  margin-top: -8px;
}

.weui-search-bar__box .weui-icon-clear {
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -16px;
  padding: 8px;
  width: 16px;
  height: 16px;
  -webkit-mask-size: 16px;
  mask-size: 16px;
}

.weui-search-bar__label {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  font-size: 0;
  border-radius: 4px;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  color: rgba(0,0,0,0.5);
  color: var(--weui-FG-1);
  background: #fff;
  background: var(--weui-BG-2);
}

.weui-search-bar__label span {
  display: inline-block;
  font-size: 14px;
  vertical-align: middle;
}

.weui-search-bar__label .weui-icon-search {
  margin-right: 4px;
}

.weui-search-bar__cancel-btn {
  display: none;
  margin-left: 8px;
  line-height: 28px;
  color: #576b95;
  color: var(--weui-LINK);
  white-space: nowrap;
}

.weui-search-bar__input:not(:valid)+.weui-icon-clear {
  display: none;
}

input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-results-button,input[type="search"]::-webkit-search-results-decoration {
  display: none;
}

.weui-picker {
  position: fixed;
  width: 100%;
  box-sizing: border-box;
  left: 0;
  bottom: 0;
  z-index: 5000;
  background-color: #fff;
  background-color: var(--weui-BG-2);
  padding-bottom: constant(safe-area-inset-bottom);
  padding-bottom: env(safe-area-inset-bottom);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translate(0,100%);
  transform: translate(0,100%);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s,-webkit-transform 0.3s;
}

.weui-picker__hd {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  padding: 16px;
  padding: 16px calc(16px + constant(safe-area-inset-right)) 16px calc(16px + constant(safe-area-inset-left));
  padding: 16px calc(16px + env(safe-area-inset-right)) 16px calc(16px + env(safe-area-inset-left));
  position: relative;
  text-align: center;
  font-size: 17px;
  line-height: 1.4;
}

.weui-picker__hd:after {
  content: " ";
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  height: 1px;
  border-bottom: 1px solid rgba(0,0,0,0.1);
  border-bottom: 1px solid var(--weui-FG-3);
  color: rgba(0,0,0,0.1);
  color: var(--weui-FG-3);
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%;
  -webkit-transform: scaleY(0.5);
  transform: scaleY(0.5);
}

.weui-picker__bd {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  position: relative;
  background-color: #fff;
  background-color: var(--weui-BG-2);
  height: 240px;
  overflow: hidden;
}

.weui-picker__group {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
  position: relative;
  height: 100%;
}

.weui-picker__group:first-child .weui-picker__item {
  padding-left: constant(safe-area-inset-left);
  padding-left: env(safe-area-inset-left);
}

.weui-picker__group:last-child .weui-picker__item {
  padding-right: constant(safe-area-inset-right);
  padding-right: env(safe-area-inset-right);
}

.weui-picker__mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  z-index: 3;
  background-image: -webkit-linear-gradient(top,rgba(255,255,255,0.95),rgba(255,255,255,0.6)),-webkit-linear-gradient(bottom,rgba(255,255,255,0.95),rgba(255,255,255,0.6));
  background-image: linear-gradient(180deg,rgba(255,255,255,0.95),rgba(255,255,255,0.6)),linear-gradient(0deg,rgba(255,255,255,0.95),rgba(255,255,255,0.6));
  background-position: top,bottom;
  background-size: 100% 92px;
  background-repeat: no-repeat;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

body[data-weui-theme='dark'] .weui-picker__mask {
  background-image: -webkit-linear-gradient(top,rgba(25,25,25,0.95),rgba(25,25,25,0.6)),-webkit-linear-gradient(bottom,rgba(25,25,25,0.95),rgba(25,25,25,0.6));
  background-image: linear-gradient(180deg,rgba(25,25,25,0.95),rgba(25,25,25,0.6)),linear-gradient(0deg,rgba(25,25,25,0.95),rgba(25,25,25,0.6));
}

@media (prefers-color-scheme:dark) {
  body:not([data-weui-theme='light']) .weui-picker__mask {
    background-image: -webkit-linear-gradient(top,rgba(25,25,25,0.95),rgba(25,25,25,0.6)),-webkit-linear-gradient(bottom,rgba(25,25,25,0.95),rgba(25,25,25,0.6));
    background-image: linear-gradient(180deg,rgba(25,25,25,0.95),rgba(25,25,25,0.6)),linear-gradient(0deg,rgba(25,25,25,0.95),rgba(25,25,25,0.6));
  }
}

.weui-picker__indicator {
  width: 100%;
  height: 56px;
  position: absolute;
  left: 0;
  top: 92px;
  z-index: 3;
}

.weui-picker__indicator:before {
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 1px;
  border-top: 1px solid rgba(0,0,0,0.1);
  border-top: 1px solid var(--weui-FG-3);
  color: rgba(0,0,0,0.1);
  color: var(--weui-FG-3);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: scaleY(0.5);
  transform: scaleY(0.5);
}

.weui-picker__indicator:after {
  content: " ";
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  height: 1px;
  border-bottom: 1px solid rgba(0,0,0,0.1);
  border-bottom: 1px solid var(--weui-FG-3);
  color: rgba(0,0,0,0.1);
  color: var(--weui-FG-3);
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%;
  -webkit-transform: scaleY(0.5);
  transform: scaleY(0.5);
}

.weui-picker__content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.weui-picker__item {
  height: 48px;
  line-height: 48px;
  text-align: center;
  color: rgba(0,0,0,0.9);
  color: var(--weui-FG-0);
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.weui-picker__item_disabled {
  color: rgba(0,0,0,0.5);
  color: var(--weui-FG-1);
}

@-webkit-keyframes slideUp {
  from {
    -webkit-transform: translate3d(0,100%,0);
    transform: translate3d(0,100%,0);
  }

  to {
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
  }
}

@keyframes slideUp {
  from {
    -webkit-transform: translate3d(0,100%,0);
    transform: translate3d(0,100%,0);
  }

  to {
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
  }
}

.weui-animate-slide-up {
  -webkit-animation: slideUp ease 0.3s forwards;
  animation: slideUp ease 0.3s forwards;
}

@-webkit-keyframes slideDown {
  from {
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
  }

  to {
    -webkit-transform: translate3d(0,100%,0);
    transform: translate3d(0,100%,0);
  }
}

@keyframes slideDown {
  from {
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
  }

  to {
    -webkit-transform: translate3d(0,100%,0);
    transform: translate3d(0,100%,0);
  }
}

.weui-animate-slide-down {
  -webkit-animation: slideDown ease 0.3s forwards;
  animation: slideDown ease 0.3s forwards;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.weui-animate-fade-in {
  -webkit-animation: fadeIn ease 0.3s forwards;
  animation: fadeIn ease 0.3s forwards;
}

@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

.weui-animate-fade-out {
  -webkit-animation: fadeOut ease 0.3s forwards;
  animation: fadeOut ease 0.3s forwards;
}

.weui-agree {
  display: block;
  padding: 8px 15px 0;
  font-size: 14px;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

.weui-agree a,.weui-agree navigator {
  color: #576b95;
  color: var(--weui-LINK);
}

.weui-agree navigator {
  display: inline;
}

.weui-agree__text {
  color: rgba(0,0,0,0.5);
  color: var(--weui-FG-1);
  margin-left: 2px;
}

.weui-agree__checkbox {
  -webkit-appearance: none;
  appearance: none;
  display: inline-block;
  border: 0;
  outline: 0;
  vertical-align: middle;
  background-color: currentColor;
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
  mask-size: 100%;
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%221000%22%20height%3D%221000%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M500%20916.667C269.881%20916.667%2083.333%20730.119%2083.333%20500%2083.333%20269.881%20269.881%2083.333%20500%2083.333c230.119%200%20416.667%20186.548%20416.667%20416.667%200%20230.119-186.548%20416.667-416.667%20416.667zm0-50c202.504%200%20366.667-164.163%20366.667-366.667%200-202.504-164.163-366.667-366.667-366.667-202.504%200-366.667%20164.163-366.667%20366.667%200%20202.504%20164.163%20366.667%20366.667%20366.667z%22%20fill-rule%3D%22evenodd%22%20fill-opacity%3D%22.9%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%221000%22%20height%3D%221000%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M500%20916.667C269.881%20916.667%2083.333%20730.119%2083.333%20500%2083.333%20269.881%20269.881%2083.333%20500%2083.333c230.119%200%20416.667%20186.548%20416.667%20416.667%200%20230.119-186.548%20416.667-416.667%20416.667zm0-50c202.504%200%20366.667-164.163%20366.667-366.667%200-202.504-164.163-366.667-366.667-366.667-202.504%200-366.667%20164.163-366.667%20366.667%200%20202.504%20164.163%20366.667%20366.667%20366.667z%22%20fill-rule%3D%22evenodd%22%20fill-opacity%3D%22.9%22%2F%3E%3C%2Fsvg%3E);
  color: rgba(0,0,0,0.3);
  color: var(--weui-FG-2);
  width: 1em;
  height: 1em;
  font-size: 17px;
  margin-top: -0.2em;
}

.weui-agree__checkbox-check {
  position: absolute;
  left: -9999px;
}

.weui-agree__checkbox:checked,.weui-agree__checkbox-check[aria-checked="true"]+.weui-agree__checkbox {
  -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm-1.177-7.86l-2.765-2.767L7%2012.431l3.119%203.121a1%201%200%20001.414%200l5.952-5.95-1.062-1.062-5.6%205.6z%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12%2022C6.477%2022%202%2017.523%202%2012S6.477%202%2012%202s10%204.477%2010%2010-4.477%2010-10%2010zm-1.177-7.86l-2.765-2.767L7%2012.431l3.119%203.121a1%201%200%20001.414%200l5.952-5.95-1.062-1.062-5.6%205.6z%22%2F%3E%3C%2Fsvg%3E);
  color: #07c160;
  color: var(--weui-BRAND);
}

.weui-agree_animate {
  -webkit-animation: weuiAgree 0.3s 1;
  animation: weuiAgree 0.3s 1;
}

@-webkit-keyframes weuiAgree {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  16% {
    -webkit-transform: translateX(-8px);
    transform: translateX(-8px);
  }

  28% {
    -webkit-transform: translateX(-16px);
    transform: translateX(-16px);
  }

  44% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  59% {
    -webkit-transform: translateX(-16px);
    transform: translateX(-16px);
  }

  73% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  82% {
    -webkit-transform: translateX(16px);
    transform: translateX(16px);
  }

  94% {
    -webkit-transform: translateX(8px);
    transform: translateX(8px);
  }

  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes weuiAgree {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  16% {
    -webkit-transform: translateX(-8px);
    transform: translateX(-8px);
  }

  28% {
    -webkit-transform: translateX(-16px);
    transform: translateX(-16px);
  }

  44% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  59% {
    -webkit-transform: translateX(-16px);
    transform: translateX(-16px);
  }

  73% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  82% {
    -webkit-transform: translateX(16px);
    transform: translateX(16px);
  }

  94% {
    -webkit-transform: translateX(8px);
    transform: translateX(8px);
  }

  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

.weui-primary-loading {
  font-size: 16px;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: inline-flex;
  position: relative;
  width: 1em;
  height: 1em;
  vertical-align: middle;
  color: #606060;
  -webkit-animation: circleLoading 1s steps(60,end) infinite;
  animation: circleLoading 1s steps(60,end) infinite;
}

.weui-primary-loading:before,.weui-primary-loading:after {
  content: "";
  display: block;
  width: 0.5em;
  height: 1em;
  box-sizing: border-box;
  border: 0.125em solid;
  border-color: currentColor;
}

.weui-primary-loading:before {
  border-right-width: 0;
  border-top-left-radius: 1em;
  border-bottom-left-radius: 1em;
  -webkit-mask-image: -webkit-linear-gradient(top,#000000 8%,rgba(0,0,0,0.3) 95%);
}

.weui-primary-loading:after {
  border-left-width: 0;
  border-top-right-radius: 1em;
  border-bottom-right-radius: 1em;
  -webkit-mask-image: -webkit-linear-gradient(top,rgba(0,0,0,0) 8%,rgba(0,0,0,0.3) 95%);
}

.weui-primary-loading__dot {
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -0.0625em;
  width: 0.125em;
  height: 0.125em;
  border-top-right-radius: 0.125em;
  border-bottom-right-radius: 0.125em;
  background: currentColor;
}

@-webkit-keyframes circleLoading {
  0% {
    -webkit-transform: rotate3d(0,0,1,0deg);
    transform: rotate3d(0,0,1,0deg);
  }

  100% {
    -webkit-transform: rotate3d(0,0,1,360deg);
    transform: rotate3d(0,0,1,360deg);
  }
}

@keyframes circleLoading {
  0% {
    -webkit-transform: rotate3d(0,0,1,0deg);
    transform: rotate3d(0,0,1,0deg);
  }

  100% {
    -webkit-transform: rotate3d(0,0,1,360deg);
    transform: rotate3d(0,0,1,360deg);
  }
}

.weui-primary-loading_brand {
  color: #07c160;
  color: var(--weui-BRAND);
}

.weui-primary-loading_transparent {
  color: #EDEDED;
}

.weui-loading {
  width: 20px;
  height: 20px;
  display: inline-block;
  vertical-align: middle;
  -webkit-animation: weuiLoading 1s steps(12,end) infinite;
  animation: weuiLoading 1s steps(12,end) infinite;
  background: transparent url("data:image/svg+xml;charset=utf8, %3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 100 100'%3E%3Cpath fill='none' d='M0 0h100v100H0z'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23E9E9E9' rx='5' ry='5' transform='translate(0 -30)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23989697' rx='5' ry='5' transform='rotate(30 105.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%239B999A' rx='5' ry='5' transform='rotate(60 75.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23A3A1A2' rx='5' ry='5' transform='rotate(90 65 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23ABA9AA' rx='5' ry='5' transform='rotate(120 58.66 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23B2B2B2' rx='5' ry='5' transform='rotate(150 54.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23BAB8B9' rx='5' ry='5' transform='rotate(180 50 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23C2C0C1' rx='5' ry='5' transform='rotate(-150 45.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23CBCBCB' rx='5' ry='5' transform='rotate(-120 41.34 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23D2D2D2' rx='5' ry='5' transform='rotate(-90 35 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23DADADA' rx='5' ry='5' transform='rotate(-60 24.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23E2E2E2' rx='5' ry='5' transform='rotate(-30 -5.98 65)'/%3E%3C/svg%3E") no-repeat;
  background-size: 100%;
}

.weui-loading.weui-loading_transparent,.weui-btn_loading.weui-btn_primary .weui-loading {
  background-image: url("data:image/svg+xml;charset=utf8, %3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 100 100'%3E%3Cpath fill='none' d='M0 0h100v100H0z'/%3E%3Crect xmlns='http://www.w3.org/2000/svg' width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.56)' rx='5' ry='5' transform='translate(0 -30)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.5)' rx='5' ry='5' transform='rotate(30 105.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.43)' rx='5' ry='5' transform='rotate(60 75.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.38)' rx='5' ry='5' transform='rotate(90 65 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.32)' rx='5' ry='5' transform='rotate(120 58.66 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.28)' rx='5' ry='5' transform='rotate(150 54.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.25)' rx='5' ry='5' transform='rotate(180 50 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.2)' rx='5' ry='5' transform='rotate(-150 45.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.17)' rx='5' ry='5' transform='rotate(-120 41.34 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.14)' rx='5' ry='5' transform='rotate(-90 35 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.1)' rx='5' ry='5' transform='rotate(-60 24.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.03)' rx='5' ry='5' transform='rotate(-30 -5.98 65)'/%3E%3C/svg%3E");
}

@-webkit-keyframes weuiLoading {
  0% {
    -webkit-transform: rotate3d(0,0,1,0deg);
    transform: rotate3d(0,0,1,0deg);
  }

  100% {
    -webkit-transform: rotate3d(0,0,1,360deg);
    transform: rotate3d(0,0,1,360deg);
  }
}

@keyframes weuiLoading {
  0% {
    -webkit-transform: rotate3d(0,0,1,0deg);
    transform: rotate3d(0,0,1,0deg);
  }

  100% {
    -webkit-transform: rotate3d(0,0,1,360deg);
    transform: rotate3d(0,0,1,360deg);
  }
}

.weui-slider {
  padding: 15px 18px;
  -webkit-user-select: none;
  user-select: none;
}

.weui-slider__inner {
  position: relative;
  height: 2px;
  background-color: rgba(0,0,0,0.1);
  background-color: var(--weui-FG-3);
}

.weui-slider__track {
  height: 2px;
  background-color: #07c160;
  background-color: var(--weui-BRAND);
  width: 0;
}

.weui-slider__handler {
  position: absolute;
  left: 0;
  top: 50%;
  width: 28px;
  height: 28px;
  margin-left: -14px;
  margin-top: -14px;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0 0 4px rgba(0,0,0,0.1);
  box-shadow: 0 0 4px var(--weui-FG-3);
}

.weui-slider-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.weui-slider-box .weui-slider {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
}

.weui-slider-box__value {
  margin-left: 0.5em;
  min-width: 24px;
  color: rgba(0,0,0,0.5);
  color: var(--weui-FG-1);
  text-align: center;
  font-size: 14px;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlL2Jhc2UvdGhlbWUvZm4ubGVzcyIsInN0eWxlL3dldWkuY3NzIiwic3R5bGUvYmFzZS9yZXNldC5sZXNzIiwic3R5bGUvYmFzZS9taXhpbi9tb2JpbGUubGVzcyIsInN0eWxlL2Jhc2UvdGhlbWUvaW5kZXgubGVzcyIsInN0eWxlL2Jhc2UvdGhlbWUvdmFycy9saWdodC5sZXNzIiwic3R5bGUvYmFzZS90aGVtZS92YXJzL2RhcmsubGVzcyIsInN0eWxlL2ljb24vd2V1aS1pY29uLmxlc3MiLCJzdHlsZS93aWRnZXQvd2V1aS10ZXh0L3dldWktbGluay5sZXNzIiwic3R5bGUvd2lkZ2V0L3dldWktYnV0dG9uL3dldWktYnRuX2dsb2JhbC5sZXNzIiwic3R5bGUvd2lkZ2V0L3dldWktYnV0dG9uL3dldWktYnRuX2RlZmF1bHQubGVzcyIsInN0eWxlL3dpZGdldC93ZXVpLWJ1dHRvbi93ZXVpLWJ0bl9wcmltYXJ5Lmxlc3MiLCJzdHlsZS93aWRnZXQvd2V1aS1idXR0b24vd2V1aS1idG5fd2Fybi5sZXNzIiwic3R5bGUvd2lkZ2V0L3dldWktYnV0dG9uL3dldWktYnRuX2Rpc2FibGVkLmxlc3MiLCJzdHlsZS93aWRnZXQvd2V1aS1idXR0b24vd2V1aS1idG5fbG9hZGluZy5sZXNzIiwic3R5bGUvd2lkZ2V0L3dldWktYnV0dG9uL3dldWktYnRuX2NlbGwubGVzcyIsInN0eWxlL3dpZGdldC93ZXVpLWJ1dHRvbi93ZXVpLWJ1dHRvbi5sZXNzIiwic3R5bGUvd2lkZ2V0L3dldWktY2VsbC93ZXVpLWNlbGxfZ2xvYmFsLmxlc3MiLCJzdHlsZS9iYXNlL21peGluL3NldE9uZXB4Lmxlc3MiLCJzdHlsZS93aWRnZXQvd2V1aS1jZWxsL3dldWktY2VsbF9zd2lwZWQubGVzcyIsInN0eWxlL3dpZGdldC93ZXVpLWNlbGwvd2V1aS1hY2Nlc3MubGVzcyIsInN0eWxlL3dpZGdldC93ZXVpLWNlbGwvd2V1aS1jaGVjay93ZXVpLWNoZWNrX2NvbW1vbi5sZXNzIiwic3R5bGUvd2lkZ2V0L3dldWktY2VsbC93ZXVpLWNoZWNrL3dldWktcmFkaW8ubGVzcyIsInN0eWxlL3dpZGdldC93ZXVpLWNlbGwvd2V1aS1jaGVjay93ZXVpLWNoZWNrYm94Lmxlc3MiLCJzdHlsZS93aWRnZXQvd2V1aS1jZWxsL3dldWktZm9ybS93ZXVpLWZvcm1fY29tbW9uLmxlc3MiLCJzdHlsZS9iYXNlL21peGluL3RleHQubGVzcyIsInN0eWxlL3dpZGdldC93ZXVpLWNlbGwvd2V1aS1mb3JtL3dldWktZm9ybS1wcmV2aWV3Lmxlc3MiLCJzdHlsZS93aWRnZXQvd2V1aS1jZWxsL3dldWktZm9ybS93ZXVpLXNlbGVjdC5sZXNzIiwic3R5bGUvd2lkZ2V0L3dldWktY2VsbC93ZXVpLWZvcm0vd2V1aS12Y29kZS5sZXNzIiwic3R5bGUvd2lkZ2V0L3dldWktY2VsbC93ZXVpLWdhbGxlcnkubGVzcyIsInN0eWxlL3dpZGdldC93ZXVpLWNlbGwvd2V1aS1zd2l0Y2gubGVzcyIsInN0eWxlL3dpZGdldC93ZXVpLWNlbGwvd2V1aS11cGxvYWRlci5sZXNzIiwic3R5bGUvd2lkZ2V0L3dldWktcGFnZS93ZXVpLW1zZy5sZXNzIiwic3R5bGUvd2lkZ2V0L3dldWktY2VsbC93ZXVpLWNlbGxzX19ncm91cC5sZXNzIiwic3R5bGUvd2lkZ2V0L3dldWktcGFnZS93ZXVpLWZvcm0ubGVzcyIsInN0eWxlL3dpZGdldC93ZXVpLXBhZ2Uvd2V1aS1hcnRpY2xlLmxlc3MiLCJzdHlsZS93aWRnZXQvd2V1aS10YWIvd2V1aS10YWJiYXIubGVzcyIsInN0eWxlL3dpZGdldC93ZXVpLXRhYi93ZXVpLW5hdmJhci5sZXNzIiwic3R5bGUvd2lkZ2V0L3dldWktdGFiL3dldWktdGFiLmxlc3MiLCJzdHlsZS93aWRnZXQvd2V1aS1wcm9ncmVzcy93ZXVpLXByb2dyZXNzLmxlc3MiLCJzdHlsZS93aWRnZXQvd2V1aS1wYW5lbC93ZXVpLXBhbmVsLmxlc3MiLCJzdHlsZS93aWRnZXQvd2V1aS1tZWRpYS1ib3gvd2V1aS1tZWRpYS1ib3gubGVzcyIsInN0eWxlL3dpZGdldC93ZXVpLWdyaWQvd2V1aS1ncmlkLmxlc3MiLCJzdHlsZS93aWRnZXQvd2V1aS1mb290ZXIvd2V1aS1mb290ZXIubGVzcyIsInN0eWxlL3dpZGdldC93ZXVpLWZsZXgvd2V1aS1mbGV4Lmxlc3MiLCJzdHlsZS93aWRnZXQvd2V1aS10aXBzL3dldWktZGlhbG9nLmxlc3MiLCJzdHlsZS93aWRnZXQvd2V1aS10aXBzL3dldWktaGFsZi1zY3JlZW4tZGlhbG9nLmxlc3MiLCJzdHlsZS93aWRnZXQvd2V1aS10aXBzL3dldWktdG9hc3QubGVzcyIsInN0eWxlL3dpZGdldC93ZXVpLXRpcHMvd2V1aS1tYXNrLmxlc3MiLCJzdHlsZS93aWRnZXQvd2V1aS10aXBzL3dldWktYWN0aW9uc2hlZXQubGVzcyIsInN0eWxlL3dpZGdldC93ZXVpLXRpcHMvd2V1aS1sb2FkbW9yZS5sZXNzIiwic3R5bGUvd2lkZ2V0L3dldWktdGlwcy93ZXVpLWJhZGdlLmxlc3MiLCJzdHlsZS93aWRnZXQvd2V1aS10aXBzL3dldWktdG9wdGlwcy5sZXNzIiwic3R5bGUvd2lkZ2V0L3dldWktdGlwcy93ZXVpLWxpc3QtdGlwcy5sZXNzIiwic3R5bGUvd2lkZ2V0L3dldWktc2VhcmNoYmFyL3dldWktc2VhcmNoYmFyLmxlc3MiLCJzdHlsZS93aWRnZXQvd2V1aS1waWNrZXIvd2V1aS1waWNrZXIubGVzcyIsInN0eWxlL3dpZGdldC93ZXVpLWFuaW1hdGUvd2V1aS1hbmltYXRlLmxlc3MiLCJzdHlsZS93aWRnZXQvd2V1aS1hZ3JlZS93ZXVpLWFncmVlLmxlc3MiLCJzdHlsZS93aWRnZXQvd2V1aS1sb2FkaW5nL3dldWktcHJpbWFyeS1sb2FkaW5nLmxlc3MiLCJzdHlsZS9iYXNlL21peGluL3NldExvYWRpbmcubGVzcyIsInN0eWxlL3dpZGdldC93ZXVpLWxvYWRpbmcvd2V1aS1sb2FkaW5nLmxlc3MiLCJzdHlsZS93aWRnZXQvd2V1aS1zbGlkZXIvd2V1aS1zbGlkZXIubGVzcyJdLCJuYW1l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QUE7QzVEbXFJSDtBNEQvcElEO0VBQ0ksb0JBQUE7RUFBQSxxQkFBQTtFQUFBLGFBQUE7RUFDQSx5QkFBQTtFQUFBLDJCQUFBO1VBQUEsbUJBQUE7QzVEaXFJSDtBNERucUlEO0VBSVEsbUJBQUE7RUFBQSxlQUFBO1VBQUEsT0FBQTtDNURrcUlQO0E0RC9wSUQ7RUFDSSxrQkFBQTtFQUNBLGVBQUE7RUFDQSx1QkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtDNURpcUlIIiwiZmlsZSI6InN0eWxlL3dldWkuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAndmFycy9saWdodCc7XG5AaW1wb3J0ICd2YXJzL2RhcmsnO1xuXG4uZGFyayhAcnVsZSkge1xuICAgIGJvZHlbZGF0YS13ZXVpLXRoZW1lPSdkYXJrJ10gJiB7XG4gICAgICAgIEBydWxlKCk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgICBib2R5Om5vdChbZGF0YS13ZXVpLXRoZW1lPSdsaWdodCddKSAmIHtcbiAgICAgICAgICAgIEBydWxlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zZXRDb2xvcihAdmFyLCBAY29sb3IpIHtcbiAgICAuc2V0Q29sb3IoQHZhciwgQGNvbG9yLCBAY29sb3IpO1xufVxuXG4uc2V0Q29sb3IoQHZhciwgQGxpZ2h0LCBAZGFyaykge1xuICAgIC5fc2V0Q29sb3Ioe1xuICAgICAgICAgICAgQHt2YXJ9OiBAbGlnaHQ7XG4gICAgfSwge1xuICAgICAgICAgICAgQHt2YXJ9OiBAZGFyaztcbiAgICB9KTtcbn1cbi5fc2V0Q29sb3IoQGxpZ2h0UnVsZSwgQGRhcmtSdWxlKSB7XG4gICAgYm9keSB7XG4gICAgICAgIEBsaWdodFJ1bGUoKTtcbiAgICB9XG4gICAgYm9keVtkYXRhLXdldWktdGhlbWU9J2RhcmsnXSB7XG4gICAgICAgIEBkYXJrUnVsZSgpO1xuICAgIH1cblxuICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAgICAgYm9keTpub3QoW2RhdGEtd2V1aS10aGVtZT0nbGlnaHQnXSkge1xuICAgICAgICAgICAgQGRhcmtSdWxlKCk7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKlxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbipcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cbi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG4vKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cbi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG4vKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cbi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG4vKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cbi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5ib2R5IHtcbiAgLS13ZXVpLUJUTi1ESVNBQkxFRC1GT05ULUNPTE9SOiByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5ib2R5W2RhdGEtd2V1aS10aGVtZT0nZGFyayddIHtcbiAgLS13ZXVpLUJUTi1ESVNBQkxFRC1GT05ULUNPTE9SOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gIGJvZHk6bm90KFtkYXRhLXdldWktdGhlbWU9J2xpZ2h0J10pIHtcbiAgICAtLXdldWktQlROLURJU0FCTEVELUZPTlQtQ09MT1I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgfVxufVxuYm9keSB7XG4gIC0td2V1aS1CVE4tREVGQVVMVC1CRzogI2YyZjJmMjtcbn1cbmJvZHlbZGF0YS13ZXVpLXRoZW1lPSdkYXJrJ10ge1xuICAtLXdldWktQlROLURFRkFVTFQtQkc6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG59XG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gIGJvZHk6bm90KFtkYXRhLXdldWktdGhlbWU9J2xpZ2h0J10pIHtcbiAgICAtLXdldWktQlROLURFRkFVTFQtQkc6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gIH1cbn1cbmJvZHkge1xuICAtLXdldWktQlROLURFRkFVTFQtQ09MT1I6ICMwNmFlNTY7XG59XG5ib2R5W2RhdGEtd2V1aS10aGVtZT0nZGFyayddIHtcbiAgLS13ZXVpLUJUTi1ERUZBVUxULUNPTE9SOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG59XG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gIGJvZHk6bm90KFtkYXRhLXdldWktdGhlbWU9J2xpZ2h0J10pIHtcbiAgICAtLXdldWktQlROLURFRkFVTFQtQ09MT1I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgfVxufVxuYm9keSB7XG4gIC0td2V1aS1CVE4tREVGQVVMVC1BQ1RJVkUtQkc6ICNlNmU2ZTY7XG59XG5ib2R5W2RhdGEtd2V1aS10aGVtZT0nZGFyayddIHtcbiAgLS13ZXVpLUJUTi1ERUZBVUxULUFDVElWRS1CRzogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyNik7XG59XG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gIGJvZHk6bm90KFtkYXRhLXdldWktdGhlbWU9J2xpZ2h0J10pIHtcbiAgICAtLXdldWktQlROLURFRkFVTFQtQUNUSVZFLUJHOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTI2KTtcbiAgfVxufVxuLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG4vKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cbi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5ib2R5IHtcbiAgLS13ZXVpLURJQUxPRy1MSU5FLUNPTE9SOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5ib2R5W2RhdGEtd2V1aS10aGVtZT0nZGFyayddIHtcbiAgLS13ZXVpLURJQUxPRy1MSU5FLUNPTE9SOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gIGJvZHk6bm90KFtkYXRhLXdldWktdGhlbWU9J2xpZ2h0J10pIHtcbiAgICAtLXdldWktRElBTE9HLUxJTkUtQ09MT1I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgfVxufVxuaHRtbCB7XG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG59XG5ib2R5IHtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0tZm9udCwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xufVxuKiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbmEgaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuaW5wdXQsXG50ZXh0YXJlYSB7XG4gIGNhcmV0LWNvbG9yOiB2YXIoLS13ZXVpLUJSQU5EKTtcbn1cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogdmFyKC0td2V1aS1GRy0yKTtcbn1cbmJvZHkge1xuICAtLXdldWktQkctMDogI2VkZWRlZDtcbiAgLS13ZXVpLUJHLTE6ICNmN2Y3Zjc7XG4gIC0td2V1aS1CRy0yOiAjZmZmO1xuICAtLXdldWktQkctMzogI2Y3ZjdmNztcbiAgLS13ZXVpLUJHLTQ6ICM0YzRjNGM7XG4gIC0td2V1aS1CRy01OiAjZmZmO1xuICAtLXdldWktRkctMDogcmdiYSgwLCAwLCAwLCAwLjkpO1xuICAtLXdldWktRkctSEFMRjogcmdiYSgwLCAwLCAwLCAwLjkpO1xuICAtLXdldWktRkctMTogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAtLXdldWktRkctMjogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAtLXdldWktRkctMzogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAtLXdldWktUkVEOiAjZmE1MTUxO1xuICAtLXdldWktT1JBTkdFOiAjZmE5ZDNiO1xuICAtLXdldWktWUVMTE9XOiAjZmZjMzAwO1xuICAtLXdldWktR1JFRU46ICM5MWQzMDA7XG4gIC0td2V1aS1MSUdIVEdSRUVOOiAjOTVlYzY5O1xuICAtLXdldWktQlJBTkQ6ICMwN2MxNjA7XG4gIC0td2V1aS1CTFVFOiAjMTBhZWZmO1xuICAtLXdldWktSU5ESUdPOiAjMTQ4NWVlO1xuICAtLXdldWktUFVSUExFOiAjNjQ2N2YwO1xuICAtLXdldWktV0hJVEU6ICNmZmY7XG4gIC0td2V1aS1MSU5LOiAjNTc2Yjk1O1xuICAtLXdldWktTElOSy1BQ1RJVkU6IHJnYmEoODcsIDEwNywgMTQ5LCAwLjUpO1xuICAtLXdldWktVEVYVEdSRUVOOiAjMDZhZTU2O1xuICAtLXdldWktRkc6IGJsYWNrO1xuICAtLXdldWktQkc6IHdoaXRlO1xuICAtLXdldWktVEFHLVRFWFQtT1JBTkdFOiAjZmE5ZDNiO1xuICAtLXdldWktVEFHLUJBQ0tHUk9VTkQtT1JBTkdFOiByZ2JhKDI1MCwgMTU3LCA1OSwgMC4xKTtcbiAgLS13ZXVpLVRBRy1URVhULUdSRUVOOiAjMDZhZTU2O1xuICAtLXdldWktVEFHLUJBQ0tHUk9VTkQtR1JFRU46IHJnYmEoNiwgMTc0LCA4NiwgMC4xKTtcbiAgLS13ZXVpLVRBRy1URVhULUJMVUU6ICMxMGFlZmY7XG4gIC0td2V1aS1UQUctQkFDS0dST1VORC1CTFVFOiByZ2JhKDE2LCAxNzQsIDI1NSwgMC4xKTtcbiAgLS13ZXVpLVRBRy1URVhULUJMQUNLOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIC0td2V1aS1UQUctQkFDS0dST1VORC1CTEFDSzogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgYm9keTpub3QoW2RhdGEtd2V1aS10aGVtZT0nbGlnaHQnXSkge1xuICAgIC0td2V1aS1CRy0wOiAjMTExMTExO1xuICAgIC0td2V1aS1CRy0xOiAjMWUxZTFlO1xuICAgIC0td2V1aS1CRy0yOiAjMTkxOTE5O1xuICAgIC0td2V1aS1CRy0zOiAjMjAyMDIwO1xuICAgIC0td2V1aS1CRy00OiAjNDA0MDQwO1xuICAgIC0td2V1aS1CRy01OiAjMmMyYzJjO1xuICAgIC0td2V1aS1GRy0wOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gICAgLS13ZXVpLUZHLUhBTEY6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbiAgICAtLXdldWktRkctMTogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgIC0td2V1aS1GRy0yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gICAgLS13ZXVpLUZHLTM6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG4gICAgLS13ZXVpLVJFRDogI2ZhNTE1MTtcbiAgICAtLXdldWktT1JBTkdFOiAjYzg3ZDJmO1xuICAgIC0td2V1aS1ZRUxMT1c6ICNjYzljMDA7XG4gICAgLS13ZXVpLUdSRUVOOiAjNzRhODAwO1xuICAgIC0td2V1aS1MSUdIVEdSRUVOOiAjM2ViNTc1O1xuICAgIC0td2V1aS1CUkFORDogIzA3YzE2MDtcbiAgICAtLXdldWktQkxVRTogIzEwYWVmZjtcbiAgICAtLXdldWktSU5ESUdPOiAjMTE5NmZmO1xuICAgIC0td2V1aS1QVVJQTEU6ICM4MTgzZmY7XG4gICAgLS13ZXVpLVdISVRFOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gICAgLS13ZXVpLUxJTks6ICM3ZDkwYTk7XG4gICAgLS13ZXVpLUxJTkstQUNUSVZFOiByZ2JhKDEyNSwgMTQ0LCAxNjksIDAuNSk7XG4gICAgLS13ZXVpLVRFWFRHUkVFTjogIzI1OWM1YztcbiAgICAtLXdldWktRkc6IHdoaXRlO1xuICAgIC0td2V1aS1CRzogYmxhY2s7XG4gICAgLS13ZXVpLVRBRy1URVhULU9SQU5HRTogcmdiYSgyNTAsIDE1NywgNTksIDAuNik7XG4gICAgLS13ZXVpLVRBRy1CQUNLR1JPVU5ELU9SQU5HRTogcmdiYSgyNTAsIDE1NywgNTksIDAuMSk7XG4gICAgLS13ZXVpLVRBRy1URVhULUdSRUVOOiByZ2JhKDYsIDE3NCwgODYsIDAuNik7XG4gICAgLS13ZXVpLVRBRy1CQUNLR1JPVU5ELUdSRUVOOiByZ2JhKDYsIDE3NCwgODYsIDAuMSk7XG4gICAgLS13ZXVpLVRBRy1URVhULUJMVUU6IHJnYmEoMTYsIDE3NCwgMjU1LCAwLjYpO1xuICAgIC0td2V1aS1UQUctQkFDS0dST1VORC1CTFVFOiByZ2JhKDE2LCAxNzQsIDI1NSwgMC4xKTtcbiAgICAtLXdldWktVEFHLVRFWFQtQkxBQ0s6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICAtLXdldWktVEFHLUJBQ0tHUk9VTkQtQkxBQ0s6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG4gIH1cbn1cbmJvZHlbZGF0YS13ZXVpLXRoZW1lPSdkYXJrJ10ge1xuICAtLXdldWktQkctMDogIzExMTExMTtcbiAgLS13ZXVpLUJHLTE6ICMxZTFlMWU7XG4gIC0td2V1aS1CRy0yOiAjMTkxOTE5O1xuICAtLXdldWktQkctMzogIzIwMjAyMDtcbiAgLS13ZXVpLUJHLTQ6ICM0MDQwNDA7XG4gIC0td2V1aS1CRy01OiAjMmMyYzJjO1xuICAtLXdldWktRkctMDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICAtLXdldWktRkctSEFMRjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAtLXdldWktRkctMTogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAtLXdldWktRkctMjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICAtLXdldWktRkctMzogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTtcbiAgLS13ZXVpLVJFRDogI2ZhNTE1MTtcbiAgLS13ZXVpLU9SQU5HRTogI2M4N2QyZjtcbiAgLS13ZXVpLVlFTExPVzogI2NjOWMwMDtcbiAgLS13ZXVpLUdSRUVOOiAjNzRhODAwO1xuICAtLXdldWktTElHSFRHUkVFTjogIzNlYjU3NTtcbiAgLS13ZXVpLUJSQU5EOiAjMDdjMTYwO1xuICAtLXdldWktQkxVRTogIzEwYWVmZjtcbiAgLS13ZXVpLUlORElHTzogIzExOTZmZjtcbiAgLS13ZXVpLVBVUlBMRTogIzgxODNmZjtcbiAgLS13ZXVpLVdISVRFOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gIC0td2V1aS1MSU5LOiAjN2Q5MGE5O1xuICAtLXdldWktTElOSy1BQ1RJVkU6IHJnYmEoMTI1LCAxNDQsIDE2OSwgMC41KTtcbiAgLS13ZXVpLVRFWFRHUkVFTjogIzI1OWM1YztcbiAgLS13ZXVpLUZHOiB3aGl0ZTtcbiAgLS13ZXVpLUJHOiBibGFjaztcbiAgLS13ZXVpLVRBRy1URVhULU9SQU5HRTogcmdiYSgyNTAsIDE1NywgNTksIDAuNik7XG4gIC0td2V1aS1UQUctQkFDS0dST1VORC1PUkFOR0U6IHJnYmEoMjUwLCAxNTcsIDU5LCAwLjEpO1xuICAtLXdldWktVEFHLVRFWFQtR1JFRU46IHJnYmEoNiwgMTc0LCA4NiwgMC42KTtcbiAgLS13ZXVpLVRBRy1CQUNLR1JPVU5ELUdSRUVOOiByZ2JhKDYsIDE3NCwgODYsIDAuMSk7XG4gIC0td2V1aS1UQUctVEVYVC1CTFVFOiByZ2JhKDE2LCAxNzQsIDI1NSwgMC42KTtcbiAgLS13ZXVpLVRBRy1CQUNLR1JPVU5ELUJMVUU6IHJnYmEoMTYsIDE3NCwgMjU1LCAwLjEpO1xuICAtLXdldWktVEFHLVRFWFQtQkxBQ0s6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgLS13ZXVpLVRBRy1CQUNLR1JPVU5ELUJMQUNLOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xufVxuLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzICovXG4vKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cbmJvZHkge1xuICAtLXdldWktQkctQ09MT1ItQUNUSVZFOiAjZWNlY2VjO1xufVxuYm9keVtkYXRhLXdldWktdGhlbWU9J2RhcmsnXSB7XG4gIC0td2V1aS1CRy1DT0xPUi1BQ1RJVkU6ICMzNzM3Mzc7XG59XG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gIGJvZHk6bm90KFtkYXRhLXdldWktdGhlbWU9J2xpZ2h0J10pIHtcbiAgICAtLXdldWktQkctQ09MT1ItQUNUSVZFOiAjMzczNzM3O1xuICB9XG59XG5bY2xhc3NePVwid2V1aS1pY29uLVwiXSxcbltjbGFzcyo9XCIgd2V1aS1pY29uLVwiXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgbWFzay1wb3NpdGlvbjogNTAlIDUwJTtcbiAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbWFzay1zaXplOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG4ud2V1aS1pY29uLWNpcmNsZSB7XG4gIG1hc2staW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMDAwJTIyJTIwaGVpZ2h0JTNEJTIyMTAwMCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNNTAwJTIwOTE2LjY2N0MyNjkuODgxJTIwOTE2LjY2NyUyMDgzLjMzMyUyMDczMC4xMTklMjA4My4zMzMlMjA1MDAlMjA4My4zMzMlMjAyNjkuODgxJTIwMjY5Ljg4MSUyMDgzLjMzMyUyMDUwMCUyMDgzLjMzM2MyMzAuMTE5JTIwMCUyMDQxNi42NjclMjAxODYuNTQ4JTIwNDE2LjY2NyUyMDQxNi42NjclMjAwJTIwMjMwLjExOS0xODYuNTQ4JTIwNDE2LjY2Ny00MTYuNjY3JTIwNDE2LjY2N3ptMC01MGMyMDIuNTA0JTIwMCUyMDM2Ni42NjctMTY0LjE2MyUyMDM2Ni42NjctMzY2LjY2NyUyMDAtMjAyLjUwNC0xNjQuMTYzLTM2Ni42NjctMzY2LjY2Ny0zNjYuNjY3LTIwMi41MDQlMjAwLTM2Ni42NjclMjAxNjQuMTYzLTM2Ni42NjclMjAzNjYuNjY3JTIwMCUyMDIwMi41MDQlMjAxNjQuMTYzJTIwMzY2LjY2NyUyMDM2Ni42NjclMjAzNjYuNjY3eiUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMjBmaWxsLW9wYWNpdHklM0QlMjIuOSUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG59XG4ud2V1aS1pY29uLWRvd25sb2FkIHtcbiAgbWFzay1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMjQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTExLjI1JTIwMTIuMDRsLTEuNzItMS43Mi0xLjA2JTIwMS4wNiUyMDIuODI4JTIwMi44M2ExJTIwMSUyMDAlMjAwMDEuNDE0LS4wMDFsMi44MjgtMi44MjgtMS4wNi0xLjA2MS0xLjczJTIwMS43M1Y3aC0xLjV2NS4wNHptMC01LjA0VjJoMS41djVoNi4yNTFjLjU1JTIwMCUyMC45OTkuNDQ2Ljk5OS45OTZ2MTMuMDA4YS45OTguOTk4JTIwMCUyMDAxLS45OTYuOTk2SDQuOTk2QS45OTguOTk4JTIwMCUyMDAxNCUyMDIxLjAwNFY3Ljk5NkExJTIwMSUyMDAlMjAwMTQuOTk5JTIwN2g2LjI1MXolMjIlMkYlM0UlM0MlMkZzdmclM0UpO1xufVxuLndldWktaWNvbi1pbmZvIHtcbiAgbWFzay1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMjQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTEyJTIwMjJDNi40NzclMjAyMiUyMDIlMjAxNy41MjMlMjAyJTIwMTJTNi40NzclMjAyJTIwMTIlMjAyczEwJTIwNC40NzclMjAxMCUyMDEwLTQuNDc3JTIwMTAtMTAlMjAxMHptLS43NS0xMnY3aDEuNXYtN2gtMS41ek0xMiUyMDlhMSUyMDElMjAwJTIwMTAwLTIlMjAxJTIwMSUyMDAlMjAwMDAlMjAyeiUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG59XG4ud2V1aS1pY29uLXNhZmUtc3VjY2VzcyB7XG4gIG1hc2staW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxMDAwJTIwMTAwMCUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTUwMC45JTIwNC42QzMxNS41JTIwNDYuNyUyMDE4MC40JTIwOTMuMSUyMDU3LjYlMjAxMzJjMCUyMDEyOS4zLjIlMjAyMzEuNy4yJTIwMzM5LjclMjAwJTIwMzA0LjIlMjAyNDguMyUyMDQ3MS42JTIwNDQzLjElMjA1MjMuN0M2OTUuNyUyMDk0My4zJTIwOTQ0JTIwNzc1LjklMjA5NDQlMjA0NzEuN2MwLTEwOCUyMC4yLTIxMC40LjItMzM5LjdDODIxLjQlMjA5My4xJTIwNjg2LjMlMjA0Ni43JTIwNTAwLjklMjA0LjZ6bTI0OC4zJTIwMzQ5LjFsLTI5OS43JTIwMjk1Yy0yLjElMjAyLTUuMyUyMDItNy40LS4xTDMwNC40JTIwNTA2LjFjLTItMi4xLTIuMy01LjctLjYtOGwxOC4zLTI0LjljMS43LTIuMyUyMDUtMi44JTIwNy4yLTFsMTEyLjIlMjA4NmMyLjMlMjAxLjglMjA2JTIwMS43JTIwOC4xLS4xbDI3NC43LTIyOC45YzIuMi0xLjglMjA1LjctMS43JTIwNy43LjNsMTclMjAxNi44YzIuMiUyMDIuMSUyMDIuMiUyMDUuMy4yJTIwNy40eiUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMjBjbGlwLXJ1bGUlM0QlMjJldmVub2RkJTIyJTIwZmlsbCUzRCUyMiUyMzA3MDIwMiUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG59XG4ud2V1aS1pY29uLXNhZmUtd2FybiB7XG4gIG1hc2staW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxMDAwJTIwMTAwMCUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTUwMC45JTIwNC41Yy0xODUuNCUyMDQyLTMyMC40JTIwODguNC00NDMuMiUyMDEyNy4zJTIwMCUyMDEyOS4zLjIlMjAyMzEuNy4yJTIwMzM5LjYlMjAwJTIwMzA0LjElMjAyNDguMiUyMDQ3MS40JTIwNDQzJTIwNTIzLjYlMjAxOTQuNy01Mi4yJTIwNDQzLTIxOS41JTIwNDQzLTUyMy42JTIwMC0xMDcuOS4yLTIxMC4zLjItMzM5LjZDODIxLjMlMjA5Mi45JTIwNjg2LjIlMjA0Ni41JTIwNTAwLjklMjA0LjV6bS0yNi4xJTIwMjcxLjFoNTIuMWM1LjglMjAwJTIwMTAuMyUyMDQuNyUyMDEwLjElMjAxMC40bC0xMS42JTIwMzEzLjhjLS4xJTIwMi44LTIuNSUyMDUuMi01LjQlMjA1LjJoLTM4LjJjLTIuOSUyMDAtNS4zLTIuMy01LjQtNS4yTDQ2NC44JTIwMjg2Yy0uMi01LjglMjA0LjMtMTAuNCUyMDEwLTEwLjR6bTI2LjElMjA0NDguM2MtMjAuMiUyMDAtMzYuNS0xNi4zLTM2LjUtMzYuNXMxNi4zLTM2LjUlMjAzNi41LTM2LjUlMjAzNi41JTIwMTYuMyUyMDM2LjUlMjAzNi41LTE2LjQlMjAzNi41LTM2LjUlMjAzNi41eiUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMjBjbGlwLXJ1bGUlM0QlMjJldmVub2RkJTIyJTIwZmlsbCUzRCUyMiUyMzAyMDIwMiUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG59XG4ud2V1aS1pY29uLXN1Y2Nlc3Mge1xuICBtYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIyNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTIlMjAyMkM2LjQ3NyUyMDIyJTIwMiUyMDE3LjUyMyUyMDIlMjAxMlM2LjQ3NyUyMDIlMjAxMiUyMDJzMTAlMjA0LjQ3NyUyMDEwJTIwMTAtNC40NzclMjAxMC0xMCUyMDEwem0tMS4xNzctNy44NmwtMi43NjUtMi43NjdMNyUyMDEyLjQzMWwzLjExOSUyMDMuMTIxYTElMjAxJTIwMCUyMDAwMS40MTQlMjAwbDUuOTUyLTUuOTUtMS4wNjItMS4wNjItNS42JTIwNS42eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG59XG4ud2V1aS1pY29uLXN1Y2Nlc3MtY2lyY2xlIHtcbiAgbWFzay1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMjQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTEyJTIwMjJDNi40NzclMjAyMiUyMDIlMjAxNy41MjMlMjAyJTIwMTJTNi40NzclMjAyJTIwMTIlMjAyczEwJTIwNC40NzclMjAxMCUyMDEwLTQuNDc3JTIwMTAtMTAlMjAxMHptMC0xLjJhOC44JTIwOC44JTIwMCUyMDEwMC0xNy42JTIwOC44JTIwOC44JTIwMCUyMDAwMCUyMDE3LjZ6bS0xLjE3Mi02LjI0Mmw1LjgwOS01LjgwOC44NDguODQ5LTUuOTUlMjA1Ljk1YTElMjAxJTIwMCUyMDAxLTEuNDE0JTIwMEw3JTIwMTIuNDI2bC44NDktLjg0OSUyMDIuOTglMjAyLjk4eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG59XG4ud2V1aS1pY29uLXN1Y2Nlc3Mtbm8tY2lyY2xlIHtcbiAgbWFzay1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMjQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTguNjU3JTIwMTguNDM1TDMlMjAxMi43NzhsMS40MTQtMS40MTQlMjA0Ljk1JTIwNC45NUwyMC42NzglMjA1bDEuNDE0JTIwMS40MTQtMTIuMDIlMjAxMi4wMjFhMSUyMDElMjAwJTIwMDEtMS40MTUlMjAweiUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMkYlM0UlM0MlMkZzdmclM0UpO1xufVxuLndldWktaWNvbi13YWl0aW5nIHtcbiAgbWFzay1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMjQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTEyLjc1JTIwMTEuMzhWNmgtMS41djZsNC4yNDMlMjA0LjI0MyUyMDEuMDYtMS4wNi0zLjgwMy0zLjgwNHpNMTIlMjAyMkM2LjQ3NyUyMDIyJTIwMiUyMDE3LjUyMyUyMDIlMjAxMlM2LjQ3NyUyMDIlMjAxMiUyMDJzMTAlMjA0LjQ3NyUyMDEwJTIwMTAtNC40NzclMjAxMC0xMCUyMDEweiUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMkYlM0UlM0MlMkZzdmclM0UpO1xufVxuLndldWktaWNvbi13YWl0aW5nLWNpcmNsZSB7XG4gIG1hc2staW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjI0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xMi42JTIwMTEuNTAzbDMuODkxJTIwMy44OTEtLjg0OC44NDlMMTEuNCUyMDEyVjZoMS4ydjUuNTAzek0xMiUyMDIyQzYuNDc3JTIwMjIlMjAyJTIwMTcuNTIzJTIwMiUyMDEyUzYuNDc3JTIwMiUyMDEyJTIwMnMxMCUyMDQuNDc3JTIwMTAlMjAxMC00LjQ3NyUyMDEwLTEwJTIwMTB6bTAtMS4yYTguOCUyMDguOCUyMDAlMjAxMDAtMTcuNiUyMDguOCUyMDguOCUyMDAlMjAwMDAlMjAxNy42eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG59XG4ud2V1aS1pY29uLXdhcm4ge1xuICBtYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIyNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTIlMjAyMkM2LjQ3NyUyMDIyJTIwMiUyMDE3LjUyMyUyMDIlMjAxMlM2LjQ3NyUyMDIlMjAxMiUyMDJzMTAlMjA0LjQ3NyUyMDEwJTIwMTAtNC40NzclMjAxMC0xMCUyMDEwem0tLjc2My0xNS44NjRsLjExJTIwNy41OTZoMS4zMDVsLjExLTcuNTk2aC0xLjUyNXptLjc1OSUyMDEwLjk2N2MuNTEyJTIwMCUyMC45MDItLjM4My45MDItLjg4MiUyMDAtLjUtLjM5LS44ODItLjkwMi0uODgyYS44NzguODc4JTIwMCUyMDAwLS44OTYuODgyYzAlMjAuNDk5LjM5Ni44ODIuODk2Ljg4MnolMjIlMkYlM0UlM0MlMkZzdmclM0UpO1xufVxuLndldWktaWNvbi1pbmZvLWNpcmNsZSB7XG4gIG1hc2staW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjI0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xMiUyMDIyQzYuNDc3JTIwMjIlMjAyJTIwMTcuNTIzJTIwMiUyMDEyUzYuNDc3JTIwMiUyMDEyJTIwMnMxMCUyMDQuNDc3JTIwMTAlMjAxMC00LjQ3NyUyMDEwLTEwJTIwMTB6bTAtMS4yYTguOCUyMDguOCUyMDAlMjAxMDAtMTcuNiUyMDguOCUyMDguOCUyMDAlMjAwMDAlMjAxNy42ek0xMS40JTIwMTBoMS4ydjdoLTEuMnYtN3ptLjYtMWExJTIwMSUyMDAlMjAxMTAtMiUyMDElMjAxJTIwMCUyMDAxMCUyMDJ6JTIyJTJGJTNFJTNDJTJGc3ZnJTNFKTtcbn1cbi53ZXVpLWljb24tY2FuY2VsIHtcbiAgbWFzay1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMjQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ2clMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTIlMjAyMkM2LjQ3NyUyMDIyJTIwMiUyMDE3LjUyMyUyMDIlMjAxMlM2LjQ3NyUyMDIlMjAxMiUyMDJzMTAlMjA0LjQ3NyUyMDEwJTIwMTAtNC40NzclMjAxMC0xMCUyMDEwem0wLTEuMmE4LjglMjA4LjglMjAwJTIwMTAwLTE3LjYlMjA4LjglMjA4LjglMjAwJTIwMDAwJTIwMTcuNnolMjIlMjBmaWxsLXJ1bGUlM0QlMjJub256ZXJvJTIyJTJGJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTIuODQ5JTIwMTJsMy4xMSUyMDMuMTExLS44NDguODQ5TDEyJTIwMTIuODQ5bC0zLjExMSUyMDMuMTEtLjg0OS0uODQ4TDExLjE1MSUyMDEybC0zLjExLTMuMTExLjg0OC0uODQ5TDEyJTIwMTEuMTUxbDMuMTExLTMuMTEuODQ5Ljg0OEwxMi44NDklMjAxMnolMjIlMkYlM0UlM0MlMkZnJTNFJTNDJTJGc3ZnJTNFKTtcbn1cbi53ZXVpLWljb24tc2VhcmNoIHtcbiAgbWFzay1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMjQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTE2LjMxJTIwMTUuNTYxbDQuMTE0JTIwNC4xMTUtLjg0OC44NDgtNC4xMjMtNC4xMjNhNyUyMDclMjAwJTIwMTEuODU3LS44NHpNMTYuOCUyMDExYTUuOCUyMDUuOCUyMDAlMjAxMC0xMS42JTIwMCUyMDUuOCUyMDUuOCUyMDAlMjAwMDExLjYlMjAweiUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMkYlM0UlM0MlMkZzdmclM0UpO1xufVxuLndldWktaWNvbi1jbGVhciB7XG4gIG1hc2staW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjI0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xMy4wNiUyMDEybDMuMDA2LTMuMDA1LTEuMDYtMS4wNkwxMiUyMDEwLjkzOCUyMDguOTk1JTIwNy45MzRsLTEuMDYlMjAxLjA2TDEwLjkzOCUyMDEybC0zLjAwNSUyMDMuMDA1JTIwMS4wNiUyMDEuMDZMMTIlMjAxMy4wNjJsMy4wMDUlMjAzLjAwNSUyMDEuMDYtMS4wNkwxMy4wNjIlMjAxMnpNMTIlMjAyMkM2LjQ3NyUyMDIyJTIwMiUyMDE3LjUyMyUyMDIlMjAxMlM2LjQ3NyUyMDIlMjAxMiUyMDJzMTAlMjA0LjQ3NyUyMDEwJTIwMTAtNC40NzclMjAxMC0xMCUyMDEweiUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG59XG4ud2V1aS1pY29uLWJhY2sge1xuICBtYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIyNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTIlMjAyMkM2LjQ3NyUyMDIyJTIwMiUyMDE3LjUyMyUyMDIlMjAxMlM2LjQ3NyUyMDIlMjAxMiUyMDJzMTAlMjA0LjQ3NyUyMDEwJTIwMTAtNC40NzclMjAxMC0xMCUyMDEwem0xLjk5OS02LjU2M0wxMC42OCUyMDEyJTIwMTQlMjA4LjU2MiUyMDEyLjk1MyUyMDcuNSUyMDkuMjklMjAxMS4yNzdhMS4wNDUlMjAxLjA0NSUyMDAlMjAwMDAlMjAxLjQ0NmwzLjY2MyUyMDMuNzc3TDE0JTIwMTUuNDM3eiUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMkYlM0UlM0MlMkZzdmclM0UpO1xufVxuLndldWktaWNvbi1kZWxldGUge1xuICBtYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIyNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNNi43NzQlMjA2LjRsLjgxMiUyMDEzLjY0OGEuOC44JTIwMCUyMDAwLjc5OC43NTJoNy4yMzJhLjguOCUyMDAlMjAwMC43OTgtLjc1MkwxNy4yMjYlMjA2LjRINi43NzR6bTExLjY1NSUyMDBsLS44MTclMjAxMy43MTlBMiUyMDIlMjAwJTIwMDExNS42MTYlMjAyMkg4LjM4NGEyJTIwMiUyMDAlMjAwMS0xLjk5Ni0xLjg4MUw1LjU3MSUyMDYuNEgzLjV2LS43YS41LjUlMjAwJTIwMDEuNS0uNWgxNmEuNS41JTIwMCUyMDAxLjUuNXYuN2gtMi4wNzF6TTE0JTIwM2EuNS41JTIwMCUyMDAxLjUuNXYuN2gtNXYtLjdBLjUuNSUyMDAlMjAwMTEwJTIwM2g0ek05LjUlMjA5aDEuMmwuNSUyMDlIMTBsLS41LTl6bTMuOCUyMDBoMS4ybC0uNSUyMDloLTEuMmwuNS05eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG59XG4ud2V1aS1pY29uLXN1Y2Nlc3Mtbm8tY2lyY2xlLXRoaW4ge1xuICBtYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIyNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNOC44NjQlMjAxNi42MTdsLTUuMzAzLTUuMzAzLTEuMDYxJTIwMS4wNiUyMDUuNjU3JTIwNS42NTdhMSUyMDElMjAwJTIwMDAxLjQxNCUyMDBMMjEuMjM4JTIwNi4zNjRsLTEuMDYtMS4wNkw4Ljg2NCUyMDE2LjYxNnolMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTJGJTNFJTNDJTJGc3ZnJTNFKTtcbn1cbi53ZXVpLWljb24tYXJyb3cge1xuICBtYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTIlMjIlMjBoZWlnaHQlM0QlMjIyNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMi40NTQlMjA2LjU4bDEuMDYtMS4wNiUyMDUuNzglMjA1Ljc3OWEuOTk2Ljk5NiUyMDAlMjAwMTAlMjAxLjQxM2wtNS43OCUyMDUuNzc5LTEuMDYtMS4wNjElMjA1LjQyNS01LjQyNS01LjQyNS01LjQyNHolMjIlMjBmaWxsJTNEJTIyJTIzQjJCMkIyJTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG59XG4ud2V1aS1pY29uLWFycm93LWJvbGQge1xuICBtYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMGhlaWdodCUzRCUyMjI0JTIyJTIwd2lkdGglM0QlMjIxMiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTAuMTU3JTIwMTIuNzExTDQuNSUyMDE4LjM2OGwtMS40MTQtMS40MTQlMjA0Ljk1LTQuOTUtNC45NS00Ljk1TDQuNSUyMDUuNjRsNS42NTclMjA1LjY1N2ExJTIwMSUyMDAlMjAwMTAlMjAxLjQxNHolMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTJGJTNFJTNDJTJGc3ZnJTNFKTtcbn1cbi53ZXVpLWljb24tYmFjay1hcnJvdyB7XG4gIG1hc2staW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMiUyMiUyMGhlaWdodCUzRCUyMjI0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0zLjM0MyUyMDEybDcuMDcxJTIwNy4wNzFMOSUyMDIwLjQ4NWwtNy43NzgtNy43NzhhMSUyMDElMjAwJTIwMDEwLTEuNDE0TDklMjAzLjUxNWwxLjQxNCUyMDEuNDE0TDMuMzQ0JTIwMTJ6JTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG59XG4ud2V1aS1pY29uLWJhY2stYXJyb3ctdGhpbiB7XG4gIG1hc2staW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMiUyMiUyMGhlaWdodCUzRCUyMjI0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xMCUyMDE5LjQzOEw4Ljk1NSUyMDIwLjVsLTcuNjY2LTcuNzlhMS4wMiUyMDEuMDIlMjAwJTIwMDEwLTEuNDJMOC45NTUlMjAzLjUlMjAxMCUyMDQuNTYzJTIwMi42ODIlMjAxMiUyMDEwJTIwMTkuNDM4eiUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMkYlM0UlM0MlMkZzdmclM0UpO1xufVxuLndldWktaWNvbi1jbG9zZSB7XG4gIG1hc2staW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjI0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xMiUyMDEwLjU4Nmw1LjY1Ny01LjY1NyUyMDEuNDE0JTIwMS40MTRMMTMuNDE0JTIwMTJsNS42NTclMjA1LjY1Ny0xLjQxNCUyMDEuNDE0TDEyJTIwMTMuNDE0bC01LjY1NyUyMDUuNjU3LTEuNDE0LTEuNDE0TDEwLjU4NiUyMDEyJTIwNC45MjklMjA2LjM0MyUyMDYuMzQzJTIwNC45MyUyMDEyJTIwMTAuNTg2eiUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMkYlM0UlM0MlMkZzdmclM0UpO1xufVxuLndldWktaWNvbi1jbG9zZS10aGluIHtcbiAgbWFzay1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMjQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTEyLjI1JTIwMTAuNjkzTDYuMDU3JTIwNC41JTIwNSUyMDUuNTU3bDYuMTkzJTIwNi4xOTNMNSUyMDE3Ljk0MyUyMDYuMDU3JTIwMTlsNi4xOTMtNi4xOTNMMTguNDQzJTIwMTlsMS4wNTctMS4wNTctNi4xOTMtNi4xOTNMMTkuNSUyMDUuNTU3JTIwMTguNDQzJTIwNC41eiUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMkYlM0UlM0MlMkZzdmclM0UpO1xufVxuLndldWktaWNvbi1iYWNrLWNpcmNsZSB7XG4gIG1hc2staW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjI0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xMiUyMDIyQzYuNDc3JTIwMjIlMjAyJTIwMTcuNTIzJTIwMiUyMDEyUzYuNDc3JTIwMiUyMDEyJTIwMnMxMCUyMDQuNDc3JTIwMTAlMjAxMC00LjQ3NyUyMDEwLTEwJTIwMTB6bTAtMS4yYTguOCUyMDguOCUyMDAlMjAxMDAtMTcuNiUyMDguOCUyMDguOCUyMDAlMjAwMDAlMjAxNy42em0xLjk5OS01LjM2M0wxMi45NTMlMjAxNi41JTIwOS4yOSUyMDEyLjcyM2ExLjA0NSUyMDEuMDQ1JTIwMCUyMDAxMC0xLjQ0NkwxMi45NTMlMjA3LjUlMjAxNCUyMDguNTYzJTIwMTAuNjglMjAxMiUyMDE0JTIwMTUuNDM4eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG59XG4ud2V1aS1pY29uLXN1Y2Nlc3Mge1xuICBjb2xvcjogdmFyKC0td2V1aS1CUkFORCk7XG59XG4ud2V1aS1pY29uLXdhaXRpbmcge1xuICBjb2xvcjogdmFyKC0td2V1aS1CTFVFKTtcbn1cbi53ZXVpLWljb24td2FybiB7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLVJFRCk7XG59XG4ud2V1aS1pY29uLWluZm8ge1xuICBjb2xvcjogdmFyKC0td2V1aS1CTFVFKTtcbn1cbi53ZXVpLWljb24tc3VjY2Vzcy1jaXJjbGUge1xuICBjb2xvcjogdmFyKC0td2V1aS1CUkFORCk7XG59XG4ud2V1aS1pY29uLXN1Y2Nlc3Mtbm8tY2lyY2xlLFxuLndldWktaWNvbi1zdWNjZXNzLW5vLWNpcmNsZS10aGluIHtcbiAgY29sb3I6IHZhcigtLXdldWktQlJBTkQpO1xufVxuLndldWktaWNvbi13YWl0aW5nLWNpcmNsZSB7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUJMVUUpO1xufVxuLndldWktaWNvbi1jaXJjbGUge1xuICBjb2xvcjogdmFyKC0td2V1aS1GRy0yKTtcbn1cbi53ZXVpLWljb24tZG93bmxvYWQge1xuICBjb2xvcjogdmFyKC0td2V1aS1CUkFORCk7XG59XG4ud2V1aS1pY29uLWluZm8tY2lyY2xlIHtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMik7XG59XG4ud2V1aS1pY29uLXNhZmUtc3VjY2VzcyB7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUJSQU5EKTtcbn1cbi53ZXVpLWljb24tc2FmZS13YXJuIHtcbiAgY29sb3I6IHZhcigtLXdldWktWUVMTE9XKTtcbn1cbi53ZXVpLWljb24tY2FuY2VsIHtcbiAgY29sb3I6IHZhcigtLXdldWktUkVEKTtcbn1cbi53ZXVpLWljb24tc2VhcmNoIHtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMSk7XG59XG4ud2V1aS1pY29uLWNsZWFyIHtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMik7XG59XG4ud2V1aS1pY29uLWNsZWFyOmFjdGl2ZSB7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTEpO1xufVxuLndldWktaWNvbi1kZWxldGUud2V1aS1pY29uX2dhbGxlcnktZGVsZXRlIHtcbiAgY29sb3I6IHZhcigtLXdldWktV0hJVEUpO1xufVxuLndldWktaWNvbi1hcnJvdyxcbi53ZXVpLWljb24tYXJyb3ctYm9sZCxcbi53ZXVpLWljb24tYmFjay1hcnJvdyxcbi53ZXVpLWljb24tYmFjay1hcnJvdy10aGluIHtcbiAgd2lkdGg6IDEycHg7XG59XG4ud2V1aS1pY29uLWFycm93LFxuLndldWktaWNvbi1hcnJvdy1ib2xkIHtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMik7XG59XG4ud2V1aS1pY29uLWJhY2stYXJyb3csXG4ud2V1aS1pY29uLWJhY2stYXJyb3ctdGhpbiB7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTApO1xufVxuLndldWktaWNvbi1iYWNrLFxuLndldWktaWNvbi1iYWNrLWNpcmNsZSB7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTApO1xufVxuLndldWktaWNvbl9tc2cge1xuICB3aWR0aDogNjRweDtcbiAgaGVpZ2h0OiA2NHB4O1xufVxuLndldWktaWNvbl9tc2cud2V1aS1pY29uLXdhcm4ge1xuICBjb2xvcjogdmFyKC0td2V1aS1SRUQpO1xufVxuLndldWktaWNvbl9tc2ctcHJpbWFyeSB7XG4gIHdpZHRoOiA2NHB4O1xuICBoZWlnaHQ6IDY0cHg7XG59XG4ud2V1aS1pY29uX21zZy1wcmltYXJ5LndldWktaWNvbi13YXJuIHtcbiAgY29sb3I6IHZhcigtLXdldWktWUVMTE9XKTtcbn1cbi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuLndldWktbGluayB7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUxJTkspO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG4ud2V1aS1saW5rOnZpc2l0ZWQge1xuICBjb2xvcjogdmFyKC0td2V1aS1MSU5LKTtcbn1cbi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG4ud2V1aS1idG4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTg0cHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDhweCAyNHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDE3cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgbGluZS1oZWlnaHQ6IDEuNDExNzY0NzE7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuLndldWktYnRuX2Jsb2NrIHtcbiAgd2lkdGg6IGF1dG87XG59XG4ud2V1aS1idG5faW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG4ud2V1aS1idG5fZGVmYXVsdCB7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUJUTi1ERUZBVUxULUNPTE9SKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2V1aS1CVE4tREVGQVVMVC1CRyk7XG59XG4ud2V1aS1idG5fZGVmYXVsdDpub3QoLndldWktYnRuX2Rpc2FibGVkKTp2aXNpdGVkIHtcbiAgY29sb3I6IHZhcigtLXdldWktQlROLURFRkFVTFQtQ09MT1IpO1xufVxuLndldWktYnRuX2RlZmF1bHQ6bm90KC53ZXVpLWJ0bl9kaXNhYmxlZCk6YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2V1aS1CVE4tREVGQVVMVC1BQ1RJVkUtQkcpO1xufVxuLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG4ud2V1aS1idG5fcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktQlJBTkQpO1xufVxuLndldWktYnRuX3ByaW1hcnk6bm90KC53ZXVpLWJ0bl9kaXNhYmxlZCk6dmlzaXRlZCB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLndldWktYnRuX3ByaW1hcnk6bm90KC53ZXVpLWJ0bl9kaXNhYmxlZCk6YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2V1aS1UQUctVEVYVC1HUkVFTik7XG59XG4vKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cbi53ZXVpLWJ0bl93YXJuIHtcbiAgY29sb3I6IHZhcigtLXdldWktUkVEKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2V1aS1CVE4tREVGQVVMVC1CRyk7XG59XG4ud2V1aS1idG5fd2Fybjpub3QoLndldWktYnRuX2Rpc2FibGVkKTp2aXNpdGVkIHtcbiAgY29sb3I6IHZhcigtLXdldWktUkVEKTtcbn1cbi53ZXVpLWJ0bl93YXJuOm5vdCgud2V1aS1idG5fZGlzYWJsZWQpOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktQlROLURFRkFVTFQtQUNUSVZFLUJHKTtcbn1cbi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuLndldWktYnRuX2Rpc2FibGVkIHtcbiAgY29sb3I6IHZhcigtLXdldWktQlROLURJU0FCTEVELUZPTlQtQ09MT1IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13ZXVpLUJUTi1ERUZBVUxULUJHKTtcbn1cbi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuLndldWktYnRuX2xvYWRpbmcgLndldWktbG9hZGluZyB7XG4gIG1hcmdpbjogLTAuMmVtIDAuMzRlbSAwIDA7XG59XG4ud2V1aS1idG5fbG9hZGluZyAud2V1aS1wcmltYXJ5LWxvYWRpbmcge1xuICBtYXJnaW46IC0wLjJlbSA4cHggMCAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLndldWktYnRuX2xvYWRpbmcud2V1aS1idG5fcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktVEFHLVRFWFQtR1JFRU4pO1xuICBjb2xvcjogdmFyKC0td2V1aS1XSElURSk7XG59XG4ud2V1aS1idG5fbG9hZGluZy53ZXVpLWJ0bl9kZWZhdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2V1aS1CVE4tREVGQVVMVC1BQ1RJVkUtQkcpO1xufVxuLndldWktYnRuX2xvYWRpbmcud2V1aS1idG5fd2FybiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktQlROLURFRkFVTFQtQUNUSVZFLUJHKTtcbn1cbi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuLndldWktYnRuX2NlbGwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDE3cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgbGluZS1oZWlnaHQ6IDEuNDExNzY0NzE7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2V1aS1CRy01KTtcbn1cbi53ZXVpLWJ0bl9jZWxsICsgLndldWktYnRuX2NlbGwge1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuLndldWktYnRuX2NlbGw6YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2V1aS1CRy1DT0xPUi1BQ1RJVkUpO1xufVxuLndldWktYnRuX2NlbGxfX2ljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIG1hcmdpbjogLTAuMmVtIDAuMzRlbSAwIDA7XG59XG4ud2V1aS1idG5fY2VsbC1kZWZhdWx0IHtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMCk7XG59XG4ud2V1aS1idG5fY2VsbC1wcmltYXJ5IHtcbiAgY29sb3I6IHZhcigtLXdldWktTElOSyk7XG59XG4ud2V1aS1idG5fY2VsbC13YXJuIHtcbiAgY29sb3I6IHZhcigtLXdldWktUkVEKTtcbn1cbmJ1dHRvbi53ZXVpLWJ0bixcbmlucHV0LndldWktYnRuIHtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBvdXRsaW5lOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5idXR0b24ud2V1aS1idG46Zm9jdXMsXG5pbnB1dC53ZXVpLWJ0bjpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG5idXR0b24ud2V1aS1idG5faW5saW5lLFxuaW5wdXQud2V1aS1idG5faW5saW5lLFxuYnV0dG9uLndldWktYnRuX21pbmksXG5pbnB1dC53ZXVpLWJ0bl9taW5pIHtcbiAgd2lkdGg6IGF1dG87XG59XG4ud2V1aS1idG5fbWluaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmc6IDAgMC43NWVtO1xuICBsaW5lLWhlaWdodDogMjtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuLyogZ2FwIGJldHdlZW4gYnRuICovXG4ud2V1aS1idG46bm90KC53ZXVpLWJ0bl9taW5pKSArIC53ZXVpLWJ0bjpub3QoLndldWktYnRuX21pbmkpIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cbi53ZXVpLWJ0bi53ZXVpLWJ0bl9pbmxpbmUgKyAud2V1aS1idG4ud2V1aS1idG5faW5saW5lIHtcbiAgbWFyZ2luLXRvcDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG59XG4ud2V1aS1idG4tYXJlYSB7XG4gIG1hcmdpbjogNDhweCAxNnB4IDhweDtcbn1cbi53ZXVpLWJ0bi1hcmVhX2lubGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4ud2V1aS1idG4tYXJlYV9pbmxpbmUgLndldWktYnRuIHtcbiAgbWFyZ2luLXRvcDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICB3aWR0aDogMTAwJTtcbiAgZmxleDogMTtcbn1cbi53ZXVpLWJ0bi1hcmVhX2lubGluZSAud2V1aS1idG46bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbi53ZXVpLWJ0bl9yZXNldCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG91dGxpbmU6IDA7XG59XG4ud2V1aS1idG5faWNvbiB7XG4gIGZvbnQtc2l6ZTogMDtcbn1cbi53ZXVpLWJ0bl9pY29uOmFjdGl2ZSBbY2xhc3MqPVwid2V1aS1pY29uLVwiXSB7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTEpO1xufVxuLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG4vKlxuei1pbmRleDpcbjA6IC53ZXVpLXN3aXBlZC1idG5cbjE6IC53ZXVpLWNlbGxfc3dpcGVkIC53ZXVpLWNlbGxfX2JkXG4yOiAud2V1aS1jZWxsc+WSjC53ZXVpLWNlbGznmoQxcHjnur9cbiovXG4ud2V1aS1jZWxscyB7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2V1aS1CRy0yKTtcbiAgbGluZS1oZWlnaHQ6IDEuNDExNzY0NzE7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLndldWktY2VsbHM6YmVmb3JlIHtcbiAgY29udGVudDogXCIgXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS13ZXVpLUZHLTMpO1xuICBjb2xvcjogdmFyKC0td2V1aS1GRy0zKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB0cmFuc2Zvcm06IHNjYWxlWSgwLjUpO1xuICB6LWluZGV4OiAyO1xufVxuLndldWktY2VsbHM6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDFweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXdldWktRkctMyk7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTMpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7XG4gIHRyYW5zZm9ybTogc2NhbGVZKDAuNSk7XG4gIHotaW5kZXg6IDI7XG59XG4ud2V1aS1jZWxsc19fdGl0bGUge1xuICBtYXJnaW4tdG9wOiAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gIHBhZGRpbmctbGVmdDogMTZweDtcbiAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cbi53ZXVpLWNlbGxzX190aXRsZSArIC53ZXVpLWNlbGxzIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi53ZXVpLWNlbGxzX190aXBzIHtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBjb2xvcjogdmFyKC0td2V1aS1GRy0xKTtcbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG4ud2V1aS1jZWxsc19fdGlwcyBhLFxuLndldWktY2VsbHNfX3RpcHMgbmF2aWdhdG9yIHtcbiAgY29sb3I6IHZhcigtLXdldWktTElOSyk7XG59XG4ud2V1aS1jZWxsc19fdGlwcyBuYXZpZ2F0b3Ige1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG4ud2V1aS1jZWxsIHtcbiAgcGFkZGluZzogMTZweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLndldWktY2VsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIiBcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDFweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXdldWktRkctMyk7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTMpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHRyYW5zZm9ybTogc2NhbGVZKDAuNSk7XG4gIGxlZnQ6IDE2cHg7XG4gIHotaW5kZXg6IDI7XG59XG4ud2V1aS1jZWxsOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ud2V1aS1jZWxsX2FjdGl2ZTphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13ZXVpLUJHLUNPTE9SLUFDVElWRSk7XG59XG4ud2V1aS1jZWxsX3ByaW1hcnkge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cbi53ZXVpLWNlbGxfX2JkIHtcbiAgZmxleDogMTtcbn1cbi53ZXVpLWNlbGxfX2Z0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTEpO1xufVxuLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG4ud2V1aS1jZWxsX3N3aXBlZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwO1xufVxuLndldWktY2VsbF9zd2lwZWQgPiAud2V1aS1jZWxsX19iZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2V1aS1CRy0yKTtcbn1cbi53ZXVpLWNlbGxfc3dpcGVkID4gLndldWktY2VsbF9fZnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgY29sb3I6ICNmZmY7XG59XG4ud2V1aS1zd2lwZWQtYnRuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDE2cHggMWVtO1xuICBsaW5lLWhlaWdodDogMS40MTE3NjQ3MTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG4ud2V1aS1zd2lwZWQtYnRuX2RlZmF1bHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13ZXVpLUJHLTApO1xufVxuLndldWktc3dpcGVkLWJ0bl93YXJuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2V1aS1SRUQpO1xufVxuLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG4ud2V1aS1jZWxsX2FjY2VzcyB7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG4ud2V1aS1jZWxsX2FjY2VzczphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13ZXVpLUJHLUNPTE9SLUFDVElWRSk7XG59XG4ud2V1aS1jZWxsX2FjY2VzcyAud2V1aS1jZWxsX19mdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDIycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi53ZXVpLWNlbGxfYWNjZXNzIC53ZXVpLWNlbGxfX2Z0OmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIG1hc2stcG9zaXRpb246IDAgMDtcbiAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbWFzay1zaXplOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTIpO1xuICBtYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTIlMjIlMjBoZWlnaHQlM0QlMjIyNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMi40NTQlMjA2LjU4bDEuMDYtMS4wNiUyMDUuNzglMjA1Ljc3OWEuOTk2Ljk5NiUyMDAlMjAwMTAlMjAxLjQxM2wtNS43OCUyMDUuNzc5LTEuMDYtMS4wNjElMjA1LjQyNS01LjQyNS01LjQyNS01LjQyNHolMjIlMjBmaWxsJTNEJTIyJTIzQjJCMkIyJTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW4tdG9wOiAtMTJweDtcbn1cbi53ZXVpLWNlbGxfbGluayB7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUxJTkspO1xuICBmb250LXNpemU6IDE3cHg7XG59XG4ud2V1aS1jZWxsX2xpbms6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cbi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuLndldWktY2hlY2tfX2xhYmVsIHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuLndldWktY2hlY2tfX2xhYmVsOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktQkctQ09MT1ItQUNUSVZFKTtcbn1cbi53ZXVpLWNoZWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOTk5OXB4O1xufVxuLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG4ud2V1aS1jZWxsc19yYWRpbyAud2V1aS1jZWxsX19mdCB7XG4gIHBhZGRpbmctbGVmdDogMTZweDtcbiAgZm9udC1zaXplOiAwO1xufVxuLndldWktY2VsbHNfcmFkaW8gLndldWktY2hlY2sgKyAud2V1aS1pY29uLWNoZWNrZWQge1xuICBtaW4td2lkdGg6IDE2cHg7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi53ZXVpLWNlbGxzX3JhZGlvIC53ZXVpLWNoZWNrOmNoZWNrZWQgKyAud2V1aS1pY29uLWNoZWNrZWQsXG4ud2V1aS1jZWxsc19yYWRpbyAud2V1aS1jaGVja1thcmlhLWNoZWNrZWQ9XCJ0cnVlXCJdICsgLndldWktaWNvbi1jaGVja2VkIHtcbiAgY29sb3I6IHZhcigtLXdldWktQlJBTkQpO1xuICBtYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIyNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNOC42NTclMjAxOC40MzVMMyUyMDEyLjc3OGwxLjQxNC0xLjQxNCUyMDQuOTUlMjA0Ljk1TDIwLjY3OCUyMDVsMS40MTQlMjAxLjQxNC0xMi4wMiUyMDEyLjAyMWExJTIwMSUyMDAlMjAwMS0xLjQxNSUyMDB6JTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG59XG4vKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cbi53ZXVpLWNlbGxzX2NoZWNrYm94IC53ZXVpLWNoZWNrX19sYWJlbDpiZWZvcmUge1xuICBsZWZ0OiA1NXB4O1xufVxuLndldWktY2VsbHNfY2hlY2tib3ggLndldWktY2VsbF9faGQge1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICBmb250LXNpemU6IDA7XG59XG4ud2V1aS1jZWxsc19jaGVja2JveCAud2V1aS1pY29uLWNoZWNrZWQge1xuICBjb2xvcjogdmFyKC0td2V1aS1GRy0yKTtcbiAgbWFzay1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjEwMDAlMjIlMjBoZWlnaHQlM0QlMjIxMDAwJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk01MDAlMjA5MTYuNjY3QzI2OS44ODElMjA5MTYuNjY3JTIwODMuMzMzJTIwNzMwLjExOSUyMDgzLjMzMyUyMDUwMCUyMDgzLjMzMyUyMDI2OS44ODElMjAyNjkuODgxJTIwODMuMzMzJTIwNTAwJTIwODMuMzMzYzIzMC4xMTklMjAwJTIwNDE2LjY2NyUyMDE4Ni41NDglMjA0MTYuNjY3JTIwNDE2LjY2NyUyMDAlMjAyMzAuMTE5LTE4Ni41NDglMjA0MTYuNjY3LTQxNi42NjclMjA0MTYuNjY3em0wLTUwYzIwMi41MDQlMjAwJTIwMzY2LjY2Ny0xNjQuMTYzJTIwMzY2LjY2Ny0zNjYuNjY3JTIwMC0yMDIuNTA0LTE2NC4xNjMtMzY2LjY2Ny0zNjYuNjY3LTM2Ni42NjctMjAyLjUwNCUyMDAtMzY2LjY2NyUyMDE2NC4xNjMtMzY2LjY2NyUyMDM2Ni42NjclMjAwJTIwMjAyLjUwNCUyMDE2NC4xNjMlMjAzNjYuNjY3JTIwMzY2LjY2NyUyMDM2Ni42Njd6JTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyMGZpbGwtb3BhY2l0eSUzRCUyMi45JTIyJTJGJTNFJTNDJTJGc3ZnJTNFKTtcbn1cbi53ZXVpLWNlbGxzX2NoZWNrYm94IC53ZXVpLWNoZWNrOmNoZWNrZWQgKyAud2V1aS1pY29uLWNoZWNrZWQsXG4ud2V1aS1jZWxsc19jaGVja2JveCAud2V1aS1jaGVja1thcmlhLWNoZWNrZWQ9XCJ0cnVlXCJdICsgLndldWktaWNvbi1jaGVja2VkIHtcbiAgY29sb3I6IHZhcigtLXdldWktQlJBTkQpO1xuICBtYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIyNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTIlMjAyMkM2LjQ3NyUyMDIyJTIwMiUyMDE3LjUyMyUyMDIlMjAxMlM2LjQ3NyUyMDIlMjAxMiUyMDJzMTAlMjA0LjQ3NyUyMDEwJTIwMTAtNC40NzclMjAxMC0xMCUyMDEwem0tMS4xNzctNy44NmwtMi43NjUtMi43NjdMNyUyMDEyLjQzMWwzLjExOSUyMDMuMTIxYTElMjAxJTIwMCUyMDAwMS40MTQlMjAwbDUuOTUyLTUuOTUtMS4wNjItMS4wNjItNS42JTIwNS42eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG59XG4vKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cbi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuLndldWktbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwNXB4O1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbn1cbi53ZXVpLWlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgaGVpZ2h0OiAxLjQxMTc2NDcxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQxMTc2NDcxO1xufVxuLndldWktaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4ud2V1aS1pbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuLndldWktaW5wdXQ6Zm9jdXM6bm90KDpwbGFjZWhvbGRlci1zaG93bikgKyAud2V1aS1idG5faW5wdXQtY2xlYXIge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG4ud2V1aS10ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IDA7XG4gIHJlc2l6ZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBvdXRsaW5lOiAwO1xufVxuLndldWktdGV4dGFyZWEtY291bnRlciB7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTIpO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuLndldWktY2VsbF93YXJuIC53ZXVpLXRleHRhcmVhLWNvdW50ZXIge1xuICBjb2xvcjogdmFyKC0td2V1aS1SRUQpO1xufVxuLndldWktY2VsbHNfZm9ybSAud2V1aS1jZWxsX3N3aXRjaDphY3RpdmUsXG4ud2V1aS1jZWxsc19mb3JtIC53ZXVpLWNlbGxfdmNvZGU6YWN0aXZlLFxuLndldWktY2VsbHNfZm9ybSAud2V1aS1jZWxsX3JlYWRvbmx5OmFjdGl2ZSxcbi53ZXVpLWNlbGxzX2Zvcm0gLndldWktY2VsbF9kaXNhYmxlZDphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi53ZXVpLWNlbGxzX2Zvcm0gLndldWktY2VsbF9fZnQge1xuICBmb250LXNpemU6IDA7XG59XG4ud2V1aS1jZWxsc19mb3JtIC53ZXVpLWljb24td2FybiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ud2V1aS1jZWxsc19mb3JtIGlucHV0LFxuLndldWktY2VsbHNfZm9ybSB0ZXh0YXJlYSxcbi53ZXVpLWNlbGxzX2Zvcm0gbGFiZWxbZm9yXSB7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi53ZXVpLWNlbGxfd2FybiB7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLVJFRCk7XG59XG4ud2V1aS1jZWxsX3dhcm4gLndldWktaWNvbi13YXJuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLndldWktY2VsbF9yZWFkb25seSAud2V1aS1pbnB1dDpkaXNhYmxlZCxcbi53ZXVpLWNlbGxfZGlzYWJsZWQgLndldWktaW5wdXQ6ZGlzYWJsZWQsXG4ud2V1aS1jZWxsX3JlYWRvbmx5IC53ZXVpLXRleHRhcmVhOmRpc2FibGVkLFxuLndldWktY2VsbF9kaXNhYmxlZCAud2V1aS10ZXh0YXJlYTpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB2YXIoLS13ZXVpLUZHLTEpO1xufVxuLndldWktY2VsbF9yZWFkb25seSAud2V1aS1pbnB1dFtkaXNhYmxlZF0sXG4ud2V1aS1jZWxsX2Rpc2FibGVkIC53ZXVpLWlucHV0W2Rpc2FibGVkXSxcbi53ZXVpLWNlbGxfcmVhZG9ubHkgLndldWktdGV4dGFyZWFbZGlzYWJsZWRdLFxuLndldWktY2VsbF9kaXNhYmxlZCAud2V1aS10ZXh0YXJlYVtkaXNhYmxlZF0sXG4ud2V1aS1jZWxsX3JlYWRvbmx5IC53ZXVpLWlucHV0W3JlYWRvbmx5XSxcbi53ZXVpLWNlbGxfZGlzYWJsZWQgLndldWktaW5wdXRbcmVhZG9ubHldLFxuLndldWktY2VsbF9yZWFkb25seSAud2V1aS10ZXh0YXJlYVtyZWFkb25seV0sXG4ud2V1aS1jZWxsX2Rpc2FibGVkIC53ZXVpLXRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTEpO1xufVxuLndldWktYnRuX2lucHV0LWNsZWFyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG59XG4ud2V1aS1idG5faW5wdXQtY2xlYXIgW2NsYXNzKj1cIndldWktaWNvbi1cIl0ge1xuICB3aWR0aDogMThweDtcbn1cbi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuLndldWktZm9ybS1wcmV2aWV3IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13ZXVpLUJHLTIpO1xufVxuLndldWktZm9ybS1wcmV2aWV3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMXB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0td2V1aS1GRy0zKTtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoMC41KTtcbn1cbi53ZXVpLWZvcm0tcHJldmlldzphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0td2V1aS1GRy0zKTtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoMC41KTtcbn1cbi53ZXVpLWZvcm0tcHJldmlld19faGQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBsaW5lLWhlaWdodDogMi41ZW07XG59XG4ud2V1aS1mb3JtLXByZXZpZXdfX2hkOmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS13ZXVpLUZHLTMpO1xuICBjb2xvcjogdmFyKC0td2V1aS1GRy0zKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlO1xuICB0cmFuc2Zvcm06IHNjYWxlWSgwLjUpO1xuICBsZWZ0OiAxNnB4O1xufVxuLndldWktZm9ybS1wcmV2aWV3X19oZCAud2V1aS1mb3JtLXByZXZpZXdfX3ZhbHVlIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDEuNmVtO1xufVxuLndldWktZm9ybS1wcmV2aWV3X19iZCB7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBjb2xvcjogdmFyKC0td2V1aS1GRy0xKTtcbiAgbGluZS1oZWlnaHQ6IDI7XG59XG4ud2V1aS1mb3JtLXByZXZpZXdfX2Z0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogNTBweDtcbiAgZGlzcGxheTogZmxleDtcbn1cbi53ZXVpLWZvcm0tcHJldmlld19fZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCIgXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS13ZXVpLURJQUxPRy1MSU5FLUNPTE9SKTtcbiAgY29sb3I6IHZhcigtLXdldWktRElBTE9HLUxJTkUtQ09MT1IpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHRyYW5zZm9ybTogc2NhbGVZKDAuNSk7XG59XG4ud2V1aS1mb3JtLXByZXZpZXdfX2l0ZW0ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLndldWktZm9ybS1wcmV2aWV3X19sYWJlbCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgbWluLXdpZHRoOiA0ZW07XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTEpO1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICB0ZXh0LWFsaWduLWxhc3Q6IGp1c3RpZnk7XG59XG4ud2V1aS1mb3JtLXByZXZpZXdfX3ZhbHVlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBjb2xvcjogdmFyKC0td2V1aS1GRy0wKTtcbn1cbi53ZXVpLWZvcm0tcHJldmlld19fYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleDogMTtcbiAgY29sb3I6IHZhcigtLXdldWktTElOSyk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuYnV0dG9uLndldWktZm9ybS1wcmV2aWV3X19idG4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiAwO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xufVxuLndldWktZm9ybS1wcmV2aWV3X19idG46YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2V1aS1CRy1DT0xPUi1BQ1RJVkUpO1xufVxuLndldWktZm9ybS1wcmV2aWV3X19idG46YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxcHg7XG4gIGJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS13ZXVpLURJQUxPRy1MSU5FLUNPTE9SKTtcbiAgY29sb3I6IHZhcigtLXdldWktRElBTE9HLUxJTkUtQ09MT1IpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDAuNSk7XG59XG4ud2V1aS1mb3JtLXByZXZpZXdfX2J0bjpmaXJzdC1jaGlsZDphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ud2V1aS1mb3JtLXByZXZpZXdfX2J0bl9kZWZhdWx0IHtcbiAgY29sb3I6IHZhcigtLXdldWktRkctSEFMRik7XG59XG4ud2V1aS1mb3JtLXByZXZpZXdfX2J0bl9wcmltYXJ5IHtcbiAgY29sb3I6IHZhcigtLXdldWktTElOSyk7XG59XG4ud2V1aS1mb3JtLXByZXZpZXdfX2xpc3Qge1xuICBwYWRkaW5nLXRvcDogMjRweDtcbiAgcGFkZGluZy1ib3R0b206IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLndldWktZm9ybS1wcmV2aWV3X19saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMXB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0td2V1aS1GRy0zKTtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoMC41KTtcbn1cbi53ZXVpLWZvcm0tcHJldmlld19fbGlzdDpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG4ud2V1aS1mb3JtLXByZXZpZXdfX2xpc3QgLndldWktZm9ybS1wcmV2aWV3X19sYWJlbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtYWxpZ24tbGFzdDogdW5zZXQ7XG4gIHdpZHRoOiA2ZW07XG59XG4ud2V1aS1mb3JtLXByZXZpZXdfX2xpc3QgLndldWktZm9ybS1wcmV2aWV3X192YWx1ZSB7XG4gIGh5cGhlbnM6IGF1dG87XG59XG4ud2V1aS1mb3JtLXByZXZpZXdfX2xpc3QgLndldWktZm9ybS1wcmV2aWV3X19pdGVtIHtcbiAgbWFyZ2luLXRvcDogMTJweDtcbn1cbi53ZXVpLWZvcm0tcHJldmlld19fbGlzdCAud2V1aS1mb3JtLXByZXZpZXdfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLndldWktZm9ybS1wcmV2aWV3X19saXN0ID4gLndldWktY2VsbHNfX3RpdGxlOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuLndldWktY2VsbF9zZWxlY3Qge1xuICBwYWRkaW5nOiAwO1xufVxuLndldWktY2VsbF9zZWxlY3QgLndldWktc2VsZWN0IHtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbn1cbi53ZXVpLWNlbGxfc2VsZWN0IC53ZXVpLWNlbGxfX2JkOmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIG1hc2stcG9zaXRpb246IDAgMDtcbiAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbWFzay1zaXplOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTIpO1xuICBtYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTIlMjIlMjBoZWlnaHQlM0QlMjIyNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMi40NTQlMjA2LjU4bDEuMDYtMS4wNiUyMDUuNzglMjA1Ljc3OWEuOTk2Ljk5NiUyMDAlMjAwMTAlMjAxLjQxM2wtNS43OCUyMDUuNzc5LTEuMDYtMS4wNjElMjA1LjQyNS01LjQyNS01LjQyNS01LjQyNHolMjIlMjBmaWxsJTNEJTIyJTIzQjJCMkIyJTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAxNnB4O1xuICBtYXJnaW4tdG9wOiAtMTJweDtcbn1cbi53ZXVpLXNlbGVjdCB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgaGVpZ2h0OiA1NnB4O1xuICBsaW5lLWhlaWdodDogNTZweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTApO1xufVxuLndldWktY2VsbF9zZWxlY3QtYmVmb3JlIHtcbiAgcGFkZGluZy1yaWdodDogMTZweDtcbn1cbi53ZXVpLWNlbGxfc2VsZWN0LWJlZm9yZSAud2V1aS1zZWxlY3Qge1xuICB3aWR0aDogMTA1cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4ud2V1aS1jZWxsX3NlbGVjdC1iZWZvcmUgLndldWktY2VsbF9faGQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ud2V1aS1jZWxsX3NlbGVjdC1iZWZvcmUgLndldWktY2VsbF9faGQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMXB4O1xuICBib3R0b206IDA7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLXdldWktRkctMyk7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTMpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDAuNSk7XG59XG4ud2V1aS1jZWxsX3NlbGVjdC1iZWZvcmUgLndldWktY2VsbF9faGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCIgXCI7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIG1hc2stcG9zaXRpb246IDAgMDtcbiAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbWFzay1zaXplOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTIpO1xuICBtYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTIlMjIlMjBoZWlnaHQlM0QlMjIyNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMi40NTQlMjA2LjU4bDEuMDYtMS4wNiUyMDUuNzglMjA1Ljc3OWEuOTk2Ljk5NiUyMDAlMjAwMTAlMjAxLjQxM2wtNS43OCUyMDUuNzc5LTEuMDYtMS4wNjElMjA1LjQyNS01LjQyNS01LjQyNS01LjQyNHolMjIlMjBmaWxsJTNEJTIyJTIzQjJCMkIyJTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAxNnB4O1xuICBtYXJnaW4tdG9wOiAtMTJweDtcbn1cbi53ZXVpLWNlbGxfc2VsZWN0LWJlZm9yZSAud2V1aS1jZWxsX19iZCB7XG4gIHBhZGRpbmctbGVmdDogMTZweDtcbn1cbi53ZXVpLWNlbGxfc2VsZWN0LWJlZm9yZSAud2V1aS1jZWxsX19iZDphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ud2V1aS1jZWxsX3NlbGVjdC1iZWZvcmUud2V1aS1jZWxsX2FjY2VzcyAud2V1aS1jZWxsX19oZCB7XG4gIGxpbmUtaGVpZ2h0OiA1NnB4O1xuICBwYWRkaW5nLWxlZnQ6IDMycHg7XG59XG4ud2V1aS1jZWxsX3NlbGVjdC1hZnRlciB7XG4gIHBhZGRpbmctbGVmdDogMTZweDtcbn1cbi53ZXVpLWNlbGxfc2VsZWN0LWFmdGVyIC53ZXVpLXNlbGVjdCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi53ZXVpLWNlbGxfc2VsZWN0LWFmdGVyLndldWktY2VsbF9hY2Nlc3MgLndldWktY2VsbF9fYmQge1xuICBsaW5lLWhlaWdodDogNTZweDtcbn1cbi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKlxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbipcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKlxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG4ud2V1aS1jZWxsX3Zjb2RlIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuLndldWktdmNvZGUtaW1nIHtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgaGVpZ2h0OiA1NnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLndldWktdmNvZGUtYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDU2cHg7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIHBhZGRpbmc6IDAgMC42ZW0gMCAwLjdlbTtcbiAgbGluZS1oZWlnaHQ6IDU2cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgY29sb3I6IHZhcigtLXdldWktTElOSyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi53ZXVpLXZjb2RlLWJ0bjpiZWZvcmUge1xuICBjb250ZW50OiBcIiBcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxcHg7XG4gIGJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS13ZXVpLUZHLTMpO1xuICBjb2xvcjogdmFyKC0td2V1aS1GRy0zKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwLjUpO1xufVxuYnV0dG9uLndldWktdmNvZGUtYnRuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDtcbn1cbi53ZXVpLXZjb2RlLWJ0bjphY3RpdmUge1xuICBjb2xvcjogdmFyKC0td2V1aS1MSU5LLUFDVElWRSk7XG59XG4vKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cbi53ZXVpLWdhbGxlcnkge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgei1pbmRleDogMTAwMDtcbn1cbi53ZXVpLWdhbGxlcnlfX2ltZyxcbi53ZXVpLWdhbGxlcnlfX29wciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgbGVmdDogY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xuICBsZWZ0OiBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xuICByaWdodDogMDtcbiAgcmlnaHQ6IGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7XG4gIHJpZ2h0OiBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KTtcbn1cbi53ZXVpLWdhbGxlcnlfX2ltZyB7XG4gIHRvcDogMDtcbiAgdG9wOiBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtdG9wKTtcbiAgdG9wOiBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCk7XG4gIGJvdHRvbTogNjBweDtcbiAgYm90dG9tOiBjYWxjKDYwcHggKyBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7XG4gIGJvdHRvbTogY2FsYyg2MHB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG59XG4ud2V1aS1nYWxsZXJ5X19vcHIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcbiAgcGFkZGluZy1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBkMGQwZDtcbiAgY29sb3I6IHZhcigtLXdldWktV0hJVEUpO1xuICBsaW5lLWhlaWdodDogNjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLndldWktZ2FsbGVyeV9fZGVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cbi53ZXVpLWNlbGxfc3dpdGNoIHtcbiAgcGFkZGluZy10b3A6IDEycHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMnB4O1xufVxuLndldWktc3dpdGNoIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cbi53ZXVpLXN3aXRjaCxcbi53ZXVpLXN3aXRjaC1jcF9fYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNTJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS13ZXVpLUZHLTMpO1xuICBvdXRsaW5lOiAwO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMsIGJvcmRlciAwLjFzO1xufVxuLndldWktc3dpdGNoOmJlZm9yZSxcbi53ZXVpLXN3aXRjaC1jcF9fYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2V1aS1CRy0zKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMzVzIGN1YmljLWJlemllcigwLjQ1LCAxLCAwLjQsIDEpO1xufVxuLndldWktc3dpdGNoOmFmdGVyLFxuLndldWktc3dpdGNoLWNwX19ib3g6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAyOHB4O1xuICBoZWlnaHQ6IDI4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjM1cyBjdWJpYy1iZXppZXIoMC40LCAwLjQsIDAuMjUsIDEuMzUpO1xufVxuLndldWktc3dpdGNoOmNoZWNrZWQsXG4ud2V1aS1zd2l0Y2gtY3BfX2lucHV0OmNoZWNrZWQgKyAud2V1aS1zd2l0Y2gtY3BfX2JveCxcbi53ZXVpLXN3aXRjaC1jcF9faW5wdXRbYXJpYS1jaGVja2VkPVwidHJ1ZVwiXSArIC53ZXVpLXN3aXRjaC1jcF9fYm94IHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS13ZXVpLUJSQU5EKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2V1aS1CUkFORCk7XG59XG4ud2V1aS1zd2l0Y2g6Y2hlY2tlZDpiZWZvcmUsXG4ud2V1aS1zd2l0Y2gtY3BfX2lucHV0OmNoZWNrZWQgKyAud2V1aS1zd2l0Y2gtY3BfX2JveDpiZWZvcmUsXG4ud2V1aS1zd2l0Y2gtY3BfX2lucHV0W2FyaWEtY2hlY2tlZD1cInRydWVcIl0gKyAud2V1aS1zd2l0Y2gtY3BfX2JveDpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xufVxuLndldWktc3dpdGNoOmNoZWNrZWQ6YWZ0ZXIsXG4ud2V1aS1zd2l0Y2gtY3BfX2lucHV0OmNoZWNrZWQgKyAud2V1aS1zd2l0Y2gtY3BfX2JveDphZnRlcixcbi53ZXVpLXN3aXRjaC1jcF9faW5wdXRbYXJpYS1jaGVja2VkPVwidHJ1ZVwiXSArIC53ZXVpLXN3aXRjaC1jcF9fYm94OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xufVxuLndldWktc3dpdGNoLWNwX19pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTk5OTlweDtcbn1cbi53ZXVpLXN3aXRjaC1jcF9fYm94IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cbi53ZXVpLXVwbG9hZGVyIHtcbiAgZmxleDogMTtcbn1cbi53ZXVpLXVwbG9hZGVyX19oZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLndldWktdXBsb2FkZXJfX3RpdGxlIHtcbiAgZmxleDogMTtcbn1cbi53ZXVpLXVwbG9hZGVyX19pbmZvIHtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMik7XG59XG4ud2V1aS11cGxvYWRlcl9fYmQge1xuICBtYXJnaW4tYm90dG9tOiAtOHB4O1xuICBtYXJnaW4tcmlnaHQ6IC04cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ud2V1aS11cGxvYWRlcl9fZmlsZXMge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLndldWktdXBsb2FkZXJfX2ZpbGUge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgd2lkdGg6IDk2cHg7XG4gIGhlaWdodDogOTZweDtcbiAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG4ud2V1aS11cGxvYWRlcl9fZmlsZV9zdGF0dXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ud2V1aS11cGxvYWRlcl9fZmlsZV9zdGF0dXM6YmVmb3JlIHtcbiAgY29udGVudDogXCIgXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG4ud2V1aS11cGxvYWRlcl9fZmlsZV9zdGF0dXMgLndldWktdXBsb2FkZXJfX2ZpbGUtY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLndldWktdXBsb2FkZXJfX2ZpbGUtY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLVdISVRFKTtcbn1cbi53ZXVpLXVwbG9hZGVyX19maWxlLWNvbnRlbnQgLndldWktaWNvbi13YXJuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLndldWktdXBsb2FkZXJfX2lucHV0LWJveCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIHdpZHRoOiA5NnB4O1xuICBoZWlnaHQ6IDk2cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7XG59XG5ib2R5W2RhdGEtd2V1aS10aGVtZT0nZGFyayddIC53ZXVpLXVwbG9hZGVyX19pbnB1dC1ib3gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUyZTJlO1xufVxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICBib2R5Om5vdChbZGF0YS13ZXVpLXRoZW1lPSdsaWdodCddKSAud2V1aS11cGxvYWRlcl9faW5wdXQtYm94IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUyZTJlO1xuICB9XG59XG4ud2V1aS11cGxvYWRlcl9faW5wdXQtYm94OmJlZm9yZSxcbi53ZXVpLXVwbG9hZGVyX19pbnB1dC1ib3g6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EzYTNhMztcbn1cbmJvZHlbZGF0YS13ZXVpLXRoZW1lPSdkYXJrJ10gLndldWktdXBsb2FkZXJfX2lucHV0LWJveDpiZWZvcmUsXG5ib2R5W2RhdGEtd2V1aS10aGVtZT0nZGFyayddIC53ZXVpLXVwbG9hZGVyX19pbnB1dC1ib3g6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmQ2ZDZkO1xufVxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICBib2R5Om5vdChbZGF0YS13ZXVpLXRoZW1lPSdsaWdodCddKSAud2V1aS11cGxvYWRlcl9faW5wdXQtYm94OmJlZm9yZSxcbiAgYm9keTpub3QoW2RhdGEtd2V1aS10aGVtZT0nbGlnaHQnXSkgLndldWktdXBsb2FkZXJfX2lucHV0LWJveDphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZkNmQ2ZDtcbiAgfVxufVxuLndldWktdXBsb2FkZXJfX2lucHV0LWJveDpiZWZvcmUge1xuICB3aWR0aDogMnB4O1xuICBoZWlnaHQ6IDMycHg7XG59XG4ud2V1aS11cGxvYWRlcl9faW5wdXQtYm94OmFmdGVyIHtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMnB4O1xufVxuLndldWktdXBsb2FkZXJfX2lucHV0LWJveDphY3RpdmU6YmVmb3JlLFxuLndldWktdXBsb2FkZXJfX2lucHV0LWJveDphY3RpdmU6YWZ0ZXIge1xuICBvcGFjaXR5OiAwLjc7XG59XG4ud2V1aS11cGxvYWRlcl9faW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG4ud2V1aS1tc2dfX2Rlc2MgYSxcbi53ZXVpLW1zZ19fZGVzYy1wcmltYXJ5IGEsXG4ud2V1aS1tc2dfX3RpcHMgYSB7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUxJTkspO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbi53ZXVpLW1zZyB7XG4gIHBhZGRpbmctdG9wOiA0OHB4O1xuICBwYWRkaW5nOiBjYWxjKDQ4cHggKyBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtdG9wKSkgY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XG4gIHBhZGRpbmc6IGNhbGMoNDhweCArIGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKSkgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCkgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2V1aS1CRy0yKTtcbn1cbi53ZXVpLW1zZ19faWNvbi1hcmVhIHtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbn1cbi53ZXVpLW1zZ19fdGV4dC1hcmVhIHtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgcGFkZGluZzogMCAzMnB4O1xuICBmbGV4OiAxO1xuICBsaW5lLWhlaWdodDogMS42O1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgaHlwaGVuczogYXV0bztcbn1cbi53ZXVpLW1zZ19fdGV4dC1hcmVhOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy10b3A6IDk2cHg7XG59XG4ud2V1aS1tc2dfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBjb2xvcjogdmFyKC0td2V1aS1GRy0wKTtcbn1cbi53ZXVpLW1zZ19fZGVzYyB7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMCk7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG59XG4ud2V1aS1tc2dfX2Rlc2MtcHJpbWFyeSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMSk7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG59XG4ud2V1aS1tc2dfX2N1c3RvbS1hcmVhIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBoeXBoZW5zOiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuLndldWktbXNnX190aXRsZSArIC53ZXVpLW1zZ19fY3VzdG9tLWFyZWEge1xuICBtYXJnaW4tdG9wOiA0OHB4O1xufVxuLndldWktbXNnX19kZXNjICsgLndldWktbXNnX19jdXN0b20tYXJlYSxcbi53ZXVpLW1zZ19fZGVzYy1wcmltYXJ5ICsgLndldWktbXNnX19jdXN0b20tYXJlYSB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG4ud2V1aS1tc2dfX2N1c3RvbS1hcmVhIC53ZXVpLWNlbGxzX19ncm91cF9mb3JtIC53ZXVpLWNlbGxzOmJlZm9yZSxcbi53ZXVpLW1zZ19fY3VzdG9tLWFyZWEgLndldWktY2VsbHNfX2dyb3VwX2Zvcm0gLndldWktY2VsbHM6YWZ0ZXIge1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbn1cbi53ZXVpLW1zZ19fY3VzdG9tLWFyZWEgLndldWktY2VsbHNfX2dyb3VwX2Zvcm0gLndldWktY2VsbCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cbi53ZXVpLW1zZ19fY3VzdG9tLWFyZWEgLndldWktY2VsbHNfX2dyb3VwX2Zvcm0gLndldWktY2VsbDpiZWZvcmUge1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbn1cbi53ZXVpLW1zZ19fb3ByLWFyZWEge1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuLndldWktbXNnX19vcHItYXJlYSAud2V1aS1idG4tYXJlYSB7XG4gIG1hcmdpbjogMDtcbn1cbi53ZXVpLW1zZ19fb3ByLWFyZWEgLndldWktYnRuICsgLndldWktYnRuIHtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cbi53ZXVpLW1zZ19fb3ByLWFyZWE6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDk2cHg7XG59XG4ud2V1aS1tc2dfX29wci1hcmVhICsgLndldWktbXNnX19leHRyYS1hcmVhIHtcbiAgbWFyZ2luLXRvcDogNDhweDtcbn1cbi53ZXVpLW1zZ19fdGlwcy1hcmVhIHtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgcGFkZGluZzogMCA0MHB4O1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgaHlwaGVuczogYXV0bztcbn1cbi53ZXVpLW1zZ19fb3ByLWFyZWEgKyAud2V1aS1tc2dfX3RpcHMtYXJlYSB7XG4gIG1hcmdpbi1ib3R0b206IDQ4cHg7XG59XG4ud2V1aS1tc2dfX3RpcHMtYXJlYTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogNjRweDtcbn1cbi53ZXVpLW1zZ19fdGlwcyB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMSk7XG59XG4ud2V1aS1tc2dfX2V4dHJhLWFyZWEge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTEpO1xufVxuLndldWktbXNnX19leHRyYS1hcmVhIGEsXG4ud2V1aS1tc2dfX2V4dHJhLWFyZWEgbmF2aWdhdG9yIHtcbiAgY29sb3I6IHZhcigtLXdldWktTElOSyk7XG59XG4ud2V1aS1tc2dfX2V4dHJhLWFyZWEgbmF2aWdhdG9yIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuLndldWktbXNnX2FsaWduLXRvcCAud2V1aS1tc2dfX3RleHQtYXJlYTpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG4vKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cbi53ZXVpLWNlbGxzX19ncm91cF9mb3JtOmZpcnN0LWNoaWxkIC53ZXVpLWNlbGxzX190aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4ud2V1aS1jZWxsc19fZ3JvdXBfZm9ybSAud2V1aS1jZWxsc19fdGl0bGUge1xuICBtYXJnaW4tdG9wOiAyNHB4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIHBhZGRpbmc6IDAgMzJweDtcbn1cbi53ZXVpLWNlbGxzX19ncm91cF9mb3JtIC53ZXVpLWNlbGxzOmJlZm9yZSxcbi53ZXVpLWNlbGxzX19ncm91cF9mb3JtIC53ZXVpLWNlbGw6YmVmb3JlIHtcbiAgbGVmdDogMzJweDtcbiAgcmlnaHQ6IDMycHg7XG59XG4ud2V1aS1jZWxsc19fZ3JvdXBfZm9ybSAud2V1aS1jZWxsc19jaGVja2JveCAud2V1aS1jaGVja19fbGFiZWw6YmVmb3JlIHtcbiAgbGVmdDogNzJweDtcbn1cbi53ZXVpLWNlbGxzX19ncm91cF9mb3JtIC53ZXVpLWNlbGxzOmFmdGVyIHtcbiAgbGVmdDogMzJweDtcbiAgcmlnaHQ6IDMycHg7XG59XG4ud2V1aS1jZWxsc19fZ3JvdXBfZm9ybSAud2V1aS1jZWxsIHtcbiAgcGFkZGluZzogMTZweCAzMnB4O1xufVxuLndldWktY2VsbHNfX2dyb3VwX2Zvcm0gLndldWktY2VsbDpub3QoLndldWktY2VsbF9saW5rKSB7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTApO1xufVxuLndldWktY2VsbHNfX2dyb3VwX2Zvcm0gLndldWktY2VsbF9faGQge1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xufVxuLndldWktY2VsbHNfX2dyb3VwX2Zvcm0gLndldWktY2VsbF9fZnQge1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG59XG4ud2V1aS1jZWxsc19fZ3JvdXBfZm9ybSAud2V1aS1jZWxsX3dhcm4gaW5wdXQge1xuICBjb2xvcjogdmFyKC0td2V1aS1SRUQpO1xufVxuLndldWktY2VsbHNfX2dyb3VwX2Zvcm0gLndldWktbGFiZWwge1xuICBtYXgtd2lkdGg6IDVlbTtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG4ud2V1aS1jZWxsc19fZ3JvdXBfZm9ybSAud2V1aS1jZWxsc19fdGlwcyB7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgcGFkZGluZzogMCAzMnB4O1xuICBjb2xvcjogdmFyKC0td2V1aS1GRy0yKTtcbn1cbi53ZXVpLWNlbGxzX19ncm91cF9mb3JtIC53ZXVpLWNlbGxzX190aXBzIGEge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLndldWktY2VsbHNfX2dyb3VwX2Zvcm0gLndldWktY2VsbHNfX3RpcHNfd2FybiB7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLVJFRCk7XG59XG4ud2V1aS1jZWxsc19fZ3JvdXBfZm9ybSAud2V1aS1jZWxsX3Zjb2RlIHtcbiAgcGFkZGluZzogMTJweCAzMnB4O1xufVxuLndldWktY2VsbHNfX2dyb3VwX2Zvcm0gLndldWktdmNvZGUtYnRuIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBwYWRkaW5nOiAwIDEycHg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBsaW5lLWhlaWdodDogMmVtO1xuICBjb2xvcjogdmFyKC0td2V1aS1CVE4tREVGQVVMVC1DT0xPUik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktQlROLURFRkFVTFQtQkcpO1xufVxuLndldWktY2VsbHNfX2dyb3VwX2Zvcm0gLndldWktdmNvZGUtYnRuOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ud2V1aS1jZWxsc19fZ3JvdXBfZm9ybSAud2V1aS1jZWxsX3NlbGVjdCB7XG4gIHBhZGRpbmc6IDA7XG59XG4ud2V1aS1jZWxsc19fZ3JvdXBfZm9ybSAud2V1aS1jZWxsX3NlbGVjdCAud2V1aS1zZWxlY3Qge1xuICBwYWRkaW5nOiAwIDMycHg7XG59XG4ud2V1aS1jZWxsc19fZ3JvdXBfZm9ybSAud2V1aS1jZWxsX3NlbGVjdCAud2V1aS1jZWxsX19iZDphZnRlciB7XG4gIHJpZ2h0OiAzMnB4O1xufVxuLndldWktY2VsbHNfX2dyb3VwX2Zvcm0gLndldWktY2VsbF9zZWxlY3QtYmVmb3JlIC53ZXVpLWxhYmVsIHtcbiAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xufVxuLndldWktY2VsbHNfX2dyb3VwX2Zvcm0gLndldWktY2VsbF9zZWxlY3QtYmVmb3JlIC53ZXVpLXNlbGVjdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gIGJveC1zaXppbmc6IGluaXRpYWw7XG59XG4ud2V1aS1jZWxsc19fZ3JvdXBfZm9ybSAud2V1aS1jZWxsX3NlbGVjdC1hZnRlciB7XG4gIHBhZGRpbmctbGVmdDogMzJweDtcbn1cbi53ZXVpLWNlbGxzX19ncm91cF9mb3JtIC53ZXVpLWNlbGxfc2VsZWN0LWFmdGVyIC53ZXVpLXNlbGVjdCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi53ZXVpLWNlbGxzX19ncm91cF9mb3JtIC53ZXVpLWNlbGxfc3dpdGNoIHtcbiAgcGFkZGluZzogMTJweCAzMnB4O1xufVxuLndldWktZm9ybSB7XG4gIHBhZGRpbmc6IDU2cHggMCAwO1xuICBwYWRkaW5nOiBjYWxjKDU2cHggKyBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtdG9wKSkgY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XG4gIHBhZGRpbmc6IGNhbGMoNTZweCArIGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKSkgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCkgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktQkctMik7XG59XG4ud2V1aS1mb3JtIC53ZXVpLWZvb3Rlcixcbi53ZXVpLWZvcm0gLndldWktZm9vdGVyX19saW5rIHtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuLndldWktZm9ybSAud2V1aS1hZ3JlZSB7XG4gIHBhZGRpbmc6IDA7XG59XG4ud2V1aS1mb3JtX190ZXh0LWFyZWEge1xuICBwYWRkaW5nOiAwIDMycHg7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTApO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ud2V1aS1mb3JtX19jb250cm9sLWFyZWEge1xuICBmbGV4OiAxO1xuICBtYXJnaW46IDQ4cHggMDtcbn1cbi53ZXVpLWZvcm1fX3RpcHMtYXJlYSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ud2V1aS1mb3JtX190aXBzLWFyZWEsXG4ud2V1aS1mb3JtX19leHRyYS1hcmVhIHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLndldWktZm9ybV9fb3ByLWFyZWEge1xuICBtYXJnaW4tYm90dG9tOiA2NHB4O1xufVxuLndldWktZm9ybV9fb3ByLWFyZWE6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDk2cHg7XG59XG4ud2V1aS1mb3JtX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMzY7XG59XG4ud2V1aS1mb3JtX19kZXNjIHtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuLndldWktZm9ybV9fdGlwcyB7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTEpO1xuICBmb250LXNpemU6IDE0cHg7XG59XG4ud2V1aS1mb3JtX190aXBzIGEsXG4ud2V1aS1mb3JtX190aXBzIG5hdmlnYXRvciB7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUxJTkspO1xufVxuLndldWktZm9ybV9fdGlwcyBuYXZpZ2F0b3Ige1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG4vKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cbi53ZXVpLWFydGljbGUge1xuICBwYWRkaW5nOiAyNHB4IDE2cHg7XG4gIHBhZGRpbmc6IDI0cHggY2FsYygxNnB4ICsgY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSkgY2FsYygyNHB4ICsgY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpIGNhbGMoMTZweCArIGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1sZWZ0KSk7XG4gIHBhZGRpbmc6IDI0cHggY2FsYygxNnB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCkpIGNhbGMoMjRweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSkgY2FsYygxNnB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KSk7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMCk7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuICBoeXBoZW5zOiBhdXRvO1xufVxuLndldWktYXJ0aWNsZSBzZWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG59XG4ud2V1aS1hcnRpY2xlIGgxIHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjllbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cbi53ZXVpLWFydGljbGUgaDIge1xuICBmb250LXNpemU6IDE3cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi1ib3R0b206IDAuMzRlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cbi53ZXVpLWFydGljbGUgaDMge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDAuMzRlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cbi53ZXVpLWFydGljbGUgKiB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuLndldWktYXJ0aWNsZSBwIHtcbiAgbWFyZ2luOiAwIDAgMC44ZW07XG59XG4vKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cbi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuLndldWktdGFiYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA1MDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktQkctMSk7XG59XG4ud2V1aS10YWJiYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCIgXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS13ZXVpLUZHLTMpO1xuICBjb2xvcjogdmFyKC0td2V1aS1GRy0zKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB0cmFuc2Zvcm06IHNjYWxlWSgwLjUpO1xufVxuLndldWktdGFiYmFyX19pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXg6IDE7XG4gIHBhZGRpbmc6IDhweCAwO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYyg4cHggKyBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDhweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7XG4gIGZvbnQtc2l6ZTogMDtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuLndldWktdGFiYmFyX19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1sZWZ0OiBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XG4gIHBhZGRpbmctbGVmdDogZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtcbn1cbi53ZXVpLXRhYmJhcl9faXRlbTpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1yaWdodDogY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KTtcbiAgcGFkZGluZy1yaWdodDogZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7XG59XG4ud2V1aS10YWJiYXJfX2l0ZW0ud2V1aS1iYXJfX2l0ZW1fb24gLndldWktdGFiYmFyX19pY29uLFxuLndldWktdGFiYmFyX19pdGVtLndldWktYmFyX19pdGVtX29uIC53ZXVpLXRhYmJhcl9faWNvbiA+IGksXG4ud2V1aS10YWJiYXJfX2l0ZW0ud2V1aS1iYXJfX2l0ZW1fb24gLndldWktdGFiYmFyX19sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUJSQU5EKTtcbn1cbi53ZXVpLXRhYmJhcl9faWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDI4cHg7XG4gIGhlaWdodDogMjhweDtcbiAgbWFyZ2luLWJvdHRvbTogMnB4O1xufVxuaS53ZXVpLXRhYmJhcl9faWNvbixcbi53ZXVpLXRhYmJhcl9faWNvbiA+IGkge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTEpO1xufVxuLndldWktdGFiYmFyX19pY29uIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ud2V1aS10YWJiYXJfX2xhYmVsIHtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMCk7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cbi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuLndldWktbmF2YmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA1MDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktQkctMik7XG4gIHBhZGRpbmctdG9wOiBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtdG9wKTtcbiAgcGFkZGluZy10b3A6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKTtcbn1cbi53ZXVpLW5hdmJhcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0td2V1aS1GRy0zKTtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoMC41KTtcbn1cbi53ZXVpLW5hdmJhciArIC53ZXVpLXRhYl9fcGFuZWwge1xuICBwYWRkaW5nLWJvdHRvbTogY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7XG4gIHBhZGRpbmctYm90dG9tOiBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7XG59XG4ud2V1aS1uYXZiYXJfX2l0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4OiAxO1xuICBwYWRkaW5nOiAxNnB4IDA7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDE2cHggKyBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtdG9wKSk7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDE2cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCkpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDExNzY0NzE7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi53ZXVpLW5hdmJhcl9faXRlbTphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13ZXVpLUJHLUNPTE9SLUFDVElWRSk7XG59XG4ud2V1aS1uYXZiYXJfX2l0ZW0ud2V1aS1iYXJfX2l0ZW1fb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13ZXVpLUJHLUNPTE9SLUFDVElWRSk7XG59XG4ud2V1aS1uYXZiYXJfX2l0ZW06YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMXB4O1xuICBib3R0b206IDA7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLXdldWktRkctMyk7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTMpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDAuNSk7XG59XG4ud2V1aS1uYXZiYXJfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLWxlZnQ6IGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtcbiAgcGFkZGluZy1sZWZ0OiBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xufVxuLndldWktbmF2YmFyX19pdGVtOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLXJpZ2h0OiBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO1xuICBwYWRkaW5nLXJpZ2h0OiBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KTtcbn1cbi53ZXVpLW5hdmJhcl9faXRlbTpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi53ZXVpLXRhYiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi53ZXVpLXRhYl9fcGFuZWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmbGV4OiAxO1xuICBvdmVyZmxvdzogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuLndldWktdGFiX19jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuLndldWktcHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLndldWktcHJvZ3Jlc3NfX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktQkctMCk7XG4gIGhlaWdodDogM3B4O1xuICBmbGV4OiAxO1xufVxuLndldWktcHJvZ3Jlc3NfX2lubmVyLWJhciB7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktQlJBTkQpO1xufVxuLndldWktcHJvZ3Jlc3NfX29wciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogMTVweDtcbiAgZm9udC1zaXplOiAwO1xufVxuLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG4ud2V1aS1wYW5lbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktQkctMik7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi53ZXVpLXBhbmVsOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi53ZXVpLXBhbmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMXB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0td2V1aS1GRy0zKTtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoMC41KTtcbn1cbi53ZXVpLXBhbmVsOmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS13ZXVpLUZHLTMpO1xuICBjb2xvcjogdmFyKC0td2V1aS1GRy0zKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlO1xuICB0cmFuc2Zvcm06IHNjYWxlWSgwLjUpO1xufVxuLndldWktcGFuZWxfX2hkIHtcbiAgcGFkZGluZzogMTZweCAxNnB4IDEzcHg7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTApO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi53ZXVpLXBhbmVsX19oZDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0td2V1aS1GRy0zKTtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoMC41KTtcbiAgbGVmdDogMTVweDtcbn1cbi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuLndldWktbWVkaWEtYm94IHtcbiAgcGFkZGluZzogMTZweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLndldWktbWVkaWEtYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMXB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0td2V1aS1GRy0zKTtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoMC41KTtcbiAgbGVmdDogMTZweDtcbn1cbi53ZXVpLW1lZGlhLWJveDpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuYS53ZXVpLW1lZGlhLWJveCB7XG4gIGNvbG9yOiAjMDAwO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5hLndldWktbWVkaWEtYm94OmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktQkctQ09MT1ItQUNUSVZFKTtcbn1cbi53ZXVpLW1lZGlhLWJveF9fdGl0bGUge1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDE3cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTApO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgaHlwaGVuczogYXV0bztcbn1cbi53ZXVpLW1lZGlhLWJveF9fZGVzYyB7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTIpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIHBhZGRpbmctdG9wOiA0cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgaHlwaGVuczogYXV0bztcbn1cbi53ZXVpLW1lZGlhLWJveF9faW5mbyB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG4gIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMik7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ud2V1aS1tZWRpYS1ib3hfX2luZm9fX21ldGEge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMWVtO1xufVxuLndldWktbWVkaWEtYm94X19pbmZvX19tZXRhX2V4dHJhIHtcbiAgcGFkZGluZy1sZWZ0OiAxZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0td2V1aS1GRy0yKTtcbn1cbi53ZXVpLW1lZGlhLWJveF9hcHBtc2cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLndldWktbWVkaWEtYm94X2FwcG1zZyAud2V1aS1tZWRpYS1ib3hfX2hkIHtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBsaW5lLWhlaWdodDogNjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLndldWktbWVkaWEtYm94X2FwcG1zZyAud2V1aS1tZWRpYS1ib3hfX3RodW1iIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4ud2V1aS1tZWRpYS1ib3hfYXBwbXNnIC53ZXVpLW1lZGlhLWJveF9fYmQge1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG59XG4ud2V1aS1tZWRpYS1ib3hfc21hbGwtYXBwbXNnIHtcbiAgcGFkZGluZzogMDtcbn1cbi53ZXVpLW1lZGlhLWJveF9zbWFsbC1hcHBtc2cgLndldWktY2VsbHMge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLndldWktbWVkaWEtYm94X3NtYWxsLWFwcG1zZyAud2V1aS1jZWxsczpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG4ud2V1aS1ncmlkcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi53ZXVpLWdyaWRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMXB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0td2V1aS1GRy0zKTtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoMC41KTtcbn1cbi53ZXVpLWdyaWRzOmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMXB4O1xuICBib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0td2V1aS1GRy0zKTtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMC41KTtcbn1cbi53ZXVpLWdyaWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nOiAyMHB4IDEwcHg7XG4gIHdpZHRoOiAzMy4zMzMzMzMzMyU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4ud2V1aS1ncmlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxcHg7XG4gIGJvdHRvbTogMDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0td2V1aS1GRy0zKTtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMC41KTtcbn1cbi53ZXVpLWdyaWQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDFweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXdldWktRkctMyk7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTMpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7XG4gIHRyYW5zZm9ybTogc2NhbGVZKDAuNSk7XG59XG4ud2V1aS1ncmlkOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktQkctQ09MT1ItQUNUSVZFKTtcbn1cbi53ZXVpLWdyaWRfX2ljb24ge1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi53ZXVpLWdyaWRfX2ljb24gaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ud2V1aS1ncmlkX19pY29uICsgLndldWktZ3JpZF9fbGFiZWwge1xuICBtYXJnaW4tdG9wOiA0cHg7XG59XG4ud2V1aS1ncmlkX19sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTApO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG4ud2V1aS1mb290ZXIge1xuICBjb2xvcjogdmFyKC0td2V1aS1GRy0yKTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS40O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ud2V1aS1mb290ZXIgYSxcbi53ZXVpLWZvb3RlciBuYXZpZ2F0b3Ige1xuICBjb2xvcjogdmFyKC0td2V1aS1MSU5LKTtcbn1cbi53ZXVpLWZvb3RlciBuYXZpZ2F0b3Ige1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG4ud2V1aS1mb290ZXJfZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nLXRvcDogMTZweDtcbiAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDE2cHggKyBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDE2cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO1xuICBsZWZ0OiBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XG4gIGxlZnQ6IGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XG4gIHJpZ2h0OiBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO1xuICByaWdodDogZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7XG59XG4ud2V1aS1mb290ZXJfX2xpbmtzIHtcbiAgZm9udC1zaXplOiAwO1xufVxuLndldWktZm9vdGVyX19saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBtYXJnaW46IDAgOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi53ZXVpLWZvb3Rlcl9fbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIiBcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxcHg7XG4gIGJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS13ZXVpLUZHLTMpO1xuICBjb2xvcjogdmFyKC0td2V1aS1GRy0zKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwLjUpO1xuICBsZWZ0OiAtOHB4O1xuICB0b3A6IDAuMzZlbTtcbiAgYm90dG9tOiAwLjM2ZW07XG59XG4ud2V1aS1mb290ZXJfX2xpbms6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi53ZXVpLWZvb3Rlcl9fdGV4dCB7XG4gIHBhZGRpbmc6IDAgMTZweDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG4ud2V1aS1mbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi53ZXVpLWZsZXhfX2l0ZW0ge1xuICBmbGV4OiAxO1xufVxuLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG4ud2V1aS1kaWFsb2cge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDUwMDA7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAxNnB4O1xuICByaWdodDogMTZweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktQkctMik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiA5MCU7XG59XG4ud2V1aS1kaWFsb2dfX2hkIHtcbiAgcGFkZGluZzogMzJweCAyNHB4IDE2cHg7XG59XG4ud2V1aS1kaWFsb2dfX3RpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuLndldWktZGlhbG9nX19iZCB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgcGFkZGluZzogMCAyNHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICBmb250LXNpemU6IDE3cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuICBoeXBoZW5zOiBhdXRvO1xuICBjb2xvcjogdmFyKC0td2V1aS1GRy0xKTtcbn1cbi53ZXVpLWRpYWxvZ19fYmQ6Zmlyc3QtY2hpbGQge1xuICBtaW4taGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAzMnB4IDI0cHggMDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMCk7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi53ZXVpLWRpYWxvZ19fZnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiA1NnB4O1xuICBtaW4taGVpZ2h0OiA1NnB4O1xuICBmb250LXNpemU6IDE3cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4ud2V1aS1kaWFsb2dfX2Z0OmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS13ZXVpLURJQUxPRy1MSU5FLUNPTE9SKTtcbiAgY29sb3I6IHZhcigtLXdldWktRElBTE9HLUxJTkUtQ09MT1IpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHRyYW5zZm9ybTogc2NhbGVZKDAuNSk7XG59XG4ud2V1aS1kaWFsb2dfX2J0biB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4OiAxO1xuICBjb2xvcjogdmFyKC0td2V1aS1MSU5LKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi53ZXVpLWRpYWxvZ19fYnRuOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktQkctQ09MT1ItQUNUSVZFKTtcbn1cbi53ZXVpLWRpYWxvZ19fYnRuOmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMXB4O1xuICBib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0td2V1aS1ESUFMT0ctTElORS1DT0xPUik7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLURJQUxPRy1MSU5FLUNPTE9SKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwLjUpO1xufVxuLndldWktZGlhbG9nX19idG46Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLndldWktZGlhbG9nX19idG5fZGVmYXVsdCB7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLUhBTEYpO1xufVxuLndldWktc2tpbl9hbmRyb2lkIC53ZXVpLWRpYWxvZyB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJveC1zaGFkb3c6IDAgNnB4IDMwcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4ud2V1aS1za2luX2FuZHJvaWQgLndldWktZGlhbG9nX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cbi53ZXVpLXNraW5fYW5kcm9pZCAud2V1aS1kaWFsb2dfX2hkIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi53ZXVpLXNraW5fYW5kcm9pZCAud2V1aS1kaWFsb2dfX2JkIHtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMSk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4ud2V1aS1za2luX2FuZHJvaWQgLndldWktZGlhbG9nX19iZDpmaXJzdC1jaGlsZCB7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTApO1xufVxuLndldWktc2tpbl9hbmRyb2lkIC53ZXVpLWRpYWxvZ19fZnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICBtaW4taGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAwIDI0cHggMTZweDtcbn1cbi53ZXVpLXNraW5fYW5kcm9pZCAud2V1aS1kaWFsb2dfX2Z0OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi53ZXVpLXNraW5fYW5kcm9pZCAud2V1aS1kaWFsb2dfX2J0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgcGFkZGluZzogMCAwLjhlbTtcbn1cbi53ZXVpLXNraW5fYW5kcm9pZCAud2V1aS1kaWFsb2dfX2J0bjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ud2V1aS1za2luX2FuZHJvaWQgLndldWktZGlhbG9nX19idG46bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogLTAuOGVtO1xufVxuLndldWktc2tpbl9hbmRyb2lkIC53ZXVpLWRpYWxvZ19fYnRuX2RlZmF1bHQge1xuICBjb2xvcjogdmFyKC0td2V1aS1GRy1IQUxGKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM1MnB4KSB7XG4gIC53ZXVpLWRpYWxvZyB7XG4gICAgd2lkdGg6IDMyMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG4vKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cbi53ZXVpLWhhbGYtc2NyZWVuLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWF4LWhlaWdodDogNzUlO1xuICB6LWluZGV4OiA1MDAwO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13ZXVpLUJHLTIpO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMnB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTJweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMCAyNHB4O1xuICBwYWRkaW5nOiAwIGNhbGMoMjRweCArIGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1yaWdodCkpIGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pIGNhbGMoMjRweCArIGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1sZWZ0KSk7XG4gIHBhZGRpbmc6IDAgY2FsYygyNHB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCkpIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSBjYWxjKDI0cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpKTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDU1OHB4KSB7XG4gIC53ZXVpLWhhbGYtc2NyZWVuLWRpYWxvZyB7XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgfVxufVxuLndldWktaGFsZi1zY3JlZW4tZGlhbG9nX19oZCB7XG4gIGZvbnQtc2l6ZTogOHB4O1xuICBoZWlnaHQ6IDhlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi53ZXVpLWhhbGYtc2NyZWVuLWRpYWxvZ19faGQgLndldWktaWNvbi1idG4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuLndldWktaGFsZi1zY3JlZW4tZGlhbG9nX19oZCAud2V1aS1pY29uLWJ0bjphY3RpdmUge1xuICBvcGFjaXR5OiAwLjU7XG59XG4ud2V1aS1oYWxmLXNjcmVlbi1kaWFsb2dfX2hkX19zaWRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtOHB4O1xufVxuLndldWktaGFsZi1zY3JlZW4tZGlhbG9nX19oZF9fbWFpbiB7XG4gIGZsZXg6IDE7XG59XG4ud2V1aS1oYWxmLXNjcmVlbi1kaWFsb2dfX2hkX19zaWRlICsgLndldWktaGFsZi1zY3JlZW4tZGlhbG9nX19oZF9fbWFpbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMCA0MHB4O1xufVxuLndldWktaGFsZi1zY3JlZW4tZGlhbG9nX19oZF9fbWFpbiArIC53ZXVpLWhhbGYtc2NyZWVuLWRpYWxvZ19faGRfX3NpZGUge1xuICByaWdodDogLThweDtcbiAgbGVmdDogYXV0bztcbn1cbi53ZXVpLWhhbGYtc2NyZWVuLWRpYWxvZ19faGRfX21haW4gKyAud2V1aS1oYWxmLXNjcmVlbi1kaWFsb2dfX2hkX19zaWRlIC53ZXVpLWljb24tYnRuIHtcbiAgcmlnaHQ6IDA7XG59XG4ud2V1aS1oYWxmLXNjcmVlbi1kaWFsb2dfX3RpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTApO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDE1cHg7XG59XG4ud2V1aS1oYWxmLXNjcmVlbi1kaWFsb2dfX3N1YnRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTEpO1xuICBmb250LXNpemU6IDEwcHg7XG59XG4ud2V1aS1oYWxmLXNjcmVlbi1kaWFsb2dfX2JkIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBhZGRpbmctdG9wOiA0cHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTApO1xufVxuLndldWktaGFsZi1zY3JlZW4tZGlhbG9nX19kZXNjIHtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0td2V1aS1GRy0wKTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cbi53ZXVpLWhhbGYtc2NyZWVuLWRpYWxvZ19fdGlwcyB7XG4gIHBhZGRpbmctdG9wOiAxNnB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTIpO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuLndldWktaGFsZi1zY3JlZW4tZGlhbG9nX19mdCB7XG4gIHBhZGRpbmc6IDAgMjRweCAzMnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ud2V1aS1oYWxmLXNjcmVlbi1kaWFsb2dfX2Z0IC53ZXVpLWJ0bjpudGgtbGFzdC1jaGlsZChuKzIpLFxuLndldWktaGFsZi1zY3JlZW4tZGlhbG9nX19mdCAud2V1aS1idG46bnRoLWxhc3QtY2hpbGQobisyKSArIC53ZXVpLWJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgbWFyZ2luOiAwIDhweDtcbiAgd2lkdGg6IDEyMHB4O1xufVxuLndldWktaWNvbi1idG4ge1xuICBvdXRsaW5lOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMCk7XG4gIGZvbnQtc2l6ZTogMDtcbn1cbi53ZXVpLWljb24tbW9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgbWFzazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCclM0UgICUzQ3BhdGggZmlsbC1vcGFjaXR5PScuOScgZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNNSAxMC4yNWExLjc1IDEuNzUgMCAxIDEgMCAzLjUgMS43NSAxLjc1IDAgMCAxIDAtMy41em03IDBhMS43NSAxLjc1IDAgMSAxIDAgMy41IDEuNzUgMS43NSAwIDAgMSAwLTMuNXptNyAwYTEuNzUgMS43NSAwIDEgMSAwIDMuNSAxLjc1IDEuNzUgMCAwIDEgMC0zLjV6Jy8lM0UlM0Mvc3ZnJTNFXCIpIG5vLXJlcGVhdCA1MCUgNTAlO1xuICAtd2Via2l0LW1hc2stc2l6ZTogY292ZXI7XG4gIG1hc2stc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMCk7XG59XG4ud2V1aS1pY29uLWJ0bl9nb2JhY2sge1xuICBjb2xvcjogdmFyKC0td2V1aS1GRy0wKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBtYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMiUyMiUyMGhlaWdodCUzRCUyMjI0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xMCUyMDE5LjQzOEw4Ljk1NSUyMDIwLjVsLTcuNjY2LTcuNzlhMS4wMiUyMDEuMDIlMjAwJTIwMDEwLTEuNDJMOC45NTUlMjAzLjUlMjAxMCUyMDQuNTYzJTIwMi42ODIlMjAxMiUyMDEwJTIwMTkuNDM4eiUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMkYlM0UlM0MlMkZzdmclM0VcIikgbm8tcmVwZWF0IDUwJSA1MCU7XG4gIC13ZWJraXQtbWFzay1zaXplOiBjb3ZlcjtcbiAgbWFzay1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xufVxuLndldWktaWNvbi1idG5fY2xvc2Uge1xuICBjb2xvcjogdmFyKC0td2V1aS1GRy0wKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBtYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjI0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xMi4yNSUyMDEwLjY5M0w2LjA1NyUyMDQuNSUyMDUlMjA1LjU1N2w2LjE5MyUyMDYuMTkzTDUlMjAxNy45NDMlMjA2LjA1NyUyMDE5bDYuMTkzLTYuMTkzTDE4LjQ0MyUyMDE5bDEuMDU3LTEuMDU3LTYuMTkzLTYuMTkzTDE5LjUlMjA1LjU1NyUyMDE4LjQ0MyUyMDQuNXolMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTJGJTNFJTNDJTJGc3ZnJTNFXCIpIG5vLXJlcGVhdCA1MCUgNTAlO1xuICAtd2Via2l0LW1hc2stc2l6ZTogY292ZXI7XG4gIG1hc2stc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cbi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuLndldWktdG9hc3Qge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDUwMDA7XG4gIHdpZHRoOiAxMzZweDtcbiAgaGVpZ2h0OiAxMzZweDtcbiAgdG9wOiA0MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktQkctNCk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG4ud2V1aS10b2FzdF90ZXh0IHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4td2lkdGg6IDE1MnB4O1xuICBtYXgtd2lkdGg6IDIxNnB4O1xuICBwYWRkaW5nOiAxMnB4IDA7XG59XG4ud2V1aS10b2FzdF90ZXh0IC53ZXVpLXRvYXN0X19jb250ZW50IHtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuLndldWktaWNvbl90b2FzdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuLndldWktaWNvbl90b2FzdC53ZXVpLWljb24tc3VjY2Vzcy1uby1jaXJjbGUge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLndldWktaWNvbl90b2FzdC53ZXVpLWljb24td2FybiB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4ud2V1aS1pY29uX3RvYXN0LndldWktbG9hZGluZyB7XG4gIHdpZHRoOiAzNnB4O1xuICBoZWlnaHQ6IDM2cHg7XG59XG4ud2V1aS1pY29uX3RvYXN0LndldWktcHJpbWFyeS1sb2FkaW5nIHtcbiAgZm9udC1zaXplOiA0MHB4O1xuICBjb2xvcjogI0VERURFRDtcbn1cbi53ZXVpLWljb25fdG9hc3Qud2V1aS1wcmltYXJ5LWxvYWRpbmc6YmVmb3JlIHtcbiAgYm9yZGVyLXdpZHRoOiA0cHggMCA0cHggNHB4O1xufVxuLndldWktaWNvbl90b2FzdC53ZXVpLXByaW1hcnktbG9hZGluZzphZnRlciB7XG4gIGJvcmRlci13aWR0aDogNHB4IDRweCA0cHggMDtcbn1cbi53ZXVpLWljb25fdG9hc3Qud2V1aS1wcmltYXJ5LWxvYWRpbmcgLndldWktcHJpbWFyeS1sb2FkaW5nX19kb3Qge1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDRweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcbn1cbi53ZXVpLXRvYXN0X19jb250ZW50IHtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBwYWRkaW5nOiAwIDEycHg7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuICBoeXBoZW5zOiBhdXRvO1xufVxuLndldWktdG9hc3RfdGV4dC1tb3JlIC53ZXVpLWljb25fdG9hc3Qge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuLndldWktdG9hc3RfdGV4dC1tb3JlIC53ZXVpLXRvYXN0X19jb250ZW50IHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG4ud2V1aS1tYXNrIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDAwO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbi53ZXVpLW1hc2tfdHJhbnNwYXJlbnQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbn1cbi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuLndldWktYWN0aW9uc2hlZXQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTAwJSk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogNTAwMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktQkctMSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMnB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTJweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi53ZXVpLWFjdGlvbnNoZWV0X190aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiA1NnB4O1xuICBwYWRkaW5nOiAwIDI0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGJhY2tncm91bmQ6IHZhcigtLXdldWktQkctMik7XG59XG4ud2V1aS1hY3Rpb25zaGVldF9fdGl0bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCIgXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS13ZXVpLUZHLTMpO1xuICBjb2xvcjogdmFyKC0td2V1aS1GRy0zKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlO1xuICB0cmFuc2Zvcm06IHNjYWxlWSgwLjUpO1xufVxuLndldWktYWN0aW9uc2hlZXRfX3RpdGxlIC53ZXVpLWFjdGlvbnNoZWV0X190aXRsZS10ZXh0IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG59XG4ud2V1aS1hY3Rpb25zaGVldF9fbWVudSB7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13ZXVpLUJHLTIpO1xufVxuLndldWktYWN0aW9uc2hlZXRfX2FjdGlvbiB7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2V1aS1CRy0yKTtcbiAgcGFkZGluZy1ib3R0b206IGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xuICBwYWRkaW5nLWJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xufVxuLndldWktYWN0aW9uc2hlZXRfX2NlbGwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBsaW5lLWhlaWdodDogMS40MTE3NjQ3MTtcbn1cbi53ZXVpLWFjdGlvbnNoZWV0X19jZWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMXB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0td2V1aS1GRy0zKTtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoMC41KTtcbn1cbi53ZXVpLWFjdGlvbnNoZWV0X19jZWxsOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktQkctQ09MT1ItQUNUSVZFKTtcbn1cbi53ZXVpLWFjdGlvbnNoZWV0X19jZWxsOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ud2V1aS1hY3Rpb25zaGVldF9fY2VsbF93YXJuIHtcbiAgY29sb3I6IHZhcigtLXdldWktUkVEKTtcbn1cbi53ZXVpLXNraW5fYW5kcm9pZCAud2V1aS1hY3Rpb25zaGVldCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgYm90dG9tOiBhdXRvO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgd2lkdGg6IDI3NHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG59XG4ud2V1aS1za2luX2FuZHJvaWQgLndldWktYWN0aW9uc2hlZXRfX2FjdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ud2V1aS1za2luX2FuZHJvaWQgLndldWktYWN0aW9uc2hlZXRfX21lbnUge1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJveC1zaGFkb3c6IDAgNnB4IDMwcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4ud2V1aS1za2luX2FuZHJvaWQgLndldWktYWN0aW9uc2hlZXRfX2NlbGwge1xuICBwYWRkaW5nOiAxNnB4O1xuICBmb250LXNpemU6IDE3cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQxMTc2NDcxO1xuICBjb2xvcjogdmFyKC0td2V1aS1GRy0wKTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi53ZXVpLXNraW5fYW5kcm9pZCAud2V1aS1hY3Rpb25zaGVldF9fY2VsbDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDJweDtcbn1cbi53ZXVpLXNraW5fYW5kcm9pZCAud2V1aS1hY3Rpb25zaGVldF9fY2VsbDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMnB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMnB4O1xufVxuLndldWktYWN0aW9uc2hlZXRfdG9nZ2xlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG4vKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cbi53ZXVpLWxvYWRtb3JlIHtcbiAgd2lkdGg6IDY1JTtcbiAgbWFyZ2luOiAyMHB4IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwO1xufVxuLndldWktbG9hZG1vcmUgLndldWktbG9hZGluZyxcbi53ZXVpLWxvYWRtb3JlIC53ZXVpLXByaW1hcnktbG9hZGluZyB7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxuLndldWktbG9hZG1vcmVfX3RpcHMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMCk7XG59XG4ud2V1aS1sb2FkbW9yZV9saW5lIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXdldWktRkctMyk7XG4gIG1hcmdpbi10b3A6IDMycHg7XG59XG4ud2V1aS1sb2FkbW9yZV9saW5lIC53ZXVpLWxvYWRtb3JlX190aXBzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0wLjllbTtcbiAgcGFkZGluZzogMCAwLjU1ZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktQkctMik7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTEpO1xufVxuLndldWktbG9hZG1vcmVfZG90IC53ZXVpLWxvYWRtb3JlX190aXBzIHtcbiAgcGFkZGluZzogMCAwLjE2ZW07XG59XG4ud2V1aS1sb2FkbW9yZV9kb3QgLndldWktbG9hZG1vcmVfX3RpcHM6YmVmb3JlIHtcbiAgY29udGVudDogXCIgXCI7XG4gIHdpZHRoOiA0cHg7XG4gIGhlaWdodDogNHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktRkctMyk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgdG9wOiAtMC4xNmVtO1xufVxuLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG4ud2V1aS1iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4xNWVtIDAuNGVtO1xuICBtaW4td2lkdGg6IDhweDtcbiAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2V1aS1SRUQpO1xuICBjb2xvcjogI2ZmZjtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEycHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4ud2V1aS1iYWRnZV9kb3Qge1xuICBwYWRkaW5nOiAwLjRlbTtcbiAgbWluLXdpZHRoOiAwO1xufVxuLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG4ud2V1aS10b3B0aXBzIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIHRvcDogOHB4O1xuICBsZWZ0OiA4cHg7XG4gIHJpZ2h0OiA4cHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICB6LWluZGV4OiA1MDAwO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbn1cbi53ZXVpLXRvcHRpcHNfd2FybiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktUkVEKTtcbn1cbi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuLndldWktbGlzdC10aXBzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZy10b3A6IDI0cHg7XG4gIHBhZGRpbmctYm90dG9tOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMS40O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTEpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ud2V1aS1saXN0LXRpcHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgY29udGVudDogXCIgXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS13ZXVpLUZHLTMpO1xuICBjb2xvcjogdmFyKC0td2V1aS1GRy0zKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB0cmFuc2Zvcm06IHNjYWxlWSgwLjUpO1xufVxuLndldWktbGlzdC10aXBzOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbi53ZXVpLWxpc3QtdGlwc19faXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBtYXJnaW46IDE2cHggMDtcbn1cbi53ZXVpLWxpc3QtdGlwc19faXRlbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjAyMlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogLTAuMWVtO1xufVxuLndldWktbGlzdC10aXBzX19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi53ZXVpLWZvcm0tcHJldmlld19fbGlzdCArIC53ZXVpLWxpc3QtdGlwcyA+IC53ZXVpLWxpc3QtdGlwc19faXRlbTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDZweDtcbn1cbi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuLndldWktc2VhcmNoLWJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13ZXVpLUJHLTApO1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ud2V1aS1zZWFyY2gtYmFyLndldWktc2VhcmNoLWJhcl9mb2N1c2luZyAud2V1aS1zZWFyY2gtYmFyX19jYW5jZWwtYnRuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ud2V1aS1zZWFyY2gtYmFyLndldWktc2VhcmNoLWJhcl9mb2N1c2luZyAud2V1aS1zZWFyY2gtYmFyX19sYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ud2V1aS1zZWFyY2gtYmFyIC53ZXVpLWljb24tc2VhcmNoIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbn1cbi53ZXVpLXNlYXJjaC1iYXJfX2Zvcm0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktQkctMik7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbi53ZXVpLXNlYXJjaC1iYXJfX2JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAyOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAzMnB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB6LWluZGV4OiAxO1xufVxuLndldWktc2VhcmNoLWJhcl9fYm94IC53ZXVpLXNlYXJjaC1iYXJfX2lucHV0IHtcbiAgcGFkZGluZzogOHB4IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEuMTQyODU3MTRlbTtcbiAgYm9yZGVyOiAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0ZW07XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY2FyZXQtY29sb3I6IHZhcigtLXdldWktQlJBTkQpO1xuICBjb2xvcjogdmFyKC0td2V1aS1GRy0wKTtcbn1cbi53ZXVpLXNlYXJjaC1iYXJfX2JveCAud2V1aS1zZWFyY2gtYmFyX19pbnB1dDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4ud2V1aS1zZWFyY2gtYmFyX19ib3ggLndldWktaWNvbi1zZWFyY2gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA4cHg7XG4gIG1hcmdpbi10b3A6IC04cHg7XG59XG4ud2V1aS1zZWFyY2gtYmFyX19ib3ggLndldWktaWNvbi1jbGVhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW4tdG9wOiAtMTZweDtcbiAgcGFkZGluZzogOHB4O1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBtYXNrLXNpemU6IDE2cHg7XG59XG4ud2V1aS1zZWFyY2gtYmFyX19sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyO1xuICBmb250LXNpemU6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTEpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS13ZXVpLUJHLTIpO1xufVxuLndldWktc2VhcmNoLWJhcl9fbGFiZWwgc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxNHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLndldWktc2VhcmNoLWJhcl9fbGFiZWwgLndldWktaWNvbi1zZWFyY2gge1xuICBtYXJnaW4tcmlnaHQ6IDRweDtcbn1cbi53ZXVpLXNlYXJjaC1iYXJfX2NhbmNlbC1idG4ge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tbGVmdDogOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgY29sb3I6IHZhcigtLXdldWktTElOSyk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4ud2V1aS1zZWFyY2gtYmFyX19pbnB1dDpub3QoOnZhbGlkKSArIC53ZXVpLWljb24tY2xlYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cbi53ZXVpLXBpY2tlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogNTAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2V1aS1CRy0yKTtcbiAgcGFkZGluZy1ib3R0b206IGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xuICBwYWRkaW5nLWJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwMCUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbn1cbi53ZXVpLXBpY2tlcl9faGQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAxNnB4O1xuICBwYWRkaW5nOiAxNnB4IGNhbGMoMTZweCArIGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1yaWdodCkpIDE2cHggY2FsYygxNnB4ICsgY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LWxlZnQpKTtcbiAgcGFkZGluZzogMTZweCBjYWxjKDE2cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSkgMTZweCBjYWxjKDE2cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cbi53ZXVpLXBpY2tlcl9faGQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDFweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXdldWktRkctMyk7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTMpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7XG4gIHRyYW5zZm9ybTogc2NhbGVZKDAuNSk7XG59XG4ud2V1aS1waWNrZXJfX2JkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13ZXVpLUJHLTIpO1xuICBoZWlnaHQ6IDI0MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLndldWktcGlja2VyX19ncm91cCB7XG4gIGZsZXg6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLndldWktcGlja2VyX19ncm91cDpmaXJzdC1jaGlsZCAud2V1aS1waWNrZXJfX2l0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtcbiAgcGFkZGluZy1sZWZ0OiBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xufVxuLndldWktcGlja2VyX19ncm91cDpsYXN0LWNoaWxkIC53ZXVpLXBpY2tlcl9faXRlbSB7XG4gIHBhZGRpbmctcmlnaHQ6IGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7XG4gIHBhZGRpbmctcmlnaHQ6IGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO1xufVxuLndldWktcGlja2VyX19tYXNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB6LWluZGV4OiAzO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNikpLCBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wLCBib3R0b207XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSA5MnB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG59XG5ib2R5W2RhdGEtd2V1aS10aGVtZT0nZGFyayddIC53ZXVpLXBpY2tlcl9fbWFzayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjUsIDI1LCAyNSwgMC45NSksIHJnYmEoMjUsIDI1LCAyNSwgMC42KSksIGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDI1LCAyNSwgMjUsIDAuOTUpLCByZ2JhKDI1LCAyNSwgMjUsIDAuNikpO1xufVxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICBib2R5Om5vdChbZGF0YS13ZXVpLXRoZW1lPSdsaWdodCddKSAud2V1aS1waWNrZXJfX21hc2sge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjUsIDI1LCAyNSwgMC45NSksIHJnYmEoMjUsIDI1LCAyNSwgMC42KSksIGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDI1LCAyNSwgMjUsIDAuOTUpLCByZ2JhKDI1LCAyNSwgMjUsIDAuNikpO1xuICB9XG59XG4ud2V1aS1waWNrZXJfX2luZGljYXRvciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDU2cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiA5MnB4O1xuICB6LWluZGV4OiAzO1xufVxuLndldWktcGlja2VyX19pbmRpY2F0b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCIgXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS13ZXVpLUZHLTMpO1xuICBjb2xvcjogdmFyKC0td2V1aS1GRy0zKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB0cmFuc2Zvcm06IHNjYWxlWSgwLjUpO1xufVxuLndldWktcGlja2VyX19pbmRpY2F0b3I6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDFweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXdldWktRkctMyk7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTMpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7XG4gIHRyYW5zZm9ybTogc2NhbGVZKDAuNSk7XG59XG4ud2V1aS1waWNrZXJfX2NvbnRlbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG4ud2V1aS1waWNrZXJfX2l0ZW0ge1xuICBoZWlnaHQ6IDQ4cHg7XG4gIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTApO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi53ZXVpLXBpY2tlcl9faXRlbV9kaXNhYmxlZCB7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTEpO1xufVxuLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5Aa2V5ZnJhbWVzIHNsaWRlVXAge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4ud2V1aS1hbmltYXRlLXNsaWRlLXVwIHtcbiAgYW5pbWF0aW9uOiBzbGlkZVVwIGVhc2UgMC4zcyBmb3J3YXJkcztcbn1cbkBrZXlmcmFtZXMgc2xpZGVEb3duIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxufVxuLndldWktYW5pbWF0ZS1zbGlkZS1kb3duIHtcbiAgYW5pbWF0aW9uOiBzbGlkZURvd24gZWFzZSAwLjNzIGZvcndhcmRzO1xufVxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4ud2V1aS1hbmltYXRlLWZhZGUtaW4ge1xuICBhbmltYXRpb246IGZhZGVJbiBlYXNlIDAuM3MgZm9yd2FyZHM7XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4ud2V1aS1hbmltYXRlLWZhZGUtb3V0IHtcbiAgYW5pbWF0aW9uOiBmYWRlT3V0IGVhc2UgMC4zcyBmb3J3YXJkcztcbn1cbi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuLndldWktYWdyZWUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogOHB4IDE1cHggMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG4ud2V1aS1hZ3JlZSBhLFxuLndldWktYWdyZWUgbmF2aWdhdG9yIHtcbiAgY29sb3I6IHZhcigtLXdldWktTElOSyk7XG59XG4ud2V1aS1hZ3JlZSBuYXZpZ2F0b3Ige1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG4ud2V1aS1hZ3JlZV9fdGV4dCB7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTEpO1xuICBtYXJnaW4tbGVmdDogMnB4O1xufVxuLndldWktYWdyZWVfX2NoZWNrYm94IHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXI6IDA7XG4gIG91dGxpbmU6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgbWFzay1wb3NpdGlvbjogMCAwO1xuICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICBtYXNrLXNpemU6IDEwMCU7XG4gIG1hc2staW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMDAwJTIyJTIwaGVpZ2h0JTNEJTIyMTAwMCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNNTAwJTIwOTE2LjY2N0MyNjkuODgxJTIwOTE2LjY2NyUyMDgzLjMzMyUyMDczMC4xMTklMjA4My4zMzMlMjA1MDAlMjA4My4zMzMlMjAyNjkuODgxJTIwMjY5Ljg4MSUyMDgzLjMzMyUyMDUwMCUyMDgzLjMzM2MyMzAuMTE5JTIwMCUyMDQxNi42NjclMjAxODYuNTQ4JTIwNDE2LjY2NyUyMDQxNi42NjclMjAwJTIwMjMwLjExOS0xODYuNTQ4JTIwNDE2LjY2Ny00MTYuNjY3JTIwNDE2LjY2N3ptMC01MGMyMDIuNTA0JTIwMCUyMDM2Ni42NjctMTY0LjE2MyUyMDM2Ni42NjctMzY2LjY2NyUyMDAtMjAyLjUwNC0xNjQuMTYzLTM2Ni42NjctMzY2LjY2Ny0zNjYuNjY3LTIwMi41MDQlMjAwLTM2Ni42NjclMjAxNjQuMTYzLTM2Ni42NjclMjAzNjYuNjY3JTIwMCUyMDIwMi41MDQlMjAxNjQuMTYzJTIwMzY2LjY2NyUyMDM2Ni42NjclMjAzNjYuNjY3eiUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMjBmaWxsLW9wYWNpdHklM0QlMjIuOSUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTIpO1xuICB3aWR0aDogMWVtO1xuICBoZWlnaHQ6IDFlbTtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBtYXJnaW4tdG9wOiAtMC4yZW07XG59XG4ud2V1aS1hZ3JlZV9fY2hlY2tib3gtY2hlY2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC05OTk5cHg7XG59XG4ud2V1aS1hZ3JlZV9fY2hlY2tib3g6Y2hlY2tlZCxcbi53ZXVpLWFncmVlX19jaGVja2JveC1jaGVja1thcmlhLWNoZWNrZWQ9XCJ0cnVlXCJdICsgLndldWktYWdyZWVfX2NoZWNrYm94IHtcbiAgbWFzay1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMjQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTEyJTIwMjJDNi40NzclMjAyMiUyMDIlMjAxNy41MjMlMjAyJTIwMTJTNi40NzclMjAyJTIwMTIlMjAyczEwJTIwNC40NzclMjAxMCUyMDEwLTQuNDc3JTIwMTAtMTAlMjAxMHptLTEuMTc3LTcuODZsLTIuNzY1LTIuNzY3TDclMjAxMi40MzFsMy4xMTklMjAzLjEyMWExJTIwMSUyMDAlMjAwMDEuNDE0JTIwMGw1Ljk1Mi01Ljk1LTEuMDYyLTEuMDYyLTUuNiUyMDUuNnolMjIlMkYlM0UlM0MlMkZzdmclM0UpO1xuICBjb2xvcjogdmFyKC0td2V1aS1CUkFORCk7XG59XG4ud2V1aS1hZ3JlZV9hbmltYXRlIHtcbiAgYW5pbWF0aW9uOiB3ZXVpQWdyZWUgMC4zcyAxO1xufVxuQGtleWZyYW1lcyB3ZXVpQWdyZWUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG4gIDE2JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC04cHgpO1xuICB9XG4gIDI4JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNnB4KTtcbiAgfVxuICA0NCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICA1OSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTZweCk7XG4gIH1cbiAgNzMlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgODIlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTZweCk7XG4gIH1cbiAgOTQlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cbi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG4ud2V1aS1wcmltYXJ5LWxvYWRpbmcge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb2xvcjogIzYwNjA2MDtcbiAgYW5pbWF0aW9uOiBjaXJjbGVMb2FkaW5nIDFzIHN0ZXBzKDYwLCBlbmQpIGluZmluaXRlO1xufVxuLndldWktcHJpbWFyeS1sb2FkaW5nOmJlZm9yZSxcbi53ZXVpLXByaW1hcnktbG9hZGluZzphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMC41ZW07XG4gIGhlaWdodDogMWVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IDAuMTI1ZW0gc29saWQ7XG4gIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xufVxuLndldWktcHJpbWFyeS1sb2FkaW5nOmJlZm9yZSB7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMWVtO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxZW07XG4gIC13ZWJraXQtbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzAwMDAwMCA4JSwgcmdiYSgwLCAwLCAwLCAwLjMpIDk1JSk7XG59XG4ud2V1aS1wcmltYXJ5LWxvYWRpbmc6YWZ0ZXIge1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDFlbTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDFlbTtcbiAgLXdlYmtpdC1tYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDAsIDAsIDApIDglLCByZ2JhKDAsIDAsIDAsIDAuMykgOTUlKTtcbn1cbi53ZXVpLXByaW1hcnktbG9hZGluZ19fZG90IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjA2MjVlbTtcbiAgd2lkdGg6IDAuMTI1ZW07XG4gIGhlaWdodDogMC4xMjVlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMTI1ZW07XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjEyNWVtO1xuICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG59XG5Aa2V5ZnJhbWVzIGNpcmNsZUxvYWRpbmcge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDM2MGRlZyk7XG4gIH1cbn1cbi53ZXVpLXByaW1hcnktbG9hZGluZ19icmFuZCB7XG4gIGNvbG9yOiB2YXIoLS13ZXVpLUJSQU5EKTtcbn1cbi53ZXVpLXByaW1hcnktbG9hZGluZ190cmFuc3BhcmVudCB7XG4gIGNvbG9yOiAjRURFREVEO1xufVxuLndldWktbG9hZGluZyB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYW5pbWF0aW9uOiB3ZXVpTG9hZGluZyAxcyBzdGVwcygxMiwgZW5kKSBpbmZpbml0ZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwgJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMjAnIHZpZXdCb3g9JzAgMCAxMDAgMTAwJyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgZD0nTTAgMGgxMDB2MTAwSDB6Jy8lM0UlM0NyZWN0IHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyB4PSc0Ni41JyB5PSc0MCcgZmlsbD0nJTIzRTlFOUU5JyByeD0nNScgcnk9JzUnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgLTMwKScvJTNFJTNDcmVjdCB3aWR0aD0nNycgaGVpZ2h0PScyMCcgeD0nNDYuNScgeT0nNDAnIGZpbGw9JyUyMzk4OTY5Nycgcng9JzUnIHJ5PSc1JyB0cmFuc2Zvcm09J3JvdGF0ZSgzMCAxMDUuOTggNjUpJy8lM0UlM0NyZWN0IHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyB4PSc0Ni41JyB5PSc0MCcgZmlsbD0nJTIzOUI5OTlBJyByeD0nNScgcnk9JzUnIHRyYW5zZm9ybT0ncm90YXRlKDYwIDc1Ljk4IDY1KScvJTNFJTNDcmVjdCB3aWR0aD0nNycgaGVpZ2h0PScyMCcgeD0nNDYuNScgeT0nNDAnIGZpbGw9JyUyM0EzQTFBMicgcng9JzUnIHJ5PSc1JyB0cmFuc2Zvcm09J3JvdGF0ZSg5MCA2NSA2NSknLyUzRSUzQ3JlY3Qgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHg9JzQ2LjUnIHk9JzQwJyBmaWxsPSclMjNBQkE5QUEnIHJ4PSc1JyByeT0nNScgdHJhbnNmb3JtPSdyb3RhdGUoMTIwIDU4LjY2IDY1KScvJTNFJTNDcmVjdCB3aWR0aD0nNycgaGVpZ2h0PScyMCcgeD0nNDYuNScgeT0nNDAnIGZpbGw9JyUyM0IyQjJCMicgcng9JzUnIHJ5PSc1JyB0cmFuc2Zvcm09J3JvdGF0ZSgxNTAgNTQuMDIgNjUpJy8lM0UlM0NyZWN0IHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyB4PSc0Ni41JyB5PSc0MCcgZmlsbD0nJTIzQkFCOEI5JyByeD0nNScgcnk9JzUnIHRyYW5zZm9ybT0ncm90YXRlKDE4MCA1MCA2NSknLyUzRSUzQ3JlY3Qgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHg9JzQ2LjUnIHk9JzQwJyBmaWxsPSclMjNDMkMwQzEnIHJ4PSc1JyByeT0nNScgdHJhbnNmb3JtPSdyb3RhdGUoLTE1MCA0NS45OCA2NSknLyUzRSUzQ3JlY3Qgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHg9JzQ2LjUnIHk9JzQwJyBmaWxsPSclMjNDQkNCQ0InIHJ4PSc1JyByeT0nNScgdHJhbnNmb3JtPSdyb3RhdGUoLTEyMCA0MS4zNCA2NSknLyUzRSUzQ3JlY3Qgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHg9JzQ2LjUnIHk9JzQwJyBmaWxsPSclMjNEMkQyRDInIHJ4PSc1JyByeT0nNScgdHJhbnNmb3JtPSdyb3RhdGUoLTkwIDM1IDY1KScvJTNFJTNDcmVjdCB3aWR0aD0nNycgaGVpZ2h0PScyMCcgeD0nNDYuNScgeT0nNDAnIGZpbGw9JyUyM0RBREFEQScgcng9JzUnIHJ5PSc1JyB0cmFuc2Zvcm09J3JvdGF0ZSgtNjAgMjQuMDIgNjUpJy8lM0UlM0NyZWN0IHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyB4PSc0Ni41JyB5PSc0MCcgZmlsbD0nJTIzRTJFMkUyJyByeD0nNScgcnk9JzUnIHRyYW5zZm9ybT0ncm90YXRlKC0zMCAtNS45OCA2NSknLyUzRSUzQy9zdmclM0VcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG59XG4ud2V1aS1sb2FkaW5nLndldWktbG9hZGluZ190cmFuc3BhcmVudCxcbi53ZXVpLWJ0bl9sb2FkaW5nLndldWktYnRuX3ByaW1hcnkgLndldWktbG9hZGluZyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsICUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMjAnIGhlaWdodD0nMTIwJyB2aWV3Qm94PScwIDAgMTAwIDEwMCclM0UlM0NwYXRoIGZpbGw9J25vbmUnIGQ9J00wIDBoMTAwdjEwMEgweicvJTNFJTNDcmVjdCB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyB4PSc0Ni41JyB5PSc0MCcgZmlsbD0ncmdiYSgyNTUsMjU1LDI1NSwuNTYpJyByeD0nNScgcnk9JzUnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgLTMwKScvJTNFJTNDcmVjdCB3aWR0aD0nNycgaGVpZ2h0PScyMCcgeD0nNDYuNScgeT0nNDAnIGZpbGw9J3JnYmEoMjU1LDI1NSwyNTUsLjUpJyByeD0nNScgcnk9JzUnIHRyYW5zZm9ybT0ncm90YXRlKDMwIDEwNS45OCA2NSknLyUzRSUzQ3JlY3Qgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHg9JzQ2LjUnIHk9JzQwJyBmaWxsPSdyZ2JhKDI1NSwyNTUsMjU1LC40MyknIHJ4PSc1JyByeT0nNScgdHJhbnNmb3JtPSdyb3RhdGUoNjAgNzUuOTggNjUpJy8lM0UlM0NyZWN0IHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyB4PSc0Ni41JyB5PSc0MCcgZmlsbD0ncmdiYSgyNTUsMjU1LDI1NSwuMzgpJyByeD0nNScgcnk9JzUnIHRyYW5zZm9ybT0ncm90YXRlKDkwIDY1IDY1KScvJTNFJTNDcmVjdCB3aWR0aD0nNycgaGVpZ2h0PScyMCcgeD0nNDYuNScgeT0nNDAnIGZpbGw9J3JnYmEoMjU1LDI1NSwyNTUsLjMyKScgcng9JzUnIHJ5PSc1JyB0cmFuc2Zvcm09J3JvdGF0ZSgxMjAgNTguNjYgNjUpJy8lM0UlM0NyZWN0IHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyB4PSc0Ni41JyB5PSc0MCcgZmlsbD0ncmdiYSgyNTUsMjU1LDI1NSwuMjgpJyByeD0nNScgcnk9JzUnIHRyYW5zZm9ybT0ncm90YXRlKDE1MCA1NC4wMiA2NSknLyUzRSUzQ3JlY3Qgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHg9JzQ2LjUnIHk9JzQwJyBmaWxsPSdyZ2JhKDI1NSwyNTUsMjU1LC4yNSknIHJ4PSc1JyByeT0nNScgdHJhbnNmb3JtPSdyb3RhdGUoMTgwIDUwIDY1KScvJTNFJTNDcmVjdCB3aWR0aD0nNycgaGVpZ2h0PScyMCcgeD0nNDYuNScgeT0nNDAnIGZpbGw9J3JnYmEoMjU1LDI1NSwyNTUsLjIpJyByeD0nNScgcnk9JzUnIHRyYW5zZm9ybT0ncm90YXRlKC0xNTAgNDUuOTggNjUpJy8lM0UlM0NyZWN0IHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyB4PSc0Ni41JyB5PSc0MCcgZmlsbD0ncmdiYSgyNTUsMjU1LDI1NSwuMTcpJyByeD0nNScgcnk9JzUnIHRyYW5zZm9ybT0ncm90YXRlKC0xMjAgNDEuMzQgNjUpJy8lM0UlM0NyZWN0IHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyB4PSc0Ni41JyB5PSc0MCcgZmlsbD0ncmdiYSgyNTUsMjU1LDI1NSwuMTQpJyByeD0nNScgcnk9JzUnIHRyYW5zZm9ybT0ncm90YXRlKC05MCAzNSA2NSknLyUzRSUzQ3JlY3Qgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHg9JzQ2LjUnIHk9JzQwJyBmaWxsPSdyZ2JhKDI1NSwyNTUsMjU1LC4xKScgcng9JzUnIHJ5PSc1JyB0cmFuc2Zvcm09J3JvdGF0ZSgtNjAgMjQuMDIgNjUpJy8lM0UlM0NyZWN0IHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyB4PSc0Ni41JyB5PSc0MCcgZmlsbD0ncmdiYSgyNTUsMjU1LDI1NSwuMDMpJyByeD0nNScgcnk9JzUnIHRyYW5zZm9ybT0ncm90YXRlKC0zMCAtNS45OCA2NSknLyUzRSUzQy9zdmclM0VcIik7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgd2V1aUxvYWRpbmcge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDM2MGRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgd2V1aUxvYWRpbmcge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDM2MGRlZyk7XG4gIH1cbn1cbi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuLndldWktc2xpZGVyIHtcbiAgcGFkZGluZzogMTVweCAxOHB4O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi53ZXVpLXNsaWRlcl9faW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13ZXVpLUZHLTMpO1xufVxuLndldWktc2xpZGVyX190cmFjayB7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13ZXVpLUJSQU5EKTtcbiAgd2lkdGg6IDA7XG59XG4ud2V1aS1zbGlkZXJfX2hhbmRsZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBtYXJnaW4tbGVmdDogLTE0cHg7XG4gIG1hcmdpbi10b3A6IC0xNHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMCA0cHggdmFyKC0td2V1aS1GRy0zKTtcbn1cbi53ZXVpLXNsaWRlci1ib3gge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLndldWktc2xpZGVyLWJveCAud2V1aS1zbGlkZXIge1xuICBmbGV4OiAxO1xufVxuLndldWktc2xpZGVyLWJveF9fdmFsdWUge1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG4gIG1pbi13aWR0aDogMjRweDtcbiAgY29sb3I6IHZhcigtLXdldWktRkctMSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuIiwiLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbkBpbXBvcnQgXCJmblwiO1xuXG5odG1sIHtcbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG59XG5cbmJvZHkge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgZm9udC1mYW1pbHk6IEB3ZXVpRm9udERlZmF1bHQ7XG59XG5cbioge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG5hIGltZyB7XG4gICAgYm9yZGVyOiAwO1xufVxuXG5hIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgLnNldFRhcENvbG9yKCk7XG59XG5pbnB1dCxcbnRleHRhcmVhIHtcbiAgICBjYXJldC1jb2xvcjogQHdldWlDb2xvclByaW1hcnk7XG59XG46OnBsYWNlaG9sZGVyLCB7XG4gICAgY29sb3I6IHZhcigtLXdldWktRkctMik7XG59XG4iLCIvKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuLnNldFRhcENvbG9yKEBjOnJnYmEoMCwwLDAsMCkpIHtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IEBjO1xufVxuXG5cblxuXG4iLCJAaW1wb3J0ICdmbic7XG5cbmJvZHkge1xuICAgIC52YXJzTGlnaHQoKTtcbn1cblxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgIGJvZHk6bm90KFtkYXRhLXdldWktdGhlbWU9J2xpZ2h0J10pIHtcbiAgICAgICAgLnZhcnNEYXJrKCk7XG4gICAgfVxufVxuXG5ib2R5W2RhdGEtd2V1aS10aGVtZT0nZGFyayddIHtcbiAgICAudmFyc0RhcmsoKTtcbn1cbiIsIi52YXJzTGlnaHQoKSB7XG4gICAgLS13ZXVpLUJHLTA6ICNlZGVkZWQ7XG4gICAgLS13ZXVpLUJHLTE6ICNmN2Y3Zjc7XG4gICAgLS13ZXVpLUJHLTI6ICNmZmY7XG4gICAgLS13ZXVpLUJHLTM6ICNmN2Y3Zjc7XG4gICAgLS13ZXVpLUJHLTQ6ICM0YzRjNGM7XG4gICAgLS13ZXVpLUJHLTU6ICNmZmY7XG4gICAgLS13ZXVpLUZHLTA6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgICAtLXdldWktRkctSEFMRjogcmdiYSgwLCAwLCAwLCAwLjkpO1xuICAgIC0td2V1aS1GRy0xOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgLS13ZXVpLUZHLTI6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICAtLXdldWktRkctMzogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIC0td2V1aS1SRUQ6ICNmYTUxNTE7XG4gICAgLS13ZXVpLU9SQU5HRTogI2ZhOWQzYjtcbiAgICAtLXdldWktWUVMTE9XOiAjZmZjMzAwO1xuICAgIC0td2V1aS1HUkVFTjogIzkxZDMwMDtcbiAgICAtLXdldWktTElHSFRHUkVFTjogIzk1ZWM2OTtcbiAgICAtLXdldWktQlJBTkQ6ICMwN2MxNjA7XG4gICAgLS13ZXVpLUJMVUU6ICMxMGFlZmY7XG4gICAgLS13ZXVpLUlORElHTzogIzE0ODVlZTtcbiAgICAtLXdldWktUFVSUExFOiAjNjQ2N2YwO1xuICAgIC0td2V1aS1XSElURTogI2ZmZjtcbiAgICAtLXdldWktTElOSzogIzU3NmI5NTtcbiAgICAtLXdldWktTElOSy1BQ1RJVkU6IGZhZGUoIzU3NmI5NSwgNTAlKTtcbiAgICAtLXdldWktVEVYVEdSRUVOOiAjMDZhZTU2O1xuICAgIC0td2V1aS1GRzogYmxhY2s7XG4gICAgLS13ZXVpLUJHOiB3aGl0ZTtcbiAgICAtLXdldWktVEFHLVRFWFQtT1JBTkdFOiAjZmE5ZDNiO1xuICAgIC0td2V1aS1UQUctQkFDS0dST1VORC1PUkFOR0U6IHJnYmEoMjUwLCAxNTcsIDU5LCAwLjEpO1xuICAgIC0td2V1aS1UQUctVEVYVC1HUkVFTjogIzA2YWU1NjtcbiAgICAtLXdldWktVEFHLUJBQ0tHUk9VTkQtR1JFRU46IHJnYmEoNiwgMTc0LCA4NiwgMC4xKTtcbiAgICAtLXdldWktVEFHLVRFWFQtQkxVRTogIzEwYWVmZjtcbiAgICAtLXdldWktVEFHLUJBQ0tHUk9VTkQtQkxVRTogcmdiYSgxNiwgMTc0LCAyNTUsIDAuMSk7XG4gICAgLS13ZXVpLVRBRy1URVhULUJMQUNLOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgLS13ZXVpLVRBRy1CQUNLR1JPVU5ELUJMQUNLOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuIiwiLnZhcnNEYXJrKCkge1xuICAgIC0td2V1aS1CRy0wOiAjMTExMTExO1xuICAgIC0td2V1aS1CRy0xOiAjMWUxZTFlO1xuICAgIC0td2V1aS1CRy0yOiAjMTkxOTE5O1xuICAgIC0td2V1aS1CRy0zOiAjMjAyMDIwO1xuICAgIC0td2V1aS1CRy00OiAjNDA0MDQwO1xuICAgIC0td2V1aS1CRy01OiAjMmMyYzJjO1xuICAgIC0td2V1aS1GRy0wOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gICAgLS13ZXVpLUZHLUhBTEY6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbiAgICAtLXdldWktRkctMTogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgIC0td2V1aS1GRy0yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gICAgLS13ZXVpLUZHLTM6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG4gICAgLS13ZXVpLVJFRDogI2ZhNTE1MTtcbiAgICAtLXdldWktT1JBTkdFOiAjYzg3ZDJmO1xuICAgIC0td2V1aS1ZRUxMT1c6ICNjYzljMDA7XG4gICAgLS13ZXVpLUdSRUVOOiAjNzRhODAwO1xuICAgIC0td2V1aS1MSUdIVEdSRUVOOiAjM2ViNTc1O1xuICAgIC0td2V1aS1CUkFORDogIzA3YzE2MDtcbiAgICAtLXdldWktQkxVRTogIzEwYWVmZjtcbiAgICAtLXdldWktSU5ESUdPOiAjMTE5NmZmO1xuICAgIC0td2V1aS1QVVJQTEU6ICM4MTgzZmY7XG4gICAgLS13ZXVpLVdISVRFOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gICAgLS13ZXVpLUxJTks6ICM3ZDkwYTk7XG4gICAgLS13ZXVpLUxJTkstQUNUSVZFOiBmYWRlKCM3ZDkwYTksIDUwJSk7XG4gICAgLS13ZXVpLVRFWFRHUkVFTjogIzI1OWM1YztcbiAgICAtLXdldWktRkc6IHdoaXRlO1xuICAgIC0td2V1aS1CRzogYmxhY2s7XG4gICAgLS13ZXVpLVRBRy1URVhULU9SQU5HRTogcmdiYSgyNTAsIDE1NywgNTksIDAuNik7XG4gICAgLS13ZXVpLVRBRy1CQUNLR1JPVU5ELU9SQU5HRTogcmdiYSgyNTAsIDE1NywgNTksIDAuMSk7XG4gICAgLS13ZXVpLVRBRy1URVhULUdSRUVOOiByZ2JhKDYsIDE3NCwgODYsIDAuNik7XG4gICAgLS13ZXVpLVRBRy1CQUNLR1JPVU5ELUdSRUVOOiByZ2JhKDYsIDE3NCwgODYsIDAuMSk7XG4gICAgLS13ZXVpLVRBRy1URVhULUJMVUU6IHJnYmEoMTYsIDE3NCwgMjU1LCAwLjYpO1xuICAgIC0td2V1aS1UQUctQkFDS0dST1VORC1CTFVFOiByZ2JhKDE2LCAxNzQsIDI1NSwgMC4xKTtcbiAgICAtLXdldWktVEFHLVRFWFQtQkxBQ0s6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICAtLXdldWktVEFHLUJBQ0tHUk9VTkQtQkxBQ0s6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG59O1xuIiwiLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnMgKi9cblxuQGltcG9ydCBcIi4uL2Jhc2UvdmFyaWFibGUvY29sb3JcIjtcblxuW2NsYXNzXj1cIndldWktaWNvbi1cIl0sXG5bY2xhc3MqPVwiIHdldWktaWNvbi1cIl0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBtYXNrLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWFzay1zaXplOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcblxuICAgIC8vIOW5s+a7keWNh+e6p1xuICAgIC8vJjpub3QoW2NsYXNzXj1cIndldWktaWNvbl9cIl0pOm5vdChbY2xhc3MqPVwiIHdldWktaWNvbl9cIl0pe1xuICAgIC8vICAgIGZvbnQtc2l6ZToxNHB4O1xuICAgIC8vICAgIG1hcmdpbi1sZWZ0OiAuMmVtO1xuICAgIC8vICAgIG1hcmdpbi1yaWdodDogLjJlbTtcbiAgICAvL31cbn1cblxuXG4vLyBpY29uIG1hcFxuLndldWktaWNvbi1jaXJjbGUge1xuICAgIG1hc2staW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMDAwJTIyJTIwaGVpZ2h0JTNEJTIyMTAwMCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNNTAwJTIwOTE2LjY2N0MyNjkuODgxJTIwOTE2LjY2NyUyMDgzLjMzMyUyMDczMC4xMTklMjA4My4zMzMlMjA1MDAlMjA4My4zMzMlMjAyNjkuODgxJTIwMjY5Ljg4MSUyMDgzLjMzMyUyMDUwMCUyMDgzLjMzM2MyMzAuMTE5JTIwMCUyMDQxNi42NjclMjAxODYuNTQ4JTIwNDE2LjY2NyUyMDQxNi42NjclMjAwJTIwMjMwLjExOS0xODYuNTQ4JTIwNDE2LjY2Ny00MTYuNjY3JTIwNDE2LjY2N3ptMC01MGMyMDIuNTA0JTIwMCUyMDM2Ni42NjctMTY0LjE2MyUyMDM2Ni42NjctMzY2LjY2NyUyMDAtMjAyLjUwNC0xNjQuMTYzLTM2Ni42NjctMzY2LjY2Ny0zNjYuNjY3LTIwMi41MDQlMjAwLTM2Ni42NjclMjAxNjQuMTYzLTM2Ni42NjclMjAzNjYuNjY3JTIwMCUyMDIwMi41MDQlMjAxNjQuMTYzJTIwMzY2LjY2NyUyMDM2Ni42NjclMjAzNjYuNjY3eiUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMjBmaWxsLW9wYWNpdHklM0QlMjIuOSUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG59XG4ud2V1aS1pY29uLWRvd25sb2FkIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIyNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTEuMjUlMjAxMi4wNGwtMS43Mi0xLjcyLTEuMDYlMjAxLjA2JTIwMi44MjglMjAyLjgzYTElMjAxJTIwMCUyMDAwMS40MTQtLjAwMWwyLjgyOC0yLjgyOC0xLjA2LTEuMDYxLTEuNzMlMjAxLjczVjdoLTEuNXY1LjA0em0wLTUuMDRWMmgxLjV2NWg2LjI1MWMuNTUlMjAwJTIwLjk5OS40NDYuOTk5Ljk5NnYxMy4wMDhhLjk5OC45OTglMjAwJTIwMDEtLjk5Ni45OTZINC45OTZBLjk5OC45OTglMjAwJTIwMDE0JTIwMjEuMDA0VjcuOTk2QTElMjAxJTIwMCUyMDAxNC45OTklMjA3aDYuMjUxeiUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG59XG4ud2V1aS1pY29uLWluZm8ge1xuICAgIG1hc2staW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjI0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xMiUyMDIyQzYuNDc3JTIwMjIlMjAyJTIwMTcuNTIzJTIwMiUyMDEyUzYuNDc3JTIwMiUyMDEyJTIwMnMxMCUyMDQuNDc3JTIwMTAlMjAxMC00LjQ3NyUyMDEwLTEwJTIwMTB6bS0uNzUtMTJ2N2gxLjV2LTdoLTEuNXpNMTIlMjA5YTElMjAxJTIwMCUyMDEwMC0yJTIwMSUyMDElMjAwJTIwMDAwJTIwMnolMjIlMkYlM0UlM0MlMkZzdmclM0UpO1xufVxuLndldWktaWNvbi1zYWZlLXN1Y2Nlc3Mge1xuICAgIG1hc2staW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxMDAwJTIwMTAwMCUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTUwMC45JTIwNC42QzMxNS41JTIwNDYuNyUyMDE4MC40JTIwOTMuMSUyMDU3LjYlMjAxMzJjMCUyMDEyOS4zLjIlMjAyMzEuNy4yJTIwMzM5LjclMjAwJTIwMzA0LjIlMjAyNDguMyUyMDQ3MS42JTIwNDQzLjElMjA1MjMuN0M2OTUuNyUyMDk0My4zJTIwOTQ0JTIwNzc1LjklMjA5NDQlMjA0NzEuN2MwLTEwOCUyMC4yLTIxMC40LjItMzM5LjdDODIxLjQlMjA5My4xJTIwNjg2LjMlMjA0Ni43JTIwNTAwLjklMjA0LjZ6bTI0OC4zJTIwMzQ5LjFsLTI5OS43JTIwMjk1Yy0yLjElMjAyLTUuMyUyMDItNy40LS4xTDMwNC40JTIwNTA2LjFjLTItMi4xLTIuMy01LjctLjYtOGwxOC4zLTI0LjljMS43LTIuMyUyMDUtMi44JTIwNy4yLTFsMTEyLjIlMjA4NmMyLjMlMjAxLjglMjA2JTIwMS43JTIwOC4xLS4xbDI3NC43LTIyOC45YzIuMi0xLjglMjA1LjctMS43JTIwNy43LjNsMTclMjAxNi44YzIuMiUyMDIuMSUyMDIuMiUyMDUuMy4yJTIwNy40eiUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMjBjbGlwLXJ1bGUlM0QlMjJldmVub2RkJTIyJTIwZmlsbCUzRCUyMiUyMzA3MDIwMiUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG59XG4ud2V1aS1pY29uLXNhZmUtd2FybiB7XG4gICAgbWFzay1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEwMDAlMjAxMDAwJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNNTAwLjklMjA0LjVjLTE4NS40JTIwNDItMzIwLjQlMjA4OC40LTQ0My4yJTIwMTI3LjMlMjAwJTIwMTI5LjMuMiUyMDIzMS43LjIlMjAzMzkuNiUyMDAlMjAzMDQuMSUyMDI0OC4yJTIwNDcxLjQlMjA0NDMlMjA1MjMuNiUyMDE5NC43LTUyLjIlMjA0NDMtMjE5LjUlMjA0NDMtNTIzLjYlMjAwLTEwNy45LjItMjEwLjMuMi0zMzkuNkM4MjEuMyUyMDkyLjklMjA2ODYuMiUyMDQ2LjUlMjA1MDAuOSUyMDQuNXptLTI2LjElMjAyNzEuMWg1Mi4xYzUuOCUyMDAlMjAxMC4zJTIwNC43JTIwMTAuMSUyMDEwLjRsLTExLjYlMjAzMTMuOGMtLjElMjAyLjgtMi41JTIwNS4yLTUuNCUyMDUuMmgtMzguMmMtMi45JTIwMC01LjMtMi4zLTUuNC01LjJMNDY0LjglMjAyODZjLS4yLTUuOCUyMDQuMy0xMC40JTIwMTAtMTAuNHptMjYuMSUyMDQ0OC4zYy0yMC4yJTIwMC0zNi41LTE2LjMtMzYuNS0zNi41czE2LjMtMzYuNSUyMDM2LjUtMzYuNSUyMDM2LjUlMjAxNi4zJTIwMzYuNSUyMDM2LjUtMTYuNCUyMDM2LjUtMzYuNSUyMDM2LjV6JTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyMGNsaXAtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMjBmaWxsJTNEJTIyJTIzMDIwMjAyJTIyJTJGJTNFJTNDJTJGc3ZnJTNFKTtcbn1cbi53ZXVpLWljb24tc3VjY2VzcyB7XG4gICAgbWFzay1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMjQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTEyJTIwMjJDNi40NzclMjAyMiUyMDIlMjAxNy41MjMlMjAyJTIwMTJTNi40NzclMjAyJTIwMTIlMjAyczEwJTIwNC40NzclMjAxMCUyMDEwLTQuNDc3JTIwMTAtMTAlMjAxMHptLTEuMTc3LTcuODZsLTIuNzY1LTIuNzY3TDclMjAxMi40MzFsMy4xMTklMjAzLjEyMWExJTIwMSUyMDAlMjAwMDEuNDE0JTIwMGw1Ljk1Mi01Ljk1LTEuMDYyLTEuMDYyLTUuNiUyMDUuNnolMjIlMkYlM0UlM0MlMkZzdmclM0UpO1xufVxuLndldWktaWNvbi1zdWNjZXNzLWNpcmNsZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMjQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTEyJTIwMjJDNi40NzclMjAyMiUyMDIlMjAxNy41MjMlMjAyJTIwMTJTNi40NzclMjAyJTIwMTIlMjAyczEwJTIwNC40NzclMjAxMCUyMDEwLTQuNDc3JTIwMTAtMTAlMjAxMHptMC0xLjJhOC44JTIwOC44JTIwMCUyMDEwMC0xNy42JTIwOC44JTIwOC44JTIwMCUyMDAwMCUyMDE3LjZ6bS0xLjE3Mi02LjI0Mmw1LjgwOS01LjgwOC44NDguODQ5LTUuOTUlMjA1Ljk1YTElMjAxJTIwMCUyMDAxLTEuNDE0JTIwMEw3JTIwMTIuNDI2bC44NDktLjg0OSUyMDIuOTglMjAyLjk4eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG59XG4ud2V1aS1pY29uLXN1Y2Nlc3Mtbm8tY2lyY2xlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIyNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNOC42NTclMjAxOC40MzVMMyUyMDEyLjc3OGwxLjQxNC0xLjQxNCUyMDQuOTUlMjA0Ljk1TDIwLjY3OCUyMDVsMS40MTQlMjAxLjQxNC0xMi4wMiUyMDEyLjAyMWExJTIwMSUyMDAlMjAwMS0xLjQxNSUyMDB6JTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG59XG4ud2V1aS1pY29uLXdhaXRpbmcge1xuICAgIG1hc2staW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjI0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xMi43NSUyMDExLjM4VjZoLTEuNXY2bDQuMjQzJTIwNC4yNDMlMjAxLjA2LTEuMDYtMy44MDMtMy44MDR6TTEyJTIwMjJDNi40NzclMjAyMiUyMDIlMjAxNy41MjMlMjAyJTIwMTJTNi40NzclMjAyJTIwMTIlMjAyczEwJTIwNC40NzclMjAxMCUyMDEwLTQuNDc3JTIwMTAtMTAlMjAxMHolMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTJGJTNFJTNDJTJGc3ZnJTNFKTtcbn1cbi53ZXVpLWljb24td2FpdGluZy1jaXJjbGUge1xuICAgIG1hc2staW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjI0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xMi42JTIwMTEuNTAzbDMuODkxJTIwMy44OTEtLjg0OC44NDlMMTEuNCUyMDEyVjZoMS4ydjUuNTAzek0xMiUyMDIyQzYuNDc3JTIwMjIlMjAyJTIwMTcuNTIzJTIwMiUyMDEyUzYuNDc3JTIwMiUyMDEyJTIwMnMxMCUyMDQuNDc3JTIwMTAlMjAxMC00LjQ3NyUyMDEwLTEwJTIwMTB6bTAtMS4yYTguOCUyMDguOCUyMDAlMjAxMDAtMTcuNiUyMDguOCUyMDguOCUyMDAlMjAwMDAlMjAxNy42eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG59XG4ud2V1aS1pY29uLXdhcm4ge1xuICAgIG1hc2staW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjI0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xMiUyMDIyQzYuNDc3JTIwMjIlMjAyJTIwMTcuNTIzJTIwMiUyMDEyUzYuNDc3JTIwMiUyMDEyJTIwMnMxMCUyMDQuNDc3JTIwMTAlMjAxMC00LjQ3NyUyMDEwLTEwJTIwMTB6bS0uNzYzLTE1Ljg2NGwuMTElMjA3LjU5NmgxLjMwNWwuMTEtNy41OTZoLTEuNTI1em0uNzU5JTIwMTAuOTY3Yy41MTIlMjAwJTIwLjkwMi0uMzgzLjkwMi0uODgyJTIwMC0uNS0uMzktLjg4Mi0uOTAyLS44ODJhLjg3OC44NzglMjAwJTIwMDAtLjg5Ni44ODJjMCUyMC40OTkuMzk2Ljg4Mi44OTYuODgyeiUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG59XG4ud2V1aS1pY29uLWluZm8tY2lyY2xlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIyNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTIlMjAyMkM2LjQ3NyUyMDIyJTIwMiUyMDE3LjUyMyUyMDIlMjAxMlM2LjQ3NyUyMDIlMjAxMiUyMDJzMTAlMjA0LjQ3NyUyMDEwJTIwMTAtNC40NzclMjAxMC0xMCUyMDEwem0wLTEuMmE4LjglMjA4LjglMjAwJTIwMTAwLTE3LjYlMjA4LjglMjA4LjglMjAwJTIwMDAwJTIwMTcuNnpNMTEuNCUyMDEwaDEuMnY3aC0xLjJ2LTd6bS42LTFhMSUyMDElMjAwJTIwMTEwLTIlMjAxJTIwMSUyMDAlMjAwMTAlMjAyeiUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG59XG4ud2V1aS1pY29uLWNhbmNlbCB7XG4gICAgbWFzay1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMjQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ2clMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTIlMjAyMkM2LjQ3NyUyMDIyJTIwMiUyMDE3LjUyMyUyMDIlMjAxMlM2LjQ3NyUyMDIlMjAxMiUyMDJzMTAlMjA0LjQ3NyUyMDEwJTIwMTAtNC40NzclMjAxMC0xMCUyMDEwem0wLTEuMmE4LjglMjA4LjglMjAwJTIwMTAwLTE3LjYlMjA4LjglMjA4LjglMjAwJTIwMDAwJTIwMTcuNnolMjIlMjBmaWxsLXJ1bGUlM0QlMjJub256ZXJvJTIyJTJGJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTIuODQ5JTIwMTJsMy4xMSUyMDMuMTExLS44NDguODQ5TDEyJTIwMTIuODQ5bC0zLjExMSUyMDMuMTEtLjg0OS0uODQ4TDExLjE1MSUyMDEybC0zLjExLTMuMTExLjg0OC0uODQ5TDEyJTIwMTEuMTUxbDMuMTExLTMuMTEuODQ5Ljg0OEwxMi44NDklMjAxMnolMjIlMkYlM0UlM0MlMkZnJTNFJTNDJTJGc3ZnJTNFKTtcbn1cbi53ZXVpLWljb24tc2VhcmNoIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIyNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTYuMzElMjAxNS41NjFsNC4xMTQlMjA0LjExNS0uODQ4Ljg0OC00LjEyMy00LjEyM2E3JTIwNyUyMDAlMjAxMS44NTctLjg0ek0xNi44JTIwMTFhNS44JTIwNS44JTIwMCUyMDEwLTExLjYlMjAwJTIwNS44JTIwNS44JTIwMCUyMDAwMTEuNiUyMDB6JTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG59XG4ud2V1aS1pY29uLWNsZWFyIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIyNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTMuMDYlMjAxMmwzLjAwNi0zLjAwNS0xLjA2LTEuMDZMMTIlMjAxMC45MzglMjA4Ljk5NSUyMDcuOTM0bC0xLjA2JTIwMS4wNkwxMC45MzglMjAxMmwtMy4wMDUlMjAzLjAwNSUyMDEuMDYlMjAxLjA2TDEyJTIwMTMuMDYybDMuMDA1JTIwMy4wMDUlMjAxLjA2LTEuMDZMMTMuMDYyJTIwMTJ6TTEyJTIwMjJDNi40NzclMjAyMiUyMDIlMjAxNy41MjMlMjAyJTIwMTJTNi40NzclMjAyJTIwMTIlMjAyczEwJTIwNC40NzclMjAxMCUyMDEwLTQuNDc3JTIwMTAtMTAlMjAxMHolMjIlMkYlM0UlM0MlMkZzdmclM0UpO1xufVxuLndldWktaWNvbi1iYWNrIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIyNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTIlMjAyMkM2LjQ3NyUyMDIyJTIwMiUyMDE3LjUyMyUyMDIlMjAxMlM2LjQ3NyUyMDIlMjAxMiUyMDJzMTAlMjA0LjQ3NyUyMDEwJTIwMTAtNC40NzclMjAxMC0xMCUyMDEwem0xLjk5OS02LjU2M0wxMC42OCUyMDEyJTIwMTQlMjA4LjU2MiUyMDEyLjk1MyUyMDcuNSUyMDkuMjklMjAxMS4yNzdhMS4wNDUlMjAxLjA0NSUyMDAlMjAwMDAlMjAxLjQ0NmwzLjY2MyUyMDMuNzc3TDE0JTIwMTUuNDM3eiUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMkYlM0UlM0MlMkZzdmclM0UpO1xufVxuLndldWktaWNvbi1kZWxldGUge1xuICAgIG1hc2staW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjI0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk02Ljc3NCUyMDYuNGwuODEyJTIwMTMuNjQ4YS44LjglMjAwJTIwMDAuNzk4Ljc1Mmg3LjIzMmEuOC44JTIwMCUyMDAwLjc5OC0uNzUyTDE3LjIyNiUyMDYuNEg2Ljc3NHptMTEuNjU1JTIwMGwtLjgxNyUyMDEzLjcxOUEyJTIwMiUyMDAlMjAwMTE1LjYxNiUyMDIySDguMzg0YTIlMjAyJTIwMCUyMDAxLTEuOTk2LTEuODgxTDUuNTcxJTIwNi40SDMuNXYtLjdhLjUuNSUyMDAlMjAwMS41LS41aDE2YS41LjUlMjAwJTIwMDEuNS41di43aC0yLjA3MXpNMTQlMjAzYS41LjUlMjAwJTIwMDEuNS41di43aC01di0uN0EuNS41JTIwMCUyMDAxMTAlMjAzaDR6TTkuNSUyMDloMS4ybC41JTIwOUgxMGwtLjUtOXptMy44JTIwMGgxLjJsLS41JTIwOWgtMS4ybC41LTl6JTIyJTJGJTNFJTNDJTJGc3ZnJTNFKTtcbn1cbi53ZXVpLWljb24tc3VjY2Vzcy1uby1jaXJjbGUtdGhpbiB7XG4gICAgbWFzay1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMjQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTguODY0JTIwMTYuNjE3bC01LjMwMy01LjMwMy0xLjA2MSUyMDEuMDYlMjA1LjY1NyUyMDUuNjU3YTElMjAxJTIwMCUyMDAwMS40MTQlMjAwTDIxLjIzOCUyMDYuMzY0bC0xLjA2LTEuMDZMOC44NjQlMjAxNi42MTZ6JTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG59XG4ud2V1aS1pY29uLWFycm93IHtcbiAgICBtYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTIlMjIlMjBoZWlnaHQlM0QlMjIyNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMi40NTQlMjA2LjU4bDEuMDYtMS4wNiUyMDUuNzglMjA1Ljc3OWEuOTk2Ljk5NiUyMDAlMjAwMTAlMjAxLjQxM2wtNS43OCUyMDUuNzc5LTEuMDYtMS4wNjElMjA1LjQyNS01LjQyNS01LjQyNS01LjQyNHolMjIlMjBmaWxsJTNEJTIyJTIzQjJCMkIyJTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG59XG4ud2V1aS1pY29uLWFycm93LWJvbGQge1xuICAgIG1hc2staW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwaGVpZ2h0JTNEJTIyMjQlMjIlMjB3aWR0aCUzRCUyMjEyJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xMC4xNTclMjAxMi43MTFMNC41JTIwMTguMzY4bC0xLjQxNC0xLjQxNCUyMDQuOTUtNC45NS00Ljk1LTQuOTVMNC41JTIwNS42NGw1LjY1NyUyMDUuNjU3YTElMjAxJTIwMCUyMDAxMCUyMDEuNDE0eiUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMkYlM0UlM0MlMkZzdmclM0UpO1xufVxuLndldWktaWNvbi1iYWNrLWFycm93IHtcbiAgICBtYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTIlMjIlMjBoZWlnaHQlM0QlMjIyNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMy4zNDMlMjAxMmw3LjA3MSUyMDcuMDcxTDklMjAyMC40ODVsLTcuNzc4LTcuNzc4YTElMjAxJTIwMCUyMDAxMC0xLjQxNEw5JTIwMy41MTVsMS40MTQlMjAxLjQxNEwzLjM0NCUyMDEyeiUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMkYlM0UlM0MlMkZzdmclM0UpO1xufVxuLndldWktaWNvbi1iYWNrLWFycm93LXRoaW4ge1xuICAgIG1hc2staW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMiUyMiUyMGhlaWdodCUzRCUyMjI0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xMCUyMDE5LjQzOEw4Ljk1NSUyMDIwLjVsLTcuNjY2LTcuNzlhMS4wMiUyMDEuMDIlMjAwJTIwMDEwLTEuNDJMOC45NTUlMjAzLjUlMjAxMCUyMDQuNTYzJTIwMi42ODIlMjAxMiUyMDEwJTIwMTkuNDM4eiUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMkYlM0UlM0MlMkZzdmclM0UpO1xufVxuLndldWktaWNvbi1jbG9zZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMjQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTEyJTIwMTAuNTg2bDUuNjU3LTUuNjU3JTIwMS40MTQlMjAxLjQxNEwxMy40MTQlMjAxMmw1LjY1NyUyMDUuNjU3LTEuNDE0JTIwMS40MTRMMTIlMjAxMy40MTRsLTUuNjU3JTIwNS42NTctMS40MTQtMS40MTRMMTAuNTg2JTIwMTIlMjA0LjkyOSUyMDYuMzQzJTIwNi4zNDMlMjA0LjkzJTIwMTIlMjAxMC41ODZ6JTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG59XG4ud2V1aS1pY29uLWNsb3NlLXRoaW4ge1xuICAgIG1hc2staW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjI0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xMi4yNSUyMDEwLjY5M0w2LjA1NyUyMDQuNSUyMDUlMjA1LjU1N2w2LjE5MyUyMDYuMTkzTDUlMjAxNy45NDMlMjA2LjA1NyUyMDE5bDYuMTkzLTYuMTkzTDE4LjQ0MyUyMDE5bDEuMDU3LTEuMDU3LTYuMTkzLTYuMTkzTDE5LjUlMjA1LjU1NyUyMDE4LjQ0MyUyMDQuNXolMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTJGJTNFJTNDJTJGc3ZnJTNFKTtcbn1cbi53ZXVpLWljb24tYmFjay1jaXJjbGUge1xuICAgIG1hc2staW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjI0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xMiUyMDIyQzYuNDc3JTIwMjIlMjAyJTIwMTcuNTIzJTIwMiUyMDEyUzYuNDc3JTIwMiUyMDEyJTIwMnMxMCUyMDQuNDc3JTIwMTAlMjAxMC00LjQ3NyUyMDEwLTEwJTIwMTB6bTAtMS4yYTguOCUyMDguOCUyMDAlMjAxMDAtMTcuNiUyMDguOCUyMDguOCUyMDAlMjAwMDAlMjAxNy42em0xLjk5OS01LjM2M0wxMi45NTMlMjAxNi41JTIwOS4yOSUyMDEyLjcyM2ExLjA0NSUyMDEuMDQ1JTIwMCUyMDAxMC0xLjQ0NkwxMi45NTMlMjA3LjUlMjAxNCUyMDguNTYzJTIwMTAuNjglMjAxMiUyMDE0JTIwMTUuNDM4eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG59XG5cbi8vIGljb24gc2V0dGluZ1xuLndldWktaWNvbi1zdWNjZXNzIHtcbiAgICBjb2xvcjogQHdldWlDb2xvclByaW1hcnk7XG59XG4ud2V1aS1pY29uLXdhaXRpbmcge1xuICAgIGNvbG9yOiB2YXIoLS13ZXVpLUJMVUUpO1xufVxuLndldWktaWNvbi13YXJuIHtcbiAgICBjb2xvcjogQHdldWlDb2xvcldhcm47XG59XG4ud2V1aS1pY29uLWluZm8ge1xuICAgIGNvbG9yOiB2YXIoLS13ZXVpLUJMVUUpO1xufVxuXG4ud2V1aS1pY29uLXN1Y2Nlc3MtY2lyY2xlIHtcbiAgICBjb2xvcjogQHdldWlDb2xvclByaW1hcnk7XG59XG4ud2V1aS1pY29uLXN1Y2Nlc3Mtbm8tY2lyY2xlLFxuLndldWktaWNvbi1zdWNjZXNzLW5vLWNpcmNsZS10aGluIHtcbiAgICBjb2xvcjogQHdldWlDb2xvclByaW1hcnk7XG59XG4ud2V1aS1pY29uLXdhaXRpbmctY2lyY2xlIHtcbiAgICBjb2xvcjogdmFyKC0td2V1aS1CTFVFKTtcbn1cbi53ZXVpLWljb24tY2lyY2xlIHtcbiAgICBjb2xvcjogQHdldWlUZXh0Q29sb3JUaXBzO1xufVxuLndldWktaWNvbi1kb3dubG9hZCB7XG4gICAgY29sb3I6IEB3ZXVpQ29sb3JQcmltYXJ5O1xufVxuXG4ud2V1aS1pY29uLWluZm8tY2lyY2xlIHtcbiAgICBjb2xvcjogQHdldWlUZXh0Q29sb3JUaXBzO1xufVxuXG4ud2V1aS1pY29uLXNhZmUtc3VjY2VzcyB7XG4gICAgY29sb3I6IEB3ZXVpQ29sb3JQcmltYXJ5O1xufVxuLndldWktaWNvbi1zYWZlLXdhcm4ge1xuICAgIGNvbG9yOiB2YXIoLS13ZXVpLVlFTExPVyk7XG59XG5cbi53ZXVpLWljb24tY2FuY2VsIHtcbiAgICBjb2xvcjogQHdldWlDb2xvcldhcm47XG59XG5cbi53ZXVpLWljb24tc2VhcmNoIHtcbiAgICBjb2xvcjogQHdldWlUZXh0Q29sb3JEZXNjO1xufVxuXG4ud2V1aS1pY29uLWNsZWFyIHtcbiAgICBjb2xvcjogQHdldWlUZXh0Q29sb3JUaXBzO1xuICAgICY6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6IEB3ZXVpVGV4dENvbG9yRGVzYztcbiAgICB9XG59XG5cbi53ZXVpLWljb24tZGVsZXRlIHtcbiAgICAmLndldWktaWNvbl9nYWxsZXJ5LWRlbGV0ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS13ZXVpLVdISVRFKTtcbiAgICB9XG59XG4ud2V1aS1pY29uLWFycm93LFxuLndldWktaWNvbi1hcnJvdy1ib2xkLFxuLndldWktaWNvbi1iYWNrLWFycm93LFxuLndldWktaWNvbi1iYWNrLWFycm93LXRoaW4ge1xuICAgIHdpZHRoOiAxMnB4O1xufVxuLndldWktaWNvbi1hcnJvdyxcbi53ZXVpLWljb24tYXJyb3ctYm9sZCB7XG4gICAgY29sb3I6IEB3ZXVpVGV4dENvbG9yVGlwcztcbn1cbi53ZXVpLWljb24tYmFjay1hcnJvdyxcbi53ZXVpLWljb24tYmFjay1hcnJvdy10aGluIHtcbiAgICBjb2xvcjogQHdldWlUZXh0Q29sb3JUaXRsZTtcbn1cbi53ZXVpLWljb24tYmFjayxcbi53ZXVpLWljb24tYmFjay1jaXJjbGUge1xuICAgIGNvbG9yOiBAd2V1aVRleHRDb2xvclRpdGxlO1xufVxuXG4ud2V1aS1pY29uX21zZyB7XG4gICAgd2lkdGg6IDY0cHg7XG4gICAgaGVpZ2h0OiA2NHB4O1xuICAgICYud2V1aS1pY29uLXdhcm4ge1xuICAgICAgICBjb2xvcjogQHdldWlDb2xvcldhcm47XG4gICAgfVxufVxuLndldWktaWNvbl9tc2ctcHJpbWFyeSB7XG4gICAgd2lkdGg6IDY0cHg7XG4gICAgaGVpZ2h0OiA2NHB4O1xuICAgICYud2V1aS1pY29uLXdhcm4ge1xuICAgICAgICBjb2xvcjogdmFyKC0td2V1aS1ZRUxMT1cpO1xuICAgIH1cbn1cbiIsIi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5AaW1wb3J0IFwiLi4vLi4vYmFzZS9mblwiO1xuXG4ud2V1aS1saW5rIHtcbiAgICBjb2xvcjogQHdldWlMaW5rQ29sb3JEZWZhdWx0O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAmOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogQHdldWlMaW5rQ29sb3JEZWZhdWx0O1xuICAgIH1cbn1cbiIsIi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5AaW1wb3J0IFwiLi4vLi4vYmFzZS9mblwiO1xuXG4ud2V1aS1idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogQHdldWlCdG5XaWR0aDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogOHB4IDI0cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogQHdldWlCdG5Gb250U2l6ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiBAd2V1aUJ0bkZvbnRDb2xvcjtcbiAgICBsaW5lLWhlaWdodDogdW5pdCgoQHdldWlCdG5IZWlnaHQgLSAxNikgLyBAd2V1aUJ0bkZvbnRTaXplKTtcbiAgICBib3JkZXItcmFkaXVzOiBAd2V1aUJ0bkJvcmRlclJhZGl1cztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIFxuICAgIC5zZXRUYXBDb2xvcigpO1xufVxuLndldWktYnRuX2Jsb2NrIHtcbiAgICB3aWR0aDogYXV0bztcbn1cbi53ZXVpLWJ0bl9pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbiIsIi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5AaW1wb3J0IFwiLi4vLi4vYmFzZS9mblwiO1xuXG4ud2V1aS1idG5fZGVmYXVsdCB7XG4gICAgY29sb3I6IEB3ZXVpQnRuRGVmYXVsdEZvbnRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2V1aUJ0bkRlZmF1bHRCZztcbiAgICAmOm5vdCgud2V1aS1idG5fZGlzYWJsZWQpOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogQHdldWlCdG5EZWZhdWx0Rm9udENvbG9yO1xuICAgIH1cbiAgICAmOm5vdCgud2V1aS1idG5fZGlzYWJsZWQpOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB3ZXVpQnRuRGVmYXVsdEFjdGl2ZUJnO1xuICAgIH1cbn1cbiIsIi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5AaW1wb3J0IFwiLi4vLi4vYmFzZS9mblwiO1xuXG4ud2V1aS1idG5fcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHdldWlCdG5QcmltYXJ5Qmc7XG4gICAgJjpub3QoLndldWktYnRuX2Rpc2FibGVkKTp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6IEB3ZXVpQnRuUHJpbWFyeUZvbnRDb2xvcjtcbiAgICB9XG4gICAgJjpub3QoLndldWktYnRuX2Rpc2FibGVkKTphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2V1aUJ0blByaW1hcnlBY3RpdmVCZztcbiAgICB9XG59XG4iLCIvKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuQGltcG9ydCBcIi4uLy4uL2Jhc2UvZm5cIjtcblxuLndldWktYnRuX3dhcm4ge1xuICAgIGNvbG9yOiBAd2V1aUJ0bldhcm5Gb250Q29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHdldWlCdG5XYXJuQmc7XG4gICAgJjpub3QoLndldWktYnRuX2Rpc2FibGVkKTp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6IEB3ZXVpQnRuV2FybkZvbnRDb2xvcjtcbiAgICB9XG4gICAgJjpub3QoLndldWktYnRuX2Rpc2FibGVkKTphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2V1aUJ0bldhcm5BY3RpdmVCZztcbiAgICB9XG59XG4iLCIvKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuQGltcG9ydCBcIi4uLy4uL2Jhc2UvZm5cIjtcblxuLndldWktYnRuX2Rpc2FibGVkIHtcbiAgICBjb2xvcjogQHdldWlCdG5EaXNhYmxlZEZvbnRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2V1aUJ0bkRpc2FibGVkQmc7XG59XG4iLCIvKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuQGltcG9ydCBcIi4uLy4uL2Jhc2UvZm5cIjtcblxuLndldWktYnRuX2xvYWRpbmcge1xuICAgIC53ZXVpLWxvYWRpbmcge1xuICAgICAgICBtYXJnaW46IC0wLjJlbSAwLjM0ZW0gMCAwO1xuICAgIH1cbiAgICAud2V1aS1wcmltYXJ5LWxvYWRpbmcge1xuICAgICAgICBtYXJnaW46IC0uMmVtIDhweCAwIDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbiAgICB9XG4gICAgJi53ZXVpLWJ0bl9wcmltYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHdldWlCdG5QcmltYXJ5QWN0aXZlQmc7XG4gICAgICAgIGNvbG9yOiB2YXIoLS13ZXVpLVdISVRFKTtcbiAgICB9XG4gICAgJi53ZXVpLWJ0bl9kZWZhdWx0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHdldWlCdG5EZWZhdWx0QWN0aXZlQmc7XG4gICAgfVxuICAgICYud2V1aS1idG5fd2FybiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB3ZXVpQnRuV2FybkFjdGl2ZUJnO1xuICAgIH1cbn1cbiIsIi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5AaW1wb3J0IFwiLi4vLi4vYmFzZS9mblwiO1xuXG4ud2V1aS1idG5fY2VsbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogQHdldWlCdG5Gb250U2l6ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiBAd2V1aUJ0bkZvbnRDb2xvcjtcbiAgICBsaW5lLWhlaWdodDogQHdldWlCdG5DZWxsTGluZUhlaWdodDtcbiAgICBwYWRkaW5nOiBAd2V1aUJ0bkNlbGxHYXA7XG4gICAgLnNldFRhcENvbG9yKCk7XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktQkctNSk7XG4gICAgJiArICYge1xuICAgICAgICBtYXJnaW4tdG9wOiBAd2V1aUJ0bkRlZmF1bHRHYXA7XG4gICAgfVxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHdldWlCZ0NvbG9yQWN0aXZlO1xuICAgIH1cbn1cbi53ZXVpLWJ0bl9jZWxsX19pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgbWFyZ2luOiAtMC4yZW0gMC4zNGVtIDAgMDtcbn1cbi53ZXVpLWJ0bl9jZWxsLWRlZmF1bHQge1xuICAgIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTApO1xufVxuLndldWktYnRuX2NlbGwtcHJpbWFyeSB7XG4gICAgY29sb3I6IEB3ZXVpTGlua0NvbG9yRGVmYXVsdDtcbn1cbi53ZXVpLWJ0bl9jZWxsLXdhcm4ge1xuICAgIGNvbG9yOiBAd2V1aUNvbG9yV2Fybjtcbn1cblxuXG4iLCIvKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuQGltcG9ydCBcIi4uLy4uL2Jhc2UvZm5cIjtcbkBpbXBvcnQgXCJ3ZXVpLWJ0bl9nbG9iYWxcIjtcbkBpbXBvcnQgXCJ3ZXVpLWJ0bl9kZWZhdWx0XCI7XG5AaW1wb3J0IFwid2V1aS1idG5fcHJpbWFyeVwiO1xuQGltcG9ydCBcIndldWktYnRuX3dhcm5cIjtcbkBpbXBvcnQgXCJ3ZXVpLWJ0bl9kaXNhYmxlZFwiO1xuQGltcG9ydCBcIndldWktYnRuX2xvYWRpbmdcIjtcbkBpbXBvcnQgXCJ3ZXVpLWJ0bl9jZWxsXCI7XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgICAmLndldWktYnRuIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLndldWktYnRuX2lubGluZSxcbiAgICAmLndldWktYnRuX21pbmkge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG59XG5cbi53ZXVpLWJ0bl9taW5pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZzogMCB1bml0KDEycHgvQHdldWlCdG5NaW5pRm9udFNpemUsIGVtKTtcbiAgICBsaW5lLWhlaWdodDogdW5pdChAd2V1aUJ0bk1pbmlIZWlnaHQvQHdldWlCdG5NaW5pRm9udFNpemUpO1xuICAgIGZvbnQtc2l6ZTogQHdldWlCdG5NaW5pRm9udFNpemU7XG59XG5cblxuLyogZ2FwIGJldHdlZW4gYnRuICovXG4ud2V1aS1idG46bm90KC53ZXVpLWJ0bl9taW5pKSArIC53ZXVpLWJ0bjpub3QoLndldWktYnRuX21pbmkpIHtcbiAgICBtYXJnaW4tdG9wOiBAd2V1aUJ0bkRlZmF1bHRHYXA7XG59XG5cbi53ZXVpLWJ0bi53ZXVpLWJ0bl9pbmxpbmUgKyAud2V1aS1idG4ud2V1aS1idG5faW5saW5lIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBAd2V1aUJ0bkRlZmF1bHRHYXA7XG59XG5cbi53ZXVpLWJ0bi1hcmVhIHtcbiAgICBtYXJnaW46IDQ4cHggQHdldWlCdG5EZWZhdWx0R2FwIDhweDtcbn1cbi53ZXVpLWJ0bi1hcmVhX2lubGluZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAud2V1aS1idG4ge1xuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IEB3ZXVpQnRuRGVmYXVsdEdhcDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi53ZXVpLWJ0bl9yZXNldCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3V0bGluZTogMDtcbn1cbi53ZXVpLWJ0bl9pY29uIHtcbiAgICBmb250LXNpemU6IDA7XG4gICAgJjphY3RpdmUge1xuICAgICAgICBbY2xhc3MqPVwid2V1aS1pY29uLVwiXSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0td2V1aS1GRy0xKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5AaW1wb3J0IFwiLi4vLi4vYmFzZS9mblwiO1xuXG4vKlxuei1pbmRleDpcbjA6IC53ZXVpLXN3aXBlZC1idG5cbjE6IC53ZXVpLWNlbGxfc3dpcGVkIC53ZXVpLWNlbGxfX2JkXG4yOiAud2V1aS1jZWxsc+WSjC53ZXVpLWNlbGznmoQxcHjnur9cbiovXG5cbi53ZXVpLWNlbGxzIHtcbiAgICBtYXJnaW4tdG9wOiBAd2V1aUNlbGxzTWFyZ2luVG9wO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEB3ZXVpQ2VsbEJnO1xuICAgIGxpbmUtaGVpZ2h0OiBAd2V1aUNlbGxMaW5lSGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogQHdldWlDZWxsRm9udFNpemU7IC8vY2VsbOS4remXtOacieaViOmrmOW6pjIzcHjvvIzot5/lrqLmiLfnq6/pu5jorqTlm77moIflsLrlr7jkuIDoh7RcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAvL+WboOS4uuavj+S4qmNlbGznmoRib3JkZXLkvb/nlKhiZWZvcmXlhYPntKBsZWZ05pCe55qE77yMaWXkuIvkvKrlhYPntKDnmoRjb250YWluaW5nIGJsb2Nr5Lyw6K6h6Lef5qCH5YeG5LiN5ZCM77yM5ZyoY2VsbOS4iueUqG9o5LiN55Sf5pWIXG5cbiAgICAvLyBvbmVweFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIC5zZXRUb3BMaW5lKEB3ZXVpQ2VsbEJvcmRlckNvbG9yKTtcblxuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgLnNldEJvdHRvbUxpbmUoQHdldWlDZWxsQm9yZGVyQ29sb3IpO1xuXG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxufVxuXG4ud2V1aS1jZWxsc19fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgIHBhZGRpbmctbGVmdDogQHdldWlDZWxsR2FwSDtcbiAgICBwYWRkaW5nLXJpZ2h0OiBAd2V1aUNlbGxHYXBIO1xuICAgIGNvbG9yOiBAd2V1aVRleHRDb2xvckRlc2M7XG4gICAgZm9udC1zaXplOiBAd2V1aUNlbGxUaXBzRm9udFNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICYgKyAud2V1aS1jZWxscyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxufVxuXG4ud2V1aS1jZWxsc19fdGlwcyB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIGNvbG9yOiBAd2V1aVRleHRDb2xvckRlc2M7XG4gICAgcGFkZGluZy1sZWZ0OiBAd2V1aUNlbGxHYXBIO1xuICAgIHBhZGRpbmctcmlnaHQ6IEB3ZXVpQ2VsbEdhcEg7XG4gICAgZm9udC1zaXplOiBAd2V1aUNlbGxUaXBzRm9udFNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBhLFxuICAgIG5hdmlnYXRvciB7XG4gICAgICAgIGNvbG9yOiBAd2V1aUxpbmtDb2xvckRlZmF1bHQ7XG4gICAgfVxuICAgIG5hdmlnYXRvciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG59XG5cbi53ZXVpLWNlbGwge1xuICAgIHBhZGRpbmc6IEB3ZXVpQ2VsbEdhcFY7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvL+i/meS4quaYr+S4uuS6huWFvOWuuWNlbGxz5a655Zmob25lcHjmlrnmoYjooqtiZWZvcmXmjKHkvY/ogIzlgZrnmoRcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICAuc2V0VG9wTGluZShAd2V1aUNlbGxCb3JkZXJDb2xvcik7XG5cbiAgICAgICAgbGVmdDogQHdldWlDZWxsR2FwSDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4ud2V1aS1jZWxsX2FjdGl2ZSB7XG4gICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2V1aUJnQ29sb3JBY3RpdmU7XG4gICAgfVxufVxuLndldWktY2VsbF9wcmltYXJ5IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cbi53ZXVpLWNlbGxfX2JkIHtcbiAgICBmbGV4OiAxO1xufVxuLndldWktY2VsbF9fZnQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGNvbG9yOiBAd2V1aVRleHRDb2xvckRlc2M7XG59XG4iLCIvKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuQGltcG9ydCBcIi4uL3ZhcmlhYmxlL2NvbG9yXCI7XG5cbi5zZXRUb3BMaW5lKEBjOiBAd2V1aUxpbmVDb2xvckxpZ2h0KSB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBAYztcbiAgICBjb2xvcjogQGM7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDAuNSk7XG59XG5cbi5zZXRCb3R0b21MaW5lKEBjOiBAd2V1aUxpbmVDb2xvckxpZ2h0KSB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAYztcbiAgICBjb2xvcjogQGM7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlO1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDAuNSk7XG59XG5cbi5zZXRMZWZ0TGluZShAYzogQHdldWlMaW5lQ29sb3JMaWdodCkge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMXB4O1xuICAgIGJvdHRvbTogMDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIEBjO1xuICAgIGNvbG9yOiBAYztcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMC41KTtcbn1cblxuLnNldFJpZ2h0TGluZShAYzogQHdldWlMaW5lQ29sb3JMaWdodCkge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDFweDtcbiAgICBib3R0b206IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgQGM7XG4gICAgY29sb3I6IEBjO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwLjUpO1xufVxuIiwiLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbkBpbXBvcnQgXCIuLi8uLi9iYXNlL2ZuXCI7XG5cbi53ZXVpLWNlbGxfc3dpcGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwO1xuICAgID4gLndldWktY2VsbF9fYmQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB3ZXVpQ2VsbEJnO1xuICAgIH1cbiAgICA+IC53ZXVpLWNlbGxfX2Z0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGNvbG9yOiAjZmZmOyAvLyDlm7rlrproibLlgLxcbiAgICB9XG59XG4ud2V1aS1zd2lwZWQtYnRuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiBAd2V1aUNlbGxHYXBWIDFlbTtcbiAgICBsaW5lLWhlaWdodDogQHdldWlDZWxsTGluZUhlaWdodDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbn1cbi53ZXVpLXN3aXBlZC1idG5fZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHdldWlCZ0NvbG9yRGVmYXVsdDtcbn1cbi53ZXVpLXN3aXBlZC1idG5fd2FybiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHdldWlDb2xvcldhcm47XG59XG4iLCIvKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuQGltcG9ydCBcIi4uLy4uL2Jhc2UvZm5cIjtcblxuLndldWktY2VsbF9hY2Nlc3Mge1xuICAgIC5zZXRUYXBDb2xvcigpO1xuXG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2V1aUJnQ29sb3JBY3RpdmU7XG4gICAgfVxuICAgIC53ZXVpLWNlbGxfX2Z0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjJweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiAwIDA7XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgbWFzay1zaXplOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgY29sb3I6IEB3ZXVpVGV4dENvbG9yVGlwcztcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMiUyMiUyMGhlaWdodCUzRCUyMjI0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0yLjQ1NCUyMDYuNThsMS4wNi0xLjA2JTIwNS43OCUyMDUuNzc5YS45OTYuOTk2JTIwMCUyMDAxMCUyMDEuNDEzbC01Ljc4JTIwNS43NzktMS4wNi0xLjA2MSUyMDUuNDI1LTUuNDI1LTUuNDI1LTUuNDI0eiUyMiUyMGZpbGwlM0QlMjIlMjNCMkIyQjIlMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTJGJTNFJTNDJTJGc3ZnJTNFKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbi53ZXVpLWNlbGxfbGluayB7XG4gICAgY29sb3I6IEB3ZXVpTGlua0NvbG9yRGVmYXVsdDtcbiAgICBmb250LXNpemU6IDE3cHg7XG5cbiAgICAvLyDnlLHkuo53ZXVpLWNlbGw6Zmlyc3QtY2hpbGTnmoQ6YmVmb3Jl5Li66ZqQ6JeP77yM5omA5Lul6L+Z6YeM6KaB6YeN5paw5pi+56S65Ye65p2lXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbkBpbXBvcnQgXCIuLi8uLi8uLi9iYXNlL2ZuXCI7XG5cbi53ZXVpLWNoZWNrX19sYWJlbCB7XG4gICAgLnNldFRhcENvbG9yKCk7XG4gICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2V1aUJnQ29sb3JBY3RpdmU7XG4gICAgfVxufVxuXG4ud2V1aS1jaGVjayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC05OTk5cHg7XG59XG4iLCIvKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuQGltcG9ydCBcIi4uLy4uLy4uL2Jhc2UvZm5cIjtcblxuLy8gbWV0aG9kMiBhY2Nlc3NiaWxpdHlcbi53ZXVpLWNlbGxzX3JhZGlvIHtcbiAgICAud2V1aS1jZWxsX19mdCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogQHdldWlDZWxsSW5uZXJHYXBIO1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgfVxufVxuLndldWktY2hlY2sge1xuICAgIC8vIHJhZGlvXG4gICAgLndldWktY2VsbHNfcmFkaW8gJiB7XG4gICAgICAgICYgKyAud2V1aS1pY29uLWNoZWNrZWQge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICAgICY6Y2hlY2tlZCxcbiAgICAgICAgJlthcmlhLWNoZWNrZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgICYgKyAud2V1aS1pY29uLWNoZWNrZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBAd2V1aUNvbG9yUHJpbWFyeTtcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIyNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNOC42NTclMjAxOC40MzVMMyUyMDEyLjc3OGwxLjQxNC0xLjQxNCUyMDQuOTUlMjA0Ljk1TDIwLjY3OCUyMDVsMS40MTQlMjAxLjQxNC0xMi4wMiUyMDEyLjAyMWExJTIwMSUyMDAlMjAwMS0xLjQxNSUyMDB6JTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuQGltcG9ydCBcIi4uLy4uLy4uL2Jhc2UvZm5cIjtcblxuLndldWktY2VsbHNfY2hlY2tib3gge1xuICAgIC53ZXVpLWNoZWNrX19sYWJlbCB7XG4gICAgICAgICY6YmVmb3JlIHsgbGVmdDogNTVweDsgfVxuICAgIH1cbiAgICAud2V1aS1jZWxsX19oZCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IEB3ZXVpQ2VsbElubmVyR2FwSDtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgIH1cbiAgICAud2V1aS1pY29uLWNoZWNrZWQge1xuICAgICAgICBjb2xvcjogQHdldWlUZXh0Q29sb3JUaXBzO1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTAwMCUyMiUyMGhlaWdodCUzRCUyMjEwMDAlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTUwMCUyMDkxNi42NjdDMjY5Ljg4MSUyMDkxNi42NjclMjA4My4zMzMlMjA3MzAuMTE5JTIwODMuMzMzJTIwNTAwJTIwODMuMzMzJTIwMjY5Ljg4MSUyMDI2OS44ODElMjA4My4zMzMlMjA1MDAlMjA4My4zMzNjMjMwLjExOSUyMDAlMjA0MTYuNjY3JTIwMTg2LjU0OCUyMDQxNi42NjclMjA0MTYuNjY3JTIwMCUyMDIzMC4xMTktMTg2LjU0OCUyMDQxNi42NjctNDE2LjY2NyUyMDQxNi42Njd6bTAtNTBjMjAyLjUwNCUyMDAlMjAzNjYuNjY3LTE2NC4xNjMlMjAzNjYuNjY3LTM2Ni42NjclMjAwLTIwMi41MDQtMTY0LjE2My0zNjYuNjY3LTM2Ni42NjctMzY2LjY2Ny0yMDIuNTA0JTIwMC0zNjYuNjY3JTIwMTY0LjE2My0zNjYuNjY3JTIwMzY2LjY2NyUyMDAlMjAyMDIuNTA0JTIwMTY0LjE2MyUyMDM2Ni42NjclMjAzNjYuNjY3JTIwMzY2LjY2N3olMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTIwZmlsbC1vcGFjaXR5JTNEJTIyLjklMjIlMkYlM0UlM0MlMkZzdmclM0UpO1xuICAgIH1cbn1cblxuLy8gbWV0aG9kMiBhY2Nlc3NiaWxpdHlcbi53ZXVpLWNoZWNrIHtcbiAgICAvLyBjaGVja2JveFxuICAgIC53ZXVpLWNlbGxzX2NoZWNrYm94ICYge1xuICAgICAgICAmOmNoZWNrZWQsXG4gICAgICAgICZbYXJpYS1jaGVja2VkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICAmICsgLndldWktaWNvbi1jaGVja2VkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogQHdldWlDb2xvclByaW1hcnk7XG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMjQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTEyJTIwMjJDNi40NzclMjAyMiUyMDIlMjAxNy41MjMlMjAyJTIwMTJTNi40NzclMjAyJTIwMTIlMjAyczEwJTIwNC40NzclMjAxMCUyMDEwLTQuNDc3JTIwMTAtMTAlMjAxMHptLTEuMTc3LTcuODZsLTIuNzY1LTIuNzY3TDclMjAxMi40MzFsMy4xMTklMjAzLjEyMWExJTIwMSUyMDAlMjAwMDEuNDE0JTIwMGw1Ljk1Mi01Ljk1LTEuMDYyLTEuMDYyLTUuNiUyMDUuNnolMjIlMkYlM0UlM0MlMkZzdmclM0UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbkBpbXBvcnQgXCIuLi8uLi8uLi9iYXNlL2ZuXCI7XG5cbi53ZXVpLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogQHdldWlDZWxsTGFiZWxXaWR0aDtcbiAgICAudGV4dF93cmFwKCk7XG59XG4ud2V1aS1pbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICAgIG91dGxpbmU6IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBoZWlnaHQ6IHVuaXQoQHdldWlDZWxsTGluZUhlaWdodCwgZW0pO1xuICAgIGxpbmUtaGVpZ2h0OiBAd2V1aUNlbGxMaW5lSGVpZ2h0O1xuXG4gICAgLy8gaGlkZXMgdGhlIHNwaW4tYnV0dG9uXG4gICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgICY6Zm9jdXMge1xuICAgICAgICAmOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pIHtcbiAgICAgICAgICAgICYgKyAud2V1aS1idG5faW5wdXQtY2xlYXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLndldWktdGV4dGFyZWEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogMDtcbiAgICByZXNpemU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgb3V0bGluZTogMDtcbn1cblxuLndldWktdGV4dGFyZWEtY291bnRlciB7XG4gICAgY29sb3I6IEB3ZXVpVGV4dENvbG9yVGlwcztcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgLndldWktY2VsbF93YXJuICYge1xuICAgICAgICBjb2xvcjogQHdldWlUZXh0Q29sb3JXYXJuO1xuICAgIH1cbn1cblxuLndldWktY2VsbHNfZm9ybSB7XG4gICAgLndldWktY2VsbF9zd2l0Y2gsXG4gICAgLndldWktY2VsbF92Y29kZSxcbiAgICAud2V1aS1jZWxsX3JlYWRvbmx5LFxuICAgIC53ZXVpLWNlbGxfZGlzYWJsZWQge1xuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAud2V1aS1jZWxsX19mdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICB9XG4gICAgLndldWktaWNvbi13YXJuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgaW5wdXQsXG4gICAgdGV4dGFyZWEsXG4gICAgbGFiZWxbZm9yXSB7XG4gICAgICAgIC5zZXRUYXBDb2xvcigpO1xuICAgIH1cbn1cbi53ZXVpLWNlbGxfd2FybiB7XG4gICAgY29sb3I6IEB3ZXVpVGV4dENvbG9yV2FybjtcbiAgICAud2V1aS1pY29uLXdhcm4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbn1cbi53ZXVpLWNlbGxfcmVhZG9ubHksXG4ud2V1aS1jZWxsX2Rpc2FibGVkIHtcbiAgICAud2V1aS1pbnB1dCxcbiAgICAud2V1aS10ZXh0YXJlYSB7XG4gICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiBAd2V1aVRleHRDb2xvckRlc2M7XG4gICAgICAgIH1cbiAgICAgICAgJltkaXNhYmxlZF0sXG4gICAgICAgICZbcmVhZG9ubHldIHtcbiAgICAgICAgICAgIGNvbG9yOiBAd2V1aVRleHRDb2xvckRlc2M7XG4gICAgICAgIH1cbiAgICB9XG59XG4ud2V1aS1idG5faW5wdXQtY2xlYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgW2NsYXNzKj1cIndldWktaWNvbi1cIl0ge1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICB9XG59XG4iLCIvKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuLmVsbGlwc2lzKEB3OmF1dG8pIHtcbiAgICB3aWR0aDogQHc7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuXG4uZWxsaXBzaXNMbihAbGluZSkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IEBsaW5lO1xufVxuLnRleHRfd3JhcCgpIHtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xufVxuLmh5cGhlbnMoKSB7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgICBoeXBoZW5zOiBhdXRvO1xufVxuIiwiLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbkBpbXBvcnQgXCIuLi8uLi8uLi9iYXNlL2ZuXCI7XG5cbi53ZXVpLWZvcm0tcHJldmlldyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktQkctMik7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICAuc2V0VG9wTGluZShAd2V1aUNlbGxCb3JkZXJDb2xvcik7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgICAuc2V0Qm90dG9tTGluZShAd2V1aUNlbGxCb3JkZXJDb2xvcik7XG4gICAgfVxufVxuLndldWktZm9ybS1wcmV2aWV3X19oZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IEB3ZXVpQ2VsbEdhcFY7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6IDIuNWVtO1xuICAgICY6YWZ0ZXIge1xuICAgICAgICAuc2V0Qm90dG9tTGluZShAd2V1aUNlbGxCb3JkZXJDb2xvcik7XG5cbiAgICAgICAgbGVmdDogQHdldWlDZWxsR2FwSDtcbiAgICB9XG4gICAgLndldWktZm9ybS1wcmV2aWV3X192YWx1ZSB7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICB9XG59XG4ud2V1aS1mb3JtLXByZXZpZXdfX2JkIHtcbiAgICBwYWRkaW5nOiBAd2V1aUNlbGxHYXBWO1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgY29sb3I6IEB3ZXVpVGV4dENvbG9yRGVzYztcbiAgICBsaW5lLWhlaWdodDogMjtcbn1cbi53ZXVpLWZvcm0tcHJldmlld19fZnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgLnNldFRvcExpbmUoQHdldWlEaWFsb2dMaW5lQ29sb3IpO1xuICAgIH1cbn1cbi53ZXVpLWZvcm0tcHJldmlld19faXRlbSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi53ZXVpLWZvcm0tcHJldmlld19fbGFiZWwge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgIG1pbi13aWR0aDogNGVtO1xuICAgIGNvbG9yOiBAd2V1aVRleHRDb2xvckRlc2M7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICB0ZXh0LWFsaWduLWxhc3Q6IGp1c3RpZnk7XG59XG4ud2V1aS1mb3JtLXByZXZpZXdfX3ZhbHVlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgY29sb3I6IHZhcigtLXdldWktRkctMCk7XG59XG4ud2V1aS1mb3JtLXByZXZpZXdfX2J0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsZXg6IDE7XG4gICAgY29sb3I6IEB3ZXVpRGlhbG9nTGlua0NvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAuc2V0VGFwQ29sb3IoKTtcbiAgICBidXR0b24mIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICB9XG4gICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2V1aURpYWxvZ0xpbmtBY3RpdmVCYztcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIC5zZXRMZWZ0TGluZShAd2V1aURpYWxvZ0xpbmVDb2xvcik7XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4ud2V1aS1mb3JtLXByZXZpZXdfX2J0bl9kZWZhdWx0IHtcbiAgICBjb2xvcjogdmFyKC0td2V1aS1GRy1IQUxGKTtcbn1cbi53ZXVpLWZvcm0tcHJldmlld19fYnRuX3ByaW1hcnkge1xuICAgIGNvbG9yOiBAd2V1aUxpbmtDb2xvckRlZmF1bHQ7XG59XG5cbi8vIOWIl+ihqOWdl++8jOS4gOiIrOaUvm1zZ+e7hOS7tueahOiHquWumuS5ieWMuuWfn1xuLndldWktZm9ybS1wcmV2aWV3X19saXN0e1xuICBwYWRkaW5nLXRvcDoyNHB4O1xuICBwYWRkaW5nLWJvdHRvbToyNHB4O1xuICBsaW5lLWhlaWdodDoxLjQ7XG4gIGZvbnQtc2l6ZToxNHB4O1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgJjpiZWZvcmV7XG4gICAgY29udGVudDpcIlwiO1xuICAgIC5zZXRUb3BMaW5lKHZhcigtLXdldWktRkctMykpO1xuICB9XG4gICY6bGFzdC1jaGlsZHtcbiAgICBwYWRkaW5nLWJvdHRvbTowO1xuICB9XG4gIC53ZXVpLWZvcm0tcHJldmlld19fbGFiZWx7XG4gICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgIHRleHQtYWxpZ24tbGFzdDp1bnNldDtcbiAgICB3aWR0aDo2ZW07XG4gIH1cbiAgLndldWktZm9ybS1wcmV2aWV3X192YWx1ZXtoeXBoZW5zOmF1dG87fVxuICAud2V1aS1mb3JtLXByZXZpZXdfX2l0ZW17XG4gICAgbWFyZ2luLXRvcDoxMnB4O1xuICAgICY6Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowO31cbiAgfVxuICAmPi53ZXVpLWNlbGxzX190aXRsZXtcbiAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgbWFyZ2luLXRvcDowO1xuICAgIH1cbiAgfVxufVxuXG4iLCIvKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuQGltcG9ydCBcIi4uLy4uLy4uL2Jhc2UvZm5cIjtcblxuLndldWktY2VsbF9zZWxlY3Qge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLndldWktc2VsZWN0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICB9XG4gICAgLndldWktY2VsbF9fYmQge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiAwIDA7XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgbWFzay1zaXplOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgY29sb3I6IEB3ZXVpVGV4dENvbG9yVGlwcztcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMiUyMiUyMGhlaWdodCUzRCUyMjI0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0yLjQ1NCUyMDYuNThsMS4wNi0xLjA2JTIwNS43OCUyMDUuNzc5YS45OTYuOTk2JTIwMCUyMDAxMCUyMDEuNDEzbC01Ljc4JTIwNS43NzktMS4wNi0xLjA2MSUyMDUuNDI1LTUuNDI1LTUuNDI1LTUuNDI0eiUyMiUyMGZpbGwlM0QlMjIlMjNCMkIyQjIlMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTJGJTNFJTNDJTJGc3ZnJTNFKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgcmlnaHQ6IEB3ZXVpQ2VsbEdhcEg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLndldWktc2VsZWN0IHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGhlaWdodDogQHdldWlDZWxsSGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiBAd2V1aUNlbGxIZWlnaHQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcGFkZGluZy1sZWZ0OiBAd2V1aUNlbGxHYXBIO1xuICAgIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTApO1xufVxuXG4ud2V1aS1jZWxsX3NlbGVjdC1iZWZvcmUge1xuICAgIHBhZGRpbmctcmlnaHQ6IEB3ZXVpQ2VsbEdhcEg7XG4gICAgLndldWktc2VsZWN0IHtcbiAgICAgICAgd2lkdGg6IEB3ZXVpQ2VsbExhYmVsV2lkdGg7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICAgIC53ZXVpLWNlbGxfX2hkIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIC5zZXRSaWdodExpbmUoQHdldWlDZWxsQm9yZGVyQ29sb3IpO1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiAwIDA7XG4gICAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgbWFzay1zaXplOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgY29sb3I6IEB3ZXVpVGV4dENvbG9yVGlwcztcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMiUyMiUyMGhlaWdodCUzRCUyMjI0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0yLjQ1NCUyMDYuNThsMS4wNi0xLjA2JTIwNS43OCUyMDUuNzc5YS45OTYuOTk2JTIwMCUyMDAxMCUyMDEuNDEzbC01Ljc4JTIwNS43NzktMS4wNi0xLjA2MSUyMDUuNDI1LTUuNDI1LTUuNDI1LTUuNDI0eiUyMiUyMGZpbGwlM0QlMjIlMjNCMkIyQjIlMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTJGJTNFJTNDJTJGc3ZnJTNFKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgcmlnaHQ6IEB3ZXVpQ2VsbEdhcEg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAud2V1aS1jZWxsX19iZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogQHdldWlDZWxsR2FwSDtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgICYud2V1aS1jZWxsX2FjY2VzcyB7XG4gICAgICAgIC53ZXVpLWNlbGxfX2hkIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1NnB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ud2V1aS1jZWxsX3NlbGVjdC1hZnRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiBAd2V1aUNlbGxHYXBIO1xuICAgIC53ZXVpLXNlbGVjdCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgJi53ZXVpLWNlbGxfYWNjZXNzIHtcbiAgICAgICAgLndldWktY2VsbF9fYmQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDU2cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKlxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbipcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKlxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbkBpbXBvcnQgXCIuLi8uLi8uLi9iYXNlL2ZuXCI7XG5cbi53ZXVpLWNlbGxfdmNvZGUge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG59XG4ud2V1aS12Y29kZS1pbWcge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgaGVpZ2h0OiBAd2V1aUNlbGxIZWlnaHQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLndldWktdmNvZGUtYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiBAd2V1aUNlbGxIZWlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBwYWRkaW5nOiAwIDAuNmVtIDAgMC43ZW07XG4gICAgbGluZS1oZWlnaHQ6IEB3ZXVpQ2VsbEhlaWdodDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtc2l6ZTogQHdldWlDZWxsRm9udFNpemU7XG4gICAgY29sb3I6IEB3ZXVpRGlhbG9nTGlua0NvbG9yO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIC5zZXRMZWZ0TGluZShAd2V1aUxpbmVDb2xvckxpZ2h0KTtcbiAgICB9XG4gICAgYnV0dG9uJiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXdldWktTElOSy1BQ1RJVkUpO1xuICAgIH1cbn1cbiIsIi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5AaW1wb3J0IFwiLi4vLi4vYmFzZS9mblwiO1xuXG5Ad2V1aUdhbGxlcnlPcHJIZWlnaHQ6IDYwcHg7XG4ud2V1aS1nYWxsZXJ5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgLy8g5Zu65a6a6Imy5YC8XG4gICAgei1pbmRleDogMTAwMDtcbn1cbi53ZXVpLWdhbGxlcnlfX2ltZyxcbi53ZXVpLWdhbGxlcnlfX29wciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgbGVmdDogY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xuICAgIGxlZnQ6IGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XG4gICAgcmlnaHQ6IDA7XG4gICAgcmlnaHQ6IGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7XG4gICAgcmlnaHQ6IGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO1xufVxuLndldWktZ2FsbGVyeV9faW1nIHtcbiAgICB0b3A6IDA7XG4gICAgdG9wOiBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtdG9wKTtcbiAgICB0b3A6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKTtcbiAgICBib3R0b206IEB3ZXVpR2FsbGVyeU9wckhlaWdodDtcbiAgICBib3R0b206IGNhbGMoQHdldWlHYWxsZXJ5T3BySGVpZ2h0IH5cIisgY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSlcIik7XG4gICAgYm90dG9tOiBjYWxjKEB3ZXVpR2FsbGVyeU9wckhlaWdodCB+XCIrIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKVwiKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG59XG4ud2V1aS1nYWxsZXJ5X19vcHIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy1ib3R0b206IGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xuICAgIHBhZGRpbmctYm90dG9tOiBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBkMGQwZDsgIC8vIOWbuuWumuiJsuWAvFxuICAgIGNvbG9yOiB2YXIoLS13ZXVpLVdISVRFKTtcbiAgICBsaW5lLWhlaWdodDogQHdldWlHYWxsZXJ5T3BySGVpZ2h0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi53ZXVpLWdhbGxlcnlfX2RlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4iLCIvKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuQGltcG9ydCBcIi4uLy4uL2Jhc2UvZm5cIjtcblxuLndldWktY2VsbF9zd2l0Y2gge1xuICAgIHBhZGRpbmctdG9wOiAoQHdldWlDZWxsSGVpZ2h0IC0gQHdldWlTd2l0Y2hIZWlnaHQpIC8gMjtcbiAgICBwYWRkaW5nLWJvdHRvbTogKEB3ZXVpQ2VsbEhlaWdodCAtIEB3ZXVpU3dpdGNoSGVpZ2h0KSAvIDI7XG59XG4ud2V1aS1zd2l0Y2gge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG59XG4ud2V1aS1zd2l0Y2gsXG4ud2V1aS1zd2l0Y2gtY3BfX2JveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA1MnB4O1xuICAgIGhlaWdodDogQHdldWlTd2l0Y2hIZWlnaHQ7XG4gICAgYm9yZGVyOiAycHggc29saWQgQHdldWlMaW5lQ29sb3JMaWdodDtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMsIGJvcmRlciAwLjFzO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktQkctMyk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjM1cyBjdWJpYy1iZXppZXIoMC40NSwgMSwgMC40LCAxKTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IEB3ZXVpU3dpdGNoSGVpZ2h0IC0gNDtcbiAgICAgICAgaGVpZ2h0OiBAd2V1aVN3aXRjaEhlaWdodCAtIDQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IC8vIOWbuuWumuiJsuWAvFxuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXMgY3ViaWMtYmV6aWVyKDAuNCwgMC40LCAwLjI1LCAxLjM1KTtcbiAgICB9XG59XG4ud2V1aS1zd2l0Y2g6Y2hlY2tlZCxcbi53ZXVpLXN3aXRjaC1jcF9faW5wdXQ6Y2hlY2tlZCArIC53ZXVpLXN3aXRjaC1jcF9fYm94LFxuLndldWktc3dpdGNoLWNwX19pbnB1dFthcmlhLWNoZWNrZWQ9XCJ0cnVlXCJdICsgLndldWktc3dpdGNoLWNwX19ib3gge1xuICAgIGJvcmRlci1jb2xvcjogQHdldWlDb2xvclByaW1hcnk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHdldWlDb2xvclByaW1hcnk7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICAgIH1cbn1cblxuLy8g5YW85a655bCP56iL5bqPL0lFIEVkZ2XnmoTniYjmnKxcbi53ZXVpLXN3aXRjaC1jcF9faW5wdXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtOTk5OXB4O1xufVxuLndldWktc3dpdGNoLWNwX19ib3gge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbkBpbXBvcnQgXCIuLi8uLi9iYXNlL2ZuXCI7XG5cbi53ZXVpLXVwbG9hZGVyIHtcbiAgICBmbGV4OiAxO1xufVxuLndldWktdXBsb2FkZXJfX2hkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctYm90dG9tOiBAd2V1aUNlbGxHYXBWO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ud2V1aS11cGxvYWRlcl9fdGl0bGUge1xuICAgIGZsZXg6IDE7XG59XG4ud2V1aS11cGxvYWRlcl9faW5mbyB7XG4gICAgY29sb3I6IEB3ZXVpVGV4dENvbG9yVGlwcztcbn1cblxuLndldWktdXBsb2FkZXJfX2JkIHtcbiAgICBtYXJnaW4tYm90dG9tOiBAd2V1aUNlbGxHYXBIIC0gKEB3ZXVpQ2VsbEdhcFYgKyBAd2V1aVVwbG9hZGVyRmlsZVNwYWNpbmcpO1xuICAgIG1hcmdpbi1yaWdodDogLUB3ZXVpVXBsb2FkZXJGaWxlU3BhY2luZztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLndldWktdXBsb2FkZXJfX2ZpbGVzIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuLndldWktdXBsb2FkZXJfX2ZpbGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogQHdldWlVcGxvYWRlckZpbGVTcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IEB3ZXVpVXBsb2FkZXJGaWxlU3BhY2luZztcbiAgICB3aWR0aDogQHdldWlVcGxvYWRlclNpemU7XG4gICAgaGVpZ2h0OiBAd2V1aVVwbG9hZGVyU2l6ZTtcbiAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuLndldWktdXBsb2FkZXJfX2ZpbGVfc3RhdHVzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgLy8g5Zu65a6a6Imy5YC8XG4gICAgfVxuICAgIC53ZXVpLXVwbG9hZGVyX19maWxlLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG4ud2V1aS11cGxvYWRlcl9fZmlsZS1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgY29sb3I6IHZhcigtLXdldWktV0hJVEUpO1xuICAgIC53ZXVpLWljb24td2FybiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG59XG4ud2V1aS11cGxvYWRlcl9faW5wdXQtYm94IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXJpZ2h0OiBAd2V1aVVwbG9hZGVyRmlsZVNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogQHdldWlVcGxvYWRlckZpbGVTcGFjaW5nO1xuICAgIHdpZHRoOiBAd2V1aVVwbG9hZGVyU2l6ZTtcbiAgICBoZWlnaHQ6IEB3ZXVpVXBsb2FkZXJTaXplO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcbiAgICAuZGFyayh7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZTJlMmU7XG4gICAgfSk7XG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTNhM2EzO1xuICAgICAgICAuZGFyayh7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogQHdldWlVcGxvYWRlckJvcmRlcldpZHRoICsgMTtcbiAgICAgICAgaGVpZ2h0OiBAd2V1aVVwbG9hZGVyU2l6ZSAvIDM7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogQHdldWlVcGxvYWRlclNpemUgLyAzO1xuICAgICAgICBoZWlnaHQ6IEB3ZXVpVXBsb2FkZXJCb3JkZXJXaWR0aCArIDE7XG4gICAgfVxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICB9XG4gICAgfVxufVxuLndldWktdXBsb2FkZXJfX2lucHV0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICAuc2V0VGFwQ29sb3IoKTtcbn1cbiIsIi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5AaW1wb3J0IFwiLi4vLi4vYmFzZS9mblwiO1xuQGltcG9ydCBcIi4uL3dldWktYnV0dG9uL3dldWktYnV0dG9uXCI7XG5cbmF7XG4gIC53ZXVpLW1zZ19fZGVzYyAmLFxuICAud2V1aS1tc2dfX2Rlc2MtcHJpbWFyeSAmLFxuICAud2V1aS1tc2dfX3RpcHMgJntcbiAgICBjb2xvcjogQHdldWlMaW5rQ29sb3JEZWZhdWx0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cbn1cbi53ZXVpLW1zZyB7XG4gICAgcGFkZGluZy10b3A6IEB3ZXVpTXNnUGFkZGluZ1RvcDtcbiAgICBwYWRkaW5nOiBjYWxjKEB3ZXVpTXNnUGFkZGluZ1RvcCB+XCIrIGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC10b3ApXCIpIGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1yaWdodCkgY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkgY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xuICAgIHBhZGRpbmc6IGNhbGMoQHdldWlNc2dQYWRkaW5nVG9wIH5cIisgZW52KHNhZmUtYXJlYS1pbnNldC10b3ApXCIpIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2V1aS1CRy0yKTtcbn1cbi53ZXVpLW1zZ19faWNvbi1hcmVhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xufVxuLndldWktbXNnX190ZXh0LWFyZWEge1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgcGFkZGluZzogMCAzMnB4O1xuICAgIGZsZXg6IDE7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAuaHlwaGVucztcbiAgICAmOmZpcnN0LWNoaWxkIHsgcGFkZGluZy10b3A6IDk2cHg7IH1cbn1cbi53ZXVpLW1zZ19fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IEB3ZXVpTXNnVGl0bGVHYXA7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgY29sb3I6IEB3ZXVpVGV4dENvbG9yVGl0bGU7XG59XG4ud2V1aS1tc2dfX2Rlc2Mge1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBmb250LXdlaWdodDo0MDA7XG4gICAgY29sb3I6IEB3ZXVpVGV4dENvbG9yVGl0bGU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cbi53ZXVpLW1zZ19fZGVzYy1wcmltYXJ5IHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6IEB3ZXVpVGV4dENvbG9yRGVzYztcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuLndldWktbXNnX19jdXN0b20tYXJlYXtcbiAgdGV4dC1hbGlnbjpsZWZ0O1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGh5cGhlbnM6YXV0bztcbiAgbWFyZ2luLWJvdHRvbToxNnB4O1xuICAud2V1aS1tc2dfX3RpdGxlICsgJntcbiAgICBtYXJnaW4tdG9wOjQ4cHg7XG4gIH1cbiAgLndldWktbXNnX19kZXNjICsgJixcbiAgLndldWktbXNnX19kZXNjLXByaW1hcnkgKyAme1xuICAgIG1hcmdpbi10b3A6NDBweDtcbiAgfVxuICAud2V1aS1jZWxsc19fZ3JvdXBfZm9ybXtcbiAgICAud2V1aS1jZWxsc3tcbiAgICAgICY6YmVmb3JlLCY6YWZ0ZXJ7XG4gICAgICAgIGxlZnQ6MDtcbiAgICAgICAgcmlnaHQ6MDtcbiAgICAgIH1cbiAgICB9XG4gICAgLndldWktY2VsbHtcbiAgICAgIHBhZGRpbmctbGVmdDowO1xuICAgICAgcGFkZGluZy1yaWdodDowO1xuICAgICAgJjpiZWZvcmV7XG4gICAgICAgIGxlZnQ6MDtcbiAgICAgICAgcmlnaHQ6MDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi53ZXVpLW1zZ19fb3ByLWFyZWEge1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgLndldWktYnRuLWFyZWEgeyBtYXJnaW46IDA7IH1cbiAgICAud2V1aS1idG4gKyAud2V1aS1idG4geyBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gICAgJjpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogOTZweDsgfVxuICAgICYgKyAud2V1aS1tc2dfX2V4dHJhLWFyZWEge1xuICAgICAgICBtYXJnaW4tdG9wOiA0OHB4O1xuICAgIH1cbn1cbi53ZXVpLW1zZ19fdGlwcy1hcmVhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIHBhZGRpbmc6IDAgNDBweDtcbiAgICAuaHlwaGVucztcbiAgICAud2V1aS1tc2dfX29wci1hcmVhICsgJiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDY0cHg7XG4gICAgfVxufVxuLndldWktbXNnX190aXBzIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6IEB3ZXVpVGV4dENvbG9yRGVzYztcbn1cbi53ZXVpLW1zZ19fZXh0cmEtYXJlYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6IEB3ZXVpVGV4dENvbG9yRGVzYztcbiAgICBhLFxuICAgIG5hdmlnYXRvciB7XG4gICAgICAgIGNvbG9yOiBAd2V1aUxpbmtDb2xvckRlZmF1bHQ7XG4gICAgfVxuICAgIG5hdmlnYXRvciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG59XG5cbi8vIOmDqOWIhuWcuuaZr+mcgOimgeWOu+aOieWktOmDqOmXtOi3nVxuLndldWktbXNnX2FsaWduLXRvcHtcbiAgLndldWktbXNnX190ZXh0LWFyZWF7XG4gICAgJjpmaXJzdC1jaGlsZHtwYWRkaW5nLXRvcDowO31cbiAgfVxufVxuIiwiLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbkBpbXBvcnQgXCIuLi8uLi9iYXNlL2ZuXCI7XG5cbi53ZXVpLWNlbGxzX19ncm91cHt9XG4ud2V1aS1jZWxsc19fZ3JvdXBfZm9ybSB7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgLndldWktY2VsbHNfX3RpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud2V1aS1jZWxsc19fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMzJweDtcbiAgICB9XG4gIFxuXG4gICAgLndldWktY2VsbHMsXG4gICAgLndldWktY2VsbCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGxlZnQ6IDMycHg7XG4gICAgICAgICAgICByaWdodDogMzJweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAud2V1aS1jZWxsc19jaGVja2JveCB7XG4gICAgICAgIC53ZXVpLWNoZWNrX19sYWJlbCB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7IGxlZnQ6IDcycHg7IH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAud2V1aS1jZWxscyB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgbGVmdDogMzJweDtcbiAgICAgICAgICAgIHJpZ2h0OiAzMnB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC53ZXVpLWNlbGwge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDMycHg7XG4gICAgICAgICY6bm90KC53ZXVpLWNlbGxfbGluaykge1xuICAgICAgICAgICAgY29sb3I6IEB3ZXVpVGV4dENvbG9yVGl0bGU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLndldWktY2VsbF9faGQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgIH1cbiAgICAud2V1aS1jZWxsX19mdCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICB9XG4gICAgLndldWktY2VsbF93YXJuIHtcbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgY29sb3I6IEB3ZXVpQ29sb3JXYXJuO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAud2V1aS1sYWJlbCB7XG4gICAgICAgIG1heC13aWR0aDogNWVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICB9XG5cblxuICAgIC53ZXVpLWNlbGxzX190aXBzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDMycHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTIpO1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLndldWktY2VsbHNfX3RpcHNfd2FybntcbiAgICAgICAgY29sb3I6IHZhcigtLXdldWktUkVEKTtcbiAgICB9XG5cblxuICAgIC53ZXVpLWNlbGxfdmNvZGUge1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDMycHg7XG4gICAgfVxuICAgIC53ZXVpLXZjb2RlLWJ0biB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgcGFkZGluZzogMCAxMnB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgICAgICAgY29sb3I6IEB3ZXVpQnRuRGVmYXVsdEZvbnRDb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHdldWlCdG5EZWZhdWx0Qmc7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC53ZXVpLWNlbGxfc2VsZWN0IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgLndldWktc2VsZWN0IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMzJweDtcbiAgICAgICAgfVxuICAgICAgICAud2V1aS1jZWxsX19iZDphZnRlciB7XG4gICAgICAgICAgICByaWdodDogMzJweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAud2V1aS1jZWxsX3NlbGVjdC1iZWZvcmUge1xuICAgICAgICAud2V1aS1sYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7XG4gICAgICAgIH1cbiAgICAgICAgLndldWktc2VsZWN0IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBpbml0aWFsO1xuICAgICAgICB9XG4gICAgfVxuICAgIC53ZXVpLWNlbGxfc2VsZWN0LWFmdGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMnB4O1xuICAgICAgICAud2V1aS1zZWxlY3Qge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAud2V1aS1jZWxsX3N3aXRjaCB7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMzJweDtcbiAgICB9XG59XG4iLCIvKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuQGltcG9ydCBcIi4uLy4uL2Jhc2UvZm5cIjtcbkBpbXBvcnQgXCIuLi93ZXVpLWNlbGwvd2V1aS1jZWxsc19fZ3JvdXBcIjtcblxuLndldWktZm9ybSB7XG4gICAgcGFkZGluZzogNTZweCAwIDA7XG4gICAgcGFkZGluZzogY2FsYyg1NnB4IH5cIisgY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LXRvcClcIikgY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XG4gICAgcGFkZGluZzogY2FsYyg1NnB4IH5cIisgZW52KHNhZmUtYXJlYS1pbnNldC10b3ApXCIpIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13ZXVpLUJHLTIpO1xuXG4gICAgLndldWktZm9vdGVyLFxuICAgIC53ZXVpLWZvb3Rlcl9fbGluayB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG4gICAgLndldWktYWdyZWUge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cbi53ZXVpLWZvcm1fX3RleHQtYXJlYSB7XG4gICAgcGFkZGluZzogMCAzMnB4O1xuICAgIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTApO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi53ZXVpLWZvcm1fX2NvbnRyb2wtYXJlYSB7XG4gICAgZmxleDogMTtcbiAgICBtYXJnaW46IDQ4cHggMDtcbn1cbi53ZXVpLWZvcm1fX3RpcHMtYXJlYSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi53ZXVpLWZvcm1fX3RpcHMtYXJlYSxcbi53ZXVpLWZvcm1fX2V4dHJhLWFyZWEge1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLndldWktZm9ybV9fb3ByLWFyZWEge1xuICAgIG1hcmdpbi1ib3R0b206IDY0cHg7XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOTZweDtcbiAgICB9XG59XG4ud2V1aS1mb3JtX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzY7XG59XG4ud2V1aS1mb3JtX19kZXNjIHtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbn1cbi53ZXVpLWZvcm1fX3RpcHMge1xuICAgIGNvbG9yOiBAd2V1aVRleHRDb2xvckRlc2M7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGEsXG4gICAgbmF2aWdhdG9yIHtcbiAgICAgICAgY29sb3I6IEB3ZXVpTGlua0NvbG9yRGVmYXVsdDtcbiAgICB9XG4gICAgbmF2aWdhdG9yIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cbn1cbiIsIi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5AaW1wb3J0IFwiLi4vLi4vYmFzZS9mblwiO1xuXG4ud2V1aS1hcnRpY2xlIHtcbiAgICBwYWRkaW5nOiAyNHB4IDE2cHg7XG4gICAgcGFkZGluZzogMjRweCBjYWxjKDE2cHggflwiKyBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtcmlnaHQpXCIpIGNhbGMoMjRweCB+XCIrIGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pXCIpIGNhbGMoMTZweCB+XCIrIGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1sZWZ0KVwiKTtcbiAgICBwYWRkaW5nOiAyNHB4IGNhbGMoMTZweCB+XCIrIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpXCIpIGNhbGMoMjRweCB+XCIrIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKVwiKSBjYWxjKDE2cHggflwiKyBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpXCIpO1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBjb2xvcjogdmFyKC0td2V1aS1GRy0wKTtcbiAgICAuaHlwaGVucztcbiAgICBzZWN0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gICAgfVxuICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjllbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB9XG4gICAgaDIge1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuMzRlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB9XG4gICAgaDMge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuMzRlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB9XG4gICAgKiB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIH1cbiAgICBwIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC44ZW07XG4gICAgfVxufVxuIiwiLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbkBpbXBvcnQgXCIuLi8uLi9iYXNlL2ZuXCI7XG5cbi53ZXVpLXRhYmJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNTAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEB3ZXVpQmdDb2xvclByaW1hcnk7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIC5zZXRUb3BMaW5lKEB3ZXVpTGluZUNvbG9yTGlnaHQpO1xuICAgIH1cbn1cblxuLndldWktdGFiYmFyX19pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4OiAxO1xuICAgIHBhZGRpbmc6IDhweCAwO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDhweCB+XCIrIGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pXCIpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDhweCB+XCIrIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKVwiKTtcbiAgICBmb250LXNpemU6IDA7XG4gICAgY29sb3I6IEB3ZXVpVGV4dENvbG9yRGVzYztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLnNldFRhcENvbG9yKCk7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7XG4gICAgfVxuXG4gICAgJi53ZXVpLWJhcl9faXRlbV9vbiB7XG4gICAgICAgIC53ZXVpLXRhYmJhcl9faWNvbixcbiAgICAgICAgLndldWktdGFiYmFyX19pY29uID4gaSxcbiAgICAgICAgLndldWktdGFiYmFyX19sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogQHdldWlDb2xvclByaW1hcnk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi53ZXVpLXRhYmJhcl9faWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBAd2V1aVRhYkJhckhlaWdodCAtIDgqMiAtIDEwKjEuNCAtIDI7XG4gICAgaGVpZ2h0OiBAd2V1aVRhYkJhckhlaWdodCAtIDgqMiAtIDEwKjEuNCAtIDI7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuXG5cbiAgICBpJixcbiAgICA+IGkge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGNvbG9yOiBAd2V1aVRleHRDb2xvckRlc2M7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG59XG5cbi53ZXVpLXRhYmJhcl9fbGFiZWwge1xuICAgIGNvbG9yOiBAd2V1aVRleHRDb2xvclRpdGxlO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xufVxuIiwiLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbkBpbXBvcnQgXCIuLi8uLi9iYXNlL2ZuXCI7XG5cbi53ZXVpLW5hdmJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNTAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktQkctMik7XG4gICAgcGFkZGluZy10b3A6IGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC10b3ApO1xuICAgIHBhZGRpbmctdG9wOiBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCk7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgLnNldEJvdHRvbUxpbmUoQHdldWlMaW5lQ29sb3JMaWdodCk7XG4gICAgfVxuXG4gICAgJiArIC53ZXVpLXRhYl9fcGFuZWwge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7XG4gICAgfVxufVxuXG4ud2V1aS1uYXZiYXJfX2l0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4OiAxO1xuICAgIHBhZGRpbmc6IDE2cHggMDtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygxNnB4IH5cIisgY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LXRvcClcIik7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoMTZweCB+XCIrIGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKVwiKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICAgIGxpbmUtaGVpZ2h0OiB1bml0KChAd2V1aU5hdkJhckhlaWdodCAtIDMyKSAvIDE3KTtcbiAgICAuc2V0VGFwQ29sb3IoKTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHdldWlCZ0NvbG9yQWN0aXZlO1xuICAgIH1cblxuICAgICYud2V1aS1iYXJfX2l0ZW1fb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2V1aUJnQ29sb3JBY3RpdmU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIC5zZXRSaWdodExpbmUoQHdldWlMaW5lQ29sb3JMaWdodCk7XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuQGltcG9ydCBcIi4uLy4uL2Jhc2UvZm5cIjtcbkBpbXBvcnQgXCJ3ZXVpLXRhYmJhclwiO1xuQGltcG9ydCBcIndldWktbmF2YmFyXCI7XG5cbi53ZXVpLXRhYiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ud2V1aS10YWJfX3BhbmVsIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZsZXg6IDE7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuLndldWktdGFiX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbkBpbXBvcnQgXCIuLi8uLi9iYXNlL2ZuXCI7XG5cbi53ZXVpLXByb2dyZXNzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi53ZXVpLXByb2dyZXNzX19iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEB3ZXVpUHJvZ3Jlc3NCZztcbiAgICBoZWlnaHQ6IEB3ZXVpUHJvZ3Jlc3NIZWlnaHQ7XG4gICAgZmxleDogMTtcbn1cblxuLndldWktcHJvZ3Jlc3NfX2lubmVyLWJhciB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEB3ZXVpUHJvZ3Jlc3NDb2xvcjtcbn1cblxuLndldWktcHJvZ3Jlc3NfX29wciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgZm9udC1zaXplOiAwO1xufVxuIiwiLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbkBpbXBvcnQgXCIuLi8uLi9iYXNlL2ZuXCI7XG5cblxuLndldWktcGFuZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktQkctMik7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIC5zZXRUb3BMaW5lKEB3ZXVpTGluZUNvbG9yTGlnaHQpO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgLnNldEJvdHRvbUxpbmUoQHdldWlMaW5lQ29sb3JMaWdodCk7XG4gICAgfVxufVxuXG4ud2V1aS1wYW5lbF9faGQge1xuICAgIHBhZGRpbmc6IDE2cHggMTZweCAxM3B4O1xuICAgIGNvbG9yOiBAd2V1aVRleHRDb2xvclRpdGxlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgLnNldEJvdHRvbUxpbmUoQHdldWlMaW5lQ29sb3JMaWdodCk7XG5cbiAgICAgICAgbGVmdDogMTVweDtcbiAgICB9XG59XG5cblxuXG5cbiIsIi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5AaW1wb3J0IFwiLi4vLi4vYmFzZS9mblwiO1xuXG4ud2V1aS1tZWRpYS1ib3gge1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgLnNldFRvcExpbmUoQHdldWlMaW5lQ29sb3JMaWdodCk7XG5cbiAgICAgICAgbGVmdDogMTZweDtcbiAgICB9XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhJiB7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAuc2V0VGFwQ29sb3IoKTtcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHdldWlCZ0NvbG9yQWN0aXZlO1xuICAgICAgICB9XG4gICAgfVxufVxuLndldWktbWVkaWEtYm94X190aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBjb2xvcjogQHdldWlUZXh0Q29sb3JUaXRsZTtcbiAgICAuZWxsaXBzaXMoKTtcbiAgICAuaHlwaGVucztcbn1cbi53ZXVpLW1lZGlhLWJveF9fZGVzYyB7XG4gICAgY29sb3I6IEB3ZXVpVGV4dENvbG9yVGlwcztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBwYWRkaW5nLXRvcDogNHB4O1xuICAgIC5lbGxpcHNpc0xuKDIpO1xuICAgIC5oeXBoZW5zO1xufVxuLndldWktbWVkaWEtYm94X19pbmZvIHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiBAd2V1aVRleHRDb2xvclRpcHM7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4ud2V1aS1tZWRpYS1ib3hfX2luZm9fX21ldGEge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcbn1cbi53ZXVpLW1lZGlhLWJveF9faW5mb19fbWV0YV9leHRyYSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBAd2V1aVRleHRDb2xvclRpcHM7XG59XG4ud2V1aS1tZWRpYS1ib3hfYXBwbXNnIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLndldWktbWVkaWEtYm94X19oZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgLndldWktbWVkaWEtYm94X190aHVtYiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cbiAgICAud2V1aS1tZWRpYS1ib3hfX2JkIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbn1cbi53ZXVpLW1lZGlhLWJveF9zbWFsbC1hcHBtc2cge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLndldWktY2VsbHMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbkBpbXBvcnQgXCIuLi8uLi9iYXNlL2ZuXCI7XG5cbi53ZXVpLWdyaWRzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgLnNldFRvcExpbmUoQHdldWlHcmlkQm9yZGVyQ29sb3IpO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgLnNldExlZnRMaW5lKEB3ZXVpR3JpZEJvcmRlckNvbG9yKTtcbiAgICB9XG59XG5cbi53ZXVpLWdyaWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XG4gICAgd2lkdGg6IDEwMCUgLyBAd2V1aUdyaWRDb2x1bW5Db3VudDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICAuc2V0UmlnaHRMaW5lKEB3ZXVpR3JpZEJvcmRlckNvbG9yKTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIC5zZXRCb3R0b21MaW5lKEB3ZXVpR3JpZEJvcmRlckNvbG9yKTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEB3ZXVpQmdDb2xvckFjdGl2ZTtcbiAgICB9XG59XG5cbi53ZXVpLWdyaWRfX2ljb24ge1xuICAgIHdpZHRoOiBAd2V1aUdyaWRJY29uU2l6ZTtcbiAgICBoZWlnaHQ6IEB3ZXVpR3JpZEljb25TaXplO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJiArIC53ZXVpLWdyaWRfX2xhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIH1cbn1cblxuLndldWktZ3JpZF9fbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogQHdldWlUZXh0Q29sb3JUaXRsZTtcbiAgICBmb250LXNpemU6IEB3ZXVpR3JpZEZvbnRTaXplO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiIsIi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5AaW1wb3J0IFwiLi4vLi4vYmFzZS9mblwiO1xuXG4ud2V1aS1mb290ZXIge1xuICAgIGNvbG9yOiBAd2V1aVRleHRDb2xvclRpcHM7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGEsXG4gICAgbmF2aWdhdG9yIHtcbiAgICAgICAgY29sb3I6IEB3ZXVpTGlua0NvbG9yRGVmYXVsdDtcbiAgICB9XG4gICAgbmF2aWdhdG9yIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cbn1cbi53ZXVpLWZvb3Rlcl9maXhlZC1ib3R0b20ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxNnB4IH5cIisgY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSlcIik7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoMTZweCB+XCIrIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKVwiKTtcbiAgICBsZWZ0OiBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XG4gICAgbGVmdDogZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtcbiAgICByaWdodDogY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KTtcbiAgICByaWdodDogZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7XG59XG4ud2V1aS1mb290ZXJfX2xpbmtzIHtcbiAgICBmb250LXNpemU6IDA7XG59XG4ud2V1aS1mb290ZXJfX2xpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIG1hcmdpbjogMCA4cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIC5zZXRMZWZ0TGluZSgpO1xuXG4gICAgICAgIGxlZnQ6IC04cHg7XG4gICAgICAgIHRvcDogMC4zNmVtO1xuICAgICAgICBib3R0b206IDAuMzZlbTtcbiAgICB9XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4ud2V1aS1mb290ZXJfX3RleHQge1xuICAgIHBhZGRpbmc6IDAgMTZweDtcbiAgICBmb250LXNpemU6IDEycHg7XG59XG4iLCIvKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuQGltcG9ydCBcIi4uLy4uL2Jhc2UvZm5cIjtcblxuLndldWktZmxleCB7XG4gICAgZGlzcGxheTogZmxleDtcbn1cbi53ZXVpLWZsZXhfX2l0ZW0ge1xuICAgIGZsZXg6IDE7XG59XG4iLCIvKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuQGltcG9ydCBcIi4uLy4uL2Jhc2UvZm5cIjtcblxuLndldWktZGlhbG9nIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTAwMDtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAxNnB4O1xuICAgIHJpZ2h0OiAxNnB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEB3ZXVpRGlhbG9nQmFja2dyb3VuZENvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogOTAlO1xufVxuLndldWktZGlhbG9nX19oZCB7XG4gICAgcGFkZGluZzogMzJweCBAd2V1aURpYWxvZ0dhcFdpZHRoIDE2cHg7XG59XG4ud2V1aS1kaWFsb2dfX3RpdGxlIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xufVxuLndldWktZGlhbG9nX19iZCB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgcGFkZGluZzogMCBAd2V1aURpYWxvZ0dhcFdpZHRoO1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgLmh5cGhlbnM7XG5cbiAgICBjb2xvcjogQHdldWlUZXh0Q29sb3JEZXNjO1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICAgICBwYWRkaW5nOiAzMnB4IEB3ZXVpRGlhbG9nR2FwV2lkdGggMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6IEB3ZXVpVGV4dENvbG9yVGl0bGU7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG59XG4ud2V1aS1kaWFsb2dfX2Z0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDU2cHg7XG4gICAgbWluLWhlaWdodDogNTZweDtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIC5zZXRUb3BMaW5lKEB3ZXVpRGlhbG9nTGluZUNvbG9yKTtcbiAgICB9XG59XG4ud2V1aS1kaWFsb2dfX2J0biB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogMTtcbiAgICBjb2xvcjogQHdldWlEaWFsb2dMaW5rQ29sb3I7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgLnNldFRhcENvbG9yKCk7XG4gICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2V1aURpYWxvZ0xpbmtBY3RpdmVCYztcbiAgICB9XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAuc2V0TGVmdExpbmUoQHdldWlEaWFsb2dMaW5lQ29sb3IpO1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuLndldWktZGlhbG9nX19idG5fZGVmYXVsdCB7XG4gICAgY29sb3I6IHZhcigtLXdldWktRkctSEFMRik7XG59XG5cbi53ZXVpLXNraW5fYW5kcm9pZCB7XG4gICAgLndldWktZGlhbG9nIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMzBweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICB9XG4gICAgLndldWktZGlhbG9nX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB9XG4gICAgLndldWktZGlhbG9nX19oZCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIC53ZXVpLWRpYWxvZ19fYmQge1xuICAgICAgICBjb2xvcjogQHdldWlUZXh0Q29sb3JEZXNjO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGNvbG9yOiBAd2V1aVRleHRDb2xvclRpdGxlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC53ZXVpLWRpYWxvZ19fZnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICAgICBwYWRkaW5nOiAwIEB3ZXVpRGlhbG9nR2FwV2lkdGggMTZweDtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIC53ZXVpLWRpYWxvZ19fYnRuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBwYWRkaW5nOiAwIDAuOGVtO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTAuOGVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIC53ZXVpLWRpYWxvZ19fYnRuX2RlZmF1bHQge1xuICAgICAgICBjb2xvcjogdmFyKC0td2V1aS1GRy1IQUxGKTtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM1MnB4KSB7XG4gICAgLndldWktZGlhbG9nIHtcbiAgICAgICAgd2lkdGg6IDMyMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG59XG4iLCIvKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuQGltcG9ydCBcIi4uLy4uL2Jhc2UvZm5cIjtcblxuLndldWktaGFsZi1zY3JlZW4tZGlhbG9nIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWF4LWhlaWdodDogNzUlO1xuICAgIHotaW5kZXg6IDUwMDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13ZXVpLUJHLTIpO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEycHg7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEycHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwIDI0cHg7XG4gICAgcGFkZGluZzogMCBjYWxjKDI0cHggflwiKyBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtcmlnaHQpXCIpIGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pIGNhbGMoMjRweCB+XCIrIGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1sZWZ0KVwiKTtcbiAgICBwYWRkaW5nOiAwIGNhbGMoMjRweCB+XCIrIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpXCIpIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSBjYWxjKDI0cHggflwiKyBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpXCIpO1xuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNTU4cHgpIHtcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICB9XG59XG4ud2V1aS1oYWxmLXNjcmVlbi1kaWFsb2dfX2hkIHtcbiAgICBmb250LXNpemU6IDhweDtcbiAgICBoZWlnaHQ6IDhlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAud2V1aS1pY29uLWJ0biB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICY6YWN0aXZlIHsgb3BhY2l0eTogMC41OyB9XG4gICAgfVxufVxuLndldWktaGFsZi1zY3JlZW4tZGlhbG9nX19oZF9fc2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04cHg7XG59XG4ud2V1aS1oYWxmLXNjcmVlbi1kaWFsb2dfX2hkX19tYWluIHtcbiAgICBmbGV4OiAxO1xuICAgIC53ZXVpLWhhbGYtc2NyZWVuLWRpYWxvZ19faGRfX3NpZGUgKyAmIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIDQwcHg7XG4gICAgfVxuICAgICYgKyAud2V1aS1oYWxmLXNjcmVlbi1kaWFsb2dfX2hkX19zaWRlIHtcbiAgICAgICAgcmlnaHQ6IC04cHg7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIC53ZXVpLWljb24tYnRuIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuLndldWktaGFsZi1zY3JlZW4tZGlhbG9nX190aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6IHZhcigtLXdldWktRkctMCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDE1cHg7XG59XG4ud2V1aS1oYWxmLXNjcmVlbi1kaWFsb2dfX3N1YnRpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogdmFyKC0td2V1aS1GRy0xKTtcbiAgICBmb250LXNpemU6IDEwcHg7XG59XG5cbi53ZXVpLWhhbGYtc2NyZWVuLWRpYWxvZ19fYmQge1xuICAgIC5oeXBoZW5zKCk7XG5cbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiB2YXIoLS13ZXVpLUZHLTApO1xufVxuLndldWktaGFsZi1zY3JlZW4tZGlhbG9nX19kZXNjIHtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogdmFyKC0td2V1aS1GRy0wKTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xufVxuLndldWktaGFsZi1zY3JlZW4tZGlhbG9nX190aXBzIHtcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6IHZhcigtLXdldWktRkctMik7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cbi53ZXVpLWhhbGYtc2NyZWVuLWRpYWxvZ19fZnQge1xuICAgIHBhZGRpbmc6IDAgMjRweCAzMnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAud2V1aS1idG46bnRoLWxhc3QtY2hpbGQobisyKSxcbiAgICAud2V1aS1idG46bnRoLWxhc3QtY2hpbGQobisyKSArIC53ZXVpLWJ0biB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgbWFyZ2luOiAwIDhweDtcbiAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgIH1cbn1cblxuLndldWktaWNvbi1idG4ge1xuICAgIG91dGxpbmU6IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLXdldWktRkctMCk7XG4gICAgZm9udC1zaXplOiAwO1xufVxuLndldWktaWNvbi1tb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgbWFzazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCclM0UgICUzQ3BhdGggZmlsbC1vcGFjaXR5PScuOScgZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNNSAxMC4yNWExLjc1IDEuNzUgMCAxIDEgMCAzLjUgMS43NSAxLjc1IDAgMCAxIDAtMy41em03IDBhMS43NSAxLjc1IDAgMSAxIDAgMy41IDEuNzUgMS43NSAwIDAgMSAwLTMuNXptNyAwYTEuNzUgMS43NSAwIDEgMSAwIDMuNSAxLjc1IDEuNzUgMCAwIDEgMC0zLjV6Jy8lM0UlM0Mvc3ZnJTNFXCIpIG5vLXJlcGVhdCA1MCUgNTAlO1xuICAgIC13ZWJraXQtbWFzay1zaXplOiBjb3ZlcjtcbiAgICBtYXNrLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBjb2xvcjogQHdldWlUZXh0Q29sb3JUaXRsZTtcbn1cbi53ZXVpLWljb24tYnRuX2dvYmFjayB7XG4gICAgY29sb3I6IEB3ZXVpVGV4dENvbG9yVGl0bGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIG1hc2s6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjEyJTIyJTIwaGVpZ2h0JTNEJTIyMjQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTEwJTIwMTkuNDM4TDguOTU1JTIwMjAuNWwtNy42NjYtNy43OWExLjAyJTIwMS4wMiUyMDAlMjAwMTAtMS40Mkw4Ljk1NSUyMDMuNSUyMDEwJTIwNC41NjMlMjAyLjY4MiUyMDEyJTIwMTAlMjAxOS40Mzh6JTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKSBuby1yZXBlYXQgNTAlIDUwJTtcbiAgICAtd2Via2l0LW1hc2stc2l6ZTogY292ZXI7XG4gICAgbWFzay1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG4ud2V1aS1pY29uLWJ0bl9jbG9zZSB7XG4gICAgY29sb3I6IEB3ZXVpVGV4dENvbG9yVGl0bGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIG1hc2s6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMjQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTEyLjI1JTIwMTAuNjkzTDYuMDU3JTIwNC41JTIwNSUyMDUuNTU3bDYuMTkzJTIwNi4xOTNMNSUyMDE3Ljk0MyUyMDYuMDU3JTIwMTlsNi4xOTMtNi4xOTNMMTguNDQzJTIwMTlsMS4wNTctMS4wNTctNi4xOTMtNi4xOTNMMTkuNSUyMDUuNTU3JTIwMTguNDQzJTIwNC41eiUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMkYlM0UlM0MlMkZzdmclM0VcIikgbm8tcmVwZWF0IDUwJSA1MCU7XG4gICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvdmVyO1xuICAgIG1hc2stc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xufVxuIiwiLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbkBpbXBvcnQgXCIuLi8uLi9iYXNlL2ZuXCI7XG5cbi53ZXVpLXRvYXN0IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTAwMDtcbiAgICB3aWR0aDogMTM2cHg7XG4gICAgaGVpZ2h0OiAxMzZweDtcbiAgICB0b3A6IDQwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13ZXVpLUJHLTQpO1xuICAgIGJveC1zaXppbmc6Ym9yZGVyLWJveDtcbiAgICBsaW5lLWhlaWdodDoxLjQ7XG59XG4ud2V1aS10b2FzdF90ZXh0IHtcbiAgaGVpZ2h0OmF1dG87XG4gIG1pbi13aWR0aDoxNTJweDtcbiAgbWF4LXdpZHRoOjIxNnB4O1xuICBwYWRkaW5nOjEycHggMDtcbiAgLndldWktdG9hc3RfX2NvbnRlbnQge1xuICAgIGZvbnQtc2l6ZToxNHB4O1xuICB9XG59XG4ud2V1aS1pY29uX3RvYXN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbToxNnB4O1xuICAgICYud2V1aS1pY29uLXN1Y2Nlc3Mtbm8tY2lyY2xlIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICB9XG4gICAgJi53ZXVpLWljb24td2FybiB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gICAgfVxuICAgICYud2V1aS1sb2FkaW5nIHtcbiAgICAgIHdpZHRoOjM2cHg7XG4gICAgICBoZWlnaHQ6MzZweDtcbiAgICB9XG4gICAgJi53ZXVpLXByaW1hcnktbG9hZGluZyB7XG4gICAgICBmb250LXNpemU6NDBweDtcbiAgICAgIGNvbG9yOiNFREVERUQ7XG4gICAgICAmOmJlZm9yZXtcbiAgICAgICAgYm9yZGVyLXdpZHRoOjRweCAwIDRweCA0cHg7XG4gICAgICB9XG4gICAgICAmOmFmdGVye1xuICAgICAgICBib3JkZXItd2lkdGg6NHB4IDRweCA0cHggMDtcbiAgICAgIH1cbiAgICAgIC53ZXVpLXByaW1hcnktbG9hZGluZ19fZG90e1xuICAgICAgICB3aWR0aDo0cHg7XG4gICAgICAgIGhlaWdodDo0cHg7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOjRweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6NHB4O1xuICAgICAgfVxuICAgIH1cbn1cblxuLndldWktdG9hc3RfX2NvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBwYWRkaW5nOjAgMTJweDtcbiAgICAuaHlwaGVucztcbn1cblxuLy8g5aSa6KGM5paH5pys5Zy65pmvXG4ud2V1aS10b2FzdF90ZXh0LW1vcmV7XG4gIC53ZXVpLWljb25fdG9hc3R7XG4gICAgbWFyZ2luLWJvdHRvbToxMnB4O1xuICB9XG4gIC53ZXVpLXRvYXN0X19jb250ZW50e1xuICAgIGZvbnQtc2l6ZToxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OjEuNjtcbiAgfVxufVxuXG4iLCIvKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuQGltcG9ydCBcIi4uLy4uL2Jhc2UvZm5cIjtcblxuLndldWktbWFzayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cblxuLndldWktbWFza190cmFuc3BhcmVudCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xufVxuIiwiLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbkBpbXBvcnQgXCIuLi8uLi9iYXNlL2ZuXCI7XG5Ad2V1aUFjdGlvblNoZWV0QW5kcm9pZEJvcmRlclJhZGl1czogMnB4O1xuXG4ud2V1aS1hY3Rpb25zaGVldCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwMCUpO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB6LWluZGV4OiA1MDAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEB3ZXVpQmdDb2xvclByaW1hcnk7XG4gICAgLy9zbGlkZSB1cCBhbmltYXRpb25cbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMnB4O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMnB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4ud2V1aS1hY3Rpb25zaGVldF9fdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDU2cHg7XG4gICAgcGFkZGluZzogMCAyNHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiBAd2V1aVRleHRDb2xvckRlc2M7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS13ZXVpLUJHLTIpO1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgLnNldEJvdHRvbUxpbmUoQHdldWlDZWxsQm9yZGVyQ29sb3IpO1xuICAgIH1cbiAgICAud2V1aS1hY3Rpb25zaGVldF9fdGl0bGUtdGV4dCB7XG4gICAgICAgIC5lbGxpcHNpc0xuKDIpO1xuICAgIH1cbn1cbi53ZXVpLWFjdGlvbnNoZWV0X19tZW51IHtcbiAgICBjb2xvcjogQHdldWlUZXh0Q29sb3JUaXRsZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13ZXVpLUJHLTIpO1xufVxuLndldWktYWN0aW9uc2hlZXRfX2FjdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktQkctMik7XG4gICAgcGFkZGluZy1ib3R0b206IGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xuICAgIHBhZGRpbmctYm90dG9tOiBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7XG59XG4ud2V1aS1hY3Rpb25zaGVldF9fY2VsbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IEB3ZXVpQ2VsbEdhcFY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBsaW5lLWhlaWdodDogQHdldWlDZWxsTGluZUhlaWdodDtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIC5zZXRUb3BMaW5lKEB3ZXVpQ2VsbEJvcmRlckNvbG9yKTtcbiAgICB9XG4gICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2V1aUJnQ29sb3JBY3RpdmU7XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuLndldWktYWN0aW9uc2hlZXRfX2NlbGxfd2FybiB7XG4gICAgY29sb3I6IEB3ZXVpQ29sb3JXYXJuO1xufVxuXG5cbi8vYW5kcm9pZCBhY3Rpb25TaGVldFxuLndldWktc2tpbl9hbmRyb2lkIHtcbiAgICAud2V1aS1hY3Rpb25zaGVldCB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgLy9wYWRkaW5nOiAwIDQwcHg7XG4gICAgICAgIHdpZHRoOiAyNzRweDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgLy9zbGlkZSB1cCBhbmltYXRpb25cbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIH1cbiAgICAud2V1aS1hY3Rpb25zaGVldF9fYWN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLndldWktYWN0aW9uc2hlZXRfX21lbnUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBAd2V1aUFjdGlvblNoZWV0QW5kcm9pZEJvcmRlclJhZGl1cztcbiAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMzBweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICB9XG4gICAgLndldWktYWN0aW9uc2hlZXRfX2NlbGwge1xuICAgICAgICBwYWRkaW5nOiBAd2V1aUNlbGxHYXBWO1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBAd2V1aUNlbGxMaW5lSGVpZ2h0O1xuICAgICAgICBjb2xvcjogQHdldWlUZXh0Q29sb3JUaXRsZTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAd2V1aUFjdGlvblNoZWV0QW5kcm9pZEJvcmRlclJhZGl1cztcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAd2V1aUFjdGlvblNoZWV0QW5kcm9pZEJvcmRlclJhZGl1cztcbiAgICAgICAgfVxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogQHdldWlBY3Rpb25TaGVldEFuZHJvaWRCb3JkZXJSYWRpdXM7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogQHdldWlBY3Rpb25TaGVldEFuZHJvaWRCb3JkZXJSYWRpdXM7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vYWN0aW9uU2hlZXQgYW5pYW10aW9uXG4ud2V1aS1hY3Rpb25zaGVldF90b2dnbGUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xufVxuIiwiLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbkBpbXBvcnQgXCIuLi8uLi9iYXNlL2ZuXCI7XG5cbi53ZXVpLWxvYWRtb3JlIHtcbiAgICB3aWR0aDogNjUlO1xuICAgIG1hcmdpbjogMjBweCBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6MDtcblxuICAgIC53ZXVpLWxvYWRpbmcsXG4gICAgLndldWktcHJpbWFyeS1sb2FkaW5ne1xuICAgICAgbWFyZ2luLXJpZ2h0OjhweDtcbiAgICB9XG59XG4ud2V1aS1sb2FkbW9yZV9fdGlwcyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6IEB3ZXVpVGV4dENvbG9yVGl0bGU7XG59XG5cbi53ZXVpLWxvYWRtb3JlX2xpbmUge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBAd2V1aUxpbmVDb2xvckxpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDMycHg7XG4gICAgLndldWktbG9hZG1vcmVfX3RpcHMge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLTAuOWVtO1xuICAgICAgICBwYWRkaW5nOiAwIDAuNTVlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2V1aS1CRy0yKTtcbiAgICAgICAgY29sb3I6IEB3ZXVpVGV4dENvbG9yRGVzYztcbiAgICB9XG59XG4ud2V1aS1sb2FkbW9yZV9kb3Qge1xuICAgIC53ZXVpLWxvYWRtb3JlX190aXBzIHtcbiAgICAgICAgcGFkZGluZzogMCAwLjE2ZW07XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHdldWlMaW5lQ29sb3JMaWdodDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgICAgICAgICAgdG9wOiAtMC4xNmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbkBpbXBvcnQgXCIuLi8uLi9iYXNlL2ZuXCI7XG5cbi53ZXVpLWJhZGdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMC4xNWVtIDAuNGVtO1xuICAgIG1pbi13aWR0aDogOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHdldWlDb2xvcldhcm47XG4gICAgY29sb3I6ICNmZmY7IC8vIOWbuuWumuiJsuWAvFxuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLndldWktYmFkZ2VfZG90IHtcbiAgICBwYWRkaW5nOiAwLjRlbTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG4iLCIvKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuQGltcG9ydCBcIi4uLy4uL2Jhc2UvZm5cIjtcblxuLndldWktdG9wdGlwcyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIHRvcDogOHB4O1xuICAgIGxlZnQ6IDhweDtcbiAgICByaWdodDogOHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmY7IC8vIOWbuuWumuiJsuWAvFxuICAgIHotaW5kZXg6IDUwMDA7XG4gICAgLnRleHRfd3JhcCgpO1xufVxuLndldWktdG9wdGlwc193YXJuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2V1aUNvbG9yV2Fybjtcbn1cbiIsIi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5AaW1wb3J0IFwiLi4vLi4vYmFzZS9mblwiO1xuXG4ud2V1aS1saXN0LXRpcHN7XG4gIGxpc3Qtc3R5bGU6bm9uZTtcbiAgcGFkZGluZy10b3A6MjRweDtcbiAgcGFkZGluZy1ib3R0b206MjRweDtcbiAgbGluZS1oZWlnaHQ6MS40O1xuICBmb250LXNpemU6MTRweDtcbiAgY29sb3I6dmFyKC0td2V1aS1GRy0xKTtcblxuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgJjpiZWZvcmV7XG4gICAgY29udGVudDpcIlwiO1xuICAgIC5zZXRUb3BMaW5lKHZhcigtLXdldWktRkctMykpO1xuICB9XG4gICY6bGFzdC1jaGlsZHtcbiAgICBwYWRkaW5nLWJvdHRvbTowO1xuICB9XG59XG4ud2V1aS1saXN0LXRpcHNfX2l0ZW17XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6MTVweDtcbiAgbWFyZ2luOjE2cHggMDtcbiAgJjpiZWZvcmV7XG4gICAgY29udGVudDpcIlxcMjAyMlwiO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIGxlZnQ6MDtcbiAgICB0b3A6LS4xZW07XG4gIH1cbiAgJjpmaXJzdC1jaGlsZHtcbiAgICBtYXJnaW4tdG9wOjA7XG4gIH1cbiAgLndldWktZm9ybS1wcmV2aWV3X19saXN0ICsgLndldWktbGlzdC10aXBzID4gJntcbiAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgbWFyZ2luLXRvcDo2cHg7XG4gICAgfVxuICB9XG59XG5cbiIsIi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5Ad2V1aVNlYXJjaElucHV0SGVpZ2h0OjMycHg7XG5cbkBpbXBvcnQgXCIuLi8uLi9iYXNlL2ZuXCI7XG4ud2V1aS1zZWFyY2gtYmFyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2V1aUJnQ29sb3JEZWZhdWx0O1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICYud2V1aS1zZWFyY2gtYmFyX2ZvY3VzaW5nIHtcbiAgICAgICAgLndldWktc2VhcmNoLWJhcl9fY2FuY2VsLWJ0biB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICAud2V1aS1zZWFyY2gtYmFyX19sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndldWktaWNvbi1zZWFyY2gge1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgIH1cbn1cbi53ZXVpLXNlYXJjaC1iYXJfX2Zvcm0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktQkctMik7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuLndldWktc2VhcmNoLWJhcl9fYm94IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAyOHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgei1pbmRleDogMTtcbiAgICAud2V1aS1zZWFyY2gtYmFyX19pbnB1dCB7XG4gICAgICAgIHBhZGRpbmc6IDhweCAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiB1bml0KEB3ZXVpU2VhcmNoSW5wdXRIZWlnaHQgLSAxNnB4KS8xNGVtO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXQoQHdldWlTZWFyY2hJbnB1dEhlaWdodCAtIDE2cHgpLzE0ZW07XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY2FyZXQtY29sb3I6IEB3ZXVpQ29sb3JQcmltYXJ5O1xuICAgICAgICBjb2xvcjogQHdldWlUZXh0Q29sb3JUaXRsZTtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIC53ZXVpLWljb24tc2VhcmNoIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogOHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICAgIH1cbiAgICAud2V1aS1pY29uLWNsZWFyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xNnB4O1xuICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIG1hc2stc2l6ZTogMTZweDtcbiAgICB9XG59XG4ud2V1aS1zZWFyY2gtYmFyX19sYWJlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGNvbG9yOiBAd2V1aVRleHRDb2xvckRlc2M7XG4gICAgYmFja2dyb3VuZDogdmFyKC0td2V1aS1CRy0yKTtcbiAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICAgIC53ZXVpLWljb24tc2VhcmNoIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgfVxufVxuLndldWktc2VhcmNoLWJhcl9fY2FuY2VsLWJ0biB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIGNvbG9yOiBAd2V1aUxpbmtDb2xvckRlZmF1bHQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi53ZXVpLXNlYXJjaC1iYXJfX2lucHV0Om5vdCg6dmFsaWQpICsgLndldWktaWNvbi1jbGVhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLy/lubLmjolpbnB1dFtzZWFyY2hd6buY6K6k55qEY2xlYXIgYnV0dG9uXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbkBpbXBvcnQgXCIuLi8uLi9iYXNlL2ZuXCI7XG5cbkBwaWNrZXJJdGVtSGVpZ2h0OiA0OHB4O1xuLndldWktcGlja2VyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiA1MDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdldWktQkctMik7XG4gICAgcGFkZGluZy1ib3R0b206IGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xuICAgIHBhZGRpbmctYm90dG9tOiBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwMCUpO1xuICAgIC8vc2xpZGUgdXAgYW5pbWF0aW9uXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG59XG5cbi53ZXVpLXBpY2tlcl9faGQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICBwYWRkaW5nOiAxNnB4IGNhbGMoMTZweCB+XCIrIGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1yaWdodClcIikgMTZweCBjYWxjKDE2cHggflwiKyBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtbGVmdClcIik7XG4gICAgcGFkZGluZzogMTZweCBjYWxjKDE2cHggflwiKyBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KVwiKSAxNnB4IGNhbGMoMTZweCB+XCIrIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdClcIik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgLnNldEJvdHRvbUxpbmUoQHdldWlMaW5lQ29sb3JMaWdodCk7XG4gICAgfVxufVxuXG4ud2V1aS1waWNrZXJfX2JkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13ZXVpLUJHLTIpO1xuICAgIGhlaWdodDogMjQwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLndldWktcGlja2VyX19ncm91cCB7XG4gICAgZmxleDogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAud2V1aS1waWNrZXJfX2l0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgLndldWktcGlja2VyX19pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLndldWktcGlja2VyX19tYXNrIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHotaW5kZXg6IDM7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KSk7XG4gICAgLmRhcmsoe1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1LCAyNSwgMjUsIDAuOTUpLCByZ2JhKDI1LCAyNSwgMjUsIDAuNikpLCBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyNSwgMjUsIDI1LCAwLjk1KSwgcmdiYSgyNSwgMjUsIDI1LCAwLjYpKTtcbiAgICB9KTtcbiAgICBcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AsIGJvdHRvbTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgOTJweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbn1cblxuLndldWktcGlja2VyX19pbmRpY2F0b3Ige1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNTZweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDkycHg7XG4gICAgei1pbmRleDogMztcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIC5zZXRUb3BMaW5lKEB3ZXVpTGluZUNvbG9yTGlnaHQpO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgLnNldEJvdHRvbUxpbmUoQHdldWlMaW5lQ29sb3JMaWdodCk7XG4gICAgfVxufVxuXG4ud2V1aS1waWNrZXJfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLndldWktcGlja2VyX19pdGVtIHtcbiAgICBoZWlnaHQ6IEBwaWNrZXJJdGVtSGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiBAcGlja2VySXRlbUhlaWdodDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IEB3ZXVpVGV4dENvbG9yVGl0bGU7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ud2V1aS1waWNrZXJfX2l0ZW1fZGlzYWJsZWQge1xuICAgIGNvbG9yOiBAd2V1aVRleHRDb2xvckRlc2M7XG59XG4iLCIvKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuQGltcG9ydCBcIi4uLy4uL2Jhc2UvZm5cIjtcblxuQGtleWZyYW1lcyBzbGlkZVVwIHtcbiAgICBmcm9tIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxufVxuXG4ud2V1aS1hbmltYXRlLXNsaWRlLXVwIHtcbiAgICBhbmltYXRpb246IHNsaWRlVXAgZWFzZSAwLjNzIGZvcndhcmRzO1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlRG93biB7XG4gICAgZnJvbSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIH1cbn1cblxuLndldWktYW5pbWF0ZS1zbGlkZS1kb3duIHtcbiAgICBhbmltYXRpb246IHNsaWRlRG93biBlYXNlIDAuM3MgZm9yd2FyZHM7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLndldWktYW5pbWF0ZS1mYWRlLWluIHtcbiAgICBhbmltYXRpb246IGZhZGVJbiBlYXNlIDAuM3MgZm9yd2FyZHM7XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbi53ZXVpLWFuaW1hdGUtZmFkZS1vdXQge1xuICAgIGFuaW1hdGlvbjogZmFkZU91dCBlYXNlIDAuM3MgZm9yd2FyZHM7XG59XG4iLCIvKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuQGltcG9ydCBcIi4uLy4uL2Jhc2UvZm5cIjtcblxuLndldWktYWdyZWUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDhweCAxNXB4IDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcblxuICAgIGEsXG4gICAgbmF2aWdhdG9yIHtcbiAgICAgICAgY29sb3I6IEB3ZXVpTGlua0NvbG9yRGVmYXVsdDtcbiAgICB9XG4gICAgbmF2aWdhdG9yIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cbn1cbi53ZXVpLWFncmVlX190ZXh0IHtcbiAgICBjb2xvcjogQHdldWlUZXh0Q29sb3JEZXNjO1xuICAgIG1hcmdpbi1sZWZ0OiAycHg7XG59XG4ud2V1aS1hZ3JlZV9fY2hlY2tib3gge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlcjogMDtcbiAgICBvdXRsaW5lOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIG1hc2stcG9zaXRpb246IDAgMDtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hc2stc2l6ZTogMTAwJTtcbiAgICBtYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTAwMCUyMiUyMGhlaWdodCUzRCUyMjEwMDAlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTUwMCUyMDkxNi42NjdDMjY5Ljg4MSUyMDkxNi42NjclMjA4My4zMzMlMjA3MzAuMTE5JTIwODMuMzMzJTIwNTAwJTIwODMuMzMzJTIwMjY5Ljg4MSUyMDI2OS44ODElMjA4My4zMzMlMjA1MDAlMjA4My4zMzNjMjMwLjExOSUyMDAlMjA0MTYuNjY3JTIwMTg2LjU0OCUyMDQxNi42NjclMjA0MTYuNjY3JTIwMCUyMDIzMC4xMTktMTg2LjU0OCUyMDQxNi42NjctNDE2LjY2NyUyMDQxNi42Njd6bTAtNTBjMjAyLjUwNCUyMDAlMjAzNjYuNjY3LTE2NC4xNjMlMjAzNjYuNjY3LTM2Ni42NjclMjAwLTIwMi41MDQtMTY0LjE2My0zNjYuNjY3LTM2Ni42NjctMzY2LjY2Ny0yMDIuNTA0JTIwMC0zNjYuNjY3JTIwMTY0LjE2My0zNjYuNjY3JTIwMzY2LjY2NyUyMDAlMjAyMDIuNTA0JTIwMTY0LjE2MyUyMDM2Ni42NjclMjAzNjYuNjY3JTIwMzY2LjY2N3olMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTIwZmlsbC1vcGFjaXR5JTNEJTIyLjklMjIlMkYlM0UlM0MlMkZzdmclM0UpO1xuICAgIGNvbG9yOiBAd2V1aUxpbmVDb2xvckRhcms7XG4gICAgd2lkdGg6IDFlbTtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgbWFyZ2luLXRvcDogLTAuMmVtO1xufVxuLndldWktYWdyZWVfX2NoZWNrYm94LWNoZWNrIHsgLy8g5YW85a655bCP56iL5bqPXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC05OTk5cHg7XG59XG4ud2V1aS1hZ3JlZV9fY2hlY2tib3g6Y2hlY2tlZCxcbi53ZXVpLWFncmVlX19jaGVja2JveC1jaGVja1thcmlhLWNoZWNrZWQ9XCJ0cnVlXCJdICsgLndldWktYWdyZWVfX2NoZWNrYm94IHtcbiAgICBtYXNrLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIyNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTIlMjAyMkM2LjQ3NyUyMDIyJTIwMiUyMDE3LjUyMyUyMDIlMjAxMlM2LjQ3NyUyMDIlMjAxMiUyMDJzMTAlMjA0LjQ3NyUyMDEwJTIwMTAtNC40NzclMjAxMC0xMCUyMDEwem0tMS4xNzctNy44NmwtMi43NjUtMi43NjdMNyUyMDEyLjQzMWwzLjExOSUyMDMuMTIxYTElMjAxJTIwMCUyMDAwMS40MTQlMjAwbDUuOTUyLTUuOTUtMS4wNjItMS4wNjItNS42JTIwNS42eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRSk7XG4gICAgY29sb3I6IEB3ZXVpQ29sb3JQcmltYXJ5O1xufVxuLndldWktYWdyZWVfYW5pbWF0ZSB7XG4gICAgYW5pbWF0aW9uOiB3ZXVpQWdyZWUgMC4zcyAxO1xufVxuXG5Aa2V5ZnJhbWVzIHdldWlBZ3JlZSB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxuXG4gICAgMTYlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC04cHgpO1xuICAgIH1cblxuICAgIDI4JSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTZweCk7XG4gICAgfVxuXG4gICAgNDQlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cblxuICAgIDU5JSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTZweCk7XG4gICAgfVxuXG4gICAgNzMlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cblxuICAgIDgyJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNnB4KTtcbiAgICB9XG5cbiAgICA5NCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cbiIsIi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5AaW1wb3J0IFwiLi4vLi4vYmFzZS9mblwiO1xuXG4vLyDpu5jorqToibJcbi53ZXVpLXByaW1hcnktbG9hZGluZ3tcbiAgZm9udC1zaXplOjE2cHg7XG4gIC5zZXRDaXJjbGVMb2FkaW5nKCM2MDYwNjAsMWVtLDAuMTI1ZW0pO1xufVxuXG4vLyDot5/pmo/ns7vnu5/liIfmjaLnmoTlk4HniYzoibJcbi53ZXVpLXByaW1hcnktbG9hZGluZ19icmFuZHtcbiAgY29sb3I6dmFyKC0td2V1aS1CUkFORCk7XG59XG5cbi8vIOWbuuWumueZveiJsuWNiumAj+aYjlxuLndldWktcHJpbWFyeS1sb2FkaW5nX3RyYW5zcGFyZW50e1xuICBjb2xvcjojRURFREVEO1xufVxuXG5cbiIsIi8qXG4qIFRlbmNlbnQgaXMgcGxlYXNlZCB0byBzdXBwb3J0IHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgYnkgbWFraW5nIFdlVUkgYXZhaWxhYmxlLlxuKiBcbiogQ29weXJpZ2h0IChDKSAyMDE3IFRITCBBMjkgTGltaXRlZCwgYSBUZW5jZW50IGNvbXBhbnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4qIFxuKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Vcbiogd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4qIFxuKiAgICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4qIFxuKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzXG4qIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsXG4qIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG4uc2V0Q2lyY2xlTG9hZGluZyhAY29sb3I6Y3VycmVudENvbG9yLEBzaXplOjgwcHgsQHdpZGU6N3B4KXtcbiAgZGlzcGxheTppbmxpbmUtZmxleDtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIHdpZHRoOkBzaXplO1xuICBoZWlnaHQ6QHNpemU7XG4gIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbiAgY29sb3I6QGNvbG9yO1xuICBhbmltYXRpb246IGNpcmNsZUxvYWRpbmcgMXMgc3RlcHMoNjAsZW5kKSBpbmZpbml0ZTtcblxuICAmOmJlZm9yZSwmOmFmdGVye1xuICAgIGNvbnRlbnQ6XCJcIjtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIHdpZHRoOkBzaXplLzI7XG4gICAgaGVpZ2h0OkBzaXplO1xuICAgIGJveC1zaXppbmc6Ym9yZGVyLWJveDtcbiAgICBib3JkZXI6QHdpZGUgc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOmN1cnJlbnRDb2xvcjtcbiAgfVxuXG4gICY6YmVmb3Jle1xuICAgIGJvcmRlci1yaWdodC13aWR0aDowO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6QHNpemU7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czpAc2l6ZTtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLDAsMCwxKSA4JSwgcmdiYSgwLDAsMCwuMykgOTUlKTtcbiAgfVxuICAmOmFmdGVye1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOjA7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6QHNpemU7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6QHNpemU7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMCwwLDAsMCkgOCUgLCByZ2JhKDAsMCwwLC4zKSA5NSUpO1xuICB9XG4gICZfX2RvdHtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICBsZWZ0OjUwJTtcbiAgICBtYXJnaW4tbGVmdDotQHdpZGUvMjtcbiAgICB3aWR0aDpAd2lkZTtcbiAgICBoZWlnaHQ6QHdpZGU7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6QHdpZGU7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6QHdpZGU7XG4gICAgYmFja2dyb3VuZDpjdXJyZW50Q29sb3I7XG4gIH1cblxuICBAa2V5ZnJhbWVzIGNpcmNsZUxvYWRpbmcge1xuICAgIDAlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDM2MGRlZyk7XG4gICAgfVxuICB9XG59XG4iLCIvKlxuKiBUZW5jZW50IGlzIHBsZWFzZWQgdG8gc3VwcG9ydCB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IGJ5IG1ha2luZyBXZVVJIGF2YWlsYWJsZS5cbiogXG4qIENvcHlyaWdodCAoQykgMjAxNyBUSEwgQTI5IExpbWl0ZWQsIGEgVGVuY2VudCBjb21wYW55LiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuKiBcbiogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4qIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuKiBcbiogICAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuKiBcbiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpc1xuKiBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELFxuKiBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4qIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuQGltcG9ydCBcIi4uLy4uL2Jhc2UvZm5cIjtcbkBpbXBvcnQgXCIuL3dldWktcHJpbWFyeS1sb2FkaW5nXCI7XG5cbi53ZXVpLWxvYWRpbmcge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBhbmltYXRpb246IHdldWlMb2FkaW5nIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsICUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMjAnIGhlaWdodD0nMTIwJyB2aWV3Qm94PScwIDAgMTAwIDEwMCclM0UlM0NwYXRoIGZpbGw9J25vbmUnIGQ9J00wIDBoMTAwdjEwMEgweicvJTNFJTNDcmVjdCB3aWR0aD0nNycgaGVpZ2h0PScyMCcgeD0nNDYuNScgeT0nNDAnIGZpbGw9JyUyM0U5RTlFOScgcng9JzUnIHJ5PSc1JyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIC0zMCknLyUzRSUzQ3JlY3Qgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHg9JzQ2LjUnIHk9JzQwJyBmaWxsPSclMjM5ODk2OTcnIHJ4PSc1JyByeT0nNScgdHJhbnNmb3JtPSdyb3RhdGUoMzAgMTA1Ljk4IDY1KScvJTNFJTNDcmVjdCB3aWR0aD0nNycgaGVpZ2h0PScyMCcgeD0nNDYuNScgeT0nNDAnIGZpbGw9JyUyMzlCOTk5QScgcng9JzUnIHJ5PSc1JyB0cmFuc2Zvcm09J3JvdGF0ZSg2MCA3NS45OCA2NSknLyUzRSUzQ3JlY3Qgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHg9JzQ2LjUnIHk9JzQwJyBmaWxsPSclMjNBM0ExQTInIHJ4PSc1JyByeT0nNScgdHJhbnNmb3JtPSdyb3RhdGUoOTAgNjUgNjUpJy8lM0UlM0NyZWN0IHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyB4PSc0Ni41JyB5PSc0MCcgZmlsbD0nJTIzQUJBOUFBJyByeD0nNScgcnk9JzUnIHRyYW5zZm9ybT0ncm90YXRlKDEyMCA1OC42NiA2NSknLyUzRSUzQ3JlY3Qgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHg9JzQ2LjUnIHk9JzQwJyBmaWxsPSclMjNCMkIyQjInIHJ4PSc1JyByeT0nNScgdHJhbnNmb3JtPSdyb3RhdGUoMTUwIDU0LjAyIDY1KScvJTNFJTNDcmVjdCB3aWR0aD0nNycgaGVpZ2h0PScyMCcgeD0nNDYuNScgeT0nNDAnIGZpbGw9JyUyM0JBQjhCOScgcng9JzUnIHJ5PSc1JyB0cmFuc2Zvcm09J3JvdGF0ZSgxODAgNTAgNjUpJy8lM0UlM0NyZWN0IHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyB4PSc0Ni41JyB5PSc0MCcgZmlsbD0nJTIzQzJDMEMxJyByeD0nNScgcnk9JzUnIHRyYW5zZm9ybT0ncm90YXRlKC0xNTAgNDUuOTggNjUpJy8lM0UlM0NyZWN0IHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyB4PSc0Ni41JyB5PSc0MCcgZmlsbD0nJTIzQ0JDQkNCJyByeD0nNScgcnk9JzUnIHRyYW5zZm9ybT0ncm90YXRlKC0xMjAgNDEuMzQgNjUpJy8lM0UlM0NyZWN0IHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyB4PSc0Ni41JyB5PSc0MCcgZmlsbD0nJTIzRDJEMkQyJyByeD0nNScgcnk9JzUnIHRyYW5zZm9ybT0ncm90YXRlKC05MCAzNSA2NSknLyUzRSUzQ3JlY3Qgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHg9JzQ2LjUnIHk9JzQwJyBmaWxsPSclMjNEQURBREEnIHJ4PSc1JyByeT0nNScgdHJhbnNmb3JtPSdyb3RhdGUoLTYwIDI0LjAyIDY1KScvJTNFJTNDcmVjdCB3aWR0aD0nNycgaGVpZ2h0PScyMCcgeD0nNDYuNScgeT0nNDAnIGZpbGw9JyUyM0UyRTJFMicgcng9JzUnIHJ5PSc1JyB0cmFuc2Zvcm09J3JvdGF0ZSgtMzAgLTUuOTggNjUpJy8lM0UlM0Mvc3ZnJTNFXCIpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG5cbiAgICAmLndldWktbG9hZGluZ190cmFuc3BhcmVudCxcbiAgICAud2V1aS1idG5fbG9hZGluZy53ZXVpLWJ0bl9wcmltYXJ5ICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCAlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEyMCcgdmlld0JveD0nMCAwIDEwMCAxMDAnJTNFJTNDcGF0aCBmaWxsPSdub25lJyBkPSdNMCAwaDEwMHYxMDBIMHonLyUzRSUzQ3JlY3QgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNycgaGVpZ2h0PScyMCcgeD0nNDYuNScgeT0nNDAnIGZpbGw9J3JnYmEoMjU1LDI1NSwyNTUsLjU2KScgcng9JzUnIHJ5PSc1JyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIC0zMCknLyUzRSUzQ3JlY3Qgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHg9JzQ2LjUnIHk9JzQwJyBmaWxsPSdyZ2JhKDI1NSwyNTUsMjU1LC41KScgcng9JzUnIHJ5PSc1JyB0cmFuc2Zvcm09J3JvdGF0ZSgzMCAxMDUuOTggNjUpJy8lM0UlM0NyZWN0IHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyB4PSc0Ni41JyB5PSc0MCcgZmlsbD0ncmdiYSgyNTUsMjU1LDI1NSwuNDMpJyByeD0nNScgcnk9JzUnIHRyYW5zZm9ybT0ncm90YXRlKDYwIDc1Ljk4IDY1KScvJTNFJTNDcmVjdCB3aWR0aD0nNycgaGVpZ2h0PScyMCcgeD0nNDYuNScgeT0nNDAnIGZpbGw9J3JnYmEoMjU1LDI1NSwyNTUsLjM4KScgcng9JzUnIHJ5PSc1JyB0cmFuc2Zvcm09J3JvdGF0ZSg5MCA2NSA2NSknLyUzRSUzQ3JlY3Qgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHg9JzQ2LjUnIHk9JzQwJyBmaWxsPSdyZ2JhKDI1NSwyNTUsMjU1LC4zMiknIHJ4PSc1JyByeT0nNScgdHJhbnNmb3JtPSdyb3RhdGUoMTIwIDU4LjY2IDY1KScvJTNFJTNDcmVjdCB3aWR0aD0nNycgaGVpZ2h0PScyMCcgeD0nNDYuNScgeT0nNDAnIGZpbGw9J3JnYmEoMjU1LDI1NSwyNTUsLjI4KScgcng9JzUnIHJ5PSc1JyB0cmFuc2Zvcm09J3JvdGF0ZSgxNTAgNTQuMDIgNjUpJy8lM0UlM0NyZWN0IHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyB4PSc0Ni41JyB5PSc0MCcgZmlsbD0ncmdiYSgyNTUsMjU1LDI1NSwuMjUpJyByeD0nNScgcnk9JzUnIHRyYW5zZm9ybT0ncm90YXRlKDE4MCA1MCA2NSknLyUzRSUzQ3JlY3Qgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHg9JzQ2LjUnIHk9JzQwJyBmaWxsPSdyZ2JhKDI1NSwyNTUsMjU1LC4yKScgcng9JzUnIHJ5PSc1JyB0cmFuc2Zvcm09J3JvdGF0ZSgtMTUwIDQ1Ljk4IDY1KScvJTNFJTNDcmVjdCB3aWR0aD0nNycgaGVpZ2h0PScyMCcgeD0nNDYuNScgeT0nNDAnIGZpbGw9J3JnYmEoMjU1LDI1NSwyNTUsLjE3KScgcng9JzUnIHJ5PSc1JyB0cmFuc2Zvcm09J3JvdGF0ZSgtMTIwIDQxLjM0IDY1KScvJTNFJTNDcmVjdCB3aWR0aD0nNycgaGVpZ2h0PScyMCcgeD0nNDYuNScgeT0nNDAnIGZpbGw9J3JnYmEoMjU1LDI1NSwyNTUsLjE0KScgcng9JzUnIHJ5PSc1JyB0cmFuc2Zvcm09J3JvdGF0ZSgtOTAgMzUgNjUpJy8lM0UlM0NyZWN0IHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyB4PSc0Ni41JyB5PSc0MCcgZmlsbD0ncmdiYSgyNTUsMjU1LDI1NSwuMSknIHJ4PSc1JyByeT0nNScgdHJhbnNmb3JtPSdyb3RhdGUoLTYwIDI0LjAyIDY1KScvJTNFJTNDcmVjdCB3aWR0aD0nNycgaGVpZ2h0PScyMCcgeD0nNDYuNScgeT0nNDAnIGZpbGw9J3JnYmEoMjU1LDI1NSwyNTUsLjAzKScgcng9JzUnIHJ5PSc1JyB0cmFuc2Zvcm09J3JvdGF0ZSgtMzAgLTUuOTggNjUpJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHdldWlMb2FkaW5nIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMzYwZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgd2V1aUxvYWRpbmcge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAzNjBkZWcpO1xuICAgIH1cbn1cblxuIiwiLypcbiogVGVuY2VudCBpcyBwbGVhc2VkIHRvIHN1cHBvcnQgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBieSBtYWtpbmcgV2VVSSBhdmFpbGFibGUuXG4qIFxuKiBDb3B5cmlnaHQgKEMpIDIwMTcgVEhMIEEyOSBMaW1pdGVkLCBhIFRlbmNlbnQgY29tcGFueS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiogXG4qIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuKiB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiogXG4qICAgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiogXG4qIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXNcbiogZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCxcbiogZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbkBpbXBvcnQgXCIuLi8uLi9iYXNlL2ZuXCI7XG5cbi53ZXVpLXNsaWRlciB7XG4gICAgcGFkZGluZzogMTVweCAxOHB4O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ud2V1aS1zbGlkZXJfX2lubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHdldWlMaW5lQ29sb3JMaWdodDtcbn1cblxuLndldWktc2xpZGVyX190cmFjayB7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHdldWlDb2xvclByaW1hcnk7XG4gICAgd2lkdGg6IDA7XG59XG5cbi53ZXVpLXNsaWRlcl9faGFuZGxlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTRweDtcbiAgICBtYXJnaW4tdG9wOiAtMTRweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgLy8g5Zu65a6a6Imy5YC8XG4gICAgYm94LXNoYWRvdzogMCAwIDRweCB2YXIoLS13ZXVpLUZHLTMpO1xufVxuXG5cbi53ZXVpLXNsaWRlci1ib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAud2V1aS1zbGlkZXIge1xuICAgICAgICBmbGV4OiAxO1xuICAgIH1cbn1cbi53ZXVpLXNsaWRlci1ib3hfX3ZhbHVlIHtcbiAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgbWluLXdpZHRoOiAyNHB4O1xuICAgIGNvbG9yOiBAd2V1aVRleHRDb2xvckRlc2M7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbn1cbiJdfQ== */