/* START Examity Updates (OKTA) */
/* Global Code Snippet */
/* Add the tag "hide-score" to any course to hide the score */
/* Add the tag "no-ribbon" to any course to hide the registered ribbon */

.sj-page-lesson #main-container .sj-widgets-spinner ~ * {
  opacity: 0;
}

#calendar #skilljar-content a:hover {
  color: #b6caff;
  text-decoration-color: #b6caff;
}

.coursebox-container[data-tags*="internalonly-no-ribbon"] .sj-ribbon-registered {
  display: none !important;
}

[data-course="okta-technical-architect-certification-overview"]
.purchase-button
.purchase-button-full-text {
  display: none !important;
}
[data-course="okta-technical-architect-certification-overview"]
.purchase-button:after {
  content: "Learn More";
}
[data-course="okta-technical-architect-certification-overview"]
.storefront-price
span {
  display: none;
}

/* END Centered Collapsible Tag based Page Separator JS/CSS */


/* this is the styling for the tile pills, feel free to change it! */
.tag-pill {
  text-align: center; /* text alignment for pills */
  font-size: 12px; /* font size for pill text */
  background-color: #0166cc; /* default background color of pills */
  color: white; /* default color for pill text */
  padding: 7px 10px; /* spacing around pill text */
  border-radius: 30px; /* rounding of pills. set to 0 for square */
  margin: 5px; /* space between pills if multiple are found */
}
.tag-pill-wrapper {
  flex-wrap: wrap;
  display: flex;
  padding: 10px 19px 0px;
}
.search .tag-pill-wrapper {
  padding: 0;
}

/* END Add Course Tag Pills to Course Tiles - Add to Global Code Snippet */

/* START Centered Collapsible Tag based Page Separator JS/CSS */

/* ensure new course sections standardize tile heights */
.arrow-toggle {
  transform: rotate(-90deg);
  transition: transform 250ms ease;
}
/* Set font size for separator titles */
a.coursebox-container[data-tags*="separator"] .coursebox-text {
  font-size: 30px !important;
  /* color: #fffefa; */
}
/* Set font size for separator sub-titles */
a.coursebox-container[data-tags*="separator"] .coursebox-text-description {
  font-size: 18px !important;
}
/* styling for slide animation when toggling separators */
.collapse-animation-wrapper,
.collapse-wrapper {
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
}

/* remove all standard course tile styling, add 100% page width */
a.coursebox-container[data-tags*="separator"] {
  padding: 20px !important;
  text-align: center !important;
  width: 100% !important;
  min-height: unset !important;
  background-color: transparent !important;
  box-shadow: none !important;
  pointer-events: unset;
  border: none !important;
}
a.coursebox-container[data-tags*="separator"]:hover {
  transform: none !important;
}

/* hide course price/CTA text, tile image, hide separator courses from search */
a.coursebox-container[data-tags*="separator"] .storefront-price,
.search a.coursebox-container[data-tags*="separator"],
a.coursebox-container[data-tags*="separator"] .coursebox-image {
  display: none !important;
}

/* style Learning Path separator */
/* a.coursebox-container[data-tags*="paths"] {
  background-image: url('https://everpath-course-content.s3-accelerate.amazonaws.com/instructor%2F3m8b4lvdi0ggx1tk7qglr96cq%2Fpublic%2F1691530316%2Fbanner_img.1691530316400.jpeg');
background-size: cover;
background-repeat: no-repeat;
background-position: center;
} */

/* START SCORM Next button override when "block-scorm-progress" Tag is present on course */

.next-button-message-wrapper {
  padding: 15px;
  position: absolute;
  top: -82px;
  border-radius: 5px;
  right: 14px;
  display: none;
  width: 275px;
  height: auto;
  background-color: white;
  border: 1px solid #c3c3c3;
}
.next-button-message {
  font-size: 17px;
}

#learning-popup-btn {
  z-index: 999;
  font-size: 13px !important;
  position: fixed;
  bottom: 0px;
  left: 15px;
  width: 155px;
  height: 45px;
  color: #ffffff;
  padding: 0px;
  background-color: #0066cc;
  border-radius: 50px;
  cursor: pointer;
}
#learning-popup-btn:hover {
  text-decoration: underline;
}
.your-learning-popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
  z-index: 999998;
  padding: 24px;
}
.your-learning-popup-content {
  position: relative;
  background-color: #fff;
  box-shadow: 0px 0px 10px rgb(0 0 0 / 20%);
  border-radius: 10px;
  padding: 24px 50px;
  margin: 5% auto;
  max-width: 80%;
}
.your-learning-popup-html {
  line-height: 21px;
  font-size: 16px;
}
.your-learning-popup-close {
  position: absolute;
  top: 15px;
  right: 15px;
  font-size: 24px;
  cursor: pointer;
}
.your-learning {
  margin: auto;
  padding: 24px;
}

.your-learning-header {
  font-weight: 600;
  font-size: 34px;
  line-height: 40px;
  margin-bottom: 10px;
  text-align: center;
}
.your-learning-sub-header {
  margin: 15px;
  font-size: 20px;
  line-height: 24px;
  text-align: center;
}
.your-learning-content {
  padding: 10px 10px 20px;
  flex-wrap: nowrap;
  overflow-x: auto;
  display: flex;
}
.yl-course-counter {
  font-size: 17px;
  font-weight: bold;
  margin-right: 15px;
  color: #000000;
}
.your-learning-content .coursebox-container {
  flex: 0 0 auto !important;
}
.your-learning-content .sj-ribbon-wrapper .sj-ribbon {
  padding: 0 !important;
}
.your-learning-scroll-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
}
.yl-left-scroll-btn,
.yl-right-scroll-btn {
  padding: 10px 8px;
  font-size: 40px;
  background-color: #ffffff;
  color: #b2b2b2;
  cursor: pointer;
}
/* mobile responsiveness stylings below */
@media only screen and (max-width: 867px) {
  .your-learning-popup-content {
    max-width: 95%;
    padding: 24px 10px;
  }
}

.termspopup {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background-color: #fff;
  box-shadow: 0px 0px 10px rgb(0 0 0 / 20%);
  border-radius: 10px;
  padding: 25px;
  display: none;
  z-index: 999998;
  min-width: 15%;
  max-width: 20%;
  min-height: 20%;
  max-height: 30%;
}

.popup {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background-color: #fff;
  box-shadow: 0px 0px 10px rgb(0 0 0 / 20%);
  border-radius: 10px;
  padding: 25px;
  display: none;
  z-index: 999998;
  min-width: 20%;
  max-width: 25%;
  min-height: 70%;
  max-height: 80%;
}
.popup-title {
  font-size: 20px;
  line-height: normal;
  font-weight: bold;
  margin-bottom: 20px;
}
.popup-text {
  line-height: 21px;
  font-size: 16px;
}

.popup-text div p {display:none;}
.popup-text div:hover p {display:block;}

.popup-close {
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 22px;
  cursor: pointer;
  z-index: 9999999;
  color: white;
}

.termspopup-close {
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 22px;
  cursor: pointer;
  z-index: 9999999;
  color: black;
}


summary::-webkit-details-marker {
  color: #00ACF3;
  margin-right: 2px;
}
summary:focus {
  outline-style: none;
}
article > details > summary {
  font-size: 1rem !important;
}
article > details > p {
  margin: 1rem 0 0rem 0rem !important;
  color: black !important;
  font-style: italic !important;
}
details details {
  margin-left: 36px;
}
details details summary {
}

.general-expert-pass {

}

.partner-expert-pass {

}

.widget-table{
  background-color:#191919;
  margin-top: 40px;
  font-size: 14px;
  border-bottom: solid 1px #ddd !important;
  color: white;
}

.badge-images {
  margin: auto;
  width: 75%;
  display: block;
}

.header-nested-wrapper {
  z-index: 2;
}

/*HOMEPAGE STYLES*/
/*always display search in header regardless of screen size*/
/*force menu to show on top of navigation*/
body.mobile-menu-open .header-mobile-dropdown {
  z-index: 1000;
}



.homepage-header {
  background-color: #000;
  background-image: url('https://d3aazlu0qdi1gg.cloudfront.net/skilljar/graphics/HeroBanner.png');

  background-position: 100%;
  padding-left: 8rem;
  padding-top: 2em;
  padding-bottom: 2em;
  padding-right: 8rem;
  background-size: cover;

  align-self: start;
  height: auto;
  min-height: min-content;
}

.homepage-featured-header {
  grid-column: 1 / -1;
  grid-row: 5 / 5;
  padding-top: 1rem;
  width: 100%;
  margin: auto;
}

.featured-card-transparent {
  opacity: 0.8;
}

.homepage-featured-learning {
  grid-column: 1 / -1;
  grid-row: 6 / 6;
  margin: auto;
  padding-bottom: 3rem;
}

.homepage-featured-video {
  grid-column: 1 / -1;
  grid-row: 7 / 7;
  margin: auto;
  padding-top: 3rem;
  padding-bottom: 3rem;
  width: 100%;
}
.main-hero-video-wrapper{
  display: flex;
  width: 100%;
  background-color: #1E1E1E;
  padding: 3em;
  border-radius: 1rem;
  flex-wrap: wrap !important;
}

.main-hero-video-wrapper-left {
  width: 50%;
  align-content: center;
}

.getting-started-text-content{
  width: 50%;
  flex-basis: auto;
  text-align: right;
  padding-left: 1em;
}

.main-hero-video-wrapper-right{
  width: 50%;
  align-content: center;
  flex: 1 1 300px;
}

.catalog-center-width {
  width: 100%;
}

.homepage-body {
  padding-left: 8em !important;
  padding-right: 8em !important;
  width: 100%;
}
.homepage-header-heading {
  max-width: 25%;
  font-size: 56px !important;
  margin-bottom: 1.5rem;
}


.oktaauth0subtitlehomepage {
  margin-left: 3.5rem;
  font-size: 1rem !important;
  text-transform: uppercase;
  display: block;
  letter-spacing: 0.15rem;
  padding-bottom: 0.5rem;
  color: #b6caff !important;
}

.homepagevideographic {
  display: block;
  padding-top: 4em;
}

.homepage-main-hero-btn {
  margin-left: 3rem;
  display: inline-flex;
  padding: 1rem 3rem;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.375rem;
  width: 12em;
  background: linear-gradient(245deg, #111111 -305.94%, #191919 -61.79%, #4016a0 12.12%, #3f59e4 108.18%);
}

.homepageWelcomeTitle {
  color: #fffefa !important;
  font-family: "Aeonik", sans-serif !important;
  font-size: 4rem !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 111% !important;
  margin-bottom: 2rem !important;
}
.homepageTileTopper {
  background: linear-gradient(171deg, #F2AC84 0%, #3F59E4 48%, #191919 100%);
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
  padding: .3em;
}

.homepageInvestTitle {
  padding-left: 1em;
  padding-right: 1em;
  color: #fffefa !important;
  font-family: "Aeonik", sans-serif !important;
  font-size: 3.5rem !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 114% !important;
  align-self: center !important;
}

#learningPlansJourneyText{
  text-align: left;
  max-width: 82%;
}
#homePageSubtitle{
  max-width: 35%;
}
.featured-card-graphic-container{
  flex: 1;
}
.search-location-header_right #header-right .search-container {
  display:table-cell !important;
}
/** END Mobile Home Changes*/

/*start custom learning plans */
.titlekickers {
  font-size: .7rem !important;
  text-transform: uppercase;
  display: block;
  letter-spacing: 0.15rem;
  padding-bottom: 0.5rem;
  color: #ffff !important;
  padding: 0 3em !important;
}

.relatedlearningsection{
  padding-left: 2rem;
  padding-right: 3rem;
}

.featured-card-container2 {
  padding: 0 24px !important;
}


/*end custom learning plans */


/** STARTHome Changes*/


/*
 * MEDIA QUERIES - DESCENDING ORDER (Largest max-width to Smallest)
 * Includes min-width queries at the bottom.
 */

/* Max-Width: 2002px */
@media only screen and (max-width: 2002px) {
  .homepage-header-heading {
    max-width: 50%;
  }
}

/* Max-Width: 1718px */
@media only screen and (max-width: 1718px) {
  .main-hero-btn{
    padding-right: 20% !important;
    padding-left: 20% !important;
  }
}

/* Max-Width: 1591px */
@media only screen and (max-width: 1591px) {
  .main-hero-wrapper-right{
    padding-left: 0em;
  }
}

/* Max-Width: 1504px */
@media only screen and (max-width: 1504px) {
  .homepage-header {
    padding-left: 6rem;
    padding-right: 6rem;
  }

  .homepage-body {
    padding-left: 6em !important;
    padding-right: 6em !important;
  }
}

/* Max-Width: 1476px */
@media only screen and (max-width: 1476px) {
  #homePageSubtitle{
    max-width: 45%;
  }
}

/* Max-Width: 1397px */
@media only screen and (max-width: 1397px) {
  .main-hero-btn {
    padding: 1rem 3rem  !important;
  }

  .homepage-body {
    padding-left: 5em !important;
    padding-right: 5em !important;
  }
}

/* Max-Width: 1390px */
@media only screen and (max-width: 1390px) {
  #skilljar-content #NavBar a {
    color: #191919;
    text-align: center;
    margin: 20px 10px;
    float: left;
    display: block;
    padding-bottom: 5px;
    border-bottom: 2px solid #fff;
  }
  #searchbar-learningpaths{
    margin-left: 1rem !important;
    background-color: #000000;
  }
  #searchbar-oktabadge{
    margin-left: 1rem !important;
  }
}

/* Max-Width: 1148px */
@media only screen and (max-width: 1148px) {
  .main-hero-btn {
    margin: .3rem 0  !important;
  }

  .homepage-body {
    padding-left: 4em !important;
    padding-right: 4em !important;
  }

  .homepage-header {
    padding-left: 4rem;
    padding-right: 4rem;
    background-image: url('https://d3aazlu0qdi1gg.cloudfront.net/skilljar/graphics/HeroBannerMobile.png');
  }

  .homepage-header-heading{
    max-width: 70%;
  }
  .main-hero-btn {
    padding: 1rem 1rem !important;
  }
}

/* Max-Width: 1123px */
@media only screen and (max-width: 1123px) {
  #header #header-left .header-nested-wrapper .parent:before {
    left: inherit;
  }
  #homePageSubtitle{
    max-width: 60%;
  }
}

/* Max-Width: 900px */
@media only screen and (max-width: 900px) {
  .featured-card-container {
    flex-wrap: wrap !important;
  }
  .featured-card {
    min-width: 100%  !important;
  }
  .main-hero-wrapper {
    display: block !important;
  }

  .homepage-body {
    padding-left: 2em !important;
    padding-right: 2em !important;
    width: 100%;
  }
  .homepage-header-heading {
    max-width: 100%;
  }
  .homepage-header {
    padding-left: 2rem;
    padding-right: 2rem;

  }
  .homepage-badges {
    width: 20%;
  }
}

/* Max-Width: 874px */
@media only screen and (max-width: 874px) {
  .catalog-heading-indent {
    margin-left: 1rem !important;
  }

  #skilljar-content #NavBar {
    padding-left: .5rem;
  }
}

/* Max-Width: 830px */
@media only screen and (max-width: 830px) {
  .homepagevideographic {
    display: none;
  }
  .breadcrumb-li {
    font-size: .8rem;
    align-self: flex-end;
  }

  #homePageSubtitle{
    max-width: 80%;
  }
}

/* Max-Width: 767px */
@media only screen and (max-width: 767px) {
  .show-for-small {
    color: white;
  }
  .profile-courses.show-for-small .profile-course-info:nth-child(2n), #lp-wrapper #lesson-body.details-pane-left #details-pane #details-pane-content .profile-courses.sj-text-details-pane-summary .profile-course-info:nth-child(2n), #lp-wrapper #lesson-body.details-pane-right #details-pane #details-pane-content .profile-courses.sj-text-details-pane-summary .profile-course-info:nth-child(2n) {
    background: #AFABA1;
  }
}

/* Max-Width: 759px */
@media only screen and (max-width: 759px) {
  .main-hero-video-wrapper-left {
    width: 100%;
  }
}

/* Max-Width: 736px */
@media only screen and (max-width: 736px) {
  .getting-started-text-content{
    width: 100%;
    padding-bottom: 2em;
    text-align: center;
  }
  .main-hero-btn{
    padding-right: 4.7em !important;
    padding-left: 4.7em !important;
  }
  #learningPlansJourneyText{
    max-width: 100%;
  }
}

/* Max-Width: 670px */
@media only screen and (max-width: 670px) {
  .main-hero-wrapper {
    display: block !important;
  }
}

/* Max-Width: 640px */
@media only screen and (max-width: 640px) {
  .oktaauth0subtitlehomepage {
    margin-left: 0rem;
  }
  #filter_type_-p{
    display: none;
  }
  .homepageInvestTitle {
    padding-left: 0em;
  }
  #homePageSubtitle{
    max-width: 90%;
  }
  .no-catalog-filters .lp-content #catalog-courses {
    max-width: 100%;
    margin-left: 2rem;
  }
  .relatedlearningsection{
    padding-left: 2rem;
    padding-right: 2rem;
  }
}



/* Max-Width: 500px */
@media only screen and (max-width: 500px) {
  .main-hero-wrapper {
    display: block !important;
  }

  .homepage-header-heading {
    padding: 0em !important;
  }
  .main-hero-btn {
    padding-right: 1.7em !important;
    padding-left: 1.7em !important;
  }
  .featured-card {
    min-width: 15em  !important;
  }
  .lp-featured-card {
    min-width: 20em  !important;
  }
}



/* Max-Width: 450px */
@media only screen and (max-width: 450px) {
  .homepageWelcomeTitle {
    font-size: 3rem !important;
  }
  .homepageInvestTitle {
    font-size: 2.5rem !important;
    line-height: 120% !important;
    text-align: left !important;
    padding-left: 0em;
  }
  .banner-text {
    font-size: 1em;
  }
}



/* Max-Width: 350px */
@media only screen and (max-width: 350px) {
  .homepageWelcomeTitle {
    font-size: 2rem !important;
  }
  .homepageInvestTitle {
    font-size: 1.5rem !important;
  }
  .popup{
    display:none !important;
  }
  .featured-card {
    min-width: 12em  !important;
  }

  .lp-featured-card {
    min-width: 20em  !important;
  }
}

/* Max-Width: 275px */
@media only screen and (max-width: 275px) {
  .homepageWelcomeTitle {
    font-size: 1rem !important;
  }
  .homepageInvestTitle {
    font-size: .75rem !important;
  }
}


/* --- MIN-WIDTH QUERIES (Listed for completeness) --- */

/* Min-Width: 701px */
@media only screen and (min-width: 701px) {
  .lesson-page #lp-wrapper #lesson-body.details-pane-closed #lesson-main {
    padding-top: 4em;
  }
}

/* Min-Width: 1536px */
@media only screen and (min-width: 1536px) {
  .header-wrapper {
    padding-left: 6.6rem;
    padding-right: 6.6rem;
    width: 100%;
  }
}







@media only screen and (max-width: 700px) {
  .lesson-page #lp-wrapper #lesson-body.details-pane-closed #lesson-main {
    padding-top: 6em;
  }
}
@media only screen and (max-width: 500px) {
  .lesson-page #lp-wrapper #lesson-body.details-pane-closed #lesson-main {
    padding-top: 8em;
  }
}
@media only screen and (max-width: 400px) {
  .lesson-page #lp-wrapper #lesson-body.details-pane-closed #lesson-main {
    padding-top: 10em;
  }
}


/** END Home Changes*/


/* styling for the error title */
.sj-page-error #skilljar-content h1{
  color: #222;
  font-size: 32px;
  font-weight: 400;
  margin: 0 0 15px;
}
/* styling for the error description */
.sj-page-error #skilljar-content p {
  font-size: 18px;
  line-height: 22px;
}
#feedback-tab {
  position: fixed;
  right: 0;
  bottom: 158px;
  width: 36px;
  height: 139px;
  overflow: hidden;
  background-color: #242424;
}

#feedback-link {
  display: inline-block;
  width: 100%;
  height: 100%;
}
#feedback-container {
  transform: translateY(70px);
}
#feedback-text {
  transform: rotate(270deg);
  font-size: 1em;
  font-family: arial, sans-serif;
  color: #fff;
}

/*ontrust*/
#onetrust {
  color: black !important;
}

.group-description.ot-category-desc{
  color: black !important;
}
#onetrust-policy-text {
  color: black !important;
}
#pc-policy-text {
  color: black !important;
}
#onetrust-pc-sdk .cookie-subgroups-container ul.cookie-subgroups li p {
  color: black !important;
}
#onetrust-banner-sdk p, #onetrust-pc-sdk p, #ot-sdk-cookie-policy p {
  color: black !important;
}



#onetrust-pc-sdk .save-preference-btn-handler::before {
  display: none;
}

#onetrust-pc-btn-handler::before {
  display: none;
}

#onetrust-reject-all-handler::before {
  display: none;
}


#onetrust-accept-btn-handler::before {
  display: none;
}


#accept-recommended-btn-handler::before {
  display: none;
}
/*end onetrust*/
/** START fix for ILT courses with multiple lessons details page**/

[data-section=tabs]>section>[data-section-content], [data-section=tabs]>section>.content, [data-section=tabs]>.section>[data-section-content], [data-section=tabs]>.section>.content, [data-section=tabs]>[data-section-region]>[data-section-content], [data-section=tabs]>[data-section-region]>.content, .section-container.tabs>section>[data-section-content], .section-container.tabs>section>.content, .section-container.tabs>.section>[data-section-content], .section-container.tabs>.section>.content, .section-container.tabs>[data-section-region]>[data-section-content], .section-container.tabs>[data-section-region]>.content {
  background-color: #191919 !important;
}

/**END fix for ILT courses with multiple lessons details page**/

.catalog-filter-buttons {
  border: 2px solid gray;
  text-decoration: none;
  width: 10em;
  border-radius: 3rem;
  padding-top: 1em;
  padding-bottom: 1em !important;
  background-color: black;
}


/**Start Course SUrvey*/

/* The full-screen overlay that is initially hidden */
#popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  display: none; /* Initially hidden */
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

/* The container for the iframe and close button */
#popup-container {
  position: relative;
  width: 90%;
  max-width: 800px;
  height: 90%;
  max-height: 600px;
  background-color: white;
  border-radius: 8px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
  padding: 20px;
}

/* The iframe itself */
#popup-iframe {
  width: 100%;
  height: 100%;
  border: none;
}

/* The close button */
#closePopupButton {
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 24px;
  font-weight: bold;
  border: none;
  background: none;
  cursor: pointer;
  color: #333;
}
/**End Course SUrvey*/

/**Start new slide out course survey**/

.feedback-iframe-container {
  position: fixed; /* Fixed position relative to the viewport */
  bottom: 0;
  right: -100%; /* Start completely off-screen to the right */
  width: 100%; /* Full width on smaller screens */
  max-width: 600px;
  max-height: 600px;
  height: 100%;
  background-color: #2a2a2a; /* Light background for the container */
  z-index: 1000; /* Ensure it's above other content */
  overflow: hidden; /* Hide any overflow from the iframe or its content */
  border-radius: 20px 0 0 20px; /* Rounded corners on the left side */
  transition: right 0.5s ease-in-out; /* Smooth sliding transition */
}



/* Class to apply when the iframe should be visible (slides in) */
.feedback-iframe-container.is-visible {
  right: 0; /* Slide into view */
}

/* Styling for the iframe itself */
.feedback-iframe-container iframe {
  width: 100%;
  height: 100%;
  border: none; /* Remove default iframe border */
  display: block; /* Ensure it takes full space */
}

/* Responsive adjustments for smaller screens */
@media (max-width: 768px) {
  .feedback-iframe-container {
    width: 100%; /* Take full width on mobile */
    max-width: none; /* No max-width constraint */
    right: -100%; /* Still off-screen */
    border-radius: 0; /* No rounded corners on full-width mobile */
  }

  .feedback-iframe-container.is-visible {
    right: 0; /* Slide in fully */
  }
}

/* Example of a button to trigger the slide-out */
.feedback-toggle-button {
  position: fixed;
  top: 20px;
  right: 20px;
  padding: 10px 20px;
  background-color: #007bff;
  color: white;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  font-size: 16px;
  z-index: 1001; /* Above the iframe container */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  transition: background-color 0.3s ease;
}

.feedback-toggle-button:hover {
  background-color: #0056b3;
}
/**Start new slide out course survey**/

/**Force Path Assessment Prereq not met error box to appear on top**/
.sj-page-detail-course div#messages {
  z-index: 1;
}
/**End Force Path Assessment Prereq not met error box to appear on top**/

.labinstructionsli{
  margin-bottom: .5em;
}
.footer-text {
  font-size: 0.9rem; /* Reverted font size to 0.9rem */
  color: #ffffff; /* Changed text color to white */
  font-weight: 500;
  width: 100%; /* Ensure it takes full width to align text */
  text-align: center; /* Changed text alignment back to center */
}


.homepage-actionbuttons {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.40) 0%, rgba(255, 255, 255, 0.40) 100%), radial-gradient(123.72% 71.29% at 7.15% 100%, #FFF 0%, rgba(255, 255, 255, 0.00) 100%), radial-gradient(234.4% 144.94% at 84.62% 0%, #FFF 0%, rgba(255, 255, 255, 0.00) 100%), linear-gradient(26deg, rgba(255, 255, 255, 0.17) -32.04%, rgba(255, 255, 255, 0.00) 133.43%);
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25), 0 -16px 24px 0 rgba(255, 255, 255, 0.48) inset;
  backdrop-filter: blur(20px);
  text-wrap-mode: nowrap;
  margin: .5rem;
  padding-top: 1.3rem;
  padding-bottom: 1.3rem;
  color: black;
  min-width: 12rem;
  max-width: 12rem;
  text-align: center;
  border-radius: .375rem;
}



/* Start: Oktane Badge challenge*/
.oktaneimage{
  display: block;
  margin-left: auto;
  margin-right: auto;
}


.oktanetitle1{
  background: linear-gradient(46deg, #4016A0 2.78%, #3F59E4 50.05%, #F2AC84 104.43%) !important;
}
.oktanetitle2{
  font-family: Aeonik !important;
  font-size: 94px;
  color: white;
  font-style: normal;
  font-weight: 400;
  text-align: center;
}
.oktanetitle3{
  padding-left: 20rem;
  padding-right: 20rem;
  padding-top: 2rem;
  text-align: center;
  color: #FFF;
  font-family: Aeonik;
  font-size: 31px;
  font-style: normal;
  font-weight: 400;
}

.oktanetitle4{
  padding-left: 20rem;
  padding-right: 20rem;
  padding-top: 2rem;
  text-align: center;
  color: #FFF;
  font-family: Aeonik;
  font-size: 21px;
  font-style: normal;
  font-weight: 400;
  line-height: 1em;
  padding-bottom: .2em;
}


.hidebadgechallenageheader {
  padding-top: 0px !important;
}
/* End: Oktane Badge challenge*/

/* Start: Oktane catalog page*/
.notLoggedInLabsSection {
  display: none;
}

.notInOktaneUserGroup {
  display: none;
}
@media (max-width: 1500px) {

  .oktanetitle3{
    padding-left: 8rem;
    padding-right: 8rem;
  }
  .oktanetitle4{
    padding-left: 8rem;
    padding-right: 8rem;
  }
}

@media (max-width: 1000px) {

  .oktanetitle3{
    padding-left: 4rem;
    padding-right: 4rem;
  }
  .oktanetitle4{
    padding-left: 4rem;
    padding-right: 4rem;
  }
}
@media (max-width: 640px) {

  .oktanetitle3{
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .oktanetitle4{
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media (max-width: 510px) {

  .oktanetitle2{
    font-size: 54px;
  }
  .oktanetitle3{
    font-size: 21px;
  }
  .oktanetitle4{
    font-size: 18px;
  }
  .popup-title {
    font-size: 12px;
    margin-bottom: 0px;
  }
  .popup-text {
    line-height: 10px;
    font-size: 10px;
  }

  .termspopup {
    padding: 10px;
    min-height: 10%;
  }

}



.oktane-logout-link {
  /* Use fixed positioning to keep the element relative to the viewport. */
  position: fixed;

  /* Place the element 10 pixels from the top and right edges of the screen. */
  top: 10px;
  right: 10px;

  /* Bring the element to the front, ensuring it appears on top of other content. */
  z-index: 1000;

  /* Basic styling for the link itself. */
  padding: 8px 16px;
  background-color: #1e1e1e;
  color: #ffffff;
  border-radius: 8px;
  font-family: sans-serif;
  font-size: 14px;
  text-decoration: none;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Style the link text inside the container. */
.oktane-logout-link a {
  color: inherit;
  text-decoration: none;
}

/* Add a hover effect for a better user experience. */
.oktane-logout-link:hover {
  background-color: #1a31a9;
}

/* End: Oktane catalog page*/

/*bookmarked*/
.fa-bookmark {
  color: #3f59e4;
  font-size: xx-large;

}

/*not bookmarked*/
.fa-bookmark-o {
  color: transparent;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: white;
  font-size: xx-large;
  background: #191919;
}
.sj-save-toggle-block__button {
  border: none;
}

.fa-bookmark-o {
  background: transparent;
}

.sj-save-toggle-block__button:hover, .sj-save-toggle-block__button:focus, .sj-save-toggle-block__button:active {
  border: none;
}

/*download paperclip icon*/
.lp-color-scheme-light #lp-wrapper .dark-bg-text {
  color: #99a7f1;
}

/*Fix for the Course Info page with the "Take Again" button*/
@media only screen and (min-width: 768px) {
  .large-8 {
    position: inherit;
    width: 100%;
  }
  .push-4 {
    position: relative;
    left: 0;
  }

}


/*Scroll bars appearing on tiles with the New banner*/
.search #catalog-content a.coursebox-container, .list-view a.course, .expandable-view a.course {
  overflow: hidden;
}
/*Start new hire*/
.check-icon {
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  /* SVG checkmark (Green Light) */
  background-color: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") no-repeat center / contain;
}



/* Define the circle (Pending Light) */
.circle-icon {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  /* SVG circle (Gray Light) */
  background-color: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='currentColor' stroke-width='2'/%3E%3C/svg%3E") no-repeat center / contain;
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.bg-indigo-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}
.bg-gray-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.p-4 {
  padding: 1rem;
}

.justify-center {
  justify-content: center;
}

.items-center {
  align-items: center;
}
.min-h-screen {
  min-height: 100vh;
}


.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.rounded-xl {
  border-radius: 0.75rem;
}
.overflow-hidden {
  overflow: hidden;
}
.max-w-lg {
  max-width: 32rem;
}

.w-full {
  width: 100%;
}

.pb-4 {
  padding-bottom: 1rem;
}



.justify-between {
  justify-content: space-between;
}
.items-center {
  align-items: center;
}

.flex {
  display: flex;
}
.text-gray-800 {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}


.font-medium {
  font-weight: 500;
}

.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.text-green-500 {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}


.space-x-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.5rem * var(--tw-space-x-reverse));
  margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}

@media (min-width: 640px) {
  .sm\:inline {
    display: inline;
  }
}

.text-green-600 {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.font-semibold {
  font-weight: 600;
}

.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.flex-col {
  flex-direction: column;
}
/*End new hire*/

.sj-page-path #path-curriculum-resume-button {
  display: none;
}

.sj-text-lt-no-future-events{
  color: #FFFFFF;
}

/*Start Pendo Guide CSS Changes*/
#pendo-guide-container{
  border-radius: 1em !important;

}

._pendo-button-custom{
  background: linear-gradient(239deg, #111111 -305.94%, #191919 -61.79%, #4016a0 12.12%, #3f59e4 108.18%) !important;
}

._pendo-close-guide{
  top: 1px !important;
}

/*End Pendo Guide CSS Changes*/
/*Start Remove course border under title which was also removed*/
.lesson-page #lp-wrapper #lesson-body .lesson-top, .lesson-page .lp-color-scheme-light #lp-wrapper #lesson-body .lesson-top {
  border-bottom: none;
}
/*End Remove course border under title which was also removed*/
/* Partner locked boxes styling */
.fc-list-item-title a.locked {
  filter: grayscale(100%);
  position: relative;
}

.fc-list-item-title a.locked::after {
  content: "🔒";
  position: absolute;
  font-size: 20px;
  z-index: 10;
}

.fc-list-item-title a.locked:hover {
  filter: grayscale(100%);
  transform: none !important;
  cursor: not-allowed;
}

.partner404Link:hover{
  color: #fff !important;
}
#skilljar-content a:hover {
  color: #b6caff !important;
  text-decoration-color: #b6caff !important;
}
/* Hidden events */
.vilt-event-hidden {
  display: none !important;
}

.sj-page-lesson .lesson-page hr {
  display: block;
}

.lp-color-scheme-light #lp-wrapper #lesson-body h1, .lp-color-scheme-light #lp-wrapper #lesson-body .h1-style, .lp-color-scheme-light #lp-wrapper #lesson-body h2, .lp-color-scheme-light #lp-wrapper #lesson-body .h2-style, .lp-color-scheme-light #lp-wrapper #lesson-body h3, .lp-color-scheme-light #lp-wrapper #lesson-body .h3-style, .lp-color-scheme-light #lp-wrapper #lesson-body h4, .lp-color-scheme-light #lp-wrapper #lesson-body .h4-style, .lp-color-scheme-light #lp-wrapper #lesson-body h5, .lp-color-scheme-light #lp-wrapper #lesson-body h6 {
  color: #fffefa;
}
h1, .h1-style, h2, .h2-style, h3, .h3-style, h4, .h4-style, h5, h6 {
  color: #fffefa;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk9rdGFMZWFybmluZ1RoZW1lR2xvYmFsQ29kZVNuaXBwZXQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6Ik9rdGFMZWFybmluZ1RoZW1lR2xvYmFsQ29kZVNuaXBwZXQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogU1RBUlQgRXhhbWl0eSBVcGRhdGVzIChPS1RBKSAqL1xuLyogR2xvYmFsIENvZGUgU25pcHBldCAqL1xuLyogQWRkIHRoZSB0YWcgXCJoaWRlLXNjb3JlXCIgdG8gYW55IGNvdXJzZSB0byBoaWRlIHRoZSBzY29yZSAqL1xuLyogQWRkIHRoZSB0YWcgXCJuby1yaWJib25cIiB0byBhbnkgY291cnNlIHRvIGhpZGUgdGhlIHJlZ2lzdGVyZWQgcmliYm9uICovXG5cbi5zai1wYWdlLWxlc3NvbiAjbWFpbi1jb250YWluZXIgLnNqLXdpZGdldHMtc3Bpbm5lciB+ICoge1xuICBvcGFjaXR5OiAwO1xufVxuXG4jY2FsZW5kYXIgI3NraWxsamFyLWNvbnRlbnQgYTpob3ZlciB7XG4gIGNvbG9yOiAjYjZjYWZmO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6ICNiNmNhZmY7XG59XG5cbi5jb3Vyc2Vib3gtY29udGFpbmVyW2RhdGEtdGFncyo9XCJpbnRlcm5hbG9ubHktbm8tcmliYm9uXCJdIC5zai1yaWJib24tcmVnaXN0ZXJlZCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuW2RhdGEtY291cnNlPVwib2t0YS10ZWNobmljYWwtYXJjaGl0ZWN0LWNlcnRpZmljYXRpb24tb3ZlcnZpZXdcIl1cbi5wdXJjaGFzZS1idXR0b25cbi5wdXJjaGFzZS1idXR0b24tZnVsbC10ZXh0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuW2RhdGEtY291cnNlPVwib2t0YS10ZWNobmljYWwtYXJjaGl0ZWN0LWNlcnRpZmljYXRpb24tb3ZlcnZpZXdcIl1cbi5wdXJjaGFzZS1idXR0b246YWZ0ZXIge1xuICBjb250ZW50OiBcIkxlYXJuIE1vcmVcIjtcbn1cbltkYXRhLWNvdXJzZT1cIm9rdGEtdGVjaG5pY2FsLWFyY2hpdGVjdC1jZXJ0aWZpY2F0aW9uLW92ZXJ2aWV3XCJdXG4uc3RvcmVmcm9udC1wcmljZVxuc3BhbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEVORCBDZW50ZXJlZCBDb2xsYXBzaWJsZSBUYWcgYmFzZWQgUGFnZSBTZXBhcmF0b3IgSlMvQ1NTICovXG5cblxuLyogdGhpcyBpcyB0aGUgc3R5bGluZyBmb3IgdGhlIHRpbGUgcGlsbHMsIGZlZWwgZnJlZSB0byBjaGFuZ2UgaXQhICovXG4udGFnLXBpbGwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IC8qIHRleHQgYWxpZ25tZW50IGZvciBwaWxscyAqL1xuICBmb250LXNpemU6IDEycHg7IC8qIGZvbnQgc2l6ZSBmb3IgcGlsbCB0ZXh0ICovXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMTY2Y2M7IC8qIGRlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBwaWxscyAqL1xuICBjb2xvcjogd2hpdGU7IC8qIGRlZmF1bHQgY29sb3IgZm9yIHBpbGwgdGV4dCAqL1xuICBwYWRkaW5nOiA3cHggMTBweDsgLyogc3BhY2luZyBhcm91bmQgcGlsbCB0ZXh0ICovXG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7IC8qIHJvdW5kaW5nIG9mIHBpbGxzLiBzZXQgdG8gMCBmb3Igc3F1YXJlICovXG4gIG1hcmdpbjogNXB4OyAvKiBzcGFjZSBiZXR3ZWVuIHBpbGxzIGlmIG11bHRpcGxlIGFyZSBmb3VuZCAqL1xufVxuLnRhZy1waWxsLXdyYXBwZXIge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDEwcHggMTlweCAwcHg7XG59XG4uc2VhcmNoIC50YWctcGlsbC13cmFwcGVyIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLyogRU5EIEFkZCBDb3Vyc2UgVGFnIFBpbGxzIHRvIENvdXJzZSBUaWxlcyAtIEFkZCB0byBHbG9iYWwgQ29kZSBTbmlwcGV0ICovXG5cbi8qIFNUQVJUIENlbnRlcmVkIENvbGxhcHNpYmxlIFRhZyBiYXNlZCBQYWdlIFNlcGFyYXRvciBKUy9DU1MgKi9cblxuLyogZW5zdXJlIG5ldyBjb3Vyc2Ugc2VjdGlvbnMgc3RhbmRhcmRpemUgdGlsZSBoZWlnaHRzICovXG4uYXJyb3ctdG9nZ2xlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI1MG1zIGVhc2U7XG59XG4vKiBTZXQgZm9udCBzaXplIGZvciBzZXBhcmF0b3IgdGl0bGVzICovXG5hLmNvdXJzZWJveC1jb250YWluZXJbZGF0YS10YWdzKj1cInNlcGFyYXRvclwiXSAuY291cnNlYm94LXRleHQge1xuICBmb250LXNpemU6IDMwcHggIWltcG9ydGFudDtcbiAgLyogY29sb3I6ICNmZmZlZmE7ICovXG59XG4vKiBTZXQgZm9udCBzaXplIGZvciBzZXBhcmF0b3Igc3ViLXRpdGxlcyAqL1xuYS5jb3Vyc2Vib3gtY29udGFpbmVyW2RhdGEtdGFncyo9XCJzZXBhcmF0b3JcIl0gLmNvdXJzZWJveC10ZXh0LWRlc2NyaXB0aW9uIHtcbiAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG59XG4vKiBzdHlsaW5nIGZvciBzbGlkZSBhbmltYXRpb24gd2hlbiB0b2dnbGluZyBzZXBhcmF0b3JzICovXG4uY29sbGFwc2UtYW5pbWF0aW9uLXdyYXBwZXIsXG4uY29sbGFwc2Utd3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiByZW1vdmUgYWxsIHN0YW5kYXJkIGNvdXJzZSB0aWxlIHN0eWxpbmcsIGFkZCAxMDAlIHBhZ2Ugd2lkdGggKi9cbmEuY291cnNlYm94LWNvbnRhaW5lcltkYXRhLXRhZ3MqPVwic2VwYXJhdG9yXCJdIHtcbiAgcGFkZGluZzogMjBweCAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogdW5zZXQgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBwb2ludGVyLWV2ZW50czogdW5zZXQ7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuYS5jb3Vyc2Vib3gtY29udGFpbmVyW2RhdGEtdGFncyo9XCJzZXBhcmF0b3JcIl06aG92ZXIge1xuICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyogaGlkZSBjb3Vyc2UgcHJpY2UvQ1RBIHRleHQsIHRpbGUgaW1hZ2UsIGhpZGUgc2VwYXJhdG9yIGNvdXJzZXMgZnJvbSBzZWFyY2ggKi9cbmEuY291cnNlYm94LWNvbnRhaW5lcltkYXRhLXRhZ3MqPVwic2VwYXJhdG9yXCJdIC5zdG9yZWZyb250LXByaWNlLFxuLnNlYXJjaCBhLmNvdXJzZWJveC1jb250YWluZXJbZGF0YS10YWdzKj1cInNlcGFyYXRvclwiXSxcbmEuY291cnNlYm94LWNvbnRhaW5lcltkYXRhLXRhZ3MqPVwic2VwYXJhdG9yXCJdIC5jb3Vyc2Vib3gtaW1hZ2Uge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIHN0eWxlIExlYXJuaW5nIFBhdGggc2VwYXJhdG9yICovXG4vKiBhLmNvdXJzZWJveC1jb250YWluZXJbZGF0YS10YWdzKj1cInBhdGhzXCJdIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2V2ZXJwYXRoLWNvdXJzZS1jb250ZW50LnMzLWFjY2VsZXJhdGUuYW1hem9uYXdzLmNvbS9pbnN0cnVjdG9yJTJGM204YjRsdmRpMGdneDF0azdxZ2xyOTZjcSUyRnB1YmxpYyUyRjE2OTE1MzAzMTYlMkZiYW5uZXJfaW1nLjE2OTE1MzAzMTY0MDAuanBlZycpO1xuYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbmJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5iYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59ICovXG5cbi8qIFNUQVJUIFNDT1JNIE5leHQgYnV0dG9uIG92ZXJyaWRlIHdoZW4gXCJibG9jay1zY29ybS1wcm9ncmVzc1wiIFRhZyBpcyBwcmVzZW50IG9uIGNvdXJzZSAqL1xuXG4ubmV4dC1idXR0b24tbWVzc2FnZS13cmFwcGVyIHtcbiAgcGFkZGluZzogMTVweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC04MnB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHJpZ2h0OiAxNHB4O1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMjc1cHg7XG4gIGhlaWdodDogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjM2MzYzM7XG59XG4ubmV4dC1idXR0b24tbWVzc2FnZSB7XG4gIGZvbnQtc2l6ZTogMTdweDtcbn1cblxuI2xlYXJuaW5nLXBvcHVwLWJ0biB7XG4gIHotaW5kZXg6IDk5OTtcbiAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwcHg7XG4gIGxlZnQ6IDE1cHg7XG4gIHdpZHRoOiAxNTVweDtcbiAgaGVpZ2h0OiA0NXB4O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgcGFkZGluZzogMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2NmNjO1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jbGVhcm5pbmctcG9wdXAtYnRuOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4ueW91ci1sZWFybmluZy1wb3B1cCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiA5OTk5OTg7XG4gIHBhZGRpbmc6IDI0cHg7XG59XG4ueW91ci1sZWFybmluZy1wb3B1cC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDEwcHggcmdiKDAgMCAwIC8gMjAlKTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgcGFkZGluZzogMjRweCA1MHB4O1xuICBtYXJnaW46IDUlIGF1dG87XG4gIG1heC13aWR0aDogODAlO1xufVxuLnlvdXItbGVhcm5pbmctcG9wdXAtaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICBmb250LXNpemU6IDE2cHg7XG59XG4ueW91ci1sZWFybmluZy1wb3B1cC1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNXB4O1xuICByaWdodDogMTVweDtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ueW91ci1sZWFybmluZyB7XG4gIG1hcmdpbjogYXV0bztcbiAgcGFkZGluZzogMjRweDtcbn1cblxuLnlvdXItbGVhcm5pbmctaGVhZGVyIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAzNHB4O1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnlvdXItbGVhcm5pbmctc3ViLWhlYWRlciB7XG4gIG1hcmdpbjogMTVweDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnlvdXItbGVhcm5pbmctY29udGVudCB7XG4gIHBhZGRpbmc6IDEwcHggMTBweCAyMHB4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbn1cbi55bC1jb3Vyc2UtY291bnRlciB7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4ueW91ci1sZWFybmluZy1jb250ZW50IC5jb3Vyc2Vib3gtY29udGFpbmVyIHtcbiAgZmxleDogMCAwIGF1dG8gIWltcG9ydGFudDtcbn1cbi55b3VyLWxlYXJuaW5nLWNvbnRlbnQgLnNqLXJpYmJvbi13cmFwcGVyIC5zai1yaWJib24ge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG4ueW91ci1sZWFybmluZy1zY3JvbGwtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnlsLWxlZnQtc2Nyb2xsLWJ0bixcbi55bC1yaWdodC1zY3JvbGwtYnRuIHtcbiAgcGFkZGluZzogMTBweCA4cHg7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgY29sb3I6ICNiMmIyYjI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi8qIG1vYmlsZSByZXNwb25zaXZlbmVzcyBzdHlsaW5ncyBiZWxvdyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4NjdweCkge1xuICAueW91ci1sZWFybmluZy1wb3B1cC1jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDk1JTtcbiAgICBwYWRkaW5nOiAyNHB4IDEwcHg7XG4gIH1cbn1cblxuLnRlcm1zcG9wdXAge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMjBweDtcbiAgcmlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMTBweCByZ2IoMCAwIDAgLyAyMCUpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwYWRkaW5nOiAyNXB4O1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiA5OTk5OTg7XG4gIG1pbi13aWR0aDogMTUlO1xuICBtYXgtd2lkdGg6IDIwJTtcbiAgbWluLWhlaWdodDogMjAlO1xuICBtYXgtaGVpZ2h0OiAzMCU7XG59XG5cbi5wb3B1cCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAyMHB4O1xuICByaWdodDogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IHJnYigwIDAgMCAvIDIwJSk7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHBhZGRpbmc6IDI1cHg7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6IDk5OTk5ODtcbiAgbWluLXdpZHRoOiAyMCU7XG4gIG1heC13aWR0aDogMjUlO1xuICBtaW4taGVpZ2h0OiA3MCU7XG4gIG1heC1oZWlnaHQ6IDgwJTtcbn1cbi5wb3B1cC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4ucG9wdXAtdGV4dCB7XG4gIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbi5wb3B1cC10ZXh0IGRpdiBwIHtkaXNwbGF5Om5vbmU7fVxuLnBvcHVwLXRleHQgZGl2OmhvdmVyIHAge2Rpc3BsYXk6YmxvY2s7fVxuXG4ucG9wdXAtY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgcmlnaHQ6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiA5OTk5OTk5O1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi50ZXJtc3BvcHVwLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwcHg7XG4gIHJpZ2h0OiAxMHB4O1xuICBmb250LXNpemU6IDIycHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogOTk5OTk5OTtcbiAgY29sb3I6IGJsYWNrO1xufVxuXG5cbnN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xuICBjb2xvcjogIzAwQUNGMztcbiAgbWFyZ2luLXJpZ2h0OiAycHg7XG59XG5zdW1tYXJ5OmZvY3VzIHtcbiAgb3V0bGluZS1zdHlsZTogbm9uZTtcbn1cbmFydGljbGUgPiBkZXRhaWxzID4gc3VtbWFyeSB7XG4gIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xufVxuYXJ0aWNsZSA+IGRldGFpbHMgPiBwIHtcbiAgbWFyZ2luOiAxcmVtIDAgMHJlbSAwcmVtICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDtcbn1cbmRldGFpbHMgZGV0YWlscyB7XG4gIG1hcmdpbi1sZWZ0OiAzNnB4O1xufVxuZGV0YWlscyBkZXRhaWxzIHN1bW1hcnkge1xufVxuXG4uZ2VuZXJhbC1leHBlcnQtcGFzcyB7XG5cbn1cblxuLnBhcnRuZXItZXhwZXJ0LXBhc3Mge1xuXG59XG5cbi53aWRnZXQtdGFibGV7XG4gIGJhY2tncm91bmQtY29sb3I6IzE5MTkxOTtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2RkZCAhaW1wb3J0YW50O1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5iYWRnZS1pbWFnZXMge1xuICBtYXJnaW46IGF1dG87XG4gIHdpZHRoOiA3NSU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaGVhZGVyLW5lc3RlZC13cmFwcGVyIHtcbiAgei1pbmRleDogMjtcbn1cblxuLypIT01FUEFHRSBTVFlMRVMqL1xuLyphbHdheXMgZGlzcGxheSBzZWFyY2ggaW4gaGVhZGVyIHJlZ2FyZGxlc3Mgb2Ygc2NyZWVuIHNpemUqL1xuLypmb3JjZSBtZW51IHRvIHNob3cgb24gdG9wIG9mIG5hdmlnYXRpb24qL1xuYm9keS5tb2JpbGUtbWVudS1vcGVuIC5oZWFkZXItbW9iaWxlLWRyb3Bkb3duIHtcbiAgei1pbmRleDogMTAwMDtcbn1cblxuXG5cbi5ob21lcGFnZS1oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vZDNhYXpsdTBxZGkxZ2cuY2xvdWRmcm9udC5uZXQvc2tpbGxqYXIvZ3JhcGhpY3MvSGVyb0Jhbm5lci5wbmcnKTtcblxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDhyZW07XG4gIHBhZGRpbmctdG9wOiAyZW07XG4gIHBhZGRpbmctYm90dG9tOiAyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDhyZW07XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogbWluLWNvbnRlbnQ7XG59XG5cbi5ob21lcGFnZS1mZWF0dXJlZC1oZWFkZXIge1xuICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICBncmlkLXJvdzogNSAvIDU7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4uZmVhdHVyZWQtY2FyZC10cmFuc3BhcmVudCB7XG4gIG9wYWNpdHk6IDAuODtcbn1cblxuLmhvbWVwYWdlLWZlYXR1cmVkLWxlYXJuaW5nIHtcbiAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgZ3JpZC1yb3c6IDYgLyA2O1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtO1xufVxuXG4uaG9tZXBhZ2UtZmVhdHVyZWQtdmlkZW8ge1xuICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICBncmlkLXJvdzogNyAvIDc7XG4gIG1hcmdpbjogYXV0bztcbiAgcGFkZGluZy10b3A6IDNyZW07XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICB3aWR0aDogMTAwJTtcbn1cbi5tYWluLWhlcm8tdmlkZW8td3JhcHBlcntcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxRTFFMUU7XG4gIHBhZGRpbmc6IDNlbTtcbiAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XG59XG5cbi5tYWluLWhlcm8tdmlkZW8td3JhcHBlci1sZWZ0IHtcbiAgd2lkdGg6IDUwJTtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xufVxuXG4uZ2V0dGluZy1zdGFydGVkLXRleHQtY29udGVudHtcbiAgd2lkdGg6IDUwJTtcbiAgZmxleC1iYXNpczogYXV0bztcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmctbGVmdDogMWVtO1xufVxuXG4ubWFpbi1oZXJvLXZpZGVvLXdyYXBwZXItcmlnaHR7XG4gIHdpZHRoOiA1MCU7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleDogMSAxIDMwMHB4O1xufVxuXG4uY2F0YWxvZy1jZW50ZXItd2lkdGgge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmhvbWVwYWdlLWJvZHkge1xuICBwYWRkaW5nLWxlZnQ6IDhlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiA4ZW0gIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCU7XG59XG4uaG9tZXBhZ2UtaGVhZGVyLWhlYWRpbmcge1xuICBtYXgtd2lkdGg6IDI1JTtcbiAgZm9udC1zaXplOiA1NnB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuXG4ub2t0YWF1dGgwc3VidGl0bGVob21lcGFnZSB7XG4gIG1hcmdpbi1sZWZ0OiAzLjVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gIGNvbG9yOiAjYjZjYWZmICFpbXBvcnRhbnQ7XG59XG5cbi5ob21lcGFnZXZpZGVvZ3JhcGhpYyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogNGVtO1xufVxuXG4uaG9tZXBhZ2UtbWFpbi1oZXJvLWJ0biB7XG4gIG1hcmdpbi1sZWZ0OiAzcmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcGFkZGluZzogMXJlbSAzcmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICB3aWR0aDogMTJlbTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDI0NWRlZywgIzExMTExMSAtMzA1Ljk0JSwgIzE5MTkxOSAtNjEuNzklLCAjNDAxNmEwIDEyLjEyJSwgIzNmNTllNCAxMDguMTglKTtcbn1cblxuLmhvbWVwYWdlV2VsY29tZVRpdGxlIHtcbiAgY29sb3I6ICNmZmZlZmEgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiQWVvbmlrXCIsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiA0cmVtICFpbXBvcnRhbnQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxMTElICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDJyZW0gIWltcG9ydGFudDtcbn1cbi5ob21lcGFnZVRpbGVUb3BwZXIge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTcxZGVnLCAjRjJBQzg0IDAlLCAjM0Y1OUU0IDQ4JSwgIzE5MTkxOSAxMDAlKTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMXJlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDFyZW07XG4gIHBhZGRpbmc6IC4zZW07XG59XG5cbi5ob21lcGFnZUludmVzdFRpdGxlIHtcbiAgcGFkZGluZy1sZWZ0OiAxZW07XG4gIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgY29sb3I6ICNmZmZlZmEgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiQWVvbmlrXCIsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAzLjVyZW0gIWltcG9ydGFudDtcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDExNCUgIWltcG9ydGFudDtcbiAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbiNsZWFybmluZ1BsYW5zSm91cm5leVRleHR7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1heC13aWR0aDogODIlO1xufVxuI2hvbWVQYWdlU3VidGl0bGV7XG4gIG1heC13aWR0aDogMzUlO1xufVxuLmZlYXR1cmVkLWNhcmQtZ3JhcGhpYy1jb250YWluZXJ7XG4gIGZsZXg6IDE7XG59XG4uc2VhcmNoLWxvY2F0aW9uLWhlYWRlcl9yaWdodCAjaGVhZGVyLXJpZ2h0IC5zZWFyY2gtY29udGFpbmVyIHtcbiAgZGlzcGxheTp0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG59XG4vKiogRU5EIE1vYmlsZSBIb21lIENoYW5nZXMqL1xuXG4vKnN0YXJ0IGN1c3RvbSBsZWFybmluZyBwbGFucyAqL1xuLnRpdGxla2lja2VycyB7XG4gIGZvbnQtc2l6ZTogLjdyZW0gIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxldHRlci1zcGFjaW5nOiAwLjE1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICBjb2xvcjogI2ZmZmYgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAzZW0gIWltcG9ydGFudDtcbn1cblxuLnJlbGF0ZWRsZWFybmluZ3NlY3Rpb257XG4gIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcbn1cblxuLmZlYXR1cmVkLWNhcmQtY29udGFpbmVyMiB7XG4gIHBhZGRpbmc6IDAgMjRweCAhaW1wb3J0YW50O1xufVxuXG5cbi8qZW5kIGN1c3RvbSBsZWFybmluZyBwbGFucyAqL1xuXG5cbi8qKiBTVEFSVEhvbWUgQ2hhbmdlcyovXG5cblxuLypcbiAqIE1FRElBIFFVRVJJRVMgLSBERVNDRU5ESU5HIE9SREVSIChMYXJnZXN0IG1heC13aWR0aCB0byBTbWFsbGVzdClcbiAqIEluY2x1ZGVzIG1pbi13aWR0aCBxdWVyaWVzIGF0IHRoZSBib3R0b20uXG4gKi9cblxuLyogTWF4LVdpZHRoOiAyMDAycHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjAwMnB4KSB7XG4gIC5ob21lcGFnZS1oZWFkZXItaGVhZGluZyB7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLyogTWF4LVdpZHRoOiAxNzE4cHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTcxOHB4KSB7XG4gIC5tYWluLWhlcm8tYnRue1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwJSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMjAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogTWF4LVdpZHRoOiAxNTkxcHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTU5MXB4KSB7XG4gIC5tYWluLWhlcm8td3JhcHBlci1yaWdodHtcbiAgICBwYWRkaW5nLWxlZnQ6IDBlbTtcbiAgfVxufVxuXG4vKiBNYXgtV2lkdGg6IDE1MDRweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNTA0cHgpIHtcbiAgLmhvbWVwYWdlLWhlYWRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiA2cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDZyZW07XG4gIH1cblxuICAuaG9tZXBhZ2UtYm9keSB7XG4gICAgcGFkZGluZy1sZWZ0OiA2ZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2ZW0gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBNYXgtV2lkdGg6IDE0NzZweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDc2cHgpIHtcbiAgI2hvbWVQYWdlU3VidGl0bGV7XG4gICAgbWF4LXdpZHRoOiA0NSU7XG4gIH1cbn1cblxuLyogTWF4LVdpZHRoOiAxMzk3cHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM5N3B4KSB7XG4gIC5tYWluLWhlcm8tYnRuIHtcbiAgICBwYWRkaW5nOiAxcmVtIDNyZW0gICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaG9tZXBhZ2UtYm9keSB7XG4gICAgcGFkZGluZy1sZWZ0OiA1ZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1ZW0gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBNYXgtV2lkdGg6IDEzOTBweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzkwcHgpIHtcbiAgI3NraWxsamFyLWNvbnRlbnQgI05hdkJhciBhIHtcbiAgICBjb2xvcjogIzE5MTkxOTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAyMHB4IDEwcHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmZjtcbiAgfVxuICAjc2VhcmNoYmFyLWxlYXJuaW5ncGF0aHN7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICB9XG4gICNzZWFyY2hiYXItb2t0YWJhZGdle1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogTWF4LVdpZHRoOiAxMTQ4cHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE0OHB4KSB7XG4gIC5tYWluLWhlcm8tYnRuIHtcbiAgICBtYXJnaW46IC4zcmVtIDAgICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaG9tZXBhZ2UtYm9keSB7XG4gICAgcGFkZGluZy1sZWZ0OiA0ZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5ob21lcGFnZS1oZWFkZXIge1xuICAgIHBhZGRpbmctbGVmdDogNHJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0cmVtO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9kM2Fhemx1MHFkaTFnZy5jbG91ZGZyb250Lm5ldC9za2lsbGphci9ncmFwaGljcy9IZXJvQmFubmVyTW9iaWxlLnBuZycpO1xuICB9XG5cbiAgLmhvbWVwYWdlLWhlYWRlci1oZWFkaW5ne1xuICAgIG1heC13aWR0aDogNzAlO1xuICB9XG4gIC5tYWluLWhlcm8tYnRuIHtcbiAgICBwYWRkaW5nOiAxcmVtIDFyZW0gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBNYXgtV2lkdGg6IDExMjNweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIzcHgpIHtcbiAgI2hlYWRlciAjaGVhZGVyLWxlZnQgLmhlYWRlci1uZXN0ZWQtd3JhcHBlciAucGFyZW50OmJlZm9yZSB7XG4gICAgbGVmdDogaW5oZXJpdDtcbiAgfVxuICAjaG9tZVBhZ2VTdWJ0aXRsZXtcbiAgICBtYXgtd2lkdGg6IDYwJTtcbiAgfVxufVxuXG4vKiBNYXgtV2lkdGg6IDkwMHB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gIC5mZWF0dXJlZC1jYXJkLWNvbnRhaW5lciB7XG4gICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZlYXR1cmVkLWNhcmQge1xuICAgIG1pbi13aWR0aDogMTAwJSAgIWltcG9ydGFudDtcbiAgfVxuICAubWFpbi1oZXJvLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaG9tZXBhZ2UtYm9keSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyZW0gIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuaG9tZXBhZ2UtaGVhZGVyLWhlYWRpbmcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAuaG9tZXBhZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcblxuICB9XG4gIC5ob21lcGFnZS1iYWRnZXMge1xuICAgIHdpZHRoOiAyMCU7XG4gIH1cbn1cblxuLyogTWF4LVdpZHRoOiA4NzRweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4NzRweCkge1xuICAuY2F0YWxvZy1oZWFkaW5nLWluZGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gICNza2lsbGphci1jb250ZW50ICNOYXZCYXIge1xuICAgIHBhZGRpbmctbGVmdDogLjVyZW07XG4gIH1cbn1cblxuLyogTWF4LVdpZHRoOiA4MzBweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzBweCkge1xuICAuaG9tZXBhZ2V2aWRlb2dyYXBoaWMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmJyZWFkY3J1bWItbGkge1xuICAgIGZvbnQtc2l6ZTogLjhyZW07XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gIH1cblxuICAjaG9tZVBhZ2VTdWJ0aXRsZXtcbiAgICBtYXgtd2lkdGg6IDgwJTtcbiAgfVxufVxuXG4vKiBNYXgtV2lkdGg6IDc2N3B4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5zaG93LWZvci1zbWFsbCB7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG4gIC5wcm9maWxlLWNvdXJzZXMuc2hvdy1mb3Itc21hbGwgLnByb2ZpbGUtY291cnNlLWluZm86bnRoLWNoaWxkKDJuKSwgI2xwLXdyYXBwZXIgI2xlc3Nvbi1ib2R5LmRldGFpbHMtcGFuZS1sZWZ0ICNkZXRhaWxzLXBhbmUgI2RldGFpbHMtcGFuZS1jb250ZW50IC5wcm9maWxlLWNvdXJzZXMuc2otdGV4dC1kZXRhaWxzLXBhbmUtc3VtbWFyeSAucHJvZmlsZS1jb3Vyc2UtaW5mbzpudGgtY2hpbGQoMm4pLCAjbHAtd3JhcHBlciAjbGVzc29uLWJvZHkuZGV0YWlscy1wYW5lLXJpZ2h0ICNkZXRhaWxzLXBhbmUgI2RldGFpbHMtcGFuZS1jb250ZW50IC5wcm9maWxlLWNvdXJzZXMuc2otdGV4dC1kZXRhaWxzLXBhbmUtc3VtbWFyeSAucHJvZmlsZS1jb3Vyc2UtaW5mbzpudGgtY2hpbGQoMm4pIHtcbiAgICBiYWNrZ3JvdW5kOiAjQUZBQkExO1xuICB9XG59XG5cbi8qIE1heC1XaWR0aDogNzU5cHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzU5cHgpIHtcbiAgLm1haW4taGVyby12aWRlby13cmFwcGVyLWxlZnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8qIE1heC1XaWR0aDogNzM2cHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM2cHgpIHtcbiAgLmdldHRpbmctc3RhcnRlZC10ZXh0LWNvbnRlbnR7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1ib3R0b206IDJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLm1haW4taGVyby1idG57XG4gICAgcGFkZGluZy1yaWdodDogNC43ZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDQuN2VtICFpbXBvcnRhbnQ7XG4gIH1cbiAgI2xlYXJuaW5nUGxhbnNKb3VybmV5VGV4dHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLyogTWF4LVdpZHRoOiA2NzBweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NzBweCkge1xuICAubWFpbi1oZXJvLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogTWF4LVdpZHRoOiA2NDBweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAub2t0YWF1dGgwc3VidGl0bGVob21lcGFnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDByZW07XG4gIH1cbiAgI2ZpbHRlcl90eXBlXy1we1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmhvbWVwYWdlSW52ZXN0VGl0bGUge1xuICAgIHBhZGRpbmctbGVmdDogMGVtO1xuICB9XG4gICNob21lUGFnZVN1YnRpdGxle1xuICAgIG1heC13aWR0aDogOTAlO1xuICB9XG4gIC5uby1jYXRhbG9nLWZpbHRlcnMgLmxwLWNvbnRlbnQgI2NhdGFsb2ctY291cnNlcyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuICB9XG4gIC5yZWxhdGVkbGVhcm5pbmdzZWN0aW9ue1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICB9XG59XG5cblxuXG4vKiBNYXgtV2lkdGg6IDUwMHB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gIC5tYWluLWhlcm8td3JhcHBlciB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5ob21lcGFnZS1oZWFkZXItaGVhZGluZyB7XG4gICAgcGFkZGluZzogMGVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1haW4taGVyby1idG4ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuN2VtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjdlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5mZWF0dXJlZC1jYXJkIHtcbiAgICBtaW4td2lkdGg6IDE1ZW0gICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxwLWZlYXR1cmVkLWNhcmQge1xuICAgIG1pbi13aWR0aDogMjBlbSAgIWltcG9ydGFudDtcbiAgfVxufVxuXG5cblxuLyogTWF4LVdpZHRoOiA0NTBweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NTBweCkge1xuICAuaG9tZXBhZ2VXZWxjb21lVGl0bGUge1xuICAgIGZvbnQtc2l6ZTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5ob21lcGFnZUludmVzdFRpdGxlIHtcbiAgICBmb250LXNpemU6IDIuNXJlbSAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxMjAlICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMGVtO1xuICB9XG4gIC5iYW5uZXItdGV4dCB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cbn1cblxuXG5cbi8qIE1heC1XaWR0aDogMzUwcHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzUwcHgpIHtcbiAgLmhvbWVwYWdlV2VsY29tZVRpdGxlIHtcbiAgICBmb250LXNpemU6IDJyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuaG9tZXBhZ2VJbnZlc3RUaXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucG9wdXB7XG4gICAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZlYXR1cmVkLWNhcmQge1xuICAgIG1pbi13aWR0aDogMTJlbSAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5scC1mZWF0dXJlZC1jYXJkIHtcbiAgICBtaW4td2lkdGg6IDIwZW0gICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogTWF4LVdpZHRoOiAyNzVweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyNzVweCkge1xuICAuaG9tZXBhZ2VXZWxjb21lVGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5ob21lcGFnZUludmVzdFRpdGxlIHtcbiAgICBmb250LXNpemU6IC43NXJlbSAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuLyogLS0tIE1JTi1XSURUSCBRVUVSSUVTIChMaXN0ZWQgZm9yIGNvbXBsZXRlbmVzcykgLS0tICovXG5cbi8qIE1pbi1XaWR0aDogNzAxcHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzAxcHgpIHtcbiAgLmxlc3Nvbi1wYWdlICNscC13cmFwcGVyICNsZXNzb24tYm9keS5kZXRhaWxzLXBhbmUtY2xvc2VkICNsZXNzb24tbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDRlbTtcbiAgfVxufVxuXG4vKiBNaW4tV2lkdGg6IDE1MzZweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNTM2cHgpIHtcbiAgLmhlYWRlci13cmFwcGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYuNnJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2LjZyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuXG5cblxuXG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCkge1xuICAubGVzc29uLXBhZ2UgI2xwLXdyYXBwZXIgI2xlc3Nvbi1ib2R5LmRldGFpbHMtcGFuZS1jbG9zZWQgI2xlc3Nvbi1tYWluIHtcbiAgICBwYWRkaW5nLXRvcDogNmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gIC5sZXNzb24tcGFnZSAjbHAtd3JhcHBlciAjbGVzc29uLWJvZHkuZGV0YWlscy1wYW5lLWNsb3NlZCAjbGVzc29uLW1haW4ge1xuICAgIHBhZGRpbmctdG9wOiA4ZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgLmxlc3Nvbi1wYWdlICNscC13cmFwcGVyICNsZXNzb24tYm9keS5kZXRhaWxzLXBhbmUtY2xvc2VkICNsZXNzb24tbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDEwZW07XG4gIH1cbn1cblxuXG4vKiogRU5EIEhvbWUgQ2hhbmdlcyovXG5cblxuLyogc3R5bGluZyBmb3IgdGhlIGVycm9yIHRpdGxlICovXG4uc2otcGFnZS1lcnJvciAjc2tpbGxqYXItY29udGVudCBoMXtcbiAgY29sb3I6ICMyMjI7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luOiAwIDAgMTVweDtcbn1cbi8qIHN0eWxpbmcgZm9yIHRoZSBlcnJvciBkZXNjcmlwdGlvbiAqL1xuLnNqLXBhZ2UtZXJyb3IgI3NraWxsamFyLWNvbnRlbnQgcCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG59XG4jZmVlZGJhY2stdGFiIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAxNThweDtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMTM5cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNDI0MjQ7XG59XG5cbiNmZWVkYmFjay1saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuI2ZlZWRiYWNrLWNvbnRhaW5lciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MHB4KTtcbn1cbiNmZWVkYmFjay10ZXh0IHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtZmFtaWx5OiBhcmlhbCwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qb250cnVzdCovXG4jb25ldHJ1c3Qge1xuICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbn1cblxuLmdyb3VwLWRlc2NyaXB0aW9uLm90LWNhdGVnb3J5LWRlc2N7XG4gIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xufVxuI29uZXRydXN0LXBvbGljeS10ZXh0IHtcbiAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG59XG4jcGMtcG9saWN5LXRleHQge1xuICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbn1cbiNvbmV0cnVzdC1wYy1zZGsgLmNvb2tpZS1zdWJncm91cHMtY29udGFpbmVyIHVsLmNvb2tpZS1zdWJncm91cHMgbGkgcCB7XG4gIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xufVxuI29uZXRydXN0LWJhbm5lci1zZGsgcCwgI29uZXRydXN0LXBjLXNkayBwLCAjb3Qtc2RrLWNvb2tpZS1wb2xpY3kgcCB7XG4gIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xufVxuXG5cblxuI29uZXRydXN0LXBjLXNkayAuc2F2ZS1wcmVmZXJlbmNlLWJ0bi1oYW5kbGVyOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jb25ldHJ1c3QtcGMtYnRuLWhhbmRsZXI6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNvbmV0cnVzdC1yZWplY3QtYWxsLWhhbmRsZXI6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuI29uZXRydXN0LWFjY2VwdC1idG4taGFuZGxlcjo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4jYWNjZXB0LXJlY29tbWVuZGVkLWJ0bi1oYW5kbGVyOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyplbmQgb25ldHJ1c3QqL1xuLyoqIFNUQVJUIGZpeCBmb3IgSUxUIGNvdXJzZXMgd2l0aCBtdWx0aXBsZSBsZXNzb25zIGRldGFpbHMgcGFnZSoqL1xuXG5bZGF0YS1zZWN0aW9uPXRhYnNdPnNlY3Rpb24+W2RhdGEtc2VjdGlvbi1jb250ZW50XSwgW2RhdGEtc2VjdGlvbj10YWJzXT5zZWN0aW9uPi5jb250ZW50LCBbZGF0YS1zZWN0aW9uPXRhYnNdPi5zZWN0aW9uPltkYXRhLXNlY3Rpb24tY29udGVudF0sIFtkYXRhLXNlY3Rpb249dGFic10+LnNlY3Rpb24+LmNvbnRlbnQsIFtkYXRhLXNlY3Rpb249dGFic10+W2RhdGEtc2VjdGlvbi1yZWdpb25dPltkYXRhLXNlY3Rpb24tY29udGVudF0sIFtkYXRhLXNlY3Rpb249dGFic10+W2RhdGEtc2VjdGlvbi1yZWdpb25dPi5jb250ZW50LCAuc2VjdGlvbi1jb250YWluZXIudGFicz5zZWN0aW9uPltkYXRhLXNlY3Rpb24tY29udGVudF0sIC5zZWN0aW9uLWNvbnRhaW5lci50YWJzPnNlY3Rpb24+LmNvbnRlbnQsIC5zZWN0aW9uLWNvbnRhaW5lci50YWJzPi5zZWN0aW9uPltkYXRhLXNlY3Rpb24tY29udGVudF0sIC5zZWN0aW9uLWNvbnRhaW5lci50YWJzPi5zZWN0aW9uPi5jb250ZW50LCAuc2VjdGlvbi1jb250YWluZXIudGFicz5bZGF0YS1zZWN0aW9uLXJlZ2lvbl0+W2RhdGEtc2VjdGlvbi1jb250ZW50XSwgLnNlY3Rpb24tY29udGFpbmVyLnRhYnM+W2RhdGEtc2VjdGlvbi1yZWdpb25dPi5jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE5MTkxOSAhaW1wb3J0YW50O1xufVxuXG4vKipFTkQgZml4IGZvciBJTFQgY291cnNlcyB3aXRoIG11bHRpcGxlIGxlc3NvbnMgZGV0YWlscyBwYWdlKiovXG5cbi5jYXRhbG9nLWZpbHRlci1idXR0b25zIHtcbiAgYm9yZGVyOiAycHggc29saWQgZ3JheTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB3aWR0aDogMTBlbTtcbiAgYm9yZGVyLXJhZGl1czogM3JlbTtcbiAgcGFkZGluZy10b3A6IDFlbTtcbiAgcGFkZGluZy1ib3R0b206IDFlbSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbn1cblxuXG4vKipTdGFydCBDb3Vyc2UgU1VydmV5Ki9cblxuLyogVGhlIGZ1bGwtc2NyZWVuIG92ZXJsYXkgdGhhdCBpcyBpbml0aWFsbHkgaGlkZGVuICovXG4jcG9wdXAtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gIGRpc3BsYXk6IG5vbmU7IC8qIEluaXRpYWxseSBoaWRkZW4gKi9cbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHotaW5kZXg6IDEwMDA7XG59XG5cbi8qIFRoZSBjb250YWluZXIgZm9yIHRoZSBpZnJhbWUgYW5kIGNsb3NlIGJ1dHRvbiAqL1xuI3BvcHVwLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDkwJTtcbiAgbWF4LXdpZHRoOiA4MDBweDtcbiAgaGVpZ2h0OiA5MCU7XG4gIG1heC1oZWlnaHQ6IDYwMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgcGFkZGluZzogMjBweDtcbn1cblxuLyogVGhlIGlmcmFtZSBpdHNlbGYgKi9cbiNwb3B1cC1pZnJhbWUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi8qIFRoZSBjbG9zZSBidXR0b24gKi9cbiNjbG9zZVBvcHVwQnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwcHg7XG4gIHJpZ2h0OiAxMHB4O1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICMzMzM7XG59XG4vKipFbmQgQ291cnNlIFNVcnZleSovXG5cbi8qKlN0YXJ0IG5ldyBzbGlkZSBvdXQgY291cnNlIHN1cnZleSoqL1xuXG4uZmVlZGJhY2staWZyYW1lLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDsgLyogRml4ZWQgcG9zaXRpb24gcmVsYXRpdmUgdG8gdGhlIHZpZXdwb3J0ICovXG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IC0xMDAlOyAvKiBTdGFydCBjb21wbGV0ZWx5IG9mZi1zY3JlZW4gdG8gdGhlIHJpZ2h0ICovXG4gIHdpZHRoOiAxMDAlOyAvKiBGdWxsIHdpZHRoIG9uIHNtYWxsZXIgc2NyZWVucyAqL1xuICBtYXgtd2lkdGg6IDYwMHB4O1xuICBtYXgtaGVpZ2h0OiA2MDBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmEyYTJhOyAvKiBMaWdodCBiYWNrZ3JvdW5kIGZvciB0aGUgY29udGFpbmVyICovXG4gIHotaW5kZXg6IDEwMDA7IC8qIEVuc3VyZSBpdCdzIGFib3ZlIG90aGVyIGNvbnRlbnQgKi9cbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLyogSGlkZSBhbnkgb3ZlcmZsb3cgZnJvbSB0aGUgaWZyYW1lIG9yIGl0cyBjb250ZW50ICovXG4gIGJvcmRlci1yYWRpdXM6IDIwcHggMCAwIDIwcHg7IC8qIFJvdW5kZWQgY29ybmVycyBvbiB0aGUgbGVmdCBzaWRlICovXG4gIHRyYW5zaXRpb246IHJpZ2h0IDAuNXMgZWFzZS1pbi1vdXQ7IC8qIFNtb290aCBzbGlkaW5nIHRyYW5zaXRpb24gKi9cbn1cblxuXG5cbi8qIENsYXNzIHRvIGFwcGx5IHdoZW4gdGhlIGlmcmFtZSBzaG91bGQgYmUgdmlzaWJsZSAoc2xpZGVzIGluKSAqL1xuLmZlZWRiYWNrLWlmcmFtZS1jb250YWluZXIuaXMtdmlzaWJsZSB7XG4gIHJpZ2h0OiAwOyAvKiBTbGlkZSBpbnRvIHZpZXcgKi9cbn1cblxuLyogU3R5bGluZyBmb3IgdGhlIGlmcmFtZSBpdHNlbGYgKi9cbi5mZWVkYmFjay1pZnJhbWUtY29udGFpbmVyIGlmcmFtZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlcjogbm9uZTsgLyogUmVtb3ZlIGRlZmF1bHQgaWZyYW1lIGJvcmRlciAqL1xuICBkaXNwbGF5OiBibG9jazsgLyogRW5zdXJlIGl0IHRha2VzIGZ1bGwgc3BhY2UgKi9cbn1cblxuLyogUmVzcG9uc2l2ZSBhZGp1c3RtZW50cyBmb3Igc21hbGxlciBzY3JlZW5zICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmZlZWRiYWNrLWlmcmFtZS1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlOyAvKiBUYWtlIGZ1bGwgd2lkdGggb24gbW9iaWxlICovXG4gICAgbWF4LXdpZHRoOiBub25lOyAvKiBObyBtYXgtd2lkdGggY29uc3RyYWludCAqL1xuICAgIHJpZ2h0OiAtMTAwJTsgLyogU3RpbGwgb2ZmLXNjcmVlbiAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IC8qIE5vIHJvdW5kZWQgY29ybmVycyBvbiBmdWxsLXdpZHRoIG1vYmlsZSAqL1xuICB9XG5cbiAgLmZlZWRiYWNrLWlmcmFtZS1jb250YWluZXIuaXMtdmlzaWJsZSB7XG4gICAgcmlnaHQ6IDA7IC8qIFNsaWRlIGluIGZ1bGx5ICovXG4gIH1cbn1cblxuLyogRXhhbXBsZSBvZiBhIGJ1dHRvbiB0byB0cmlnZ2VyIHRoZSBzbGlkZS1vdXQgKi9cbi5mZWVkYmFjay10b2dnbGUtYnV0dG9uIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDIwcHg7XG4gIHJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICB6LWluZGV4OiAxMDAxOyAvKiBBYm92ZSB0aGUgaWZyYW1lIGNvbnRhaW5lciAqL1xuICBib3gtc2hhZG93OiAwIDRweCA4cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZTtcbn1cblxuLmZlZWRiYWNrLXRvZ2dsZS1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1NmIzO1xufVxuLyoqU3RhcnQgbmV3IHNsaWRlIG91dCBjb3Vyc2Ugc3VydmV5KiovXG5cbi8qKkZvcmNlIFBhdGggQXNzZXNzbWVudCBQcmVyZXEgbm90IG1ldCBlcnJvciBib3ggdG8gYXBwZWFyIG9uIHRvcCoqL1xuLnNqLXBhZ2UtZGV0YWlsLWNvdXJzZSBkaXYjbWVzc2FnZXMge1xuICB6LWluZGV4OiAxO1xufVxuLyoqRW5kIEZvcmNlIFBhdGggQXNzZXNzbWVudCBQcmVyZXEgbm90IG1ldCBlcnJvciBib3ggdG8gYXBwZWFyIG9uIHRvcCoqL1xuXG4ubGFiaW5zdHJ1Y3Rpb25zbGl7XG4gIG1hcmdpbi1ib3R0b206IC41ZW07XG59XG4uZm9vdGVyLXRleHQge1xuICBmb250LXNpemU6IDAuOXJlbTsgLyogUmV2ZXJ0ZWQgZm9udCBzaXplIHRvIDAuOXJlbSAqL1xuICBjb2xvcjogI2ZmZmZmZjsgLyogQ2hhbmdlZCB0ZXh0IGNvbG9yIHRvIHdoaXRlICovXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHdpZHRoOiAxMDAlOyAvKiBFbnN1cmUgaXQgdGFrZXMgZnVsbCB3aWR0aCB0byBhbGlnbiB0ZXh0ICovXG4gIHRleHQtYWxpZ246IGNlbnRlcjsgLyogQ2hhbmdlZCB0ZXh0IGFsaWdubWVudCBiYWNrIHRvIGNlbnRlciAqL1xufVxuXG5cbi5ob21lcGFnZS1hY3Rpb25idXR0b25zIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40MCkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40MCkgMTAwJSksIHJhZGlhbC1ncmFkaWVudCgxMjMuNzIlIDcxLjI5JSBhdCA3LjE1JSAxMDAlLCAjRkZGIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDApIDEwMCUpLCByYWRpYWwtZ3JhZGllbnQoMjM0LjQlIDE0NC45NCUgYXQgODQuNjIlIDAlLCAjRkZGIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDApIDEwMCUpLCBsaW5lYXItZ3JhZGllbnQoMjZkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNykgLTMyLjA0JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAwKSAxMzMuNDMlKTtcbiAgYm94LXNoYWRvdzogMCA0cHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjI1KSwgMCAtMTZweCAyNHB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ4KSBpbnNldDtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpO1xuICB0ZXh0LXdyYXAtbW9kZTogbm93cmFwO1xuICBtYXJnaW46IC41cmVtO1xuICBwYWRkaW5nLXRvcDogMS4zcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS4zcmVtO1xuICBjb2xvcjogYmxhY2s7XG4gIG1pbi13aWR0aDogMTJyZW07XG4gIG1heC13aWR0aDogMTJyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogLjM3NXJlbTtcbn1cblxuXG5cbi8qIFN0YXJ0OiBPa3RhbmUgQmFkZ2UgY2hhbGxlbmdlKi9cbi5va3RhbmVpbWFnZXtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cblxuLm9rdGFuZXRpdGxlMXtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ2ZGVnLCAjNDAxNkEwIDIuNzglLCAjM0Y1OUU0IDUwLjA1JSwgI0YyQUM4NCAxMDQuNDMlKSAhaW1wb3J0YW50O1xufVxuLm9rdGFuZXRpdGxlMntcbiAgZm9udC1mYW1pbHk6IEFlb25payAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDk0cHg7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ub2t0YW5ldGl0bGUze1xuICBwYWRkaW5nLWxlZnQ6IDIwcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAyMHJlbTtcbiAgcGFkZGluZy10b3A6IDJyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNGRkY7XG4gIGZvbnQtZmFtaWx5OiBBZW9uaWs7XG4gIGZvbnQtc2l6ZTogMzFweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4ub2t0YW5ldGl0bGU0e1xuICBwYWRkaW5nLWxlZnQ6IDIwcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAyMHJlbTtcbiAgcGFkZGluZy10b3A6IDJyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNGRkY7XG4gIGZvbnQtZmFtaWx5OiBBZW9uaWs7XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBwYWRkaW5nLWJvdHRvbTogLjJlbTtcbn1cblxuXG4uaGlkZWJhZGdlY2hhbGxlbmFnZWhlYWRlciB7XG4gIHBhZGRpbmctdG9wOiAwcHggIWltcG9ydGFudDtcbn1cbi8qIEVuZDogT2t0YW5lIEJhZGdlIGNoYWxsZW5nZSovXG5cbi8qIFN0YXJ0OiBPa3RhbmUgY2F0YWxvZyBwYWdlKi9cbi5ub3RMb2dnZWRJbkxhYnNTZWN0aW9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm5vdEluT2t0YW5lVXNlckdyb3VwIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxNTAwcHgpIHtcblxuICAub2t0YW5ldGl0bGUze1xuICAgIHBhZGRpbmctbGVmdDogOHJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4cmVtO1xuICB9XG4gIC5va3RhbmV0aXRsZTR7XG4gICAgcGFkZGluZy1sZWZ0OiA4cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDhyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMDBweCkge1xuXG4gIC5va3RhbmV0aXRsZTN7XG4gICAgcGFkZGluZy1sZWZ0OiA0cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDRyZW07XG4gIH1cbiAgLm9rdGFuZXRpdGxlNHtcbiAgICBwYWRkaW5nLWxlZnQ6IDRyZW07XG4gICAgcGFkZGluZy1yaWdodDogNHJlbTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG5cbiAgLm9rdGFuZXRpdGxlM3tcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgfVxuICAub2t0YW5ldGl0bGU0e1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTEwcHgpIHtcblxuICAub2t0YW5ldGl0bGUye1xuICAgIGZvbnQtc2l6ZTogNTRweDtcbiAgfVxuICAub2t0YW5ldGl0bGUze1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgfVxuICAub2t0YW5ldGl0bGU0e1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxuICAucG9wdXAtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIH1cbiAgLnBvcHVwLXRleHQge1xuICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgfVxuXG4gIC50ZXJtc3BvcHVwIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDEwJTtcbiAgfVxuXG59XG5cblxuXG4ub2t0YW5lLWxvZ291dC1saW5rIHtcbiAgLyogVXNlIGZpeGVkIHBvc2l0aW9uaW5nIHRvIGtlZXAgdGhlIGVsZW1lbnQgcmVsYXRpdmUgdG8gdGhlIHZpZXdwb3J0LiAqL1xuICBwb3NpdGlvbjogZml4ZWQ7XG5cbiAgLyogUGxhY2UgdGhlIGVsZW1lbnQgMTAgcGl4ZWxzIGZyb20gdGhlIHRvcCBhbmQgcmlnaHQgZWRnZXMgb2YgdGhlIHNjcmVlbi4gKi9cbiAgdG9wOiAxMHB4O1xuICByaWdodDogMTBweDtcblxuICAvKiBCcmluZyB0aGUgZWxlbWVudCB0byB0aGUgZnJvbnQsIGVuc3VyaW5nIGl0IGFwcGVhcnMgb24gdG9wIG9mIG90aGVyIGNvbnRlbnQuICovXG4gIHotaW5kZXg6IDEwMDA7XG5cbiAgLyogQmFzaWMgc3R5bGluZyBmb3IgdGhlIGxpbmsgaXRzZWxmLiAqL1xuICBwYWRkaW5nOiA4cHggMTZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlMWUxZTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3gtc2hhZG93OiAwIDRweCA2cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4vKiBTdHlsZSB0aGUgbGluayB0ZXh0IGluc2lkZSB0aGUgY29udGFpbmVyLiAqL1xuLm9rdGFuZS1sb2dvdXQtbGluayBhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogQWRkIGEgaG92ZXIgZWZmZWN0IGZvciBhIGJldHRlciB1c2VyIGV4cGVyaWVuY2UuICovXG4ub2t0YW5lLWxvZ291dC1saW5rOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFhMzFhOTtcbn1cblxuLyogRW5kOiBPa3RhbmUgY2F0YWxvZyBwYWdlKi9cblxuLypib29rbWFya2VkKi9cbi5mYS1ib29rbWFyayB7XG4gIGNvbG9yOiAjM2Y1OWU0O1xuICBmb250LXNpemU6IHh4LWxhcmdlO1xuXG59XG5cbi8qbm90IGJvb2ttYXJrZWQqL1xuLmZhLWJvb2ttYXJrLW8ge1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDFweDtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvcjogd2hpdGU7XG4gIGZvbnQtc2l6ZTogeHgtbGFyZ2U7XG4gIGJhY2tncm91bmQ6ICMxOTE5MTk7XG59XG4uc2otc2F2ZS10b2dnbGUtYmxvY2tfX2J1dHRvbiB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLmZhLWJvb2ttYXJrLW8ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnNqLXNhdmUtdG9nZ2xlLWJsb2NrX19idXR0b246aG92ZXIsIC5zai1zYXZlLXRvZ2dsZS1ibG9ja19fYnV0dG9uOmZvY3VzLCAuc2otc2F2ZS10b2dnbGUtYmxvY2tfX2J1dHRvbjphY3RpdmUge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi8qZG93bmxvYWQgcGFwZXJjbGlwIGljb24qL1xuLmxwLWNvbG9yLXNjaGVtZS1saWdodCAjbHAtd3JhcHBlciAuZGFyay1iZy10ZXh0IHtcbiAgY29sb3I6ICM5OWE3ZjE7XG59XG5cbi8qRml4IGZvciB0aGUgQ291cnNlIEluZm8gcGFnZSB3aXRoIHRoZSBcIlRha2UgQWdhaW5cIiBidXR0b24qL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAubGFyZ2UtOCB7XG4gICAgcG9zaXRpb246IGluaGVyaXQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gIH1cblxufVxuXG5cbi8qU2Nyb2xsIGJhcnMgYXBwZWFyaW5nIG9uIHRpbGVzIHdpdGggdGhlIE5ldyBiYW5uZXIqL1xuLnNlYXJjaCAjY2F0YWxvZy1jb250ZW50IGEuY291cnNlYm94LWNvbnRhaW5lciwgLmxpc3QtdmlldyBhLmNvdXJzZSwgLmV4cGFuZGFibGUtdmlldyBhLmNvdXJzZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4vKlN0YXJ0IG5ldyBoaXJlKi9cbi5jaGVjay1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgLyogU1ZHIGNoZWNrbWFyayAoR3JlZW4gTGlnaHQpICovXG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgbWFzazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCclM0UlM0NwYXRoIGQ9J005IDE2LjJMNC44IDEybC0xLjQgMS40TDkgMTkgMjEgN2wtMS40LTEuNHonLyUzRSUzQy9zdmclM0VcIikgbm8tcmVwZWF0IGNlbnRlciAvIGNvbnRhaW47XG59XG5cblxuXG4vKiBEZWZpbmUgdGhlIGNpcmNsZSAoUGVuZGluZyBMaWdodCkgKi9cbi5jaXJjbGUtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcbiAgLyogU1ZHIGNpcmNsZSAoR3JheSBMaWdodCkgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICBtYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ2NpcmNsZSBjeD0nMTInIGN5PScxMicgcj0nMTAnIGZpbGw9J25vbmUnIHN0cm9rZT0nY3VycmVudENvbG9yJyBzdHJva2Utd2lkdGg9JzInLyUzRSUzQy9zdmclM0VcIikgbm8tcmVwZWF0IGNlbnRlciAvIGNvbnRhaW47XG59XG4udGV4dC13aGl0ZSB7XG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSk7XG59XG5cbi5iZy1pbmRpZ28tNjAwIHtcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNzkgNzAgMjI5IC8gdmFyKC0tdHctYmctb3BhY2l0eSwgMSkpO1xufVxuLmJnLWdyYXktMTAwIHtcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQzIDI0NCAyNDYgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSk7XG59XG4ucC00IHtcbiAgcGFkZGluZzogMXJlbTtcbn1cblxuLmp1c3RpZnktY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5pdGVtcy1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLm1pbi1oLXNjcmVlbiB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuXG5cbi5zaGFkb3ctMnhsIHtcbiAgLS10dy1zaGFkb3c6IDAgMjVweCA1MHB4IC0xMnB4IHJnYigwIDAgMCAvIDAuMjUpO1xuICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXJpbmctc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1zaGFkb3cpO1xufVxuLmJnLXdoaXRlIHtcbiAgLS10dy1iZy1vcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyB2YXIoLS10dy1iZy1vcGFjaXR5LCAxKSk7XG59XG4ucm91bmRlZC14bCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG59XG4ub3ZlcmZsb3ctaGlkZGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5tYXgtdy1sZyB7XG4gIG1heC13aWR0aDogMzJyZW07XG59XG5cbi53LWZ1bGwge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnBiLTQge1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbn1cblxuXG5cbi5qdXN0aWZ5LWJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4uaXRlbXMtY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLnRleHQtZ3JheS04MDAge1xuICAtLXR3LXRleHQtb3BhY2l0eTogMTtcbiAgY29sb3I6IHJnYigzMSA0MSA1NSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpO1xufVxuXG5cbi5mb250LW1lZGl1bSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi50ZXh0LWxnIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG59XG4udGV4dC1ncmF5LTUwMCB7XG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiKDEwNyAxMTQgMTI4IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSk7XG59XG5cbi50ZXh0LXNtIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG59XG5cbi50ZXh0LWdyZWVuLTUwMCB7XG4gIC0tdHctdGV4dC1vcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiKDM0IDE5NyA5NCAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpO1xufVxuXG5cbi5zcGFjZS14LTIgPiA6bm90KFtoaWRkZW5dKSB+IDpub3QoW2hpZGRlbl0pIHtcbiAgLS10dy1zcGFjZS14LXJldmVyc2U6IDA7XG4gIG1hcmdpbi1yaWdodDogY2FsYygwLjVyZW0gKiB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMC41cmVtICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSkpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnNtXFw6aW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cbn1cblxuLnRleHQtZ3JlZW4tNjAwIHtcbiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2IoMjIgMTYzIDc0IC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSk7XG59XG5cbi5mb250LXNlbWlib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnRleHQtc20ge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbn1cbi5mbGV4LWNvbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4vKkVuZCBuZXcgaGlyZSovXG5cbi5zai1wYWdlLXBhdGggI3BhdGgtY3VycmljdWx1bS1yZXN1bWUtYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNqLXRleHQtbHQtbm8tZnV0dXJlLWV2ZW50c3tcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi8qU3RhcnQgUGVuZG8gR3VpZGUgQ1NTIENoYW5nZXMqL1xuI3BlbmRvLWd1aWRlLWNvbnRhaW5lcntcbiAgYm9yZGVyLXJhZGl1czogMWVtICFpbXBvcnRhbnQ7XG5cbn1cblxuLl9wZW5kby1idXR0b24tY3VzdG9te1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjM5ZGVnLCAjMTExMTExIC0zMDUuOTQlLCAjMTkxOTE5IC02MS43OSUsICM0MDE2YTAgMTIuMTIlLCAjM2Y1OWU0IDEwOC4xOCUpICFpbXBvcnRhbnQ7XG59XG5cbi5fcGVuZG8tY2xvc2UtZ3VpZGV7XG4gIHRvcDogMXB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qRW5kIFBlbmRvIEd1aWRlIENTUyBDaGFuZ2VzKi9cbi8qU3RhcnQgUmVtb3ZlIGNvdXJzZSBib3JkZXIgdW5kZXIgdGl0bGUgd2hpY2ggd2FzIGFsc28gcmVtb3ZlZCovXG4ubGVzc29uLXBhZ2UgI2xwLXdyYXBwZXIgI2xlc3Nvbi1ib2R5IC5sZXNzb24tdG9wLCAubGVzc29uLXBhZ2UgLmxwLWNvbG9yLXNjaGVtZS1saWdodCAjbHAtd3JhcHBlciAjbGVzc29uLWJvZHkgLmxlc3Nvbi10b3Age1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuLypFbmQgUmVtb3ZlIGNvdXJzZSBib3JkZXIgdW5kZXIgdGl0bGUgd2hpY2ggd2FzIGFsc28gcmVtb3ZlZCovXG4vKiBQYXJ0bmVyIGxvY2tlZCBib3hlcyBzdHlsaW5nICovXG4uZmMtbGlzdC1pdGVtLXRpdGxlIGEubG9ja2VkIHtcbiAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZjLWxpc3QtaXRlbS10aXRsZSBhLmxvY2tlZDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIvCflJJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250LXNpemU6IDIwcHg7XG4gIHotaW5kZXg6IDEwO1xufVxuXG4uZmMtbGlzdC1pdGVtLXRpdGxlIGEubG9ja2VkOmhvdmVyIHtcbiAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4ucGFydG5lcjQwNExpbms6aG92ZXJ7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG4jc2tpbGxqYXItY29udGVudCBhOmhvdmVyIHtcbiAgY29sb3I6ICNiNmNhZmYgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiAjYjZjYWZmICFpbXBvcnRhbnQ7XG59XG4vKiBIaWRkZW4gZXZlbnRzICovXG4udmlsdC1ldmVudC1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5zai1wYWdlLWxlc3NvbiAubGVzc29uLXBhZ2UgaHIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmxwLWNvbG9yLXNjaGVtZS1saWdodCAjbHAtd3JhcHBlciAjbGVzc29uLWJvZHkgaDEsIC5scC1jb2xvci1zY2hlbWUtbGlnaHQgI2xwLXdyYXBwZXIgI2xlc3Nvbi1ib2R5IC5oMS1zdHlsZSwgLmxwLWNvbG9yLXNjaGVtZS1saWdodCAjbHAtd3JhcHBlciAjbGVzc29uLWJvZHkgaDIsIC5scC1jb2xvci1zY2hlbWUtbGlnaHQgI2xwLXdyYXBwZXIgI2xlc3Nvbi1ib2R5IC5oMi1zdHlsZSwgLmxwLWNvbG9yLXNjaGVtZS1saWdodCAjbHAtd3JhcHBlciAjbGVzc29uLWJvZHkgaDMsIC5scC1jb2xvci1zY2hlbWUtbGlnaHQgI2xwLXdyYXBwZXIgI2xlc3Nvbi1ib2R5IC5oMy1zdHlsZSwgLmxwLWNvbG9yLXNjaGVtZS1saWdodCAjbHAtd3JhcHBlciAjbGVzc29uLWJvZHkgaDQsIC5scC1jb2xvci1zY2hlbWUtbGlnaHQgI2xwLXdyYXBwZXIgI2xlc3Nvbi1ib2R5IC5oNC1zdHlsZSwgLmxwLWNvbG9yLXNjaGVtZS1saWdodCAjbHAtd3JhcHBlciAjbGVzc29uLWJvZHkgaDUsIC5scC1jb2xvci1zY2hlbWUtbGlnaHQgI2xwLXdyYXBwZXIgI2xlc3Nvbi1ib2R5IGg2IHtcbiAgY29sb3I6ICNmZmZlZmE7XG59XG5oMSwgLmgxLXN0eWxlLCBoMiwgLmgyLXN0eWxlLCBoMywgLmgzLXN0eWxlLCBoNCwgLmg0LXN0eWxlLCBoNSwgaDYge1xuICBjb2xvcjogI2ZmZmVmYTtcbn0iXX0= */