/*!*****************************************************************************************************************************************!*\ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js!./src/css/style.scss ***! \*****************************************************************************************************************************************/ /* Licensed under the Apache License, Version 2.0 (the "License") http://www.apache.org/licenses/LICENSE-2.0 */ /* Licensed under the Apache License, Version 2.0 (the "License") http://www.apache.org/licenses/LICENSE-2.0 */ /* Licensed under the Apache License, Version 2.0 (the "License") http://www.apache.org/licenses/LICENSE-2.0 */ :root { --app-height: 100%; } body { --header-height: 50px; --menu-height: 36px; --level-color: #ADFF2F; --rooms-header-height: 70px; --sidebar-width: 315px; --tabs-height: 45px; --buffer-size: 4px; --menu-zindex: 10000000; --chat-width: 600px; --chat-height: 20px; --chat-tabs-height: 26px; --chat-tools-height: 40px; --chat-msg-height: 80px; --chat-send-width: 32px; --chat-zindex: 2000; --text-align-start: left; --text-align-end: right; --background-start: left; --background-end: right; } html[dir="rtl"] body { --text-align-start: right; --text-align-end: left; --background-start: right; --background-end: left; } body.no-header { --header-height: 0px; } body.no-menu { --menu-height: 0px; } .adminPanel { --lbl-nav-height: 0px; --nav-height: 30px; --list-width: 518px; } .adminPanelColumnTable.label { --lbl-nav-height: 40px; } .adminPanelColumnForm { --actions-height: 0px; } .adminPanelColumnForm .adminForm { --actions-height: 40px; } .recording-panel { --info-height: 90px; } .file-tree { --tree-header-height: 36px; --tree-footer-height: 60px; } .main.room { --header-height: 0px; --room-menu-height: 40px; --room-wb-tabs-height: 45px; --room-sidebar-header-height: 37px; --chat-width: 20px; --chat-height: calc(100% - var(--room-menu-height)); --activities-height: 20px; --vdialog-titlebar-height: 27px; --vdialog-footer-height: 0px; --wb-zoom-height: 33px; --menu-height: 0px; } .main.room.INTERVIEW { --rec-btn-height: 40px; } .main.room.no-menu { --room-menu-height: 0px; } .main.room.no-activities { --activities-height: 0px; } .main.room.no-chat { --chat-width: 0px; } .main.room.mic-status { --vdialog-footer-height: 22px; } @media screen and (max-width: 1280px) { .main.room { --sidebar-width: 155px; } } html, body { width: 100vw; height: var(--app-height); margin: 0; padding: 0; font-family: Arial, Helvetica, sans-serif; overflow-y: hidden; } .main-loader { height: 100%; } .main-container { height: calc(100% - var(--header-height)); } .main { height: 100%; } #header { font-size: 28px; line-height: 40px; font-weight: bold; padding-inline-start: 80px; margin-inline-start: 20px; height: var(--header-height); } #header .logo { display: inline-block; background-image: url(images/logo.png); background-repeat: no-repeat; height: var(--header-height); width: 80px; } #topLinks { --bs-border-width: 1px; --bs-border-style: solid; --bs-border-color: black; } #topLinks span { padding-right: 5px; padding-left: 5px; white-space: nowrap; } #busy-indicator { display: none; z-index: 1000; position: absolute; margin: 2px; font-size: 2em; line-height: 1.2em; } .clickable { cursor: pointer; } .help.support h3 { margin-bottom: 5px; } .profile-panel { height: calc(100% - 10px); overflow-y: auto; padding: 5px; } .pagedEntityListPanel, .addLanguagePanel { margin-inline-start: 2px; display: inline-block; } .pagedEntityListPanel .pagination { display: inline-block; } .pagedEntityListPanel select { padding: 0px 0px; border: solid 1px #aacfe4; width: 60px; font-size: 12px; display: inline; float: none; } .pagedEntityListPanel input { font-size: 14px; padding: 0px 0px; border: solid 1px #aacfe4; width: 100px; height: 20px; margin: 2px 2px; display: inline; float: none; } .searchForm { display: inline-block; vertical-align: top; } .searchForm input[type="button"] { padding: .2em .5em; font-size: smaller; } .searchForm input[type="text"] { width: 140px; float: none; display: inline-block; } .searchForm input[type="submit"] { width: auto; float: none; display: inline-block; border: 2px outset buttonface; padding: 1px 6px; font-size: 12px; } .centered { text-align: center; } .goto, .goto :link, .goto :hover { font-size: 14px; line-height: 14px; text-decoration: none; text-align: center; vertical-align: middle; min-width: 16px; } .goto.icon { display: inline-block; width: 16px; height: 16px; border: none; margin: 0px; padding: 0px; zoom: 1.2; } .ui-dialog { box-shadow: 3px 3px 4px #000; } .start_step { margin: 5px 0px 5px 0px; } .widget { width: 100%; } .widget td { min-width: 150px; } #contents { height: calc(100% - var(--menu-height)); } #feedcontainer { overflow: auto; } #feeds .card .card-body, .text-pre { white-space: pre; } .clear { clear: both; } .om-icon { background-repeat: no-repeat !important; background-position: var(--background-start) 0 !important; background-size: 16px; width: 18px; height: 18px; border: none; margin-inline-start: 2px; margin-top: 2px; display: inline-block; position: relative; } .om-icon.big { width: 34px; height: 34px; } .om-icon.big::before { font-size: 2.0em; line-height: 1.2em; } .om-icon::before { font-family: 'Font Awesome 6 Free'; font-weight: 900; color: var(--bs-secondary); font-size: 1.2em; vertical-align: text-bottom; line-height: 1em; } .om-icon.add::before { content: '\f055'; } .om-icon.online::before { color: var(--bs-success); content: '\f111'; } .om-icon.offline::before { color: var(--bs-danger); content: '\f111'; } .message { margin: 50px; border: 1px solid black; padding: 15px; border-radius: 8px; } .message.private.body { border: 0; margin: 0; padding: 0; } .message.private.body .quote { --bs-border-width: 1px; --bs-border-style: solid; --bs-border-color: #cccccc; margin-inline-start: 10px; padding-inline-start: 10px; } table.messages { width: 100%; min-height: 500px; } table.messages td.side, table.messages td.main { vertical-align: top; } table.messages td.side.left { min-width: 150px; overflow-x: hidden; } table.messages td.side.right { min-width: 200px; overflow-x: hidden; } table.messages td.side.right .del-contact { padding: 0; margin: 0; height: 16px; width: 16px; position: relative; } table.messages td.side.right .del-contact i { position: absolute; top: 1px; left: 3px; } table.messages td.main { width: 100%; } table.messages td.from, table.messages td.subject { overflow-wrap: break-word; } .email { padding-top: 2px; display: block; } .email.selected { border: 1px solid #cccccc; background-color: var(--bs-light); } .email.folder { font-weight: normal; position: relative; } .email.folder .delete { position: absolute; top: 2px; font-weight: normal; padding: 0; display: inline-block; width: 18px; height: 18px; } .email.folder .delete i { top: 2px; position: absolute; left: 4px; } #messagesTable tr.selected { background-color: var(--bs-light); } #messagesTable tr.unread { font-weight: bold; } #messagesTable tr.unread > td:nth-child(1)::before { content: '*'; } .fht-tbody { background-color: white; } #ui-datepicker-div { z-index: 100 !important; } .room-list .room-row button.refresh { padding: 0 0.25rem; } .select2-results .user.internal, .select2-results .user.external, .select2-selection .user.internal, .select2-selection .user.external { padding-inline-start: 18px; background-repeat: no-repeat; background-position: var(--background-start) 2px; } .select2-results .user.internal, .select2-selection .user.internal { background-image: url(images/user.png); } .select2-results .user.external, .select2-selection .user.external { background-image: url(images/user_go.png); } .om-select2 .select2.select2-container { max-height: 80px; overflow-y: auto; width: 100% !important; } .recording-panel { display: flex; height: 100%; } .recording-panel .file-tree { height: 100%; } .recording-panel .file-tree .info { height: var(--info-height); } .recording-panel .tree-panel { height: calc(100% - var(--info-height)); } .recording-panel .file-tree, .recording-panel .tree-panel, .recording-panel .info { width: 325px; } .recording-panel .info .details .value { padding: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .recording-panel .video { width: 100%; display: inline-block; box-shadow: 0 0 10px 1px rgba(74, 137, 151, 0.5); } .recording-panel .video video { width: 100%; } .recording-panel.page { padding-top: 40px; } .recording-panel.page .video, .recording-panel.page .info { display: inline-block; float: inline-start; padding-inline-start: 20px; } .recording-panel.page .video { min-width: 400px; } .rooms-header { min-height: var(--rooms-header-height); max-height: var(--rooms-header-height); height: var(--rooms-header-height); white-space: nowrap; text-overflow: ellipsis; overflow: hidden; } #orgTabs, .rooms-area { height: calc(100% - var(--rooms-header-height) - var(--buffer-size)); padding-top: 0; padding-bottom: 0; } .rooms-area { display: flex; } #orgTabs .tab-content { display: flex; padding-bottom: 0; height: calc(100% - var(--tabs-height)); padding-top: 0; } .rooms-table { display: inline-block; min-width: 415px; height: 100%; overflow-y: auto; } .rooms-table .room-row .container { margin: 0; } .rooms.title { font-weight: bold; padding: 10px; padding-bottom: 0; } .rooms.desc { margin: 10px; max-width: 900px; } .user.info.panel legend { font-style: italic; } .user.info.panel fieldset table, .user.info.panel fieldset table textarea { width: 100%; } .main-container #wicketDebugBar { right: initial; top: initial; z-index: 2; position: fixed; margin-inline-end: 25px; } .profile { position: relative; display: inline-block; } .profile img { max-width: 125px; max-height: 125px; } .profile .remove { border: 1px solid #cccccc; padding: 0px 7px; } .date.time.picker { font-size: 12px; } .room.list.container { height: 150px; max-height: 150px; overflow-y: auto; border: 1px solid #cccccc; } .no-close .ui-dialog-titlebar-close { display: none; } .msg-row { position: relative; } .col-wrapper { word-wrap: break-word; } #searchUsersTable.list-table { max-width: 100%; height: calc(100% - 50px); } .list-table { display: flex; flex-flow: column; width: 100%; min-width: 518px; height: calc(100% - var(--nav-height) - var(--lbl-nav-height) - var(--buffer-size)); } .list-table thead { /* head takes the height it requires, and it's not scaled when table is resized */ flex: 0 0 auto; width: calc(100% - 1.0em); } .list-table tbody { /* body takes all the remaining available space */ flex: 1 1 auto; display: block; overflow-y: scroll; overflow-x: hidden; background-color: white; } .list-table tbody tr { width: 100%; } .list-table thead, .list-table tbody tr { display: table; table-layout: fixed; } .list-table th { overflow: hidden; text-align: var(--text-align-start); } .list-table.small { height: 150px; } .list-table.full-width { max-width: initial; } .list-table tr.deleted { background-image: repeating-linear-gradient(-45deg, transparent, transparent 5px, #cccccc 6px, #cccccc 6px); } .bottom-bumper { height: 30px; } .list-table tr:nth-child(odd), .striped-table .striped-row:nth-child(odd) { opacity: .8; } .tableWrapper { background-color: #FFFFFF; border: solid 1px #aacfe4; width: 536px; height: 100px; } .dashboard { overflow-y: auto; height: 100%; } .dragbox .dragbox-header .dragbox-toggle, .dragbox .dragbox-header .dragbox-actions .icon, .sort-icon a { font-family: "Font Awesome 6 Free"; font-weight: 900; display: inline-block; font-style: normal; text-rendering: auto; line-height: 1; font-variant: normal; background: none; vertical-align: super; margin: 0; } .dragbox .dragbox-header .dragbox-actions .icon { vertical-align: middle; } .dragbox .dragbox-header .dragbox-actions .icon.refresh::before { content: "\f2f1"; } .dragbox .dragbox-header .dragbox-actions .icon.delete::before { content: "\f00d"; color: var(--bs-danger); } .dragbox .dragbox-header .dragbox-toggle.expanded::before { content: "\f0d7"; } .dragbox .dragbox-header .dragbox-toggle.collapsed::before { content: "\f0d8"; } .dragbox-content .tableWrapper { /* room users on dashboard */ width: auto; height: 100px; } .dragbox-content .tableWrapper .list-table { min-width: auto; } .dragbox-content .rooms-widget { display: flex; } .sort-icon a { vertical-align: middle; text-decoration: none; } .sort-icon.none a::before { content: '\f0dc'; } .sort-icon.desc a::before { content: '\f0dd'; } .sort-icon.asc a::before { content: '\f0de'; } .tableWrapper .list-table { height: 100%; } .level-meter { border-radius: 3px; } /**** TODO need to be unified with other icons used ****/ .hash-panel-main { width: 100%; height: 100%; } .om-tbl { display: table; width: 100%; } .om-tbl .om-tbl-row { display: table-row; } .om-tbl .om-tbl-row .om-tbl-cell { display: table-cell; } .access-denied.outer { margin: 4em; } .access-denied.outer .inner { padding: 2em; } .captcha-text { margin-bottom: 5px; } .captcha-img { vertical-align: bottom; } .main.privacy { max-width: 800px; padding: 20px; border: 1px solid #cccccc; border-radius: 10px; } .main.privacy h2 { font-size: 30px; font-weight: 300; margin: 10px 0; color: #333; } .main.privacy h3 { color: #325d72; font-weight: 700; font-size: 24px; margin: 1.5em 0 1em; border-bottom: 1px solid #ddd; } .main.privacy h4 { color: #333; font-weight: 700; font-size: 1.2em; margin: 1em 0; } .main.privacy h5 { color: #325D72; font-weight: 700; font-size: 1em; margin: 1em 0; } .main.privacy p { margin: 1em 0; } .private-message .ui-autocomplete { z-index: 999 !important; } .img-upload .btn.btn-file { width: 120px; padding: 0; } .profile-edit-form { height: calc(100% - 65px); } #alert-holder { z-index: calc(var(--chat-zindex) + 2); } .popover.confirmation.show { z-index: 3000; } .overflow-break-word { overflow-wrap: break-word; } /* Licensed under the Apache License, Version 2.0 (the "License") http://www.apache.org/licenses/LICENSE-2.0 */ .abstractWizard .adminForm div.formelement { max-width: 600px; } .abstractWizard .adminForm label { width: 240px; } .abstractWizard ul.paramList { list-style-type: none; } .abstractWizard ul.paramList li { padding-top: 5px; } .abstractWizard ul.paramList label { width: 350px; display: inline-block; } .abstractWizard input, .abstractWizard select { width: 280px; } .abstractWizard input[type=checkbox], .abstractWizard input[type=radio] { width: auto; } .installer-note { margin-top: 20px; padding: 0.7em; } .installer-important { font-size: 1.2em; } .installer-less-important { font-size: 1.1em; } .installer { overflow-y: auto; height: calc(100% - var(--header-height)); } /* Licensed under the Apache License, Version 2.0 (the "License") http://www.apache.org/licenses/LICENSE-2.0 */ .signin .oauth-section { padding-bottom: 20px; } .signin .oauth-section .provider { background-position: var(--background-start) 0; background-size: 24px; background-repeat: no-repeat; height: 24px; display: inline-block; padding-inline-start: 20px; vertical-align: bottom; } .signin .or-seperator { margin-top: 20px; text-align: center; border-top: 1px solid #cccccc; } .signin .or-seperator i { padding: 0 10px; background: #ffffff; position: relative; top: -11px; z-index: 1; } .signin-forget .form-check-label { padding-inline-end: 10px; } /* Licensed under the Apache License, Version 2.0 (the "License") http://www.apache.org/licenses/LICENSE-2.0 */ .adminPanel { min-width: 1070px; display: flex; height: 100%; } .adminNav { height: var(--nav-height); } .adminNav .goto { text-overflow: ellipsis; max-width: 25px; overflow: hidden; display: inline-block; } .adminPanelColumnTable { display: inline-block; vertical-align: top; height: 100%; min-width: var(--list-width); } .adminPanelColumnTable.label .lblNav { height: var(--lbl-nav-height); } .adminPanelColumnForm { display: inline-block; vertical-align: top; height: calc(100% - var(--buffer-size)); min-width: 450px; } .adminPanelColumnForm .adminForm { height: 100%; } .adminPanelColumnForm .adminForm .actions { height: var(--actions-height); padding-top: 5px; } .adminPanelColumnForm div.scrollcontent { height: calc(100% - var(--actions-height)); vertical-align: top; overflow-y: auto; } .adminForm legend, .installer legend { padding: 0.5em 1em; font-style: italic; } .adminForm .group.logo .profile img { height: 16px; width: auto; } .adminBackupForm div.formelement { display: block; clear: both; max-width: 1240px; } .adminFormsFeedbackPanel { position: fixed; margin-inline-end: 50px; width: 480px; bottom: 16px; z-index: 999; } .onoffswitch { display: inline-block; } .onoffswitch .onoff-checkbox { display: none !important; } .onoff-label { margin: 0; } .onoff-label::before { font-family: 'Font Awesome 6 Free'; font-weight: 900; font-size: 2.2em; } .onoff-checkbox + .onoff-label::before { content: '\f204'; color: var(--bs-danger); } .onoff-checkbox:checked + .onoff-label::before { content: '\f205'; color: var(--bs-success); } .addLanguagePanel select { padding: 0px 0px; border: solid 1px #aacfe4; width: 140px; font-size: 12px; margin-inline-start: 2px; } /* Licensed under the Apache License, Version 2.0 (the "License") http://www.apache.org/licenses/LICENSE-2.0 */ #activities { height: var(--activities-height); overflow: hidden; } #activities .ui-resizable-handle { width: 100%; } #activities .control.block { white-space: nowrap; } #activities .control.block .label { display: inline-block; text-overflow: ellipsis; white-space: nowrap; } #activities .ctrl { padding-left: 20px; padding-right: 20px; } #activities .area { height: calc(100% - 46px); overflow-y: auto; } .activity.item { position: relative; padding: 5px; margin-bottom: 3px; border-bottom: 1px solid var(--bs-secondary); } .activity.item button { padding: 0 5px; } /* Licensed under the Apache License, Version 2.0 (the "License") http://www.apache.org/licenses/LICENSE-2.0 */ #contents #calendar .fc-gotoBtn-button::before { font-family: 'Font Awesome 6 Free'; font-weight: 900; content: "\f133"; font-size: 1em; } .calendarlist { padding: 0; } .calendarlist li { list-style-type: none; margin: 0.3em; } .calendarlist li input { width: 100%; text-align: center; vertical-align: middle; } #calendarlistcontainer { width: 20%; display: inline-block; overflow-y: auto; } #wrapper-panel-frame { display: inline-block; width: 80%; height: 100%; } #wrapper-panel-frame .main-form, #calendar { height: 100%; } /* bootstrap override */ .table-bordered { border: 1px solid #dee2e6; } .table-bordered td, .table-bordered th { border: 1px solid #dee2e6; } /* Licensed under the Apache License, Version 2.0 (the "License") http://www.apache.org/licenses/LICENSE-2.0 */ #chatPanel { position: fixed; z-index: var(--chat-zindex); bottom: 0px; width: var(--chat-width); height: var(--chat-height); } #chatPanel #chatPopup { height: 100%; } #chatPanel #chatPopup .control.block .label { display: inline-block; width: 70px; padding-inline-start: 5px; } #chatPanel #chatPopup .control.block i::before { content: "\f107"; } #chatPanel.closed #chatPopup .control.block i::before { content: "\f106"; } #chat { height: calc(100% - 20px); } #chat .chat-toolbar.btn-toolbar .dropdown-menu { min-width: unset; } #chat .chat-toolbar.btn-toolbar .dropdown-menu.btns-only li { display: inline-block; } #chat #chatTabs { padding: 0; height: calc(100% - var(--chat-tools-height) - var(--chat-msg-height) - var(--buffer-size)); } #chat #chatTabs .nav.nav-tabs .nav-item { max-height: var(--chat-tabs-height); height: var(--chat-tabs-height); overflow: hidden; } #chat #chatTabs .nav.nav-tabs .nav-item .nav-link { padding: 1px 0.9rem; } #chat #chatTabs .nav.nav-tabs .nav-item .nav-link .close-chat { padding: 2px; line-height: .5em; } #chat #chatTabs .tab-content { height: calc(100% - var(--chat-tabs-height)); } #chat #chatTabs .tab-content .tab-pane.messageArea { overflow-y: auto; padding: 0 5px; position: relative; } #chat .messageArea .msg-row.need-moderation { background-color: var(--bs-warning); } #chat .messageArea .time { margin-inline-end: 5px; font-style: italic; font-size: smaller; } #chat .messageArea .user-row { background-size: 38px, 38px; background-repeat: no-repeat; padding-inline-start: 40px; min-height: 40px; } #chat .messageArea .icons { display: none; position: absolute; z-index: 1; margin-inline-start: 50px; } #chat .messageArea .icons div { display: inline-block; vertical-align: super; margin-inline-end: 2px; } #chat .messageArea .from { margin-left: 5px; margin-right: 5px; font-weight: bold; } #chat .messageArea .date-row { text-align: center; font-style: italic; padding: 5px 0; } #chat .chat-tool-icon, #chat .chat.btn { font-size: 1.1em; max-height: var(--chat-tools-height); } #chat .chat-tool-icon { background-repeat: no-repeat; background-position: center; background-size: 16px; display: inline-block; } #chat .chat-tool-icon.list { background-image: url(images/list.png); } #chat .chat-tool-icon.send-ctrl { background-image: url(images/key_ctrl.png); background-position: 0px 0px; background-size: 25px; } #chat .chat-tool-icon.sound i::before { content: '\f028'; } #chat .chat-tool-icon.sound-mute i::before { content: '\f6a9'; } #chat .chat-btn { display: inline-block; } #chat .send { width: 16px; padding-left: 0; padding-right: 0; margin-right: 0; margin-left: 0; } #chat .tool-container { min-height: var(--chat-tools-height); } #chatMessage { width: calc(100% - 16px); height: var(--chat-msg-height); max-height: var(--chat-msg-height); } #chatMessage .wysiwyg-editor { min-height: 70px; max-height: 70px; } .emt { font-size: 10pt; } .chat-msg-container { position: relative; } .chat-toolbar .font-huge, .wysiwyg-toolbar .font-huge { font-size: x-large; } .chat-toolbar .font-small, .wysiwyg-toolbar .font-small { font-size: small; } .chat-toolbar .font-tiny, .wysiwyg-toolbar .font-tiny { font-size: small; } .chat-toolbar .chat-btn.bold, .wysiwyg-toolbar .tool-btn.bold { font-weight: bold; } .chat-toolbar .chat-btn.italic, .wysiwyg-toolbar .tool-btn.italic { font-style: italic; } .chat-toolbar .chat-btn.strike, .wysiwyg-toolbar .tool-btn.strike { text-decoration: line-through; } .chat-toolbar .chat-btn.under, .wysiwyg-toolbar .tool-btn.under { text-decoration: underline; } .chat-delete.confirmation { z-index: calc(var(--chat-zindex) + 1); } /* room mode */ .main.room #chatPanel { margin: 0 !important; right: 0px; top: var(--room-menu-height); } .main.room #chatPanel #chat form { position: absolute; bottom: 0px; width: 100%; } .main.room #chatPanel .control.block i::before { content: "\f105"; } .main.room #chatPanel.closed #chatPopup #chat { display: none; } .main.room #chatPanel.closed #chatPopup .control.block { height: 100% !important; } .main.room #chatPanel.closed #chatPopup .control.block i::before { content: "\f104"; } .main.room #chatPanel.closed #chatPopup .control.block .label { transform: rotate(90deg); transform-origin: -15% 68% 0; position: absolute; top: 0; right: -67px; } /* * jQuery CSSEmoticons plugin 0.2.9 * * Copyright (c) 2010 Steve Schwartz (JangoSteve) * * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html * * Date: Sun Oct 22 1:00:00 2010 -0500 */ /* Basic styles for emoticons */ span.css-emoticon { font-family: "Trebuchet MS", sans-serif; /* seems to give the best and most consistent emoticon appearance */ font-size: 0.65em; font-weight: bold; color: #000000; display: inline-block; overflow: hidden; vertical-align: middle; transform: rotate(90deg); width: 1.54em; /* note that this is a multiple of this span's font-size, not containing text font-size */ height: 1.54em; /* so, relative to containing text, width and height are 0.9 x 1.6 = 1.44em */ text-align: center; padding: 0; line-height: 1.34em; border-radius: 1.54em; box-shadow: 1px -1px 2px rgba(0, 0, 0, 0.5); border: 1px solid rgba(0, 0, 0, 0.25); background-color: #ffcc00; background-image: linear-gradient(to right, #fff4c8, #fc0); transition-property: color, background, transform; transition-duration: 1s, 1s; transition-timing-function: linear, ease-in; /* Styles for two-character emoticons that need more letter-spacing for proportionality */ /* Styles for emoticons that need to have smaller characters to fit inside the circle */ /* Styles for additional colors */ /* styles for emoticons that need no rotation, like O_o */ /* Styles for emoticons that need to be rotated counter-clockwise, like <3 */ /* Styles for animated states */ } span.css-emoticon.spaced-emoticon { padding-left: 0.2em; width: 1.34em; letter-spacing: 0.2em; } span.css-emoticon.spaced-emoticon.small-emoticon { padding-left: 0; width: 1.82em; letter-spacing: 0.1em; } span.css-emoticon.small-emoticon { font-size: 0.55em; width: 1.82em; height: 1.82em; line-height: 1.72em; border-radius: 1.82em; } span.css-emoticon.red-emoticon { background-color: #eb0542; background-image: linear-gradient(to right, #fa376e, #eb0542); } span.css-emoticon.pink-emoticon { background-color: #ff8fd4; background-image: linear-gradient(to right, #ffade1, #ff8fd4); } span.css-emoticon.no-rotate { transform: rotate(0deg); box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); font-size: 0.45em; width: 2.2em; height: 2.2em; line-height: 1.9em; border-radius: 2.2em; background-image: linear-gradient(#fff4c8, #fc0); } span.css-emoticon.no-rotate.red-emoticon { background-image: linear-gradient(#fa376e, #eb0542); } span.css-emoticon.no-rotate.pink-emoticon { background-image: linear-gradient(#ffade1, #ff8fd4); } span.css-emoticon.counter-rotated { transform: rotate(-90deg); box-shadow: -1px 1px 2px rgba(0, 0, 0, 0.5); background-image: linear-gradient(to left, #fff4c8, #fc0); } span.css-emoticon.counter-rotated.red-emoticon { background-image: linear-gradient(to left, #fa376e, #eb0542); } span.css-emoticon.counter-rotated.pink-emoticon { background-image: linear-gradient(to left, #ffade1, #ff8fd4); } span.css-emoticon.un-transformed-emoticon, span.css-emoticon.animated-emoticon:hover { letter-spacing: inherit; color: inherit; overflow: visible; transform: rotate(0deg); background: none; background-image: none; box-shadow: none; border-color: transparent; } span.css-emoticon.nintendo-controller { font-size: .8em; height: 1.2em; line-height: 1em; width: 2.7em; vertical-align: bottom; border-radius: 0; background: linear-gradient(to right, #a5aabd, #74798c); } /* This is a dirty dirty hack, because webkit doesn't properly do the padding+width=total-width as it should I think the width of the border may be throwing things off, because it's more noticable for small icons */ @media screen and (-webkit-min-device-pixel-ratio: 0) { span.css-emoticon.spaced-emoticon { width: 1.4em; } } html[dir="rtl"] span.css-emoticon { transform: rotate(-90deg) !important; } html[dir="rtl"] span.css-emoticon.un-transformed-emoticon, html[dir="rtl"] span.css-emoticon.animated-emoticon:hover { transform: rotate(0deg) !important; } /* Licensed under the Apache License, Version 2.0 (the "License") http://www.apache.org/licenses/LICENSE-2.0 */ #menu .navbar { padding-top: 0; padding-bottom: 0; } .room-block .menu .top.exit { padding-inline-start: 0; } .room-block .menu .details { position: absolute; top: 0; margin-inline-end: 5px; display: inline-block; z-index: calc(var(--menu-zindex) + 1); } .room-block .menu .details .room { padding-top: 5px; padding-inline-end: 5px; } .room-block .menu .details .room.name { font-weight: bold; } .room-block .menu .details .room.name.screen { color: var(--bs-danger); } .room-block .menu .details .icon { width: 30px; height: 30px; padding: 0; } .room-block .menu .details .icon .profile { margin-top: 3px; } .room-block .menu .details .icon .profile img { width: 28px; } .room-block .menu .details .detail-btn { padding: 0.1rem 0.4rem; position: relative; } .room-block .menu .details .detail-btn i.add-on { position: absolute; color: var(--bs-warning); bottom: 0; } .room-block .menu .details .detail-btn i::before { font-size: 1.4em; line-height: 1.2em; } .room-block .menu .details .detail-btn.shared { display: none; } /* Licensed under the Apache License, Version 2.0 (the "License") http://www.apache.org/licenses/LICENSE-2.0 */ .hash-panel-main.app { width: 100%; height: calc(100% - var(--header-height)); } .nettest { padding: 20px; height: 100%; } .nettest .test-container { display: inline-block; position: relative; width: 200px; } .nettest .test-container button.not-started, .nettest .test-container button.started { color: var(--bs-secondary); border-color: var(--bs-secondary); } .nettest .test-container button:hover { color: var(--bs-white); border-color: transparent; } .nettest .test-container button.not-started:hover, .nettest .test-container button.started:hover { background-color: var(--bs-secondary); } .nettest .test-container button.complete { color: var(--bs-success); border-color: var(--bs-success); } .nettest .test-container button.complete:hover { background-color: var(--bs-success); } .nettest .test-container button.complete i::before { content: '\f00c'; } .nettest .test-container button.not-started i::before { content: '\f04b'; } .nettest .test-container button.started i { animation: fa-spin 2s linear infinite; } .nettest .test-container button.started i::before { content: '\f110'; } .nettest .test-container .value { min-height: 3em; } .nettest .test-container .card-title { white-space: nowrap; } .nettest .output { border-radius: 10px; border: 1px solid #cccccc; min-height: calc(100% - 170px); max-height: calc(100% - 170px); margin-top: 20px; overflow: auto; } .nettest .output .module { color: #6b0df7; padding: 0 5px; } .nettest .output .delim { color: green; } .nettest .output .value { color: green; padding: 0 5px; } /* Licensed under the Apache License, Version 2.0 (the "License") http://www.apache.org/licenses/LICENSE-2.0 */ .room-block, .room-block .room-container { width: 100%; height: 100%; } .room-block .room-container .user-video { display: inline-block !important; max-width: 95vw; max-height: 95vh; } .room-block .room-container .user-video .ui-resizable-se { position: absolute; display: inline-block; width: 16px; height: 16px; right: 0px; bottom: 0px; overflow: hidden; background: none; } .room-block .room-container .user-video .ui-resizable-se:before { content: ' '; width: 32px; height: 32px; transform: rotate(-45deg); position: absolute; top: 0; right: 0; right: -21px; bottom: -16px; background: repeating-linear-gradient(var(--bs-dark), var(--bs-dark) 3px, transparent 3px, transparent 5px); } .room-block .room-container .user-video .header { height: 20px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } .room-block .room-container .user-video .header .ui-dialog-title { padding-inline-start: 5px; } .room-block .room-container .user-video .video { min-width: 40px; min-height: 30px; overflow: hidden; position: relative; } .room-block .room-container .user-video .video.audio-only { background-repeat: no-repeat; background-size: auto 100%; background-position: center; } .room-block .room-container .btn.shared { display: none; } .room-block .event-details.modal { position: absolute; width: 300px; height: 300px; top: 30px; z-index: 3050; } .room-block .event-details.modal .modal-dialog { padding: 0; margin: 0; } .room-block .sb-wb { height: calc(100% - var(--room-menu-height)); width: calc(100% - var(--chat-width) - var(--buffer-size)); display: inline-block; position: relative; } .room-block .sidebar { min-width: 155px; width: var(--sidebar-width); position: absolute; height: 100%; top: 0; } .room-block .sidebar .tab { padding: 5px 0 0 0; width: 100%; overflow: hidden; } .room-block .sidebar .tab i { font-size: 2.0em; vertical-align: top; } .room-block .sidebar .tab .label { width: calc((var(--sidebar-width) - 50px) / 2 - 40px); display: inline-block; overflow: hidden; text-overflow: ellipsis; } .room-block .sidebar .tab.user { padding-inline-end: 15px; } .room-block .sidebar .tab.user .label { width: calc((var(--sidebar-width) - 50px) / 2 - 80px); } .room-block .sidebar .tab.om-icon.big { line-height: 30px; padding-inline-start: 10px; position: relative; } .room-block .sidebar .tab .badge { position: absolute; bottom: 0; margin-inline-end: 2px; } .room-block .sidebar #busy-indicator { margin: 8px; } .room-block .sidebar .icon-undock, .room-block .sidebar .icon-dock { font-size: 1.2em; padding-top: 3px; } .room-block .sidebar .icon-dock:before { content: "\f101"; } .room-block .sidebar .icon-undock::before { content: "\f100"; } .room-block .sidebar.closed .tab-content .tab-pane { display: none; } .room-block .wait-moder { position: fixed; bottom: 30px; right: 30px; } .room-block .wait-moder strong { display: block; padding-bottom: 20px; } .room-block.narrow .sidebar .user-list .user.name { display: none; } .room-block.narrow .sidebar .tab.om-icon.big { padding-inline-start: 6px; padding-inline-end: 0; } .room-block .sidebar .ui-resizable-handle, #chatPanel.room .ui-resizable-handle { width: 4px; background-color: #f3f3f4; border: 1px solid #dedee0; } .room-block .sidebar .ui-resizable-handle:hover, #chatPanel.room .ui-resizable-handle:hover { background-color: #b6bdca; border-color: #bebec3; } #room-sidebar-tabs { height: calc(100% - var(--activities-height)); } #room-sidebar-tabs .nav.nav-tabs { flex-wrap: nowrap; padding-inline-end: 40px; gap: 5px; } #room-sidebar-tabs .nav.nav-tabs .nav-item { flex-direction: column; flex-grow: 1; } #room-sidebar-tabs.tabs .btn-dock { display: inline-block; list-style: none; list-style-type: none; padding: 0 .3em; border-bottom-width: inherit; height: 25px; position: absolute; top: 5px; margin-inline-end: 5px; } #room-sidebar-tabs .tab-content { height: calc(100% - 44px); } #room-sidebar-tabs .tab-content .tab-pane { height: 100%; } #room-sidebar-tab-users .header { padding-inline-start: 5px; height: var(--room-sidebar-header-height); } #room-sidebar-tab-users .header .om-icon { width: 34px; height: 34px; } #room-sidebar-tab-users .header .om-icon::before { font-size: 2.0em; line-height: 1.2em; } #room-sidebar-tab-users .header .om-icon i { font-size: 1.2em; } .user-list { overflow-y: auto; height: calc(100% - var(--room-sidebar-header-height) - var(--buffer-size)); } .user-list .user.name { line-height: 18px; height: 18px; padding: 0; padding-inline-start: 64px; margin-inline-end: 20px; overflow: hidden; } .user-list .user.entry { min-height: 90px; padding-inline-start: 5px; padding-top: 5px; background-size: 80px; background-repeat: no-repeat; background-position: var(--background-start) 2px; position: relative; } .user-list .user.entry .video-container, .user-list .user.entry .video-container video.audio-only { width: 80px; height: 80px; } .user-list .user.entry .video-container .footer { display: none !important; } .user-list .user.entry:hover { background-size: 55px; } .user-list .user.entry:hover .user.actions { display: block; padding: 0; margin-top: 45px; } .user-list .user.entry:hover .video-container { position: absolute; top: 0; left: 0; } .user-list .user.entry:hover .video-container, .user-list .user.entry:hover .video-container .video.audio-only { width: 50px; height: 50px; } .user-list .user.entry .user.actions { display: none; } .user-list .user.entry .kick i { font-size: 1.5em; } .user-list .user.entry.current { font-weight: bold; background-color: var(--bs-light); } .user-list .user.entry .om-icon.user-status { border-radius: 50%; } .user-list .user.entry .om-icon.user-status.user { background-color: var(--bs-success); } .user-list .user.entry .om-icon.user-status.wb { background-color: var(--bs-warning); } .user-list .user.entry .om-icon.user-status.mod { background-color: var(--bs-danger); } .user-list .user.entry .om-icon.audio-activity { position: absolute; bottom: 2px; right: 2px; } .typing-activity { display: none; width: 20px; position: relative; } .typing-activity i { position: absolute; left: 0; animation: typing-ani 2s infinite; color: var(--bs-primary); } .typing-activity.typing { display: inline-block; } @keyframes typing-ani { 0% { left: 0; } 50% { left: 10px; } 100% { left: 0; } } .om-icon.disabled { filter: grayscale(100%); pointer-events: none; opacity: .2; } .om-icon.ulist-small { width: 14px; height: 14px; min-height: 14px; margin-inline-end: 2px; margin-left: unset; } .om-icon.audio-activity { opacity: 0.2; border-radius: 50%; background-color: var(--bs-success); border: 1px solid var(--bs-gray-dark); } .om-icon.audio-activity.speaking { opacity: 1; } .om-icon.volume-control a:hover { text-decoration: none; } .om-icon.volume-control a.volume-on::before { content: "\f027"; font-size: 1.2em; color: var(--bs-secondary); } .om-icon.volume-control a.volume-off::before { content: "\f6a9"; font-size: 1.2em; color: var(--bs-danger); } .om-icon.volume-control .dropdown-menu { width: 20px; min-width: 20px; border-radius: 0; border: 0; box-shadow: initial; background-color: transparent; } .om-icon.volume-control .dropdown-menu .slider { border-radius: 0; background-color: white; border-color: var(--bs-secondary); } .om-icon.volume-control .dropdown-menu .slider .ui-slider-range { border-radius: 0; background-color: var(--bs-light); } .om-icon.volume-control .dropdown-menu .slider .handle { border-radius: 0; background-color: var(--bs-light); border-color: var(--bs-secondary); color: var(--bs-secondary); } .om-icon.right i { position: absolute; bottom: 1px; right: 1px; font-size: .6em; } .om-icon.right i::before { color: var(--bs-success); content: "\f055"; } .om-icon.right.granted i::before { color: var(--bs-danger); content: "\f056"; } .om-icon.right.moderator::before { content: "\f007"; } .om-icon.right.presenter::before { content: "\f0d0"; } .om-icon.right.wb::before { content: "\f303"; } .om-icon.right.screen-share::before { content: "\f108"; } .om-icon.right.remote-control::before { content: "\f8cc"; } .om-icon.right.audio::before { content: "\f130"; } .om-icon.right.camera::before { content: '\f03d'; } .om-icon.right.mute-others::before { content: '\f6a9'; } .om-icon.settings::before { content: '\f013'; } .om-icon.activity.cam, .om-icon.activity.mic { display: none; } .om-icon.activity.cam.enabled::before { content: '\f03d'; color: var(--bs-success); } .om-icon.activity.cam::before { content: '\f4e2'; color: var(--bs-warning); } .om-icon.activity.mic.enabled::before { content: '\f130'; color: var(--bs-success); } .om-icon.activity.mic::before { content: '\f131'; color: var(--bs-warning); } .om-icon.activity.mic.push-to-talk::before { color: var(--bs-info); } .user-video .ui-dialog-titlebar , .sharer .ui-dialog-titlebar , .wb-tool-settings .ui-dialog-titlebar { background-color: var(--bs-white); } .user-video .om-icon.volume-control, .user-video .btn.btn-refresh, .user-video .btn.btn-toggle, .user-video .btn.btn-wclose { width: 20px; height: 20px; } .user-video .om-icon.volume-control { border-radius: 0.2rem; border: 1px solid var(--bs-secondary); margin-top: 3px; padding: 1px; } .user-video .btn.btn-refresh, .user-video .btn.btn-toggle, .user-video .btn.btn-wclose { padding: 0; } .user-video .btn.btn-toggle i::before { content: '\f2d1'; } .user-video .btn.btn-toggle.minimized i::before { content: '\f2d2'; } .user-video .buttonpane { background-color: var(--bs-white); } .user-video.ui-dialog.video.user-speaks { box-shadow: 3px 3px 4px green; } .user-video.ui-dialog .ui-dialog-content { height: calc(100% - var(--vdialog-titlebar-height)) !important; width: 100% !important; } .user-video.ui-dialog .ui-dialog-content .video { height: calc(100% - var(--vdialog-footer-height)) !important; width: 100% !important; background-repeat: no-repeat; background-position: center; background-size: 100%; } .user-video.ui-dialog .ui-dialog-content .video video, .user-video.ui-dialog .ui-dialog-content .video audio { height: 100% !important; width: 100% !important; } .user-video.ui-dialog .ui-dialog-content .footer { height: var(--vdialog-footer-height) !important; } .dropdown-menu.video.volume, .dropdown-menu.video.volume li { width: 20px; min-width: 20px; border-radius: 0; border: 0; box-shadow: initial; left: 70px; top: -50px; background-color: transparent; } .input .select2-container { max-height: 100px; overflow-y: auto; } .sip .button-row { text-align: center; margin: 5px; } .sip .button-row input.sip-number { width: 130px; } .sip .button-row #sip-dialer-btn-erase { margin-inline-start: 5px; } /************ VIDEO **************/ .mic-on { background-color: var(--bs-warning); } .ui-dialog.video, .ui-dialog.sharer, .ui-dialog.video .ui-dialog-titlebar, .ui-dialog.video .ui-dialog-content { padding: 0; } .ui-dialog.video .ui-dialog-content { overflow: hidden; } .ui-dialog.video .ui-dialog-titlebar { padding-inline-start: 10px; border: none; } .sharer .ui-dialog-titlebar-close { position: absolute; top: 20px; } .video-container .level-meter { display: inline-block; position: absolute; bottom: 5px; left: 5px; width: 10px; } .video-container .video .level-meter { height: calc(100% - 10px) !important; } #video-settings { padding: 5px 10px; } #video-settings .modal-dialog { max-width: 640px; } #video-settings .title { font-weight: bold; } #video-settings .sett-container { position: relative; min-height: 250px; } #video-settings .sett-container .opt-block { width: 300px; display: inline-block; position: absolute; top: 0; left: 0; } #video-settings .sett-container .vid-block { min-width: 300px; padding-inline-start: 305px; } #video-settings .sett-container .vid-block .video-conainer { overflow: auto; max-height: 300px; position: relative; } #video-settings .sett-container .vid-block .timer { float: inline-start; padding: 2px 4px; } #video-settings .sett-container .sett-row { padding-top: 10px; } #video-settings .sett-container .sett-row .warn { float: inline-end; margin-inline-end: .3em; } #video-settings .sett-container .sett-row.right { text-align: var(--text-align-end); } .video:hover .mute-others.enabled { display: block; } .video .mute-others { position: absolute; top: calc(50% - 32px); left: calc(50% - 32px); width: 64px; height: 64px; background-size: 64px; z-index: 2; display: none; } .video .mute-others::before { content: '\f3c9'; color: var(--bs-warning); line-height: 1em; font-size: 2.5em; } .video.audio-only .mute-others { top: calc(50% - 16px); left: calc(50% - 10px); width: 32px; height: 32px; } /* Licensed under the Apache License, Version 2.0 (the "License") http://www.apache.org/licenses/LICENSE-2.0 */ .main.room.INTERVIEW .wb-block .wb-area .pod-area { width: 100%; height: calc(100% - var(--rec-btn-height)); } .main.room.INTERVIEW .wb-block .wb-area .rec-btn { z-index: 100; border-radius: 30px; position: absolute; right: 50%; bottom: 0px; width: 40px; height: var(--rec-btn-height); } .main.room.INTERVIEW .wb-block .wb-area .rec-btn .ui-button-icon.ui-icon.stop, .main.room.INTERVIEW .wb-block .wb-area .rec-btn .ui-button-icon.ui-icon.record { background-image: none; background-color: red; } .main.room.INTERVIEW .wb-block .wb-area .rec-btn .ui-button-icon.ui-icon.record { border-radius: 15px; } .pod-area { display: inline-grid; } .pod-area .empty { grid-area: e; } .pod-area.max2, .pod-area.max3 { grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(2, 1fr); } .pod-area.max2 { grid-template-areas: "e a a" "b a a"; } .pod-area.max3 { grid-template-areas: "b1 a a" "b2 a a"; } .pod-area.max5, .pod-area.max9, .pod-area.max13 { grid-template-columns: repeat(4, 1fr); grid-template-areas: "b1 a a b2" "b3 a a b4"; } .pod-area.max5 { grid-template-rows: repeat(2, 1fr); } .pod-area.max9 { grid-template-rows: repeat(3, 1fr); } .pod-area.max13 { grid-template-rows: repeat(4, 1fr); } .pod-area.max17, .pod-area.max25, .pod-area.max33 { grid-template-columns: repeat(8, 1fr); grid-template-areas: "b01 b02 a a a a b03 b04" "b05 b06 a a a a b07 b08" "b09 b10 a a a a b11 b12" "b13 b14 a a a a b15 b16"; } .pod-area.max17 { grid-template-rows: repeat(4, 1fr); } .pod-area.max25 { grid-template-rows: repeat(5, 1fr); } .pod-area.max33 { grid-template-rows: repeat(6, 1fr); } .pod-area .pod-big, .pod-area .pod { position: relative; padding: 2px; margin: 2px; overflow: hidden; } .pod-area .pod-big .user-video.ui-dialog, .pod-area .pod .user-video.ui-dialog { height: calc(100% - var(--buffer-size)) !important; width: calc(100% - var(--buffer-size)) !important; } .pod-area .pod-big { grid-area: a; border: 1px solid #cccccc; border-radius: 8px; background-image: url(images/drop.png); background-repeat: no-repeat; background-position: center; background-size: 64px; } .pod-area .pod-big.ui-hightlight { box-shadow: 3px 3px 4px blue; } .pod-area .pod.ui-sortable-placeholder { background-color: whitesmoke; visibility: visible !important; } /* Licensed under the Apache License, Version 2.0 (the "License") http://www.apache.org/licenses/LICENSE-2.0 */ #room-poll-chart { height: 300px; } #quick-vote { position: absolute; margin-inline-end: 40px; bottom: 40px; padding: 5px; border: 1px solid; border-radius: 0.2rem; background-color: var(--bs-light); border-color: var(--bs-info); } #quick-vote .control { display: inline-block; width: 48px; height: 48px; position: relative; font-size: 1.5em; } #quick-vote .control .badge { position: absolute; bottom: 0; font-size: 0.5em; } #quick-vote .control i::before { font-size: 2.0em; line-height: 1.2em; } #quick-vote .control.pro i::before { color: var(--bs-success); } #quick-vote .control.con i::before { color: var(--bs-danger); } #quick-vote .close-btn { padding: 0 0.4rem; } .main.room.INTERVIEW #quick-vote { z-index: 100; right: 10px; bottom: 0; padding: 0px 5px 0px 5px; height: 40px; } #sharer .alert { display: none; } .sharer .share-start-stop i::before { content: '\f03e'; } .sharer .record-start-stop i::before { content: '\f111'; } .sharer .stop i::before { content: '\f28d'; } @media screen and (max-width: 1280px) { .room-block .sb-wb .sidebar .tab.om-icon.big { padding-inline-end: 0; } .room-block .sb-wb .sidebar .user-list .user.name { display: none; } .room-block.big .sb-wb .sidebar .user-list .user.name { display: block; } } html[dir="rtl"] .main.room #chatPanel { right: initial; left: 0px; } /* Licensed under the Apache License, Version 2.0 (the "License") http://www.apache.org/licenses/LICENSE-2.0 */ .file-tree { vertical-align: top; height: 100%; width: 100%; display: inline-block; } .file-tree .trees { height: calc(100% - var(--tree-header-height) - var(--tree-footer-height)); width: var(--sidebar-width); overflow-x: auto; overflow-y: auto; } .file-tree .trees #tree-anchor { height: 2px; width: 2px; } .file-tree .trees .om-icon.active { background-color: var(--bs-info); } .file-tree .trees .om-icon i { display: none; position: absolute; bottom: 1px; left: 5px; font-size: .8em; } .file-tree .trees .tree-theme-windows { /* wicket overrides */ } .file-tree .trees .tree-theme-windows, .file-tree .trees .tree-theme-windows > :first-child , .file-tree .trees .tree-theme-windows .tree-branch , .file-tree .trees .tree-theme-windows .tree-branch .tree-node , .file-tree .trees .tree-theme-windows .tree-subtree .tree-branch , .file-tree .trees .tree-theme-windows .tree-node .om-icon , .file-tree .trees .tree-theme-windows .tree-node .om-icon .file.item , .file-tree .trees .tree-theme-windows .tree-node .om-icon .file.item .name , .file-tree .trees .tree-theme-windows .tree-node .om-icon .file.item .name span { width: 100%; } .file-tree .trees .tree-theme-windows .tree-node .file.item { position: relative; display: inline-block; vertical-align: top; } .file-tree .trees .tree-theme-windows .tree-node .file.item .name, .file-tree .trees .tree-theme-windows .tree-node .file.item .name span { color: black; display: block; /* Required for text-overflow to do anything */ text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } .file-tree .trees .tree-theme-windows .tree-node .file.item .name { padding-top: 10px; padding-inline-start: 37px; } .file-tree .trees .tree-theme-windows .tree-node .file.item .errors { position: absolute; top: 0px; right: 1px; width: 32px; height: 32px; margin: 0px; padding: 0px; } .file-tree .trees .tree-theme-windows .tree-node .file.item .errors::before { color: var(--bs-warning); content: '\f071'; } .file-tree .trees .tree-theme-windows .tree-node .folder .file.item .name, .file-tree .trees .tree-theme-windows .tree-node .folder-open .file.item .name { padding-inline-start: 2px; } .file-tree .trees .tree-theme-windows .tree-node .om-icon.broken .file.item .name { width: calc(100% - 32px); } .file-tree .trees .tree-theme-windows div.tree-subtree, .file-tree .trees .tree-theme-windows .tree-node .om-icon { width: calc(100% - 20px); } .file-tree .trees .tree-theme-windows span.tree-content { display: flex !important; } .file-tree .trees .om-icon { width: auto; margin-top: 0; } .file-tree .trees .om-icon.big { position: relative; } .file-tree .trees .om-icon.big::before { position: absolute; left: 3px; } .file-tree .trees .om-icon .processing i { display: block; } .file-tree .trees .tree-node { white-space: nowrap; } .file-tree .trees .tree-node .tree-junction { text-decoration: none; } .file-tree .footer { height: var(--tree-footer-height); } .file-tree .footer .sizes { display: inline-block; } .file-tree .footer .buttons .other-buttons { display: inline-block; margin: 0 2px; } .file-tree .info .details { width: 100%; display: table; } .file-tree .info .row { display: table-row; } .file-tree .info .row .label, .file-tree .info .row .value { display: table-cell; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .file-tree .info .row .label { max-width: 50px; } .file-tree .info .row .value { max-width: 270px; } .trash-toolbar { font-weight: bold; line-height: 20px; color: transparent; height: var(--tree-header-height); overflow: hidden; } .trash-toolbar .om-confirm-dialog { color: var(--bs-danger); } .trash-toolbar .om-icon.fileitem, .trash-toolbar .om-icon.recorditem { display: none !important; } .trash-toolbar-hover { color: inherit; background-color: var(--bs-light); } .trash-toolbar-hover .trash.om-icon::before { font-weight: 400; } .om-icon.refresh::before { content: '\f2f1'; } .om-icon.trash::before { content: '\f2ed'; } .om-icon.folder-create::before { content: '\f65e'; } .om-icon.recording::before { content: '\f008'; } .om-icon.broken::before { color: var(--bs-danger); } .om-icon.upload { margin-top: 0; } .om-icon.upload::before { content: '\f574'; padding: 0 7px; } .om-icon.file.public::before { content: '\f0ac'; } .om-icon.file.image::before { content: '\f1c5'; } .om-icon.file.chart::before { content: '\f200'; } .om-icon.file.wml::before { content: '\f56f'; } .om-icon.file.doc::before { content: '\f15b'; } .om-icon.file.folder::before { content: '\f07b'; } .om-icon.file.folder-open::before { content: '\f07c'; } .om-icon.file.my::before { content: '\f015'; } .drag-container .om-icon { display: block !important; } .selected .file.item { background-color: #0099FF; } .dialog.errors { height: 500px; font-size: small; } .dialog.errors .scroll-container { overflow: auto; height: calc(100% - 50px); } .dialog.errors .alert { color: var(--bs-danger); } .dialog.errors .warn { color: var(--bs-warning); } .dialog.errors .message { display: block; unicode-bidi: embed; font-family: monospace; white-space: pre; margin: 0; } html[dir="rtl"] .trees .om-icon.big::before { left: initial; right: 3px; } /* Licensed under the Apache License, Version 2.0 (the "License") http://www.apache.org/licenses/LICENSE-2.0 */ .wb-block { position: absolute; height: 100%; width: calc(100% - var(--sidebar-width) - var(--buffer-size)); top: 0; left: calc(var(--sidebar-width) + var(--buffer-size)); } .wb-block.droppable-hover { border: 0; } .wb-block.droppable-hover .wb-area { visibility: hidden; height: 1px !important; } .wb-block.droppable-hover .wb-drop-area { display: block; height: inherit; background-position: center; } .wb-block.droppable-hover .wb-drop-area::before { font-family: 'Font Awesome 6 Free'; font-weight: 400; font-size: 20em; content: '\f358'; display: inline-block; width: 100%; text-align: center; color: var(--bs-success); } .wb-block .wb-area { height: 100%; background-color: var(--bs-body-bg); } .wb-block .wb-drop-area { display: none; } .wb-block .tabs { height: calc(100% - var(--buffer-size)); } .wb-block .tabs .wb-tabbar li a { position: relative; padding-inline-end: 25px; } .wb-block .tabs .wb-tab-content { height: calc(100% - var(--room-wb-tabs-height)); position: relative; } .wb-block .tabs .wb-tab-content .fullscreen { position: absolute; margin-inline-end: 40px; } .wb-block .tabs .wb-tab-content .tab-pane { height: 100%; } .wb-block .tabs .wb-tab-content .wb-with-zoom { width: calc(100% - 40px); height: 100%; display: inline-block; } .wb-block .tabs .wb-tab-content .scroll-container { overflow: auto; height: calc(100% - var(--wb-zoom-height)); } .wb-block .tabs .wb-tab-content .scroll-container .canvas-container { margin-top: 5px; margin-inline-start: 5px; border: 1px solid #888888; box-shadow: 5px 5px 5px #888888; } .wb-block .tabs .wb-tab-content .wb-zoom-block { height: var(--wb-zoom-height); } .wb-block .tabs .wb-tab-content .tools { width: 35px; height: 100%; display: inline-block; vertical-align: top; } .wb-block .tools { position: relative; display: inline-block; border: 0; } .wb-block .tools .btn-group, .wb-block .tools .om-icon.big { width: 35px; height: 35px; } .wb-block .tools .dropstart .dropdown-toggle::before { vertical-align: bottom; margin-inline-end: 0; } .wb-block .tools .dropdown-menu .om-icon.big { float: none; } .wb-block .tools .dropdown-menu .om-icon.big.active { border: 1px solid #6b6565; } .wb-block .tools .drawings .om-icon.big.stub::before, .wb-block .tools .om-icon.big.math::before { font-size: 1.5em; } .wb-block .tools .om-icon.big { vertical-align: top; background-size: 27px; margin: 0; background-position: var(--background-start) !important; position: relative; } .wb-block .tools .om-icon.big.stub { width: 30px; height: 30px; } .wb-block .tools .om-icon.big.active { background-color: whitesmoke; } .wb-block .tools .om-icon.big::before { padding-inline-start: 5px; } .wb-block .tools .om-icon.big.paint::before { content: '\f304'; } .wb-block .tools .om-icon.big.pointer::before { content: '\f245'; } .wb-block .tools .om-icon.big.apointer::before { content: '\f3c5'; } .wb-block .tools .om-icon.big.line::before { content: '\f715'; } .wb-block .tools .om-icon.big.uline::before { content: '\f591'; } .wb-block .tools .om-icon.big.rect::before { content: '\f5cb'; } .wb-block .tools .om-icon.big.ellipse::before { content: '\f111'; } .wb-block .tools .om-icon.big.text::before { content: 'T'; } .wb-block .tools .om-icon.big.arrow::before { content: '\f30b'; } .wb-block .tools .om-icon.big.eraser::before { content: '\f12d'; } .wb-block .tools .om-icon.big.clear-all::before { content: '\f2ed'; } .wb-block .tools .om-icon.big.clear-slide::before { content: '\f1c3'; } .wb-block .tools .om-icon.big.save::before { content: '\f0c7'; } .wb-block .tools .om-icon.big.undo::before { content: '\f3e5'; } .wb-block .tools .om-icon.big.redo::before { content: '\f064'; } .wb-block .tools .om-icon.big.math::before { content: '\f534'; } .wb-block .tools .om-icon.big.textbox { background-image: url(images/textbox.png); } .wb-block .tools.vertical .dropdown-toggle { width: 35px; height: 28px; } .wb-block .tools.vertical .dropdown-toggle .caret { left: -1px; bottom: -7px; } .wb-block .tools.horisontal .dropdown-toggle { width: 35px; height: 23px; } .wb-block .tools.horisontal .dropdown-toggle .caret { left: -1px; bottom: -12px; } .wb-block .tools .dropdown-toggle { position: relative; display: inline-block; } .wb-block .tools .dropdown-toggle .caret { position: absolute; border-top: 8px solid transparent; border-left: 8px solid blue; border-right: 8px solid transparent; } .wb-block .om-icon.big.next::before { content: '\f054'; } .wb-block .om-icon.big.prev::before { content: '\f053'; } .wb-tab-close { width: 20px; height: 20px; position: absolute; top: 0px; margin-inline-end: 2px; } .btn-outline-secondary.btn-no-border { border: none; padding: 0; } .wb-tool-settings, .wb-tool-settings .tab.props, .wb-formula { display: inline-block; width: 310px; } .wb-tool-settings, .wb-formula { position: absolute; z-index: 95; } .wb-tool-settings .ui-dialog-titlebar-close, .wb-formula .ui-dialog-titlebar-close { position: absolute; margin-inline-end: .3em; top: 5px; width: 20px; padding: 1px; height: 20px; } .wb-tool-settings .header, .wb-formula .header { padding: 5px; } .wb-tool-settings .header .ui-dialog-title, .wb-formula .header .ui-dialog-title { padding-inline-start: 10px; } .wb-tool-settings .tab.props { padding: 5px 10px; } .wb-tool-settings .tab.props .prop-row { padding-top: 5px; margin: 0; font-size: small; } .wb-tool-settings .tab.props .block { display: inline; padding-inline-start: 5px; } .wb-tool-settings .tab.props .block.lbl { width: 1em; } .wb-tool-settings .tab.props .block.but { width: 2.5em; } .wb-tool-settings .tab.props .block.but button { width: 2.5em; } .wb-tool-settings .tab.props .block.but .wb-prop-i, .wb-tool-settings .tab.props .block.but .wb-prop-b { width: 5px; } .wb-tool-settings .tab.props .block.input { width: 40px; } .wb-tool-settings .tab.props .block.input input { width: 30px; } .wb-tool-settings .tab.props .block.input input[type=number] { width: 40px; } .wb-tool-settings .tab.props .block.input input[type=color] { padding: 0; } .wb-tool-settings .tab.props .block.input input[type=color]:disabled { opacity: .3; } .wb-tool-settings .tab.props .wb-prop-i.selected { font-style: italic; } .wb-tool-settings .tab.props .wb-prop-b.selected { font-weight: bold; } .wb-formula .text-container { margin: 0 5px 5px 0; padding: 5px; height: calc(100% - 90px); } .wb-formula .status { min-height: 16px; } .wb-formula textarea { width: 100%; height: 100%; resize: none; } .wb-formula .latex-guide { padding: 0 10px; } .dropdown-menu.om-left { right: 0; left: auto !important; } .wb-tabbar { padding-inline-start: 70px !important; padding-inline-end: 35px !important; min-height: 40px; } .wb-tabbar .scroll-container { overflow: hidden; } .wb-tabbar .scroll-container .scrollable { width: max-content; } .wb-tabbar .scroll-container .scrollable, .wb-tabbar .scroll-container .scrollable li { display: flex; } .wb-tabbar .add, .wb-tabbar .prev, .wb-tabbar .next { position: absolute; top: 3px; } .wb-tabbar .add.disabled, .wb-tabbar .prev.disabled, .wb-tabbar .next.disabled { opacity: .3; } .wb-tabbar .add { margin-inline-start: 2px; } .wb-tabbar .prev { margin-inline-start: 35px; } .wb-tabbar .next { margin-inline-end: 2px; } .wb-area .wb-zoom { display: flex; padding-top: 2px; min-width: 360px; } .wb-area .wb-zoom .doc-group, .wb-area .wb-zoom .zoom-group, .wb-area .wb-zoom .settings-group { width: auto; } .wb-area .wb-zoom input { width: 50px; } .wb-area .wb-zoom .settings-group { display: none; margin-inline-start: 2px; } .wb-area .wb-zoom .doc-group { margin-inline-start: 5px; } .wb-area .wb-zoom .zoom-group { margin-inline-start: 2px; } #wb-rename-menu { display: none; } html[dir="rtl"] .room-block .sb-wb .wb-block { left: initial; right: calc(var(--sidebar-width) + var(--buffer-size)); } /* last one */ /* Licensed under the Apache License, Version 2.0 (the "License") http://www.apache.org/licenses/LICENSE-2.0 */ /* dashboard more responsive */ #contents .dashboard { display: flex; } #contents .dashboard > div:nth-child(1) { width: 50%; } #contents .dashboard > div:nth-child(2) { width: 50%; } #contents .dashboard .column { width: 100%; float: none; } /* Chat send button width */ #chatMessage { width: calc(100% - var(--chat-send-width)); } #chat .send { width: var(--chat-send-width); font-size: var(--chat-send-width); } @media screen and (max-width: 900px), (orientation: portrait) { .dashboard { flex-wrap: wrap; } .dashboard > div:nth-child(1) { flex-basis: 100%; } .dashboard > div:nth-child(2) { flex-basis: 100%; } body { font-size: 1.5vmax; } h3 { font-size: 2.5vmax; } .btn { font-size: 1.5vmax; line-height: 1.5vmax; } #header { font-size: 2.5vmax; } .navbar-toggler-icon { width: 2.5em; height: 2.5em; } .navbar .nav-link { font-size: 1.5vmax; line-height: 1.5vmax; } .dropdown-menu .dropdown-item { font-size: 1.5vmax; line-height: 1.5vmax; } } /* dashboard rooms widgets */ @media screen and (max-width: 1400px), (orientation: portrait) { .rooms-widget { flex-wrap: wrap; } .rooms-table { flex-basis: 100%; } } /* my/group/public rooms */ @media screen and (max-width: 900px), (orientation: portrait) { .rooms-table { flex-basis: 100%; height: 50%; } .tab-content { flex-wrap: wrap; } .rooms-area { flex-wrap: wrap; } } /*# sourceMappingURL=data:application/json;charset=utf-8;base64,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LFFBQVE7SUFsQlY7TUFxQkcsV0FBVztFQXJCZDtJQXlCRSx3QkFBd0I7RUF6QjFCO0lBNEJFLHlCQUF5QjtFQTVCM0I7SUErQkUsc0JBQXNCOztBQUd4QjtFQUNDLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEIsZ0JBQWdCO0VBSGpCO0lBTUUsV0FBVztFQU5iO0lBU0UsV0FDRDtFQVZEO0lBWUUsYUFBYTtJQUNiLHdCQUF3QjtFQWIxQjtJQWdCRSx3QkFBd0I7RUFoQjFCO0lBbUJFLHdCQUF3Qjs7QUFHMUI7RUFDQyxhQUFhOztBQUlkO0VBQ0MsYUFBYTtFQUNiLHNEQUFzRDs7QWhCbFh2RDtBaUJmQTtBQUNBO0FBQ0E7RUFDQyxhQUFhO0VBRGQ7SUFJRSxVQUFVO0VBSlo7SUFPRSxVQUFVO0VBUFo7SUFVRSxXQUFXO0lBQ1gsV0FBVzs7QUFJYjtBQUNBO0VBQ0MsMENBQTBDOztBQUUzQztFQUNDLDZCQUE2QjtFQUM3QixpQ0FBaUM7O0FBRWxDO0VBQ0M7SUFDQyxlQUFlO0lBRGhCO01BSUUsZ0JBQWdCO0lBSmxCO01BT0UsZ0JBQWdCO0VBR2xCO0lBQ0Msa0JBQWtCO0VBRW5CO0lBQ0Msa0JBQWtCO0VBRW5CO0lBQ0Msa0JBQWtCO0lBQ2xCLG9CQUFvQjtFQUVyQjtJQUNDLGtCQUFrQjtFQUVuQjtJQUNDLFlBQVk7SUFDWixhQUFhO0VBRWQ7SUFDQyxrQkFBa0I7SUFDbEIsb0JBQW9CO0VBRXJCO0lBQ0Msa0JBQWtCO0lBQ2xCLG9CQUFvQixJQUNwQjs7QUFHRjtBQUNBO0VBQ0M7SUFDQyxlQUFlO0VBRWhCO0lBQ0MsZ0JBQWdCLElBQ2hCOztBQUdGO0FBQ0E7RUFDQztJQUNDLGdCQUFnQjtJQUNoQixXQUNEO0VBQ0E7SUFDQyxlQUFlO0VBRWhCO0lBQ0MsZUFBZSxJQUNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vb20tZnJvbnRlbmQvLi9zcmMvY3NzL3N0eWxlLnNjc3MiLCJ3ZWJwYWNrOi8vb20tZnJvbnRlbmQvLi9zcmMvY3NzL19nZW5lcmFsLnNjc3MiLCJ3ZWJwYWNrOi8vb20tZnJvbnRlbmQvLi9zcmMvY3NzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9vbS1mcm9udGVuZC8uL3NyYy9jc3MvX2luc3RhbGwuc2NzcyIsIndlYnBhY2s6Ly9vbS1mcm9udGVuZC8uL3NyYy9jc3MvX3NpZ25pbi5zY3NzIiwid2VicGFjazovL29tLWZyb250ZW5kLy4vc3JjL2Nzcy9fYWRtaW4uc2NzcyIsIndlYnBhY2s6Ly9vbS1mcm9udGVuZC8uL3NyYy9jc3MvX2FjdGl2aXRpZXMuc2NzcyIsIndlYnBhY2s6Ly9vbS1mcm9udGVuZC8uL3NyYy9jc3MvX2NhbGVuZGFyLnNjc3MiLCJ3ZWJwYWNrOi8vb20tZnJvbnRlbmQvLi9zcmMvY3NzL19jaGF0LnNjc3MiLCJ3ZWJwYWNrOi8vb20tZnJvbnRlbmQvLi9zcmMvY3NzL19jc3NlbW90aWNvbnMuc2NzcyIsIndlYnBhY2s6Ly9vbS1mcm9udGVuZC8uL3NyYy9jc3MvX21lbnUuc2NzcyIsIndlYnBhY2s6Ly9vbS1mcm9udGVuZC8uL3NyYy9jc3MvX25ldHRlc3Quc2NzcyIsIndlYnBhY2s6Ly9vbS1mcm9udGVuZC8uL3NyYy9jc3MvX3Jvb20uc2NzcyIsIndlYnBhY2s6Ly9vbS1mcm9udGVuZC8uL3NyYy9jc3MvX2ludGVydmlldy5zY3NzIiwid2VicGFjazovL29tLWZyb250ZW5kLy4vc3JjL2Nzcy9fcG9sbHMuc2NzcyIsIndlYnBhY2s6Ly9vbS1mcm9udGVuZC8uL3NyYy9jc3MvX3RyZWUuc2NzcyIsIndlYnBhY2s6Ly9vbS1mcm9udGVuZC8uL3NyYy9jc3MvX3diLnNjc3MiLCJ3ZWJwYWNrOi8vb20tZnJvbnRlbmQvLi9zcmMvY3NzL19yZXNwb25zaXZlLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKSBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAgKi9cblxuQGltcG9ydCBcImdlbmVyYWxcIjtcbkBpbXBvcnQgXCJpbnN0YWxsXCI7XG5AaW1wb3J0IFwic2lnbmluXCI7XG5AaW1wb3J0IFwiYWRtaW5cIjtcbkBpbXBvcnQgXCJhY3Rpdml0aWVzXCI7XG5AaW1wb3J0IFwiY2FsZW5kYXJcIjtcbkBpbXBvcnQgXCJjaGF0XCI7XG5AaW1wb3J0IFwibWVudVwiO1xuQGltcG9ydCBcIm5ldHRlc3RcIjtcbkBpbXBvcnQgXCJyb29tXCI7XG5AaW1wb3J0IFwidHJlZVwiO1xuQGltcG9ydCBcIndiXCI7XG5cbi8qIGxhc3Qgb25lICovXG5AaW1wb3J0IFwicmVzcG9uc2l2ZVwiO1xuIiwiLyogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKSBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAgKi9cbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcblxuaHRtbCwgYm9keSB7XG5cdHdpZHRoOiAxMDB2dztcblx0aGVpZ2h0OiB2YXIoLS1hcHAtaGVpZ2h0KTtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcblx0b3ZlcmZsb3cteTogaGlkZGVuO1xufVxuXG4ubWFpbi1sb2FkZXIge1xuXHRoZWlnaHQ6IDEwMCU7XG59XG4ubWFpbi1jb250YWluZXIge1xuXHRoZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLWhlYWRlci1oZWlnaHQpKTtcbn1cbi5tYWluIHtcblx0aGVpZ2h0OiAxMDAlO1xufVxuI2hlYWRlciB7XG5cdGZvbnQtc2l6ZTogMjhweDtcblx0bGluZS1oZWlnaHQ6IDQwcHg7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRwYWRkaW5nLWlubGluZS1zdGFydDogODBweDtcblx0bWFyZ2luLWlubGluZS1zdGFydDogMjBweDtcblx0aGVpZ2h0OiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcblxuXHQubG9nbyB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvbG9nby5wbmcpO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0aGVpZ2h0OiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcblx0XHR3aWR0aDogODBweDtcblx0fVxufVxuI3RvcExpbmtzIHtcblx0LS1icy1ib3JkZXItd2lkdGg6IDFweDtcblx0LS1icy1ib3JkZXItc3R5bGU6IHNvbGlkO1xuXHQtLWJzLWJvcmRlci1jb2xvcjogYmxhY2s7XG5cdHNwYW4ge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDVweDtcblx0XHRwYWRkaW5nLWxlZnQ6IDVweDtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHR9XG59XG4jYnVzeS1pbmRpY2F0b3Ige1xuXHRkaXNwbGF5OiBub25lO1xuXHR6LWluZGV4OiAxMDAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdG1hcmdpbjogMnB4O1xuXHRmb250LXNpemU6IDJlbTtcblx0bGluZS1oZWlnaHQ6IDEuMmVtO1xufVxuLmNsaWNrYWJsZSB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cbi5oZWxwLnN1cHBvcnQgaDMge1xuXHRtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4ucHJvZmlsZS1wYW5lbCB7XG5cdGhlaWdodDogY2FsYygxMDAlIC0gMTBweCk7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHBhZGRpbmc6IDVweDtcbn1cbi5wYWdlZEVudGl0eUxpc3RQYW5lbCwgLmFkZExhbmd1YWdlUGFuZWwge1xuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiAycHg7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5wYWdlZEVudGl0eUxpc3RQYW5lbCB7XG5cdC5wYWdpbmF0aW9uIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblx0c2VsZWN0IHtcblx0XHRwYWRkaW5nOiAwcHggMHB4O1xuXHRcdGJvcmRlcjogc29saWQgMXB4ICNhYWNmZTQ7XG5cdFx0d2lkdGg6IDYwcHg7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHRmbG9hdDogbm9uZTtcblx0fVxuXHRpbnB1dCB7XG5cdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdHBhZGRpbmc6IDBweCAwcHg7XG5cdFx0Ym9yZGVyOiBzb2xpZCAxcHggI2FhY2ZlNDtcblx0XHR3aWR0aDogMTAwcHg7XG5cdFx0aGVpZ2h0OiAyMHB4O1xuXHRcdG1hcmdpbjogMnB4IDJweDtcblx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0ZmxvYXQ6IG5vbmU7XG5cdH1cbn1cbi5zZWFyY2hGb3JtIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG5cdGlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuXHRcdHBhZGRpbmc6IC4yZW0gLjVlbTtcblx0XHRmb250LXNpemU6IHNtYWxsZXI7XG5cdH1cblx0aW5wdXRbdHlwZT1cInRleHRcIl0ge1xuXHRcdHdpZHRoOiAxNDBweDtcblx0XHRmbG9hdDogbm9uZTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblx0aW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGJvcmRlcjogMnB4IG91dHNldCBidXR0b25mYWNlO1xuXHRcdHBhZGRpbmc6IDFweCA2cHg7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHR9XG59XG4uY2VudGVyZWQge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uZ290bywgLmdvdG8gOmxpbmssIC5nb3RvIDpob3ZlciB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0bGluZS1oZWlnaHQ6IDE0cHg7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRtaW4td2lkdGg6IDE2cHg7XG59XG4uZ290by5pY29uIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRib3JkZXI6IG5vbmU7XG5cdG1hcmdpbjogMHB4O1xuXHRwYWRkaW5nOiAwcHg7XG5cdHpvb206IDEuMjtcbn1cbi51aS1kaWFsb2cge1xuXHRib3gtc2hhZG93OiAzcHggM3B4IDRweCAjMDAwO1xufVxuLnN0YXJ0X3N0ZXAge1xuXHRtYXJnaW46IDVweCAwcHggNXB4IDBweDtcbn1cbi53aWRnZXQge1xuXHR3aWR0aDogMTAwJTtcblxuXHR0ZCB7XG5cdFx0bWluLXdpZHRoOiAxNTBweDtcblx0fVxufVxuI2NvbnRlbnRzIHtcblx0aGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1tZW51LWhlaWdodCkpO1xufVxuI2ZlZWRjb250YWluZXIge1xuXHRvdmVyZmxvdzogYXV0bztcbn1cbiNmZWVkcyAuY2FyZCAuY2FyZC1ib2R5LCAudGV4dC1wcmUge1xuXHR3aGl0ZS1zcGFjZTogcHJlO1xufVxuLmNsZWFyIHtcblx0Y2xlYXI6IGJvdGg7XG59XG4ub20taWNvbiB7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogdmFyKC0tYmFja2dyb3VuZC1zdGFydCkgMCAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kLXNpemU6IDE2cHg7XG5cdHdpZHRoOiAxOHB4O1xuXHRoZWlnaHQ6IDE4cHg7XG5cdGJvcmRlcjogbm9uZTtcblx0bWFyZ2luLWlubGluZS1zdGFydDogMnB4O1xuXHRtYXJnaW4tdG9wOiAycHg7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdCYuYmlnIHtcblx0XHR3aWR0aDogMzRweDtcblx0XHRoZWlnaHQ6IDM0cHg7XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Zm9udC1zaXplOiAyLjBlbTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjJlbTtcblx0XHR9XG5cdH1cblx0Jjo6YmVmb3JlIHtcblx0XHRmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA2IEZyZWUnO1xuXHRcdGZvbnQtd2VpZ2h0OiA5MDA7XG5cdFx0Y29sb3I6IHZhcigtLWJzLXNlY29uZGFyeSk7XG5cdFx0Zm9udC1zaXplOiAxLjJlbTtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG5cdFx0bGluZS1oZWlnaHQ6IDFlbTtcblx0fVxuXHQmLmFkZDo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnXFxmMDU1Jztcblx0fVxuXHQmLm9ubGluZTo6YmVmb3JlIHtcblx0XHRjb2xvcjogdmFyKC0tYnMtc3VjY2Vzcyk7XG5cdFx0Y29udGVudDogJ1xcZjExMSc7XG5cdH1cblx0Ji5vZmZsaW5lOjpiZWZvcmUge1xuXHRcdGNvbG9yOiB2YXIoLS1icy1kYW5nZXIpO1xuXHRcdGNvbnRlbnQ6ICdcXGYxMTEnO1xuXHR9XG59XG4ubWVzc2FnZSB7XG5cdG1hcmdpbjogNTBweDtcblx0Ym9yZGVyOiAxcHggc29saWQgYmxhY2s7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblxuXHQmLnByaXZhdGUuYm9keSB7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0LnF1b3RlIHtcblx0XHRcdC0tYnMtYm9yZGVyLXdpZHRoOiAxcHg7XG5cdFx0XHQtLWJzLWJvcmRlci1zdHlsZTogc29saWQ7XG5cdFx0XHQtLWJzLWJvcmRlci1jb2xvcjogI2NjY2NjYztcblxuXHRcdFx0bWFyZ2luLWlubGluZS1zdGFydDogMTBweDtcblx0XHRcdHBhZGRpbmctaW5saW5lLXN0YXJ0OiAxMHB4O1xuXHRcdH1cblx0fVxufVxudGFibGUubWVzc2FnZXMge1xuXHR3aWR0aDogMTAwJTtcblx0bWluLWhlaWdodDogNTAwcHg7XG5cblx0dGQuc2lkZSwgdGQubWFpbiB7XG5cdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0fVxuXHR0ZC5zaWRlLmxlZnQge1xuXHRcdG1pbi13aWR0aDogMTUwcHg7XG5cdFx0b3ZlcmZsb3cteDogaGlkZGVuO1xuXHR9XG5cdHRkLnNpZGUucmlnaHQge1xuXHRcdG1pbi13aWR0aDogMjAwcHg7XG5cdFx0b3ZlcmZsb3cteDogaGlkZGVuO1xuXG5cdFx0LmRlbC1jb250YWN0IHtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRoZWlnaHQ6IDE2cHg7XG5cdFx0XHR3aWR0aDogMTZweDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0aSB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAxcHg7XG5cdFx0XHRcdGxlZnQ6IDNweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0dGQubWFpbiB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblx0dGQuZnJvbSwgdGQuc3ViamVjdCB7XG5cdFx0b3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcblx0fVxufVxuLmVtYWlsIHtcblx0cGFkZGluZy10b3A6IDJweDtcblx0ZGlzcGxheTogYmxvY2s7XG5cblx0Ji5zZWxlY3RlZCB7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2NjY2NjYztcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWJzLWxpZ2h0KTtcblx0fVxuXHQmLmZvbGRlciB7XG5cdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHQuZGVsZXRlIHtcblx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xuXHRcdFx0dG9wOiAycHg7XG5cdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHdpZHRoOiAxOHB4O1xuXHRcdFx0aGVpZ2h0OiAxOHB4O1xuXG5cdFx0XHRpIHtcblx0XHRcdFx0dG9wOiAycHg7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0bGVmdDogNHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuI21lc3NhZ2VzVGFibGUgdHIge1xuXHQmLnNlbGVjdGVkIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1saWdodCk7XG5cdH1cblx0Ji51bnJlYWQge1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXG5cdFx0Jj50ZDpudGgtY2hpbGQoMSk6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnKidcblx0XHR9XG5cdH1cbn1cbi5maHQtdGJvZHkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbiN1aS1kYXRlcGlja2VyLWRpdiB7XG5cdHotaW5kZXg6IDEwMCAhaW1wb3J0YW50O1xufVxuLnJvb20tbGlzdCAucm9vbS1yb3cgYnV0dG9uLnJlZnJlc2gge1xuXHRwYWRkaW5nOiAwIDAuMjVyZW07XG59XG4uc2VsZWN0Mi1yZXN1bHRzLCAuc2VsZWN0Mi1zZWxlY3Rpb24ge1xuXHQudXNlciB7XG5cdFx0Ji5pbnRlcm5hbCwgJi5leHRlcm5hbCB7XG5cdFx0XHRwYWRkaW5nLWlubGluZS1zdGFydDogMThweDtcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiB2YXIoLS1iYWNrZ3JvdW5kLXN0YXJ0KSAycHg7XG5cdFx0fVxuXHRcdCYuaW50ZXJuYWwge1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy91c2VyLnBuZyk7XG5cdFx0fVxuXHRcdCYuZXh0ZXJuYWwge1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy91c2VyX2dvLnBuZyk7XG5cdFx0fVxuXHR9XG59XG4ub20tc2VsZWN0MiAuc2VsZWN0Mi5zZWxlY3QyLWNvbnRhaW5lciB7XG5cdG1heC1oZWlnaHQ6IDgwcHg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG4ucmVjb3JkaW5nLXBhbmVsIHtcblx0ZGlzcGxheTogZmxleDtcblx0aGVpZ2h0OiAxMDAlO1xuXG5cdC5maWxlLXRyZWUge1xuXHRcdGhlaWdodDogMTAwJTtcblxuXHRcdC5pbmZvIHtcblx0XHRcdGhlaWdodDogdmFyKC0taW5mby1oZWlnaHQpO1xuXHRcdH1cblx0fVxuXHQudHJlZS1wYW5lbCB7XG5cdFx0aGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1pbmZvLWhlaWdodCkpO1xuXHR9XG5cdC5maWxlLXRyZWUsIC50cmVlLXBhbmVsLCAuaW5mbyB7XG5cdFx0d2lkdGg6IDMyNXB4O1xuXHR9XG5cdC5pbmZvIC5kZXRhaWxzIC52YWx1ZSB7XG5cdFx0cGFkZGluZzogMDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdH1cblx0LnZpZGVvIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDEwcHggMXB4IHJnYmEoNzQsIDEzNywgMTUxLCAwLjUpO1xuXG5cdFx0dmlkZW8ge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG5cdCYucGFnZSB7XG5cdFx0cGFkZGluZy10b3A6IDQwcHg7XG5cblx0XHQudmlkZW8sIC5pbmZvIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdGZsb2F0OiBpbmxpbmUtc3RhcnQ7XG5cdFx0XHRwYWRkaW5nLWlubGluZS1zdGFydDogMjBweDtcblx0XHR9XG5cdFx0LnZpZGVvIHtcblx0XHRcdG1pbi13aWR0aDogNDAwcHg7XG5cdFx0fVxuXHR9XG59XG4ucm9vbXMtaGVhZGVyIHtcblx0bWluLWhlaWdodDogdmFyKC0tcm9vbXMtaGVhZGVyLWhlaWdodCk7XG5cdG1heC1oZWlnaHQ6IHZhcigtLXJvb21zLWhlYWRlci1oZWlnaHQpO1xuXHRoZWlnaHQ6IHZhcigtLXJvb21zLWhlYWRlci1oZWlnaHQpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiNvcmdUYWJzLCAucm9vbXMtYXJlYSB7XG5cdGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tcm9vbXMtaGVhZGVyLWhlaWdodCkgLSB2YXIoLS1idWZmZXItc2l6ZSkpO1xuXHRwYWRkaW5nLXRvcDogMDtcblx0cGFkZGluZy1ib3R0b206IDA7XG59XG4ucm9vbXMtYXJlYSB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG4jb3JnVGFicyAudGFiLWNvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRwYWRkaW5nLWJvdHRvbTogMDtcblx0aGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS10YWJzLWhlaWdodCkpO1xuXHRwYWRkaW5nLXRvcDogMDtcbn1cbi5yb29tcy10YWJsZSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWluLXdpZHRoOiA0MTVweDtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXG5cdC5yb29tLXJvdyAuY29udGFpbmVyIHtcblx0XHRtYXJnaW46IDA7XG5cdH1cbn1cbi5yb29tcyB7XG5cdCYudGl0bGUge1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdH1cblx0Ji5kZXNjIHtcblx0XHRtYXJnaW46IDEwcHg7XG5cdFx0bWF4LXdpZHRoOiA5MDBweDtcblx0fVxufVxuLnVzZXIuaW5mby5wYW5lbCB7XG5cdGxlZ2VuZCB7XG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHR9XG5cdGZpZWxkc2V0IHRhYmxlLCBmaWVsZHNldCB0YWJsZSB0ZXh0YXJlYSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cbi5tYWluLWNvbnRhaW5lciAjd2lja2V0RGVidWdCYXIge1xuXHRyaWdodDogaW5pdGlhbDtcblx0dG9wOiBpbml0aWFsO1xuXHR6LWluZGV4OiAyO1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdG1hcmdpbi1pbmxpbmUtZW5kOiAyNXB4O1xufVxuLnByb2ZpbGUge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuXHRpbWcge1xuXHRcdG1heC13aWR0aDogMTI1cHg7XG5cdFx0bWF4LWhlaWdodDogMTI1cHg7XG5cdH1cblx0LnJlbW92ZSB7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2NjY2NjYztcblx0XHRwYWRkaW5nOiAwcHggN3B4O1xuXHR9XG59XG4uZGF0ZS50aW1lLnBpY2tlciB7XG5cdGZvbnQtc2l6ZTogMTJweDtcbn1cbi5yb29tLmxpc3QuY29udGFpbmVyIHtcblx0aGVpZ2h0OiAxNTBweDtcblx0bWF4LWhlaWdodDogMTUwcHg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdGJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2M7XG59XG4ubm8tY2xvc2UgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG4ubXNnLXJvdyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jb2wtd3JhcHBlciB7XG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cbiNzZWFyY2hVc2Vyc1RhYmxlLmxpc3QtdGFibGUge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdGhlaWdodDogY2FsYygxMDAlIC0gNTBweCk7XG59XG4ubGlzdC10YWJsZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZmxvdzogY29sdW1uO1xuXHR3aWR0aDogMTAwJTtcblx0bWluLXdpZHRoOiA1MThweDtcblx0aGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1uYXYtaGVpZ2h0KSAtIHZhcigtLWxibC1uYXYtaGVpZ2h0KSAtIHZhcigtLWJ1ZmZlci1zaXplKSk7XG5cblx0dGhlYWQge1xuXHRcdC8qIGhlYWQgdGFrZXMgdGhlIGhlaWdodCBpdCByZXF1aXJlcyxcblx0XHRhbmQgaXQncyBub3Qgc2NhbGVkIHdoZW4gdGFibGUgaXMgcmVzaXplZCAqL1xuXHRcdGZsZXg6IDAgMCBhdXRvO1xuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAxLjBlbSk7XG5cdH1cblx0dGJvZHkge1xuXHRcdC8qIGJvZHkgdGFrZXMgYWxsIHRoZSByZW1haW5pbmcgYXZhaWxhYmxlIHNwYWNlICovXG5cdFx0ZmxleDogMSAxIGF1dG87XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0b3ZlcmZsb3cteTogc2Nyb2xsO1xuXHRcdG92ZXJmbG93LXg6IGhpZGRlbjtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuXHRcdHRyIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0fVxuXHR0aGVhZCwgdGJvZHkgdHIge1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXHRcdHRhYmxlLWxheW91dDogZml4ZWQ7XG5cdH1cblx0dGgge1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0dGV4dC1hbGlnbjogdmFyKC0tdGV4dC1hbGlnbi1zdGFydCk7XG5cdH1cblx0Ji5zbWFsbCB7XG5cdFx0aGVpZ2h0OiAxNTBweDtcblx0fVxuXHQmLmZ1bGwtd2lkdGgge1xuXHRcdG1heC13aWR0aDogaW5pdGlhbDtcblx0fVxuXHR0ci5kZWxldGVkIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KC00NWRlZywgdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50IDVweCwgLyogZ2FwICovICNjY2NjY2MgNnB4LCAvKiBvdmVyYWxsIHdpZHRoIGluY2x1aW5nIGdhcCAqLyAjY2NjY2NjIDZweCk7XG5cdH1cbn1cbi5ib3R0b20tYnVtcGVyIHtcblx0aGVpZ2h0OiAzMHB4O1xufVxuLmxpc3QtdGFibGUgdHI6bnRoLWNoaWxkKG9kZCksIC5zdHJpcGVkLXRhYmxlIC5zdHJpcGVkLXJvdzpudGgtY2hpbGQob2RkKSB7XG5cdG9wYWNpdHk6IC44O1xufVxuLnRhYmxlV3JhcHBlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG5cdGJvcmRlcjogc29saWQgMXB4ICNhYWNmZTQ7XG5cdHdpZHRoOiA1MzZweDtcblx0aGVpZ2h0OiAxMDBweDtcbn1cbi5kYXNoYm9hcmQge1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG4uZHJhZ2JveCAuZHJhZ2JveC1oZWFkZXIgLmRyYWdib3gtdG9nZ2xlLCAuZHJhZ2JveCAuZHJhZ2JveC1oZWFkZXIgLmRyYWdib3gtYWN0aW9ucyAuaWNvbiwgLnNvcnQtaWNvbiBhIHtcblx0Zm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDYgRnJlZVwiO1xuXHRmb250LXdlaWdodDogOTAwO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0dGV4dC1yZW5kZXJpbmc6IGF1dG87XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRmb250LXZhcmlhbnQ6IG5vcm1hbDtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0dmVydGljYWwtYWxpZ246IHN1cGVyO1xuXHRtYXJnaW46IDA7XG59XG4uZHJhZ2JveCAuZHJhZ2JveC1oZWFkZXIge1xuXHQuZHJhZ2JveC1hY3Rpb25zIC5pY29uIHtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG5cdFx0Ji5yZWZyZXNoOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcXGYyZjFcIjtcblx0XHR9XG5cdFx0Ji5kZWxldGU6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlxcZjAwZFwiO1xuXHRcdFx0Y29sb3I6IHZhcigtLWJzLWRhbmdlcik7XG5cdFx0fVxuXHR9XG5cdC5kcmFnYm94LXRvZ2dsZSB7XG5cdFx0Ji5leHBhbmRlZDo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiXFxmMGQ3XCI7XG5cdFx0fVxuXHRcdCYuY29sbGFwc2VkOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcXGYwZDhcIjtcblx0XHR9XG5cdH1cbn1cbi5kcmFnYm94LWNvbnRlbnQge1xuXHQudGFibGVXcmFwcGVyIHtcblx0XHQvKiByb29tIHVzZXJzIG9uIGRhc2hib2FyZCAqL1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdGhlaWdodDogMTAwcHg7XG5cblx0XHQubGlzdC10YWJsZSB7XG5cdFx0XHRtaW4td2lkdGg6IGF1dG87XG5cdFx0fVxuXHR9XG5cdC5yb29tcy13aWRnZXQge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdH1cbn1cbi5zb3J0LWljb24ge1xuXHRhIHtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0fVxuXHQmLm5vbmUgYTo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnXFxmMGRjJztcblx0fVxuXHQmLmRlc2MgYTo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnXFxmMGRkJztcblx0fVxuXHQmLmFzYyBhOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICdcXGYwZGUnO1xuXHR9XG59XG4udGFibGVXcmFwcGVyIC5saXN0LXRhYmxlIHtcblx0aGVpZ2h0OiAxMDAlO1xufVxuLmxldmVsLW1ldGVyIHtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xufVxuLyoqKiogVE9ETyBuZWVkIHRvIGJlIHVuaWZpZWQgd2l0aCBvdGhlciBpY29ucyB1c2VkICoqKiovXG4uaGFzaC1wYW5lbC1tYWluIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cbi5vbS10Ymwge1xuXHRkaXNwbGF5OiB0YWJsZTtcblx0d2lkdGg6IDEwMCU7XG5cblx0Lm9tLXRibC1yb3cge1xuXHRcdGRpc3BsYXk6IHRhYmxlLXJvdztcblxuXHRcdC5vbS10YmwtY2VsbCB7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHRcdH1cblx0fVxufVxuLmFjY2Vzcy1kZW5pZWQub3V0ZXIge1xuXHRtYXJnaW46IDRlbTtcblxuXHQuaW5uZXIge1xuXHRcdHBhZGRpbmc6IDJlbTtcblx0fVxufVxuLmNhcHRjaGEtdGV4dCB7XG5cdG1hcmdpbi1ib3R0b206IDVweDtcbn1cbi5jYXB0Y2hhLWltZyB7XG5cdHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG4ubWFpbi5wcml2YWN5IHtcblx0bWF4LXdpZHRoOiA4MDBweDtcblx0cGFkZGluZzogMjBweDtcblx0Ym9yZGVyOiAxcHggc29saWQgI2NjY2NjYztcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcblxuXHRoMiB7XG5cdFx0Zm9udC1zaXplOiAzMHB4O1xuXHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0bWFyZ2luOiAxMHB4IDA7XG5cdFx0Y29sb3I6ICMzMzM7XG5cdH1cblx0aDMge1xuXHRcdGNvbG9yOiAjMzI1ZDcyO1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdG1hcmdpbjogMS41ZW0gMCAxZW07XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG5cdH1cblx0aDQge1xuXHRcdGNvbG9yOiAjMzMzO1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0Zm9udC1zaXplOiAxLjJlbTtcblx0XHRtYXJnaW46IDFlbSAwO1xuXHR9XG5cdGg1IHtcblx0XHRjb2xvcjogIzMyNUQ3Mjtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdGZvbnQtc2l6ZTogMWVtO1xuXHRcdG1hcmdpbjogMWVtIDA7XG5cdH1cblx0cCB7XG5cdFx0bWFyZ2luOiAxZW0gMDtcblx0fVxufVxuLnByaXZhdGUtbWVzc2FnZSAudWktYXV0b2NvbXBsZXRlIHtcblx0ei1pbmRleDogOTk5ICFpbXBvcnRhbnQ7XG59XG4uaW1nLXVwbG9hZCAuYnRuLmJ0bi1maWxlIHtcblx0d2lkdGg6IDEyMHB4O1xuXHRwYWRkaW5nOiAwO1xufVxuLnByb2ZpbGUtZWRpdC1mb3JtIHtcblx0aGVpZ2h0OiBjYWxjKDEwMCUgLSA2NXB4KTtcbn1cbiNhbGVydC1ob2xkZXIge1xuXHR6LWluZGV4OiBjYWxjKHZhcigtLWNoYXQtemluZGV4KSArIDIpO1xufVxuLnBvcG92ZXIuY29uZmlybWF0aW9uLnNob3cge1xuXHR6LWluZGV4OiAzMDAwO1xufVxuLm92ZXJmbG93LWJyZWFrLXdvcmQge1xuXHRvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xufVxuIiwiLyogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKSBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAgKi9cbjpyb290IHtcblx0LS1hcHAtaGVpZ2h0OiAxMDAlO1xufVxuYm9keSB7XG5cdC0taGVhZGVyLWhlaWdodDogNTBweDtcblx0LS1tZW51LWhlaWdodDogMzZweDtcblx0LS1sZXZlbC1jb2xvcjogI0FERkYyRjtcblx0LS1yb29tcy1oZWFkZXItaGVpZ2h0OiA3MHB4O1xuXHQtLXNpZGViYXItd2lkdGg6IDMxNXB4O1xuXHQtLXRhYnMtaGVpZ2h0OiA0NXB4O1xuXHQtLWJ1ZmZlci1zaXplOiA0cHg7XG5cdC0tbWVudS16aW5kZXg6IDEwMDAwMDAwO1xuXHQtLWNoYXQtd2lkdGg6IDYwMHB4O1xuXHQtLWNoYXQtaGVpZ2h0OiAyMHB4O1xuXHQtLWNoYXQtdGFicy1oZWlnaHQ6IDI2cHg7XG5cdC0tY2hhdC10b29scy1oZWlnaHQ6IDQwcHg7XG5cdC0tY2hhdC1tc2ctaGVpZ2h0OiA4MHB4O1xuXHQtLWNoYXQtc2VuZC13aWR0aDogMzJweDtcblx0LS1jaGF0LXppbmRleDogMjAwMDtcblxuXHQtLXRleHQtYWxpZ24tc3RhcnQ6IGxlZnQ7XG5cdC0tdGV4dC1hbGlnbi1lbmQ6IHJpZ2h0O1xuXHQtLWJhY2tncm91bmQtc3RhcnQ6IGxlZnQ7XG5cdC0tYmFja2dyb3VuZC1lbmQ6IHJpZ2h0O1xufVxuaHRtbFtkaXI9XCJydGxcIl0gYm9keSB7XG5cdC0tdGV4dC1hbGlnbi1zdGFydDogcmlnaHQ7XG5cdC0tdGV4dC1hbGlnbi1lbmQ6IGxlZnQ7XG5cdC0tYmFja2dyb3VuZC1zdGFydDogcmlnaHQ7XG5cdC0tYmFja2dyb3VuZC1lbmQ6IGxlZnQ7XG59XG5ib2R5Lm5vLWhlYWRlciB7XG5cdC0taGVhZGVyLWhlaWdodDogMHB4O1xufVxuYm9keS5uby1tZW51IHtcblx0LS1tZW51LWhlaWdodDogMHB4O1xufVxuLmFkbWluUGFuZWwge1xuXHQtLWxibC1uYXYtaGVpZ2h0OiAwcHg7XG5cdC0tbmF2LWhlaWdodDogMzBweDtcblx0LS1saXN0LXdpZHRoOiA1MThweDtcbn1cbi5hZG1pblBhbmVsQ29sdW1uVGFibGUubGFiZWwge1xuXHQtLWxibC1uYXYtaGVpZ2h0OiA0MHB4O1xufVxuLmFkbWluUGFuZWxDb2x1bW5Gb3JtIHtcblx0LS1hY3Rpb25zLWhlaWdodDogMHB4O1xufVxuLmFkbWluUGFuZWxDb2x1bW5Gb3JtIC5hZG1pbkZvcm0ge1xuXHQtLWFjdGlvbnMtaGVpZ2h0OiA0MHB4O1xufVxuLnJlY29yZGluZy1wYW5lbCB7XG5cdC0taW5mby1oZWlnaHQ6IDkwcHg7XG59XG4uZmlsZS10cmVlIHtcblx0LS10cmVlLWhlYWRlci1oZWlnaHQ6IDM2cHg7XG5cdC0tdHJlZS1mb290ZXItaGVpZ2h0OiA2MHB4O1xufVxuLm1haW4ucm9vbSB7XG5cdC0taGVhZGVyLWhlaWdodDogMHB4O1xuXHQtLXJvb20tbWVudS1oZWlnaHQ6IDQwcHg7XG5cdC0tcm9vbS13Yi10YWJzLWhlaWdodDogNDVweDtcblx0LS1yb29tLXNpZGViYXItaGVhZGVyLWhlaWdodDogMzdweDtcblx0LS1jaGF0LXdpZHRoOiAyMHB4O1xuXHQtLWNoYXQtaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1yb29tLW1lbnUtaGVpZ2h0KSk7XG5cdC0tYWN0aXZpdGllcy1oZWlnaHQ6IDIwcHg7XG5cdC0tdmRpYWxvZy10aXRsZWJhci1oZWlnaHQ6IDI3cHg7XG5cdC0tdmRpYWxvZy1mb290ZXItaGVpZ2h0OiAwcHg7XG5cdC0td2Item9vbS1oZWlnaHQ6IDMzcHg7XG5cdC0tbWVudS1oZWlnaHQ6IDBweDtcbn1cbi5tYWluLnJvb20uSU5URVJWSUVXIHtcblx0LS1yZWMtYnRuLWhlaWdodDogNDBweDtcbn1cbi5tYWluLnJvb20ubm8tbWVudSB7XG5cdC0tcm9vbS1tZW51LWhlaWdodDogMHB4O1xufVxuLm1haW4ucm9vbS5uby1hY3Rpdml0aWVzIHtcblx0LS1hY3Rpdml0aWVzLWhlaWdodDogMHB4O1xufVxuLm1haW4ucm9vbS5uby1jaGF0IHtcblx0LS1jaGF0LXdpZHRoOiAwcHg7XG59XG4ubWFpbi5yb29tLm1pYy1zdGF0dXMge1xuXHQtLXZkaWFsb2ctZm9vdGVyLWhlaWdodDogMjJweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyODBweCkge1xuXHQubWFpbi5yb29tIHtcblx0XHQtLXNpZGViYXItd2lkdGg6IDE1NXB4O1xuXHR9XG59XG4iLCIvKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCAqL1xuLmFic3RyYWN0V2l6YXJkIHtcblx0LmFkbWluRm9ybSB7XG5cdFx0ZGl2LmZvcm1lbGVtZW50IHtcblx0XHRcdG1heC13aWR0aDogNjAwcHg7XG5cdFx0fVxuXG5cdFx0bGFiZWwge1xuXHRcdFx0d2lkdGg6IDI0MHB4O1xuXHRcdH1cblx0fVxuXHR1bC5wYXJhbUxpc3Qge1xuXHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuXHRcdGxpIHtcblx0XHRcdHBhZGRpbmctdG9wOiA1cHg7XG5cdFx0fVxuXHRcdGxhYmVsIHtcblx0XHRcdHdpZHRoOiAzNTBweDtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR9XG5cdH1cblx0JiBpbnB1dCwgJiBzZWxlY3Qge1xuXHRcdHdpZHRoOiAyODBweDtcblx0fVxuXHQmIGlucHV0W3R5cGU9Y2hlY2tib3hdLCAmIGlucHV0W3R5cGU9cmFkaW9dIHtcblx0XHR3aWR0aDogYXV0bztcblx0fVxufVxuXG4uaW5zdGFsbGVyLW5vdGUge1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRwYWRkaW5nOiAwLjdlbTtcbn1cbi5pbnN0YWxsZXItaW1wb3J0YW50IHtcblx0Zm9udC1zaXplOiAxLjJlbTtcbn1cbi5pbnN0YWxsZXItbGVzcy1pbXBvcnRhbnQge1xuXHRmb250LXNpemU6IDEuMWVtO1xufVxuLmluc3RhbGxlciB7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0taGVhZGVyLWhlaWdodCkpO1xufVxuIiwiLyogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKSBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAgKi9cbi5zaWduaW4ge1xuXHQub2F1dGgtc2VjdGlvbiB7XG5cdFx0cGFkZGluZy1ib3R0b206IDIwcHg7XG5cblx0XHQucHJvdmlkZXIge1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogdmFyKC0tYmFja2dyb3VuZC1zdGFydCkgMDtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogMjRweDtcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRoZWlnaHQ6IDI0cHg7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRwYWRkaW5nLWlubGluZS1zdGFydDogMjBweDtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBib3R0b207XG5cdFx0fVxuXHR9XG5cdC5vci1zZXBlcmF0b3Ige1xuXHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjY2NjO1xuXG5cdFx0aSB7XG5cdFx0XHRwYWRkaW5nOiAwIDEwcHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0dG9wOiAtMTFweDtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0fVxuXHR9XG59XG4uc2lnbmluLWZvcmdldCAuZm9ybS1jaGVjay1sYWJlbCB7XG5cdHBhZGRpbmctaW5saW5lLWVuZDogMTBweDtcbn1cbiIsIi8qIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wICovXG4uYWRtaW5QYW5lbCB7XG5cdG1pbi13aWR0aDogMTA3MHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRoZWlnaHQ6IDEwMCU7XG59XG4uYWRtaW5OYXYge1xuXHRoZWlnaHQ6IHZhcigtLW5hdi1oZWlnaHQpO1xuXG5cdC5nb3RvIHtcblx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHRtYXgtd2lkdGg6IDI1cHg7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cbn1cbi5hZG1pblBhbmVsQ29sdW1uVGFibGUge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdGhlaWdodDogMTAwJTtcblx0bWluLXdpZHRoOiB2YXIoLS1saXN0LXdpZHRoKTtcblxuXHQmLmxhYmVsIC5sYmxOYXYge1xuXHRcdGhlaWdodDogdmFyKC0tbGJsLW5hdi1oZWlnaHQpO1xuXHR9XG59XG4uYWRtaW5QYW5lbENvbHVtbkZvcm0ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tYnVmZmVyLXNpemUpKTtcblx0bWluLXdpZHRoOiA0NTBweDtcblxuXHQuYWRtaW5Gb3JtIHtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cblx0XHQuYWN0aW9ucyB7XG5cdFx0XHRoZWlnaHQ6IHZhcigtLWFjdGlvbnMtaGVpZ2h0KTtcblx0XHRcdHBhZGRpbmctdG9wOiA1cHg7XG5cdFx0fVxuXHR9XG5cdGRpdi5zY3JvbGxjb250ZW50IHtcblx0XHRoZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLWFjdGlvbnMtaGVpZ2h0KSk7XG5cdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHRvdmVyZmxvdy15OiBhdXRvO1xuXHR9XG59XG4uYWRtaW5Gb3JtIGxlZ2VuZCwgLmluc3RhbGxlciBsZWdlbmQge1xuXHRwYWRkaW5nOiAwLjVlbSAxZW07XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbi5hZG1pbkZvcm0gLmdyb3VwLmxvZ28gLnByb2ZpbGUgaW1nIHtcblx0aGVpZ2h0OiAxNnB4O1xuXHR3aWR0aDogYXV0bztcbn1cbi5hZG1pbkJhY2t1cEZvcm0gZGl2LmZvcm1lbGVtZW50IHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGNsZWFyOiBib3RoO1xuXHRtYXgtd2lkdGg6IDEyNDBweDtcbn1cbi5hZG1pbkZvcm1zRmVlZGJhY2tQYW5lbCB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0bWFyZ2luLWlubGluZS1lbmQ6IDUwcHg7XG5cdHdpZHRoOiA0ODBweDtcblx0Ym90dG9tOiAxNnB4O1xuXHR6LWluZGV4Ojk5OTtcbn1cbi5vbm9mZnN3aXRjaCB7XG5cdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXG5cdC5vbm9mZi1jaGVja2JveCB7XG5cdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG59XG4ub25vZmYtbGFiZWwge1xuXHRtYXJnaW46IDA7XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA2IEZyZWUnO1xuXHRcdGZvbnQtd2VpZ2h0OiA5MDA7XG5cdFx0Zm9udC1zaXplOiAyLjJlbTtcblx0fVxufVxuLm9ub2ZmLWNoZWNrYm94ICsgLm9ub2ZmLWxhYmVsOjpiZWZvcmUge1xuXHRjb250ZW50OiAnXFxmMjA0Jztcblx0Y29sb3I6IHZhcigtLWJzLWRhbmdlcik7XG59XG4ub25vZmYtY2hlY2tib3g6Y2hlY2tlZCArIC5vbm9mZi1sYWJlbDo6YmVmb3JlIHtcblx0Y29udGVudDogJ1xcZjIwNSc7XG5cdGNvbG9yOiB2YXIoLS1icy1zdWNjZXNzKTtcbn1cbi5hZGRMYW5ndWFnZVBhbmVsIHNlbGVjdCB7XG5cdHBhZGRpbmc6IDBweCAwcHg7XG5cdGJvcmRlcjogc29saWQgMXB4ICNhYWNmZTQ7XG5cdHdpZHRoOiAxNDBweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRtYXJnaW4taW5saW5lLXN0YXJ0OiAycHg7XG59XG4iLCIvKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCAqL1xuI2FjdGl2aXRpZXMge1xuXHRoZWlnaHQ6IHZhcigtLWFjdGl2aXRpZXMtaGVpZ2h0KTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHQudWktcmVzaXphYmxlLWhhbmRsZSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblx0LmNvbnRyb2wuYmxvY2sge1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cblx0XHQubGFiZWwge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdH1cblx0fVxuXHQuY3RybCB7XG5cdFx0cGFkZGluZy1sZWZ0OiAyMHB4O1xuXHRcdHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cdH1cblx0LmFyZWEge1xuXHRcdGhlaWdodDogY2FsYygxMDAlIC0gNDZweCk7XG5cdFx0b3ZlcmZsb3cteTogYXV0bztcblx0fVxufVxuLmFjdGl2aXR5Lml0ZW0ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmc6IDVweDtcblx0bWFyZ2luLWJvdHRvbTogM3B4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYnMtc2Vjb25kYXJ5KTtcblxuXHRidXR0b24ge1xuXHRcdHBhZGRpbmc6IDAgNXB4O1xuXHR9XG59XG4iLCIvKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCAqL1xuI2NvbnRlbnRzICNjYWxlbmRhciAuZmMtZ290b0J0bi1idXR0b246OmJlZm9yZSB7XG5cdGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDYgRnJlZSc7XG5cdGZvbnQtd2VpZ2h0OiA5MDA7XG5cdGNvbnRlbnQ6IFwiXFxmMTMzXCI7XG5cdGZvbnQtc2l6ZTogMWVtO1xufVxuLmNhbGVuZGFybGlzdCB7XG5cdHBhZGRpbmc6IDA7XG5cblx0bGkge1xuXHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0XHRtYXJnaW46IDAuM2VtO1xuXG5cdFx0aW5wdXQge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdH1cblx0fVxufVxuI2NhbGVuZGFybGlzdGNvbnRhaW5lciB7XG5cdHdpZHRoOiAyMCU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cbiN3cmFwcGVyLXBhbmVsLWZyYW1lIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogODAlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG4jd3JhcHBlci1wYW5lbC1mcmFtZSAubWFpbi1mb3JtLCAjY2FsZW5kYXIge1xuXHRoZWlnaHQ6IDEwMCU7XG59XG4vKiBib290c3RyYXAgb3ZlcnJpZGUgKi9cbi50YWJsZS1ib3JkZXJlZCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7XG5cblx0dGQsIHRoIHtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjZGVlMmU2O1xuXHR9XG59XG4iLCIvKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCAqL1xuI2NoYXRQYW5lbCB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0ei1pbmRleDogdmFyKC0tY2hhdC16aW5kZXgpO1xuXHRib3R0b206IDBweDtcblx0d2lkdGg6IHZhcigtLWNoYXQtd2lkdGgpO1xuXHRoZWlnaHQ6IHZhcigtLWNoYXQtaGVpZ2h0KTtcblxuXHQjY2hhdFBvcHVwIHtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cblx0XHQuY29udHJvbC5ibG9ja3tcblx0XHRcdC5sYWJlbCB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0d2lkdGg6IDcwcHg7XG5cdFx0XHRcdHBhZGRpbmctaW5saW5lLXN0YXJ0OiA1cHg7XG5cdFx0XHR9XG5cdFx0XHRpOjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiBcIlxcZjEwN1wiO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYuY2xvc2VkICNjaGF0UG9wdXAgLmNvbnRyb2wuYmxvY2sgaTo6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIlxcZjEwNlwiO1xuXHR9XG59XG4jY2hhdCB7XG5cdGhlaWdodDogY2FsYygxMDAlIC0gMjBweCk7XG5cblx0LmNoYXQtdG9vbGJhci5idG4tdG9vbGJhciAuZHJvcGRvd24tbWVudSB7XG5cdFx0bWluLXdpZHRoOiB1bnNldDtcblxuXHRcdCYuYnRucy1vbmx5IGxpIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR9XG5cdH1cblxuXHQjY2hhdFRhYnMge1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0aGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1jaGF0LXRvb2xzLWhlaWdodCkgLSB2YXIoLS1jaGF0LW1zZy1oZWlnaHQpIC0gdmFyKC0tYnVmZmVyLXNpemUpKTtcblxuXHRcdC5uYXYubmF2LXRhYnMgLm5hdi1pdGVtIHtcblx0XHRcdG1heC1oZWlnaHQ6IHZhcigtLWNoYXQtdGFicy1oZWlnaHQpO1xuXHRcdFx0aGVpZ2h0OiB2YXIoLS1jaGF0LXRhYnMtaGVpZ2h0KTtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRcdC5uYXYtbGluayB7XG5cdFx0XHRcdHBhZGRpbmc6IDFweCAwLjlyZW07XG5cblx0XHRcdFx0LmNsb3NlLWNoYXQge1xuXHRcdFx0XHRcdHBhZGRpbmc6IDJweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDouNWVtXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LnRhYi1jb250ZW50IHtcblx0XHRcdGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tY2hhdC10YWJzLWhlaWdodCkpO1xuXG5cdFx0XHQudGFiLXBhbmUubWVzc2FnZUFyZWEge1xuXHRcdFx0XHRvdmVyZmxvdy15OiBhdXRvO1xuXHRcdFx0XHRwYWRkaW5nOiAwIDVweDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5tZXNzYWdlQXJlYSB7XG5cdFx0Lm1zZy1yb3cubmVlZC1tb2RlcmF0aW9uIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXdhcm5pbmcpO1xuXHRcdH1cblx0XHQudGltZSB7XG5cdFx0XHRtYXJnaW4taW5saW5lLWVuZDogNXB4O1xuXHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdFx0Zm9udC1zaXplOiBzbWFsbGVyO1xuXHRcdH1cblx0XHQudXNlci1yb3cge1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiAzOHB4LCAzOHB4O1xuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdHBhZGRpbmctaW5saW5lLXN0YXJ0OiA0MHB4O1xuXHRcdFx0bWluLWhlaWdodDogNDBweDtcblx0XHR9XG5cdFx0Lmljb25zIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0bWFyZ2luLWlubGluZS1zdGFydDogNTBweDtcblxuXHRcdFx0ZGl2IHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG5cdFx0XHRcdG1hcmdpbi1pbmxpbmUtZW5kOiAycHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5mcm9tIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDVweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdH1cblx0XHQuZGF0ZS1yb3cge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdFx0cGFkZGluZzogNXB4IDA7XG5cdFx0fVxuXHR9XG5cdC5jaGF0LXRvb2wtaWNvbiwgLmNoYXQuYnRuIHtcblx0XHRmb250LXNpemU6IDEuMWVtO1xuXHRcdG1heC1oZWlnaHQ6IHZhcigtLWNoYXQtdG9vbHMtaGVpZ2h0KTtcblx0fVxuXHQuY2hhdC10b29sLWljb24ge1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogMTZweDtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0XHQmLmxpc3Qge1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy9saXN0LnBuZyk7XG5cdFx0fVxuXHRcdCYuc2VuZC1jdHJsIHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMva2V5X2N0cmwucG5nKTtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IDBweCAwcHg7XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDI1cHg7XG5cdFx0fVxuXHRcdCYuc291bmQgaTo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICdcXGYwMjgnO1xuXHRcdH1cblx0XHQmLnNvdW5kLW11dGUgaTo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICdcXGY2YTknO1xuXHRcdH1cblx0fVxuXHQuY2hhdC1idG4ge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVxuXHQuc2VuZCB7XG5cdFx0d2lkdGg6IDE2cHg7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHR9XG5cdC50b29sLWNvbnRhaW5lciB7XG5cdFx0bWluLWhlaWdodDogdmFyKC0tY2hhdC10b29scy1oZWlnaHQpO1xuXHR9XG59XG4jY2hhdE1lc3NhZ2Uge1xuXHR3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG5cdGhlaWdodDogdmFyKC0tY2hhdC1tc2ctaGVpZ2h0KTtcblx0bWF4LWhlaWdodDogdmFyKC0tY2hhdC1tc2ctaGVpZ2h0KTtcblxuXHQud3lzaXd5Zy1lZGl0b3Ige1xuXHRcdG1pbi1oZWlnaHQ6IDcwcHg7XG5cdFx0bWF4LWhlaWdodDogNzBweDtcblx0fVxufVxuLmVtdCB7XG5cdGZvbnQtc2l6ZTogMTBwdDtcbn1cbi5jaGF0LW1zZy1jb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uY2hhdC10b29sYmFyIC5mb250LWh1Z2UsIC53eXNpd3lnLXRvb2xiYXIgLmZvbnQtaHVnZSB7XG5cdGZvbnQtc2l6ZTogeC1sYXJnZTtcbn1cbi5jaGF0LXRvb2xiYXIgLmZvbnQtc21hbGwsIC53eXNpd3lnLXRvb2xiYXIgLmZvbnQtc21hbGwge1xuXHRmb250LXNpemU6IHNtYWxsO1xufVxuLmNoYXQtdG9vbGJhciAuZm9udC10aW55LCAud3lzaXd5Zy10b29sYmFyIC5mb250LXRpbnkge1xuXHRmb250LXNpemU6IHNtYWxsO1xufVxuLmNoYXQtdG9vbGJhciAuY2hhdC1idG4uYm9sZCwgLnd5c2l3eWctdG9vbGJhciAudG9vbC1idG4uYm9sZCB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmNoYXQtdG9vbGJhciAuY2hhdC1idG4uaXRhbGljLCAud3lzaXd5Zy10b29sYmFyIC50b29sLWJ0bi5pdGFsaWMge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG4uY2hhdC10b29sYmFyIC5jaGF0LWJ0bi5zdHJpa2UsIC53eXNpd3lnLXRvb2xiYXIgLnRvb2wtYnRuLnN0cmlrZSB7XG5cdHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuLmNoYXQtdG9vbGJhciAuY2hhdC1idG4udW5kZXIsIC53eXNpd3lnLXRvb2xiYXIgLnRvb2wtYnRuLnVuZGVyIHtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uY2hhdC1kZWxldGUuY29uZmlybWF0aW9uIHtcblx0ei1pbmRleDogY2FsYyh2YXIoLS1jaGF0LXppbmRleCkgKyAxKTtcbn1cblxuLyogcm9vbSBtb2RlICovXG4ubWFpbi5yb29tICNjaGF0UGFuZWwge1xuXHRtYXJnaW46IDAgIWltcG9ydGFudDtcblx0cmlnaHQ6IDBweDtcblx0dG9wOiB2YXIoLS1yb29tLW1lbnUtaGVpZ2h0KTtcblxuXHQjY2hhdCBmb3JtIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Ym90dG9tOiAwcHg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblx0LmNvbnRyb2wuYmxvY2sgaTo6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIlxcZjEwNVwiO1xuXHR9XG5cblx0Ji5jbG9zZWQgI2NoYXRQb3B1cCB7XG5cdFx0I2NoYXQge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdFx0LmNvbnRyb2wuYmxvY2sge1xuXHRcdFx0aGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG5cblx0XHRcdGk6OmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxmMTA0XCI7XG5cdFx0XHR9XG5cdFx0XHQubGFiZWwge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG5cdFx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IC0xNSUgNjglIDA7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRyaWdodDogLTY3cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBpbXBvcnQgXCJjc3NlbW90aWNvbnNcIjtcbiIsIi8qXG4gKiBqUXVlcnkgQ1NTRW1vdGljb25zIHBsdWdpbiAwLjIuOVxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxMCBTdGV2ZSBTY2h3YXJ0eiAoSmFuZ29TdGV2ZSlcbiAqXG4gKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgYW5kIEdQTCBsaWNlbnNlczpcbiAqICAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHBcbiAqICAgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sXG4gKlxuICogRGF0ZTogU3VuIE9jdCAyMiAxOjAwOjAwIDIwMTAgLTA1MDBcbiAqL1xuXG4gLyogQmFzaWMgc3R5bGVzIGZvciBlbW90aWNvbnMgKi9cbnNwYW4uY3NzLWVtb3RpY29uIHtcblx0Zm9udC1mYW1pbHk6IFwiVHJlYnVjaGV0IE1TXCIsIHNhbnMtc2VyaWY7IC8qIHNlZW1zIHRvIGdpdmUgdGhlIGJlc3QgYW5kIG1vc3QgY29uc2lzdGVudCBlbW90aWNvbiBhcHBlYXJhbmNlICovXG5cdGZvbnQtc2l6ZTogMC42NWVtO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0Y29sb3I6ICMwMDAwMDA7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuXHR3aWR0aDogMS41NGVtOyAvKiBub3RlIHRoYXQgdGhpcyBpcyBhIG11bHRpcGxlIG9mIHRoaXMgc3BhbidzIGZvbnQtc2l6ZSwgbm90IGNvbnRhaW5pbmcgdGV4dCBmb250LXNpemUgKi9cblx0aGVpZ2h0OiAxLjU0ZW07IC8qIHNvLCByZWxhdGl2ZSB0byBjb250YWluaW5nIHRleHQsIHdpZHRoIGFuZCBoZWlnaHQgYXJlIDAuOSB4IDEuNiA9IDEuNDRlbSAqL1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjM0ZW07XG5cdGJvcmRlci1yYWRpdXM6IDEuNTRlbTtcblx0Ym94LXNoYWRvdzogMXB4IC0xcHggMnB4IHJnYmEoMCwwLDAsMC41KTtcblx0Ym9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwwLjI1KTtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmY2MwMDtcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZmZmNGM4LCAjZmMwKTtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQsIHRyYW5zZm9ybTtcblx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMXMsIDFzO1xuXHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyLCBlYXNlLWluO1xuXG5cdC8qIFN0eWxlcyBmb3IgdHdvLWNoYXJhY3RlciBlbW90aWNvbnMgdGhhdCBuZWVkIG1vcmUgbGV0dGVyLXNwYWNpbmcgZm9yIHByb3BvcnRpb25hbGl0eSAqL1xuXHQmLnNwYWNlZC1lbW90aWNvbiB7XG5cdFx0cGFkZGluZy1sZWZ0OiAwLjJlbTtcblx0XHR3aWR0aDogMS4zNGVtO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjJlbTtcblxuXHRcdCYuc21hbGwtZW1vdGljb24ge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0d2lkdGg6IDEuODJlbTtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjFlbTtcblx0XHR9XG5cdH1cblx0LyogU3R5bGVzIGZvciBlbW90aWNvbnMgdGhhdCBuZWVkIHRvIGhhdmUgc21hbGxlciBjaGFyYWN0ZXJzIHRvIGZpdCBpbnNpZGUgdGhlIGNpcmNsZSAqL1xuXHQmLnNtYWxsLWVtb3RpY29uIHtcblx0XHRmb250LXNpemU6IDAuNTVlbTtcblx0XHR3aWR0aDogMS44MmVtO1xuXHRcdGhlaWdodDogMS44MmVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjcyZW07XG5cdFx0Ym9yZGVyLXJhZGl1czogMS44MmVtO1xuXHR9XG5cdC8qIFN0eWxlcyBmb3IgYWRkaXRpb25hbCBjb2xvcnMgKi9cblx0Ji5yZWQtZW1vdGljb24ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNlYjA1NDI7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZmEzNzZlLCAjZWIwNTQyKTtcblx0fVxuXHQmLnBpbmstZW1vdGljb24ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZjhmZDQ7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZmZhZGUxLCAjZmY4ZmQ0KTtcblx0fVxuXHQvKiBzdHlsZXMgZm9yIGVtb3RpY29ucyB0aGF0IG5lZWQgbm8gcm90YXRpb24sIGxpa2UgT19vICovXG5cdCYubm8tcm90YXRlIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcblx0XHRib3gtc2hhZG93OiAxcHggMXB4IDJweCByZ2JhKDAsMCwwLDAuNSk7XG5cdFx0Zm9udC1zaXplOiAwLjQ1ZW07XG5cdFx0d2lkdGg6IDIuMmVtO1xuXHRcdGhlaWdodDogMi4yZW07XG5cdFx0bGluZS1oZWlnaHQ6IDEuOWVtO1xuXHRcdGJvcmRlci1yYWRpdXM6IDIuMmVtO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjZmZmNGM4LCAjZmMwKTtcblxuXHRcdCYucmVkLWVtb3RpY29uIHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjZmEzNzZlLCAjZWIwNTQyKTtcblx0XHR9XG5cdFx0Ji5waW5rLWVtb3RpY29uIHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjZmZhZGUxLCAjZmY4ZmQ0KTtcblx0XHR9XG5cdH1cblx0LyogU3R5bGVzIGZvciBlbW90aWNvbnMgdGhhdCBuZWVkIHRvIGJlIHJvdGF0ZWQgY291bnRlci1jbG9ja3dpc2UsIGxpa2UgPDMgKi9cblx0Ji5jb3VudGVyLXJvdGF0ZWQge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG5cdFx0Ym94LXNoYWRvdzogLTFweCAxcHggMnB4IHJnYmEoMCwwLDAsMC41KTtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgI2ZmZjRjOCwgI2ZjMCk7XG5cblx0XHQmLnJlZC1lbW90aWNvbiB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgI2ZhMzc2ZSwgI2ViMDU0Mik7XG5cdFx0fVxuXHRcdCYucGluay1lbW90aWNvbiB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgI2ZmYWRlMSwgI2ZmOGZkNCk7XG5cdFx0fVxuXHR9XG5cdC8qIFN0eWxlcyBmb3IgYW5pbWF0ZWQgc3RhdGVzICovXG5cdCYudW4tdHJhbnNmb3JtZWQtZW1vdGljb24sICYuYW5pbWF0ZWQtZW1vdGljb246aG92ZXIge1xuXHRcdGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdH1cblx0Ji5uaW50ZW5kby1jb250cm9sbGVyIHtcblx0XHRmb250LXNpemU6IC44ZW07XG5cdFx0aGVpZ2h0OiAxLjJlbTtcblx0XHRsaW5lLWhlaWdodDogMWVtO1xuXHRcdHdpZHRoOiAyLjdlbTtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjYTVhYWJkLCAjNzQ3OThjKTtcblx0fVxufVxuLyogVGhpcyBpcyBhIGRpcnR5IGRpcnR5IGhhY2ssIGJlY2F1c2Ugd2Via2l0IGRvZXNuJ3QgcHJvcGVybHkgZG8gdGhlIHBhZGRpbmcrd2lkdGg9dG90YWwtd2lkdGggYXMgaXQgc2hvdWxkXG5cdEkgdGhpbmsgdGhlIHdpZHRoIG9mIHRoZSBib3JkZXIgbWF5IGJlIHRocm93aW5nIHRoaW5ncyBvZmYsIGJlY2F1c2UgaXQncyBtb3JlIG5vdGljYWJsZSBmb3Igc21hbGwgaWNvbnMgKi9cbkBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MCkge1xuXHRzcGFuLmNzcy1lbW90aWNvbi5zcGFjZWQtZW1vdGljb24ge1xuXHRcdHdpZHRoOiAxLjRlbTtcblx0fVxufVxuXG5odG1sW2Rpcj1cInJ0bFwiXSBzcGFuLmNzcy1lbW90aWNvbiB7XG5cdHRyYW5zZm9ybTogcm90YXRlKC05MGRlZykgIWltcG9ydGFudDtcblxuXHQmLnVuLXRyYW5zZm9ybWVkLWVtb3RpY29uLCAmLmFuaW1hdGVkLWVtb3RpY29uOmhvdmVyIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSAhaW1wb3J0YW50O1xuXHR9XG59XG4iLCIvKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCAqL1xuI21lbnUgLm5hdmJhciB7XG5cdHBhZGRpbmctdG9wOiAwO1xuXHRwYWRkaW5nLWJvdHRvbTogMDtcbn1cbi5yb29tLWJsb2NrIC5tZW51IHtcblx0LnRvcC5leGl0IHtcblx0XHRwYWRkaW5nLWlubGluZS1zdGFydDogMDtcblx0fVxuXHQuZGV0YWlscyB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRtYXJnaW4taW5saW5lLWVuZDogNXB4O1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR6LWluZGV4OiBjYWxjKHZhcigtLW1lbnUtemluZGV4KSArIDEpO1xuXG5cdFx0LnJvb20ge1xuXHRcdFx0cGFkZGluZy10b3A6IDVweDtcblx0XHRcdHBhZGRpbmctaW5saW5lLWVuZDogNXB4O1xuXG5cdFx0XHQmLm5hbWUge1xuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblxuXHRcdFx0XHQmLnNjcmVlbiB7XG5cdFx0XHRcdFx0Y29sb3I6IHZhcigtLWJzLWRhbmdlcik7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Lmljb24ge1xuXHRcdFx0d2lkdGg6IDMwcHg7XG5cdFx0XHRoZWlnaHQ6IDMwcHg7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0XHQucHJvZmlsZSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDNweDtcblxuXHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdHdpZHRoOiAyOHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5kZXRhaWwtYnRuIHtcblx0XHRcdHBhZGRpbmc6IDAuMXJlbSAwLjRyZW07XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdGkge1xuXHRcdFx0XHQmLmFkZC1vbiB7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdGNvbG9yOiB2YXIoLS1icy13YXJuaW5nKTtcblx0XHRcdFx0XHRib3R0b206ICAwO1xuXHRcdFx0XHR9XG5cdFx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxLjRlbTtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS4yZW07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCYuc2hhcmVkIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8qIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wICovXG4uaGFzaC1wYW5lbC1tYWluLmFwcCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLWhlYWRlci1oZWlnaHQpKTtcbn1cbi5uZXR0ZXN0IHtcblx0cGFkZGluZzogMjBweDtcblx0aGVpZ2h0OiAxMDAlO1xuXG5cdC50ZXN0LWNvbnRhaW5lciB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR3aWR0aDogMjAwcHg7XG5cblx0XHRidXR0b24ge1xuXHRcdFx0Ji5ub3Qtc3RhcnRlZCwgJi5zdGFydGVkIHtcblx0XHRcdFx0Y29sb3I6IHZhcigtLWJzLXNlY29uZGFyeSk7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5KTtcblx0XHRcdH1cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tYnMtd2hpdGUpO1xuXHRcdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0fVxuXHRcdFx0Ji5ub3Qtc3RhcnRlZDpob3ZlciwgJi5zdGFydGVkOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5KTtcblx0XHRcdH1cblx0XHRcdCYuY29tcGxldGUge1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tYnMtc3VjY2Vzcyk7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0tYnMtc3VjY2Vzcyk7XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtc3VjY2Vzcyk7XG5cdFx0XHRcdH1cblx0XHRcdFx0aTo6YmVmb3JlIHtcblx0XHRcdFx0XHRjb250ZW50OiAnXFxmMDBjJztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Ji5ub3Qtc3RhcnRlZCBpOjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiAnXFxmMDRiJztcblx0XHRcdH1cblx0XHRcdCYuc3RhcnRlZCBpIHtcblx0XHRcdFx0YW5pbWF0aW9uOiBmYS1zcGluIDJzIGxpbmVhciBpbmZpbml0ZTtcblxuXHRcdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRcdGNvbnRlbnQ6ICdcXGYxMTAnO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC52YWx1ZSB7XG5cdFx0XHRtaW4taGVpZ2h0OiAzZW07XG5cdFx0fVxuXHRcdC5jYXJkLXRpdGxlIHtcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0fVxuXHR9XG5cdC5vdXRwdXQge1xuXHRcdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2NjY2NjYztcblx0XHRtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSAxNzBweCk7XG5cdFx0bWF4LWhlaWdodDogY2FsYygxMDAlIC0gMTcwcHgpO1xuXHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdFx0b3ZlcmZsb3c6IGF1dG87XG5cblx0XHQubW9kdWxlIHtcblx0XHRcdGNvbG9yOiAjNmIwZGY3O1xuXHRcdFx0cGFkZGluZzogMCA1cHg7XG5cdFx0fVxuXHRcdC5kZWxpbSB7XG5cdFx0XHRjb2xvcjogZ3JlZW47XG5cdFx0fVxuXHRcdC52YWx1ZSB7XG5cdFx0XHRjb2xvcjogZ3JlZW47XG5cdFx0XHRwYWRkaW5nOiAwIDVweDtcblx0XHR9XG5cdH1cbn1cbiIsIi8qIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wICovXG4ucm9vbS1ibG9jayB7XG5cblx0JiwgLnJvb20tY29udGFpbmVyIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdH1cblx0LnJvb20tY29udGFpbmVyIHtcblx0XHQudXNlci12aWRlbyB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcblx0XHRcdG1heC13aWR0aDogOTV2dztcblx0XHRcdG1heC1oZWlnaHQ6IDk1dmg7XG5cblx0XHRcdC51aS1yZXNpemFibGUtc2Uge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0d2lkdGg6IDE2cHg7XG5cdFx0XHRcdGhlaWdodDogMTZweDtcblx0XHRcdFx0cmlnaHQ6IDBweDtcblx0XHRcdFx0Ym90dG9tOiAwcHg7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdGNvbnRlbnQ6ICcgJztcblx0XHRcdFx0XHR3aWR0aDogMzJweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDMycHg7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRcdHJpZ2h0OiAtMjFweDtcblx0XHRcdFx0XHRib3R0b206IC0xNnB4O1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG5cdFx0XHRcdFx0XHR2YXIoLS1icy1kYXJrKSwgdmFyKC0tYnMtZGFyaykgM3B4LCB0cmFuc3BhcmVudCAzcHgsIHRyYW5zcGFyZW50IDVweFxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5oZWFkZXIge1xuXHRcdFx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0XHRcdC51aS1kaWFsb2ctdGl0bGUge1xuXHRcdFx0XHRcdHBhZGRpbmctaW5saW5lLXN0YXJ0OiA1cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC52aWRlbyB7XG5cdFx0XHRcdG1pbi13aWR0aDogNDBweDtcblx0XHRcdFx0bWluLWhlaWdodDogMzBweDtcblx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHRcdCYuYXVkaW8tb25seSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwJTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LmJ0bi5zaGFyZWQge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblx0LmV2ZW50LWRldGFpbHMubW9kYWwge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aWR0aDogMzAwcHg7XG5cdFx0aGVpZ2h0OiAzMDBweDtcblx0XHR0b3A6IDMwcHg7XG5cdFx0ei1pbmRleDogMzA1MDtcblxuXHRcdC5tb2RhbC1kaWFsb2cge1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cdH1cblx0LnNiLXdiIHtcblx0XHRoZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLXJvb20tbWVudS1oZWlnaHQpKTtcblx0XHR3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tY2hhdC13aWR0aCkgLSB2YXIoLS1idWZmZXItc2l6ZSkpO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cblx0LnNpZGViYXIge1xuXHRcdG1pbi13aWR0aDogMTU1cHg7XG5cdFx0d2lkdGg6IHZhcigtLXNpZGViYXItd2lkdGgpO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0dG9wOiAwO1xuXG5cdFx0LnRhYiB7XG5cdFx0XHRwYWRkaW5nOiA1cHggMCAwIDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRcdGkge1xuXHRcdFx0XHRmb250LXNpemU6IDIuMGVtO1xuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRcdFx0fVxuXHRcdFx0LmxhYmVsIHtcblx0XHRcdFx0d2lkdGg6IGNhbGMoKHZhcigtLXNpZGViYXItd2lkdGgpIC0gNTBweCkgLyAyIC0gNDBweCk7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0XHR9XG5cdFx0XHQmLnVzZXIge1xuXHRcdFx0XHRwYWRkaW5nLWlubGluZS1lbmQ6IDE1cHg7XG5cblx0XHRcdFx0LmxhYmVsIHtcblx0XHRcdFx0XHR3aWR0aDogY2FsYygodmFyKC0tc2lkZWJhci13aWR0aCkgLSA1MHB4KSAvIDIgLSA4MHB4KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Ji5vbS1pY29uLmJpZyB7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAzMHB4O1xuXHRcdFx0XHRwYWRkaW5nLWlubGluZS1zdGFydDogMTBweDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0fVxuXHRcdFx0LmJhZGdlIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHRcdG1hcmdpbi1pbmxpbmUtZW5kOiAycHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCNidXN5LWluZGljYXRvciB7XG5cdFx0XHRtYXJnaW46IDhweDtcblx0XHR9XG5cdFx0Lmljb24tdW5kb2NrLCAuaWNvbi1kb2NrIHtcblx0XHRcdGZvbnQtc2l6ZTogMS4yZW07XG5cdFx0XHRwYWRkaW5nLXRvcDogM3B4O1xuXHRcdH1cblx0XHQuaWNvbi1kb2NrOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlxcZjEwMVwiO1xuXHRcdH1cblx0XHQuaWNvbi11bmRvY2s6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlxcZjEwMFwiO1xuXHRcdH1cblx0XHQmLmNsb3NlZCAudGFiLWNvbnRlbnQgLnRhYi1wYW5lIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cdC53YWl0LW1vZGVyIHtcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0Ym90dG9tOiAzMHB4O1xuXHRcdHJpZ2h0OiAzMHB4O1xuXG5cdFx0c3Ryb25nIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDIwcHg7XG5cdFx0fVxuXHR9XG5cdCYubmFycm93IC5zaWRlYmFyIHtcblx0XHQudXNlci1saXN0IC51c2VyLm5hbWUge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdFx0LnRhYi5vbS1pY29uLmJpZyB7XG5cdFx0XHRwYWRkaW5nLWlubGluZS1zdGFydDogNnB4O1xuXHRcdFx0cGFkZGluZy1pbmxpbmUtZW5kOiAwO1xuXHRcdH1cblx0fVxufVxuLnJvb20tYmxvY2sgLnNpZGViYXIgLnVpLXJlc2l6YWJsZS1oYW5kbGUsICNjaGF0UGFuZWwucm9vbSAudWktcmVzaXphYmxlLWhhbmRsZSB7XG5cdHdpZHRoOiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjQ7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNkZWRlZTA7XG5cblx0Jjpob3ZlciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2I2YmRjYTtcblx0XHRib3JkZXItY29sb3I6ICNiZWJlYzM7XG5cdH1cbn1cbiNyb29tLXNpZGViYXItdGFicyB7XG5cdGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tYWN0aXZpdGllcy1oZWlnaHQpKTtcblxuXHQubmF2Lm5hdi10YWJzIHtcblx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0XHRwYWRkaW5nLWlubGluZS1lbmQ6IDQwcHg7XG5cdFx0Z2FwOiA1cHg7XG5cblx0XHQubmF2LWl0ZW0ge1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGZsZXgtZ3JvdzogMTtcblx0XHR9XG5cdH1cblx0Ji50YWJzIC5idG4tZG9jayB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdHBhZGRpbmc6IDAgLjNlbTtcblx0XHRib3JkZXItYm90dG9tLXdpZHRoOiBpbmhlcml0O1xuXHRcdGhlaWdodDogMjVweDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiA1cHg7XG5cdFx0bWFyZ2luLWlubGluZS1lbmQ6IDVweDtcblx0fVxuXHQudGFiLWNvbnRlbnQge1xuXHRcdGhlaWdodDogY2FsYygxMDAlIC0gNDRweCk7XG5cblx0XHQudGFiLXBhbmUge1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdH1cblx0fVxufVxuI3Jvb20tc2lkZWJhci10YWItdXNlcnMgLmhlYWRlciB7XG5cdHBhZGRpbmctaW5saW5lLXN0YXJ0OiA1cHg7XG5cdGhlaWdodDogdmFyKC0tcm9vbS1zaWRlYmFyLWhlYWRlci1oZWlnaHQpO1xuXG5cdC5vbS1pY29uIHtcblx0XHR3aWR0aDogMzRweDtcblx0XHRoZWlnaHQ6IDM0cHg7XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Zm9udC1zaXplOiAyLjBlbTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjJlbTtcblx0XHR9XG5cdFx0aSB7XG5cdFx0XHRmb250LXNpemU6IDEuMmVtO1xuXHRcdH1cblx0fVxufVxuLnVzZXItbGlzdCB7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tcm9vbS1zaWRlYmFyLWhlYWRlci1oZWlnaHQpIC0gdmFyKC0tYnVmZmVyLXNpemUpKTtcblxuXHQudXNlci5uYW1lIHtcblx0XHRsaW5lLWhlaWdodDogMThweDtcblx0XHRoZWlnaHQ6IDE4cHg7XG5cdFx0cGFkZGluZzogMDtcblx0XHRwYWRkaW5nLWlubGluZS1zdGFydDogNjRweDtcblx0XHRtYXJnaW4taW5saW5lLWVuZDogMjBweDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHR9XG5cdC51c2VyLmVudHJ5IHtcblx0XHRtaW4taGVpZ2h0OiA5MHB4O1xuXHRcdHBhZGRpbmctaW5saW5lLXN0YXJ0OiA1cHg7XG5cdFx0cGFkZGluZy10b3A6IDVweDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDgwcHg7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiB2YXIoLS1iYWNrZ3JvdW5kLXN0YXJ0KSAycHg7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0LnZpZGVvLWNvbnRhaW5lciB7XG5cdFx0XHQmLCB2aWRlby5hdWRpby1vbmx5IHtcblx0XHRcdFx0d2lkdGg6IDgwcHg7XG5cdFx0XHRcdGhlaWdodDogODBweDtcblx0XHRcdH1cblx0XHRcdC5mb290ZXIge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiA1NXB4O1xuXG5cdFx0XHQudXNlci5hY3Rpb25zIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDQ1cHg7XG5cdFx0XHR9XG5cdFx0XHQudmlkZW8tY29udGFpbmVyIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cblx0XHRcdFx0JiwgLnZpZGVvLmF1ZGlvLW9ubHkge1xuXHRcdFx0XHRcdHdpZHRoOiA1MHB4O1xuXHRcdFx0XHRcdGhlaWdodDogNTBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQudXNlci5hY3Rpb25zIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHRcdC5raWNrIGkge1xuXHRcdFx0Zm9udC1zaXplOiAxLjVlbTtcblx0XHR9XG5cdFx0Ji5jdXJyZW50IHtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtbGlnaHQpO1xuXHRcdH1cblx0XHQub20taWNvbiB7XG5cdFx0XHQmLnVzZXItc3RhdHVzIHtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXG5cdFx0XHRcdCYudXNlciB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtc3VjY2Vzcyk7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ji53YiB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtd2FybmluZyk7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ji5tb2Qge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWRhbmdlcik7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCYuYXVkaW8tYWN0aXZpdHkge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGJvdHRvbTogMnB4O1xuXHRcdFx0XHRyaWdodDogMnB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuLnR5cGluZy1hY3Rpdml0eSB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHdpZHRoOiAyMHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0aSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IDA7XG5cdFx0YW5pbWF0aW9uOiB0eXBpbmctYW5pIDJzIGluZmluaXRlO1xuXHRcdGNvbG9yOiB2YXIoLS1icy1wcmltYXJ5KTtcblx0fVxuXHQmLnR5cGluZyB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR9XG59XG5Aa2V5ZnJhbWVzIHR5cGluZy1hbmkge1xuXHQwJSB7XG5cdFx0bGVmdDogMDtcblx0fVxuXHQ1MCUge1xuXHRcdGxlZnQ6IDEwcHg7XG5cdH1cblx0MTAwJSB7XG5cdFx0bGVmdDogMDtcblx0fVxufVxuLm9tLWljb24ge1xuXHQmLmRpc2FibGVkIHtcblx0XHRmaWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRvcGFjaXR5OiAuMjtcblx0fVxuXHQmLnVsaXN0LXNtYWxsIHtcblx0XHR3aWR0aDogMTRweDtcblx0XHRoZWlnaHQ6IDE0cHg7XG5cdFx0bWluLWhlaWdodDogMTRweDtcblx0XHRtYXJnaW4taW5saW5lLWVuZDogMnB4O1xuXHRcdG1hcmdpbi1sZWZ0OiB1bnNldDtcblx0fVxuXHQmLmF1ZGlvLWFjdGl2aXR5IHtcblx0XHRvcGFjaXR5OiAwLjI7XG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXN1Y2Nlc3MpO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJzLWdyYXktZGFyayk7XG5cblx0XHQmLnNwZWFraW5nIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXHR9XG5cdCYudm9sdW1lLWNvbnRyb2wge1xuXHRcdGEge1xuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdH1cblx0XHRcdCYudm9sdW1lLW9uOjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiBcIlxcZjAyN1wiO1xuXHRcdFx0XHRmb250LXNpemU6IDEuMmVtO1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5KTtcblx0XHRcdH1cblx0XHRcdCYudm9sdW1lLW9mZjo6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogXCJcXGY2YTlcIjtcblx0XHRcdFx0Zm9udC1zaXplOiAxLjJlbTtcblx0XHRcdFx0Y29sb3I6IHZhcigtLWJzLWRhbmdlcik7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5kcm9wZG93bi1tZW51IHtcblx0XHRcdHdpZHRoOiAyMHB4O1xuXHRcdFx0bWluLXdpZHRoOiAyMHB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdGJvcmRlcjogMDtcblx0XHRcdGJveC1zaGFkb3c6IGluaXRpYWw7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuXHRcdFx0LnNsaWRlciB7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRcdFx0XHRib3JkZXItY29sb3I6IHZhcigtLWJzLXNlY29uZGFyeSk7XG5cblx0XHRcdFx0LnVpLXNsaWRlci1yYW5nZSB7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1saWdodCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0LmhhbmRsZSB7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1saWdodCk7XG5cdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnkpO1xuXHRcdFx0XHRcdGNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnkpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdCYucmlnaHQge1xuXHRcdGkge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Ym90dG9tOiAxcHg7XG5cdFx0XHRyaWdodDogMXB4O1xuXHRcdFx0Zm9udC1zaXplOiAuNmVtO1xuXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tYnMtc3VjY2Vzcyk7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxmMDU1XCI7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuZ3JhbnRlZCBpOjpiZWZvcmUge1xuXHRcdFx0Y29sb3I6IHZhcigtLWJzLWRhbmdlcik7XG5cdFx0XHRjb250ZW50OiBcIlxcZjA1NlwiO1xuXHRcdH1cblx0XHQmLm1vZGVyYXRvcjo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiXFxmMDA3XCI7XG5cdFx0fVxuXHRcdCYucHJlc2VudGVyOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcXGYwZDBcIjtcblx0XHR9XG5cdFx0Ji53Yjo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiXFxmMzAzXCI7XG5cdFx0fVxuXHRcdCYuc2NyZWVuLXNoYXJlOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcXGYxMDhcIjtcblx0XHR9XG5cdFx0Ji5yZW1vdGUtY29udHJvbDo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiXFxmOGNjXCI7XG5cdFx0fVxuXHRcdCYuYXVkaW86OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlxcZjEzMFwiO1xuXHRcdH1cblx0XHQmLmNhbWVyYTo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICdcXGYwM2QnO1xuXHRcdH1cblx0XHQmLm11dGUtb3RoZXJzOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogJ1xcZjZhOSc7XG5cdFx0fVxuXHR9XG5cdCYuc2V0dGluZ3M6OmJlZm9yZSB7XG5cdFx0Y29udGVudDogJ1xcZjAxMyc7XG5cdH1cblx0Ji5hY3Rpdml0eSB7XG5cdFx0Ji5jYW0sICYubWljIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHRcdCYuY2FtIHtcblx0XHRcdCYuZW5hYmxlZDo6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogJ1xcZjAzZCc7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1icy1zdWNjZXNzKTtcblx0XHRcdH1cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6ICdcXGY0ZTInO1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tYnMtd2FybmluZyk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYubWljIHtcblx0XHRcdCYuZW5hYmxlZDo6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogJ1xcZjEzMCc7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1icy1zdWNjZXNzKTtcblx0XHRcdH1cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6ICdcXGYxMzEnO1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tYnMtd2FybmluZyk7XG5cdFx0XHR9XG5cdFx0XHQmLnB1c2gtdG8tdGFsazo6YmVmb3JlIHtcblx0XHRcdFx0Y29sb3I6IHZhcigtLWJzLWluZm8pO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuLnVzZXItdmlkZW8gLnVpLWRpYWxvZy10aXRsZWJhclxuLCAuc2hhcmVyIC51aS1kaWFsb2ctdGl0bGViYXJcbiwgLndiLXRvb2wtc2V0dGluZ3MgLnVpLWRpYWxvZy10aXRsZWJhclxue1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy13aGl0ZSk7XG59XG4udXNlci12aWRlbyB7XG5cdC5vbS1pY29uLnZvbHVtZS1jb250cm9sLCAuYnRuLmJ0bi1yZWZyZXNoLCAuYnRuLmJ0bi10b2dnbGUsIC5idG4uYnRuLXdjbG9zZSB7XG5cdFx0d2lkdGg6IDIwcHg7XG5cdFx0aGVpZ2h0OiAyMHB4O1xuXHR9XG5cdC5vbS1pY29uLnZvbHVtZS1jb250cm9sIHtcblx0XHRib3JkZXItcmFkaXVzOiAwLjJyZW07XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYnMtc2Vjb25kYXJ5KTtcblx0XHRtYXJnaW4tdG9wOiAzcHg7XG5cdFx0cGFkZGluZzogMXB4O1xuXHR9XG5cdC5idG4uYnRuLXJlZnJlc2gsIC5idG4uYnRuLXRvZ2dsZSwgLmJ0bi5idG4td2Nsb3NlIHtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG5cdC5idG4uYnRuLXRvZ2dsZSB7XG5cdFx0aTo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICdcXGYyZDEnO1xuXHRcdH1cblx0XHQmLm1pbmltaXplZCBpOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogJ1xcZjJkMic7XG5cdFx0fVxuXHR9XG5cdC5idXR0b25wYW5lIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy13aGl0ZSk7XG5cdH1cblx0Ji51aS1kaWFsb2cge1xuXHRcdCYudmlkZW8udXNlci1zcGVha3Mge1xuXHRcdFx0Ym94LXNoYWRvdzogM3B4IDNweCA0cHggZ3JlZW47XG5cdFx0fVxuXHRcdC51aS1kaWFsb2ctY29udGVudCB7XG5cdFx0XHRoZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLXZkaWFsb2ctdGl0bGViYXItaGVpZ2h0KSkgIWltcG9ydGFudDtcblx0XHRcdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cblx0XHRcdC52aWRlbyB7XG5cdFx0XHRcdGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tdmRpYWxvZy1mb290ZXItaGVpZ2h0KSkgIWltcG9ydGFudDtcblx0XHRcdFx0d2lkdGg6IDEwMCUgICFpbXBvcnRhbnQ7XG5cdFx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiAxMDAlO1xuXG5cdFx0XHRcdHZpZGVvLCBhdWRpbyB7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0LmZvb3RlciB7XG5cdFx0XHRcdGhlaWdodDogdmFyKC0tdmRpYWxvZy1mb290ZXItaGVpZ2h0KSAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuLmRyb3Bkb3duLW1lbnUudmlkZW8udm9sdW1lIHtcblx0JiwgbGkge1xuXHRcdHdpZHRoOiAyMHB4O1xuXHRcdG1pbi13aWR0aDogMjBweDtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdGJvcmRlcjogMDtcblx0XHRib3gtc2hhZG93OiBpbml0aWFsO1xuXHRcdGxlZnQ6IDcwcHg7XG5cdFx0dG9wOiAtNTBweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0fVxufVxuLmlucHV0IC5zZWxlY3QyLWNvbnRhaW5lciB7XG5cdG1heC1oZWlnaHQ6IDEwMHB4O1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuLnNpcCAuYnV0dG9uLXJvdyB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0bWFyZ2luOiA1cHg7XG59XG4uc2lwIC5idXR0b24tcm93IGlucHV0LnNpcC1udW1iZXIge1xuXHR3aWR0aDogMTMwcHg7XG59XG4uc2lwIC5idXR0b24tcm93ICNzaXAtZGlhbGVyLWJ0bi1lcmFzZSB7XG5cdG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDVweDtcbn1cblxuLyoqKioqKioqKioqKiBWSURFTyAqKioqKioqKioqKioqKi9cbi5taWMtb24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy13YXJuaW5nKTtcbn1cbi51aS1kaWFsb2cge1xuXHQmLnZpZGVvLCAmLnNoYXJlciwgJi52aWRlbyAudWktZGlhbG9nLXRpdGxlYmFyLCAmLnZpZGVvIC51aS1kaWFsb2ctY29udGVudCB7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXHQmLnZpZGVvIHtcblx0XHQudWktZGlhbG9nLWNvbnRlbnQge1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR9XG5cdFx0LnVpLWRpYWxvZy10aXRsZWJhciB7XG5cdFx0XHRwYWRkaW5nLWlubGluZS1zdGFydDogMTBweDtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHR9XG5cdH1cbn1cbi5zaGFyZXIgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAyMHB4XG59XG4udmlkZW8tY29udGFpbmVyIHtcblx0LmxldmVsLW1ldGVyIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJvdHRvbTogNXB4O1xuXHRcdGxlZnQ6IDVweDtcblx0XHR3aWR0aDogMTBweDtcblx0fVxuXHQudmlkZW8gLmxldmVsLW1ldGVyIHtcblx0XHRoZWlnaHQ6IGNhbGMoMTAwJSAtIDEwcHgpICFpbXBvcnRhbnQ7XG5cdH1cbn1cbiN2aWRlby1zZXR0aW5ncyB7XG5cdHBhZGRpbmc6IDVweCAxMHB4O1xuXG5cdC5tb2RhbC1kaWFsb2cge1xuXHRcdG1heC13aWR0aDogNjQwcHg7XG5cdH1cblx0LnRpdGxlIHtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0fVxuXHQuc2V0dC1jb250YWluZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtaW4taGVpZ2h0OiAyNTBweDtcblxuXHRcdC5vcHQtYmxvY2sge1xuXHRcdFx0d2lkdGg6IDMwMHB4O1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHR9XG5cdFx0LnZpZC1ibG9jayB7XG5cdFx0XHRtaW4td2lkdGg6IDMwMHB4O1xuXHRcdFx0cGFkZGluZy1pbmxpbmUtc3RhcnQ6IDMwNXB4O1xuXG5cdFx0XHQudmlkZW8tY29uYWluZXIge1xuXHRcdFx0XHRvdmVyZmxvdzogYXV0bztcblx0XHRcdFx0bWF4LWhlaWdodDogMzAwcHg7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdH1cblx0XHRcdC50aW1lciB7XG5cdFx0XHRcdGZsb2F0OiBpbmxpbmUtc3RhcnQ7XG5cdFx0XHRcdHBhZGRpbmc6IDJweCA0cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5zZXR0LXJvdyB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMTBweDtcblxuXHRcdFx0Lndhcm4ge1xuXHRcdFx0XHRmbG9hdDogaW5saW5lLWVuZDtcblx0XHRcdFx0bWFyZ2luLWlubGluZS1lbmQ6IC4zZW07XG5cdFx0XHR9XG5cdFx0XHQmLnJpZ2h0IHtcblx0XHRcdFx0dGV4dC1hbGlnbjogdmFyKC0tdGV4dC1hbGlnbi1lbmQpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuLnZpZGVvIHtcblx0Jjpob3ZlciAubXV0ZS1vdGhlcnMuZW5hYmxlZCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblx0Lm11dGUtb3RoZXJzIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiBjYWxjKDUwJSAtIDMycHgpO1xuXHRcdGxlZnQ6IGNhbGMoNTAlIC0gMzJweCk7XG5cdFx0d2lkdGg6IDY0cHg7XG5cdFx0aGVpZ2h0OiA2NHB4O1xuXHRcdGJhY2tncm91bmQtc2l6ZTogNjRweDtcblx0XHR6LWluZGV4OiAyO1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogJ1xcZjNjOSc7XG5cdFx0XHRjb2xvcjogdmFyKC0tYnMtd2FybmluZyk7XG5cdFx0XHRsaW5lLWhlaWdodDogMWVtO1xuXHRcdFx0Zm9udC1zaXplOiAyLjVlbTtcblx0XHR9XG5cdH1cblx0Ji5hdWRpby1vbmx5IC5tdXRlLW90aGVycyB7XG5cdFx0dG9wOiBjYWxjKDUwJSAtIDE2cHgpO1xuXHRcdGxlZnQ6IGNhbGMoNTAlIC0gMTBweCk7XG5cdFx0d2lkdGg6IDMycHg7XG5cdFx0aGVpZ2h0OiAzMnB4O1xuXHR9XG59XG5AaW1wb3J0IFwiaW50ZXJ2aWV3XCI7XG5AaW1wb3J0IFwicG9sbHNcIjtcblxuI3NoYXJlciAuYWxlcnQge1xuXHRkaXNwbGF5OiBub25lO1xufVxuLnNoYXJlciB7XG5cdC5zaGFyZS1zdGFydC1zdG9wIGk6OmJlZm9yZSB7XG5cdFx0Y29udGVudDogJ1xcZjAzZSc7XG5cdH1cblx0LnJlY29yZC1zdGFydC1zdG9wIGk6OmJlZm9yZSB7XG5cdFx0Y29udGVudDogJ1xcZjExMSc7XG5cdH1cblx0LnN0b3AgaTo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnXFxmMjhkJztcblx0fVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI4MHB4KSB7XG5cdC5yb29tLWJsb2NrIC5zYi13YiAuc2lkZWJhciAudGFiLm9tLWljb24uYmlnIHtcblx0XHRwYWRkaW5nLWlubGluZS1lbmQ6IDA7XG5cdH1cblx0LnJvb20tYmxvY2sgLnNiLXdiIC5zaWRlYmFyIC51c2VyLWxpc3QgLnVzZXIubmFtZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHQucm9vbS1ibG9jay5iaWcgLnNiLXdiIC5zaWRlYmFyIC51c2VyLWxpc3QgLnVzZXIubmFtZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cblxuaHRtbFtkaXI9XCJydGxcIl0gLm1haW4ucm9vbSAjY2hhdFBhbmVsIHtcblx0cmlnaHQ6IGluaXRpYWw7XG5cdGxlZnQ6IDBweDtcbn1cbiIsIi8qIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wICovXG4ubWFpbi5yb29tLklOVEVSVklFVyAud2ItYmxvY2sgLndiLWFyZWEge1xuXHQucG9kLWFyZWEge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tcmVjLWJ0bi1oZWlnaHQpKTtcblx0fVxuXHQucmVjLWJ0biB7XG5cdFx0ei1pbmRleDogMTAwO1xuXHRcdGJvcmRlci1yYWRpdXM6IDMwcHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiA1MCU7XG5cdFx0Ym90dG9tOiAwcHg7XG5cdFx0d2lkdGg6IDQwcHg7XG5cdFx0aGVpZ2h0OiB2YXIoLS1yZWMtYnRuLWhlaWdodCk7XG5cblx0XHQudWktYnV0dG9uLWljb24udWktaWNvbi5zdG9wLCAudWktYnV0dG9uLWljb24udWktaWNvbi5yZWNvcmQge1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJlZDtcblx0XHR9XG5cdFx0LnVpLWJ1dHRvbi1pY29uLnVpLWljb24ucmVjb3JkIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDE1cHg7XG5cdFx0fVxuXHR9XG59XG4ucG9kLWFyZWEge1xuXHRkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcblxuXHQuZW1wdHkge1xuXHRcdGdyaWQtYXJlYTogZTtcblx0fVxuXG5cdCYubWF4MiwgJi5tYXgzIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuXHRcdGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDIsIDFmcik7XG5cdH1cblx0Ji5tYXgyIHtcblx0XHRncmlkLXRlbXBsYXRlLWFyZWFzOlxuXHRcdFx0XCJlIGEgYVwiXG5cdFx0XHRcImIgYSBhXCI7XG5cdH1cblx0Ji5tYXgzIHtcblx0XHRncmlkLXRlbXBsYXRlLWFyZWFzOlxuXHRcdFx0XCJiMSBhIGFcIlxuXHRcdFx0XCJiMiBhIGFcIjtcblx0fVxuXHQmLm1heDUsICYubWF4OSwgJi5tYXgxMyB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcblx0XHRncmlkLXRlbXBsYXRlLWFyZWFzOlxuXHRcdFx0XCJiMSBhIGEgYjJcIlxuXHRcdFx0XCJiMyBhIGEgYjRcIjtcblx0fVxuXHQmLm1heDUge1xuXHRcdGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDIsIDFmcik7XG5cdH1cblx0Ji5tYXg5IHtcblx0XHRncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgzLCAxZnIpO1xuXHR9XG5cdCYubWF4MTMge1xuXHRcdGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDQsIDFmcik7XG5cdH1cblx0Ji5tYXgxNywgJi5tYXgyNSwgJi5tYXgzMyB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoOCwgMWZyKTtcblx0XHRncmlkLXRlbXBsYXRlLWFyZWFzOlxuXHRcdFx0XCJiMDEgYjAyIGEgYSBhIGEgYjAzIGIwNFwiXG5cdFx0XHRcImIwNSBiMDYgYSBhIGEgYSBiMDcgYjA4XCJcblx0XHRcdFwiYjA5IGIxMCBhIGEgYSBhIGIxMSBiMTJcIlxuXHRcdFx0XCJiMTMgYjE0IGEgYSBhIGEgYjE1IGIxNlwiO1xuXHR9XG5cdCYubWF4MTcge1xuXHRcdGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDQsIDFmcik7XG5cdH1cblx0Ji5tYXgyNSB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoNSwgMWZyKTtcblx0fVxuXHQmLm1heDMzIHtcblx0XHRncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCg2LCAxZnIpO1xuXHR9XG5cdC5wb2QtYmlnLCAucG9kIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0cGFkZGluZzogMnB4O1xuXHRcdG1hcmdpbjogMnB4O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHQudXNlci12aWRlby51aS1kaWFsb2cge1xuXHRcdFx0aGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1idWZmZXItc2l6ZSkpICFpbXBvcnRhbnQ7XG5cdFx0XHR3aWR0aDogIGNhbGMoMTAwJSAtIHZhcigtLWJ1ZmZlci1zaXplKSkgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblx0LnBvZC1iaWcge1xuXHRcdGdyaWQtYXJlYTogYTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjO1xuXHRcdGJvcmRlci1yYWRpdXM6IDhweDtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL2Ryb3AucG5nKTtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDY0cHg7XG5cblx0XHQmLnVpLWhpZ2h0bGlnaHQge1xuXHRcdFx0Ym94LXNoYWRvdzogM3B4IDNweCA0cHggYmx1ZTtcblx0XHR9XG5cdH1cblx0LnBvZC51aS1zb3J0YWJsZS1wbGFjZWhvbGRlciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGVzbW9rZTtcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG5cdH1cbn1cbiIsIi8qIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wICovXG4jcm9vbS1wb2xsLWNoYXJ0IHtcblx0aGVpZ2h0OiAzMDBweDtcbn1cbiNxdWljay12b3RlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRtYXJnaW4taW5saW5lLWVuZDogNDBweDtcblx0Ym90dG9tOiA0MHB4O1xuXHRwYWRkaW5nOiA1cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkO1xuXHRib3JkZXItcmFkaXVzOiAwLjJyZW07XG5cdGJhY2tncm91bmQtY29sb3I6dmFyKC0tYnMtbGlnaHQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWJzLWluZm8pO1xuXG5cdC5jb250cm9sIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0d2lkdGg6IDQ4cHg7XG5cdFx0aGVpZ2h0OiA0OHB4O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRmb250LXNpemU6IDEuNWVtO1xuXG5cdFx0LmJhZGdlIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdGZvbnQtc2l6ZTogMC41ZW07XG5cdFx0fVxuXHRcdGk6OmJlZm9yZSB7XG5cdFx0XHRmb250LXNpemU6IDIuMGVtO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMmVtO1xuXHRcdH1cblx0XHQmLnBybyBpOjpiZWZvcmUge1xuXHRcdFx0Y29sb3I6IHZhcigtLWJzLXN1Y2Nlc3MpO1xuXHRcdH1cblx0XHQmLmNvbiBpOjpiZWZvcmUge1xuXHRcdFx0Y29sb3I6IHZhcigtLWJzLWRhbmdlcik7XG5cdFx0fVxuXHR9XG5cdC5jbG9zZS1idG4ge1xuXHRcdHBhZGRpbmc6IDAgMC40cmVtO1xuXHR9XG59XG4ubWFpbi5yb29tLklOVEVSVklFVyAjcXVpY2stdm90ZSB7XG5cdHotaW5kZXg6IDEwMDtcblx0cmlnaHQ6IDEwcHg7XG5cdGJvdHRvbTogMDtcblx0cGFkZGluZzogMHB4IDVweCAwcHggNXB4O1xuXHRoZWlnaHQ6IDQwcHg7XG59XG4iLCIvKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCAqL1xuLmZpbGUtdHJlZSB7XG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuXHQudHJlZXMge1xuXHRcdGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tdHJlZS1oZWFkZXItaGVpZ2h0KSAtIHZhcigtLXRyZWUtZm9vdGVyLWhlaWdodCkpO1xuXHRcdHdpZHRoOiB2YXIoLS1zaWRlYmFyLXdpZHRoKTtcblx0XHRvdmVyZmxvdy14OiBhdXRvO1xuXHRcdG92ZXJmbG93LXk6IGF1dG87XG5cblx0XHQjdHJlZS1hbmNob3Ige1xuXHRcdFx0aGVpZ2h0OiAycHg7XG5cdFx0XHR3aWR0aDogMnB4O1xuXHRcdH1cblx0XHQub20taWNvbi5hY3RpdmUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtaW5mbyk7XG5cdFx0fVxuXHRcdC5vbS1pY29uIGkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGJvdHRvbTogMXB4O1xuXHRcdFx0bGVmdDogNXB4O1xuXHRcdFx0Zm9udC1zaXplOiAuOGVtO1xuXHRcdH1cblx0XHQudHJlZS10aGVtZS13aW5kb3dzIHtcblx0XHRcdC8qIHdpY2tldCBvdmVycmlkZXMgKi9cblx0XHRcdCYsID4gOmZpcnN0LWNoaWxkXG5cdFx0XHQsIC50cmVlLWJyYW5jaFxuXHRcdFx0LCAudHJlZS1icmFuY2ggLnRyZWUtbm9kZVxuXHRcdFx0LCAudHJlZS1zdWJ0cmVlIC50cmVlLWJyYW5jaFxuXHRcdFx0LCAudHJlZS1ub2RlIC5vbS1pY29uXG5cdFx0XHQsIC50cmVlLW5vZGUgLm9tLWljb24gLmZpbGUuaXRlbVxuXHRcdFx0LCAudHJlZS1ub2RlIC5vbS1pY29uIC5maWxlLml0ZW0gLm5hbWVcblx0XHRcdCwgLnRyZWUtbm9kZSAub20taWNvbiAuZmlsZS5pdGVtIC5uYW1lIHNwYW5cblx0XHRcdHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cdFx0XHQudHJlZS1ub2RlIHtcblx0XHRcdFx0LmZpbGUuaXRlbSB7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG5cdFx0XHRcdFx0Lm5hbWUsIC5uYW1lIHNwYW4ge1xuXHRcdFx0XHRcdFx0Y29sb3I6IGJsYWNrO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHQvKiBSZXF1aXJlZCBmb3IgdGV4dC1vdmVyZmxvdyB0byBkbyBhbnl0aGluZyAqL1xuXHRcdFx0XHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0XHRcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Lm5hbWUge1xuXHRcdFx0XHRcdFx0cGFkZGluZy10b3A6IDEwcHg7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWlubGluZS1zdGFydDogMzdweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0LmVycm9ycyB7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHR0b3A6IDBweDtcblx0XHRcdFx0XHRcdHJpZ2h0OiAxcHg7XG5cdFx0XHRcdFx0XHR3aWR0aDogMzJweDtcblx0XHRcdFx0XHRcdGhlaWdodDogMzJweDtcblx0XHRcdFx0XHRcdG1hcmdpbjogMHB4O1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQuZXJyb3JzOjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0Y29sb3I6IHZhcigtLWJzLXdhcm5pbmcpO1xuXHRcdFx0XHRcdFx0Y29udGVudDogJ1xcZjA3MSc7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC5mb2xkZXIgLmZpbGUuaXRlbSwgLmZvbGRlci1vcGVuIC5maWxlLml0ZW0ge1xuXHRcdFx0XHRcdC5uYW1lIHtcblx0XHRcdFx0XHRcdHBhZGRpbmctaW5saW5lLXN0YXJ0OiAycHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC5vbS1pY29uLmJyb2tlbiAuZmlsZS5pdGVtIC5uYW1lIHtcblx0XHRcdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gMzJweCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGRpdi50cmVlLXN1YnRyZWUsIC50cmVlLW5vZGUgLm9tLWljb24ge1xuXHRcdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG5cdFx0XHR9XG5cdFx0XHRzcGFuLnRyZWUtY29udGVudCB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHR9XG5cdFx0Lm9tLWljb24ge1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXG5cdFx0XHQmLmJpZyB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRsZWZ0OiAzcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5wcm9jZXNzaW5nIGkge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblx0XHR9XG5cdFx0LnRyZWUtbm9kZSB7XG5cdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG5cdFx0XHQudHJlZS1qdW5jdGlvbiB7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LmZvb3RlciB7XG5cdFx0aGVpZ2h0OiB2YXIoLS10cmVlLWZvb3Rlci1oZWlnaHQpO1xuXG5cdFx0LnNpemVzIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR9XG5cdFx0LmJ1dHRvbnMgLm90aGVyLWJ1dHRvbnMge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0bWFyZ2luOiAwIDJweDtcblx0XHR9XG5cdH1cblx0LmluZm8ge1xuXHRcdC5kZXRhaWxzIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0ZGlzcGxheTogdGFibGU7XG5cdFx0fVxuXHRcdC5yb3cge1xuXHRcdFx0ZGlzcGxheTogdGFibGUtcm93O1xuXG5cdFx0XHQubGFiZWwsIC52YWx1ZSB7XG5cdFx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdFx0fVxuXHRcdFx0LmxhYmVsIHtcblx0XHRcdFx0bWF4LXdpZHRoOiA1MHB4O1xuXHRcdFx0fVxuXHRcdFx0LnZhbHVlIHtcblx0XHRcdFx0bWF4LXdpZHRoOiAyNzBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbi50cmFzaC10b29sYmFyIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRjb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGhlaWdodDogdmFyKC0tdHJlZS1oZWFkZXItaGVpZ2h0KTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHQub20tY29uZmlybS1kaWFsb2cge1xuXHRcdGNvbG9yOiB2YXIoLS1icy1kYW5nZXIpO1xuXHR9XG5cdC5vbS1pY29uLmZpbGVpdGVtLCAub20taWNvbi5yZWNvcmRpdGVtIHtcblx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cdH1cbn1cbi50cmFzaC10b29sYmFyLWhvdmVyIHtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWxpZ2h0KTtcblxuXHQudHJhc2gub20taWNvbjo6YmVmb3JlIHtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHR9XG59XG4ub20taWNvbiB7XG5cdCYucmVmcmVzaDo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnXFxmMmYxJztcblx0fVxuXHQmLnRyYXNoOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICdcXGYyZWQnO1xuXHR9XG5cdCYuZm9sZGVyLWNyZWF0ZTo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnXFxmNjVlJztcblx0fVxuXHQmLnJlY29yZGluZzo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnXFxmMDA4Jztcblx0fVxuXHQmLmJyb2tlbjo6YmVmb3JlIHtcblx0XHRjb2xvcjogdmFyKC0tYnMtZGFuZ2VyKTtcblx0fVxuXHQmLnVwbG9hZCB7XG5cdFx0bWFyZ2luLXRvcDogMDtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnXFxmNTc0Jztcblx0XHRcdHBhZGRpbmc6IDAgN3B4O1xuXHRcdH1cblx0fVxuXHQmLmZpbGUge1xuXHRcdCYucHVibGljOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogJ1xcZjBhYyc7XG5cdFx0fVxuXHRcdCYuaW1hZ2U6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnXFxmMWM1Jztcblx0XHR9XG5cdFx0Ji5jaGFydDo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICdcXGYyMDAnO1xuXHRcdH1cblx0XHQmLndtbDo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICdcXGY1NmYnO1xuXHRcdH1cblx0XHQmLmRvYzo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICdcXGYxNWInO1xuXHRcdH1cblx0XHQmLmZvbGRlcjo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICdcXGYwN2InO1xuXHRcdH1cblx0XHQmLmZvbGRlci1vcGVuOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogJ1xcZjA3Yyc7XG5cdFx0fVxuXHRcdCYubXk6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnXFxmMDE1Jztcblx0XHR9XG5cdH1cbn1cbi5kcmFnLWNvbnRhaW5lciAub20taWNvbiB7XG5cdGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG4uc2VsZWN0ZWQgLmZpbGUuaXRlbSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICMwMDk5RkY7XG59XG4uZGlhbG9nLmVycm9ycyB7XG5cdGhlaWdodDogNTAwcHg7XG5cdGZvbnQtc2l6ZTogc21hbGw7XG5cblx0LnNjcm9sbC1jb250YWluZXIge1xuXHRcdG92ZXJmbG93OiBhdXRvO1xuXHRcdGhlaWdodDogY2FsYygxMDAlIC0gNTBweCk7XG5cdH1cblx0LmFsZXJ0IHtcblx0XHRjb2xvcjogdmFyKC0tYnMtZGFuZ2VyKTtcblx0fVxuXHQud2FybiB7XG5cdFx0Y29sb3I6IHZhcigtLWJzLXdhcm5pbmcpO1xuXHR9XG5cdC5tZXNzYWdlIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR1bmljb2RlLWJpZGk6IGVtYmVkO1xuXHRcdGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG5cdFx0d2hpdGUtc3BhY2U6IHByZTtcblx0XHRtYXJnaW46IDA7XG5cdH1cbn1cblxuXG5odG1sW2Rpcj1cInJ0bFwiXSAudHJlZXMgLm9tLWljb24uYmlnOjpiZWZvcmUge1xuXHRsZWZ0OiBpbml0aWFsO1xuXHRyaWdodDogM3B4O1xufVxuIiwiLyogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKSBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAgKi9cbi53Yi1ibG9jayB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tc2lkZWJhci13aWR0aCkgLSB2YXIoLS1idWZmZXItc2l6ZSkpO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IGNhbGModmFyKC0tc2lkZWJhci13aWR0aCkgKyB2YXIoLS1idWZmZXItc2l6ZSkpO1xuXG5cdCYuZHJvcHBhYmxlLWhvdmVyIHtcblx0XHRib3JkZXI6IDA7XG5cblx0XHQud2ItYXJlYSB7XG5cdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0XHRoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuXHRcdH1cblx0XHQud2ItZHJvcC1hcmVhIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0aGVpZ2h0OiBpbmhlcml0O1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA2IEZyZWUnO1xuXHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRmb250LXNpemU6IDIwZW07XG5cdFx0XHRcdGNvbnRlbnQ6ICdcXGYzNTgnO1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1icy1zdWNjZXNzKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LndiLWFyZWEge1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy1ib2R5LWJnKTtcblx0fVxuXHQud2ItZHJvcC1hcmVhIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdC50YWJzIHtcblx0XHRoZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLWJ1ZmZlci1zaXplKSk7XG5cblx0XHQud2ItdGFiYmFyIGxpIGEge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0cGFkZGluZy1pbmxpbmUtZW5kOiAyNXB4O1xuXHRcdH1cblx0XHQud2ItdGFiLWNvbnRlbnQge1xuXHRcdFx0aGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1yb29tLXdiLXRhYnMtaGVpZ2h0KSk7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdC5mdWxsc2NyZWVuIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRtYXJnaW4taW5saW5lLWVuZDogNDBweDtcblx0XHRcdH1cblx0XHRcdC50YWItcGFuZSB7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdH1cblx0XHRcdC53Yi13aXRoLXpvb20ge1xuXHRcdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0fVxuXHRcdFx0LnNjcm9sbC1jb250YWluZXIge1xuXHRcdFx0XHRvdmVyZmxvdzogYXV0bztcblx0XHRcdFx0aGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS13Yi16b29tLWhlaWdodCkpO1xuXG5cdFx0XHRcdC5jYW52YXMtY29udGFpbmVyIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiA1cHg7XG5cdFx0XHRcdFx0bWFyZ2luLWlubGluZS1zdGFydDogNXB4O1xuXHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICM4ODg4ODg7XG5cdFx0XHRcdFx0Ym94LXNoYWRvdzogNXB4IDVweCA1cHggIzg4ODg4ODtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0LndiLXpvb20tYmxvY2sge1xuXHRcdFx0XHRoZWlnaHQ6IHZhcigtLXdiLXpvb20taGVpZ2h0KTtcblx0XHRcdH1cblx0XHRcdC50b29scyB7XG5cdFx0XHRcdHdpZHRoOiAzNXB4O1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LnRvb2xzIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGJvcmRlcjogMDtcblxuXHRcdC5idG4tZ3JvdXAsIC5vbS1pY29uLmJpZyB7XG5cdFx0XHR3aWR0aDogMzVweDtcblx0XHRcdGhlaWdodDogMzVweDtcblx0XHR9XG5cdFx0LmRyb3BzdGFydCAuZHJvcGRvd24tdG9nZ2xlOjpiZWZvcmUge1xuXHRcdFx0dmVydGljYWwtYWxpZ246IGJvdHRvbTtcblx0XHRcdG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuXHRcdH1cblx0XHQuZHJvcGRvd24tbWVudSAub20taWNvbi5iaWcge1xuXHRcdFx0ZmxvYXQ6IG5vbmU7XG5cblx0XHRcdCYuYWN0aXZlIHtcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgIzZiNjU2NTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmRyYXdpbmdzIC5vbS1pY29uLmJpZy5zdHViOjpiZWZvcmUsIC5vbS1pY29uLmJpZy5tYXRoOjpiZWZvcmUge1xuXHRcdFx0Zm9udC1zaXplOiAxLjVlbTtcblx0XHR9XG5cdFx0Lm9tLWljb24uYmlnIHtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDI3cHg7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiB2YXIoLS1iYWNrZ3JvdW5kLXN0YXJ0KSAhaW1wb3J0YW50O1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHQmLnN0dWIge1xuXHRcdFx0XHR3aWR0aDogMzBweDtcblx0XHRcdFx0aGVpZ2h0OiAzMHB4O1xuXHRcdFx0fVxuXHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZXNtb2tlO1xuXHRcdFx0fVxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0cGFkZGluZy1pbmxpbmUtc3RhcnQ6IDVweDtcblx0XHRcdH1cblx0XHRcdCYucGFpbnQ6OmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6ICdcXGYzMDQnO1xuXHRcdFx0fVxuXHRcdFx0Ji5wb2ludGVyOjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiAnXFxmMjQ1Jztcblx0XHRcdH1cblx0XHRcdCYuYXBvaW50ZXI6OmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6ICdcXGYzYzUnO1xuXHRcdFx0fVxuXHRcdFx0Ji5saW5lOjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiAnXFxmNzE1Jztcblx0XHRcdH1cblx0XHRcdCYudWxpbmU6OmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6ICdcXGY1OTEnO1xuXHRcdFx0fVxuXHRcdFx0Ji5yZWN0OjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiAnXFxmNWNiJztcblx0XHRcdH1cblx0XHRcdCYuZWxsaXBzZTo6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogJ1xcZjExMSdcblx0XHRcdH1cblx0XHRcdCYudGV4dDo6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogJ1QnO1xuXHRcdFx0fVxuXHRcdFx0Ji5hcnJvdzo6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogJ1xcZjMwYic7XG5cdFx0XHR9XG5cdFx0XHQmLmVyYXNlcjo6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogJ1xcZjEyZCc7XG5cdFx0XHR9XG5cdFx0XHQmLmNsZWFyLWFsbDo6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogJ1xcZjJlZCc7XG5cdFx0XHR9XG5cdFx0XHQmLmNsZWFyLXNsaWRlOjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiAnXFxmMWMzJztcblx0XHRcdH1cblx0XHRcdCYuc2F2ZTo6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogJ1xcZjBjNyc7XG5cdFx0XHR9XG5cdFx0XHQmLnVuZG86OmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6ICdcXGYzZTUnO1xuXHRcdFx0fVxuXHRcdFx0Ji5yZWRvOjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiAnXFxmMDY0Jztcblx0XHRcdH1cblx0XHRcdCYubWF0aDo6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogJ1xcZjUzNCc7XG5cdFx0XHR9XG5cdFx0XHQmLnRleHRib3gge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL3RleHRib3gucG5nKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ji52ZXJ0aWNhbCAuZHJvcGRvd24tdG9nZ2xlIHtcblx0XHRcdHdpZHRoOiAzNXB4O1xuXHRcdFx0aGVpZ2h0OiAyOHB4O1xuXG5cdFx0XHQuY2FyZXQge1xuXHRcdFx0XHRsZWZ0OiAtMXB4O1xuXHRcdFx0XHRib3R0b206IC03cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuaG9yaXNvbnRhbCAuZHJvcGRvd24tdG9nZ2xlIHtcblx0XHRcdHdpZHRoOiAzNXB4O1xuXHRcdFx0aGVpZ2h0OiAyM3B4O1xuXG5cdFx0XHQuY2FyZXQge1xuXHRcdFx0XHRsZWZ0OiAtMXB4O1xuXHRcdFx0XHRib3R0b206IC0xMnB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuZHJvcGRvd24tdG9nZ2xlIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuXHRcdFx0LmNhcmV0IHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRib3JkZXItdG9wOiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdGJvcmRlci1sZWZ0OiA4cHggc29saWQgYmx1ZTtcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5vbS1pY29uLmJpZyB7XG5cdFx0Ji5uZXh0OjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogJ1xcZjA1NCc7XG5cdFx0fVxuXHRcdCYucHJldjo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICdcXGYwNTMnO1xuXHRcdH1cblx0fVxufVxuLndiLXRhYi1jbG9zZSB7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwcHg7XG5cdG1hcmdpbi1pbmxpbmUtZW5kOiAycHg7XG59XG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmJ0bi1uby1ib3JkZXIge1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IDA7XG59XG4ud2ItdG9vbC1zZXR0aW5ncywgLndiLXRvb2wtc2V0dGluZ3MgLnRhYi5wcm9wcywgLndiLWZvcm11bGEge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiAzMTBweDtcbn1cbi53Yi10b29sLXNldHRpbmdzLCAud2ItZm9ybXVsYSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ei1pbmRleDogOTU7XG5cblx0LnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdG1hcmdpbi1pbmxpbmUtZW5kOiAuM2VtO1xuXHRcdHRvcDogNXB4O1xuXHRcdHdpZHRoOiAyMHB4O1xuXHRcdHBhZGRpbmc6IDFweDtcblx0XHRoZWlnaHQ6IDIwcHg7XG5cdH1cblx0LmhlYWRlciB7XG5cdFx0cGFkZGluZzogNXB4O1xuXG5cdFx0LnVpLWRpYWxvZy10aXRsZSB7XG5cdFx0XHRwYWRkaW5nLWlubGluZS1zdGFydDogMTBweDtcblx0XHR9XG5cdH1cbn1cbi53Yi10b29sLXNldHRpbmdzIC50YWIucHJvcHMge1xuXHRwYWRkaW5nOiA1cHggMTBweDtcblxuXHQucHJvcC1yb3cge1xuXHRcdHBhZGRpbmctdG9wOiA1cHg7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGZvbnQtc2l6ZTogc21hbGw7XG5cdH1cblx0LmJsb2NrIHtcblx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0cGFkZGluZy1pbmxpbmUtc3RhcnQ6IDVweDtcblxuXHRcdCYubGJsIHtcblx0XHRcdHdpZHRoOiAxZW07XG5cdFx0fVxuXHRcdCYuYnV0IHtcblx0XHRcdHdpZHRoOiAyLjVlbTtcblxuXHRcdFx0YnV0dG9uIHtcblx0XHRcdFx0d2lkdGg6IDIuNWVtO1xuXHRcdFx0fVxuXHRcdFx0LndiLXByb3AtaSwgLndiLXByb3AtYiB7XG5cdFx0XHRcdHdpZHRoOiA1cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuaW5wdXQge1xuXHRcdFx0d2lkdGg6IDQwcHg7XG5cblx0XHRcdGlucHV0IHtcblx0XHRcdFx0d2lkdGg6IDMwcHg7XG5cblx0XHRcdFx0Jlt0eXBlPW51bWJlcl0ge1xuXHRcdFx0XHRcdHdpZHRoOiA0MHB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdCZbdHlwZT1jb2xvcl0ge1xuXHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdH1cblx0XHRcdFx0Jlt0eXBlPWNvbG9yXTpkaXNhYmxlZCB7XG5cdFx0XHRcdFx0b3BhY2l0eTouMztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQud2ItcHJvcC1pLnNlbGVjdGVkIHtcblx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdH1cblx0LndiLXByb3AtYi5zZWxlY3RlZCB7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdH1cbn1cbi53Yi1mb3JtdWxhIHtcblx0LnRleHQtY29udGFpbmVyIHtcblx0XHRtYXJnaW46IDAgNXB4IDVweCAwO1xuXHRcdHBhZGRpbmc6IDVweDtcblx0XHRoZWlnaHQ6IGNhbGMoMTAwJSAtIDkwcHgpO1xuXHR9XG5cdC5zdGF0dXMge1xuXHRcdG1pbi1oZWlnaHQ6IDE2cHg7XG5cdH1cblx0dGV4dGFyZWEge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRyZXNpemU6IG5vbmU7XG5cdH1cblx0LmxhdGV4LWd1aWRlIHtcblx0XHRwYWRkaW5nOiAwIDEwcHg7XG5cdH1cbn1cbi5kcm9wZG93bi1tZW51Lm9tLWxlZnQge1xuXHRyaWdodDogMDtcblx0bGVmdDogYXV0byAhaW1wb3J0YW50O1xufVxuLndiLXRhYmJhciB7XG5cdHBhZGRpbmctaW5saW5lLXN0YXJ0OiA3MHB4ICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmctaW5saW5lLWVuZDogMzVweCAhaW1wb3J0YW50O1xuXHRtaW4taGVpZ2h0OiA0MHB4O1xuXG5cdC5zY3JvbGwtY29udGFpbmVyIHtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0LnNjcm9sbGFibGUge1xuXHRcdFx0d2lkdGg6IG1heC1jb250ZW50O1xuXG5cdFx0XHQmLCBsaSB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5hZGQsIC5wcmV2LCAubmV4dCB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogM3B4O1xuXG5cdFx0Ji5kaXNhYmxlZCB7XG5cdFx0XHRvcGFjaXR5OiAuMztcblx0XHR9XG5cdH1cblx0LmFkZCB7XG5cdFx0bWFyZ2luLWlubGluZS1zdGFydDogMnB4O1xuXHR9XG5cdC5wcmV2IHtcblx0XHRtYXJnaW4taW5saW5lLXN0YXJ0OiAzNXB4O1xuXHR9XG5cdC5uZXh0IHtcblx0XHRtYXJnaW4taW5saW5lLWVuZDogMnB4O1xuXHR9XG59XG4ud2ItYXJlYSAud2Item9vbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdHBhZGRpbmctdG9wOiAycHg7XG5cdG1pbi13aWR0aDogMzYwcHg7XG5cblx0LmRvYy1ncm91cCwgLnpvb20tZ3JvdXAsIC5zZXR0aW5ncy1ncm91cCB7XG5cdFx0d2lkdGg6IGF1dG87XG5cdH1cblx0aW5wdXQge1xuXHRcdHdpZHRoOiA1MHB4XG5cdH1cblx0LnNldHRpbmdzLWdyb3VwIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDJweDtcblx0fVxuXHQuZG9jLWdyb3VwIHtcblx0XHRtYXJnaW4taW5saW5lLXN0YXJ0OiA1cHg7XG5cdH1cblx0Lnpvb20tZ3JvdXAge1xuXHRcdG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDJweDtcblx0fVxufVxuI3diLXJlbmFtZS1tZW51IHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuXG5odG1sW2Rpcj1cInJ0bFwiXSAucm9vbS1ibG9jayAuc2Itd2IgLndiLWJsb2NrIHtcblx0bGVmdDogaW5pdGlhbDtcblx0cmlnaHQ6IGNhbGModmFyKC0tc2lkZWJhci13aWR0aCkgKyB2YXIoLS1idWZmZXItc2l6ZSkpO1xufVxuIiwiLyogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKSBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAgKi9cbi8qIGRhc2hib2FyZCBtb3JlIHJlc3BvbnNpdmUgKi9cbiNjb250ZW50cyAuZGFzaGJvYXJkIHtcblx0ZGlzcGxheTogZmxleDtcblxuXHQ+IGRpdjpudGgtY2hpbGQoMSkge1xuXHRcdHdpZHRoOiA1MCU7XG5cdH1cblx0PiBkaXY6bnRoLWNoaWxkKDIpIHtcblx0XHR3aWR0aDogNTAlO1xuXHR9XG5cdC5jb2x1bW4ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGZsb2F0OiBub25lO1xuXHR9XG59XG5cbi8qIENoYXQgc2VuZCBidXR0b24gd2lkdGggKi9cbiNjaGF0TWVzc2FnZSB7XG5cdHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1jaGF0LXNlbmQtd2lkdGgpKTtcbn1cbiNjaGF0IC5zZW5kIHtcblx0d2lkdGg6IHZhcigtLWNoYXQtc2VuZC13aWR0aCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tY2hhdC1zZW5kLXdpZHRoKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSwgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuXHQuZGFzaGJvYXJkIHtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cblx0XHQ+IGRpdjpudGgtY2hpbGQoMSkge1xuXHRcdFx0ZmxleC1iYXNpczogMTAwJTtcblx0XHR9XG5cdFx0PiBkaXY6bnRoLWNoaWxkKDIpIHtcblx0XHRcdGZsZXgtYmFzaXM6IDEwMCU7XG5cdFx0fVxuXHR9XG5cdGJvZHkge1xuXHRcdGZvbnQtc2l6ZTogMS41dm1heDtcblx0fVxuXHRoMyB7XG5cdFx0Zm9udC1zaXplOiAyLjV2bWF4O1xuXHR9XG5cdC5idG4ge1xuXHRcdGZvbnQtc2l6ZTogMS41dm1heDtcblx0XHRsaW5lLWhlaWdodDogMS41dm1heDtcblx0fVxuXHQjaGVhZGVyIHtcblx0XHRmb250LXNpemU6IDIuNXZtYXg7XG5cdH1cblx0Lm5hdmJhci10b2dnbGVyLWljb24ge1xuXHRcdHdpZHRoOiAyLjVlbTtcblx0XHRoZWlnaHQ6IDIuNWVtO1xuXHR9XG5cdC5uYXZiYXIgLm5hdi1saW5rIHtcblx0XHRmb250LXNpemU6IDEuNXZtYXg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNXZtYXg7XG5cdH1cblx0LmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLWl0ZW0ge1xuXHRcdGZvbnQtc2l6ZTogMS41dm1heDtcblx0XHRsaW5lLWhlaWdodDogMS41dm1heDtcblx0fVxufVxuXG4vKiBkYXNoYm9hcmQgcm9vbXMgd2lkZ2V0cyAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQwMHB4KSwgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuXHQucm9vbXMtd2lkZ2V0IHtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdH1cblx0LnJvb21zLXRhYmxlIHtcblx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHR9XG59XG5cbi8qIG15L2dyb3VwL3B1YmxpYyByb29tcyAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpLCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG5cdC5yb29tcy10YWJsZSB7XG5cdFx0ZmxleC1iYXNpczogMTAwJTtcblx0XHRoZWlnaHQ6IDUwJVxuXHR9XG5cdC50YWItY29udGVudCB7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHR9XG5cdC5yb29tcy1hcmVhIHtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdH1cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/