/* this gets exported as style.css and can be used for the default theming */
/* these are the necessary styles for React/Svelte Flow, they get used by base.css and style.css */
.react-flow {
  direction: ltr;

  --xy-edge-stroke-default: #b1b1b7;
  --xy-edge-stroke-width-default: 1;
  --xy-edge-stroke-selected-default: #555;

  --xy-connectionline-stroke-default: #b1b1b7;
  --xy-connectionline-stroke-width-default: 1;

  --xy-attribution-background-color-default: rgba(255, 255, 255, 0.5);

  --xy-minimap-background-color-default: #fff;
  --xy-minimap-mask-background-color-default: rgba(240, 240, 240, 0.6);
  --xy-minimap-mask-stroke-color-default: transparent;
  --xy-minimap-mask-stroke-width-default: 1;
  --xy-minimap-node-background-color-default: #e2e2e2;
  --xy-minimap-node-stroke-color-default: transparent;
  --xy-minimap-node-stroke-width-default: 2;

  --xy-background-color-default: transparent;
  --xy-background-pattern-dots-color-default: #91919a;
  --xy-background-pattern-lines-color-default: #eee;
  --xy-background-pattern-cross-color-default: #e2e2e2;
  background-color: var(--xy-background-color, var(--xy-background-color-default));
  --xy-node-color-default: inherit;
  --xy-node-border-default: 1px solid #1a192b;
  --xy-node-background-color-default: #fff;
  --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);
  --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, 0.08);
  --xy-node-boxshadow-selected-default: 0 0 0 0.5px #1a192b;
  --xy-node-border-radius-default: 3px;

  --xy-handle-background-color-default: #1a192b;
  --xy-handle-border-color-default: #fff;

  --xy-selection-background-color-default: rgba(0, 89, 220, 0.08);
  --xy-selection-border-default: 1px dotted rgba(0, 89, 220, 0.8);

  --xy-controls-button-background-color-default: #fefefe;
  --xy-controls-button-background-color-hover-default: #f4f4f4;
  --xy-controls-button-color-default: inherit;
  --xy-controls-button-color-hover-default: inherit;
  --xy-controls-button-border-color-default: #eee;
  --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);

  --xy-edge-label-background-color-default: #ffffff;
  --xy-edge-label-color-default: inherit;
  --xy-resize-background-color-default: #3367d9;
}
.react-flow.dark {
  --xy-edge-stroke-default: #3e3e3e;
  --xy-edge-stroke-width-default: 1;
  --xy-edge-stroke-selected-default: #727272;

  --xy-connectionline-stroke-default: #b1b1b7;
  --xy-connectionline-stroke-width-default: 1;

  --xy-attribution-background-color-default: rgba(150, 150, 150, 0.25);

  --xy-minimap-background-color-default: #141414;
  --xy-minimap-mask-background-color-default: rgba(60, 60, 60, 0.6);
  --xy-minimap-mask-stroke-color-default: transparent;
  --xy-minimap-mask-stroke-width-default: 1;
  --xy-minimap-node-background-color-default: #2b2b2b;
  --xy-minimap-node-stroke-color-default: transparent;
  --xy-minimap-node-stroke-width-default: 2;

  --xy-background-color-default: #141414;
  --xy-background-pattern-dots-color-default: #555;
  --xy-background-pattern-lines-color-default: #333;
  --xy-background-pattern-cross-color-default: #333;
  --xy-node-color-default: #f8f8f8;
  --xy-node-border-default: 1px solid #3c3c3c;
  --xy-node-background-color-default: #1e1e1e;
  --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);
  --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, 0.08);
  --xy-node-boxshadow-selected-default: 0 0 0 0.5px #999;

  --xy-handle-background-color-default: #bebebe;
  --xy-handle-border-color-default: #1e1e1e;

  --xy-selection-background-color-default: rgba(200, 200, 220, 0.08);
  --xy-selection-border-default: 1px dotted rgba(200, 200, 220, 0.8);

  --xy-controls-button-background-color-default: #2b2b2b;
  --xy-controls-button-background-color-hover-default: #3e3e3e;
  --xy-controls-button-color-default: #f8f8f8;
  --xy-controls-button-color-hover-default: #fff;
  --xy-controls-button-border-color-default: #5b5b5b;
  --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);

  --xy-edge-label-background-color-default: #141414;
  --xy-edge-label-color-default: #f8f8f8;
}
.react-flow__background {
  background-color: var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));
  pointer-events: none;
  z-index: -1;
}
.react-flow__container {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.react-flow__pane {
  z-index: 1;
  touch-action: none;
}
.react-flow__pane.draggable {
    cursor: grab;
  }
.react-flow__pane.dragging {
    cursor: grabbing;
  }
.react-flow__pane.selection {
    cursor: pointer;
  }
.react-flow__viewport {
  transform-origin: 0 0;
  z-index: 2;
  pointer-events: none;
}
.react-flow__renderer {
  z-index: 4;
}
.react-flow__selection {
  z-index: 6;
}
.react-flow__nodesselection-rect:focus,
.react-flow__nodesselection-rect:focus-visible {
  outline: none;
}
.react-flow__edge-path {
  stroke: var(--xy-edge-stroke, var(--xy-edge-stroke-default));
  stroke-width: var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));
  fill: none;
}
.react-flow__connection-path {
  stroke: var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));
  stroke-width: var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));
  fill: none;
}
.react-flow .react-flow__edges {
  position: absolute;
}
.react-flow .react-flow__edges svg {
    overflow: visible;
    position: absolute;
    pointer-events: none;
  }
.react-flow__edge {
  pointer-events: visibleStroke;
}
.react-flow__edge.selectable {
    cursor: pointer;
  }
.react-flow__edge.animated path {
    stroke-dasharray: 5;
    animation: dashdraw 0.5s linear infinite;
  }
.react-flow__edge.animated path.react-flow__edge-interaction {
    stroke-dasharray: none;
    animation: none;
  }
.react-flow__edge.inactive {
    pointer-events: none;
  }
.react-flow__edge.selected,
  .react-flow__edge:focus,
  .react-flow__edge:focus-visible {
    outline: none;
  }
.react-flow__edge.selected .react-flow__edge-path,
  .react-flow__edge.selectable:focus .react-flow__edge-path,
  .react-flow__edge.selectable:focus-visible .react-flow__edge-path {
    stroke: var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default));
  }
.react-flow__edge-textwrapper {
    pointer-events: all;
  }
.react-flow__edge .react-flow__edge-text {
    pointer-events: none;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }
/* Arrowhead marker styles - use CSS custom properties as default */
.react-flow__arrowhead polyline {
  stroke: var(--xy-edge-stroke, var(--xy-edge-stroke-default));
}
.react-flow__arrowhead polyline.arrowclosed {
  fill: var(--xy-edge-stroke, var(--xy-edge-stroke-default));
}
.react-flow__connection {
  pointer-events: none;
}
.react-flow__connection .animated {
    stroke-dasharray: 5;
    animation: dashdraw 0.5s linear infinite;
  }
svg.react-flow__connectionline {
  z-index: 1001;
  overflow: visible;
  position: absolute;
}
.react-flow__nodes {
  pointer-events: none;
  transform-origin: 0 0;
}
.react-flow__node {
  position: absolute;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: all;
  transform-origin: 0 0;
  box-sizing: border-box;
  cursor: default;
}
.react-flow__node.selectable {
    cursor: pointer;
  }
.react-flow__node.draggable {
    cursor: grab;
    pointer-events: all;
  }
.react-flow__node.draggable.dragging {
      cursor: grabbing;
    }
.react-flow__nodesselection {
  z-index: 3;
  transform-origin: left top;
  pointer-events: none;
}
.react-flow__nodesselection-rect {
    position: absolute;
    pointer-events: all;
    cursor: grab;
  }
.react-flow__handle {
  position: absolute;
  pointer-events: none;
  min-width: 5px;
  min-height: 5px;
  width: 6px;
  height: 6px;
  background-color: var(--xy-handle-background-color, var(--xy-handle-background-color-default));
  border: 1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));
  border-radius: 100%;
}
.react-flow__handle.connectingfrom {
    pointer-events: all;
  }
.react-flow__handle.connectionindicator {
    pointer-events: all;
    cursor: crosshair;
  }
.react-flow__handle-bottom {
    top: auto;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 50%);
  }
.react-flow__handle-top {
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
  }
.react-flow__handle-left {
    top: 50%;
    left: 0;
    transform: translate(-50%, -50%);
  }
.react-flow__handle-right {
    top: 50%;
    right: 0;
    transform: translate(50%, -50%);
  }
.react-flow__edgeupdater {
  cursor: move;
  pointer-events: all;
}
.react-flow__pane.selection .react-flow__panel {
  pointer-events: none;
}
.react-flow__panel {
  position: absolute;
  z-index: 5;
  margin: 15px;
}
.react-flow__panel.top {
    top: 0;
  }
.react-flow__panel.bottom {
    bottom: 0;
  }
.react-flow__panel.top.center, .react-flow__panel.bottom.center {
      left: 50%;
      transform: translateX(-15px) translateX(-50%);
    }
.react-flow__panel.left {
    left: 0;
  }
.react-flow__panel.right {
    right: 0;
  }
.react-flow__panel.left.center, .react-flow__panel.right.center {
      top: 50%;
      transform: translateY(-15px) translateY(-50%);
    }
.react-flow__attribution {
  font-size: 10px;
  background: var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));
  padding: 2px 3px;
  margin: 0;
}
.react-flow__attribution a {
    text-decoration: none;
    color: #999;
  }
@keyframes dashdraw {
  from {
    stroke-dashoffset: 10;
  }
}
.react-flow__edgelabel-renderer {
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  left: 0;
  top: 0;
}
.react-flow__viewport-portal {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.react-flow__minimap {
  background: var(
    --xy-minimap-background-color-props,
    var(--xy-minimap-background-color, var(--xy-minimap-background-color-default))
  );
}
.react-flow__minimap-svg {
    display: block;
  }
.react-flow__minimap-mask {
    fill: var(
      --xy-minimap-mask-background-color-props,
      var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default))
    );
    stroke: var(
      --xy-minimap-mask-stroke-color-props,
      var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default))
    );
    stroke-width: var(
      --xy-minimap-mask-stroke-width-props,
      var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default))
    );
  }
.react-flow__minimap-node {
    fill: var(
      --xy-minimap-node-background-color-props,
      var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default))
    );
    stroke: var(
      --xy-minimap-node-stroke-color-props,
      var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default))
    );
    stroke-width: var(
      --xy-minimap-node-stroke-width-props,
      var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default))
    );
  }
.react-flow__background-pattern.dots {
    fill: var(
      --xy-background-pattern-color-props,
      var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default))
    );
  }
.react-flow__background-pattern.lines {
    stroke: var(
      --xy-background-pattern-color-props,
      var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default))
    );
  }
.react-flow__background-pattern.cross {
    stroke: var(
      --xy-background-pattern-color-props,
      var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default))
    );
  }
.react-flow__controls {
  display: flex;
  flex-direction: column;
  box-shadow: var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default));
}
.react-flow__controls.horizontal {
    flex-direction: row;
  }
.react-flow__controls-button {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 26px;
    width: 26px;
    padding: 4px;
    border: none;
    background: var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));
    border-bottom: 1px solid
      var(
        --xy-controls-button-border-color-props,
        var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default))
      );
    color: var(
      --xy-controls-button-color-props,
      var(--xy-controls-button-color, var(--xy-controls-button-color-default))
    );
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }
.react-flow__controls-button svg {
      width: 100%;
      max-width: 12px;
      max-height: 12px;
      fill: currentColor;
    }
.react-flow__edge.updating .react-flow__edge-path {
      stroke: #777;
    }
.react-flow__edge-text {
    font-size: 10px;
  }
.react-flow__node.selectable:focus,
  .react-flow__node.selectable:focus-visible {
    outline: none;
  }
.react-flow__node-input,
.react-flow__node-default,
.react-flow__node-output,
.react-flow__node-group {
  padding: 10px;
  border-radius: var(--xy-node-border-radius, var(--xy-node-border-radius-default));
  width: 150px;
  font-size: 12px;
  color: var(--xy-node-color, var(--xy-node-color-default));
  text-align: center;
  border: var(--xy-node-border, var(--xy-node-border-default));
  background-color: var(--xy-node-background-color, var(--xy-node-background-color-default));
}
.react-flow__node-input.selectable:hover, .react-flow__node-default.selectable:hover, .react-flow__node-output.selectable:hover, .react-flow__node-group.selectable:hover {
      box-shadow: var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default));
    }
.react-flow__node-input.selectable.selected,
    .react-flow__node-input.selectable:focus,
    .react-flow__node-input.selectable:focus-visible,
    .react-flow__node-default.selectable.selected,
    .react-flow__node-default.selectable:focus,
    .react-flow__node-default.selectable:focus-visible,
    .react-flow__node-output.selectable.selected,
    .react-flow__node-output.selectable:focus,
    .react-flow__node-output.selectable:focus-visible,
    .react-flow__node-group.selectable.selected,
    .react-flow__node-group.selectable:focus,
    .react-flow__node-group.selectable:focus-visible {
      box-shadow: var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default));
    }
.react-flow__node-group {
  background-color: var(--xy-node-group-background-color, var(--xy-node-group-background-color-default));
}
.react-flow__nodesselection-rect,
.react-flow__selection {
  background: var(--xy-selection-background-color, var(--xy-selection-background-color-default));
  border: var(--xy-selection-border, var(--xy-selection-border-default));
}
.react-flow__nodesselection-rect:focus,
  .react-flow__nodesselection-rect:focus-visible,
  .react-flow__selection:focus,
  .react-flow__selection:focus-visible {
    outline: none;
  }
.react-flow__controls-button:hover {
      background: var(
        --xy-controls-button-background-color-hover-props,
        var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default))
      );
      color: var(
        --xy-controls-button-color-hover-props,
        var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default))
      );
    }
.react-flow__controls-button:disabled {
      pointer-events: none;
    }
.react-flow__controls-button:disabled svg {
        fill-opacity: 0.4;
      }
.react-flow__controls-button:last-child {
    border-bottom: none;
  }
.react-flow__controls.horizontal .react-flow__controls-button {
    border-bottom: none;
    border-right: 1px solid
      var(
        --xy-controls-button-border-color-props,
        var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default))
      );
  }
.react-flow__controls.horizontal .react-flow__controls-button:last-child {
    border-right: none;
  }
.react-flow__resize-control {
  position: absolute;
}
.react-flow__resize-control.left,
.react-flow__resize-control.right {
  cursor: ew-resize;
}
.react-flow__resize-control.top,
.react-flow__resize-control.bottom {
  cursor: ns-resize;
}
.react-flow__resize-control.top.left,
.react-flow__resize-control.bottom.right {
  cursor: nwse-resize;
}
.react-flow__resize-control.bottom.left,
.react-flow__resize-control.top.right {
  cursor: nesw-resize;
}
/* handle styles */
.react-flow__resize-control.handle {
  width: 5px;
  height: 5px;
  border: 1px solid #fff;
  border-radius: 1px;
  background-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));
  translate: -50% -50%;
}
.react-flow__resize-control.handle.left {
  left: 0;
  top: 50%;
}
.react-flow__resize-control.handle.right {
  left: 100%;
  top: 50%;
}
.react-flow__resize-control.handle.top {
  left: 50%;
  top: 0;
}
.react-flow__resize-control.handle.bottom {
  left: 50%;
  top: 100%;
}
.react-flow__resize-control.handle.top.left {
  left: 0;
}
.react-flow__resize-control.handle.bottom.left {
  left: 0;
}
.react-flow__resize-control.handle.top.right {
  left: 100%;
}
.react-flow__resize-control.handle.bottom.right {
  left: 100%;
}
/* line styles */
.react-flow__resize-control.line {
  border-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));
  border-width: 0;
  border-style: solid;
}
.react-flow__resize-control.line.left,
.react-flow__resize-control.line.right {
  width: 1px;
  transform: translate(-50%, 0);
  top: 0;
  height: 100%;
}
.react-flow__resize-control.line.left {
  left: 0;
  border-left-width: 1px;
}
.react-flow__resize-control.line.right {
  left: 100%;
  border-right-width: 1px;
}
.react-flow__resize-control.line.top,
.react-flow__resize-control.line.bottom {
  height: 1px;
  transform: translate(0, -50%);
  left: 0;
  width: 100%;
}
.react-flow__resize-control.line.top {
  top: 0;
  border-top-width: 1px;
}
.react-flow__resize-control.line.bottom {
  border-bottom-width: 1px;
  top: 100%;
}
.react-flow__edge-textbg {
  fill: var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default));
}
.react-flow__edge-text {
  fill: var(--xy-edge-label-color, var(--xy-edge-label-color-default));
}
:root {
  color-scheme: dark;
  font-family: Inter, "Segoe UI", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;
  font-synthesis: none;
  --page: #0b0e0d;
  --canvas: #101412;
  --panel: #151a18;
  --panel-2: #1a201e;
  --panel-3: #202724;
  --line: rgba(198, 218, 208, 0.11);
  --line-strong: rgba(198, 218, 208, 0.2);
  --ink: #ecf3ef;
  --ink-2: #b4c0ba;
  --ink-3: #7f8d86;
  --accent: #41c99b;
  --accent-2: #72ddba;
  --accent-soft: rgba(65, 201, 155, 0.13);
  --coral: #d9785d;
  --coral-soft: rgba(217, 120, 93, 0.14);
  --amber: #e2b55f;
  --danger: #ef7167;
  --success: #63d5a3;
  --shadow: 0 18px 50px rgba(3, 7, 5, 0.3);
  --topbar-height: 50px;
  --rail-width: 76px;
  --brand-width: 218px;
  --agent-width: 326px;
}
* {
  box-sizing: border-box;
}
html,
body,
#root {
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
}
body {
  background: var(--page);
  color: var(--ink);
  font-size: 13px;
  letter-spacing: 0;
}
button,
input,
textarea,
select {
  color: inherit;
  font: inherit;
  letter-spacing: 0;
}
button,
a,
select,
label[for],
input[type="checkbox"] {
  cursor: pointer;
}
button {
  border: 0;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
button:disabled {
  cursor: not-allowed;
  opacity: 0.42;
}
::selection {
  background: rgba(65, 201, 155, 0.28);
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.app-shell {
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-rows: var(--topbar-height) minmax(0, 1fr);
  background: var(--page);
}
.app-crash-screen {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  padding: 24px;
  background: var(--page);
}
.app-crash-screen__card {
  width: min(420px, 100%);
  display: grid;
  gap: 12px;
  padding: 24px;
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: var(--shadow);
}
.app-crash-screen__icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  color: var(--danger);
  border-radius: 8px;
  background: var(--coral-soft);
}
.app-crash-screen__card strong {
  font-size: 16px;
}
.app-crash-screen__card > span:not(.app-crash-screen__icon) {
  color: var(--ink-2);
  line-height: 1.65;
}
.app-crash-screen__actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.app-crash-screen__detail {
  display: block;
  max-height: 72px;
  overflow: auto;
  padding: 8px 10px;
  color: var(--danger);
  background: rgba(210, 92, 83, 0.08);
  border: 1px solid rgba(210, 92, 83, 0.22);
  border-radius: 5px;
  font: 10px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.topbar {
  position: relative;
  z-index: 30;
  display: grid;
  grid-template-columns: var(--brand-width) minmax(220px, 1fr) minmax(150px, 230px) auto;
  align-items: center;
  height: var(--topbar-height);
  padding: 0 10px 0 14px;
  border-bottom: 1px solid var(--line);
  background: rgba(15, 19, 17, 0.98);
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.3);
}
.brand-lockup {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}
.brand-lockup > span {
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  color: #08110d;
  background: var(--accent);
  border-radius: 6px;
  box-shadow: 0 0 0 1px rgba(153, 255, 216, 0.12), 0 7px 18px rgba(44, 180, 133, 0.18);
}
.brand-lockup strong {
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}
.canvas-tabs {
  display: flex;
  align-items: center;
  gap: 2px;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
}
.canvas-tabs::-webkit-scrollbar {
  display: none;
}
.canvas-tabs > button {
  height: 31px;
  min-width: 76px;
  max-width: 148px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 11px;
  color: var(--ink-3);
  background: transparent;
  border-radius: 5px;
  transition: color 140ms ease, background 140ms ease;
}
.canvas-tabs > button:hover {
  color: var(--ink-2);
  background: rgba(255, 255, 255, 0.035);
}
.canvas-tabs > button.is-active {
  color: var(--ink);
  background: var(--panel-2);
  box-shadow: inset 0 0 0 1px var(--line);
}
.canvas-tabs button span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.canvas-tabs button i {
  width: 17px;
  height: 17px;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 4px;
  color: var(--ink-3);
}
.canvas-tabs button i:hover {
  color: var(--ink);
  background: var(--panel-3);
}
.canvas-tabs .canvas-tab-add {
  min-width: 31px;
  width: 31px;
  padding: 0;
}
.canvas-title-input {
  display: flex;
  justify-content: center;
  padding: 0 12px;
}
.canvas-title-input input {
  width: 100%;
  height: 29px;
  padding: 0 8px;
  text-align: center;
  color: var(--ink-2);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 5px;
}
.canvas-title-input input:hover,
.canvas-title-input input:focus {
  border-color: var(--line);
  background: var(--panel);
}
.topbar-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
}
.account-button {
  min-width: 74px;
  max-width: 190px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 8px;
  color: var(--ink-2);
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 6px;
  white-space: nowrap;
}
.account-button:hover,
.account-button.is-signed-in {
  color: var(--ink);
  border-color: rgba(65, 201, 155, 0.35);
  background: var(--accent-soft);
}
.account-button span {
  overflow: hidden;
  text-overflow: ellipsis;
}
.account-button small {
  color: var(--accent-2);
  font-size: 9px;
}
.auth-form {
  min-width: min(420px, 92vw);
  padding-top: 14px;
}
.auth-form .dialog-field {
  margin: 0 14px 12px;
}
.account-dialog__body {
  min-width: min(440px, 92vw);
  padding: 16px 14px 18px;
}
.admin-dialog__body { display: grid; gap: 18px; padding: 20px 24px 24px; max-height: 68vh; overflow: auto; }
.admin-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.admin-metrics > div { border: 1px solid var(--line, #dce7e1); background: var(--panel-muted, #f6f9f7); padding: 13px 14px; display: grid; gap: 5px; }
.admin-metrics span, .admin-rule-row small { color: var(--muted, #6f7d76); font-size: 12px; }
.admin-metrics strong { font-size: 20px; color: var(--ink, #17241e); }
.admin-section { border-top: 1px solid var(--line, #dce7e1); padding-top: 16px; display: grid; gap: 14px; }
.admin-section > header { display: flex; justify-content: space-between; align-items: center; }
.admin-section > header strong { display: block; font-size: 15px; }
.admin-section > header small { display: block; color: var(--muted, #6f7d76); margin-top: 4px; }
.admin-rule-form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; align-items: end; }
.admin-rule-form .primary-button { min-height: 38px; }
.admin-rule-list { display: grid; gap: 6px; }
.admin-rule-row { display: grid; grid-template-columns: 1.2fr 1.4fr auto; gap: 12px; align-items: center; border-bottom: 1px solid var(--line, #e7eeea); padding: 9px 0; font-size: 13px; }
.admin-rule-row strong { color: var(--accent, #207a5b); }
.admin-data-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.admin-data-grid > div { border: 1px solid var(--line, #dce7e1); padding: 12px; min-height: 120px; }
.admin-data-grid h4 { margin: 0 0 9px; font-size: 13px; }
.admin-data-grid p { display: flex; justify-content: space-between; gap: 8px; margin: 7px 0; font-size: 12px; }
.admin-data-grid p span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-data-grid p small { color: var(--muted, #6f7d76); white-space: nowrap; }
@media (max-width: 760px) {
  .admin-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-rule-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-rule-row { grid-template-columns: 1fr auto; }
  .admin-rule-row small { grid-column: 1 / -1; }
  .admin-data-grid { grid-template-columns: 1fr; }
}
.account-summary {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--line);
}
.account-summary > div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.account-summary strong,
.account-summary small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.account-summary strong { font-size: 12px; }
.account-summary small { color: var(--ink-3); font-size: 9px; }
.account-avatar {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  color: var(--accent-2);
  background: var(--accent-soft);
  border: 1px solid rgba(65, 201, 155, 0.25);
  border-radius: 50%;
}
.account-balance {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 17px 0;
}
.account-balance span { color: var(--ink-3); font-size: 10px; }
.account-balance strong { color: var(--accent-2); font-size: 24px; font-weight: 600; }
.account-topup {
  display: flex;
  align-items: end;
  gap: 8px;
}
.account-topup .dialog-field { flex: 1; }
.icon-button,
.topbar-command,
.engine-button,
.secondary-button,
.primary-button,
.run-button,
.stop-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 32px;
  color: var(--ink-2);
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 6px;
  transition: color 140ms ease, background 140ms ease, border-color 140ms ease, transform 80ms ease;
}
.icon-button:hover,
.topbar-command:hover,
.engine-button:hover,
.secondary-button:hover {
  color: var(--ink);
  border-color: var(--line-strong);
  background: var(--panel-3);
}
.icon-button:active,
.topbar-command:active,
.engine-button:active,
.secondary-button:active,
.primary-button:active,
.run-button:active,
.stop-button:active {
  transform: translateY(1px);
}
.icon-button {
  width: 32px;
  padding: 0;
}
.icon-button.is-active {
  color: var(--accent-2);
  border-color: rgba(65, 201, 155, 0.28);
  background: var(--accent-soft);
}
.icon-button--sm {
  width: 25px;
  min-height: 25px;
  border: 0;
  color: var(--ink-3);
  background: transparent;
}
.topbar-command {
  padding: 0 10px;
  white-space: nowrap;
}
.engine-button {
  min-width: 102px;
  padding: 0 9px;
  white-space: nowrap;
}
.engine-button small {
  min-width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  color: var(--ink-3);
  background: rgba(0, 0, 0, 0.22);
  border-radius: 4px;
  font-size: 10px;
}
.edge-style-select {
  height: 30px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0 6px 0 8px;
  color: var(--ink-3);
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 6px;
  font-size: 9px;
}
.edge-style-select select {
  width: 48px;
  padding: 0;
  color: var(--ink-2);
  background: transparent;
  border: 0;
  outline: 0;
  font-size: 9px;
}
.engine-dot {
  width: 7px;
  height: 7px;
  display: inline-block;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--amber);
  box-shadow: 0 0 0 3px rgba(226, 181, 95, 0.1);
}
.engine-dot.is-online {
  background: var(--success);
  box-shadow: 0 0 0 3px rgba(99, 213, 163, 0.1), 0 0 12px rgba(99, 213, 163, 0.28);
}
.workspace-shell {
  min-height: 0;
  display: grid;
  grid-template-columns: var(--rail-width) minmax(0, 1fr);
}
.app-shell.has-agent .workspace-shell {
  grid-template-columns: var(--rail-width) minmax(0, 1fr) var(--agent-width);
}
.module-rail,
.agent-panel {
  position: relative;
  z-index: 20;
  min-height: 0;
  background: var(--panel);
}
.module-rail {
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 9px 6px 7px;
  border-right: 1px solid var(--line);
}
.module-rail__primary,
.rail-tool-switch,
.module-rail__footer {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.rail-action,
.rail-tool-switch button,
.module-rail__footer > button {
  width: 100%;
  height: 49px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 0;
  color: var(--ink-3);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 6px;
}
.rail-action span {
  width: 28px;
  height: 27px;
  display: grid;
  place-items: center;
  color: var(--ink-2);
  background: var(--panel-3);
  border-radius: 5px;
}
.rail-action small,
.rail-tool-switch small,
.module-rail__footer > button span {
  font-size: 9px;
  line-height: 1;
}
.rail-action:hover,
.rail-tool-switch button:hover,
.module-rail__footer > button:hover {
  color: var(--ink);
  background: rgba(198, 218, 208, 0.055);
  border-color: var(--line);
}
.rail-action--primary span,
.rail-tool-switch button.is-active,
.rail-action--library.is-active {
  color: var(--accent-2);
  background: var(--accent-soft);
  border-color: rgba(65, 201, 155, 0.18);
}
.module-library {
  position: absolute;
  z-index: 50;
  top: 8px;
  left: calc(100% + 8px);
  width: 264px;
  max-height: calc(100% - 16px);
  display: grid;
  grid-template-rows: 42px minmax(0, 1fr);
  overflow: hidden;
  background: rgba(21, 27, 24, 0.98);
  border: 1px solid var(--line-strong);
  border-radius: 7px;
  box-shadow: 0 18px 48px rgba(1, 5, 3, 0.46);
}
.module-library > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 9px 0 12px;
  border-bottom: 1px solid var(--line);
  background: #1a211e;
}
.module-library > header strong {
  font-size: 11px;
}
.module-library__body {
  min-height: 0;
  overflow-y: auto;
  padding: 9px;
  scrollbar-width: thin;
}
.style-library-intro {
  margin: 0 2px 9px;
  color: var(--ink-3);
  font-size: 10px;
  line-height: 1.45;
}
.style-library-item small {
  white-space: normal;
}
.style-library-item .catalog-item__icon video,
.style-library-item .catalog-item__icon img {
  width: 28px;
  height: 34px;
  display: block;
  object-fit: cover;
  border-radius: 3px;
  background: #0e1311;
}
.node-save-style {
  margin-left: auto;
  min-height: 26px;
  padding: 0 7px;
  font-size: 10px;
}
.style-save-dialog__body {
  display: grid;
  gap: 12px;
  padding: 14px;
}
.module-library__body section + section {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid rgba(198, 218, 208, 0.07);
}
.module-library__body h3 {
  margin: 0 0 6px;
  color: var(--ink-3);
  font-size: 9px;
  font-weight: 650;
}
.module-library .catalog-item {
  min-height: 42px;
  grid-template-columns: 28px minmax(0, 1fr) 16px;
  padding: 5px 6px;
}
.module-library .catalog-item__icon {
  width: 28px;
  height: 28px;
}
.style-library-item .catalog-item__icon video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 4px;
}
.style-library-entry {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 26px;
  align-items: center;
  gap: 3px;
}
.style-library-entry .style-library-item {
  min-width: 0;
}
.style-library-delete {
  width: 26px;
  height: 30px;
  display: inline-grid;
  place-items: center;
  color: var(--ink-3);
  border: 1px solid transparent;
  border-radius: 5px;
  background: transparent;
}
.style-library-delete:hover {
  color: #f08f82;
  border-color: rgba(240, 143, 130, 0.25);
  background: rgba(240, 143, 130, 0.08);
}
.module-rail__divider {
  height: 1px;
  margin: 1px 7px;
  background: var(--line);
}
.module-rail__spacer {
  flex: 1 1 auto;
  min-height: 16px;
}
.module-rail__head {
  height: 51px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 11px 0 13px;
}
.module-rail__head > div:first-child {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.module-rail__head strong {
  font-size: 12px;
  font-weight: 700;
}
.module-rail__head span {
  color: var(--ink-3);
  font-size: 10px;
}
.tool-switch {
  display: flex;
  padding: 2px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #101412;
}
.tool-switch button {
  width: 27px;
  height: 25px;
  display: grid;
  place-items: center;
  color: var(--ink-3);
  background: transparent;
  border-radius: 4px;
}
.tool-switch button:hover,
.tool-switch button.is-active {
  color: var(--ink);
  background: var(--panel-3);
}
.tool-switch button.is-active {
  color: var(--accent-2);
}
.rail-search {
  height: 32px;
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 6px;
  margin: 0 10px 8px;
  padding: 0 8px;
  color: var(--ink-3);
  background: #0f1311;
  border: 1px solid var(--line);
  border-radius: 6px;
}
.rail-search:focus-within {
  border-color: rgba(65, 201, 155, 0.48);
  box-shadow: 0 0 0 3px rgba(65, 201, 155, 0.08);
}
.rail-search input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  color: var(--ink);
  background: transparent;
  font-size: 12px;
}
.rail-search input::placeholder {
  color: #617069;
}
.rail-search button {
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  padding: 0;
  color: var(--ink-3);
  background: transparent;
}
.module-rail__scroll {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-color: #34423c transparent;
  scrollbar-width: thin;
  padding: 0 7px 12px;
}
.catalog-group {
  padding: 2px 0 5px;
}
.catalog-group + .catalog-group {
  border-top: 1px solid rgba(198, 218, 208, 0.055);
}
.catalog-group__title {
  width: 100%;
  height: 29px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 16px;
  align-items: center;
  gap: 7px;
  padding: 0 6px;
  color: var(--ink-2);
  background: transparent;
  text-align: left;
}
.catalog-group__title span {
  font-size: 11px;
  font-weight: 650;
}
.catalog-group__title small {
  color: var(--ink-3);
  font-size: 10px;
}
.catalog-group__title svg {
  color: var(--ink-3);
  transition: transform 140ms ease;
}
.catalog-group__title svg.is-collapsed {
  transform: rotate(-90deg);
}
.catalog-group__items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3px;
}
.catalog-item {
  position: relative;
  min-width: 0;
  height: 44px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 6px;
  padding: 4px 5px;
  color: var(--ink-2);
  text-align: left;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 6px;
  transition: border-color 140ms ease, background 140ms ease, transform 90ms ease;
}
.catalog-item:hover {
  color: var(--ink);
  border-color: rgba(65, 201, 155, 0.18);
  background: rgba(65, 201, 155, 0.075);
}
.catalog-item:active {
  transform: translateY(1px);
}
.catalog-item__icon {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  color: var(--accent-2);
  background: var(--accent-soft);
  border-radius: 5px;
}
.catalog-item > span:nth-child(2) {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.catalog-item strong,
.catalog-item small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.catalog-item strong {
  font-size: 10px;
  font-weight: 650;
}
.catalog-item small {
  display: none;
}
.catalog-item__plus {
  position: absolute;
  top: 5px;
  right: 5px;
  opacity: 0;
  color: var(--accent-2);
  transition: opacity 140ms ease;
}
.catalog-item:hover .catalog-item__plus {
  opacity: 1;
}
.module-rail__footer {
  padding: 7px 0 0;
  border-top: 1px solid var(--line);
  background: transparent;
}
.module-rail__footer > button {
  height: 42px;
}
.local-engine-line {
  height: 25px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 7px;
  margin-top: 5px;
  padding: 0 7px;
  color: var(--ink-3);
  font-size: 10px;
  border-top: 1px solid rgba(198, 218, 208, 0.055);
}
.local-engine-line span:last-child {
  display: none;
}
.flow-surface {
  position: relative;
  min-width: 0;
  min-height: 0;
  background: var(--canvas);
  overflow: hidden;
}
.flow-surface.is-file-dragging {
  outline: 1px solid rgba(92, 229, 181, 0.56);
  outline-offset: -1px;
}
.flow-drop-overlay {
  position: absolute;
  z-index: 30;
  inset: 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  pointer-events: none;
  color: #d6fff0;
  background: rgba(11, 22, 17, 0.84);
  border: 1px dashed rgba(101, 237, 190, 0.78);
  border-radius: 7px;
  box-shadow: inset 0 0 0 1px rgba(101, 237, 190, 0.06);
}
.flow-drop-overlay > svg {
  color: var(--accent-2);
}
.flow-drop-overlay strong {
  font-size: 13px;
  font-weight: 650;
}
.flow-drop-overlay span {
  color: var(--ink-3);
  font-size: 10px;
}
.flow-surface.is-interacting .react-flow__node {
  will-change: transform;
}
.flow-surface.is-interacting .flow-node {
  box-shadow: 0 4px 14px rgba(2, 6, 4, 0.14);
  transition: none;
}
.flow-surface.is-interacting .react-flow__edge-path,
.flow-surface.is-interacting .typed-handle {
  transition: none;
}
.react-flow {
  background-color: var(--canvas);
}
.react-flow__pane {
  cursor: crosshair;
}
.flow-surface.is-select-tool .react-flow__pane,
.flow-surface.is-select-tool .flow-node,
.flow-surface.is-select-tool .flow-node__header,
.flow-surface.is-select-tool .flow-node.is-media-card .media-stage {
  cursor: default;
}
.flow-surface.is-hand-tool .react-flow__pane {
  cursor: grab;
}
.flow-surface.is-hand-tool .react-flow__pane.dragging {
  cursor: grabbing;
}
.react-flow__pane.dragging,
.react-flow__pane.selection {
  cursor: grabbing;
}
.react-flow__selection,
.react-flow__nodesselection-rect {
  border: 1px solid rgba(65, 201, 155, 0.8);
  background: rgba(65, 201, 155, 0.07);
}
.react-flow__node {
  width: 340px;
  border: 0;
  border-radius: 7px;
}
.react-flow__node-asset {
  width: 320px;
}
.react-flow__node-prompt {
  width: 310px;
}
.react-flow__node-film {
  width: 360px;
}
.react-flow__node-group {
  width: auto;
  height: auto;
  min-width: 420px;
  min-height: 300px;
  z-index: -1 !important;
}
.react-flow__node.selected > .flow-node,
.react-flow__node:focus > .flow-node {
  border-color: rgba(65, 201, 155, 0.75);
  box-shadow: 0 0 0 2px rgba(65, 201, 155, 0.13), 0 18px 50px rgba(3, 7, 5, 0.34);
}
.flow-surface.is-interacting .react-flow__node.selected > .flow-node,
.flow-surface.is-interacting .react-flow__node:focus > .flow-node {
  box-shadow: 0 0 0 1px rgba(65, 201, 155, 0.12), 0 4px 14px rgba(2, 6, 4, 0.14);
}
.react-flow__node.selected > .group-node {
  border-color: rgba(65, 201, 155, 0.5);
  background: rgba(65, 201, 155, 0.035);
}
.flow-node {
  position: relative;
  overflow: visible;
  width: 100%;
  color: var(--ink);
  background: #171c1a;
  border: 1px solid rgba(198, 218, 208, 0.14);
  border-radius: 7px;
  box-shadow: 0 14px 36px rgba(2, 6, 4, 0.22);
  transition: border-color 140ms ease, box-shadow 140ms ease;
}
.flow-node.is-media-card,
.flow-node.is-media-card .media-stage {
  cursor: grab;
}
.flow-node.is-media-card {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}
.flow-node.is-media-card .flow-node__header {
  height: 26px;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  gap: 5px;
  padding: 0 2px;
  background: transparent;
  border: 0;
}
.flow-node.is-media-card .node-icon {
  width: 18px;
  height: 18px;
  color: var(--ink-3);
  background: transparent;
}
.flow-node.is-media-card .node-heading strong {
  color: var(--ink-2);
  font-size: 10px;
}
.flow-node.is-media-card .status-badge {
  min-height: 16px;
  padding: 0 4px;
  background: transparent;
  font-size: 8px;
}
.flow-node.is-media-card .node-actions {
  opacity: 0;
  transition: opacity 120ms ease;
}
.flow-node.is-media-card:hover .node-actions,
.react-flow__node.selected > .flow-node.is-media-card .node-actions {
  opacity: 1;
}
.flow-node.is-media-card > .flow-node__body {
  padding: 0;
}
.flow-node.is-media-card .media-stage {
  border-color: rgba(198, 218, 208, 0.14);
  box-shadow: 0 9px 26px rgba(2, 6, 4, 0.18);
}
.react-flow__node.selected > .flow-node.is-media-card {
  border-color: transparent;
  box-shadow: none;
}
.react-flow__node.selected > .flow-node.is-media-card .media-stage {
  border-color: rgba(65, 201, 155, 0.82);
  box-shadow: 0 0 0 1px rgba(65, 201, 155, 0.78), 0 12px 34px rgba(2, 6, 4, 0.26);
}
.flow-node--asset.is-media-card .node-footer,
.flow-node--operation.is-media-card .node-run-row {
  position: absolute;
  z-index: 3;
  right: 6px;
  bottom: 6px;
  margin: 0;
  padding: 3px;
  opacity: 0;
  background: rgba(11, 15, 13, 0.88);
  border: 1px solid rgba(198, 218, 208, 0.12);
  border-radius: 5px;
  backdrop-filter: blur(7px);
  transition: opacity 120ms ease;
}
.flow-node--asset.is-media-card:hover .node-footer,
.flow-node--operation.is-media-card:hover .node-run-row,
.react-flow__node.selected > .flow-node--asset.is-media-card .node-footer {
  opacity: 1;
}
.flow-node--asset.is-media-card .file-name,
.flow-node--operation.is-media-card .route-caption {
  display: none;
}
.flow-node.is-media-card .result-switcher {
  position: absolute;
  z-index: 3;
  left: 6px;
  bottom: 6px;
  background: rgba(11, 15, 13, 0.88);
  border-radius: 5px;
}
.flow-node.is-media-card:active,
.flow-node.is-media-card .media-stage:active {
  cursor: grabbing;
}
.react-flow__node[style*="height"] > .flow-node.is-media-card {
  height: 100%;
  display: grid;
  grid-template-rows: 26px minmax(0, 1fr);
}
.react-flow__node[style*="height"] > .flow-node.is-media-card > .flow-node__body {
  min-height: 0;
}
.react-flow__node[style*="height"] > .flow-node--asset.is-media-card > .flow-node__body {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
}
.react-flow__node[style*="height"] > .flow-node--operation.is-media-card > .operation-body--compact {
  display: grid;
  grid-template-rows: minmax(0, 1fr);
}
.react-flow__node[style*="height"] > .flow-node.is-media-card .media-stage {
  height: 100%;
  min-height: 0;
}
.flow-node.is-failed {
  border-color: rgba(239, 113, 103, 0.42);
}
.flow-node__header {
  height: 38px;
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  padding: 0 7px 0 9px;
  border-bottom: 1px solid rgba(198, 218, 208, 0.085);
  background: #1b211f;
  border-radius: 6px 6px 0 0;
  cursor: grab;
}
.flow-node__header:active,
.group-node__header:active {
  cursor: grabbing;
}
.node-icon {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  color: var(--accent-2);
  background: var(--accent-soft);
  border-radius: 5px;
}
.flow-node--film .node-icon {
  color: #f4a48d;
  background: var(--coral-soft);
}
.node-heading {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
}
.node-heading strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
  font-weight: 700;
}
.node-actions {
  display: flex;
  align-items: center;
}
.status-badge {
  max-width: 92px;
  min-height: 18px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 1px 5px;
  color: var(--ink-3);
  background: rgba(255, 255, 255, 0.035);
  border-radius: 4px;
  font-size: 9px;
  font-weight: 650;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.status-badge--working {
  color: #f0ca81;
  background: rgba(226, 181, 95, 0.1);
}
.status-badge--success {
  color: #85e1bb;
  background: rgba(99, 213, 163, 0.1);
}
.status-badge--error {
  color: #f69a91;
  background: rgba(239, 113, 103, 0.1);
}
.flow-node__body {
  padding: 9px;
}
.operation-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.operation-body--compact {
  gap: 6px;
  padding: 8px;
}
.media-stage {
  position: relative;
  width: 100%;
  height: 154px;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 0;
  color: var(--ink-3);
  background: #0d100f;
  border: 1px solid rgba(198, 218, 208, 0.085);
  border-radius: 5px;
}
.flow-node--asset .media-stage {
  height: 176px;
}
.operation-body--compact .media-stage {
  height: 210px;
  cursor: pointer;
}
.operation-body--compact .media-stage.is-landscape {
  height: 180px;
}
.operation-body--compact .media-stage.is-square {
  height: 270px;
}
.operation-body--compact .media-stage.is-portrait {
  height: 400px;
}
.media-stage--empty {
  grid-template-rows: auto auto;
  align-content: center;
  gap: 8px;
  padding: 18px;
  text-align: center;
  font-size: 10px;
  line-height: 1.45;
}
.media-stage--empty svg {
  color: #52625a;
}
.media-stage__unavailable {
  min-height: 120px;
  width: 100%;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 7px;
  padding: 16px;
  color: var(--ink-3);
  text-align: center;
  font-size: 10px;
  line-height: 1.5;
  background: rgba(210, 92, 83, 0.06);
}
.media-stage__unavailable svg {
  color: var(--danger);
}
.media-stage__audio {
  width: 100%;
  min-height: 120px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 20px;
  color: var(--accent, #74d5af);
}
.media-stage__audio audio {
  width: min(100%, 320px);
}
.media-stage--filled img,
.media-stage--filled video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  background: #0b0d0c;
  pointer-events: none;
}
.media-stage--filled video.media-stage__video {
  pointer-events: auto;
  cursor: default;
}
.mask-editor {
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  cursor: crosshair;
  touch-action: none;
}
.mask-tools {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  flex: 0 0 auto;
}
.mask-tools button,
.mask-tools .mask-size {
  height: 29px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0 6px;
  color: var(--ink-2);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 4px;
  font-size: 8px;
}
.mask-tools button:hover,
.mask-tools button.is-active {
  color: var(--accent-2);
  background: var(--accent-soft);
  border-color: rgba(65, 201, 155, 0.22);
}
.mask-size input {
  width: 52px;
  accent-color: var(--accent);
}
.react-flow__node:not([style*="height"]) > .flow-node.is-media-card .media-stage.has-intrinsic-ratio {
  height: auto;
  aspect-ratio: var(--media-aspect);
}
.media-stage__open {
  position: absolute;
  right: 7px;
  top: 7px;
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  color: var(--ink);
  background: rgba(10, 13, 12, 0.82);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 5px;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 140ms ease, transform 140ms ease;
}
.media-stage--filled:hover .media-stage__open {
  opacity: 1;
  transform: translateY(0);
}
.creative-resizer__line {
  border-color: rgba(65, 201, 155, 0.78) !important;
}
.creative-resizer__handle {
  width: 9px !important;
  height: 9px !important;
  background: #42d3a2 !important;
  border: 2px solid #102019 !important;
  border-radius: 2px !important;
}
.creative-toolbar,
.creative-composer {
  color: var(--ink);
  background: rgba(23, 29, 26, 0.98);
  border: 1px solid var(--line-strong);
  border-radius: 7px;
  box-shadow: 0 16px 42px rgba(2, 6, 4, 0.42);
}
.creative-toolbar {
  width: max-content;
  max-width: min(830px, calc(100vw - 680px));
  height: 43px;
  display: flex;
  align-items: center;
  gap: 2px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 4px;
  scrollbar-width: none;
}
.creative-toolbar::-webkit-scrollbar {
  display: none;
}
.creative-toolbar__source {
  height: 33px;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 6px;
  padding: 0 8px;
  color: var(--accent-2);
  font-size: 9px;
  font-weight: 700;
  white-space: nowrap;
}
.creative-toolbar__divider {
  width: 1px;
  height: 23px;
  flex: 0 0 auto;
  margin: 0 3px;
  background: var(--line);
}
.creative-toolbar button,
.creative-toolbar__more {
  height: 33px;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 5px;
  padding: 0 7px;
  color: var(--ink-2);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 5px;
  white-space: nowrap;
  font-size: 9px;
}
.creative-toolbar button:hover,
.creative-toolbar button.is-active,
.creative-toolbar__more:hover {
  color: var(--ink);
  background: var(--panel-3);
  border-color: rgba(198, 218, 208, 0.08);
}
.creative-toolbar button.is-active {
  color: var(--accent-2);
  background: var(--accent-soft);
  border-color: rgba(65, 201, 155, 0.2);
}
.creative-toolbar__more select {
  width: 42px;
  padding: 0;
  color: inherit;
  background: transparent;
  border: 0;
  outline: 0;
  font: inherit;
}
.creative-composer {
  width: min(680px, calc(100vw - 640px));
  overflow: hidden;
  padding: 10px;
}
.creative-composer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.creative-composer__head > span {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--ink-2);
  font-size: 10px;
  font-weight: 700;
}
.creative-composer__head small {
  color: var(--ink-3);
  font-size: 8px;
}
.creative-composer textarea {
  width: 100%;
  min-height: 42px;
  max-height: 64px;
  resize: none;
  padding: 7px 9px;
  color: var(--ink);
  background: #0f1412;
  border: 1px solid rgba(198, 218, 208, 0.12);
  border-radius: 5px;
  outline: 0;
  font: 10px/1.55 inherit;
}
.creative-composer textarea:focus {
  border-color: rgba(65, 201, 155, 0.5);
  box-shadow: 0 0 0 3px rgba(65, 201, 155, 0.07);
}
.creative-composer__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 6px;
  margin-top: 8px;
}
.creative-composer__footer label {
  min-width: 84px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.creative-composer__footer.is-video > label:nth-of-type(5),
.node-inline-composer__controls.is-video > label:nth-of-type(4),
.inspector-grid.is-video > label:nth-of-type(4) {
  display: none;
}
.model-duration-select {
  order: 4;
}
.creative-reference-chip {
  min-height: 29px;
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0 0 7px;
  padding: 4px 7px;
  color: var(--ink-2);
  background: rgba(65, 201, 155, 0.06);
  border: 1px solid rgba(65, 201, 155, 0.18);
  border-radius: 5px;
  font-size: 9px;
}
.creative-reference-chip img {
  width: 23px;
  height: 23px;
  flex: 0 0 auto;
  object-fit: cover;
  border-radius: 3px;
}
.creative-reference-chip span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.creative-reference-chip small {
  margin-left: auto;
  color: var(--accent-2);
  font-size: 8px;
  white-space: nowrap;
}
.creative-composer__footer label > span {
  color: var(--ink-3);
  font-size: 8px;
}
.creative-composer__footer select {
  width: 100%;
  height: 28px;
  padding: 0 7px;
  color: var(--ink-2);
  background: #101513;
  border: 1px solid rgba(198, 218, 208, 0.11);
  border-radius: 5px;
  outline: 0;
  font-size: 9px;
}
.creative-composer__run {
  width: 34px;
  height: 28px;
  display: grid;
  flex: 0 0 auto;
  order: 10;
  place-items: center;
  margin-left: auto;
  color: #07120e;
  background: var(--accent);
  border-radius: 5px;
}
.creative-composer__run:hover {
  background: var(--accent-2);
}
.creative-composer__run:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.node-inline-composer {
  width: min(560px, calc(100vw - 500px));
  padding: 10px;
  color: var(--ink);
  background: rgba(23, 29, 26, 0.98);
  border: 1px solid var(--line-strong);
  border-radius: 7px;
  box-shadow: 0 16px 42px rgba(2, 6, 4, 0.42);
}
.node-inline-composer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 7px;
}
.node-inline-composer__head span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--ink-2);
  font-size: 10px;
  font-weight: 700;
}
.node-inline-composer__head small {
  color: var(--ink-3);
  font-size: 8px;
}
.node-inline-composer textarea {
  width: 100%;
  min-height: 68px;
  padding: 8px 9px;
  resize: vertical;
  color: var(--ink);
  background: #0f1412;
  border: 1px solid rgba(198, 218, 208, 0.12);
  border-radius: 5px;
  outline: 0;
  font: 10px/1.5 inherit;
}
.node-inline-composer__controls {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 6px;
  margin-top: 8px;
}
.node-inline-composer__run {
  order: 10;
  min-height: 27px;
  margin-left: auto;
  padding: 0 11px;
  white-space: nowrap;
}
.node-inline-composer__controls label {
  min-width: 74px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.node-inline-composer__controls label span {
  color: var(--ink-3);
  font-size: 8px;
}
.node-inline-composer__controls select {
  height: 27px;
  padding: 0 6px;
  color: var(--ink-2);
  background: #101513;
  border: 1px solid rgba(198, 218, 208, 0.11);
  border-radius: 5px;
  outline: 0;
  font-size: 9px;
}
.analyze-video-button {
  min-height: 27px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0 7px;
  color: var(--accent-2);
  background: rgba(65, 201, 155, 0.08);
  border: 1px solid rgba(65, 201, 155, 0.2);
  border-radius: 5px;
  font-size: 9px;
  white-space: nowrap;
}
.analyze-video-button:hover:not(:disabled) {
  background: rgba(65, 201, 155, 0.16);
}
.analyze-video-button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.operation-placeholder {
  min-height: 122px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 18px;
  color: var(--ink-3);
  background: #111714;
  border: 1px dashed rgba(198, 218, 208, 0.15);
  border-radius: 5px;
}
.operation-placeholder__icon {
  width: 36px;
  height: 36px;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  color: var(--accent-2);
  background: var(--accent-soft);
  border-radius: 6px;
}
.operation-placeholder > div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.operation-placeholder strong {
  color: var(--ink-2);
  font-size: 11px;
}
.operation-placeholder span:last-child {
  display: -webkit-box;
  overflow: hidden;
  color: var(--ink-3);
  font-size: 9px;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.operation-reference-strip {
  min-height: 30px;
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 7px 0 0;
  padding: 5px 7px;
  color: var(--ink-3);
  background: rgba(65, 201, 155, 0.055);
  border: 1px solid rgba(65, 201, 155, 0.16);
  border-radius: 5px;
  font-size: 9px;
}
.operation-reference-strip.is-empty {
  color: var(--ink-4);
  background: rgba(198, 218, 208, 0.025);
  border-style: dashed;
}
.operation-reference-strip img,
.operation-reference-strip video {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  object-fit: cover;
  border-radius: 3px;
}
.operation-reference-strip span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.operation-reference-strip small {
  flex: 0 0 auto;
  color: var(--accent-2);
  font-size: 9px;
}
.operation-reference-roles {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 6px;
}
.operation-reference-roles span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 24px;
  padding: 3px 6px;
  color: var(--ink-3);
  background: rgba(198, 218, 208, 0.035);
  border: 1px solid var(--line);
  border-radius: 4px;
  font-size: 8px;
}
.operation-reference-roles span.is-ready {
  color: var(--success);
  border-color: rgba(99, 213, 163, 0.24);
  background: rgba(99, 213, 163, 0.07);
}
.operation-reference-roles span.is-missing {
  color: var(--amber);
  border-style: dashed;
}
.reference-composer {
  position: relative;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.reference-composer textarea {
  min-width: 0;
}
.reference-composer__tray {
  position: relative;
  min-height: 32px;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 3px 4px;
  background: rgba(65, 201, 155, 0.045);
  border: 1px solid rgba(65, 201, 155, 0.14);
  border-radius: 5px;
}
.reference-composer__thumbs {
  min-width: 0;
  display: flex;
  gap: 4px;
  overflow-x: auto;
  scrollbar-width: none;
}
.reference-composer__thumbs::-webkit-scrollbar {
  display: none;
}
.reference-thumb {
  position: relative;
  width: 28px;
  height: 28px;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 0;
  color: var(--ink-2);
  background: #0c100e;
  border: 1px solid rgba(65, 201, 155, 0.32);
  border-radius: 4px;
}
button.reference-thumb {
  cursor: pointer;
}
button.reference-thumb:hover {
  border-color: var(--accent-2);
  box-shadow: 0 0 0 2px rgba(65, 201, 155, 0.12);
}
.reference-thumb img,
.reference-thumb video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  pointer-events: none;
}
.reference-thumb > span {
  position: absolute;
  right: 2px;
  bottom: 1px;
  min-width: 10px;
  padding: 1px 2px;
  color: var(--ink);
  background: rgba(7, 10, 8, 0.78);
  border-radius: 2px;
  font-size: 7px;
  line-height: 1;
  text-align: center;
}
.reference-composer__at {
  width: 25px;
  height: 25px;
  flex: 0 0 auto;
  margin-left: auto;
  padding: 0;
  color: var(--accent-2);
  background: rgba(65, 201, 155, 0.09);
  border: 1px solid rgba(65, 201, 155, 0.25);
  border-radius: 4px;
  font-size: 13px;
  font-weight: 700;
}
.reference-composer__at:hover {
  background: rgba(65, 201, 155, 0.17);
}
.reference-picker {
  position: absolute;
  z-index: 6;
  left: 4px;
  bottom: calc(100% + 4px);
  width: min(250px, calc(100% - 8px));
  display: grid;
  gap: 2px;
  padding: 5px;
  background: #19211d;
  border: 1px solid var(--line-strong);
  border-radius: 5px;
  box-shadow: 0 12px 28px rgba(2, 6, 4, 0.42);
}
.reference-picker > button {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 4px;
  color: var(--ink-2);
  background: transparent;
  border: 0;
  border-radius: 3px;
  text-align: left;
  font-size: 9px;
}
.reference-picker > button:hover {
  color: var(--ink);
  background: var(--panel-3);
}
.reference-picker > button > span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.video-prompt-status {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 5px 0 0;
  color: var(--accent-2);
  font-size: 8px;
}
.node-inspector {
  position: absolute;
  z-index: 35;
  top: 12px;
  right: 12px;
  width: 350px;
  max-height: calc(100% - 24px);
  display: grid;
  grid-template-rows: 49px minmax(0, 1fr) 54px;
  overflow: hidden;
  color: var(--ink);
  background: rgba(21, 27, 24, 0.98);
  border: 1px solid rgba(65, 201, 155, 0.32);
  border-radius: 7px;
  box-shadow: 0 22px 60px rgba(1, 5, 3, 0.46);
}
.node-inspector__header {
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr) auto 27px;
  align-items: center;
  gap: 8px;
  padding: 0 9px;
  background: #1a211e;
  border-bottom: 1px solid var(--line);
}
.node-inspector__header > div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.node-inspector__header strong,
.node-inspector__header small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.node-inspector__header strong {
  font-size: 11px;
}
.node-inspector__header small {
  color: var(--ink-3);
  font-size: 8px;
}
.node-inspector__body {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-color: #34423c transparent;
  scrollbar-width: thin;
}
.inspector-section {
  padding: 11px;
}
.inspector-section + .inspector-section {
  border-top: 1px solid rgba(198, 218, 208, 0.07);
}
.inspector-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px 7px;
}
.node-inspector .execution-row {
  align-items: stretch;
  flex-direction: column;
}
.node-inspector .workflow-select {
  width: 100%;
}
.node-inspector__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 9px;
  padding: 0 11px;
  background: #121715;
  border-top: 1px solid var(--line);
}
.node-inspector__footer .route-caption {
  font-size: 9px;
}
.text-result {
  width: 100%;
  max-height: 154px;
  min-height: 112px;
  overflow: hidden;
  padding: 12px;
  color: var(--ink-2);
  text-align: left;
  white-space: pre-wrap;
  line-height: 1.55;
  background: #101513;
  border: 1px solid rgba(198, 218, 208, 0.085);
  border-radius: 5px;
  font-size: 11px;
}
.node-footer,
.node-run-row,
.execution-row,
.film-options {
  display: flex;
  align-items: center;
  gap: 7px;
}
.node-footer {
  margin-top: 8px;
}
.film-help {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 7px 0;
  color: var(--ink-3);
  font-size: 10px;
  line-height: 1.4;
}
.secondary-button,
.primary-button,
.run-button,
.stop-button {
  min-height: 30px;
  padding: 0 10px;
  font-size: 11px;
  font-weight: 650;
}
.primary-button,
.run-button {
  color: #07120e;
  border-color: var(--accent);
  background: var(--accent);
}
.primary-button:hover,
.run-button:hover {
  color: #050b08;
  border-color: var(--accent-2);
  background: var(--accent-2);
}
.stop-button {
  color: #f7aea5;
  border-color: rgba(239, 113, 103, 0.24);
  background: rgba(239, 113, 103, 0.09);
}
.file-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--ink-3);
  font-size: 9px;
}
.field-label,
.compact-grid label,
.film-options label,
.dialog-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.field-label > span,
.compact-grid label > span,
.film-options label > span,
.dialog-field > span {
  color: var(--ink-3);
  font-size: 9px;
  font-weight: 650;
}
.field-label textarea,
.compact-grid select,
.film-options select,
.workflow-select,
.dialog-field input,
.dialog-field select,
.agent-composer textarea {
  border: 1px solid rgba(198, 218, 208, 0.12);
  color: var(--ink-2);
  background: #101412;
  border-radius: 5px;
}
.field-label textarea {
  width: 100%;
  min-height: 61px;
  resize: vertical;
  padding: 7px 8px;
  line-height: 1.45;
  font-size: 10px;
}
.field-label textarea:focus,
.compact-grid select:focus,
.film-options select:focus,
.workflow-select:focus,
.dialog-field input:focus,
.dialog-field select:focus,
.agent-composer textarea:focus {
  border-color: rgba(65, 201, 155, 0.5);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(65, 201, 155, 0.07);
}
.compact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}
.compact-grid select,
.film-options select,
.workflow-select {
  min-width: 0;
  height: 27px;
  padding: 0 5px;
  font-size: 9px;
}
.execution-row {
  justify-content: space-between;
}
.segmented {
  flex: 0 0 auto;
  display: flex;
  padding: 2px;
  background: #0e1210;
  border: 1px solid rgba(198, 218, 208, 0.1);
  border-radius: 5px;
}
.segmented button {
  height: 22px;
  padding: 0 7px;
  color: var(--ink-3);
  background: transparent;
  border-radius: 3px;
  font-size: 9px;
}
.segmented button:hover {
  color: var(--ink-2);
}
.segmented button.is-active {
  color: var(--accent-2);
  background: var(--accent-soft);
}
.workflow-select {
  width: 142px;
  text-overflow: ellipsis;
}
.node-run-row {
  justify-content: space-between;
  min-height: 30px;
}
.route-caption {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--ink-3);
  font-size: 9px;
}
.node-error {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  padding: 7px;
  color: #f2aaa3;
  background: rgba(239, 113, 103, 0.075);
  border: 1px solid rgba(239, 113, 103, 0.14);
  border-radius: 5px;
  font-size: 9px;
  line-height: 1.4;
}
.node-error svg {
  flex: 0 0 auto;
  margin-top: 1px;
}
.node-running-line {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  overflow: hidden;
  border-radius: 0 0 7px 7px;
  background: rgba(65, 201, 155, 0.1);
}
.node-running-line::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 36%;
  background: var(--accent);
  animation: working-line 1.3s ease-in-out infinite;
}
@keyframes working-line {
  from { left: -36%; }
  to { left: 100%; }
}
.spin {
  animation: spin 900ms linear infinite;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}
.result-switcher {
  height: 23px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  margin-top: -4px;
}
.result-switcher button {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  color: var(--ink-3);
  background: transparent;
  border-radius: 4px;
}
.result-switcher button:hover {
  color: var(--ink);
  background: var(--panel-3);
}
.result-switcher span {
  color: var(--ink-3);
  font-size: 9px;
  font-variant-numeric: tabular-nums;
}
.typed-handle {
  width: 11px !important;
  height: 11px !important;
  border: 2px solid #19201d !important;
  background: var(--accent) !important;
  box-shadow: 0 0 0 1px rgba(65, 201, 155, 0.45);
}
.typed-handle--video {
  background: var(--coral) !important;
  box-shadow: 0 0 0 1px rgba(217, 120, 93, 0.45);
}
.typed-handle--text {
  background: var(--amber) !important;
  box-shadow: 0 0 0 1px rgba(226, 181, 95, 0.45);
}
.typed-handle-caption {
  position: absolute;
  left: 14px;
  transform: translateY(-50%);
  pointer-events: none;
  color: var(--muted);
  font-size: 10px;
  line-height: 1;
  white-space: nowrap;
  opacity: 0.78;
}
.typed-handle-caption--image {
  color: var(--mint);
}
.typed-handle-caption--video {
  color: var(--coral);
}
.react-flow__edge-path {
  stroke: #60736a;
  stroke-width: 1.45;
}
.react-flow__edge.selected .react-flow__edge-path,
.react-flow__edge:hover .react-flow__edge-path {
  stroke: var(--accent);
  stroke-width: 2;
}
.react-flow__arrowhead polyline {
  stroke: #60736a;
  fill: #60736a;
}
.group-node {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 1px dashed rgba(198, 218, 208, 0.2);
  border-radius: 7px;
  background: rgba(32, 39, 36, 0.22);
}
.group-node__header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 34px;
  display: grid;
  grid-template-columns: 19px minmax(0, 1fr) 25px;
  align-items: center;
  gap: 5px;
  padding: 0 7px;
  color: var(--ink-3);
  background: rgba(26, 32, 30, 0.7);
  border-bottom: 1px dashed rgba(198, 218, 208, 0.14);
  border-radius: 6px 6px 0 0;
  cursor: grab;
}
.group-node__header input {
  min-width: 0;
  border: 0;
  outline: 0;
  color: var(--ink-2);
  background: transparent;
  font-size: 10px;
  font-weight: 650;
}
.react-flow__controls {
  left: 12px !important;
  bottom: 12px !important;
  display: flex;
  overflow: hidden;
  border: 1px solid var(--line) !important;
  border-radius: 6px !important;
  box-shadow: var(--shadow) !important;
}
.react-flow__controls button {
  width: 29px !important;
  height: 29px !important;
  color: var(--ink-2) !important;
  fill: var(--ink-2) !important;
  background: rgba(22, 28, 25, 0.95) !important;
  border: 0 !important;
  border-right: 1px solid var(--line) !important;
}
.react-flow__controls button:last-child {
  border-right: 0 !important;
}
.react-flow__controls button:hover {
  color: var(--ink) !important;
  fill: var(--ink) !important;
  background: var(--panel-3) !important;
}
.react-flow__minimap {
  left: 12px !important;
  bottom: 51px !important;
  width: 146px !important;
  height: 86px !important;
  overflow: hidden;
  background: rgba(16, 20, 18, 0.94) !important;
  border: 1px solid var(--line);
  border-radius: 6px;
  box-shadow: var(--shadow);
}
.empty-canvas {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: 48%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.empty-canvas__icon {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  color: var(--accent-2);
  background: var(--accent-soft);
  border: 1px solid rgba(65, 201, 155, 0.18);
  border-radius: 7px;
}
.empty-canvas strong {
  color: var(--ink-2);
  font-size: 12px;
}
.empty-canvas button {
  pointer-events: auto;
}
.agent-panel {
  display: grid;
  grid-template-rows: 43px minmax(0, 1fr);
  border-left: 1px solid var(--line);
  box-shadow: -12px 0 34px rgba(3, 7, 5, 0.1);
}
.agent-panel__head {
  display: flex;
  align-items: stretch;
  min-width: 0;
  border-bottom: 1px solid var(--line);
  background: #141917;
}
.agent-panel__head .agent-tabs {
  flex: 1;
  min-width: 0;
  border-bottom: 0;
}
.agent-close {
  width: 34px;
  height: 34px;
  align-self: center;
  margin-right: 4px;
}
.agent-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: end;
  padding: 0 8px;
  border-bottom: 1px solid var(--line);
  background: #141917;
}
.agent-tabs button {
  position: relative;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: var(--ink-3);
  background: transparent;
  border-bottom: 2px solid transparent;
  font-size: 10px;
}
.agent-tabs button:hover {
  color: var(--ink-2);
}
.agent-tabs button.is-active {
  color: var(--ink);
  border-bottom-color: var(--accent);
}
.tab-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--amber);
  box-shadow: 0 0 8px rgba(226, 181, 95, 0.5);
}
.agent-content,
.review-content,
.tasks-content {
  min-height: 0;
  overflow-y: auto;
  padding: 12px;
  scrollbar-width: thin;
  scrollbar-color: #34423c transparent;
}
.agent-content {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  overflow: hidden;
}
.agent-context {
  display: none;
}
.panel-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 23px;
  color: var(--ink-2);
  font-size: 10px;
  font-weight: 700;
}
.panel-section-title small {
  color: var(--ink-3);
  font-size: 9px;
  font-weight: 500;
}
.selected-context-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.context-chip {
  max-width: 142px;
  height: 31px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 3px 7px 3px 3px;
  color: var(--ink-2);
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 5px;
  font-size: 9px;
}
.context-chip img {
  width: 25px;
  height: 25px;
  object-fit: cover;
  border-radius: 4px;
  background: #0c0f0e;
}
.context-chip span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.compact-empty {
  height: 58px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: var(--ink-3);
  background: rgba(255, 255, 255, 0.018);
  border: 1px dashed rgba(198, 218, 208, 0.12);
  border-radius: 6px;
  font-size: 9px;
}
.agent-presets {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.preset-button {
  width: 100%;
  min-height: 49px;
  display: grid;
  grid-template-columns: 31px minmax(0, 1fr) 16px;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  color: var(--ink-2);
  text-align: left;
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 6px;
  transition: background 140ms ease, border-color 140ms ease;
}
.preset-button:hover {
  color: var(--ink);
  background: var(--panel-3);
  border-color: rgba(65, 201, 155, 0.26);
}
.preset-button > span {
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  color: var(--accent-2);
  background: var(--accent-soft);
  border-radius: 5px;
}
.preset-button div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.preset-button strong,
.preset-button small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.preset-button strong {
  font-size: 10px;
}
.preset-button small {
  color: var(--ink-3);
  font-size: 9px;
}
.preset-button > svg {
  color: var(--ink-3);
}
.agent-route-card {
  padding: 10px;
  background: #121a17;
  border: 1px solid rgba(65, 201, 155, 0.14);
  border-radius: 6px;
}
.agent-route-card > div:first-child {
  display: flex;
  align-items: center;
  gap: 7px;
}
.agent-route-card strong {
  font-size: 10px;
}
.agent-route-card p {
  margin: 7px 0 9px;
  color: var(--ink-3);
  font-size: 9px;
  line-height: 1.5;
}
.route-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 8px;
}
.route-pills span {
  padding: 3px 6px;
  color: var(--ink-2);
  background: rgba(255, 255, 255, 0.035);
  border-radius: 4px;
  font-size: 8px;
}
.agent-composer {
  min-height: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  margin-top: 0;
  padding: 0;
  border-top: 0;
}
.agent-reference-strip {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 46px;
  padding: 7px 12px;
  color: var(--ink-3);
  background: #101513;
  border-bottom: 1px solid var(--line);
}
.agent-reference-strip__label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--ink-2);
  font-size: 9px;
  font-weight: 650;
}
.agent-reference-strip__items {
  display: flex;
  gap: 4px;
  min-width: 0;
}
.agent-reference-chip {
  position: relative;
  width: 29px;
  height: 29px;
  flex: 0 0 auto;
  overflow: hidden;
  border: 1px solid rgba(65, 201, 155, 0.32);
  border-radius: 4px;
  background: #0c0f0e;
}
.agent-reference-chip img,
.agent-reference-chip video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.agent-reference-chip i {
  position: absolute;
  right: 2px;
  bottom: 1px;
  min-width: 11px;
  padding: 1px 2px;
  color: var(--ink);
  background: rgba(7, 10, 8, 0.78);
  border-radius: 2px;
  font-size: 7px;
  font-style: normal;
  line-height: 1;
  text-align: center;
}
.agent-reference-strip > small {
  margin-left: auto;
  color: var(--ink-3);
  font-size: 8px;
  white-space: nowrap;
}
.agent-chat-log {
  flex: 1;
  min-height: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
  overflow-y: auto;
  overflow-x: hidden;
  margin: 0;
  padding: 16px 14px 12px;
  scrollbar-width: thin;
  scrollbar-color: #34423c transparent;
}
.agent-empty-dialog {
  min-height: 150px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: auto 0;
  color: var(--ink-3);
  text-align: center;
}
.agent-empty-dialog svg {
  color: var(--accent-2);
}
.agent-empty-dialog strong {
  color: var(--ink-2);
  font-size: 12px;
}
.agent-empty-dialog span {
  max-width: 230px;
  font-size: 10px;
  line-height: 1.5;
}
.agent-message {
  min-width: 0;
  max-width: 100%;
  padding: 8px 9px;
  color: var(--ink-2);
  background: #111714;
  border: 1px solid rgba(198, 218, 208, 0.09);
  border-radius: 6px;
  font-size: 10px;
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.agent-message--user {
  align-self: flex-end;
  color: var(--ink);
  background: var(--accent-soft);
  border-color: rgba(65, 201, 155, 0.2);
}
.agent-message--pending {
  color: var(--ink-3);
  border-style: dashed;
}
.agent-mode-switch {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3px;
  margin: 0 12px 7px;
  padding: 3px;
  background: #101412;
  border: 1px solid var(--line);
  border-radius: 5px;
}
.agent-mode-switch button {
  height: 26px;
  color: var(--ink-3);
  background: transparent;
  border-radius: 4px;
  font-size: 9px;
}
.agent-mode-switch button:hover,
.agent-mode-switch button.is-active {
  color: var(--ink);
  background: var(--panel-3);
}
.agent-composer label {
  display: block;
  margin-bottom: 6px;
  color: var(--ink-3);
  font-size: 9px;
  font-weight: 650;
}
.agent-composer textarea {
  width: 100%;
  min-height: 42px;
  max-height: 64px;
  padding: 9px;
  resize: none;
  line-height: 1.5;
  font-size: 10px;
}
.agent-input-row {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px;
  gap: 6px;
  margin: 0 12px 12px;
  align-items: end;
}
.agent-send-button {
  width: 34px;
  min-height: 34px;
  padding: 0;
}
.agent-confirm-card {
  display: grid;
  gap: 6px;
  margin: 0 12px 8px;
  padding: 9px;
  background: rgba(65, 201, 155, 0.07);
  border: 1px solid rgba(65, 201, 155, 0.2);
  border-radius: 6px;
}
.agent-confirm-card.is-revising {
  display: none;
}
.agent-confirm-card > div:first-child {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--ink-2);
  font-size: 9px;
}
.agent-confirm-card small {
  color: var(--ink-3);
  font-size: 8px;
}
.agent-confirm-card__actions {
  display: flex;
  gap: 6px;
}
.agent-confirm-card__actions button {
  min-height: 28px;
  padding: 0 9px;
  font-size: 9px;
}
.review-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
}
.review-tile {
  position: relative;
  aspect-ratio: 1 / 1;
  min-width: 0;
  overflow: hidden;
  padding: 0;
  color: var(--ink-2);
  background: #0d100f;
  border: 1px solid var(--line);
  border-radius: 6px;
}
.review-tile:hover {
  border-color: rgba(65, 201, 155, 0.4);
}
.review-tile img,
.review-tile video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.review-tile > span:last-child {
  position: absolute;
  left: 5px;
  right: 5px;
  bottom: 5px;
  overflow: hidden;
  padding: 4px 5px;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--ink);
  background: rgba(7, 10, 8, 0.78);
  border-radius: 4px;
  font-size: 8px;
}
.review-text {
  position: static !important;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 7px;
  padding: 12px !important;
  white-space: normal !important;
  text-align: center;
  color: var(--ink-2) !important;
  background: transparent !important;
  line-height: 1.45;
}
.task-row {
  display: grid;
  grid-template-columns: 27px minmax(0, 1fr) 25px;
  align-items: start;
  gap: 8px;
  padding: 9px 0;
  border-bottom: 1px solid rgba(198, 218, 208, 0.07);
}
.task-icon {
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  color: var(--ink-3);
  background: rgba(255, 255, 255, 0.035);
  border-radius: 5px;
}
.task-icon--working { color: var(--amber); background: rgba(226, 181, 95, 0.09); }
.task-icon--success { color: var(--success); background: rgba(99, 213, 163, 0.09); }
.task-icon--error { color: var(--danger); background: rgba(239, 113, 103, 0.09); }
.task-row > div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.task-row > .task-row__actions {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  gap: 4px;
}
.task-row strong,
.task-row small,
.task-row em {
  overflow: hidden;
  text-overflow: ellipsis;
}
.task-row strong {
  white-space: nowrap;
  color: var(--ink-2);
  font-size: 10px;
}
.task-row small {
  color: var(--ink-3);
  font-size: 8px;
}
.task-row em {
  max-height: 30px;
  color: #ec938b;
  font-size: 8px;
  font-style: normal;
  line-height: 1.4;
}
.panel-empty {
  min-height: 150px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 9px;
  color: var(--ink-3);
}
.panel-empty strong {
  font-size: 10px;
  font-weight: 550;
}
.batch-toolbar {
  position: absolute;
  z-index: 14;
  left: 50%;
  bottom: 18px;
  display: flex;
  align-items: center;
  gap: 3px;
  padding: 5px;
  transform: translateX(-50%);
  background: rgba(21, 27, 24, 0.97);
  border: 1px solid var(--line-strong);
  border-radius: 7px;
  box-shadow: 0 18px 46px rgba(2, 6, 4, 0.38);
}
.batch-toolbar > span {
  height: 29px;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 0 9px;
  color: var(--ink-3);
  border-right: 1px solid var(--line);
  font-size: 9px;
}
.batch-toolbar > span strong {
  color: var(--accent-2);
  font-variant-numeric: tabular-nums;
}
.batch-toolbar > .batch-toolbar__divider {
  width: 1px;
  height: 20px;
  padding: 0;
  border: 0;
  background: var(--line);
}
.batch-toolbar button {
  height: 29px;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 0 8px;
  color: var(--ink-2);
  background: transparent;
  border-radius: 5px;
  white-space: nowrap;
  font-size: 9px;
}
.batch-toolbar button:hover {
  color: var(--ink);
  background: var(--panel-3);
}
.batch-toolbar button.batch-toolbar__primary {
  color: #d5fff0;
  background: rgba(65, 201, 155, 0.16);
  border: 1px solid rgba(96, 222, 177, 0.3);
}
.batch-toolbar button.batch-toolbar__primary:hover {
  color: #effff8;
  background: rgba(65, 201, 155, 0.26);
  border-color: rgba(122, 238, 197, 0.52);
}
.batch-toolbar button.is-danger:hover {
  color: #f3a39b;
  background: rgba(239, 113, 103, 0.09);
}
.canvas-context-menu {
  position: fixed;
  z-index: 100;
  width: 176px;
  padding: 6px;
  background: rgba(22, 28, 25, 0.98);
  border: 1px solid var(--line-strong);
  border-radius: 7px;
  box-shadow: var(--shadow);
}
.connection-menu {
  max-height: min(560px, calc(100vh - 24px));
  overflow-y: auto;
  scrollbar-width: thin;
}
.canvas-context-menu > span {
  display: block;
  padding: 5px 7px 7px;
  color: var(--ink-3);
  font-size: 9px;
  font-weight: 650;
}
.canvas-context-menu button {
  width: 100%;
  height: 31px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 7px;
  color: var(--ink-2);
  text-align: left;
  background: transparent;
  border-radius: 5px;
  font-size: 10px;
}
.canvas-context-menu button:hover {
  color: var(--ink);
  background: var(--panel-3);
}
.dialog-backdrop {
  position: fixed;
  z-index: 1000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 26px;
  background: rgba(3, 6, 5, 0.76);
  backdrop-filter: blur(7px);
}
.dialog {
  width: min(560px, 100%);
  max-height: calc(100vh - 52px);
  overflow: hidden;
  color: var(--ink);
  background: #151a18;
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.5);
}
.dialog--wide {
  width: min(880px, 100%);
}
.dialog__header {
  height: 57px;
  display: grid;
  grid-template-columns: 31px minmax(0, 1fr) 32px;
  align-items: center;
  gap: 10px;
  padding: 0 12px 0 15px;
  border-bottom: 1px solid var(--line);
  background: #181e1b;
}
.dialog__icon {
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  color: var(--accent-2);
  background: var(--accent-soft);
  border-radius: 6px;
}
.dialog__header > div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.dialog__header strong {
  font-size: 12px;
}
.dialog__header small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--ink-3);
  font-size: 9px;
}
.dialog__footer {
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  padding: 0 14px;
  border-top: 1px solid var(--line);
  background: #131815;
}
.dialog-error {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  margin: 0 14px 10px;
  padding: 8px 9px;
  color: #f2aaa3;
  background: rgba(239, 113, 103, 0.075);
  border: 1px solid rgba(239, 113, 103, 0.16);
  border-radius: 5px;
  font-size: 9px;
  line-height: 1.45;
}
.dialog-error svg {
  flex: 0 0 auto;
}
.project-dialog__body,
.assets-dialog__body {
  min-height: 250px;
  max-height: calc(100vh - 110px);
  overflow-y: auto;
  padding: 14px;
}
.project-dialog__toolbar,
.assets-dialog__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.assets-dialog__body > .dialog-error {
  margin: 0 0 10px;
}
.dialog-note {
  color: var(--ink-3);
  font-size: 9px;
  line-height: 1.45;
}
.project-list {
  display: grid;
  gap: 7px;
}
.project-row {
  min-width: 0;
  min-height: 68px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 10px;
  padding: 7px 9px;
  color: var(--ink-2);
  background: #181e1c;
  border: 1px solid var(--line);
  border-radius: 7px;
}
.project-row:hover {
  border-color: var(--line-strong);
  background: #1b2420;
}
.project-row.is-active {
  border-color: rgba(65, 201, 155, 0.38);
  box-shadow: inset 3px 0 0 var(--accent);
}
.project-row__main {
  min-width: 0;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  padding: 2px 0;
  color: inherit;
  text-align: left;
  background: transparent;
}
.project-row__icon {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  color: var(--accent-2);
  background: var(--accent-soft);
  border-radius: 6px;
}
.project-row__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.project-row__content strong,
.project-row__content small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.project-row__content strong {
  color: var(--ink-2);
  font-size: 11px;
}
.project-row__content small {
  color: var(--ink-3);
  font-size: 9px;
}
.project-row__active {
  padding: 4px 7px;
  color: var(--success);
  background: rgba(99, 213, 163, 0.09);
  border: 1px solid rgba(99, 213, 163, 0.16);
  border-radius: 4px;
  font-size: 8px;
  white-space: nowrap;
}
.project-row__delete {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  color: var(--ink-3);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 5px;
}
.project-row__delete:hover {
  color: var(--danger);
  background: rgba(239, 113, 103, 0.09);
  border-color: rgba(239, 113, 103, 0.18);
}
.asset-library-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.asset-library-item {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 7px;
  background: #181e1c;
  border: 1px solid var(--line);
  border-radius: 7px;
}
.asset-library-item:hover {
  border-color: var(--line-strong);
}
.asset-library-item__preview {
  width: 100%;
  aspect-ratio: 4 / 3;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 0;
  background: #0e1210;
  border: 0;
  border-radius: 5px;
}
.asset-library-item__preview img,
.asset-library-item__preview video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}
.asset-library-item__preview:hover {
  box-shadow: inset 0 0 0 1px rgba(65, 201, 155, 0.44);
}
.asset-library-item__meta {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.asset-library-item__meta strong,
.asset-library-item__meta small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.asset-library-item__meta strong {
  color: var(--ink-2);
  font-size: 10px;
}
.asset-library-item__meta small {
  color: var(--ink-3);
  font-size: 8px;
}
.asset-library-item__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
}
.asset-library-item__actions button {
  min-width: 0;
  padding: 0 5px;
  font-size: 8px;
  white-space: nowrap;
}
.provider-grid {
  max-height: calc(100vh - 168px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  overflow-y: auto;
  padding: 14px;
}
.provider-card {
  padding: 12px;
  background: #181e1c;
  border: 1px solid var(--line);
  border-radius: 7px;
}
.provider-card--wide {
  grid-column: 1 / -1;
}
.provider-card > header {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  margin-bottom: 12px;
}
.provider-logo {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  color: var(--accent-2);
  background: var(--accent-soft);
  border-radius: 6px;
}
.provider-logo--local {
  color: #f0c878;
  background: rgba(226, 181, 95, 0.11);
}
.provider-logo--api {
  color: #efa08b;
  background: var(--coral-soft);
}
.provider-logo--text {
  color: #8ed7bc;
  background: rgba(65, 201, 155, 0.1);
}
.provider-logo--image {
  color: #d7c182;
  background: rgba(215, 193, 130, 0.1);
}
.provider-logo--video {
  color: #ef9c89;
  background: rgba(239, 156, 137, 0.1);
}
.provider-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.provider-card header > div {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.provider-card header strong {
  font-size: 11px;
}
.provider-card header small {
  color: var(--ink-3);
  font-size: 9px;
}
.provider-state {
  padding: 3px 6px;
  color: var(--ink-3);
  background: rgba(255, 255, 255, 0.035);
  border-radius: 4px;
  font-size: 8px;
}
.provider-state.is-ready {
  color: var(--success);
  background: rgba(99, 213, 163, 0.09);
}
.provider-card dl {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 7px;
  margin: 0;
}
.provider-card dl div {
  padding: 8px;
  background: #111513;
  border-radius: 5px;
}
.provider-card dt {
  color: var(--ink-3);
  font-size: 8px;
}
.provider-card dd {
  margin: 4px 0 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--ink-2);
  font-size: 10px;
}
.switch {
  position: relative;
  width: 34px;
  height: 20px;
}
.switch input {
  position: absolute;
  opacity: 0;
}
.switch span {
  position: absolute;
  inset: 0;
  background: #2a332f;
  border: 1px solid var(--line);
  border-radius: 10px;
  transition: background 140ms ease;
}
.switch span::after {
  content: "";
  position: absolute;
  left: 2px;
  top: 2px;
  width: 14px;
  height: 14px;
  background: #9aa8a1;
  border-radius: 50%;
  transition: transform 140ms ease, background 140ms ease;
}
.switch input:checked + span {
  background: rgba(65, 201, 155, 0.26);
  border-color: rgba(65, 201, 155, 0.4);
}
.switch input:checked + span::after {
  transform: translateX(14px);
  background: var(--accent-2);
}
.dialog-field {
  margin-top: 9px;
}
.dialog-field input,
.dialog-field select {
  width: 100%;
  height: 34px;
  padding: 0 9px;
  font-size: 10px;
}
.provider-fields-row {
  display: grid;
  grid-template-columns: 1.45fr 1fr;
  gap: 10px;
}
.provider-contract {
  margin: 10px 0 0;
  padding: 8px;
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--ink-3);
  background: #111513;
  border: 1px solid var(--line);
  border-radius: 5px;
  font-size: 8px;
  line-height: 1.55;
}
.provider-contract svg {
  flex: 0 0 auto;
  color: var(--accent-2);
}
.workflow-dialog-grid {
  max-height: calc(100vh - 110px);
  display: grid;
  grid-template-columns: 1fr 1.12fr;
  min-height: 430px;
}
.workflow-import,
.workflow-list-section {
  min-width: 0;
  padding: 15px;
}
.workflow-import {
  border-right: 1px solid var(--line);
}
.workflow-drop {
  height: 132px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin: 13px 0;
  color: var(--ink-3);
  background: #111513;
  border: 1px dashed rgba(198, 218, 208, 0.18);
  border-radius: 6px;
}
.workflow-drop:hover {
  color: var(--ink-2);
  border-color: rgba(65, 201, 155, 0.4);
}
.workflow-drop input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.workflow-drop strong {
  max-width: 90%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 10px;
}
.workflow-drop span {
  font-size: 8px;
}
.workflow-import > .primary-button {
  width: 100%;
}
.workflow-list-section {
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}
.workflow-list {
  min-height: 0;
  overflow-y: auto;
}
.workflow-list article {
  min-height: 48px;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto 25px;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid rgba(198, 218, 208, 0.07);
}
.workflow-list article > span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  color: var(--accent-2);
  background: var(--accent-soft);
  border-radius: 5px;
}
.workflow-list article > div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.workflow-list article strong,
.workflow-list article small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.workflow-list article strong { color: var(--ink-2); font-size: 10px; }
.workflow-list article small { color: var(--ink-3); font-size: 8px; }
.workflow-list article em { color: var(--success); font-size: 8px; font-style: normal; }
.media-viewer {
  position: fixed;
  z-index: 1100;
  inset: 0;
  display: grid;
  grid-template-rows: 54px minmax(0, 1fr) 51px;
  background: rgba(5, 7, 6, 0.96);
  backdrop-filter: blur(12px);
}
.media-viewer > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 14px 0 18px;
  border-bottom: 1px solid var(--line);
}
.media-viewer > header > div:first-child {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.media-viewer > header strong {
  max-width: 60vw;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
}
.media-viewer > header small {
  color: var(--ink-3);
  font-size: 8px;
}
.media-viewer > header > div:last-child {
  display: flex;
  gap: 6px;
}
.media-viewer__stage {
  position: relative;
  min-height: 0;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 70px;
  overflow: auto;
}
.media-viewer__stage img,
.media-viewer__stage video {
  display: block;
  width: auto;
  height: auto;
  max-width: min(100%, calc(100vw - 140px));
  max-height: calc(100vh - 135px);
  min-width: 0;
  min-height: 0;
  object-fit: contain;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.42);
}
.media-viewer__stage pre {
  width: min(820px, 90%);
  max-height: 80%;
  overflow: auto;
  padding: 25px;
  white-space: pre-wrap;
  color: var(--ink-2);
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 7px;
  font: 14px/1.7 inherit;
}
.viewer-arrow {
  position: absolute;
  top: 50%;
  width: 38px;
  height: 46px;
  display: grid;
  place-items: center;
  color: var(--ink-2);
  background: rgba(22, 28, 25, 0.88);
  border: 1px solid var(--line);
  border-radius: 6px;
  transform: translateY(-50%);
}
.viewer-arrow:hover {
  color: var(--ink);
  background: var(--panel-3);
}
.viewer-arrow--left { left: 16px; }
.viewer-arrow--right { right: 16px; }
.media-viewer__tools {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 0 12px;
  border-top: 1px solid var(--line);
}
.media-viewer__tools button {
  height: 31px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 9px;
  color: var(--ink-2);
  background: transparent;
  border-radius: 5px;
  font-size: 9px;
}
.media-viewer__tools button:hover {
  color: var(--ink);
  background: var(--panel-3);
}
.media-viewer__tools > span {
  margin-left: 9px;
  color: var(--ink-3);
  font-size: 9px;
  font-variant-numeric: tabular-nums;
}
.toast-stack {
  position: fixed;
  z-index: 1200;
  right: 16px;
  bottom: 16px;
  width: 294px;
  display: flex;
  flex-direction: column;
  gap: 7px;
  pointer-events: none;
}
.toast {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 8px;
  padding: 10px;
  color: var(--ink-2);
  background: rgba(23, 29, 26, 0.98);
  border: 1px solid var(--line-strong);
  border-radius: 7px;
  box-shadow: var(--shadow);
}
.toast > svg {
  margin-top: 1px;
  color: var(--accent-2);
}
.toast--error > svg { color: var(--danger); }
.toast--success > svg { color: var(--success); }
.toast > div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.toast strong {
  font-size: 10px;
}
.toast span {
  color: var(--ink-3);
  font-size: 9px;
  line-height: 1.4;
}
@media (max-width: 1380px) {
  :root {
    --rail-width: 72px;
    --brand-width: 205px;
    --agent-width: 304px;
  }

  .topbar {
    grid-template-columns: var(--brand-width) minmax(180px, 1fr) 170px auto;
  }

  .catalog-item {
    grid-template-columns: 24px minmax(0, 1fr);
    padding: 5px;
  }

  .catalog-item__icon {
    width: 24px;
    height: 24px;
  }
}
@media (max-width: 1080px) {
  .canvas-title-input,
  .engine-button span:nth-child(2),
  .topbar-command span {
    display: none;
  }

  .topbar {
    grid-template-columns: var(--brand-width) minmax(160px, 1fr) auto;
  }

  .topbar-actions {
    grid-column: 3;
  }

  .engine-button {
    min-width: 50px;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9AeHlmbG93L3JlYWN0L2Rpc3Qvc3R5bGUuY3NzIiwic3JjL3N0eWxlcy5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNEVBQTRFO0FBQzVFLGtHQUFrRztBQUNsRztFQUNFLGNBQWM7O0VBRWQsaUNBQWlDO0VBQ2pDLGlDQUFpQztFQUNqQyx1Q0FBdUM7O0VBRXZDLDJDQUEyQztFQUMzQywyQ0FBMkM7O0VBRTNDLG1FQUFtRTs7RUFFbkUsMkNBQTJDO0VBQzNDLG9FQUFvRTtFQUNwRSxtREFBbUQ7RUFDbkQseUNBQXlDO0VBQ3pDLG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQseUNBQXlDOztFQUV6QywwQ0FBMEM7RUFDMUMsbURBQW1EO0VBQ25ELGlEQUFpRDtFQUNqRCxvREFBb0Q7RUFDcEQsZ0ZBQWdGO0VBQ2hGLGdDQUFnQztFQUNoQywyQ0FBMkM7RUFDM0Msd0NBQXdDO0VBQ3hDLG1FQUFtRTtFQUNuRSxvRUFBb0U7RUFDcEUseURBQXlEO0VBQ3pELG9DQUFvQzs7RUFFcEMsNkNBQTZDO0VBQzdDLHNDQUFzQzs7RUFFdEMsK0RBQStEO0VBQy9ELCtEQUErRDs7RUFFL0Qsc0RBQXNEO0VBQ3RELDREQUE0RDtFQUM1RCwyQ0FBMkM7RUFDM0MsaURBQWlEO0VBQ2pELCtDQUErQztFQUMvQyxpRUFBaUU7O0VBRWpFLGlEQUFpRDtFQUNqRCxzQ0FBc0M7RUFDdEMsNkNBQTZDO0FBQy9DO0FBQ0E7RUFDRSxpQ0FBaUM7RUFDakMsaUNBQWlDO0VBQ2pDLDBDQUEwQzs7RUFFMUMsMkNBQTJDO0VBQzNDLDJDQUEyQzs7RUFFM0Msb0VBQW9FOztFQUVwRSw4Q0FBOEM7RUFDOUMsaUVBQWlFO0VBQ2pFLG1EQUFtRDtFQUNuRCx5Q0FBeUM7RUFDekMsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCx5Q0FBeUM7O0VBRXpDLHNDQUFzQztFQUN0QyxnREFBZ0Q7RUFDaEQsaURBQWlEO0VBQ2pELGlEQUFpRDtFQUNqRCxnQ0FBZ0M7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O0VBQ2Q7O0VBRUE7SUFDRSxXQUFXO0lBQ1gsWUFBWTtFQUNkO0FBQ0Y7QUFFQTtFQUNFOzs7SUFHRSxhQUFhO0VBQ2Y7O0VBRUE7SUFDRSxpRUFBaUU7RUFDbkU7O0VBRUE7SUFDRSxjQUFjO0VBQ2hCOztFQUVBO0lBQ0UsZUFBZTtFQUNqQjtBQUNGO0FBRUE7RUFDRTs7O0lBR0UsZ0NBQWdDO0lBQ2hDLHFDQUFxQztJQUNyQyx1Q0FBdUM7SUFDdkMsc0NBQXNDO0VBQ3hDO0FBQ0YiLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRoaXMgZ2V0cyBleHBvcnRlZCBhcyBzdHlsZS5jc3MgYW5kIGNhbiBiZSB1c2VkIGZvciB0aGUgZGVmYXVsdCB0aGVtaW5nICovXG4vKiB0aGVzZSBhcmUgdGhlIG5lY2Vzc2FyeSBzdHlsZXMgZm9yIFJlYWN0L1N2ZWx0ZSBGbG93LCB0aGV5IGdldCB1c2VkIGJ5IGJhc2UuY3NzIGFuZCBzdHlsZS5jc3MgKi9cbi5yZWFjdC1mbG93IHtcbiAgZGlyZWN0aW9uOiBsdHI7XG5cbiAgLS14eS1lZGdlLXN0cm9rZS1kZWZhdWx0OiAjYjFiMWI3O1xuICAtLXh5LWVkZ2Utc3Ryb2tlLXdpZHRoLWRlZmF1bHQ6IDE7XG4gIC0teHktZWRnZS1zdHJva2Utc2VsZWN0ZWQtZGVmYXVsdDogIzU1NTtcblxuICAtLXh5LWNvbm5lY3Rpb25saW5lLXN0cm9rZS1kZWZhdWx0OiAjYjFiMWI3O1xuICAtLXh5LWNvbm5lY3Rpb25saW5lLXN0cm9rZS13aWR0aC1kZWZhdWx0OiAxO1xuXG4gIC0teHktYXR0cmlidXRpb24tYmFja2dyb3VuZC1jb2xvci1kZWZhdWx0OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG5cbiAgLS14eS1taW5pbWFwLWJhY2tncm91bmQtY29sb3ItZGVmYXVsdDogI2ZmZjtcbiAgLS14eS1taW5pbWFwLW1hc2stYmFja2dyb3VuZC1jb2xvci1kZWZhdWx0OiByZ2JhKDI0MCwgMjQwLCAyNDAsIDAuNik7XG4gIC0teHktbWluaW1hcC1tYXNrLXN0cm9rZS1jb2xvci1kZWZhdWx0OiB0cmFuc3BhcmVudDtcbiAgLS14eS1taW5pbWFwLW1hc2stc3Ryb2tlLXdpZHRoLWRlZmF1bHQ6IDE7XG4gIC0teHktbWluaW1hcC1ub2RlLWJhY2tncm91bmQtY29sb3ItZGVmYXVsdDogI2UyZTJlMjtcbiAgLS14eS1taW5pbWFwLW5vZGUtc3Ryb2tlLWNvbG9yLWRlZmF1bHQ6IHRyYW5zcGFyZW50O1xuICAtLXh5LW1pbmltYXAtbm9kZS1zdHJva2Utd2lkdGgtZGVmYXVsdDogMjtcblxuICAtLXh5LWJhY2tncm91bmQtY29sb3ItZGVmYXVsdDogdHJhbnNwYXJlbnQ7XG4gIC0teHktYmFja2dyb3VuZC1wYXR0ZXJuLWRvdHMtY29sb3ItZGVmYXVsdDogIzkxOTE5YTtcbiAgLS14eS1iYWNrZ3JvdW5kLXBhdHRlcm4tbGluZXMtY29sb3ItZGVmYXVsdDogI2VlZTtcbiAgLS14eS1iYWNrZ3JvdW5kLXBhdHRlcm4tY3Jvc3MtY29sb3ItZGVmYXVsdDogI2UyZTJlMjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0teHktYmFja2dyb3VuZC1jb2xvciwgdmFyKC0teHktYmFja2dyb3VuZC1jb2xvci1kZWZhdWx0KSk7XG4gIC0teHktbm9kZS1jb2xvci1kZWZhdWx0OiBpbmhlcml0O1xuICAtLXh5LW5vZGUtYm9yZGVyLWRlZmF1bHQ6IDFweCBzb2xpZCAjMWExOTJiO1xuICAtLXh5LW5vZGUtYmFja2dyb3VuZC1jb2xvci1kZWZhdWx0OiAjZmZmO1xuICAtLXh5LW5vZGUtZ3JvdXAtYmFja2dyb3VuZC1jb2xvci1kZWZhdWx0OiByZ2JhKDI0MCwgMjQwLCAyNDAsIDAuMjUpO1xuICAtLXh5LW5vZGUtYm94c2hhZG93LWhvdmVyLWRlZmF1bHQ6IDAgMXB4IDRweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgLS14eS1ub2RlLWJveHNoYWRvdy1zZWxlY3RlZC1kZWZhdWx0OiAwIDAgMCAwLjVweCAjMWExOTJiO1xuICAtLXh5LW5vZGUtYm9yZGVyLXJhZGl1cy1kZWZhdWx0OiAzcHg7XG5cbiAgLS14eS1oYW5kbGUtYmFja2dyb3VuZC1jb2xvci1kZWZhdWx0OiAjMWExOTJiO1xuICAtLXh5LWhhbmRsZS1ib3JkZXItY29sb3ItZGVmYXVsdDogI2ZmZjtcblxuICAtLXh5LXNlbGVjdGlvbi1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQ6IHJnYmEoMCwgODksIDIyMCwgMC4wOCk7XG4gIC0teHktc2VsZWN0aW9uLWJvcmRlci1kZWZhdWx0OiAxcHggZG90dGVkIHJnYmEoMCwgODksIDIyMCwgMC44KTtcblxuICAtLXh5LWNvbnRyb2xzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQ6ICNmZWZlZmU7XG4gIC0teHktY29udHJvbHMtYnV0dG9uLWJhY2tncm91bmQtY29sb3ItaG92ZXItZGVmYXVsdDogI2Y0ZjRmNDtcbiAgLS14eS1jb250cm9scy1idXR0b24tY29sb3ItZGVmYXVsdDogaW5oZXJpdDtcbiAgLS14eS1jb250cm9scy1idXR0b24tY29sb3ItaG92ZXItZGVmYXVsdDogaW5oZXJpdDtcbiAgLS14eS1jb250cm9scy1idXR0b24tYm9yZGVyLWNvbG9yLWRlZmF1bHQ6ICNlZWU7XG4gIC0teHktY29udHJvbHMtYm94LXNoYWRvdy1kZWZhdWx0OiAwIDAgMnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuXG4gIC0teHktZWRnZS1sYWJlbC1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQ6ICNmZmZmZmY7XG4gIC0teHktZWRnZS1sYWJlbC1jb2xvci1kZWZhdWx0OiBpbmhlcml0O1xuICAtLXh5LXJlc2l6ZS1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQ6ICMzMzY3ZDk7XG59XG4ucmVhY3QtZmxvdy5kYXJrIHtcbiAgLS14eS1lZGdlLXN0cm9rZS1kZWZhdWx0OiAjM2UzZTNlO1xuICAtLXh5LWVkZ2Utc3Ryb2tlLXdpZHRoLWRlZmF1bHQ6IDE7XG4gIC0teHktZWRnZS1zdHJva2Utc2VsZWN0ZWQtZGVmYXVsdDogIzcyNzI3MjtcblxuICAtLXh5LWNvbm5lY3Rpb25saW5lLXN0cm9rZS1kZWZhdWx0OiAjYjFiMWI3O1xuICAtLXh5LWNvbm5lY3Rpb25saW5lLXN0cm9rZS13aWR0aC1kZWZhdWx0OiAxO1xuXG4gIC0teHktYXR0cmlidXRpb24tYmFja2dyb3VuZC1jb2xvci1kZWZhdWx0OiByZ2JhKDE1MCwgMTUwLCAxNTAsIDAuMjUpO1xuXG4gIC0teHktbWluaW1hcC1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQ6ICMxNDE0MTQ7XG4gIC0teHktbWluaW1hcC1tYXNrLWJhY2tncm91bmQtY29sb3ItZGVmYXVsdDogcmdiYSg2MCwgNjAsIDYwLCAwLjYpO1xuICAtLXh5LW1pbmltYXAtbWFzay1zdHJva2UtY29sb3ItZGVmYXVsdDogdHJhbnNwYXJlbnQ7XG4gIC0teHktbWluaW1hcC1tYXNrLXN0cm9rZS13aWR0aC1kZWZhdWx0OiAxO1xuICAtLXh5LW1pbmltYXAtbm9kZS1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQ6ICMyYjJiMmI7XG4gIC0teHktbWluaW1hcC1ub2RlLXN0cm9rZS1jb2xvci1kZWZhdWx0OiB0cmFuc3BhcmVudDtcbiAgLS14eS1taW5pbWFwLW5vZGUtc3Ryb2tlLXdpZHRoLWRlZmF1bHQ6IDI7XG5cbiAgLS14eS1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQ6ICMxNDE0MTQ7XG4gIC0teHktYmFja2dyb3VuZC1wYXR0ZXJuLWRvdHMtY29sb3ItZGVmYXVsdDogIzU1NTtcbiAgLS14eS1iYWNrZ3JvdW5kLXBhdHRlcm4tbGluZXMtY29sb3ItZGVmYXVsdDogIzMzMztcbiAgLS14eS1iYWNrZ3JvdW5kLXBhdHRlcm4tY3Jvc3MtY29sb3ItZGVmYXVsdDogIzMzMztcbiAgLS14eS1ub2RlLWNvbG9yLWRlZmF1bHQ6ICNmOGY4Zjg7XG4gIC0teHktbm9kZS1ib3JkZXItZGVmYXVsdDogMXB4IHNvbGlkICMzYzNjM2M7XG4gIC0teHktbm9kZS1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQ6ICMxZTFlMWU7XG4gIC0teHktbm9kZS1ncm91cC1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQ6IHJnYmEoMjQwLCAyNDAsIDI0MCwgMC4yNSk7XG4gIC0teHktbm9kZS1ib3hzaGFkb3ctaG92ZXItZGVmYXVsdDogMCAxcHggNHB4IDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICAtLXh5LW5vZGUtYm94c2hhZG93LXNlbGVjdGVkLWRlZmF1bHQ6IDAgMCAwIDAuNXB4ICM5OTk7XG5cbiAgLS14eS1oYW5kbGUtYmFja2dyb3VuZC1jb2xvci1kZWZhdWx0OiAjYmViZWJlO1xuICAtLXh5LWhhbmRsZS1ib3JkZXItY29sb3ItZGVmYXVsdDogIzFlMWUxZTtcblxuICAtLXh5LXNlbGVjdGlvbi1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQ6IHJnYmEoMjAwLCAyMDAsIDIyMCwgMC4wOCk7XG4gIC0teHktc2VsZWN0aW9uLWJvcmRlci1kZWZhdWx0OiAxcHggZG90dGVkIHJnYmEoMjAwLCAyMDAsIDIyMCwgMC44KTtcblxuICAtLXh5LWNvbnRyb2xzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQ6ICMyYjJiMmI7XG4gIC0teHktY29udHJvbHMtYnV0dG9uLWJhY2tncm91bmQtY29sb3ItaG92ZXItZGVmYXVsdDogIzNlM2UzZTtcbiAgLS14eS1jb250cm9scy1idXR0b24tY29sb3ItZGVmYXVsdDogI2Y4ZjhmODtcbiAgLS14eS1jb250cm9scy1idXR0b24tY29sb3ItaG92ZXItZGVmYXVsdDogI2ZmZjtcbiAgLS14eS1jb250cm9scy1idXR0b24tYm9yZGVyLWNvbG9yLWRlZmF1bHQ6ICM1YjViNWI7XG4gIC0teHktY29udHJvbHMtYm94LXNoYWRvdy1kZWZhdWx0OiAwIDAgMnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuXG4gIC0teHktZWRnZS1sYWJlbC1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQ6ICMxNDE0MTQ7XG4gIC0teHktZWRnZS1sYWJlbC1jb2xvci1kZWZhdWx0OiAjZjhmOGY4O1xufVxuLnJlYWN0LWZsb3dfX2JhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS14eS1iYWNrZ3JvdW5kLWNvbG9yLXByb3BzLCB2YXIoLS14eS1iYWNrZ3JvdW5kLWNvbG9yLCB2YXIoLS14eS1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQpKSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAtMTtcbn1cbi5yZWFjdC1mbG93X19jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cbi5yZWFjdC1mbG93X19wYW5lIHtcbiAgei1pbmRleDogMTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuLnJlYWN0LWZsb3dfX3BhbmUuZHJhZ2dhYmxlIHtcbiAgICBjdXJzb3I6IGdyYWI7XG4gIH1cbi5yZWFjdC1mbG93X19wYW5lLmRyYWdnaW5nIHtcbiAgICBjdXJzb3I6IGdyYWJiaW5nO1xuICB9XG4ucmVhY3QtZmxvd19fcGFuZS5zZWxlY3Rpb24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuLnJlYWN0LWZsb3dfX3ZpZXdwb3J0IHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB6LWluZGV4OiAyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5yZWFjdC1mbG93X19yZW5kZXJlciB7XG4gIHotaW5kZXg6IDQ7XG59XG4ucmVhY3QtZmxvd19fc2VsZWN0aW9uIHtcbiAgei1pbmRleDogNjtcbn1cbi5yZWFjdC1mbG93X19ub2Rlc3NlbGVjdGlvbi1yZWN0OmZvY3VzLFxuLnJlYWN0LWZsb3dfX25vZGVzc2VsZWN0aW9uLXJlY3Q6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4ucmVhY3QtZmxvd19fZWRnZS1wYXRoIHtcbiAgc3Ryb2tlOiB2YXIoLS14eS1lZGdlLXN0cm9rZSwgdmFyKC0teHktZWRnZS1zdHJva2UtZGVmYXVsdCkpO1xuICBzdHJva2Utd2lkdGg6IHZhcigtLXh5LWVkZ2Utc3Ryb2tlLXdpZHRoLCB2YXIoLS14eS1lZGdlLXN0cm9rZS13aWR0aC1kZWZhdWx0KSk7XG4gIGZpbGw6IG5vbmU7XG59XG4ucmVhY3QtZmxvd19fY29ubmVjdGlvbi1wYXRoIHtcbiAgc3Ryb2tlOiB2YXIoLS14eS1jb25uZWN0aW9ubGluZS1zdHJva2UsIHZhcigtLXh5LWNvbm5lY3Rpb25saW5lLXN0cm9rZS1kZWZhdWx0KSk7XG4gIHN0cm9rZS13aWR0aDogdmFyKC0teHktY29ubmVjdGlvbmxpbmUtc3Ryb2tlLXdpZHRoLCB2YXIoLS14eS1jb25uZWN0aW9ubGluZS1zdHJva2Utd2lkdGgtZGVmYXVsdCkpO1xuICBmaWxsOiBub25lO1xufVxuLnJlYWN0LWZsb3cgLnJlYWN0LWZsb3dfX2VkZ2VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLnJlYWN0LWZsb3cgLnJlYWN0LWZsb3dfX2VkZ2VzIHN2ZyB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4ucmVhY3QtZmxvd19fZWRnZSB7XG4gIHBvaW50ZXItZXZlbnRzOiB2aXNpYmxlU3Ryb2tlO1xufVxuLnJlYWN0LWZsb3dfX2VkZ2Uuc2VsZWN0YWJsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4ucmVhY3QtZmxvd19fZWRnZS5hbmltYXRlZCBwYXRoIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiA1O1xuICAgIGFuaW1hdGlvbjogZGFzaGRyYXcgMC41cyBsaW5lYXIgaW5maW5pdGU7XG4gIH1cbi5yZWFjdC1mbG93X19lZGdlLmFuaW1hdGVkIHBhdGgucmVhY3QtZmxvd19fZWRnZS1pbnRlcmFjdGlvbiB7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogbm9uZTtcbiAgICBhbmltYXRpb246IG5vbmU7XG4gIH1cbi5yZWFjdC1mbG93X19lZGdlLmluYWN0aXZlIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuLnJlYWN0LWZsb3dfX2VkZ2Uuc2VsZWN0ZWQsXG4gIC5yZWFjdC1mbG93X19lZGdlOmZvY3VzLFxuICAucmVhY3QtZmxvd19fZWRnZTpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG4ucmVhY3QtZmxvd19fZWRnZS5zZWxlY3RlZCAucmVhY3QtZmxvd19fZWRnZS1wYXRoLFxuICAucmVhY3QtZmxvd19fZWRnZS5zZWxlY3RhYmxlOmZvY3VzIC5yZWFjdC1mbG93X19lZGdlLXBhdGgsXG4gIC5yZWFjdC1mbG93X19lZGdlLnNlbGVjdGFibGU6Zm9jdXMtdmlzaWJsZSAucmVhY3QtZmxvd19fZWRnZS1wYXRoIHtcbiAgICBzdHJva2U6IHZhcigtLXh5LWVkZ2Utc3Ryb2tlLXNlbGVjdGVkLCB2YXIoLS14eS1lZGdlLXN0cm9rZS1zZWxlY3RlZC1kZWZhdWx0KSk7XG4gIH1cbi5yZWFjdC1mbG93X19lZGdlLXRleHR3cmFwcGVyIHtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICB9XG4ucmVhY3QtZmxvd19fZWRnZSAucmVhY3QtZmxvd19fZWRnZS10ZXh0IHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuLyogQXJyb3doZWFkIG1hcmtlciBzdHlsZXMgLSB1c2UgQ1NTIGN1c3RvbSBwcm9wZXJ0aWVzIGFzIGRlZmF1bHQgKi9cbi5yZWFjdC1mbG93X19hcnJvd2hlYWQgcG9seWxpbmUge1xuICBzdHJva2U6IHZhcigtLXh5LWVkZ2Utc3Ryb2tlLCB2YXIoLS14eS1lZGdlLXN0cm9rZS1kZWZhdWx0KSk7XG59XG4ucmVhY3QtZmxvd19fYXJyb3doZWFkIHBvbHlsaW5lLmFycm93Y2xvc2VkIHtcbiAgZmlsbDogdmFyKC0teHktZWRnZS1zdHJva2UsIHZhcigtLXh5LWVkZ2Utc3Ryb2tlLWRlZmF1bHQpKTtcbn1cbi5yZWFjdC1mbG93X19jb25uZWN0aW9uIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ucmVhY3QtZmxvd19fY29ubmVjdGlvbiAuYW5pbWF0ZWQge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDU7XG4gICAgYW5pbWF0aW9uOiBkYXNoZHJhdyAwLjVzIGxpbmVhciBpbmZpbml0ZTtcbiAgfVxuc3ZnLnJlYWN0LWZsb3dfX2Nvbm5lY3Rpb25saW5lIHtcbiAgei1pbmRleDogMTAwMTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5yZWFjdC1mbG93X19ub2RlcyB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG59XG4ucmVhY3QtZmxvd19fbm9kZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4ucmVhY3QtZmxvd19fbm9kZS5zZWxlY3RhYmxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbi5yZWFjdC1mbG93X19ub2RlLmRyYWdnYWJsZSB7XG4gICAgY3Vyc29yOiBncmFiO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIH1cbi5yZWFjdC1mbG93X19ub2RlLmRyYWdnYWJsZS5kcmFnZ2luZyB7XG4gICAgICBjdXJzb3I6IGdyYWJiaW5nO1xuICAgIH1cbi5yZWFjdC1mbG93X19ub2Rlc3NlbGVjdGlvbiB7XG4gIHotaW5kZXg6IDM7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5yZWFjdC1mbG93X19ub2Rlc3NlbGVjdGlvbi1yZWN0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICBjdXJzb3I6IGdyYWI7XG4gIH1cbi5yZWFjdC1mbG93X19oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBtaW4td2lkdGg6IDVweDtcbiAgbWluLWhlaWdodDogNXB4O1xuICB3aWR0aDogNnB4O1xuICBoZWlnaHQ6IDZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0teHktaGFuZGxlLWJhY2tncm91bmQtY29sb3IsIHZhcigtLXh5LWhhbmRsZS1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQpKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0teHktaGFuZGxlLWJvcmRlci1jb2xvciwgdmFyKC0teHktaGFuZGxlLWJvcmRlci1jb2xvci1kZWZhdWx0KSk7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG4ucmVhY3QtZmxvd19faGFuZGxlLmNvbm5lY3Rpbmdmcm9tIHtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICB9XG4ucmVhY3QtZmxvd19faGFuZGxlLmNvbm5lY3Rpb25pbmRpY2F0b3Ige1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgY3Vyc29yOiBjcm9zc2hhaXI7XG4gIH1cbi5yZWFjdC1mbG93X19oYW5kbGUtYm90dG9tIHtcbiAgICB0b3A6IGF1dG87XG4gICAgbGVmdDogNTAlO1xuICAgIGJvdHRvbTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MCUpO1xuICB9XG4ucmVhY3QtZmxvd19faGFuZGxlLXRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgfVxuLnJlYWN0LWZsb3dfX2hhbmRsZS1sZWZ0IHtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB9XG4ucmVhY3QtZmxvd19faGFuZGxlLXJpZ2h0IHtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpO1xuICB9XG4ucmVhY3QtZmxvd19fZWRnZXVwZGF0ZXIge1xuICBjdXJzb3I6IG1vdmU7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XG59XG4ucmVhY3QtZmxvd19fcGFuZS5zZWxlY3Rpb24gLnJlYWN0LWZsb3dfX3BhbmVsIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ucmVhY3QtZmxvd19fcGFuZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDU7XG4gIG1hcmdpbjogMTVweDtcbn1cbi5yZWFjdC1mbG93X19wYW5lbC50b3Age1xuICAgIHRvcDogMDtcbiAgfVxuLnJlYWN0LWZsb3dfX3BhbmVsLmJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICB9XG4ucmVhY3QtZmxvd19fcGFuZWwudG9wLmNlbnRlciwgLnJlYWN0LWZsb3dfX3BhbmVsLmJvdHRvbS5jZW50ZXIge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNXB4KSB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbi5yZWFjdC1mbG93X19wYW5lbC5sZWZ0IHtcbiAgICBsZWZ0OiAwO1xuICB9XG4ucmVhY3QtZmxvd19fcGFuZWwucmlnaHQge1xuICAgIHJpZ2h0OiAwO1xuICB9XG4ucmVhY3QtZmxvd19fcGFuZWwubGVmdC5jZW50ZXIsIC5yZWFjdC1mbG93X19wYW5lbC5yaWdodC5jZW50ZXIge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuLnJlYWN0LWZsb3dfX2F0dHJpYnV0aW9uIHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS14eS1hdHRyaWJ1dGlvbi1iYWNrZ3JvdW5kLWNvbG9yLCB2YXIoLS14eS1hdHRyaWJ1dGlvbi1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQpKTtcbiAgcGFkZGluZzogMnB4IDNweDtcbiAgbWFyZ2luOiAwO1xufVxuLnJlYWN0LWZsb3dfX2F0dHJpYnV0aW9uIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogIzk5OTtcbiAgfVxuQGtleWZyYW1lcyBkYXNoZHJhdyB7XG4gIGZyb20ge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAxMDtcbiAgfVxufVxuLnJlYWN0LWZsb3dfX2VkZ2VsYWJlbC1yZW5kZXJlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5yZWFjdC1mbG93X192aWV3cG9ydC1wb3J0YWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5yZWFjdC1mbG93X19taW5pbWFwIHtcbiAgYmFja2dyb3VuZDogdmFyKFxuICAgIC0teHktbWluaW1hcC1iYWNrZ3JvdW5kLWNvbG9yLXByb3BzLFxuICAgIHZhcigtLXh5LW1pbmltYXAtYmFja2dyb3VuZC1jb2xvciwgdmFyKC0teHktbWluaW1hcC1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQpKVxuICApO1xufVxuLnJlYWN0LWZsb3dfX21pbmltYXAtc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuLnJlYWN0LWZsb3dfX21pbmltYXAtbWFzayB7XG4gICAgZmlsbDogdmFyKFxuICAgICAgLS14eS1taW5pbWFwLW1hc2stYmFja2dyb3VuZC1jb2xvci1wcm9wcyxcbiAgICAgIHZhcigtLXh5LW1pbmltYXAtbWFzay1iYWNrZ3JvdW5kLWNvbG9yLCB2YXIoLS14eS1taW5pbWFwLW1hc2stYmFja2dyb3VuZC1jb2xvci1kZWZhdWx0KSlcbiAgICApO1xuICAgIHN0cm9rZTogdmFyKFxuICAgICAgLS14eS1taW5pbWFwLW1hc2stc3Ryb2tlLWNvbG9yLXByb3BzLFxuICAgICAgdmFyKC0teHktbWluaW1hcC1tYXNrLXN0cm9rZS1jb2xvciwgdmFyKC0teHktbWluaW1hcC1tYXNrLXN0cm9rZS1jb2xvci1kZWZhdWx0KSlcbiAgICApO1xuICAgIHN0cm9rZS13aWR0aDogdmFyKFxuICAgICAgLS14eS1taW5pbWFwLW1hc2stc3Ryb2tlLXdpZHRoLXByb3BzLFxuICAgICAgdmFyKC0teHktbWluaW1hcC1tYXNrLXN0cm9rZS13aWR0aCwgdmFyKC0teHktbWluaW1hcC1tYXNrLXN0cm9rZS13aWR0aC1kZWZhdWx0KSlcbiAgICApO1xuICB9XG4ucmVhY3QtZmxvd19fbWluaW1hcC1ub2RlIHtcbiAgICBmaWxsOiB2YXIoXG4gICAgICAtLXh5LW1pbmltYXAtbm9kZS1iYWNrZ3JvdW5kLWNvbG9yLXByb3BzLFxuICAgICAgdmFyKC0teHktbWluaW1hcC1ub2RlLWJhY2tncm91bmQtY29sb3IsIHZhcigtLXh5LW1pbmltYXAtbm9kZS1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQpKVxuICAgICk7XG4gICAgc3Ryb2tlOiB2YXIoXG4gICAgICAtLXh5LW1pbmltYXAtbm9kZS1zdHJva2UtY29sb3ItcHJvcHMsXG4gICAgICB2YXIoLS14eS1taW5pbWFwLW5vZGUtc3Ryb2tlLWNvbG9yLCB2YXIoLS14eS1taW5pbWFwLW5vZGUtc3Ryb2tlLWNvbG9yLWRlZmF1bHQpKVxuICAgICk7XG4gICAgc3Ryb2tlLXdpZHRoOiB2YXIoXG4gICAgICAtLXh5LW1pbmltYXAtbm9kZS1zdHJva2Utd2lkdGgtcHJvcHMsXG4gICAgICB2YXIoLS14eS1taW5pbWFwLW5vZGUtc3Ryb2tlLXdpZHRoLCB2YXIoLS14eS1taW5pbWFwLW5vZGUtc3Ryb2tlLXdpZHRoLWRlZmF1bHQpKVxuICAgICk7XG4gIH1cbi5yZWFjdC1mbG93X19iYWNrZ3JvdW5kLXBhdHRlcm4uZG90cyB7XG4gICAgZmlsbDogdmFyKFxuICAgICAgLS14eS1iYWNrZ3JvdW5kLXBhdHRlcm4tY29sb3ItcHJvcHMsXG4gICAgICB2YXIoLS14eS1iYWNrZ3JvdW5kLXBhdHRlcm4tY29sb3IsIHZhcigtLXh5LWJhY2tncm91bmQtcGF0dGVybi1kb3RzLWNvbG9yLWRlZmF1bHQpKVxuICAgICk7XG4gIH1cbi5yZWFjdC1mbG93X19iYWNrZ3JvdW5kLXBhdHRlcm4ubGluZXMge1xuICAgIHN0cm9rZTogdmFyKFxuICAgICAgLS14eS1iYWNrZ3JvdW5kLXBhdHRlcm4tY29sb3ItcHJvcHMsXG4gICAgICB2YXIoLS14eS1iYWNrZ3JvdW5kLXBhdHRlcm4tY29sb3IsIHZhcigtLXh5LWJhY2tncm91bmQtcGF0dGVybi1saW5lcy1jb2xvci1kZWZhdWx0KSlcbiAgICApO1xuICB9XG4ucmVhY3QtZmxvd19fYmFja2dyb3VuZC1wYXR0ZXJuLmNyb3NzIHtcbiAgICBzdHJva2U6IHZhcihcbiAgICAgIC0teHktYmFja2dyb3VuZC1wYXR0ZXJuLWNvbG9yLXByb3BzLFxuICAgICAgdmFyKC0teHktYmFja2dyb3VuZC1wYXR0ZXJuLWNvbG9yLCB2YXIoLS14eS1iYWNrZ3JvdW5kLXBhdHRlcm4tY3Jvc3MtY29sb3ItZGVmYXVsdCkpXG4gICAgKTtcbiAgfVxuLnJlYWN0LWZsb3dfX2NvbnRyb2xzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYm94LXNoYWRvdzogdmFyKC0teHktY29udHJvbHMtYm94LXNoYWRvdywgdmFyKC0teHktY29udHJvbHMtYm94LXNoYWRvdy1kZWZhdWx0KSk7XG59XG4ucmVhY3QtZmxvd19fY29udHJvbHMuaG9yaXpvbnRhbCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuLnJlYWN0LWZsb3dfX2NvbnRyb2xzLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMjZweDtcbiAgICB3aWR0aDogMjZweDtcbiAgICBwYWRkaW5nOiA0cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXh5LWNvbnRyb2xzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yLCB2YXIoLS14eS1jb250cm9scy1idXR0b24tYmFja2dyb3VuZC1jb2xvci1kZWZhdWx0KSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkXG4gICAgICB2YXIoXG4gICAgICAgIC0teHktY29udHJvbHMtYnV0dG9uLWJvcmRlci1jb2xvci1wcm9wcyxcbiAgICAgICAgdmFyKC0teHktY29udHJvbHMtYnV0dG9uLWJvcmRlci1jb2xvciwgdmFyKC0teHktY29udHJvbHMtYnV0dG9uLWJvcmRlci1jb2xvci1kZWZhdWx0KSlcbiAgICAgICk7XG4gICAgY29sb3I6IHZhcihcbiAgICAgIC0teHktY29udHJvbHMtYnV0dG9uLWNvbG9yLXByb3BzLFxuICAgICAgdmFyKC0teHktY29udHJvbHMtYnV0dG9uLWNvbG9yLCB2YXIoLS14eS1jb250cm9scy1idXR0b24tY29sb3ItZGVmYXVsdCkpXG4gICAgKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cbi5yZWFjdC1mbG93X19jb250cm9scy1idXR0b24gc3ZnIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMnB4O1xuICAgICAgbWF4LWhlaWdodDogMTJweDtcbiAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG4ucmVhY3QtZmxvd19fZWRnZS51cGRhdGluZyAucmVhY3QtZmxvd19fZWRnZS1wYXRoIHtcbiAgICAgIHN0cm9rZTogIzc3NztcbiAgICB9XG4ucmVhY3QtZmxvd19fZWRnZS10ZXh0IHtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gIH1cbi5yZWFjdC1mbG93X19ub2RlLnNlbGVjdGFibGU6Zm9jdXMsXG4gIC5yZWFjdC1mbG93X19ub2RlLnNlbGVjdGFibGU6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuLnJlYWN0LWZsb3dfX25vZGUtaW5wdXQsXG4ucmVhY3QtZmxvd19fbm9kZS1kZWZhdWx0LFxuLnJlYWN0LWZsb3dfX25vZGUtb3V0cHV0LFxuLnJlYWN0LWZsb3dfX25vZGUtZ3JvdXAge1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS14eS1ub2RlLWJvcmRlci1yYWRpdXMsIHZhcigtLXh5LW5vZGUtYm9yZGVyLXJhZGl1cy1kZWZhdWx0KSk7XG4gIHdpZHRoOiAxNTBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogdmFyKC0teHktbm9kZS1jb2xvciwgdmFyKC0teHktbm9kZS1jb2xvci1kZWZhdWx0KSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyOiB2YXIoLS14eS1ub2RlLWJvcmRlciwgdmFyKC0teHktbm9kZS1ib3JkZXItZGVmYXVsdCkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS14eS1ub2RlLWJhY2tncm91bmQtY29sb3IsIHZhcigtLXh5LW5vZGUtYmFja2dyb3VuZC1jb2xvci1kZWZhdWx0KSk7XG59XG4ucmVhY3QtZmxvd19fbm9kZS1pbnB1dC5zZWxlY3RhYmxlOmhvdmVyLCAucmVhY3QtZmxvd19fbm9kZS1kZWZhdWx0LnNlbGVjdGFibGU6aG92ZXIsIC5yZWFjdC1mbG93X19ub2RlLW91dHB1dC5zZWxlY3RhYmxlOmhvdmVyLCAucmVhY3QtZmxvd19fbm9kZS1ncm91cC5zZWxlY3RhYmxlOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLXh5LW5vZGUtYm94c2hhZG93LWhvdmVyLCB2YXIoLS14eS1ub2RlLWJveHNoYWRvdy1ob3Zlci1kZWZhdWx0KSk7XG4gICAgfVxuLnJlYWN0LWZsb3dfX25vZGUtaW5wdXQuc2VsZWN0YWJsZS5zZWxlY3RlZCxcbiAgICAucmVhY3QtZmxvd19fbm9kZS1pbnB1dC5zZWxlY3RhYmxlOmZvY3VzLFxuICAgIC5yZWFjdC1mbG93X19ub2RlLWlucHV0LnNlbGVjdGFibGU6Zm9jdXMtdmlzaWJsZSxcbiAgICAucmVhY3QtZmxvd19fbm9kZS1kZWZhdWx0LnNlbGVjdGFibGUuc2VsZWN0ZWQsXG4gICAgLnJlYWN0LWZsb3dfX25vZGUtZGVmYXVsdC5zZWxlY3RhYmxlOmZvY3VzLFxuICAgIC5yZWFjdC1mbG93X19ub2RlLWRlZmF1bHQuc2VsZWN0YWJsZTpmb2N1cy12aXNpYmxlLFxuICAgIC5yZWFjdC1mbG93X19ub2RlLW91dHB1dC5zZWxlY3RhYmxlLnNlbGVjdGVkLFxuICAgIC5yZWFjdC1mbG93X19ub2RlLW91dHB1dC5zZWxlY3RhYmxlOmZvY3VzLFxuICAgIC5yZWFjdC1mbG93X19ub2RlLW91dHB1dC5zZWxlY3RhYmxlOmZvY3VzLXZpc2libGUsXG4gICAgLnJlYWN0LWZsb3dfX25vZGUtZ3JvdXAuc2VsZWN0YWJsZS5zZWxlY3RlZCxcbiAgICAucmVhY3QtZmxvd19fbm9kZS1ncm91cC5zZWxlY3RhYmxlOmZvY3VzLFxuICAgIC5yZWFjdC1mbG93X19ub2RlLWdyb3VwLnNlbGVjdGFibGU6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS14eS1ub2RlLWJveHNoYWRvdy1zZWxlY3RlZCwgdmFyKC0teHktbm9kZS1ib3hzaGFkb3ctc2VsZWN0ZWQtZGVmYXVsdCkpO1xuICAgIH1cbi5yZWFjdC1mbG93X19ub2RlLWdyb3VwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0teHktbm9kZS1ncm91cC1iYWNrZ3JvdW5kLWNvbG9yLCB2YXIoLS14eS1ub2RlLWdyb3VwLWJhY2tncm91bmQtY29sb3ItZGVmYXVsdCkpO1xufVxuLnJlYWN0LWZsb3dfX25vZGVzc2VsZWN0aW9uLXJlY3QsXG4ucmVhY3QtZmxvd19fc2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogdmFyKC0teHktc2VsZWN0aW9uLWJhY2tncm91bmQtY29sb3IsIHZhcigtLXh5LXNlbGVjdGlvbi1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQpKTtcbiAgYm9yZGVyOiB2YXIoLS14eS1zZWxlY3Rpb24tYm9yZGVyLCB2YXIoLS14eS1zZWxlY3Rpb24tYm9yZGVyLWRlZmF1bHQpKTtcbn1cbi5yZWFjdC1mbG93X19ub2Rlc3NlbGVjdGlvbi1yZWN0OmZvY3VzLFxuICAucmVhY3QtZmxvd19fbm9kZXNzZWxlY3Rpb24tcmVjdDpmb2N1cy12aXNpYmxlLFxuICAucmVhY3QtZmxvd19fc2VsZWN0aW9uOmZvY3VzLFxuICAucmVhY3QtZmxvd19fc2VsZWN0aW9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbi5yZWFjdC1mbG93X19jb250cm9scy1idXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdmFyKFxuICAgICAgICAtLXh5LWNvbnRyb2xzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyLXByb3BzLFxuICAgICAgICB2YXIoLS14eS1jb250cm9scy1idXR0b24tYmFja2dyb3VuZC1jb2xvci1ob3ZlciwgdmFyKC0teHktY29udHJvbHMtYnV0dG9uLWJhY2tncm91bmQtY29sb3ItaG92ZXItZGVmYXVsdCkpXG4gICAgICApO1xuICAgICAgY29sb3I6IHZhcihcbiAgICAgICAgLS14eS1jb250cm9scy1idXR0b24tY29sb3ItaG92ZXItcHJvcHMsXG4gICAgICAgIHZhcigtLXh5LWNvbnRyb2xzLWJ1dHRvbi1jb2xvci1ob3ZlciwgdmFyKC0teHktY29udHJvbHMtYnV0dG9uLWNvbG9yLWhvdmVyLWRlZmF1bHQpKVxuICAgICAgKTtcbiAgICB9XG4ucmVhY3QtZmxvd19fY29udHJvbHMtYnV0dG9uOmRpc2FibGVkIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbi5yZWFjdC1mbG93X19jb250cm9scy1idXR0b246ZGlzYWJsZWQgc3ZnIHtcbiAgICAgICAgZmlsbC1vcGFjaXR5OiAwLjQ7XG4gICAgICB9XG4ucmVhY3QtZmxvd19fY29udHJvbHMtYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cbi5yZWFjdC1mbG93X19jb250cm9scy5ob3Jpem9udGFsIC5yZWFjdC1mbG93X19jb250cm9scy1idXR0b24ge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWRcbiAgICAgIHZhcihcbiAgICAgICAgLS14eS1jb250cm9scy1idXR0b24tYm9yZGVyLWNvbG9yLXByb3BzLFxuICAgICAgICB2YXIoLS14eS1jb250cm9scy1idXR0b24tYm9yZGVyLWNvbG9yLCB2YXIoLS14eS1jb250cm9scy1idXR0b24tYm9yZGVyLWNvbG9yLWRlZmF1bHQpKVxuICAgICAgKTtcbiAgfVxuLnJlYWN0LWZsb3dfX2NvbnRyb2xzLmhvcml6b250YWwgLnJlYWN0LWZsb3dfX2NvbnRyb2xzLWJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIH1cbi5yZWFjdC1mbG93X19yZXNpemUtY29udHJvbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5yZWFjdC1mbG93X19yZXNpemUtY29udHJvbC5sZWZ0LFxuLnJlYWN0LWZsb3dfX3Jlc2l6ZS1jb250cm9sLnJpZ2h0IHtcbiAgY3Vyc29yOiBldy1yZXNpemU7XG59XG4ucmVhY3QtZmxvd19fcmVzaXplLWNvbnRyb2wudG9wLFxuLnJlYWN0LWZsb3dfX3Jlc2l6ZS1jb250cm9sLmJvdHRvbSB7XG4gIGN1cnNvcjogbnMtcmVzaXplO1xufVxuLnJlYWN0LWZsb3dfX3Jlc2l6ZS1jb250cm9sLnRvcC5sZWZ0LFxuLnJlYWN0LWZsb3dfX3Jlc2l6ZS1jb250cm9sLmJvdHRvbS5yaWdodCB7XG4gIGN1cnNvcjogbndzZS1yZXNpemU7XG59XG4ucmVhY3QtZmxvd19fcmVzaXplLWNvbnRyb2wuYm90dG9tLmxlZnQsXG4ucmVhY3QtZmxvd19fcmVzaXplLWNvbnRyb2wudG9wLnJpZ2h0IHtcbiAgY3Vyc29yOiBuZXN3LXJlc2l6ZTtcbn1cbi8qIGhhbmRsZSBzdHlsZXMgKi9cbi5yZWFjdC1mbG93X19yZXNpemUtY29udHJvbC5oYW5kbGUge1xuICB3aWR0aDogNXB4O1xuICBoZWlnaHQ6IDVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS14eS1yZXNpemUtYmFja2dyb3VuZC1jb2xvciwgdmFyKC0teHktcmVzaXplLWJhY2tncm91bmQtY29sb3ItZGVmYXVsdCkpO1xuICB0cmFuc2xhdGU6IC01MCUgLTUwJTtcbn1cbi5yZWFjdC1mbG93X19yZXNpemUtY29udHJvbC5oYW5kbGUubGVmdCB7XG4gIGxlZnQ6IDA7XG4gIHRvcDogNTAlO1xufVxuLnJlYWN0LWZsb3dfX3Jlc2l6ZS1jb250cm9sLmhhbmRsZS5yaWdodCB7XG4gIGxlZnQ6IDEwMCU7XG4gIHRvcDogNTAlO1xufVxuLnJlYWN0LWZsb3dfX3Jlc2l6ZS1jb250cm9sLmhhbmRsZS50b3Age1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogMDtcbn1cbi5yZWFjdC1mbG93X19yZXNpemUtY29udHJvbC5oYW5kbGUuYm90dG9tIHtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDEwMCU7XG59XG4ucmVhY3QtZmxvd19fcmVzaXplLWNvbnRyb2wuaGFuZGxlLnRvcC5sZWZ0IHtcbiAgbGVmdDogMDtcbn1cbi5yZWFjdC1mbG93X19yZXNpemUtY29udHJvbC5oYW5kbGUuYm90dG9tLmxlZnQge1xuICBsZWZ0OiAwO1xufVxuLnJlYWN0LWZsb3dfX3Jlc2l6ZS1jb250cm9sLmhhbmRsZS50b3AucmlnaHQge1xuICBsZWZ0OiAxMDAlO1xufVxuLnJlYWN0LWZsb3dfX3Jlc2l6ZS1jb250cm9sLmhhbmRsZS5ib3R0b20ucmlnaHQge1xuICBsZWZ0OiAxMDAlO1xufVxuLyogbGluZSBzdHlsZXMgKi9cbi5yZWFjdC1mbG93X19yZXNpemUtY29udHJvbC5saW5lIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS14eS1yZXNpemUtYmFja2dyb3VuZC1jb2xvciwgdmFyKC0teHktcmVzaXplLWJhY2tncm91bmQtY29sb3ItZGVmYXVsdCkpO1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG4ucmVhY3QtZmxvd19fcmVzaXplLWNvbnRyb2wubGluZS5sZWZ0LFxuLnJlYWN0LWZsb3dfX3Jlc2l6ZS1jb250cm9sLmxpbmUucmlnaHQge1xuICB3aWR0aDogMXB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgdG9wOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ucmVhY3QtZmxvd19fcmVzaXplLWNvbnRyb2wubGluZS5sZWZ0IHtcbiAgbGVmdDogMDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbn1cbi5yZWFjdC1mbG93X19yZXNpemUtY29udHJvbC5saW5lLnJpZ2h0IHtcbiAgbGVmdDogMTAwJTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG59XG4ucmVhY3QtZmxvd19fcmVzaXplLWNvbnRyb2wubGluZS50b3AsXG4ucmVhY3QtZmxvd19fcmVzaXplLWNvbnRyb2wubGluZS5ib3R0b20ge1xuICBoZWlnaHQ6IDFweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnJlYWN0LWZsb3dfX3Jlc2l6ZS1jb250cm9sLmxpbmUudG9wIHtcbiAgdG9wOiAwO1xuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG59XG4ucmVhY3QtZmxvd19fcmVzaXplLWNvbnRyb2wubGluZS5ib3R0b20ge1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gIHRvcDogMTAwJTtcbn1cbi5yZWFjdC1mbG93X19lZGdlLXRleHRiZyB7XG4gIGZpbGw6IHZhcigtLXh5LWVkZ2UtbGFiZWwtYmFja2dyb3VuZC1jb2xvciwgdmFyKC0teHktZWRnZS1sYWJlbC1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQpKTtcbn1cbi5yZWFjdC1mbG93X19lZGdlLXRleHQge1xuICBmaWxsOiB2YXIoLS14eS1lZGdlLWxhYmVsLWNvbG9yLCB2YXIoLS14eS1lZGdlLWxhYmVsLWNvbG9yLWRlZmF1bHQpKTtcbn1cbiIsIkBpbXBvcnQgXCJAeHlmbG93L3JlYWN0L2Rpc3Qvc3R5bGUuY3NzXCI7XG5cbjpyb290IHtcbiAgY29sb3Itc2NoZW1lOiBkYXJrO1xuICBmb250LWZhbWlseTogSW50ZXIsIFwiU2Vnb2UgVUlcIiwgXCJNaWNyb3NvZnQgWWFIZWkgVUlcIiwgXCJNaWNyb3NvZnQgWWFIZWlcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zeW50aGVzaXM6IG5vbmU7XG4gIC0tcGFnZTogIzBiMGUwZDtcbiAgLS1jYW52YXM6ICMxMDE0MTI7XG4gIC0tcGFuZWw6ICMxNTFhMTg7XG4gIC0tcGFuZWwtMjogIzFhMjAxZTtcbiAgLS1wYW5lbC0zOiAjMjAyNzI0O1xuICAtLWxpbmU6IHJnYmEoMTk4LCAyMTgsIDIwOCwgMC4xMSk7XG4gIC0tbGluZS1zdHJvbmc6IHJnYmEoMTk4LCAyMTgsIDIwOCwgMC4yKTtcbiAgLS1pbms6ICNlY2YzZWY7XG4gIC0taW5rLTI6ICNiNGMwYmE7XG4gIC0taW5rLTM6ICM3ZjhkODY7XG4gIC0tYWNjZW50OiAjNDFjOTliO1xuICAtLWFjY2VudC0yOiAjNzJkZGJhO1xuICAtLWFjY2VudC1zb2Z0OiByZ2JhKDY1LCAyMDEsIDE1NSwgMC4xMyk7XG4gIC0tY29yYWw6ICNkOTc4NWQ7XG4gIC0tY29yYWwtc29mdDogcmdiYSgyMTcsIDEyMCwgOTMsIDAuMTQpO1xuICAtLWFtYmVyOiAjZTJiNTVmO1xuICAtLWRhbmdlcjogI2VmNzE2NztcbiAgLS1zdWNjZXNzOiAjNjNkNWEzO1xuICAtLXNoYWRvdzogMCAxOHB4IDUwcHggcmdiYSgzLCA3LCA1LCAwLjMpO1xuICAtLXRvcGJhci1oZWlnaHQ6IDUwcHg7XG4gIC0tcmFpbC13aWR0aDogNzZweDtcbiAgLS1icmFuZC13aWR0aDogMjE4cHg7XG4gIC0tYWdlbnQtd2lkdGg6IDMyNnB4O1xufVxuXG4qIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuaHRtbCxcbmJvZHksXG4jcm9vdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuYm9keSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBhZ2UpO1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbn1cblxuYnV0dG9uLFxuaW5wdXQsXG50ZXh0YXJlYSxcbnNlbGVjdCB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250OiBpbmhlcml0O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbn1cblxuYnV0dG9uLFxuYSxcbnNlbGVjdCxcbmxhYmVsW2Zvcl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmJ1dHRvbiB7XG4gIGJvcmRlcjogMDtcbn1cblxuYnV0dG9uOmZvY3VzLXZpc2libGUsXG5hOmZvY3VzLXZpc2libGUsXG5pbnB1dDpmb2N1cy12aXNpYmxlLFxudGV4dGFyZWE6Zm9jdXMtdmlzaWJsZSxcbnNlbGVjdDpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWFjY2VudCk7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbmJ1dHRvbjpkaXNhYmxlZCB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIG9wYWNpdHk6IDAuNDI7XG59XG5cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogcmdiYSg2NSwgMjAxLCAxNTUsIDAuMjgpO1xufVxuXG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuXG4uYXBwLXNoZWxsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiB2YXIoLS10b3BiYXItaGVpZ2h0KSBtaW5tYXgoMCwgMWZyKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tcGFnZSk7XG59XG5cbi5hcHAtY3Jhc2gtc2NyZWVuIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMjRweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tcGFnZSk7XG59XG5cbi5hcHAtY3Jhc2gtc2NyZWVuX19jYXJkIHtcbiAgd2lkdGg6IG1pbig0MjBweCwgMTAwJSk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMTJweDtcbiAgcGFkZGluZzogMjRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZS1zdHJvbmcpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBhbmVsKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcbn1cblxuLmFwcC1jcmFzaC1zY3JlZW5fX2ljb24ge1xuICB3aWR0aDogMzhweDtcbiAgaGVpZ2h0OiAzOHB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tZGFuZ2VyKTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb3JhbC1zb2Z0KTtcbn1cblxuLmFwcC1jcmFzaC1zY3JlZW5fX2NhcmQgc3Ryb25nIHtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4uYXBwLWNyYXNoLXNjcmVlbl9fY2FyZCA+IHNwYW46bm90KC5hcHAtY3Jhc2gtc2NyZWVuX19pY29uKSB7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIGxpbmUtaGVpZ2h0OiAxLjY1O1xufVxuXG4uYXBwLWNyYXNoLXNjcmVlbl9fYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTBweDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uYXBwLWNyYXNoLXNjcmVlbl9fZGV0YWlsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC1oZWlnaHQ6IDcycHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBwYWRkaW5nOiA4cHggMTBweDtcbiAgY29sb3I6IHZhcigtLWRhbmdlcik7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjEwLCA5MiwgODMsIDAuMDgpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIxMCwgOTIsIDgzLCAwLjIyKTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBmb250OiAxMHB4LzEuNSB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBDb25zb2xhcywgbW9ub3NwYWNlO1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xufVxuXG4udG9wYmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzMDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1icmFuZC13aWR0aCkgbWlubWF4KDIyMHB4LCAxZnIpIG1pbm1heCgxNTBweCwgMjMwcHgpIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogdmFyKC0tdG9wYmFyLWhlaWdodCk7XG4gIHBhZGRpbmc6IDAgMTBweCAwIDE0cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYmFja2dyb3VuZDogcmdiYSgxNSwgMTksIDE3LCAwLjk4KTtcbiAgYm94LXNoYWRvdzogMCAxcHggMCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi5icmFuZC1sb2NrdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDlweDtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4uYnJhbmQtbG9ja3VwID4gc3BhbiB7XG4gIHdpZHRoOiAyN3B4O1xuICBoZWlnaHQ6IDI3cHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjMDgxMTBkO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDE1MywgMjU1LCAyMTYsIDAuMTIpLCAwIDdweCAxOHB4IHJnYmEoNDQsIDE4MCwgMTMzLCAwLjE4KTtcbn1cblxuLmJyYW5kLWxvY2t1cCBzdHJvbmcge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jYW52YXMtdGFicyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMnB4O1xuICBtaW4td2lkdGg6IDA7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbn1cblxuLmNhbnZhcy10YWJzOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jYW52YXMtdGFicyA+IGJ1dHRvbiB7XG4gIGhlaWdodDogMzFweDtcbiAgbWluLXdpZHRoOiA3NnB4O1xuICBtYXgtd2lkdGg6IDE0OHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiA2cHg7XG4gIHBhZGRpbmc6IDAgMTFweDtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMTQwbXMgZWFzZSwgYmFja2dyb3VuZCAxNDBtcyBlYXNlO1xufVxuXG4uY2FudmFzLXRhYnMgPiBidXR0b246aG92ZXIge1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDM1KTtcbn1cblxuLmNhbnZhcy10YWJzID4gYnV0dG9uLmlzLWFjdGl2ZSB7XG4gIGNvbG9yOiB2YXIoLS1pbmspO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1wYW5lbC0yKTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLWxpbmUpO1xufVxuXG4uY2FudmFzLXRhYnMgYnV0dG9uIHNwYW4ge1xuICBtaW4td2lkdGg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uY2FudmFzLXRhYnMgYnV0dG9uIGkge1xuICB3aWR0aDogMTdweDtcbiAgaGVpZ2h0OiAxN3B4O1xuICBkaXNwbGF5OiBncmlkO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xufVxuXG4uY2FudmFzLXRhYnMgYnV0dG9uIGk6aG92ZXIge1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tcGFuZWwtMyk7XG59XG5cbi5jYW52YXMtdGFicyAuY2FudmFzLXRhYi1hZGQge1xuICBtaW4td2lkdGg6IDMxcHg7XG4gIHdpZHRoOiAzMXB4O1xuICBwYWRkaW5nOiAwO1xufVxuXG4uY2FudmFzLXRpdGxlLWlucHV0IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgMTJweDtcbn1cblxuLmNhbnZhcy10aXRsZS1pbnB1dCBpbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDI5cHg7XG4gIHBhZGRpbmc6IDAgOHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4uY2FudmFzLXRpdGxlLWlucHV0IGlucHV0OmhvdmVyLFxuLmNhbnZhcy10aXRsZS1pbnB1dCBpbnB1dDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbGluZSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBhbmVsKTtcbn1cblxuLnRvcGJhci1hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgZ2FwOiA1cHg7XG59XG5cbi5hY2NvdW50LWJ1dHRvbiB7XG4gIG1pbi13aWR0aDogNzRweDtcbiAgbWF4LXdpZHRoOiAxOTBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA2cHg7XG4gIHBhZGRpbmc6IDAgOHB4O1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1wYW5lbC0yKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmFjY291bnQtYnV0dG9uOmhvdmVyLFxuLmFjY291bnQtYnV0dG9uLmlzLXNpZ25lZC1pbiB7XG4gIGNvbG9yOiB2YXIoLS1pbmspO1xuICBib3JkZXItY29sb3I6IHJnYmEoNjUsIDIwMSwgMTU1LCAwLjM1KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LXNvZnQpO1xufVxuXG4uYWNjb3VudC1idXR0b24gc3BhbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4uYWNjb3VudC1idXR0b24gc21hbGwge1xuICBjb2xvcjogdmFyKC0tYWNjZW50LTIpO1xuICBmb250LXNpemU6IDlweDtcbn1cblxuLmF1dGgtZm9ybSB7XG4gIG1pbi13aWR0aDogbWluKDQyMHB4LCA5MnZ3KTtcbiAgcGFkZGluZy10b3A6IDE0cHg7XG59XG5cbi5hdXRoLWZvcm0gLmRpYWxvZy1maWVsZCB7XG4gIG1hcmdpbjogMCAxNHB4IDEycHg7XG59XG5cbi5hY2NvdW50LWRpYWxvZ19fYm9keSB7XG4gIG1pbi13aWR0aDogbWluKDQ0MHB4LCA5MnZ3KTtcbiAgcGFkZGluZzogMTZweCAxNHB4IDE4cHg7XG59XG5cbi5hZG1pbi1kaWFsb2dfX2JvZHkgeyBkaXNwbGF5OiBncmlkOyBnYXA6IDE4cHg7IHBhZGRpbmc6IDIwcHggMjRweCAyNHB4OyBtYXgtaGVpZ2h0OiA2OHZoOyBvdmVyZmxvdzogYXV0bzsgfVxuLmFkbWluLW1ldHJpY3MgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMCwgMWZyKSk7IGdhcDogMTBweDsgfVxuLmFkbWluLW1ldHJpY3MgPiBkaXYgeyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lLCAjZGNlN2UxKTsgYmFja2dyb3VuZDogdmFyKC0tcGFuZWwtbXV0ZWQsICNmNmY5ZjcpOyBwYWRkaW5nOiAxM3B4IDE0cHg7IGRpc3BsYXk6IGdyaWQ7IGdhcDogNXB4OyB9XG4uYWRtaW4tbWV0cmljcyBzcGFuLCAuYWRtaW4tcnVsZS1yb3cgc21hbGwgeyBjb2xvcjogdmFyKC0tbXV0ZWQsICM2ZjdkNzYpOyBmb250LXNpemU6IDEycHg7IH1cbi5hZG1pbi1tZXRyaWNzIHN0cm9uZyB7IGZvbnQtc2l6ZTogMjBweDsgY29sb3I6IHZhcigtLWluaywgIzE3MjQxZSk7IH1cbi5hZG1pbi1zZWN0aW9uIHsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWxpbmUsICNkY2U3ZTEpOyBwYWRkaW5nLXRvcDogMTZweDsgZGlzcGxheTogZ3JpZDsgZ2FwOiAxNHB4OyB9XG4uYWRtaW4tc2VjdGlvbiA+IGhlYWRlciB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuLmFkbWluLXNlY3Rpb24gPiBoZWFkZXIgc3Ryb25nIHsgZGlzcGxheTogYmxvY2s7IGZvbnQtc2l6ZTogMTVweDsgfVxuLmFkbWluLXNlY3Rpb24gPiBoZWFkZXIgc21hbGwgeyBkaXNwbGF5OiBibG9jazsgY29sb3I6IHZhcigtLW11dGVkLCAjNmY3ZDc2KTsgbWFyZ2luLXRvcDogNHB4OyB9XG4uYWRtaW4tcnVsZS1mb3JtIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpOyBnYXA6IDEwcHg7IGFsaWduLWl0ZW1zOiBlbmQ7IH1cbi5hZG1pbi1ydWxlLWZvcm0gLnByaW1hcnktYnV0dG9uIHsgbWluLWhlaWdodDogMzhweDsgfVxuLmFkbWluLXJ1bGUtbGlzdCB7IGRpc3BsYXk6IGdyaWQ7IGdhcDogNnB4OyB9XG4uYWRtaW4tcnVsZS1yb3cgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEuMmZyIDEuNGZyIGF1dG87IGdhcDogMTJweDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpbmUsICNlN2VlZWEpOyBwYWRkaW5nOiA5cHggMDsgZm9udC1zaXplOiAxM3B4OyB9XG4uYWRtaW4tcnVsZS1yb3cgc3Ryb25nIHsgY29sb3I6IHZhcigtLWFjY2VudCwgIzIwN2E1Yik7IH1cbi5hZG1pbi1kYXRhLWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7IGdhcDogMTJweDsgfVxuLmFkbWluLWRhdGEtZ3JpZCA+IGRpdiB7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUsICNkY2U3ZTEpOyBwYWRkaW5nOiAxMnB4OyBtaW4taGVpZ2h0OiAxMjBweDsgfVxuLmFkbWluLWRhdGEtZ3JpZCBoNCB7IG1hcmdpbjogMCAwIDlweDsgZm9udC1zaXplOiAxM3B4OyB9XG4uYWRtaW4tZGF0YS1ncmlkIHAgeyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGdhcDogOHB4OyBtYXJnaW46IDdweCAwOyBmb250LXNpemU6IDEycHg7IH1cbi5hZG1pbi1kYXRhLWdyaWQgcCBzcGFuIHsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbi5hZG1pbi1kYXRhLWdyaWQgcCBzbWFsbCB7IGNvbG9yOiB2YXIoLS1tdXRlZCwgIzZmN2Q3Nik7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjBweCkge1xuICAuYWRtaW4tbWV0cmljcyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTsgfVxuICAuYWRtaW4tcnVsZS1mb3JtIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpOyB9XG4gIC5hZG1pbi1ydWxlLXJvdyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87IH1cbiAgLmFkbWluLXJ1bGUtcm93IHNtYWxsIHsgZ3JpZC1jb2x1bW46IDEgLyAtMTsgfVxuICAuYWRtaW4tZGF0YS1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH1cbn1cblxuLmFjY291bnQtc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbn1cblxuLmFjY291bnQtc3VtbWFyeSA+IGRpdiB7XG4gIG1pbi13aWR0aDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA0cHg7XG59XG5cbi5hY2NvdW50LXN1bW1hcnkgc3Ryb25nLFxuLmFjY291bnQtc3VtbWFyeSBzbWFsbCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uYWNjb3VudC1zdW1tYXJ5IHN0cm9uZyB7IGZvbnQtc2l6ZTogMTJweDsgfVxuLmFjY291bnQtc3VtbWFyeSBzbWFsbCB7IGNvbG9yOiB2YXIoLS1pbmstMyk7IGZvbnQtc2l6ZTogOXB4OyB9XG5cbi5hY2NvdW50LWF2YXRhciB7XG4gIHdpZHRoOiAzNHB4O1xuICBoZWlnaHQ6IDM0cHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtMik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1zb2Z0KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg2NSwgMjAxLCAxNTUsIDAuMjUpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5hY2NvdW50LWJhbGFuY2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMTdweCAwO1xufVxuXG4uYWNjb3VudC1iYWxhbmNlIHNwYW4geyBjb2xvcjogdmFyKC0taW5rLTMpOyBmb250LXNpemU6IDEwcHg7IH1cbi5hY2NvdW50LWJhbGFuY2Ugc3Ryb25nIHsgY29sb3I6IHZhcigtLWFjY2VudC0yKTsgZm9udC1zaXplOiAyNHB4OyBmb250LXdlaWdodDogNjAwOyB9XG5cbi5hY2NvdW50LXRvcHVwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGVuZDtcbiAgZ2FwOiA4cHg7XG59XG5cbi5hY2NvdW50LXRvcHVwIC5kaWFsb2ctZmllbGQgeyBmbGV4OiAxOyB9XG5cbi5pY29uLWJ1dHRvbixcbi50b3BiYXItY29tbWFuZCxcbi5lbmdpbmUtYnV0dG9uLFxuLnNlY29uZGFyeS1idXR0b24sXG4ucHJpbWFyeS1idXR0b24sXG4ucnVuLWJ1dHRvbixcbi5zdG9wLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiA3cHg7XG4gIG1pbi1oZWlnaHQ6IDMycHg7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBhbmVsLTIpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICB0cmFuc2l0aW9uOiBjb2xvciAxNDBtcyBlYXNlLCBiYWNrZ3JvdW5kIDE0MG1zIGVhc2UsIGJvcmRlci1jb2xvciAxNDBtcyBlYXNlLCB0cmFuc2Zvcm0gODBtcyBlYXNlO1xufVxuXG4uaWNvbi1idXR0b246aG92ZXIsXG4udG9wYmFyLWNvbW1hbmQ6aG92ZXIsXG4uZW5naW5lLWJ1dHRvbjpob3Zlcixcbi5zZWNvbmRhcnktYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbGluZS1zdHJvbmcpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1wYW5lbC0zKTtcbn1cblxuLmljb24tYnV0dG9uOmFjdGl2ZSxcbi50b3BiYXItY29tbWFuZDphY3RpdmUsXG4uZW5naW5lLWJ1dHRvbjphY3RpdmUsXG4uc2Vjb25kYXJ5LWJ1dHRvbjphY3RpdmUsXG4ucHJpbWFyeS1idXR0b246YWN0aXZlLFxuLnJ1bi1idXR0b246YWN0aXZlLFxuLnN0b3AtYnV0dG9uOmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpO1xufVxuXG4uaWNvbi1idXR0b24ge1xuICB3aWR0aDogMzJweDtcbiAgcGFkZGluZzogMDtcbn1cblxuLmljb24tYnV0dG9uLmlzLWFjdGl2ZSB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtMik7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg2NSwgMjAxLCAxNTUsIDAuMjgpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtc29mdCk7XG59XG5cbi5pY29uLWJ1dHRvbi0tc20ge1xuICB3aWR0aDogMjVweDtcbiAgbWluLWhlaWdodDogMjVweDtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnRvcGJhci1jb21tYW5kIHtcbiAgcGFkZGluZzogMCAxMHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZW5naW5lLWJ1dHRvbiB7XG4gIG1pbi13aWR0aDogMTAycHg7XG4gIHBhZGRpbmc6IDAgOXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZW5naW5lLWJ1dHRvbiBzbWFsbCB7XG4gIG1pbi13aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjIpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLmVkZ2Utc3R5bGUtc2VsZWN0IHtcbiAgaGVpZ2h0OiAzMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA1cHg7XG4gIHBhZGRpbmc6IDAgNnB4IDAgOHB4O1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1wYW5lbC0yKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgZm9udC1zaXplOiA5cHg7XG59XG5cbi5lZGdlLXN0eWxlLXNlbGVjdCBzZWxlY3Qge1xuICB3aWR0aDogNDhweDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDtcbiAgZm9udC1zaXplOiA5cHg7XG59XG5cbi5lbmdpbmUtZG90IHtcbiAgd2lkdGg6IDdweDtcbiAgaGVpZ2h0OiA3cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxleDogMCAwIGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYW1iZXIpO1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgyMjYsIDE4MSwgOTUsIDAuMSk7XG59XG5cbi5lbmdpbmUtZG90LmlzLW9ubGluZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXN1Y2Nlc3MpO1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSg5OSwgMjEzLCAxNjMsIDAuMSksIDAgMCAxMnB4IHJnYmEoOTksIDIxMywgMTYzLCAwLjI4KTtcbn1cblxuLndvcmtzcGFjZS1zaGVsbCB7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tcmFpbC13aWR0aCkgbWlubWF4KDAsIDFmcik7XG59XG5cbi5hcHAtc2hlbGwuaGFzLWFnZW50IC53b3Jrc3BhY2Utc2hlbGwge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHZhcigtLXJhaWwtd2lkdGgpIG1pbm1heCgwLCAxZnIpIHZhcigtLWFnZW50LXdpZHRoKTtcbn1cblxuLm1vZHVsZS1yYWlsLFxuLmFnZW50LXBhbmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyMDtcbiAgbWluLWhlaWdodDogMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tcGFuZWwpO1xufVxuXG4ubW9kdWxlLXJhaWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDdweDtcbiAgcGFkZGluZzogOXB4IDZweCA3cHg7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xufVxuXG4ubW9kdWxlLXJhaWxfX3ByaW1hcnksXG4ucmFpbC10b29sLXN3aXRjaCxcbi5tb2R1bGUtcmFpbF9fZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA0cHg7XG59XG5cbi5yYWlsLWFjdGlvbixcbi5yYWlsLXRvb2wtc3dpdGNoIGJ1dHRvbixcbi5tb2R1bGUtcmFpbF9fZm9vdGVyID4gYnV0dG9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDlweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogNHB4O1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cblxuLnJhaWwtYWN0aW9uIHNwYW4ge1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAyN3B4O1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1wYW5lbC0zKTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4ucmFpbC1hY3Rpb24gc21hbGwsXG4ucmFpbC10b29sLXN3aXRjaCBzbWFsbCxcbi5tb2R1bGUtcmFpbF9fZm9vdGVyID4gYnV0dG9uIHNwYW4ge1xuICBmb250LXNpemU6IDlweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5yYWlsLWFjdGlvbjpob3Zlcixcbi5yYWlsLXRvb2wtc3dpdGNoIGJ1dHRvbjpob3Zlcixcbi5tb2R1bGUtcmFpbF9fZm9vdGVyID4gYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTk4LCAyMTgsIDIwOCwgMC4wNTUpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWxpbmUpO1xufVxuXG4ucmFpbC1hY3Rpb24tLXByaW1hcnkgc3Bhbixcbi5yYWlsLXRvb2wtc3dpdGNoIGJ1dHRvbi5pcy1hY3RpdmUsXG4ucmFpbC1hY3Rpb24tLWxpYnJhcnkuaXMtYWN0aXZlIHtcbiAgY29sb3I6IHZhcigtLWFjY2VudC0yKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LXNvZnQpO1xuICBib3JkZXItY29sb3I6IHJnYmEoNjUsIDIwMSwgMTU1LCAwLjE4KTtcbn1cblxuLm1vZHVsZS1saWJyYXJ5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA1MDtcbiAgdG9wOiA4cHg7XG4gIGxlZnQ6IGNhbGMoMTAwJSArIDhweCk7XG4gIHdpZHRoOiAyNjRweDtcbiAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gMTZweCk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogNDJweCBtaW5tYXgoMCwgMWZyKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogcmdiYSgyMSwgMjcsIDI0LCAwLjk4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZS1zdHJvbmcpO1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIGJveC1zaGFkb3c6IDAgMThweCA0OHB4IHJnYmEoMSwgNSwgMywgMC40Nik7XG59XG5cbi5tb2R1bGUtbGlicmFyeSA+IGhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCA5cHggMCAxMnB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIGJhY2tncm91bmQ6ICMxYTIxMWU7XG59XG5cbi5tb2R1bGUtbGlicmFyeSA+IGhlYWRlciBzdHJvbmcge1xuICBmb250LXNpemU6IDExcHg7XG59XG5cbi5tb2R1bGUtbGlicmFyeV9fYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBhZGRpbmc6IDlweDtcbiAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xufVxuXG4uc3R5bGUtbGlicmFyeS1pbnRybyB7XG4gIG1hcmdpbjogMCAycHggOXB4O1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ1O1xufVxuXG4uc3R5bGUtbGlicmFyeS1pdGVtIHNtYWxsIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLnN0eWxlLWxpYnJhcnktaXRlbSAuY2F0YWxvZy1pdGVtX19pY29uIHZpZGVvLFxuLnN0eWxlLWxpYnJhcnktaXRlbSAuY2F0YWxvZy1pdGVtX19pY29uIGltZyB7XG4gIHdpZHRoOiAyOHB4O1xuICBoZWlnaHQ6IDM0cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kOiAjMGUxMzExO1xufVxuXG4ubm9kZS1zYXZlLXN0eWxlIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDI2cHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuICBmb250LXNpemU6IDEwcHg7XG59XG5cbi5zdHlsZS1zYXZlLWRpYWxvZ19fYm9keSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMTJweDtcbiAgcGFkZGluZzogMTRweDtcbn1cblxuLm1vZHVsZS1saWJyYXJ5X19ib2R5IHNlY3Rpb24gKyBzZWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogMTJweDtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDE5OCwgMjE4LCAyMDgsIDAuMDcpO1xufVxuXG4ubW9kdWxlLWxpYnJhcnlfX2JvZHkgaDMge1xuICBtYXJnaW46IDAgMCA2cHg7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGZvbnQtc2l6ZTogOXB4O1xuICBmb250LXdlaWdodDogNjUwO1xufVxuXG4ubW9kdWxlLWxpYnJhcnkgLmNhdGFsb2ctaXRlbSB7XG4gIG1pbi1oZWlnaHQ6IDQycHg7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjhweCBtaW5tYXgoMCwgMWZyKSAxNnB4O1xuICBwYWRkaW5nOiA1cHggNnB4O1xufVxuXG4ubW9kdWxlLWxpYnJhcnkgLmNhdGFsb2ctaXRlbV9faWNvbiB7XG4gIHdpZHRoOiAyOHB4O1xuICBoZWlnaHQ6IDI4cHg7XG59XG5cbi5zdHlsZS1saWJyYXJ5LWl0ZW0gLmNhdGFsb2ctaXRlbV9faWNvbiB2aWRlbyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5zdHlsZS1saWJyYXJ5LWVudHJ5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIDI2cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogM3B4O1xufVxuXG4uc3R5bGUtbGlicmFyeS1lbnRyeSAuc3R5bGUtbGlicmFyeS1pdGVtIHtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4uc3R5bGUtbGlicmFyeS1kZWxldGUge1xuICB3aWR0aDogMjZweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5zdHlsZS1saWJyYXJ5LWRlbGV0ZTpob3ZlciB7XG4gIGNvbG9yOiAjZjA4ZjgyO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjQwLCAxNDMsIDEzMCwgMC4yNSk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjQwLCAxNDMsIDEzMCwgMC4wOCk7XG59XG5cbi5tb2R1bGUtcmFpbF9fZGl2aWRlciB7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IDFweCA3cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWxpbmUpO1xufVxuXG4ubW9kdWxlLXJhaWxfX3NwYWNlciB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBtaW4taGVpZ2h0OiAxNnB4O1xufVxuXG4ubW9kdWxlLXJhaWxfX2hlYWQge1xuICBoZWlnaHQ6IDUxcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMXB4IDAgMTNweDtcbn1cblxuLm1vZHVsZS1yYWlsX19oZWFkID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAycHg7XG59XG5cbi5tb2R1bGUtcmFpbF9faGVhZCBzdHJvbmcge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5tb2R1bGUtcmFpbF9faGVhZCBzcGFuIHtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbiAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4udG9vbC1zd2l0Y2gge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGJhY2tncm91bmQ6ICMxMDE0MTI7XG59XG5cbi50b29sLXN3aXRjaCBidXR0b24ge1xuICB3aWR0aDogMjdweDtcbiAgaGVpZ2h0OiAyNXB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4udG9vbC1zd2l0Y2ggYnV0dG9uOmhvdmVyLFxuLnRvb2wtc3dpdGNoIGJ1dHRvbi5pcy1hY3RpdmUge1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tcGFuZWwtMyk7XG59XG5cbi50b29sLXN3aXRjaCBidXR0b24uaXMtYWN0aXZlIHtcbiAgY29sb3I6IHZhcigtLWFjY2VudC0yKTtcbn1cblxuLnJhaWwtc2VhcmNoIHtcbiAgaGVpZ2h0OiAzMnB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDE2cHggbWlubWF4KDAsIDFmcikgMThweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA2cHg7XG4gIG1hcmdpbjogMCAxMHB4IDhweDtcbiAgcGFkZGluZzogMCA4cHg7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGJhY2tncm91bmQ6ICMwZjEzMTE7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG59XG5cbi5yYWlsLXNlYXJjaDpmb2N1cy13aXRoaW4ge1xuICBib3JkZXItY29sb3I6IHJnYmEoNjUsIDIwMSwgMTU1LCAwLjQ4KTtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoNjUsIDIwMSwgMTU1LCAwLjA4KTtcbn1cblxuLnJhaWwtc2VhcmNoIGlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMDtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiAwO1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLnJhaWwtc2VhcmNoIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNjE3MDY5O1xufVxuXG4ucmFpbC1zZWFyY2ggYnV0dG9uIHtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5tb2R1bGUtcmFpbF9fc2Nyb2xsIHtcbiAgbWluLWhlaWdodDogMDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgc2Nyb2xsYmFyLWNvbG9yOiAjMzQ0MjNjIHRyYW5zcGFyZW50O1xuICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gIHBhZGRpbmc6IDAgN3B4IDEycHg7XG59XG5cbi5jYXRhbG9nLWdyb3VwIHtcbiAgcGFkZGluZzogMnB4IDAgNXB4O1xufVxuXG4uY2F0YWxvZy1ncm91cCArIC5jYXRhbG9nLWdyb3VwIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTk4LCAyMTgsIDIwOCwgMC4wNTUpO1xufVxuXG4uY2F0YWxvZy1ncm91cF9fdGl0bGUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyOXB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIGF1dG8gMTZweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA3cHg7XG4gIHBhZGRpbmc6IDAgNnB4O1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmNhdGFsb2ctZ3JvdXBfX3RpdGxlIHNwYW4ge1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiA2NTA7XG59XG5cbi5jYXRhbG9nLWdyb3VwX190aXRsZSBzbWFsbCB7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLmNhdGFsb2ctZ3JvdXBfX3RpdGxlIHN2ZyB7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNDBtcyBlYXNlO1xufVxuXG4uY2F0YWxvZy1ncm91cF9fdGl0bGUgc3ZnLmlzLWNvbGxhcHNlZCB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG59XG5cbi5jYXRhbG9nLWdyb3VwX19pdGVtcyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgZ2FwOiAzcHg7XG59XG5cbi5jYXRhbG9nLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi13aWR0aDogMDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDI0cHggbWlubWF4KDAsIDFmcik7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4O1xuICBwYWRkaW5nOiA0cHggNXB4O1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDE0MG1zIGVhc2UsIGJhY2tncm91bmQgMTQwbXMgZWFzZSwgdHJhbnNmb3JtIDkwbXMgZWFzZTtcbn1cblxuLmNhdGFsb2ctaXRlbTpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1pbmspO1xuICBib3JkZXItY29sb3I6IHJnYmEoNjUsIDIwMSwgMTU1LCAwLjE4KTtcbiAgYmFja2dyb3VuZDogcmdiYSg2NSwgMjAxLCAxNTUsIDAuMDc1KTtcbn1cblxuLmNhdGFsb2ctaXRlbTphY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTtcbn1cblxuLmNhdGFsb2ctaXRlbV9faWNvbiB7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtMik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1zb2Z0KTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4uY2F0YWxvZy1pdGVtID4gc3BhbjpudGgtY2hpbGQoMikge1xuICBtaW4td2lkdGg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMDtcbn1cblxuLmNhdGFsb2ctaXRlbSBzdHJvbmcsXG4uY2F0YWxvZy1pdGVtIHNtYWxsIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jYXRhbG9nLWl0ZW0gc3Ryb25nIHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogNjUwO1xufVxuXG4uY2F0YWxvZy1pdGVtIHNtYWxsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNhdGFsb2ctaXRlbV9fcGx1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1cHg7XG4gIHJpZ2h0OiA1cHg7XG4gIG9wYWNpdHk6IDA7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtMik7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTQwbXMgZWFzZTtcbn1cblxuLmNhdGFsb2ctaXRlbTpob3ZlciAuY2F0YWxvZy1pdGVtX19wbHVzIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm1vZHVsZS1yYWlsX19mb290ZXIge1xuICBwYWRkaW5nOiA3cHggMCAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4ubW9kdWxlLXJhaWxfX2Zvb3RlciA+IGJ1dHRvbiB7XG4gIGhlaWdodDogNDJweDtcbn1cblxuLmxvY2FsLWVuZ2luZS1saW5lIHtcbiAgaGVpZ2h0OiAyNXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA3cHg7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgcGFkZGluZzogMCA3cHg7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTk4LCAyMTgsIDIwOCwgMC4wNTUpO1xufVxuXG4ubG9jYWwtZW5naW5lLWxpbmUgc3BhbjpsYXN0LWNoaWxkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZsb3ctc3VyZmFjZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLXdpZHRoOiAwO1xuICBtaW4taGVpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jYW52YXMpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZmxvdy1zdXJmYWNlLmlzLWZpbGUtZHJhZ2dpbmcge1xuICBvdXRsaW5lOiAxcHggc29saWQgcmdiYSg5MiwgMjI5LCAxODEsIDAuNTYpO1xuICBvdXRsaW5lLW9mZnNldDogLTFweDtcbn1cblxuLmZsb3ctZHJvcC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAzMDtcbiAgaW5zZXQ6IDE4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDdweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbG9yOiAjZDZmZmYwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDExLCAyMiwgMTcsIDAuODQpO1xuICBib3JkZXI6IDFweCBkYXNoZWQgcmdiYSgxMDEsIDIzNywgMTkwLCAwLjc4KTtcbiAgYm9yZGVyLXJhZGl1czogN3B4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgxMDEsIDIzNywgMTkwLCAwLjA2KTtcbn1cblxuLmZsb3ctZHJvcC1vdmVybGF5ID4gc3ZnIHtcbiAgY29sb3I6IHZhcigtLWFjY2VudC0yKTtcbn1cblxuLmZsb3ctZHJvcC1vdmVybGF5IHN0cm9uZyB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDY1MDtcbn1cblxuLmZsb3ctZHJvcC1vdmVybGF5IHNwYW4ge1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICBmb250LXNpemU6IDEwcHg7XG59XG5cbi5mbG93LXN1cmZhY2UuaXMtaW50ZXJhY3RpbmcgLnJlYWN0LWZsb3dfX25vZGUge1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xufVxuXG4uZmxvdy1zdXJmYWNlLmlzLWludGVyYWN0aW5nIC5mbG93LW5vZGUge1xuICBib3gtc2hhZG93OiAwIDRweCAxNHB4IHJnYmEoMiwgNiwgNCwgMC4xNCk7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5mbG93LXN1cmZhY2UuaXMtaW50ZXJhY3RpbmcgLnJlYWN0LWZsb3dfX2VkZ2UtcGF0aCxcbi5mbG93LXN1cmZhY2UuaXMtaW50ZXJhY3RpbmcgLnR5cGVkLWhhbmRsZSB7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5yZWFjdC1mbG93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2FudmFzKTtcbn1cblxuLnJlYWN0LWZsb3dfX3BhbmUge1xuICBjdXJzb3I6IGNyb3NzaGFpcjtcbn1cblxuLmZsb3ctc3VyZmFjZS5pcy1zZWxlY3QtdG9vbCAucmVhY3QtZmxvd19fcGFuZSxcbi5mbG93LXN1cmZhY2UuaXMtc2VsZWN0LXRvb2wgLmZsb3ctbm9kZSxcbi5mbG93LXN1cmZhY2UuaXMtc2VsZWN0LXRvb2wgLmZsb3ctbm9kZV9faGVhZGVyLFxuLmZsb3ctc3VyZmFjZS5pcy1zZWxlY3QtdG9vbCAuZmxvdy1ub2RlLmlzLW1lZGlhLWNhcmQgLm1lZGlhLXN0YWdlIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4uZmxvdy1zdXJmYWNlLmlzLWhhbmQtdG9vbCAucmVhY3QtZmxvd19fcGFuZSB7XG4gIGN1cnNvcjogZ3JhYjtcbn1cblxuLmZsb3ctc3VyZmFjZS5pcy1oYW5kLXRvb2wgLnJlYWN0LWZsb3dfX3BhbmUuZHJhZ2dpbmcge1xuICBjdXJzb3I6IGdyYWJiaW5nO1xufVxuXG4ucmVhY3QtZmxvd19fcGFuZS5kcmFnZ2luZyxcbi5yZWFjdC1mbG93X19wYW5lLnNlbGVjdGlvbiB7XG4gIGN1cnNvcjogZ3JhYmJpbmc7XG59XG5cbi5yZWFjdC1mbG93X19zZWxlY3Rpb24sXG4ucmVhY3QtZmxvd19fbm9kZXNzZWxlY3Rpb24tcmVjdCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNjUsIDIwMSwgMTU1LCAwLjgpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDY1LCAyMDEsIDE1NSwgMC4wNyk7XG59XG5cbi5yZWFjdC1mbG93X19ub2RlIHtcbiAgd2lkdGg6IDM0MHB4O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDdweDtcbn1cblxuLnJlYWN0LWZsb3dfX25vZGUtYXNzZXQge1xuICB3aWR0aDogMzIwcHg7XG59XG5cbi5yZWFjdC1mbG93X19ub2RlLXByb21wdCB7XG4gIHdpZHRoOiAzMTBweDtcbn1cblxuLnJlYWN0LWZsb3dfX25vZGUtZmlsbSB7XG4gIHdpZHRoOiAzNjBweDtcbn1cblxuLnJlYWN0LWZsb3dfX25vZGUtZ3JvdXAge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4td2lkdGg6IDQyMHB4O1xuICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgei1pbmRleDogLTEgIWltcG9ydGFudDtcbn1cblxuLnJlYWN0LWZsb3dfX25vZGUuc2VsZWN0ZWQgPiAuZmxvdy1ub2RlLFxuLnJlYWN0LWZsb3dfX25vZGU6Zm9jdXMgPiAuZmxvdy1ub2RlIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDY1LCAyMDEsIDE1NSwgMC43NSk7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDY1LCAyMDEsIDE1NSwgMC4xMyksIDAgMThweCA1MHB4IHJnYmEoMywgNywgNSwgMC4zNCk7XG59XG5cbi5mbG93LXN1cmZhY2UuaXMtaW50ZXJhY3RpbmcgLnJlYWN0LWZsb3dfX25vZGUuc2VsZWN0ZWQgPiAuZmxvdy1ub2RlLFxuLmZsb3ctc3VyZmFjZS5pcy1pbnRlcmFjdGluZyAucmVhY3QtZmxvd19fbm9kZTpmb2N1cyA+IC5mbG93LW5vZGUge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSg2NSwgMjAxLCAxNTUsIDAuMTIpLCAwIDRweCAxNHB4IHJnYmEoMiwgNiwgNCwgMC4xNCk7XG59XG5cbi5yZWFjdC1mbG93X19ub2RlLnNlbGVjdGVkID4gLmdyb3VwLW5vZGUge1xuICBib3JkZXItY29sb3I6IHJnYmEoNjUsIDIwMSwgMTU1LCAwLjUpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDY1LCAyMDEsIDE1NSwgMC4wMzUpO1xufVxuXG4uZmxvdy1ub2RlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiB2YXIoLS1pbmspO1xuICBiYWNrZ3JvdW5kOiAjMTcxYzFhO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE5OCwgMjE4LCAyMDgsIDAuMTQpO1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIGJveC1zaGFkb3c6IDAgMTRweCAzNnB4IHJnYmEoMiwgNiwgNCwgMC4yMik7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxNDBtcyBlYXNlLCBib3gtc2hhZG93IDE0MG1zIGVhc2U7XG59XG5cbi5mbG93LW5vZGUuaXMtbWVkaWEtY2FyZCxcbi5mbG93LW5vZGUuaXMtbWVkaWEtY2FyZCAubWVkaWEtc3RhZ2Uge1xuICBjdXJzb3I6IGdyYWI7XG59XG5cbi5mbG93LW5vZGUuaXMtbWVkaWEtY2FyZCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uZmxvdy1ub2RlLmlzLW1lZGlhLWNhcmQgLmZsb3ctbm9kZV9faGVhZGVyIHtcbiAgaGVpZ2h0OiAyNnB4O1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDE4cHggbWlubWF4KDAsIDFmcikgYXV0bztcbiAgZ2FwOiA1cHg7XG4gIHBhZGRpbmc6IDAgMnB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuXG4uZmxvdy1ub2RlLmlzLW1lZGlhLWNhcmQgLm5vZGUtaWNvbiB7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uZmxvdy1ub2RlLmlzLW1lZGlhLWNhcmQgLm5vZGUtaGVhZGluZyBzdHJvbmcge1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xuICBmb250LXNpemU6IDEwcHg7XG59XG5cbi5mbG93LW5vZGUuaXMtbWVkaWEtY2FyZCAuc3RhdHVzLWJhZGdlIHtcbiAgbWluLWhlaWdodDogMTZweDtcbiAgcGFkZGluZzogMCA0cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDhweDtcbn1cblxuLmZsb3ctbm9kZS5pcy1tZWRpYS1jYXJkIC5ub2RlLWFjdGlvbnMge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEyMG1zIGVhc2U7XG59XG5cbi5mbG93LW5vZGUuaXMtbWVkaWEtY2FyZDpob3ZlciAubm9kZS1hY3Rpb25zLFxuLnJlYWN0LWZsb3dfX25vZGUuc2VsZWN0ZWQgPiAuZmxvdy1ub2RlLmlzLW1lZGlhLWNhcmQgLm5vZGUtYWN0aW9ucyB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5mbG93LW5vZGUuaXMtbWVkaWEtY2FyZCA+IC5mbG93LW5vZGVfX2JvZHkge1xuICBwYWRkaW5nOiAwO1xufVxuXG4uZmxvdy1ub2RlLmlzLW1lZGlhLWNhcmQgLm1lZGlhLXN0YWdlIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDE5OCwgMjE4LCAyMDgsIDAuMTQpO1xuICBib3gtc2hhZG93OiAwIDlweCAyNnB4IHJnYmEoMiwgNiwgNCwgMC4xOCk7XG59XG5cbi5yZWFjdC1mbG93X19ub2RlLnNlbGVjdGVkID4gLmZsb3ctbm9kZS5pcy1tZWRpYS1jYXJkIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLnJlYWN0LWZsb3dfX25vZGUuc2VsZWN0ZWQgPiAuZmxvdy1ub2RlLmlzLW1lZGlhLWNhcmQgLm1lZGlhLXN0YWdlIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDY1LCAyMDEsIDE1NSwgMC44Mik7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDY1LCAyMDEsIDE1NSwgMC43OCksIDAgMTJweCAzNHB4IHJnYmEoMiwgNiwgNCwgMC4yNik7XG59XG5cbi5mbG93LW5vZGUtLWFzc2V0LmlzLW1lZGlhLWNhcmQgLm5vZGUtZm9vdGVyLFxuLmZsb3ctbm9kZS0tb3BlcmF0aW9uLmlzLW1lZGlhLWNhcmQgLm5vZGUtcnVuLXJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMztcbiAgcmlnaHQ6IDZweDtcbiAgYm90dG9tOiA2cHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogM3B4O1xuICBvcGFjaXR5OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDExLCAxNSwgMTMsIDAuODgpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE5OCwgMjE4LCAyMDgsIDAuMTIpO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cig3cHgpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEyMG1zIGVhc2U7XG59XG5cbi5mbG93LW5vZGUtLWFzc2V0LmlzLW1lZGlhLWNhcmQ6aG92ZXIgLm5vZGUtZm9vdGVyLFxuLmZsb3ctbm9kZS0tb3BlcmF0aW9uLmlzLW1lZGlhLWNhcmQ6aG92ZXIgLm5vZGUtcnVuLXJvdyxcbi5yZWFjdC1mbG93X19ub2RlLnNlbGVjdGVkID4gLmZsb3ctbm9kZS0tYXNzZXQuaXMtbWVkaWEtY2FyZCAubm9kZS1mb290ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uZmxvdy1ub2RlLS1hc3NldC5pcy1tZWRpYS1jYXJkIC5maWxlLW5hbWUsXG4uZmxvdy1ub2RlLS1vcGVyYXRpb24uaXMtbWVkaWEtY2FyZCAucm91dGUtY2FwdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5mbG93LW5vZGUuaXMtbWVkaWEtY2FyZCAucmVzdWx0LXN3aXRjaGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAzO1xuICBsZWZ0OiA2cHg7XG4gIGJvdHRvbTogNnB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDExLCAxNSwgMTMsIDAuODgpO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbi5mbG93LW5vZGUuaXMtbWVkaWEtY2FyZDphY3RpdmUsXG4uZmxvdy1ub2RlLmlzLW1lZGlhLWNhcmQgLm1lZGlhLXN0YWdlOmFjdGl2ZSB7XG4gIGN1cnNvcjogZ3JhYmJpbmc7XG59XG5cbi5yZWFjdC1mbG93X19ub2RlW3N0eWxlKj1cImhlaWdodFwiXSA+IC5mbG93LW5vZGUuaXMtbWVkaWEtY2FyZCB7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAyNnB4IG1pbm1heCgwLCAxZnIpO1xufVxuXG4ucmVhY3QtZmxvd19fbm9kZVtzdHlsZSo9XCJoZWlnaHRcIl0gPiAuZmxvdy1ub2RlLmlzLW1lZGlhLWNhcmQgPiAuZmxvdy1ub2RlX19ib2R5IHtcbiAgbWluLWhlaWdodDogMDtcbn1cblxuLnJlYWN0LWZsb3dfX25vZGVbc3R5bGUqPVwiaGVpZ2h0XCJdID4gLmZsb3ctbm9kZS0tYXNzZXQuaXMtbWVkaWEtY2FyZCA+IC5mbG93LW5vZGVfX2JvZHkge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IG1pbm1heCgwLCAxZnIpIGF1dG87XG59XG5cbi5yZWFjdC1mbG93X19ub2RlW3N0eWxlKj1cImhlaWdodFwiXSA+IC5mbG93LW5vZGUtLW9wZXJhdGlvbi5pcy1tZWRpYS1jYXJkID4gLm9wZXJhdGlvbi1ib2R5LS1jb21wYWN0IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBtaW5tYXgoMCwgMWZyKTtcbn1cblxuLnJlYWN0LWZsb3dfX25vZGVbc3R5bGUqPVwiaGVpZ2h0XCJdID4gLmZsb3ctbm9kZS5pcy1tZWRpYS1jYXJkIC5tZWRpYS1zdGFnZSB7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMDtcbn1cblxuLmZsb3ctbm9kZS5pcy1mYWlsZWQge1xuICBib3JkZXItY29sb3I6IHJnYmEoMjM5LCAxMTMsIDEwMywgMC40Mik7XG59XG5cbi5mbG93LW5vZGVfX2hlYWRlciB7XG4gIGhlaWdodDogMzhweDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyNXB4IG1pbm1heCgwLCAxZnIpIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogN3B4O1xuICBwYWRkaW5nOiAwIDdweCAwIDlweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTk4LCAyMTgsIDIwOCwgMC4wODUpO1xuICBiYWNrZ3JvdW5kOiAjMWIyMTFmO1xuICBib3JkZXItcmFkaXVzOiA2cHggNnB4IDAgMDtcbiAgY3Vyc29yOiBncmFiO1xufVxuXG4uZmxvdy1ub2RlX19oZWFkZXI6YWN0aXZlLFxuLmdyb3VwLW5vZGVfX2hlYWRlcjphY3RpdmUge1xuICBjdXJzb3I6IGdyYWJiaW5nO1xufVxuXG4ubm9kZS1pY29uIHtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLWFjY2VudC0yKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LXNvZnQpO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbi5mbG93LW5vZGUtLWZpbG0gLm5vZGUtaWNvbiB7XG4gIGNvbG9yOiAjZjRhNDhkO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb3JhbC1zb2Z0KTtcbn1cblxuLm5vZGUtaGVhZGluZyB7XG4gIG1pbi13aWR0aDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA2cHg7XG59XG5cbi5ub2RlLWhlYWRpbmcgc3Ryb25nIHtcbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4ubm9kZS1hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnN0YXR1cy1iYWRnZSB7XG4gIG1heC13aWR0aDogOTJweDtcbiAgbWluLWhlaWdodDogMThweDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNHB4O1xuICBwYWRkaW5nOiAxcHggNXB4O1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDM1KTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LXNpemU6IDlweDtcbiAgZm9udC13ZWlnaHQ6IDY1MDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5zdGF0dXMtYmFkZ2UtLXdvcmtpbmcge1xuICBjb2xvcjogI2YwY2E4MTtcbiAgYmFja2dyb3VuZDogcmdiYSgyMjYsIDE4MSwgOTUsIDAuMSk7XG59XG5cbi5zdGF0dXMtYmFkZ2UtLXN1Y2Nlc3Mge1xuICBjb2xvcjogIzg1ZTFiYjtcbiAgYmFja2dyb3VuZDogcmdiYSg5OSwgMjEzLCAxNjMsIDAuMSk7XG59XG5cbi5zdGF0dXMtYmFkZ2UtLWVycm9yIHtcbiAgY29sb3I6ICNmNjlhOTE7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCAxMTMsIDEwMywgMC4xKTtcbn1cblxuLmZsb3ctbm9kZV9fYm9keSB7XG4gIHBhZGRpbmc6IDlweDtcbn1cblxuLm9wZXJhdGlvbi1ib2R5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA4cHg7XG59XG5cbi5vcGVyYXRpb24tYm9keS0tY29tcGFjdCB7XG4gIGdhcDogNnB4O1xuICBwYWRkaW5nOiA4cHg7XG59XG5cbi5tZWRpYS1zdGFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTU0cHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGJhY2tncm91bmQ6ICMwZDEwMGY7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTk4LCAyMTgsIDIwOCwgMC4wODUpO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbi5mbG93LW5vZGUtLWFzc2V0IC5tZWRpYS1zdGFnZSB7XG4gIGhlaWdodDogMTc2cHg7XG59XG5cbi5vcGVyYXRpb24tYm9keS0tY29tcGFjdCAubWVkaWEtc3RhZ2Uge1xuICBoZWlnaHQ6IDIxMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5vcGVyYXRpb24tYm9keS0tY29tcGFjdCAubWVkaWEtc3RhZ2UuaXMtbGFuZHNjYXBlIHtcbiAgaGVpZ2h0OiAxODBweDtcbn1cblxuLm9wZXJhdGlvbi1ib2R5LS1jb21wYWN0IC5tZWRpYS1zdGFnZS5pcy1zcXVhcmUge1xuICBoZWlnaHQ6IDI3MHB4O1xufVxuXG4ub3BlcmF0aW9uLWJvZHktLWNvbXBhY3QgLm1lZGlhLXN0YWdlLmlzLXBvcnRyYWl0IHtcbiAgaGVpZ2h0OiA0MDBweDtcbn1cblxuLm1lZGlhLXN0YWdlLS1lbXB0eSB7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBwYWRkaW5nOiAxOHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDU7XG59XG5cbi5tZWRpYS1zdGFnZS0tZW1wdHkgc3ZnIHtcbiAgY29sb3I6ICM1MjYyNWE7XG59XG5cbi5tZWRpYS1zdGFnZV9fdW5hdmFpbGFibGUge1xuICBtaW4taGVpZ2h0OiAxMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiA3cHg7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIxMCwgOTIsIDgzLCAwLjA2KTtcbn1cblxuLm1lZGlhLXN0YWdlX191bmF2YWlsYWJsZSBzdmcge1xuICBjb2xvcjogdmFyKC0tZGFuZ2VyKTtcbn1cblxuLm1lZGlhLXN0YWdlX19hdWRpbyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogMTRweDtcbiAgcGFkZGluZzogMjBweDtcbiAgY29sb3I6IHZhcigtLWFjY2VudCwgIzc0ZDVhZik7XG59XG5cbi5tZWRpYS1zdGFnZV9fYXVkaW8gYXVkaW8ge1xuICB3aWR0aDogbWluKDEwMCUsIDMyMHB4KTtcbn1cblxuLm1lZGlhLXN0YWdlLS1maWxsZWQgaW1nLFxuLm1lZGlhLXN0YWdlLS1maWxsZWQgdmlkZW8ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgYmFja2dyb3VuZDogIzBiMGQwYztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5tZWRpYS1zdGFnZS0tZmlsbGVkIHZpZGVvLm1lZGlhLXN0YWdlX192aWRlbyB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5tYXNrLWVkaXRvciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjtcbiAgaW5zZXQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjdXJzb3I6IGNyb3NzaGFpcjtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4ubWFzay10b29scyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDJweDtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi5tYXNrLXRvb2xzIGJ1dHRvbixcbi5tYXNrLXRvb2xzIC5tYXNrLXNpemUge1xuICBoZWlnaHQ6IDI5cHg7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDRweDtcbiAgcGFkZGluZzogMCA2cHg7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LXNpemU6IDhweDtcbn1cblxuLm1hc2stdG9vbHMgYnV0dG9uOmhvdmVyLFxuLm1hc2stdG9vbHMgYnV0dG9uLmlzLWFjdGl2ZSB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtMik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1zb2Z0KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDY1LCAyMDEsIDE1NSwgMC4yMik7XG59XG5cbi5tYXNrLXNpemUgaW5wdXQge1xuICB3aWR0aDogNTJweDtcbiAgYWNjZW50LWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xufVxuXG4ucmVhY3QtZmxvd19fbm9kZTpub3QoW3N0eWxlKj1cImhlaWdodFwiXSkgPiAuZmxvdy1ub2RlLmlzLW1lZGlhLWNhcmQgLm1lZGlhLXN0YWdlLmhhcy1pbnRyaW5zaWMtcmF0aW8ge1xuICBoZWlnaHQ6IGF1dG87XG4gIGFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtYXNwZWN0KTtcbn1cblxuLm1lZGlhLXN0YWdlX19vcGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogN3B4O1xuICB0b3A6IDdweDtcbiAgd2lkdGg6IDI3cHg7XG4gIGhlaWdodDogMjdweDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTAsIDEzLCAxMiwgMC44Mik7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNCk7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTQwbXMgZWFzZSwgdHJhbnNmb3JtIDE0MG1zIGVhc2U7XG59XG5cbi5tZWRpYS1zdGFnZS0tZmlsbGVkOmhvdmVyIC5tZWRpYS1zdGFnZV9fb3BlbiB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLmNyZWF0aXZlLXJlc2l6ZXJfX2xpbmUge1xuICBib3JkZXItY29sb3I6IHJnYmEoNjUsIDIwMSwgMTU1LCAwLjc4KSAhaW1wb3J0YW50O1xufVxuXG4uY3JlYXRpdmUtcmVzaXplcl9faGFuZGxlIHtcbiAgd2lkdGg6IDlweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDlweCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiAjNDJkM2EyICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMxMDIwMTkgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5jcmVhdGl2ZS10b29sYmFyLFxuLmNyZWF0aXZlLWNvbXBvc2VyIHtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjMsIDI5LCAyNiwgMC45OCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUtc3Ryb25nKTtcbiAgYm9yZGVyLXJhZGl1czogN3B4O1xuICBib3gtc2hhZG93OiAwIDE2cHggNDJweCByZ2JhKDIsIDYsIDQsIDAuNDIpO1xufVxuXG4uY3JlYXRpdmUtdG9vbGJhciB7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgbWF4LXdpZHRoOiBtaW4oODMwcHgsIGNhbGMoMTAwdncgLSA2ODBweCkpO1xuICBoZWlnaHQ6IDQzcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMnB4O1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIHBhZGRpbmc6IDRweDtcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xufVxuXG4uY3JlYXRpdmUtdG9vbGJhcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY3JlYXRpdmUtdG9vbGJhcl9fc291cmNlIHtcbiAgaGVpZ2h0OiAzM3B4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4O1xuICBwYWRkaW5nOiAwIDhweDtcbiAgY29sb3I6IHZhcigtLWFjY2VudC0yKTtcbiAgZm9udC1zaXplOiA5cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jcmVhdGl2ZS10b29sYmFyX19kaXZpZGVyIHtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAyM3B4O1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWFyZ2luOiAwIDNweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tbGluZSk7XG59XG5cbi5jcmVhdGl2ZS10b29sYmFyIGJ1dHRvbixcbi5jcmVhdGl2ZS10b29sYmFyX19tb3JlIHtcbiAgaGVpZ2h0OiAzM3B4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGZvbnQtc2l6ZTogOXB4O1xufVxuXG4uY3JlYXRpdmUtdG9vbGJhciBidXR0b246aG92ZXIsXG4uY3JlYXRpdmUtdG9vbGJhciBidXR0b24uaXMtYWN0aXZlLFxuLmNyZWF0aXZlLXRvb2xiYXJfX21vcmU6aG92ZXIge1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tcGFuZWwtMyk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxOTgsIDIxOCwgMjA4LCAwLjA4KTtcbn1cblxuLmNyZWF0aXZlLXRvb2xiYXIgYnV0dG9uLmlzLWFjdGl2ZSB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtMik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1zb2Z0KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDY1LCAyMDEsIDE1NSwgMC4yKTtcbn1cblxuLmNyZWF0aXZlLXRvb2xiYXJfX21vcmUgc2VsZWN0IHtcbiAgd2lkdGg6IDQycHg7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiAwO1xuICBmb250OiBpbmhlcml0O1xufVxuXG4uY3JlYXRpdmUtY29tcG9zZXIge1xuICB3aWR0aDogbWluKDY4MHB4LCBjYWxjKDEwMHZ3IC0gNjQwcHgpKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMTBweDtcbn1cblxuLmNyZWF0aXZlLWNvbXBvc2VyX19oZWFkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLmNyZWF0aXZlLWNvbXBvc2VyX19oZWFkID4gc3BhbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4O1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5jcmVhdGl2ZS1jb21wb3Nlcl9faGVhZCBzbWFsbCB7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGZvbnQtc2l6ZTogOHB4O1xufVxuXG4uY3JlYXRpdmUtY29tcG9zZXIgdGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogNDJweDtcbiAgbWF4LWhlaWdodDogNjRweDtcbiAgcmVzaXplOiBub25lO1xuICBwYWRkaW5nOiA3cHggOXB4O1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgYmFja2dyb3VuZDogIzBmMTQxMjtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxOTgsIDIxOCwgMjA4LCAwLjEyKTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBvdXRsaW5lOiAwO1xuICBmb250OiAxMHB4LzEuNTUgaW5oZXJpdDtcbn1cblxuLmNyZWF0aXZlLWNvbXBvc2VyIHRleHRhcmVhOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDY1LCAyMDEsIDE1NSwgMC41KTtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoNjUsIDIwMSwgMTU1LCAwLjA3KTtcbn1cblxuLmNyZWF0aXZlLWNvbXBvc2VyX19mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgZ2FwOiA2cHg7XG4gIG1hcmdpbi10b3A6IDhweDtcbn1cblxuLmNyZWF0aXZlLWNvbXBvc2VyX19mb290ZXIgbGFiZWwge1xuICBtaW4td2lkdGg6IDg0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogM3B4O1xufVxuXG4uY3JlYXRpdmUtY29tcG9zZXJfX2Zvb3Rlci5pcy12aWRlbyA+IGxhYmVsOm50aC1vZi10eXBlKDUpLFxuLm5vZGUtaW5saW5lLWNvbXBvc2VyX19jb250cm9scy5pcy12aWRlbyA+IGxhYmVsOm50aC1vZi10eXBlKDQpLFxuLmluc3BlY3Rvci1ncmlkLmlzLXZpZGVvID4gbGFiZWw6bnRoLW9mLXR5cGUoNCkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubW9kZWwtZHVyYXRpb24tc2VsZWN0IHtcbiAgb3JkZXI6IDQ7XG59XG5cbi5jcmVhdGl2ZS1yZWZlcmVuY2UtY2hpcCB7XG4gIG1pbi1oZWlnaHQ6IDI5cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogN3B4O1xuICBtYXJnaW46IDAgMCA3cHg7XG4gIHBhZGRpbmc6IDRweCA3cHg7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIGJhY2tncm91bmQ6IHJnYmEoNjUsIDIwMSwgMTU1LCAwLjA2KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg2NSwgMjAxLCAxNTUsIDAuMTgpO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGZvbnQtc2l6ZTogOXB4O1xufVxuXG4uY3JlYXRpdmUtcmVmZXJlbmNlLWNoaXAgaW1nIHtcbiAgd2lkdGg6IDIzcHg7XG4gIGhlaWdodDogMjNweDtcbiAgZmxleDogMCAwIGF1dG87XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbi5jcmVhdGl2ZS1yZWZlcmVuY2UtY2hpcCBzcGFuIHtcbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmNyZWF0aXZlLXJlZmVyZW5jZS1jaGlwIHNtYWxsIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtMik7XG4gIGZvbnQtc2l6ZTogOHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uY3JlYXRpdmUtY29tcG9zZXJfX2Zvb3RlciBsYWJlbCA+IHNwYW4ge1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICBmb250LXNpemU6IDhweDtcbn1cblxuLmNyZWF0aXZlLWNvbXBvc2VyX19mb290ZXIgc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMjhweDtcbiAgcGFkZGluZzogMCA3cHg7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIGJhY2tncm91bmQ6ICMxMDE1MTM7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTk4LCAyMTgsIDIwOCwgMC4xMSk7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgb3V0bGluZTogMDtcbiAgZm9udC1zaXplOiA5cHg7XG59XG5cbi5jcmVhdGl2ZS1jb21wb3Nlcl9fcnVuIHtcbiAgd2lkdGg6IDM0cHg7XG4gIGhlaWdodDogMjhweDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZmxleDogMCAwIGF1dG87XG4gIG9yZGVyOiAxMDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGNvbG9yOiAjMDcxMjBlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbi5jcmVhdGl2ZS1jb21wb3Nlcl9fcnVuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LTIpO1xufVxuXG4uY3JlYXRpdmUtY29tcG9zZXJfX3J1bjpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNDU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5ub2RlLWlubGluZS1jb21wb3NlciB7XG4gIHdpZHRoOiBtaW4oNTYwcHgsIGNhbGMoMTAwdncgLSA1MDBweCkpO1xuICBwYWRkaW5nOiAxMHB4O1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgYmFja2dyb3VuZDogcmdiYSgyMywgMjksIDI2LCAwLjk4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZS1zdHJvbmcpO1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIGJveC1zaGFkb3c6IDAgMTZweCA0MnB4IHJnYmEoMiwgNiwgNCwgMC40Mik7XG59XG5cbi5ub2RlLWlubGluZS1jb21wb3Nlcl9faGVhZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiA3cHg7XG59XG5cbi5ub2RlLWlubGluZS1jb21wb3Nlcl9faGVhZCBzcGFuIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4O1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5ub2RlLWlubGluZS1jb21wb3Nlcl9faGVhZCBzbWFsbCB7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGZvbnQtc2l6ZTogOHB4O1xufVxuXG4ubm9kZS1pbmxpbmUtY29tcG9zZXIgdGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogNjhweDtcbiAgcGFkZGluZzogOHB4IDlweDtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIGJhY2tncm91bmQ6ICMwZjE0MTI7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTk4LCAyMTgsIDIwOCwgMC4xMik7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgb3V0bGluZTogMDtcbiAgZm9udDogMTBweC8xLjUgaW5oZXJpdDtcbn1cblxuLm5vZGUtaW5saW5lLWNvbXBvc2VyX19jb250cm9scyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBnYXA6IDZweDtcbiAgbWFyZ2luLXRvcDogOHB4O1xufVxuXG4ubm9kZS1pbmxpbmUtY29tcG9zZXJfX3J1biB7XG4gIG9yZGVyOiAxMDtcbiAgbWluLWhlaWdodDogMjdweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmc6IDAgMTFweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm5vZGUtaW5saW5lLWNvbXBvc2VyX19jb250cm9scyBsYWJlbCB7XG4gIG1pbi13aWR0aDogNzRweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAzcHg7XG59XG5cbi5ub2RlLWlubGluZS1jb21wb3Nlcl9fY29udHJvbHMgbGFiZWwgc3BhbiB7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGZvbnQtc2l6ZTogOHB4O1xufVxuXG4ubm9kZS1pbmxpbmUtY29tcG9zZXJfX2NvbnRyb2xzIHNlbGVjdCB7XG4gIGhlaWdodDogMjdweDtcbiAgcGFkZGluZzogMCA2cHg7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIGJhY2tncm91bmQ6ICMxMDE1MTM7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTk4LCAyMTgsIDIwOCwgMC4xMSk7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgb3V0bGluZTogMDtcbiAgZm9udC1zaXplOiA5cHg7XG59XG5cbi5hbmFseXplLXZpZGVvLWJ1dHRvbiB7XG4gIG1pbi1oZWlnaHQ6IDI3cHg7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDRweDtcbiAgcGFkZGluZzogMCA3cHg7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtMik7XG4gIGJhY2tncm91bmQ6IHJnYmEoNjUsIDIwMSwgMTU1LCAwLjA4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg2NSwgMjAxLCAxNTUsIDAuMik7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgZm9udC1zaXplOiA5cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5hbmFseXplLXZpZGVvLWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoNjUsIDIwMSwgMTU1LCAwLjE2KTtcbn1cblxuLmFuYWx5emUtdmlkZW8tYnV0dG9uOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC40NTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLm9wZXJhdGlvbi1wbGFjZWhvbGRlciB7XG4gIG1pbi1oZWlnaHQ6IDEyMnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEwcHg7XG4gIHBhZGRpbmc6IDE4cHg7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGJhY2tncm91bmQ6ICMxMTE3MTQ7XG4gIGJvcmRlcjogMXB4IGRhc2hlZCByZ2JhKDE5OCwgMjE4LCAyMDgsIDAuMTUpO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbi5vcGVyYXRpb24tcGxhY2Vob2xkZXJfX2ljb24ge1xuICB3aWR0aDogMzZweDtcbiAgaGVpZ2h0OiAzNnB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLWFjY2VudC0yKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LXNvZnQpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG59XG5cbi5vcGVyYXRpb24tcGxhY2Vob2xkZXIgPiBkaXYge1xuICBtaW4td2lkdGg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNXB4O1xufVxuXG4ub3BlcmF0aW9uLXBsYWNlaG9sZGVyIHN0cm9uZyB7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIGZvbnQtc2l6ZTogMTFweDtcbn1cblxuLm9wZXJhdGlvbi1wbGFjZWhvbGRlciBzcGFuOmxhc3QtY2hpbGQge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbiAgZm9udC1zaXplOiA5cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMztcbn1cblxuLm9wZXJhdGlvbi1yZWZlcmVuY2Utc3RyaXAge1xuICBtaW4taGVpZ2h0OiAzMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDdweDtcbiAgbWFyZ2luOiA3cHggMCAwO1xuICBwYWRkaW5nOiA1cHggN3B4O1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDY1LCAyMDEsIDE1NSwgMC4wNTUpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDY1LCAyMDEsIDE1NSwgMC4xNik7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgZm9udC1zaXplOiA5cHg7XG59XG5cbi5vcGVyYXRpb24tcmVmZXJlbmNlLXN0cmlwLmlzLWVtcHR5IHtcbiAgY29sb3I6IHZhcigtLWluay00KTtcbiAgYmFja2dyb3VuZDogcmdiYSgxOTgsIDIxOCwgMjA4LCAwLjAyNSk7XG4gIGJvcmRlci1zdHlsZTogZGFzaGVkO1xufVxuXG4ub3BlcmF0aW9uLXJlZmVyZW5jZS1zdHJpcCBpbWcsXG4ub3BlcmF0aW9uLXJlZmVyZW5jZS1zdHJpcCB2aWRlbyB7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuXG4ub3BlcmF0aW9uLXJlZmVyZW5jZS1zdHJpcCBzcGFuIHtcbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm9wZXJhdGlvbi1yZWZlcmVuY2Utc3RyaXAgc21hbGwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgY29sb3I6IHZhcigtLWFjY2VudC0yKTtcbiAgZm9udC1zaXplOiA5cHg7XG59XG5cbi5vcGVyYXRpb24tcmVmZXJlbmNlLXJvbGVzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDVweDtcbiAgbWFyZ2luLXRvcDogNnB4O1xufVxuXG4ub3BlcmF0aW9uLXJlZmVyZW5jZS1yb2xlcyBzcGFuIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNHB4O1xuICBtaW4taGVpZ2h0OiAyNHB4O1xuICBwYWRkaW5nOiAzcHggNnB4O1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE5OCwgMjE4LCAyMDgsIDAuMDM1KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZm9udC1zaXplOiA4cHg7XG59XG5cbi5vcGVyYXRpb24tcmVmZXJlbmNlLXJvbGVzIHNwYW4uaXMtcmVhZHkge1xuICBjb2xvcjogdmFyKC0tc3VjY2Vzcyk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg5OSwgMjEzLCAxNjMsIDAuMjQpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDk5LCAyMTMsIDE2MywgMC4wNyk7XG59XG5cbi5vcGVyYXRpb24tcmVmZXJlbmNlLXJvbGVzIHNwYW4uaXMtbWlzc2luZyB7XG4gIGNvbG9yOiB2YXIoLS1hbWJlcik7XG4gIGJvcmRlci1zdHlsZTogZGFzaGVkO1xufVxuXG4ucmVmZXJlbmNlLWNvbXBvc2VyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4td2lkdGg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNXB4O1xufVxuXG4ucmVmZXJlbmNlLWNvbXBvc2VyIHRleHRhcmVhIHtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4ucmVmZXJlbmNlLWNvbXBvc2VyX190cmF5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAzMnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDVweDtcbiAgcGFkZGluZzogM3B4IDRweDtcbiAgYmFja2dyb3VuZDogcmdiYSg2NSwgMjAxLCAxNTUsIDAuMDQ1KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg2NSwgMjAxLCAxNTUsIDAuMTQpO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbi5yZWZlcmVuY2UtY29tcG9zZXJfX3RodW1icyB7XG4gIG1pbi13aWR0aDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA0cHg7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbn1cblxuLnJlZmVyZW5jZS1jb21wb3Nlcl9fdGh1bWJzOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5yZWZlcmVuY2UtdGh1bWIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAyOHB4O1xuICBoZWlnaHQ6IDI4cHg7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIGJhY2tncm91bmQ6ICMwYzEwMGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNjUsIDIwMSwgMTU1LCAwLjMyKTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG5idXR0b24ucmVmZXJlbmNlLXRodW1iIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5idXR0b24ucmVmZXJlbmNlLXRodW1iOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQtMik7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDY1LCAyMDEsIDE1NSwgMC4xMik7XG59XG5cbi5yZWZlcmVuY2UtdGh1bWIgaW1nLFxuLnJlZmVyZW5jZS10aHVtYiB2aWRlbyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5yZWZlcmVuY2UtdGh1bWIgPiBzcGFuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMnB4O1xuICBib3R0b206IDFweDtcbiAgbWluLXdpZHRoOiAxMHB4O1xuICBwYWRkaW5nOiAxcHggMnB4O1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgYmFja2dyb3VuZDogcmdiYSg3LCAxMCwgOCwgMC43OCk7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgZm9udC1zaXplOiA3cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5yZWZlcmVuY2UtY29tcG9zZXJfX2F0IHtcbiAgd2lkdGg6IDI1cHg7XG4gIGhlaWdodDogMjVweDtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogdmFyKC0tYWNjZW50LTIpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDY1LCAyMDEsIDE1NSwgMC4wOSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNjUsIDIwMSwgMTU1LCAwLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5yZWZlcmVuY2UtY29tcG9zZXJfX2F0OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSg2NSwgMjAxLCAxNTUsIDAuMTcpO1xufVxuXG4ucmVmZXJlbmNlLXBpY2tlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogNjtcbiAgbGVmdDogNHB4O1xuICBib3R0b206IGNhbGMoMTAwJSArIDRweCk7XG4gIHdpZHRoOiBtaW4oMjUwcHgsIGNhbGMoMTAwJSAtIDhweCkpO1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDJweDtcbiAgcGFkZGluZzogNXB4O1xuICBiYWNrZ3JvdW5kOiAjMTkyMTFkO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lLXN0cm9uZyk7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm94LXNoYWRvdzogMCAxMnB4IDI4cHggcmdiYSgyLCA2LCA0LCAwLjQyKTtcbn1cblxuLnJlZmVyZW5jZS1waWNrZXIgPiBidXR0b24ge1xuICBtaW4td2lkdGg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogN3B4O1xuICBwYWRkaW5nOiA0cHg7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC1zaXplOiA5cHg7XG59XG5cbi5yZWZlcmVuY2UtcGlja2VyID4gYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBhbmVsLTMpO1xufVxuXG4ucmVmZXJlbmNlLXBpY2tlciA+IGJ1dHRvbiA+IHNwYW46bGFzdC1jaGlsZCB7XG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi52aWRlby1wcm9tcHQtc3RhdHVzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA1cHg7XG4gIG1hcmdpbjogNXB4IDAgMDtcbiAgY29sb3I6IHZhcigtLWFjY2VudC0yKTtcbiAgZm9udC1zaXplOiA4cHg7XG59XG5cbi5ub2RlLWluc3BlY3RvciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMzU7XG4gIHRvcDogMTJweDtcbiAgcmlnaHQ6IDEycHg7XG4gIHdpZHRoOiAzNTBweDtcbiAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gMjRweCk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogNDlweCBtaW5tYXgoMCwgMWZyKSA1NHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgYmFja2dyb3VuZDogcmdiYSgyMSwgMjcsIDI0LCAwLjk4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg2NSwgMjAxLCAxNTUsIDAuMzIpO1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIGJveC1zaGFkb3c6IDAgMjJweCA2MHB4IHJnYmEoMSwgNSwgMywgMC40Nik7XG59XG5cbi5ub2RlLWluc3BlY3Rvcl9faGVhZGVyIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyNXB4IG1pbm1heCgwLCAxZnIpIGF1dG8gMjdweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIHBhZGRpbmc6IDAgOXB4O1xuICBiYWNrZ3JvdW5kOiAjMWEyMTFlO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG59XG5cbi5ub2RlLWluc3BlY3Rvcl9faGVhZGVyID4gZGl2IHtcbiAgbWluLXdpZHRoOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDJweDtcbn1cblxuLm5vZGUtaW5zcGVjdG9yX19oZWFkZXIgc3Ryb25nLFxuLm5vZGUtaW5zcGVjdG9yX19oZWFkZXIgc21hbGwge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm5vZGUtaW5zcGVjdG9yX19oZWFkZXIgc3Ryb25nIHtcbiAgZm9udC1zaXplOiAxMXB4O1xufVxuXG4ubm9kZS1pbnNwZWN0b3JfX2hlYWRlciBzbWFsbCB7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGZvbnQtc2l6ZTogOHB4O1xufVxuXG4ubm9kZS1pbnNwZWN0b3JfX2JvZHkge1xuICBtaW4taGVpZ2h0OiAwO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuICBzY3JvbGxiYXItY29sb3I6ICMzNDQyM2MgdHJhbnNwYXJlbnQ7XG4gIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbn1cblxuLmluc3BlY3Rvci1zZWN0aW9uIHtcbiAgcGFkZGluZzogMTFweDtcbn1cblxuLmluc3BlY3Rvci1zZWN0aW9uICsgLmluc3BlY3Rvci1zZWN0aW9uIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTk4LCAyMTgsIDIwOCwgMC4wNyk7XG59XG5cbi5pbnNwZWN0b3ItZ3JpZCB7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgZ2FwOiA5cHggN3B4O1xufVxuXG4ubm9kZS1pbnNwZWN0b3IgLmV4ZWN1dGlvbi1yb3cge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLm5vZGUtaW5zcGVjdG9yIC53b3JrZmxvdy1zZWxlY3Qge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLm5vZGUtaW5zcGVjdG9yX19mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogOXB4O1xuICBwYWRkaW5nOiAwIDExcHg7XG4gIGJhY2tncm91bmQ6ICMxMjE3MTU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbn1cblxuLm5vZGUtaW5zcGVjdG9yX19mb290ZXIgLnJvdXRlLWNhcHRpb24ge1xuICBmb250LXNpemU6IDlweDtcbn1cblxuLnRleHQtcmVzdWx0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDE1NHB4O1xuICBtaW4taGVpZ2h0OiAxMTJweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMTJweDtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICBsaW5lLWhlaWdodDogMS41NTtcbiAgYmFja2dyb3VuZDogIzEwMTUxMztcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxOTgsIDIxOCwgMjA4LCAwLjA4NSk7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgZm9udC1zaXplOiAxMXB4O1xufVxuXG4ubm9kZS1mb290ZXIsXG4ubm9kZS1ydW4tcm93LFxuLmV4ZWN1dGlvbi1yb3csXG4uZmlsbS1vcHRpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA3cHg7XG59XG5cbi5ub2RlLWZvb3RlciB7XG4gIG1hcmdpbi10b3A6IDhweDtcbn1cblxuLmZpbG0taGVscCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNXB4O1xuICBtYXJnaW46IDdweCAwO1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5zZWNvbmRhcnktYnV0dG9uLFxuLnByaW1hcnktYnV0dG9uLFxuLnJ1bi1idXR0b24sXG4uc3RvcC1idXR0b24ge1xuICBtaW4taGVpZ2h0OiAzMHB4O1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IDY1MDtcbn1cblxuLnByaW1hcnktYnV0dG9uLFxuLnJ1bi1idXR0b24ge1xuICBjb2xvcjogIzA3MTIwZTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xufVxuXG4ucHJpbWFyeS1idXR0b246aG92ZXIsXG4ucnVuLWJ1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiAjMDUwYjA4O1xuICBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudC0yKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LTIpO1xufVxuXG4uc3RvcC1idXR0b24ge1xuICBjb2xvcjogI2Y3YWVhNTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDIzOSwgMTEzLCAxMDMsIDAuMjQpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgMTEzLCAxMDMsIDAuMDkpO1xufVxuXG4uZmlsZS1uYW1lIHtcbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbiAgZm9udC1zaXplOiA5cHg7XG59XG5cbi5maWVsZC1sYWJlbCxcbi5jb21wYWN0LWdyaWQgbGFiZWwsXG4uZmlsbS1vcHRpb25zIGxhYmVsLFxuLmRpYWxvZy1maWVsZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNXB4O1xufVxuXG4uZmllbGQtbGFiZWwgPiBzcGFuLFxuLmNvbXBhY3QtZ3JpZCBsYWJlbCA+IHNwYW4sXG4uZmlsbS1vcHRpb25zIGxhYmVsID4gc3Bhbixcbi5kaWFsb2ctZmllbGQgPiBzcGFuIHtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbiAgZm9udC1zaXplOiA5cHg7XG4gIGZvbnQtd2VpZ2h0OiA2NTA7XG59XG5cbi5maWVsZC1sYWJlbCB0ZXh0YXJlYSxcbi5jb21wYWN0LWdyaWQgc2VsZWN0LFxuLmZpbG0tb3B0aW9ucyBzZWxlY3QsXG4ud29ya2Zsb3ctc2VsZWN0LFxuLmRpYWxvZy1maWVsZCBpbnB1dCxcbi5kaWFsb2ctZmllbGQgc2VsZWN0LFxuLmFnZW50LWNvbXBvc2VyIHRleHRhcmVhIHtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxOTgsIDIxOCwgMjA4LCAwLjEyKTtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbiAgYmFja2dyb3VuZDogIzEwMTQxMjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4uZmllbGQtbGFiZWwgdGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogNjFweDtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgcGFkZGluZzogN3B4IDhweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLmZpZWxkLWxhYmVsIHRleHRhcmVhOmZvY3VzLFxuLmNvbXBhY3QtZ3JpZCBzZWxlY3Q6Zm9jdXMsXG4uZmlsbS1vcHRpb25zIHNlbGVjdDpmb2N1cyxcbi53b3JrZmxvdy1zZWxlY3Q6Zm9jdXMsXG4uZGlhbG9nLWZpZWxkIGlucHV0OmZvY3VzLFxuLmRpYWxvZy1maWVsZCBzZWxlY3Q6Zm9jdXMsXG4uYWdlbnQtY29tcG9zZXIgdGV4dGFyZWE6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHJnYmEoNjUsIDIwMSwgMTU1LCAwLjUpO1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSg2NSwgMjAxLCAxNTUsIDAuMDcpO1xufVxuXG4uY29tcGFjdC1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuICBnYXA6IDZweDtcbn1cblxuLmNvbXBhY3QtZ3JpZCBzZWxlY3QsXG4uZmlsbS1vcHRpb25zIHNlbGVjdCxcbi53b3JrZmxvdy1zZWxlY3Qge1xuICBtaW4td2lkdGg6IDA7XG4gIGhlaWdodDogMjdweDtcbiAgcGFkZGluZzogMCA1cHg7XG4gIGZvbnQtc2l6ZTogOXB4O1xufVxuXG4uZXhlY3V0aW9uLXJvdyB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLnNlZ21lbnRlZCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAycHg7XG4gIGJhY2tncm91bmQ6ICMwZTEyMTA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTk4LCAyMTgsIDIwOCwgMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4uc2VnbWVudGVkIGJ1dHRvbiB7XG4gIGhlaWdodDogMjJweDtcbiAgcGFkZGluZzogMCA3cHg7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGZvbnQtc2l6ZTogOXB4O1xufVxuXG4uc2VnbWVudGVkIGJ1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG59XG5cbi5zZWdtZW50ZWQgYnV0dG9uLmlzLWFjdGl2ZSB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtMik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1zb2Z0KTtcbn1cblxuLndvcmtmbG93LXNlbGVjdCB7XG4gIHdpZHRoOiAxNDJweDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5ub2RlLXJ1bi1yb3cge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1pbi1oZWlnaHQ6IDMwcHg7XG59XG5cbi5yb3V0ZS1jYXB0aW9uIHtcbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbiAgZm9udC1zaXplOiA5cHg7XG59XG5cbi5ub2RlLWVycm9yIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogNnB4O1xuICBwYWRkaW5nOiA3cHg7XG4gIGNvbG9yOiAjZjJhYWEzO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgMTEzLCAxMDMsIDAuMDc1KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMzksIDExMywgMTAzLCAwLjE0KTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBmb250LXNpemU6IDlweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLm5vZGUtZXJyb3Igc3ZnIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1hcmdpbi10b3A6IDFweDtcbn1cblxuLm5vZGUtcnVubmluZy1saW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBoZWlnaHQ6IDJweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDdweCA3cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoNjUsIDIwMSwgMTU1LCAwLjEpO1xufVxuXG4ubm9kZS1ydW5uaW5nLWxpbmU6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDM2JTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcbiAgYW5pbWF0aW9uOiB3b3JraW5nLWxpbmUgMS4zcyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyB3b3JraW5nLWxpbmUge1xuICBmcm9tIHsgbGVmdDogLTM2JTsgfVxuICB0byB7IGxlZnQ6IDEwMCU7IH1cbn1cblxuLnNwaW4ge1xuICBhbmltYXRpb246IHNwaW4gOTAwbXMgbGluZWFyIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHNwaW4ge1xuICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbn1cblxuLnJlc3VsdC1zd2l0Y2hlciB7XG4gIGhlaWdodDogMjNweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogNXB4O1xuICBtYXJnaW4tdG9wOiAtNHB4O1xufVxuXG4ucmVzdWx0LXN3aXRjaGVyIGJ1dHRvbiB7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5yZXN1bHQtc3dpdGNoZXIgYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBhbmVsLTMpO1xufVxuXG4ucmVzdWx0LXN3aXRjaGVyIHNwYW4ge1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICBmb250LXNpemU6IDlweDtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLnR5cGVkLWhhbmRsZSB7XG4gIHdpZHRoOiAxMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTFweCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDJweCBzb2xpZCAjMTkyMDFkICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCkgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoNjUsIDIwMSwgMTU1LCAwLjQ1KTtcbn1cblxuLnR5cGVkLWhhbmRsZS0tdmlkZW8ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb3JhbCkgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMjE3LCAxMjAsIDkzLCAwLjQ1KTtcbn1cblxuLnR5cGVkLWhhbmRsZS0tdGV4dCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFtYmVyKSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgyMjYsIDE4MSwgOTUsIDAuNDUpO1xufVxuXG4udHlwZWQtaGFuZGxlLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDE0cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1tdXRlZCk7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG9wYWNpdHk6IDAuNzg7XG59XG5cbi50eXBlZC1oYW5kbGUtY2FwdGlvbi0taW1hZ2Uge1xuICBjb2xvcjogdmFyKC0tbWludCk7XG59XG5cbi50eXBlZC1oYW5kbGUtY2FwdGlvbi0tdmlkZW8ge1xuICBjb2xvcjogdmFyKC0tY29yYWwpO1xufVxuXG4ucmVhY3QtZmxvd19fZWRnZS1wYXRoIHtcbiAgc3Ryb2tlOiAjNjA3MzZhO1xuICBzdHJva2Utd2lkdGg6IDEuNDU7XG59XG5cbi5yZWFjdC1mbG93X19lZGdlLnNlbGVjdGVkIC5yZWFjdC1mbG93X19lZGdlLXBhdGgsXG4ucmVhY3QtZmxvd19fZWRnZTpob3ZlciAucmVhY3QtZmxvd19fZWRnZS1wYXRoIHtcbiAgc3Ryb2tlOiB2YXIoLS1hY2NlbnQpO1xuICBzdHJva2Utd2lkdGg6IDI7XG59XG5cbi5yZWFjdC1mbG93X19hcnJvd2hlYWQgcG9seWxpbmUge1xuICBzdHJva2U6ICM2MDczNmE7XG4gIGZpbGw6ICM2MDczNmE7XG59XG5cbi5ncm91cC1ub2RlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyOiAxcHggZGFzaGVkIHJnYmEoMTk4LCAyMTgsIDIwOCwgMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogN3B4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDMyLCAzOSwgMzYsIDAuMjIpO1xufVxuXG4uZ3JvdXAtbm9kZV9faGVhZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDM0cHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTlweCBtaW5tYXgoMCwgMWZyKSAyNXB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDVweDtcbiAgcGFkZGluZzogMCA3cHg7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjYsIDMyLCAzMCwgMC43KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCByZ2JhKDE5OCwgMjE4LCAyMDgsIDAuMTQpO1xuICBib3JkZXItcmFkaXVzOiA2cHggNnB4IDAgMDtcbiAgY3Vyc29yOiBncmFiO1xufVxuXG4uZ3JvdXAtbm9kZV9faGVhZGVyIGlucHV0IHtcbiAgbWluLXdpZHRoOiAwO1xuICBib3JkZXI6IDA7XG4gIG91dGxpbmU6IDA7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2NTA7XG59XG5cbi5yZWFjdC1mbG93X19jb250cm9scyB7XG4gIGxlZnQ6IDEycHggIWltcG9ydGFudDtcbiAgYm90dG9tOiAxMnB4ICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDZweCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpICFpbXBvcnRhbnQ7XG59XG5cbi5yZWFjdC1mbG93X19jb250cm9scyBidXR0b24ge1xuICB3aWR0aDogMjlweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDI5cHggIWltcG9ydGFudDtcbiAgY29sb3I6IHZhcigtLWluay0yKSAhaW1wb3J0YW50O1xuICBmaWxsOiB2YXIoLS1pbmstMikgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogcmdiYSgyMiwgMjgsIDI1LCAwLjk1KSAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tbGluZSkgIWltcG9ydGFudDtcbn1cblxuLnJlYWN0LWZsb3dfX2NvbnRyb2xzIGJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5yZWFjdC1mbG93X19jb250cm9scyBidXR0b246aG92ZXIge1xuICBjb2xvcjogdmFyKC0taW5rKSAhaW1wb3J0YW50O1xuICBmaWxsOiB2YXIoLS1pbmspICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBhbmVsLTMpICFpbXBvcnRhbnQ7XG59XG5cbi5yZWFjdC1mbG93X19taW5pbWFwIHtcbiAgbGVmdDogMTJweCAhaW1wb3J0YW50O1xuICBib3R0b206IDUxcHggIWltcG9ydGFudDtcbiAgd2lkdGg6IDE0NnB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogODZweCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE2LCAyMCwgMTgsIDAuOTQpICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7XG59XG5cbi5lbXB0eS1jYW52YXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA0OCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uZW1wdHktY2FudmFzX19pY29uIHtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLWFjY2VudC0yKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LXNvZnQpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDY1LCAyMDEsIDE1NSwgMC4xOCk7XG4gIGJvcmRlci1yYWRpdXM6IDdweDtcbn1cblxuLmVtcHR5LWNhbnZhcyBzdHJvbmcge1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi5lbXB0eS1jYW52YXMgYnV0dG9uIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbi5hZ2VudC1wYW5lbCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogNDNweCBtaW5tYXgoMCwgMWZyKTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYm94LXNoYWRvdzogLTEycHggMCAzNHB4IHJnYmEoMywgNywgNSwgMC4xKTtcbn1cblxuLmFnZW50LXBhbmVsX19oZWFkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIG1pbi13aWR0aDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBiYWNrZ3JvdW5kOiAjMTQxOTE3O1xufVxuXG4uYWdlbnQtcGFuZWxfX2hlYWQgLmFnZW50LXRhYnMge1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG5cbi5hZ2VudC1jbG9zZSB7XG4gIHdpZHRoOiAzNHB4O1xuICBoZWlnaHQ6IDM0cHg7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG59XG5cbi5hZ2VudC10YWJzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgYWxpZ24taXRlbXM6IGVuZDtcbiAgcGFkZGluZzogMCA4cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYmFja2dyb3VuZDogIzE0MTkxNztcbn1cblxuLmFnZW50LXRhYnMgYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDQycHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDZweDtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4uYWdlbnQtdGFicyBidXR0b246aG92ZXIge1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xufVxuXG4uYWdlbnQtdGFicyBidXR0b24uaXMtYWN0aXZlIHtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWFjY2VudCk7XG59XG5cbi50YWItZG90IHtcbiAgd2lkdGg6IDVweDtcbiAgaGVpZ2h0OiA1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYW1iZXIpO1xuICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMjI2LCAxODEsIDk1LCAwLjUpO1xufVxuXG4uYWdlbnQtY29udGVudCxcbi5yZXZpZXctY29udGVudCxcbi50YXNrcy1jb250ZW50IHtcbiAgbWluLWhlaWdodDogMDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgcGFkZGluZzogMTJweDtcbiAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICBzY3JvbGxiYXItY29sb3I6ICMzNDQyM2MgdHJhbnNwYXJlbnQ7XG59XG5cbi5hZ2VudC1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYWdlbnQtY29udGV4dCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wYW5lbC1zZWN0aW9uLXRpdGxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtaW4taGVpZ2h0OiAyM3B4O1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5wYW5lbC1zZWN0aW9uLXRpdGxlIHNtYWxsIHtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbiAgZm9udC1zaXplOiA5cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5zZWxlY3RlZC1jb250ZXh0LWxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogNXB4O1xufVxuXG4uY29udGV4dC1jaGlwIHtcbiAgbWF4LXdpZHRoOiAxNDJweDtcbiAgaGVpZ2h0OiAzMXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDZweDtcbiAgcGFkZGluZzogM3B4IDdweCAzcHggM3B4O1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1wYW5lbC0yKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgZm9udC1zaXplOiA5cHg7XG59XG5cbi5jb250ZXh0LWNoaXAgaW1nIHtcbiAgd2lkdGg6IDI1cHg7XG4gIGhlaWdodDogMjVweDtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZDogIzBjMGYwZTtcbn1cblxuLmNvbnRleHQtY2hpcCBzcGFuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jb21wYWN0LWVtcHR5IHtcbiAgaGVpZ2h0OiA1OHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiA2cHg7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMTgpO1xuICBib3JkZXI6IDFweCBkYXNoZWQgcmdiYSgxOTgsIDIxOCwgMjA4LCAwLjEyKTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBmb250LXNpemU6IDlweDtcbn1cblxuLmFnZW50LXByZXNldHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDZweDtcbn1cblxuLnByZXNldC1idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogNDlweDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzMXB4IG1pbm1heCgwLCAxZnIpIDE2cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBwYWRkaW5nOiA2cHggOHB4O1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1wYW5lbC0yKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNDBtcyBlYXNlLCBib3JkZXItY29sb3IgMTQwbXMgZWFzZTtcbn1cblxuLnByZXNldC1idXR0b246aG92ZXIge1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tcGFuZWwtMyk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg2NSwgMjAxLCAxNTUsIDAuMjYpO1xufVxuXG4ucHJlc2V0LWJ1dHRvbiA+IHNwYW4ge1xuICB3aWR0aDogMzFweDtcbiAgaGVpZ2h0OiAzMXB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tYWNjZW50LTIpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtc29mdCk7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cblxuLnByZXNldC1idXR0b24gZGl2IHtcbiAgbWluLXdpZHRoOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDNweDtcbn1cblxuLnByZXNldC1idXR0b24gc3Ryb25nLFxuLnByZXNldC1idXR0b24gc21hbGwge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnByZXNldC1idXR0b24gc3Ryb25nIHtcbiAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4ucHJlc2V0LWJ1dHRvbiBzbWFsbCB7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGZvbnQtc2l6ZTogOXB4O1xufVxuXG4ucHJlc2V0LWJ1dHRvbiA+IHN2ZyB7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG59XG5cbi5hZ2VudC1yb3V0ZS1jYXJkIHtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZDogIzEyMWExNztcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg2NSwgMjAxLCAxNTUsIDAuMTQpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG59XG5cbi5hZ2VudC1yb3V0ZS1jYXJkID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA3cHg7XG59XG5cbi5hZ2VudC1yb3V0ZS1jYXJkIHN0cm9uZyB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLmFnZW50LXJvdXRlLWNhcmQgcCB7XG4gIG1hcmdpbjogN3B4IDAgOXB4O1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICBmb250LXNpemU6IDlweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLnJvdXRlLXBpbGxzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDVweDtcbiAgbWFyZ2luLXRvcDogOHB4O1xufVxuXG4ucm91dGUtcGlsbHMgc3BhbiB7XG4gIHBhZGRpbmc6IDNweCA2cHg7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMzUpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtc2l6ZTogOHB4O1xufVxuXG4uYWdlbnQtY29tcG9zZXIge1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci10b3A6IDA7XG59XG5cbi5hZ2VudC1yZWZlcmVuY2Utc3RyaXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDdweDtcbiAgbWluLWhlaWdodDogNDZweDtcbiAgcGFkZGluZzogN3B4IDEycHg7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGJhY2tncm91bmQ6ICMxMDE1MTM7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbn1cblxuLmFnZW50LXJlZmVyZW5jZS1zdHJpcF9fbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA0cHg7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIGZvbnQtc2l6ZTogOXB4O1xuICBmb250LXdlaWdodDogNjUwO1xufVxuXG4uYWdlbnQtcmVmZXJlbmNlLXN0cmlwX19pdGVtcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogNHB4O1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5hZ2VudC1yZWZlcmVuY2UtY2hpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDI5cHg7XG4gIGhlaWdodDogMjlweDtcbiAgZmxleDogMCAwIGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNjUsIDIwMSwgMTU1LCAwLjMyKTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kOiAjMGMwZjBlO1xufVxuXG4uYWdlbnQtcmVmZXJlbmNlLWNoaXAgaW1nLFxuLmFnZW50LXJlZmVyZW5jZS1jaGlwIHZpZGVvIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uYWdlbnQtcmVmZXJlbmNlLWNoaXAgaSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDJweDtcbiAgYm90dG9tOiAxcHg7XG4gIG1pbi13aWR0aDogMTFweDtcbiAgcGFkZGluZzogMXB4IDJweDtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIGJhY2tncm91bmQ6IHJnYmEoNywgMTAsIDgsIDAuNzgpO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGZvbnQtc2l6ZTogN3B4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5hZ2VudC1yZWZlcmVuY2Utc3RyaXAgPiBzbWFsbCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICBmb250LXNpemU6IDhweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmFnZW50LWNoYXQtbG9nIHtcbiAgZmxleDogMTtcbiAgbWluLWhlaWdodDogMDtcbiAgbWluLXdpZHRoOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDdweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDE2cHggMTRweCAxMnB4O1xuICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gIHNjcm9sbGJhci1jb2xvcjogIzM0NDIzYyB0cmFuc3BhcmVudDtcbn1cblxuLmFnZW50LWVtcHR5LWRpYWxvZyB7XG4gIG1pbi1oZWlnaHQ6IDE1MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIG1hcmdpbjogYXV0byAwO1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5hZ2VudC1lbXB0eS1kaWFsb2cgc3ZnIHtcbiAgY29sb3I6IHZhcigtLWFjY2VudC0yKTtcbn1cblxuLmFnZW50LWVtcHR5LWRpYWxvZyBzdHJvbmcge1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi5hZ2VudC1lbXB0eS1kaWFsb2cgc3BhbiB7XG4gIG1heC13aWR0aDogMjMwcHg7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmFnZW50LW1lc3NhZ2Uge1xuICBtaW4td2lkdGg6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogOHB4IDlweDtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbiAgYmFja2dyb3VuZDogIzExMTcxNDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxOTgsIDIxOCwgMjA4LCAwLjA5KTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi5hZ2VudC1tZXNzYWdlLS11c2VyIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gIGNvbG9yOiB2YXIoLS1pbmspO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtc29mdCk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg2NSwgMjAxLCAxNTUsIDAuMik7XG59XG5cbi5hZ2VudC1tZXNzYWdlLS1wZW5kaW5nIHtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbiAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG59XG5cbi5hZ2VudC1tb2RlLXN3aXRjaCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICBnYXA6IDNweDtcbiAgbWFyZ2luOiAwIDEycHggN3B4O1xuICBwYWRkaW5nOiAzcHg7XG4gIGJhY2tncm91bmQ6ICMxMDE0MTI7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbi5hZ2VudC1tb2RlLXN3aXRjaCBidXR0b24ge1xuICBoZWlnaHQ6IDI2cHg7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtc2l6ZTogOXB4O1xufVxuXG4uYWdlbnQtbW9kZS1zd2l0Y2ggYnV0dG9uOmhvdmVyLFxuLmFnZW50LW1vZGUtc3dpdGNoIGJ1dHRvbi5pcy1hY3RpdmUge1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tcGFuZWwtMyk7XG59XG5cbi5hZ2VudC1jb21wb3NlciBsYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGZvbnQtc2l6ZTogOXB4O1xuICBmb250LXdlaWdodDogNjUwO1xufVxuXG4uYWdlbnQtY29tcG9zZXIgdGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogNDJweDtcbiAgbWF4LWhlaWdodDogNjRweDtcbiAgcGFkZGluZzogOXB4O1xuICByZXNpemU6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLmFnZW50LWlucHV0LXJvdyB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIDM0cHg7XG4gIGdhcDogNnB4O1xuICBtYXJnaW46IDAgMTJweCAxMnB4O1xuICBhbGlnbi1pdGVtczogZW5kO1xufVxuXG4uYWdlbnQtc2VuZC1idXR0b24ge1xuICB3aWR0aDogMzRweDtcbiAgbWluLWhlaWdodDogMzRweDtcbiAgcGFkZGluZzogMDtcbn1cblxuLmFnZW50LWNvbmZpcm0tY2FyZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogNnB4O1xuICBtYXJnaW46IDAgMTJweCA4cHg7XG4gIHBhZGRpbmc6IDlweDtcbiAgYmFja2dyb3VuZDogcmdiYSg2NSwgMjAxLCAxNTUsIDAuMDcpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDY1LCAyMDEsIDE1NSwgMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xufVxuXG4uYWdlbnQtY29uZmlybS1jYXJkLmlzLXJldmlzaW5nIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmFnZW50LWNvbmZpcm0tY2FyZCA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4O1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xuICBmb250LXNpemU6IDlweDtcbn1cblxuLmFnZW50LWNvbmZpcm0tY2FyZCBzbWFsbCB7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGZvbnQtc2l6ZTogOHB4O1xufVxuXG4uYWdlbnQtY29uZmlybS1jYXJkX19hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA2cHg7XG59XG5cbi5hZ2VudC1jb25maXJtLWNhcmRfX2FjdGlvbnMgYnV0dG9uIHtcbiAgbWluLWhlaWdodDogMjhweDtcbiAgcGFkZGluZzogMCA5cHg7XG4gIGZvbnQtc2l6ZTogOXB4O1xufVxuXG4ucmV2aWV3LWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gIGdhcDogN3B4O1xufVxuXG4ucmV2aWV3LXRpbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbiAgYmFja2dyb3VuZDogIzBkMTAwZjtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cblxuLnJldmlldy10aWxlOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDY1LCAyMDEsIDE1NSwgMC40KTtcbn1cblxuLnJldmlldy10aWxlIGltZyxcbi5yZXZpZXctdGlsZSB2aWRlbyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4ucmV2aWV3LXRpbGUgPiBzcGFuOmxhc3QtY2hpbGQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDVweDtcbiAgcmlnaHQ6IDVweDtcbiAgYm90dG9tOiA1cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDRweCA1cHg7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgYmFja2dyb3VuZDogcmdiYSg3LCAxMCwgOCwgMC43OCk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZm9udC1zaXplOiA4cHg7XG59XG5cbi5yZXZpZXctdGV4dCB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA3cHg7XG4gIHBhZGRpbmc6IDEycHggIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1pbmstMikgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuNDU7XG59XG5cbi50YXNrLXJvdyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjdweCBtaW5tYXgoMCwgMWZyKSAyNXB4O1xuICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gIGdhcDogOHB4O1xuICBwYWRkaW5nOiA5cHggMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTk4LCAyMTgsIDIwOCwgMC4wNyk7XG59XG5cbi50YXNrLWljb24ge1xuICB3aWR0aDogMjdweDtcbiAgaGVpZ2h0OiAyN3B4O1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDM1KTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4udGFzay1pY29uLS13b3JraW5nIHsgY29sb3I6IHZhcigtLWFtYmVyKTsgYmFja2dyb3VuZDogcmdiYSgyMjYsIDE4MSwgOTUsIDAuMDkpOyB9XG4udGFzay1pY29uLS1zdWNjZXNzIHsgY29sb3I6IHZhcigtLXN1Y2Nlc3MpOyBiYWNrZ3JvdW5kOiByZ2JhKDk5LCAyMTMsIDE2MywgMC4wOSk7IH1cbi50YXNrLWljb24tLWVycm9yIHsgY29sb3I6IHZhcigtLWRhbmdlcik7IGJhY2tncm91bmQ6IHJnYmEoMjM5LCAxMTMsIDEwMywgMC4wOSk7IH1cblxuLnRhc2stcm93ID4gZGl2IHtcbiAgbWluLXdpZHRoOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDNweDtcbn1cblxuLnRhc2stcm93ID4gLnRhc2stcm93X19hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgZ2FwOiA0cHg7XG59XG5cbi50YXNrLXJvdyBzdHJvbmcsXG4udGFzay1yb3cgc21hbGwsXG4udGFzay1yb3cgZW0ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRhc2stcm93IHN0cm9uZyB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLnRhc2stcm93IHNtYWxsIHtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbiAgZm9udC1zaXplOiA4cHg7XG59XG5cbi50YXNrLXJvdyBlbSB7XG4gIG1heC1oZWlnaHQ6IDMwcHg7XG4gIGNvbG9yOiAjZWM5MzhiO1xuICBmb250LXNpemU6IDhweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4ucGFuZWwtZW1wdHkge1xuICBtaW4taGVpZ2h0OiAxNTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogOXB4O1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xufVxuXG4ucGFuZWwtZW1wdHkgc3Ryb25nIHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogNTUwO1xufVxuXG4uYmF0Y2gtdG9vbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTQ7XG4gIGxlZnQ6IDUwJTtcbiAgYm90dG9tOiAxOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDNweDtcbiAgcGFkZGluZzogNXB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjEsIDI3LCAyNCwgMC45Nyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUtc3Ryb25nKTtcbiAgYm9yZGVyLXJhZGl1czogN3B4O1xuICBib3gtc2hhZG93OiAwIDE4cHggNDZweCByZ2JhKDIsIDYsIDQsIDAuMzgpO1xufVxuXG4uYmF0Y2gtdG9vbGJhciA+IHNwYW4ge1xuICBoZWlnaHQ6IDI5cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNXB4O1xuICBwYWRkaW5nOiAwIDlweDtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIGZvbnQtc2l6ZTogOXB4O1xufVxuXG4uYmF0Y2gtdG9vbGJhciA+IHNwYW4gc3Ryb25nIHtcbiAgY29sb3I6IHZhcigtLWFjY2VudC0yKTtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLmJhdGNoLXRvb2xiYXIgPiAuYmF0Y2gtdG9vbGJhcl9fZGl2aWRlciB7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMjBweDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1saW5lKTtcbn1cblxuLmJhdGNoLXRvb2xiYXIgYnV0dG9uIHtcbiAgaGVpZ2h0OiAyOXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDVweDtcbiAgcGFkZGluZzogMCA4cHg7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGZvbnQtc2l6ZTogOXB4O1xufVxuXG4uYmF0Y2gtdG9vbGJhciBidXR0b246aG92ZXIge1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tcGFuZWwtMyk7XG59XG5cbi5iYXRjaC10b29sYmFyIGJ1dHRvbi5iYXRjaC10b29sYmFyX19wcmltYXJ5IHtcbiAgY29sb3I6ICNkNWZmZjA7XG4gIGJhY2tncm91bmQ6IHJnYmEoNjUsIDIwMSwgMTU1LCAwLjE2KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg5NiwgMjIyLCAxNzcsIDAuMyk7XG59XG5cbi5iYXRjaC10b29sYmFyIGJ1dHRvbi5iYXRjaC10b29sYmFyX19wcmltYXJ5OmhvdmVyIHtcbiAgY29sb3I6ICNlZmZmZjg7XG4gIGJhY2tncm91bmQ6IHJnYmEoNjUsIDIwMSwgMTU1LCAwLjI2KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDEyMiwgMjM4LCAxOTcsIDAuNTIpO1xufVxuXG4uYmF0Y2gtdG9vbGJhciBidXR0b24uaXMtZGFuZ2VyOmhvdmVyIHtcbiAgY29sb3I6ICNmM2EzOWI7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCAxMTMsIDEwMywgMC4wOSk7XG59XG5cbi5jYW52YXMtY29udGV4dC1tZW51IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDA7XG4gIHdpZHRoOiAxNzZweDtcbiAgcGFkZGluZzogNnB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIyLCAyOCwgMjUsIDAuOTgpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lLXN0cm9uZyk7XG4gIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcbn1cblxuLmNvbm5lY3Rpb24tbWVudSB7XG4gIG1heC1oZWlnaHQ6IG1pbig1NjBweCwgY2FsYygxMDB2aCAtIDI0cHgpKTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xufVxuXG4uY2FudmFzLWNvbnRleHQtbWVudSA+IHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNXB4IDdweCA3cHg7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGZvbnQtc2l6ZTogOXB4O1xuICBmb250LXdlaWdodDogNjUwO1xufVxuXG4uY2FudmFzLWNvbnRleHQtbWVudSBidXR0b24ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzMXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgcGFkZGluZzogMCA3cHg7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLmNhbnZhcy1jb250ZXh0LW1lbnUgYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBhbmVsLTMpO1xufVxuXG4uZGlhbG9nLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDAwO1xuICBpbnNldDogMDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMjZweDtcbiAgYmFja2dyb3VuZDogcmdiYSgzLCA2LCA1LCAwLjc2KTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDdweCk7XG59XG5cbi5kaWFsb2cge1xuICB3aWR0aDogbWluKDU2MHB4LCAxMDAlKTtcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDUycHgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogdmFyKC0taW5rKTtcbiAgYmFja2dyb3VuZDogIzE1MWExODtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZS1zdHJvbmcpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJveC1zaGFkb3c6IDAgMzRweCA5MHB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cblxuLmRpYWxvZy0td2lkZSB7XG4gIHdpZHRoOiBtaW4oODgwcHgsIDEwMCUpO1xufVxuXG4uZGlhbG9nX19oZWFkZXIge1xuICBoZWlnaHQ6IDU3cHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzFweCBtaW5tYXgoMCwgMWZyKSAzMnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEwcHg7XG4gIHBhZGRpbmc6IDAgMTJweCAwIDE1cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYmFja2dyb3VuZDogIzE4MWUxYjtcbn1cblxuLmRpYWxvZ19faWNvbiB7XG4gIHdpZHRoOiAzMXB4O1xuICBoZWlnaHQ6IDMxcHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtMik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1zb2Z0KTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xufVxuXG4uZGlhbG9nX19oZWFkZXIgPiBkaXYge1xuICBtaW4td2lkdGg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogM3B4O1xufVxuXG4uZGlhbG9nX19oZWFkZXIgc3Ryb25nIHtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4uZGlhbG9nX19oZWFkZXIgc21hbGwge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbiAgZm9udC1zaXplOiA5cHg7XG59XG5cbi5kaWFsb2dfX2Zvb3RlciB7XG4gIGhlaWdodDogNThweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgZ2FwOiA3cHg7XG4gIHBhZGRpbmc6IDAgMTRweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBiYWNrZ3JvdW5kOiAjMTMxODE1O1xufVxuXG4uZGlhbG9nLWVycm9yIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogN3B4O1xuICBtYXJnaW46IDAgMTRweCAxMHB4O1xuICBwYWRkaW5nOiA4cHggOXB4O1xuICBjb2xvcjogI2YyYWFhMztcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDExMywgMTAzLCAwLjA3NSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjM5LCAxMTMsIDEwMywgMC4xNik7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgZm9udC1zaXplOiA5cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ1O1xufVxuXG4uZGlhbG9nLWVycm9yIHN2ZyB7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4ucHJvamVjdC1kaWFsb2dfX2JvZHksXG4uYXNzZXRzLWRpYWxvZ19fYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDI1MHB4O1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTEwcHgpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nOiAxNHB4O1xufVxuXG4ucHJvamVjdC1kaWFsb2dfX3Rvb2xiYXIsXG4uYXNzZXRzLWRpYWxvZ19fdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiAxMnB4O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG4uYXNzZXRzLWRpYWxvZ19fYm9keSA+IC5kaWFsb2ctZXJyb3Ige1xuICBtYXJnaW46IDAgMCAxMHB4O1xufVxuXG4uZGlhbG9nLW5vdGUge1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICBmb250LXNpemU6IDlweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDU7XG59XG5cbi5wcm9qZWN0LWxpc3Qge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDdweDtcbn1cblxuLnByb2plY3Qtcm93IHtcbiAgbWluLXdpZHRoOiAwO1xuICBtaW4taGVpZ2h0OiA2OHB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIGF1dG8gYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMHB4O1xuICBwYWRkaW5nOiA3cHggOXB4O1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xuICBiYWNrZ3JvdW5kOiAjMTgxZTFjO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYm9yZGVyLXJhZGl1czogN3B4O1xufVxuXG4ucHJvamVjdC1yb3c6aG92ZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLWxpbmUtc3Ryb25nKTtcbiAgYmFja2dyb3VuZDogIzFiMjQyMDtcbn1cblxuLnByb2plY3Qtcm93LmlzLWFjdGl2ZSB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg2NSwgMjAxLCAxNTUsIDAuMzgpO1xuICBib3gtc2hhZG93OiBpbnNldCAzcHggMCAwIHZhcigtLWFjY2VudCk7XG59XG5cbi5wcm9qZWN0LXJvd19fbWFpbiB7XG4gIG1pbi13aWR0aDogMDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzMnB4IG1pbm1heCgwLCAxZnIpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDlweDtcbiAgcGFkZGluZzogMnB4IDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnByb2plY3Qtcm93X19pY29uIHtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLWFjY2VudC0yKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LXNvZnQpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG59XG5cbi5wcm9qZWN0LXJvd19fY29udGVudCB7XG4gIG1pbi13aWR0aDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA0cHg7XG59XG5cbi5wcm9qZWN0LXJvd19fY29udGVudCBzdHJvbmcsXG4ucHJvamVjdC1yb3dfX2NvbnRlbnQgc21hbGwge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnByb2plY3Qtcm93X19jb250ZW50IHN0cm9uZyB7XG4gIGNvbG9yOiB2YXIoLS1pbmstMik7XG4gIGZvbnQtc2l6ZTogMTFweDtcbn1cblxuLnByb2plY3Qtcm93X19jb250ZW50IHNtYWxsIHtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbiAgZm9udC1zaXplOiA5cHg7XG59XG5cbi5wcm9qZWN0LXJvd19fYWN0aXZlIHtcbiAgcGFkZGluZzogNHB4IDdweDtcbiAgY29sb3I6IHZhcigtLXN1Y2Nlc3MpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDk5LCAyMTMsIDE2MywgMC4wOSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoOTksIDIxMywgMTYzLCAwLjE2KTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LXNpemU6IDhweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnByb2plY3Qtcm93X19kZWxldGUge1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cblxuLnByb2plY3Qtcm93X19kZWxldGU6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tZGFuZ2VyKTtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDExMywgMTAzLCAwLjA5KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDIzOSwgMTEzLCAxMDMsIDAuMTgpO1xufVxuXG4uYXNzZXQtbGlicmFyeS1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpO1xuICBnYXA6IDEwcHg7XG59XG5cbi5hc3NldC1saWJyYXJ5LWl0ZW0ge1xuICBtaW4td2lkdGg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogN3B4O1xuICBwYWRkaW5nOiA3cHg7XG4gIGJhY2tncm91bmQ6ICMxODFlMWM7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG59XG5cbi5hc3NldC1saWJyYXJ5LWl0ZW06aG92ZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLWxpbmUtc3Ryb25nKTtcbn1cblxuLmFzc2V0LWxpYnJhcnktaXRlbV9fcHJldmlldyB7XG4gIHdpZHRoOiAxMDAlO1xuICBhc3BlY3QtcmF0aW86IDQgLyAzO1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjMGUxMjEwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cblxuLmFzc2V0LWxpYnJhcnktaXRlbV9fcHJldmlldyBpbWcsXG4uYXNzZXQtbGlicmFyeS1pdGVtX19wcmV2aWV3IHZpZGVvIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbi5hc3NldC1saWJyYXJ5LWl0ZW1fX3ByZXZpZXc6aG92ZXIge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSg2NSwgMjAxLCAxNTUsIDAuNDQpO1xufVxuXG4uYXNzZXQtbGlicmFyeS1pdGVtX19tZXRhIHtcbiAgbWluLXdpZHRoOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDNweDtcbn1cblxuLmFzc2V0LWxpYnJhcnktaXRlbV9fbWV0YSBzdHJvbmcsXG4uYXNzZXQtbGlicmFyeS1pdGVtX19tZXRhIHNtYWxsIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5hc3NldC1saWJyYXJ5LWl0ZW1fX21ldGEgc3Ryb25nIHtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbiAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4uYXNzZXQtbGlicmFyeS1pdGVtX19tZXRhIHNtYWxsIHtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbiAgZm9udC1zaXplOiA4cHg7XG59XG5cbi5hc3NldC1saWJyYXJ5LWl0ZW1fX2FjdGlvbnMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gIGdhcDogNXB4O1xufVxuXG4uYXNzZXQtbGlicmFyeS1pdGVtX19hY3Rpb25zIGJ1dHRvbiB7XG4gIG1pbi13aWR0aDogMDtcbiAgcGFkZGluZzogMCA1cHg7XG4gIGZvbnQtc2l6ZTogOHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ucHJvdmlkZXItZ3JpZCB7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxNjhweCk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgZ2FwOiAxMHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nOiAxNHB4O1xufVxuXG4ucHJvdmlkZXItY2FyZCB7XG4gIHBhZGRpbmc6IDEycHg7XG4gIGJhY2tncm91bmQ6ICMxODFlMWM7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG59XG5cbi5wcm92aWRlci1jYXJkLS13aWRlIHtcbiAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbn1cblxuLnByb3ZpZGVyLWNhcmQgPiBoZWFkZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDM0cHggbWlubWF4KDAsIDFmcikgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA5cHg7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi5wcm92aWRlci1sb2dvIHtcbiAgd2lkdGg6IDM0cHg7XG4gIGhlaWdodDogMzRweDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLWFjY2VudC0yKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LXNvZnQpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG59XG5cbi5wcm92aWRlci1sb2dvLS1sb2NhbCB7XG4gIGNvbG9yOiAjZjBjODc4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIyNiwgMTgxLCA5NSwgMC4xMSk7XG59XG5cbi5wcm92aWRlci1sb2dvLS1hcGkge1xuICBjb2xvcjogI2VmYTA4YjtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29yYWwtc29mdCk7XG59XG5cbi5wcm92aWRlci1sb2dvLS10ZXh0IHtcbiAgY29sb3I6ICM4ZWQ3YmM7XG4gIGJhY2tncm91bmQ6IHJnYmEoNjUsIDIwMSwgMTU1LCAwLjEpO1xufVxuXG4ucHJvdmlkZXItbG9nby0taW1hZ2Uge1xuICBjb2xvcjogI2Q3YzE4MjtcbiAgYmFja2dyb3VuZDogcmdiYSgyMTUsIDE5MywgMTMwLCAwLjEpO1xufVxuXG4ucHJvdmlkZXItbG9nby0tdmlkZW8ge1xuICBjb2xvcjogI2VmOWM4OTtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDE1NiwgMTM3LCAwLjEpO1xufVxuXG4ucHJvdmlkZXItaGVhZGVyLWFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbn1cblxuLnByb3ZpZGVyLWNhcmQgaGVhZGVyID4gZGl2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAzcHg7XG59XG5cbi5wcm92aWRlci1jYXJkIGhlYWRlciBzdHJvbmcge1xuICBmb250LXNpemU6IDExcHg7XG59XG5cbi5wcm92aWRlci1jYXJkIGhlYWRlciBzbWFsbCB7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGZvbnQtc2l6ZTogOXB4O1xufVxuXG4ucHJvdmlkZXItc3RhdGUge1xuICBwYWRkaW5nOiAzcHggNnB4O1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDM1KTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LXNpemU6IDhweDtcbn1cblxuLnByb3ZpZGVyLXN0YXRlLmlzLXJlYWR5IHtcbiAgY29sb3I6IHZhcigtLXN1Y2Nlc3MpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDk5LCAyMTMsIDE2MywgMC4wOSk7XG59XG5cbi5wcm92aWRlci1jYXJkIGRsIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgZ2FwOiA3cHg7XG4gIG1hcmdpbjogMDtcbn1cblxuLnByb3ZpZGVyLWNhcmQgZGwgZGl2IHtcbiAgcGFkZGluZzogOHB4O1xuICBiYWNrZ3JvdW5kOiAjMTExNTEzO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbi5wcm92aWRlci1jYXJkIGR0IHtcbiAgY29sb3I6IHZhcigtLWluay0zKTtcbiAgZm9udC1zaXplOiA4cHg7XG59XG5cbi5wcm92aWRlci1jYXJkIGRkIHtcbiAgbWFyZ2luOiA0cHggMCAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbiAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4uc3dpdGNoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMzRweDtcbiAgaGVpZ2h0OiAyMHB4O1xufVxuXG4uc3dpdGNoIGlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc3dpdGNoIHNwYW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kOiAjMmEzMzJmO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNDBtcyBlYXNlO1xufVxuXG4uc3dpdGNoIHNwYW46OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAycHg7XG4gIHRvcDogMnB4O1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBiYWNrZ3JvdW5kOiAjOWFhOGExO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNDBtcyBlYXNlLCBiYWNrZ3JvdW5kIDE0MG1zIGVhc2U7XG59XG5cbi5zd2l0Y2ggaW5wdXQ6Y2hlY2tlZCArIHNwYW4ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDY1LCAyMDEsIDE1NSwgMC4yNik7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg2NSwgMjAxLCAxNTUsIDAuNCk7XG59XG5cbi5zd2l0Y2ggaW5wdXQ6Y2hlY2tlZCArIHNwYW46OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE0cHgpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtMik7XG59XG5cbi5kaWFsb2ctZmllbGQge1xuICBtYXJnaW4tdG9wOiA5cHg7XG59XG5cbi5kaWFsb2ctZmllbGQgaW5wdXQsXG4uZGlhbG9nLWZpZWxkIHNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDM0cHg7XG4gIHBhZGRpbmc6IDAgOXB4O1xuICBmb250LXNpemU6IDEwcHg7XG59XG5cbi5wcm92aWRlci1maWVsZHMtcm93IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjQ1ZnIgMWZyO1xuICBnYXA6IDEwcHg7XG59XG5cbi5wcm92aWRlci1jb250cmFjdCB7XG4gIG1hcmdpbjogMTBweCAwIDA7XG4gIHBhZGRpbmc6IDhweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA3cHg7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGJhY2tncm91bmQ6ICMxMTE1MTM7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGZvbnQtc2l6ZTogOHB4O1xuICBsaW5lLWhlaWdodDogMS41NTtcbn1cblxuLnByb3ZpZGVyLWNvbnRyYWN0IHN2ZyB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBjb2xvcjogdmFyKC0tYWNjZW50LTIpO1xufVxuXG4ud29ya2Zsb3ctZGlhbG9nLWdyaWQge1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTEwcHgpO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxLjEyZnI7XG4gIG1pbi1oZWlnaHQ6IDQzMHB4O1xufVxuXG4ud29ya2Zsb3ctaW1wb3J0LFxuLndvcmtmbG93LWxpc3Qtc2VjdGlvbiB7XG4gIG1pbi13aWR0aDogMDtcbiAgcGFkZGluZzogMTVweDtcbn1cblxuLndvcmtmbG93LWltcG9ydCB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xufVxuXG4ud29ya2Zsb3ctZHJvcCB7XG4gIGhlaWdodDogMTMycHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDdweDtcbiAgbWFyZ2luOiAxM3B4IDA7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGJhY2tncm91bmQ6ICMxMTE1MTM7XG4gIGJvcmRlcjogMXB4IGRhc2hlZCByZ2JhKDE5OCwgMjE4LCAyMDgsIDAuMTgpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG59XG5cbi53b3JrZmxvdy1kcm9wOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDY1LCAyMDEsIDE1NSwgMC40KTtcbn1cblxuLndvcmtmbG93LWRyb3AgaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvcGFjaXR5OiAwO1xufVxuXG4ud29ya2Zsb3ctZHJvcCBzdHJvbmcge1xuICBtYXgtd2lkdGg6IDkwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLndvcmtmbG93LWRyb3Agc3BhbiB7XG4gIGZvbnQtc2l6ZTogOHB4O1xufVxuXG4ud29ya2Zsb3ctaW1wb3J0ID4gLnByaW1hcnktYnV0dG9uIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi53b3JrZmxvdy1saXN0LXNlY3Rpb24ge1xuICBtaW4taGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gbWlubWF4KDAsIDFmcik7XG59XG5cbi53b3JrZmxvdy1saXN0IHtcbiAgbWluLWhlaWdodDogMDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLndvcmtmbG93LWxpc3QgYXJ0aWNsZSB7XG4gIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjhweCBtaW5tYXgoMCwgMWZyKSBhdXRvIDI1cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxOTgsIDIxOCwgMjA4LCAwLjA3KTtcbn1cblxuLndvcmtmbG93LWxpc3QgYXJ0aWNsZSA+IHNwYW4ge1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tYWNjZW50LTIpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtc29mdCk7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cblxuLndvcmtmbG93LWxpc3QgYXJ0aWNsZSA+IGRpdiB7XG4gIG1pbi13aWR0aDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAzcHg7XG59XG5cbi53b3JrZmxvdy1saXN0IGFydGljbGUgc3Ryb25nLFxuLndvcmtmbG93LWxpc3QgYXJ0aWNsZSBzbWFsbCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ud29ya2Zsb3ctbGlzdCBhcnRpY2xlIHN0cm9uZyB7IGNvbG9yOiB2YXIoLS1pbmstMik7IGZvbnQtc2l6ZTogMTBweDsgfVxuLndvcmtmbG93LWxpc3QgYXJ0aWNsZSBzbWFsbCB7IGNvbG9yOiB2YXIoLS1pbmstMyk7IGZvbnQtc2l6ZTogOHB4OyB9XG4ud29ya2Zsb3ctbGlzdCBhcnRpY2xlIGVtIHsgY29sb3I6IHZhcigtLXN1Y2Nlc3MpOyBmb250LXNpemU6IDhweDsgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi5tZWRpYS12aWV3ZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDExMDA7XG4gIGluc2V0OiAwO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IDU0cHggbWlubWF4KDAsIDFmcikgNTFweDtcbiAgYmFja2dyb3VuZDogcmdiYSg1LCA3LCA2LCAwLjk2KTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEycHgpO1xufVxuXG4ubWVkaWEtdmlld2VyID4gaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDE0cHggMCAxOHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG59XG5cbi5tZWRpYS12aWV3ZXIgPiBoZWFkZXIgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICBtaW4td2lkdGg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogM3B4O1xufVxuXG4ubWVkaWEtdmlld2VyID4gaGVhZGVyIHN0cm9uZyB7XG4gIG1heC13aWR0aDogNjB2dztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGZvbnQtc2l6ZTogMTFweDtcbn1cblxuLm1lZGlhLXZpZXdlciA+IGhlYWRlciBzbWFsbCB7XG4gIGNvbG9yOiB2YXIoLS1pbmstMyk7XG4gIGZvbnQtc2l6ZTogOHB4O1xufVxuXG4ubWVkaWEtdmlld2VyID4gaGVhZGVyID4gZGl2Omxhc3QtY2hpbGQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDZweDtcbn1cblxuLm1lZGlhLXZpZXdlcl9fc3RhZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG1pbi13aWR0aDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDE4cHggNzBweDtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi5tZWRpYS12aWV3ZXJfX3N0YWdlIGltZyxcbi5tZWRpYS12aWV3ZXJfX3N0YWdlIHZpZGVvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogbWluKDEwMCUsIGNhbGMoMTAwdncgLSAxNDBweCkpO1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTM1cHgpO1xuICBtaW4td2lkdGg6IDA7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIGJveC1zaGFkb3c6IDAgMjRweCA3MHB4IHJnYmEoMCwgMCwgMCwgMC40Mik7XG59XG5cbi5tZWRpYS12aWV3ZXJfX3N0YWdlIHByZSB7XG4gIHdpZHRoOiBtaW4oODIwcHgsIDkwJSk7XG4gIG1heC1oZWlnaHQ6IDgwJTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHBhZGRpbmc6IDI1cHg7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tcGFuZWwpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYm9yZGVyLXJhZGl1czogN3B4O1xuICBmb250OiAxNHB4LzEuNyBpbmhlcml0O1xufVxuXG4udmlld2VyLWFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDM4cHg7XG4gIGhlaWdodDogNDZweDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbiAgYmFja2dyb3VuZDogcmdiYSgyMiwgMjgsIDI1LCAwLjg4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4udmlld2VyLWFycm93OmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBhbmVsLTMpO1xufVxuXG4udmlld2VyLWFycm93LS1sZWZ0IHsgbGVmdDogMTZweDsgfVxuLnZpZXdlci1hcnJvdy0tcmlnaHQgeyByaWdodDogMTZweDsgfVxuXG4ubWVkaWEtdmlld2VyX190b29scyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDRweDtcbiAgcGFkZGluZzogMCAxMnB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG59XG5cbi5tZWRpYS12aWV3ZXJfX3Rvb2xzIGJ1dHRvbiB7XG4gIGhlaWdodDogMzFweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA2cHg7XG4gIHBhZGRpbmc6IDAgOXB4O1xuICBjb2xvcjogdmFyKC0taW5rLTIpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBmb250LXNpemU6IDlweDtcbn1cblxuLm1lZGlhLXZpZXdlcl9fdG9vbHMgYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWluayk7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBhbmVsLTMpO1xufVxuXG4ubWVkaWEtdmlld2VyX190b29scyA+IHNwYW4ge1xuICBtYXJnaW4tbGVmdDogOXB4O1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICBmb250LXNpemU6IDlweDtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLnRvYXN0LXN0YWNrIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMjAwO1xuICByaWdodDogMTZweDtcbiAgYm90dG9tOiAxNnB4O1xuICB3aWR0aDogMjk0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogN3B4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnRvYXN0IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyMHB4IG1pbm1heCgwLCAxZnIpO1xuICBnYXA6IDhweDtcbiAgcGFkZGluZzogMTBweDtcbiAgY29sb3I6IHZhcigtLWluay0yKTtcbiAgYmFja2dyb3VuZDogcmdiYSgyMywgMjksIDI2LCAwLjk4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZS1zdHJvbmcpO1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7XG59XG5cbi50b2FzdCA+IHN2ZyB7XG4gIG1hcmdpbi10b3A6IDFweDtcbiAgY29sb3I6IHZhcigtLWFjY2VudC0yKTtcbn1cblxuLnRvYXN0LS1lcnJvciA+IHN2ZyB7IGNvbG9yOiB2YXIoLS1kYW5nZXIpOyB9XG4udG9hc3QtLXN1Y2Nlc3MgPiBzdmcgeyBjb2xvcjogdmFyKC0tc3VjY2Vzcyk7IH1cblxuLnRvYXN0ID4gZGl2IHtcbiAgbWluLXdpZHRoOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDNweDtcbn1cblxuLnRvYXN0IHN0cm9uZyB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLnRvYXN0IHNwYW4ge1xuICBjb2xvcjogdmFyKC0taW5rLTMpO1xuICBmb250LXNpemU6IDlweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEzODBweCkge1xuICA6cm9vdCB7XG4gICAgLS1yYWlsLXdpZHRoOiA3MnB4O1xuICAgIC0tYnJhbmQtd2lkdGg6IDIwNXB4O1xuICAgIC0tYWdlbnQtd2lkdGg6IDMwNHB4O1xuICB9XG5cbiAgLnRvcGJhciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1icmFuZC13aWR0aCkgbWlubWF4KDE4MHB4LCAxZnIpIDE3MHB4IGF1dG87XG4gIH1cblxuICAuY2F0YWxvZy1pdGVtIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDI0cHggbWlubWF4KDAsIDFmcik7XG4gICAgcGFkZGluZzogNXB4O1xuICB9XG5cbiAgLmNhdGFsb2ctaXRlbV9faWNvbiB7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDgwcHgpIHtcbiAgLmNhbnZhcy10aXRsZS1pbnB1dCxcbiAgLmVuZ2luZS1idXR0b24gc3BhbjpudGgtY2hpbGQoMiksXG4gIC50b3BiYXItY29tbWFuZCBzcGFuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLnRvcGJhciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1icmFuZC13aWR0aCkgbWlubWF4KDE2MHB4LCAxZnIpIGF1dG87XG4gIH1cblxuICAudG9wYmFyLWFjdGlvbnMge1xuICAgIGdyaWQtY29sdW1uOiAzO1xuICB9XG5cbiAgLmVuZ2luZS1idXR0b24ge1xuICAgIG1pbi13aWR0aDogNTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IGF1dG8gIWltcG9ydGFudDtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcbiAgfVxufVxuIl19 */