/******************************************************************************************************************/
/******************************************************************************************************************/
/************************************************* RESET **********************************************************/
/******************************************************************************************************************/
/******************************************************************************************************************/
/******************************************************************************************************************/
/********************************************************************************/
/****************************** NORMALISATION ***********************************/
/********************************************************************************/
@page {
  margin: 0.5cm;
}
* {
  color: #000000 !important;
  font-family: Tahoma, Arial, sans-serif !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  text-shadow: none !important;
  -webkit-transition: none !important;
  transition: none !important;
  opacity: 1 !important;
}

body {
  background: #ffffff !important;
  color: #000000 !important;
}

a {
  text-decoration: none !important;
}

a[href]:after {
  content: "" !important;
}

p, ul li, ol li, main p, main ul li, main ol li {
  font-size: 12pt;
  line-height: 1.2 !important;
}

p, blockquote {
  orphans: 2;
  widows: 2;
}

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

blockquote, ul, ol {
  page-break-inside: avoid;
}

strong, b {
  font-weight: bold;
  font-family: Arial, Verdana, sans-serif !important;
}

i, em {
  font-style: italic;
  font-family: Arial, Verdana, sans-serif !important;
}

strong em, strong i, em strong, i strong, b em, b i, em b, i b {
  font-style: italic;
  font-weight: bold;
  font-family: Arial, Verdana, sans-serif !important;
}

sub, sup {
  font-size: 0.75em !important;
}

table, .powermail_fieldset {
  page-break-inside: avoid;
}

html, body, .off-canvas-wrapper-inner, main {
  height: auto !important;
  min-height: auto !important;
}

/********************************************************************************/
/************************************ SLICK *************************************/
/********************************************************************************/
.slick-slider .slick-dots, .slick-arrow.slick-prev, .slick-arrow.slick-next, .slick-cloned {
  display: none !important;
}

.slick-track {
  width: 100% !important;
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
}

.slick-slide {
  width: auto !important;
}

/********************************************************************************/
/************************************ LOADER ************************************/
/********************************************************************************/
.reveal-overlay.load-popin, .sk-circle.qual, #loader_filters, .sk-circle, #searchLoader, .loader, .cs-loader {
  display: none !important;
}

/********************************************************************************/
/*********************************** TYPO3 **************************************/
/********************************************************************************/
.typo3-adminPanel {
  display: none !important;
}

/********************************************************************************/
/******************************* FORMULAIRES ************************************/
/********************************************************************************/
form {
  background: none !important;
}

.content_page .col_form.cell.large-6 {
  width: 100%;
  max-width: 100%;
  margin: 0 1.5rem;
  padding: 0 1.5rem;
}

legend, .like_legend, .content_page .like_legend {
  font-size: 14pt;
}

label, .input-group-label, .powermail_label.powermail_radio_legend, .powermail_label, .label, .like_label,
.ligne_form.checkbox label, .ligne_form.radio label, .powermail_fieldwrap_type_check .checkbox label, .powermail_fieldwrap_type_radio .radio label {
  font-size: 12pt;
}

.input-group-label {
  background: none;
  padding-left: 0;
}

.powermail_fieldwrap_type_text .powermail_field {
  font-size: 12pt;
}

.mandatory, .femanager_new .control-label span {
  font-size: 10pt;
}

input, select, textarea,
[type=text], [type=password], [type=date], [type=datetime], [type=datetime-local], [type=month], [type=week], [type=email], [type=number], [type=search], [type=tel], [type=time], [type=url], [type=color] {
  color: #000000;
  font-size: 12pt;
  background-color: #ffffff !important;
  border: 0.1rem solid #d3d3d3 !important;
}

input::-webkit-input-placeholder {
  color: #000000;
}

input::-moz-placeholder {
  color: #000000;
  opacity: 1 !important;
}

input:-moz-placeholder {
  color: #000000;
  opacity: 1 !important;
}

input:-ms-input-placeholder {
  color: #000000;
}

input[placeholder] {
  color: #000000;
  opacity: 1 !important;
}

.btn_submit, input[type=submit] {
  display: none;
}

/********************************************************************************/
/******************************* DATE PICKER ************************************/
/********************************************************************************/
/********************************************************************************/
/**************************** CLASSES GENERIQUES ********************************/
/********************************************************************************/
.show-for-print {
  display: block !important;
}

.hide-for-print {
  display: none !important;
}

.radius {
  border-radius: 1rem;
}

.shadow, .shadow_inset {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.grid-x, .flex-container {
  display: block;
}

.grid-x > .cell, .flex-container > * {
  display: block;
}

.sticky-container {
  height: auto !important;
}

.fade-in.mui-enter {
  opacity: 1 !important;
}

.adresse, .gmap, .horaires, .mail, .tel, .website {
  padding-left: 0 !important;
  min-height: initial !important;
}

/********************************************************************************/
/****************** BOUTONS LIENS, BOUTONS, BOUTONS CLOSE ***********************/
/********************************************************************************/
.btn_lien, .btn_all, .btn_txt, .btn_bigou, .btn_back, .button, .button_like, .close-button, .btn_close, .btn_txt_like_btn_all, .btn_all_container, .btn_kiosque {
  display: none !important;
}

/******************************************************************************************************************/
/******************************************************************************************************************/
/************************************************* LAYOUT *********************************************************/
/******************************************************************************************************************/
/******************************************************************************************************************/
/******************************************************************************************************************/
/********************************************************************************/
/**************************** STRUCTURE GENERALE ********************************/
/********************************************************************************/
.off-canvas-wrapper.connect, .off-canvas-wrapper-inner {
  height: initial;
}

html.is-reveal-open #home, html.is-reveal-open #page, html.is-reveal-open #global {
  min-height: initial;
  height: auto;
}

html.is-reveal-open, html.is-reveal-open .reveal-overlay {
  height: initial !important;
  position: initial !important;
  overflow: hidden !important;
  overflow-y: auto !important;
}

html.is-reveal-open #page {
  display: none !important;
}

#home, #page, #global {
  position: static;
  min-height: initial;
}

#main {
  position: static;
  min-height: initial;
  padding-top: 3rem !important;
  padding-bottom: 0 !important;
}

.wrap, .grid-container, main, #header, #footer {
  max-width: 65rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.content_page {
  padding-bottom: 0;
}

/********************************************************************************/
/********************************** HEADER **************************************/
/********************************************************************************/
#header {
  position: static !important;
  min-height: initial;
  page-break-inside: avoid;
  padding: 0 1.5rem;
  height: auto !important;
}

#data-sticky-header {
  height: auto;
  position: static !important;
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
  border-bottom: 0.2rem dashed #d3d3d3;
  text-align: center;
  padding: 3rem 0;
  height: auto !important;
}

#logo, #logo_world {
  margin: 0 auto;
}

#slogan p {
  font-size: 18pt;
  margin-left: 0;
  padding-left: 0;
  border-left: 0;
}

/*** REMOVED ***/
#horizontal-menu, #tools_header_link, #tarteaucitronRoot, .tx-cim-links {
  display: none !important;
}

/********************************************************************************/
/********************************** POPINS **************************************/
/********************************************************************************/
.reveal.tiny {
  min-width: 60rem;
}

/*** REMOVED ***/
#popin_alerte {
  display: none !important;
}

/********************************************************************************/
/*********************************** FOOTER *************************************/
/********************************************************************************/
#footer {
  position: static !important;
  padding: 0 1.5rem;
  text-align: center;
  margin-top: 4.5rem !important;
  page-break-inside: avoid;
}

#footer .footer_content {
  border-top: 0.1rem solid #d3d3d3;
  padding: 3rem 0;
}

#bloc_contact_info {
  padding: 0 !important;
}

#txt_footer {
  width: 100%;
}

/*** REMOVED ***/
#logo_footer, #menu_footer, #galaxie_partenaires, #back_to_top, .footer_reseaux, .footer_img {
  display: none !important;
}

/********************************************************************************/
/****************************** BANDEAU DE PAGE *********************************/
/********************************************************************************/
.bandeau_page {
  display: none !important;
}

/********************************************************************************/
/******************************** FIL D'ARIANE **********************************/
/********************************************************************************/
#fil_ariane {
  margin: 0 0 3rem 0 !important;
  padding: 0 1.5rem !important;
}

#fil_ariane .breadcrumbs {
  padding: 0 !important;
}

#fil_ariane .breadcrumbs li:not(:last-child)::after {
  content: "/";
  background: none !important;
  width: auto !important;
  height: auto !important;
  color: #000000;
  margin: 0 0.4rem 0 0.3rem !important;
}

/********************************************************************************/
/******************************* BLOC NOTE / MAJ ********************************/
/********************************************************************************/
.social_share_print {
  display: none !important;
}

/******************************************************************************************************************/
/******************************************************************************************************************/
/************************************************ TEMPLATES *******************************************************/
/******************************************************************************************************************/
/******************************************************************************************************************/
/******************************************************************************************************************/
/********************************************************************************/
/************************************* HOME *************************************/
/********************************************************************************/
.bloc_home {
  margin-bottom: 4.5rem !important;
}

.bloc_home .titre_bloc {
  margin-bottom: 1.5rem !important;
}

.bloc_home .titre_bloc .bloc_home_title {
  font-size: 22pt !important;
}

.bloc_home .bloc_home_subtitle {
  font-size: 16pt !important;
}

/*** REMOVED ***/
#zone_moteur, #bloc_carte_interactive, #galerie_en_images, #social_wall, #bloc_application, #newsletter, #bloc_kiosque, #acces_rapides {
  display: none !important;
}

/*** BLOC PROFILS ***/
#bloc_profils .item_bloc_profils {
  margin: 0 auto 3rem auto;
}

/*** BLOC CARDS ***/
#bloc_cards.bloc_home .titre_bloc .bloc_home_title, .content_page #bloc_cards.bloc_home .titre_bloc .bloc_home_title {
  width: 100% !important;
}

#bloc_cards .inner_item_bloc_cards {
  padding: 2rem !important;
}

#bloc_cards .item_bloc_cards {
  width: 50% !important;
  margin: 0 auto 3rem auto;
}

#bloc_cards .img {
  margin: 1rem auto;
}

/********************************************************************************/
/*********************************** PAGE TYPE **********************************/
/********************************************************************************/
/*** HEAD PAGE ***/
.head_page {
  margin-bottom: 3rem !important;
  padding: 0 1.5rem !important;
}

*:is(#page, #popin_detail) .titre_page *:is(h1, p) {
  font-size: 22pt !important;
}

*:is(#page, #popin_detail) .quote *:is(h2, p) {
  font-size: 14pt !important;
}

/*** GABARIT ***/
.col_left_inner {
  padding-left: 0;
  padding-right: 0;
}

.col_left, .col_right {
  width: 100% !important;
}

/*** PARAM TXT ***/
/*** TITRES ***/
.content_page *:is(h2, h3, h4, h5, h6) {
  margin: 0 0 1.5rem 0 !important;
  line-height: 1.2 !important;
}

.content_page h2 {
  font-size: 18pt !important;
}

.content_page h3 {
  font-size: 16pt !important;
}

.content_page h4 {
  font-size: 14pt !important;
}

.content_page h5 {
  font-size: 12pt !important;
}

.content_page h6 {
  font-size: 12pt !important;
}

/*** SKIN LIST ***/
.content_page ul {
  margin: 0 0 3rem 0 !important;
}

.content_page ul li {
  list-style-image: initial !important;
  list-style-type: initial !important;
}

.content_page *:is(ul, ol) li {
  list-style-position: inside !important;
  padding: 0 !important;
}

.content_page ul ul {
  margin: 0 0 0 1.5rem !important;
}

/*** CITATION ***/
.content_page blockquote {
  padding: 1.5rem !important;
  font-size: 14pt !important;
}

.content_page blockquote *:not(sub):not(sup) {
  font-size: 1em;
}

.content_page .bloc_citation .signature {
  font-size: 12pt !important;
  margin-top: 1rem !important;
}

/*** TABLEAUX ***/
.content_page table {
  border-top: 0.1rem solid #ededed;
  border-left: 0.1rem solid #ededed;
  border-right: 0.1rem solid #ededed;
}

.content_page table caption {
  font-size: 16pt !important;
}

.content_page td, .content_page th {
  padding: 1rem !important;
  font-size: 11pt !important;
  line-height: 1.2 !important;
  border-bottom: 0.1rem solid #ededed;
  text-align: left !important;
}

/*** ACCORDEONS ***/
.content_page .accordion-item {
  border: 0.1rem solid #d3d3d3 !important;
  font-size: 16pt !important;
}

.content_page .accordion {
  margin-bottom: 1.5rem !important;
}

.content_page .accordion .accordion-title {
  padding: 1.5rem !important;
}

.content_page .accordion .accordion-title::before {
  display: none !important;
}

.accordion-content {
  padding: 0 1.5rem 1.5rem 1.5rem !important;
}

/*** REMOVED ***/
.bloc_video, .bloc_diaporama_videos, .bloc_diaporama_images, .sm2-bar-ui, .zone_articles_associes, .cim_mapbox, .tx-cim-quality, .zone_ressources_download, #sommaire {
  display: none !important;
}

/********************************************************************************/
/********************************** PAGE LISTE **********************************/
/********************************************************************************/
#first_display {
  width: 100% !important;
  max-width: 100% !important;
  min-height: initial !important;
  display: block !important;
}

#list_items {
  height: auto !important;
  padding-top: 0 !important;
}

.wrap_result {
  margin-top: 0 !important;
}

/*** RESULTATS ***/
.list_item {
  border: 0.1rem solid #d3d3d3;
  width: 100% !important;
  padding: 1.5rem !important;
  margin-bottom: 1.5rem !important;
  display: block !important;
  page-break-inside: avoid;
}

.list_item > .link {
  padding-left: 0 !important;
  min-height: initial !important;
  margin: 0 !important;
  display: block !important;
}

.list_item .titre {
  font-size: 14pt !important;
}

.list_item .titre a::before {
  display: none !important;
}

.list_item .txt {
  position: static !important;
  width: 100% !important;
  padding: 0 !important;
}

.list_item .img {
  display: none;
}

.list_item .thumb-title {
  display: block !important;
}

.list_item .thumb-title > * {
  margin-top: 1rem !important;
  margin-bottom: 0 !important;
}

.list_item .thumb-title > *:first-child {
  margin-top: 0 !important;
}

.list_item .thumb-desc > :first-child {
  margin-top: 0 !important;
}

/*** ITEM RAPPEL ***/
.list_item.rappel .link {
  border: 0;
  padding: 0;
}

.list_item.rappel .col_proprietaire { /*margin-top:2rem;*/ }

.list_item.rappel .col_animal {
  margin-top: 2rem;
}

.list_item.rappel .col_produit {
  margin-top: 2rem;
}

.list_item.rappel .like_txt, .content_page .list_item.rappel .like_txt {
  font-size: 12pt !important;
}

.list_item.rappel .col_tools {
  display: none;
}

/*** CATEGORIES ***/
/*.cat::before {display:none !important;}
.cat, .list_item .cat {font-size:10pt !important; background:#eaeaea !important; padding:0.2rem 0.4rem !important;}*/
/*** DATES ***/
/*.date_container {position:static !important; transform:none !important;}
.date_container .date {display:inline-block;}
.list .list_item .date {position:static !important; transform:none !important;}
.date .contain {min-width:0 !important; min-height:0 !important; padding:1rem !important; border:0.1rem solid #000000;}
.date .contain span:is(.startdate, .enddate) {display:inline-block;}
.date .contain .startdate + .enddate {margin-top:0 !important; margin-left:1rem; padding-top:0 !important;}
.date .contain .startdate + .enddate::before {display:none !important;}
.date .contain span.txt_day_nb {font-size:16pt !important;}
.date .contain span.txt_month {font-size:12pt !important; margin-top:0.5rem !important;}*/
/*** LIEU ***/
/*.list_item .lieu {font-size:10pt !important; background:#eaeaea !important; padding:0.2rem 0.4rem !important;}*/
/*** REMOVED ***/
#moteur, #second_display, .tx-indexedsearch-browsebox {
  display: none !important;
}

/********************************************************************************/
/************************** PAGE DETAIL / POPIN DETAIL **************************/
/********************************************************************************/
#popin_detail {
  position: static !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  background: #ffffff !important;
}

/*** REMOVED ***/
.wrap_arrow {
  display: none !important;
}

/********************************************************************************/
/****************************** CARTE INTERACTIVE *******************************/
/********************************************************************************/
body #page.carto_tpl #main {
  padding: 3rem 1.5rem 0 1.5rem !important;
}

body #page.carto_tpl #fil_ariane {
  max-width: none !important;
  position: static !important;
  padding: 0 !important;
}

body #page.carto_tpl #carto #first_display {
  padding: 0 !important;
}

body #page.carto_tpl #carto #first_display #zone_results {
  padding: 0 !important;
  margin: 0 !important;
}

body #page.carto_tpl #carto #list_items {
  padding: 0 !important;
}

/******************************************************************************************************************/
/******************************************************************************************************************/
/************************************************* MODULES ********************************************************/
/******************************************************************************************************************/
/******************************************************************************************************************/
/******************************************************************************************************************/
/********************************************************************************/
/************************************ ALERTE ************************************/
/********************************************************************************/
/**/
#bandeau_alerte {
  margin-top: 0 !important;
  padding: 0 1.5rem;
}

/**/
#bandeau_alerte > .grid-x {
  padding: 1.5rem 0;
  margin: 0;
  border: 0.1rem solid #d3d3d3;
}

/**/
#bandeau_alerte > .grid-x::before {
  display: none !important;
}

/**/
#bandeau_alerte .grid-x > .cell {
  width: 100%;
  margin: 0;
}

/**/
#bandeau_alerte .grid-x .slick-slide:not(.slick-current) {
  display: none !important;
}

/**/
#bandeau_alerte .titre_bloc {
  padding: 0 !important;
}

/**/
#bandeau_alerte .titre_bloc .bloc_home_title {
  padding: 0 !important;
  font-size: 18pt !important;
}

/**/
#bandeau_alerte .list_item {
  padding: 0 !important;
  border: none !important;
  width: 100% !important;
  margin: 0 !important;
}

/*** CONNEXION ***/
.connexion .mdp_oubli {
  display: none;
}

/*** PLAN DU SITE ***/
.content_page .csc-sitemap > ul > li {
  font-size: 18pt;
}

.content_page .csc-sitemap > ul > li > ul > li {
  font-size: 16pt;
}

.content_page .csc-sitemap > ul > li > ul > li > ul > li {
  font-size: 14pt;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNjc3MvcHJpbnQuc2NzcyIsInNjc3MvcHJpbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1IQUFBO0FBQ0EsbUhBQUE7QUFDQSxtSEFBQTtBQUNBLG1IQUFBO0FBQ0EsbUhBQUE7QUFDQSxtSEFBQTtBQUVDLGlGQUFBO0FBQ0EsaUZBQUE7QUFDQSxpRkFBQTtBQUVJO0VBQU8sYUFBQTtBQ0FaO0FERUU7RUFBRyx5QkFBQTtFQUEwQixpREFBQTtFQUFnRCxtQ0FBQTtVQUFBLDJCQUFBO0VBQTRCLDRCQUFBO0VBQTZCLG1DQUFBO0VBQUEsMkJBQUE7RUFBNEIscUJBQUE7QUNNcEs7O0FESkU7RUFBTSw4QkFBQTtFQUErQix5QkFBQTtBQ1N2Qzs7QURQRTtFQUFHLGdDQUFBO0FDV0w7O0FEVlE7RUFBZSxzQkFBQTtBQ2N2Qjs7QURaRTtFQUFpRCxlQUFBO0VBQWdCLDJCQUFBO0FDaUJuRTs7QURoQkU7RUFBZSxVQUFBO0VBQVcsU0FBQTtBQ3FCNUI7O0FEcEJRO0VBQVcsVUFBQTtFQUFXLFNBQUE7QUN5QjlCOztBRHZCRTtFQUFvQix3QkFBQTtBQzJCdEI7O0FEekJFO0VBQVcsaUJBQUE7RUFBa0Isa0RBQUE7QUM4Qi9COztBRDdCRTtFQUFPLGtCQUFBO0VBQW1CLGtEQUFBO0FDa0M1Qjs7QURqQ0U7RUFBZ0Usa0JBQUE7RUFBbUIsaUJBQUE7RUFBa0Isa0RBQUE7QUN1Q3ZHOztBRHRDUTtFQUFVLDRCQUFBO0FDMENsQjs7QUR4Q0U7RUFBNEIsd0JBQUE7QUM0QzlCOztBRDFDRTtFQUE2Qyx1QkFBQTtFQUF3QiwyQkFBQTtBQytDdkU7O0FENUNDLGlGQUFBO0FBQ0EsaUZBQUE7QUFDQSxpRkFBQTtBQUVDO0VBQTRGLHdCQUFBO0FDK0M5Rjs7QUQ5Q1E7RUFBYyxzQkFBQTtFQUF1QixrQ0FBQTtNQUFBLDhCQUFBO1VBQUEsMEJBQUE7QUNtRDdDOztBRGxEUTtFQUFjLHNCQUFBO0FDc0R0Qjs7QURwREMsaUZBQUE7QUFDQSxpRkFBQTtBQUNB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QixvQkFBQTtBQzhhOUc7O0FENWFJLGtCQUFBO0FBQ0E7RUFBdUIsYUFBQTtBQ2diM0I7O0FEOWFJLHFCQUFBO0FBQ0E7RUFBc0MsZUFBQTtBQ2tiMUM7O0FEamJJO0VBQWdELGVBQUE7QUNxYnBEOztBRHBiSTtFQUEwRCxlQUFBO0FDd2I5RCIsImZpbGUiOiJzY3NzL3ByaW50Lm1pbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBSRVNFVCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBOT1JNQUxJU0FUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0ICAgIEBwYWdlIHttYXJnaW46MC41Y207fVxyXG5cclxuXHRcdCoge2NvbG9yOiMwMDAwMDAgIWltcG9ydGFudDsgZm9udC1mYW1pbHk6VGFob21hLEFyaWFsLHNhbnMtc2VyaWYgIWltcG9ydGFudDsgYm94LXNoYWRvdzpub25lICFpbXBvcnRhbnQ7IHRleHQtc2hhZG93Om5vbmUgIWltcG9ydGFudDsgdHJhbnNpdGlvbjpub25lICFpbXBvcnRhbnQ7IG9wYWNpdHk6MSAhaW1wb3J0YW50O31cclxuXHJcblx0XHRib2R5IHtiYWNrZ3JvdW5kOiNmZmZmZmYgIWltcG9ydGFudDsgY29sb3I6IzAwMDAwMCAhaW1wb3J0YW50O31cclxuXHJcblx0XHRhIHt0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50O31cclxuICAgICAgICBhW2hyZWZdOmFmdGVyIHtjb250ZW50OicnICFpbXBvcnRhbnQ7fVxyXG5cclxuXHRcdHAsIHVsIGxpLCBvbCBsaSwgbWFpbiBwLCBtYWluIHVsIGxpLCBtYWluIG9sIGxpIHtmb250LXNpemU6MTJwdDsgbGluZS1oZWlnaHQ6MS4yICFpbXBvcnRhbnQ7fVxyXG5cdFx0cCwgYmxvY2txdW90ZSB7b3JwaGFuczoyOyB3aWRvd3M6Mjt9XHJcbiAgICAgICAgcCwgaDIsIGgzIHtvcnBoYW5zOjM7IHdpZG93czozO31cclxuXHJcblx0XHRibG9ja3F1b3RlLCB1bCwgb2wge3BhZ2UtYnJlYWstaW5zaWRlOmF2b2lkO31cclxuXHJcblx0XHRzdHJvbmcsIGIge2ZvbnQtd2VpZ2h0OmJvbGQ7IGZvbnQtZmFtaWx5OkFyaWFsLFZlcmRhbmEsc2Fucy1zZXJpZiAhaW1wb3J0YW50O31cclxuXHRcdGksIGVtIHtmb250LXN0eWxlOml0YWxpYzsgZm9udC1mYW1pbHk6QXJpYWwsVmVyZGFuYSxzYW5zLXNlcmlmICFpbXBvcnRhbnQ7fVxyXG5cdFx0c3Ryb25nIGVtLCBzdHJvbmcgaSwgZW0gc3Ryb25nLCBpIHN0cm9uZywgYiBlbSwgYiBpLCBlbSBiLCBpIGIge2ZvbnQtc3R5bGU6aXRhbGljOyBmb250LXdlaWdodDpib2xkOyBmb250LWZhbWlseTpBcmlhbCxWZXJkYW5hLHNhbnMtc2VyaWYgIWltcG9ydGFudDt9XHJcbiAgICAgICAgc3ViLCBzdXAge2ZvbnQtc2l6ZTowLjc1ZW0gIWltcG9ydGFudDt9XHJcblxyXG5cdFx0dGFibGUsIC5wb3dlcm1haWxfZmllbGRzZXQge3BhZ2UtYnJlYWstaW5zaWRlOmF2b2lkO31cclxuXHJcblx0XHRodG1sLCBib2R5LCAub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyLCBtYWluIHtoZWlnaHQ6YXV0byAhaW1wb3J0YW50OyBtaW4taGVpZ2h0OmF1dG8gIWltcG9ydGFudDt9XHJcblxyXG5cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBTTElDSyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0XHQuc2xpY2stc2xpZGVyIC5zbGljay1kb3RzLCAuc2xpY2stYXJyb3cuc2xpY2stcHJldiwgLnNsaWNrLWFycm93LnNsaWNrLW5leHQsIC5zbGljay1jbG9uZWQge2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O31cclxuICAgICAgICAuc2xpY2stdHJhY2sge3dpZHRoOjEwMCUgIWltcG9ydGFudDsgdHJhbnNmb3JtOm5vbmUgIWltcG9ydGFudDt9XHJcbiAgICAgICAgLnNsaWNrLXNsaWRlIHt3aWR0aDphdXRvICFpbXBvcnRhbnQ7fVxyXG5cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBMT0FERVIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0XHQucmV2ZWFsLW92ZXJsYXkubG9hZC1wb3BpbiwgLnNrLWNpcmNsZS5xdWFsLCAjbG9hZGVyX2ZpbHRlcnMsIC5zay1jaXJjbGUsICNzZWFyY2hMb2FkZXIsIC5sb2FkZXIsIC5jcy1sb2FkZXIge2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O31cclxuXHJcblxyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogVFlQTzMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuICAgICAgICAudHlwbzMtYWRtaW5QYW5lbCB7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fVxyXG5cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogRk9STVVMQUlSRVMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0XHRmb3JtIHtiYWNrZ3JvdW5kOm5vbmUgIWltcG9ydGFudDt9XHJcblxyXG4gICAgICAgIC5jb250ZW50X3BhZ2UgLmNvbF9mb3JtLmNlbGwubGFyZ2UtNiB7d2lkdGg6MTAwJTsgbWF4LXdpZHRoOjEwMCU7IG1hcmdpbjowIDEuNXJlbTsgcGFkZGluZzowIDEuNXJlbTt9XHJcblxyXG5cdFx0bGVnZW5kLCAubGlrZV9sZWdlbmQsIC5jb250ZW50X3BhZ2UgLmxpa2VfbGVnZW5kIHtmb250LXNpemU6MTRwdDt9XHJcblxyXG5cdFx0bGFiZWwsIC5pbnB1dC1ncm91cC1sYWJlbCwgLnBvd2VybWFpbF9sYWJlbC5wb3dlcm1haWxfcmFkaW9fbGVnZW5kLCAucG93ZXJtYWlsX2xhYmVsLCAubGFiZWwsIC5saWtlX2xhYmVsLCBcclxuICAgICAgICAubGlnbmVfZm9ybS5jaGVja2JveCBsYWJlbCwgLmxpZ25lX2Zvcm0ucmFkaW8gbGFiZWwsIC5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfY2hlY2sgLmNoZWNrYm94IGxhYmVsLCAucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX3JhZGlvIC5yYWRpbyBsYWJlbCB7Zm9udC1zaXplOjEycHQ7fVxyXG5cdFx0LmlucHV0LWdyb3VwLWxhYmVsIHtiYWNrZ3JvdW5kOm5vbmU7IHBhZGRpbmctbGVmdDowO31cclxuXHRcdC5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfdGV4dCAucG93ZXJtYWlsX2ZpZWxkIHtmb250LXNpemU6MTJwdDt9XHJcbiAgICAgICAgLm1hbmRhdG9yeSwgLmZlbWFuYWdlcl9uZXcgLmNvbnRyb2wtbGFiZWwgc3BhbiB7Zm9udC1zaXplOjEwcHQ7fVxyXG5cclxuXHRcdGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLFxyXG5cdFx0W3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddIHtjb2xvcjojMDAwMDAwOyBmb250LXNpemU6MTJwdDsgYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmICFpbXBvcnRhbnQ7IGJvcmRlcjowLjFyZW0gc29saWQgI2QzZDNkMyAhaW1wb3J0YW50O31cclxuXHJcbiAgICAgICAgaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge2NvbG9yOiMwMDAwMDA7fVxyXG4gICAgICAgIGlucHV0OjotbW96LXBsYWNlaG9sZGVyIHtjb2xvcjojMDAwMDAwOyBvcGFjaXR5OjEgIWltcG9ydGFudDt9XHJcbiAgICAgICAgaW5wdXQ6LW1vei1wbGFjZWhvbGRlciB7Y29sb3I6IzAwMDAwMDsgb3BhY2l0eToxICFpbXBvcnRhbnQ7fVxyXG4gICAgICAgIGlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7Y29sb3I6IzAwMDAwMDt9XHJcbiAgICAgICAgaW5wdXRbcGxhY2Vob2xkZXJdIHtjb2xvcjojMDAwMDAwOyBvcGFjaXR5OjEgIWltcG9ydGFudDt9XHJcblxyXG5cdFx0LmJ0bl9zdWJtaXQsIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge2Rpc3BsYXk6bm9uZTt9XHJcblxyXG5cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogREFURSBQSUNLRVIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBDTEFTU0VTIEdFTkVSSVFVRVMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuICAgICAgICAuc2hvdy1mb3ItcHJpbnQge2Rpc3BsYXk6YmxvY2sgIWltcG9ydGFudDt9XHJcbiAgICAgICAgLmhpZGUtZm9yLXByaW50IHtkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9XHJcblxyXG5cdFx0LnJhZGl1cyB7Ym9yZGVyLXJhZGl1czoxcmVtO31cclxuXHRcdC5zaGFkb3csIC5zaGFkb3dfaW5zZXQge2JveC1zaGFkb3c6bm9uZTt9XHJcblx0XHQuZ3JpZC14LCAuZmxleC1jb250YWluZXIge2Rpc3BsYXk6YmxvY2s7fVxyXG5cdFx0LmdyaWQteCA+IC5jZWxsLCAuZmxleC1jb250YWluZXIgPiAqIHtkaXNwbGF5OmJsb2NrO31cclxuICAgICAgICAuc3RpY2t5LWNvbnRhaW5lciB7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDt9XHJcblxyXG5cdFx0LmZhZGUtaW4ubXVpLWVudGVyIHtvcGFjaXR5OjEgIWltcG9ydGFudDt9XHJcblxyXG4gICAgICAgIC5hZHJlc3NlLCAuZ21hcCwgLmhvcmFpcmVzLCAubWFpbCwgLnRlbCwgLndlYnNpdGUge3BhZGRpbmctbGVmdDowICFpbXBvcnRhbnQ7IG1pbi1oZWlnaHQ6aW5pdGlhbCAhaW1wb3J0YW50O31cclxuXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKiogQk9VVE9OUyBMSUVOUywgQk9VVE9OUywgQk9VVE9OUyBDTE9TRSAqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cdFx0LmJ0bl9saWVuLCAuYnRuX2FsbCwgLmJ0bl90eHQsIC5idG5fYmlnb3UsIC5idG5fYmFjaywgLmJ1dHRvbiwgLmJ1dHRvbl9saWtlLCAuY2xvc2UtYnV0dG9uLCAuYnRuX2Nsb3NlLCAuYnRuX3R4dF9saWtlX2J0bl9hbGwsIC5idG5fYWxsX2NvbnRhaW5lciwgLmJ0bl9raW9zcXVlIHtkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogTEFZT1VUICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqIFNUUlVDVFVSRSBHRU5FUkFMRSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cdFx0Lm9mZi1jYW52YXMtd3JhcHBlci5jb25uZWN0LCAub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyIHtoZWlnaHQ6aW5pdGlhbDt9XHJcblx0XHRodG1sLmlzLXJldmVhbC1vcGVuICNob21lLCBodG1sLmlzLXJldmVhbC1vcGVuICNwYWdlLCBodG1sLmlzLXJldmVhbC1vcGVuICNnbG9iYWwge21pbi1oZWlnaHQ6aW5pdGlhbDsgaGVpZ2h0OmF1dG87fVxyXG4gICAgICAgIGh0bWwuaXMtcmV2ZWFsLW9wZW4sIGh0bWwuaXMtcmV2ZWFsLW9wZW4gLnJldmVhbC1vdmVybGF5ICB7aGVpZ2h0OmluaXRpYWwgIWltcG9ydGFudDsgcG9zaXRpb246aW5pdGlhbCAhaW1wb3J0YW50OyBvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudDsgb3ZlcmZsb3cteTphdXRvICFpbXBvcnRhbnQ7fVxyXG5cclxuICAgICAgICBodG1sLmlzLXJldmVhbC1vcGVuICNwYWdlIHtkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9XHJcblxyXG4gICAgICAgICNob21lLCAjcGFnZSwgI2dsb2JhbCB7cG9zaXRpb246c3RhdGljOyBtaW4taGVpZ2h0OmluaXRpYWw7fVxyXG4gICAgICAgICNtYWluIHtwb3NpdGlvbjpzdGF0aWM7IG1pbi1oZWlnaHQ6aW5pdGlhbDsgcGFkZGluZy10b3A6M3JlbSAhaW1wb3J0YW50OyBwYWRkaW5nLWJvdHRvbTowICFpbXBvcnRhbnQ7fVxyXG5cclxuXHRcdC53cmFwLCAuZ3JpZC1jb250YWluZXIsIG1haW4sICNoZWFkZXIsICNmb290ZXIge21heC13aWR0aDo2NXJlbSAhaW1wb3J0YW50OyBtYXJnaW4tbGVmdDphdXRvICFpbXBvcnRhbnQ7IG1hcmdpbi1yaWdodDphdXRvICFpbXBvcnRhbnQ7fVxyXG5cdFx0LmNvbnRlbnRfcGFnZSB7cGFkZGluZy1ib3R0b206MDt9XHJcblxyXG5cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogSEVBREVSICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbiAgICAgICAgI2hlYWRlciB7cG9zaXRpb246c3RhdGljICFpbXBvcnRhbnQ7IG1pbi1oZWlnaHQ6aW5pdGlhbDsgcGFnZS1icmVhay1pbnNpZGU6YXZvaWQ7IHBhZGRpbmc6MCAxLjVyZW07IGhlaWdodDphdXRvICFpbXBvcnRhbnQ7fVxyXG4gICAgICAgICNkYXRhLXN0aWNreS1oZWFkZXIge2hlaWdodDphdXRvOyBwb3NpdGlvbjpzdGF0aWMgIWltcG9ydGFudDsgdHJhbnNmb3JtOm5vbmUgIWltcG9ydGFudDsgYm9yZGVyLWJvdHRvbTowLjJyZW0gZGFzaGVkICNkM2QzZDM7IHRleHQtYWxpZ246Y2VudGVyOyBwYWRkaW5nOjNyZW0gMDsgaGVpZ2h0OmF1dG8gIWltcG9ydGFudDt9XHJcbiAgICAgICAgI2xvZ28sICNsb2dvX3dvcmxkIHttYXJnaW46MCBhdXRvO31cclxuICAgICAgICAjc2xvZ2FuIHAge2ZvbnQtc2l6ZToxOHB0OyBtYXJnaW4tbGVmdDowOyBwYWRkaW5nLWxlZnQ6MDsgYm9yZGVyLWxlZnQ6MDt9XHJcblxyXG4gICAgICAgIC8qKiogUkVNT1ZFRCAqKiovXHJcbiAgICAgICAgICAgICNob3Jpem9udGFsLW1lbnUsICN0b29sc19oZWFkZXJfbGluaywgI3RhcnRlYXVjaXRyb25Sb290LCAudHgtY2ltLWxpbmtzIHtkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9XHJcblxyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBQT1BJTlMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHRcdC5yZXZlYWwudGlueSB7bWluLXdpZHRoOjYwcmVtO31cclxuXHJcbiAgICAgICAgLyoqKiBSRU1PVkVEICoqKi9cclxuICAgICAgICAgICAgI3BvcGluX2FsZXJ0ZSB7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fVxyXG5cclxuXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBGT09URVIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4gICAgICAgICNmb290ZXIge3Bvc2l0aW9uOnN0YXRpYyAhaW1wb3J0YW50OyBwYWRkaW5nOjAgMS41cmVtOyB0ZXh0LWFsaWduOmNlbnRlcjsgbWFyZ2luLXRvcDo0LjVyZW0gIWltcG9ydGFudDsgcGFnZS1icmVhay1pbnNpZGU6YXZvaWQ7fVxyXG4gICAgICAgICNmb290ZXIgLmZvb3Rlcl9jb250ZW50IHtib3JkZXItdG9wOjAuMXJlbSBzb2xpZCAjZDNkM2QzOyBwYWRkaW5nOjNyZW0gMDt9XHJcbiAgICAgICAgI2Jsb2NfY29udGFjdF9pbmZvIHtwYWRkaW5nOjAgIWltcG9ydGFudDt9XHJcbiAgICAgICAgI3R4dF9mb290ZXIge3dpZHRoOjEwMCU7fVxyXG5cclxuICAgICAgICAvKioqIFJFTU9WRUQgKioqL1xyXG4gICAgICAgICAgICAjbG9nb19mb290ZXIsICNtZW51X2Zvb3RlciwgI2dhbGF4aWVfcGFydGVuYWlyZXMsICNiYWNrX3RvX3RvcCwgLmZvb3Rlcl9yZXNlYXV4LCAuZm9vdGVyX2ltZyB7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fVxyXG5cclxuXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogQkFOREVBVSBERSBQQUdFICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4gICAgICAgIC5iYW5kZWF1X3BhZ2Uge2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O31cclxuXHJcblxyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogRklMIEQnQVJJQU5FICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuICAgICAgICAjZmlsX2FyaWFuZSB7bWFyZ2luOjAgMCAzcmVtIDAgIWltcG9ydGFudDsgcGFkZGluZzowIDEuNXJlbSAhaW1wb3J0YW50O31cclxuICAgICAgICAjZmlsX2FyaWFuZSAuYnJlYWRjcnVtYnMge3BhZGRpbmc6MCAhaW1wb3J0YW50O31cclxuICAgICAgICAjZmlsX2FyaWFuZSAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge2NvbnRlbnQ6Jy8nOyBiYWNrZ3JvdW5kOm5vbmUgIWltcG9ydGFudDsgd2lkdGg6YXV0byAhaW1wb3J0YW50OyBoZWlnaHQ6YXV0byAhaW1wb3J0YW50OyBjb2xvcjojMDAwMDAwOyBtYXJnaW46MCAwLjRyZW0gMCAwLjNyZW0gIWltcG9ydGFudDt9XHJcblxyXG5cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogQkxPQyBOT1RFIC8gTUFKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbiAgICAgICAgLnNvY2lhbF9zaGFyZV9wcmludCB7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogVEVNUExBVEVTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cclxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEhPTUUgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbiAgICAgICAgLmJsb2NfaG9tZSB7bWFyZ2luLWJvdHRvbTo0LjVyZW0gIWltcG9ydGFudDt9XHJcbiAgICAgICAgLmJsb2NfaG9tZSAudGl0cmVfYmxvYyB7bWFyZ2luLWJvdHRvbToxLjVyZW0gIWltcG9ydGFudDt9XHJcbiAgICAgICAgLmJsb2NfaG9tZSAudGl0cmVfYmxvYyAuYmxvY19ob21lX3RpdGxlIHtmb250LXNpemU6MjJwdCAhaW1wb3J0YW50O31cclxuICAgICAgICAuYmxvY19ob21lIC5ibG9jX2hvbWVfc3VidGl0bGUge2ZvbnQtc2l6ZToxNnB0ICFpbXBvcnRhbnQ7fVxyXG5cclxuICAgICAgICAvKioqIFJFTU9WRUQgKioqL1xyXG4gICAgICAgICAgICAjem9uZV9tb3RldXIsICNibG9jX2NhcnRlX2ludGVyYWN0aXZlLCAjZ2FsZXJpZV9lbl9pbWFnZXMsICNzb2NpYWxfd2FsbCwgI2Jsb2NfYXBwbGljYXRpb24sICNuZXdzbGV0dGVyLCAjYmxvY19raW9zcXVlLCAjYWNjZXNfcmFwaWRlcyB7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fVxyXG5cclxuICAgICAgICAgLyoqKiBCTE9DIFBST0ZJTFMgKioqL1xyXG4gICAgICAgICAgICAjYmxvY19wcm9maWxzIC5pdGVtX2Jsb2NfcHJvZmlscyB7bWFyZ2luOjAgYXV0byAzcmVtIGF1dG87fVxyXG4gICAgICAgIFxyXG4gICAgICAgIC8qKiogQkxPQyBDQVJEUyAqKiovXHJcbiAgICAgICAgICAgICNibG9jX2NhcmRzLmJsb2NfaG9tZSAudGl0cmVfYmxvYyAuYmxvY19ob21lX3RpdGxlLCAuY29udGVudF9wYWdlICNibG9jX2NhcmRzLmJsb2NfaG9tZSAudGl0cmVfYmxvYyAuYmxvY19ob21lX3RpdGxlIHt3aWR0aDoxMDAlICFpbXBvcnRhbnQ7fVxyXG4gICAgICAgICAgICAjYmxvY19jYXJkcyAuaW5uZXJfaXRlbV9ibG9jX2NhcmRzIHtwYWRkaW5nOjJyZW0gIWltcG9ydGFudDt9XHJcbiAgICAgICAgICAgICNibG9jX2NhcmRzIC5pdGVtX2Jsb2NfY2FyZHMge3dpZHRoOjUwJSAhaW1wb3J0YW50OyBtYXJnaW46MCBhdXRvIDNyZW0gYXV0bzt9XHJcbiAgICAgICAgICAgICNibG9jX2NhcmRzIC5pbWcge21hcmdpbjoxcmVtIGF1dG87fVxyXG5cclxuXHJcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogUEFHRSBUWVBFICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4gICAgICAgIC8qKiogSEVBRCBQQUdFICoqKi9cclxuICAgICAgICAgICAgLmhlYWRfcGFnZSB7bWFyZ2luLWJvdHRvbTozcmVtICFpbXBvcnRhbnQ7IHBhZGRpbmc6MCAxLjVyZW0gIWltcG9ydGFudDt9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAqOmlzKCNwYWdlLCAjcG9waW5fZGV0YWlsKSAudGl0cmVfcGFnZSAqOmlzKGgxLCBwKSB7Zm9udC1zaXplOjIycHQgIWltcG9ydGFudDt9XHJcbiAgICAgICAgICAgICo6aXMoI3BhZ2UsICNwb3Bpbl9kZXRhaWwpIC5xdW90ZSAqOmlzKGgyLCBwKSB7Zm9udC1zaXplOjE0cHQgIWltcG9ydGFudDt9XHJcblxyXG4gICAgICAgIC8qKiogR0FCQVJJVCAqKiovXHJcblx0XHRcdC5jb2xfbGVmdF9pbm5lciB7cGFkZGluZy1sZWZ0OjA7IHBhZGRpbmctcmlnaHQ6MDt9XHJcbiAgICAgICAgICAgIC5jb2xfbGVmdCwgLmNvbF9yaWdodCB7d2lkdGg6MTAwJSAhaW1wb3J0YW50O31cclxuXHJcbiAgICAgICAgLyoqKiBQQVJBTSBUWFQgKioqL1xyXG4gICAgICAgICAgICAvKioqIFRJVFJFUyAqKiovXHJcbiAgICAgICAgICAgICAgICAuY29udGVudF9wYWdlICo6aXMoaDIsIGgzLCBoNCwgaDUsIGg2KSB7bWFyZ2luOjAgMCAxLjVyZW0gMCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjIgIWltcG9ydGFudDt9XHJcbiAgICAgICAgICAgICAgICAuY29udGVudF9wYWdlIGgyIHtmb250LXNpemU6MThwdCAhaW1wb3J0YW50O31cclxuICAgICAgICAgICAgICAgIC5jb250ZW50X3BhZ2UgaDMge2ZvbnQtc2l6ZToxNnB0ICFpbXBvcnRhbnQ7fVxyXG4gICAgICAgICAgICAgICAgLmNvbnRlbnRfcGFnZSBoNCB7Zm9udC1zaXplOjE0cHQgIWltcG9ydGFudDt9XHJcbiAgICAgICAgICAgICAgICAuY29udGVudF9wYWdlIGg1IHtmb250LXNpemU6MTJwdCAhaW1wb3J0YW50O31cclxuICAgICAgICAgICAgICAgIC5jb250ZW50X3BhZ2UgaDYge2ZvbnQtc2l6ZToxMnB0ICFpbXBvcnRhbnQ7fVxyXG5cclxuICAgICAgICAvKioqIFNLSU4gTElTVCAqKiovXHJcbiAgICAgICAgICAgIC5jb250ZW50X3BhZ2UgdWwge21hcmdpbjowIDAgM3JlbSAwICFpbXBvcnRhbnQ7fVxyXG4gICAgICAgICAgICAuY29udGVudF9wYWdlIHVsIGxpIHtsaXN0LXN0eWxlLWltYWdlOmluaXRpYWwgIWltcG9ydGFudDsgbGlzdC1zdHlsZS10eXBlOmluaXRpYWwgIWltcG9ydGFudDt9XHJcbiAgICAgICAgICAgIC5jb250ZW50X3BhZ2UgKjppcyh1bCwgb2wpIGxpIHtsaXN0LXN0eWxlLXBvc2l0aW9uOmluc2lkZSAhaW1wb3J0YW50OyBwYWRkaW5nOjAgIWltcG9ydGFudDt9XHJcbiAgICAgICAgICAgIC5jb250ZW50X3BhZ2UgdWwgdWwge21hcmdpbjowIDAgMCAxLjVyZW0gIWltcG9ydGFudDt9XHJcblxyXG4gICAgICAgIC8qKiogQ0lUQVRJT04gKioqL1xyXG4gICAgICAgICAgICAuY29udGVudF9wYWdlIGJsb2NrcXVvdGUge3BhZGRpbmc6MS41cmVtICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToxNHB0ICFpbXBvcnRhbnQ7fVxyXG4gICAgICAgICAgICAuY29udGVudF9wYWdlIGJsb2NrcXVvdGUgKjpub3Qoc3ViKTpub3Qoc3VwKSB7Zm9udC1zaXplOjFlbTt9XHJcbiAgICAgICAgICAgIC5jb250ZW50X3BhZ2UgLmJsb2NfY2l0YXRpb24gLnNpZ25hdHVyZSB7Zm9udC1zaXplOjEycHQgIWltcG9ydGFudDsgbWFyZ2luLXRvcDoxcmVtICFpbXBvcnRhbnQ7fVxyXG5cclxuICAgICAgICAvKioqIFRBQkxFQVVYICoqKi9cclxuICAgICAgICAgICAgLmNvbnRlbnRfcGFnZSB0YWJsZSB7Ym9yZGVyLXRvcDowLjFyZW0gc29saWQgI2VkZWRlZDsgYm9yZGVyLWxlZnQ6MC4xcmVtIHNvbGlkICNlZGVkZWQ7IGJvcmRlci1yaWdodDowLjFyZW0gc29saWQgI2VkZWRlZDt9XHJcbiAgICAgICAgICAgIC5jb250ZW50X3BhZ2UgdGFibGUgY2FwdGlvbiB7Zm9udC1zaXplOjE2cHQgIWltcG9ydGFudDt9XHJcbiAgICAgICAgICAgIC5jb250ZW50X3BhZ2UgdGQsIC5jb250ZW50X3BhZ2UgdGgge3BhZGRpbmc6MXJlbSAhaW1wb3J0YW50OyBmb250LXNpemU6MTFwdCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDoxLjIgIWltcG9ydGFudDsgYm9yZGVyLWJvdHRvbTowLjFyZW0gc29saWQgI2VkZWRlZDsgdGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7fVxyXG5cclxuICAgICAgICAvKioqIEFDQ09SREVPTlMgKioqL1xyXG4gICAgICAgICAgICAuY29udGVudF9wYWdlIC5hY2NvcmRpb24taXRlbSB7Ym9yZGVyOjAuMXJlbSBzb2xpZCAjZDNkM2QzICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZToxNnB0ICFpbXBvcnRhbnQ7fVxyXG4gICAgICAgICAgICAuY29udGVudF9wYWdlIC5hY2NvcmRpb24ge21hcmdpbi1ib3R0b206MS41cmVtICFpbXBvcnRhbnQ7fVxyXG4gICAgICAgICAgICAuY29udGVudF9wYWdlIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZSB7cGFkZGluZzoxLjVyZW0gIWltcG9ydGFudDt9XHJcbiAgICAgICAgICAgIC5jb250ZW50X3BhZ2UgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O31cclxuICAgICAgICAgICAgLmFjY29yZGlvbi1jb250ZW50IHtwYWRkaW5nOjAgMS41cmVtIDEuNXJlbSAxLjVyZW0gIWltcG9ydGFudDt9XHJcblxyXG4gICAgICAgIC8qKiogUkVNT1ZFRCAqKiovXHJcbiAgICAgICAgICAgIC5ibG9jX3ZpZGVvLCAuYmxvY19kaWFwb3JhbWFfdmlkZW9zLCAuYmxvY19kaWFwb3JhbWFfaW1hZ2VzLCAuc20yLWJhci11aSwgLnpvbmVfYXJ0aWNsZXNfYXNzb2NpZXMsIC5jaW1fbWFwYm94LCAudHgtY2ltLXF1YWxpdHksIC56b25lX3Jlc3NvdXJjZXNfZG93bmxvYWQsICNzb21tYWlyZSB7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fVxyXG5cclxuXHJcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBQQUdFIExJU1RFICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4gICAgICAgICNmaXJzdF9kaXNwbGF5IHt3aWR0aDoxMDAlICFpbXBvcnRhbnQ7IG1heC13aWR0aDoxMDAlICFpbXBvcnRhbnQ7IG1pbi1oZWlnaHQ6aW5pdGlhbCAhaW1wb3J0YW50OyBkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7fVxyXG4gICAgICAgICNsaXN0X2l0ZW1zIHtoZWlnaHQ6YXV0byAhaW1wb3J0YW50OyBwYWRkaW5nLXRvcDowICFpbXBvcnRhbnQ7fVxyXG4gICAgICAgIC53cmFwX3Jlc3VsdCB7bWFyZ2luLXRvcDowICFpbXBvcnRhbnQ7fVxyXG5cclxuICAgICAgICAvKioqIFJFU1VMVEFUUyAqKiovXHJcbiAgICAgICAgICAgIC5saXN0X2l0ZW0ge2JvcmRlcjowLjFyZW0gc29saWQgI2QzZDNkMzsgd2lkdGg6MTAwJSAhaW1wb3J0YW50OyBwYWRkaW5nOjEuNXJlbSAhaW1wb3J0YW50OyBtYXJnaW4tYm90dG9tOjEuNXJlbSAhaW1wb3J0YW50OyBkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7IHBhZ2UtYnJlYWstaW5zaWRlOmF2b2lkO31cclxuICAgICAgICAgICAgLmxpc3RfaXRlbSA+IC5saW5rIHtwYWRkaW5nLWxlZnQ6MCAhaW1wb3J0YW50OyBtaW4taGVpZ2h0OmluaXRpYWwgIWltcG9ydGFudDsgbWFyZ2luOjAgIWltcG9ydGFudDsgZGlzcGxheTpibG9jayAhaW1wb3J0YW50O31cclxuICAgICAgICAgICAgLmxpc3RfaXRlbSAudGl0cmUge2ZvbnQtc2l6ZToxNHB0ICFpbXBvcnRhbnQ7fVxyXG4gICAgICAgICAgICAubGlzdF9pdGVtIC50aXRyZSBhOjpiZWZvcmUge2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O31cclxuICAgICAgICAgICAgLmxpc3RfaXRlbSAudHh0IHtwb3NpdGlvbjpzdGF0aWMgIWltcG9ydGFudDsgd2lkdGg6MTAwJSAhaW1wb3J0YW50OyBwYWRkaW5nOjAgIWltcG9ydGFudDt9XHJcbiAgICAgICAgICAgIC5saXN0X2l0ZW0gLmltZyB7ZGlzcGxheTpub25lO31cclxuICAgICAgICAgICAgLmxpc3RfaXRlbSAudGh1bWItdGl0bGUge2Rpc3BsYXk6YmxvY2sgIWltcG9ydGFudDt9XHJcbiAgICAgICAgICAgIC5saXN0X2l0ZW0gLnRodW1iLXRpdGxlID4gKiB7bWFyZ2luLXRvcDoxcmVtICFpbXBvcnRhbnQ7IG1hcmdpbi1ib3R0b206MCAhaW1wb3J0YW50O31cclxuICAgICAgICAgICAgLmxpc3RfaXRlbSAudGh1bWItdGl0bGUgPiAqOmZpcnN0LWNoaWxkIHttYXJnaW4tdG9wOjAgIWltcG9ydGFudDt9XHJcbiAgICAgICAgICAgIC5saXN0X2l0ZW0gLnRodW1iLWRlc2MgPiA6Zmlyc3QtY2hpbGQge21hcmdpbi10b3A6MCAhaW1wb3J0YW50O31cclxuXHJcbiAgICAgICAgICAgIC8qKiogSVRFTSBSQVBQRUwgKioqL1xyXG4gICAgICAgICAgICAgICAgLmxpc3RfaXRlbS5yYXBwZWwgLmxpbmsge2JvcmRlcjowOyBwYWRkaW5nOjA7fVxyXG4gICAgICAgICAgICAgICAgLmxpc3RfaXRlbS5yYXBwZWwgLmNvbF9wcm9wcmlldGFpcmUgey8qbWFyZ2luLXRvcDoycmVtOyovfVxyXG4gICAgICAgICAgICAgICAgLmxpc3RfaXRlbS5yYXBwZWwgLmNvbF9hbmltYWwge21hcmdpbi10b3A6MnJlbTt9XHJcbiAgICAgICAgICAgICAgICAubGlzdF9pdGVtLnJhcHBlbCAuY29sX3Byb2R1aXQge21hcmdpbi10b3A6MnJlbTt9XHJcbiAgICAgICAgICAgICAgICAubGlzdF9pdGVtLnJhcHBlbCAubGlrZV90eHQsIC5jb250ZW50X3BhZ2UgLmxpc3RfaXRlbS5yYXBwZWwgLmxpa2VfdHh0IHtmb250LXNpemU6MTJwdCAhaW1wb3J0YW50O31cclxuICAgICAgICAgICAgICAgIC5saXN0X2l0ZW0ucmFwcGVsIC5jb2xfdG9vbHMge2Rpc3BsYXk6bm9uZTt9XHJcblxyXG4gICAgICAgICAgICAvKioqIENBVEVHT1JJRVMgKioqL1xyXG4gICAgICAgICAgICAgICAgLyouY2F0OjpiZWZvcmUge2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O31cclxuICAgICAgICAgICAgICAgIC5jYXQsIC5saXN0X2l0ZW0gLmNhdCB7Zm9udC1zaXplOjEwcHQgIWltcG9ydGFudDsgYmFja2dyb3VuZDojZWFlYWVhICFpbXBvcnRhbnQ7IHBhZGRpbmc6MC4ycmVtIDAuNHJlbSAhaW1wb3J0YW50O30qL1xyXG5cclxuICAgICAgICAgICAgLyoqKiBEQVRFUyAqKiovXHJcbiAgICAgICAgICAgICAgICAvKi5kYXRlX2NvbnRhaW5lciB7cG9zaXRpb246c3RhdGljICFpbXBvcnRhbnQ7IHRyYW5zZm9ybTpub25lICFpbXBvcnRhbnQ7fVxyXG4gICAgICAgICAgICAgICAgLmRhdGVfY29udGFpbmVyIC5kYXRlIHtkaXNwbGF5OmlubGluZS1ibG9jazt9XHJcbiAgICAgICAgICAgICAgICAubGlzdCAubGlzdF9pdGVtIC5kYXRlIHtwb3NpdGlvbjpzdGF0aWMgIWltcG9ydGFudDsgdHJhbnNmb3JtOm5vbmUgIWltcG9ydGFudDt9XHJcbiAgICAgICAgICAgICAgICAuZGF0ZSAuY29udGFpbiB7bWluLXdpZHRoOjAgIWltcG9ydGFudDsgbWluLWhlaWdodDowICFpbXBvcnRhbnQ7IHBhZGRpbmc6MXJlbSAhaW1wb3J0YW50OyBib3JkZXI6MC4xcmVtIHNvbGlkICMwMDAwMDA7fVxyXG4gICAgICAgICAgICAgICAgLmRhdGUgLmNvbnRhaW4gc3Bhbjppcyguc3RhcnRkYXRlLCAuZW5kZGF0ZSkge2Rpc3BsYXk6aW5saW5lLWJsb2NrO31cclxuICAgICAgICAgICAgICAgIC5kYXRlIC5jb250YWluIC5zdGFydGRhdGUgKyAuZW5kZGF0ZSB7bWFyZ2luLXRvcDowICFpbXBvcnRhbnQ7IG1hcmdpbi1sZWZ0OjFyZW07IHBhZGRpbmctdG9wOjAgIWltcG9ydGFudDt9XHJcbiAgICAgICAgICAgICAgICAuZGF0ZSAuY29udGFpbiAuc3RhcnRkYXRlICsgLmVuZGRhdGU6OmJlZm9yZSB7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fVxyXG4gICAgICAgICAgICAgICAgLmRhdGUgLmNvbnRhaW4gc3Bhbi50eHRfZGF5X25iIHtmb250LXNpemU6MTZwdCAhaW1wb3J0YW50O31cclxuICAgICAgICAgICAgICAgIC5kYXRlIC5jb250YWluIHNwYW4udHh0X21vbnRoIHtmb250LXNpemU6MTJwdCAhaW1wb3J0YW50OyBtYXJnaW4tdG9wOjAuNXJlbSAhaW1wb3J0YW50O30qL1xyXG5cclxuICAgICAgICAgICAgLyoqKiBMSUVVICoqKi9cclxuICAgICAgICAgICAgICAgIC8qLmxpc3RfaXRlbSAubGlldSB7Zm9udC1zaXplOjEwcHQgIWltcG9ydGFudDsgYmFja2dyb3VuZDojZWFlYWVhICFpbXBvcnRhbnQ7IHBhZGRpbmc6MC4ycmVtIDAuNHJlbSAhaW1wb3J0YW50O30qL1xyXG5cclxuICAgICAgICAvKioqIFJFTU9WRUQgKioqL1xyXG4gICAgICAgICAgICAjbW90ZXVyLCAjc2Vjb25kX2Rpc3BsYXksIC50eC1pbmRleGVkc2VhcmNoLWJyb3dzZWJveCB7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fVxyXG5cclxuXHJcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKiogUEFHRSBERVRBSUwgLyBQT1BJTiBERVRBSUwgKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4gICAgICAgICNwb3Bpbl9kZXRhaWwge3Bvc2l0aW9uOnN0YXRpYyAhaW1wb3J0YW50OyB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7IG1heC13aWR0aDoxMDAlICFpbXBvcnRhbnQ7IHBhZGRpbmc6MCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiNmZmZmZmYgIWltcG9ydGFudDt9XHJcblxyXG4gICAgICAgIC8qKiogUkVNT1ZFRCAqKiovXHJcbiAgICAgICAgICAgIC53cmFwX2Fycm93IHtkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9XHJcblxyXG5cclxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogQ0FSVEUgSU5URVJBQ1RJVkUgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbiAgICAgICAgYm9keSAjcGFnZS5jYXJ0b190cGwgI21haW4ge3BhZGRpbmc6M3JlbSAxLjVyZW0gMCAxLjVyZW0gIWltcG9ydGFudDt9XHJcbiAgICAgICAgYm9keSAjcGFnZS5jYXJ0b190cGwgI2ZpbF9hcmlhbmUge21heC13aWR0aDpub25lICFpbXBvcnRhbnQ7IHBvc2l0aW9uOnN0YXRpYyAhaW1wb3J0YW50OyBwYWRkaW5nOjAgIWltcG9ydGFudDt9XHJcblxyXG4gICAgICAgIGJvZHkgI3BhZ2UuY2FydG9fdHBsICNjYXJ0byAjZmlyc3RfZGlzcGxheSB7cGFkZGluZzowICFpbXBvcnRhbnQ7fVxyXG4gICAgICAgIGJvZHkgI3BhZ2UuY2FydG9fdHBsICNjYXJ0byAjZmlyc3RfZGlzcGxheSAjem9uZV9yZXN1bHRzIHtwYWRkaW5nOjAgIWltcG9ydGFudDsgbWFyZ2luOjAgIWltcG9ydGFudDt9XHJcbiAgICAgICAgYm9keSAjcGFnZS5jYXJ0b190cGwgI2NhcnRvICNsaXN0X2l0ZW1zIHtwYWRkaW5nOjAgIWltcG9ydGFudDt9XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogTU9EVUxFUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEFMRVJURSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4gICAgICAgIC8qKi8gI2JhbmRlYXVfYWxlcnRlIHttYXJnaW4tdG9wOjAgIWltcG9ydGFudDsgcGFkZGluZzowIDEuNXJlbTt9XHJcbiAgICAgICAgLyoqLyAjYmFuZGVhdV9hbGVydGUgPiAuZ3JpZC14IHtwYWRkaW5nOjEuNXJlbSAwOyBtYXJnaW46MDsgYm9yZGVyOjAuMXJlbSBzb2xpZCAjZDNkM2QzO31cclxuICAgICAgICAvKiovICNiYW5kZWF1X2FsZXJ0ZSA+IC5ncmlkLXg6OmJlZm9yZSB7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fVxyXG4gICAgICAgIC8qKi8gI2JhbmRlYXVfYWxlcnRlIC5ncmlkLXggPiAuY2VsbCB7d2lkdGg6MTAwJTsgbWFyZ2luOjA7fVxyXG4gICAgICAgIC8qKi8gI2JhbmRlYXVfYWxlcnRlIC5ncmlkLXggLnNsaWNrLXNsaWRlOm5vdCguc2xpY2stY3VycmVudCkge2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O31cclxuICAgICAgICAvKiovICNiYW5kZWF1X2FsZXJ0ZSAudGl0cmVfYmxvYyB7cGFkZGluZzowICFpbXBvcnRhbnQ7fVxyXG4gICAgICAgIC8qKi8gI2JhbmRlYXVfYWxlcnRlIC50aXRyZV9ibG9jIC5ibG9jX2hvbWVfdGl0bGUge3BhZGRpbmc6MCAhaW1wb3J0YW50OyBmb250LXNpemU6MThwdCAhaW1wb3J0YW50O31cclxuICAgICAgICAvKiovICNiYW5kZWF1X2FsZXJ0ZSAubGlzdF9pdGVtIHtwYWRkaW5nOjAgIWltcG9ydGFudDsgYm9yZGVyOm5vbmUgIWltcG9ydGFudDsgd2lkdGg6MTAwJSAhaW1wb3J0YW50OyBtYXJnaW46MCAhaW1wb3J0YW50O31cclxuXHJcbiAgICAvKioqIENPTk5FWElPTiAqKiovXHJcbiAgICAuY29ubmV4aW9uIC5tZHBfb3VibGkge2Rpc3BsYXk6bm9uZTt9XHJcblxyXG4gICAgLyoqKiBQTEFOIERVIFNJVEUgKioqL1xyXG4gICAgLmNvbnRlbnRfcGFnZSAuY3NjLXNpdGVtYXAgPiB1bCA+IGxpIHtmb250LXNpemU6MThwdDt9XHJcbiAgICAuY29udGVudF9wYWdlIC5jc2Mtc2l0ZW1hcCA+IHVsID4gbGkgPiB1bCA+IGxpIHtmb250LXNpemU6MTZwdDt9XHJcbiAgICAuY29udGVudF9wYWdlIC5jc2Mtc2l0ZW1hcCA+IHVsID4gbGkgPiB1bCA+IGxpID4gdWwgPiBsaSB7Zm9udC1zaXplOjE0cHQ7fVxyXG4iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFJFU0VUICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIE5PUk1BTElTQVRJT04gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AcGFnZSB7XG4gIG1hcmdpbjogMC41Y207XG59XG4qIHtcbiAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFRhaG9tYSwgQXJpYWwsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn1cblxuYm9keSB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbn1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5hW2hyZWZdOmFmdGVyIHtcbiAgY29udGVudDogXCJcIiAhaW1wb3J0YW50O1xufVxuXG5wLCB1bCBsaSwgb2wgbGksIG1haW4gcCwgbWFpbiB1bCBsaSwgbWFpbiBvbCBsaSB7XG4gIGZvbnQtc2l6ZTogMTJwdDtcbiAgbGluZS1oZWlnaHQ6IDEuMiAhaW1wb3J0YW50O1xufVxuXG5wLCBibG9ja3F1b3RlIHtcbiAgb3JwaGFuczogMjtcbiAgd2lkb3dzOiAyO1xufVxuXG5wLCBoMiwgaDMge1xuICBvcnBoYW5zOiAzO1xuICB3aWRvd3M6IDM7XG59XG5cbmJsb2NrcXVvdGUsIHVsLCBvbCB7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbn1cblxuc3Ryb25nLCBiIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xufVxuXG5pLCBlbSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBWZXJkYW5hLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG59XG5cbnN0cm9uZyBlbSwgc3Ryb25nIGksIGVtIHN0cm9uZywgaSBzdHJvbmcsIGIgZW0sIGIgaSwgZW0gYiwgaSBiIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBWZXJkYW5hLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG59XG5cbnN1Yiwgc3VwIHtcbiAgZm9udC1zaXplOiAwLjc1ZW0gIWltcG9ydGFudDtcbn1cblxudGFibGUsIC5wb3dlcm1haWxfZmllbGRzZXQge1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG59XG5cbmh0bWwsIGJvZHksIC5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXIsIG1haW4ge1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFNMSUNLICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uc2xpY2stc2xpZGVyIC5zbGljay1kb3RzLCAuc2xpY2stYXJyb3cuc2xpY2stcHJldiwgLnNsaWNrLWFycm93LnNsaWNrLW5leHQsIC5zbGljay1jbG9uZWQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5zbGljay10cmFjayB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uc2xpY2stc2xpZGUge1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIExPQURFUiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ucmV2ZWFsLW92ZXJsYXkubG9hZC1wb3BpbiwgLnNrLWNpcmNsZS5xdWFsLCAjbG9hZGVyX2ZpbHRlcnMsIC5zay1jaXJjbGUsICNzZWFyY2hMb2FkZXIsIC5sb2FkZXIsIC5jcy1sb2FkZXIge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBUWVBPMyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi50eXBvMy1hZG1pblBhbmVsIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBGT1JNVUxBSVJFUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5mb3JtIHtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uY29udGVudF9wYWdlIC5jb2xfZm9ybS5jZWxsLmxhcmdlLTYge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgMS41cmVtO1xuICBwYWRkaW5nOiAwIDEuNXJlbTtcbn1cblxubGVnZW5kLCAubGlrZV9sZWdlbmQsIC5jb250ZW50X3BhZ2UgLmxpa2VfbGVnZW5kIHtcbiAgZm9udC1zaXplOiAxNHB0O1xufVxuXG5sYWJlbCwgLmlucHV0LWdyb3VwLWxhYmVsLCAucG93ZXJtYWlsX2xhYmVsLnBvd2VybWFpbF9yYWRpb19sZWdlbmQsIC5wb3dlcm1haWxfbGFiZWwsIC5sYWJlbCwgLmxpa2VfbGFiZWwsXG4ubGlnbmVfZm9ybS5jaGVja2JveCBsYWJlbCwgLmxpZ25lX2Zvcm0ucmFkaW8gbGFiZWwsIC5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfY2hlY2sgLmNoZWNrYm94IGxhYmVsLCAucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX3JhZGlvIC5yYWRpbyBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTJwdDtcbn1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4ucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX3RleHQgLnBvd2VybWFpbF9maWVsZCB7XG4gIGZvbnQtc2l6ZTogMTJwdDtcbn1cblxuLm1hbmRhdG9yeSwgLmZlbWFuYWdlcl9uZXcgLmNvbnRyb2wtbGFiZWwgc3BhbiB7XG4gIGZvbnQtc2l6ZTogMTBwdDtcbn1cblxuaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsXG5bdHlwZT10ZXh0XSwgW3R5cGU9cGFzc3dvcmRdLCBbdHlwZT1kYXRlXSwgW3R5cGU9ZGF0ZXRpbWVdLCBbdHlwZT1kYXRldGltZS1sb2NhbF0sIFt0eXBlPW1vbnRoXSwgW3R5cGU9d2Vla10sIFt0eXBlPWVtYWlsXSwgW3R5cGU9bnVtYmVyXSwgW3R5cGU9c2VhcmNoXSwgW3R5cGU9dGVsXSwgW3R5cGU9dGltZV0sIFt0eXBlPXVybF0sIFt0eXBlPWNvbG9yXSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDEycHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwLjFyZW0gc29saWQgI2QzZDNkMyAhaW1wb3J0YW50O1xufVxuXG5pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG5cbmlucHV0Oi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuXG5pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzAwMDAwMDtcbn1cblxuaW5wdXRbcGxhY2Vob2xkZXJdIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn1cblxuLmJ0bl9zdWJtaXQsIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIERBVEUgUElDS0VSICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqIENMQVNTRVMgR0VORVJJUVVFUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5oaWRlLWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnJhZGl1cyB7XG4gIGJvcmRlci1yYWRpdXM6IDFyZW07XG59XG5cbi5zaGFkb3csIC5zaGFkb3dfaW5zZXQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uZ3JpZC14LCAuZmxleC1jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmdyaWQteCA+IC5jZWxsLCAuZmxleC1jb250YWluZXIgPiAqIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zdGlja3ktY29udGFpbmVyIHtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5mYWRlLWluLm11aS1lbnRlciB7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn1cblxuLmFkcmVzc2UsIC5nbWFwLCAuaG9yYWlyZXMsIC5tYWlsLCAudGVsLCAud2Vic2l0ZSB7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICBtaW4taGVpZ2h0OiBpbml0aWFsICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKiogQk9VVE9OUyBMSUVOUywgQk9VVE9OUywgQk9VVE9OUyBDTE9TRSAqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5idG5fbGllbiwgLmJ0bl9hbGwsIC5idG5fdHh0LCAuYnRuX2JpZ291LCAuYnRuX2JhY2ssIC5idXR0b24sIC5idXR0b25fbGlrZSwgLmNsb3NlLWJ1dHRvbiwgLmJ0bl9jbG9zZSwgLmJ0bl90eHRfbGlrZV9idG5fYWxsLCAuYnRuX2FsbF9jb250YWluZXIsIC5idG5fa2lvc3F1ZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBMQVlPVVQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKiogU1RSVUNUVVJFIEdFTkVSQUxFICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLm9mZi1jYW52YXMtd3JhcHBlci5jb25uZWN0LCAub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyIHtcbiAgaGVpZ2h0OiBpbml0aWFsO1xufVxuXG5odG1sLmlzLXJldmVhbC1vcGVuICNob21lLCBodG1sLmlzLXJldmVhbC1vcGVuICNwYWdlLCBodG1sLmlzLXJldmVhbC1vcGVuICNnbG9iYWwge1xuICBtaW4taGVpZ2h0OiBpbml0aWFsO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4sIGh0bWwuaXMtcmV2ZWFsLW9wZW4gLnJldmVhbC1vdmVybGF5IHtcbiAgaGVpZ2h0OiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgb3ZlcmZsb3cteTogYXV0byAhaW1wb3J0YW50O1xufVxuXG5odG1sLmlzLXJldmVhbC1vcGVuICNwYWdlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4jaG9tZSwgI3BhZ2UsICNnbG9iYWwge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtaW4taGVpZ2h0OiBpbml0aWFsO1xufVxuXG4jbWFpbiB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1pbi1oZWlnaHQ6IGluaXRpYWw7XG4gIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi53cmFwLCAuZ3JpZC1jb250YWluZXIsIG1haW4sICNoZWFkZXIsICNmb290ZXIge1xuICBtYXgtd2lkdGg6IDY1cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4uY29udGVudF9wYWdlIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEhFQURFUiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiNoZWFkZXIge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IGluaXRpYWw7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFkZGluZzogMCAxLjVyZW07XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4jZGF0YS1zdGlja3ktaGVhZGVyIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tOiAwLjJyZW0gZGFzaGVkICNkM2QzZDM7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogM3JlbSAwO1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuI2xvZ28sICNsb2dvX3dvcmxkIHtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbiNzbG9nYW4gcCB7XG4gIGZvbnQtc2l6ZTogMThwdDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbi8qKiogUkVNT1ZFRCAqKiovXG4jaG9yaXpvbnRhbC1tZW51LCAjdG9vbHNfaGVhZGVyX2xpbmssICN0YXJ0ZWF1Y2l0cm9uUm9vdCwgLnR4LWNpbS1saW5rcyB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogUE9QSU5TICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnJldmVhbC50aW55IHtcbiAgbWluLXdpZHRoOiA2MHJlbTtcbn1cblxuLyoqKiBSRU1PVkVEICoqKi9cbiNwb3Bpbl9hbGVydGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBGT09URVIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiNmb290ZXIge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgMS41cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDQuNXJlbSAhaW1wb3J0YW50O1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG59XG5cbiNmb290ZXIgLmZvb3Rlcl9jb250ZW50IHtcbiAgYm9yZGVyLXRvcDogMC4xcmVtIHNvbGlkICNkM2QzZDM7XG4gIHBhZGRpbmc6IDNyZW0gMDtcbn1cblxuI2Jsb2NfY29udGFjdF9pbmZvIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4jdHh0X2Zvb3RlciB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKioqIFJFTU9WRUQgKioqL1xuI2xvZ29fZm9vdGVyLCAjbWVudV9mb290ZXIsICNnYWxheGllX3BhcnRlbmFpcmVzLCAjYmFja190b190b3AsIC5mb290ZXJfcmVzZWF1eCwgLmZvb3Rlcl9pbWcge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogQkFOREVBVSBERSBQQUdFICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5iYW5kZWF1X3BhZ2Uge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBGSUwgRCdBUklBTkUgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiNmaWxfYXJpYW5lIHtcbiAgbWFyZ2luOiAwIDAgM3JlbSAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbiNmaWxfYXJpYW5lIC5icmVhZGNydW1icyB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuI2ZpbF9hcmlhbmUgLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgY29udGVudDogXCIvXCI7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBtYXJnaW46IDAgMC40cmVtIDAgMC4zcmVtICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEJMT0MgTk9URSAvIE1BSiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5zb2NpYWxfc2hhcmVfcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBURU1QTEFURVMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEhPTUUgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5ibG9jX2hvbWUge1xuICBtYXJnaW4tYm90dG9tOiA0LjVyZW0gIWltcG9ydGFudDtcbn1cblxuLmJsb2NfaG9tZSAudGl0cmVfYmxvYyB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4uYmxvY19ob21lIC50aXRyZV9ibG9jIC5ibG9jX2hvbWVfdGl0bGUge1xuICBmb250LXNpemU6IDIycHQgIWltcG9ydGFudDtcbn1cblxuLmJsb2NfaG9tZSAuYmxvY19ob21lX3N1YnRpdGxlIHtcbiAgZm9udC1zaXplOiAxNnB0ICFpbXBvcnRhbnQ7XG59XG5cbi8qKiogUkVNT1ZFRCAqKiovXG4jem9uZV9tb3RldXIsICNibG9jX2NhcnRlX2ludGVyYWN0aXZlLCAjZ2FsZXJpZV9lbl9pbWFnZXMsICNzb2NpYWxfd2FsbCwgI2Jsb2NfYXBwbGljYXRpb24sICNuZXdzbGV0dGVyLCAjYmxvY19raW9zcXVlLCAjYWNjZXNfcmFwaWRlcyB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyoqKiBCTE9DIFBST0ZJTFMgKioqL1xuI2Jsb2NfcHJvZmlscyAuaXRlbV9ibG9jX3Byb2ZpbHMge1xuICBtYXJnaW46IDAgYXV0byAzcmVtIGF1dG87XG59XG5cbi8qKiogQkxPQyBDQVJEUyAqKiovXG4jYmxvY19jYXJkcy5ibG9jX2hvbWUgLnRpdHJlX2Jsb2MgLmJsb2NfaG9tZV90aXRsZSwgLmNvbnRlbnRfcGFnZSAjYmxvY19jYXJkcy5ibG9jX2hvbWUgLnRpdHJlX2Jsb2MgLmJsb2NfaG9tZV90aXRsZSB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbiNibG9jX2NhcmRzIC5pbm5lcl9pdGVtX2Jsb2NfY2FyZHMge1xuICBwYWRkaW5nOiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbiNibG9jX2NhcmRzIC5pdGVtX2Jsb2NfY2FyZHMge1xuICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCBhdXRvIDNyZW0gYXV0bztcbn1cblxuI2Jsb2NfY2FyZHMgLmltZyB7XG4gIG1hcmdpbjogMXJlbSBhdXRvO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogUEFHRSBUWVBFICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqIEhFQUQgUEFHRSAqKiovXG4uaGVhZF9wYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwIDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4qOmlzKCNwYWdlLCAjcG9waW5fZGV0YWlsKSAudGl0cmVfcGFnZSAqOmlzKGgxLCBwKSB7XG4gIGZvbnQtc2l6ZTogMjJwdCAhaW1wb3J0YW50O1xufVxuXG4qOmlzKCNwYWdlLCAjcG9waW5fZGV0YWlsKSAucXVvdGUgKjppcyhoMiwgcCkge1xuICBmb250LXNpemU6IDE0cHQgIWltcG9ydGFudDtcbn1cblxuLyoqKiBHQUJBUklUICoqKi9cbi5jb2xfbGVmdF9pbm5lciB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLmNvbF9sZWZ0LCAuY29sX3JpZ2h0IHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLyoqKiBQQVJBTSBUWFQgKioqL1xuLyoqKiBUSVRSRVMgKioqL1xuLmNvbnRlbnRfcGFnZSAqOmlzKGgyLCBoMywgaDQsIGg1LCBoNikge1xuICBtYXJnaW46IDAgMCAxLjVyZW0gMCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS4yICFpbXBvcnRhbnQ7XG59XG5cbi5jb250ZW50X3BhZ2UgaDIge1xuICBmb250LXNpemU6IDE4cHQgIWltcG9ydGFudDtcbn1cblxuLmNvbnRlbnRfcGFnZSBoMyB7XG4gIGZvbnQtc2l6ZTogMTZwdCAhaW1wb3J0YW50O1xufVxuXG4uY29udGVudF9wYWdlIGg0IHtcbiAgZm9udC1zaXplOiAxNHB0ICFpbXBvcnRhbnQ7XG59XG5cbi5jb250ZW50X3BhZ2UgaDUge1xuICBmb250LXNpemU6IDEycHQgIWltcG9ydGFudDtcbn1cblxuLmNvbnRlbnRfcGFnZSBoNiB7XG4gIGZvbnQtc2l6ZTogMTJwdCAhaW1wb3J0YW50O1xufVxuXG4vKioqIFNLSU4gTElTVCAqKiovXG4uY29udGVudF9wYWdlIHVsIHtcbiAgbWFyZ2luOiAwIDAgM3JlbSAwICFpbXBvcnRhbnQ7XG59XG5cbi5jb250ZW50X3BhZ2UgdWwgbGkge1xuICBsaXN0LXN0eWxlLWltYWdlOiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogaW5pdGlhbCAhaW1wb3J0YW50O1xufVxuXG4uY29udGVudF9wYWdlICo6aXModWwsIG9sKSBsaSB7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5jb250ZW50X3BhZ2UgdWwgdWwge1xuICBtYXJnaW46IDAgMCAwIDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4vKioqIENJVEFUSU9OICoqKi9cbi5jb250ZW50X3BhZ2UgYmxvY2txdW90ZSB7XG4gIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDE0cHQgIWltcG9ydGFudDtcbn1cblxuLmNvbnRlbnRfcGFnZSBibG9ja3F1b3RlICo6bm90KHN1Yik6bm90KHN1cCkge1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLmNvbnRlbnRfcGFnZSAuYmxvY19jaXRhdGlvbiAuc2lnbmF0dXJlIHtcbiAgZm9udC1zaXplOiAxMnB0ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLyoqKiBUQUJMRUFVWCAqKiovXG4uY29udGVudF9wYWdlIHRhYmxlIHtcbiAgYm9yZGVyLXRvcDogMC4xcmVtIHNvbGlkICNlZGVkZWQ7XG4gIGJvcmRlci1sZWZ0OiAwLjFyZW0gc29saWQgI2VkZWRlZDtcbiAgYm9yZGVyLXJpZ2h0OiAwLjFyZW0gc29saWQgI2VkZWRlZDtcbn1cblxuLmNvbnRlbnRfcGFnZSB0YWJsZSBjYXB0aW9uIHtcbiAgZm9udC1zaXplOiAxNnB0ICFpbXBvcnRhbnQ7XG59XG5cbi5jb250ZW50X3BhZ2UgdGQsIC5jb250ZW50X3BhZ2UgdGgge1xuICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTFwdCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS4yICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b206IDAuMXJlbSBzb2xpZCAjZWRlZGVkO1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi8qKiogQUNDT1JERU9OUyAqKiovXG4uY29udGVudF9wYWdlIC5hY2NvcmRpb24taXRlbSB7XG4gIGJvcmRlcjogMC4xcmVtIHNvbGlkICNkM2QzZDMgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxNnB0ICFpbXBvcnRhbnQ7XG59XG5cbi5jb250ZW50X3BhZ2UgLmFjY29yZGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4uY29udGVudF9wYWdlIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZSB7XG4gIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4uY29udGVudF9wYWdlIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBwYWRkaW5nOiAwIDEuNXJlbSAxLjVyZW0gMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi8qKiogUkVNT1ZFRCAqKiovXG4uYmxvY192aWRlbywgLmJsb2NfZGlhcG9yYW1hX3ZpZGVvcywgLmJsb2NfZGlhcG9yYW1hX2ltYWdlcywgLnNtMi1iYXItdWksIC56b25lX2FydGljbGVzX2Fzc29jaWVzLCAuY2ltX21hcGJveCwgLnR4LWNpbS1xdWFsaXR5LCAuem9uZV9yZXNzb3VyY2VzX2Rvd25sb2FkLCAjc29tbWFpcmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFBBR0UgTElTVEUgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiNmaXJzdF9kaXNwbGF5IHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuI2xpc3RfaXRlbXMge1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLndyYXBfcmVzdWx0IHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4vKioqIFJFU1VMVEFUUyAqKiovXG4ubGlzdF9pdGVtIHtcbiAgYm9yZGVyOiAwLjFyZW0gc29saWQgI2QzZDNkMztcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG59XG5cbi5saXN0X2l0ZW0gPiAubGluayB7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICBtaW4taGVpZ2h0OiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4ubGlzdF9pdGVtIC50aXRyZSB7XG4gIGZvbnQtc2l6ZTogMTRwdCAhaW1wb3J0YW50O1xufVxuXG4ubGlzdF9pdGVtIC50aXRyZSBhOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5saXN0X2l0ZW0gLnR4dCB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4ubGlzdF9pdGVtIC5pbWcge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubGlzdF9pdGVtIC50aHVtYi10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5saXN0X2l0ZW0gLnRodW1iLXRpdGxlID4gKiB7XG4gIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4ubGlzdF9pdGVtIC50aHVtYi10aXRsZSA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5saXN0X2l0ZW0gLnRodW1iLWRlc2MgPiA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qKiogSVRFTSBSQVBQRUwgKioqL1xuLmxpc3RfaXRlbS5yYXBwZWwgLmxpbmsge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5saXN0X2l0ZW0ucmFwcGVsIC5jb2xfcHJvcHJpZXRhaXJlIHsgLyptYXJnaW4tdG9wOjJyZW07Ki8gfVxuXG4ubGlzdF9pdGVtLnJhcHBlbCAuY29sX2FuaW1hbCB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG59XG5cbi5saXN0X2l0ZW0ucmFwcGVsIC5jb2xfcHJvZHVpdCB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG59XG5cbi5saXN0X2l0ZW0ucmFwcGVsIC5saWtlX3R4dCwgLmNvbnRlbnRfcGFnZSAubGlzdF9pdGVtLnJhcHBlbCAubGlrZV90eHQge1xuICBmb250LXNpemU6IDEycHQgIWltcG9ydGFudDtcbn1cblxuLmxpc3RfaXRlbS5yYXBwZWwgLmNvbF90b29scyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKiogQ0FURUdPUklFUyAqKiovXG4vKi5jYXQ6OmJlZm9yZSB7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fVxuLmNhdCwgLmxpc3RfaXRlbSAuY2F0IHtmb250LXNpemU6MTBwdCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiNlYWVhZWEgIWltcG9ydGFudDsgcGFkZGluZzowLjJyZW0gMC40cmVtICFpbXBvcnRhbnQ7fSovXG4vKioqIERBVEVTICoqKi9cbi8qLmRhdGVfY29udGFpbmVyIHtwb3NpdGlvbjpzdGF0aWMgIWltcG9ydGFudDsgdHJhbnNmb3JtOm5vbmUgIWltcG9ydGFudDt9XG4uZGF0ZV9jb250YWluZXIgLmRhdGUge2Rpc3BsYXk6aW5saW5lLWJsb2NrO31cbi5saXN0IC5saXN0X2l0ZW0gLmRhdGUge3Bvc2l0aW9uOnN0YXRpYyAhaW1wb3J0YW50OyB0cmFuc2Zvcm06bm9uZSAhaW1wb3J0YW50O31cbi5kYXRlIC5jb250YWluIHttaW4td2lkdGg6MCAhaW1wb3J0YW50OyBtaW4taGVpZ2h0OjAgIWltcG9ydGFudDsgcGFkZGluZzoxcmVtICFpbXBvcnRhbnQ7IGJvcmRlcjowLjFyZW0gc29saWQgIzAwMDAwMDt9XG4uZGF0ZSAuY29udGFpbiBzcGFuOmlzKC5zdGFydGRhdGUsIC5lbmRkYXRlKSB7ZGlzcGxheTppbmxpbmUtYmxvY2s7fVxuLmRhdGUgLmNvbnRhaW4gLnN0YXJ0ZGF0ZSArIC5lbmRkYXRlIHttYXJnaW4tdG9wOjAgIWltcG9ydGFudDsgbWFyZ2luLWxlZnQ6MXJlbTsgcGFkZGluZy10b3A6MCAhaW1wb3J0YW50O31cbi5kYXRlIC5jb250YWluIC5zdGFydGRhdGUgKyAuZW5kZGF0ZTo6YmVmb3JlIHtkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9XG4uZGF0ZSAuY29udGFpbiBzcGFuLnR4dF9kYXlfbmIge2ZvbnQtc2l6ZToxNnB0ICFpbXBvcnRhbnQ7fVxuLmRhdGUgLmNvbnRhaW4gc3Bhbi50eHRfbW9udGgge2ZvbnQtc2l6ZToxMnB0ICFpbXBvcnRhbnQ7IG1hcmdpbi10b3A6MC41cmVtICFpbXBvcnRhbnQ7fSovXG4vKioqIExJRVUgKioqL1xuLyoubGlzdF9pdGVtIC5saWV1IHtmb250LXNpemU6MTBwdCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiNlYWVhZWEgIWltcG9ydGFudDsgcGFkZGluZzowLjJyZW0gMC40cmVtICFpbXBvcnRhbnQ7fSovXG4vKioqIFJFTU9WRUQgKioqL1xuI21vdGV1ciwgI3NlY29uZF9kaXNwbGF5LCAudHgtaW5kZXhlZHNlYXJjaC1icm93c2Vib3gge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKiBQQUdFIERFVEFJTCAvIFBPUElOIERFVEFJTCAqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiNwb3Bpbl9kZXRhaWwge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cblxuLyoqKiBSRU1PVkVEICoqKi9cbi53cmFwX2Fycm93IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIENBUlRFIElOVEVSQUNUSVZFICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5ib2R5ICNwYWdlLmNhcnRvX3RwbCAjbWFpbiB7XG4gIHBhZGRpbmc6IDNyZW0gMS41cmVtIDAgMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgI3BhZ2UuY2FydG9fdHBsICNmaWxfYXJpYW5lIHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG5ib2R5ICNwYWdlLmNhcnRvX3RwbCAjY2FydG8gI2ZpcnN0X2Rpc3BsYXkge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgI3BhZ2UuY2FydG9fdHBsICNjYXJ0byAjZmlyc3RfZGlzcGxheSAjem9uZV9yZXN1bHRzIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuYm9keSAjcGFnZS5jYXJ0b190cGwgI2NhcnRvICNsaXN0X2l0ZW1zIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIE1PRFVMRVMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEFMRVJURSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiovXG4jYmFuZGVhdV9hbGVydGUge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgMS41cmVtO1xufVxuXG4vKiovXG4jYmFuZGVhdV9hbGVydGUgPiAuZ3JpZC14IHtcbiAgcGFkZGluZzogMS41cmVtIDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwLjFyZW0gc29saWQgI2QzZDNkMztcbn1cblxuLyoqL1xuI2JhbmRlYXVfYWxlcnRlID4gLmdyaWQteDo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiovXG4jYmFuZGVhdV9hbGVydGUgLmdyaWQteCA+IC5jZWxsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqL1xuI2JhbmRlYXVfYWxlcnRlIC5ncmlkLXggLnNsaWNrLXNsaWRlOm5vdCguc2xpY2stY3VycmVudCkge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qKi9cbiNiYW5kZWF1X2FsZXJ0ZSAudGl0cmVfYmxvYyB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLyoqL1xuI2JhbmRlYXVfYWxlcnRlIC50aXRyZV9ibG9jIC5ibG9jX2hvbWVfdGl0bGUge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMThwdCAhaW1wb3J0YW50O1xufVxuXG4vKiovXG4jYmFuZGVhdV9hbGVydGUgLmxpc3RfaXRlbSB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuXG4vKioqIENPTk5FWElPTiAqKiovXG4uY29ubmV4aW9uIC5tZHBfb3VibGkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKioqIFBMQU4gRFUgU0lURSAqKiovXG4uY29udGVudF9wYWdlIC5jc2Mtc2l0ZW1hcCA+IHVsID4gbGkge1xuICBmb250LXNpemU6IDE4cHQ7XG59XG5cbi5jb250ZW50X3BhZ2UgLmNzYy1zaXRlbWFwID4gdWwgPiBsaSA+IHVsID4gbGkge1xuICBmb250LXNpemU6IDE2cHQ7XG59XG5cbi5jb250ZW50X3BhZ2UgLmNzYy1zaXRlbWFwID4gdWwgPiBsaSA+IHVsID4gbGkgPiB1bCA+IGxpIHtcbiAgZm9udC1zaXplOiAxNHB0O1xufSJdfQ== */
