/*!**********************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/prismjs/themes/prism-tomorrow.css ***!
  \**********************************************************************************************************************************************************************************************************************/
/**
 * prism.js tomorrow night eighties for JavaScript, CoffeeScript, CSS and HTML
 * Based on https://github.com/chriskempson/tomorrow-theme
 * @author Rose Pritchard
 */

code[class*="language-"],
pre[class*="language-"] {
	color: #ccc;
	background: none;
	font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
	font-size: 1em;
	text-align: left;
	white-space: pre;
	word-spacing: normal;
	word-break: normal;
	word-wrap: normal;
	line-height: 1.5;

	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;
	hyphens: none;

}

/* Code blocks */
pre[class*="language-"] {
	padding: 1em;
	margin: .5em 0;
	overflow: auto;
}

:not(pre) > code[class*="language-"],
pre[class*="language-"] {
	background: #2d2d2d;
}

/* Inline code */
:not(pre) > code[class*="language-"] {
	padding: .1em;
	border-radius: .3em;
	white-space: normal;
}

.token.comment,
.token.block-comment,
.token.prolog,
.token.doctype,
.token.cdata {
	color: #999;
}

.token.punctuation {
	color: #ccc;
}

.token.tag,
.token.attr-name,
.token.namespace,
.token.deleted {
	color: #e2777a;
}

.token.function-name {
	color: #6196cc;
}

.token.boolean,
.token.number,
.token.function {
	color: #f08d49;
}

.token.property,
.token.class-name,
.token.constant,
.token.symbol {
	color: #f8c555;
}

.token.selector,
.token.important,
.token.atrule,
.token.keyword,
.token.builtin {
	color: #cc99cd;
}

.token.string,
.token.char,
.token.attr-value,
.token.regex,
.token.variable {
	color: #7ec699;
}

.token.operator,
.token.entity,
.token.url {
	color: #67cdcc;
}

.token.important,
.token.bold {
	font-weight: bold;
}
.token.italic {
	font-style: italic;
}

.token.entity {
	cursor: help;
}

.token.inserted {
	color: green;
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/css/templates/article/article.scss ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
#basicExample .modal-dialog {
  transform: translate(0, -50%);
  top: 50%;
  margin: 0 auto;
}

.lightbox-img {
  display: none;
}

.lightbox-description, .numbertext {
  background-color: rgba(1, 1, 1, 0.6);
}

.numbertext {
  color: #fff;
  font-size: 0.8em;
  padding: 8px 12px;
  position: absolute;
  top: 0;
}

.article-section {
  background-color: var(--section-alt-bg);
  border: 1px solid var(--card-border-custom);
  border-radius: 0.25rem;
  box-shadow: 0 4px 30px var(--shadow-border-bg);
  margin: 0;
  padding: 3em 4em;
  word-wrap: break-word;
  counter-reset: h2;
}
.article-section p {
  text-align: justify;
}
.article-section hr {
  border-top: 1px solid var(--card-border-custom);
  border-radius: 5px;
  margin: 0.5em 0 2em;
}
.article-section .success-color, .article-section .green-color {
  color: var(--success-color);
}
.article-section .error-color {
  color: var(--danger-color);
}
.article-section h2 {
  counter-reset: h3;
  font-size: 2.3em;
  color: var(--article-h2-fg);
}
.article-section h2.nocount::before {
  content: none;
  counter-increment: none;
}
.article-section h2::before {
  counter-increment: h2;
  content: counter(h2, decimal) ") ";
}
.article-section h2 {
  border-bottom: 2px solid var(--article-h2-fg);
  font-weight: bold;
  margin: 30px 0;
}
.article-section h3 {
  counter-reset: h4;
  font-size: 1.7em;
  color: var(--article-h3-fg);
}
.article-section h3.nocount::before {
  content: none;
  counter-increment: none;
}
.article-section h3::before {
  counter-increment: h3;
  content: counter(h2, decimal) "." counter(h3, decimal) ") ";
}
.article-section h3 {
  margin-bottom: 35px;
  text-decoration: underline;
  text-underline-position: under;
}
.article-section h4 {
  counter-reset: h5;
  font-size: 1.3em;
  color: var(--primary-color);
}
.article-section h4.nocount::before {
  content: none;
  counter-increment: none;
}
.article-section h4::before {
  counter-increment: h4;
  content: counter(h2, decimal) "." counter(h3, decimal) "-" counter(h4, decimal) ") ";
}
.article-section h4 {
  margin: 5px 0 27px;
  text-decoration: underline;
  text-underline-position: under;
}
.article-section h5 {
  counter-reset: h6;
  font-size: 1.1em;
  color: var(--info-color);
}
.article-section h5.nocount::before {
  content: none;
  counter-increment: none;
}
.article-section h5::before {
  counter-increment: h5;
  content: counter(h2, decimal) "." counter(h3, decimal) "-" counter(h4, decimal) "-" counter(h5, decimal) ") ";
}
.article-section h5 {
  margin: 5px 0 27px;
  text-decoration: underline;
  text-underline-position: under;
}

.cmd-color.success-color, .cmd-color.text-success {
  color: var(--success-color) !important;
}
.cmd-color.warning-color, .cmd-color.text-warning {
  color: var(--warning-color) !important;
}
.cmd-color.error-color, .cmd-color.text-danger {
  color: var(--danger-color) !important;
}

#back-to-top-button {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 30px;
  z-index: 99;
  align-items: center;
  justify-content: center;
  background-color: var(--back-to-top-button-bg);
  color: var(--body-bg);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  height: 60px;
  width: 60px;
  animation: up-down-sm 1.5s ease-in-out infinite alternate-reverse both;
}
#back-to-top-button i {
  line-height: 0;
}

@media only screen and (max-width: 992px) {
  .article-section {
    padding: 2.75em 2.5em;
  }
}
@media only screen and (max-width: 768px) {
  .article-section {
    padding: 2em;
  }
  .article-section * {
    font-size: 1em;
  }
  .cmd-color {
    font-size: 12px;
  }
  code[class*=language-], pre[class*=language-] {
    font-size: 1em;
  }
}
@media only screen and (max-width: 576px) {
  .article-section * {
    font-size: 14px;
  }
  .article-section .alert {
    font-size: 1.1em;
  }
  .article-section .alert .alert-icon-col {
    min-width: 0;
    font-size: 1.3em;
  }
  code[class*=language-], pre[class*=language-] {
    font-size: 14px;
  }
}
/* Sécurité absolue pour les médias dans le contenu */
.article-div {
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}
.article-div img, .article-div iframe, .article-div video {
  max-width: 100% !important;
  height: auto !important;
}

/* Configuration unifiée PrismJS / Blocs de code */
pre[class*=language-],
:not(pre) > code[class*=language-] {
  position: relative;
  border-left: 0.6rem solid var(--primary-color);
  border-radius: 0.3em;
  margin-bottom: 15px;
}

/* Cas spécifique des blocs en ligne (Inline Code) */
:not(pre) > code[class*=language-] {
  padding: 0.9em 1.1em;
}

:not(pre) > code {
  background-color: var(--tertiary-color);
  color: var(--danger-color);
  border: 1px solid var(--section-alt-bg);
  padding: 2px 6px;
  border-radius: 4px;
  font-family: Consolas, Monaco, Andale Mono, Ubuntu Mono, monospace;
  font-size: 0.9em;
  word-break: break-word;
}

/* Cas spécifique des blocs multilignes (Pre/Code blocks) */
pre[class*=language-] {
  max-width: 100% !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  padding: 1rem 1.5em 1.5em 1.5em; /* Laisse la place en haut pour le bouton copier */
}
pre[class*=language-] .copy-button {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 10;
  background-color: #4f4d4d;
  border: 1px solid #757575 !important;
  border-radius: 4px;
  color: #fff;
  cursor: pointer;
  font-size: 12px;
  margin: 0;
  opacity: 1 !important;
  padding: 4px 8px;
}
pre[class*=language-] .copy-button:hover {
  background-color: var(--primary-color);
  color: #ffffff;
  border-color: var(--primary-hover) !important;
}
pre[class*=language-] .copy-button:active {
  background-color: #4f4d4d;
}
pre[class*=language-] .success-color, pre[class*=language-] .text-success {
  color: var(--success-color) !important;
}
pre[class*=language-] .warning-color, pre[class*=language-] .text-warning {
  color: var(--warning-color) !important;
}
pre[class*=language-] .error-color, pre[class*=language-] .text-danger {
  color: var(--danger-color) !important;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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QTtBQUNBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0FBa0NKOztBQS9CQTtBQUNBO0VBQ0k7QUFrQ0o7O0FBL0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtFQ2hMUTtFRGlMUjtFQUNBO0FBa0NKOztBQTlCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFpQ0o7QUEvQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQWlDUjtBQS9CUTtFQUNJO0VBQ0E7RUFDQTtBQWlDWjtBQTlCUTtFQUNJO0FBZ0NaO0FBNUJJO0VBQWdDO0FBK0JwQztBQTlCSTtFQUFnQztBQWlDcEM7QUFoQ0k7RUFBNkI7QUFtQ2pDLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcHJpc21qcy90aGVtZXMvcHJpc20tdG9tb3Jyb3cuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvdGVtcGxhdGVzL2FydGljbGUvYXJ0aWNsZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvaW1wb3J0cy9nbG9iYWwtdmFycy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogcHJpc20uanMgdG9tb3Jyb3cgbmlnaHQgZWlnaHRpZXMgZm9yIEphdmFTY3JpcHQsIENvZmZlZVNjcmlwdCwgQ1NTIGFuZCBIVE1MXG4gKiBCYXNlZCBvbiBodHRwczovL2dpdGh1Yi5jb20vY2hyaXNrZW1wc29uL3RvbW9ycm93LXRoZW1lXG4gKiBAYXV0aG9yIFJvc2UgUHJpdGNoYXJkXG4gKi9cblxuY29kZVtjbGFzcyo9XCJsYW5ndWFnZS1cIl0sXG5wcmVbY2xhc3MqPVwibGFuZ3VhZ2UtXCJdIHtcblx0Y29sb3I6ICNjY2M7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdGZvbnQtZmFtaWx5OiBDb25zb2xhcywgTW9uYWNvLCAnQW5kYWxlIE1vbm8nLCAnVWJ1bnR1IE1vbm8nLCBtb25vc3BhY2U7XG5cdGZvbnQtc2l6ZTogMWVtO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR3aGl0ZS1zcGFjZTogcHJlO1xuXHR3b3JkLXNwYWNpbmc6IG5vcm1hbDtcblx0d29yZC1icmVhazogbm9ybWFsO1xuXHR3b3JkLXdyYXA6IG5vcm1hbDtcblx0bGluZS1oZWlnaHQ6IDEuNTtcblxuXHQtbW96LXRhYi1zaXplOiA0O1xuXHQtby10YWItc2l6ZTogNDtcblx0dGFiLXNpemU6IDQ7XG5cblx0LXdlYmtpdC1oeXBoZW5zOiBub25lO1xuXHQtbW96LWh5cGhlbnM6IG5vbmU7XG5cdC1tcy1oeXBoZW5zOiBub25lO1xuXHRoeXBoZW5zOiBub25lO1xuXG59XG5cbi8qIENvZGUgYmxvY2tzICovXG5wcmVbY2xhc3MqPVwibGFuZ3VhZ2UtXCJdIHtcblx0cGFkZGluZzogMWVtO1xuXHRtYXJnaW46IC41ZW0gMDtcblx0b3ZlcmZsb3c6IGF1dG87XG59XG5cbjpub3QocHJlKSA+IGNvZGVbY2xhc3MqPVwibGFuZ3VhZ2UtXCJdLFxucHJlW2NsYXNzKj1cImxhbmd1YWdlLVwiXSB7XG5cdGJhY2tncm91bmQ6ICMyZDJkMmQ7XG59XG5cbi8qIElubGluZSBjb2RlICovXG46bm90KHByZSkgPiBjb2RlW2NsYXNzKj1cImxhbmd1YWdlLVwiXSB7XG5cdHBhZGRpbmc6IC4xZW07XG5cdGJvcmRlci1yYWRpdXM6IC4zZW07XG5cdHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbi50b2tlbi5jb21tZW50LFxuLnRva2VuLmJsb2NrLWNvbW1lbnQsXG4udG9rZW4ucHJvbG9nLFxuLnRva2VuLmRvY3R5cGUsXG4udG9rZW4uY2RhdGEge1xuXHRjb2xvcjogIzk5OTtcbn1cblxuLnRva2VuLnB1bmN0dWF0aW9uIHtcblx0Y29sb3I6ICNjY2M7XG59XG5cbi50b2tlbi50YWcsXG4udG9rZW4uYXR0ci1uYW1lLFxuLnRva2VuLm5hbWVzcGFjZSxcbi50b2tlbi5kZWxldGVkIHtcblx0Y29sb3I6ICNlMjc3N2E7XG59XG5cbi50b2tlbi5mdW5jdGlvbi1uYW1lIHtcblx0Y29sb3I6ICM2MTk2Y2M7XG59XG5cbi50b2tlbi5ib29sZWFuLFxuLnRva2VuLm51bWJlcixcbi50b2tlbi5mdW5jdGlvbiB7XG5cdGNvbG9yOiAjZjA4ZDQ5O1xufVxuXG4udG9rZW4ucHJvcGVydHksXG4udG9rZW4uY2xhc3MtbmFtZSxcbi50b2tlbi5jb25zdGFudCxcbi50b2tlbi5zeW1ib2wge1xuXHRjb2xvcjogI2Y4YzU1NTtcbn1cblxuLnRva2VuLnNlbGVjdG9yLFxuLnRva2VuLmltcG9ydGFudCxcbi50b2tlbi5hdHJ1bGUsXG4udG9rZW4ua2V5d29yZCxcbi50b2tlbi5idWlsdGluIHtcblx0Y29sb3I6ICNjYzk5Y2Q7XG59XG5cbi50b2tlbi5zdHJpbmcsXG4udG9rZW4uY2hhcixcbi50b2tlbi5hdHRyLXZhbHVlLFxuLnRva2VuLnJlZ2V4LFxuLnRva2VuLnZhcmlhYmxlIHtcblx0Y29sb3I6ICM3ZWM2OTk7XG59XG5cbi50b2tlbi5vcGVyYXRvcixcbi50b2tlbi5lbnRpdHksXG4udG9rZW4udXJsIHtcblx0Y29sb3I6ICM2N2NkY2M7XG59XG5cbi50b2tlbi5pbXBvcnRhbnQsXG4udG9rZW4uYm9sZCB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnRva2VuLml0YWxpYyB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLnRva2VuLmVudGl0eSB7XG5cdGN1cnNvcjogaGVscDtcbn1cblxuLnRva2VuLmluc2VydGVkIHtcblx0Y29sb3I6IGdyZWVuO1xufVxuIiwiQGltcG9ydCAnfnByaXNtanMvdGhlbWVzL3ByaXNtLXRvbW9ycm93LmNzcyc7XHJcbkBpbXBvcnQgXCIuLi8uLi9pbXBvcnRzL2dsb2JhbC12YXJzLnNjc3NcIjtcclxuXHJcbiNiYXNpY0V4YW1wbGUgLm1vZGFsLWRpYWxvZyB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi5saWdodGJveC1pbWcge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmxpZ2h0Ym94LWRlc2NyaXB0aW9uLCAubnVtYmVydGV4dCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEsIDEsIDEsIDAuNik7XHJcbn1cclxuXHJcbi5udW1iZXJ0ZXh0IHtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgZm9udC1zaXplOiAwLjhlbTtcclxuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG59XHJcblxyXG4kdGl0bGUtaGVhZGVyOiAoXHJcbiAgICAoMiwgMi4zZW0sIHZhcigtLWFydGljbGUtaDItZmcpKSxcclxuICAgICgzLCAxLjdlbSwgdmFyKC0tYXJ0aWNsZS1oMy1mZykpLFxyXG4gICAgKDQsIDEuM2VtLCB2YXIoLS1wcmltYXJ5LWNvbG9yKSksXHJcbiAgICAoNSwgMS4xZW0sIHZhcigtLWluZm8tY29sb3IpKVxyXG4pO1xyXG5cclxuLmFydGljbGUtc2VjdGlvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWN0aW9uLWFsdC1iZyk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jYXJkLWJvcmRlci1jdXN0b20pO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcclxuICAgIGJveC1zaGFkb3c6IDAgNHB4IDMwcHggdmFyKC0tc2hhZG93LWJvcmRlci1iZyk7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAzZW0gNGVtO1xyXG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gICAgY291bnRlci1yZXNldDogaDI7XHJcblxyXG4gICAgcCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcclxuICAgIH1cclxuXHJcbiAgICBociB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNhcmQtYm9yZGVyLWN1c3RvbSk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgICAgIG1hcmdpbjogMC41ZW0gMCAyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLnN1Y2Nlc3MtY29sb3IsIC5ncmVlbi1jb2xvciB7IGNvbG9yOiB2YXIoLS1zdWNjZXNzLWNvbG9yKTsgfVxyXG4gICAgLmVycm9yLWNvbG9yIHsgY29sb3I6IHZhcigtLWRhbmdlci1jb2xvcik7IH1cclxuXHJcbiAgICBAZWFjaCAkbGV2ZWwsICRzaXplLCAkY29sb3IgaW4gJHRpdGxlLWhlYWRlciB7XHJcbiAgICAgICAgaCN7JGxldmVsfSB7XHJcbiAgICAgICAgICAgIGNvdW50ZXItcmVzZXQ6IGgjeyRsZXZlbCArIDF9O1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgICAgICAgICAgJi5ub2NvdW50OjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcclxuICAgICAgICAgICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGgjeyRsZXZlbH07XHJcbiAgICAgICAgICAgICAgICBAaWYgJGxldmVsID09IDIgeyBjb250ZW50OiBjb3VudGVyKGgyLCBkZWNpbWFsKSBcIikgXCI7IH1cclxuICAgICAgICAgICAgICAgIEBlbHNlIGlmICRsZXZlbCA9PSAzIHsgY29udGVudDogY291bnRlcihoMiwgZGVjaW1hbCkgXCIuXCIgY291bnRlcihoMywgZGVjaW1hbCkgXCIpIFwiOyB9XHJcbiAgICAgICAgICAgICAgICBAZWxzZSBpZiAkbGV2ZWwgPT0gNCB7IGNvbnRlbnQ6IGNvdW50ZXIoaDIsIGRlY2ltYWwpIFwiLlwiIGNvdW50ZXIoaDMsIGRlY2ltYWwpIFwiLVwiIGNvdW50ZXIoaDQsIGRlY2ltYWwpIFwiKSBcIjsgfVxyXG4gICAgICAgICAgICAgICAgQGVsc2UgaWYgJGxldmVsID09IDUgeyBjb250ZW50OiBjb3VudGVyKGgyLCBkZWNpbWFsKSBcIi5cIiBjb3VudGVyKGgzLCBkZWNpbWFsKSBcIi1cIiBjb3VudGVyKGg0LCBkZWNpbWFsKSBcIi1cIiBjb3VudGVyKGg1LCBkZWNpbWFsKSBcIikgXCI7IH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGlmICRsZXZlbCA9PSAyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sb3I7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMzBweCAwO1xyXG4gICAgICAgICAgICB9IEBlbHNlIGlmICRsZXZlbCA9PSAzIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgIHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uOiB1bmRlcjtcclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDVweCAwIDI3cHg7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgIHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uOiB1bmRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNtZC1jb2xvciB7XHJcbiAgICAmLnN1Y2Nlc3MtY29sb3IsICYudGV4dC1zdWNjZXNzIHsgY29sb3I6IHZhcigtLXN1Y2Nlc3MtY29sb3IpICFpbXBvcnRhbnQ7IH1cclxuICAgICYud2FybmluZy1jb2xvciwgJi50ZXh0LXdhcm5pbmcgeyBjb2xvcjogdmFyKC0td2FybmluZy1jb2xvcikgIWltcG9ydGFudDsgfVxyXG4gICAgJi5lcnJvci1jb2xvciwgJi50ZXh0LWRhbmdlciB7IGNvbG9yOiB2YXIoLS1kYW5nZXItY29sb3IpICFpbXBvcnRhbnQ7IH1cclxufVxyXG5cclxuI2JhY2stdG8tdG9wLWJ1dHRvbiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgYm90dG9tOiAyMHB4O1xyXG4gICAgcmlnaHQ6IDMwcHg7XHJcbiAgICB6LWluZGV4OiA5OTtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2stdG8tdG9wLWJ1dHRvbi1iZyk7XHJcbiAgICBjb2xvcjogdmFyKC0tYm9keS1iZyk7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICB3aWR0aDogNjBweDtcclxuICAgIGFuaW1hdGlvbjogdXAtZG93bi1zbSAxLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlIGFsdGVybmF0ZS1yZXZlcnNlIGJvdGg7XHJcblxyXG4gICAgaSB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLWxnKSB7XHJcbiAgICAuYXJ0aWNsZS1zZWN0aW9uIHtcclxuICAgICAgICBwYWRkaW5nOiAyLjc1ZW0gMi41ZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLW1kKSB7XHJcbiAgICAuYXJ0aWNsZS1zZWN0aW9uIHtcclxuICAgICAgICBwYWRkaW5nOiAyZW07XHJcbiAgICAgICAgXHJcbiAgICAgICAgKiB7IGZvbnQtc2l6ZTogMWVtOyB9XHJcbiAgICB9XHJcbiAgICAuY21kLWNvbG9yIHsgZm9udC1zaXplOiAxMnB4OyB9XHJcbiAgICBjb2RlW2NsYXNzKj1cImxhbmd1YWdlLVwiXSwgcHJlW2NsYXNzKj1cImxhbmd1YWdlLVwiXSB7IGZvbnQtc2l6ZTogMWVtOyB9XHJcbn1cclxuXHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS1zbSkge1xyXG4gICAgLmFydGljbGUtc2VjdGlvbiB7XHJcbiAgICAgICAgKiB7IGZvbnQtc2l6ZTogMTRweDsgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC5hbGVydCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAuYWxlcnQtaWNvbi1jb2wge1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjNlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGNvZGVbY2xhc3MqPVwibGFuZ3VhZ2UtXCJdLCBwcmVbY2xhc3MqPVwibGFuZ3VhZ2UtXCJdIHsgZm9udC1zaXplOiAxNHB4OyB9XHJcbn1cclxuXHJcbi8qIFPDqWN1cml0w6kgYWJzb2x1ZSBwb3VyIGxlcyBtw6lkaWFzIGRhbnMgbGUgY29udGVudSAqL1xyXG4uYXJ0aWNsZS1kaXYge1xyXG4gICAgd29yZC1icmVhazogYnJlYWstd29yZCAhaW1wb3J0YW50O1xyXG4gICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmUgIWltcG9ydGFudDtcclxuXHJcbiAgICBpbWcsIGlmcmFtZSwgdmlkZW8ge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBDb25maWd1cmF0aW9uIHVuaWZpw6llIFByaXNtSlMgLyBCbG9jcyBkZSBjb2RlICovXHJcbnByZVtjbGFzcyo9XCJsYW5ndWFnZS1cIl0sIFxyXG46bm90KHByZSkgPiBjb2RlW2NsYXNzKj1cImxhbmd1YWdlLVwiXSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBib3JkZXItbGVmdDogMC42cmVtIHNvbGlkIHZhcigtLXByaW1hcnktY29sb3IpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMC4zZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4vKiBDYXMgc3DDqWNpZmlxdWUgZGVzIGJsb2NzIGVuIGxpZ25lIChJbmxpbmUgQ29kZSkgKi9cclxuOm5vdChwcmUpID4gY29kZVtjbGFzcyo9XCJsYW5ndWFnZS1cIl0ge1xyXG4gICAgcGFkZGluZzogMC45ZW0gMS4xZW07XHJcbn1cclxuXHJcbjpub3QocHJlKSA+IGNvZGUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVydGlhcnktY29sb3IpOyBcclxuICAgIGNvbG9yOiB2YXIoLS1kYW5nZXItY29sb3IpOyBcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXNlY3Rpb24tYWx0LWJnKTtcclxuICAgIHBhZGRpbmc6IDJweCA2cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBmb250LWZhbWlseTogJGNvZGUtZm9udDtcclxuICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG59XHJcblxyXG5cclxuLyogQ2FzIHNww6ljaWZpcXVlIGRlcyBibG9jcyBtdWx0aWxpZ25lcyAoUHJlL0NvZGUgYmxvY2tzKSAqL1xyXG5wcmVbY2xhc3MqPVwibGFuZ3VhZ2UtXCJdIHtcclxuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgb3ZlcmZsb3cteDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xyXG4gICAgcGFkZGluZzogMXJlbSAxLjVlbSAxLjVlbSAxLjVlbTsgLyogTGFpc3NlIGxhIHBsYWNlIGVuIGhhdXQgcG91ciBsZSBib3V0b24gY29waWVyICovXHJcblxyXG4gICAgLmNvcHktYnV0dG9uIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIHotaW5kZXg6IDEwO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZjRkNGQ7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc1NzU3NSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcGFkZGluZzogNHB4IDhweDtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWhvdmVyKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGY0ZDRkOztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnN1Y2Nlc3MtY29sb3IsIC50ZXh0LXN1Y2Nlc3MgeyBjb2xvcjogdmFyKC0tc3VjY2Vzcy1jb2xvcikgIWltcG9ydGFudDsgfVxyXG4gICAgLndhcm5pbmctY29sb3IsIC50ZXh0LXdhcm5pbmcgeyBjb2xvcjogdmFyKC0td2FybmluZy1jb2xvcikgIWltcG9ydGFudDsgfVxyXG4gICAgLmVycm9yLWNvbG9yLCAudGV4dC1kYW5nZXIgeyBjb2xvcjogdmFyKC0tZGFuZ2VyLWNvbG9yKSAhaW1wb3J0YW50OyB9XHJcbn0iLCJAdXNlIFwic2Fzczpjb2xvclwiO1xuXG4kbWVkaWEtc206IDU3NnB4O1xuJG1lZGlhLW1kOiA3NjhweDtcbiRtZWRpYS1sZzogOTkycHg7XG4kbWVkaWEteGw6IDEyMDBweDtcbiRuYXZiYXItaGVpZ2h0OiA3MHB4O1xuJGNvZGUtZm9udDogQ29uc29sYXMsTW9uYWNvLEFuZGFsZSBNb25vLFVidW50dSBNb25vLG1vbm9zcGFjZTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/