/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
.ui.page.modals.dimmer.visible {
  z-index: 10010;
}
.ui.page.modals.dimmer.visible .ui.large.header {
  margin-top: 0px;
}
#modal-sidebar {
  overflow: visible;
  position: relative;
  /**

    Sizes:

    */
  /**

    Resizer
    
    **/
}
#modal-sidebar #modal-sidebar__close-icon {
  position: absolute;
  z-index: 5;
  -webkit-transform: translateX(-15px) translateY(47px);
          transform: translateX(-15px) translateY(47px);
}
#modal-sidebar #modal-sidebar__close-icon > .blue.circle.big.link.icon {
  color: #0b9bdc !important;
  margin-right: 0px !important;
  opacity: 1;
}
#modal-sidebar #modal-sidebar__sidebar {
  z-index: 3;
  overflow-x: visible !important;
  overflow-y: visible !important;
  box-shadow: 0px 0px 21px rgba(0, 0, 0, 0.25);
  -webkit-transition: opacity 200ms ease-in, -webkit-transform 300ms ease-in;
  transition: opacity 200ms ease-in, -webkit-transform 300ms ease-in;
  transition: opacity 200ms ease-in, transform 300ms ease-in;
  transition: opacity 200ms ease-in, transform 300ms ease-in, -webkit-transform 300ms ease-in;
}
#modal-sidebar #modal-sidebar__sidebar:not(.visible) {
  opacity: 0.1;
}
#modal-sidebar #modal-sidebar__sidebar.visible {
  opacity: 1;
}
#modal-sidebar #modal-sidebar__content {
  position: -webkit-sticky;
  position: sticky;
  display: flex !important;
  align-self: flex-end;
  border-radius: 0px;
  height: 100%;
  width: 100%;
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
  overflow: visible;
  margin: 0px !important;
  flex-direction: column;
  align-content: stretch;
  z-index: 3;
}
#modal-sidebar #modal-sidebar__content .content.scrolling {
  max-height: 100%;
}
#modal-sidebar #modal-sidebar__content > .content {
  flex: 1 1;
  overflow-y: auto;
  background-color: white;
}
#modal-sidebar #modal-sidebar__content > .header {
  flex: 0 1;
  background-color: #2E5275;
  color: #FFFFFF;
  font-size: 21px;
  font-style: italic;
  font-weight: normal;
}
#modal-sidebar #modal-sidebar__content .actions {
  text-align: left;
  flex: 0 1;
}
#modal-sidebar #modal-sidebar__content #write-schema-editor__configuration-picker .button {
  background: #0F9BDC;
}
#modal-sidebar #modal-sidebar__sidebar.resizing {
  /* Disables user selection
            while resizing modal */
}
#modal-sidebar #modal-sidebar__sidebar.resizing #modal-sidebar__content {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  pointer-events: none;
}
#modal-sidebar.depth-0 {
  z-index: 30;
}
#modal-sidebar.depth-0 > #modal-sidebar__sidebar {
  min-width: 600px;
  max-width: 98%;
}
#modal-sidebar.depth-0 > #modal-sidebar__sidebar:not(.custom-width) {
  width: 40vw !important;
}
#modal-sidebar.depth-0 > #modal-sidebar__sidebar:not(.custom-width):not(.maximized).very.wide,
#modal-sidebar.depth-0 > #modal-sidebar__sidebar:not(.custom-width):not(.maximized).very-wide {
  width: 50vw !important;
  min-width: 800px;
}
#modal-sidebar.depth-0 > #modal-sidebar__sidebar:not(.custom-width):not(.maximized).thin {
  width: 30vw !important;
  min-width: 400px;
}
#modal-sidebar.depth-0 > #modal-sidebar__sidebar:not(.custom-width):not(.maximized).very.thin,
#modal-sidebar.depth-0 > #modal-sidebar__sidebar:not(.custom-width):not(.maximized).very-thin {
  width: 20vw !important;
  min-width: 300px;
}
#modal-sidebar.depth-0 > #modal-sidebar__sidebar.maximized {
  width: 98% !important;
}
#modal-sidebar.depth-1 {
  z-index: 40;
}
#modal-sidebar.depth-1 > #modal-sidebar__sidebar {
  width: 40vw !important;
  min-width: 550px;
}
#modal-sidebar.depth-1 > #modal-sidebar__sidebar.very.wide,
#modal-sidebar.depth-1 > #modal-sidebar__sidebar.very-wide {
  width: 45vw !important;
  min-width: 750px;
}
#modal-sidebar.depth-1 > #modal-sidebar__sidebar.thin {
  width: 25vw !important;
  min-width: 350px;
}
#modal-sidebar.depth-1 > #modal-sidebar__sidebar.very-thin {
  width: 15vw !important;
  min-width: 2500px;
}
#modal-sidebar.depth-2 {
  z-index: 50;
}
#modal-sidebar.depth-2 > #modal-sidebar__sidebar {
  padding-top: 0px;
  width: 30vw !important;
  min-width: 500px;
}
#modal-sidebar .actions {
  position: relative;
  box-shadow: 0px 0px 13px rgba(15, 45, 76, 0.34);
}
#modal-sidebar #modal-sidebar__dimmer {
  background-color: #2E5275;
  position: fixed;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  height: 100%;
  z-index: 1000;
  overflow: visible !important;
  opacity: 0;
  z-index: 1;
  -webkit-transition: opacity 300ms linear;
  transition: opacity 300ms linear;
}
#modal-sidebar #modal-sidebar__dimmer.inactive {
  display: none;
}
#modal-sidebar #modal-sidebar__dimmer.active {
  position: fixed;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  background-color: #0F2D4C;
  opacity: 0.5;
  -webkit-transition: opacity 300ms linear;
  transition: opacity 300ms linear;
}
#modal-sidebar #modal-sidebar__resizer {
  background-color: rgba(100, 100, 100, 0.7);
  display: inline-block;
  height: 100%;
  position: absolute;
  transition-duration: 0.1s;
  -webkit-transition-duration: 0.1s;
  width: 4px;
  z-index: 4;
}
#modal-sidebar #modal-sidebar__sidebar #modal-sidebar__resizer {
  cursor: ew-resize;
}
#modal-sidebar #modal-sidebar__sidebar #modal-sidebar__resizer:hover,
#modal-sidebar #modal-sidebar__sidebar #modal-sidebar__resizer.resizing {
  background-color: #0b9bdc;
  -webkit-transform: scaleX(2) translateX(-1.5px);
          transform: scaleX(2) translateX(-1.5px);
}
#modal-sidebar #modal-sidebar__sidebar #modal-sidebar__resizer.expand {
  opacity: 0.8;
  -webkit-transform: scaleX(20) translateX(-2.1px);
          transform: scaleX(20) translateX(-2.1px);
}
#modal-sidebar #modal-sidebar__sidebar #modal-sidebar__resizer.resizing:root {
  cursor: ew-resize;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
.caret.sigil {
  width: 0;
  height: 0;
  border-right-width: 0px !important;
  border-style: solid;
  border-top-color: transparent !important;
  border-bottom-color: transparent !important;
  border-width: 6px;
  opacity: 0.4;
  -webkit-transition: opacity 300ms, -webkit-transform 300ms;
  transition: opacity 300ms, -webkit-transform 300ms;
  transition: opacity 300ms, transform 300ms;
  transition: opacity 300ms, transform 300ms, -webkit-transform 300ms;
}
.caret.sigil.small {
  border-width: 4px;
}
.caret.sigil.tiny {
  border-width: 3px;
}
.caret.sigil.large {
  border-width: 10px;
}
.caret.sigil.active {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.clickable:hover .caret.sigil.active:not(.disabled),
.caret.sigil.active:hover:not(.disabled) {
  opacity: 1;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
.clickable:hover .caret.sigil:not(.active):not(.disabled),
.caret.sigil:hover:not(.active):not(.disabled) {
  opacity: 1;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#inline-header {
  font-weight: 600;
  font-size: 12pt;
  line-height: 22px;
  align-items: center;
  display: flex;
  opacity: 0.4;
}
#inline-header.on-dark {
  color: white;
}
#inline-header.on-light {
  color: black;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#detailed-header {
  display: flex;
  flex-direction: row;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
#detailed-header #detailed-header__left-image {
  padding-right: 0.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
#detailed-header #detailed-header__top-detail,
#detailed-header #detailed-header__value {
  text-transform: capitalize;
}
#detailed-header #detailed-header__top-detail,
#detailed-header #detailed-header__bottom-detail,
#detailed-header #detailed-header__value {
  word-break: break-word;
  width: 100%;
  height: 100%;
  max-width: 25rem;
  text-align: left;
  text-align: initial;
  text-overflow: ellipsis;
}
#detailed-header #detailed-header__right-detail {
  padding: 0 0.5rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}
#detailed-header.on-light {
  color: #0f2e4dd9;
}
#detailed-header.on-dark {
  color: white;
}
#detailed-header.centered #detailed-header__top-detail,
#detailed-header.centered #detailed-header__bottom-detail,
#detailed-header.centered #detailed-header__value {
  text-align: center;
}
#detailed-header.fit-parent {
  width: 100%;
}
#detailed-header.fit-parent #detailed-header__right-text {
  width: 100%;
}
#detailed-header.tiny,
#detailed-header.small {
  margin: 0.1rem;
}
#detailed-header.tiny #detailed-header__value,
#detailed-header.small #detailed-header__value {
  font-size: 10pt;
  padding-top: 0rem;
  padding-bottom: 0rem;
  line-height: 9pt;
  font-weight: 600;
  text-overflow: ellipsis;
}
#detailed-header.tiny #detailed-header__top-detail,
#detailed-header.small #detailed-header__top-detail {
  font-size: 8pt;
  opacity: 0.5;
  font-weight: 600;
}
#detailed-header.tiny #detailed-header__bottom-detail,
#detailed-header.small #detailed-header__bottom-detail {
  font-size: small;
  opacity: 0.8;
}
#detailed-header.medium {
  margin: 0.25rem;
}
#detailed-header.medium #detailed-header__value {
  font-size: large;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-weight: 600;
}
.small-value#detailed-header.medium #detailed-header__value {
  font-size: 14px;
}
#detailed-header.medium #detailed-header__top-detail {
  font-size: 11pt;
  opacity: 0.5;
  font-weight: 600;
}
#detailed-header.medium #detailed-header__bottom-detail {
  font-size: 11pt;
  opacity: 0.8;
}
#detailed-header.large {
  margin: 0.25rem;
}
#detailed-header.large #detailed-header__value {
  font-size: 20pt;
  padding-top: 0.3rem;
  padding-bottom: 0.3rem;
  line-height: 20pt;
}
.small-value#detailed-header.large #detailed-header__value {
  font-size: 16px;
}
#detailed-header.large #detailed-header__top-detail {
  font-size: 14pt;
  opacity: 0.5;
  font-weight: 600;
}
#detailed-header.large #detailed-header__bottom-detail {
  font-size: small;
  opacity: 0.8;
}
#detailed-header__right-text {
  display: flex;
  flex-direction: column;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#notification-bar {
  z-index: 10000 !important;
  right: 100px;
  left: 100px;
  bottom: 40px;
  min-height: 60px;
  position: fixed;
  background-color: #0F9BDC;
  border-radius: 50px;
  box-shadow: 0px 5px 13px rgba(15, 45, 76, 0.55);
  padding: 10px;
}
#notification-bar #notification-bar__inner {
  color: #FFFFFF;
  min-height: 40px;
  height: 100%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-content: center;
  position: relative;
  cursor: default;
}
#notification-bar #notification-bar__inner #notification-bar__content {
  width: 100%;
  height: 100%;
  align-self: center;
}
#notification-bar #notification-bar__inner > div {
  margin-left: 20px;
}
#notification-bar #notification-bar__inner #close-sigil {
  align-self: center;
  margin-right: 20px;
  cursor: pointer;
}
#notification-bar #notification-bar__inner #close-sigil.background {
  background-color: transparent;
}
#notification-bar #notification-bar__inner a {
  color: #FFFFFF;
  text-decoration: underline;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#close-sigil {
  position: relative;
  height: 150px;
  /* this can be anything */
  width: 150px;
  /* ...but maintain 1:1 aspect ratio */
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#close-sigil .foreground {
  -webkit-transition: opacity 200ms linear;
  transition: opacity 200ms linear;
  opacity: 0.5;
  position: absolute;
  content: '';
  width: 100%;
  height: 2px;
}
#close-sigil #close-sigil__nwse {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
#close-sigil #close-sigil__nesw {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
#close-sigil.medium {
  height: 30px;
  width: 30px;
}
#close-sigil.small {
  height: 20px;
  width: 20px;
}
#close-sigil.tiny {
  height: 15px;
  width: 15px;
}
.clickable:hover #close-sigil .foreground {
  opacity: 1;
  -webkit-transition: opacity 200ms linear;
  transition: opacity 200ms linear;
}

#header-content__hint {
  opacity: 0.8;
  font-size: large;
  padding-left: 0.15rem;
}
#filter-control input {
  font-size: 12px;
  padding: 2px;
  height: 20px;
}
#filter-control .ui.dropdown {
  font-size: 12px;
  height: 20px;
  min-height: 20px;
  padding: 2px !important;
}
#filter-control .ui.dropdown > .text {
  font-weight: normal;
  line-height: 14.5px;
}
#filter-control .ui.dropdown > i {
  float: right;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#collection-displayed-properties-editor {
  width: 100%;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
  margin: 0px;
  z-index: 1000 !important;
  padding-bottom: 0px;
}
#collection-displayed-properties-editor.dropdown #sortable-container i.arrows {
  display: none;
}
#collection-displayed-properties-editor #collection-displayed-properties-editor__top {
  display: flex;
  justify-content: space-between;
}
#collection-displayed-properties-editor #collection-displayed-properties-editor__content {
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
  width: 100%;
}
#collection-displayed-properties-editor #collection-displayed-properties-editor__content > div {
  display: flex;
  flex-direction: column;
  max-height: 50vh;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
  width: 100%;
  overflow: auto;
  padding-right: 2rem;
  padding-left: 2rem;
  margin-right: auto;
  margin-left: auto;
}
.collection-displayed-properties-editor__drag-helper {
  z-index: 100000;
}
.collection-displayed-properties-editor__property {
  display: flex;
  justify-content: flex-end;
  padding-left: 0.25rem;
  background-color: #FFFFFF;
  color: #1B1C1D;
}
.collection-displayed-properties-editor__property.drag #collection-displayed-properties-editor__sort-dropdown {
  display: none;
}
.collection-displayed-properties-editor__property #collection-displayed-properties-editor__is-displayed-toggle {
  color: #0f2d4c;
}
.collection-displayed-properties-editor__property .content {
  justify-content: space-between;
}

#collection-property-row-sorter {
  overflow: scroll;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
}
#collection-property-row-sorter #collection-property-row-sorter__top {
  display: flex;
  justify-content: space-between;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#collection {
  width: auto;
  border-spacing: 0;
}
#collection.list.variable-collection-item-height {
  border-spacing: 0rem 1rem;
}
#collection.list.variable-collection-item-height #cell-content {
  height: 100%;
}
#collection.table.variable-collection-item-height,
#collection.variable-collection-item-height {
  border-collapse: separate;
  border-spacing: 0px 1px;
  height: 1px;
}
#collection.table.variable-collection-item-height tbody tr > td #cell-content,
#collection.variable-collection-item-height tbody tr > td #cell-content {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
#collection #collection__property-filters th.multi-select-area {
  padding-left: 0.95rem;
  position: -webkit-sticky;
  position: sticky;
  left: 0rem;
  z-index: 15;
}
#collection #collection__property-filters #multi-select-actions {
  padding: 0px;
}
#collection #collection__property-filters #multi-select-actions #ellipsis-menu {
  margin: 0px;
  padding: 3px;
}
#collection #collection__property-filters #multi-select-actions #ellipsis-menu i {
  font-size: 1.25rem;
}
#collection #header-content {
  padding-left: 0.5rem;
}
#collection #collection-item {
  position: relative;
  z-index: 0;
}
#collection #collection-item td.multi-select-area {
  max-width: 60px;
  padding-left: 0rem;
  position: -webkit-sticky;
  position: sticky;
  left: 1rem;
  z-index: 1;
}
#collection #collection-item td.multi-select-area .multi-select {
  padding-left: 5px;
}
#collection #collection-item.isHidden {
  opacity: 0;
}
#collection #collection-item:hover {
  z-index: 1;
}
#collection #collection-item:focus-within {
  z-index: 2;
}
#collection #sorting-control {
  cursor: pointer;
}
#collection.dark #header-title {
  color: #ffffffd9;
}
#collection.dark #multi-select-actions__trigger {
  color: #FFFFFF;
}
#collection.dark #collection-item {
  background-color: unset;
}
#collection.dark #attribute-control #sorting-control,
#collection.dark #attribute-control #header-title {
  color: white;
}
#collection.dark #attribute-control .routed-input.light *,
#collection.dark #attribute-control .routed-input.light {
  background: #F4F8FC !important;
}
#collection.light #multi-select-actions__trigger {
  color: #0f2d4c;
}
#collection.light #attribute-control th {
  background: white;
}
#collection #cell-label {
  display: none;
}
#collection__no-results {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 3rem;
}
#collection__no-results i {
  color: #0b9bdc;
  font-size: 25pt;
  padding-right: 1rem;
}
#collection__no-results #collection__no-results-clear {
  cursor: pointer;
}
#collection__no-results #collection__no-results-clear:hover {
  text-decoration: underline;
}
#collection caption {
  text-align: left;
  padding: 1rem;
}
#collection #header-content {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#collection #header-content.filter-active,
#collection #header-content.sort-active,
#collection #header-content:hover {
  opacity: 1;
}
#collection #header-content.filter-active #header-content__hint,
#collection #header-content.sort-active #header-content__hint,
#collection #header-content:hover #header-content__hint {
  opacity: 0;
}
#collection:not(.stackable) #header-content.filter-active #header-title,
#collection:not(.stackable) #header-content.has-filter:hover #header-title {
  font-size: 10px;
}
#collection:not(.stackable) #header-content.filter-active #header-title #sorting-control,
#collection:not(.stackable) #header-content.has-filter:hover #header-title #sorting-control {
  font-size: 14px;
}
#collection thead th {
  text-align: start;
  padding: 0.25rem;
  padding-bottom: 0.75rem;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 10;
}
#collection tbody {
  padding: 1rem;
  border-radius: 0.75rem;
}
#collection tbody tr > td #cell-content {
  height: 6rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
tr.clickable * {
  cursor: pointer;
}
#header-title {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  display: flex;
}
#header-title #header-content__property-title {
  text-overflow: ellipsis;
  display: inline-block;
  overflow: hidden;
  white-space: nowrap;
}
#header-content > .sorted > i {
  opacity: 1;
}
#header-content:hover > .can-group > i {
  opacity: 0.5;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}
#header-content:hover > .grouped > i {
  opacity: 0.5;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}
#header-content:hover > .unsorted > i {
  opacity: 0.5;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}
#header-content:hover > .can-group:hover > i {
  opacity: 1;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}
#header-content:hover > .grouped:hover > i {
  opacity: 1;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}
#header-content #sorting-control,
#header-content > #grouping-control {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
#header-content > .grouped > i.current-state {
  opacity: 1;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}
#header-content:hover > .grouped > i.current-state {
  display: none;
}
#header-content > .grouped > i.next-state {
  display: none;
}
#header-content:hover > .grouped > i.next-state {
  display: inline-block;
}
#header-content:hover > .unsorted:hover > i {
  opacity: 1;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}
#header-content > #filter-control {
  opacity: 0;
  display: none;
}
#header-content #sorting-control {
  opacity: 0;
}
#header-content #sorting-control.sorted.active {
  opacity: 1;
}
#header-content.filter-active #filter-control,
#header-content.sorting-active #sorting-control,
#header-content:hover > #filter-control,
#header-content:hover #sorting-control {
  opacity: 1;
  display: inline-block;
}
#header-content.filter-active #filter-control #header-title,
#header-content.sorting-active #sorting-control #header-title,
#header-content:hover > #filter-control #header-title,
#header-content:hover #sorting-control #header-title {
  font-size: 10px;
}
#header-content.filter-active #header-content__hint,
#header-content.sorting-active #header-content__hint {
  opacity: 0;
}
#grouped-by {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  opacity: 1;
}
#expand-control {
  cursor: pointer;
  height: 100%;
  position: absolute;
  left: -3rem;
  display: flex;
  align-items: center;
}
.grouped-row > td > #cell-content {
  opacity: 0 !important;
}
.grouped-row #cell-content #grouped-by {
  opacity: 1 !important;
}
.sticky {
  position: -webkit-sticky !important;
  position: sticky !important;
  left: 0;
  top: 0;
  opacity: 1;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#collection.list {
  width: 100%;
  border-spacing: 0;
}
#collection.list tbody {
  padding-top: 1rem;
  margin-bottom: 5rem;
}
#collection.list tbody > tr > td {
  border: none;
  margin: 0;
  padding: 0;
}
#collection.list thead > tr > th {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}
#collection.list tbody tr > td:first-child > #cell-content {
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
  margin-left: 1rem;
}
#collection.list tbody tr > td:last-child > #cell-content {
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
  margin-right: 1rem;
}
#collection.list tbody tr > td #cell-content {
  padding: 0.25rem;
  margin-bottom: 2rem;
}
#collection.list.dark tbody tr > td #cell-content {
  background: rgba(24, 56, 88, 0.4);
}
#collection.list.dark tr.clickable td #cell-content {
  border-top: 1px solid rgba(24, 56, 88, 0.4);
  border-bottom: 1px solid rgba(24, 56, 88, 0.4);
}
#collection.list.dark tr.clickable td:first-child #cell-content {
  border-left: 1px solid rgba(24, 56, 88, 0.4);
}
#collection.list.dark tr.clickable td:last-child #cell-content {
  border-right: 1px solid rgba(24, 56, 88, 0.4);
}
#collection.list tbody tr > td #cell-content {
  background: white;
}
#collection.list tr.clickable td #cell-content {
  border-top: 1px solid lightgray;
  border-bottom: 1px solid lightgray;
}
#collection.list tr.clickable td:first-child #cell-content {
  border-left: 1px solid lightgray;
}
#collection.list tr.clickable td:last-child #cell-content {
  border-right: 1px solid lightgray;
}
#collection.list tr.clickable:hover td #cell-content {
  border-top: 1px solid rgba(0, 0, 0, 0.3);
  border-bottom: 1px solid rgba(0, 0, 0, 0.3);
}
#collection.list tr.clickable:hover td:first-child #cell-content {
  border-left: 1px solid rgba(0, 0, 0, 0.3);
}
#collection.list tr.clickable:hover td:last-child #cell-content {
  border-right: 1px solid rgba(0, 0, 0, 0.3);
}
#collection.list tr.clickable:hover > td > #cell-content,
#collection.list tr.clickable:hover {
  cursor: pointer;
  opacity: 1;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#collection.table {
  width: 100%;
}
#collection.table #collection__items #collection-item:hover #cell-content.actions,
#collection.table .ReactVirtualized__Table__grid #collection-item:hover #cell-content.actions,
#collection.table #collection__items .ReactVirtualized__Table__row:hover #cell-content.actions,
#collection.table .ReactVirtualized__Table__grid .ReactVirtualized__Table__row:hover #cell-content.actions {
  background: transparent;
}
#collection.table #cell-content.actions {
  align-items: flex-end;
  background: transparent;
}
#collection.table #cell-content.actions #ellipsis-menu {
  position: static;
}
#collection.table #cell-content.actions #ellipsis-menu .menu.visible {
  right: 23px !important;
}
#collection.table tbody {
  z-index: 1;
}
#collection.table tr#collection-item:hover {
  z-index: 15;
}
#collection.table .ReactVirtualized__Grid__innerScrollContainer {
  min-height: calc(100% + 15vh) !important;
}
#collection.table .ReactVirtualized__Table__row {
  overflow: visible !important;
}
#collection.table td {
  z-index: 3;
}
#collection.table td.actions > div {
  float: right;
}
#collection.table .ReactVirtualized__Table__headerColumn {
  flex-direction: row;
  justify-content: flex-start;
}
#collection.table .ReactVirtualized__Table__headerColumn:first-child {
  margin-left: 4px;
}
#collection.table .ReactVirtualized__Table__headerColumn #multi-select-actions {
  padding-left: 10px;
}
#collection.table .ReactVirtualized__Table__row:hover {
  z-index: 1;
}
#collection.table.light #collection__property-filters th {
  background: white;
}
#collection.table.light #header-title {
  color: #7B8792;
}
#collection.table.light #header-content__hint {
  color: #2E5275;
}
#collection.table.light #cell-content.actions .item {
  color: #2E5275;
}
#collection.table.light #cell-content.actions .item:hover {
  color: #0b9bdc;
}
#collection.table.light #collection__items,
#collection.table.light .ReactVirtualized__Table__Grid {
  background: #F4F8FC;
}
#collection.table.light #collection__items #collection-item:hover,
#collection.table.light .ReactVirtualized__Table__Grid #collection-item:hover,
#collection.table.light #collection__items .ReactVirtualized__Table__row:hover,
#collection.table.light .ReactVirtualized__Table__Grid .ReactVirtualized__Table__row:hover {
  box-shadow: 0px 0px 5px 0px #d0d0d0;
  z-index: 1;
}
#collection.table.light #collection__items #collection-item:hover #cell-content.actions,
#collection.table.light .ReactVirtualized__Table__Grid #collection-item:hover #cell-content.actions,
#collection.table.light #collection__items .ReactVirtualized__Table__row:hover #cell-content.actions,
#collection.table.light .ReactVirtualized__Table__Grid .ReactVirtualized__Table__row:hover #cell-content.actions {
  background: #FFFFFF;
}
#collection.table.light #collection__items #collection-item:hover,
#collection.table.light .ReactVirtualized__Table__Grid #collection-item:hover,
#collection.table.light #collection__items .ReactVirtualized__Table__row:hover,
#collection.table.light .ReactVirtualized__Table__Grid .ReactVirtualized__Table__row:hover,
#collection.table.light #collection__items #collection-item.selected,
#collection.table.light .ReactVirtualized__Table__Grid #collection-item.selected,
#collection.table.light #collection__items .ReactVirtualized__Table__row.selected,
#collection.table.light .ReactVirtualized__Table__Grid .ReactVirtualized__Table__row.selected {
  background: #FFFFFF;
}
#collection.table.light #collection__items #multi-select input,
#collection.table.light .ReactVirtualized__Table__Grid #multi-select input,
#collection.table.light #collection__items #multi-select .checkbox,
#collection.table.light .ReactVirtualized__Table__Grid #multi-select .checkbox {
  background: white !important;
  background-color: white !important;
}
#collection.table.light .ReactVirtualized__Table__headerRow {
  background-color: #FFFFFF;
}
#collection.table.light .ReactVirtualized__Table__headerColumn {
  border-width: 0px;
}
#collection.table.dark #collection__property-filters th {
  background: #2E5275;
}
#collection.table.dark #header-title {
  color: #ffffffd9;
}
#collection.table.dark #cell-content.actions .item {
  color: #FFFFFF;
}
#collection.table.dark #cell-content.actions .item:hover {
  color: #0b9bdc;
}
#collection.table.dark #collection__items,
#collection.table.dark .ReactVirtualized__Table__Grid {
  background: transparent;
}
#collection.table.dark #collection__items #collection-item,
#collection.table.dark .ReactVirtualized__Table__Grid #collection-item,
#collection.table.dark #collection__items .ReactVirtualized__Table__row,
#collection.table.dark .ReactVirtualized__Table__Grid .ReactVirtualized__Table__row {
  z-index: 1;
}
#collection.table.dark #collection__items #collection-item:hover,
#collection.table.dark .ReactVirtualized__Table__Grid #collection-item:hover,
#collection.table.dark #collection__items .ReactVirtualized__Table__row:hover,
#collection.table.dark .ReactVirtualized__Table__Grid .ReactVirtualized__Table__row:hover {
  box-shadow: 0px 0px 5px 0px rgba(15, 45, 76, 0.24);
}
#collection.table.dark #collection__items #collection-item:hover td.actions,
#collection.table.dark .ReactVirtualized__Table__Grid #collection-item:hover td.actions,
#collection.table.dark #collection__items .ReactVirtualized__Table__row:hover td.actions,
#collection.table.dark .ReactVirtualized__Table__Grid .ReactVirtualized__Table__row:hover td.actions {
  background: rgba(15, 45, 76, 0.85);
}
#collection.table.dark #collection__items #collection-item:hover,
#collection.table.dark .ReactVirtualized__Table__Grid #collection-item:hover,
#collection.table.dark #collection__items .ReactVirtualized__Table__row:hover,
#collection.table.dark .ReactVirtualized__Table__Grid .ReactVirtualized__Table__row:hover,
#collection.table.dark #collection__items #collection-item.selected,
#collection.table.dark .ReactVirtualized__Table__Grid #collection-item.selected,
#collection.table.dark #collection__items .ReactVirtualized__Table__row.selected,
#collection.table.dark .ReactVirtualized__Table__Grid .ReactVirtualized__Table__row.selected {
  background: rgba(255, 255, 255, 0.13);
}
#collection.table.dark #collection__items #multi-select input,
#collection.table.dark .ReactVirtualized__Table__Grid #multi-select input,
#collection.table.dark #collection__items #multi-select .checkbox,
#collection.table.dark .ReactVirtualized__Table__Grid #multi-select .checkbox {
  background: rgba(255, 255, 255, 0.13) !important;
  background-color: rgba(255, 255, 255, 0.13) !important;
}
#collection.table.dark .ReactVirtualized__Table__headerRow {
  background-color: #2E5275;
}
#collection.table #collection__property-filters th {
  background: transparent;
  border-bottom: 1px solid rgba(0, 0, 0, 0.13);
}
@media only screen and (max-width: 900px) {
  #collection.table.stackable-half tbody,
  #collection.table.stackable-half tr,
  #collection.table.stackable-half tr > th {
    width: auto !important;
    display: block !important;
  }
  #collection.table.stackable-half tr > td {
    display: flex !important;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
  }
  #collection.table.stackable-half #cell-label {
    display: block;
    min-width: 100px;
    font-weight: bold;
    padding-left: 5px;
  }
  #collection.table.stackable-half #header-content {
    height: auto;
    flex-direction: row;
    justify-content: flex-start;
    font-size: 14px !important;
  }
  #collection.table.stackable-half #header-content.has-filter.filter:hover #header-title,
  #collection.table.stackable-half #header-content.has-filter.filter-inactive:hover #header-title,
  #collection.table.stackable-half #header-content.has-filter.filter-active:hover #header-title {
    font-size: 14px !important;
    display: flex;
    flex-direction: row;
  }
}
@media only screen and (max-width: 500px) {
  #collection.table.stackable-quarter tbody,
  #collection.table.stackable-quarter tr,
  #collection.table.stackable-quarter tr > th {
    width: auto !important;
    display: block !important;
  }
  #collection.table.stackable-quarter tr > td {
    display: flex !important;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
  }
  #collection.table.stackable-quarter #cell-label {
    display: block;
    min-width: 100px;
    font-weight: bold;
    padding-left: 5px;
  }
  #collection.table.stackable-quarter #header-content {
    height: auto;
    flex-direction: row;
    justify-content: flex-start;
    font-size: 14px !important;
  }
  #collection.table.stackable-quarter #header-content.has-filter.filter:hover #header-title,
  #collection.table.stackable-quarter #header-content.has-filter.filter-inactive:hover #header-title,
  #collection.table.stackable-quarter #header-content.has-filter.filter-active:hover #header-title {
    font-size: 14px !important;
    display: flex;
    flex-direction: row;
  }
}
#collection.table td {
  margin: 0;
  padding: 0;
}
#header-content {
  height: 3rem;
}
#header-content.has-filter {
  min-width: 200px;
  max-width: 200px;
  width: 200px;
}
#header-title {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
#collection.table tbody tr > td #cell-content {
  padding: 0.5rem 1.5rem 0.5rem 1.5rem;
}
#collection.table tbody tr > td #cell-content {
  height: 3.5rem;
}
#collection.table thead tr > th:first-child {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
}
#collection.table thead tr > th:first-child > #cell-content {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
}
#collection.table tbody tr > td:first-child {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
}
#collection.table tbody tr > td:last-child {
  right: 0;
  z-index: 0;
}
#collection.table #cell-content.multi-select {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
#collection.table #cell-content.multi-select.primary-multi-select {
  display: flex;
  align-items: center;
  padding: 0.5rem;
}
#collection.table #cell-content.multi-select.primary-multi-select .checkbox {
  opacity: 1;
}
#collection.table #cell-content.multi-select.primary-multi-select.hasSelected #multi-select-actions {
  opacity: 1;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}
#collection.table.dark #cell-content.multi-select.primary-multi-select #multi-select-actions {
  border: 0px solid rgba(255, 255, 255, 0.13);
  color: #fff;
}
#collection.table.light #cell-content.multi-select.primary-multi-select #multi-select-actions {
  border: 0px solid #767676;
  color: #02070A;
}
#collection.table #cell-content.multi-select.primary-multi-select #multi-select-actions {
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
  z-index: 10000;
  opacity: 0;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}
#collection.table #cell-content.multi-select.primary-multi-select #multi-select-actions #multi-select-actions__option {
  font-size: 10pt;
}
#collection.table tr .multi-select .checkbox {
  opacity: 0;
}
#collection.table tr:hover .multi-select .checkbox,
#collection.table tr .multi-select .checked.checkbox {
  opacity: 1;
}
#collection .ReactVirtualized__Table__headerRow {
  overflow: visible !important;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#collection.cards {
  width: 100%;
  border-spacing: 0;
}
#collection.cards thead > tr > th {
  display: inline-block;
  float: right;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
#collection.cards tbody {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: flex-start;
}
#collection.cards tbody #cell-content {
  height: auto;
  word-wrap: normal;
  align-items: center;
  font-size: 14px;
}
#collection.cards tbody #collection-item {
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(46, 82, 117, 0.13);
  margin: 5px;
  padding: 4px;
  text-align: center;
}
#collection.cards tbody #collection-item.clickable:hover {
  border-color: #0F9BDC;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#local-collection {
  display: flex;
  flex-direction: column;
  justify-content: stretch;
  align-items: stretch;
  height: 100%;
}
#local-collection #local-collection__header {
  display: flex;
  flex-direction: row;
  padding: 15px 15px 0px 15px;
  flex: 0 0;
  flex-wrap: wrap;
}
#local-collection #local-collection__header > #local-collection__header-left {
  flex: 1 0 150px;
}
#local-collection #local-collection__header > #local-collection__header-middle {
  flex: 2 0;
}
#local-collection #local-collection__header > #local-collection__header-middle .ui.form {
  padding: 5px;
}
#local-collection #local-collection__header > #local-collection__header-right {
  flex: 0 0;
  text-align: right;
  display: flex;
  align-content: flex-end;
  align-items: center;
  margin-left: 10px;
  margin-right: 10px;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
}
#local-collection #local-collection__body {
  flex: 1 0;
}
#local-collection #local-collection__footer {
  display: flex;
  flex-direction: row;
  flex: 0 0;
  flex-wrap: wrap;
  justify-content: flex-end;
  box-shadow: inset 0px -1px 6px rgba(50, 50, 50, 0.25);
  padding: 15px;
  bottom: 0;
  right: 0;
  left: 0;
}
#local-collection #local-collection__pagination {
  display: flex;
  align-items: center;
  flex-direction: row;
  justify-items: center;
  justify-content: space-evenly;
  background: #0f2d4c;
  position: fixed;
  bottom: 0;
  right: 0;
  left: 0;
  opacity: 1;
  z-index: 1000;
}
#local-collection #local-collection__pagination .item {
  align-self: center;
}
#local-collection #local-collection__pagination .active.item {
  border-bottom: 1px solid #0b9bdc;
  font-weight: bold;
}

#change-metadata {
  display        : flex;
  flex-direction : row;
  justify-content: baseline;
  height         : 1.25rem;
  cursor         : default;
  width          : 100%;
  height         : -webkit-fit-content;
  height         : -moz-fit-content;
  height         : fit-content;
}

#change-metadata #autosaving {
  align-self: flex-end;
}

#change-metadata #autosaving span {
  margin-left   : 0.5rem;
  vertical-align: top;
}

#change-metadata .ui.loader {
  position  : relative;
  display   : inline-flex;
  top       : unset;
  left      : unset;
  align-self: flex-end;
  color     : white;
  -webkit-transform : unset;
          transform : unset;
  z-index   : 1;
}
.ReactVirtualized__Table__headerRow {
  display: flex;
  background-color: rgb(3, 107, 168);
  color: #ffffff;
  font-weight: 700;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}

.ReactVirtualized__Table__headerColumn {
  display: flex;
  flex: 1 1;
  align-content: center;
  justify-content: center;
  border-right: 1px solid rgba(34, 36, 38, 0.15);
}

.ReactVirtualized__Table__headerColumn:last-child {
  border-right: none;
}

.ReactVirtualized__Table__headerTruncatedText {
  line-height: 50px;
}

.ReactVirtualized__Table__Grid {
  /* border: 1px solid rgba(34, 36, 38, 0.15); */
  /* padding-bottom: 15vh; */
}

.ReactVirtualized__Table__Grid:focus {
  outline: none;
}

.ReactVirtualized__Grid__innerScrollContainer {
  min-height: calc(100% + 15vh) !important;
}

.ReactVirtualized__Table__Row {
  border-bottom: 1px solid rgba(34, 36, 38, 0.15);
  overflow: visible !important;
}

.ReactVirtualized__Table__Row:hover {
  box-shadow: rgb(11, 155, 220) 0px 0px 0px 1px inset, rgb(11, 155, 220) 5px 0px 0px 0px,
    rgb(11, 155, 220) -5px 0px 0px 0px;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
.notification-rule .ui.checkbox label {
  padding-left: 30px;
  margin: auto;
}
.notification-rule .field {
  margin-top: 10px;
}
.notification-rule .field .ui.input,
.notification-rule .fields .field .ui.input,
.notification-rule .fields .field textarea {
  width: 100%;
  max-width: 100%;
}
.notification-rule .fields {
  margin: 5px 0;
}
.notification-rule .fields .ui.checkbox label {
  min-height: 25px;
}
.notification-rule .fields .field {
  margin-top: 10px;
}
.notification-rule .ui.input > input,
.notification-rule .ui.dropdown.selection,
.notification-rule textarea {
  background-color: #F4F8FC;
  border: 1px solid #A1C5E6;
  border-radius: 4px !important;
  outline: none;
  box-shadow: 0px 0px 0px 4px transparent !important;
  -webkit-transition: box-shadow 300ms ease-in, background-color 200ms ease-in;
  transition: box-shadow 300ms ease-in, background-color 200ms ease-in;
}
.notification-rule .ui.input > input:hover,
.notification-rule .ui.dropdown.selection:hover,
.notification-rule textarea:hover {
  background-color: #CCE0F3 !important;
}
.notification-rule .ui.input > input:focus,
.notification-rule .ui.dropdown.selection:focus,
.notification-rule textarea:focus,
.notification-rule .ui.input > input:focus-within,
.notification-rule .ui.dropdown.selection:focus-within,
.notification-rule textarea:focus-within {
  position: relative;
  border: 1px solid #0F9BDC !important;
  box-shadow: 0px 0px 4px 2px #A1C5E6 !important;
}
.notification-rule textarea {
  resize: both;
}
.notification-rule #notification-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  width: calc(100% - 32px);
  margin-bottom: 0;
}
.notification-rule .ui.toggle.checkbox {
  display: block !important;
}
.notification-rule .ui.checkbox {
  display: inline-block !important;
}
.notification-rule .ui.checkbox label {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.notification-rule .ui.toggle.checkbox,
.notification-rule .ui.toggle.checkbox label {
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
}
.notification-rule .ui.toggle.checkbox label {
  margin-left: 0;
  margin-right: auto;
  padding-left: 62px;
}
.notification-rule .notification-accordion .content.active {
  display: inline !important;
}
.notification-rule #issues-wrapper > .field > label {
  color: rgba(0, 0, 0, 0.4);
}
.notification-rule #issues-wrapper > .field > .checkbox > label {
  color: rgba(0, 0, 0, 0.87);
}
.notification-rule #notification-filters {
  padding-top: 10px;
}
.notification-rule #notification-filters .field,
.notification-rule #notification-filters .fields .field {
  margin-top: 0;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#source-filters .header {
  border: none;
  background: inherit;
}
#source-filters__filters-warning-message {
  padding: 0px 16px;
}
#filterFromRows {
  min-width: 1rem;
  border: none;
  background: #F4F8FC;
}
#filterFromRows:not(first-child) td {
  border-top: 1px;
}
#filterFromRows > tfoot > tr > th {
  border: none;
  background: inherit;
}
#filterFromRow {
  border: none;
}
#filterFromRow > td {
  border: none;
}

#edit-shape-notifications {
  max-width: 100%;
  display: flex;
  flex-direction: column;
}
#edit-shape-notifications tbody,
#edit-shape-notifications tbody .notification-rule {
  max-width: 100%;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/
#branded-logo {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  margin: 10px 8px;
}
.without-text#branded-logo img {
  margin: 10px !important;
  width: 3.5rem;
  height: 3rem;
  max-height: 3rem;
  max-width: 3.5rem;
}
.without-text#branded-logo img :hover {
  cursor: pointer;
}
.with-text#branded-logo img {
  margin: 10px !important;
  width: 5rem;
  height: 3.25rem;
  max-height: 3.25rem;
  max-width: 5rem;
}
.with-text#branded-logo img :hover {
  cursor: pointer;
}
.large#branded-logo img {
  margin: 0 !important;
  width: 4.5rem;
  height: 5rem;
  max-height: 5rem;
  max-width: 4.5rem;
}

/*---  Named colors (do not import)  ---*/
/*-------------------
Site Colors To Import
--------------------*/
/*-------------------
    Overall
--------------------*/
/*-------------------
    Shading
--------------------*/
/*-------------------
    Backgrounds
--------------------*/
/*-------------------
    Transparent backgrounds
--------------------*/
/*-------------------
    Borders
--------------------*/
/*-------------------
       TEXT
--------------------*/
/*-------------------
       Inputs
--------------------*/
/*-------------------
    Global Modifier 
--------------------*/
/*--- Draft Figma Colors --*/
/*---  Colors  ---*/
/*---  Light Colors  ---*/
/*---   Neutrals  ---*/
/*--- Colored Backgrounds ---*/
/*--- Colored Headers ---*/
/*--- Colored Text ---*/
/*--- Colored Border ---*/

.horizontal-scroll-right {
    content: '\f061';
    font-family: Icons;
    font-size: 16pt;
    display: inline-block;
    position: absolute;
    top: 0px;
    right: 10px;
    color: white;
    height: 100%;
    /* box-shadow: inset -15px 0px 20px 0px #fbfbfb;
    border-right: 50px solid #fbfbfb; */
    width: 25px;
    z-index: 30;
    background-color: #0000002e;
}

.horizontal-scroll-left {
    content: '\f061';
    font-family: Icons;
    font-size: 16pt;
    display: none;
    position: absolute;
    left: 0;
    top: 0;
    color: white;
    height: 100%;
    /* box-shadow: inset 20px 0px 20px 0px #fbfbfb; */
    width: 25px;
    /* border-left: 50px solid #fbfbfb; */
    z-index: 30;
    background-color: #0000002e;
}

.horizontal-scroll-right:hover,
.horizontal-scroll-left:hover {
    background-color: #00000078;
    /* box-shadow: inset -20px 0px 20px 0px #fbfbfb; */
    top: 0px;
    -webkit-transition: color 0.15s ease-out, background 0.15s ease-in, box-shadow 0.15s ease-in;
    transition: color 0.15s ease-out, background 0.15s ease-in, box-shadow 0.15s ease-in;
}

.horizontal-scroll-left i,
.horizontal-scroll-right i {
    position: absolute;
    top: 50%;
    color: white;
}

.horizontal-scroll-right:hover i,
.horizontal-scroll-left:hover i {
    color: white;
}

.horizontal-scroll-wrapper {
    position: relative;
    overflow: auto;
    overflow-y: scroll;
}

.scroll-control {
    position: relative;
}

.scroll-control,
.horizontal-scroll-wrapper {
    max-width: 100vw;
    max-height: 100%;
}

.horizontal-scroll-wrapper.fit {
    max-width: 90vw;
    max-height: 60vh;
    position: relative;
    overflow: auto;
}

.horizontal-scroll-wrapper.full {
    max-width: 95vw;
    max-height: 95vh;
    position: relative;
    overflow: auto;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9WaWV3cG9ydE1vZGFsL2luZGV4Lmxlc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvc2lnaWxzL2NhcmV0Lmxlc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvVGV4dC9pbmxpbmUtaGVhZGVyLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvVGV4dC9kZXRhaWxlZC1oZWFkZXIubGVzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkJhci9ub3RpZmljYXRpb24tYmFyLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvc2lnaWxzL2Nsb3NlLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvY29sbGVjdGlvbi9jb21wb25lbnRzL3Byb3BlcnR5LWZpbHRlcnMvaW5kZXgubGVzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9jb2xsZWN0aW9uL2NvbXBvbmVudHMvY29sdW1uLWZpbHRlci5sZXNzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL2NvbGxlY3Rpb24vY29tcG9uZW50cy9yb3ctc29ydGVyLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvY29sbGVjdGlvbi9zdHlsZXMvZGVmYXVsdC5sZXNzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL2NvbGxlY3Rpb24vc3R5bGVzL2xpc3QubGVzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9jb2xsZWN0aW9uL3N0eWxlcy90YWJsZS5sZXNzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL2NvbGxlY3Rpb24vc3R5bGVzL2NhcmRzLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvY29sbGVjdGlvbi9jb21wb25lbnRzL2xvY2FsLXN0b3JlL2luZGV4Lmxlc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvY2hhbmdlLW1ldGFkYXRhL2luZGV4LmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9WaXJ0dWFsVGFibGUvdmlydHVhbC10YWJsZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uLXJ1bGUtcjIvcnVsZS5sZXNzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL25vdGlmaWNhdGlvbi1ydWxlLXIyL2ZpbHRlcnMvaW5kZXgubGVzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9ub3RpZmljYXRpb24tcnVsZS1yMi9zaGFwZS5sZXNzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL2JyYW5kZWRMb2dvL2JyYW5kZWQtbG9nby5sZXNzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL1RyYW5zYWN0aW9uYWxUYWJsZS90cmFuc2FjdGlvbmFsLXRhYmxlLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvaG9yaXpvbnRhbC1zY3JvbGwvaG9yaXpvbnRhbC1zY3JvbGwuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlDQUF5QztBQUN6Qzs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQiw0QkFBNEI7QUFDNUIsbUJBQW1CO0FBQ25CLHlCQUF5QjtBQUN6QixzQkFBc0I7QUFDdEIsOEJBQThCO0FBQzlCLDBCQUEwQjtBQUMxQix1QkFBdUI7QUFDdkIseUJBQXlCO0FBM0J6QjtFQUNJO0FBNkJKO0FBOUJBO0VBSVE7QUE2QlI7QUF4QkE7RUFDSTtFQUNBO0VBMEJGOzs7O0tBSUc7RUFDSDs7OztNQUlJO0FBQ047QUF0Q0E7RUFNUTtFQUNBO0VBQ0E7VUFBQTtBQW1DUjtBQTNDQTtFQVlZO0VBQ0E7RUFDQTtBQWtDWjtBQWhEQTtFQW1CUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFBQTtFQUFBO0FBZ0NSO0FBOUJRO0VBQ0k7QUFnQ1o7QUE3QlE7RUFDSTtBQStCWjtBQTdEQTtFQW1DUTtFQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBNkJSO0FBNUVBO0VBa0RZO0FBNkJaO0FBL0VBO0VBc0RZO0VBQ0E7RUFDQTtBQTRCWjtBQXBGQTtFQTZEWTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUEwQlo7QUE1RkE7RUFzRVk7RUFDQTtBQXlCWjtBQWhHQTtFQTRFZ0I7QUF1QmhCO0FBbkdBO0VBcUdFO2tDQUNnQztBQUNsQztBQXZHQTtFQXNGWTtLQUFBO01BQUE7VUFBQTtFQUNBO0FBb0JaO0FBVEk7RUFDSTtBQVdSO0FBWkk7RUFJUTtFQUNBO0FBV1o7QUFUWTtFQUVJO0FBVWhCO0FBTm9COztFQUVJO0VBQ0E7QUFReEI7QUFMb0I7RUFDSTtFQUNBO0FBT3hCO0FBSm9COztFQUVJO0VBQ0E7QUFNeEI7QUFBWTtFQUNJO0FBRWhCO0FBSUk7RUFDSTtBQUZSO0FBQ0k7RUFJUTtFQUNBO0FBRlo7QUFJWTs7RUFFSTtFQUNBO0FBRmhCO0FBS1k7RUFDSTtFQUNBO0FBSGhCO0FBTVk7RUFDSTtFQUNBO0FBSmhCO0FBU0k7RUFDSTtBQVBSO0FBTUk7RUFJUTtFQUNBO0VBQ0E7QUFQWjtBQWxLQTtFQThLUTtFQUNBO0FBVFI7QUF0S0E7RUFtTFE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7QUFWUjtBQVlRO0VBQ0k7QUFWWjtBQWFRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0FBWFo7QUFqTUE7RUF3TlE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXBCUjtBQTNNQTtFQXFPWTtBQXZCWjtBQXlCWTs7RUFFSTtFQUNBO1VBQUE7QUF2QmhCO0FBMEJZO0VBQ0k7RUFDQTtVQUFBO0FBeEJoQjtBQTJCWTtFQUNJO0FBekJoQjs7QUMzT0EseUNBQXlDO0FBQ3pDOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCLDRCQUE0QjtBQUM1QixtQkFBbUI7QUFDbkIseUJBQXlCO0FBQ3pCLHNCQUFzQjtBQUN0Qiw4QkFBOEI7QUFDOUIsMEJBQTBCO0FBQzFCLHVCQUF1QjtBQUN2Qix5QkFBeUI7QUFqQ3pCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFBQTtFQUFBO0FBbUNKO0FBakNJO0VBQ0k7QUFtQ1I7QUFoQ0k7RUFDSTtBQWtDUjtBQS9CSTtFQUNJO0FBaUNSO0FBN0JBO0VBQ0k7VUFBQTtBQStCSjtBQTVCQTs7RUFFSTtFQUNBO1VBQUE7QUE4Qko7QUEzQkE7O0VBRUk7RUFDQTtVQUFBO0FBNkJKOztBQ3BFQSx5Q0FBeUM7QUFDekM7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckIsNEJBQTRCO0FBQzVCLG1CQUFtQjtBQUNuQix5QkFBeUI7QUFDekIsc0JBQXNCO0FBQ3RCLDhCQUE4QjtBQUM5QiwwQkFBMEI7QUFDMUIsdUJBQXVCO0FBQ3ZCLHlCQUF5QjtBQWpDekI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFtQ0o7QUFoQ0E7RUFDSTtBQWtDSjtBQS9CQTtFQUNJO0FBaUNKOztBQ2pEQSx5Q0FBeUM7QUFDekM7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckIsNEJBQTRCO0FBQzVCLG1CQUFtQjtBQUNuQix5QkFBeUI7QUFDekIsc0JBQXNCO0FBQ3RCLDhCQUE4QjtBQUM5QiwwQkFBMEI7QUFDMUIsdUJBQXVCO0FBQ3ZCLHlCQUF5QjtBQWpDekI7RUFDSTtFQUNBO0VBQ0E7RUFBQTtFQUFBO0VBQ0E7RUFBQTtFQUFBO0FBbUNKO0FBdkNBO0VBT1E7RUFDQTtFQUNBO0VBQ0E7QUFtQ1I7QUE3Q0E7O0VBZVE7QUFrQ1I7QUFqREE7OztFQXFCUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtBQWlDUjtBQTNEQTtFQStCUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBK0JSO0FBNUJJO0VBQ0k7QUE4QlI7QUExQkk7RUFDSTtBQTRCUjtBQXhCSTs7O0VBS1E7QUF3Qlo7QUFwQkk7RUFDSTtBQXNCUjtBQXZCSTtFQUlRO0FBc0JaO0FBbEJJOztFQUVJO0FBb0JSO0FBdEJJOztFQUtRO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXFCWjtBQS9CSTs7RUFnQlE7RUFDQTtFQUNBO0FBbUJaO0FBckNJOztFQXNCUTtFQUNBO0FBbUJaO0FBZkk7RUFDSTtBQWlCUjtBQWxCSTtFQUlRO0VBQ0E7RUFDQTtFQUNBO0FBaUJaO0FBZlk7RUFDSTtBQWlCaEI7QUEzQkk7RUFlUTtFQUNBO0VBQ0E7QUFlWjtBQWhDSTtFQXFCUTtFQUNBO0FBY1o7QUFWSTtFQUNJO0FBWVI7QUFiSTtFQUlRO0VBQ0E7RUFDQTtFQUNBO0FBWVo7QUFWWTtFQUNJO0FBWWhCO0FBdEJJO0VBZVE7RUFDQTtFQUNBO0FBVVo7QUEzQkk7RUFxQlE7RUFDQTtBQVNaO0FBSEE7RUFDSTtFQUNBO0VBQ0E7RUFBQTtFQUFBO0VBQ0E7RUFBQTtFQUFBO0FBS0o7O0FDN0pBLHlDQUF5QztBQUN6Qzs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQiw0QkFBNEI7QUFDNUIsbUJBQW1CO0FBQ25CLHlCQUF5QjtBQUN6QixzQkFBc0I7QUFDdEIsOEJBQThCO0FBQzlCLDBCQUEwQjtBQUMxQix1QkFBdUI7QUFDdkIseUJBQXlCO0FBaEN6QjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBa0NKO0FBNUNBO0VBYVE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0FBaUNSO0FBdkRBO0VBeUJZO0VBQ0E7RUFDQTtBQWlDWjtBQTVEQTtFQWdDWTtBQStCWjtBQS9EQTtFQW9DWTtFQUNBO0VBQ0E7QUE4Qlo7QUE1Qlk7RUFDSTtBQThCaEI7QUF2RUE7RUE4Q1k7RUFDQTtBQTRCWjs7QUM5RUEseUNBQXlDO0FBQ3pDOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCLDRCQUE0QjtBQUM1QixtQkFBbUI7QUFDbkIseUJBQXlCO0FBQ3pCLHNCQUFzQjtBQUN0Qiw4QkFBOEI7QUFDOUIsMEJBQTBCO0FBQzFCLHVCQUF1QjtBQUN2Qix5QkFBeUI7QUFqQ3pCO0VBRUk7RUFDQTtFQWtDRix5QkFBeUI7RUFoQ3ZCO0VBa0NGLHFDQUFxQztFQWhDbkM7RUFDQTtFQUNBO0FBa0NKO0FBM0NBO0VBYVE7RUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFpQ1I7QUFuREE7RUFzQlE7VUFBQTtBQWdDUjtBQXREQTtFQTBCUTtVQUFBO0FBK0JSO0FBNUJJO0VBQ0k7RUFDQTtBQThCUjtBQTNCSTtFQUNJO0VBQ0E7QUE2QlI7QUExQkk7RUFDSTtFQUNBO0FBNEJSO0FBeEJBO0VBR1E7RUFDQTtFQUFBO0FBd0JSOztBQzNFQTtFQUNJO0VBQ0E7RUFDQTtBQUNKO0FBRUE7RUFHUTtFQUNBO0VBQ0E7QUFGUjtBQUhBO0VBU1E7RUFDQTtFQUNBO0VBRUE7QUFKUjtBQVRBO0VBZ0JZO0VBQ0E7QUFKWjtBQWJBO0VBcUJZO0FBTFo7O0FDdEJBLHlDQUF5QztBQUN6Qzs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQiw0QkFBNEI7QUFDNUIsbUJBQW1CO0FBQ25CLHlCQUF5QjtBQUN6QixzQkFBc0I7QUFDdEIsOEJBQThCO0FBQzlCLDBCQUEwQjtBQUMxQix1QkFBdUI7QUFDdkIseUJBQXlCO0FBakN6QjtFQUNJO0VBQ0E7RUFBQTtFQUFBO0VBQ0E7RUFDQTtFQUNBO0FBbUNKO0FBL0JJO0VBR1k7QUErQmhCO0FBM0NBO0VBa0JRO0VBQ0E7QUE0QlI7QUEvQ0E7RUF1QlE7RUFBQTtFQUFBO0VBQ0E7QUEyQlI7QUFuREE7RUEyQlk7RUFDQTtFQUNBO0VBRUE7RUFBQTtFQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBMEJaO0FBbkJBO0VBQ0k7QUFxQko7QUFsQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBb0JKO0FBbEJJO0VBRVE7QUFtQlo7QUE1QkE7RUFjUTtBQWlCUjtBQS9CQTtFQWtCUTtBQWdCUjs7QUNwRkE7RUFDSTtFQUNBO0VBQUE7RUFBQTtBQUNKO0FBSEE7RUFLUTtFQUNBO0FBQ1I7O0FDUEEseUNBQXlDO0FBQ3pDOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCLDRCQUE0QjtBQUM1QixtQkFBbUI7QUFDbkIseUJBQXlCO0FBQ3pCLHNCQUFzQjtBQUN0Qiw4QkFBOEI7QUFDOUIsMEJBQTBCO0FBQzFCLHVCQUF1QjtBQUN2Qix5QkFBeUI7QUFqQ3pCO0VBQ0k7RUFDQTtBQW1DSjtBQWpDSTtFQUNJO0FBbUNSO0FBcENJO0VBSVE7QUFtQ1o7QUEvQkk7O0VBRUk7RUFDQTtFQUNBO0FBaUNSO0FBckNJOztFQU9RO0VBQUE7RUFBQTtBQWtDWjtBQXJEQTtFQXlCWTtFQUNBO0VBQUE7RUFDQTtFQUNBO0FBK0JaO0FBM0RBO0VBZ0NZO0FBOEJaO0FBOURBO0VBbUNnQjtFQUNBO0FBOEJoQjtBQWxFQTtFQXVDb0I7QUE4QnBCO0FBckVBO0VBOENRO0FBMEJSO0FBeEVBO0VBa0RRO0VBQ0E7QUF5QlI7QUE1RUE7RUFzRFk7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0FBeUJaO0FBbkZBO0VBNkRnQjtBQXlCaEI7QUFyQlE7RUFDSTtBQXVCWjtBQXBCUTtFQUNJO0FBc0JaO0FBbkJRO0VBQ0k7QUFxQlo7QUEvRkE7RUErRVE7QUFtQlI7QUFoQkk7RUFHUTtBQWdCWjtBQW5CSTtFQU9RO0FBZVo7QUF0Qkk7RUFXUTtBQWNaO0FBekJJOztFQWtCWTtBQVdoQjtBQTdCSTs7RUF1Qlk7QUFVaEI7QUFMSTtFQUlRO0FBSVo7QUFSSTtFQVNZO0FBRWhCO0FBekhBO0VBNkhRO0FBRFI7QUFLQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0FBSko7QUFEQTtFQVFRO0VBQ0E7RUFDQTtBQUpSO0FBTkE7RUFlUTtBQU5SO0FBUVE7RUFDSTtBQU5aO0FBV0E7RUFDSTtFQUNBO0FBVEo7QUFZQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBVko7QUFhQTs7O0VBR0k7QUFYSjtBQVFBOzs7RUFNUTtBQVRSO0FBYUE7O0VBRUk7QUFYSjtBQVNBOztFQUtRO0FBVlI7QUFlQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0FBYko7QUFnQkE7RUFDSTtFQUNBO0FBZEo7QUFpQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQWZKO0FBa0JBO0VBQ0k7QUFoQko7QUFvQkE7RUFDSTtFQUNBO0VBQ0E7QUFsQko7QUFlQTtFQU1RO0VBQ0E7RUFDQTtFQUNBO0FBbEJSO0FBc0JBO0VBQ0k7QUFwQko7QUF1QkE7RUFDSTtFQUNBO0VBQUE7QUFyQko7QUF3QkE7RUFDSTtFQUNBO0VBQUE7QUF0Qko7QUF5QkE7RUFDSTtFQUNBO0VBQUE7QUF2Qko7QUEwQkE7RUFDSTtFQUNBO0VBQUE7QUF4Qko7QUEyQkE7RUFDSTtFQUNBO0VBQUE7QUF6Qko7QUE0QkE7O0VBRUk7RUFDQTtBQTFCSjtBQTZCQTtFQUNJO0VBQ0E7RUFBQTtBQTNCSjtBQThCQTtFQUNJO0FBNUJKO0FBK0JBO0VBQ0k7QUE3Qko7QUFnQ0E7RUFDSTtBQTlCSjtBQWlDQTtFQUNJO0VBQ0E7RUFBQTtBQS9CSjtBQWtDQTtFQUNJO0VBQ0E7QUFoQ0o7QUFvQ0E7RUFDSTtBQWxDSjtBQW9DSTtFQUNJO0FBbENSO0FBc0NBOzs7O0VBSUk7RUFDQTtBQXBDSjtBQStCQTs7OztFQVFRO0FBakNSO0FBc0NBOztFQUdRO0FBckNSO0FBMENBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXhDSjtBQTJDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXpDSjtBQTRDQTtFQUNJO0FBMUNKO0FBNkNBO0VBQ0k7QUEzQ0o7QUE4Q0E7RUFDSTtFQUFBO0VBQ0E7RUFDQTtFQUVBO0FBN0NKOztBQzlTQSx5Q0FBeUM7QUFDekM7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckIsNEJBQTRCO0FBQzVCLG1CQUFtQjtBQUNuQix5QkFBeUI7QUFDekIsc0JBQXNCO0FBQ3RCLDhCQUE4QjtBQUM5QiwwQkFBMEI7QUFDMUIsdUJBQXVCO0FBQ3ZCLHlCQUF5QjtBQWhDekI7RUFDSTtFQUNBO0FBa0NKO0FBL0JBO0VBQ0k7RUFDQTtBQWlDSjtBQTlCQTtFQUNJO0VBQ0E7RUFDQTtBQWdDSjtBQTdCQTtFQUNJO0VBQUE7RUFDQTtBQStCSjtBQTNCQTtFQUNJO0VBQ0E7RUFDQTtBQTZCSjtBQTFCQTtFQUNJO0VBQ0E7RUFDQTtBQTRCSjtBQXpCQTtFQUNJO0VBQ0E7QUEyQko7QUF4QkE7RUFFUTtBQXlCUjtBQTNCQTtFQU1RO0VBQ0E7QUF3QlI7QUEvQkE7RUFXUTtBQXVCUjtBQWxDQTtFQWVRO0FBc0JSO0FBakJBO0VBQ0k7QUFtQko7QUFoQkE7RUFDSTtFQUNBO0FBa0JKO0FBZkE7RUFDSTtBQWlCSjtBQWRBO0VBQ0k7QUFnQko7QUFiQTtFQUNJO0VBQ0E7QUFlSjtBQVpBO0VBQ0k7QUFjSjtBQVhBO0VBQ0k7QUFhSjtBQVZBOztFQUVJO0VBQ0E7QUFZSjs7QUMzR0EseUNBQXlDO0FBQ3pDOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCLDRCQUE0QjtBQUM1QixtQkFBbUI7QUFDbkIseUJBQXlCO0FBQ3pCLHNCQUFzQjtBQUN0Qiw4QkFBOEI7QUFDOUIsMEJBQTBCO0FBQzFCLHVCQUF1QjtBQUN2Qix5QkFBeUI7QUFqQ3pCO0VBQ0k7QUFtQ0o7QUE1Qlk7Ozs7RUFFUTtBQWdDcEI7QUExQ0E7RUFtQlE7RUFDQTtBQTBCUjtBQTlDQTtFQXVCWTtBQTBCWjtBQWpEQTtFQTBCZ0I7QUEwQmhCO0FBcERBO0VBZ0NRO0FBdUJSO0FBaEJRO0VBQ0k7QUFrQlo7QUExREE7RUE4Q1E7QUFlUjtBQTdEQTtFQW1EUTtBQWFSO0FBaEVBO0VBNERRO0FBT1I7QUFuRUE7RUFnRVE7QUFNUjtBQXRFQTtFQW9FUTtFQUNBO0FBS1I7QUFIUTtFQUNJO0FBS1o7QUE3RUE7RUE0RVk7QUFJWjtBQUNRO0VBQ0k7QUFDWjtBQU1JO0VBR1k7QUFOaEI7QUFHSTtFQVFRO0FBUlo7QUFBSTtFQVlRO0FBVFo7QUFISTtFQWtCWTtBQVpoQjtBQWNnQjtFQUNJO0FBWnBCO0FBVEk7O0VBNEJRO0FBZlo7QUFvQmdCOzs7O0VBQ0k7RUFNQTtBQXBCcEI7QUFhZ0I7Ozs7RUFJUTtBQVh4QjtBQWlCZ0I7Ozs7Ozs7O0VBRUk7QUFUcEI7QUFwQ0k7Ozs7RUFxRGdCO0VBQ0E7QUFYcEI7QUEzQ0k7RUE2RFE7QUFmWjtBQTlDSTtFQWlFUTtBQWhCWjtBQW9CSTtFQUdZO0FBcEJoQjtBQWlCSTtFQVFRO0FBdEJaO0FBY0k7RUFjWTtBQXpCaEI7QUEyQmdCO0VBQ0k7QUF6QnBCO0FBUUk7O0VBd0JRO0FBNUJaO0FBSUk7Ozs7RUEwQ1k7QUF4Q2hCO0FBMkJnQjs7OztFQUtJO0FBMUJwQjtBQXFCZ0I7Ozs7RUFFUTtBQWpCeEI7QUF1QmdCOzs7Ozs7OztFQUVJO0FBZnBCO0FBeEJJOzs7O0VBa0RnQjtFQUNBO0FBcEJwQjtBQS9CSTtFQTJEUTtBQXpCWjtBQWhNQTtFQStOWTtFQUNBO0FBNUJaO0FBZ0NJO0VBQ0k7OztJQWlCQTtJQUNBO0VBNUNOO0VBMEJNO0lBc0JBO0lBQ0E7SUFDQTtJQUNBO0VBN0NOO0VBb0JNO0lBNkJBO0lBQ0E7SUFDQTtJQUNBO0VBOUNOO0VBY007SUFvQ0E7SUFDQTtJQUNBO0lBQ0E7RUEvQ047RUF5RGM7OztJQUdRO0lBQ0E7SUFDQTtFQXZEdEI7QUFDRjtBQUtJO0VBQ0k7OztJQVdBO0lBQ0E7RUFYTjtFQURNO0lBZ0JBO0lBQ0E7SUFDQTtJQUNBO0VBWk47RUFQTTtJQXVCQTtJQUNBO0lBQ0E7SUFDQTtFQWJOO0VBYk07SUE4QkE7SUFDQTtJQUNBO0lBQ0E7RUFkTjtFQXdCYzs7O0lBR1E7SUFDQTtJQUNBO0VBdEJ0QjtBQUNGO0FBZ0NBO0VBQ0k7RUFDQTtBQTlCSjtBQW1DQTtFQUNJO0FBakNKO0FBb0NJO0VBQ0k7RUFDQTtFQUNBO0FBbENSO0FBc0NBO0VBQ0k7RUFDQTtBQXBDSjtBQXVDQTtFQUNJO0FBckNKO0FBd0NBO0VBQ0k7QUF0Q0o7QUF5Q0E7RUFDSTtFQUFBO0VBQ0E7QUF2Q0o7QUEwQ0E7RUFDSTtFQUFBO0VBQ0E7QUF4Q0o7QUEyQ0E7RUFDSTtFQUFBO0VBQ0E7QUF6Q0o7QUE0Q0E7RUFFSTtFQUNBO0FBM0NKO0FBdURBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFyREo7QUF5REE7RUFDSTtFQUNBO0VBQ0E7QUF2REo7QUEwREE7RUFDSTtBQXhESjtBQTJEQTtFQUNJO0VBQ0E7RUFBQTtBQXpESjtBQTREQTtFQUNJO0VBQ0E7QUExREo7QUE2REE7RUFDSTtFQUNBO0FBM0RKO0FBOERBO0VBQ0k7RUFBQTtFQUFBO0VBQ0E7RUFBQTtFQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7QUE1REo7QUF1REE7RUFRUTtBQTVEUjtBQWlFQTtFQUNJO0FBL0RKO0FBa0VBOztFQUVJO0FBaEVKO0FBbUVBO0VBRVE7QUFsRVI7O0FDNVZBLHlDQUF5QztBQUN6Qzs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQiw0QkFBNEI7QUFDNUIsbUJBQW1CO0FBQ25CLHlCQUF5QjtBQUN6QixzQkFBc0I7QUFDdEIsOEJBQThCO0FBQzlCLDBCQUEwQjtBQUMxQix1QkFBdUI7QUFDdkIseUJBQXlCO0FBaEN6QjtFQUNJO0VBQ0E7QUFrQ0o7QUFwQ0E7RUFLUTtFQUNBO0VBQ0E7RUFBQTtFQUFBO0FBa0NSO0FBekNBO0VBV1E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQWlDUjtBQWhEQTtFQWtCWTtFQUNBO0VBQ0E7RUFDQTtBQWlDWjtBQXREQTtFQXlCWTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFnQ1o7QUE3QmdCO0VBQ0k7QUErQnBCOztBQ3BFQSx5Q0FBeUM7QUFDekM7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckIsNEJBQTRCO0FBQzVCLG1CQUFtQjtBQUNuQix5QkFBeUI7QUFDekIsc0JBQXNCO0FBQ3RCLDhCQUE4QjtBQUM5QiwwQkFBMEI7QUFDMUIsdUJBQXVCO0FBQ3ZCLHlCQUF5QjtBQWxDekI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBb0NKO0FBekNBO0VBUVE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQW9DUjtBQWhEQTtFQWVZO0FBb0NaO0FBbkRBO0VBbUJZO0FBbUNaO0FBdERBO0VBc0JnQjtBQW1DaEI7QUF6REE7RUEyQlk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQUE7QUFpQ1o7QUFuRUE7RUF3Q1E7QUE4QlI7QUF0RUE7RUE0Q1E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUE2QlI7QUFwRkE7RUEyRFE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBNEJSO0FBbEdBO0VBeUVZO0FBNEJaO0FBckdBO0VBNkVZO0VBQ0E7QUEyQlo7O0FDMUdBO0VBQ0UscUJBQXFCO0VBQ3JCLG9CQUFvQjtFQUNwQix5QkFBeUI7RUFDekIsd0JBQXdCO0VBQ3hCLHdCQUF3QjtFQUN4QixxQkFBcUI7RUFDckIsb0NBQTRCO0VBQTVCLGlDQUE0QjtFQUE1Qiw0QkFBNEI7QUFDOUI7O0FBRUE7RUFDRSxvQkFBb0I7QUFDdEI7O0FBRUE7RUFDRSxzQkFBc0I7RUFDdEIsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0Usb0JBQW9CO0VBQ3BCLHVCQUF1QjtFQUN2QixpQkFBaUI7RUFDakIsaUJBQWlCO0VBQ2pCLG9CQUFvQjtFQUNwQixpQkFBaUI7RUFDakIseUJBQWlCO1VBQWpCLGlCQUFpQjtFQUNqQixhQUFhO0FBQ2YsQztBQzVCQTtFQUNFLGFBQWE7RUFDYixrQ0FBa0M7RUFDbEMsY0FBYztFQUNkLGdCQUFnQjtFQUNoQiwyQkFBMkI7RUFDM0IsNEJBQTRCO0FBQzlCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLFNBQU87RUFDUCxxQkFBcUI7RUFDckIsdUJBQXVCO0VBQ3ZCLDhDQUE4QztBQUNoRDs7QUFFQTtFQUNFLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLDhDQUE4QztFQUM5QywwQkFBMEI7QUFDNUI7O0FBRUE7RUFDRSxhQUFhO0FBQ2Y7O0FBRUE7RUFDRSx3Q0FBd0M7QUFDMUM7O0FBRUE7RUFDRSwrQ0FBK0M7RUFDL0MsNEJBQTRCO0FBQzlCOztBQUVBO0VBQ0U7c0NBQ29DO0FBQ3RDOztBQzlDQSx5Q0FBeUM7QUFDekM7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckIsNEJBQTRCO0FBQzVCLG1CQUFtQjtBQUNuQix5QkFBeUI7QUFDekIsc0JBQXNCO0FBQ3RCLDhCQUE4QjtBQUM5QiwwQkFBMEI7QUFDMUIsdUJBQXVCO0FBQ3ZCLHlCQUF5QjtBQWxDekI7RUFFUTtFQUNBO0FBbUNSO0FBdENBO0VBT1E7QUFrQ1I7QUF6Q0E7OztFQVdRO0VBQ0E7QUFtQ1I7QUEvQ0E7RUFnQlE7QUFrQ1I7QUFsREE7RUFvQlE7QUFpQ1I7QUFyREE7RUF3QlE7QUFnQ1I7QUF4REE7OztFQThCUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtBQStCUjtBQTdCUTs7O0VBQ0k7QUFpQ1o7QUE5QlE7Ozs7OztFQUVJO0VBQ0E7RUFDQTtBQW9DWjtBQWpGQTtFQWtEUTtBQWtDUjtBQXBGQTtFQXNEUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFpQ1I7QUE1RkE7RUErRFE7QUFnQ1I7QUEvRkE7RUFtRVE7QUErQlI7QUFsR0E7RUF1RVE7RUFBQTtFQUFBO0FBOEJSO0FBckdBOztFQTJFUTtFQUFBO0VBQUE7QUE4QlI7QUF6R0E7RUErRVE7RUFDQTtFQUNBO0FBNkJSO0FBOUdBO0VBcUZRO0FBNEJSO0FBakhBO0VBeUZRO0FBMkJSO0FBcEhBO0VBNkZRO0FBMEJSO0FBdkhBO0VBaUdRO0FBeUJSO0FBMUhBOztFQW9HWTtBQTBCWjs7QUMvSEEseUNBQXlDO0FBQ3pDOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCLDRCQUE0QjtBQUM1QixtQkFBbUI7QUFDbkIseUJBQXlCO0FBQ3pCLHNCQUFzQjtBQUN0Qiw4QkFBOEI7QUFDOUIsMEJBQTBCO0FBQzFCLHVCQUF1QjtBQUN2Qix5QkFBeUI7QUFqQ3pCO0VBQ0k7RUFDQTtBQW1DSjtBQWhDQTtFQUNJO0FBa0NKO0FBL0JBO0VBQ0k7RUFDQTtFQU1BO0FBNEJKO0FBaENJO0VBQ0k7QUFrQ1I7QUE1QkE7RUFDSTtFQUNBO0FBOEJKO0FBM0JBO0VBQ0k7QUE2Qko7QUF6QkE7RUFDSTtBQTJCSjs7QUM1REE7RUFDSTtFQUNBO0VBQ0E7QUFDSjtBQUpBOztFQU1RO0FBRVI7O0FDUkEseUNBQXlDO0FBQ3pDOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCLDRCQUE0QjtBQUM1QixtQkFBbUI7QUFDbkIseUJBQXlCO0FBQ3pCLHNCQUFzQjtBQUN0Qiw4QkFBOEI7QUFDOUIsMEJBQTBCO0FBQzFCLHVCQUF1QjtBQUN2Qix5QkFBeUI7QUFqQ3pCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQW1DSjtBQWpDSTtFQUVRO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFrQ1o7QUF4Q0k7RUFTWTtBQWtDaEI7QUE3Qkk7RUFFUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBOEJaO0FBcENJO0VBU1k7QUE4QmhCO0FBekJJO0VBRVE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTBCWjs7QUNyRUEseUNBQXlDO0FBQ3pDOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCOztxQkFFcUI7QUFDckI7O3FCQUVxQjtBQUNyQjs7cUJBRXFCO0FBQ3JCLDRCQUE0QjtBQUM1QixtQkFBbUI7QUFDbkIseUJBQXlCO0FBQ3pCLHNCQUFzQjtBQUN0Qiw4QkFBOEI7QUFDOUIsMEJBQTBCO0FBQzFCLHVCQUF1QjtBQUN2Qix5QkFBeUI7O0FDbkN6QjtJQUNJLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLHFCQUFxQjtJQUNyQixrQkFBa0I7SUFDbEIsUUFBUTtJQUNSLFdBQVc7SUFDWCxZQUFZO0lBQ1osWUFBWTtJQUNaO3VDQUNtQztJQUNuQyxXQUFXO0lBQ1gsV0FBVztJQUNYLDJCQUEyQjtBQUMvQjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsT0FBTztJQUNQLE1BQU07SUFDTixZQUFZO0lBQ1osWUFBWTtJQUNaLGlEQUFpRDtJQUNqRCxXQUFXO0lBQ1gscUNBQXFDO0lBQ3JDLFdBQVc7SUFDWCwyQkFBMkI7QUFDL0I7O0FBRUE7O0lBRUksMkJBQTJCO0lBQzNCLGtEQUFrRDtJQUNsRCxRQUFRO0lBQ1IsNEZBQW9GO0lBQXBGLG9GQUFvRjtBQUN4Rjs7QUFFQTs7SUFFSSxrQkFBa0I7SUFDbEIsUUFBUTtJQUNSLFlBQVk7QUFDaEI7O0FBRUE7O0lBRUksWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2Qsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUVBOztJQUVJLGdCQUFnQjtJQUNoQixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsY0FBYztBQUNsQixDIiwiZmlsZSI6InN0YXRpYy9jc3MvbWFpbn5iMTI3MDk3My4xMjY1OGQzMS5jaHVuay5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKi0tLSAgTmFtZWQgY29sb3JzIChkbyBub3QgaW1wb3J0KSAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2l0ZSBDb2xvcnMgVG8gSW1wb3J0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBPdmVyYWxsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTaGFkaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgVHJhbnNwYXJlbnQgYmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRFWFRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgR2xvYmFsIE1vZGlmaWVyIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gRHJhZnQgRmlnbWEgQ29sb3JzIC0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLnVpLnBhZ2UubW9kYWxzLmRpbW1lci52aXNpYmxlIHtcbiAgei1pbmRleDogMTAwMTA7XG59XG4udWkucGFnZS5tb2RhbHMuZGltbWVyLnZpc2libGUgLnVpLmxhcmdlLmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDBweDtcbn1cbiNtb2RhbC1zaWRlYmFyIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyoqXG5cbiAgICBTaXplczpcblxuICAgICovXG4gIC8qKlxuXG4gICAgUmVzaXplclxuICAgIFxuICAgICoqL1xufVxuI21vZGFsLXNpZGViYXIgI21vZGFsLXNpZGViYXJfX2Nsb3NlLWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTVweCkgdHJhbnNsYXRlWSg0N3B4KTtcbn1cbiNtb2RhbC1zaWRlYmFyICNtb2RhbC1zaWRlYmFyX19jbG9zZS1pY29uID4gLmJsdWUuY2lyY2xlLmJpZy5saW5rLmljb24ge1xuICBjb2xvcjogIzBiOWJkYyAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAxO1xufVxuI21vZGFsLXNpZGViYXIgI21vZGFsLXNpZGViYXJfX3NpZGViYXIge1xuICB6LWluZGV4OiAzO1xuICBvdmVyZmxvdy14OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93LXk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAyMXB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgZWFzZS1pbiwgdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW47XG59XG4jbW9kYWwtc2lkZWJhciAjbW9kYWwtc2lkZWJhcl9fc2lkZWJhcjpub3QoLnZpc2libGUpIHtcbiAgb3BhY2l0eTogMC4xO1xufVxuI21vZGFsLXNpZGViYXIgI21vZGFsLXNpZGViYXJfX3NpZGViYXIudmlzaWJsZSB7XG4gIG9wYWNpdHk6IDE7XG59XG4jbW9kYWwtc2lkZWJhciAjbW9kYWwtc2lkZWJhcl9fY29udGVudCB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMHB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMHB4O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgbWFyZ2luOiAwcHggIWltcG9ydGFudDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24tY29udGVudDogc3RyZXRjaDtcbiAgei1pbmRleDogMztcbn1cbiNtb2RhbC1zaWRlYmFyICNtb2RhbC1zaWRlYmFyX19jb250ZW50IC5jb250ZW50LnNjcm9sbGluZyB7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG59XG4jbW9kYWwtc2lkZWJhciAjbW9kYWwtc2lkZWJhcl9fY29udGVudCA+IC5jb250ZW50IHtcbiAgZmxleDogMTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG4jbW9kYWwtc2lkZWJhciAjbW9kYWwtc2lkZWJhcl9fY29udGVudCA+IC5oZWFkZXIge1xuICBmbGV4OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkU1Mjc1O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1zaXplOiAyMXB4O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4jbW9kYWwtc2lkZWJhciAjbW9kYWwtc2lkZWJhcl9fY29udGVudCAuYWN0aW9ucyB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZsZXg6IDA7XG59XG4jbW9kYWwtc2lkZWJhciAjbW9kYWwtc2lkZWJhcl9fY29udGVudCAjd3JpdGUtc2NoZW1hLWVkaXRvcl9fY29uZmlndXJhdGlvbi1waWNrZXIgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICMwRjlCREM7XG59XG4jbW9kYWwtc2lkZWJhciAjbW9kYWwtc2lkZWJhcl9fc2lkZWJhci5yZXNpemluZyB7XG4gIC8qIERpc2FibGVzIHVzZXIgc2VsZWN0aW9uXG4gICAgICAgICAgICB3aGlsZSByZXNpemluZyBtb2RhbCAqL1xufVxuI21vZGFsLXNpZGViYXIgI21vZGFsLXNpZGViYXJfX3NpZGViYXIucmVzaXppbmcgI21vZGFsLXNpZGViYXJfX2NvbnRlbnQge1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4jbW9kYWwtc2lkZWJhci5kZXB0aC0wIHtcbiAgei1pbmRleDogMzA7XG59XG4jbW9kYWwtc2lkZWJhci5kZXB0aC0wID4gI21vZGFsLXNpZGViYXJfX3NpZGViYXIge1xuICBtaW4td2lkdGg6IDYwMHB4O1xuICBtYXgtd2lkdGg6IDk4JTtcbn1cbiNtb2RhbC1zaWRlYmFyLmRlcHRoLTAgPiAjbW9kYWwtc2lkZWJhcl9fc2lkZWJhcjpub3QoLmN1c3RvbS13aWR0aCkge1xuICB3aWR0aDogNDB2dyAhaW1wb3J0YW50O1xufVxuI21vZGFsLXNpZGViYXIuZGVwdGgtMCA+ICNtb2RhbC1zaWRlYmFyX19zaWRlYmFyOm5vdCguY3VzdG9tLXdpZHRoKTpub3QoLm1heGltaXplZCkudmVyeS53aWRlLFxuI21vZGFsLXNpZGViYXIuZGVwdGgtMCA+ICNtb2RhbC1zaWRlYmFyX19zaWRlYmFyOm5vdCguY3VzdG9tLXdpZHRoKTpub3QoLm1heGltaXplZCkudmVyeS13aWRlIHtcbiAgd2lkdGg6IDUwdncgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiA4MDBweDtcbn1cbiNtb2RhbC1zaWRlYmFyLmRlcHRoLTAgPiAjbW9kYWwtc2lkZWJhcl9fc2lkZWJhcjpub3QoLmN1c3RvbS13aWR0aCk6bm90KC5tYXhpbWl6ZWQpLnRoaW4ge1xuICB3aWR0aDogMzB2dyAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6IDQwMHB4O1xufVxuI21vZGFsLXNpZGViYXIuZGVwdGgtMCA+ICNtb2RhbC1zaWRlYmFyX19zaWRlYmFyOm5vdCguY3VzdG9tLXdpZHRoKTpub3QoLm1heGltaXplZCkudmVyeS50aGluLFxuI21vZGFsLXNpZGViYXIuZGVwdGgtMCA+ICNtb2RhbC1zaWRlYmFyX19zaWRlYmFyOm5vdCguY3VzdG9tLXdpZHRoKTpub3QoLm1heGltaXplZCkudmVyeS10aGluIHtcbiAgd2lkdGg6IDIwdncgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAzMDBweDtcbn1cbiNtb2RhbC1zaWRlYmFyLmRlcHRoLTAgPiAjbW9kYWwtc2lkZWJhcl9fc2lkZWJhci5tYXhpbWl6ZWQge1xuICB3aWR0aDogOTglICFpbXBvcnRhbnQ7XG59XG4jbW9kYWwtc2lkZWJhci5kZXB0aC0xIHtcbiAgei1pbmRleDogNDA7XG59XG4jbW9kYWwtc2lkZWJhci5kZXB0aC0xID4gI21vZGFsLXNpZGViYXJfX3NpZGViYXIge1xuICB3aWR0aDogNDB2dyAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6IDU1MHB4O1xufVxuI21vZGFsLXNpZGViYXIuZGVwdGgtMSA+ICNtb2RhbC1zaWRlYmFyX19zaWRlYmFyLnZlcnkud2lkZSxcbiNtb2RhbC1zaWRlYmFyLmRlcHRoLTEgPiAjbW9kYWwtc2lkZWJhcl9fc2lkZWJhci52ZXJ5LXdpZGUge1xuICB3aWR0aDogNDV2dyAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6IDc1MHB4O1xufVxuI21vZGFsLXNpZGViYXIuZGVwdGgtMSA+ICNtb2RhbC1zaWRlYmFyX19zaWRlYmFyLnRoaW4ge1xuICB3aWR0aDogMjV2dyAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6IDM1MHB4O1xufVxuI21vZGFsLXNpZGViYXIuZGVwdGgtMSA+ICNtb2RhbC1zaWRlYmFyX19zaWRlYmFyLnZlcnktdGhpbiB7XG4gIHdpZHRoOiAxNXZ3ICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogMjUwMHB4O1xufVxuI21vZGFsLXNpZGViYXIuZGVwdGgtMiB7XG4gIHotaW5kZXg6IDUwO1xufVxuI21vZGFsLXNpZGViYXIuZGVwdGgtMiA+ICNtb2RhbC1zaWRlYmFyX19zaWRlYmFyIHtcbiAgcGFkZGluZy10b3A6IDBweDtcbiAgd2lkdGg6IDMwdncgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiA1MDBweDtcbn1cbiNtb2RhbC1zaWRlYmFyIC5hY3Rpb25zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDEzcHggcmdiYSgxNSwgNDUsIDc2LCAwLjM0KTtcbn1cbiNtb2RhbC1zaWRlYmFyICNtb2RhbC1zaWRlYmFyX19kaW1tZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkU1Mjc1O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDBweDtcbiAgcmlnaHQ6IDBweDtcbiAgdG9wOiAwcHg7XG4gIGJvdHRvbTogMHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMgbGluZWFyO1xufVxuI21vZGFsLXNpZGViYXIgI21vZGFsLXNpZGViYXJfX2RpbW1lci5pbmFjdGl2ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4jbW9kYWwtc2lkZWJhciAjbW9kYWwtc2lkZWJhcl9fZGltbWVyLmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMHB4O1xuICByaWdodDogMHB4O1xuICB0b3A6IDBweDtcbiAgYm90dG9tOiAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwRjJENEM7XG4gIG9wYWNpdHk6IDAuNTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcyBsaW5lYXI7XG59XG4jbW9kYWwtc2lkZWJhciAjbW9kYWwtc2lkZWJhcl9fcmVzaXplciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxMDAsIDEwMCwgMC43KTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xcztcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzO1xuICB3aWR0aDogNHB4O1xuICB6LWluZGV4OiA0O1xufVxuI21vZGFsLXNpZGViYXIgI21vZGFsLXNpZGViYXJfX3NpZGViYXIgI21vZGFsLXNpZGViYXJfX3Jlc2l6ZXIge1xuICBjdXJzb3I6IGV3LXJlc2l6ZTtcbn1cbiNtb2RhbC1zaWRlYmFyICNtb2RhbC1zaWRlYmFyX19zaWRlYmFyICNtb2RhbC1zaWRlYmFyX19yZXNpemVyOmhvdmVyLFxuI21vZGFsLXNpZGViYXIgI21vZGFsLXNpZGViYXJfX3NpZGViYXIgI21vZGFsLXNpZGViYXJfX3Jlc2l6ZXIucmVzaXppbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGI5YmRjO1xuICB0cmFuc2Zvcm06IHNjYWxlWCgyKSB0cmFuc2xhdGVYKC0xLjVweCk7XG59XG4jbW9kYWwtc2lkZWJhciAjbW9kYWwtc2lkZWJhcl9fc2lkZWJhciAjbW9kYWwtc2lkZWJhcl9fcmVzaXplci5leHBhbmQge1xuICBvcGFjaXR5OiAwLjg7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDIwKSB0cmFuc2xhdGVYKC0yLjFweCk7XG59XG4jbW9kYWwtc2lkZWJhciAjbW9kYWwtc2lkZWJhcl9fc2lkZWJhciAjbW9kYWwtc2lkZWJhcl9fcmVzaXplci5yZXNpemluZzpyb290IHtcbiAgY3Vyc29yOiBldy1yZXNpemU7XG59XG4iLCIvKi0tLSAgTmFtZWQgY29sb3JzIChkbyBub3QgaW1wb3J0KSAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2l0ZSBDb2xvcnMgVG8gSW1wb3J0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBPdmVyYWxsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTaGFkaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgVHJhbnNwYXJlbnQgYmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRFWFRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgR2xvYmFsIE1vZGlmaWVyIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gRHJhZnQgRmlnbWEgQ29sb3JzIC0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLmNhcmV0LnNpZ2lsIHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwcHggIWltcG9ydGFudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIG9wYWNpdHk6IDAuNDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcywgdHJhbnNmb3JtIDMwMG1zO1xufVxuLmNhcmV0LnNpZ2lsLnNtYWxsIHtcbiAgYm9yZGVyLXdpZHRoOiA0cHg7XG59XG4uY2FyZXQuc2lnaWwudGlueSB7XG4gIGJvcmRlci13aWR0aDogM3B4O1xufVxuLmNhcmV0LnNpZ2lsLmxhcmdlIHtcbiAgYm9yZGVyLXdpZHRoOiAxMHB4O1xufVxuLmNhcmV0LnNpZ2lsLmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cbi5jbGlja2FibGU6aG92ZXIgLmNhcmV0LnNpZ2lsLmFjdGl2ZTpub3QoLmRpc2FibGVkKSxcbi5jYXJldC5zaWdpbC5hY3RpdmU6aG92ZXI6bm90KC5kaXNhYmxlZCkge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xufVxuLmNsaWNrYWJsZTpob3ZlciAuY2FyZXQuc2lnaWw6bm90KC5hY3RpdmUpOm5vdCguZGlzYWJsZWQpLFxuLmNhcmV0LnNpZ2lsOmhvdmVyOm5vdCguYWN0aXZlKTpub3QoLmRpc2FibGVkKSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cbiIsIi8qLS0tICBOYW1lZCBjb2xvcnMgKGRvIG5vdCBpbXBvcnQpICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG5TaXRlIENvbG9ycyBUbyBJbXBvcnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIE92ZXJhbGxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNoYWRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVEVYVFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBHbG9iYWwgTW9kaWZpZXIgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSBEcmFmdCBGaWdtYSBDb2xvcnMgLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4jaW5saW5lLWhlYWRlciB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMTJwdDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG9wYWNpdHk6IDAuNDtcbn1cbiNpbmxpbmUtaGVhZGVyLm9uLWRhcmsge1xuICBjb2xvcjogd2hpdGU7XG59XG4jaW5saW5lLWhlYWRlci5vbi1saWdodCB7XG4gIGNvbG9yOiBibGFjaztcbn1cbiIsIi8qLS0tICBOYW1lZCBjb2xvcnMgKGRvIG5vdCBpbXBvcnQpICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG5TaXRlIENvbG9ycyBUbyBJbXBvcnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIE92ZXJhbGxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNoYWRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVEVYVFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBHbG9iYWwgTW9kaWZpZXIgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSBEcmFmdCBGaWdtYSBDb2xvcnMgLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4jZGV0YWlsZWQtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBoZWlnaHQ6IGZpdC1jb250ZW50O1xufVxuI2RldGFpbGVkLWhlYWRlciAjZGV0YWlsZWQtaGVhZGVyX19sZWZ0LWltYWdlIHtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbiNkZXRhaWxlZC1oZWFkZXIgI2RldGFpbGVkLWhlYWRlcl9fdG9wLWRldGFpbCxcbiNkZXRhaWxlZC1oZWFkZXIgI2RldGFpbGVkLWhlYWRlcl9fdmFsdWUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cbiNkZXRhaWxlZC1oZWFkZXIgI2RldGFpbGVkLWhlYWRlcl9fdG9wLWRldGFpbCxcbiNkZXRhaWxlZC1oZWFkZXIgI2RldGFpbGVkLWhlYWRlcl9fYm90dG9tLWRldGFpbCxcbiNkZXRhaWxlZC1oZWFkZXIgI2RldGFpbGVkLWhlYWRlcl9fdmFsdWUge1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXgtd2lkdGg6IDI1cmVtO1xuICB0ZXh0LWFsaWduOiBpbml0aWFsO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cbiNkZXRhaWxlZC1oZWFkZXIgI2RldGFpbGVkLWhlYWRlcl9fcmlnaHQtZGV0YWlsIHtcbiAgcGFkZGluZzogMCAwLjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbiNkZXRhaWxlZC1oZWFkZXIub24tbGlnaHQge1xuICBjb2xvcjogIzBmMmU0ZGQ5O1xufVxuI2RldGFpbGVkLWhlYWRlci5vbi1kYXJrIHtcbiAgY29sb3I6IHdoaXRlO1xufVxuI2RldGFpbGVkLWhlYWRlci5jZW50ZXJlZCAjZGV0YWlsZWQtaGVhZGVyX190b3AtZGV0YWlsLFxuI2RldGFpbGVkLWhlYWRlci5jZW50ZXJlZCAjZGV0YWlsZWQtaGVhZGVyX19ib3R0b20tZGV0YWlsLFxuI2RldGFpbGVkLWhlYWRlci5jZW50ZXJlZCAjZGV0YWlsZWQtaGVhZGVyX192YWx1ZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNkZXRhaWxlZC1oZWFkZXIuZml0LXBhcmVudCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuI2RldGFpbGVkLWhlYWRlci5maXQtcGFyZW50ICNkZXRhaWxlZC1oZWFkZXJfX3JpZ2h0LXRleHQge1xuICB3aWR0aDogMTAwJTtcbn1cbiNkZXRhaWxlZC1oZWFkZXIudGlueSxcbiNkZXRhaWxlZC1oZWFkZXIuc21hbGwge1xuICBtYXJnaW46IDAuMXJlbTtcbn1cbiNkZXRhaWxlZC1oZWFkZXIudGlueSAjZGV0YWlsZWQtaGVhZGVyX192YWx1ZSxcbiNkZXRhaWxlZC1oZWFkZXIuc21hbGwgI2RldGFpbGVkLWhlYWRlcl9fdmFsdWUge1xuICBmb250LXNpemU6IDEwcHQ7XG4gIHBhZGRpbmctdG9wOiAwcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgbGluZS1oZWlnaHQ6IDlwdDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4jZGV0YWlsZWQtaGVhZGVyLnRpbnkgI2RldGFpbGVkLWhlYWRlcl9fdG9wLWRldGFpbCxcbiNkZXRhaWxlZC1oZWFkZXIuc21hbGwgI2RldGFpbGVkLWhlYWRlcl9fdG9wLWRldGFpbCB7XG4gIGZvbnQtc2l6ZTogOHB0O1xuICBvcGFjaXR5OiAwLjU7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4jZGV0YWlsZWQtaGVhZGVyLnRpbnkgI2RldGFpbGVkLWhlYWRlcl9fYm90dG9tLWRldGFpbCxcbiNkZXRhaWxlZC1oZWFkZXIuc21hbGwgI2RldGFpbGVkLWhlYWRlcl9fYm90dG9tLWRldGFpbCB7XG4gIGZvbnQtc2l6ZTogc21hbGw7XG4gIG9wYWNpdHk6IDAuODtcbn1cbiNkZXRhaWxlZC1oZWFkZXIubWVkaXVtIHtcbiAgbWFyZ2luOiAwLjI1cmVtO1xufVxuI2RldGFpbGVkLWhlYWRlci5tZWRpdW0gI2RldGFpbGVkLWhlYWRlcl9fdmFsdWUge1xuICBmb250LXNpemU6IGxhcmdlO1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4uc21hbGwtdmFsdWUjZGV0YWlsZWQtaGVhZGVyLm1lZGl1bSAjZGV0YWlsZWQtaGVhZGVyX192YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbiNkZXRhaWxlZC1oZWFkZXIubWVkaXVtICNkZXRhaWxlZC1oZWFkZXJfX3RvcC1kZXRhaWwge1xuICBmb250LXNpemU6IDExcHQ7XG4gIG9wYWNpdHk6IDAuNTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbiNkZXRhaWxlZC1oZWFkZXIubWVkaXVtICNkZXRhaWxlZC1oZWFkZXJfX2JvdHRvbS1kZXRhaWwge1xuICBmb250LXNpemU6IDExcHQ7XG4gIG9wYWNpdHk6IDAuODtcbn1cbiNkZXRhaWxlZC1oZWFkZXIubGFyZ2Uge1xuICBtYXJnaW46IDAuMjVyZW07XG59XG4jZGV0YWlsZWQtaGVhZGVyLmxhcmdlICNkZXRhaWxlZC1oZWFkZXJfX3ZhbHVlIHtcbiAgZm9udC1zaXplOiAyMHB0O1xuICBwYWRkaW5nLXRvcDogMC4zcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4zcmVtO1xuICBsaW5lLWhlaWdodDogMjBwdDtcbn1cbi5zbWFsbC12YWx1ZSNkZXRhaWxlZC1oZWFkZXIubGFyZ2UgI2RldGFpbGVkLWhlYWRlcl9fdmFsdWUge1xuICBmb250LXNpemU6IDE2cHg7XG59XG4jZGV0YWlsZWQtaGVhZGVyLmxhcmdlICNkZXRhaWxlZC1oZWFkZXJfX3RvcC1kZXRhaWwge1xuICBmb250LXNpemU6IDE0cHQ7XG4gIG9wYWNpdHk6IDAuNTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbiNkZXRhaWxlZC1oZWFkZXIubGFyZ2UgI2RldGFpbGVkLWhlYWRlcl9fYm90dG9tLWRldGFpbCB7XG4gIGZvbnQtc2l6ZTogc21hbGw7XG4gIG9wYWNpdHk6IDAuODtcbn1cbiNkZXRhaWxlZC1oZWFkZXJfX3JpZ2h0LXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGhlaWdodDogZml0LWNvbnRlbnQ7XG59XG4iLCIvKi0tLSAgTmFtZWQgY29sb3JzIChkbyBub3QgaW1wb3J0KSAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2l0ZSBDb2xvcnMgVG8gSW1wb3J0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBPdmVyYWxsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTaGFkaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgVHJhbnNwYXJlbnQgYmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRFWFRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgR2xvYmFsIE1vZGlmaWVyIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gRHJhZnQgRmlnbWEgQ29sb3JzIC0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuI25vdGlmaWNhdGlvbi1iYXIge1xuICB6LWluZGV4OiAxMDAwMCAhaW1wb3J0YW50O1xuICByaWdodDogMTAwcHg7XG4gIGxlZnQ6IDEwMHB4O1xuICBib3R0b206IDQwcHg7XG4gIG1pbi1oZWlnaHQ6IDYwcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBGOUJEQztcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgYm94LXNoYWRvdzogMHB4IDVweCAxM3B4IHJnYmEoMTUsIDQ1LCA3NiwgMC41NSk7XG4gIHBhZGRpbmc6IDEwcHg7XG59XG4jbm90aWZpY2F0aW9uLWJhciAjbm90aWZpY2F0aW9uLWJhcl9faW5uZXIge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgbWluLWhlaWdodDogNDBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4jbm90aWZpY2F0aW9uLWJhciAjbm90aWZpY2F0aW9uLWJhcl9faW5uZXIgI25vdGlmaWNhdGlvbi1iYXJfX2NvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG4jbm90aWZpY2F0aW9uLWJhciAjbm90aWZpY2F0aW9uLWJhcl9faW5uZXIgPiBkaXYge1xuICBtYXJnaW4tbGVmdDogMjBweDtcbn1cbiNub3RpZmljYXRpb24tYmFyICNub3RpZmljYXRpb24tYmFyX19pbm5lciAjY2xvc2Utc2lnaWwge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI25vdGlmaWNhdGlvbi1iYXIgI25vdGlmaWNhdGlvbi1iYXJfX2lubmVyICNjbG9zZS1zaWdpbC5iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4jbm90aWZpY2F0aW9uLWJhciAjbm90aWZpY2F0aW9uLWJhcl9faW5uZXIgYSB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbiIsIi8qLS0tICBOYW1lZCBjb2xvcnMgKGRvIG5vdCBpbXBvcnQpICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG5TaXRlIENvbG9ycyBUbyBJbXBvcnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIE92ZXJhbGxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNoYWRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVEVYVFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBHbG9iYWwgTW9kaWZpZXIgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSBEcmFmdCBGaWdtYSBDb2xvcnMgLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4jY2xvc2Utc2lnaWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTUwcHg7XG4gIC8qIHRoaXMgY2FuIGJlIGFueXRoaW5nICovXG4gIHdpZHRoOiAxNTBweDtcbiAgLyogLi4uYnV0IG1haW50YWluIDE6MSBhc3BlY3QgcmF0aW8gKi9cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4jY2xvc2Utc2lnaWwgLmZvcmVncm91bmQge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGxpbmVhcjtcbiAgb3BhY2l0eTogMC41O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAycHg7XG59XG4jY2xvc2Utc2lnaWwgI2Nsb3NlLXNpZ2lsX19ud3NlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuI2Nsb3NlLXNpZ2lsICNjbG9zZS1zaWdpbF9fbmVzdyB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG4jY2xvc2Utc2lnaWwubWVkaXVtIHtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogMzBweDtcbn1cbiNjbG9zZS1zaWdpbC5zbWFsbCB7XG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDIwcHg7XG59XG4jY2xvc2Utc2lnaWwudGlueSB7XG4gIGhlaWdodDogMTVweDtcbiAgd2lkdGg6IDE1cHg7XG59XG4uY2xpY2thYmxlOmhvdmVyICNjbG9zZS1zaWdpbCAuZm9yZWdyb3VuZCB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgbGluZWFyO1xufVxuIiwiI2hlYWRlci1jb250ZW50X19oaW50IHtcbiAgICBvcGFjaXR5OiAuODtcbiAgICBmb250LXNpemU6IGxhcmdlO1xuICAgIHBhZGRpbmctbGVmdDogMC4xNXJlbTtcbn1cblxuI2ZpbHRlci1jb250cm9sIHtcblxuICAgIGlucHV0IHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBwYWRkaW5nOiAycHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICB9XG5cbiAgICAudWkuZHJvcGRvd24ge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgbWluLWhlaWdodDogMjBweDtcblxuICAgICAgICBwYWRkaW5nOiAycHggIWltcG9ydGFudDtcblxuICAgICAgICA+LnRleHQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNC41cHg7XG4gICAgICAgIH1cblxuICAgICAgICA+aSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICA+aW5wdXQge31cbiAgICB9XG5cbn0iLCIvKi0tLSAgTmFtZWQgY29sb3JzIChkbyBub3QgaW1wb3J0KSAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2l0ZSBDb2xvcnMgVG8gSW1wb3J0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBPdmVyYWxsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTaGFkaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgVHJhbnNwYXJlbnQgYmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRFWFRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgR2xvYmFsIE1vZGlmaWVyIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gRHJhZnQgRmlnbWEgQ29sb3JzIC0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuI2NvbGxlY3Rpb24tZGlzcGxheWVkLXByb3BlcnRpZXMtZWRpdG9yIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogZml0LWNvbnRlbnQ7XG4gIG1hcmdpbjogMHB4O1xuICB6LWluZGV4OiAxMDAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAwcHg7XG59XG4jY29sbGVjdGlvbi1kaXNwbGF5ZWQtcHJvcGVydGllcy1lZGl0b3IuZHJvcGRvd24gI3NvcnRhYmxlLWNvbnRhaW5lciBpLmFycm93cyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4jY29sbGVjdGlvbi1kaXNwbGF5ZWQtcHJvcGVydGllcy1lZGl0b3IgI2NvbGxlY3Rpb24tZGlzcGxheWVkLXByb3BlcnRpZXMtZWRpdG9yX190b3Age1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4jY29sbGVjdGlvbi1kaXNwbGF5ZWQtcHJvcGVydGllcy1lZGl0b3IgI2NvbGxlY3Rpb24tZGlzcGxheWVkLXByb3BlcnRpZXMtZWRpdG9yX19jb250ZW50IHtcbiAgbWluLXdpZHRoOiBmaXQtY29udGVudDtcbiAgd2lkdGg6IDEwMCU7XG59XG4jY29sbGVjdGlvbi1kaXNwbGF5ZWQtcHJvcGVydGllcy1lZGl0b3IgI2NvbGxlY3Rpb24tZGlzcGxheWVkLXByb3BlcnRpZXMtZWRpdG9yX19jb250ZW50ID4gZGl2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogNTB2aDtcbiAgbWluLXdpZHRoOiBmaXQtY29udGVudDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG4uY29sbGVjdGlvbi1kaXNwbGF5ZWQtcHJvcGVydGllcy1lZGl0b3JfX2RyYWctaGVscGVyIHtcbiAgei1pbmRleDogMTAwMDAwO1xufVxuLmNvbGxlY3Rpb24tZGlzcGxheWVkLXByb3BlcnRpZXMtZWRpdG9yX19wcm9wZXJ0eSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgY29sb3I6ICMxQjFDMUQ7XG59XG4uY29sbGVjdGlvbi1kaXNwbGF5ZWQtcHJvcGVydGllcy1lZGl0b3JfX3Byb3BlcnR5LmRyYWcgI2NvbGxlY3Rpb24tZGlzcGxheWVkLXByb3BlcnRpZXMtZWRpdG9yX19zb3J0LWRyb3Bkb3duIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5jb2xsZWN0aW9uLWRpc3BsYXllZC1wcm9wZXJ0aWVzLWVkaXRvcl9fcHJvcGVydHkgI2NvbGxlY3Rpb24tZGlzcGxheWVkLXByb3BlcnRpZXMtZWRpdG9yX19pcy1kaXNwbGF5ZWQtdG9nZ2xlIHtcbiAgY29sb3I6ICMwZjJkNGM7XG59XG4uY29sbGVjdGlvbi1kaXNwbGF5ZWQtcHJvcGVydGllcy1lZGl0b3JfX3Byb3BlcnR5IC5jb250ZW50IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuIiwiI2NvbGxlY3Rpb24tcHJvcGVydHktcm93LXNvcnRlciB7XG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICBtaW4td2lkdGg6IGZpdC1jb250ZW50O1xuXG4gICAgI2NvbGxlY3Rpb24tcHJvcGVydHktcm93LXNvcnRlcl9fdG9wIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbn0iLCIvKi0tLSAgTmFtZWQgY29sb3JzIChkbyBub3QgaW1wb3J0KSAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2l0ZSBDb2xvcnMgVG8gSW1wb3J0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBPdmVyYWxsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTaGFkaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgVHJhbnNwYXJlbnQgYmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRFWFRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgR2xvYmFsIE1vZGlmaWVyIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gRHJhZnQgRmlnbWEgQ29sb3JzIC0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuI2NvbGxlY3Rpb24ge1xuICB3aWR0aDogYXV0bztcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG4jY29sbGVjdGlvbi5saXN0LnZhcmlhYmxlLWNvbGxlY3Rpb24taXRlbS1oZWlnaHQge1xuICBib3JkZXItc3BhY2luZzogMHJlbSAxcmVtO1xufVxuI2NvbGxlY3Rpb24ubGlzdC52YXJpYWJsZS1jb2xsZWN0aW9uLWl0ZW0taGVpZ2h0ICNjZWxsLWNvbnRlbnQge1xuICBoZWlnaHQ6IDEwMCU7XG59XG4jY29sbGVjdGlvbi50YWJsZS52YXJpYWJsZS1jb2xsZWN0aW9uLWl0ZW0taGVpZ2h0LFxuI2NvbGxlY3Rpb24udmFyaWFibGUtY29sbGVjdGlvbi1pdGVtLWhlaWdodCB7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gIGJvcmRlci1zcGFjaW5nOiAwcHggMXB4O1xuICBoZWlnaHQ6IDFweDtcbn1cbiNjb2xsZWN0aW9uLnRhYmxlLnZhcmlhYmxlLWNvbGxlY3Rpb24taXRlbS1oZWlnaHQgdGJvZHkgdHIgPiB0ZCAjY2VsbC1jb250ZW50LFxuI2NvbGxlY3Rpb24udmFyaWFibGUtY29sbGVjdGlvbi1pdGVtLWhlaWdodCB0Ym9keSB0ciA+IHRkICNjZWxsLWNvbnRlbnQge1xuICBoZWlnaHQ6IGZpdC1jb250ZW50O1xufVxuI2NvbGxlY3Rpb24gI2NvbGxlY3Rpb25fX3Byb3BlcnR5LWZpbHRlcnMgdGgubXVsdGktc2VsZWN0LWFyZWEge1xuICBwYWRkaW5nLWxlZnQ6IDAuOTVyZW07XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIGxlZnQ6IDByZW07XG4gIHotaW5kZXg6IDE1O1xufVxuI2NvbGxlY3Rpb24gI2NvbGxlY3Rpb25fX3Byb3BlcnR5LWZpbHRlcnMgI211bHRpLXNlbGVjdC1hY3Rpb25zIHtcbiAgcGFkZGluZzogMHB4O1xufVxuI2NvbGxlY3Rpb24gI2NvbGxlY3Rpb25fX3Byb3BlcnR5LWZpbHRlcnMgI211bHRpLXNlbGVjdC1hY3Rpb25zICNlbGxpcHNpcy1tZW51IHtcbiAgbWFyZ2luOiAwcHg7XG4gIHBhZGRpbmc6IDNweDtcbn1cbiNjb2xsZWN0aW9uICNjb2xsZWN0aW9uX19wcm9wZXJ0eS1maWx0ZXJzICNtdWx0aS1zZWxlY3QtYWN0aW9ucyAjZWxsaXBzaXMtbWVudSBpIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuI2NvbGxlY3Rpb24gI2hlYWRlci1jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG59XG4jY29sbGVjdGlvbiAjY29sbGVjdGlvbi1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xufVxuI2NvbGxlY3Rpb24gI2NvbGxlY3Rpb24taXRlbSB0ZC5tdWx0aS1zZWxlY3QtYXJlYSB7XG4gIG1heC13aWR0aDogNjBweDtcbiAgcGFkZGluZy1sZWZ0OiAwcmVtO1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICBsZWZ0OiAxcmVtO1xuICB6LWluZGV4OiAxO1xufVxuI2NvbGxlY3Rpb24gI2NvbGxlY3Rpb24taXRlbSB0ZC5tdWx0aS1zZWxlY3QtYXJlYSAubXVsdGktc2VsZWN0IHtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7XG59XG4jY29sbGVjdGlvbiAjY29sbGVjdGlvbi1pdGVtLmlzSGlkZGVuIHtcbiAgb3BhY2l0eTogMDtcbn1cbiNjb2xsZWN0aW9uICNjb2xsZWN0aW9uLWl0ZW06aG92ZXIge1xuICB6LWluZGV4OiAxO1xufVxuI2NvbGxlY3Rpb24gI2NvbGxlY3Rpb24taXRlbTpmb2N1cy13aXRoaW4ge1xuICB6LWluZGV4OiAyO1xufVxuI2NvbGxlY3Rpb24gI3NvcnRpbmctY29udHJvbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNjb2xsZWN0aW9uLmRhcmsgI2hlYWRlci10aXRsZSB7XG4gIGNvbG9yOiAjZmZmZmZmZDk7XG59XG4jY29sbGVjdGlvbi5kYXJrICNtdWx0aS1zZWxlY3QtYWN0aW9uc19fdHJpZ2dlciB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuI2NvbGxlY3Rpb24uZGFyayAjY29sbGVjdGlvbi1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XG59XG4jY29sbGVjdGlvbi5kYXJrICNhdHRyaWJ1dGUtY29udHJvbCAjc29ydGluZy1jb250cm9sLFxuI2NvbGxlY3Rpb24uZGFyayAjYXR0cmlidXRlLWNvbnRyb2wgI2hlYWRlci10aXRsZSB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbiNjb2xsZWN0aW9uLmRhcmsgI2F0dHJpYnV0ZS1jb250cm9sIC5yb3V0ZWQtaW5wdXQubGlnaHQgKixcbiNjb2xsZWN0aW9uLmRhcmsgI2F0dHJpYnV0ZS1jb250cm9sIC5yb3V0ZWQtaW5wdXQubGlnaHQge1xuICBiYWNrZ3JvdW5kOiAjRjRGOEZDICFpbXBvcnRhbnQ7XG59XG4jY29sbGVjdGlvbi5saWdodCAjbXVsdGktc2VsZWN0LWFjdGlvbnNfX3RyaWdnZXIge1xuICBjb2xvcjogIzBmMmQ0Yztcbn1cbiNjb2xsZWN0aW9uLmxpZ2h0ICNhdHRyaWJ1dGUtY29udHJvbCB0aCB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xufVxuI2NvbGxlY3Rpb24gI2NlbGwtbGFiZWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuI2NvbGxlY3Rpb25fX25vLXJlc3VsdHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogM3JlbTtcbn1cbiNjb2xsZWN0aW9uX19uby1yZXN1bHRzIGkge1xuICBjb2xvcjogIzBiOWJkYztcbiAgZm9udC1zaXplOiAyNXB0O1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xufVxuI2NvbGxlY3Rpb25fX25vLXJlc3VsdHMgI2NvbGxlY3Rpb25fX25vLXJlc3VsdHMtY2xlYXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jY29sbGVjdGlvbl9fbm8tcmVzdWx0cyAjY29sbGVjdGlvbl9fbm8tcmVzdWx0cy1jbGVhcjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuI2NvbGxlY3Rpb24gY2FwdGlvbiB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmc6IDFyZW07XG59XG4jY29sbGVjdGlvbiAjaGVhZGVyLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuI2NvbGxlY3Rpb24gI2hlYWRlci1jb250ZW50LmZpbHRlci1hY3RpdmUsXG4jY29sbGVjdGlvbiAjaGVhZGVyLWNvbnRlbnQuc29ydC1hY3RpdmUsXG4jY29sbGVjdGlvbiAjaGVhZGVyLWNvbnRlbnQ6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuI2NvbGxlY3Rpb24gI2hlYWRlci1jb250ZW50LmZpbHRlci1hY3RpdmUgI2hlYWRlci1jb250ZW50X19oaW50LFxuI2NvbGxlY3Rpb24gI2hlYWRlci1jb250ZW50LnNvcnQtYWN0aXZlICNoZWFkZXItY29udGVudF9faGludCxcbiNjb2xsZWN0aW9uICNoZWFkZXItY29udGVudDpob3ZlciAjaGVhZGVyLWNvbnRlbnRfX2hpbnQge1xuICBvcGFjaXR5OiAwO1xufVxuI2NvbGxlY3Rpb246bm90KC5zdGFja2FibGUpICNoZWFkZXItY29udGVudC5maWx0ZXItYWN0aXZlICNoZWFkZXItdGl0bGUsXG4jY29sbGVjdGlvbjpub3QoLnN0YWNrYWJsZSkgI2hlYWRlci1jb250ZW50Lmhhcy1maWx0ZXI6aG92ZXIgI2hlYWRlci10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cbiNjb2xsZWN0aW9uOm5vdCguc3RhY2thYmxlKSAjaGVhZGVyLWNvbnRlbnQuZmlsdGVyLWFjdGl2ZSAjaGVhZGVyLXRpdGxlICNzb3J0aW5nLWNvbnRyb2wsXG4jY29sbGVjdGlvbjpub3QoLnN0YWNrYWJsZSkgI2hlYWRlci1jb250ZW50Lmhhcy1maWx0ZXI6aG92ZXIgI2hlYWRlci10aXRsZSAjc29ydGluZy1jb250cm9sIHtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuI2NvbGxlY3Rpb24gdGhlYWQgdGgge1xuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgcGFkZGluZzogMC4yNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTA7XG59XG4jY29sbGVjdGlvbiB0Ym9keSB7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG59XG4jY29sbGVjdGlvbiB0Ym9keSB0ciA+IHRkICNjZWxsLWNvbnRlbnQge1xuICBoZWlnaHQ6IDZyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxudHIuY2xpY2thYmxlICoge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jaGVhZGVyLXRpdGxlIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuI2hlYWRlci10aXRsZSAjaGVhZGVyLWNvbnRlbnRfX3Byb3BlcnR5LXRpdGxlIHtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiNoZWFkZXItY29udGVudCA+IC5zb3J0ZWQgPiBpIHtcbiAgb3BhY2l0eTogMTtcbn1cbiNoZWFkZXItY29udGVudDpob3ZlciA+IC5jYW4tZ3JvdXAgPiBpIHtcbiAgb3BhY2l0eTogMC41O1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XG59XG4jaGVhZGVyLWNvbnRlbnQ6aG92ZXIgPiAuZ3JvdXBlZCA+IGkge1xuICBvcGFjaXR5OiAwLjU7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcbn1cbiNoZWFkZXItY29udGVudDpob3ZlciA+IC51bnNvcnRlZCA+IGkge1xuICBvcGFjaXR5OiAwLjU7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcbn1cbiNoZWFkZXItY29udGVudDpob3ZlciA+IC5jYW4tZ3JvdXA6aG92ZXIgPiBpIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xufVxuI2hlYWRlci1jb250ZW50OmhvdmVyID4gLmdyb3VwZWQ6aG92ZXIgPiBpIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xufVxuI2hlYWRlci1jb250ZW50ICNzb3J0aW5nLWNvbnRyb2wsXG4jaGVhZGVyLWNvbnRlbnQgPiAjZ3JvdXBpbmctY29udHJvbCB7XG4gIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC4yNXJlbTtcbn1cbiNoZWFkZXItY29udGVudCA+IC5ncm91cGVkID4gaS5jdXJyZW50LXN0YXRlIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xufVxuI2hlYWRlci1jb250ZW50OmhvdmVyID4gLmdyb3VwZWQgPiBpLmN1cnJlbnQtc3RhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuI2hlYWRlci1jb250ZW50ID4gLmdyb3VwZWQgPiBpLm5leHQtc3RhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuI2hlYWRlci1jb250ZW50OmhvdmVyID4gLmdyb3VwZWQgPiBpLm5leHQtc3RhdGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4jaGVhZGVyLWNvbnRlbnQ6aG92ZXIgPiAudW5zb3J0ZWQ6aG92ZXIgPiBpIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xufVxuI2hlYWRlci1jb250ZW50ID4gI2ZpbHRlci1jb250cm9sIHtcbiAgb3BhY2l0eTogMDtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiNoZWFkZXItY29udGVudCAjc29ydGluZy1jb250cm9sIHtcbiAgb3BhY2l0eTogMDtcbn1cbiNoZWFkZXItY29udGVudCAjc29ydGluZy1jb250cm9sLnNvcnRlZC5hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xufVxuI2hlYWRlci1jb250ZW50LmZpbHRlci1hY3RpdmUgI2ZpbHRlci1jb250cm9sLFxuI2hlYWRlci1jb250ZW50LnNvcnRpbmctYWN0aXZlICNzb3J0aW5nLWNvbnRyb2wsXG4jaGVhZGVyLWNvbnRlbnQ6aG92ZXIgPiAjZmlsdGVyLWNvbnRyb2wsXG4jaGVhZGVyLWNvbnRlbnQ6aG92ZXIgI3NvcnRpbmctY29udHJvbCB7XG4gIG9wYWNpdHk6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbiNoZWFkZXItY29udGVudC5maWx0ZXItYWN0aXZlICNmaWx0ZXItY29udHJvbCAjaGVhZGVyLXRpdGxlLFxuI2hlYWRlci1jb250ZW50LnNvcnRpbmctYWN0aXZlICNzb3J0aW5nLWNvbnRyb2wgI2hlYWRlci10aXRsZSxcbiNoZWFkZXItY29udGVudDpob3ZlciA+ICNmaWx0ZXItY29udHJvbCAjaGVhZGVyLXRpdGxlLFxuI2hlYWRlci1jb250ZW50OmhvdmVyICNzb3J0aW5nLWNvbnRyb2wgI2hlYWRlci10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cbiNoZWFkZXItY29udGVudC5maWx0ZXItYWN0aXZlICNoZWFkZXItY29udGVudF9faGludCxcbiNoZWFkZXItY29udGVudC5zb3J0aW5nLWFjdGl2ZSAjaGVhZGVyLWNvbnRlbnRfX2hpbnQge1xuICBvcGFjaXR5OiAwO1xufVxuI2dyb3VwZWQtYnkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3BhY2l0eTogMTtcbn1cbiNleHBhbmQtY29udHJvbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0zcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmdyb3VwZWQtcm93ID4gdGQgPiAjY2VsbC1jb250ZW50IHtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xufVxuLmdyb3VwZWQtcm93ICNjZWxsLWNvbnRlbnQgI2dyb3VwZWQtYnkge1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG4uc3RpY2t5IHtcbiAgcG9zaXRpb246IHN0aWNreSAhaW1wb3J0YW50O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIG9wYWNpdHk6IDE7XG59XG4iLCIvKi0tLSAgTmFtZWQgY29sb3JzIChkbyBub3QgaW1wb3J0KSAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2l0ZSBDb2xvcnMgVG8gSW1wb3J0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBPdmVyYWxsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTaGFkaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgVHJhbnNwYXJlbnQgYmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRFWFRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgR2xvYmFsIE1vZGlmaWVyIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gRHJhZnQgRmlnbWEgQ29sb3JzIC0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuI2NvbGxlY3Rpb24ubGlzdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cbiNjb2xsZWN0aW9uLmxpc3QgdGJvZHkge1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogNXJlbTtcbn1cbiNjb2xsZWN0aW9uLmxpc3QgdGJvZHkgPiB0ciA+IHRkIHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4jY29sbGVjdGlvbi5saXN0IHRoZWFkID4gdHIgPiB0aCB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbn1cbiNjb2xsZWN0aW9uLmxpc3QgdGJvZHkgdHIgPiB0ZDpmaXJzdC1jaGlsZCA+ICNjZWxsLWNvbnRlbnQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjVyZW07XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG4jY29sbGVjdGlvbi5saXN0IHRib2R5IHRyID4gdGQ6bGFzdC1jaGlsZCA+ICNjZWxsLWNvbnRlbnQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC41cmVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG59XG4jY29sbGVjdGlvbi5saXN0IHRib2R5IHRyID4gdGQgI2NlbGwtY29udGVudCB7XG4gIHBhZGRpbmc6IDAuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG4jY29sbGVjdGlvbi5saXN0LmRhcmsgdGJvZHkgdHIgPiB0ZCAjY2VsbC1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNCwgNTYsIDg4LCAwLjQpO1xufVxuI2NvbGxlY3Rpb24ubGlzdC5kYXJrIHRyLmNsaWNrYWJsZSB0ZCAjY2VsbC1jb250ZW50IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjQsIDU2LCA4OCwgMC40KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjQsIDU2LCA4OCwgMC40KTtcbn1cbiNjb2xsZWN0aW9uLmxpc3QuZGFyayB0ci5jbGlja2FibGUgdGQ6Zmlyc3QtY2hpbGQgI2NlbGwtY29udGVudCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgyNCwgNTYsIDg4LCAwLjQpO1xufVxuI2NvbGxlY3Rpb24ubGlzdC5kYXJrIHRyLmNsaWNrYWJsZSB0ZDpsYXN0LWNoaWxkICNjZWxsLWNvbnRlbnQge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDI0LCA1NiwgODgsIDAuNCk7XG59XG4jY29sbGVjdGlvbi5saXN0IHRib2R5IHRyID4gdGQgI2NlbGwtY29udGVudCB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xufVxuI2NvbGxlY3Rpb24ubGlzdCB0ci5jbGlja2FibGUgdGQgI2NlbGwtY29udGVudCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCBsaWdodGdyYXk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBsaWdodGdyYXk7XG59XG4jY29sbGVjdGlvbi5saXN0IHRyLmNsaWNrYWJsZSB0ZDpmaXJzdC1jaGlsZCAjY2VsbC1jb250ZW50IHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBsaWdodGdyYXk7XG59XG4jY29sbGVjdGlvbi5saXN0IHRyLmNsaWNrYWJsZSB0ZDpsYXN0LWNoaWxkICNjZWxsLWNvbnRlbnQge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBsaWdodGdyYXk7XG59XG4jY29sbGVjdGlvbi5saXN0IHRyLmNsaWNrYWJsZTpob3ZlciB0ZCAjY2VsbC1jb250ZW50IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cbiNjb2xsZWN0aW9uLmxpc3QgdHIuY2xpY2thYmxlOmhvdmVyIHRkOmZpcnN0LWNoaWxkICNjZWxsLWNvbnRlbnQge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cbiNjb2xsZWN0aW9uLmxpc3QgdHIuY2xpY2thYmxlOmhvdmVyIHRkOmxhc3QtY2hpbGQgI2NlbGwtY29udGVudCB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cbiNjb2xsZWN0aW9uLmxpc3QgdHIuY2xpY2thYmxlOmhvdmVyID4gdGQgPiAjY2VsbC1jb250ZW50LFxuI2NvbGxlY3Rpb24ubGlzdCB0ci5jbGlja2FibGU6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9wYWNpdHk6IDE7XG59XG4iLCIvKi0tLSAgTmFtZWQgY29sb3JzIChkbyBub3QgaW1wb3J0KSAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2l0ZSBDb2xvcnMgVG8gSW1wb3J0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBPdmVyYWxsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTaGFkaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgVHJhbnNwYXJlbnQgYmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRFWFRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgR2xvYmFsIE1vZGlmaWVyIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gRHJhZnQgRmlnbWEgQ29sb3JzIC0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuI2NvbGxlY3Rpb24udGFibGUge1xuICB3aWR0aDogMTAwJTtcbn1cbiNjb2xsZWN0aW9uLnRhYmxlICNjb2xsZWN0aW9uX19pdGVtcyAjY29sbGVjdGlvbi1pdGVtOmhvdmVyICNjZWxsLWNvbnRlbnQuYWN0aW9ucyxcbiNjb2xsZWN0aW9uLnRhYmxlIC5SZWFjdFZpcnR1YWxpemVkX19UYWJsZV9fZ3JpZCAjY29sbGVjdGlvbi1pdGVtOmhvdmVyICNjZWxsLWNvbnRlbnQuYWN0aW9ucyxcbiNjb2xsZWN0aW9uLnRhYmxlICNjb2xsZWN0aW9uX19pdGVtcyAuUmVhY3RWaXJ0dWFsaXplZF9fVGFibGVfX3Jvdzpob3ZlciAjY2VsbC1jb250ZW50LmFjdGlvbnMsXG4jY29sbGVjdGlvbi50YWJsZSAuUmVhY3RWaXJ0dWFsaXplZF9fVGFibGVfX2dyaWQgLlJlYWN0VmlydHVhbGl6ZWRfX1RhYmxlX19yb3c6aG92ZXIgI2NlbGwtY29udGVudC5hY3Rpb25zIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4jY29sbGVjdGlvbi50YWJsZSAjY2VsbC1jb250ZW50LmFjdGlvbnMge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuI2NvbGxlY3Rpb24udGFibGUgI2NlbGwtY29udGVudC5hY3Rpb25zICNlbGxpcHNpcy1tZW51IHtcbiAgcG9zaXRpb246IHN0YXRpYztcbn1cbiNjb2xsZWN0aW9uLnRhYmxlICNjZWxsLWNvbnRlbnQuYWN0aW9ucyAjZWxsaXBzaXMtbWVudSAubWVudS52aXNpYmxlIHtcbiAgcmlnaHQ6IDIzcHggIWltcG9ydGFudDtcbn1cbiNjb2xsZWN0aW9uLnRhYmxlIHRib2R5IHtcbiAgei1pbmRleDogMTtcbn1cbiNjb2xsZWN0aW9uLnRhYmxlIHRyI2NvbGxlY3Rpb24taXRlbTpob3ZlciB7XG4gIHotaW5kZXg6IDE1O1xufVxuI2NvbGxlY3Rpb24udGFibGUgLlJlYWN0VmlydHVhbGl6ZWRfX0dyaWRfX2lubmVyU2Nyb2xsQ29udGFpbmVyIHtcbiAgbWluLWhlaWdodDogY2FsYygxMDAlICsgMTV2aCkgIWltcG9ydGFudDtcbn1cbiNjb2xsZWN0aW9uLnRhYmxlIC5SZWFjdFZpcnR1YWxpemVkX19UYWJsZV9fcm93IHtcbiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbn1cbiNjb2xsZWN0aW9uLnRhYmxlIHRkIHtcbiAgei1pbmRleDogMztcbn1cbiNjb2xsZWN0aW9uLnRhYmxlIHRkLmFjdGlvbnMgPiBkaXYge1xuICBmbG9hdDogcmlnaHQ7XG59XG4jY29sbGVjdGlvbi50YWJsZSAuUmVhY3RWaXJ0dWFsaXplZF9fVGFibGVfX2hlYWRlckNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbiNjb2xsZWN0aW9uLnRhYmxlIC5SZWFjdFZpcnR1YWxpemVkX19UYWJsZV9faGVhZGVyQ29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbn1cbiNjb2xsZWN0aW9uLnRhYmxlIC5SZWFjdFZpcnR1YWxpemVkX19UYWJsZV9faGVhZGVyQ29sdW1uICNtdWx0aS1zZWxlY3QtYWN0aW9ucyB7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbn1cbiNjb2xsZWN0aW9uLnRhYmxlIC5SZWFjdFZpcnR1YWxpemVkX19UYWJsZV9fcm93OmhvdmVyIHtcbiAgei1pbmRleDogMTtcbn1cbiNjb2xsZWN0aW9uLnRhYmxlLmxpZ2h0ICNjb2xsZWN0aW9uX19wcm9wZXJ0eS1maWx0ZXJzIHRoIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG59XG4jY29sbGVjdGlvbi50YWJsZS5saWdodCAjaGVhZGVyLXRpdGxlIHtcbiAgY29sb3I6ICM3Qjg3OTI7XG59XG4jY29sbGVjdGlvbi50YWJsZS5saWdodCAjaGVhZGVyLWNvbnRlbnRfX2hpbnQge1xuICBjb2xvcjogIzJFNTI3NTtcbn1cbiNjb2xsZWN0aW9uLnRhYmxlLmxpZ2h0ICNjZWxsLWNvbnRlbnQuYWN0aW9ucyAuaXRlbSB7XG4gIGNvbG9yOiAjMkU1Mjc1O1xufVxuI2NvbGxlY3Rpb24udGFibGUubGlnaHQgI2NlbGwtY29udGVudC5hY3Rpb25zIC5pdGVtOmhvdmVyIHtcbiAgY29sb3I6ICMwYjliZGM7XG59XG4jY29sbGVjdGlvbi50YWJsZS5saWdodCAjY29sbGVjdGlvbl9faXRlbXMsXG4jY29sbGVjdGlvbi50YWJsZS5saWdodCAuUmVhY3RWaXJ0dWFsaXplZF9fVGFibGVfX0dyaWQge1xuICBiYWNrZ3JvdW5kOiAjRjRGOEZDO1xufVxuI2NvbGxlY3Rpb24udGFibGUubGlnaHQgI2NvbGxlY3Rpb25fX2l0ZW1zICNjb2xsZWN0aW9uLWl0ZW06aG92ZXIsXG4jY29sbGVjdGlvbi50YWJsZS5saWdodCAuUmVhY3RWaXJ0dWFsaXplZF9fVGFibGVfX0dyaWQgI2NvbGxlY3Rpb24taXRlbTpob3ZlcixcbiNjb2xsZWN0aW9uLnRhYmxlLmxpZ2h0ICNjb2xsZWN0aW9uX19pdGVtcyAuUmVhY3RWaXJ0dWFsaXplZF9fVGFibGVfX3Jvdzpob3ZlcixcbiNjb2xsZWN0aW9uLnRhYmxlLmxpZ2h0IC5SZWFjdFZpcnR1YWxpemVkX19UYWJsZV9fR3JpZCAuUmVhY3RWaXJ0dWFsaXplZF9fVGFibGVfX3Jvdzpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggNXB4IDBweCAjZDBkMGQwO1xuICB6LWluZGV4OiAxO1xufVxuI2NvbGxlY3Rpb24udGFibGUubGlnaHQgI2NvbGxlY3Rpb25fX2l0ZW1zICNjb2xsZWN0aW9uLWl0ZW06aG92ZXIgI2NlbGwtY29udGVudC5hY3Rpb25zLFxuI2NvbGxlY3Rpb24udGFibGUubGlnaHQgLlJlYWN0VmlydHVhbGl6ZWRfX1RhYmxlX19HcmlkICNjb2xsZWN0aW9uLWl0ZW06aG92ZXIgI2NlbGwtY29udGVudC5hY3Rpb25zLFxuI2NvbGxlY3Rpb24udGFibGUubGlnaHQgI2NvbGxlY3Rpb25fX2l0ZW1zIC5SZWFjdFZpcnR1YWxpemVkX19UYWJsZV9fcm93OmhvdmVyICNjZWxsLWNvbnRlbnQuYWN0aW9ucyxcbiNjb2xsZWN0aW9uLnRhYmxlLmxpZ2h0IC5SZWFjdFZpcnR1YWxpemVkX19UYWJsZV9fR3JpZCAuUmVhY3RWaXJ0dWFsaXplZF9fVGFibGVfX3Jvdzpob3ZlciAjY2VsbC1jb250ZW50LmFjdGlvbnMge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuI2NvbGxlY3Rpb24udGFibGUubGlnaHQgI2NvbGxlY3Rpb25fX2l0ZW1zICNjb2xsZWN0aW9uLWl0ZW06aG92ZXIsXG4jY29sbGVjdGlvbi50YWJsZS5saWdodCAuUmVhY3RWaXJ0dWFsaXplZF9fVGFibGVfX0dyaWQgI2NvbGxlY3Rpb24taXRlbTpob3ZlcixcbiNjb2xsZWN0aW9uLnRhYmxlLmxpZ2h0ICNjb2xsZWN0aW9uX19pdGVtcyAuUmVhY3RWaXJ0dWFsaXplZF9fVGFibGVfX3Jvdzpob3ZlcixcbiNjb2xsZWN0aW9uLnRhYmxlLmxpZ2h0IC5SZWFjdFZpcnR1YWxpemVkX19UYWJsZV9fR3JpZCAuUmVhY3RWaXJ0dWFsaXplZF9fVGFibGVfX3Jvdzpob3ZlcixcbiNjb2xsZWN0aW9uLnRhYmxlLmxpZ2h0ICNjb2xsZWN0aW9uX19pdGVtcyAjY29sbGVjdGlvbi1pdGVtLnNlbGVjdGVkLFxuI2NvbGxlY3Rpb24udGFibGUubGlnaHQgLlJlYWN0VmlydHVhbGl6ZWRfX1RhYmxlX19HcmlkICNjb2xsZWN0aW9uLWl0ZW0uc2VsZWN0ZWQsXG4jY29sbGVjdGlvbi50YWJsZS5saWdodCAjY29sbGVjdGlvbl9faXRlbXMgLlJlYWN0VmlydHVhbGl6ZWRfX1RhYmxlX19yb3cuc2VsZWN0ZWQsXG4jY29sbGVjdGlvbi50YWJsZS5saWdodCAuUmVhY3RWaXJ0dWFsaXplZF9fVGFibGVfX0dyaWQgLlJlYWN0VmlydHVhbGl6ZWRfX1RhYmxlX19yb3cuc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuI2NvbGxlY3Rpb24udGFibGUubGlnaHQgI2NvbGxlY3Rpb25fX2l0ZW1zICNtdWx0aS1zZWxlY3QgaW5wdXQsXG4jY29sbGVjdGlvbi50YWJsZS5saWdodCAuUmVhY3RWaXJ0dWFsaXplZF9fVGFibGVfX0dyaWQgI211bHRpLXNlbGVjdCBpbnB1dCxcbiNjb2xsZWN0aW9uLnRhYmxlLmxpZ2h0ICNjb2xsZWN0aW9uX19pdGVtcyAjbXVsdGktc2VsZWN0IC5jaGVja2JveCxcbiNjb2xsZWN0aW9uLnRhYmxlLmxpZ2h0IC5SZWFjdFZpcnR1YWxpemVkX19UYWJsZV9fR3JpZCAjbXVsdGktc2VsZWN0IC5jaGVja2JveCB7XG4gIGJhY2tncm91bmQ6IHdoaXRlICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG4jY29sbGVjdGlvbi50YWJsZS5saWdodCAuUmVhY3RWaXJ0dWFsaXplZF9fVGFibGVfX2hlYWRlclJvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG4jY29sbGVjdGlvbi50YWJsZS5saWdodCAuUmVhY3RWaXJ0dWFsaXplZF9fVGFibGVfX2hlYWRlckNvbHVtbiB7XG4gIGJvcmRlci13aWR0aDogMHB4O1xufVxuI2NvbGxlY3Rpb24udGFibGUuZGFyayAjY29sbGVjdGlvbl9fcHJvcGVydHktZmlsdGVycyB0aCB7XG4gIGJhY2tncm91bmQ6ICMyRTUyNzU7XG59XG4jY29sbGVjdGlvbi50YWJsZS5kYXJrICNoZWFkZXItdGl0bGUge1xuICBjb2xvcjogI2ZmZmZmZmQ5O1xufVxuI2NvbGxlY3Rpb24udGFibGUuZGFyayAjY2VsbC1jb250ZW50LmFjdGlvbnMgLml0ZW0ge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbiNjb2xsZWN0aW9uLnRhYmxlLmRhcmsgI2NlbGwtY29udGVudC5hY3Rpb25zIC5pdGVtOmhvdmVyIHtcbiAgY29sb3I6ICMwYjliZGM7XG59XG4jY29sbGVjdGlvbi50YWJsZS5kYXJrICNjb2xsZWN0aW9uX19pdGVtcyxcbiNjb2xsZWN0aW9uLnRhYmxlLmRhcmsgLlJlYWN0VmlydHVhbGl6ZWRfX1RhYmxlX19HcmlkIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4jY29sbGVjdGlvbi50YWJsZS5kYXJrICNjb2xsZWN0aW9uX19pdGVtcyAjY29sbGVjdGlvbi1pdGVtLFxuI2NvbGxlY3Rpb24udGFibGUuZGFyayAuUmVhY3RWaXJ0dWFsaXplZF9fVGFibGVfX0dyaWQgI2NvbGxlY3Rpb24taXRlbSxcbiNjb2xsZWN0aW9uLnRhYmxlLmRhcmsgI2NvbGxlY3Rpb25fX2l0ZW1zIC5SZWFjdFZpcnR1YWxpemVkX19UYWJsZV9fcm93LFxuI2NvbGxlY3Rpb24udGFibGUuZGFyayAuUmVhY3RWaXJ0dWFsaXplZF9fVGFibGVfX0dyaWQgLlJlYWN0VmlydHVhbGl6ZWRfX1RhYmxlX19yb3cge1xuICB6LWluZGV4OiAxO1xufVxuI2NvbGxlY3Rpb24udGFibGUuZGFyayAjY29sbGVjdGlvbl9faXRlbXMgI2NvbGxlY3Rpb24taXRlbTpob3ZlcixcbiNjb2xsZWN0aW9uLnRhYmxlLmRhcmsgLlJlYWN0VmlydHVhbGl6ZWRfX1RhYmxlX19HcmlkICNjb2xsZWN0aW9uLWl0ZW06aG92ZXIsXG4jY29sbGVjdGlvbi50YWJsZS5kYXJrICNjb2xsZWN0aW9uX19pdGVtcyAuUmVhY3RWaXJ0dWFsaXplZF9fVGFibGVfX3Jvdzpob3ZlcixcbiNjb2xsZWN0aW9uLnRhYmxlLmRhcmsgLlJlYWN0VmlydHVhbGl6ZWRfX1RhYmxlX19HcmlkIC5SZWFjdFZpcnR1YWxpemVkX19UYWJsZV9fcm93OmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCA1cHggMHB4IHJnYmEoMTUsIDQ1LCA3NiwgMC4yNCk7XG59XG4jY29sbGVjdGlvbi50YWJsZS5kYXJrICNjb2xsZWN0aW9uX19pdGVtcyAjY29sbGVjdGlvbi1pdGVtOmhvdmVyIHRkLmFjdGlvbnMsXG4jY29sbGVjdGlvbi50YWJsZS5kYXJrIC5SZWFjdFZpcnR1YWxpemVkX19UYWJsZV9fR3JpZCAjY29sbGVjdGlvbi1pdGVtOmhvdmVyIHRkLmFjdGlvbnMsXG4jY29sbGVjdGlvbi50YWJsZS5kYXJrICNjb2xsZWN0aW9uX19pdGVtcyAuUmVhY3RWaXJ0dWFsaXplZF9fVGFibGVfX3Jvdzpob3ZlciB0ZC5hY3Rpb25zLFxuI2NvbGxlY3Rpb24udGFibGUuZGFyayAuUmVhY3RWaXJ0dWFsaXplZF9fVGFibGVfX0dyaWQgLlJlYWN0VmlydHVhbGl6ZWRfX1RhYmxlX19yb3c6aG92ZXIgdGQuYWN0aW9ucyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTUsIDQ1LCA3NiwgMC44NSk7XG59XG4jY29sbGVjdGlvbi50YWJsZS5kYXJrICNjb2xsZWN0aW9uX19pdGVtcyAjY29sbGVjdGlvbi1pdGVtOmhvdmVyLFxuI2NvbGxlY3Rpb24udGFibGUuZGFyayAuUmVhY3RWaXJ0dWFsaXplZF9fVGFibGVfX0dyaWQgI2NvbGxlY3Rpb24taXRlbTpob3ZlcixcbiNjb2xsZWN0aW9uLnRhYmxlLmRhcmsgI2NvbGxlY3Rpb25fX2l0ZW1zIC5SZWFjdFZpcnR1YWxpemVkX19UYWJsZV9fcm93OmhvdmVyLFxuI2NvbGxlY3Rpb24udGFibGUuZGFyayAuUmVhY3RWaXJ0dWFsaXplZF9fVGFibGVfX0dyaWQgLlJlYWN0VmlydHVhbGl6ZWRfX1RhYmxlX19yb3c6aG92ZXIsXG4jY29sbGVjdGlvbi50YWJsZS5kYXJrICNjb2xsZWN0aW9uX19pdGVtcyAjY29sbGVjdGlvbi1pdGVtLnNlbGVjdGVkLFxuI2NvbGxlY3Rpb24udGFibGUuZGFyayAuUmVhY3RWaXJ0dWFsaXplZF9fVGFibGVfX0dyaWQgI2NvbGxlY3Rpb24taXRlbS5zZWxlY3RlZCxcbiNjb2xsZWN0aW9uLnRhYmxlLmRhcmsgI2NvbGxlY3Rpb25fX2l0ZW1zIC5SZWFjdFZpcnR1YWxpemVkX19UYWJsZV9fcm93LnNlbGVjdGVkLFxuI2NvbGxlY3Rpb24udGFibGUuZGFyayAuUmVhY3RWaXJ0dWFsaXplZF9fVGFibGVfX0dyaWQgLlJlYWN0VmlydHVhbGl6ZWRfX1RhYmxlX19yb3cuc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTMpO1xufVxuI2NvbGxlY3Rpb24udGFibGUuZGFyayAjY29sbGVjdGlvbl9faXRlbXMgI211bHRpLXNlbGVjdCBpbnB1dCxcbiNjb2xsZWN0aW9uLnRhYmxlLmRhcmsgLlJlYWN0VmlydHVhbGl6ZWRfX1RhYmxlX19HcmlkICNtdWx0aS1zZWxlY3QgaW5wdXQsXG4jY29sbGVjdGlvbi50YWJsZS5kYXJrICNjb2xsZWN0aW9uX19pdGVtcyAjbXVsdGktc2VsZWN0IC5jaGVja2JveCxcbiNjb2xsZWN0aW9uLnRhYmxlLmRhcmsgLlJlYWN0VmlydHVhbGl6ZWRfX1RhYmxlX19HcmlkICNtdWx0aS1zZWxlY3QgLmNoZWNrYm94IHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEzKSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTMpICFpbXBvcnRhbnQ7XG59XG4jY29sbGVjdGlvbi50YWJsZS5kYXJrIC5SZWFjdFZpcnR1YWxpemVkX19UYWJsZV9faGVhZGVyUm93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJFNTI3NTtcbn1cbiNjb2xsZWN0aW9uLnRhYmxlICNjb2xsZWN0aW9uX19wcm9wZXJ0eS1maWx0ZXJzIHRoIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTMpO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAjY29sbGVjdGlvbi50YWJsZS5zdGFja2FibGUtaGFsZiB0Ym9keSxcbiAgI2NvbGxlY3Rpb24udGFibGUuc3RhY2thYmxlLWhhbGYgdHIsXG4gICNjb2xsZWN0aW9uLnRhYmxlLnN0YWNrYWJsZS1oYWxmIHRyID4gdGgge1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAjY29sbGVjdGlvbi50YWJsZS5zdGFja2FibGUtaGFsZiB0ciA+IHRkIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAjY29sbGVjdGlvbi50YWJsZS5zdGFja2FibGUtaGFsZiAjY2VsbC1sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgfVxuICAjY29sbGVjdGlvbi50YWJsZS5zdGFja2FibGUtaGFsZiAjaGVhZGVyLWNvbnRlbnQge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgfVxuICAjY29sbGVjdGlvbi50YWJsZS5zdGFja2FibGUtaGFsZiAjaGVhZGVyLWNvbnRlbnQuaGFzLWZpbHRlci5maWx0ZXI6aG92ZXIgI2hlYWRlci10aXRsZSxcbiAgI2NvbGxlY3Rpb24udGFibGUuc3RhY2thYmxlLWhhbGYgI2hlYWRlci1jb250ZW50Lmhhcy1maWx0ZXIuZmlsdGVyLWluYWN0aXZlOmhvdmVyICNoZWFkZXItdGl0bGUsXG4gICNjb2xsZWN0aW9uLnRhYmxlLnN0YWNrYWJsZS1oYWxmICNoZWFkZXItY29udGVudC5oYXMtZmlsdGVyLmZpbHRlci1hY3RpdmU6aG92ZXIgI2hlYWRlci10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICNjb2xsZWN0aW9uLnRhYmxlLnN0YWNrYWJsZS1xdWFydGVyIHRib2R5LFxuICAjY29sbGVjdGlvbi50YWJsZS5zdGFja2FibGUtcXVhcnRlciB0cixcbiAgI2NvbGxlY3Rpb24udGFibGUuc3RhY2thYmxlLXF1YXJ0ZXIgdHIgPiB0aCB7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gICNjb2xsZWN0aW9uLnRhYmxlLnN0YWNrYWJsZS1xdWFydGVyIHRyID4gdGQge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gICNjb2xsZWN0aW9uLnRhYmxlLnN0YWNrYWJsZS1xdWFydGVyICNjZWxsLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICB9XG4gICNjb2xsZWN0aW9uLnRhYmxlLnN0YWNrYWJsZS1xdWFydGVyICNoZWFkZXItY29udGVudCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICB9XG4gICNjb2xsZWN0aW9uLnRhYmxlLnN0YWNrYWJsZS1xdWFydGVyICNoZWFkZXItY29udGVudC5oYXMtZmlsdGVyLmZpbHRlcjpob3ZlciAjaGVhZGVyLXRpdGxlLFxuICAjY29sbGVjdGlvbi50YWJsZS5zdGFja2FibGUtcXVhcnRlciAjaGVhZGVyLWNvbnRlbnQuaGFzLWZpbHRlci5maWx0ZXItaW5hY3RpdmU6aG92ZXIgI2hlYWRlci10aXRsZSxcbiAgI2NvbGxlY3Rpb24udGFibGUuc3RhY2thYmxlLXF1YXJ0ZXIgI2hlYWRlci1jb250ZW50Lmhhcy1maWx0ZXIuZmlsdGVyLWFjdGl2ZTpob3ZlciAjaGVhZGVyLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cbiNjb2xsZWN0aW9uLnRhYmxlIHRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuI2hlYWRlci1jb250ZW50IHtcbiAgaGVpZ2h0OiAzcmVtO1xufVxuI2hlYWRlci1jb250ZW50Lmhhcy1maWx0ZXIge1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICB3aWR0aDogMjAwcHg7XG59XG4jaGVhZGVyLXRpdGxlIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xufVxuI2NvbGxlY3Rpb24udGFibGUgdGJvZHkgdHIgPiB0ZCAjY2VsbC1jb250ZW50IHtcbiAgcGFkZGluZzogMC41cmVtIDEuNXJlbSAwLjVyZW0gMS41cmVtO1xufVxuI2NvbGxlY3Rpb24udGFibGUgdGJvZHkgdHIgPiB0ZCAjY2VsbC1jb250ZW50IHtcbiAgaGVpZ2h0OiAzLjVyZW07XG59XG4jY29sbGVjdGlvbi50YWJsZSB0aGVhZCB0ciA+IHRoOmZpcnN0LWNoaWxkIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgbGVmdDogMDtcbn1cbiNjb2xsZWN0aW9uLnRhYmxlIHRoZWFkIHRyID4gdGg6Zmlyc3QtY2hpbGQgPiAjY2VsbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgbGVmdDogMDtcbn1cbiNjb2xsZWN0aW9uLnRhYmxlIHRib2R5IHRyID4gdGQ6Zmlyc3QtY2hpbGQge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICBsZWZ0OiAwO1xufVxuI2NvbGxlY3Rpb24udGFibGUgdGJvZHkgdHIgPiB0ZDpsYXN0LWNoaWxkIHtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDA7XG59XG4jY29sbGVjdGlvbi50YWJsZSAjY2VsbC1jb250ZW50Lm11bHRpLXNlbGVjdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbiNjb2xsZWN0aW9uLnRhYmxlICNjZWxsLWNvbnRlbnQubXVsdGktc2VsZWN0LnByaW1hcnktbXVsdGktc2VsZWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC41cmVtO1xufVxuI2NvbGxlY3Rpb24udGFibGUgI2NlbGwtY29udGVudC5tdWx0aS1zZWxlY3QucHJpbWFyeS1tdWx0aS1zZWxlY3QgLmNoZWNrYm94IHtcbiAgb3BhY2l0eTogMTtcbn1cbiNjb2xsZWN0aW9uLnRhYmxlICNjZWxsLWNvbnRlbnQubXVsdGktc2VsZWN0LnByaW1hcnktbXVsdGktc2VsZWN0Lmhhc1NlbGVjdGVkICNtdWx0aS1zZWxlY3QtYWN0aW9ucyB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcbn1cbiNjb2xsZWN0aW9uLnRhYmxlLmRhcmsgI2NlbGwtY29udGVudC5tdWx0aS1zZWxlY3QucHJpbWFyeS1tdWx0aS1zZWxlY3QgI211bHRpLXNlbGVjdC1hY3Rpb25zIHtcbiAgYm9yZGVyOiAwcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEzKTtcbiAgY29sb3I6ICNmZmY7XG59XG4jY29sbGVjdGlvbi50YWJsZS5saWdodCAjY2VsbC1jb250ZW50Lm11bHRpLXNlbGVjdC5wcmltYXJ5LW11bHRpLXNlbGVjdCAjbXVsdGktc2VsZWN0LWFjdGlvbnMge1xuICBib3JkZXI6IDBweCBzb2xpZCAjNzY3Njc2O1xuICBjb2xvcjogIzAyMDcwQTtcbn1cbiNjb2xsZWN0aW9uLnRhYmxlICNjZWxsLWNvbnRlbnQubXVsdGktc2VsZWN0LnByaW1hcnktbXVsdGktc2VsZWN0ICNtdWx0aS1zZWxlY3QtYWN0aW9ucyB7XG4gIHdpZHRoOiBtaW4tY29udGVudDtcbiAgbWluLXdpZHRoOiBmaXQtY29udGVudDtcbiAgei1pbmRleDogMTAwMDA7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcbn1cbiNjb2xsZWN0aW9uLnRhYmxlICNjZWxsLWNvbnRlbnQubXVsdGktc2VsZWN0LnByaW1hcnktbXVsdGktc2VsZWN0ICNtdWx0aS1zZWxlY3QtYWN0aW9ucyAjbXVsdGktc2VsZWN0LWFjdGlvbnNfX29wdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTBwdDtcbn1cbiNjb2xsZWN0aW9uLnRhYmxlIHRyIC5tdWx0aS1zZWxlY3QgLmNoZWNrYm94IHtcbiAgb3BhY2l0eTogMDtcbn1cbiNjb2xsZWN0aW9uLnRhYmxlIHRyOmhvdmVyIC5tdWx0aS1zZWxlY3QgLmNoZWNrYm94LFxuI2NvbGxlY3Rpb24udGFibGUgdHIgLm11bHRpLXNlbGVjdCAuY2hlY2tlZC5jaGVja2JveCB7XG4gIG9wYWNpdHk6IDE7XG59XG4jY29sbGVjdGlvbiAuUmVhY3RWaXJ0dWFsaXplZF9fVGFibGVfX2hlYWRlclJvdyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG4iLCIvKi0tLSAgTmFtZWQgY29sb3JzIChkbyBub3QgaW1wb3J0KSAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2l0ZSBDb2xvcnMgVG8gSW1wb3J0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBPdmVyYWxsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTaGFkaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgVHJhbnNwYXJlbnQgYmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRFWFRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgR2xvYmFsIE1vZGlmaWVyIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gRHJhZnQgRmlnbWEgQ29sb3JzIC0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuI2NvbGxlY3Rpb24uY2FyZHMge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG4jY29sbGVjdGlvbi5jYXJkcyB0aGVhZCA+IHRyID4gdGgge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xufVxuI2NvbGxlY3Rpb24uY2FyZHMgdGJvZHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbiNjb2xsZWN0aW9uLmNhcmRzIHRib2R5ICNjZWxsLWNvbnRlbnQge1xuICBoZWlnaHQ6IGF1dG87XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDE0cHg7XG59XG4jY29sbGVjdGlvbi5jYXJkcyB0Ym9keSAjY29sbGVjdGlvbi1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg0NiwgODIsIDExNywgMC4xMyk7XG4gIG1hcmdpbjogNXB4O1xuICBwYWRkaW5nOiA0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNjb2xsZWN0aW9uLmNhcmRzIHRib2R5ICNjb2xsZWN0aW9uLWl0ZW0uY2xpY2thYmxlOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjMEY5QkRDO1xufVxuIiwiLyotLS0gIE5hbWVkIGNvbG9ycyAoZG8gbm90IGltcG9ydCkgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cblNpdGUgQ29sb3JzIFRvIEltcG9ydFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgT3ZlcmFsbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2hhZGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFRyYW5zcGFyZW50IGJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBURVhUXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJbnB1dHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEdsb2JhbCBNb2RpZmllciBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tIERyYWZ0IEZpZ21hIENvbG9ycyAtLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbiNsb2NhbC1jb2xsZWN0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuI2xvY2FsLWNvbGxlY3Rpb24gI2xvY2FsLWNvbGxlY3Rpb25fX2hlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHBhZGRpbmc6IDE1cHggMTVweCAwcHggMTVweDtcbiAgZmxleDogMCAwO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4jbG9jYWwtY29sbGVjdGlvbiAjbG9jYWwtY29sbGVjdGlvbl9faGVhZGVyID4gI2xvY2FsLWNvbGxlY3Rpb25fX2hlYWRlci1sZWZ0IHtcbiAgZmxleDogMSAwIDE1MHB4O1xufVxuI2xvY2FsLWNvbGxlY3Rpb24gI2xvY2FsLWNvbGxlY3Rpb25fX2hlYWRlciA+ICNsb2NhbC1jb2xsZWN0aW9uX19oZWFkZXItbWlkZGxlIHtcbiAgZmxleDogMiAwO1xufVxuI2xvY2FsLWNvbGxlY3Rpb24gI2xvY2FsLWNvbGxlY3Rpb25fX2hlYWRlciA+ICNsb2NhbC1jb2xsZWN0aW9uX19oZWFkZXItbWlkZGxlIC51aS5mb3JtIHtcbiAgcGFkZGluZzogNXB4O1xufVxuI2xvY2FsLWNvbGxlY3Rpb24gI2xvY2FsLWNvbGxlY3Rpb25fX2hlYWRlciA+ICNsb2NhbC1jb2xsZWN0aW9uX19oZWFkZXItcmlnaHQge1xuICBmbGV4OiAwIDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgbWluLXdpZHRoOiBmaXQtY29udGVudDtcbn1cbiNsb2NhbC1jb2xsZWN0aW9uICNsb2NhbC1jb2xsZWN0aW9uX19ib2R5IHtcbiAgZmxleDogMSAwO1xufVxuI2xvY2FsLWNvbGxlY3Rpb24gI2xvY2FsLWNvbGxlY3Rpb25fX2Zvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXg6IDAgMDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDBweCAtMXB4IDZweCByZ2JhKDUwLCA1MCwgNTAsIDAuMjUpO1xuICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDBweCAtMXggNnB4IHJnYmEoNTAsIDUwLCA1MCwgMC4yNSk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDBweCAtMXB4IDZweCByZ2JhKDUwLCA1MCwgNTAsIDAuMjUpO1xuICBwYWRkaW5nOiAxNXB4O1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xufVxuI2xvY2FsLWNvbGxlY3Rpb24gI2xvY2FsLWNvbGxlY3Rpb25fX3BhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICBiYWNrZ3JvdW5kOiAjMGYyZDRjO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDE7XG4gIHotaW5kZXg6IDEwMDA7XG59XG4jbG9jYWwtY29sbGVjdGlvbiAjbG9jYWwtY29sbGVjdGlvbl9fcGFnaW5hdGlvbiAuaXRlbSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cbiNsb2NhbC1jb2xsZWN0aW9uICNsb2NhbC1jb2xsZWN0aW9uX19wYWdpbmF0aW9uIC5hY3RpdmUuaXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMGI5YmRjO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbiIsIiNjaGFuZ2UtbWV0YWRhdGEge1xuICBkaXNwbGF5ICAgICAgICA6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uIDogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGJhc2VsaW5lO1xuICBoZWlnaHQgICAgICAgICA6IDEuMjVyZW07XG4gIGN1cnNvciAgICAgICAgIDogZGVmYXVsdDtcbiAgd2lkdGggICAgICAgICAgOiAxMDAlO1xuICBoZWlnaHQgICAgICAgICA6IGZpdC1jb250ZW50O1xufVxuXG4jY2hhbmdlLW1ldGFkYXRhICNhdXRvc2F2aW5nIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG59XG5cbiNjaGFuZ2UtbWV0YWRhdGEgI2F1dG9zYXZpbmcgc3BhbiB7XG4gIG1hcmdpbi1sZWZ0ICAgOiAwLjVyZW07XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbiNjaGFuZ2UtbWV0YWRhdGEgLnVpLmxvYWRlciB7XG4gIHBvc2l0aW9uICA6IHJlbGF0aXZlO1xuICBkaXNwbGF5ICAgOiBpbmxpbmUtZmxleDtcbiAgdG9wICAgICAgIDogdW5zZXQ7XG4gIGxlZnQgICAgICA6IHVuc2V0O1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgY29sb3IgICAgIDogd2hpdGU7XG4gIHRyYW5zZm9ybSA6IHVuc2V0O1xuICB6LWluZGV4ICAgOiAxO1xufSIsIi5SZWFjdFZpcnR1YWxpemVkX19UYWJsZV9faGVhZGVyUm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDMsIDEwNywgMTY4KTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbn1cblxuLlJlYWN0VmlydHVhbGl6ZWRfX1RhYmxlX19oZWFkZXJDb2x1bW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuXG4uUmVhY3RWaXJ0dWFsaXplZF9fVGFibGVfX2hlYWRlckNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xufVxuXG4uUmVhY3RWaXJ0dWFsaXplZF9fVGFibGVfX2hlYWRlclRydW5jYXRlZFRleHQge1xuICBsaW5lLWhlaWdodDogNTBweDtcbn1cblxuLlJlYWN0VmlydHVhbGl6ZWRfX1RhYmxlX19HcmlkIHtcbiAgLyogYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTsgKi9cbiAgLyogcGFkZGluZy1ib3R0b206IDE1dmg7ICovXG59XG5cbi5SZWFjdFZpcnR1YWxpemVkX19UYWJsZV9fR3JpZDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5SZWFjdFZpcnR1YWxpemVkX19HcmlkX19pbm5lclNjcm9sbENvbnRhaW5lciB7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSArIDE1dmgpICFpbXBvcnRhbnQ7XG59XG5cbi5SZWFjdFZpcnR1YWxpemVkX19UYWJsZV9fUm93IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5SZWFjdFZpcnR1YWxpemVkX19UYWJsZV9fUm93OmhvdmVyIHtcbiAgYm94LXNoYWRvdzogcmdiKDExLCAxNTUsIDIyMCkgMHB4IDBweCAwcHggMXB4IGluc2V0LCByZ2IoMTEsIDE1NSwgMjIwKSA1cHggMHB4IDBweCAwcHgsXG4gICAgcmdiKDExLCAxNTUsIDIyMCkgLTVweCAwcHggMHB4IDBweDtcbn1cbiIsIi8qLS0tICBOYW1lZCBjb2xvcnMgKGRvIG5vdCBpbXBvcnQpICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG5TaXRlIENvbG9ycyBUbyBJbXBvcnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIE92ZXJhbGxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNoYWRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVEVYVFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBHbG9iYWwgTW9kaWZpZXIgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSBEcmFmdCBGaWdtYSBDb2xvcnMgLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4ubm90aWZpY2F0aW9uLXJ1bGUgLnVpLmNoZWNrYm94IGxhYmVsIHtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBtYXJnaW46IGF1dG87XG59XG4ubm90aWZpY2F0aW9uLXJ1bGUgLmZpZWxkIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cbi5ub3RpZmljYXRpb24tcnVsZSAuZmllbGQgLnVpLmlucHV0LFxuLm5vdGlmaWNhdGlvbi1ydWxlIC5maWVsZHMgLmZpZWxkIC51aS5pbnB1dCxcbi5ub3RpZmljYXRpb24tcnVsZSAuZmllbGRzIC5maWVsZCB0ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG4ubm90aWZpY2F0aW9uLXJ1bGUgLmZpZWxkcyB7XG4gIG1hcmdpbjogNXB4IDA7XG59XG4ubm90aWZpY2F0aW9uLXJ1bGUgLmZpZWxkcyAudWkuY2hlY2tib3ggbGFiZWwge1xuICBtaW4taGVpZ2h0OiAyNXB4O1xufVxuLm5vdGlmaWNhdGlvbi1ydWxlIC5maWVsZHMgLmZpZWxkIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cbi5ub3RpZmljYXRpb24tcnVsZSAudWkuaW5wdXQgPiBpbnB1dCxcbi5ub3RpZmljYXRpb24tcnVsZSAudWkuZHJvcGRvd24uc2VsZWN0aW9uLFxuLm5vdGlmaWNhdGlvbi1ydWxlIHRleHRhcmVhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjhGQztcbiAgYm9yZGVyOiAxcHggc29saWQgI0ExQzVFNjtcbiAgYm9yZGVyLXJhZGl1czogNHB4ICFpbXBvcnRhbnQ7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDRweCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDMwMG1zIGVhc2UtaW4sIGJhY2tncm91bmQtY29sb3IgMjAwbXMgZWFzZS1pbjtcbn1cbi5ub3RpZmljYXRpb24tcnVsZSAudWkuaW5wdXQgPiBpbnB1dDpob3Zlcixcbi5ub3RpZmljYXRpb24tcnVsZSAudWkuZHJvcGRvd24uc2VsZWN0aW9uOmhvdmVyLFxuLm5vdGlmaWNhdGlvbi1ydWxlIHRleHRhcmVhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0NDRTBGMyAhaW1wb3J0YW50O1xufVxuLm5vdGlmaWNhdGlvbi1ydWxlIC51aS5pbnB1dCA+IGlucHV0OmZvY3VzLFxuLm5vdGlmaWNhdGlvbi1ydWxlIC51aS5kcm9wZG93bi5zZWxlY3Rpb246Zm9jdXMsXG4ubm90aWZpY2F0aW9uLXJ1bGUgdGV4dGFyZWE6Zm9jdXMsXG4ubm90aWZpY2F0aW9uLXJ1bGUgLnVpLmlucHV0ID4gaW5wdXQ6Zm9jdXMtd2l0aGluLFxuLm5vdGlmaWNhdGlvbi1ydWxlIC51aS5kcm9wZG93bi5zZWxlY3Rpb246Zm9jdXMtd2l0aGluLFxuLm5vdGlmaWNhdGlvbi1ydWxlIHRleHRhcmVhOmZvY3VzLXdpdGhpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzBGOUJEQyAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDRweCAycHggI0ExQzVFNiAhaW1wb3J0YW50O1xufVxuLm5vdGlmaWNhdGlvbi1ydWxlIHRleHRhcmVhIHtcbiAgcmVzaXplOiBib3RoO1xufVxuLm5vdGlmaWNhdGlvbi1ydWxlICNub3RpZmljYXRpb24tbmFtZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDMycHgpO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLm5vdGlmaWNhdGlvbi1ydWxlIC51aS50b2dnbGUuY2hlY2tib3gge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuLm5vdGlmaWNhdGlvbi1ydWxlIC51aS5jaGVja2JveCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xufVxuLm5vdGlmaWNhdGlvbi1ydWxlIC51aS5jaGVja2JveCBsYWJlbCB7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbn1cbi5ub3RpZmljYXRpb24tcnVsZSAudWkudG9nZ2xlLmNoZWNrYm94LFxuLm5vdGlmaWNhdGlvbi1ydWxlIC51aS50b2dnbGUuY2hlY2tib3ggbGFiZWwge1xuICB3aWR0aDogbWluLWNvbnRlbnQ7XG59XG4ubm90aWZpY2F0aW9uLXJ1bGUgLnVpLnRvZ2dsZS5jaGVja2JveCBsYWJlbCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogNjJweDtcbn1cbi5ub3RpZmljYXRpb24tcnVsZSAubm90aWZpY2F0aW9uLWFjY29yZGlvbiAuY29udGVudC5hY3RpdmUge1xuICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbn1cbi5ub3RpZmljYXRpb24tcnVsZSAjaXNzdWVzLXdyYXBwZXIgPiAuZmllbGQgPiBsYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG4ubm90aWZpY2F0aW9uLXJ1bGUgI2lzc3Vlcy13cmFwcGVyID4gLmZpZWxkID4gLmNoZWNrYm94ID4gbGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi5ub3RpZmljYXRpb24tcnVsZSAjbm90aWZpY2F0aW9uLWZpbHRlcnMge1xuICBwYWRkaW5nLXRvcDogMTBweDtcbn1cbi5ub3RpZmljYXRpb24tcnVsZSAjbm90aWZpY2F0aW9uLWZpbHRlcnMgLmZpZWxkLFxuLm5vdGlmaWNhdGlvbi1ydWxlICNub3RpZmljYXRpb24tZmlsdGVycyAuZmllbGRzIC5maWVsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4iLCIvKi0tLSAgTmFtZWQgY29sb3JzIChkbyBub3QgaW1wb3J0KSAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuU2l0ZSBDb2xvcnMgVG8gSW1wb3J0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBPdmVyYWxsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTaGFkaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCYWNrZ3JvdW5kc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgVHJhbnNwYXJlbnQgYmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRFWFRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgR2xvYmFsIE1vZGlmaWVyIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gRHJhZnQgRmlnbWEgQ29sb3JzIC0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuI3NvdXJjZS1maWx0ZXJzIC5oZWFkZXIge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG59XG4jc291cmNlLWZpbHRlcnNfX2ZpbHRlcnMtd2FybmluZy1tZXNzYWdlIHtcbiAgcGFkZGluZzogMHB4IDE2cHg7XG59XG4jZmlsdGVyRnJvbVJvd3Mge1xuICBtaW4td2lkdGg6IDFyZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogI0Y0RjhGQztcbn1cbiNmaWx0ZXJGcm9tUm93czpub3QoZmlyc3QtY2hpbGQpIHRkIHtcbiAgYm9yZGVyLXRvcDogMXB4O1xufVxuI2ZpbHRlckZyb21Sb3dzID4gdGZvb3QgPiB0ciA+IHRoIHtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xufVxuI2ZpbHRlckZyb21Sb3cge1xuICBib3JkZXI6IG5vbmU7XG59XG4jZmlsdGVyRnJvbVJvdyA+IHRkIHtcbiAgYm9yZGVyOiBub25lO1xufVxuIiwiI2VkaXQtc2hhcGUtbm90aWZpY2F0aW9ucyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIHRib2R5LCB0Ym9keSAubm90aWZpY2F0aW9uLXJ1bGUge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuIiwiLyotLS0gIE5hbWVkIGNvbG9ycyAoZG8gbm90IGltcG9ydCkgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cblNpdGUgQ29sb3JzIFRvIEltcG9ydFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgT3ZlcmFsbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2hhZGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQmFja2dyb3VuZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFRyYW5zcGFyZW50IGJhY2tncm91bmRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBURVhUXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJbnB1dHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEdsb2JhbCBNb2RpZmllciBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tIERyYWZ0IEZpZ21hIENvbG9ycyAtLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbiNicmFuZGVkLWxvZ28ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAxMHB4IDhweDtcbn1cbi53aXRob3V0LXRleHQjYnJhbmRlZC1sb2dvIGltZyB7XG4gIG1hcmdpbjogMTBweCAhaW1wb3J0YW50O1xuICB3aWR0aDogMy41cmVtO1xuICBoZWlnaHQ6IDNyZW07XG4gIG1heC1oZWlnaHQ6IDNyZW07XG4gIG1heC13aWR0aDogMy41cmVtO1xufVxuLndpdGhvdXQtdGV4dCNicmFuZGVkLWxvZ28gaW1nIDpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi53aXRoLXRleHQjYnJhbmRlZC1sb2dvIGltZyB7XG4gIG1hcmdpbjogMTBweCAhaW1wb3J0YW50O1xuICB3aWR0aDogNXJlbTtcbiAgaGVpZ2h0OiAzLjI1cmVtO1xuICBtYXgtaGVpZ2h0OiAzLjI1cmVtO1xuICBtYXgtd2lkdGg6IDVyZW07XG59XG4ud2l0aC10ZXh0I2JyYW5kZWQtbG9nbyBpbWcgOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmxhcmdlI2JyYW5kZWQtbG9nbyBpbWcge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgd2lkdGg6IDQuNXJlbTtcbiAgaGVpZ2h0OiA1cmVtO1xuICBtYXgtaGVpZ2h0OiA1cmVtO1xuICBtYXgtd2lkdGg6IDQuNXJlbTtcbn1cbiIsbnVsbCwiLmhvcml6b250YWwtc2Nyb2xsLXJpZ2h0IHtcbiAgICBjb250ZW50OiAnXFxmMDYxJztcbiAgICBmb250LWZhbWlseTogSWNvbnM7XG4gICAgZm9udC1zaXplOiAxNnB0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwcHg7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAvKiBib3gtc2hhZG93OiBpbnNldCAtMTVweCAwcHggMjBweCAwcHggI2ZiZmJmYjtcbiAgICBib3JkZXItcmlnaHQ6IDUwcHggc29saWQgI2ZiZmJmYjsgKi9cbiAgICB3aWR0aDogMjVweDtcbiAgICB6LWluZGV4OiAzMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwMmU7XG59XG5cbi5ob3Jpem9udGFsLXNjcm9sbC1sZWZ0IHtcbiAgICBjb250ZW50OiAnXFxmMDYxJztcbiAgICBmb250LWZhbWlseTogSWNvbnM7XG4gICAgZm9udC1zaXplOiAxNnB0O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLyogYm94LXNoYWRvdzogaW5zZXQgMjBweCAwcHggMjBweCAwcHggI2ZiZmJmYjsgKi9cbiAgICB3aWR0aDogMjVweDtcbiAgICAvKiBib3JkZXItbGVmdDogNTBweCBzb2xpZCAjZmJmYmZiOyAqL1xuICAgIHotaW5kZXg6IDMwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDAyZTtcbn1cblxuLmhvcml6b250YWwtc2Nyb2xsLXJpZ2h0OmhvdmVyLFxuLmhvcml6b250YWwtc2Nyb2xsLWxlZnQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA3ODtcbiAgICAvKiBib3gtc2hhZG93OiBpbnNldCAtMjBweCAwcHggMjBweCAwcHggI2ZiZmJmYjsgKi9cbiAgICB0b3A6IDBweDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLW91dCwgYmFja2dyb3VuZCAwLjE1cyBlYXNlLWluLCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW47XG59XG5cbi5ob3Jpem9udGFsLXNjcm9sbC1sZWZ0IGksXG4uaG9yaXpvbnRhbC1zY3JvbGwtcmlnaHQgaSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmhvcml6b250YWwtc2Nyb2xsLXJpZ2h0OmhvdmVyIGksXG4uaG9yaXpvbnRhbC1zY3JvbGwtbGVmdDpob3ZlciBpIHtcbiAgICBjb2xvcjogd2hpdGU7XG59XG5cbi5ob3Jpem9udGFsLXNjcm9sbC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4uc2Nyb2xsLWNvbnRyb2wge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNjcm9sbC1jb250cm9sLFxuLmhvcml6b250YWwtc2Nyb2xsLXdyYXBwZXIge1xuICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbn1cblxuLmhvcml6b250YWwtc2Nyb2xsLXdyYXBwZXIuZml0IHtcbiAgICBtYXgtd2lkdGg6IDkwdnc7XG4gICAgbWF4LWhlaWdodDogNjB2aDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi5ob3Jpem9udGFsLXNjcm9sbC13cmFwcGVyLmZ1bGwge1xuICAgIG1heC13aWR0aDogOTV2dztcbiAgICBtYXgtaGVpZ2h0OiA5NXZoO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogYXV0bztcbn0iXSwic291cmNlUm9vdCI6IiJ9*/