@media print, screen and (min-width: 40em){.reveal,.reveal.tiny,.reveal.small,.reveal.large{right:auto;left:auto;margin:0 auto}}table.dataTable.dtr-inline.collapsed>tbody>tr>td.child,table.dataTable.dtr-inline.collapsed>tbody>tr>th.child,table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty{cursor:default !important}table.dataTable.dtr-inline.collapsed>tbody>tr>td.child:before,table.dataTable.dtr-inline.collapsed>tbody>tr>th.child:before,table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty:before{display:none !important}table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>td:first-child,table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>th:first-child{position:relative;padding-left:30px;cursor:pointer}table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>td:first-child:before,table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>th:first-child:before{top:9px;left:4px;height:14px;width:14px;display:block;position:absolute;color:white;border:2px solid white;border-radius:14px;-webkit-box-shadow:0 0 3px #444;box-shadow:0 0 3px #444;-webkit-box-sizing:content-box;box-sizing:content-box;text-align:center;text-indent:0 !important;font-family:'Courier New', Courier, monospace;line-height:14px;content:'+';background-color:#008cba}table.dataTable.dtr-inline.collapsed>tbody>tr.parent>td:first-child:before,table.dataTable.dtr-inline.collapsed>tbody>tr.parent>th:first-child:before{content:'-';background-color:#d33333}table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child,table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child{padding-left:27px}table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child:before,table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child:before{top:5px;left:4px;height:14px;width:14px;border-radius:14px;line-height:14px;text-indent:3px}table.dataTable.dtr-column>tbody>tr>td.control,table.dataTable.dtr-column>tbody>tr>th.control{position:relative;cursor:pointer}table.dataTable.dtr-column>tbody>tr>td.control:before,table.dataTable.dtr-column>tbody>tr>th.control:before{top:50%;left:50%;height:16px;width:16px;margin-top:-10px;margin-left:-10px;display:block;position:absolute;color:white;border:2px solid white;border-radius:14px;-webkit-box-shadow:0 0 3px #444;box-shadow:0 0 3px #444;-webkit-box-sizing:content-box;box-sizing:content-box;text-align:center;text-indent:0 !important;font-family:'Courier New', Courier, monospace;line-height:14px;content:'+';background-color:#008cba}table.dataTable.dtr-column>tbody>tr.parent td.control:before,table.dataTable.dtr-column>tbody>tr.parent th.control:before{content:'-';background-color:#d33333}table.dataTable>tbody>tr.child{padding:0.5em 1em}table.dataTable>tbody>tr.child:hover{background:transparent !important}table.dataTable>tbody>tr.child ul.dtr-details{display:inline-block;list-style-type:none;margin:0;padding:0}table.dataTable>tbody>tr.child ul.dtr-details>li{border-bottom:1px solid #efefef;padding:0.5em 0}table.dataTable>tbody>tr.child ul.dtr-details>li:first-child{padding-top:0}table.dataTable>tbody>tr.child ul.dtr-details>li:last-child{border-bottom:none}table.dataTable>tbody>tr.child span.dtr-title{display:inline-block;min-width:75px;font-weight:bold}div.dtr-modal{position:fixed;-webkit-box-sizing:border-box;box-sizing:border-box;top:0;left:0;height:100%;width:100%;z-index:100;padding:10em 1em}div.dtr-modal div.dtr-modal-display{position:absolute;top:0;left:0;bottom:0;right:0;width:50%;height:50%;overflow:auto;margin:auto;z-index:102;overflow:auto;background-color:#f5f5f7;border:1px solid black;border-radius:0.5em;-webkit-box-shadow:0 12px 30px rgba(0,0,0,0.6);box-shadow:0 12px 30px rgba(0,0,0,0.6)}div.dtr-modal div.dtr-modal-content{position:relative;padding:1em}div.dtr-modal div.dtr-modal-close{position:absolute;top:6px;right:6px;width:22px;height:22px;border:1px solid #eaeaea;background-color:#f9f9f9;text-align:center;border-radius:3px;cursor:pointer;z-index:12}div.dtr-modal div.dtr-modal-close:hover{background-color:#eaeaea}div.dtr-modal div.dtr-modal-background{position:fixed;top:0;left:0;right:0;bottom:0;z-index:101;background:rgba(0,0,0,0.6)}@media screen and (max-width: 767px){div.dtr-modal div.dtr-modal-display{width:95%}}table.dataTable>tbody>tr.child ul{font-size:1em}.jstree-node,.jstree-children,.jstree-container-ul{display:block;margin:0;padding:0;list-style-type:none;list-style-image:none}.jstree-node{white-space:nowrap}.jstree-anchor{display:inline-block;color:black;white-space:nowrap;padding:0 4px 0 1px;margin:0;vertical-align:top}.jstree-anchor:focus{outline:0}.jstree-anchor,.jstree-anchor:link,.jstree-anchor:visited,.jstree-anchor:hover,.jstree-anchor:active{text-decoration:none;color:inherit}.jstree-icon{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-icon:empty{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-ocl{cursor:pointer}.jstree-leaf>.jstree-ocl{cursor:default}.jstree .jstree-open>.jstree-children{display:block}.jstree .jstree-closed>.jstree-children,.jstree .jstree-leaf>.jstree-children{display:none}.jstree-anchor>.jstree-themeicon{margin-right:2px}.jstree-no-icons .jstree-themeicon,.jstree-anchor>.jstree-themeicon-hidden{display:none}.jstree-hidden,.jstree-node.jstree-hidden{display:none}.jstree-rtl .jstree-anchor{padding:0 1px 0 4px}.jstree-rtl .jstree-anchor>.jstree-themeicon{margin-left:2px;margin-right:0}.jstree-rtl .jstree-node{margin-left:0}.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-wholerow-ul{position:relative;display:inline-block;min-width:100%}.jstree-wholerow-ul .jstree-leaf>.jstree-ocl{cursor:pointer}.jstree-wholerow-ul .jstree-anchor,.jstree-wholerow-ul .jstree-icon{position:relative}.jstree-wholerow-ul .jstree-wholerow{width:100%;cursor:pointer;position:absolute;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jstree-contextmenu .jstree-anchor{-webkit-user-select:none;-webkit-touch-callout:none}.vakata-context{display:none}.vakata-context,.vakata-context ul{margin:0;padding:2px;position:absolute;background:#f5f5f5;border:1px solid #979797;-webkit-box-shadow:2px 2px 2px #999999;box-shadow:2px 2px 2px #999999}.vakata-context ul{list-style:none;left:100%;margin-top:-2.7em;margin-left:-4px}.vakata-context .vakata-context-right ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none}.vakata-context li>a{display:block;padding:0 2em 0 2em;text-decoration:none;width:auto;color:black;white-space:nowrap;line-height:2.4em;text-shadow:1px 1px 0 white;border-radius:1px}.vakata-context li>a:hover{position:relative;background-color:#e8eff7;-webkit-box-shadow:0 0 2px #0a6aa1;box-shadow:0 0 2px #0a6aa1}.vakata-context li>a.vakata-context-parent{background-image:url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==");background-position:right center;background-repeat:no-repeat}.vakata-context li>a:focus{outline:0}.vakata-context .vakata-context-hover>a{position:relative;background-color:#e8eff7;-webkit-box-shadow:0 0 2px #0a6aa1;box-shadow:0 0 2px #0a6aa1}.vakata-context .vakata-context-separator>a,.vakata-context .vakata-context-separator>a:hover{background:white;border:0;border-top:1px solid #e2e3e3;height:1px;min-height:1px;max-height:1px;padding:0;margin:0 0 0 2.4em;border-left:1px solid #e0e0e0;text-shadow:0 0 0 transparent;-webkit-box-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;border-radius:0}.vakata-context .vakata-contextmenu-disabled a,.vakata-context .vakata-contextmenu-disabled a:hover{color:silver;background-color:transparent;border:0;-webkit-box-shadow:0 0 0;box-shadow:0 0 0}.vakata-context .vakata-contextmenu-disabled>a>i{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.vakata-context li>a>i{text-decoration:none;display:inline-block;width:2.4em;height:2.4em;background:transparent;margin:0 0 0 -2em;vertical-align:top;text-align:center;line-height:2.4em}.vakata-context li>a>i:empty{width:2.4em;line-height:2.4em}.vakata-context li>a .vakata-contextmenu-sep{display:inline-block;width:1px;height:2.4em;background:white;margin:0 0.5em 0 0;border-left:1px solid #e2e3e3}.vakata-context .vakata-contextmenu-shortcut{font-size:0.8em;color:silver;opacity:0.5;display:none}.vakata-context-rtl ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context-rtl li>a.vakata-context-parent{background-image:url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7");background-position:left center;background-repeat:no-repeat}.vakata-context-rtl .vakata-context-separator>a{margin:0 2.4em 0 0;border-left:0;border-right:1px solid #e2e3e3}.vakata-context-rtl .vakata-context-left ul{right:auto;left:100%;margin-left:-4px;margin-right:auto}.vakata-context-rtl li>a>i{margin:0 -2em 0 0}.vakata-context-rtl li>a .vakata-contextmenu-sep{margin:0 0 0 0.5em;border-left-color:white;background:#e2e3e3}#jstree-marker{position:absolute;top:0;left:0;margin:-5px 0 0 0;padding:0;border-right:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid;width:0;height:0;font-size:0;line-height:0}#jstree-dnd{line-height:16px;margin:0;padding:4px}#jstree-dnd .jstree-icon,#jstree-dnd .jstree-copy{display:inline-block;text-decoration:none;margin:0 2px 0 0;padding:0;width:16px;height:16px}#jstree-dnd .jstree-ok{background:green}#jstree-dnd .jstree-er{background:red}#jstree-dnd .jstree-copy{margin:0 2px 0 2px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-repeat:no-repeat;background-color:transparent}.jstree-default .jstree-anchor,.jstree-default .jstree-animated,.jstree-default .jstree-wholerow{-webkit-transition:background-color 0.15s, -webkit-box-shadow 0.15s;transition:background-color 0.15s, -webkit-box-shadow 0.15s;transition:background-color 0.15s, box-shadow 0.15s;transition:background-color 0.15s, box-shadow 0.15s, -webkit-box-shadow 0.15s}.jstree-default .jstree-hovered{background:#e7f4f9;border-radius:2px;-webkit-box-shadow:inset 0 0 1px #cccccc;box-shadow:inset 0 0 1px #cccccc}.jstree-default .jstree-context{background:#e7f4f9;border-radius:2px;-webkit-box-shadow:inset 0 0 1px #cccccc;box-shadow:inset 0 0 1px #cccccc}.jstree-default .jstree-clicked{background:#beebff;border-radius:2px;-webkit-box-shadow:inset 0 0 1px #999999;box-shadow:inset 0 0 1px #999999}.jstree-default .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default .jstree-disabled{background:transparent;color:#666666}.jstree-default .jstree-disabled.jstree-hovered{background:transparent;-webkit-box-shadow:none;box-shadow:none}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-disabled>.jstree-icon{opacity:0.8;filter:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='jstree-grayscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default .jstree-search{font-style:italic;color:#8b0000;font-weight:bold}.jstree-default .jstree-no-checkboxes .jstree-checkbox{display:none !important}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked{background:transparent;-webkit-box-shadow:none;box-shadow:none}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#e7f4f9}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:transparent}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#e7f4f9}.jstree-default>.jstree-striped{min-width:100%;display:inline-block;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==") left top repeat}.jstree-default>.jstree-wholerow-ul .jstree-hovered,.jstree-default>.jstree-wholerow-ul .jstree-clicked{background:transparent;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.jstree-default .jstree-wholerow{-webkit-box-sizing:border-box;box-sizing:border-box}.jstree-default .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default .jstree-wholerow-clicked{background:#beebff;background:-webkit-gradient(linear, left top, left bottom, from(#beebff), to(#a8e4ff));background:linear-gradient(to bottom, #beebff 0%, #a8e4ff 100%)}.jstree-default .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px}.jstree-default .jstree-anchor{line-height:24px;height:24px}.jstree-default .jstree-icon{width:24px;height:24px;line-height:24px}.jstree-default .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default.jstree-rtl .jstree-node{margin-right:24px}.jstree-default .jstree-wholerow{height:24px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-image:url("32px.png")}.jstree-default .jstree-node{background-position:-292px -4px;background-repeat:repeat-y}.jstree-default .jstree-last{background:transparent}.jstree-default .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default .jstree-themeicon{background-position:-260px -4px}.jstree-default>.jstree-no-dots .jstree-node,.jstree-default>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default .jstree-disabled{background:transparent}.jstree-default .jstree-disabled.jstree-hovered{background:transparent}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-checkbox{background-position:-164px -4px}.jstree-default .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default .jstree-checked>.jstree-checkbox{background-position:-228px -4px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default .jstree-checked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default .jstree-checkbox-disabled{opacity:0.8;filter:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='jstree-grayscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default>.jstree-striped{background-size:auto 48px}.jstree-default.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");background-position:100% 1px;background-repeat:repeat-y}.jstree-default.jstree-rtl .jstree-last{background:transparent}.jstree-default.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url("throbber.gif") center center no-repeat}.jstree-default .jstree-file{background:url("32px.png") -100px -68px no-repeat}.jstree-default .jstree-folder{background:url("32px.png") -260px -4px no-repeat}.jstree-default>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default{line-height:24px;padding:0 4px}#jstree-dnd.jstree-default .jstree-ok,#jstree-dnd.jstree-default .jstree-er{background-image:url("32px.png");background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default i{background:transparent;width:24px;height:24px;line-height:24px}#jstree-dnd.jstree-default .jstree-ok{background-position:-4px -68px}#jstree-dnd.jstree-default .jstree-er{background-position:-36px -68px}.jstree-default .jstree-ellipsis{overflow:hidden}.jstree-default .jstree-ellipsis .jstree-anchor{width:calc(100% - 29px);text-overflow:ellipsis;overflow:hidden}.jstree-default.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==")}.jstree-default.jstree-rtl .jstree-last{background:transparent}.jstree-default-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px}.jstree-default-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-small .jstree-icon{width:18px;height:18px;line-height:18px}.jstree-default-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default-small.jstree-rtl .jstree-node{margin-right:18px}.jstree-default-small .jstree-wholerow{height:18px}.jstree-default-small .jstree-node,.jstree-default-small .jstree-icon{background-image:url("32px.png")}.jstree-default-small .jstree-node{background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-small .jstree-last{background:transparent}.jstree-default-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-small>.jstree-no-dots .jstree-node,.jstree-default-small>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-small .jstree-disabled{background:transparent}.jstree-default-small .jstree-disabled.jstree-hovered{background:transparent}.jstree-default-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-small .jstree-checked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-small .jstree-checked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-small .jstree-checkbox-disabled{opacity:0.8;filter:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='jstree-grayscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-small>.jstree-striped{background-size:auto 36px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");background-position:100% 1px;background-repeat:repeat-y}.jstree-default-small.jstree-rtl .jstree-last{background:transparent}.jstree-default-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url("throbber.gif") center center no-repeat}.jstree-default-small .jstree-file{background:url("32px.png") -103px -71px no-repeat}.jstree-default-small .jstree-folder{background:url("32px.png") -263px -7px no-repeat}.jstree-default-small>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-small{line-height:18px;padding:0 4px}#jstree-dnd.jstree-default-small .jstree-ok,#jstree-dnd.jstree-default-small .jstree-er{background-image:url("32px.png");background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-small i{background:transparent;width:18px;height:18px;line-height:18px}#jstree-dnd.jstree-default-small .jstree-ok{background-position:-7px -71px}#jstree-dnd.jstree-default-small .jstree-er{background-position:-39px -71px}.jstree-default-small .jstree-ellipsis{overflow:hidden}.jstree-default-small .jstree-ellipsis .jstree-anchor{width:calc(100% - 23px);text-overflow:ellipsis;overflow:hidden}.jstree-default-small.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==")}.jstree-default-small.jstree-rtl .jstree-last{background:transparent}.jstree-default-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px}.jstree-default-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-large .jstree-icon{width:32px;height:32px;line-height:32px}.jstree-default-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-large.jstree-rtl .jstree-node{margin-right:32px}.jstree-default-large .jstree-wholerow{height:32px}.jstree-default-large .jstree-node,.jstree-default-large .jstree-icon{background-image:url("32px.png")}.jstree-default-large .jstree-node{background-position:-288px 0px;background-repeat:repeat-y}.jstree-default-large .jstree-last{background:transparent}.jstree-default-large .jstree-open>.jstree-ocl{background-position:-128px 0px}.jstree-default-large .jstree-closed>.jstree-ocl{background-position:-96px 0px}.jstree-default-large .jstree-leaf>.jstree-ocl{background-position:-64px 0px}.jstree-default-large .jstree-themeicon{background-position:-256px 0px}.jstree-default-large>.jstree-no-dots .jstree-node,.jstree-default-large>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0px}.jstree-default-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0px 0px}.jstree-default-large .jstree-disabled{background:transparent}.jstree-default-large .jstree-disabled.jstree-hovered{background:transparent}.jstree-default-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-large .jstree-checkbox{background-position:-160px 0px}.jstree-default-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-large .jstree-checked>.jstree-checkbox{background-position:-224px 0px}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-large .jstree-checked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0px}.jstree-default-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-large .jstree-checkbox-disabled{opacity:0.8;filter:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='jstree-grayscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-large>.jstree-striped{background-size:auto 64px}.jstree-default-large.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");background-position:100% 1px;background-repeat:repeat-y}.jstree-default-large.jstree-rtl .jstree-last{background:transparent}.jstree-default-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0px -32px}.jstree-default-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url("throbber.gif") center center no-repeat}.jstree-default-large .jstree-file{background:url("32px.png") -96px -64px no-repeat}.jstree-default-large .jstree-folder{background:url("32px.png") -256px 0px no-repeat}.jstree-default-large>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-large{line-height:32px;padding:0 4px}#jstree-dnd.jstree-default-large .jstree-ok,#jstree-dnd.jstree-default-large .jstree-er{background-image:url("32px.png");background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-large i{background:transparent;width:32px;height:32px;line-height:32px}#jstree-dnd.jstree-default-large .jstree-ok{background-position:0px -64px}#jstree-dnd.jstree-default-large .jstree-er{background-position:-32px -64px}.jstree-default-large .jstree-ellipsis{overflow:hidden}.jstree-default-large .jstree-ellipsis .jstree-anchor{width:calc(100% - 37px);text-overflow:ellipsis;overflow:hidden}.jstree-default-large.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==")}.jstree-default-large.jstree-rtl .jstree-last{background:transparent}@media (max-width: 768px){#jstree-dnd.jstree-dnd-responsive{line-height:40px;font-weight:bold;font-size:1.1em;text-shadow:1px 1px white}#jstree-dnd.jstree-dnd-responsive>i{background:transparent;width:40px;height:40px}#jstree-dnd.jstree-dnd-responsive>.jstree-ok{background-image:url("40px.png");background-position:0 -200px;background-size:120px 240px}#jstree-dnd.jstree-dnd-responsive>.jstree-er{background-image:url("40px.png");background-position:-40px -200px;background-size:120px 240px}#jstree-marker.jstree-dnd-responsive{border-left-width:10px;border-top-width:10px;border-bottom-width:10px;margin-top:-10px}}@media (max-width: 768px){.jstree-default-responsive .jstree-icon{background-image:url("40px.png")}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-responsive .jstree-anchor{line-height:40px;height:40px}.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0}.jstree-default-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px;background:transparent}.jstree-default-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-responsive .jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-size:120px 240px}.jstree-default-responsive .jstree-leaf>.jstree-ocl,.jstree-default-responsive.jstree-rtl .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default-responsive .jstree-open>.jstree-ocl{background-position:0 0 !important}.jstree-default-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px !important}.jstree-default-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0 !important}.jstree-default-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-responsive .jstree-checked>.jstree-checkbox,.jstree-default-responsive .jstree-checked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-responsive .jstree-anchor{font-weight:bold;font-size:1.1em;text-shadow:1px 1px white}.jstree-default-responsive>.jstree-striped{background:transparent}.jstree-default-responsive .jstree-wholerow{border-top:1px solid rgba(255,255,255,0.7);border-bottom:1px solid rgba(64,64,64,0.2);background:#ebebeb;height:40px}.jstree-default-responsive .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default-responsive .jstree-wholerow-clicked{background:#beebff}.jstree-default-responsive .jstree-children .jstree-last>.jstree-wholerow{-webkit-box-shadow:inset 0 -6px 3px -5px #666666;box-shadow:inset 0 -6px 3px -5px #666666}.jstree-default-responsive .jstree-children .jstree-open>.jstree-wholerow{-webkit-box-shadow:inset 0 6px 3px -5px #666666;box-shadow:inset 0 6px 3px -5px #666666;border-top:0}.jstree-default-responsive .jstree-children .jstree-open+.jstree-open{-webkit-box-shadow:none;box-shadow:none}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-node>.jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-image:url("40px.png");background-size:120px 240px}.jstree-default-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-responsive .jstree-last{background:transparent}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-responsive .jstree-file{background:url("40px.png") 0 -160px no-repeat;background-size:120px 240px}.jstree-default-responsive .jstree-folder{background:url("40px.png") -40px -40px no-repeat;background-size:120px 240px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}}table.dataTable{width:100%;margin:0 auto;clear:both;border-collapse:separate;border-spacing:0;font-size:.875rem;border:1px solid #999}table.dataTable thead th,table.dataTable tfoot th{font-weight:bold;padding:5px;border-bottom:1px solid #111;font-size:.875rem}table.dataTable thead th:active,table.dataTable thead td:active{outline:none}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer;*cursor:hand;background-repeat:no-repeat;background-position:center right}table.dataTable thead .sorting{background-image:url("/DataTables-1.10.22/images/sort_both.png")}table.dataTable thead .sorting_asc{background-image:url("/DataTables-1.10.22/images/sort_asc.png")}table.dataTable thead .sorting_desc{background-image:url("/DataTables-1.10.22/images/sort_desc.png")}table.dataTable thead .sorting_asc_disabled{background-image:url("/DataTables-1.10.22/images/sort_asc_disabled.png")}table.dataTable thead .sorting_desc_disabled{background-image:url("/DataTables-1.10.22/images/sort_desc_disabled.png")}table.dataTable tbody tr{background-color:#ffffff}table.dataTable tbody tr.selected{background-color:#B0BED9}table.dataTable tbody th,table.dataTable tbody td{padding:7px 8px;height:15px !important;line-height:1.125rem}table.dataTable.row-border tbody th,table.dataTable.row-border tbody td,table.dataTable.display tbody th,table.dataTable.display tbody td{border-top:1px solid #ddd}table.dataTable.row-border tbody tr:first-child th,table.dataTable.row-border tbody tr:first-child td,table.dataTable.display tbody tr:first-child th,table.dataTable.display tbody tr:first-child td{border-top:none}table.dataTable.cell-border tbody th,table.dataTable.cell-border tbody td{border-top:1px solid #ddd;border-right:1px solid #ddd}table.dataTable.cell-border tbody tr th:first-child,table.dataTable.cell-border tbody tr td:first-child{border-left:1px solid #ddd}table.dataTable.cell-border tbody tr:first-child th,table.dataTable.cell-border tbody tr:first-child td{border-top:none}table.dataTable.stripe tbody tr.odd,table.dataTable.display tbody tr.odd{background-color:#ddd}table.dataTable.stripe tbody tr.odd.selected,table.dataTable.display tbody tr.odd.selected{background-color:#acbad4}table.dataTable.hover tbody tr:hover,table.dataTable.display tbody tr:hover{background-color:#f6f6f6}table.dataTable.hover tbody tr:hover.selected,table.dataTable.display tbody tr:hover.selected{background-color:#aab7d1}table.dataTable.order-column tbody tr>.sorting_1,table.dataTable.order-column tbody tr>.sorting_2,table.dataTable.order-column tbody tr>.sorting_3,table.dataTable.display tbody tr>.sorting_1,table.dataTable.display tbody tr>.sorting_2,table.dataTable.display tbody tr>.sorting_3{background-color:#bbb}table.dataTable.order-column tbody tr.selected>.sorting_1,table.dataTable.order-column tbody tr.selected>.sorting_2,table.dataTable.order-column tbody tr.selected>.sorting_3,table.dataTable.display tbody tr.selected>.sorting_1,table.dataTable.display tbody tr.selected>.sorting_2,table.dataTable.display tbody tr.selected>.sorting_3{background-color:#acbad5}table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd>.sorting_1{background-color:#bbb}table.dataTable.display tbody tr.odd>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd>.sorting_2{background-color:#bbb}table.dataTable.display tbody tr.odd>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd>.sorting_3{background-color:whitesmoke}table.dataTable.display tbody tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_1{background-color:#a6b4cd}table.dataTable.display tbody tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.order-column.stripe tbody tr.even>.sorting_1{background-color:#bbb}table.dataTable.display tbody tr.even>.sorting_2,table.dataTable.order-column.stripe tbody tr.even>.sorting_2{background-color:#bbb}table.dataTable.display tbody tr.even>.sorting_3,table.dataTable.order-column.stripe tbody tr.even>.sorting_3{background-color:#fefefe}table.dataTable.display tbody tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_1{background-color:#acbad5}table.dataTable.display tbody tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{background-color:#eaeaea}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{background-color:#ececec}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{background-color:#efefef}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{background-color:#a2aec7}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{background-color:#a5b2cb}table.dataTable.no-footer{border-bottom:1px solid #111}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable.compact thead th,table.dataTable.compact thead td{padding:4px 17px}table.dataTable.compact tfoot th,table.dataTable.compact tfoot td{padding:4px}table.dataTable.compact tbody th,table.dataTable.compact tbody td{padding:4px}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-center,table.dataTable td.dt-center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}table.dataTable,table.dataTable th,table.dataTable td{-webkit-box-sizing:content-box;box-sizing:content-box}.dataTables_wrapper{position:relative;clear:both;*zoom:1;zoom:1}.dataTables_wrapper .dataTables_length{float:left}.dataTables_wrapper .dataTables_length select{width:75px;margin-bottom:0}.dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter input{border:1px solid #aaa;border-radius:3px;padding:5px;background-color:transparent;margin-left:3px}.dataTables_wrapper .dataTables_info{clear:both;float:left;padding-top:0.755em}.dataTables_wrapper .dataTables_paginate{float:right;text-align:right;padding-top:0.25em}.dataTables_wrapper .dataTables_paginate .paginate_button{-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;min-width:1em;padding:0.25em .75em;margin-left:2px;text-align:center;text-decoration:none !important;cursor:pointer;*cursor:hand;color:#333 !important;border:1px solid transparent;border-radius:2px}.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#333 !important;border:1px solid #979797;background-color:white;background:-webkit-gradient(linear, left top, left bottom, from(#fff), to(#dcdcdc));background:linear-gradient(to bottom, #fff 0%, #dcdcdc 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active{cursor:default;color:#666 !important;border:1px solid transparent;background:transparent;-webkit-box-shadow:none;box-shadow:none}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{color:white !important;border:1px solid #111;background-color:#ddd;background:-webkit-gradient(linear, left top, left bottom, from(#fff), to(#dcdcdc));background:linear-gradient(to bottom, #fff 0%, #dcdcdc 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button:active{outline:none;background-color:#2b2b2b;background:-webkit-gradient(linear, left top, left bottom, from(#2b2b2b), to(#0c0c0c));background:linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);-webkit-box-shadow:inset 0 0 3px #111;box-shadow:inset 0 0 3px #111}.dataTables_wrapper .dataTables_paginate .ellipsis{padding:0 1em}.dataTables_wrapper .dataTables_processing{position:absolute;top:50%;left:50%;width:100%;display:block;height:180px;margin-left:-50%;margin-top:-25px;padding-top:20px;text-align:center;font-size:1.2em;background-color:white}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_processing,.dataTables_wrapper .dataTables_paginate{color:#333}.dataTables_wrapper .dataTables_scroll{clear:both}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody{*margin-top:-1px;-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td{vertical-align:middle}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td>div.dataTables_sizing{height:0;overflow:hidden;margin:0 !important;padding:0 !important}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:1px solid #111}.dataTables_wrapper.no-footer div.dataTables_scrollHead table.dataTable,.dataTables_wrapper.no-footer div.dataTables_scrollBody>table{border-bottom:none}.dataTables_wrapper:after{visibility:hidden;display:block;content:"";clear:both;height:0}@media screen and (max-width: 767px){.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{float:none;text-align:center}.dataTables_wrapper .dataTables_paginate{margin-top:0.5em}}@media screen and (max-width: 640px){.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{float:none;text-align:center}.dataTables_wrapper .dataTables_filter{margin-top:0.5em}}table.dataTable thead th select{width:90%;height:1.25rem;font-size:1em;font-weight:normal;padding:1px;background-position:right 1px center;margin-bottom:5px}table.dataTable thead th input{width:90%;height:1.25rem;font-size:1em;font-weight:normal;padding:2px;margin-bottom:5px}table.dataTable{clear:both;margin:0.5em 0 !important;max-width:none !important;width:100%}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}div.dataTables_wrapper{position:relative}div.dataTables_wrapper div.dataTables_length label{float:left;text-align:left;margin-bottom:0}div.dataTables_wrapper div.dataTables_length select{width:75px;margin-bottom:0}div.dataTables_wrapper div.dataTables_filter label{float:right;margin-bottom:0}div.dataTables_wrapper div.dataTables_filter input{display:inline-block !important;width:auto !important;margin-bottom:0;margin-left:0.5em}div.dataTables_wrapper div.dataTables_info{padding-top:2px}div.dataTables_wrapper div.dataTables_paginate{float:right;margin:0}div.dataTables_wrapper div.dataTables_processing{border:.4rem solid #7fbc43;font-family:"Play",Arial,sans-serif;font-size:24px;color:#014c90;position:absolute;top:50%;left:50%;width:200px;height:80px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1rem 0;-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25)}table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting{padding-right:1.5rem}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{background-repeat:no-repeat;background-position:center right}table.dataTable thead .sorting{background-image:url("../images/sort_both.png")}table.dataTable thead .sorting_asc{background-image:url("../images/sort_asc.png")}table.dataTable thead .sorting_desc{background-image:url("../images/sort_desc.png")}table.dataTable thead .sorting_asc_disabled{background-image:url("../images/sort_asc_disabled.png")}table.dataTable thead .sorting_desc_disabled{background-image:url("../images/sort_desc_disabled.png")}div.dataTables_scrollHead table{margin-bottom:0 !important}div.dataTables_scrollBody table{border-top:none;margin-top:0 !important;margin-bottom:0 !important}div.dataTables_scrollBody table tbody tr:first-child th,div.dataTables_scrollBody table tbody tr:first-child td{border-top:none}div.dataTables_scrollFoot table{margin-top:0 !important;border-top:none}table.dataTable.dtr-inline.collapsed>tbody>tr>td.child,table.dataTable.dtr-inline.collapsed>tbody>tr>th.child,table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty{cursor:default !important}table.dataTable.dtr-inline.collapsed>tbody>tr>td.child:before,table.dataTable.dtr-inline.collapsed>tbody>tr>th.child:before,table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty:before{display:none !important}table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>td:first-child,table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>th:first-child{position:relative;padding-left:30px;cursor:pointer}table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>td:first-child:before,table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>th:first-child:before{top:9px;left:4px;height:14px;width:14px;display:block;position:absolute;color:white;border:2px solid white;border-radius:14px;-webkit-box-shadow:0 0 3px #444;box-shadow:0 0 3px #444;-webkit-box-sizing:content-box;box-sizing:content-box;text-align:center;text-indent:0 !important;font-family:'Courier New', Courier, monospace;line-height:14px;content:'+';background-color:#008cba}table.dataTable.dtr-inline.collapsed>tbody>tr.parent>td:first-child:before,table.dataTable.dtr-inline.collapsed>tbody>tr.parent>th:first-child:before{content:'-';background-color:#d33333}table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child,table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child{padding-left:27px}table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child:before,table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child:before{top:5px;left:4px;height:14px;width:14px;border-radius:14px;line-height:14px;text-indent:3px}table.dataTable.dtr-column>tbody>tr>td.control,table.dataTable.dtr-column>tbody>tr>th.control{position:relative;cursor:pointer}table.dataTable.dtr-column>tbody>tr>td.control:before,table.dataTable.dtr-column>tbody>tr>th.control:before{top:50%;left:50%;height:16px;width:16px;margin-top:-10px;margin-left:-10px;display:block;position:absolute;color:white;border:2px solid white;border-radius:14px;-webkit-box-shadow:0 0 3px #444;box-shadow:0 0 3px #444;-webkit-box-sizing:content-box;box-sizing:content-box;text-align:center;text-indent:0 !important;font-family:'Courier New', Courier, monospace;line-height:14px;content:'+';background-color:#008cba}table.dataTable.dtr-column>tbody>tr.parent td.control:before,table.dataTable.dtr-column>tbody>tr.parent th.control:before{content:'-';background-color:#d33333}table.dataTable>tbody>tr.child{padding:0.5em 1em}table.dataTable>tbody>tr.child:hover{background:transparent !important}table.dataTable>tbody>tr.child ul.dtr-details{display:inline-block;list-style-type:none;margin:0;padding:0}table.dataTable>tbody>tr.child ul.dtr-details>li{border-bottom:1px solid #efefef;padding:0.5em 0}table.dataTable>tbody>tr.child ul.dtr-details>li:first-child{padding-top:0}table.dataTable>tbody>tr.child ul.dtr-details>li:last-child{border-bottom:none}table.dataTable>tbody>tr.child span.dtr-title{display:inline-block;min-width:75px;font-weight:bold}div.dtr-modal{position:fixed;-webkit-box-sizing:border-box;box-sizing:border-box;top:0;left:0;height:100%;width:100%;z-index:100;padding:10em 1em}div.dtr-modal div.dtr-modal-display{position:absolute;top:0;left:0;bottom:0;right:0;width:50%;height:50%;overflow:auto;margin:auto;z-index:102;overflow:auto;background-color:#f5f5f7;border:1px solid black;border-radius:0.5em;-webkit-box-shadow:0 12px 30px rgba(0,0,0,0.6);box-shadow:0 12px 30px rgba(0,0,0,0.6)}div.dtr-modal div.dtr-modal-content{position:relative;padding:1em}div.dtr-modal div.dtr-modal-close{position:absolute;top:6px;right:6px;width:22px;height:22px;border:1px solid #eaeaea;background-color:#f9f9f9;text-align:center;border-radius:3px;cursor:pointer;z-index:12}div.dtr-modal div.dtr-modal-close:hover{background-color:#eaeaea}div.dtr-modal div.dtr-modal-background{position:fixed;top:0;left:0;right:0;bottom:0;z-index:101;background:rgba(0,0,0,0.6)}@media screen and (max-width: 767px){div.dtr-modal div.dtr-modal-display{width:95%}}table.dataTable>tbody>tr.child ul{font-size:1em}/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:0.67em 0}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.foundation-mq{font-family:"small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"}html{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:100%}*,*::before,*::after{-webkit-box-sizing:inherit;box-sizing:inherit}body{margin:0;padding:0;background:#fefefe;font-family:"Arimo",Arial,sans-serif;font-weight:normal;line-height:1.5;color:#0a0a0a;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:inline-block;vertical-align:middle;max-width:100%;height:auto;-ms-interpolation-mode:bicubic}textarea{height:auto;min-height:50px;border-radius:0}select{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;border-radius:0}.map_canvas img,.map_canvas embed,.map_canvas object,.mqa-display img,.mqa-display embed,.mqa-display object{max-width:none !important}button{padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:0;background:transparent;line-height:1;cursor:auto}[data-whatinput='mouse'] button{outline:0}pre{overflow:auto}button,input,optgroup,select,textarea{font-family:inherit}.is-visible{display:block !important}.is-hidden{display:none !important}[type='text'],[type='password'],[type='date'],[type='datetime'],[type='datetime-local'],[type='month'],[type='week'],[type='email'],[type='number'],[type='search'],[type='tel'],[type='time'],[type='url'],[type='color'],textarea{display:block;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:2.4375rem;margin:0 0 1rem;padding:.5rem;border:1px solid #cacaca;border-radius:0;background-color:#fefefe;-webkit-box-shadow:inset 0 1px 2px rgba(10,10,10,0.1);box-shadow:inset 0 1px 2px rgba(10,10,10,0.1);font-family:inherit;font-size:1rem;font-weight:normal;line-height:1.5;color:#0a0a0a;-webkit-transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:box-shadow 0.5s,border-color 0.25s ease-in-out;transition:box-shadow 0.5s,border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;-webkit-appearance:none;-moz-appearance:none;appearance:none}[type='text']:focus,[type='password']:focus,[type='date']:focus,[type='datetime']:focus,[type='datetime-local']:focus,[type='month']:focus,[type='week']:focus,[type='email']:focus,[type='number']:focus,[type='search']:focus,[type='tel']:focus,[type='time']:focus,[type='url']:focus,[type='color']:focus,textarea:focus{outline:none;border:1px solid #8a8a8a;-webkit-box-shadow:0 0 5px #cacaca;box-shadow:0 0 5px #cacaca;-webkit-transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:box-shadow 0.5s,border-color 0.25s ease-in-out;transition:box-shadow 0.5s,border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s}textarea{max-width:100%}textarea[rows]{height:auto}input:disabled,input[readonly],textarea:disabled,textarea[readonly]{background-color:#e6e6e6 !important}[type='submit'],[type='button']{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0}input[type='search']{-webkit-box-sizing:border-box;box-sizing:border-box}::-webkit-input-placeholder{color:#cacaca}::-moz-placeholder{color:#cacaca}:-ms-input-placeholder{color:#cacaca}::-ms-input-placeholder{color:#cacaca}::placeholder{color:#cacaca}[type='file'],[type='checkbox'],[type='radio']{margin:0 0 1rem}[type='checkbox']+label,[type='radio']+label{display:inline-block;vertical-align:baseline;margin-left:.5rem;margin-right:1rem;margin-bottom:0}[type='checkbox']+label[for],[type='radio']+label[for]{cursor:pointer}label>[type='checkbox'],label>[type='radio']{margin-right:.5rem}[type='file']{width:100%}label{display:block;margin:0;font-size:.875rem;font-weight:normal;line-height:1.8;color:#0a0a0a}label.middle{margin:0 0 1rem;padding:.5625rem 0}.help-text{margin-top:-.5rem;font-size:.8125rem;font-style:italic;color:#0a0a0a}.input-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;margin-bottom:1rem;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.input-group>:first-child,.input-group>:first-child.input-group-button>*{border-radius:0 0 0 0}.input-group>:last-child,.input-group>:last-child.input-group-button>*{border-radius:0 0 0 0}.input-group-label,.input-group-field,.input-group-button,.input-group-button a,.input-group-button input,.input-group-button button,.input-group-button label{margin:0;white-space:nowrap}.input-group-label{padding:0 1rem;border:1px solid #cacaca;background:#e6e6e6;color:#0a0a0a;text-align:center;white-space:nowrap;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.input-group-label:first-child{border-right:0}.input-group-label:last-child{border-left:0}.input-group-field{border-radius:0;-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;min-width:0}.input-group-button{padding-top:0;padding-bottom:0;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.input-group-button a,.input-group-button input,.input-group-button button,.input-group-button label{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;height:auto;padding-top:0;padding-bottom:0;font-size:1rem}fieldset{margin:0;padding:0;border:0}legend{max-width:100%;margin-bottom:.5rem}.fieldset{margin:1.125rem 0;padding:1.25rem;border:1px solid #cacaca}.fieldset legend{margin:0;margin-left:-.1875rem;padding:0 .1875rem}select{height:1.8125rem;margin:0 0 1rem;padding:.5rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #cacaca;border-radius:0;background-color:#fefefe;font-family:inherit;font-size:1rem;font-weight:normal;line-height:1.5;color:#0a0a0a;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");background-origin:content-box;background-position:right -1rem center;background-repeat:no-repeat;background-size:9px 6px;padding-right:1.5rem;-webkit-transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:box-shadow 0.5s,border-color 0.25s ease-in-out;transition:box-shadow 0.5s,border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s}@media screen and (min-width: 0\0){select{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==")}}select:focus{outline:none;border:1px solid #8a8a8a;background-color:#fefefe;-webkit-box-shadow:0 0 5px #cacaca;box-shadow:0 0 5px #cacaca;-webkit-transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s;transition:box-shadow 0.5s,border-color 0.25s ease-in-out;transition:box-shadow 0.5s,border-color 0.25s ease-in-out,-webkit-box-shadow 0.5s}select:disabled{background-color:#e6e6e6;cursor:not-allowed}select::-ms-expand{display:none}select[multiple]{height:auto;background-image:none}select:not([multiple]){padding-top:0;padding-bottom:0}.is-invalid-input:not(:focus){border-color:#f04124;background-color:#fdebe8}.is-invalid-input:not(:focus)::-webkit-input-placeholder{color:#f04124}.is-invalid-input:not(:focus)::-moz-placeholder{color:#f04124}.is-invalid-input:not(:focus):-ms-input-placeholder{color:#f04124}.is-invalid-input:not(:focus)::-ms-input-placeholder{color:#f04124}.is-invalid-input:not(:focus)::placeholder{color:#f04124}.is-invalid-label{color:#f04124}.form-error{display:none;margin-top:-.5rem;margin-bottom:1rem;font-size:.75rem;font-weight:bold;color:#f04124}.form-error.is-visible{display:block}div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0}p{margin-bottom:1rem;font-size:inherit;line-height:1.6;text-rendering:optimizeLegibility}em,i{font-style:italic;line-height:inherit}strong,b{font-weight:bold;line-height:inherit}small{font-size:80%;line-height:inherit}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{font-family:"Play",Arial,sans-serif;font-style:normal;font-weight:normal;color:#004a8f;text-rendering:optimizeLegibility}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small{line-height:0;color:#cacaca}h1,.h1{font-size:1.5rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h2,.h2{font-size:1.25rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h3,.h3{font-size:1.1875rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h4,.h4{font-size:1.125rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h5,.h5{font-size:1.0625rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}h6,.h6{font-size:1rem;line-height:1.4;margin-top:0;margin-bottom:.5rem}@media print, screen and (min-width: 40em){h1,.h1{font-size:3rem}h2,.h2{font-size:2.5rem}h3,.h3{font-size:1.9375rem}h4,.h4{font-size:1.5625rem}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}}a{line-height:inherit;color:#004a8f;text-decoration:none;cursor:pointer}a:hover,a:focus{color:#00407b}a img{border:0}hr{clear:both;max-width:75rem;height:0;margin:1.25rem auto;border-top:0;border-right:0;border-bottom:1px solid #cacaca;border-left:0}ul,ol,dl{margin-bottom:1rem;list-style-position:outside;line-height:1.6}li{font-size:inherit}ul{margin-left:1.25rem;list-style-type:disc}ol{margin-left:1.25rem}ul ul,ol ul,ul ol,ol ol{margin-left:1.25rem;margin-bottom:0}dl{margin-bottom:1rem}dl dt{margin-bottom:.3rem;font-weight:bold}blockquote{margin:0 0 1rem;padding:.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #cacaca}blockquote,blockquote p{line-height:1.6;color:#8a8a8a}abbr,abbr[title]{border-bottom:1px dotted #0a0a0a;cursor:help;text-decoration:none}figure{margin:0}kbd{margin:0;padding:.125rem .25rem 0;background-color:#e6e6e6;font-family:Consolas,"Liberation Mono",Courier,monospace;color:#0a0a0a}.subheader{margin-top:.2rem;margin-bottom:.5rem;font-weight:normal;line-height:1.4;color:#8a8a8a}.lead{font-size:125%;line-height:1.6}.stat{font-size:2.5rem;line-height:1}p+.stat{margin-top:-1rem}ul.no-bullet,ol.no-bullet{margin-left:0;list-style:none}.cite-block,cite{display:block;color:#8a8a8a;font-size:.8125rem}.cite-block:before,cite:before{content:"— "}.code-inline,code{border:1px solid #cacaca;background-color:#e6e6e6;font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:normal;color:#0a0a0a;display:inline;max-width:100%;word-wrap:break-word;padding:.125rem .3125rem .0625rem}.code-block{border:1px solid #cacaca;background-color:#e6e6e6;font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:normal;color:#0a0a0a;display:block;overflow:auto;white-space:pre;padding:1rem;margin-bottom:1.5rem}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}@media print, screen and (min-width: 40em){.medium-text-left{text-align:left}.medium-text-right{text-align:right}.medium-text-center{text-align:center}.medium-text-justify{text-align:justify}}@media print, screen and (min-width: 64em){.large-text-left{text-align:left}.large-text-right{text-align:right}.large-text-center{text-align:center}.large-text-justify{text-align:justify}}.show-for-print{display:none !important}@media print{*{background:transparent !important;color:black !important;-webkit-print-color-adjust:economy;color-adjust:economy;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}.show-for-print{display:block !important}.hide-for-print{display:none !important}table.show-for-print{display:table !important}thead.show-for-print{display:table-header-group !important}tbody.show-for-print{display:table-row-group !important}tr.show-for-print{display:table-row !important}td.show-for-print{display:table-cell !important}th.show-for-print{display:table-cell !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}.ir a:after,a[href^='javascript:']:after,a[href^='#']:after{content:''}abbr[title]:after{content:" (" attr(title) ")"}pre,blockquote{border:1px solid #8a8a8a;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.print-break-inside{page-break-inside:auto}}.grid-container{padding-right:.625rem;padding-left:.625rem;max-width:75rem;margin-left:auto;margin-right:auto}@media print, screen and (min-width: 40em){.grid-container{padding-right:.9375rem;padding-left:.9375rem}}.grid-container.fluid{padding-right:.625rem;padding-left:.625rem;max-width:100%;margin-left:auto;margin-right:auto}@media print, screen and (min-width: 40em){.grid-container.fluid{padding-right:.9375rem;padding-left:.9375rem}}.grid-container.full{padding-right:0;padding-left:0;max-width:100%;margin-left:auto;margin-right:auto}.grid-x{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.cell{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;min-height:0px;min-width:0px;width:100%}.cell.auto{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.cell.shrink{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-x>.auto{width:auto}.grid-x>.shrink{width:auto}.grid-x>.small-shrink,.grid-x>.small-full,.grid-x>.small-1,.grid-x>.small-2,.grid-x>.small-3,.grid-x>.small-4,.grid-x>.small-5,.grid-x>.small-6,.grid-x>.small-7,.grid-x>.small-8,.grid-x>.small-9,.grid-x>.small-10,.grid-x>.small-11,.grid-x>.small-12{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}@media print, screen and (min-width: 40em){.grid-x>.medium-shrink,.grid-x>.medium-full,.grid-x>.medium-1,.grid-x>.medium-2,.grid-x>.medium-3,.grid-x>.medium-4,.grid-x>.medium-5,.grid-x>.medium-6,.grid-x>.medium-7,.grid-x>.medium-8,.grid-x>.medium-9,.grid-x>.medium-10,.grid-x>.medium-11,.grid-x>.medium-12{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}}@media print, screen and (min-width: 64em){.grid-x>.large-shrink,.grid-x>.large-full,.grid-x>.large-1,.grid-x>.large-2,.grid-x>.large-3,.grid-x>.large-4,.grid-x>.large-5,.grid-x>.large-6,.grid-x>.large-7,.grid-x>.large-8,.grid-x>.large-9,.grid-x>.large-10,.grid-x>.large-11,.grid-x>.large-12{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}}.grid-x>.small-1,.grid-x>.small-2,.grid-x>.small-3,.grid-x>.small-4,.grid-x>.small-5,.grid-x>.small-6,.grid-x>.small-7,.grid-x>.small-8,.grid-x>.small-9,.grid-x>.small-10,.grid-x>.small-11,.grid-x>.small-12{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-x>.small-1{width:8.33333%}.grid-x>.small-2{width:16.66667%}.grid-x>.small-3{width:25%}.grid-x>.small-4{width:33.33333%}.grid-x>.small-5{width:41.66667%}.grid-x>.small-6{width:50%}.grid-x>.small-7{width:58.33333%}.grid-x>.small-8{width:66.66667%}.grid-x>.small-9{width:75%}.grid-x>.small-10{width:83.33333%}.grid-x>.small-11{width:91.66667%}.grid-x>.small-12{width:100%}@media print, screen and (min-width: 40em){.grid-x>.medium-auto{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;width:auto}.grid-x>.medium-shrink,.grid-x>.medium-1,.grid-x>.medium-2,.grid-x>.medium-3,.grid-x>.medium-4,.grid-x>.medium-5,.grid-x>.medium-6,.grid-x>.medium-7,.grid-x>.medium-8,.grid-x>.medium-9,.grid-x>.medium-10,.grid-x>.medium-11,.grid-x>.medium-12{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-x>.medium-shrink{width:auto}.grid-x>.medium-1{width:8.33333%}.grid-x>.medium-2{width:16.66667%}.grid-x>.medium-3{width:25%}.grid-x>.medium-4{width:33.33333%}.grid-x>.medium-5{width:41.66667%}.grid-x>.medium-6{width:50%}.grid-x>.medium-7{width:58.33333%}.grid-x>.medium-8{width:66.66667%}.grid-x>.medium-9{width:75%}.grid-x>.medium-10{width:83.33333%}.grid-x>.medium-11{width:91.66667%}.grid-x>.medium-12{width:100%}}@media print, screen and (min-width: 64em){.grid-x>.large-auto{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;width:auto}.grid-x>.large-shrink,.grid-x>.large-1,.grid-x>.large-2,.grid-x>.large-3,.grid-x>.large-4,.grid-x>.large-5,.grid-x>.large-6,.grid-x>.large-7,.grid-x>.large-8,.grid-x>.large-9,.grid-x>.large-10,.grid-x>.large-11,.grid-x>.large-12{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-x>.large-shrink{width:auto}.grid-x>.large-1{width:8.33333%}.grid-x>.large-2{width:16.66667%}.grid-x>.large-3{width:25%}.grid-x>.large-4{width:33.33333%}.grid-x>.large-5{width:41.66667%}.grid-x>.large-6{width:50%}.grid-x>.large-7{width:58.33333%}.grid-x>.large-8{width:66.66667%}.grid-x>.large-9{width:75%}.grid-x>.large-10{width:83.33333%}.grid-x>.large-11{width:91.66667%}.grid-x>.large-12{width:100%}}.grid-margin-x:not(.grid-x)>.cell{width:auto}.grid-margin-y:not(.grid-y)>.cell{height:auto}.grid-margin-x{margin-left:-.625rem;margin-right:-.625rem}@media print, screen and (min-width: 40em){.grid-margin-x{margin-left:-.9375rem;margin-right:-.9375rem}}.grid-margin-x>.cell{width:calc(100% - 1.25rem);margin-left:.625rem;margin-right:.625rem}@media print, screen and (min-width: 40em){.grid-margin-x>.cell{width:calc(100% - 1.875rem);margin-left:.9375rem;margin-right:.9375rem}}.grid-margin-x>.auto{width:auto}.grid-margin-x>.shrink{width:auto}.grid-margin-x>.small-1{width:calc(8.33333% - 1.25rem)}.grid-margin-x>.small-2{width:calc(16.66667% - 1.25rem)}.grid-margin-x>.small-3{width:calc(25% - 1.25rem)}.grid-margin-x>.small-4{width:calc(33.33333% - 1.25rem)}.grid-margin-x>.small-5{width:calc(41.66667% - 1.25rem)}.grid-margin-x>.small-6{width:calc(50% - 1.25rem)}.grid-margin-x>.small-7{width:calc(58.33333% - 1.25rem)}.grid-margin-x>.small-8{width:calc(66.66667% - 1.25rem)}.grid-margin-x>.small-9{width:calc(75% - 1.25rem)}.grid-margin-x>.small-10{width:calc(83.33333% - 1.25rem)}.grid-margin-x>.small-11{width:calc(91.66667% - 1.25rem)}.grid-margin-x>.small-12{width:calc(100% - 1.25rem)}@media print, screen and (min-width: 40em){.grid-margin-x>.auto{width:auto}.grid-margin-x>.shrink{width:auto}.grid-margin-x>.small-1{width:calc(8.33333% - 1.875rem)}.grid-margin-x>.small-2{width:calc(16.66667% - 1.875rem)}.grid-margin-x>.small-3{width:calc(25% - 1.875rem)}.grid-margin-x>.small-4{width:calc(33.33333% - 1.875rem)}.grid-margin-x>.small-5{width:calc(41.66667% - 1.875rem)}.grid-margin-x>.small-6{width:calc(50% - 1.875rem)}.grid-margin-x>.small-7{width:calc(58.33333% - 1.875rem)}.grid-margin-x>.small-8{width:calc(66.66667% - 1.875rem)}.grid-margin-x>.small-9{width:calc(75% - 1.875rem)}.grid-margin-x>.small-10{width:calc(83.33333% - 1.875rem)}.grid-margin-x>.small-11{width:calc(91.66667% - 1.875rem)}.grid-margin-x>.small-12{width:calc(100% - 1.875rem)}.grid-margin-x>.medium-auto{width:auto}.grid-margin-x>.medium-shrink{width:auto}.grid-margin-x>.medium-1{width:calc(8.33333% - 1.875rem)}.grid-margin-x>.medium-2{width:calc(16.66667% - 1.875rem)}.grid-margin-x>.medium-3{width:calc(25% - 1.875rem)}.grid-margin-x>.medium-4{width:calc(33.33333% - 1.875rem)}.grid-margin-x>.medium-5{width:calc(41.66667% - 1.875rem)}.grid-margin-x>.medium-6{width:calc(50% - 1.875rem)}.grid-margin-x>.medium-7{width:calc(58.33333% - 1.875rem)}.grid-margin-x>.medium-8{width:calc(66.66667% - 1.875rem)}.grid-margin-x>.medium-9{width:calc(75% - 1.875rem)}.grid-margin-x>.medium-10{width:calc(83.33333% - 1.875rem)}.grid-margin-x>.medium-11{width:calc(91.66667% - 1.875rem)}.grid-margin-x>.medium-12{width:calc(100% - 1.875rem)}}@media print, screen and (min-width: 64em){.grid-margin-x>.large-auto{width:auto}.grid-margin-x>.large-shrink{width:auto}.grid-margin-x>.large-1{width:calc(8.33333% - 1.875rem)}.grid-margin-x>.large-2{width:calc(16.66667% - 1.875rem)}.grid-margin-x>.large-3{width:calc(25% - 1.875rem)}.grid-margin-x>.large-4{width:calc(33.33333% - 1.875rem)}.grid-margin-x>.large-5{width:calc(41.66667% - 1.875rem)}.grid-margin-x>.large-6{width:calc(50% - 1.875rem)}.grid-margin-x>.large-7{width:calc(58.33333% - 1.875rem)}.grid-margin-x>.large-8{width:calc(66.66667% - 1.875rem)}.grid-margin-x>.large-9{width:calc(75% - 1.875rem)}.grid-margin-x>.large-10{width:calc(83.33333% - 1.875rem)}.grid-margin-x>.large-11{width:calc(91.66667% - 1.875rem)}.grid-margin-x>.large-12{width:calc(100% - 1.875rem)}}.grid-padding-x .grid-padding-x{margin-right:-.625rem;margin-left:-.625rem}@media print, screen and (min-width: 40em){.grid-padding-x .grid-padding-x{margin-right:-.9375rem;margin-left:-.9375rem}}.grid-container:not(.full)>.grid-padding-x{margin-right:-.625rem;margin-left:-.625rem}@media print, screen and (min-width: 40em){.grid-container:not(.full)>.grid-padding-x{margin-right:-.9375rem;margin-left:-.9375rem}}.grid-padding-x>.cell{padding-right:.625rem;padding-left:.625rem}@media print, screen and (min-width: 40em){.grid-padding-x>.cell{padding-right:.9375rem;padding-left:.9375rem}}.small-up-1>.cell{width:100%}.small-up-2>.cell{width:50%}.small-up-3>.cell{width:33.33333%}.small-up-4>.cell{width:25%}.small-up-5>.cell{width:20%}.small-up-6>.cell{width:16.66667%}.small-up-7>.cell{width:14.28571%}.small-up-8>.cell{width:12.5%}@media print, screen and (min-width: 40em){.medium-up-1>.cell{width:100%}.medium-up-2>.cell{width:50%}.medium-up-3>.cell{width:33.33333%}.medium-up-4>.cell{width:25%}.medium-up-5>.cell{width:20%}.medium-up-6>.cell{width:16.66667%}.medium-up-7>.cell{width:14.28571%}.medium-up-8>.cell{width:12.5%}}@media print, screen and (min-width: 64em){.large-up-1>.cell{width:100%}.large-up-2>.cell{width:50%}.large-up-3>.cell{width:33.33333%}.large-up-4>.cell{width:25%}.large-up-5>.cell{width:20%}.large-up-6>.cell{width:16.66667%}.large-up-7>.cell{width:14.28571%}.large-up-8>.cell{width:12.5%}}.grid-margin-x.small-up-1>.cell{width:calc(100% - 1.25rem)}.grid-margin-x.small-up-2>.cell{width:calc(50% - 1.25rem)}.grid-margin-x.small-up-3>.cell{width:calc(33.33333% - 1.25rem)}.grid-margin-x.small-up-4>.cell{width:calc(25% - 1.25rem)}.grid-margin-x.small-up-5>.cell{width:calc(20% - 1.25rem)}.grid-margin-x.small-up-6>.cell{width:calc(16.66667% - 1.25rem)}.grid-margin-x.small-up-7>.cell{width:calc(14.28571% - 1.25rem)}.grid-margin-x.small-up-8>.cell{width:calc(12.5% - 1.25rem)}@media print, screen and (min-width: 40em){.grid-margin-x.small-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.small-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.small-up-3>.cell{width:calc(33.33333% - 1.875rem)}.grid-margin-x.small-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.small-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.small-up-6>.cell{width:calc(16.66667% - 1.875rem)}.grid-margin-x.small-up-7>.cell{width:calc(14.28571% - 1.875rem)}.grid-margin-x.small-up-8>.cell{width:calc(12.5% - 1.875rem)}.grid-margin-x.medium-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.medium-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.medium-up-3>.cell{width:calc(33.33333% - 1.875rem)}.grid-margin-x.medium-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.medium-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.medium-up-6>.cell{width:calc(16.66667% - 1.875rem)}.grid-margin-x.medium-up-7>.cell{width:calc(14.28571% - 1.875rem)}.grid-margin-x.medium-up-8>.cell{width:calc(12.5% - 1.875rem)}}@media print, screen and (min-width: 64em){.grid-margin-x.large-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.large-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.large-up-3>.cell{width:calc(33.33333% - 1.875rem)}.grid-margin-x.large-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.large-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.large-up-6>.cell{width:calc(16.66667% - 1.875rem)}.grid-margin-x.large-up-7>.cell{width:calc(14.28571% - 1.875rem)}.grid-margin-x.large-up-8>.cell{width:calc(12.5% - 1.875rem)}}.small-margin-collapse{margin-right:0;margin-left:0}.small-margin-collapse>.cell{margin-right:0;margin-left:0}.small-margin-collapse>.small-1{width:8.33333%}.small-margin-collapse>.small-2{width:16.66667%}.small-margin-collapse>.small-3{width:25%}.small-margin-collapse>.small-4{width:33.33333%}.small-margin-collapse>.small-5{width:41.66667%}.small-margin-collapse>.small-6{width:50%}.small-margin-collapse>.small-7{width:58.33333%}.small-margin-collapse>.small-8{width:66.66667%}.small-margin-collapse>.small-9{width:75%}.small-margin-collapse>.small-10{width:83.33333%}.small-margin-collapse>.small-11{width:91.66667%}.small-margin-collapse>.small-12{width:100%}@media print, screen and (min-width: 40em){.small-margin-collapse>.medium-1{width:8.33333%}.small-margin-collapse>.medium-2{width:16.66667%}.small-margin-collapse>.medium-3{width:25%}.small-margin-collapse>.medium-4{width:33.33333%}.small-margin-collapse>.medium-5{width:41.66667%}.small-margin-collapse>.medium-6{width:50%}.small-margin-collapse>.medium-7{width:58.33333%}.small-margin-collapse>.medium-8{width:66.66667%}.small-margin-collapse>.medium-9{width:75%}.small-margin-collapse>.medium-10{width:83.33333%}.small-margin-collapse>.medium-11{width:91.66667%}.small-margin-collapse>.medium-12{width:100%}}@media print, screen and (min-width: 64em){.small-margin-collapse>.large-1{width:8.33333%}.small-margin-collapse>.large-2{width:16.66667%}.small-margin-collapse>.large-3{width:25%}.small-margin-collapse>.large-4{width:33.33333%}.small-margin-collapse>.large-5{width:41.66667%}.small-margin-collapse>.large-6{width:50%}.small-margin-collapse>.large-7{width:58.33333%}.small-margin-collapse>.large-8{width:66.66667%}.small-margin-collapse>.large-9{width:75%}.small-margin-collapse>.large-10{width:83.33333%}.small-margin-collapse>.large-11{width:91.66667%}.small-margin-collapse>.large-12{width:100%}}.small-padding-collapse{margin-right:0;margin-left:0}.small-padding-collapse>.cell{padding-right:0;padding-left:0}@media print, screen and (min-width: 40em){.medium-margin-collapse{margin-right:0;margin-left:0}.medium-margin-collapse>.cell{margin-right:0;margin-left:0}}@media print, screen and (min-width: 40em){.medium-margin-collapse>.small-1{width:8.33333%}.medium-margin-collapse>.small-2{width:16.66667%}.medium-margin-collapse>.small-3{width:25%}.medium-margin-collapse>.small-4{width:33.33333%}.medium-margin-collapse>.small-5{width:41.66667%}.medium-margin-collapse>.small-6{width:50%}.medium-margin-collapse>.small-7{width:58.33333%}.medium-margin-collapse>.small-8{width:66.66667%}.medium-margin-collapse>.small-9{width:75%}.medium-margin-collapse>.small-10{width:83.33333%}.medium-margin-collapse>.small-11{width:91.66667%}.medium-margin-collapse>.small-12{width:100%}}@media print, screen and (min-width: 40em){.medium-margin-collapse>.medium-1{width:8.33333%}.medium-margin-collapse>.medium-2{width:16.66667%}.medium-margin-collapse>.medium-3{width:25%}.medium-margin-collapse>.medium-4{width:33.33333%}.medium-margin-collapse>.medium-5{width:41.66667%}.medium-margin-collapse>.medium-6{width:50%}.medium-margin-collapse>.medium-7{width:58.33333%}.medium-margin-collapse>.medium-8{width:66.66667%}.medium-margin-collapse>.medium-9{width:75%}.medium-margin-collapse>.medium-10{width:83.33333%}.medium-margin-collapse>.medium-11{width:91.66667%}.medium-margin-collapse>.medium-12{width:100%}}@media print, screen and (min-width: 64em){.medium-margin-collapse>.large-1{width:8.33333%}.medium-margin-collapse>.large-2{width:16.66667%}.medium-margin-collapse>.large-3{width:25%}.medium-margin-collapse>.large-4{width:33.33333%}.medium-margin-collapse>.large-5{width:41.66667%}.medium-margin-collapse>.large-6{width:50%}.medium-margin-collapse>.large-7{width:58.33333%}.medium-margin-collapse>.large-8{width:66.66667%}.medium-margin-collapse>.large-9{width:75%}.medium-margin-collapse>.large-10{width:83.33333%}.medium-margin-collapse>.large-11{width:91.66667%}.medium-margin-collapse>.large-12{width:100%}}@media print, screen and (min-width: 40em){.medium-padding-collapse{margin-right:0;margin-left:0}.medium-padding-collapse>.cell{padding-right:0;padding-left:0}}@media print, screen and (min-width: 64em){.large-margin-collapse{margin-right:0;margin-left:0}.large-margin-collapse>.cell{margin-right:0;margin-left:0}}@media print, screen and (min-width: 64em){.large-margin-collapse>.small-1{width:8.33333%}.large-margin-collapse>.small-2{width:16.66667%}.large-margin-collapse>.small-3{width:25%}.large-margin-collapse>.small-4{width:33.33333%}.large-margin-collapse>.small-5{width:41.66667%}.large-margin-collapse>.small-6{width:50%}.large-margin-collapse>.small-7{width:58.33333%}.large-margin-collapse>.small-8{width:66.66667%}.large-margin-collapse>.small-9{width:75%}.large-margin-collapse>.small-10{width:83.33333%}.large-margin-collapse>.small-11{width:91.66667%}.large-margin-collapse>.small-12{width:100%}}@media print, screen and (min-width: 64em){.large-margin-collapse>.medium-1{width:8.33333%}.large-margin-collapse>.medium-2{width:16.66667%}.large-margin-collapse>.medium-3{width:25%}.large-margin-collapse>.medium-4{width:33.33333%}.large-margin-collapse>.medium-5{width:41.66667%}.large-margin-collapse>.medium-6{width:50%}.large-margin-collapse>.medium-7{width:58.33333%}.large-margin-collapse>.medium-8{width:66.66667%}.large-margin-collapse>.medium-9{width:75%}.large-margin-collapse>.medium-10{width:83.33333%}.large-margin-collapse>.medium-11{width:91.66667%}.large-margin-collapse>.medium-12{width:100%}}@media print, screen and (min-width: 64em){.large-margin-collapse>.large-1{width:8.33333%}.large-margin-collapse>.large-2{width:16.66667%}.large-margin-collapse>.large-3{width:25%}.large-margin-collapse>.large-4{width:33.33333%}.large-margin-collapse>.large-5{width:41.66667%}.large-margin-collapse>.large-6{width:50%}.large-margin-collapse>.large-7{width:58.33333%}.large-margin-collapse>.large-8{width:66.66667%}.large-margin-collapse>.large-9{width:75%}.large-margin-collapse>.large-10{width:83.33333%}.large-margin-collapse>.large-11{width:91.66667%}.large-margin-collapse>.large-12{width:100%}}@media print, screen and (min-width: 64em){.large-padding-collapse{margin-right:0;margin-left:0}.large-padding-collapse>.cell{padding-right:0;padding-left:0}}.small-offset-0{margin-left:0%}.grid-margin-x>.small-offset-0{margin-left:calc(0% + .625rem)}.small-offset-1{margin-left:8.33333%}.grid-margin-x>.small-offset-1{margin-left:calc(8.33333% + .625rem)}.small-offset-2{margin-left:16.66667%}.grid-margin-x>.small-offset-2{margin-left:calc(16.66667% + .625rem)}.small-offset-3{margin-left:25%}.grid-margin-x>.small-offset-3{margin-left:calc(25% + .625rem)}.small-offset-4{margin-left:33.33333%}.grid-margin-x>.small-offset-4{margin-left:calc(33.33333% + .625rem)}.small-offset-5{margin-left:41.66667%}.grid-margin-x>.small-offset-5{margin-left:calc(41.66667% + .625rem)}.small-offset-6{margin-left:50%}.grid-margin-x>.small-offset-6{margin-left:calc(50% + .625rem)}.small-offset-7{margin-left:58.33333%}.grid-margin-x>.small-offset-7{margin-left:calc(58.33333% + .625rem)}.small-offset-8{margin-left:66.66667%}.grid-margin-x>.small-offset-8{margin-left:calc(66.66667% + .625rem)}.small-offset-9{margin-left:75%}.grid-margin-x>.small-offset-9{margin-left:calc(75% + .625rem)}.small-offset-10{margin-left:83.33333%}.grid-margin-x>.small-offset-10{margin-left:calc(83.33333% + .625rem)}.small-offset-11{margin-left:91.66667%}.grid-margin-x>.small-offset-11{margin-left:calc(91.66667% + .625rem)}@media print, screen and (min-width: 40em){.medium-offset-0{margin-left:0%}.grid-margin-x>.medium-offset-0{margin-left:calc(0% + .9375rem)}.medium-offset-1{margin-left:8.33333%}.grid-margin-x>.medium-offset-1{margin-left:calc(8.33333% + .9375rem)}.medium-offset-2{margin-left:16.66667%}.grid-margin-x>.medium-offset-2{margin-left:calc(16.66667% + .9375rem)}.medium-offset-3{margin-left:25%}.grid-margin-x>.medium-offset-3{margin-left:calc(25% + .9375rem)}.medium-offset-4{margin-left:33.33333%}.grid-margin-x>.medium-offset-4{margin-left:calc(33.33333% + .9375rem)}.medium-offset-5{margin-left:41.66667%}.grid-margin-x>.medium-offset-5{margin-left:calc(41.66667% + .9375rem)}.medium-offset-6{margin-left:50%}.grid-margin-x>.medium-offset-6{margin-left:calc(50% + .9375rem)}.medium-offset-7{margin-left:58.33333%}.grid-margin-x>.medium-offset-7{margin-left:calc(58.33333% + .9375rem)}.medium-offset-8{margin-left:66.66667%}.grid-margin-x>.medium-offset-8{margin-left:calc(66.66667% + .9375rem)}.medium-offset-9{margin-left:75%}.grid-margin-x>.medium-offset-9{margin-left:calc(75% + .9375rem)}.medium-offset-10{margin-left:83.33333%}.grid-margin-x>.medium-offset-10{margin-left:calc(83.33333% + .9375rem)}.medium-offset-11{margin-left:91.66667%}.grid-margin-x>.medium-offset-11{margin-left:calc(91.66667% + .9375rem)}}@media print, screen and (min-width: 64em){.large-offset-0{margin-left:0%}.grid-margin-x>.large-offset-0{margin-left:calc(0% + .9375rem)}.large-offset-1{margin-left:8.33333%}.grid-margin-x>.large-offset-1{margin-left:calc(8.33333% + .9375rem)}.large-offset-2{margin-left:16.66667%}.grid-margin-x>.large-offset-2{margin-left:calc(16.66667% + .9375rem)}.large-offset-3{margin-left:25%}.grid-margin-x>.large-offset-3{margin-left:calc(25% + .9375rem)}.large-offset-4{margin-left:33.33333%}.grid-margin-x>.large-offset-4{margin-left:calc(33.33333% + .9375rem)}.large-offset-5{margin-left:41.66667%}.grid-margin-x>.large-offset-5{margin-left:calc(41.66667% + .9375rem)}.large-offset-6{margin-left:50%}.grid-margin-x>.large-offset-6{margin-left:calc(50% + .9375rem)}.large-offset-7{margin-left:58.33333%}.grid-margin-x>.large-offset-7{margin-left:calc(58.33333% + .9375rem)}.large-offset-8{margin-left:66.66667%}.grid-margin-x>.large-offset-8{margin-left:calc(66.66667% + .9375rem)}.large-offset-9{margin-left:75%}.grid-margin-x>.large-offset-9{margin-left:calc(75% + .9375rem)}.large-offset-10{margin-left:83.33333%}.grid-margin-x>.large-offset-10{margin-left:calc(83.33333% + .9375rem)}.large-offset-11{margin-left:91.66667%}.grid-margin-x>.large-offset-11{margin-left:calc(91.66667% + .9375rem)}}.grid-y{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column nowrap;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.grid-y>.cell{height:auto;max-height:none}.grid-y>.auto{height:auto}.grid-y>.shrink{height:auto}.grid-y>.small-shrink,.grid-y>.small-full,.grid-y>.small-1,.grid-y>.small-2,.grid-y>.small-3,.grid-y>.small-4,.grid-y>.small-5,.grid-y>.small-6,.grid-y>.small-7,.grid-y>.small-8,.grid-y>.small-9,.grid-y>.small-10,.grid-y>.small-11,.grid-y>.small-12{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}@media print, screen and (min-width: 40em){.grid-y>.medium-shrink,.grid-y>.medium-full,.grid-y>.medium-1,.grid-y>.medium-2,.grid-y>.medium-3,.grid-y>.medium-4,.grid-y>.medium-5,.grid-y>.medium-6,.grid-y>.medium-7,.grid-y>.medium-8,.grid-y>.medium-9,.grid-y>.medium-10,.grid-y>.medium-11,.grid-y>.medium-12{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}}@media print, screen and (min-width: 64em){.grid-y>.large-shrink,.grid-y>.large-full,.grid-y>.large-1,.grid-y>.large-2,.grid-y>.large-3,.grid-y>.large-4,.grid-y>.large-5,.grid-y>.large-6,.grid-y>.large-7,.grid-y>.large-8,.grid-y>.large-9,.grid-y>.large-10,.grid-y>.large-11,.grid-y>.large-12{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto}}.grid-y>.small-1,.grid-y>.small-2,.grid-y>.small-3,.grid-y>.small-4,.grid-y>.small-5,.grid-y>.small-6,.grid-y>.small-7,.grid-y>.small-8,.grid-y>.small-9,.grid-y>.small-10,.grid-y>.small-11,.grid-y>.small-12{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-y>.small-1{height:8.33333%}.grid-y>.small-2{height:16.66667%}.grid-y>.small-3{height:25%}.grid-y>.small-4{height:33.33333%}.grid-y>.small-5{height:41.66667%}.grid-y>.small-6{height:50%}.grid-y>.small-7{height:58.33333%}.grid-y>.small-8{height:66.66667%}.grid-y>.small-9{height:75%}.grid-y>.small-10{height:83.33333%}.grid-y>.small-11{height:91.66667%}.grid-y>.small-12{height:100%}@media print, screen and (min-width: 40em){.grid-y>.medium-auto{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;height:auto}.grid-y>.medium-shrink,.grid-y>.medium-1,.grid-y>.medium-2,.grid-y>.medium-3,.grid-y>.medium-4,.grid-y>.medium-5,.grid-y>.medium-6,.grid-y>.medium-7,.grid-y>.medium-8,.grid-y>.medium-9,.grid-y>.medium-10,.grid-y>.medium-11,.grid-y>.medium-12{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-y>.medium-shrink{height:auto}.grid-y>.medium-1{height:8.33333%}.grid-y>.medium-2{height:16.66667%}.grid-y>.medium-3{height:25%}.grid-y>.medium-4{height:33.33333%}.grid-y>.medium-5{height:41.66667%}.grid-y>.medium-6{height:50%}.grid-y>.medium-7{height:58.33333%}.grid-y>.medium-8{height:66.66667%}.grid-y>.medium-9{height:75%}.grid-y>.medium-10{height:83.33333%}.grid-y>.medium-11{height:91.66667%}.grid-y>.medium-12{height:100%}}@media print, screen and (min-width: 64em){.grid-y>.large-auto{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;height:auto}.grid-y>.large-shrink,.grid-y>.large-1,.grid-y>.large-2,.grid-y>.large-3,.grid-y>.large-4,.grid-y>.large-5,.grid-y>.large-6,.grid-y>.large-7,.grid-y>.large-8,.grid-y>.large-9,.grid-y>.large-10,.grid-y>.large-11,.grid-y>.large-12{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-y>.large-shrink{height:auto}.grid-y>.large-1{height:8.33333%}.grid-y>.large-2{height:16.66667%}.grid-y>.large-3{height:25%}.grid-y>.large-4{height:33.33333%}.grid-y>.large-5{height:41.66667%}.grid-y>.large-6{height:50%}.grid-y>.large-7{height:58.33333%}.grid-y>.large-8{height:66.66667%}.grid-y>.large-9{height:75%}.grid-y>.large-10{height:83.33333%}.grid-y>.large-11{height:91.66667%}.grid-y>.large-12{height:100%}}.grid-padding-y .grid-padding-y{margin-top:-.625rem;margin-bottom:-.625rem}@media print, screen and (min-width: 40em){.grid-padding-y .grid-padding-y{margin-top:-.9375rem;margin-bottom:-.9375rem}}.grid-padding-y>.cell{padding-top:.625rem;padding-bottom:.625rem}@media print, screen and (min-width: 40em){.grid-padding-y>.cell{padding-top:.9375rem;padding-bottom:.9375rem}}.grid-margin-y{margin-top:-.625rem;margin-bottom:-.625rem}@media print, screen and (min-width: 40em){.grid-margin-y{margin-top:-.9375rem;margin-bottom:-.9375rem}}.grid-margin-y>.cell{height:calc(100% - 1.25rem);margin-top:.625rem;margin-bottom:.625rem}@media print, screen and (min-width: 40em){.grid-margin-y>.cell{height:calc(100% - 1.875rem);margin-top:.9375rem;margin-bottom:.9375rem}}.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.33333% - 1.25rem)}.grid-margin-y>.small-2{height:calc(16.66667% - 1.25rem)}.grid-margin-y>.small-3{height:calc(25% - 1.25rem)}.grid-margin-y>.small-4{height:calc(33.33333% - 1.25rem)}.grid-margin-y>.small-5{height:calc(41.66667% - 1.25rem)}.grid-margin-y>.small-6{height:calc(50% - 1.25rem)}.grid-margin-y>.small-7{height:calc(58.33333% - 1.25rem)}.grid-margin-y>.small-8{height:calc(66.66667% - 1.25rem)}.grid-margin-y>.small-9{height:calc(75% - 1.25rem)}.grid-margin-y>.small-10{height:calc(83.33333% - 1.25rem)}.grid-margin-y>.small-11{height:calc(91.66667% - 1.25rem)}.grid-margin-y>.small-12{height:calc(100% - 1.25rem)}@media print, screen and (min-width: 40em){.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.small-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.small-3{height:calc(25% - 1.875rem)}.grid-margin-y>.small-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.small-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.small-6{height:calc(50% - 1.875rem)}.grid-margin-y>.small-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.small-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.small-9{height:calc(75% - 1.875rem)}.grid-margin-y>.small-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.small-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.small-12{height:calc(100% - 1.875rem)}.grid-margin-y>.medium-auto{height:auto}.grid-margin-y>.medium-shrink{height:auto}.grid-margin-y>.medium-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.medium-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.medium-3{height:calc(25% - 1.875rem)}.grid-margin-y>.medium-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.medium-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.medium-6{height:calc(50% - 1.875rem)}.grid-margin-y>.medium-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.medium-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.medium-9{height:calc(75% - 1.875rem)}.grid-margin-y>.medium-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.medium-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.medium-12{height:calc(100% - 1.875rem)}}@media print, screen and (min-width: 64em){.grid-margin-y>.large-auto{height:auto}.grid-margin-y>.large-shrink{height:auto}.grid-margin-y>.large-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.large-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.large-3{height:calc(25% - 1.875rem)}.grid-margin-y>.large-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.large-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.large-6{height:calc(50% - 1.875rem)}.grid-margin-y>.large-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.large-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.large-9{height:calc(75% - 1.875rem)}.grid-margin-y>.large-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.large-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.large-12{height:calc(100% - 1.875rem)}}.grid-frame{overflow:hidden;position:relative;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;width:100vw}.cell .grid-frame{width:100%}.cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.cell-block-y{overflow-y:auto;max-height:100%;min-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.cell-block-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;max-height:100%}.cell-block-container>.grid-x{max-height:100%;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}@media print, screen and (min-width: 40em){.medium-grid-frame{overflow:hidden;position:relative;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;width:100vw}.cell .medium-grid-frame{width:100%}.medium-cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.medium-cell-block-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;max-height:100%}.medium-cell-block-container>.grid-x{max-height:100%;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.medium-cell-block-y{overflow-y:auto;max-height:100%;min-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}}@media print, screen and (min-width: 64em){.large-grid-frame{overflow:hidden;position:relative;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;width:100vw}.cell .large-grid-frame{width:100%}.large-cell-block{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.large-cell-block-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;max-height:100%}.large-cell-block-container>.grid-x{max-height:100%;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.large-cell-block-y{overflow-y:auto;max-height:100%;min-height:100%;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}}.grid-y.grid-frame{width:auto;overflow:hidden;position:relative;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;height:100vh}@media print, screen and (min-width: 40em){.grid-y.medium-grid-frame{width:auto;overflow:hidden;position:relative;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;height:100vh}}@media print, screen and (min-width: 64em){.grid-y.large-grid-frame{width:auto;overflow:hidden;position:relative;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;height:100vh}}.cell .grid-y.grid-frame{height:100%}@media print, screen and (min-width: 40em){.cell .grid-y.medium-grid-frame{height:100%}}@media print, screen and (min-width: 64em){.cell .grid-y.large-grid-frame{height:100%}}.grid-margin-y{margin-top:-.625rem;margin-bottom:-.625rem}@media print, screen and (min-width: 40em){.grid-margin-y{margin-top:-.9375rem;margin-bottom:-.9375rem}}.grid-margin-y>.cell{height:calc(100% - 1.25rem);margin-top:.625rem;margin-bottom:.625rem}@media print, screen and (min-width: 40em){.grid-margin-y>.cell{height:calc(100% - 1.875rem);margin-top:.9375rem;margin-bottom:.9375rem}}.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.33333% - 1.25rem)}.grid-margin-y>.small-2{height:calc(16.66667% - 1.25rem)}.grid-margin-y>.small-3{height:calc(25% - 1.25rem)}.grid-margin-y>.small-4{height:calc(33.33333% - 1.25rem)}.grid-margin-y>.small-5{height:calc(41.66667% - 1.25rem)}.grid-margin-y>.small-6{height:calc(50% - 1.25rem)}.grid-margin-y>.small-7{height:calc(58.33333% - 1.25rem)}.grid-margin-y>.small-8{height:calc(66.66667% - 1.25rem)}.grid-margin-y>.small-9{height:calc(75% - 1.25rem)}.grid-margin-y>.small-10{height:calc(83.33333% - 1.25rem)}.grid-margin-y>.small-11{height:calc(91.66667% - 1.25rem)}.grid-margin-y>.small-12{height:calc(100% - 1.25rem)}@media print, screen and (min-width: 40em){.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.small-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.small-3{height:calc(25% - 1.875rem)}.grid-margin-y>.small-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.small-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.small-6{height:calc(50% - 1.875rem)}.grid-margin-y>.small-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.small-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.small-9{height:calc(75% - 1.875rem)}.grid-margin-y>.small-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.small-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.small-12{height:calc(100% - 1.875rem)}.grid-margin-y>.medium-auto{height:auto}.grid-margin-y>.medium-shrink{height:auto}.grid-margin-y>.medium-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.medium-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.medium-3{height:calc(25% - 1.875rem)}.grid-margin-y>.medium-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.medium-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.medium-6{height:calc(50% - 1.875rem)}.grid-margin-y>.medium-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.medium-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.medium-9{height:calc(75% - 1.875rem)}.grid-margin-y>.medium-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.medium-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.medium-12{height:calc(100% - 1.875rem)}}@media print, screen and (min-width: 64em){.grid-margin-y>.large-auto{height:auto}.grid-margin-y>.large-shrink{height:auto}.grid-margin-y>.large-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.large-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.large-3{height:calc(25% - 1.875rem)}.grid-margin-y>.large-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.large-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.large-6{height:calc(50% - 1.875rem)}.grid-margin-y>.large-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.large-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.large-9{height:calc(75% - 1.875rem)}.grid-margin-y>.large-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.large-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.large-12{height:calc(100% - 1.875rem)}}.grid-frame.grid-margin-y{height:calc(100vh + 1.25rem)}@media print, screen and (min-width: 40em){.grid-frame.grid-margin-y{height:calc(100vh + 1.875rem)}}@media print, screen and (min-width: 64em){.grid-frame.grid-margin-y{height:calc(100vh + 1.875rem)}}@media print, screen and (min-width: 40em){.grid-margin-y.medium-grid-frame{height:calc(100vh + 1.875rem)}}@media print, screen and (min-width: 64em){.grid-margin-y.large-grid-frame{height:calc(100vh + 1.875rem)}}.row{max-width:75rem;margin-right:auto;margin-left:auto}.row::before,.row::after{display:table;content:' ';-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.row::after{clear:both}.row.collapse>.column,.row.collapse>.columns{padding-right:0;padding-left:0}.row .row{margin-right:-.625rem;margin-left:-.625rem}@media print, screen and (min-width: 40em){.row .row{margin-right:-.9375rem;margin-left:-.9375rem}}@media print, screen and (min-width: 64em){.row .row{margin-right:-.9375rem;margin-left:-.9375rem}}.row .row.collapse{margin-right:0;margin-left:0}.row.expanded{max-width:none}.row.expanded .row{margin-right:auto;margin-left:auto}.row:not(.expanded) .row{max-width:none}.row.gutter-small>.column,.row.gutter-small>.columns{padding-right:.625rem;padding-left:.625rem}.row.gutter-medium>.column,.row.gutter-medium>.columns{padding-right:.9375rem;padding-left:.9375rem}.column,.columns{width:100%;float:left;padding-right:.625rem;padding-left:.625rem}@media print, screen and (min-width: 40em){.column,.columns{padding-right:.9375rem;padding-left:.9375rem}}.column,.columns,.column:last-child:not(:first-child),.columns:last-child:not(:first-child){float:left;clear:none}.column:last-child:not(:first-child),.columns:last-child:not(:first-child){float:right}.column.end:last-child:last-child,.end.columns:last-child:last-child{float:left}.column.row.row,.row.row.columns{float:none}.row .column.row.row,.row .row.row.columns{margin-right:0;margin-left:0;padding-right:0;padding-left:0}.small-1{width:8.33333%}.small-push-1{position:relative;left:8.33333%}.small-pull-1{position:relative;left:-8.33333%}.small-offset-0{margin-left:0%}.small-2{width:16.66667%}.small-push-2{position:relative;left:16.66667%}.small-pull-2{position:relative;left:-16.66667%}.small-offset-1{margin-left:8.33333%}.small-3{width:25%}.small-push-3{position:relative;left:25%}.small-pull-3{position:relative;left:-25%}.small-offset-2{margin-left:16.66667%}.small-4{width:33.33333%}.small-push-4{position:relative;left:33.33333%}.small-pull-4{position:relative;left:-33.33333%}.small-offset-3{margin-left:25%}.small-5{width:41.66667%}.small-push-5{position:relative;left:41.66667%}.small-pull-5{position:relative;left:-41.66667%}.small-offset-4{margin-left:33.33333%}.small-6{width:50%}.small-push-6{position:relative;left:50%}.small-pull-6{position:relative;left:-50%}.small-offset-5{margin-left:41.66667%}.small-7{width:58.33333%}.small-push-7{position:relative;left:58.33333%}.small-pull-7{position:relative;left:-58.33333%}.small-offset-6{margin-left:50%}.small-8{width:66.66667%}.small-push-8{position:relative;left:66.66667%}.small-pull-8{position:relative;left:-66.66667%}.small-offset-7{margin-left:58.33333%}.small-9{width:75%}.small-push-9{position:relative;left:75%}.small-pull-9{position:relative;left:-75%}.small-offset-8{margin-left:66.66667%}.small-10{width:83.33333%}.small-push-10{position:relative;left:83.33333%}.small-pull-10{position:relative;left:-83.33333%}.small-offset-9{margin-left:75%}.small-11{width:91.66667%}.small-push-11{position:relative;left:91.66667%}.small-pull-11{position:relative;left:-91.66667%}.small-offset-10{margin-left:83.33333%}.small-12{width:100%}.small-offset-11{margin-left:91.66667%}.small-up-1>.column,.small-up-1>.columns{float:left;width:100%}.small-up-1>.column:nth-of-type(1n),.small-up-1>.columns:nth-of-type(1n){clear:none}.small-up-1>.column:nth-of-type(1n+1),.small-up-1>.columns:nth-of-type(1n+1){clear:both}.small-up-1>.column:last-child,.small-up-1>.columns:last-child{float:left}.small-up-2>.column,.small-up-2>.columns{float:left;width:50%}.small-up-2>.column:nth-of-type(1n),.small-up-2>.columns:nth-of-type(1n){clear:none}.small-up-2>.column:nth-of-type(2n+1),.small-up-2>.columns:nth-of-type(2n+1){clear:both}.small-up-2>.column:last-child,.small-up-2>.columns:last-child{float:left}.small-up-3>.column,.small-up-3>.columns{float:left;width:33.33333%}.small-up-3>.column:nth-of-type(1n),.small-up-3>.columns:nth-of-type(1n){clear:none}.small-up-3>.column:nth-of-type(3n+1),.small-up-3>.columns:nth-of-type(3n+1){clear:both}.small-up-3>.column:last-child,.small-up-3>.columns:last-child{float:left}.small-up-4>.column,.small-up-4>.columns{float:left;width:25%}.small-up-4>.column:nth-of-type(1n),.small-up-4>.columns:nth-of-type(1n){clear:none}.small-up-4>.column:nth-of-type(4n+1),.small-up-4>.columns:nth-of-type(4n+1){clear:both}.small-up-4>.column:last-child,.small-up-4>.columns:last-child{float:left}.small-up-5>.column,.small-up-5>.columns{float:left;width:20%}.small-up-5>.column:nth-of-type(1n),.small-up-5>.columns:nth-of-type(1n){clear:none}.small-up-5>.column:nth-of-type(5n+1),.small-up-5>.columns:nth-of-type(5n+1){clear:both}.small-up-5>.column:last-child,.small-up-5>.columns:last-child{float:left}.small-up-6>.column,.small-up-6>.columns{float:left;width:16.66667%}.small-up-6>.column:nth-of-type(1n),.small-up-6>.columns:nth-of-type(1n){clear:none}.small-up-6>.column:nth-of-type(6n+1),.small-up-6>.columns:nth-of-type(6n+1){clear:both}.small-up-6>.column:last-child,.small-up-6>.columns:last-child{float:left}.small-up-7>.column,.small-up-7>.columns{float:left;width:14.28571%}.small-up-7>.column:nth-of-type(1n),.small-up-7>.columns:nth-of-type(1n){clear:none}.small-up-7>.column:nth-of-type(7n+1),.small-up-7>.columns:nth-of-type(7n+1){clear:both}.small-up-7>.column:last-child,.small-up-7>.columns:last-child{float:left}.small-up-8>.column,.small-up-8>.columns{float:left;width:12.5%}.small-up-8>.column:nth-of-type(1n),.small-up-8>.columns:nth-of-type(1n){clear:none}.small-up-8>.column:nth-of-type(8n+1),.small-up-8>.columns:nth-of-type(8n+1){clear:both}.small-up-8>.column:last-child,.small-up-8>.columns:last-child{float:left}.small-collapse>.column,.small-collapse>.columns{padding-right:0;padding-left:0}.small-collapse .row{margin-right:0;margin-left:0}.expanded.row .small-collapse.row{margin-right:0;margin-left:0}.small-uncollapse>.column,.small-uncollapse>.columns{padding-right:.625rem;padding-left:.625rem}.small-centered{margin-right:auto;margin-left:auto}.small-centered,.small-centered:last-child:not(:first-child){float:none;clear:both}.small-uncentered,.small-push-0,.small-pull-0{position:static;margin-right:0;margin-left:0}.small-uncentered,.small-uncentered:last-child:not(:first-child),.small-push-0,.small-push-0:last-child:not(:first-child),.small-pull-0,.small-pull-0:last-child:not(:first-child){float:left;clear:none}.small-uncentered:last-child:not(:first-child),.small-push-0:last-child:not(:first-child),.small-pull-0:last-child:not(:first-child){float:right}@media print, screen and (min-width: 40em){.medium-1{width:8.33333%}.medium-push-1{position:relative;left:8.33333%}.medium-pull-1{position:relative;left:-8.33333%}.medium-offset-0{margin-left:0%}.medium-2{width:16.66667%}.medium-push-2{position:relative;left:16.66667%}.medium-pull-2{position:relative;left:-16.66667%}.medium-offset-1{margin-left:8.33333%}.medium-3{width:25%}.medium-push-3{position:relative;left:25%}.medium-pull-3{position:relative;left:-25%}.medium-offset-2{margin-left:16.66667%}.medium-4{width:33.33333%}.medium-push-4{position:relative;left:33.33333%}.medium-pull-4{position:relative;left:-33.33333%}.medium-offset-3{margin-left:25%}.medium-5{width:41.66667%}.medium-push-5{position:relative;left:41.66667%}.medium-pull-5{position:relative;left:-41.66667%}.medium-offset-4{margin-left:33.33333%}.medium-6{width:50%}.medium-push-6{position:relative;left:50%}.medium-pull-6{position:relative;left:-50%}.medium-offset-5{margin-left:41.66667%}.medium-7{width:58.33333%}.medium-push-7{position:relative;left:58.33333%}.medium-pull-7{position:relative;left:-58.33333%}.medium-offset-6{margin-left:50%}.medium-8{width:66.66667%}.medium-push-8{position:relative;left:66.66667%}.medium-pull-8{position:relative;left:-66.66667%}.medium-offset-7{margin-left:58.33333%}.medium-9{width:75%}.medium-push-9{position:relative;left:75%}.medium-pull-9{position:relative;left:-75%}.medium-offset-8{margin-left:66.66667%}.medium-10{width:83.33333%}.medium-push-10{position:relative;left:83.33333%}.medium-pull-10{position:relative;left:-83.33333%}.medium-offset-9{margin-left:75%}.medium-11{width:91.66667%}.medium-push-11{position:relative;left:91.66667%}.medium-pull-11{position:relative;left:-91.66667%}.medium-offset-10{margin-left:83.33333%}.medium-12{width:100%}.medium-offset-11{margin-left:91.66667%}.medium-up-1>.column,.medium-up-1>.columns{float:left;width:100%}.medium-up-1>.column:nth-of-type(1n),.medium-up-1>.columns:nth-of-type(1n){clear:none}.medium-up-1>.column:nth-of-type(1n+1),.medium-up-1>.columns:nth-of-type(1n+1){clear:both}.medium-up-1>.column:last-child,.medium-up-1>.columns:last-child{float:left}.medium-up-2>.column,.medium-up-2>.columns{float:left;width:50%}.medium-up-2>.column:nth-of-type(1n),.medium-up-2>.columns:nth-of-type(1n){clear:none}.medium-up-2>.column:nth-of-type(2n+1),.medium-up-2>.columns:nth-of-type(2n+1){clear:both}.medium-up-2>.column:last-child,.medium-up-2>.columns:last-child{float:left}.medium-up-3>.column,.medium-up-3>.columns{float:left;width:33.33333%}.medium-up-3>.column:nth-of-type(1n),.medium-up-3>.columns:nth-of-type(1n){clear:none}.medium-up-3>.column:nth-of-type(3n+1),.medium-up-3>.columns:nth-of-type(3n+1){clear:both}.medium-up-3>.column:last-child,.medium-up-3>.columns:last-child{float:left}.medium-up-4>.column,.medium-up-4>.columns{float:left;width:25%}.medium-up-4>.column:nth-of-type(1n),.medium-up-4>.columns:nth-of-type(1n){clear:none}.medium-up-4>.column:nth-of-type(4n+1),.medium-up-4>.columns:nth-of-type(4n+1){clear:both}.medium-up-4>.column:last-child,.medium-up-4>.columns:last-child{float:left}.medium-up-5>.column,.medium-up-5>.columns{float:left;width:20%}.medium-up-5>.column:nth-of-type(1n),.medium-up-5>.columns:nth-of-type(1n){clear:none}.medium-up-5>.column:nth-of-type(5n+1),.medium-up-5>.columns:nth-of-type(5n+1){clear:both}.medium-up-5>.column:last-child,.medium-up-5>.columns:last-child{float:left}.medium-up-6>.column,.medium-up-6>.columns{float:left;width:16.66667%}.medium-up-6>.column:nth-of-type(1n),.medium-up-6>.columns:nth-of-type(1n){clear:none}.medium-up-6>.column:nth-of-type(6n+1),.medium-up-6>.columns:nth-of-type(6n+1){clear:both}.medium-up-6>.column:last-child,.medium-up-6>.columns:last-child{float:left}.medium-up-7>.column,.medium-up-7>.columns{float:left;width:14.28571%}.medium-up-7>.column:nth-of-type(1n),.medium-up-7>.columns:nth-of-type(1n){clear:none}.medium-up-7>.column:nth-of-type(7n+1),.medium-up-7>.columns:nth-of-type(7n+1){clear:both}.medium-up-7>.column:last-child,.medium-up-7>.columns:last-child{float:left}.medium-up-8>.column,.medium-up-8>.columns{float:left;width:12.5%}.medium-up-8>.column:nth-of-type(1n),.medium-up-8>.columns:nth-of-type(1n){clear:none}.medium-up-8>.column:nth-of-type(8n+1),.medium-up-8>.columns:nth-of-type(8n+1){clear:both}.medium-up-8>.column:last-child,.medium-up-8>.columns:last-child{float:left}.medium-collapse>.column,.medium-collapse>.columns{padding-right:0;padding-left:0}.medium-collapse .row{margin-right:0;margin-left:0}.expanded.row .medium-collapse.row{margin-right:0;margin-left:0}.medium-uncollapse>.column,.medium-uncollapse>.columns{padding-right:.9375rem;padding-left:.9375rem}.medium-centered{margin-right:auto;margin-left:auto}.medium-centered,.medium-centered:last-child:not(:first-child){float:none;clear:both}.medium-uncentered,.medium-push-0,.medium-pull-0{position:static;margin-right:0;margin-left:0}.medium-uncentered,.medium-uncentered:last-child:not(:first-child),.medium-push-0,.medium-push-0:last-child:not(:first-child),.medium-pull-0,.medium-pull-0:last-child:not(:first-child){float:left;clear:none}.medium-uncentered:last-child:not(:first-child),.medium-push-0:last-child:not(:first-child),.medium-pull-0:last-child:not(:first-child){float:right}}@media print, screen and (min-width: 64em){.large-1{width:8.33333%}.large-push-1{position:relative;left:8.33333%}.large-pull-1{position:relative;left:-8.33333%}.large-offset-0{margin-left:0%}.large-2{width:16.66667%}.large-push-2{position:relative;left:16.66667%}.large-pull-2{position:relative;left:-16.66667%}.large-offset-1{margin-left:8.33333%}.large-3{width:25%}.large-push-3{position:relative;left:25%}.large-pull-3{position:relative;left:-25%}.large-offset-2{margin-left:16.66667%}.large-4{width:33.33333%}.large-push-4{position:relative;left:33.33333%}.large-pull-4{position:relative;left:-33.33333%}.large-offset-3{margin-left:25%}.large-5{width:41.66667%}.large-push-5{position:relative;left:41.66667%}.large-pull-5{position:relative;left:-41.66667%}.large-offset-4{margin-left:33.33333%}.large-6{width:50%}.large-push-6{position:relative;left:50%}.large-pull-6{position:relative;left:-50%}.large-offset-5{margin-left:41.66667%}.large-7{width:58.33333%}.large-push-7{position:relative;left:58.33333%}.large-pull-7{position:relative;left:-58.33333%}.large-offset-6{margin-left:50%}.large-8{width:66.66667%}.large-push-8{position:relative;left:66.66667%}.large-pull-8{position:relative;left:-66.66667%}.large-offset-7{margin-left:58.33333%}.large-9{width:75%}.large-push-9{position:relative;left:75%}.large-pull-9{position:relative;left:-75%}.large-offset-8{margin-left:66.66667%}.large-10{width:83.33333%}.large-push-10{position:relative;left:83.33333%}.large-pull-10{position:relative;left:-83.33333%}.large-offset-9{margin-left:75%}.large-11{width:91.66667%}.large-push-11{position:relative;left:91.66667%}.large-pull-11{position:relative;left:-91.66667%}.large-offset-10{margin-left:83.33333%}.large-12{width:100%}.large-offset-11{margin-left:91.66667%}.large-up-1>.column,.large-up-1>.columns{float:left;width:100%}.large-up-1>.column:nth-of-type(1n),.large-up-1>.columns:nth-of-type(1n){clear:none}.large-up-1>.column:nth-of-type(1n+1),.large-up-1>.columns:nth-of-type(1n+1){clear:both}.large-up-1>.column:last-child,.large-up-1>.columns:last-child{float:left}.large-up-2>.column,.large-up-2>.columns{float:left;width:50%}.large-up-2>.column:nth-of-type(1n),.large-up-2>.columns:nth-of-type(1n){clear:none}.large-up-2>.column:nth-of-type(2n+1),.large-up-2>.columns:nth-of-type(2n+1){clear:both}.large-up-2>.column:last-child,.large-up-2>.columns:last-child{float:left}.large-up-3>.column,.large-up-3>.columns{float:left;width:33.33333%}.large-up-3>.column:nth-of-type(1n),.large-up-3>.columns:nth-of-type(1n){clear:none}.large-up-3>.column:nth-of-type(3n+1),.large-up-3>.columns:nth-of-type(3n+1){clear:both}.large-up-3>.column:last-child,.large-up-3>.columns:last-child{float:left}.large-up-4>.column,.large-up-4>.columns{float:left;width:25%}.large-up-4>.column:nth-of-type(1n),.large-up-4>.columns:nth-of-type(1n){clear:none}.large-up-4>.column:nth-of-type(4n+1),.large-up-4>.columns:nth-of-type(4n+1){clear:both}.large-up-4>.column:last-child,.large-up-4>.columns:last-child{float:left}.large-up-5>.column,.large-up-5>.columns{float:left;width:20%}.large-up-5>.column:nth-of-type(1n),.large-up-5>.columns:nth-of-type(1n){clear:none}.large-up-5>.column:nth-of-type(5n+1),.large-up-5>.columns:nth-of-type(5n+1){clear:both}.large-up-5>.column:last-child,.large-up-5>.columns:last-child{float:left}.large-up-6>.column,.large-up-6>.columns{float:left;width:16.66667%}.large-up-6>.column:nth-of-type(1n),.large-up-6>.columns:nth-of-type(1n){clear:none}.large-up-6>.column:nth-of-type(6n+1),.large-up-6>.columns:nth-of-type(6n+1){clear:both}.large-up-6>.column:last-child,.large-up-6>.columns:last-child{float:left}.large-up-7>.column,.large-up-7>.columns{float:left;width:14.28571%}.large-up-7>.column:nth-of-type(1n),.large-up-7>.columns:nth-of-type(1n){clear:none}.large-up-7>.column:nth-of-type(7n+1),.large-up-7>.columns:nth-of-type(7n+1){clear:both}.large-up-7>.column:last-child,.large-up-7>.columns:last-child{float:left}.large-up-8>.column,.large-up-8>.columns{float:left;width:12.5%}.large-up-8>.column:nth-of-type(1n),.large-up-8>.columns:nth-of-type(1n){clear:none}.large-up-8>.column:nth-of-type(8n+1),.large-up-8>.columns:nth-of-type(8n+1){clear:both}.large-up-8>.column:last-child,.large-up-8>.columns:last-child{float:left}.large-collapse>.column,.large-collapse>.columns{padding-right:0;padding-left:0}.large-collapse .row{margin-right:0;margin-left:0}.expanded.row .large-collapse.row{margin-right:0;margin-left:0}.large-uncollapse>.column,.large-uncollapse>.columns{padding-right:.9375rem;padding-left:.9375rem}.large-centered{margin-right:auto;margin-left:auto}.large-centered,.large-centered:last-child:not(:first-child){float:none;clear:both}.large-uncentered,.large-push-0,.large-pull-0{position:static;margin-right:0;margin-left:0}.large-uncentered,.large-uncentered:last-child:not(:first-child),.large-push-0,.large-push-0:last-child:not(:first-child),.large-pull-0,.large-pull-0:last-child:not(:first-child){float:left;clear:none}.large-uncentered:last-child:not(:first-child),.large-push-0:last-child:not(:first-child),.large-pull-0:last-child:not(:first-child){float:right}}.column-block{margin-bottom:1.25rem}.column-block>:last-child{margin-bottom:0}@media print, screen and (min-width: 40em){.column-block{margin-bottom:1.875rem}.column-block>:last-child{margin-bottom:0}}.button{display:inline-block;vertical-align:middle;margin:0 0 1rem 0;padding:0.25em .25em;border:5px solid;border-radius:0;-webkit-transition:background-color 0.25s ease-out,color 0.25s ease-out;transition:background-color 0.25s ease-out,color 0.25s ease-out;font-family:inherit;font-size:1rem;-webkit-appearance:none;line-height:1;text-align:center;cursor:pointer}[data-whatinput='mouse'] .button{outline:0}.button.tiny{font-size:.8rem}.button.small{font-size:.9rem}.button.large{font-size:1.25rem}.button.expanded{display:block;width:100%;margin-right:0;margin-left:0}.button,.button.disabled,.button[disabled],.button.disabled:hover,.button[disabled]:hover,.button.disabled:focus,.button[disabled]:focus{-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);border:5px solid #004a8f;background-color:#004a8f;color:#fefefe}.button:hover,.button:focus{background-color:#fefefe;color:#0a0a0a}.button.primary,.button.primary.disabled,.button.primary[disabled],.button.primary.disabled:hover,.button.primary[disabled]:hover,.button.primary.disabled:focus,.button.primary[disabled]:focus{-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);border:5px solid #004a8f;background-color:#004a8f;color:#fefefe}.button.primary:hover,.button.primary:focus{background-color:#fff;color:#0a0a0a}.button.secondary,.button.secondary.disabled,.button.secondary[disabled],.button.secondary.disabled:hover,.button.secondary[disabled]:hover,.button.secondary.disabled:focus,.button.secondary[disabled]:focus{-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);border:5px solid #8dc63f;background-color:#8dc63f;color:#fefefe}.button.secondary:hover,.button.secondary:focus{background-color:#fff;color:#0a0a0a}.button.success,.button.success.disabled,.button.success[disabled],.button.success.disabled:hover,.button.success[disabled]:hover,.button.success.disabled:focus,.button.success[disabled]:focus{-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);border:5px solid #8dc63f;background-color:#8dc63f;color:#fefefe}.button.success:hover,.button.success:focus{background-color:#fff;color:#0a0a0a}.button.warning,.button.warning.disabled,.button.warning[disabled],.button.warning.disabled:hover,.button.warning[disabled]:hover,.button.warning.disabled:focus,.button.warning[disabled]:focus{-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);border:5px solid #EFD423;background-color:#EFD423;color:#fefefe}.button.warning:hover,.button.warning:focus{background-color:#fff;color:#0a0a0a}.button.alert,.button.alert.disabled,.button.alert[disabled],.button.alert.disabled:hover,.button.alert[disabled]:hover,.button.alert.disabled:focus,.button.alert[disabled]:focus{-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);border:5px solid #f04124;background-color:#f04124;color:#fefefe}.button.alert:hover,.button.alert:focus{background-color:#fff;color:#0a0a0a}.button.info,.button.info.disabled,.button.info[disabled],.button.info.disabled:hover,.button.info[disabled]:hover,.button.info.disabled:focus,.button.info[disabled]:focus{-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);border:5px solid #a0d3e8;background-color:#a0d3e8;color:#fefefe}.button.info:hover,.button.info:focus{background-color:#fff;color:#0a0a0a}.button.hollow,.button.hollow:hover,.button.hollow:focus,.button.hollow.disabled,.button.hollow.disabled:hover,.button.hollow.disabled:focus,.button.hollow[disabled],.button.hollow[disabled]:hover,.button.hollow[disabled]:focus{background-color:transparent}.button.hollow,.button.hollow.disabled,.button.hollow[disabled],.button.hollow.disabled:hover,.button.hollow[disabled]:hover,.button.hollow.disabled:focus,.button.hollow[disabled]:focus{border:1px solid #004a8f;color:#004a8f}.button.hollow:hover,.button.hollow:focus{border-color:#002548;color:#002548}.button.hollow.primary,.button.hollow.primary.disabled,.button.hollow.primary[disabled],.button.hollow.primary.disabled:hover,.button.hollow.primary[disabled]:hover,.button.hollow.primary.disabled:focus,.button.hollow.primary[disabled]:focus{border:1px solid #004a8f;color:#004a8f}.button.hollow.primary:hover,.button.hollow.primary:focus{border-color:#002548;color:#002548}.button.hollow.secondary,.button.hollow.secondary.disabled,.button.hollow.secondary[disabled],.button.hollow.secondary.disabled:hover,.button.hollow.secondary[disabled]:hover,.button.hollow.secondary.disabled:focus,.button.hollow.secondary[disabled]:focus{border:1px solid #8dc63f;color:#8dc63f}.button.hollow.secondary:hover,.button.hollow.secondary:focus{border-color:#47651e;color:#47651e}.button.hollow.success,.button.hollow.success.disabled,.button.hollow.success[disabled],.button.hollow.success.disabled:hover,.button.hollow.success[disabled]:hover,.button.hollow.success.disabled:focus,.button.hollow.success[disabled]:focus{border:1px solid #8dc63f;color:#8dc63f}.button.hollow.success:hover,.button.hollow.success:focus{border-color:#47651e;color:#47651e}.button.hollow.warning,.button.hollow.warning.disabled,.button.hollow.warning[disabled],.button.hollow.warning.disabled:hover,.button.hollow.warning[disabled]:hover,.button.hollow.warning.disabled:focus,.button.hollow.warning[disabled]:focus{border:1px solid #EFD423;color:#EFD423}.button.hollow.warning:hover,.button.hollow.warning:focus{border-color:#807009;color:#807009}.button.hollow.alert,.button.hollow.alert.disabled,.button.hollow.alert[disabled],.button.hollow.alert.disabled:hover,.button.hollow.alert[disabled]:hover,.button.hollow.alert.disabled:focus,.button.hollow.alert[disabled]:focus{border:1px solid #f04124;color:#f04124}.button.hollow.alert:hover,.button.hollow.alert:focus{border-color:#811a09;color:#811a09}.button.hollow.info,.button.hollow.info.disabled,.button.hollow.info[disabled],.button.hollow.info.disabled:hover,.button.hollow.info[disabled]:hover,.button.hollow.info.disabled:focus,.button.hollow.info[disabled]:focus{border:1px solid #a0d3e8;color:#a0d3e8}.button.hollow.info:hover,.button.hollow.info:focus{border-color:#267b9e;color:#267b9e}.button.clear,.button.clear:hover,.button.clear:focus,.button.clear.disabled,.button.clear.disabled:hover,.button.clear.disabled:focus,.button.clear[disabled],.button.clear[disabled]:hover,.button.clear[disabled]:focus{border-color:transparent;background-color:transparent}.button.clear,.button.clear.disabled,.button.clear[disabled],.button.clear.disabled:hover,.button.clear[disabled]:hover,.button.clear.disabled:focus,.button.clear[disabled]:focus{color:#004a8f}.button.clear:hover,.button.clear:focus{color:#002548}.button.clear.primary,.button.clear.primary.disabled,.button.clear.primary[disabled],.button.clear.primary.disabled:hover,.button.clear.primary[disabled]:hover,.button.clear.primary.disabled:focus,.button.clear.primary[disabled]:focus{color:#004a8f}.button.clear.primary:hover,.button.clear.primary:focus{color:#002548}.button.clear.secondary,.button.clear.secondary.disabled,.button.clear.secondary[disabled],.button.clear.secondary.disabled:hover,.button.clear.secondary[disabled]:hover,.button.clear.secondary.disabled:focus,.button.clear.secondary[disabled]:focus{color:#8dc63f}.button.clear.secondary:hover,.button.clear.secondary:focus{color:#47651e}.button.clear.success,.button.clear.success.disabled,.button.clear.success[disabled],.button.clear.success.disabled:hover,.button.clear.success[disabled]:hover,.button.clear.success.disabled:focus,.button.clear.success[disabled]:focus{color:#8dc63f}.button.clear.success:hover,.button.clear.success:focus{color:#47651e}.button.clear.warning,.button.clear.warning.disabled,.button.clear.warning[disabled],.button.clear.warning.disabled:hover,.button.clear.warning[disabled]:hover,.button.clear.warning.disabled:focus,.button.clear.warning[disabled]:focus{color:#EFD423}.button.clear.warning:hover,.button.clear.warning:focus{color:#807009}.button.clear.alert,.button.clear.alert.disabled,.button.clear.alert[disabled],.button.clear.alert.disabled:hover,.button.clear.alert[disabled]:hover,.button.clear.alert.disabled:focus,.button.clear.alert[disabled]:focus{color:#f04124}.button.clear.alert:hover,.button.clear.alert:focus{color:#811a09}.button.clear.info,.button.clear.info.disabled,.button.clear.info[disabled],.button.clear.info.disabled:hover,.button.clear.info[disabled]:hover,.button.clear.info.disabled:focus,.button.clear.info[disabled]:focus{color:#a0d3e8}.button.clear.info:hover,.button.clear.info:focus{color:#267b9e}.button.disabled,.button[disabled]{opacity:.25;cursor:not-allowed}.button.dropdown::after{display:block;width:0;height:0;border:inset .4em;content:'';border-bottom-width:0;border-top-style:solid;border-color:#fefefe transparent transparent;position:relative;top:0.4em;display:inline-block;float:right;margin-left:.25em}.button.dropdown.hollow::after,.button.dropdown.clear::after{border-top-color:#004a8f}.button.dropdown.hollow.primary::after,.button.dropdown.clear.primary::after{border-top-color:#004a8f}.button.dropdown.hollow.secondary::after,.button.dropdown.clear.secondary::after{border-top-color:#8dc63f}.button.dropdown.hollow.success::after,.button.dropdown.clear.success::after{border-top-color:#8dc63f}.button.dropdown.hollow.warning::after,.button.dropdown.clear.warning::after{border-top-color:#EFD423}.button.dropdown.hollow.alert::after,.button.dropdown.clear.alert::after{border-top-color:#f04124}.button.dropdown.hollow.info::after,.button.dropdown.clear.info::after{border-top-color:#a0d3e8}.button.arrow-only::after{top:-0.1em;float:none;margin-left:0}a.button:hover,a.button:focus{text-decoration:none}.button-group{margin-bottom:1rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.button-group::before,.button-group::after{display:table;content:' ';-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.button-group::after{clear:both}.button-group::before,.button-group::after{display:none}.button-group .button{margin:0;margin-right:1px;margin-bottom:1px;font-size:1rem;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.button-group .button:last-child{margin-right:0}.button-group.tiny .button{font-size:.8rem}.button-group.small .button{font-size:.9rem}.button-group.large .button{font-size:1.25rem}.button-group.expanded .button{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;margin-right:0}.button-group.primary .button,.button-group.primary .button.disabled,.button-group.primary .button[disabled],.button-group.primary .button.disabled:hover,.button-group.primary .button[disabled]:hover,.button-group.primary .button.disabled:focus,.button-group.primary .button[disabled]:focus{-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);border:5px solid #004a8f;background-color:#004a8f;color:#fefefe}.button-group.primary .button:hover,.button-group.primary .button:focus{background-color:#fff;color:#0a0a0a}.button-group.secondary .button,.button-group.secondary .button.disabled,.button-group.secondary .button[disabled],.button-group.secondary .button.disabled:hover,.button-group.secondary .button[disabled]:hover,.button-group.secondary .button.disabled:focus,.button-group.secondary .button[disabled]:focus{-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);border:5px solid #8dc63f;background-color:#8dc63f;color:#fefefe}.button-group.secondary .button:hover,.button-group.secondary .button:focus{background-color:#fff;color:#0a0a0a}.button-group.success .button,.button-group.success .button.disabled,.button-group.success .button[disabled],.button-group.success .button.disabled:hover,.button-group.success .button[disabled]:hover,.button-group.success .button.disabled:focus,.button-group.success .button[disabled]:focus{-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);border:5px solid #8dc63f;background-color:#8dc63f;color:#fefefe}.button-group.success .button:hover,.button-group.success .button:focus{background-color:#fff;color:#0a0a0a}.button-group.warning .button,.button-group.warning .button.disabled,.button-group.warning .button[disabled],.button-group.warning .button.disabled:hover,.button-group.warning .button[disabled]:hover,.button-group.warning .button.disabled:focus,.button-group.warning .button[disabled]:focus{-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);border:5px solid #EFD423;background-color:#EFD423;color:#fefefe}.button-group.warning .button:hover,.button-group.warning .button:focus{background-color:#fff;color:#0a0a0a}.button-group.alert .button,.button-group.alert .button.disabled,.button-group.alert .button[disabled],.button-group.alert .button.disabled:hover,.button-group.alert .button[disabled]:hover,.button-group.alert .button.disabled:focus,.button-group.alert .button[disabled]:focus{-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);border:5px solid #f04124;background-color:#f04124;color:#fefefe}.button-group.alert .button:hover,.button-group.alert .button:focus{background-color:#fff;color:#0a0a0a}.button-group.info .button,.button-group.info .button.disabled,.button-group.info .button[disabled],.button-group.info .button.disabled:hover,.button-group.info .button[disabled]:hover,.button-group.info .button.disabled:focus,.button-group.info .button[disabled]:focus{-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);border:5px solid #a0d3e8;background-color:#a0d3e8;color:#fefefe}.button-group.info .button:hover,.button-group.info .button:focus{background-color:#fff;color:#0a0a0a}.button-group.hollow .button,.button-group.hollow .button:hover,.button-group.hollow .button:focus,.button-group.hollow .button.disabled,.button-group.hollow .button.disabled:hover,.button-group.hollow .button.disabled:focus,.button-group.hollow .button[disabled],.button-group.hollow .button[disabled]:hover,.button-group.hollow .button[disabled]:focus{background-color:transparent}.button-group.hollow .button,.button-group.hollow .button.disabled,.button-group.hollow .button[disabled],.button-group.hollow .button.disabled:hover,.button-group.hollow .button[disabled]:hover,.button-group.hollow .button.disabled:focus,.button-group.hollow .button[disabled]:focus{border:1px solid #004a8f;color:#004a8f}.button-group.hollow .button:hover,.button-group.hollow .button:focus{border-color:#002548;color:#002548}.button-group.hollow.primary .button,.button-group.hollow.primary .button.disabled,.button-group.hollow.primary .button[disabled],.button-group.hollow.primary .button.disabled:hover,.button-group.hollow.primary .button[disabled]:hover,.button-group.hollow.primary .button.disabled:focus,.button-group.hollow.primary .button[disabled]:focus,.button-group.hollow .button.primary,.button-group.hollow .button.primary.disabled,.button-group.hollow .button.primary[disabled],.button-group.hollow .button.primary.disabled:hover,.button-group.hollow .button.primary[disabled]:hover,.button-group.hollow .button.primary.disabled:focus,.button-group.hollow .button.primary[disabled]:focus{border:1px solid #004a8f;color:#004a8f}.button-group.hollow.primary .button:hover,.button-group.hollow.primary .button:focus,.button-group.hollow .button.primary:hover,.button-group.hollow .button.primary:focus{border-color:#002548;color:#002548}.button-group.hollow.secondary .button,.button-group.hollow.secondary .button.disabled,.button-group.hollow.secondary .button[disabled],.button-group.hollow.secondary .button.disabled:hover,.button-group.hollow.secondary .button[disabled]:hover,.button-group.hollow.secondary .button.disabled:focus,.button-group.hollow.secondary .button[disabled]:focus,.button-group.hollow .button.secondary,.button-group.hollow .button.secondary.disabled,.button-group.hollow .button.secondary[disabled],.button-group.hollow .button.secondary.disabled:hover,.button-group.hollow .button.secondary[disabled]:hover,.button-group.hollow .button.secondary.disabled:focus,.button-group.hollow .button.secondary[disabled]:focus{border:1px solid #8dc63f;color:#8dc63f}.button-group.hollow.secondary .button:hover,.button-group.hollow.secondary .button:focus,.button-group.hollow .button.secondary:hover,.button-group.hollow .button.secondary:focus{border-color:#47651e;color:#47651e}.button-group.hollow.success .button,.button-group.hollow.success .button.disabled,.button-group.hollow.success .button[disabled],.button-group.hollow.success .button.disabled:hover,.button-group.hollow.success .button[disabled]:hover,.button-group.hollow.success .button.disabled:focus,.button-group.hollow.success .button[disabled]:focus,.button-group.hollow .button.success,.button-group.hollow .button.success.disabled,.button-group.hollow .button.success[disabled],.button-group.hollow .button.success.disabled:hover,.button-group.hollow .button.success[disabled]:hover,.button-group.hollow .button.success.disabled:focus,.button-group.hollow .button.success[disabled]:focus{border:1px solid #8dc63f;color:#8dc63f}.button-group.hollow.success .button:hover,.button-group.hollow.success .button:focus,.button-group.hollow .button.success:hover,.button-group.hollow .button.success:focus{border-color:#47651e;color:#47651e}.button-group.hollow.warning .button,.button-group.hollow.warning .button.disabled,.button-group.hollow.warning .button[disabled],.button-group.hollow.warning .button.disabled:hover,.button-group.hollow.warning .button[disabled]:hover,.button-group.hollow.warning .button.disabled:focus,.button-group.hollow.warning .button[disabled]:focus,.button-group.hollow .button.warning,.button-group.hollow .button.warning.disabled,.button-group.hollow .button.warning[disabled],.button-group.hollow .button.warning.disabled:hover,.button-group.hollow .button.warning[disabled]:hover,.button-group.hollow .button.warning.disabled:focus,.button-group.hollow .button.warning[disabled]:focus{border:1px solid #EFD423;color:#EFD423}.button-group.hollow.warning .button:hover,.button-group.hollow.warning .button:focus,.button-group.hollow .button.warning:hover,.button-group.hollow .button.warning:focus{border-color:#807009;color:#807009}.button-group.hollow.alert .button,.button-group.hollow.alert .button.disabled,.button-group.hollow.alert .button[disabled],.button-group.hollow.alert .button.disabled:hover,.button-group.hollow.alert .button[disabled]:hover,.button-group.hollow.alert .button.disabled:focus,.button-group.hollow.alert .button[disabled]:focus,.button-group.hollow .button.alert,.button-group.hollow .button.alert.disabled,.button-group.hollow .button.alert[disabled],.button-group.hollow .button.alert.disabled:hover,.button-group.hollow .button.alert[disabled]:hover,.button-group.hollow .button.alert.disabled:focus,.button-group.hollow .button.alert[disabled]:focus{border:1px solid #f04124;color:#f04124}.button-group.hollow.alert .button:hover,.button-group.hollow.alert .button:focus,.button-group.hollow .button.alert:hover,.button-group.hollow .button.alert:focus{border-color:#811a09;color:#811a09}.button-group.hollow.info .button,.button-group.hollow.info .button.disabled,.button-group.hollow.info .button[disabled],.button-group.hollow.info .button.disabled:hover,.button-group.hollow.info .button[disabled]:hover,.button-group.hollow.info .button.disabled:focus,.button-group.hollow.info .button[disabled]:focus,.button-group.hollow .button.info,.button-group.hollow .button.info.disabled,.button-group.hollow .button.info[disabled],.button-group.hollow .button.info.disabled:hover,.button-group.hollow .button.info[disabled]:hover,.button-group.hollow .button.info.disabled:focus,.button-group.hollow .button.info[disabled]:focus{border:1px solid #a0d3e8;color:#a0d3e8}.button-group.hollow.info .button:hover,.button-group.hollow.info .button:focus,.button-group.hollow .button.info:hover,.button-group.hollow .button.info:focus{border-color:#267b9e;color:#267b9e}.button-group.clear .button,.button-group.clear .button:hover,.button-group.clear .button:focus,.button-group.clear .button.disabled,.button-group.clear .button.disabled:hover,.button-group.clear .button.disabled:focus,.button-group.clear .button[disabled],.button-group.clear .button[disabled]:hover,.button-group.clear .button[disabled]:focus{border-color:transparent;background-color:transparent}.button-group.clear .button,.button-group.clear .button.disabled,.button-group.clear .button[disabled],.button-group.clear .button.disabled:hover,.button-group.clear .button[disabled]:hover,.button-group.clear .button.disabled:focus,.button-group.clear .button[disabled]:focus{color:#004a8f}.button-group.clear .button:hover,.button-group.clear .button:focus{color:#002548}.button-group.clear.primary .button,.button-group.clear.primary .button.disabled,.button-group.clear.primary .button[disabled],.button-group.clear.primary .button.disabled:hover,.button-group.clear.primary .button[disabled]:hover,.button-group.clear.primary .button.disabled:focus,.button-group.clear.primary .button[disabled]:focus,.button-group.clear .button.primary,.button-group.clear .button.primary.disabled,.button-group.clear .button.primary[disabled],.button-group.clear .button.primary.disabled:hover,.button-group.clear .button.primary[disabled]:hover,.button-group.clear .button.primary.disabled:focus,.button-group.clear .button.primary[disabled]:focus{color:#004a8f}.button-group.clear.primary .button:hover,.button-group.clear.primary .button:focus,.button-group.clear .button.primary:hover,.button-group.clear .button.primary:focus{color:#002548}.button-group.clear.secondary .button,.button-group.clear.secondary .button.disabled,.button-group.clear.secondary .button[disabled],.button-group.clear.secondary .button.disabled:hover,.button-group.clear.secondary .button[disabled]:hover,.button-group.clear.secondary .button.disabled:focus,.button-group.clear.secondary .button[disabled]:focus,.button-group.clear .button.secondary,.button-group.clear .button.secondary.disabled,.button-group.clear .button.secondary[disabled],.button-group.clear .button.secondary.disabled:hover,.button-group.clear .button.secondary[disabled]:hover,.button-group.clear .button.secondary.disabled:focus,.button-group.clear .button.secondary[disabled]:focus{color:#8dc63f}.button-group.clear.secondary .button:hover,.button-group.clear.secondary .button:focus,.button-group.clear .button.secondary:hover,.button-group.clear .button.secondary:focus{color:#47651e}.button-group.clear.success .button,.button-group.clear.success .button.disabled,.button-group.clear.success .button[disabled],.button-group.clear.success .button.disabled:hover,.button-group.clear.success .button[disabled]:hover,.button-group.clear.success .button.disabled:focus,.button-group.clear.success .button[disabled]:focus,.button-group.clear .button.success,.button-group.clear .button.success.disabled,.button-group.clear .button.success[disabled],.button-group.clear .button.success.disabled:hover,.button-group.clear .button.success[disabled]:hover,.button-group.clear .button.success.disabled:focus,.button-group.clear .button.success[disabled]:focus{color:#8dc63f}.button-group.clear.success .button:hover,.button-group.clear.success .button:focus,.button-group.clear .button.success:hover,.button-group.clear .button.success:focus{color:#47651e}.button-group.clear.warning .button,.button-group.clear.warning .button.disabled,.button-group.clear.warning .button[disabled],.button-group.clear.warning .button.disabled:hover,.button-group.clear.warning .button[disabled]:hover,.button-group.clear.warning .button.disabled:focus,.button-group.clear.warning .button[disabled]:focus,.button-group.clear .button.warning,.button-group.clear .button.warning.disabled,.button-group.clear .button.warning[disabled],.button-group.clear .button.warning.disabled:hover,.button-group.clear .button.warning[disabled]:hover,.button-group.clear .button.warning.disabled:focus,.button-group.clear .button.warning[disabled]:focus{color:#EFD423}.button-group.clear.warning .button:hover,.button-group.clear.warning .button:focus,.button-group.clear .button.warning:hover,.button-group.clear .button.warning:focus{color:#807009}.button-group.clear.alert .button,.button-group.clear.alert .button.disabled,.button-group.clear.alert .button[disabled],.button-group.clear.alert .button.disabled:hover,.button-group.clear.alert .button[disabled]:hover,.button-group.clear.alert .button.disabled:focus,.button-group.clear.alert .button[disabled]:focus,.button-group.clear .button.alert,.button-group.clear .button.alert.disabled,.button-group.clear .button.alert[disabled],.button-group.clear .button.alert.disabled:hover,.button-group.clear .button.alert[disabled]:hover,.button-group.clear .button.alert.disabled:focus,.button-group.clear .button.alert[disabled]:focus{color:#f04124}.button-group.clear.alert .button:hover,.button-group.clear.alert .button:focus,.button-group.clear .button.alert:hover,.button-group.clear .button.alert:focus{color:#811a09}.button-group.clear.info .button,.button-group.clear.info .button.disabled,.button-group.clear.info .button[disabled],.button-group.clear.info .button.disabled:hover,.button-group.clear.info .button[disabled]:hover,.button-group.clear.info .button.disabled:focus,.button-group.clear.info .button[disabled]:focus,.button-group.clear .button.info,.button-group.clear .button.info.disabled,.button-group.clear .button.info[disabled],.button-group.clear .button.info.disabled:hover,.button-group.clear .button.info[disabled]:hover,.button-group.clear .button.info.disabled:focus,.button-group.clear .button.info[disabled]:focus{color:#a0d3e8}.button-group.clear.info .button:hover,.button-group.clear.info .button:focus,.button-group.clear .button.info:hover,.button-group.clear .button.info:focus{color:#267b9e}.button-group.no-gaps .button{margin-right:-.0625rem}.button-group.no-gaps .button+.button{border-left-color:transparent}.button-group.stacked,.button-group.stacked-for-small,.button-group.stacked-for-medium{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.button-group.stacked .button,.button-group.stacked-for-small .button,.button-group.stacked-for-medium .button{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%}.button-group.stacked .button:last-child,.button-group.stacked-for-small .button:last-child,.button-group.stacked-for-medium .button:last-child{margin-bottom:0}.button-group.stacked.expanded .button,.button-group.stacked-for-small.expanded .button,.button-group.stacked-for-medium.expanded .button{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;margin-right:0}@media print, screen and (min-width: 40em){.button-group.stacked-for-small .button{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;margin-bottom:0}}@media print, screen and (min-width: 64em){.button-group.stacked-for-medium .button{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;margin-bottom:0}}@media print, screen and (max-width: 39.99875em){.button-group.stacked-for-small.expanded{display:block}.button-group.stacked-for-small.expanded .button{display:block;margin-right:0}}@media print, screen and (max-width: 63.99875em){.button-group.stacked-for-medium.expanded{display:block}.button-group.stacked-for-medium.expanded .button{display:block;margin-right:0}}.close-button{position:absolute;z-index:10;color:#8a8a8a;cursor:pointer}[data-whatinput='mouse'] .close-button{outline:0}.close-button:hover,.close-button:focus{color:#0a0a0a}.close-button.small{right:0.66rem;top:0.33em;font-size:1.5em;line-height:1}.close-button.medium,.close-button{right:1rem;top:0.5rem;font-size:2em;line-height:1}.label{display:inline-block;padding:0.33333rem 0.5rem;border-radius:0;font-size:.8rem;line-height:1;white-space:nowrap;cursor:default;background:#004a8f;color:#fefefe}.label.primary{background:#004a8f;color:#fefefe}.label.secondary{background:#8dc63f;color:#0a0a0a}.label.success{background:#8dc63f;color:#0a0a0a}.label.warning{background:#EFD423;color:#0a0a0a}.label.alert{background:#f04124;color:#0a0a0a}.label.info{background:#a0d3e8;color:#0a0a0a}.progress{height:1rem;margin-bottom:1rem;border-radius:0;background-color:#cacaca}.progress.primary .progress-meter{background-color:#004a8f}.progress.secondary .progress-meter{background-color:#8dc63f}.progress.success .progress-meter{background-color:#8dc63f}.progress.warning .progress-meter{background-color:#EFD423}.progress.alert .progress-meter{background-color:#f04124}.progress.info .progress-meter{background-color:#a0d3e8}.progress-meter{position:relative;display:block;width:0%;height:100%;background-color:#004a8f}.progress-meter-text{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);margin:0;font-size:0.75rem;font-weight:bold;color:#fefefe;white-space:nowrap}.slider{position:relative;height:.65rem;margin-top:1.25rem;margin-bottom:2.25rem;background-color:#bbb;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:none;touch-action:none}.slider-fill{position:absolute;top:0;left:0;display:inline-block;max-width:100%;height:.65rem;border:1px solid #333;background-color:#ddd;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.slider-fill.is-dragging{-webkit-transition:all 0s linear;transition:all 0s linear}.slider-handle{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);left:0;z-index:1;display:inline-block;width:1.4em;height:1.4em;border-radius:3px;background-color:#f6f6f6;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;-ms-touch-action:manipulation;touch-action:manipulation;border:1px solid #333}[data-whatinput='mouse'] .slider-handle{outline:0}.slider-handle:hover{background-color:#d1d1d1}.slider-handle.is-dragging{-webkit-transition:all 0s linear;transition:all 0s linear}.slider.disabled,.slider[disabled]{opacity:.25;cursor:not-allowed}.slider.vertical{display:inline-block;width:.5rem;height:12.5rem;margin:0 1.25rem;-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}.slider.vertical .slider-fill{top:0;width:.5rem;max-height:100%;border:1px solid #333}.slider.vertical .slider-handle{position:absolute;top:0;left:50%;width:1.4em;height:1.4em;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);border:1px solid #333}.switch{height:2rem;position:relative;margin-bottom:1rem;outline:0;font-size:.875rem;font-weight:bold;color:#fefefe;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch-input{position:absolute;margin-bottom:0;opacity:0}.switch-paddle{position:relative;display:block;width:4rem;height:2rem;border-radius:0;background:#cacaca;-webkit-transition:all 0.25s ease-out;transition:all 0.25s ease-out;font-weight:inherit;color:inherit;cursor:pointer}input+.switch-paddle{margin:0}.switch-paddle::after{position:absolute;top:.25rem;left:.25rem;display:block;width:1.5rem;height:1.5rem;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);border-radius:0;background:#fefefe;-webkit-transition:all 0.25s ease-out;transition:all 0.25s ease-out;content:''}input:checked ~ .switch-paddle{background:#004a8f}input:checked ~ .switch-paddle::after{left:2.25rem}input:disabled ~ .switch-paddle{cursor:not-allowed;opacity:.5}[data-whatinput='mouse'] input:focus ~ .switch-paddle{outline:0}.switch-active,.switch-inactive{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.switch-active{left:8%;display:none}input:checked+label>.switch-active{display:block}.switch-inactive{right:15%}input:checked+label>.switch-inactive{display:none}.switch.tiny{height:1.5rem}.switch.tiny .switch-paddle{width:3rem;height:1.5rem;font-size:.625rem}.switch.tiny .switch-paddle::after{top:.25rem;left:.25rem;width:1rem;height:1rem}.switch.tiny input:checked ~ .switch-paddle::after{left:1.75rem}.switch.small{height:1.75rem}.switch.small .switch-paddle{width:3.5rem;height:1.75rem;font-size:.75rem}.switch.small .switch-paddle::after{top:.25rem;left:.25rem;width:1.25rem;height:1.25rem}.switch.small input:checked ~ .switch-paddle::after{left:2rem}.switch.large{height:2.5rem}.switch.large .switch-paddle{width:5rem;height:2.5rem;font-size:1rem}.switch.large .switch-paddle::after{top:.25rem;left:.25rem;width:2rem;height:2rem}.switch.large input:checked ~ .switch-paddle::after{left:2.75rem}table{border-collapse:collapse;margin-bottom:1rem;border-radius:0;border-spacing:0;margin-bottom:.3125rem;table-layout:auto}thead,tbody,tfoot{border:1px solid #999;background-color:#fefefe}caption{padding:.25rem .3125rem .3125rem;font-weight:bold}thead{background:#f8f8f8;color:#0a0a0a}tfoot{background:#f1f1f1;color:#0a0a0a}thead tr,tfoot tr{background:transparent}thead th,thead td,tfoot th,tfoot td{padding:.25rem .3125rem .3125rem;font-weight:bold;text-align:left}tbody th,tbody td{padding:.25rem .3125rem .3125rem}tbody tr:nth-child(even){border-bottom:0;background-color:#f1f1f1}table.unstriped tbody{background-color:#fefefe}table.unstriped tbody tr{border-bottom:0;border-bottom:1px solid #999;background-color:#fefefe}@media print, screen and (max-width: 63.99875em){table.stack thead{display:none}table.stack tfoot{display:none}table.stack tr,table.stack th,table.stack td{display:block}table.stack td{border-top:0}}table.scroll{display:block;overflow-x:auto}table.hover thead tr:hover{background-color:#f3f3f3}table.hover tfoot tr:hover{background-color:#ececec}table.hover tbody tr:hover{background-color:#f9f9f9}table.hover:not(.unstriped) tr:nth-of-type(even):hover{background-color:#ececec}.table-scroll{overflow-x:auto}.breadcrumbs{margin:0 0 1rem 0;list-style:none;background:#bbdd8c;border:1px solid #7fb536;background:#cce5a9;border:1px solid #b9dc8a;padding:.5rem;padding-left:1rem;border-radius:3px}.breadcrumbs::before,.breadcrumbs::after{display:table;content:' ';-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.breadcrumbs::after{clear:both}.breadcrumbs li{float:left;font-size:.6875rem;color:#395118;cursor:default;text-transform:uppercase}.breadcrumbs li:not(:last-child)::after{position:relative;margin:0 .75rem;opacity:1;content:">";color:#395118}.breadcrumbs a{color:#395118}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs li.current{color:#78ab33}.breadcrumbs .disabled{color:#cacaca;cursor:not-allowed}.callout{position:relative;margin:0 0 1rem 0;padding:1rem;border:1px solid rgba(10,10,10,0.25);border-radius:3px;background-color:#fff;color:#0a0a0a}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.callout.primary{background-color:#c8e4ff;color:#0a0a0a}.callout.secondary{background-color:#eef6e2;color:#0a0a0a}.callout.success{background-color:#eef6e2;color:#0a0a0a}.callout.warning{background-color:#fdf9de;color:#0a0a0a}.callout.alert{background-color:#fde3de;color:#0a0a0a}.callout.info{background-color:#f1f8fc;color:#0a0a0a}.callout.small{padding-top:.5rem;padding-right:.5rem;padding-bottom:.5rem;padding-left:.5rem}.callout.large{padding-top:3rem;padding-right:3rem;padding-bottom:3rem;padding-left:3rem}.card{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;margin-bottom:1rem;border:2px solid #8dc63f;border-radius:8px;background:#fefefe;-webkit-box-shadow:-10px 10px 10px #999;box-shadow:-10px 10px 10px #999;overflow:hidden;color:#0a0a0a}.card>:last-child{margin-bottom:0}.card-divider{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;padding:1rem;background:#e6e6e6}.card-divider>:last-child{margin-bottom:0}.card-section{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;padding:1rem;text-align:center}.card-section>:last-child{margin-bottom:0}.card-image{min-height:1px}.dropdown-pane{position:absolute;z-index:10;display:none;width:300px;padding:1rem;visibility:hidden;border:1px solid #cacaca;border-radius:0;background-color:#fefefe;font-size:1rem}.dropdown-pane.is-opening{display:block}.dropdown-pane.is-open{display:block;visibility:visible}.dropdown-pane.tiny{width:100px}.dropdown-pane.small{width:200px}.dropdown-pane.large{width:400px}.has-tip{position:relative;display:inline-block;border-bottom:dotted 1px #8a8a8a;font-weight:bold;cursor:help}.tooltip{position:absolute;top:calc(100% + .6495rem);z-index:1200;max-width:15rem;padding:.75rem;border-radius:0;background-color:#0a0a0a;font-size:80%;color:#fefefe}.tooltip::before{position:absolute}.tooltip.bottom::before{display:block;width:0;height:0;border:inset .75rem;content:'';border-top-width:0;border-bottom-style:solid;border-color:transparent transparent #0a0a0a;bottom:100%}.tooltip.bottom.align-center::before{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.tooltip.top::before{display:block;width:0;height:0;border:inset .75rem;content:'';border-bottom-width:0;border-top-style:solid;border-color:#0a0a0a transparent transparent;top:100%;bottom:auto}.tooltip.top.align-center::before{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.tooltip.left::before{display:block;width:0;height:0;border:inset .75rem;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent #0a0a0a;left:100%}.tooltip.left.align-center::before{bottom:auto;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.tooltip.right::before{display:block;width:0;height:0;border:inset .75rem;content:'';border-left-width:0;border-right-style:solid;border-color:transparent #0a0a0a transparent transparent;right:100%;left:auto}.tooltip.right.align-center::before{bottom:auto;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.tooltip.align-top::before{bottom:auto;top:10%}.tooltip.align-bottom::before{bottom:10%;top:auto}.tooltip.align-left::before{left:10%;right:auto}.tooltip.align-right::before{left:auto;right:10%}.accordion{margin-left:0;background:#fefefe;list-style-type:none}.accordion[disabled] .accordion-title{cursor:not-allowed}.accordion-item:first-child>:first-child{border-radius:0 0 0 0}.accordion-item:last-child>:last-child{border-radius:0 0 0 0}.accordion-title{position:relative;display:block;padding:1.25rem 1rem;border:1px solid #e6e6e6;border-bottom:0;font-size:.75rem;line-height:1;color:#004a8f}:last-child:not(.is-active)>.accordion-title{border-bottom:1px solid #e6e6e6;border-radius:0 0 0 0}.accordion-title:hover,.accordion-title:focus{background-color:#e6e6e6}.accordion-title::before{position:absolute;top:50%;right:1rem;margin-top:-0.5rem;content:"+"}.is-active>.accordion-title::before{content:"–"}.accordion-content{display:none;padding:1rem;border:1px solid #e6e6e6;border-bottom:0;background-color:#fefefe;color:#0a0a0a}:last-child>.accordion-content:last-child{border-bottom:1px solid #e6e6e6}.media-object{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:1rem;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.media-object img{max-width:none}@media print, screen and (max-width: 39.99875em){.media-object.stack-for-small{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}}.media-object-section{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.media-object-section:first-child{padding-right:1rem}.media-object-section:last-child:not(:nth-child(2)){padding-left:1rem}.media-object-section>:last-child{margin-bottom:0}@media print, screen and (max-width: 39.99875em){.stack-for-small .media-object-section{padding:0;padding-bottom:1rem;-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.stack-for-small .media-object-section img{width:100%}}.media-object-section.main-section{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.responsive-embed,.flex-video{position:relative;height:0;margin-bottom:1rem;padding-bottom:75%;overflow:hidden}.responsive-embed iframe,.responsive-embed object,.responsive-embed embed,.responsive-embed video,.flex-video iframe,.flex-video object,.flex-video embed,.flex-video video{position:absolute;top:0;left:0;width:100%;height:100%}.responsive-embed.widescreen,.flex-video.widescreen{padding-bottom:56.25%}.tabs{margin:0;border:1px solid 0;background:transparent;list-style-type:none}.tabs::before,.tabs::after{display:table;content:' ';-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.tabs::after{clear:both}.tabs.vertical>li{display:block;float:none;width:auto}.tabs.simple>li>a{padding:0}.tabs.simple>li>a:hover{background:transparent}.tabs.primary{background:#004a8f}.tabs.primary>li>a{color:#fefefe}.tabs.primary>li>a:hover,.tabs.primary>li>a:focus{background:#0053a1}.tabs-title{float:left;background:transparent}.tabs-title>a{display:block;padding:0.75rem 1.5rem;font-size:1rem;line-height:1;color:#fefefe;border-top-left-radius:13px;border-top-right-radius:13px;border:1px solid #47651e;background:#8dc63f}[data-whatinput='mouse'] .tabs-title>a{outline:0}.tabs-title>a:hover{background:#a2e24a}.tabs-title>a:focus,.tabs-title>a[aria-selected='true']{background:#6a972d;color:#fefefe}.tabs-content{border:1px solid 0;border-top:0;background:rgba(0,0,0,0);color:#0a0a0a;-webkit-transition:all 0.5s ease;transition:all 0.5s ease}.tabs-content.vertical{border:1px solid 0;border-left:0}.tabs-panel{display:none;padding:1rem}.tabs-panel.is-active{display:block}.thumbnail{display:inline-block;max-width:100%;margin-bottom:1rem;border:4px solid #fefefe;border-radius:0;-webkit-box-shadow:0 0 0 1px rgba(10,10,10,0.2);box-shadow:0 0 0 1px rgba(10,10,10,0.2);line-height:0}a.thumbnail{-webkit-transition:-webkit-box-shadow 200ms ease-out;transition:-webkit-box-shadow 200ms ease-out;transition:box-shadow 200ms ease-out;transition:box-shadow 200ms ease-out, -webkit-box-shadow 200ms ease-out}a.thumbnail:hover,a.thumbnail:focus{-webkit-box-shadow:0 0 6px 1px rgba(0,74,143,0.5);box-shadow:0 0 6px 1px rgba(0,74,143,0.5)}a.thumbnail image{-webkit-box-shadow:none;box-shadow:none}.menu{padding:0;margin:0;list-style:none;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.menu li{background-color:#202020}[data-whatinput='mouse'] .menu li{outline:0}.menu li:hover{background-color:#111;color:#fff}.menu a,.menu .button{line-height:1;text-decoration:none;display:block;padding:1rem 1rem}.menu input,.menu select,.menu a,.menu button{margin-bottom:0;color:#c6e39f;color:#8dc63f}.menu input:hover,.menu select:hover,.menu a:hover,.menu button:hover{background-color:#111;color:#fff}.menu input{display:inline-block}.menu,.menu.horizontal{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.menu.vertical{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.menu.expanded li{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.menu.simple{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.menu.simple li+li{margin-left:1rem}.menu.simple a{padding:0}@media print, screen and (min-width: 40em){.menu.medium-horizontal{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.menu.medium-vertical{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.menu.medium-expanded li{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.menu.medium-simple li{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}}@media print, screen and (min-width: 64em){.menu.large-horizontal{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.menu.large-vertical{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.menu.large-expanded li{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.menu.large-simple li{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}}.menu.nested{margin-right:0;margin-left:1rem}.menu.icons a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.menu.icon-top a,.menu.icon-right a,.menu.icon-bottom a,.menu.icon-left a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.menu.icon-left li a{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap}.menu.icon-left li a img,.menu.icon-left li a i,.menu.icon-left li a svg{margin-right:.25rem}.menu.icon-right li a{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap}.menu.icon-right li a img,.menu.icon-right li a i,.menu.icon-right li a svg{margin-left:.25rem}.menu.icon-top li a{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column nowrap;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.menu.icon-top li a img,.menu.icon-top li a i,.menu.icon-top li a svg{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;margin-bottom:.25rem;text-align:center}.menu.icon-bottom li a{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column nowrap;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.menu.icon-bottom li a img,.menu.icon-bottom li a i,.menu.icon-bottom li a svg{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;margin-bottom:.25rem;text-align:center}.menu .is-active>a{background:#004a8f;color:#8dc63f}.menu .active>a{background:#004a8f;color:#8dc63f}.menu.align-left{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.menu.align-right li{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.menu.align-right li .submenu li{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.menu.align-right.vertical li{display:block;text-align:right}.menu.align-right.vertical li .submenu li{text-align:right}.menu.align-right .nested{margin-right:1rem;margin-left:0}.menu.align-center li{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.menu.align-center li .submenu li{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.menu .menu-text{padding:1rem 1rem;font-weight:bold;line-height:1;color:inherit}.menu-centered>.menu{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.menu-centered>.menu li{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.menu-centered>.menu li .submenu li{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.no-js [data-responsive-menu] ul{display:none}.menu-icon{position:relative;display:inline-block;vertical-align:middle;width:20px;height:16px;cursor:pointer}.menu-icon::after{position:absolute;top:0;left:0;display:block;width:100%;height:2px;background:#fefefe;-webkit-box-shadow:0 7px 0 #fefefe,0 14px 0 #fefefe;box-shadow:0 7px 0 #fefefe,0 14px 0 #fefefe;content:''}.menu-icon:hover::after{background:#cacaca;-webkit-box-shadow:0 7px 0 #cacaca,0 14px 0 #cacaca;box-shadow:0 7px 0 #cacaca,0 14px 0 #cacaca}.menu-icon.dark{position:relative;display:inline-block;vertical-align:middle;width:20px;height:16px;cursor:pointer}.menu-icon.dark::after{position:absolute;top:0;left:0;display:block;width:100%;height:2px;background:#0a0a0a;-webkit-box-shadow:0 7px 0 #0a0a0a,0 14px 0 #0a0a0a;box-shadow:0 7px 0 #0a0a0a,0 14px 0 #0a0a0a;content:''}.menu-icon.dark:hover::after{background:#8a8a8a;-webkit-box-shadow:0 7px 0 #8a8a8a,0 14px 0 #8a8a8a;box-shadow:0 7px 0 #8a8a8a,0 14px 0 #8a8a8a}.dropdown.menu>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem;height:45px}.dropdown.menu>li.is-dropdown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:rgba(255,255,255,0.4) transparent transparent;right:5px;left:auto;margin-top:-3px}[data-whatinput='mouse'] .dropdown.menu a{outline:0}.dropdown.menu>li>a{padding:14px 16px}.dropdown.menu>li.is-active>a{background:#8dc63f;color:#fefefe}.no-js .dropdown.menu ul{display:none}.dropdown.menu .nested.is-dropdown-submenu{margin-right:0;margin-left:0}.dropdown.menu.vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.vertical>li.opens-left>.is-dropdown-submenu{top:0;right:100%;left:auto}.dropdown.menu.vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.vertical>li>a::after{right:14px}.dropdown.menu.vertical>li.opens-left>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent rgba(255,255,255,0.4) transparent transparent;right:auto;left:5px}.dropdown.menu.vertical>li.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent rgba(255,255,255,0.4)}@media print, screen and (min-width: 40em){.dropdown.menu.medium-horizontal>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu.medium-horizontal>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem;height:45px}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:rgba(255,255,255,0.4) transparent transparent;right:5px;left:auto;margin-top:-3px}.dropdown.menu.medium-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.medium-vertical>li.opens-left>.is-dropdown-submenu{top:0;right:100%;left:auto}.dropdown.menu.medium-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.medium-vertical>li>a::after{right:14px}.dropdown.menu.medium-vertical>li.opens-left>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent rgba(255,255,255,0.4) transparent transparent;right:auto;left:5px}.dropdown.menu.medium-vertical>li.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent rgba(255,255,255,0.4)}}@media print, screen and (min-width: 64em){.dropdown.menu.large-horizontal>li.opens-left>.is-dropdown-submenu{top:100%;right:0;left:auto}.dropdown.menu.large-horizontal>li.opens-right>.is-dropdown-submenu{top:100%;right:auto;left:0}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a{position:relative;padding-right:1.5rem;height:45px}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-bottom-width:0;border-top-style:solid;border-color:rgba(255,255,255,0.4) transparent transparent;right:5px;left:auto;margin-top:-3px}.dropdown.menu.large-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.large-vertical>li.opens-left>.is-dropdown-submenu{top:0;right:100%;left:auto}.dropdown.menu.large-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.large-vertical>li>a::after{right:14px}.dropdown.menu.large-vertical>li.opens-left>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent rgba(255,255,255,0.4) transparent transparent;right:auto;left:5px}.dropdown.menu.large-vertical>li.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent rgba(255,255,255,0.4)}}.dropdown.menu.align-right .is-dropdown-submenu.first-sub{top:100%;right:0;left:auto}.is-dropdown-menu.vertical{width:100px}.is-dropdown-menu.vertical.align-right{float:right}.is-dropdown-submenu-parent{position:relative}.is-dropdown-submenu-parent a::after{position:absolute;top:50%;right:5px;left:auto;margin-top:-6px}.is-dropdown-submenu-parent.opens-inner>.is-dropdown-submenu{top:100%;left:auto}.is-dropdown-submenu-parent.opens-left>.is-dropdown-submenu{right:100%;left:auto}.is-dropdown-submenu-parent.opens-right>.is-dropdown-submenu{right:auto;left:100%;margin-top:-1px}.is-dropdown-submenu{position:absolute;top:0;left:100%;z-index:1;display:none;min-width:200px;border:0;background:#fefefe}.dropdown .is-dropdown-submenu a{padding:1rem 1rem}.is-dropdown-submenu .is-dropdown-submenu-parent>a::after{right:14px}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-left-width:0;border-right-style:solid;border-color:transparent rgba(255,255,255,0.4) transparent transparent;right:auto;left:5px}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right>a::after{display:block;width:0;height:0;border:inset 6px;content:'';border-right-width:0;border-left-style:solid;border-color:transparent transparent transparent rgba(255,255,255,0.4)}.is-dropdown-submenu .is-dropdown-submenu{margin-top:0}.is-dropdown-submenu>li{width:100%}.is-dropdown-submenu.js-dropdown-active{display:block}html.is-reveal-open{position:fixed;width:100%;overflow-y:hidden}html.is-reveal-open.zf-has-scroll{overflow-y:scroll}html.is-reveal-open body{overflow-y:hidden}.reveal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1005;display:none;background-color:rgba(10,10,10,0.45);overflow-y:auto}.reveal{z-index:1006;-webkit-backface-visibility:hidden;backface-visibility:hidden;display:none;padding:1rem;border:0.625rem solid #8dc63f;border-radius:0;background-color:#fefefe;position:relative;top:100px;margin-right:auto;margin-left:auto;overflow-y:auto}[data-whatinput='mouse'] .reveal{outline:0}@media print, screen and (min-width: 40em){.reveal{min-height:0}}.reveal .column,.reveal .columns{min-width:0}.reveal>:last-child{margin-bottom:0}@media print, screen and (min-width: 40em){.reveal{width:600px;max-width:75rem}}.reveal.collapse{padding:0}@media print, screen and (min-width: 40em){.reveal.tiny{width:30%;max-width:75rem}}@media print, screen and (min-width: 40em){.reveal.small{width:50%;max-width:75rem}}@media print, screen and (min-width: 40em){.reveal.large{width:90%;max-width:75rem}}.reveal.full{top:0;right:0;bottom:0;left:0;width:100%;max-width:none;height:100%;min-height:100%;margin-left:0;border:0;border-radius:0}@media print, screen and (max-width: 39.99875em){.reveal{top:0;right:0;bottom:0;left:0;width:100%;max-width:none;height:100%;min-height:100%;margin-left:0;border:0;border-radius:0}}.reveal.without-overlay{position:fixed}.sticky-container{position:relative}.sticky{position:relative;z-index:0;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.sticky.is-stuck{position:fixed;z-index:5;width:100%}.sticky.is-stuck.is-at-top{top:0}.sticky.is-stuck.is-at-bottom{bottom:0}.sticky.is-anchored{position:relative;right:auto;left:auto}.sticky.is-anchored.is-at-bottom{bottom:0}.title-bar{padding:.5rem;background:#0a0a0a;color:#fefefe;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.title-bar .menu-icon{margin-left:.25rem;margin-right:.25rem}.title-bar-left,.title-bar-right{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.title-bar-right{text-align:right}.title-bar-title{display:inline-block;vertical-align:middle;font-weight:bold}.top-bar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:0;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.top-bar,.top-bar ul{background-color:#202020}.top-bar input{max-width:200px;margin-right:1rem}.top-bar .input-group-field{width:100%;margin-right:0}.top-bar input.button{width:auto}.top-bar .top-bar-left,.top-bar .top-bar-right{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}@media print, screen and (min-width: 40em){.top-bar{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.top-bar .top-bar-left{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin-right:auto}.top-bar .top-bar-right{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;margin-left:auto}}@media print, screen and (max-width: 63.99875em){.top-bar.stacked-for-medium{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.top-bar.stacked-for-medium .top-bar-left,.top-bar.stacked-for-medium .top-bar-right{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}@media print, screen and (max-width: 74.99875em){.top-bar.stacked-for-large{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.top-bar.stacked-for-large .top-bar-left,.top-bar.stacked-for-large .top-bar-right{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}.top-bar-title{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;margin:0.5rem 1rem 0.5rem 0}.top-bar-left,.top-bar-right{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.float-left{float:left !important}.float-right{float:right !important}.float-center{display:block;margin-right:auto;margin-left:auto}.clearfix::before,.clearfix::after{display:table;content:' ';-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.clearfix::after{clear:both}.align-left{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.align-right{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.align-center{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.align-justify{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.align-spaced{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.align-left.vertical.menu>li>a{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.align-right.vertical.menu>li>a{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.align-center.vertical.menu>li>a{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.align-top{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.align-self-top{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.align-bottom{-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end}.align-self-bottom{-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end}.align-middle{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.align-self-middle{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.align-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.align-self-stretch{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch}.align-center-middle{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center}.small-order-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.small-order-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.small-order-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.small-order-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.small-order-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.small-order-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}@media print, screen and (min-width: 40em){.medium-order-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.medium-order-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.medium-order-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.medium-order-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.medium-order-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.medium-order-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}}@media print, screen and (min-width: 64em){.large-order-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.large-order-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.large-order-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.large-order-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.large-order-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.large-order-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}}.flex-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flex-child-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.flex-child-grow{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.flex-child-shrink{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}@media print, screen and (min-width: 40em){.medium-flex-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.medium-flex-child-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.medium-flex-child-grow{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.medium-flex-child-shrink{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.medium-flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.medium-flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.medium-flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.medium-flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}}@media print, screen and (min-width: 64em){.large-flex-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.large-flex-child-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.large-flex-child-grow{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.large-flex-child-shrink{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.large-flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.large-flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.large-flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.large-flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}}.hide{display:none !important}.invisible{visibility:hidden}@media print, screen and (max-width: 39.99875em){.hide-for-small-only{display:none !important}}@media screen and (max-width: 0em), screen and (min-width: 40em){.show-for-small-only{display:none !important}}@media print, screen and (min-width: 40em){.hide-for-medium{display:none !important}}@media screen and (max-width: 39.99875em){.show-for-medium{display:none !important}}@media print, screen and (min-width: 40em) and (max-width: 63.99875em){.hide-for-medium-only{display:none !important}}@media screen and (max-width: 39.99875em), screen and (min-width: 64em){.show-for-medium-only{display:none !important}}@media print, screen and (min-width: 64em){.hide-for-large{display:none !important}}@media screen and (max-width: 63.99875em){.show-for-large{display:none !important}}@media print, screen and (min-width: 64em) and (max-width: 74.99875em){.hide-for-large-only{display:none !important}}@media screen and (max-width: 63.99875em), screen and (min-width: 75em){.show-for-large-only{display:none !important}}.show-for-sr,.show-on-focus{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.show-on-focus:active,.show-on-focus:focus{position:static !important;width:auto !important;height:auto !important;overflow:visible !important;clip:auto !important;white-space:normal !important}.show-for-landscape,.hide-for-portrait{display:block !important}@media screen and (orientation: landscape){.show-for-landscape,.hide-for-portrait{display:block !important}}@media screen and (orientation: portrait){.show-for-landscape,.hide-for-portrait{display:none !important}}.hide-for-landscape,.show-for-portrait{display:none !important}@media screen and (orientation: landscape){.hide-for-landscape,.show-for-portrait{display:none !important}}@media screen and (orientation: portrait){.hide-for-landscape,.show-for-portrait{display:block !important}}.slide-in-down.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-in-down.mui-enter.mui-enter-active{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.slide-in-left.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-in-left.mui-enter.mui-enter-active{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}.slide-in-up.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-in-up.mui-enter.mui-enter-active{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.slide-in-right.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-in-right.mui-enter.mui-enter-active{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}.slide-out-down.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-out-down.mui-leave.mui-leave-active{-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)}.slide-out-right.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-out-right.mui-leave.mui-leave-active{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}.slide-out-up.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-out-up.mui-leave.mui-leave-active{-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}.slide-out-left.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.slide-out-left.mui-leave.mui-leave-active{-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%)}.fade-in.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;opacity:0;-webkit-transition-property:opacity;transition-property:opacity}.fade-in.mui-enter.mui-enter-active{opacity:1}.fade-out.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;opacity:1;-webkit-transition-property:opacity;transition-property:opacity}.fade-out.mui-leave.mui-leave-active{opacity:0}.hinge-in-from-top.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);-webkit-transform-origin:top;-ms-transform-origin:top;transform-origin:top;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.hinge-in-from-top.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-right.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateY(-90deg);transform:perspective(2000px) rotateY(-90deg);-webkit-transform-origin:right;-ms-transform-origin:right;transform-origin:right;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.hinge-in-from-right.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-bottom.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateX(90deg);transform:perspective(2000px) rotateX(90deg);-webkit-transform-origin:bottom;-ms-transform-origin:bottom;transform-origin:bottom;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.hinge-in-from-bottom.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-left.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateY(90deg);transform:perspective(2000px) rotateY(90deg);-webkit-transform-origin:left;-ms-transform-origin:left;transform-origin:left;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.hinge-in-from-left.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-middle-x.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.hinge-in-from-middle-x.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-in-from-middle-y.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotateY(-90deg);transform:perspective(2000px) rotateY(-90deg);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.hinge-in-from-middle-y.mui-enter.mui-enter-active{-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);opacity:1}.hinge-out-from-top.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:top;-ms-transform-origin:top;transform-origin:top;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.hinge-out-from-top.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateX(90deg);transform:perspective(2000px) rotateX(90deg);opacity:0}.hinge-out-from-right.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:right;-ms-transform-origin:right;transform-origin:right;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.hinge-out-from-right.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateY(90deg);transform:perspective(2000px) rotateY(90deg);opacity:0}.hinge-out-from-bottom.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:bottom;-ms-transform-origin:bottom;transform-origin:bottom;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.hinge-out-from-bottom.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);opacity:0}.hinge-out-from-left.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:left;-ms-transform-origin:left;transform-origin:left;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.hinge-out-from-left.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateY(-90deg);transform:perspective(2000px) rotateY(-90deg);opacity:0}.hinge-out-from-middle-x.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.hinge-out-from-middle-x.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateX(90deg);transform:perspective(2000px) rotateX(90deg);opacity:0}.hinge-out-from-middle-y.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:perspective(2000px) rotate(0deg);transform:perspective(2000px) rotate(0deg);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.hinge-out-from-middle-y.mui-leave.mui-leave-active{-webkit-transform:perspective(2000px) rotateY(90deg);transform:perspective(2000px) rotateY(90deg);opacity:0}.scale-in-up.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.scale-in-up.mui-enter.mui-enter-active{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.scale-in-down.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:scale(1.5);-ms-transform:scale(1.5);transform:scale(1.5);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.scale-in-down.mui-enter.mui-enter-active{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.scale-out-up.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.scale-out-up.mui-leave.mui-leave-active{-webkit-transform:scale(1.5);-ms-transform:scale(1.5);transform:scale(1.5);opacity:0}.scale-out-down.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.scale-out-down.mui-leave.mui-leave-active{-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5);opacity:0}.spin-in.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:rotate(-.75turn);-ms-transform:rotate(-.75turn);transform:rotate(-.75turn);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.spin-in.mui-enter.mui-enter-active{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}.spin-out.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.spin-out.mui-leave.mui-leave-active{-webkit-transform:rotate(.75turn);-ms-transform:rotate(.75turn);transform:rotate(.75turn);opacity:0}.spin-in-ccw.mui-enter{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:rotate(.75turn);-ms-transform:rotate(.75turn);transform:rotate(.75turn);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:0}.spin-in-ccw.mui-enter.mui-enter-active{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}.spin-out-ccw.mui-leave{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;opacity:1}.spin-out-ccw.mui-leave.mui-leave-active{-webkit-transform:rotate(-.75turn);-ms-transform:rotate(-.75turn);transform:rotate(-.75turn);opacity:0}.slow{-webkit-transition-duration:750ms !important;transition-duration:750ms !important}.fast{-webkit-transition-duration:250ms !important;transition-duration:250ms !important}.linear{-webkit-transition-timing-function:linear !important;transition-timing-function:linear !important}.ease{-webkit-transition-timing-function:ease !important;transition-timing-function:ease !important}.ease-in{-webkit-transition-timing-function:ease-in !important;transition-timing-function:ease-in !important}.ease-out{-webkit-transition-timing-function:ease-out !important;transition-timing-function:ease-out !important}.ease-in-out{-webkit-transition-timing-function:ease-in-out !important;transition-timing-function:ease-in-out !important}.bounce-in{-webkit-transition-timing-function:cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;transition-timing-function:cubic-bezier(0.485, 0.155, 0.24, 1.245) !important}.bounce-out{-webkit-transition-timing-function:cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;transition-timing-function:cubic-bezier(0.485, 0.155, 0.515, 0.845) !important}.bounce-in-out{-webkit-transition-timing-function:cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;transition-timing-function:cubic-bezier(0.76, -0.245, 0.24, 1.245) !important}.short-delay{-webkit-transition-delay:300ms !important;transition-delay:300ms !important}.long-delay{-webkit-transition-delay:700ms !important;transition-delay:700ms !important}.shake{-webkit-animation-name:shake-7;animation-name:shake-7}@-webkit-keyframes shake-7{0%,10%,20%,30%,40%,50%,60%,70%,80%,90%{-webkit-transform:translateX(7%);transform:translateX(7%)}5%,15%,25%,35%,45%,55%,65%,75%,85%,95%{-webkit-transform:translateX(-7%);transform:translateX(-7%)}}@keyframes shake-7{0%,10%,20%,30%,40%,50%,60%,70%,80%,90%{-webkit-transform:translateX(7%);transform:translateX(7%)}5%,15%,25%,35%,45%,55%,65%,75%,85%,95%{-webkit-transform:translateX(-7%);transform:translateX(-7%)}}.spin-cw{-webkit-animation-name:spin-cw-1turn;animation-name:spin-cw-1turn}@-webkit-keyframes spin-cw-1turn{0%{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}100%{-webkit-transform:rotate(0);transform:rotate(0)}}@keyframes spin-cw-1turn{0%{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}100%{-webkit-transform:rotate(0);transform:rotate(0)}}.spin-ccw{-webkit-animation-name:spin-ccw-1turn;animation-name:spin-ccw-1turn}@-webkit-keyframes spin-ccw-1turn{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}}@keyframes spin-ccw-1turn{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}}.wiggle{-webkit-animation-name:wiggle-7deg;animation-name:wiggle-7deg}@-webkit-keyframes wiggle-7deg{40%,50%,60%{-webkit-transform:rotate(7deg);transform:rotate(7deg)}35%,45%,55%,65%{-webkit-transform:rotate(-7deg);transform:rotate(-7deg)}0%,30%,70%,100%{-webkit-transform:rotate(0);transform:rotate(0)}}@keyframes wiggle-7deg{40%,50%,60%{-webkit-transform:rotate(7deg);transform:rotate(7deg)}35%,45%,55%,65%{-webkit-transform:rotate(-7deg);transform:rotate(-7deg)}0%,30%,70%,100%{-webkit-transform:rotate(0);transform:rotate(0)}}.shake,.spin-cw,.spin-ccw,.wiggle{-webkit-animation-duration:500ms;animation-duration:500ms}.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.slow{-webkit-animation-duration:750ms !important;animation-duration:750ms !important}.fast{-webkit-animation-duration:250ms !important;animation-duration:250ms !important}.linear{-webkit-animation-timing-function:linear !important;animation-timing-function:linear !important}.ease{-webkit-animation-timing-function:ease !important;animation-timing-function:ease !important}.ease-in{-webkit-animation-timing-function:ease-in !important;animation-timing-function:ease-in !important}.ease-out{-webkit-animation-timing-function:ease-out !important;animation-timing-function:ease-out !important}.ease-in-out{-webkit-animation-timing-function:ease-in-out !important;animation-timing-function:ease-in-out !important}.bounce-in{-webkit-animation-timing-function:cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;animation-timing-function:cubic-bezier(0.485, 0.155, 0.24, 1.245) !important}.bounce-out{-webkit-animation-timing-function:cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;animation-timing-function:cubic-bezier(0.485, 0.155, 0.515, 0.845) !important}.bounce-in-out{-webkit-animation-timing-function:cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;animation-timing-function:cubic-bezier(0.76, -0.245, 0.24, 1.245) !important}.short-delay{-webkit-animation-delay:300ms !important;animation-delay:300ms !important}.long-delay{-webkit-animation-delay:700ms !important;animation-delay:700ms !important}.rounded{border-radius:5000px !important}.rounded .switch-paddle{border-radius:5000px !important}.rounded .switch-paddle:after{border-radius:50%}.radius{border-radius:.1875rem}.dataTables_wrapper{position:inherit !important}.top-bar{z-index:2}.button.tiny{padding:.125rem .25rem .1875rem;font-size:.6875rem}.button.small{padding:.625rem 1.25rem .6875rem;font-size:.8125rem}.dropdown.menu>li{max-height:45px}.fc tbody tr:nth-child(even){background-color:transparent}body{background:-webkit-gradient(linear, left top, right top, from(#001f3a), color-stop(#0065bf), to(#001f3a));background:linear-gradient(to right, #001f3a, #0065bf, #001f3a);-ms-word-break:break-all;word-break:break-all;word-break:break-word;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto}table,.display{-ms-word-break:normal;word-break:normal;background:#fff}polyline{opacity:.3;stroke:black;stroke-width:2px;fill:none}.wait_div{display:none;position:fixed;z-index:1010;top:0;left:0;height:100%;width:100%;background:rgba(0,0,0,0.7) url("../images/gears.svg") 50% 50% no-repeat}body.loading{overflow:hidden}body.loading .wait_div{display:block}.wait_message{text-align:center;padding:15px;width:325px;height:140px;background-color:#fff;position:absolute;top:50%;bottom:50%;left:0;right:0;margin:auto;margin-top:100px;border:8px solid #8dc63f;border-radius:8px}.my-rows{background:#fff;-webkit-box-shadow:-10px 10px 20px #000;box-shadow:-10px 10px 20px #000}#main-wrap{-webkit-box-shadow:-10px 30px 20px #000;box-shadow:-10px 30px 20px #000}.login{float:right;font-size:.75em;color:#004a8f;text-align:right;padding-top:10px}#top_header{background:#fff;-webkit-border-top-left-radius:8px;-webkit-border-top-right-radius:8px;-moz-border-radius-topleft:8px;-moz-border-radius-topright:8px;border-top-left-radius:8px;border-top-right-radius:8px;margin-top:45px}.client_name{font-size:1.25rem;font-family:"Play",Arial,sans-serif;color:#004a8f;margin-top:25px}.client_logo{margin-top:15px;margin-bottom:10px;margin-right:20px}.squaredTwo{width:28px;height:28px;background:#fcfff4;background:-webkit-gradient(linear, left top, left bottom, from(#fcfff4), color-stop(40%, #dfe5d7), to(#b3bead));background:linear-gradient(top, #fcfff4 0%, #dfe5d7 40%, #b3bead 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcfff4', endColorstr='#b3bead',GradientType=0 );margin:0;-webkit-box-shadow:inset 0px 1px 1px white,0px 1px 3px rgba(0,0,0,0.5);box-shadow:inset 0px 1px 1px white,0px 1px 3px rgba(0,0,0,0.5);position:relative}li{font-size:.875rem}.footer{margin-bottom:60px;padding-top:25px;padding-bottom:10px;background:#202020;color:#bbb;font-size:.75em}.footer a{text-decoration:none;color:#fff}.footer a:hover{color:#bbb}.footer_links{margin-right:100px;width:150px;float:left;margin-bottom:20px}.footer_links li{font-size:.75em}.rev{font-size:.6rem;color:#999}.most_recent{position:fixed;top:150;left:-125px;z-index:2500;width:150px;height:auto;background:#fff;border-top:2px solid #8dc63f;border-right:2px solid #8dc63f;border-bottom:2px solid #8dc63f;-webkit-border-top-right-radius:8px;-webkit-border-bottom-right-radius:8px;-moz-border-radius-topright:8px;-moz-border-radius-bottomright:8px;border-top-right-radius:8px;border-bottom-right-radius:8px;-webkit-box-shadow:-10px 10px 20px #000;box-shadow:-10px 10px 20px #000}.most_recent li{list-style-type:none;border-bottom:1px solid #8dc63f}.most_recent li a{color:#8dc63f;display:block}.most_recent li a:hover{color:#333}.most_recent li:hover{background:#eef6e2;border-bottom:1px solid #333}.alert_panel{background:#ffc6c6;border:1px solid #c90000}.banner_header{font-family:Arial;font-weight:bold;font-size:14px;color:#999999}.approve_service_note{margin-left:10px !important}.send_message{border:.625rem solid #004a8f}.from{width:40%;float:left}.message_text{width:50%;float:right}.timeout_warning{display:none;position:fixed;margin:auto;margin-top:-160px;padding:10px;top:50%;right:0;bottom:0;left:0;height:325px;z-index:2000;width:40%;background:#fff;border:.625rem solid #8dc63f;-webkit-border-top-left-radius:8px;-webkit-border-top-right-radius:8px;-moz-border-radius-topleft:8px;-moz-border-radius-topright:8px;border-top-left-radius:8px;border-top-right-radius:8px}.lighter_gray{background-color:#f5f5f5 !important}.superfilter{width:100%;background:#e0e0e0;border:2px solid #a3a3a3;border-radius:8px;padding-top:.8rem;padding-left:.8rem;padding-right:.8rem;padding-bottom:0px;margin-bottom:.25rem;font-size:.8rem}.list_filter{float:left;margin-right:.5rem;margin-bottom:0px;font-size:.8rem}.clear_filters{float:right;margin-top:10px;margin-bottom:-5px}.no_bottom_margin{margin-bottom:0}.range{margin-top:4px;margin-left:5px;margin-right:10px;width:125px}.range label{position:absolute;width:5px;margin-left:-5px;text-align:center;margin-top:10px}.readonly_box{width:100%;padding:.25rem;border:1px solid #ccc;margin-bottom:1rem;min-height:2em}.smaller_text{font-size:.8em;width:100%;background:#ddd}.DTTT_container{display:block}.meds_flyout{display:block;background:#ddd;border:1px solid #666;font-size:12px}.meds_flyout a:hover{text-decoration:underline}.noborder{border:0px}.med_details{min-width:250px;margin-right:25px;margin-bottom:20px;float:left}.med_details td{white-space:nowrap}.spaced_buttons{min-width:50px;margin-left:10px}.tlen{height:40px}.go-top{display:block;width:40px;height:40px;line-height:35px;text-align:center;font-size:30px;position:fixed;bottom:-40px;right:20px;-webkit-transition:all 1s ease;transition:all 1s ease;background-color:#404040;color:#FFFFFF;text-decoration:none;border-radius:5px}.go-top.show{bottom:20px}.go-top:hover{background-color:#8dc63f;color:#FFFFFF}.close_panel{font-size:2.5rem;line-height:1;position:absolute;top:.5rem;right:1.5rem;color:#AAA;font-weight:700;cursor:pointer}.close_panel_fa_icon{font-size:1.5rem;line-height:1;position:absolute;top:.25rem;right:.5rem;color:#AAA;font-weight:700;cursor:pointer}.icon_control{line-height:1;color:#333;font-weight:700;cursor:pointer;-webkit-transition:all .5s ease;transition:all .5s ease}.icon_control:hover{color:#8dc63f}.icon_good{color:#8dc63f}.inactive_icon{color:#888 !important}.inactive_icon:hover{color:#777 !important}.clear_date{margin-left:20px}.del_element{color:#f04124;line-height:1;font-weight:700;cursor:pointer;-webkit-transition:all .5s ease;transition:all .5s ease}.del_element:hover{color:#333}.remove_icon{color:#f04124;font-weight:700;cursor:pointer}.topright{position:absolute;top:5px;right:5px}.topright.fa-lg {line-height: unset;}.subsection{margin-top:1rem;margin-bottom:1rem;padding:1rem;border:1px solid #ddd;background:#f3f3f3;border-radius:8px;-webkit-transition:all .15s ease;transition:all .15s ease}.subsection:hover{background:#dfdfdf}.fu{position:relative;width:90%}.fu:after{opacity:0;content:'\f024';font-family:'Font Awesome 5 Pro';font-size:1.25rem;color:#f04124;margin-left:10px;-webkit-transition:all 1500ms;transition:all 1500ms;position:absolute;z-index:200;top:-5px}.fu:hover:after{opacity:1;-webkit-transition:all 250ms;transition:all 250ms}.check_all{position:relative}.check_all:after{opacity:0;content:'\f560';font-family:'Font Awesome 5 Pro';font-size:1.25rem;color:#a0d3e8;-webkit-transition:all 1500ms;transition:all 1500ms;position:absolute;z-index:200;top:-5px;right:-20px}.check_all:hover:after{opacity:1;-webkit-transition:all 250ms;transition:all 250ms}.clear_datepicker{position:relative}.clear_datepicker:after{opacity:0;content:'\f273';font-family:'Font Awesome 5 Pro';font-size:1.25rem;color:#f04124;-webkit-transition:all 1500ms;transition:all 1500ms;position:absolute;z-index:200;top:-11px;right:8px}.clear_datepicker:hover:after{opacity:1;-webkit-transition:all 250ms;transition:all 250ms}.update_review{padding:.25rem;font-size:.85rem;border-radius:8px;background:#ffd6d6;border:1px solid #ffaaaa;cursor:pointer;margin-bottom:1.25rem}.reviewed{background:#eaffea;border:1px solid #b5ffb5;cursor:default}label.required{color:#f04124}.rating_menu_wrapper{z-index:5;background:#f5f5f5;display:block;float:left;width:20%}@media (min-width: 350px){.rating_menu_wrapper{font-size:.7rem;min-width:160px}}@media (min-width: 760px){.rating_menu_wrapper{font-size:.7rem;min-width:170px}}@media (min-width: 1015px){.rating_menu_wrapper{font-size:.75rem;min-width:185px}}.rating_area_header{background:#ebebeb;color:#333;font-weight:bold;padding-left:5px;padding-right:5px;padding-bottom:2px;padding-top:2px}.rating_area_label{display:block;color:#004a8f;-webkit-transition:all .4s;transition:all .4s}@media (min-width: 350px){.rating_area_label{padding-left:2px;padding-right:2px}}@media (min-width: 760px){.rating_area_label{padding-left:10px;padding-right:2px}}@media (min-width: 1015px){.rating_area_label{padding-left:20px;padding-right:5px}}.rating_area_label:hover{background:#004a8f;color:#fff}.rating_area_text{float:left;color:#004a8f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:150px}.rating_area_text:hover{color:#fff;white-space:normal;overflow:visible;height:auto}.rating_score{float:right}.highlighted{background:#8dc63f}.highlighted a{color:#fff}.explanations{z-index:10;float:right;display:block;background:#fff}@media (min-width: 350px){.explanations{width:60%;font-size:.7rem}}@media (min-width: 760px){.explanations{width:70%;font-size:.85rem}}@media (min-width: 1015px){.explanations{width:79%;font-size:1rem}}.explanations table{border:1px solid #666}.explanations th{background:#ccc}.explanations td{font-size:.8rem;background:#fff}.questions{z-index:1;float:right;display:block;background:#fff}@media (min-width: 350px){.questions{width:60%;font-size:.7rem}}@media (min-width: 760px){.questions{width:70%;font-size:.85rem}}@media (min-width: 1015px){.questions{width:79%;font-size:1rem}}label{font-weight:bold !important;cursor:default}.chars{font-weight:normal;float:right;color:#f04124;margin-top:-.75rem}.possible td{background:#d1e8b2}.possible td:hover{cursor:pointer}.impossible td{background:#666;color:#eee}.impossible td:hover{cursor:pointer}.inline-button{float:left;display:inline;margin-right:20px}.question{padding:20px;margin-top:15px;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.q-previous{background:#f5f5f5;border:1px solid #eee}.q-current{background:#eef6e2;border:2px solid #bbdd8c}.q-radio{padding:.5rem;font-size:.8rem;display:inline;background:#004a8f;color:#fff;border-radius:4px}.q-radio:hover{background:#fff;color:#004a8f;border:5px solid #004a8f;padding:.25rem}.readonly-label{display:inline-block;margin-right:1.5rem;min-width:150px}.inactive_record{background:#dfdfdf}input[type=radio]{width:1rem;height:1rem;vertical-align:middle;margin:-3px 0px 0px 0px}.notes{float:right;display:block;width:79%}#section_last_updated{font-size:.7rem;margin-top:-8px}.prev{float:left;-webkit-box-shadow:0,0,0;box-shadow:0,0,0}.next{float:right;-webkit-box-shadow:0,0,0;box-shadow:0,0,0}.highlighted-row{background:#F2E698 !important}.good{background:#A3D000;color:#333}.warn{background:#F4C400;color:#333}.bad{background:#F90000;color:#333}.unscored{background:#999;color:#333}.jump{font-family:"Play",Arial,sans-serif;font-size:1.25rem}.small_note{font-size:.8rem;line-height:1.1rem}.autocomplete{position:absolute;top:-10px;left:0;width:auto;background:#fff;z-index:999;border:4px solid #8dc63f;-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);padding:10px;max-height:300px;overflow-x:hidden;overflow-y:auto}.autocomplete ul{font-size:.8rem;list-style-type:none;white-space:nowrap;padding:0px;margin:0px}.autocomplete ul li{display:block}.autocomplete ul li:hover{color:#47651e;background:#eef6e2;cursor:pointer}.photo_preview{position:absolute;top:0;left:0;width:auto;background:#fff;border:4px solid #8dc63f;-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);padding:5px}.item_preview{font-size:.9rem;line-height:1.1rem;position:absolute;top:0;left:0;width:auto;background:#fff;border:4px solid #8dc63f;-webkit-box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);box-shadow:-5px 5px 0 0 rgba(0,0,0,0.25);padding:1em;border-radius:5px}.item_preview strong{color:#004a8f;font-size:1.2rem;font-family:"Play",Arial,sans-serif;line-height:1.25em;margin-bottom:.5rem;display:inline-block}.scoring_alert{border-radius:5px;padding:2rem;margin-bottom:2rem}.alert_unlikely{background:#f4c400;border:3px solid #f4a100}.alert_very_unlikely{background:#ff8314;border:3px solid #d46400}.alert_impossible{background:#e50000;border:3px solid #ab0000;color:#fff}td>p{font-size:.875rem;line-height:1rem;margin-bottom:.5rem}.inactive,.inactive a{color:#ddd}.spaced{min-width:50px;margin-left:10px}.informational{background:#def0f7;font-size:.8em;padding:.2em}#service th,#training th{text-align:center;background:#c6e39f}#rep_tree{display:block;border:4px solid #ccc;float:left;overflow:hidden;margin-right:10px;width:100%}#rep_options{width:100%}div.rep_tip{position:absolute;text-align:center;width:150px;height:auto;background:#fff;padding:5px;font-size:.8rem;color:#000;-webkit-border-top-radius:4px;border-radius:4px;border:4px solid #8dc63f;pointer-events:none;-webkit-box-shadow:-5px 5px 0px rgba(0,0,0,0.25);box-shadow:-5px 5px 0px rgba(0,0,0,0.25);z-index:1500;outline:1px solid #000}td.details-control{background:url("../../libraries/datatables/media/images/details_open.png") no-repeat center center;cursor:pointer}tr.shown td.details-control{background:url("../../libraries/datatables/media/images/details_close.png") no-repeat center center}line,rect{shape-rendering:crispEdges;stroke:#000000;fill:#004a8f}.axis path,.axis line{fill:none;stroke:#000;shape-rendering:crispEdges}.bar{fill:#004a8f;-webkit-transition:all .06s ease;transition:all .06s ease}.bar:hover{fill:#0079eb}.bar.correct{fill:#8dc63f;-webkit-transition:all .06s ease;transition:all .06s ease}.bar.correct:hover{fill:#aad46f}.bar.correct.stay{fill:#004a8f;-webkit-transition:all .06s ease;transition:all .06s ease}.bar.correct.stay:hover{fill:#0079eb}.bar.incorrect{fill:#f04124;-webkit-transition:all .06s ease;transition:all .06s ease}.bar.incorrect:hover{fill:#f4715b}.bar.incorrect.stay{fill:#004a8f;-webkit-transition:all .06s ease;transition:all .06s ease}.bar.incorrect.stay:hover{fill:#0079eb}.bar.cant_tell{fill:#EFD423;-webkit-transition:all .06s ease;transition:all .06s ease}.bar.cant_tell:hover{fill:#f3df5a}.bar.cant_tell.stay{fill:#004a8f;-webkit-transition:all .06s ease;transition:all .06s ease}.bar.cant_tell.stay:hover{fill:#0079eb}.stay{fill:#8dc63f;-webkit-transition:all .06s ease;transition:all .06s ease}.stay:hover{fill:#98cc52}#rep_alert_area{border-radius:8px;border:4px solid #f04124;padding:20px}.report_alert i{color:#f04124;margin-right:10px}.report_info i{color:#a0d3e8;margin-right:10px}.table_section{border:2px solid #8dc63f;background:#d7ebbc}.tr_highlight,.tr_warning{border:1px solid #EFD423 !important;background:#f9f0b2 !important;-webkit-transition:all 0.75s ease;transition:all 0.75s ease}.tr_success{border:1px solid #8dc63f !important;background:#d7ebbc !important;-webkit-transition:all 0.75s ease;transition:all 0.75s ease}.tr_alert{border:1px solid #f04124 !important;background:#fabdb2 !important;-webkit-transition:all 0.75s ease;transition:all 0.75s ease}.tr_black{border:1px solid #000 !important;background:#333 !important;color:#fff;-webkit-transition:all 0.75s ease;transition:all 0.75s ease}.el_wrap{padding:3px;position:relative}.el_wrap:hover{border-radius:4px;background:#004a8f}.motd{padding:2rem}.motd_expiration{display:block;float:right;color:#999;font-style:italic;font-size:.8em}.elevate{display:block;width:100%;font-size:1em;position:absolute;top:2px}.elevate:hover{color:#fff}.help_links{text-align:center;border-top:2px solid #8dc63f;border-bottom:2px solid #8dc63f;background:#eef6e2;margin-bottom:2px;padding:4px}#assistant_content{border:4px solid #ccc;min-height:400px;margin-bottom:15px}#question_history{display:none;border:2px solid #aaa;padding:10px}.link_button{color:#primary-color;display:inline-block;font-size:.8rem;font-weight:600;margin:2px;text-decoration:none}.link_button:hover{text-decoration:underline;color:#8dc63f;background-color:#f4f9ec}.link_button:focus,.link_button:active{color:#333}.inset{margin-left:2em !important}.instructions{font-size:.8rem;color:#004a8f;background-color:#edf6ff;border:1px solid #004a8f;padding:.6rem;margin:1rem;width:95%}.instructions p{margin:.5rem}.svgicon{height:1rem;width:1rem;background:rgba(0,0,0,0);vertical-align:middle}h1>.svgicon{height:3rem;width:3rem}h2>.svgicon{height:2.5rem;width:2.5rem}h3>.svgicon{height:2rem;width:2rem}symbol rect{fill:rgba(0,0,0,0)}symbol path{fill:#004a8f}symbol>circle{fill:#004a8f}.training_content{display:none;padding:1.5rem;border:4px solid #8dc63f;position:fixed;margin:auto;top:0%;right:0;bottom:0;left:0%;height:100%;z-index:3000;width:100%;background:#fff;-webkit-box-shadow:-12px 17px 40px 3px rgba(0,0,0,0.75);box-shadow:-12px 17px 40px 3px rgba(0,0,0,0.75)}hr.stars{border:0;text-align:center;margin-top:.25em;margin-bottom:1.25em}hr.stars:after{content:"* * * * * * * * * * * * * * * * * * * *";font-size:1em;text-shadow:-24em 0, -12em 0, 12em 0, 24em 0}.border{border:1px solid #000}.highlighted_label{color:#f04124;border:2px solid #f04124;padding:.25em}.alternate_rows{border:1px solid #999}.alternate_rows div{padding:.25rem .3125rem}.alternate_rows:nth-child(even){background:#ddd}	.autosaved{display:inline;margin-bottom:12px;position:relative;z-index:400}.autosaved:after{content:'\f00c Saved';font-family:'Font Awesome 5 Pro';font-size:.9rem;color:#8dc63f;position:absolute;top:-25px;right:0px;min-width: max-content;}.autosaved_not{display:inline;margin-bottom:12px;position:relative;z-index:400}.autosaved_not:after{content:'\f00d Not Saved';font-family:'Font Awesome 5 Pro';font-size:.9rem;color:#f04124;position:absolute;top:-25px;right:0px;min-width: max-content;}.rtc-user,.chat-user{color:#8dc63f;cursor:pointer;margin-bottom:.3rem;padding-left:.5rem}.rtc-user:hover,.chat-user:hover{text-decoration:underline;color:#8dc63f;background-color:#f4f9ec}.recipient{color:#004a8f;background-color:#e7f4f9;position:relative}.recipient:after{content:'\f4b2';font-family:'Font Awesome 5 Pro';font-size:.75rem;position:absolute;top:2px;right:5px}.chat_sender{font-weight:bold;font-size:.75em;background-color:#e3f1cf;border:#8dc63f;border-radius:4px;min-width:200px;max-width:300px;display:block;padding-left:1em;line-height:1.5em;margin-left:1em}.chat_self{background-color:#ccc;border:#333}.chat_message{font-size:.75em;display:block;padding-left:3em;padding-right:.5em}.open_chat{cursor:pointer}video{height:200px;margin:0 0 20px 0;vertical-align:top;width:calc(50% - 12px)}input::-ms-clear{display:none}.footnote{font-size:.6em;font-weight:normal;vertical-align:top}@keyframes slow_fade{0%{opacity:1}50%{opacity:.25}100%{opacity:1}}@-webkit-keyframes slow_fade{0%{opacity:1}50%{opacity:.25}100%{opacity:1}}.animate-slow_fade{-webkit-animation:slow_fade 3s infinite;animation:slow_fade 3s infinite}.incorrect_highlight{color:#f04124;background-color:#EFD423;font-weight:bold;font-style:italic}.pcd_slot{position:absolute;width:25px}#my_pcd ::-webkit-input-placeholder{color:#bbb;font-size:1.5em}#my_pcd ::-moz-placeholder{color:#bbb;font-size:1.5em}#my_pcd :-ms-input-placeholder{color:#bbb;font-size:1.5em}#my_pcd ::-ms-input-placeholder{color:#bbb;font-size:1.5em}#my_pcd ::placeholder{color:#bbb;font-size:1.5em}.floater{position:absolute;background:#fff;border:4px solid #8dc63f;padding:1em;border-radius:4px;-webkit-box-shadow:0 0 10px rgba(10,10,10,0.4);box-shadow:0 0 10px rgba(10,10,10,0.4)}.hard_requirement{background-color:#fde3de !important}.hard_requirement_label{color:#f04124}.icon-bar{width:100%;font-size:0;display:inline-block;background:#333333}.icon-bar>*{text-align:center;font-size:0.8rem;width:25%;margin:0 auto;display:block;padding:0.1rem;float:left}.icon-bar>* i,.icon-bar>* img{display:block;margin:0 auto}.icon-bar>* i+label,.icon-bar>* img+label{margin-top:.0625rem}.icon-bar>* i{font-size:1.25rem;vertical-align:middle}.icon-bar>* img{width:1.875rem;height:1.875rem}.icon-bar.label-right>* i,.icon-bar.label-right>* img{margin:0 .0625rem 0 0;display:inline-block}.icon-bar.label-right>* i+label,.icon-bar.label-right>* img+label{margin-top:0}.icon-bar.label-right>* label{display:inline-block}.icon-bar.vertical.label-right>*{text-align:left}.icon-bar.vertical,.icon-bar.small-vertical{height:100%;width:auto}.icon-bar.vertical .item,.icon-bar.small-vertical .item{width:auto;margin:auto;float:none}@media only screen and (min-width: 40.063em){.icon-bar.medium-vertical{height:100%;width:auto}.icon-bar.medium-vertical .item{width:auto;margin:auto;float:none}}@media only screen and (min-width: 64.063em){.icon-bar.large-vertical{height:100%;width:auto}.icon-bar.large-vertical .item{width:auto;margin:auto;float:none}}.icon-bar>*{font-size:0.8rem;padding:0.1rem}.icon-bar>* i+label,.icon-bar>* img+label{margin-top:.0625rem}.icon-bar>* i{font-size:1.25rem}.icon-bar>* img{width:1.875rem;height:1.875rem}.icon-bar>*:hover{background:#004a8f}.icon-bar>* label{color:#FFFFFF}.icon-bar>* i{color:#a3d3ff}.icon-bar.two-up .item{width:50%}.icon-bar.two-up.vertical .item,.icon-bar.two-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.two-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.two-up.large-vertical .item{width:auto}}.icon-bar.three-up .item{width:33.3333%}.icon-bar.three-up.vertical .item,.icon-bar.three-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.three-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.three-up.large-vertical .item{width:auto}}.icon-bar.four-up .item{width:25%}.icon-bar.four-up.vertical .item,.icon-bar.four-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.four-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.four-up.large-vertical .item{width:auto}}.icon-bar.five-up .item{width:20%}.icon-bar.five-up.vertical .item,.icon-bar.five-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.five-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.five-up.large-vertical .item{width:auto}}.icon-bar.six-up .item{width:16.66667%}.icon-bar.six-up.vertical .item,.icon-bar.six-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.063em){.icon-bar.six-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.063em){.icon-bar.six-up.large-vertical .item{width:auto}}.round_left{background:#eee;height:29px;text-align:center;padding-top:5px;border-top:1px solid #ccc;border-left:1px solid #ccc;border-bottom:1px solid #ccc;border-radius:100px 0 0 100px;font-size:.75rem}.round_right input{border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;border-radius:0 100px 100px 0}.has-tip{font-weight:700;color:#f4a142;border-bottom:0}[type=date],[type=number],[type=password],[type=text]{height:1.8125rem}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsImNvbXBvbmVudHMvcmVzcG9uc2l2ZS5mb3VuZGF0aW9uLnNjc3MiLCJjb21wb25lbnRzL2pzdHJlZS5zY3NzIiwiY29tcG9uZW50cy9kYXRhVGFibGVzLnNjc3MiLCJjb21wb25lbnRzL2RhdGFUYWJsZXMuZm91bmRhdGlvbi5zY3NzIiwiY29tcG9uZW50cy9kYXRhVGFibGVzLnJlc3BvbnNpdmUuZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy92ZW5kb3Ivbm9ybWFsaXplLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsImNvbXBvbmVudHMvX3RleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiY29tcG9uZW50cy9fc2VsZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NlbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZnJhbWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcHJvZ3Jlc3MtYmFyLnNjc3MiLCJjb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCJjb21wb25lbnRzL190YWJsZS5zY3NzIiwidXRpbC9fY29sb3Iuc2NzcyIsImNvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsImNvbXBvbmVudHMvX2NhcmQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsImNvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCJjb21wb25lbnRzL190YWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RodW1ibmFpbC5zY3NzIiwiY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LWljb24uc2NzcyIsImNvbXBvbmVudHMvX2Ryb3Bkb3duLW1lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3RpY2t5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Zsb2F0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2tleWZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc2xpZGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fZmFkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19yb3VuZGVkLnNjc3MiLCJhcHAuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnTFEsMkNDbklOLGlEQUNFLFVBQVcsQ0FDWCxTQUFVLENBQ1YsYUFBYyxDQUNmLENDakRILGdMQUdFLHlCQUEwQixDQUMzQixxTUFJQyx1QkFBd0IsQ0FDekIsa0pBR0MsaUJBQWtCLENBQ2xCLGlCQUFrQixDQUNsQixjQUFlLENBQ2hCLGdLQUdDLE9BQVEsQ0FDUixRQUFTLENBQ1QsV0FBWSxDQUNaLFVBQVcsQ0FDWCxhQUFjLENBQ2QsaUJBQWtCLENBQ2xCLFdBQVksQ0FDWixzQkFBdUIsQ0FDdkIsa0JBQW1CLENBQ25CLCtCQUF3QixDQUF4Qix1QkFBd0IsQ0FDeEIsOEJBQXVCLENBQXZCLHNCQUF1QixDQUN2QixpQkFBa0IsQ0FDbEIsd0JBQXlCLENBQ3pCLDZDQUE4QyxDQUM5QyxnQkFBaUIsQ0FDakIsV0FBWSxDQUNaLHdCQUF5QixDQUMxQixzSkFHQyxXQUFZLENBQ1osd0JBQXlCLENBQzFCLDBJQUdDLGlCQUFrQixDQUNuQix3SkFHQyxPQUFRLENBQ1IsUUFBUyxDQUNULFdBQVksQ0FDWixVQUFXLENBQ1gsa0JBQW1CLENBQ25CLGdCQUFpQixDQUNqQixlQUFnQixDQUNqQiw4RkFHQyxpQkFBa0IsQ0FDbEIsY0FBZSxDQUNoQiw0R0FHQyxPQUFRLENBQ1IsUUFBUyxDQUNULFdBQVksQ0FDWixVQUFXLENBQ1gsZ0JBQWlCLENBQ2pCLGlCQUFrQixDQUNsQixhQUFjLENBQ2QsaUJBQWtCLENBQ2xCLFdBQVksQ0FDWixzQkFBdUIsQ0FDdkIsa0JBQW1CLENBQ25CLCtCQUF3QixDQUF4Qix1QkFBd0IsQ0FDeEIs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Q1QsZUN6RWEsQ0QwRWIsc0JBQXVCLENBQ3ZCLGFBQWMsQ0FDZCxXQ3RFdUIsQ0R1RXhCLGdDRWpCQyxTQUFVLENBQ1gsSUZvQkMsYUFBYyxDRGpHaEIsc0NDMEdFLG1CQUFvQixDQUNyQixZQUlDLHdCQUF5QixDQUMxQixXQUdDLHVCQUF3QixDQUN6QixvT0czSkQsYUFBYyxDQUNkLDZCQUFzQixDQUF0QixxQkFBc0IsQ0FDdEIsVUFBVyxDQUNYLGdCQUxzSixDQU10SixlQ0h1RCxDREl2RCxhRnVhK0IsQ0VyYS9CLHdCRmtDbUIsQ0VqQ25CLGVGK0NlLENFOUNmLHdCRm1DYSxDRWxDYixxREZpQ2EsQ0VqQ2IsNkNGaUNhLENFL0JiLG1CRnVaeUIsQ0V0WnpCLGNDWnVELENEYXZELGtCRnVDMkIsQ0V0QzNCLGVGd0JxQixDRXZCckIsYUYyQmEsQ0V4QlgseUVGNlo4RCxDRTdaOUQsaUVGNlo4RCxDRTdaOUQseURGNlo4RCxDRTdaOUQsaUZGNlo4RCxDRXhZOUQsdUJBQVksQ0FBWixvQkFBWSxDQUFaLGVBQWdCLENBQ2pCLDhUQWpCQyxZQUFhLENBQ2Isd0JGaUJlLENFZmYsa0NGY2lCLENFZGpCLDBCRmNpQixDRVhmLHlFRmtaaUQsQ0VsWmpELGlFRmtaaUQsQ0VsWmpELHlERmtaaUQsQ0VsWmpELGlGRmtaNEQsQ0Z0VGhFLFNJN0VFLGNBQWUsQ0FEakIsZUFJSSxXQUFZLENBQ2Isb0VBUUMsbUNBQXVELENBRXhELGdDQU1ELHVCQUFnQixDQUFoQixvQkFBZ0IsQ0FBaEIsZUFBZ0IsQ0FDaEIsZUZYYSxDRVlkLHFCQUlDLDZCQUFZLENBQVoscUJBQXNCLENBQ3ZCLDRCQWlCQyxhRmhEaUIsQ0UrQmxCLG1CQWlCQyxhRmhEaUIsQ0UrQmxCLHVCQWlCQyxhRmhEaUIsQ0UrQmxCLHdCQWlCQyxhRmhEaUIsQ0UrQmxCLGNBaUJDLGFGaERpQixDRWlEbEIsK0NFcktDLGVENEVxRCxDQzNFdEQsNkNBS0Msb0JBQXFCLENBQ3JCLHVCQUF3QixDQUV4QixpQkFBa0QsQ0FDbEQsaUJEa0VxRCxDQ2pFckQsZUFBZ0IsQ0FLakIsdURBRkcsY0FBZSxDQUNoQiw2Q0FNRCxrQkFBbUQsQ0FDcEQsY0FJQyxVQUFXLENBQ1osTUNkRCxhQUFjLENBQ2QsUUFBUyxDQUVULGlCRjREdUQsQ0UzRHZELGtCTCtHMkIsQ0s5RzNCLGVMc2QwQixDS3JkMUIsYUxtR2EsQ0t4RmIsYUFMQSxlRm1EdUQsQ0VsRHZELGtCQUE4RCxDQVMzRCxXQ3ZCRCxpQkFGdUMsQ0FHdkMsa0JIK0RxRCxDRzlEckQsaUJOa2R3QixDTWpkeEIsYU51R1csQ010R1osYUNEQyxtQkFBaUMsQ0FBakMsb0JBQWlDLENBQWpDLG1CQUFpQyxDQUFqQyxZQUFpQyxDQUNqQyxVQUFXLENBQ1gsa0JKMkRxRCxDSXhEbkQseUJBQWEsQ0FBYiwyQkFBYSxDQUFiLHNCQUFhLENBQWIsbUJBQW9CLENBTnhCLHlFQVdNLHFCUHlHUyxDT3BIZix1RUFpQk0scUJBQWlILENBQ2xILCtKQUtILFFBQVMsQ0FDVCxrQkFBbUIsQ0FNcEIsbUJBSUMsY1BvYnVCLENPbmJ2Qix3QlBtRWlCLENPbEVqQixrQlBpRWdCLENPL0RoQixhUGtFVyxDT2pFWCxpQkFBa0IsQ0FDbEIsa0JBQW1CLENBR2pCLG1CQUFhLENBQWIsb0JBQWEsQ0FBYixtQkFBYSxDQUFiLFlBQWEsQ0FDYixrQkFBYyxDQUFkLHFCQUFjLENBQWQsaUJBQWMsQ0FBZCxhQUFjLENBQ2Qsd0JBQWEsQ0FBYiwwQkFBYSxDQUFiLHFCQUFhLENBQWIsa0JBQW1CLENBYnZCLCtCQXNCTSxjQUFpQyxDQXRCdkMsOEJBMEJNLGFBQWdDLENBQ2pDLG1CQU1ILGVBQWdCLENBR2Qsa0JBQWEsQ0FBYixvQkFBYSxDQUFiLGdCQUFhLENBQWIsWUFBYSxDQUNiLFdBQVksQ0FFZixvQkFJQyxhQUFjLENBQ2QsZ0JBQWlCLENBQ2pCLGlCQUFrQixDQUdoQixtQkFBYSxDQUFiLG9CQUFhLENBQWIsbUJBQWEsQ0FBYixZQUFhLENBQ2Isa0JBQU0sQ0FBTixxQkFBTSxDQUFOLGlCQUFNLENBQU4sYUFBYyxDQVJsQixxR0FzQk0sMEJBQW1CLENBQW5CLDJCQUFtQixDQUFuQixrQkFBbUIsQ0FDbkIsV0FBWSxDQUtkLGFBQWMsQ0FDZCxnQkFBaUIsQ0FDakIsY0p6Q21ELENMK0Z2RCxTVWhKRSxRQUFTLENBQ1QsU0FBVSxDQUNWLFFBQVMsQ1Z1SlgsT1VuSkUsY0FBZSxDQUNmLG1CQUFrQyxDQUNuQyxVQXRCRCxpQkxvRVcsQ0tuRVgsZUw4RHVELENLN0R2RCx3QlJxR21CLENRbkduQixpQkFFRSxRQUFTLENBQ1QscUJMd0RxRCxDS3ZEckQsa0JMdURxRCxDSndHdkQsT1V6S0EsZ0JBRmtCLENBR2xCLGVOZ0V1RCxDTS9EdkQsYVQwZStCLENTeGUvQix1QkFBZ0IsQ0FBaEIsb0JBQWdCLENBQWhCLGVBQWdCLENBQ2hCLHdCVG9HbUIsQ1NuR25CLGVUaUhlLENTaEhmLHdCVHFHYSxDU25HYixtQlQwZHlCLENTemR6QixjTnVEdUQsQ010RHZELGtCVDBHMkIsQ1N6RzNCLGVUMkZxQixDUzFGckIsYVQ4RmEsQ0NvQmIsdU9BQXlOLENROUd2Tiw2QkFBOEIsQ0FDOUIsc0NBQTBELENBQzFELDJCQUE0QixDQUM1Qix1QkFBd0IsQ0FFeEIsb0JBQXVELENBSXZELHlFVHNkbUQsQ1N0ZG5ELGlFVHNkbUQsQ1N0ZG5ELHlEVHNkbUQsQ1N0ZG5ELGlGVHNkOEQsQ0MvV2hFLG1DRndDQSxPRXJDSSxzV0FBdVcsQ1FuRTFXLENBbkNELGFBQ0UsWUFBYSxDQUNiLHdCVDBFZSxDU3pFZix3QlQyRVcsQ1MxRVgsa0NUdUVpQixDU3ZFakIsMEJUdUVpQixDU3BFZix5RVQyY2lELENTM2NqRCxpRVQyY2lELENTM2NqRCx5RFQyY2lELENTM2NqRCxpRlQyYzRELENTemMvRCxnQkFJQyx3QlQ2RGdCLENTNURoQixrQlRtYytCLENTbGNoQyxtQkFJQyxZQUFhLENBQ2QsaUJBR0MsV0FBWSxDQUNaLHFCQUFzQixDQUN2Qix1QkFFQyxhQUFjLENBQ2QsZ0JBQWlCLENDckNuQiw4QkFDRSxvQlZpQ2MsQ1VoQ2Qsd0JBQStELENBRS9ELHlEQUNFLGFWNkJZLENVOUJkLGdEQUNFLGFWNkJZLENVOUJkLG9EQUNFLGFWNkJZLENVOUJkLHFEQUNFLGFWNkJZLENVOUJkLDJDQUNFLGFWNkJZLENVNUJiLGtCQTBCQyxhVkVZLENVRGIsWUFyQkgsWUFBYSxDQUNiLGlCQUFnQyxDQUNoQyxrQlA4QnVELENPNUJ2RCxnQlA0QnVELENPM0J2RCxnQlZnRnVCLENVL0V2QixhVmdCZ0IsQ1VHaEIsdUJBSUksYUFBYyxDQUNmLG9FQ2dLRCxRQUFTLENBQ1QsU0FBVSxDQUNYLEVBSUMsa0JYaEMwQixDV2tDMUIsaUJBQWtCLENBQ2xCLGVYcENzQixDV3FDdEIsaUNYbkN5QyxDV29DMUMsS0FLQyxpQkFBa0IsQ0FDbEIsbUJBQW9CLENBQ3JCLFNBS0MsZ0JYaElxQixDV2lJckIsbUJBQW9CLENidEx0QixNYTJMRSxhWDFEaUIsQ1cyRGpCLG1CQUFvQixDQUNyQiwwQ0FTQyxtQ1gvRjBDLENXZ0cxQyxpQlg5RnNCLENXK0Z0QixrQlhwSnlCLENXcUp6QixhWHZOZSxDV3dOZixpQ1gxRXNDLENXZ0V4QyxrSEFhSSxhQUFjLENBQ2QsYVh0S2UsQ1d1S2hCLE9BWU8sZ0JSM042QyxDUXVPN0MsZVgzSFcsQ1dtSVgsWUFBYSxDQU9iLG1CWHpJaUIsQ1cwR3JCLE9BSUksaUJSM042QyxDUXVPN0MsZVgzSFcsQ1dtSVgsWUFBYSxDQU9iLG1CWHpJaUIsQ1cwR3JCLE9BSUksbUJSM042QyxDUXVPN0MsZVgzSFcsQ1dtSVgsWUFBYSxDQU9iLG1CWHpJaUIsQ1cwR3JCLE9BSUksa0JSM042QyxDUXVPN0MsZVgzSFcsQ1dtSVgsWUFBYSxDQU9iLG1CWHpJaUIsQ1cwR3JCLE9BSUksbUJSM042QyxDUXVPN0MsZVgzSFcsQ1dtSVgsWUFBYSxDQU9iLG1CWHpJaUIsQ1cwR3JCLE9BSUksY1IzTjZDLENRdU83QyxlWDNIVyxDV21JWCxZQUFhLENBT2IsbUJYeklpQixDVHJCckIsMkNvQitIQSxPQUlJLGNSM042QyxDUXVOakQsT0FJSSxnQlIzTjZDLENRdU5qRCxPQUlJLG1CUjNONkMsQ1F1TmpELE9BSUksbUJSM042QyxDUXVOakQsT0FJSSxpQlIzTjZDLENRdU5qRCxPQUlJLGNSM042QyxDUXdQaEQsQ2J4UlAsRWErUkUsbUJBQW9CLENBQ3BCLGFYOVFlLENXK1FmLG9CWHhIeUIsQ1cwSHpCLGNBQWUsQ0FMakIsZ0JBU0ksYVgvSDJELENXc0gvRCxNQWdCSSxRQUFTLENialViLEdhdVVFLFVBQVcsQ0FFWCxlUnRScUQsQ1F1UnJELFFBQVMsQ0FDVCxtQlgzSXlCLENXNkl6QixZQUFhLENBQ2IsY0FBZSxDQUNmLCtCWHBQaUIsQ1dxUGpCLGFBQWMsQ0FDZixTQU1DLGtCWGhLMEIsQ1dpSzFCLDJCWHBKeUIsQ1dxSnpCLGVYbktzQixDV29LdkIsR0FJQyxpQkFBa0IsQ0FDbkIsR0FJQyxtQlg5SnNCLENXK0p0QixvQlhqS2tCLENXa0tuQixHQUlDLG1CWHBLc0IsQ1dxS3ZCLHdCQUtHLG1CWHpLMkIsQ1cwSzNCLGVBQWdCLENBQ2pCLEdBS0Qsa0JYL0t5QixDVzhLM0IsTUFJSSxtQlhoTDhCLENXaUw5QixnQlhsUm1CLENXbVJwQixXQUtELGVYek0wQixDVzBNMUIsb0NSOVVxRCxDUStVckQsNkJYdlNpQixDV29TbkIsd0JBTUksZVgvTW9CLENXZ05wQixhWDFTYSxDVzJTZCxpQkFjRCxnQ1h4VFcsQ1d5VFgsV0FBWSxDQUNaLG9CQUFxQixDQUN0QixPQUlDLFFBQVMsQ0FDVixJQVdDLFFBQVMsQ0FDVCx3QlJqWFMsQ1FtWFQsd0JYalZnQixDV21WaEIsd0RYaFJtRSxDV2lSbkUsYVhqVlcsQ1dzVlosV0NsVkMsZ0JaNEh5QixDWTNIekIsbUJaNEg0QixDWTFINUIsa0JaR3lCLENZRnpCLGVacUhzQixDWXBIdEIsYVpWZSxDWVdoQixNQUlDLGNaNkdxQyxDWTVHckMsZVo2R2lCLENZNUdsQixNQUlDLGdCWjhHbUIsQ1k3R25CLGFBQWMsQ0FFZCxRQUNFLGdCQUFpQixDQUNsQiwwQkFNQyxhQUFnQyxDQUNoQyxlQUFnQixDQUNqQixpQkE5RUgsYUFBYyxDQUNkLGFaMkNpQixDWTFDakIsa0JUQ3VELENTQ3ZELCtC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MkMscUJHNkMzQyxDSDdDMkMsaUJHNkMzQyxDSDdDMkMsYUc2QzNDLENBQUMsaUJIOUJnQixjSXNEZCxDQUFtRCxpQkp0RHJDLGVJc0RkLENBQW1ELGlCSnREckMsU0lzRGQsQ0FBbUQsaUJKdERyQyxlSXNEZCxDQUFtRCxpQkp0RHJDLGVJc0RkLENBQW1ELGlCSnREckMsU0lzRGQsQ0FBbUQsaUJKdERyQyxlSXNEZCxDQUFtRCxpQkp0RHJDLGVJc0RkLENBQW1ELGlCSnREckMsU0lzRGQsQ0FBbUQsa0JKdERwQyxlSXNEZixDQUFtRCxrQkp0RHBDLGVJc0RmLENBQW1ELGtCSnREcEMsVUlzRGYsQ0FBbUQsMkM1QitCYixxQndCekdwQixrQkdrRHJCLENIbERxQixvQkdrRHJCLENIbERxQixnQkdrRHJCLENIbERxQixZR2tEckIsQ0FBQyxVQXZDSSxDQUFJLGtQSE5rQyxrQkc2QzNDLENIN0MyQyxxQkc2QzNDLENIN0MyQyxpQkc2QzNDLENIN0MyQyxhRzZDM0MsQ0FBQyx1Qkh2Q3NCLFVHQWxCLENBQUksa0JIU1MsY0lzRGYsQ0FBbUQsa0JKdERwQyxlSXNEZixDQUFtRCxrQkp0RHBDLFNJc0RmLENBQW1ELGtCSnREcEMsZUlzRGYsQ0FBbUQsa0JKdERwQyxlSXNEZixDQUFtRCxrQkp0RHBDLFNJc0RmLENBQW1ELGtCSnREcEMsZUlzRGYsQ0FBbUQsa0JKdERwQyxlSXNEZixDQUFtRCxrQkp0RHBDLFNJc0RmLENBQW1ELG1CSnREbkMsZUlzRGhCLENBQW1ELG1CSnREbkMsZUlzRGhCLENBQW1ELG1CSnREbkMsVUlzRGhCLENBQW1ELENKbkR0RCwyQ3hCa0Z5QyxvQndCekdyQixrQkdrRHBCLENIbERvQixvQkdrRHBCLENIbERvQixnQkdrRHBCLENIbERvQixZR2tEcEIsQ0FBQyxVQXZDSSxDQUFJLHFPSE5rQyxrQkc2QzNDLENIN0MyQyxxQkc2QzNDLENIN0MyQyxpQkc2QzNDLENIN0MyQyxhRzZDM0MsQ0FBQyxzQkh2Q3FCLFVHQWpCLENBQUksaUJIU1EsY0lzRGQsQ0FBbUQsaUJKdERyQyxlSXNEZCxDQUFtRCxpQkp0RHJDLFNJc0RkLENBQW1ELGlCSnREckMsZUlzRGQsQ0FBbUQsaUJKdERyQyxlSXNEZCxDQUFtRCxpQkp0RHJDLFNJc0RkLENBQW1ELGlCSnREckMsZUlzRGQsQ0FBbUQsaUJKdERyQyxlSXNEZCxDQUFtRCxpQkp0RHJDLFNJc0RkLENBQW1ELGtCSnREcEMsZUlzRGYsQ0FBbUQsa0JKdERwQyxlSXNEZixDQUFtRCxrQkp0RHBDLFVJc0RmLENBQW1ELENKbkR0RCxrQ0FLOEIsVUFDMUIsQ0FBSSxrQ0FJc0IsV0FDekIsQ0FBSSxlQThCQSxvQkN2R29CLENBQWlDLHFCQUFqQyxDQUFpQywyQ3pCZ0pyQixld0J6Q2hDLHFCQ3ZHb0IsQ0FBaUMsc0JBQWpDLENBQWlDLENEc0lsRSxxQkEzQlEsMEJHN0J1QyxDQUFnRCxtQkZyRWhFLENBQWlDLG9CQUFqQyxDQUFpQywyQ3pCdUluQixxQndCckNyQywyQkc3QnVDLENBQWdELG9CRnJFaEUsQ0FBaUMscUJBQWpDLENBQWlDLENEMkcxRCxxQkFyQ0EsVUc3QkcsQ0FBSSx1QkhpQ0wsVUdqQ0MsQ0FBSSx3Qkh5Q0YsOEJHYm9DLENBQWdELHdCSGFwRiwrQkdib0MsQ0FBZ0Qsd0JIYXBGLHlCR2JvQyxDQUFnRCx3QkhhcEYsK0JHYm9DLENBQWdELHdCSGFwRiwrQkdib0MsQ0FBZ0Qsd0JIYXBGLHlCR2JvQyxDQUFnRCx3QkhhcEYsK0JHYm9DLENBQWdELHdCSGFwRiwrQkdib0MsQ0FBZ0Qsd0JIYXBGLHlCR2JvQyxDQUFnRCx5QkhhbkYsK0JHYm1DLENBQWdELHlCSGFuRiwrQkdibUMsQ0FBZ0QseUJIYW5GLDBCR2JtQyxDQUFnRCwyQzNCa0VsRCxxQndCakV2QyxVRzdCRyxDQUFJLHVCSGlDTCxVR2pDQyxDQUFJLHdCSHlDRiwrQkdib0MsQ0FBZ0Qsd0JIYXBGLGdDR2JvQyxDQUFnRCx3QkhhcEYsMEJHYm9DLENBQWdELHdCSGFwRixnQ0dib0MsQ0FBZ0Qsd0JIYXBGLGdDR2JvQyxDQUFnRCx3QkhhcEYsMEJHYm9DLENBQWdELHdCSGFwRixnQ0dib0MsQ0FBZ0Qsd0JIYXBGLGdDR2JvQyxDQUFnRCx3QkhhcEYsMEJHYm9DLENBQWdELHlCSGFuRixnQ0dibUMsQ0FBZ0QseUJIYW5GLGdDR2JtQyxDQUFnRCx5QkhhbkYsMkJHYm1DLENBQWdELDRCSENsRixVRzdCSixDQUFJLDhCSGlDRSxVR2pDTixDQUFJLHlCSHlDRCwrQkdibUMsQ0FBZ0QseUJIYW5GLGdDR2JtQyxDQUFnRCx5QkhhbkYsMEJHYm1DLENBQWdELHlCSGFuRixnQ0dibUMsQ0FBZ0QseUJIYW5GLGdDR2JtQyxDQUFnRCx5QkhhbkYsMEJHYm1DLENBQWdELHlCSGFuRixnQ0dibUMsQ0FBZ0QseUJIYW5GLGdDR2JtQyxDQUFnRCx5QkhhbkYsMEJHYm1DLENBQWdELDBCSGFsRixnQ0dia0MsQ0FBZ0QsMEJIYWxGLGdDR2JrQyxDQUFnRCwwQkhhbEYsMkJHYmtDLENBQWdELENIZTdGLDJDeEJtRDJDLDJCd0JqRWpDLFVHN0JILENBQUksNkJIaUNDLFVHakNMLENBQUksd0JIeUNGLCtCR2JvQyxDQUFnRCx3QkhhcEYsZ0NHYm9DLENBQWdELHdCSGFwRiwwQkdib0MsQ0FBZ0Qsd0JIYXBGLGdDR2JvQyxDQUFnRCx3QkhhcEYsZ0NHYm9DLENBQWdELHdCSGFwRiwwQkdib0MsQ0FBZ0Qsd0JIYXBGLGdDR2JvQyxDQUFnRCx3QkhhcEYsZ0NHYm9DLENBQWdELHdCSGFwRiwwQkdib0MsQ0FBZ0QseUJIYW5GLGdDR2JtQyxDQUFnRCx5QkhhbkYsZ0NHYm1DLENBQWdELHlCSGFuRiwyQkdibUMsQ0FBZ0QsQ0hlN0YsZ0NBaURjLHFCQzlJaUIsQ0FBaUMsb0JBQWpDLENBQWlDLDJDekJnSnJCLGdDd0JGN0Isc0JDOUlpQixDQUFpQyxxQkFBakMsQ0FBaUMsQ0RnSmhFLDJDQUxZLHFCQzNJbUIsQ0FBaUMsb0JBQWpDLENBQWlDLDJDekJnSnJCLDJDd0JML0Isc0JDM0ltQixDQUFpQyxxQkFBakMsQ0FBaUMsQ0RzSmhFLHNCQUdNLHFCQ3pKeUIsQ0FBaUMsb0JBQWpDLENBQWlDLDJDekJnSnJCLHNCd0JTckMsc0JDekp5QixDQUFpQyxxQkFBakMsQ0FBaUMsQ0QySmhFLGtCSzNKTSxVRGlIRCxDQUFtRCxrQkNqSGxELFNEaUhELENBQW1ELGtCQ2pIbEQsZURpSEQsQ0FBbUQsa0JDakhsRCxTRGlIRCxDQUFtRCxrQkNqSGxELFNEaUhELENBQW1ELGtCQ2pIbEQsZURpSEQsQ0FBbUQsa0JDakhsRCxlRGlIRCxDQUFtRCxrQkNqSGxELFdEaUhELENBQW1ELDJDNUIrQmIsbUI2QmhKckMsVURpSEQsQ0FBbUQsbUJDakhsRCxTRGlIRCxDQUFtRCxtQkNqSGxELGVEaUhELENBQW1ELG1CQ2pIbEQsU0RpSEQsQ0FBbUQsbUJDakhsRCxTRGlIRCxDQUFtRCxtQkNqSGxELGVEaUhELENBQW1ELG1CQ2pIbEQsZURpSEQsQ0FBbUQsbUJDakhsRCxXRGlIRCxDQUFtRCxDQy9HMUQsMkM3QjhJNkMsa0I2QmhKckMsVURpSEQsQ0FBbUQsa0JDakhsRCxTRGlIRCxDQUFtRCxrQkNqSGxELGVEaUhELENBQW1ELGtCQ2pIbEQsU0RpSEQsQ0FBbUQsa0JDakhsRCxTRGlIRCxDQUFtRCxrQkNqSGxELGVEaUhELENBQW1ELGtCQ2pIbEQsZURpSEQsQ0FBbUQsa0JDakhsRCxXRGlIRCxDQUFtRCxDQy9HMUQsZ0NBRlEsMEJGOEV1QyxDQUFnRCxnQ0U5RXZGLHlCRjhFdUMsQ0FBZ0QsZ0NFOUV2RiwrQkY4RXVDLENBQWdELGdDRTlFdkYseUJGOEV1QyxDQUFnRCxnQ0U5RXZGLHlCRjhFdUMsQ0FBZ0QsZ0NFOUV2RiwrQkY4RXVDLENBQWdELGdDRTlFdkYsK0JGOEV1QyxDQUFnRCxnQ0U5RXZGLDJCRjhFdUMsQ0FBZ0QsMkMzQmtFbEQsZ0M2QmhKckMsMkJGOEV1QyxDQUFnRCxnQ0U5RXZGLDBCRjhFdUMsQ0FBZ0QsZ0NFOUV2RixnQ0Y4RXVDLENBQWdELGdDRTlFdkYsMEJGOEV1QyxDQUFnRCxnQ0U5RXZGLDBCRjhFdUMsQ0FBZ0QsZ0NFOUV2RixnQ0Y4RXVDLENBQWdELGdDRTlFdkYsZ0NGOEV1QyxDQUFnRCxnQ0U5RXZGLDRCRjhFdUMsQ0FBZ0QsaUNFOUV2RiwyQkY4RXVDLENBQWdELGlDRTlFdkYsMEJGOEV1QyxDQUFnRCxpQ0U5RXZGLGdDRjhFdUMsQ0FBZ0QsaUNFOUV2RiwwQkY4RXVDLENBQWdELGlDRTlFdkYsMEJGOEV1QyxDQUFnRCxpQ0U5RXZGLGdDRjhFdUMsQ0FBZ0QsaUNFOUV2RixnQ0Y4RXVDLENBQWdELGlDRTlFdkYsNEJGOEV1QyxDQUFnRCxDRTVFL0YsMkM3QjhJNkMsZ0M2QmhKckMsMkJGOEV1QyxDQUFnRCxnQ0U5RXZGLDBCRjhFdUMsQ0FBZ0QsZ0NFOUV2RixnQ0Y4RXVDLENBQWdELGdDRTlFdkYsMEJGOEV1QyxDQUFnRCxnQ0U5RXZGLDBCRjhFdUMsQ0FBZ0QsZ0NFOUV2RixnQ0Y4RXVDLENBQWdELGdDRTlFdkYsZ0NGOEV1QyxDQUFnRCxnQ0U5RXZGLDRCRjhFdUMsQ0FBZ0QsQ0U1RS9GLHVCTHFNeUIsY005TUssQ0FBQyxhQUFELENBQUMsNkJBR3JCLGNBRXNCLENBQUMsYUFBRCxDQUFDLGdDQXNCZCxjRjZGWixDQUFtRCxnQ0U3RnZDLGVGNkZaLENBQW1ELGdDRTdGdkMsU0Y2RlosQ0FBbUQsZ0NFN0Z2QyxlRjZGWixDQUFtRCxnQ0U3RnZDLGVGNkZaLENBQW1ELGdDRTdGdkMsU0Y2RlosQ0FBbUQsZ0NFN0Z2QyxlRjZGWixDQUFtRCxnQ0U3RnZDLGVGNkZaLENBQW1ELGdDRTdGdkMsU0Y2RlosQ0FBbUQsaUNFN0Z0QyxlRjZGYixDQUFtRCxpQ0U3RnRDLGVGNkZiLENBQW1ELGlDRTdGdEMsVUY2RmIsQ0FBbUQsMkM1QitCYixpQzhCNUh6QixjRjZGYixDQUFtRCxpQ0U3RnRDLGVGNkZiLENBQW1ELGlDRTdGdEMsU0Y2RmIsQ0FBbUQsaUNFN0Z0QyxlRjZGYixDQUFtRCxpQ0U3RnRDLGVGNkZiLENBQW1ELGlDRTdGdEMsU0Y2RmIsQ0FBbUQsaUNFN0Z0QyxlRjZGYixDQUFtRCxpQ0U3RnRDLGVGNkZiLENBQW1ELGlDRTdGdEMsU0Y2RmIsQ0FBbUQsa0NFN0ZyQyxlRjZGZCxDQUFtRCxrQ0U3RnJDLGVGNkZkLENBQW1ELGtDRTdGckMsVUY2RmQsQ0FBbUQsQ0UzRmhELDJDOUIwSG1DLGdDOEI1SDFCLGNGNkZaLENBQW1ELGdDRTdGdkMsZUY2RlosQ0FBbUQsZ0NFN0Z2QyxTRjZGWixDQUFtRCxnQ0U3RnZDLGVGNkZaLENBQW1ELGdDRTdGdkMsZUY2RlosQ0FBbUQsZ0NFN0Z2QyxTRjZGWixDQUFtRCxnQ0U3RnZDLGVGNkZaLENBQW1ELGdDRTdGdkMsZUY2RlosQ0FBbUQsZ0NFN0Z2QyxTRjZGWixDQUFtRCxpQ0U3RnRDLGVGNkZiLENBQW1ELGlDRTdGdEMsZUY2RmIsQ0FBbUQsaUNFN0Z0QyxVRjZGYixDQUFtRCxDRTNGaEQsd0JOdUxnQixjTTdLSSxDQUFDLGFBQUQsQ0FBQyw4QkFHckIsZUFFd0IsQ0FBQyxjQUFELENBQUMsMkM5QjJHVSx3QndCdURuQixjTTlNSSxDQUFDLGFBQUQsQ0FBQyw4QkFHckIsY0FFc0IsQ0FBQyxhQUFELENBQUMsQ0FFN0IsMkM5QmdKeUMsaUM4QnJJMUIsY0ZzR1osQ0FBbUQsaUNFdEd2QyxlRnNHWixDQUFtRCxpQ0V0R3ZDLFNGc0daLENBQW1ELGlDRXRHdkMsZUZzR1osQ0FBbUQsaUNFdEd2QyxlRnNHWixDQUFtRCxpQ0V0R3ZDLFNGc0daLENBQW1ELGlDRXRHdkMsZUZzR1osQ0FBbUQsaUNFdEd2QyxlRnNHWixDQUFtRCxpQ0V0R3ZDLFNGc0daLENBQW1ELGtDRXRHdEMsZUZzR2IsQ0FBbUQsa0NFdEd0QyxlRnNHYixDQUFtRCxrQ0V0R3RDLFVGc0diLENBQW1ELENFcEdoRCwyQzlCbUltQyxrQzhCNUh6QixjRjZGYixDQUFtRCxrQ0U3RnRDLGVGNkZiLENBQW1ELGtDRTdGdEMsU0Y2RmIsQ0FBbUQsa0NFN0Z0QyxlRjZGYixDQUFtRCxrQ0U3RnRDLGVGNkZiLENBQW1ELGtDRTdGdEMsU0Y2RmIsQ0FBbUQsa0NFN0Z0QyxlRjZGYixDQUFtRCxrQ0U3RnRDLGVGNkZiLENBQW1ELGtDRTdGdEMsU0Y2RmIsQ0FBbUQsbUNFN0ZyQyxlRjZGZCxDQUFtRCxtQ0U3RnJDLGVGNkZkLENBQW1ELG1DRTdGckMsVUY2RmQsQ0FBbUQsQ0UzRmhELDJDOUIwSG1DLGlDOEI1SDFCLGNGNkZaLENBQW1ELGlDRTdGdkMsZUY2RlosQ0FBbUQsaUNFN0Z2QyxTRjZGWixDQUFtRCxpQ0U3RnZDLGVGNkZaLENBQW1ELGlDRTdGdkMsZUY2RlosQ0FBbUQsaUNFN0Z2QyxTRjZGWixDQUFtRCxpQ0U3RnZDLGVGNkZaLENBQW1ELGlDRTdGdkMsZUY2RlosQ0FBbUQsaUNFN0Z2QyxTRjZGWixDQUFtRCxrQ0U3RnRDLGVGNkZiLENBQW1ELGtDRTdGdEMsZUY2RmIsQ0FBbUQsa0NFN0Z0QyxVRjZGYixDQUFtRCxDRTNGaEQsMkM5QjBIbUMseUJ3QjZEbEIsY003S0csQ0FBQyxhQUFELENBQUMsK0JBR3JCLGVBRXdCLENBQUMsY0FBRCxDQUFDLENBRS9CLDJDOUJ5R3lDLHVCd0J1RHBCLGNNOU1LLENBQUMsYUFBRCxDQUFDLDZCQUdyQixjQUVzQixDQUFDLGFBQUQsQ0FBQyxDQUU3QiwyQzlCZ0p5QyxnQzhCckkxQixjRnNHWixDQUFtRCxnQ0V0R3ZDLGVGc0daLENBQW1ELGdDRXRHdkMsU0ZzR1osQ0FBbUQsZ0NFdEd2QyxlRnNHWixDQUFtRCxnQ0V0R3ZDLGVGc0daLENBQW1ELGdDRXRHdkMsU0ZzR1osQ0FBbUQsZ0NFdEd2QyxlRnNHWixDQUFtRCxnQ0V0R3ZDLGVGc0daLENBQW1ELGdDRXRHdkMsU0ZzR1osQ0FBbUQsaUNFdEd0QyxlRnNHYixDQUFtRCxpQ0V0R3RDLGVGc0diLENBQW1ELGlDRXRHdEMsVUZzR2IsQ0FBbUQsQ0VwR2hELDJDOUJtSW1DLGlDOEJySXpCLGNGc0diLENBQW1ELGlDRXRHdEMsZUZzR2IsQ0FBbUQsaUNFdEd0QyxTRnNHYixDQUFtRCxpQ0V0R3RDLGVGc0diLENBQW1ELGlDRXRHdEMsZUZzR2IsQ0FBbUQsaUNFdEd0QyxTRnNHYixDQUFtRCxpQ0V0R3RDLGVGc0diLENBQW1ELGlDRXRHdEMsZUZzR2IsQ0FBbUQsaUNFdEd0QyxTRnNHYixDQUFtRCxrQ0V0R3JDLGVGc0dkLENBQW1ELGtDRXRHckMsZUZzR2QsQ0FBbUQsa0NFdEdyQyxVRnNHZCxDQUFtRCxDRXBHaEQsMkM5Qm1JbUMsZ0M4QjVIMUIsY0Y2RlosQ0FBbUQsZ0NFN0Z2QyxlRjZGWixDQUFtRCxnQ0U3RnZDLFNGNkZaLENBQW1ELGdDRTdGdkMsZUY2RlosQ0FBbUQsZ0NFN0Z2QyxlRjZGWixDQUFtRCxnQ0U3RnZDLFNGNkZaLENBQW1ELGdDRTdGdkMsZUY2RlosQ0FBbUQsZ0NFN0Z2QyxlRjZGWixDQUFtRCxnQ0U3RnZDLFNGNkZaLENBQW1ELGlDRTdGdEMsZUY2RmIsQ0FBbUQsaUNFN0Z0QyxlRjZGYixDQUFtRCxpQ0U3RnRDLFVGNkZiLENBQW1ELENFM0ZoRCwyQzlCMEhtQyx3QndCNkRuQixjTTdLSSxDQUFDLGFBQUQsQ0FBQyw4QkFHckIsZUFFd0IsQ0FBQyxjQUFELENBQUMsQ0FFL0IsZ0JOb0xjLGNPdk1XLENBQUMsK0JQMk1LLDhCTzNNTixDQUFDLGdCUHVNWixvQk92TVcsQ0FBQywrQlAyTUssb0NPM01OLENBQUMsZ0JQdU1aLHFCT3ZNVyxDQUFDLCtCUDJNSyxxQ08zTU4sQ0FBQyxnQlB1TVosZU92TVcsQ0FBQywrQlAyTUssK0JPM01OLENBQUMsZ0JQdU1aLHFCT3ZNVyxDQUFDLCtCUDJNSyxxQ08zTU4sQ0FBQyxnQlB1TVoscUJPdk1XLENBQUMsK0JQMk1LLHFDTzNNTixDQUFDLGdCUHVNWixlT3ZNVyxDQUFDLCtCUDJNSywrQk8zTU4sQ0FBQyxnQlB1TVoscUJPdk1XLENBQUMsK0JQMk1LLHFDTzNNTixDQUFDLGdCUHVNWixxQk92TVcsQ0FBQywrQlAyTUsscUNPM01OLENBQUMsZ0JQdU1aLGVPdk1XLENBQUMsK0JQMk1LLCtCTzNNTixDQUFDLGlCUHVNWCxxQk92TVUsQ0FBQyxnQ1AyTU0scUNPM01QLENBQUMsaUJQdU1YLHFCT3ZNVSxDQUFDLGdDUDJNTSxxQ08zTVAsQ0FBQywyQy9CNEhlLGlCd0IyRTFCLGNPdk1VLENBQUMsZ0NQMk1NLCtCTzNNUCxDQUFDLGlCUHVNWCxvQk92TVUsQ0FBQyxnQ1AyTU0scUNPM01QLENBQUMsaUJQdU1YLHFCT3ZNVSxDQUFDLGdDUDJNTSxzQ08zTVAsQ0FBQyxpQlB1TVgsZU92TVUsQ0FBQyxnQ1AyTU0sZ0NPM01QLENBQUMsaUJQdU1YLHFCT3ZNVSxDQUFDLGdDUDJNTSxzQ08zTVAsQ0FBQyxpQlB1TVgscUJPdk1VLENBQUMsZ0NQMk1NLHNDTzNNUCxDQUFDLGlCUHVNWCxlT3ZNVSxDQUFDLGdDUDJNTSxnQ08zTVAsQ0FBQyxpQlB1TVgscUJPdk1VLENBQUMsZ0NQMk1NLHNDTzNNUCxDQUFDLGlCUHVNWCxxQk92TVUsQ0FBQyxnQ1AyTU0sc0NPM01QLENBQUMsaUJQdU1YLGVPdk1VLENBQUMsZ0NQMk1NLGdDTzNNUCxDQUFDLGtCUHVNVixxQk92TVMsQ0FBQyxpQ1AyTU8sc0NPM01SLENBQUMsa0JQdU1WLHFCT3ZNUyxDQUFDLGlDUDJNTyxzQ08zTVIsQ0FBQyxDUDZNMUIsMkN4QmpGeUMsZ0J3QjJFM0IsY092TVcsQ0FBQywrQlAyTUssK0JPM01OLENBQUMsZ0JQdU1aLG9CT3ZNVyxDQUFDLCtCUDJNSyxxQ08zTU4sQ0FBQyxnQlB1TVoscUJPdk1XLENBQUMsK0JQMk1LLHNDTzNNTixDQUFDLGdCUHVNWixlT3ZNVyxDQUFDLCtCUDJNSyxnQ08zTU4sQ0FBQyxnQlB1TVoscUJPdk1XLENBQUMsK0JQMk1LLHNDTzNNTixDQUFDLGdCUHVNWixxQk92TVcsQ0FBQywrQlAyTUssc0NPM01OLENBQUMsZ0JQdU1aLGVPdk1XLENBQUMsK0JQMk1LLGdDTzNNTixDQUFDLGdCUHVNWixxQk92TVcsQ0FBQywrQlAyTUssc0NPM01OLENBQUMsZ0JQdU1aLHFCT3ZNVyxDQUFDLCtCUDJNSyxzQ08zTU4sQ0FBQyxnQlB1TVosZU92TVcsQ0FBQywrQlAyTUssZ0NPM01OLENBQUMsaUJQdU1YLHFCT3ZNVSxDQUFDLGdDUDJNTSxzQ08zTVAsQ0FBQyxpQlB1TVgscUJPdk1VLENBQUMsZ0NQMk1NLHNDTzNNUCxDQUFDLENQNk0xQixRQXpKcUIsbUJFdEVqQixDRnNFaUIsb0JFdEVqQixDRnNFaUIsbUJFdEVqQixDRnNFaUIsWUV0RWpCLENBQUksMkJBRlUsQ0FFViw0QkFGVSxDQUVWLCtCQUZVLENBRVYsMkJBRlUsQ0FFVix1QkFGVSxDQUFNLGNGcVBwQixXRzlJTSxDQUFJLGVBQ0ksQ0FBSSxjSGlKbEIsV0d2TUMsQ0FBSSxnQkgyTUgsV0czTUQsQ0FBSSx5UEh5TkYsdUJBQ00sQ0FETiw0QkFDTSxDQUROLGVBQ00sQ0FBSSwyQ3hCNUh3Qix1UXdCMkhsQyx1QkFDTSxDQUROLDRCQUNNLENBRE4sZUFDTSxDQUFJLENBQ2pCLDJDeEI3SHlDLHlQd0IySGxDLHVCQUNNLENBRE4sNEJBQ00sQ0FETixlQUNNLENBQUksQ0FDakIsK01BVzJDLGtCRy9MM0MsQ0grTDJDLHFCRy9MM0MsQ0grTDJDLGlCRy9MM0MsQ0grTDJDLGFHL0wzQyxDQUFDLGlCSDhNVSxlSXRMUixDQUFtRCxpQkpzTDNDLGdCSXRMUixDQUFtRCxpQkpzTDNDLFVJdExSLENBQW1ELGlCSnNMM0MsZ0JJdExSLENBQW1ELGlCSnNMM0MsZ0JJdExSLENBQW1ELGlCSnNMM0MsVUl0TFIsQ0FBbUQsaUJKc0wzQyxnQkl0TFIsQ0FBbUQsaUJKc0wzQyxnQkl0TFIsQ0FBbUQsaUJKc0wzQyxVSXRMUixDQUFtRCxrQkpzTDFDLGdCSXRMVCxDQUFtRCxrQkpzTDFDLGdCSXRMVCxDQUFtRCxrQkpzTDFDLFdJdExULENBQW1ELDJDNUIrQmIscUJ3Qm1JMUIsa0JHMUxmLENIMExlLG9CRzFMZixDSDBMZSxnQkcxTGYsQ0gwTGUsWUcxTGYsQ0FBQyxXQXZDSSxDQUFJLGtQSHNPa0Msa0JHL0wzQyxDSCtMMkMscUJHL0wzQyxDSCtMMkMsaUJHL0wzQyxDSCtMMkMsYUcvTDNDLENBQUMsdUJIcU1nQixXRzVPWixDQUFJLGtCSHFQRyxlSXRMVCxDQUFtRCxrQkpzTDFDLGdCSXRMVCxDQUFtRCxrQkpzTDFDLFVJdExULENBQW1ELGtCSnNMMUMsZ0JJdExULENBQW1ELGtCSnNMMUMsZ0JJdExULENBQW1ELGtCSnNMMUMsVUl0TFQsQ0FBbUQsa0JKc0wxQyxnQkl0TFQsQ0FBbUQsa0JKc0wxQyxnQkl0TFQsQ0FBbUQsa0JKc0wxQyxVSXRMVCxDQUFtRCxtQkpzTHpDLGdCSXRMVixDQUFtRCxtQkpzTHpDLGdCSXRMVixDQUFtRCxtQkpzTHpDLFdJdExWLENBQW1ELENKeUxwRCwyQ3hCMUp1QyxvQndCbUkzQixrQkcxTGQsQ0gwTGMsb0JHMUxkLENIMExjLGdCRzFMZCxDSDBMYyxZRzFMZCxDQUFDLFdBdkNJLENBQUkscU9Ic09rQyxrQkcvTDNDLENIK0wyQyxxQkcvTDNDLENIK0wyQyxpQkcvTDNDLENIK0wyQyxhRy9MM0MsQ0FBQyxzQkhxTWUsV0c1T1gsQ0FBSSxpQkhxUEUsZUl0TFIsQ0FBbUQsaUJKc0wzQyxnQkl0TFIsQ0FBbUQsaUJKc0wzQyxVSXRMUixDQUFtRCxpQkpzTDNDLGdCSXRMUixDQUFtRCxpQkpzTDNDLGdCSXRMUixDQUFtRCxpQkpzTDNDLFVJdExSLENBQW1ELGlCSnNMM0MsZ0JJdExSLENBQW1ELGlCSnNMM0MsZ0JJdExSLENBQW1ELGlCSnNMM0MsVUl0TFIsQ0FBbUQsa0JKc0wxQyxnQkl0TFQsQ0FBbUQsa0JKc0wxQyxnQkl0TFQsQ0FBbUQsa0JKc0wxQyxXSXRMVCxDQUFtRCxDSnlMcEQsZ0NBU1ksbUJDblRlLENBQWlDLHNCQUFqQyxDQUFpQywyQ3pCZ0pyQixnQ3dCbUszQixvQkNuVGUsQ0FBaUMsdUJBQWpDLENBQWlDLENEcVQ5RCxzQkFHTSxtQkN4VHVCLENBQWlDLHNCQUFqQyxDQUFpQywyQ3pCZ0pyQixzQndCd0tuQyxvQkN4VHVCLENBQWlDLHVCQUFqQyxDQUFpQyxDRDBUOUQsZUFuTlMsbUJDdkdvQixDQUFpQyxzQkFBakMsQ0FBaUMsMkN6QmdKckIsZXdCekNoQyxvQkN2R29CLENBQWlDLHVCQUFqQyxDQUFpQyxDRHNJbEUscUJBM0JRLDJCRzdCdUMsQ0FBZ0Qsa0JGckVoRSxDQUFpQyxxQkFBakMsQ0FBaUMsMkN6QnVJbkIscUJ3QnJDckMsNEJHN0J1QyxDQUFnRCxtQkZyRWhFLENBQWlDLHNCQUFqQyxDQUFpQyxDRDJHMUQscUJBckNBLFdHN0JHLENBQUksdUJIaUNMLFdHakNDLENBQUksd0JIeUNGLCtCR2JvQyxDQUFnRCx3QkhhcEYsZ0NHYm9DLENBQWdELHdCSGFwRiwwQkdib0MsQ0FBZ0Qsd0JIYXBGLGdDR2JvQyxDQUFnRCx3QkhhcEYsZ0NHYm9DLENBQWdELHdCSGFwRiwwQkdib0MsQ0FBZ0Qsd0JIYXBGLGdDR2JvQyxDQUFnRCx3QkhhcEYsZ0NHYm9DLENBQWdELHdCSGFwRiwwQkdib0MsQ0FBZ0QseUJIYW5GLGdDR2JtQyxDQUFnRCx5QkhhbkYsZ0NHYm1DLENBQWdELHlCSGFuRiwyQkdibUMsQ0FBZ0QsMkMzQmtFbEQscUJ3QmpFdkMsV0c3QkcsQ0FBSSx1QkhpQ0wsV0dqQ0MsQ0FBSSx3Qkh5Q0YsZ0NHYm9DLENBQWdELHdCSGFwRixpQ0dib0MsQ0FBZ0Qsd0JIYXBGLDJCR2JvQyxDQUFnRCx3QkhhcEYsaUNHYm9DLENBQWdELHdCSGFwRixpQ0dib0MsQ0FBZ0Qsd0JIYXBGLDJCR2JvQyxDQUFnRCx3QkhhcEYsaUNHYm9DLENBQWdELHdCSGFwRixpQ0dib0MsQ0FBZ0Qsd0JIYXBGLDJCR2JvQyxDQUFnRCx5QkhhbkYsaUNHYm1DLENBQWdELHlCSGFuRixpQ0dibUMsQ0FBZ0QseUJIYW5GLDRCR2JtQyxDQUFnRCw0QkhDbEYsV0c3QkosQ0FBSSw4QkhpQ0UsV0dqQ04sQ0FBSSx5Qkh5Q0QsZ0NHYm1DLENBQWdELHlCSGFuRixpQ0dibUMsQ0FBZ0QseUJIYW5GLDJCR2JtQyxDQUFnRCx5QkhhbkYsaUNHYm1DLENBQWdELHlCSGFuRixpQ0dibUMsQ0FBZ0QseUJIYW5GLDJCR2JtQyxDQUFnRCx5QkhhbkYsaUNHYm1DLENBQWdELHlCSGFuRixpQ0dibUMsQ0FBZ0QseUJIYW5GLDJCR2JtQyxDQUFnRCwwQkhhbEYsaUNHYmtDLENBQWdELDBCSGFsRixpQ0dia0MsQ0FBZ0QsMEJIYWxGLDRCR2JrQyxDQUFnRCxDSGU3RiwyQ3hCbUQyQywyQndCakVqQyxXRzdCSCxDQUFJLDZCSGlDQyxXR2pDTCxDQUFJLHdCSHlDRixnQ0dib0MsQ0FBZ0Qsd0JIYXBGLGlDR2JvQyxDQUFnRCx3QkhhcEYsMkJHYm9DLENBQWdELHdCSGFwRixpQ0dib0MsQ0FBZ0Qsd0JIYXBGLGlDR2JvQyxDQUFnRCx3QkhhcEYsMkJHYm9DLENBQWdELHdCSGFwRixpQ0dib0MsQ0FBZ0Qsd0JIYXBGLGlDR2JvQyxDQUFnRCx3QkhhcEYsMkJHYm9DLENBQWdELHlCSGFuRixpQ0dibUMsQ0FBZ0QseUJIYW5GLGlDR2JtQyxDQUFnRCx5QkhhbkYsNEJHYm1DLENBQWdELENIZTdGLFlBeU9RLGVRdFZDLENBQU0saUJBQ04sQ0FBUSx3QkFDUCxDQURPLG9CQUNQLENBRE8sZ0JBQ1AsQ0FBTSx5QkFDSixDQURJLDJCQUNKLENBREksc0JBQ0osQ0FESSxtQkFDSixDQUFPLFdBMkJpQixDQUFLLGtCUjRUM0IsVUFDUixDQUFJLFlBR0YsZVE3U0csQ0FBSSxjQUNMLENBQUksZ0NBR1csQ0FBSywyQ0FDYixDQUF3QixjUjRTL0IsZVFyVEMsQ0FBSSxlQUNKLENBQUksZUFDSixDQUFJLGdDQU1VLENBQUssMkNBQ2IsQ0FBd0Isc0JSaVR2QixtQlExU1osQ1IwU1ksb0JRMVNaLENSMFNZLG1CUTFTWixDUjBTWSxZUTFTWixDQUFJLDJCQUNHLENBREgsNEJBQ0csQ0FESCw2QkFDRyxDQURILHlCQUNHLENBREgscUJBQ0csQ0FBTSxlQUNWLENBQUksOEJBRVAsZUFDSyxDQUFJLHdCQUNMLENBREssb0JBQ0wsQ0FESyxnQkFDTCxDQUFNLDJDaEM2RjJCLG1Cd0I4TTFCLGVROVdSLENBQU0saUJBQ04sQ0FBUSx3QkFDUCxDQURPLG9CQUNQLENBRE8sZ0JBQ1AsQ0FBTSx5QkFDSixDQURJLDJCQUNKLENBREksc0JBQ0osQ0FESSxtQkFDSixDQUFPLFdBMkJpQixDQUFLLHlCUm9WbEIsVUFDZixDQUFJLG1CQUdLLGVRclVOLENBQUksY0FDTCxDQUFJLGdDQUdXLENBQUssMkNBQ2IsQ0FBd0IsNkJSb1VkLG1CUTdUckIsQ1I2VHFCLG9CUTdUckIsQ1I2VHFCLG1CUTdUckIsQ1I2VHFCLFlRN1RyQixDQUFJLDJCQUNHLENBREgsNEJBQ0csQ0FESCw2QkFDRyxDQURILHlCQUNHLENBREgscUJBQ0csQ0FBTSxlQUNWLENBQUkscUNBRVAsZUFDSyxDQUFJLHdCQUNMLENBREssb0JBQ0wsQ0FESyxnQkFDTCxDQUFNLHFCUjJURyxlUWpWUixDQUFJLGVBQ0osQ0FBSSxlQUNKLENBQUksZ0NBTVUsQ0FBSywyQ0FDYixDQUF3QixDUjBVekMsMkN4QmhPMkMsa0J3QjhNM0IsZVE5V1AsQ0FBTSxpQkFDTixDQUFRLHdCQUNQLENBRE8sb0JBQ1AsQ0FETyxnQkFDUCxDQUFNLHlCQUNKLENBREksMkJBQ0osQ0FESSxzQkFDSixDQURJLG1CQUNKLENBQU8sV0EyQmlCLENBQUssd0JSb1ZuQixVQUNkLENBQUksa0JBR0ksZVFyVUwsQ0FBSSxjQUNMLENBQUksZ0NBR1csQ0FBSywyQ0FDYixDQUF3Qiw0QlJvVWYsbUJRN1RwQixDUjZUb0Isb0JRN1RwQixDUjZUb0IsbUJRN1RwQixDUjZUb0IsWVE3VHBCLENBQUksMkJBQ0csQ0FESCw0QkFDRyxDQURILDZCQUNHLENBREgseUJBQ0csQ0FESCxxQkFDRyxDQUFNLGVBQ1YsQ0FBSSxvQ0FFUCxlQUNLLENBQUksd0JBQ0wsQ0FESyxvQkFDTCxDQURLLGdCQUNMLENBQU0sb0JSMlRFLGVRalZQLENBQUksZUFDSixDQUFJLGVBQ0osQ0FBSSxnQ0FNVSxDQUFLLDJDQUNiLENBQXdCLENSMFV6QyxtQkFLYSxVQUNILENBQUksZVF0WUwsQ0FBTSxpQkFDTixDQUFRLHdCQUNQLENBRE8sb0JBQ1AsQ0FETyxnQkFDUCxDQUFNLHlCQUNKLENBREksMkJBQ0osQ0FESSxzQkFDSixDQURJLG1CQUNKLENBQU8sWUF5QmtCLENBQUssMkNoQ29JQywwQndCMk9yQixVQUNWLENBQUksZVE1WVAsQ0FBTSxpQkFDTixDQUFRLHdCQUNQLENBRE8sb0JBQ1AsQ0FETyxnQkFDUCxDQUFNLHlCQUNKLENBREksMkJBQ0osQ0FESSxzQkFDSixDQURJLG1CQUNKLENBQU8sWUF5QmtCLENBQUssQ1JrWHRDLDJDeEI5T3VDLHlCd0IyT3RCLFVBQ1QsQ0FBSSxlUTVZUCxDQUFNLGlCQUNOLENBQVEsd0JBQ1AsQ0FETyxvQkFDUCxDQURPLGdCQUNQLENBQU0seUJBQ0osQ0FESSwyQkFDSixDQURJLHNCQUNKLENBREksbUJBQ0osQ0FBTyxZQXlCa0IsQ0FBSyxDUmtYdEMseUJBS2UsV0FDUixDQUFJLDJDeEJwUDRCLGdDd0J1UGYsV0FDZixDQUFJLENBQ2IsMkN4QnpQdUMsK0J3QnVQaEIsV0FDZCxDQUFJLENBQ2IsZUFsU08sbUJDdkdvQixDQUFpQyxzQkFBakMsQ0FBaUMsMkN6QmdKckIsZXdCekNoQyxvQkN2R29CLENBQWlDLHVCQUFqQyxDQUFpQyxDRHNJbEUscUJBM0JRLDJCRzdCdUMsQ0FBZ0Qsa0JGckVoRSxDQUFpQyxxQkFBakMsQ0FBaUMsMkN6QnVJbkIscUJ3QnJDckMsNEJHN0J1QyxDQUFnRCxtQkZyRWhFLENBQWlDLHNCQUFqQyxDQUFpQyxDRDJHMUQscUJBckNBLFdHN0JHLENBQUksdUJIaUNMLFdHakNDLENBQUksd0JIeUNGLCtCR2JvQyxDQUFnRCx3QkhhcEYsZ0NHYm9DLENBQWdELHdCSGFwRiwwQkdib0MsQ0FBZ0Qsd0JIYXBGLGdDR2JvQyxDQUFnRCx3QkhhcEYsZ0NHYm9DLENBQWdELHdCSGFwRiwwQkdib0MsQ0FBZ0Qsd0JIYXBGLGdDR2JvQyxDQUFnRCx3QkhhcEYsZ0NHYm9DLENBQWdELHdCSGFwRiwwQkdib0MsQ0FBZ0QseUJIYW5GLGdDR2JtQyxDQUFnRCx5QkhhbkYsZ0NHYm1DLENBQWdELHlCSGFuRiwyQkdibUMsQ0FBZ0QsMkMzQmtFbEQscUJ3QmpFdkMsV0c3QkcsQ0FBSSx1QkhpQ0wsV0dqQ0MsQ0FBSSx3Qkh5Q0YsZ0NHYm9DLENBQWdELHdCSGFwRixpQ0dib0MsQ0FBZ0Qsd0JIYXBGLDJCR2JvQyxDQUFnRCx3QkhhcEYsaUNHYm9DLENBQWdELHdCSGFwRixpQ0dib0MsQ0FBZ0Qsd0JIYXBGLDJCR2JvQyxDQUFnRCx3QkhhcEYsaUNHYm9DLENBQWdELHdCSGFwRixpQ0dib0MsQ0FBZ0Qsd0JIYXBGLDJCR2JvQyxDQUFnRCx5QkhhbkYsaUNHYm1DLENBQWdELHlCSGFuRixpQ0dibUMsQ0FBZ0QseUJIYW5GLDRCR2JtQyxDQUFnRCw0QkhDbEYsV0c3QkosQ0FBSSw4QkhpQ0UsV0dqQ04sQ0FBSSx5Qkh5Q0QsZ0NHYm1DLENBQWdELHlCSGFuRixpQ0dibUMsQ0FBZ0QseUJIYW5GLDJCR2JtQyxDQUFnRCx5QkhhbkYsaUNHYm1DLENBQWdELHlCSGFuRixpQ0dibUMsQ0FBZ0QseUJIYW5GLDJCR2JtQyxDQUFnRCx5QkhhbkYsaUNHYm1DLENBQWdELHlCSGFuRixpQ0dibUMsQ0FBZ0QseUJIYW5GLDJCR2JtQyxDQUFnRCwwQkhhbEYsaUNHYmtDLENBQWdELDBCSGFsRixpQ0dia0MsQ0FBZ0QsMEJIYWxGLDRCR2JrQyxDQUFnRCxDSGU3RiwyQ3hCbUQyQywyQndCakVqQyxXRzdCSCxDQUFJLDZCSGlDQyxXR2pDTCxDQUFJLHdCSHlDRixnQ0dib0MsQ0FBZ0Qsd0JIYXBGLGlDR2JvQyxDQUFnRCx3QkhhcEYsMkJHYm9DLENBQWdELHdCSGFwRixpQ0dib0MsQ0FBZ0Qsd0JIYXBGLGlDR2JvQyxDQUFnRCx3QkhhcEYsMkJHYm9DLENBQWdELHdCSGFwRixpQ0dib0MsQ0FBZ0Qsd0JIYXBGLGlDR2JvQyxDQUFnRCx3QkhhcEYsMkJHYm9DLENBQWdELHlCSGFuRixpQ0dibUMsQ0FBZ0QseUJIYW5GLGlDR2JtQyxDQUFnRCx5QkhhbkYsNEJHYm1DLENBQWdELENIZTdGLDBCQWtUd0IsNEJRNVliLENBQTJCLDJDaEM2SUssMEJ3QitQbkIsNkJRNVliLENBQTJCLENSOFl0QywyQ3hCalEyQywwQndCK1BuQiw2QlE1WWIsQ0FBMkIsQ1I4WXRDLDJDeEJqUTJDLGlDd0JtUVYsNkJRaFp0QixDQUEyQixDUmtacEMsMkN4QnJReUMsZ0N3Qm1RWCw2QlFoWnJCLENBQTJCLENSa1pwQyxLUzFaRCxlckI2RE0sQ0FBNkMsaUJzQjFCdkMsQ0FBSSxnQkFDTCxDQUFJLHlCeEIyR1gsYUFDRyxDQUFLLFdBQ0wsQ0FBRyxvQkFHRSxDQUhGLHlCQUdFLENBSEYsWUFHRSxDQUFDLDJCQUNSLENBRFEsZUFDUixDQURRLGdCQUNSLENBRFEsT0FDTixDQUFDLFlBSUosVUFDQyxDQUFJLDZDdUJySkssZXJCNkRSLENBQUMsY0FBRCxDQUFDLFVxQnZESCxxQkM0Q0csQ0FBc0Qsb0JBQXRELENBQXNELDJDbEM4Rm5CLFVpQzFJdEMsc0JDNENHLENBQXNELHFCQUF0RCxDQUFzRCxDRHJDOUQsMkNqQ21JMkMsVWlDMUl0QyxzQkM0Q0csQ0FBc0QscUJBQXRELENBQXNELENEckM5RCxtQkFKVyxjQUNNLENBQUMsYUFDRixDQUFDLGNBS1IsY0M4Q0gsQ0FBSSxtQkQzQ0wsaUJBQ1ksQ0FBSSxnQkFDTCxDQUFJLHlCQUlBLGNDcUNkLENBQUkscURENUJTLHFCRTlDVixDQUEyQixvQkFBM0IsQ0FBMkIsdURGOENqQixzQkU5Q1YsQ0FBMkIscUJBQTNCLENBQTJCLGlCRnVEM0IsVUxzRUosQ0FBbUQsVXBCdkJOLENBQUkscUIyQnRHN0MsQ0FBMkIsb0JBQTNCLENBQTJCLDJDbkM0Sk8saUJpQ3JHbEMsc0JFdkRBLENBQTJCLHFCQUEzQixDQUEyQixDRitEdEMsNEZHaEVtQyxVNUJ1R2lCLENBQUksVTRCckc5QyxDQUFJLDJFQUtvQixXNUJpR2tCLENBQUsscUU0Qm5EbkMsVTVCa0Q4QixDQUFJLGlDeUJuQzdCLFVBQ25CLENBQUksMkNBSXdCLGNBQ3JCLENBQUMsYUFDRixDQUFDLGVBQ0MsQ0FBQyxjQUNGLENBQUMsU0FNTCxjTDJDSixDQUFtRCxjS3BDdEMsaUJHekVULENBQVEsYUFGVCxDQUEwQyxjSGlGaEMsaUJHL0VULENBQVEsY0FGVCxDQUEwQyxnQkgyRmhCLGNMb0I3QixDQUFtRCxTSzNDL0MsZUwyQ0osQ0FBbUQsY0twQ3RDLGlCR3pFVCxDQUFRLGNBRlQsQ0FBMEMsY0hpRmhDLGlCRy9FVCxDQUFRLGVBRlQsQ0FBMEMsZ0JIMkZoQixvQkxvQjdCLENBQW1ELFNLM0MvQyxTTDJDSixDQUFtRCxjS3BDdEMsaUJHekVULENBQVEsUUFGVCxDQUEwQyxjSGlGaEMsaUJHL0VULENBQVEsU0FGVCxDQUEwQyxnQkgyRmhCLHFCTG9CN0IsQ0FBbUQsU0szQy9DLGVMMkNKLENBQW1ELGNLcEN0QyxpQkd6RVQsQ0FBUSxjQUZULENBQTBDLGNIaUZoQyxpQkcvRVQsQ0FBUSxlQUZULENBQTBDLGdCSDJGaEIsZUxvQjdCLENBQW1ELFNLM0MvQyxlTDJDSixDQUFtRCxjS3BDdEMsaUJHekVULENBQVEsY0FGVCxDQUEwQyxjSGlGaEMsaUJHL0VULENBQVEsZUFGVCxDQUEwQyxnQkgyRmhCLHFCTG9CN0IsQ0FBbUQsU0szQy9DLFNMMkNKLENBQW1ELGNLcEN0QyxpQkd6RVQsQ0FBUSxRQUZULENBQTBDLGNIaUZoQyxpQkcvRVQsQ0FBUSxTQUZULENBQTBDLGdCSDJGaEIscUJMb0I3QixDQUFtRCxTSzNDL0MsZUwyQ0osQ0FBbUQsY0twQ3RDLGlCR3pFVCxDQUFRLGNBRlQsQ0FBMEMsY0hpRmhDLGlCRy9FVCxDQUFRLGVBRlQsQ0FBMEMsZ0JIMkZoQixlTG9CN0IsQ0FBbUQsU0szQy9DLGVMMkNKLENBQW1ELGNLcEN0QyxpQkd6RVQsQ0FBUSxjQUZULENBQTBDLGNIaUZoQyxpQkcvRVQsQ0FBUSxlQUZULENBQTBDLGdCSDJGaEIscUJMb0I3QixDQUFtRCxTSzNDL0MsU0wyQ0osQ0FBbUQsY0twQ3RDLGlCR3pFVCxDQUFRLFFBRlQsQ0FBMEMsY0hpRmhDLGlCRy9FVCxDQUFRLFNBRlQsQ0FBMEMsZ0JIMkZoQixxQkxvQjdCLENBQW1ELFVLM0M5QyxlTDJDTCxDQUFtRCxlS3BDckMsaUJHekVWLENBQVEsY0FGVCxDQUEwQyxlSGlGL0IsaUJHL0VWLENBQVEsZUFGVCxDQUEwQyxnQkgyRmhCLGVMb0I3QixDQUFtRCxVSzNDOUMsZUwyQ0wsQ0FBbUQsZUtwQ3JDLGlCR3pFVixDQUFRLGNBRlQsQ0FBMEMsZUhpRi9CLGlCRy9FVixDQUFRLGVBRlQsQ0FBMEMsaUJIMkZoQixxQkxvQjdCLENB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LENBQUEsbUN0RHNKZCxhQUNVLENBQUEsV0FDQSxDQUFBLG9CQUdHLENBSEgseUJBR0csQ0FISCxZQUdHLENBQUUsMkJBQ1osQ0FEWSxlQUNaLENBRFksZ0JBQ1osQ0FEWSxPQUNQLENBQUUsaUJBSVYsVUFDUSxDQUFBLFlBQ1Isc0J1RHBMOEMsQ3ZEb0w5QyxrQ3VEcEw4QyxDdkRvTDlDLG1CdURwTDhDLEN2RG9MOUMsMEJ1RHBMOEMsQ0FBQSxhQ3dFN0Msb0JEdkVnRCxDQ3VFaEQsZ0NEdkVnRCxDQ3VFaEQsaUJEdkVnRCxDQ3VFaEQsd0JEdkVnRCxDQUFBLGNDdUVoRCx1QkR0RVUsQ0NzRVYsOEJEdEVVLENDc0VWLG9CRHRFVSxDQ3NFVixzQkR0RVUsQ0FBQSxlQ3NFVix3QkRyRVcsQ0NxRVgscUNEckVXLENDcUVYLHFCRHJFVyxDQ3FFWCw2QkRyRVcsQ0FBQSxjQ3FFWCxvQ0RwRVUsQ0NvRVYsd0JEcEVVLENDb0VWLDRCRHBFVSxDQUFBLCtCQzZFUSxzQkRqRjJCLENDaUYzQixrQ0RqRjJCLENDaUYzQixtQkRqRjJCLENDaUYzQiwwQkRqRjJCLENBQUEsZ0NDaUYzQixvQkRoRjhCLENDZ0Y5QixnQ0RoRjhCLENDZ0Y5QixpQkRoRjhCLENDZ0Y5Qix3QkRoRjhCLENBQUEsaUNDZ0Y5Qix1QkQvRVIsQ0MrRVEsOEJEL0VSLENDK0VRLG9CRC9FUixDQytFUSxzQkQvRVIsQ0FBQSxXQ2lGTCx1QkR2RUEsQ0N1RUEsOEJEdkVBLENDdUVBLG9CRHZFQSxDQ3VFQSxzQkR2RUEsQ0FBQSxnQkNnRkosNkJEaEZJLENDZ0ZKLHlCRGhGSSxDQ2dGSixxQkRoRkksQ0FBQSxjQzhFTCxxQkQ3RVEsQ0M2RVIsNEJEN0VRLENDNkVSLGtCRDdFUSxDQzZFUixvQkQ3RVEsQ0FBQSxtQkMrRVAsMkJEL0VPLENDK0VQLHVCRC9FTyxDQytFUCxtQkQvRU8sQ0FBQSxjQzZFUix3QkQ1RVEsQ0M0RVIsMEJENUVRLENDNEVSLHFCRDVFUSxDQzRFUixrQkQ1RVEsQ0FBQSxtQkM4RVAseUJEOUVPLENDOEVQLDBCRDlFTyxDQzhFUCxpQkQ5RU8sQ0FBQSxlQzRFUix5QkQzRVMsQ0MyRVQsMkJEM0VTLENDMkVULHNCRDNFUyxDQzJFVCxtQkQzRVMsQ0FBQSxvQkM2RVIsMEJEN0VRLENDNkVSLDJCRDdFUSxDQzZFUixrQkQ3RVEsQ0FBQSxxQkNpRlIsdUJEOUZTLENDOEZULDhCRDlGUyxDQzhGVCxvQkQ5RlMsQ0M4RlQsc0JEOUZTLENBQUEsd0JBWUYsQ0FaRSwwQkFZRixDQVpFLHFCQVlGLENBWkUsa0JBWUYsQ0FBQSw0QkN3Rk8sQ0R4RlAseUJDd0ZPLENEeEZQLG9CQ3dGTyxDQUFBLGVBQ2hCLDJCRDNCRCxDQzJCQyxlRDNCRCxDQzJCQyxnQkQzQkQsQ0MyQkMsT0QzQkksQ0MrQlUsZUFDWCwyQkRoQ0osQ0NnQ0ksZURoQ0osQ0NnQ0ksZ0JEaENKLENDZ0NJLE9EaENDLENDK0JVLGVBQ1gsMkJEaENKLENDZ0NJLGVEaENKLENDZ0NJLGdCRGhDSixDQ2dDSSxPRGhDQyxDQytCVSxlQUNYLDJCRGhDSixDQ2dDSSxlRGhDSixDQ2dDSSxnQkRoQ0osQ0NnQ0ksT0RoQ0MsQ0MrQlUsZUFDWCwyQkRoQ0osQ0NnQ0ksZURoQ0osQ0NnQ0ksZ0JEaENKLENDZ0NJLE9EaENDLENDK0JVLGVBQ1gsMkJEaENKLENDZ0NJLGVEaENKLENDZ0NJLGdCRGhDSixDQ2dDSSxPRGhDQyxDQytCVSwyQ2xFbUUrQixnQmtFbEUxQywyQkRoQ0osQ0NnQ0ksZURoQ0osQ0NnQ0ksZ0JEaENKLENDZ0NJLE9EaENDLENDK0JVLGdCQUNYLDJCRGhDSixDQ2dDSSxlRGhDSixDQ2dDSSxnQkRoQ0osQ0NnQ0ksT0RoQ0MsQ0MrQlUsZ0JBQ1gsMkJEaENKLENDZ0NJLGVEaENKLENDZ0NJLGdCRGhDSixDQ2dDSSxPRGhDQyxDQytCVSxnQkFDWCwyQkRoQ0osQ0NnQ0ksZURoQ0osQ0NnQ0ksZ0JEaENKLENDZ0NJLE9EaENDLENDK0JVLGdCQUNYLDJCRGhDSixDQ2dDSSxlRGhDSixDQ2dDSSxnQkRoQ0osQ0NnQ0ksT0RoQ0MsQ0MrQlUsZ0JBQ1gsMkJEaENKLENDZ0NJLGVEaENKLENDZ0NJLGdCRGhDSixDQ2dDSSxPRGhDQyxDQytCVSxDQUFDLDJDbEVtRThCLGVrRWxFMUMsMkJEaENKLENDZ0NJLGVEaENKLENDZ0NJLGdCRGhDSixDQ2dDSSxPRGhDQyxDQytCVSxlQUNYLDJCRGhDSixDQ2dDSSxlRGhDSixDQ2dDSSxnQkRoQ0osQ0NnQ0ksT0RoQ0MsQ0MrQlUsZUFDWCwyQkRoQ0osQ0NnQ0ksZURoQ0osQ0NnQ0ksZ0JEaENKLENDZ0NJLE9EaENDLENDK0JVLGVBQ1gsMkJEaENKLENDZ0NJLGVEaENKLENDZ0NJLGdCRGhDSixDQ2dDSSxPRGhDQyxDQytCVSxlQUNYLDJCRGhDSixDQ2dDSSxlRGhDSixDQ2dDSSxnQkRoQ0osQ0NnQ0ksT0RoQ0MsQ0MrQlUsZUFDWCwyQkRoQ0osQ0NnQ0ksZURoQ0osQ0NnQ0ksZ0JEaENKLENDZ0NJLE9EaENDLENDK0JVLENBQUMsZ0JBNUZoQixtQkRZUyxDQ1pULG9CRFlTLENDWlQsbUJEWVMsQ0NaVCxZRFlTLENBQUEsaUJDVlIsa0JBR08sQ0FIUCxxQkFHTyxDQUhQLGlCQUdPLENBSFAsYUFHTyxDQUFBLGlCQUNQLGtCQUdPLENBSFAscUJBR08sQ0FIUCxpQkFHTyxDQUhQLGFBR08sQ0FBQSxtQkFDUCxrQkFHTyxDQUhQLHFCQUdPLENBSFAsaUJBR08sQ0FIUCxhQUdPLENBQUEsY0FDUCw2QkRWTSxDQ1VOLDRCRFZNLENDVU4sMEJEVk0sQ0NVTixzQkRWTSxDQ1VOLGtCRFZNLENBQUEsc0JDYUwsNkJEWmEsQ0NZYiw2QkRaYSxDQ1liLGtDRFphLENDWWIsOEJEWmEsQ0NZYiwwQkRaYSxDQUFBLGlCQ1liLDJCRFhRLENDV1IsNEJEWFEsQ0NXUiw2QkRYUSxDQ1dSLHlCRFhRLENDV1IscUJEWFEsQ0FBQSx5QkNXUiwyQkRWZ0IsQ0NVaEIsNkJEVmdCLENDVWhCLHFDRFZnQixDQ1VoQixpQ0RWZ0IsQ0NVaEIsNkJEVmdCLENBQUEsMkNqRXdKNEIsdUJrRXBJdEMsbUJEZkMsQ0NlRCxvQkRmQyxDQ2VELG1CRGZDLENDZUQsWURmQyxDQUFBLHdCQ2lCQSxrQkFHTyxDQUhQLHFCQUdPLENBSFAsaUJBR08sQ0FIUCxhQUdPLENBQUEsd0JBQ1Asa0JBR08sQ0FIUCxxQkFHTyxDQUhQLGlCQUdPLENBSFAsYUFHTyxDQUFBLDBCQUNQLGtCQUdPLENBSFAscUJBR08sQ0FIUCxpQkFHTyxDQUhQLGFBR08sQ0FBQSxxQkFDUCw2QkRyQ0YsQ0NxQ0UsNEJEckNGLENDcUNFLDBCRHJDRixDQ3FDRSxzQkRyQ0YsQ0NxQ0Usa0JEckNGLENBQUEsNkJDd0NHLDZCRHZDSyxDQ3VDTCw2QkR2Q0ssQ0N1Q0wsa0NEdkNLLENDdUNMLDhCRHZDSyxDQ3VDTCwwQkR2Q0ssQ0FBQSx3QkN1Q0wsMkJEdENBLENDc0NBLDRCRHRDQSxDQ3NDQSw2QkR0Q0EsQ0NzQ0EseUJEdENBLENDc0NBLHFCRHRDQSxDQUFBLGdDQ3NDQSwyQkRyQ1EsQ0NxQ1IsNkJEckNRLENDcUNSLHFDRHJDUSxDQ3FDUixpQ0RyQ1EsQ0NxQ1IsNkJEckNRLENBQUEsQ0FBYywyQ2pFd0pjLHNCa0VwSXRDLG1CRGZDLENDZUQsb0JEZkMsQ0NlRCxtQkRmQyxDQ2VELFlEZkMsQ0FBQSx1QkNpQkEsa0JBR08sQ0FIUCxxQkFHTyxDQUhQLGlCQUdPLENBSFAsYUFHTyxDQUFBLHVCQUNQLGtCQUdPLENBSFAscUJBR08sQ0FIUCxpQkFHTyxDQUhQLGFBR08sQ0FBQSx5QkFDUCxrQkFHTyxDQUhQLHFCQUdPLENBSFAsaUJBR08sQ0FIUCxhQUdPLENBQUEsb0JBQ1AsNkJEckNGLENDcUNFLDRCRHJDRixDQ3FDRSwwQkRyQ0YsQ0NxQ0Usc0JEckNGLENDcUNFLGtCRHJDRixDQUFBLDRCQ3dDRyw2QkR2Q0ssQ0N1Q0wsNkJEdkNLLENDdUNMLGtDRHZDSyxDQ3VDTCw4QkR2Q0ssQ0N1Q0wsMEJEdkNLLENBQUEsdUJDdUNMLDJCRHRDQSxDQ3NDQSw0QkR0Q0EsQ0NzQ0EsNkJEdENBLENDc0NBLHlCRHRDQSxDQ3NDQSxxQkR0Q0EsQ0FBQSwrQkNzQ0EsMkJEckNRLENDcUNSLDZCRHJDUSxDQ3FDUixxQ0RyQ1EsQ0NxQ1IsaUNEckNRLENDcUNSLDZCRHJDUSxDQUFBLENBQWMsTUV3Q2hDLHVCQUNXLENBQUEsV0FDVixpQkFHYSxDQUFBLGlEbkUyR3NDLHFCbUU1RmxELHVCQTFCUyxDQUFBLENBQWUsaUVBbkJzQyxxQkFpRDlELHVCQWhEVyxDQUFBLENBQWUsMkNuRXdJa0IsaUJtRXJHMUMsdUJBekJPLENBQUEsQ0FBZSwwQ25FbUlvQixpQm1FdEcxQyx1QkFqRU8sQ0FBQSxDQUFlLHVFbkVrS2dELHNCbUU1RnhFLHVCQTFCUyxDQUFBLENBQWUsd0VBbkI2QyxzQkFpRHJFLHVCQWhEVyxDQUFBLENBQWUsMkNuRXdJa0IsZ0JtRXJHMUMsdUJBekJPLENBQUEsQ0FBZSwwQ25FbUlvQixnQm1FdEcxQyx1QkFqRU8sQ0FBQSxDQUFlLHVFbkVrS2dELHFCbUU1RnhFLHVCQTFCUyxDQUFBLENBQWUsd0VBbkI2QyxxQkFpRHJFLHVCQWhEVyxDQUFBLENBQWUsNEJBd0Q1Qiw0QnpEd0htQixDQUFBLG9CQUNSLENBQUEscUJBQ0MsQ0FBQSxvQkFDRCxDQUFBLDBCQUNNLENBQUEsZ0NBQ0csQ0FBQSw2QkFDQSxDQUFBLG1CQUNWLENBQUEsMkN5RDFISSwwQnpEb0lHLENBQUEscUJBQ0wsQ0FBQSxzQkFDQyxDQUFBLDJCQUNLLENBQUEsb0JBQ1AsQ0FBQSw2QkFDUyxDQUFBLHVDeURoSXBCLHdCQUNXLENBQUEsMkNuRXNFb0MsdUNtRXZFL0Msd0JBSWEsQ0FBQSxDQUFnQiwwQ25FbUVpQix1Q21FdkU5Qyx1QkFRYSxDQUFBLENBQWUsdUNBSzVCLHVCQUNXLENBQUEsMkNuRXlEb0MsdUNtRTFEL0MsdUJBSWEsQ0FBQSxDQUFlLDBDbkVzRGtCLHVDbUUxRDlDLHdCQVFhLENBQUEsQ0FBZ0IseUJDOUcxQixpQ0NBTSxDREFOLHlCQ0FNLENBQUEseUNBZ0JBLENBaEJBLGlDQWdCQSxDQUFBLG1DQ2NHLENEZEgsK0JDY0csQ0RkSCwyQkNjRyxDQUFBLHNEQ3RCYSxDRHNCYiw4Q0N0QmEsQ0RzQmIsc0NDdEJhLENEc0JiLHlEQ3RCYSxDQUFBLGtDQUdGLENBSEUsMEJBR0YsQ0FBQSwwQ0hDViwrQkVrQkQsQ0ZsQkMsMkJFa0JELENGbEJDLHVCRWtCRCxDQUFBLHlCRjlCVCxpQ0NBTSxDREFOLHlCQ0FNLENBQUEseUNBZ0JBLENBaEJBLGlDQWdCQSxDQUFBLG1DQ2NHLENEZEgsK0JDY0csQ0RkSCwyQkNjRyxDQUFBLHNEQ3RCYSxDRHNCYiw4Q0N0QmEsQ0RzQmIsc0NDdEJhLENEc0JiLHlEQ3RCYSxDQUFBLGtDQUdGLENBSEUsMEJBR0YsQ0FBQSwwQ0hDViwrQkVrQkQsQ0ZsQkMsMkJFa0JELENGbEJDLHVCRWtCRCxDQUFBLHVCRjlCVCxpQ0NBTSxDREFOLHlCQ0FNLENBQUEseUNBZ0JBLENBaEJBLGlDQWdCQSxDQUFBLGtDQ2NHLENEZEgsOEJDY0csQ0RkSCwwQkNjRyxDQUFBLHNEQ3RCYSxDRHNCYiw4Q0N0QmEsQ0RzQmIsc0NDdEJhLENEc0JiLHlEQ3RCYSxDQUFBLGtDQUdGLENBSEUsMEJBR0YsQ0FBQSx3Q0hDViwrQkVrQkQsQ0ZsQkMsMkJFa0JELENGbEJDLHVCRWtCRCxDQUFBLDBCRjlCVCxpQ0NBTSxDREFOLHlCQ0FNLENBQUEseUNBZ0JBLENBaEJBLGlDQWdCQSxDQUFBLGtDQ2NHLENEZEgsOEJDY0csQ0RkSCwwQkNjRyxDQUFBLHNEQ3RCYSxDRHNCYiw4Q0N0QmEsQ0RzQmIsc0NDdEJhLENEc0JiLHlEQ3RCYSxDQUFBLGtDQUdGLENBSEUsMEJBR0YsQ0FBQSwyQ0hDViwrQkVrQkQsQ0ZsQkMsMkJFa0JELENGbEJDLHVCRWtCRCxDQUFBLDBCRjlCVCxpQ0NBTSxDREFOLHlCQ0FNLENBQUEseUNBZ0JBLENBaEJBLGlDQWdCQSxDQUFBLCtCQ2NHLENEZEgsMkJDY0csQ0RkSCx1QkNjRyxDQUFBLHNEQ3RCYSxDRHNCYiw4Q0N0QmEsQ0RzQmIsc0NDdEJhLENEc0JiLHlEQ3RCYSxDQUFBLGtDQUdGLENBSEUsMEJBR0YsQ0FBQSwyQ0hDVixrQ0VrQkQsQ0ZsQkMsOEJFa0JELENGbEJDLDBCRWtCRCxDQUFBLDJCRjlCVCxpQ0NBTSxDREFOLHlCQ0FNLENBQUEseUNBZ0JBLENBaEJBLGlDQWdCQSxDQUFBLCtCQ2NHLENEZEgsMkJDY0csQ0RkSCx1QkNjRyxDQUFBLHNEQ3RCYSxDRHNCYiw4Q0N0QmEsQ0RzQmIsc0NDdEJhLENEc0JiLHlEQ3RCYSxDQUFBLGtDQUdGLENBSEUsMEJBR0YsQ0FBQSw0Q0hDVixrQ0VrQkQsQ0ZsQkMsOEJFa0JELENGbEJDLDBCRWtCRCxDQUFBLHdCRjlCVCxpQ0NBTSxDREFOLHlCQ0FNLENBQUEseUNBZ0JBLENBaEJBLGlDQWdCQSxDQUFBLCtCQ2NHLENEZEgsMkJDY0csQ0RkSCx1QkNjRyxDQUFBLHNEQ3RCYSxDRHNCYiw4Q0N0QmEsQ0RzQmIsc0NDdEJhLENEc0JiLHlEQ3RCYSxDQUFBLGtDQUdGLENBSEUsMEJBR0YsQ0FBQSx5Q0hDVixtQ0VrQkQsQ0ZsQkMsK0JFa0JELENGbEJDLDJCRWtCRCxDQUFBLDBCRjlCVCxpQ0NBTSxDREFOLHlCQ0FNLENBQUEseUNBZ0JBLENBaEJBLGlDQWdCQSxDQUFBLCtCQ2NHLENEZEgsMkJDY0csQ0RkSCx1QkNjRyxDQUFBLHNEQ3RCYSxDRHNCYiw4Q0N0QmEsQ0RzQmIsc0NDdEJhLENEc0JiLHlEQ3RCYSxDQUFBLGtDQUdGLENBSEUsMEJBR0YsQ0FBQSwyQ0hDVixtQ0VrQkQsQ0ZsQkMsK0JFa0JELENGbEJDLDJCRWtCRCxDQUFBLG1CRjlCVCxpQ0NBTSxDREFOLHlCQ0FNLENBQUEseUNBZ0JBLENBaEJBLGlDQWdCQSxDQUFBLFNDZ0JDLENFaEN5QixtQ0NFWixDREZZLDJCQ0VaLENBQUEsb0NMVVYsU0VvQkgsQ0VoQzRCLG9CSkFuQyxpQ0NBTSxDREFOLHlCQ0FNLENBQUEseUNBZ0JBLENBaEJBLGlDQWdCQSxDQUFBLFNDZ0JDLENFL0J5QixtQ0NDWixDRERZLDJCQ0NaLENBQUEscUNMVVYsU0VvQkgsQ0UvQjRCLDZCSkRuQyxpQ0NBTSxDREFOLHlCQ0FNLENBQUEseUNBZ0JBLENBaEJBLGlDQWdCQSxDQUFBLHFES3JCRixDTHFCRSw2Q0tyQkYsQ0FBQSw0QkZTMkMsQ0VUM0Msd0JGUzJDLENFVDNDLG9CRlMyQyxDQUFBLHNER0l6QixDSEp5Qiw4Q0dJekIsQ0hKeUIsc0NHSXpCLENISnlCLHlER0l6QixDQUFBLFNBQ2QsQ0FBbUIsOENQR2pCLGtETVdxQixDTlhyQiwwQ01XcUIsQ0FBQSxTQ0p2QixDQUFtQiwrQlBuQjNCLGlDQ0FNLENEQU4seUJDQU0sQ0FBQSx5Q0FnQkEsQ0FoQkEsaUNBZ0JBLENBQUEscURLcEJBLENMb0JBLDZDS3BCQSxDQUFBLDhCRlN5QyxDRVR6QywwQkZTeUMsQ0VUekMsc0JGU3lDLENBQUEsc0RHR3pCLENISHlCLDhDR0d6QixDSEh5QixzQ0dHekIsQ0hIeUIseURHR3pCLENBQUEsU0FDZCxDQUFtQixnRFBHakIsa0RNV3FCLENOWHJCLDBDTVdxQixDQUFBLFNDSnZCLENBQW1CLGdDUG5CM0IsaUNDQU0sQ0RBTix5QkNBTSxDQUFBLHlDQWdCQSxDQWhCQSxpQ0FnQkEsQ0FBQSxvREtuQkMsQ0xtQkQsNENLbkJDLENBQUEsK0JGU3dDLENFVHhDLDJCRlN3QyxDRVR4Qyx1QkZTd0MsQ0FBQSxzREdFekIsQ0hGeUIsOENHRXpCLENIRnlCLHNDR0V6QixDSEZ5Qix5REdFekIsQ0FBQSxTQUNkLENBQW1CLGlEUEdqQixrRE1XcUIsQ05YckIsMENNV3FCLENBQUEsU0NKdkIsQ0FBbUIsOEJQbkIzQixpQ0NBTSxDREFOLHlCQ0FNLENBQUEseUNBZ0JBLENBaEJBLGlDQWdCQSxDQUFBLG9ES2xCRCxDTGtCQyw0Q0tsQkQsQ0FBQSw2QkZTMEMsQ0VUMUMseUJGUzBDLENFVDFDLHFCRlMwQyxDQUFBLHNER0N6QixDSER5Qiw4Q0dDekIsQ0hEeUIsc0NHQ3pCLENIRHlCLHlER0N6QixDQUFBLFNBQ2QsQ0FBbUIsK0NQR2pCLGtETVdxQixDTlhyQiwwQ01XcUIsQ0FBQSxTQ0p2QixDQUFtQixrQ1BuQjNCLGlDQ0FNLENEQU4seUJDQU0sQ0FBQSx5Q0FnQkEsQ0FoQkEsaUNBZ0JBLENBQUEscURLckJGLENMcUJFLDZDS3JCRixDQUFBLCtCQXVDSSxDQXZDSiwyQkF1Q0ksQ0F2Q0osdUJBdUNJLENBQUEsc0RDMUJjLENEMEJkLDhDQzFCYyxDRDBCZCxzQ0MxQmMsQ0QwQmQseURDMUJjLENBQUEsU0FDZCxDQUFtQixtRFBHakIsa0RNV3FCLENOWHJCLDBDTVdxQixDQUFBLFNDSnZCLENBQW1CLGtDUG5CM0IsaUNDQU0sQ0RBTix5QkNBTSxDQUFBLHlDQWdCQSxDQWhCQSxpQ0FnQkEsQ0FBQSxxREtwQkEsQ0xvQkEsNkNLcEJBLENBQUEsK0JBc0NFLENBdENGLDJCQXNDRSxDQXRDRix1QkFzQ0UsQ0FBQSxzREMxQmMsQ0QwQmQsOENDMUJjLENEMEJkLHNDQzFCYyxDRDBCZCx5REMxQmMsQ0FBQSxTQUNkLENBQW1CLG1EUEdqQixrRE1XcUIsQ05YckIsMENNV3FCLENBQUEsU0NKdkIsQ0FBbUIsOEJQbkIzQixpQ0NBTSxDREFOLHlCQ0FNLENBQUEseUNBZ0JBLENBaEJBLGlDQWdCQSxDQUFBLGtES1MyQixDTFQzQiwwQ0tTMkIsQ0FBQSw0QkZmYyxDRWVkLHdCRmZjLENFZWQsb0JGZmMsQ0FBQSxzREdGekIsQ0hFeUIsOENHRnpCLENIRXlCLHNDR0Z6QixDSEV5Qix5REdGekIsQ0FBQSxTQUNkLENBQXNCLCtDUEdwQixvRE1YTixDTldNLDRDTVhOLENBQUEsU0NrQkksQ0FBc0IsZ0NQbkI5QixpQ0NBTSxDREFOLHlCQ0FNLENBQUEseUNBZ0JBLENBaEJBLGlDQWdCQSxDQUFBLGtES1MyQixDTFQzQiwwQ0tTMkIsQ0FBQSw4QkZkYyxDRWNkLDBCRmRjLENFY2Qsc0JGZGMsQ0FBQSxzREdIekIsQ0hHeUIsOENHSHpCLENIR3lCLHNDR0h6QixDSEd5Qix5REdIekIsQ0FBQSxTQUNkLENBQXNCLGlEUEdwQixvRE1WSixDTlVJLDRDTVZKLENBQUEsU0NpQkUsQ0FBc0IsaUNQbkI5QixpQ0NBTSxDREFOLHlCQ0FNLENBQUEseUNBZ0JBLENBaEJBLGlDQWdCQSxDQUFBLGtES1MyQixDTFQzQiwwQ0tTMkIsQ0FBQSwrQkZiYyxDRWFkLDJCRmJjLENFYWQsdUJGYmMsQ0FBQSxzREdKekIsQ0hJeUIsOENHSnpCLENISXlCLHNDR0p6QixDSEl5Qix5REdKekIsQ0FBQSxTQUNkLENBQXNCLGtEUEdwQixxRE1USCxDTlNHLDZDTVRILENBQUEsU0NnQkMsQ0FBc0IsK0JQbkI5QixpQ0NBTSxDREFOLHlCQ0FNLENBQUEseUNBZ0JBLENBaEJBLGlDQWdCQSxDQUFBLGtES1MyQixDTFQzQiwwQ0tTMkIsQ0FBQSw2QkZaYyxDRVlkLHlCRlpjLENFWWQscUJGWmMsQ0FBQSxzREdMekIsQ0hLeUIsOENHTHpCLENIS3lCLHNDR0x6QixDSEt5Qix5REdMekIsQ0FBQSxTQUNkLENBQXNCLGdEUEdwQixxRE1STCxDTlFLLDZDTVJMLENBQUEsU0NlRyxDQUFzQixtQ1BuQjlCLGlDQ0FNLENEQU4seUJDQU0sQ0FBQSx5Q0FnQkEsQ0FoQkEsaUNBZ0JBLENBQUEsa0RLUzJCLENMVDNCLDBDS1MyQixDQUFBLCtCQVN6QixDQVR5QiwyQkFTekIsQ0FUeUIsdUJBU3pCLENBQUEsc0RDMUJjLENEMEJkLDhDQzFCYyxDRDBCZCxzQ0MxQmMsQ0QwQmQseURDMUJjLENBQUEsU0FDZCxDQUFzQixvRFBHcEIsb0RNWE4sQ05XTSw0Q01YTixDQUFBLFNDa0JJLENBQXNCLG1DUG5COUIsaUNDQU0sQ0RBTix5QkNBTSxDQUFBLHlDQWdCQSxDQWhCQSxpQ0FnQkEsQ0FBQSxrREtTMkIsQ0xUM0IsMENLUzJCLENBQUEsK0JBU3pCLENBVHlCLDJCQVN6QixDQVR5Qix1QkFTekIsQ0FBQSxzREMxQmMsQ0QwQmQsOENDMUJjLENEMEJkLHNDQzFCYyxDRDBCZCx5REMxQmMsQ0FBQSxTQUNkLENBQXNCLG9EUEdwQixvRE1WSixDTlVJLDRDTVZKLENBQUEsU0NpQkUsQ0FBc0IsdUJQbkI5QixpQ0NBTSxDREFOLHlCQ0FNLENBQUEseUNBZ0JBLENBaEJBLGlDQWdCQSxDQUFBLDJCQ2NHLENEZEgsdUJDY0csQ0RkSCxtQkNjRyxDQUFBLHNETXpCYSxDTnlCYiw4Q016QmEsQ055QmIsc0NNekJhLENOeUJiLHlETXpCYSxDQUFBLFNBQ2QsQ0FBbUIsd0NSTWpCLDBCRWtCRCxDRmxCQyxzQkVrQkQsQ0ZsQkMsa0JFa0JELENBQUEsU01kRCxDQUFtQix5QlJoQjNCLGlDQ0FNLENEQU4seUJDQU0sQ0FBQSx5Q0FnQkEsQ0FoQkEsaUNBZ0JBLENBQUEsNEJDY0csQ0RkSCx3QkNjRyxDRGRILG9CQ2NHLENBQUEsc0RNekJhLENOeUJiLDhDTXpCYSxDTnlCYixzQ016QmEsQ055QmIseURNekJhLENBQUEsU0FDZCxDQUFtQiwwQ1JNakIsMEJFa0JELENGbEJDLHNCRWtCRCxDRmxCQyxrQkVrQkQsQ0FBQSxTTWRELENBQW1CLHdCUmhCM0IsaUNDQU0sQ0RBTix5QkNBTSxDQUFBLHlDQWdCQSxDQWhCQSxpQ0FnQkEsQ0FBQSwwQkNjRyxDRGRILHNCQ2NHLENEZEgsa0JDY0csQ0FBQSxzRE16QmEsQ055QmIsOENNekJhLENOeUJiLHNDTXpCYSxDTnlCYix5RE16QmEsQ0FBQSxTQUNkLENBQXNCLHlDUk1wQiw0QkVrQkQsQ0ZsQkMsd0JFa0JELENGbEJDLG9CRWtCRCxDQUFBLFNNZEQsQ0FBc0IsMEJSaEI5QixpQ0NBTSxDREFOLHlCQ0FNLENBQUEseUNBZ0JBLENBaEJBLGlDQWdCQSxDQUFBLDBCQ2NHLENEZEgsc0JDY0csQ0RkSCxrQkNjRyxDQUFBLHNETXpCYSxDTnlCYiw4Q016QmEsQ055QmIsc0NNekJhLENOeUJiLHlETXpCYSxDQUFBLFNBQ2QsQ0FBc0IsMkNSTXBCLDJCRWtCRCxDRmxCQyx1QkVrQkQsQ0ZsQkMsbUJFa0JELENBQUEsU01kRCxDQUFzQixtQlJoQjlCLGlDQ0FNLENEQU4seUJDQU0sQ0FBQSx5Q0FnQkEsQ0FoQkEsaUNBZ0JBLENBQUEsa0NDY0csQ0RkSCw4QkNjRyxDRGRILDBCQ2NHLENBQUEsc0RPMUJhLENQMEJiLDhDTzFCYSxDUDBCYixzQ08xQmEsQ1AwQmIseURPMUJhLENBQUEsU0FDZCxDQUFtQixvQ1RPakIsMkJFa0JELENGbEJDLHVCRWtCRCxDRmxCQyxtQkVrQkQsQ0FBQSxTT2ZELENBQW1CLG9CVGYzQixpQ0NBTSxD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Q0FBQSw2QkFDQSxDQUFBLGdCQUNKLENBQUEsbUJBR0MseUJBQ0EsQ0FBQSwyQkFDRSxDQUFBLDRCQUNDLENBQUEsNkJBQ0EsQ0FBQSxTQUNmLGVBR2EsQ0FBQSxhQUNOLENBQUEsZUFDTSxDQUFFLHNEQUc4QixnQkFDckMiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBIaURQSSBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcyBmb3IgcmVzb2x1dGlvbnMuXG4vLy8gVmFsdWVzIG11c3QgcmVwcmVzZW50IHRoZSBkZXZpY2UgcGl4ZWxzIC8gd2ViIHBpeGVscyByYXRpb24gYW5kIGJlIHVuaXRsZXNzIG9yIGluIERQUFguXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHMtaGlkcGk6IChcbiAgaGlkcGktMTogMSxcbiAgaGlkcGktMS01OiAxLjUsXG4gIGhpZHBpLTI6IDIsXG4gIHJldGluYTogMixcbiAgaGlkcGktMzogM1xuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdUaGUgZmlyc3Qga2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIG11c3QgaGF2ZSBhIHZhbHVlIG9mIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBXZWIgc3RhbmRhcmQgUGl4ZWxzIHBlciBpbmNoLiAoMWRkcHggLyAkc3RkLXdlYi1kcGkpID0gMWRwaVxuICAvLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy12YWx1ZXMtMy8jYWJzb2x1dGUtbGVuZ3Roc1xuICAkc3RkLXdlYi1kcGk6IDk2O1xuXG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgb2YgdGhlIGZvbGxvd2luZyBicmVha3BvaW50XG4gICRicC1uZXh0OiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1pbjogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1pbi13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IG51bGw7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBJZiBuYW1lZCwgbmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuICAkbmFtZTogbnVsbDtcbiAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSBIaURQSSBicmVha3BvaW50XG4gICRoaWRwaTogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG5cbiAgLy8gSWYgYSBicmVha3BvaW50IG5hbWUgaXMgZ2l2ZW4sIGdldCBpdHMgdmFsdWUgZnJvbSB0aGUgJGJyZWFrcG9pbnRzLyRicmVha3BvaW50cy1oaWRwaSBtYXAuXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cy1oaWRwaSwgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cy1oaWRwaSwgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dC1udW1iZXIoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApO1xuICAgICAgJGhpZHBpOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyIGAkYnJlYWtwb2ludHNgIG9yIGAkYnJlYWtwb2ludHMtaGlkcGlgIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICBAaWYgbm90ICRuYW1lIGFuZCAkZGlyID09ICdvbmx5JyB7XG4gICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIE9ubHkgJ29ubHknIGFuZCAndXAnIGhhdmUgYSBtaW4gbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICd1cCcge1xuICAgICRicC1taW46IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gIH1cbiAgLy8gT25seSAnb25seScgYW5kICdkb3duJyBoYXZlIGEgbWF4IGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgdmFsdWUsIHVzZSBpdCBhcyBtYXggbGltaXQuXG4gICAgQGlmIG5vdCAkbmFtZSB7XG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICAgIH1cbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBuYW1lZCwgdGhlIG1heCBsaW1pdCBpcyB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnQgLSAxcHguXG4gICAgQGVsc2UgaWYgJGJwLW5leHQge1xuICAgICAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAgICAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgJGJwLW5leHQgLSAoMS8kc3RkLXdlYi1kcGkpLCAtemYtYnAtdG8tZW0oJGJwLW5leHQpIC0gMC4wMDEyNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJhdGUgdGhlIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIG1pbiBhbmQgbWF4IGxpbWl0cy5cbiAgQGlmICRoaWRwaSB7XG4gICAgLy8gR2VuZXJhdGUgdmFsdWVzIGluIERQSSBpbnN0ZWFkIG9mIERQUFggZm9yIGFuIElFOS0xMS9PcGVyYSBtaW5pIGNvbXBhdGliaWxpdHkuXG4gICAgLy8gU2VlIGh0dHBzOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLW1lZGlhLXJlc29sdXRpb25cbiAgICAkYnAtbWluLWRwaTogaWYoJGJwLW1pbiwgJGJwLW1pbiAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1taW4pO1xuICAgICRicC1tYXgtZHBpOiBpZigkYnAtbWF4LCAkYnAtbWF4ICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1heCk7XG4gICAgQHJldHVybiB6Zi1zdHItam9pbihcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgsICctd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8nLCAnLXdlYmtpdC1tYXgtZGV2aWNlLXBpeGVsLXJhdGlvJyksXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLWRwaSwgJGJwLW1heC1kcGksICdtaW4tcmVzb2x1dGlvbicsICdtYXgtcmVzb2x1dGlvbicpLFxuICAgICAgJywgJyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCk7XG4gIH1cbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBhbmQgYCRicmVha3BvaW50cy1oaWRwaWAgbWFwcywgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIElmIG11bHRpcGxlIHZhbHVlcyBhcmUgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBnZW5lcmF0ZSBhIG1lZGlhIHF1ZXJ5IGZvciBlYWNoIG9mIHRoZW0gYXMgZGVzY3JpYmVkIGFib3ZlLlxuLy8vIFNpbmNlIHRoZSBjb250ZW50IGlzIGR1cGxpY2F0ZWQgZm9yIGVhY2ggYnJlYWtwb2ludCwgdGhpcyBtaXhpbiBzaG91bGQgb25seSBiZSB1c2VkIHdpdGggcHJvcGVydGllcyB0aGF0XG4vLy8gY2hhbmdlIGFjcm9zcyBicmVha3BvaW50cy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZXMuLi4gLSBCcmVha3BvaW50IG5hbWUgb3IgcHgvcmVtL2VtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZXMuLi4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHZhbHVlcykge1xuICAgICR2YWx1ZTogbnRoKCR2YWx1ZXMsICRpKTtcbiAgICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsIG50aCgkdmFsdWUsIDEpKTtcbiAgICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcbiAgICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAgICRkaXI6IGlmKGxlbmd0aCgkdmFsdWUpID4gMSwgbnRoKCR2YWx1ZSwgMiksIHVwKTtcblxuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAgIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAgIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICAgIC8vIGdlbmVyYXRlIHByaW50IGlmIHRoZSBicmVha3BvaW50IGFmZmVjdHMgdGhlIHByaW50LWJyZWFrcG9pbnQgKG9yIHNtYWxsZXIpLlxuICAgICAgLy8gVGhpcyBtZWFucyB0aGUgY3VycmVudCBjb25kaXRpb24gb25seSBuZWVkcyB0byBiZSBleHRlbmRlZCBzbyAnZG93bicgYWx3YXlzIGdlbmVyYXRlcyBwcmludC5cbiAgICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgKCRicCA8PSAkcGJwIG9yICRkaXIgPT0gZG93bikge1xuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJ0cyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBudW1iZXIgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAkbnVtYmVyIC0gTnVtYmVyIHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgbnVtYmVyIGZvbGxvd2luZyBgJG51bWJlcmAsIGlmIGAkbnVtYmVyYCB3YXMgZm91bmQuIElmIGAkbnVtYmVyYCB3YXMgbm90IGZvdW5kLCBvciBgJG51bWJlcmAgd2FzIHRoZSBiaWdnZXN0IG51bWJlciBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQtbnVtYmVyKCRtYXAsICRudW1iZXIpIHtcblxuICAkbmV4dF9udW1iZXI6IG51bGw7XG5cbiAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgIEBpZiB0eXBlLW9mKCR2KSA9PSAnbnVtYmVyJyBhbmQgJHYgPiAkbnVtYmVyIGFuZCAoJG5leHRfbnVtYmVyID09IG51bGwgb3IgJHYgPCAkbmV4dF9udW1iZXIpIHtcbiAgICAgICRuZXh0X251bWJlcjogJHY7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV4dF9udW1iZXI7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuLy8vIFJldHVybiB0aGUgYmVzdCBicmVha3BvaW50IHRvIHVzZSBhY2NvcmRpbmcgdG8gdGhlIGNhbGxpbmcgY29udGV4dC4gSXQgcmV0dXJucyBpbiBvcmRlcjpcbi8vLyAxLiB0aGUgZ2l2ZW4gYCR2YWx1ZWAgYXJndW1lbnQgaWYgaXQgaXMgbm90IG51bGwuXG4vLy8gMi4gdGhlIGdsb2JhbCBicmVha3BvaW50IGNvbnRleHQgYCQtemYtc2l6ZWAgaWYgaXQgaXMgbm90IG51bGwgKGxpa2UgaWYgY2FsbGVkIGluc2lkZSB0aGVuIGBicmVha3BvaW50KClgIG1peGluKVxuLy8vIDMuIHRoZSBnaXZlbiBgJGRlZmF1bHRgIGFyZ3VtZW50LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgaW4gcHJpb3JpdHkgaWYgbm9uLW51bGwuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGVmYXVsdCBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBieSBkZWZhdWx0IGlmIG5vIG90aGVyIHZhbHVlIGNhbiBiZSB1c2VkLlxuLy8vXG4vLy8gQHJldHVybiB7S2V5d29yZH0gVGhlIHJlc29sdmVkIGJyZWFrcG9pbnQuXG5AZnVuY3Rpb24gLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkdmFsdWU6IG51bGwsICRkZWZhdWx0OiBudWxsKSB7XG4gIEBpZiAoJHZhbHVlICE9IG51bGwpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuICBAZWxzZSBpZiAodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgIEByZXR1cm4gJC16Zi1zaXplO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRkZWZhdWx0O1xuICB9XG59XG5cbi8vLyBSZXR1cm4gbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gdGhlIGdpdmVuIG1pbiBhbmQvb3IgbWF4IGxpbWl0cy5cbi8vLyBJZiBhIGxpbWl0IGlzIGVxdWFsIHRvIGBudWxsYCBvciBgMGAsIGl0IGlzIGlnbm9yZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1pbiBbMF0gLSBNaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggWzBdIC0gTWF4IG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWluLW5hbWUgWydtaW4td2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRlbGltaXRlciBbJ21heC13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWF4IG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gTWVkaWEgUXVlcnkgc3RyaW5nLlxuQGZ1bmN0aW9uIC16Zi1icC1qb2luKFxuICAkbWluOiAwLFxuICAkbWF4OiAwLFxuICAkbWluLW5hbWU6ICdtaW4td2lkdGgnLFxuICAkbWF4LW5hbWU6ICdtYXgtd2lkdGgnXG4pIHtcbiAgQHJldHVybiB6Zi1zdHItam9pbihcbiAgICBpZigkbWluIGFuZCAkbWluID4gMCwgJygjeyRtaW4tbmFtZX06ICN7JG1pbn0pJywgbnVsbCksXG4gICAgaWYoJG1heCBhbmQgJG1heCA+IDAsICcoI3skbWF4LW5hbWV9OiAjeyRtYXh9KScsIG51bGwpLFxuICAgICcgYW5kICcpO1xufVxuXG4kc21hbGwtdXA6ICcnO1xuJHNtYWxsLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG4kbWVkaXVtLXVwOiAnJztcbiRtZWRpdW0tb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuJGxhcmdlLXVwOiAnJztcbiRsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHhsYXJnZS11cDogJyc7XG4keGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4eGxhcmdlLXVwOiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbi8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbi8vIFRoaXMgc2hvdWxkIGJlIGluIHRoZSBzYW1lIGJyZWFrcG9pbnQgdGhlbiBgQG1peGluIHJldmVhbC1tb2RhbC13aWR0aGBcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICVyZXZlYWwtY2VudGVyZWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICAvLyBXb3JrYXJvdW5kIGFuZHJvaWQgYnJvd3NlciB6LWluZGV4IGJ1Z1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIC8vIEV4dGVuZHMgbXVzdCBiZSBtYWRlIG91dHNpZGUgb2YgYnJlYWtwb2ludHMgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBuZXdlciBTYXNzIHZlcnNpb25zIChsaWJzYXNzIHYzLjUpXG4gIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuXG4gIC8vLyBEaXNhYmxlcyB0aGUgc2Nyb2xsIHdoZW4gUmV2ZWFsIGlzIHNob3duIHRvIHByZXZlbnQgdGhlIGJhY2tncm91bmQgZnJvbSBzaGlmdGluZ1xuICBodG1sLmlzLXJldmVhbC1vcGVuIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuXG4gICAgJi56Zi1oYXMtc2Nyb2xsIHtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICB9XG5cbiAgICBib2R5IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwidGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0ciA+IHRkLmNoaWxkLFxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0ciA+IHRoLmNoaWxkLFxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0ciA+IHRkLmRhdGFUYWJsZXNfZW1wdHkge1xuICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcbn1cbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCA+IHRib2R5ID4gdHIgPiB0ZC5jaGlsZDpiZWZvcmUsXG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgPiB0Ym9keSA+IHRyID4gdGguY2hpbGQ6YmVmb3JlLFxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0ciA+IHRkLmRhdGFUYWJsZXNfZW1wdHk6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0cltyb2xlPVwicm93XCJdID4gdGQ6Zmlyc3QtY2hpbGQsXG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgPiB0Ym9keSA+IHRyW3JvbGU9XCJyb3dcIl0gPiB0aDpmaXJzdC1jaGlsZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgPiB0Ym9keSA+IHRyW3JvbGU9XCJyb3dcIl0gPiB0ZDpmaXJzdC1jaGlsZDpiZWZvcmUsXG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgPiB0Ym9keSA+IHRyW3JvbGU9XCJyb3dcIl0gPiB0aDpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICB0b3A6IDlweDtcbiAgbGVmdDogNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIHdpZHRoOiAxNHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICBib3gtc2hhZG93OiAwIDAgM3B4ICM0NDQ7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtaW5kZW50OiAwICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiAnQ291cmllciBOZXcnLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICBjb250ZW50OiAnKyc7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDhjYmE7XG59XG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgPiB0Ym9keSA+IHRyLnBhcmVudCA+IHRkOmZpcnN0LWNoaWxkOmJlZm9yZSxcbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCA+IHRib2R5ID4gdHIucGFyZW50ID4gdGg6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgY29udGVudDogJy0nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDMzMzMzO1xufVxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkLmNvbXBhY3QgPiB0Ym9keSA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQsXG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQuY29tcGFjdCA+IHRib2R5ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctbGVmdDogMjdweDtcbn1cbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZC5jb21wYWN0ID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkOmJlZm9yZSxcbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZC5jb21wYWN0ID4gdGJvZHkgPiB0ciA+IHRoOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gIHRvcDogNXB4O1xuICBsZWZ0OiA0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgd2lkdGg6IDE0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICB0ZXh0LWluZGVudDogM3B4O1xufVxudGFibGUuZGF0YVRhYmxlLmR0ci1jb2x1bW4gPiB0Ym9keSA+IHRyID4gdGQuY29udHJvbCxcbnRhYmxlLmRhdGFUYWJsZS5kdHItY29sdW1uID4gdGJvZHkgPiB0ciA+IHRoLmNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbnRhYmxlLmRhdGFUYWJsZS5kdHItY29sdW1uID4gdGJvZHkgPiB0ciA+IHRkLmNvbnRyb2w6YmVmb3JlLFxudGFibGUuZGF0YVRhYmxlLmR0ci1jb2x1bW4gPiB0Ym9keSA+IHRyID4gdGguY29udHJvbDpiZWZvcmUge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBoZWlnaHQ6IDE2cHg7XG4gIHdpZHRoOiAxNnB4O1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICBib3gtc2hhZG93OiAwIDAgM3B4ICM0NDQ7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtaW5kZW50OiAwICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiAnQ291cmllciBOZXcnLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICBjb250ZW50OiAnKyc7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDhjYmE7XG59XG50YWJsZS5kYXRhVGFibGUuZHRyLWNvbHVtbiA+IHRib2R5ID4gdHIucGFyZW50IHRkLmNvbnRyb2w6YmVmb3JlLFxudGFibGUuZGF0YVRhYmxlLmR0ci1jb2x1bW4gPiB0Ym9keSA+IHRyLnBhcmVudCB0aC5jb250cm9sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICctJztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QzMzMzMztcbn1cbnRhYmxlLmRhdGFUYWJsZSA+IHRib2R5ID4gdHIuY2hpbGQge1xuICBwYWRkaW5nOiAwLjVlbSAxZW07XG59XG50YWJsZS5kYXRhVGFibGUgPiB0Ym9keSA+IHRyLmNoaWxkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbnRhYmxlLmRhdGFUYWJsZSA+IHRib2R5ID4gdHIuY2hpbGQgdWwuZHRyLWRldGFpbHMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxudGFibGUuZGF0YVRhYmxlID4gdGJvZHkgPiB0ci5jaGlsZCB1bC5kdHItZGV0YWlscyA+IGxpIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZmVmZWY7XG4gIHBhZGRpbmc6IDAuNWVtIDA7XG59XG50YWJsZS5kYXRhVGFibGUgPiB0Ym9keSA+IHRyLmNoaWxkIHVsLmR0ci1kZXRhaWxzID4gbGk6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cbnRhYmxlLmRhdGFUYWJsZSA+IHRib2R5ID4gdHIuY2hpbGQgdWwuZHRyLWRldGFpbHMgPiBsaTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbnRhYmxlLmRhdGFUYWJsZSA+IHRib2R5ID4gdHIuY2hpbGQgc3Bhbi5kdHItdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogNzVweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmRpdi5kdHItbW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwO1xuICBwYWRkaW5nOiAxMGVtIDFlbTtcbn1cbmRpdi5kdHItbW9kYWwgZGl2LmR0ci1tb2RhbC1kaXNwbGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiA1MCU7XG4gIGhlaWdodDogNTAlO1xuICBvdmVyZmxvdzogYXV0bztcbiAgbWFyZ2luOiBhdXRvO1xuICB6LWluZGV4OiAxMDI7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY3O1xuICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcbiAgYm9yZGVyLXJhZGl1czogMC41ZW07XG4gIGJveC1zaGFkb3c6IDAgMTJweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbmRpdi5kdHItbW9kYWwgZGl2LmR0ci1tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxZW07XG59XG5kaXYuZHRyLW1vZGFsIGRpdi5kdHItbW9kYWwtY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNnB4O1xuICByaWdodDogNnB4O1xuICB3aWR0aDogMjJweDtcbiAgaGVpZ2h0OiAyMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWFlYWVhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiAxMjtcbn1cbmRpdi5kdHItbW9kYWwgZGl2LmR0ci1tb2RhbC1jbG9zZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYWVhZWE7XG59XG5kaXYuZHRyLW1vZGFsIGRpdi5kdHItbW9kYWwtYmFja2dyb3VuZCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxMDE7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgZGl2LmR0ci1tb2RhbCBkaXYuZHRyLW1vZGFsLWRpc3BsYXkge1xuICAgIHdpZHRoOiA5NSU7XG4gIH1cbn1cbnRhYmxlLmRhdGFUYWJsZSA+IHRib2R5ID4gdHIuY2hpbGQgdWwge1xuICBmb250LXNpemU6IDFlbTtcbn1cbiIsIi8qIGpzVHJlZSBkZWZhdWx0IHRoZW1lICovXG4uanN0cmVlLW5vZGUsXG4uanN0cmVlLWNoaWxkcmVuLFxuLmpzdHJlZS1jb250YWluZXItdWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG59XG4uanN0cmVlLW5vZGUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmpzdHJlZS1hbmNob3Ige1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiBibGFjaztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgcGFkZGluZzogMCA0cHggMCAxcHg7XG4gIG1hcmdpbjogMDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi5qc3RyZWUtYW5jaG9yOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cbi5qc3RyZWUtYW5jaG9yLFxuLmpzdHJlZS1hbmNob3I6bGluayxcbi5qc3RyZWUtYW5jaG9yOnZpc2l0ZWQsXG4uanN0cmVlLWFuY2hvcjpob3Zlcixcbi5qc3RyZWUtYW5jaG9yOmFjdGl2ZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG4uanN0cmVlLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uanN0cmVlLWljb246ZW1wdHkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uanN0cmVlLW9jbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5qc3RyZWUtbGVhZiA+IC5qc3RyZWUtb2NsIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLmpzdHJlZSAuanN0cmVlLW9wZW4gPiAuanN0cmVlLWNoaWxkcmVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uanN0cmVlIC5qc3RyZWUtY2xvc2VkID4gLmpzdHJlZS1jaGlsZHJlbixcbi5qc3RyZWUgLmpzdHJlZS1sZWFmID4gLmpzdHJlZS1jaGlsZHJlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uanN0cmVlLWFuY2hvciA+IC5qc3RyZWUtdGhlbWVpY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiAycHg7XG59XG4uanN0cmVlLW5vLWljb25zIC5qc3RyZWUtdGhlbWVpY29uLFxuLmpzdHJlZS1hbmNob3IgPiAuanN0cmVlLXRoZW1laWNvbi1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmpzdHJlZS1oaWRkZW4sXG4uanN0cmVlLW5vZGUuanN0cmVlLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uanN0cmVlLXJ0bCAuanN0cmVlLWFuY2hvciB7XG4gIHBhZGRpbmc6IDAgMXB4IDAgNHB4O1xufVxuLmpzdHJlZS1ydGwgLmpzdHJlZS1hbmNob3IgPiAuanN0cmVlLXRoZW1laWNvbiB7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbi5qc3RyZWUtcnRsIC5qc3RyZWUtbm9kZSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmpzdHJlZS1ydGwgLmpzdHJlZS1jb250YWluZXItdWwgPiAuanN0cmVlLW5vZGUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4uanN0cmVlLXdob2xlcm93LXVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogMTAwJTtcbn1cbi5qc3RyZWUtd2hvbGVyb3ctdWwgLmpzdHJlZS1sZWFmID4gLmpzdHJlZS1vY2wge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uanN0cmVlLXdob2xlcm93LXVsIC5qc3RyZWUtYW5jaG9yLFxuLmpzdHJlZS13aG9sZXJvdy11bCAuanN0cmVlLWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uanN0cmVlLXdob2xlcm93LXVsIC5qc3RyZWUtd2hvbGVyb3cge1xuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4uanN0cmVlLWNvbnRleHRtZW51IC5qc3RyZWUtYW5jaG9yIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLyogZGlzYWJsZSBzZWxlY3Rpb24vQ29weSBvZiBVSVdlYlZpZXcgKi9cbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAvKiBkaXNhYmxlIHRoZSBJT1MgcG9wdXAgd2hlbiBsb25nLXByZXNzIG9uIGEgbGluayAqL1xufVxuLnZha2F0YS1jb250ZXh0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi52YWthdGEtY29udGV4dCxcbi52YWthdGEtY29udGV4dCB1bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM5Nzk3OTc7XG4gIGJveC1zaGFkb3c6IDJweCAycHggMnB4ICM5OTk5OTk7XG59XG4udmFrYXRhLWNvbnRleHQgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBsZWZ0OiAxMDAlO1xuICBtYXJnaW4tdG9wOiAtMi43ZW07XG4gIG1hcmdpbi1sZWZ0OiAtNHB4O1xufVxuLnZha2F0YS1jb250ZXh0IC52YWthdGEtY29udGV4dC1yaWdodCB1bCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxMDAlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiAtNHB4O1xufVxuLnZha2F0YS1jb250ZXh0IGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi52YWthdGEtY29udGV4dCBsaSA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMCAyZW0gMCAyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG4gIGNvbG9yOiBibGFjaztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgbGluZS1oZWlnaHQ6IDIuNGVtO1xuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAwIHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAxcHg7XG59XG4udmFrYXRhLWNvbnRleHQgbGkgPiBhOmhvdmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZThlZmY3O1xuICBib3gtc2hhZG93OiAwIDAgMnB4ICMwYTZhYTE7XG59XG4udmFrYXRhLWNvbnRleHQgbGkgPiBhLnZha2F0YS1jb250ZXh0LXBhcmVudCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEN3QUhBSUFBQUNnb0tQLy8veUg1QkFFQUFBRUFMQUFBQUFBTEFBY0FBQUlPUkk0SmxycU4xb01Tbm1tWkRRVUFPdz09XCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4udmFrYXRhLWNvbnRleHQgbGkgPiBhOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cbi52YWthdGEtY29udGV4dCAudmFrYXRhLWNvbnRleHQtaG92ZXIgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZThlZmY3O1xuICBib3gtc2hhZG93OiAwIDAgMnB4ICMwYTZhYTE7XG59XG4udmFrYXRhLWNvbnRleHQgLnZha2F0YS1jb250ZXh0LXNlcGFyYXRvciA+IGEsXG4udmFrYXRhLWNvbnRleHQgLnZha2F0YS1jb250ZXh0LXNlcGFyYXRvciA+IGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2UyZTNlMztcbiAgaGVpZ2h0OiAxcHg7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgbWF4LWhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAgMCAwIDIuNGVtO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlMGUwZTA7XG4gIHRleHQtc2hhZG93OiAwIDAgMCB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4udmFrYXRhLWNvbnRleHQgLnZha2F0YS1jb250ZXh0bWVudS1kaXNhYmxlZCBhLFxuLnZha2F0YS1jb250ZXh0IC52YWthdGEtY29udGV4dG1lbnUtZGlzYWJsZWQgYTpob3ZlciB7XG4gIGNvbG9yOiBzaWx2ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwO1xufVxuLnZha2F0YS1jb250ZXh0IC52YWthdGEtY29udGV4dG1lbnUtZGlzYWJsZWQgPiBhID4gaSB7XG4gIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xufVxuLnZha2F0YS1jb250ZXh0IGxpID4gYSA+IGkge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDIuNGVtO1xuICBoZWlnaHQ6IDIuNGVtO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwIDAgMCAtMmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAyLjRlbTtcbn1cbi52YWthdGEtY29udGV4dCBsaSA+IGEgPiBpOmVtcHR5IHtcbiAgd2lkdGg6IDIuNGVtO1xuICBsaW5lLWhlaWdodDogMi40ZW07XG59XG4udmFrYXRhLWNvbnRleHQgbGkgPiBhIC52YWthdGEtY29udGV4dG1lbnUtc2VwIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDIuNGVtO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgbWFyZ2luOiAwIDAuNWVtIDAgMDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTJlM2UzO1xufVxuLnZha2F0YS1jb250ZXh0IC52YWthdGEtY29udGV4dG1lbnUtc2hvcnRjdXQge1xuICBmb250LXNpemU6IDAuOGVtO1xuICBjb2xvcjogc2lsdmVyO1xuICBvcGFjaXR5OiAwLjU7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udmFrYXRhLWNvbnRleHQtcnRsIHVsIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IC00cHg7XG59XG4udmFrYXRhLWNvbnRleHQtcnRsIGxpID4gYS52YWthdGEtY29udGV4dC1wYXJlbnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhDd0FIQUlBQUFDZ29LUC8vL3lINUJBRUFBQUVBTEFBQUFBQUxBQWNBQUFJTmpJK0FDN3JXSElzUHRtb3hMQUE3XCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbi52YWthdGEtY29udGV4dC1ydGwgLnZha2F0YS1jb250ZXh0LXNlcGFyYXRvciA+IGEge1xuICBtYXJnaW46IDAgMi40ZW0gMCAwO1xuICBib3JkZXItbGVmdDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2UyZTNlMztcbn1cbi52YWthdGEtY29udGV4dC1ydGwgLnZha2F0YS1jb250ZXh0LWxlZnQgdWwge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi52YWthdGEtY29udGV4dC1ydGwgbGkgPiBhID4gaSB7XG4gIG1hcmdpbjogMCAtMmVtIDAgMDtcbn1cbi52YWthdGEtY29udGV4dC1ydGwgbGkgPiBhIC52YWthdGEtY29udGV4dG1lbnUtc2VwIHtcbiAgbWFyZ2luOiAwIDAgMCAwLjVlbTtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kOiAjZTJlM2UzO1xufVxuI2pzdHJlZS1tYXJrZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiAtNXB4IDAgMCAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBmb250LXNpemU6IDA7XG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuI2pzdHJlZS1kbmQge1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA0cHg7XG59XG4janN0cmVlLWRuZCAuanN0cmVlLWljb24sXG4janN0cmVlLWRuZCAuanN0cmVlLWNvcHkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbWFyZ2luOiAwIDJweCAwIDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG59XG4janN0cmVlLWRuZCAuanN0cmVlLW9rIHtcbiAgYmFja2dyb3VuZDogZ3JlZW47XG59XG4janN0cmVlLWRuZCAuanN0cmVlLWVyIHtcbiAgYmFja2dyb3VuZDogcmVkO1xufVxuI2pzdHJlZS1kbmQgLmpzdHJlZS1jb3B5IHtcbiAgbWFyZ2luOiAwIDJweCAwIDJweDtcbn1cbi5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLW5vZGUsXG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1pY29uIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1hbmNob3IsXG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1hbmltYXRlZCxcbi5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLXdob2xlcm93IHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cywgYm94LXNoYWRvdyAwLjE1cztcbn1cbi5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLWhvdmVyZWQge1xuICBiYWNrZ3JvdW5kOiAjZTdmNGY5O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAxcHggI2NjY2NjYztcbn1cbi5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLWNvbnRleHQge1xuICBiYWNrZ3JvdW5kOiAjZTdmNGY5O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAxcHggI2NjY2NjYztcbn1cbi5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLWNsaWNrZWQge1xuICBiYWNrZ3JvdW5kOiAjYmVlYmZmO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAxcHggIzk5OTk5OTtcbn1cbi5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLW5vLWljb25zIC5qc3RyZWUtYW5jaG9yID4gLmpzdHJlZS10aGVtZWljb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM2NjY2NjY7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1kaXNhYmxlZC5qc3RyZWUtaG92ZXJlZCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtZGlzYWJsZWQuanN0cmVlLWNsaWNrZWQge1xuICBiYWNrZ3JvdW5kOiAjZWZlZmVmO1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtZGlzYWJsZWQgPiAuanN0cmVlLWljb24ge1xuICBvcGFjaXR5OiAwLjg7XG4gIGZpbHRlcjogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cXCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1xcJz48ZmlsdGVyIGlkPVxcJ2pzdHJlZS1ncmF5c2NhbGVcXCc+PGZlQ29sb3JNYXRyaXggdHlwZT1cXCdtYXRyaXhcXCcgdmFsdWVzPVxcJzAuMzMzMyAwLjMzMzMgMC4zMzMzIDAgMCAwLjMzMzMgMC4zMzMzIDAuMzMzMyAwIDAgMC4zMzMzIDAuMzMzMyAwLjMzMzMgMCAwIDAgMCAwIDEgMFxcJy8+PC9maWx0ZXI+PC9zdmc+I2pzdHJlZS1ncmF5c2NhbGVcIik7XG4gIC8qIEZpcmVmb3ggMTArICovXG4gIGZpbHRlcjogZ3JheTtcbiAgLyogSUU2LTkgKi9cbiAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTtcbiAgLyogQ2hyb21lIDE5KyAmIFNhZmFyaSA2KyAqL1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtc2VhcmNoIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzhiMDAwMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1uby1jaGVja2JveGVzIC5qc3RyZWUtY2hlY2tib3gge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4uanN0cmVlLWRlZmF1bHQuanN0cmVlLWNoZWNrYm94LW5vLWNsaWNrZWQgLmpzdHJlZS1jbGlja2VkIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uanN0cmVlLWRlZmF1bHQuanN0cmVlLWNoZWNrYm94LW5vLWNsaWNrZWQgLmpzdHJlZS1jbGlja2VkLmpzdHJlZS1ob3ZlcmVkIHtcbiAgYmFja2dyb3VuZDogI2U3ZjRmOTtcbn1cbi5qc3RyZWUtZGVmYXVsdC5qc3RyZWUtY2hlY2tib3gtbm8tY2xpY2tlZCA+IC5qc3RyZWUtd2hvbGVyb3ctdWwgLmpzdHJlZS13aG9sZXJvdy1jbGlja2VkIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uanN0cmVlLWRlZmF1bHQuanN0cmVlLWNoZWNrYm94LW5vLWNsaWNrZWQgPiAuanN0cmVlLXdob2xlcm93LXVsIC5qc3RyZWUtd2hvbGVyb3ctY2xpY2tlZC5qc3RyZWUtd2hvbGVyb3ctaG92ZXJlZCB7XG4gIGJhY2tncm91bmQ6ICNlN2Y0Zjk7XG59XG4uanN0cmVlLWRlZmF1bHQgPiAuanN0cmVlLXN0cmlwZWQge1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUFrQ0FNQUFBQi9xcUErQUFBQUJsQk1WRVVBQUFBQUFBQ2xaN25QQUFBQUFuUlNUbE1OQU1NOXMzVUFBQUFYU1VSQlZIamFqY0VCQVFBQUFJS2cvSC9hQ1FaNzBBVUJqQUFUYjZZUERnQUFBQUJKUlU1RXJrSmdnZz09XCIpIGxlZnQgdG9wIHJlcGVhdDtcbn1cbi5qc3RyZWUtZGVmYXVsdCA+IC5qc3RyZWUtd2hvbGVyb3ctdWwgLmpzdHJlZS1ob3ZlcmVkLFxuLmpzdHJlZS1kZWZhdWx0ID4gLmpzdHJlZS13aG9sZXJvdy11bCAuanN0cmVlLWNsaWNrZWQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLXdob2xlcm93IHtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS13aG9sZXJvdy1ob3ZlcmVkIHtcbiAgYmFja2dyb3VuZDogI2U3ZjRmOTtcbn1cbi5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLXdob2xlcm93LWNsaWNrZWQge1xuICBiYWNrZ3JvdW5kOiAjYmVlYmZmO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNiZWViZmYgMCUsICNhOGU0ZmYgMTAwJSk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNiZWViZmYgMCUsICNhOGU0ZmYgMTAwJSk7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1ub2RlIHtcbiAgbWluLWhlaWdodDogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIG1hcmdpbi1sZWZ0OiAyNHB4O1xuICBtaW4td2lkdGg6IDI0cHg7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1hbmNob3Ige1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtaWNvbiB7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtaWNvbjplbXB0eSB7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LmpzdHJlZS1ydGwgLmpzdHJlZS1ub2RlIHtcbiAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtd2hvbGVyb3cge1xuICBoZWlnaHQ6IDI0cHg7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1ub2RlLFxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIjMycHgucG5nXCIpO1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtbm9kZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yOTJweCAtNHB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1sYXN0IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1vcGVuID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTMycHggLTRweDtcbn1cbi5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLWNsb3NlZCA+IC5qc3RyZWUtb2NsIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC00cHg7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1sZWFmID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjhweCAtNHB4O1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtdGhlbWVpY29uIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI2MHB4IC00cHg7XG59XG4uanN0cmVlLWRlZmF1bHQgPiAuanN0cmVlLW5vLWRvdHMgLmpzdHJlZS1ub2RlLFxuLmpzdHJlZS1kZWZhdWx0ID4gLmpzdHJlZS1uby1kb3RzIC5qc3RyZWUtbGVhZiA+IC5qc3RyZWUtb2NsIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uanN0cmVlLWRlZmF1bHQgPiAuanN0cmVlLW5vLWRvdHMgLmpzdHJlZS1vcGVuID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNHB4O1xufVxuLmpzdHJlZS1kZWZhdWx0ID4gLmpzdHJlZS1uby1kb3RzIC5qc3RyZWUtY2xvc2VkID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNHB4IC00cHg7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtZGlzYWJsZWQuanN0cmVlLWhvdmVyZWQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLWRpc2FibGVkLmpzdHJlZS1jbGlja2VkIHtcbiAgYmFja2dyb3VuZDogI2VmZWZlZjtcbn1cbi5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLWNoZWNrYm94IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2NHB4IC00cHg7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1jaGVja2JveDpob3ZlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjRweCAtMzZweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC5qc3RyZWUtY2hlY2tib3gtc2VsZWN0aW9uIC5qc3RyZWUtY2xpY2tlZCA+IC5qc3RyZWUtY2hlY2tib3gsXG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1jaGVja2VkID4gLmpzdHJlZS1jaGVja2JveCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjhweCAtNHB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LmpzdHJlZS1jaGVja2JveC1zZWxlY3Rpb24gLmpzdHJlZS1jbGlja2VkID4gLmpzdHJlZS1jaGVja2JveDpob3Zlcixcbi5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLWNoZWNrZWQgPiAuanN0cmVlLWNoZWNrYm94OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyOHB4IC0zNnB4O1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtYW5jaG9yID4gLmpzdHJlZS11bmRldGVybWluZWQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTk2cHggLTRweDtcbn1cbi5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLWFuY2hvciA+IC5qc3RyZWUtdW5kZXRlcm1pbmVkOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5NnB4IC0zNnB4O1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtY2hlY2tib3gtZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjg7XG4gIGZpbHRlcjogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cXCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1xcJz48ZmlsdGVyIGlkPVxcJ2pzdHJlZS1ncmF5c2NhbGVcXCc+PGZlQ29sb3JNYXRyaXggdHlwZT1cXCdtYXRyaXhcXCcgdmFsdWVzPVxcJzAuMzMzMyAwLjMzMzMgMC4zMzMzIDAgMCAwLjMzMzMgMC4zMzMzIDAuMzMzMyAwIDAgMC4zMzMzIDAuMzMzMyAwLjMzMzMgMCAwIDAgMCAwIDEgMFxcJy8+PC9maWx0ZXI+PC9zdmc+I2pzdHJlZS1ncmF5c2NhbGVcIik7XG4gIC8qIEZpcmVmb3ggMTArICovXG4gIGZpbHRlcjogZ3JheTtcbiAgLyogSUU2LTkgKi9cbiAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTtcbiAgLyogQ2hyb21lIDE5KyAmIFNhZmFyaSA2KyAqL1xufVxuLmpzdHJlZS1kZWZhdWx0ID4gLmpzdHJlZS1zdHJpcGVkIHtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDQ4cHg7XG59XG4uanN0cmVlLWRlZmF1bHQuanN0cmVlLXJ0bCAuanN0cmVlLW5vZGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJnQUFBQUNBUU1BQUFCNDlJNUdBQUFBQmxCTVZFVUFBQUFkSFJ2RWtDd2NBQUFBQVhSU1RsTUFRT2JZWmdBQUFBeEpSRUZVQ05kakFBTU9CZ0FBR0FBSk13UUhkUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxcHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTtcbn1cbi5qc3RyZWUtZGVmYXVsdC5qc3RyZWUtcnRsIC5qc3RyZWUtbGFzdCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLmpzdHJlZS1kZWZhdWx0LmpzdHJlZS1ydGwgLmpzdHJlZS1vcGVuID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTMycHggLTM2cHg7XG59XG4uanN0cmVlLWRlZmF1bHQuanN0cmVlLXJ0bCAuanN0cmVlLWNsb3NlZCA+IC5qc3RyZWUtb2NsIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC0zNnB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LmpzdHJlZS1ydGwgLmpzdHJlZS1sZWFmID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjhweCAtMzZweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC5qc3RyZWUtcnRsID4gLmpzdHJlZS1uby1kb3RzIC5qc3RyZWUtbm9kZSxcbi5qc3RyZWUtZGVmYXVsdC5qc3RyZWUtcnRsID4gLmpzdHJlZS1uby1kb3RzIC5qc3RyZWUtbGVhZiA+IC5qc3RyZWUtb2NsIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uanN0cmVlLWRlZmF1bHQuanN0cmVlLXJ0bCA+IC5qc3RyZWUtbm8tZG90cyAuanN0cmVlLW9wZW4gPiAuanN0cmVlLW9jbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0zNnB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LmpzdHJlZS1ydGwgPiAuanN0cmVlLW5vLWRvdHMgLmpzdHJlZS1jbG9zZWQgPiAuanN0cmVlLW9jbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00cHggLTM2cHg7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS10aGVtZWljb24tY3VzdG9tIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbn1cbi5qc3RyZWUtZGVmYXVsdCA+IC5qc3RyZWUtY29udGFpbmVyLXVsIC5qc3RyZWUtbG9hZGluZyA+IC5qc3RyZWUtb2NsIHtcbiAgYmFja2dyb3VuZDogdXJsKFwidGhyb2JiZXIuZ2lmXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtZmlsZSB7XG4gIGJhY2tncm91bmQ6IHVybChcIjMycHgucG5nXCIpIC0xMDBweCAtNjhweCBuby1yZXBlYXQ7XG59XG4uanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1mb2xkZXIge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIzMnB4LnBuZ1wiKSAtMjYwcHggLTRweCBuby1yZXBlYXQ7XG59XG4uanN0cmVlLWRlZmF1bHQgPiAuanN0cmVlLWNvbnRhaW5lci11bCA+IC5qc3RyZWUtbm9kZSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4janN0cmVlLWRuZC5qc3RyZWUtZGVmYXVsdCB7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBwYWRkaW5nOiAwIDRweDtcbn1cbiNqc3RyZWUtZG5kLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtb2ssXG4janN0cmVlLWRuZC5qc3RyZWUtZGVmYXVsdCAuanN0cmVlLWVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiMzJweC5wbmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuI2pzdHJlZS1kbmQuanN0cmVlLWRlZmF1bHQgaSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbn1cbiNqc3RyZWUtZG5kLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtb2sge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNHB4IC02OHB4O1xufVxuI2pzdHJlZS1kbmQuanN0cmVlLWRlZmF1bHQgLmpzdHJlZS1lciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC02OHB4O1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtZWxsaXBzaXMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmpzdHJlZS1kZWZhdWx0IC5qc3RyZWUtZWxsaXBzaXMgLmpzdHJlZS1hbmNob3Ige1xuICB3aWR0aDogY2FsYygxMDAlIC0gMjlweCk7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmpzdHJlZS1kZWZhdWx0LmpzdHJlZS1ydGwgLmpzdHJlZS1ub2RlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFDQVFNQUFBQjQ5STVHQUFBQUJsQk1WRVVBQUFBZEhSdkVrQ3djQUFBQUFYUlNUbE1BUU9iWVpnQUFBQXhKUkVGVUNOZGpBQU1PQmdBQUdBQUpNd1FIZFFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7XG59XG4uanN0cmVlLWRlZmF1bHQuanN0cmVlLXJ0bCAuanN0cmVlLWxhc3Qge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbCAuanN0cmVlLW5vZGUge1xuICBtaW4taGVpZ2h0OiAxOHB4O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgbWFyZ2luLWxlZnQ6IDE4cHg7XG4gIG1pbi13aWR0aDogMThweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbCAuanN0cmVlLWFuY2hvciB7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwgLmpzdHJlZS1pY29uIHtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwgLmpzdHJlZS1pY29uOmVtcHR5IHtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwuanN0cmVlLXJ0bCAuanN0cmVlLW5vZGUge1xuICBtYXJnaW4tcmlnaHQ6IDE4cHg7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwgLmpzdHJlZS13aG9sZXJvdyB7XG4gIGhlaWdodDogMThweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbCAuanN0cmVlLW5vZGUsXG4uanN0cmVlLWRlZmF1bHQtc21hbGwgLmpzdHJlZS1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiMzJweC5wbmdcIik7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwgLmpzdHJlZS1ub2RlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI5NXB4IC03cHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbCAuanN0cmVlLWxhc3Qge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbCAuanN0cmVlLW9wZW4gPiAuanN0cmVlLW9jbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMzVweCAtN3B4O1xufVxuLmpzdHJlZS1kZWZhdWx0LXNtYWxsIC5qc3RyZWUtY2xvc2VkID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAzcHggLTdweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbCAuanN0cmVlLWxlYWYgPiAuanN0cmVlLW9jbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MXB4IC03cHg7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwgLmpzdHJlZS10aGVtZWljb24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjYzcHggLTdweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbCA+IC5qc3RyZWUtbm8tZG90cyAuanN0cmVlLW5vZGUsXG4uanN0cmVlLWRlZmF1bHQtc21hbGwgPiAuanN0cmVlLW5vLWRvdHMgLmpzdHJlZS1sZWFmID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbCA+IC5qc3RyZWUtbm8tZG90cyAuanN0cmVlLW9wZW4gPiAuanN0cmVlLW9jbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zOXB4IC03cHg7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwgPiAuanN0cmVlLW5vLWRvdHMgLmpzdHJlZS1jbG9zZWQgPiAuanN0cmVlLW9jbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03cHggLTdweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbCAuanN0cmVlLWRpc2FibGVkIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwgLmpzdHJlZS1kaXNhYmxlZC5qc3RyZWUtaG92ZXJlZCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLmpzdHJlZS1kZWZhdWx0LXNtYWxsIC5qc3RyZWUtZGlzYWJsZWQuanN0cmVlLWNsaWNrZWQge1xuICBiYWNrZ3JvdW5kOiAjZWZlZmVmO1xufVxuLmpzdHJlZS1kZWZhdWx0LXNtYWxsIC5qc3RyZWUtY2hlY2tib3gge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTY3cHggLTdweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbCAuanN0cmVlLWNoZWNrYm94OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2N3B4IC0zOXB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LXNtYWxsLmpzdHJlZS1jaGVja2JveC1zZWxlY3Rpb24gLmpzdHJlZS1jbGlja2VkID4gLmpzdHJlZS1jaGVja2JveCxcbi5qc3RyZWUtZGVmYXVsdC1zbWFsbCAuanN0cmVlLWNoZWNrZWQgPiAuanN0cmVlLWNoZWNrYm94IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIzMXB4IC03cHg7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwuanN0cmVlLWNoZWNrYm94LXNlbGVjdGlvbiAuanN0cmVlLWNsaWNrZWQgPiAuanN0cmVlLWNoZWNrYm94OmhvdmVyLFxuLmpzdHJlZS1kZWZhdWx0LXNtYWxsIC5qc3RyZWUtY2hlY2tlZCA+IC5qc3RyZWUtY2hlY2tib3g6aG92ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjMxcHggLTM5cHg7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwgLmpzdHJlZS1hbmNob3IgPiAuanN0cmVlLXVuZGV0ZXJtaW5lZCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xOTlweCAtN3B4O1xufVxuLmpzdHJlZS1kZWZhdWx0LXNtYWxsIC5qc3RyZWUtYW5jaG9yID4gLmpzdHJlZS11bmRldGVybWluZWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTk5cHggLTM5cHg7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwgLmpzdHJlZS1jaGVja2JveC1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuODtcbiAgZmlsdGVyOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVxcJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXFwnPjxmaWx0ZXIgaWQ9XFwnanN0cmVlLWdyYXlzY2FsZVxcJz48ZmVDb2xvck1hdHJpeCB0eXBlPVxcJ21hdHJpeFxcJyB2YWx1ZXM9XFwnMC4zMzMzIDAuMzMzMyAwLjMzMzMgMCAwIDAuMzMzMyAwLjMzMzMgMC4zMzMzIDAgMCAwLjMzMzMgMC4zMzMzIDAuMzMzMyAwIDAgMCAwIDAgMSAwXFwnLz48L2ZpbHRlcj48L3N2Zz4janN0cmVlLWdyYXlzY2FsZVwiKTtcbiAgLyogRmlyZWZveCAxMCsgKi9cbiAgZmlsdGVyOiBncmF5O1xuICAvKiBJRTYtOSAqL1xuICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xuICAvKiBDaHJvbWUgMTkrICYgU2FmYXJpIDYrICovXG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwgPiAuanN0cmVlLXN0cmlwZWQge1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMzZweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbC5qc3RyZWUtcnRsIC5qc3RyZWUtbm9kZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQmdBQUFBQ0FRTUFBQUI0OUk1R0FBQUFCbEJNVkVVQUFBQWRIUnZFa0N3Y0FBQUFBWFJTVGxNQVFPYllaZ0FBQUF4SlJFRlVDTmRqQUFNT0JnQUFHQUFKTXdRSGRRQUFBQUJKUlU1RXJrSmdnZz09XCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDFweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xufVxuLmpzdHJlZS1kZWZhdWx0LXNtYWxsLmpzdHJlZS1ydGwgLmpzdHJlZS1sYXN0IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwuanN0cmVlLXJ0bCAuanN0cmVlLW9wZW4gPiAuanN0cmVlLW9jbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMzVweCAtMzlweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbC5qc3RyZWUtcnRsIC5qc3RyZWUtY2xvc2VkID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAzcHggLTM5cHg7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwuanN0cmVlLXJ0bCAuanN0cmVlLWxlYWYgPiAuanN0cmVlLW9jbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MXB4IC0zOXB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LXNtYWxsLmpzdHJlZS1ydGwgPiAuanN0cmVlLW5vLWRvdHMgLmpzdHJlZS1ub2RlLFxuLmpzdHJlZS1kZWZhdWx0LXNtYWxsLmpzdHJlZS1ydGwgPiAuanN0cmVlLW5vLWRvdHMgLmpzdHJlZS1sZWFmID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbC5qc3RyZWUtcnRsID4gLmpzdHJlZS1uby1kb3RzIC5qc3RyZWUtb3BlbiA+IC5qc3RyZWUtb2NsIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM5cHggLTM5cHg7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwuanN0cmVlLXJ0bCA+IC5qc3RyZWUtbm8tZG90cyAuanN0cmVlLWNsb3NlZCA+IC5qc3RyZWUtb2NsIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTdweCAtMzlweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbCAuanN0cmVlLXRoZW1laWNvbi1jdXN0b20ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xufVxuLmpzdHJlZS1kZWZhdWx0LXNtYWxsID4gLmpzdHJlZS1jb250YWluZXItdWwgLmpzdHJlZS1sb2FkaW5nID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJ0aHJvYmJlci5naWZcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwgLmpzdHJlZS1maWxlIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiMzJweC5wbmdcIikgLTEwM3B4IC03MXB4IG5vLXJlcGVhdDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbCAuanN0cmVlLWZvbGRlciB7XG4gIGJhY2tncm91bmQ6IHVybChcIjMycHgucG5nXCIpIC0yNjNweCAtN3B4IG5vLXJlcGVhdDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbCA+IC5qc3RyZWUtY29udGFpbmVyLXVsID4gLmpzdHJlZS1ub2RlIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbiNqc3RyZWUtZG5kLmpzdHJlZS1kZWZhdWx0LXNtYWxsIHtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIHBhZGRpbmc6IDAgNHB4O1xufVxuI2pzdHJlZS1kbmQuanN0cmVlLWRlZmF1bHQtc21hbGwgLmpzdHJlZS1vayxcbiNqc3RyZWUtZG5kLmpzdHJlZS1kZWZhdWx0LXNtYWxsIC5qc3RyZWUtZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIzMnB4LnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4janN0cmVlLWRuZC5qc3RyZWUtZGVmYXVsdC1zbWFsbCBpIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xufVxuI2pzdHJlZS1kbmQuanN0cmVlLWRlZmF1bHQtc21hbGwgLmpzdHJlZS1vayB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03cHggLTcxcHg7XG59XG4janN0cmVlLWRuZC5qc3RyZWUtZGVmYXVsdC1zbWFsbCAuanN0cmVlLWVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM5cHggLTcxcHg7XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwgLmpzdHJlZS1lbGxpcHNpcyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwgLmpzdHJlZS1lbGxpcHNpcyAuanN0cmVlLWFuY2hvciB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyM3B4KTtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uanN0cmVlLWRlZmF1bHQtc21hbGwuanN0cmVlLXJ0bCAuanN0cmVlLW5vZGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJJQUFBQUNBUU1BQUFCdjFoNlBBQUFBQmxCTVZFVUFBQUFkSFJ2RWtDd2NBQUFBQVhSU1RsTUFRT2JZWmdBQUFBeEpSRUZVQ05kakFBTUhCZ0FBaUFCQkk0Z3o5QUFBQUFCSlJVNUVya0pnZ2c9PVwiKTtcbn1cbi5qc3RyZWUtZGVmYXVsdC1zbWFsbC5qc3RyZWUtcnRsIC5qc3RyZWUtbGFzdCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlIC5qc3RyZWUtbm9kZSB7XG4gIG1pbi1oZWlnaHQ6IDMycHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICBtYXJnaW4tbGVmdDogMzJweDtcbiAgbWluLXdpZHRoOiAzMnB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlIC5qc3RyZWUtYW5jaG9yIHtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1sYXJnZSAuanN0cmVlLWljb24ge1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBsaW5lLWhlaWdodDogMzJweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1sYXJnZSAuanN0cmVlLWljb246ZW1wdHkge1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBsaW5lLWhlaWdodDogMzJweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1sYXJnZS5qc3RyZWUtcnRsIC5qc3RyZWUtbm9kZSB7XG4gIG1hcmdpbi1yaWdodDogMzJweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1sYXJnZSAuanN0cmVlLXdob2xlcm93IHtcbiAgaGVpZ2h0OiAzMnB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlIC5qc3RyZWUtbm9kZSxcbi5qc3RyZWUtZGVmYXVsdC1sYXJnZSAuanN0cmVlLWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIzMnB4LnBuZ1wiKTtcbn1cbi5qc3RyZWUtZGVmYXVsdC1sYXJnZSAuanN0cmVlLW5vZGUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjg4cHggMHB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UgLmpzdHJlZS1sYXN0IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UgLmpzdHJlZS1vcGVuID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggMHB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlIC5qc3RyZWUtY2xvc2VkID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAwcHg7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UgLmpzdHJlZS1sZWFmID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAwcHg7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UgLmpzdHJlZS10aGVtZWljb24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjU2cHggMHB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlID4gLmpzdHJlZS1uby1kb3RzIC5qc3RyZWUtbm9kZSxcbi5qc3RyZWUtZGVmYXVsdC1sYXJnZSA+IC5qc3RyZWUtbm8tZG90cyAuanN0cmVlLWxlYWYgPiAuanN0cmVlLW9jbCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlID4gLmpzdHJlZS1uby1kb3RzIC5qc3RyZWUtb3BlbiA+IC5qc3RyZWUtb2NsIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggMHB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlID4gLmpzdHJlZS1uby1kb3RzIC5qc3RyZWUtY2xvc2VkID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggMHB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlIC5qc3RyZWUtZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1sYXJnZSAuanN0cmVlLWRpc2FibGVkLmpzdHJlZS1ob3ZlcmVkIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UgLmpzdHJlZS1kaXNhYmxlZC5qc3RyZWUtY2xpY2tlZCB7XG4gIGJhY2tncm91bmQ6ICNlZmVmZWY7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UgLmpzdHJlZS1jaGVja2JveCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAwcHg7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UgLmpzdHJlZS1jaGVja2JveDpob3ZlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtMzJweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1sYXJnZS5qc3RyZWUtY2hlY2tib3gtc2VsZWN0aW9uIC5qc3RyZWUtY2xpY2tlZCA+IC5qc3RyZWUtY2hlY2tib3gsXG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UgLmpzdHJlZS1jaGVja2VkID4gLmpzdHJlZS1jaGVja2JveCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAwcHg7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UuanN0cmVlLWNoZWNrYm94LXNlbGVjdGlvbiAuanN0cmVlLWNsaWNrZWQgPiAuanN0cmVlLWNoZWNrYm94OmhvdmVyLFxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlIC5qc3RyZWUtY2hlY2tlZCA+IC5qc3RyZWUtY2hlY2tib3g6aG92ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTMycHg7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UgLmpzdHJlZS1hbmNob3IgPiAuanN0cmVlLXVuZGV0ZXJtaW5lZCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAwcHg7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UgLmpzdHJlZS1hbmNob3IgPiAuanN0cmVlLXVuZGV0ZXJtaW5lZDpob3ZlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMzJweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1sYXJnZSAuanN0cmVlLWNoZWNrYm94LWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC44O1xuICBmaWx0ZXI6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XFwnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcXCc+PGZpbHRlciBpZD1cXCdqc3RyZWUtZ3JheXNjYWxlXFwnPjxmZUNvbG9yTWF0cml4IHR5cGU9XFwnbWF0cml4XFwnIHZhbHVlcz1cXCcwLjMzMzMgMC4zMzMzIDAuMzMzMyAwIDAgMC4zMzMzIDAuMzMzMyAwLjMzMzMgMCAwIDAuMzMzMyAwLjMzMzMgMC4zMzMzIDAgMCAwIDAgMCAxIDBcXCcvPjwvZmlsdGVyPjwvc3ZnPiNqc3RyZWUtZ3JheXNjYWxlXCIpO1xuICAvKiBGaXJlZm94IDEwKyAqL1xuICBmaWx0ZXI6IGdyYXk7XG4gIC8qIElFNi05ICovXG4gIC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XG4gIC8qIENocm9tZSAxOSsgJiBTYWZhcmkgNisgKi9cbn1cbi5qc3RyZWUtZGVmYXVsdC1sYXJnZSA+IC5qc3RyZWUtc3RyaXBlZCB7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0byA2NHB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlLmpzdHJlZS1ydGwgLmpzdHJlZS1ub2RlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCZ0FBQUFDQVFNQUFBQjQ5STVHQUFBQUJsQk1WRVVBQUFBZEhSdkVrQ3djQUFBQUFYUlNUbE1BUU9iWVpnQUFBQXhKUkVGVUNOZGpBQU1PQmdBQUdBQUpNd1FIZFFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMXB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UuanN0cmVlLXJ0bCAuanN0cmVlLWxhc3Qge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1sYXJnZS5qc3RyZWUtcnRsIC5qc3RyZWUtb3BlbiA+IC5qc3RyZWUtb2NsIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0zMnB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlLmpzdHJlZS1ydGwgLmpzdHJlZS1jbG9zZWQgPiAuanN0cmVlLW9jbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0zMnB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlLmpzdHJlZS1ydGwgLmpzdHJlZS1sZWFmID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMzJweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1sYXJnZS5qc3RyZWUtcnRsID4gLmpzdHJlZS1uby1kb3RzIC5qc3RyZWUtbm9kZSxcbi5qc3RyZWUtZGVmYXVsdC1sYXJnZS5qc3RyZWUtcnRsID4gLmpzdHJlZS1uby1kb3RzIC5qc3RyZWUtbGVhZiA+IC5qc3RyZWUtb2NsIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UuanN0cmVlLXJ0bCA+IC5qc3RyZWUtbm8tZG90cyAuanN0cmVlLW9wZW4gPiAuanN0cmVlLW9jbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0zMnB4O1xufVxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlLmpzdHJlZS1ydGwgPiAuanN0cmVlLW5vLWRvdHMgLmpzdHJlZS1jbG9zZWQgPiAuanN0cmVlLW9jbCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMzJweDtcbn1cbi5qc3RyZWUtZGVmYXVsdC1sYXJnZSAuanN0cmVlLXRoZW1laWNvbi1jdXN0b20ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xufVxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlID4gLmpzdHJlZS1jb250YWluZXItdWwgLmpzdHJlZS1sb2FkaW5nID4gLmpzdHJlZS1vY2wge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJ0aHJvYmJlci5naWZcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UgLmpzdHJlZS1maWxlIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiMzJweC5wbmdcIikgLTk2cHggLTY0cHggbm8tcmVwZWF0O1xufVxuLmpzdHJlZS1kZWZhdWx0LWxhcmdlIC5qc3RyZWUtZm9sZGVyIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiMzJweC5wbmdcIikgLTI1NnB4IDBweCBuby1yZXBlYXQ7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UgPiAuanN0cmVlLWNvbnRhaW5lci11bCA+IC5qc3RyZWUtbm9kZSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4janN0cmVlLWRuZC5qc3RyZWUtZGVmYXVsdC1sYXJnZSB7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICBwYWRkaW5nOiAwIDRweDtcbn1cbiNqc3RyZWUtZG5kLmpzdHJlZS1kZWZhdWx0LWxhcmdlIC5qc3RyZWUtb2ssXG4janN0cmVlLWRuZC5qc3RyZWUtZGVmYXVsdC1sYXJnZSAuanN0cmVlLWVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiMzJweC5wbmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuI2pzdHJlZS1kbmQuanN0cmVlLWRlZmF1bHQtbGFyZ2UgaSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBsaW5lLWhlaWdodDogMzJweDtcbn1cbiNqc3RyZWUtZG5kLmpzdHJlZS1kZWZhdWx0LWxhcmdlIC5qc3RyZWUtb2sge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTY0cHg7XG59XG4janN0cmVlLWRuZC5qc3RyZWUtZGVmYXVsdC1sYXJnZSAuanN0cmVlLWVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTY0cHg7XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UgLmpzdHJlZS1lbGxpcHNpcyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UgLmpzdHJlZS1lbGxpcHNpcyAuanN0cmVlLWFuY2hvciB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzN3B4KTtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uanN0cmVlLWRlZmF1bHQtbGFyZ2UuanN0cmVlLXJ0bCAuanN0cmVlLW5vZGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQUNBUU1BQUFBRDBFeUtBQUFBQmxCTVZFVUFBQUFkSFJ2RWtDd2NBQUFBQVhSU1RsTUFRT2JZWmdBQUFBeEpSRUZVQ05kamdJSUdCZ0FCQ2dDQnZWTFhjQUFBQUFCSlJVNUVya0pnZ2c9PVwiKTtcbn1cbi5qc3RyZWUtZGVmYXVsdC1sYXJnZS5qc3RyZWUtcnRsIC5qc3RyZWUtbGFzdCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNqc3RyZWUtZG5kLmpzdHJlZS1kbmQtcmVzcG9uc2l2ZSB7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCB3aGl0ZTtcbiAgfVxuICAjanN0cmVlLWRuZC5qc3RyZWUtZG5kLXJlc3BvbnNpdmUgPiBpIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gIH1cbiAgI2pzdHJlZS1kbmQuanN0cmVlLWRuZC1yZXNwb25zaXZlID4gLmpzdHJlZS1vayB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiNDBweC5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjAwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMjBweCAyNDBweDtcbiAgfVxuICAjanN0cmVlLWRuZC5qc3RyZWUtZG5kLXJlc3BvbnNpdmUgPiAuanN0cmVlLWVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCI0MHB4LnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMjAwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMjBweCAyNDBweDtcbiAgfVxuICAjanN0cmVlLW1hcmtlci5qc3RyZWUtZG5kLXJlc3BvbnNpdmUge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxMHB4O1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDEwcHg7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTBweDtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIHtcbiAgICAvKlxuXHQuanN0cmVlLW9wZW4gPiAuanN0cmVlLW9jbCxcblx0LmpzdHJlZS1jbG9zZWQgPiAuanN0cmVlLW9jbCB7IGJvcmRlci1yYWRpdXM6MjBweDsgYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTsgfVxuXHQqL1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiNDBweC5wbmdcIik7XG4gIH1cbiAgLmpzdHJlZS1kZWZhdWx0LXJlc3BvbnNpdmUgLmpzdHJlZS1ub2RlLFxuICAuanN0cmVlLWRlZmF1bHQtcmVzcG9uc2l2ZSAuanN0cmVlLWxlYWYgPiAuanN0cmVlLW9jbCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLmpzdHJlZS1kZWZhdWx0LXJlc3BvbnNpdmUgLmpzdHJlZS1ub2RlIHtcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgIG1pbi13aWR0aDogNDBweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtYW5jaG9yIHtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gIH1cbiAgLmpzdHJlZS1kZWZhdWx0LXJlc3BvbnNpdmUgLmpzdHJlZS1pY29uLFxuICAuanN0cmVlLWRlZmF1bHQtcmVzcG9uc2l2ZSAuanN0cmVlLWljb246ZW1wdHkge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgfVxuICAuanN0cmVlLWRlZmF1bHQtcmVzcG9uc2l2ZSA+IC5qc3RyZWUtY29udGFpbmVyLXVsID4gLmpzdHJlZS1ub2RlIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAuanN0cmVlLWRlZmF1bHQtcmVzcG9uc2l2ZS5qc3RyZWUtcnRsIC5qc3RyZWUtbm9kZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlLmpzdHJlZS1ydGwgLmpzdHJlZS1jb250YWluZXItdWwgPiAuanN0cmVlLW5vZGUge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAuanN0cmVlLWRlZmF1bHQtcmVzcG9uc2l2ZSAuanN0cmVlLW9jbCxcbiAgLmpzdHJlZS1kZWZhdWx0LXJlc3BvbnNpdmUgLmpzdHJlZS10aGVtZWljb24sXG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtY2hlY2tib3gge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTIwcHggMjQwcHg7XG4gIH1cbiAgLmpzdHJlZS1kZWZhdWx0LXJlc3BvbnNpdmUgLmpzdHJlZS1sZWFmID4gLmpzdHJlZS1vY2wsXG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlLmpzdHJlZS1ydGwgLmpzdHJlZS1sZWFmID4gLmpzdHJlZS1vY2wge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtb3BlbiA+IC5qc3RyZWUtb2NsIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAgIWltcG9ydGFudDtcbiAgfVxuICAuanN0cmVlLWRlZmF1bHQtcmVzcG9uc2l2ZSAuanN0cmVlLWNsb3NlZCA+IC5qc3RyZWUtb2NsIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmpzdHJlZS1kZWZhdWx0LXJlc3BvbnNpdmUuanN0cmVlLXJ0bCAuanN0cmVlLWNsb3NlZCA+IC5qc3RyZWUtb2NsIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmpzdHJlZS1kZWZhdWx0LXJlc3BvbnNpdmUgLmpzdHJlZS10aGVtZWljb24ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC00MHB4O1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtY2hlY2tib3gsXG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtY2hlY2tib3g6aG92ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC04MHB4O1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlLmpzdHJlZS1jaGVja2JveC1zZWxlY3Rpb24gLmpzdHJlZS1jbGlja2VkID4gLmpzdHJlZS1jaGVja2JveCxcbiAgLmpzdHJlZS1kZWZhdWx0LXJlc3BvbnNpdmUuanN0cmVlLWNoZWNrYm94LXNlbGVjdGlvbiAuanN0cmVlLWNsaWNrZWQgPiAuanN0cmVlLWNoZWNrYm94OmhvdmVyLFxuICAuanN0cmVlLWRlZmF1bHQtcmVzcG9uc2l2ZSAuanN0cmVlLWNoZWNrZWQgPiAuanN0cmVlLWNoZWNrYm94LFxuICAuanN0cmVlLWRlZmF1bHQtcmVzcG9uc2l2ZSAuanN0cmVlLWNoZWNrZWQgPiAuanN0cmVlLWNoZWNrYm94OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC04MHB4O1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtYW5jaG9yID4gLmpzdHJlZS11bmRldGVybWluZWQsXG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtYW5jaG9yID4gLmpzdHJlZS11bmRldGVybWluZWQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyMHB4O1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtYW5jaG9yIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDEuMWVtO1xuICAgIHRleHQtc2hhZG93OiAxcHggMXB4IHdoaXRlO1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlID4gLmpzdHJlZS1zdHJpcGVkIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuICAuanN0cmVlLWRlZmF1bHQtcmVzcG9uc2l2ZSAuanN0cmVlLXdob2xlcm93IHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDY0LCA2NCwgNjQsIDAuMik7XG4gICAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gIH1cbiAgLmpzdHJlZS1kZWZhdWx0LXJlc3BvbnNpdmUgLmpzdHJlZS13aG9sZXJvdy1ob3ZlcmVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTdmNGY5O1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtd2hvbGVyb3ctY2xpY2tlZCB7XG4gICAgYmFja2dyb3VuZDogI2JlZWJmZjtcbiAgfVxuICAuanN0cmVlLWRlZmF1bHQtcmVzcG9uc2l2ZSAuanN0cmVlLWNoaWxkcmVuIC5qc3RyZWUtbGFzdCA+IC5qc3RyZWUtd2hvbGVyb3cge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTZweCAzcHggLTVweCAjNjY2NjY2O1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtY2hpbGRyZW4gLmpzdHJlZS1vcGVuID4gLmpzdHJlZS13aG9sZXJvdyB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCA2cHggM3B4IC01cHggIzY2NjY2NjtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtY2hpbGRyZW4gLmpzdHJlZS1vcGVuICsgLmpzdHJlZS1vcGVuIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtbm9kZSxcbiAgLmpzdHJlZS1kZWZhdWx0LXJlc3BvbnNpdmUgLmpzdHJlZS1pY29uLFxuICAuanN0cmVlLWRlZmF1bHQtcmVzcG9uc2l2ZSAuanN0cmVlLW5vZGUgPiAuanN0cmVlLW9jbCxcbiAgLmpzdHJlZS1kZWZhdWx0LXJlc3BvbnNpdmUgLmpzdHJlZS10aGVtZWljb24sXG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtY2hlY2tib3gge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIjQwcHgucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTIwcHggMjQwcHg7XG4gIH1cbiAgLmpzdHJlZS1kZWZhdWx0LXJlc3BvbnNpdmUgLmpzdHJlZS1ub2RlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAwO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTtcbiAgfVxuICAuanN0cmVlLWRlZmF1bHQtcmVzcG9uc2l2ZSAuanN0cmVlLWxhc3Qge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtbGVhZiA+IC5qc3RyZWUtb2NsIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTIwcHg7XG4gIH1cbiAgLmpzdHJlZS1kZWZhdWx0LXJlc3BvbnNpdmUgLmpzdHJlZS1sYXN0ID4gLmpzdHJlZS1vY2wge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC0xNjBweDtcbiAgfVxuICAuanN0cmVlLWRlZmF1bHQtcmVzcG9uc2l2ZSAuanN0cmVlLXRoZW1laWNvbi1jdXN0b20ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlIC5qc3RyZWUtZmlsZSB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiNDBweC5wbmdcIikgMCAtMTYwcHggbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTIwcHggMjQwcHg7XG4gIH1cbiAgLmpzdHJlZS1kZWZhdWx0LXJlc3BvbnNpdmUgLmpzdHJlZS1mb2xkZXIge1xuICAgIGJhY2tncm91bmQ6IHVybChcIjQwcHgucG5nXCIpIC00MHB4IC00MHB4IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEyMHB4IDI0MHB4O1xuICB9XG4gIC5qc3RyZWUtZGVmYXVsdC1yZXNwb25zaXZlID4gLmpzdHJlZS1jb250YWluZXItdWwgPiAuanN0cmVlLW5vZGUge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuIiwiLypcclxuICogVGhpcyBjb21iaW5lZCBmaWxlIHdhcyBjcmVhdGVkIGJ5IHRoZSBEYXRhVGFibGVzIGRvd25sb2FkZXIgYnVpbGRlcjpcclxuICogICBodHRwczovL2RhdGF0YWJsZXMubmV0L2Rvd25sb2FkXHJcbiAqXHJcbiAqIFRvIHJlYnVpbGQgb3IgbW9kaWZ5IHRoaXMgZmlsZSB3aXRoIHRoZSBsYXRlc3QgdmVyc2lvbnMgb2YgdGhlIGluY2x1ZGVkXHJcbiAqIHNvZnR3YXJlIHBsZWFzZSB2aXNpdDpcclxuICogICBodHRwczovL2RhdGF0YWJsZXMubmV0L2Rvd25sb2FkLyNkdC9kdC0xLjEwLjIyXHJcbiAqXHJcbiAqIEluY2x1ZGVkIGxpYnJhcmllczpcclxuICogIERhdGFUYWJsZXMgMS4xMC4yMlxyXG4gKi9cclxuXHJcbnRhYmxlLmRhdGFUYWJsZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xyXG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XHJcbiAgICBmb250LXNpemU6IC44NzVyZW07XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgdGgsXHJcbnRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0aCB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMTExO1xyXG4gICAgZm9udC1zaXplOiAuODc1cmVtO1xyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgdGg6YWN0aXZlLFxyXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgdGQ6YWN0aXZlIHtcclxuICAgIG91dGxpbmU6IG5vbmVcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nLFxyXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjLFxyXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfZGVzYyxcclxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2FzY19kaXNhYmxlZCxcclxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2Rlc2NfZGlzYWJsZWQge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgKmN1cnNvcjogaGFuZDtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHRcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9EYXRhVGFibGVzLTEuMTAuMjIvaW1hZ2VzL3NvcnRfYm90aC5wbmdcIilcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2FzYyB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvRGF0YVRhYmxlcy0xLjEwLjIyL2ltYWdlcy9zb3J0X2FzYy5wbmdcIilcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2Rlc2Mge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL0RhdGFUYWJsZXMtMS4xMC4yMi9pbWFnZXMvc29ydF9kZXNjLnBuZ1wiKVxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjX2Rpc2FibGVkIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9EYXRhVGFibGVzLTEuMTAuMjIvaW1hZ2VzL3NvcnRfYXNjX2Rpc2FibGVkLnBuZ1wiKVxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfZGVzY19kaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvRGF0YVRhYmxlcy0xLjEwLjIyL2ltYWdlcy9zb3J0X2Rlc2NfZGlzYWJsZWQucG5nXCIpXHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0ciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmXHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0ci5zZWxlY3RlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjBCRUQ5XHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0aCxcclxudGFibGUuZGF0YVRhYmxlIHRib2R5IHRkIHtcclxuICAgIHBhZGRpbmc6IDdweCA4cHg7XHJcbiAgICBoZWlnaHQ6IDE1cHggIWltcG9ydGFudDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLnJvdy1ib3JkZXIgdGJvZHkgdGgsXHJcbnRhYmxlLmRhdGFUYWJsZS5yb3ctYm9yZGVyIHRib2R5IHRkLFxyXG50YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0aCxcclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdGQge1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGRcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLnJvdy1ib3JkZXIgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGgsXHJcbnRhYmxlLmRhdGFUYWJsZS5yb3ctYm9yZGVyIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRkLFxyXG50YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0aCxcclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQge1xyXG4gICAgYm9yZGVyLXRvcDogbm9uZVxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUuY2VsbC1ib3JkZXIgdGJvZHkgdGgsXHJcbnRhYmxlLmRhdGFUYWJsZS5jZWxsLWJvcmRlciB0Ym9keSB0ZCB7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcclxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZGRcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmNlbGwtYm9yZGVyIHRib2R5IHRyIHRoOmZpcnN0LWNoaWxkLFxyXG50YWJsZS5kYXRhVGFibGUuY2VsbC1ib3JkZXIgdGJvZHkgdHIgdGQ6Zmlyc3QtY2hpbGQge1xyXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGRkXHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZS5jZWxsLWJvcmRlciB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0aCxcclxudGFibGUuZGF0YVRhYmxlLmNlbGwtYm9yZGVyIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRkIHtcclxuICAgIGJvcmRlci10b3A6IG5vbmVcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLnN0cmlwZSB0Ym9keSB0ci5vZGQsXHJcbnRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLm9kZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkXHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZS5zdHJpcGUgdGJvZHkgdHIub2RkLnNlbGVjdGVkLFxyXG50YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5vZGQuc2VsZWN0ZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FjYmFkNFxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUuaG92ZXIgdGJvZHkgdHI6aG92ZXIsXHJcbnRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjZcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyLnNlbGVjdGVkLFxyXG50YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0cjpob3Zlci5zZWxlY3RlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFiN2QxXHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4gdGJvZHkgdHI+LnNvcnRpbmdfMSxcclxudGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbiB0Ym9keSB0cj4uc29ydGluZ18yLFxyXG50YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uIHRib2R5IHRyPi5zb3J0aW5nXzMsXHJcbnRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyPi5zb3J0aW5nXzEsXHJcbnRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyPi5zb3J0aW5nXzIsXHJcbnRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyPi5zb3J0aW5nXzMge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JiYlxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uIHRib2R5IHRyLnNlbGVjdGVkPi5zb3J0aW5nXzEsXHJcbnRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4gdGJvZHkgdHIuc2VsZWN0ZWQ+LnNvcnRpbmdfMixcclxudGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbiB0Ym9keSB0ci5zZWxlY3RlZD4uc29ydGluZ18zLFxyXG50YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5zZWxlY3RlZD4uc29ydGluZ18xLFxyXG50YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5zZWxlY3RlZD4uc29ydGluZ18yLFxyXG50YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5zZWxlY3RlZD4uc29ydGluZ18zIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNhY2JhZDVcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIub2RkPi5zb3J0aW5nXzEsXHJcbnRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlIHRib2R5IHRyLm9kZD4uc29ydGluZ18xIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiYmJcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIub2RkPi5zb3J0aW5nXzIsXHJcbnRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlIHRib2R5IHRyLm9kZD4uc29ydGluZ18yIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiYmJcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIub2RkPi5zb3J0aW5nXzMsXHJcbnRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlIHRib2R5IHRyLm9kZD4uc29ydGluZ18zIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlc21va2VcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIub2RkLnNlbGVjdGVkPi5zb3J0aW5nXzEsXHJcbnRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlIHRib2R5IHRyLm9kZC5zZWxlY3RlZD4uc29ydGluZ18xIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNhNmI0Y2RcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIub2RkLnNlbGVjdGVkPi5zb3J0aW5nXzIsXHJcbnRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlIHRib2R5IHRyLm9kZC5zZWxlY3RlZD4uc29ydGluZ18yIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNhOGI1Y2ZcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIub2RkLnNlbGVjdGVkPi5zb3J0aW5nXzMsXHJcbnRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlIHRib2R5IHRyLm9kZC5zZWxlY3RlZD4uc29ydGluZ18zIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNhOWI3ZDFcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIuZXZlbj4uc29ydGluZ18xLFxyXG50YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLnN0cmlwZSB0Ym9keSB0ci5ldmVuPi5zb3J0aW5nXzEge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JiYlxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5ldmVuPi5zb3J0aW5nXzIsXHJcbnRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlIHRib2R5IHRyLmV2ZW4+LnNvcnRpbmdfMiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmJiXHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLmV2ZW4+LnNvcnRpbmdfMyxcclxudGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5zdHJpcGUgdGJvZHkgdHIuZXZlbj4uc29ydGluZ18zIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmVcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIuZXZlbi5zZWxlY3RlZD4uc29ydGluZ18xLFxyXG50YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLnN0cmlwZSB0Ym9keSB0ci5ldmVuLnNlbGVjdGVkPi5zb3J0aW5nXzEge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FjYmFkNVxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5ldmVuLnNlbGVjdGVkPi5zb3J0aW5nXzIsXHJcbnRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlIHRib2R5IHRyLmV2ZW4uc2VsZWN0ZWQ+LnNvcnRpbmdfMiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWViY2Q2XHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLmV2ZW4uc2VsZWN0ZWQ+LnNvcnRpbmdfMyxcclxudGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5zdHJpcGUgdGJvZHkgdHIuZXZlbi5zZWxlY3RlZD4uc29ydGluZ18zIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNhZmJkZDhcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6aG92ZXI+LnNvcnRpbmdfMSxcclxudGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5ob3ZlciB0Ym9keSB0cjpob3Zlcj4uc29ydGluZ18xIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWVhZWFcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6aG92ZXI+LnNvcnRpbmdfMixcclxudGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5ob3ZlciB0Ym9keSB0cjpob3Zlcj4uc29ydGluZ18yIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWNcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6aG92ZXI+LnNvcnRpbmdfMyxcclxudGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5ob3ZlciB0Ym9keSB0cjpob3Zlcj4uc29ydGluZ18zIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWZcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6aG92ZXIuc2VsZWN0ZWQ+LnNvcnRpbmdfMSxcclxudGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5ob3ZlciB0Ym9keSB0cjpob3Zlci5zZWxlY3RlZD4uc29ydGluZ18xIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNhMmFlYzdcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6aG92ZXIuc2VsZWN0ZWQ+LnNvcnRpbmdfMixcclxudGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5ob3ZlciB0Ym9keSB0cjpob3Zlci5zZWxlY3RlZD4uc29ydGluZ18yIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNhM2IwYzlcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6aG92ZXIuc2VsZWN0ZWQ+LnNvcnRpbmdfMyxcclxudGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5ob3ZlciB0Ym9keSB0cjpob3Zlci5zZWxlY3RlZD4uc29ydGluZ18zIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNhNWIyY2JcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLm5vLWZvb3RlciB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzExMVxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUubm93cmFwIHRoLFxyXG50YWJsZS5kYXRhVGFibGUubm93cmFwIHRkIHtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXBcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmNvbXBhY3QgdGhlYWQgdGgsXHJcbnRhYmxlLmRhdGFUYWJsZS5jb21wYWN0IHRoZWFkIHRkIHtcclxuICAgIHBhZGRpbmc6IDRweCAxN3B4XHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZS5jb21wYWN0IHRmb290IHRoLFxyXG50YWJsZS5kYXRhVGFibGUuY29tcGFjdCB0Zm9vdCB0ZCB7XHJcbiAgICBwYWRkaW5nOiA0cHhcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlLmNvbXBhY3QgdGJvZHkgdGgsXHJcbnRhYmxlLmRhdGFUYWJsZS5jb21wYWN0IHRib2R5IHRkIHtcclxuICAgIHBhZGRpbmc6IDRweFxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUgdGguZHQtbGVmdCxcclxudGFibGUuZGF0YVRhYmxlIHRkLmR0LWxlZnQge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdFxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUgdGguZHQtY2VudGVyLFxyXG50YWJsZS5kYXRhVGFibGUgdGQuZHQtY2VudGVyLFxyXG50YWJsZS5kYXRhVGFibGUgdGQuZGF0YVRhYmxlc19lbXB0eSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXJcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlIHRoLmR0LXJpZ2h0LFxyXG50YWJsZS5kYXRhVGFibGUgdGQuZHQtcmlnaHQge1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHRcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlIHRoLmR0LWp1c3RpZnksXHJcbnRhYmxlLmRhdGFUYWJsZSB0ZC5kdC1qdXN0aWZ5IHtcclxuICAgIHRleHQtYWxpZ246IGp1c3RpZnlcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlIHRoLmR0LW5vd3JhcCxcclxudGFibGUuZGF0YVRhYmxlIHRkLmR0LW5vd3JhcCB7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwXHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0aC5kdC1oZWFkLWxlZnQsXHJcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0ZC5kdC1oZWFkLWxlZnQsXHJcbnRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0aC5kdC1oZWFkLWxlZnQsXHJcbnRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0ZC5kdC1oZWFkLWxlZnQge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdFxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgdGguZHQtaGVhZC1jZW50ZXIsXHJcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0ZC5kdC1oZWFkLWNlbnRlcixcclxudGFibGUuZGF0YVRhYmxlIHRmb290IHRoLmR0LWhlYWQtY2VudGVyLFxyXG50YWJsZS5kYXRhVGFibGUgdGZvb3QgdGQuZHQtaGVhZC1jZW50ZXIge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyXHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0aC5kdC1oZWFkLXJpZ2h0LFxyXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgdGQuZHQtaGVhZC1yaWdodCxcclxudGFibGUuZGF0YVRhYmxlIHRmb290IHRoLmR0LWhlYWQtcmlnaHQsXHJcbnRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0ZC5kdC1oZWFkLXJpZ2h0IHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0XHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0aC5kdC1oZWFkLWp1c3RpZnksXHJcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0ZC5kdC1oZWFkLWp1c3RpZnksXHJcbnRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0aC5kdC1oZWFkLWp1c3RpZnksXHJcbnRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0ZC5kdC1oZWFkLWp1c3RpZnkge1xyXG4gICAgdGV4dC1hbGlnbjoganVzdGlmeVxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgdGguZHQtaGVhZC1ub3dyYXAsXHJcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0ZC5kdC1oZWFkLW5vd3JhcCxcclxudGFibGUuZGF0YVRhYmxlIHRmb290IHRoLmR0LWhlYWQtbm93cmFwLFxyXG50YWJsZS5kYXRhVGFibGUgdGZvb3QgdGQuZHQtaGVhZC1ub3dyYXAge1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcFxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdGguZHQtYm9keS1sZWZ0LFxyXG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQuZHQtYm9keS1sZWZ0IHtcclxuICAgIHRleHQtYWxpZ246IGxlZnRcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlIHRib2R5IHRoLmR0LWJvZHktY2VudGVyLFxyXG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQuZHQtYm9keS1jZW50ZXIge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyXHJcbn1cclxuXHJcbnRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0aC5kdC1ib2R5LXJpZ2h0LFxyXG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQuZHQtYm9keS1yaWdodCB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodFxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdGguZHQtYm9keS1qdXN0aWZ5LFxyXG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQuZHQtYm9keS1qdXN0aWZ5IHtcclxuICAgIHRleHQtYWxpZ246IGp1c3RpZnlcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlIHRib2R5IHRoLmR0LWJvZHktbm93cmFwLFxyXG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQuZHQtYm9keS1ub3dyYXAge1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcFxyXG59XHJcblxyXG50YWJsZS5kYXRhVGFibGUsXHJcbnRhYmxlLmRhdGFUYWJsZSB0aCxcclxudGFibGUuZGF0YVRhYmxlIHRkIHtcclxuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94XHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICAqem9vbTogMTtcclxuICAgIHpvb206IDFcclxufVxyXG5cclxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19sZW5ndGgge1xyXG4gICAgZmxvYXQ6IGxlZnRcclxufVxyXG5cclxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19sZW5ndGggc2VsZWN0IHtcclxuXHR3aWR0aDogNzVweDtcclxuXHRtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX2ZpbHRlciB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodFxyXG59XHJcblxyXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX2ZpbHRlciBpbnB1dCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgcGFkZGluZzogNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBtYXJnaW4tbGVmdDogM3B4XHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfaW5mbyB7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZy10b3A6IDAuNzU1ZW1cclxufVxyXG5cclxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wYWdpbmF0ZSB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIHBhZGRpbmctdG9wOiAwLjI1ZW1cclxufVxyXG5cclxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wYWdpbmF0ZSAucGFnaW5hdGVfYnV0dG9uIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtaW4td2lkdGg6IDFlbTtcclxuICAgIHBhZGRpbmc6IDAuMjVlbSAuNzVlbTtcclxuICAgIG1hcmdpbi1sZWZ0OiAycHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICpjdXJzb3I6IGhhbmQ7XHJcbiAgICBjb2xvcjogIzMzMyAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbi5jdXJyZW50LFxyXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIC5wYWdpbmF0ZV9idXR0b24uY3VycmVudDpob3ZlciB7XHJcbiAgICBjb2xvcjogIzMzMyAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk3OTc5NztcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgI2ZmZiksIGNvbG9yLXN0b3AoMTAwJSwgI2RjZGNkYykpO1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmIDAlLCAjZGNkY2RjIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmIDAlLCAjZGNkY2RjIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYgMCUsICNkY2RjZGMgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmIDAlLCAjZGNkY2RjIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZmZiAwJSwgI2RjZGNkYyAxMDAlKVxyXG59XHJcblxyXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIC5wYWdpbmF0ZV9idXR0b24uZGlzYWJsZWQsXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbi5kaXNhYmxlZDpob3ZlcixcclxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wYWdpbmF0ZSAucGFnaW5hdGVfYnV0dG9uLmRpc2FibGVkOmFjdGl2ZSB7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICBjb2xvcjogIzY2NiAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGJveC1zaGFkb3c6IG5vbmVcclxufVxyXG5cclxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wYWdpbmF0ZSAucGFnaW5hdGVfYnV0dG9uOmhvdmVyIHtcclxuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzExMTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCAjZmZmKSwgY29sb3Itc3RvcCgxMDAlLCAjZGNkY2RjKSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYgMCUsICNkY2RjZGMgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYgMCUsICNkY2RjZGMgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZiAwJSwgI2RjZGNkYyAxMDAlKTtcclxuICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYgMCUsICNkY2RjZGMgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmZmIDAlLCAjZGNkY2RjIDEwMCUpXHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbjphY3RpdmUge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyYjJiMmI7XHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCAjMmIyYjJiKSwgY29sb3Itc3RvcCgxMDAlLCAjMGMwYzBjKSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICMyYjJiMmIgMCUsICMwYzBjMGMgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICMyYjJiMmIgMCUsICMwYzBjMGMgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgIzJiMmIyYiAwJSwgIzBjMGMwYyAxMDAlKTtcclxuICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICMyYjJiMmIgMCUsICMwYzBjMGMgMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMmIyYjJiIDAlLCAjMGMwYzBjIDEwMCUpO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCAjMTExXHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLmVsbGlwc2lzIHtcclxuICAgIHBhZGRpbmc6IDAgMWVtXHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcHJvY2Vzc2luZyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IDE4MHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IC01MCU7XHJcbiAgICBtYXJnaW4tdG9wOiAtMjVweDtcclxuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiAxLjJlbTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX2xlbmd0aCxcclxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19maWx0ZXIsXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfaW5mbyxcclxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wcm9jZXNzaW5nLFxyXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIHtcclxuICAgIGNvbG9yOiAjMzMzXHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfc2Nyb2xsIHtcclxuICAgIGNsZWFyOiBib3RoXHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfc2Nyb2xsIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkge1xyXG4gICAgKm1hcmdpbi10b3A6IC0xcHg7XHJcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2hcclxufVxyXG5cclxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19zY3JvbGwgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keT50YWJsZT50aGVhZD50cj50aCxcclxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19zY3JvbGwgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keT50YWJsZT50aGVhZD50cj50ZCxcclxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19zY3JvbGwgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keT50YWJsZT50Ym9keT50cj50aCxcclxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19zY3JvbGwgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keT50YWJsZT50Ym9keT50cj50ZCB7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlXHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfc2Nyb2xsIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHk+dGFibGU+dGhlYWQ+dHI+dGg+ZGl2LmRhdGFUYWJsZXNfc2l6aW5nLFxyXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3Njcm9sbCBkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5PnRhYmxlPnRoZWFkPnRyPnRkPmRpdi5kYXRhVGFibGVzX3NpemluZyxcclxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19zY3JvbGwgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keT50YWJsZT50Ym9keT50cj50aD5kaXYuZGF0YVRhYmxlc19zaXppbmcsXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfc2Nyb2xsIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHk+dGFibGU+dGJvZHk+dHI+dGQ+ZGl2LmRhdGFUYWJsZXNfc2l6aW5nIHtcclxuICAgIGhlaWdodDogMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudFxyXG59XHJcblxyXG4uZGF0YVRhYmxlc193cmFwcGVyLm5vLWZvb3RlciAuZGF0YVRhYmxlc19zY3JvbGxCb2R5IHtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMTExXHJcbn1cclxuXHJcbi5kYXRhVGFibGVzX3dyYXBwZXIubm8tZm9vdGVyIGRpdi5kYXRhVGFibGVzX3Njcm9sbEhlYWQgdGFibGUuZGF0YVRhYmxlLFxyXG4uZGF0YVRhYmxlc193cmFwcGVyLm5vLWZvb3RlciBkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5PnRhYmxlIHtcclxuICAgIGJvcmRlci1ib3R0b206IG5vbmVcclxufVxyXG5cclxuLmRhdGFUYWJsZXNfd3JhcHBlcjphZnRlciB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICAgIGhlaWdodDogMFxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19pbmZvLFxyXG4gICAgLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wYWdpbmF0ZSB7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyXHJcbiAgICB9XHJcbiAgICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwLjVlbVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xyXG4gICAgLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19sZW5ndGgsXHJcbiAgICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX2ZpbHRlciB7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyXHJcbiAgICB9XHJcbiAgICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX2ZpbHRlciB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMC41ZW1cclxuICAgIH1cclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlIHRoZWFkIHRoIHNlbGVjdCB7XHJcbiAgICB3aWR0aDogOTAlO1xyXG4gICAgaGVpZ2h0OiAxLjI1cmVtO1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgcGFkZGluZzogMXB4O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMXB4IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxufVxyXG5cclxudGFibGUuZGF0YVRhYmxlIHRoZWFkIHRoIGlucHV0IHtcclxuICAgIHdpZHRoOiA5MCU7XHJcbiAgICBoZWlnaHQ6IDEuMjVyZW07XHJcbiAgICBmb250LXNpemU6IDFlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBwYWRkaW5nOiAycHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbn0iLCJ0YWJsZS5kYXRhVGFibGUge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luOiAwLjVlbSAwICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJTtcbn1cbnRhYmxlLmRhdGFUYWJsZSB0ZCxcbnRhYmxlLmRhdGFUYWJsZSB0aCB7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxudGFibGUuZGF0YVRhYmxlIHRkLmRhdGFUYWJsZXNfZW1wdHksXG50YWJsZS5kYXRhVGFibGUgdGguZGF0YVRhYmxlc19lbXB0eSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbnRhYmxlLmRhdGFUYWJsZS5ub3dyYXAgdGgsIHRhYmxlLmRhdGFUYWJsZS5ub3dyYXAgdGQge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5kaXYuZGF0YVRhYmxlc193cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuZGl2LmRhdGFUYWJsZXNfd3JhcHBlciBkaXYuZGF0YVRhYmxlc19sZW5ndGggbGFiZWwge1xuICBmbG9hdDogbGVmdDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbmRpdi5kYXRhVGFibGVzX3dyYXBwZXIgZGl2LmRhdGFUYWJsZXNfbGVuZ3RoIHNlbGVjdCB7XG4gIHdpZHRoOiA3NXB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuZGl2LmRhdGFUYWJsZXNfd3JhcHBlciBkaXYuZGF0YVRhYmxlc19maWx0ZXIgbGFiZWwge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5kaXYuZGF0YVRhYmxlc193cmFwcGVyIGRpdi5kYXRhVGFibGVzX2ZpbHRlciBpbnB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG59XG5kaXYuZGF0YVRhYmxlc193cmFwcGVyIGRpdi5kYXRhVGFibGVzX2luZm8ge1xuICBwYWRkaW5nLXRvcDogMnB4O1xufVxuZGl2LmRhdGFUYWJsZXNfd3JhcHBlciBkaXYuZGF0YVRhYmxlc19wYWdpbmF0ZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAwO1xufVxuZGl2LmRhdGFUYWJsZXNfd3JhcHBlciBkaXYuZGF0YVRhYmxlc19wcm9jZXNzaW5nIHtcblx0Ym9yZGVyOiAuNHJlbSBzb2xpZCAjN2ZiYzQzO1xuXHRmb250LWZhbWlseTogXCJQbGF5XCIsQXJpYWwsc2Fucy1zZXJpZjtcblx0Zm9udC1zaXplOiAyNHB4O1xuXHRjb2xvcjogIzAxNGM5MDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMjAwcHg7XG5cdGhlaWdodDogODBweDtcbiAgbWFyZ2luLWxlZnQ6IC0xMDBweDtcbiAgbWFyZ2luLXRvcDogLTI2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMXJlbSAwO1xuXHRib3gtc2hhZG93OiAtNXB4IDVweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cblxudGFibGUuZGF0YVRhYmxlIHRoZWFkID4gdHIgPiB0aC5zb3J0aW5nX2FzYywgdGFibGUuZGF0YVRhYmxlIHRoZWFkID4gdHIgPiB0aC5zb3J0aW5nX2Rlc2MsIHRhYmxlLmRhdGFUYWJsZSB0aGVhZCA+IHRyID4gdGguc29ydGluZyxcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCA+IHRyID4gdGQuc29ydGluZ19hc2MsXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgPiB0ciA+IHRkLnNvcnRpbmdfZGVzYyxcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCA+IHRyID4gdGQuc29ydGluZyB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbn1cbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCA+IHRyID4gdGg6YWN0aXZlLFxudGFibGUuZGF0YVRhYmxlIHRoZWFkID4gdHIgPiB0ZDphY3RpdmUge1xuICBvdXRsaW5lOiBub25lO1xufVxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nLFxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2FzYyxcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCAuc29ydGluZ19kZXNjLFxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2FzY19kaXNhYmxlZCxcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCAuc29ydGluZ19kZXNjX2Rpc2FibGVkIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nLFxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2FzYyxcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCAuc29ydGluZ19kZXNjLFxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2FzY19kaXNhYmxlZCxcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCAuc29ydGluZ19kZXNjX2Rpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0O1xufVxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NvcnRfYm90aC5wbmdcIik7XG59XG50YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NvcnRfYXNjLnBuZ1wiKTtcbn1cbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCAuc29ydGluZ19kZXNjIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NvcnRfZGVzYy5wbmdcIik7XG59XG50YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjX2Rpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NvcnRfYXNjX2Rpc2FibGVkLnBuZ1wiKTtcbn1cbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCAuc29ydGluZ19kZXNjX2Rpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NvcnRfZGVzY19kaXNhYmxlZC5wbmdcIik7XG59XG5cbmRpdi5kYXRhVGFibGVzX3Njcm9sbEhlYWQgdGFibGUge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbmRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkgdGFibGUge1xuICBib3JkZXItdG9wOiBub25lO1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbmRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkgdGFibGUgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGgsXG5kaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5IHRhYmxlIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cblxuZGl2LmRhdGFUYWJsZXNfc2Nyb2xsRm9vdCB0YWJsZSB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cbiIsInRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCA+IHRib2R5ID4gdHIgPiB0ZC5jaGlsZCxcbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCA+IHRib2R5ID4gdHIgPiB0aC5jaGlsZCxcbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCA+IHRib2R5ID4gdHIgPiB0ZC5kYXRhVGFibGVzX2VtcHR5IHtcbiAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XG59XG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgPiB0Ym9keSA+IHRyID4gdGQuY2hpbGQ6YmVmb3JlLFxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0ciA+IHRoLmNoaWxkOmJlZm9yZSxcbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCA+IHRib2R5ID4gdHIgPiB0ZC5kYXRhVGFibGVzX2VtcHR5OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZCA+IHRib2R5ID4gdHJbcm9sZT1cInJvd1wiXSA+IHRkOmZpcnN0LWNoaWxkLFxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0cltyb2xlPVwicm93XCJdID4gdGg6Zmlyc3QtY2hpbGQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0cltyb2xlPVwicm93XCJdID4gdGQ6Zmlyc3QtY2hpbGQ6YmVmb3JlLFxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0cltyb2xlPVwicm93XCJdID4gdGg6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgdG9wOiA5cHg7XG4gIGxlZnQ6IDRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICB3aWR0aDogMTRweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgYm94LXNoYWRvdzogMCAwIDNweCAjNDQ0O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWluZGVudDogMCAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogJ0NvdXJpZXIgTmV3JywgQ291cmllciwgbW9ub3NwYWNlO1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgY29udGVudDogJysnO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4Y2JhO1xufVxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkID4gdGJvZHkgPiB0ci5wYXJlbnQgPiB0ZDpmaXJzdC1jaGlsZDpiZWZvcmUsXG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQgPiB0Ym9keSA+IHRyLnBhcmVudCA+IHRoOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICctJztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QzMzMzMztcbn1cbnRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZC5jb21wYWN0ID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLFxudGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkLmNvbXBhY3QgPiB0Ym9keSA+IHRyID4gdGg6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLWxlZnQ6IDI3cHg7XG59XG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQuY29tcGFjdCA+IHRib2R5ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZDpiZWZvcmUsXG50YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQuY29tcGFjdCA+IHRib2R5ID4gdHIgPiB0aDpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICB0b3A6IDVweDtcbiAgbGVmdDogNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIHdpZHRoOiAxNHB4O1xuICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgdGV4dC1pbmRlbnQ6IDNweDtcbn1cbnRhYmxlLmRhdGFUYWJsZS5kdHItY29sdW1uID4gdGJvZHkgPiB0ciA+IHRkLmNvbnRyb2wsXG50YWJsZS5kYXRhVGFibGUuZHRyLWNvbHVtbiA+IHRib2R5ID4gdHIgPiB0aC5jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG50YWJsZS5kYXRhVGFibGUuZHRyLWNvbHVtbiA+IHRib2R5ID4gdHIgPiB0ZC5jb250cm9sOmJlZm9yZSxcbnRhYmxlLmRhdGFUYWJsZS5kdHItY29sdW1uID4gdGJvZHkgPiB0ciA+IHRoLmNvbnRyb2w6YmVmb3JlIHtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgaGVpZ2h0OiAxNnB4O1xuICB3aWR0aDogMTZweDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgYm94LXNoYWRvdzogMCAwIDNweCAjNDQ0O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWluZGVudDogMCAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogJ0NvdXJpZXIgTmV3JywgQ291cmllciwgbW9ub3NwYWNlO1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgY29udGVudDogJysnO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4Y2JhO1xufVxudGFibGUuZGF0YVRhYmxlLmR0ci1jb2x1bW4gPiB0Ym9keSA+IHRyLnBhcmVudCB0ZC5jb250cm9sOmJlZm9yZSxcbnRhYmxlLmRhdGFUYWJsZS5kdHItY29sdW1uID4gdGJvZHkgPiB0ci5wYXJlbnQgdGguY29udHJvbDpiZWZvcmUge1xuICBjb250ZW50OiAnLSc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMzMzMzM7XG59XG50YWJsZS5kYXRhVGFibGUgPiB0Ym9keSA+IHRyLmNoaWxkIHtcbiAgcGFkZGluZzogMC41ZW0gMWVtO1xufVxudGFibGUuZGF0YVRhYmxlID4gdGJvZHkgPiB0ci5jaGlsZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG50YWJsZS5kYXRhVGFibGUgPiB0Ym9keSA+IHRyLmNoaWxkIHVsLmR0ci1kZXRhaWxzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbnRhYmxlLmRhdGFUYWJsZSA+IHRib2R5ID4gdHIuY2hpbGQgdWwuZHRyLWRldGFpbHMgPiBsaSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWZlZmVmO1xuICBwYWRkaW5nOiAwLjVlbSAwO1xufVxudGFibGUuZGF0YVRhYmxlID4gdGJvZHkgPiB0ci5jaGlsZCB1bC5kdHItZGV0YWlscyA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG50YWJsZS5kYXRhVGFibGUgPiB0Ym9keSA+IHRyLmNoaWxkIHVsLmR0ci1kZXRhaWxzID4gbGk6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG50YWJsZS5kYXRhVGFibGUgPiB0Ym9keSA+IHRyLmNoaWxkIHNwYW4uZHRyLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDc1cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5kaXYuZHRyLW1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDtcbiAgcGFkZGluZzogMTBlbSAxZW07XG59XG5kaXYuZHRyLW1vZGFsIGRpdi5kdHItbW9kYWwtZGlzcGxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNTAlO1xuICBoZWlnaHQ6IDUwJTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG1hcmdpbjogYXV0bztcbiAgei1pbmRleDogMTAyO1xuICBvdmVyZmxvdzogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNztcbiAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XG4gIGJvcmRlci1yYWRpdXM6IDAuNWVtO1xuICBib3gtc2hhZG93OiAwIDEycHggMzBweCByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG5kaXYuZHRyLW1vZGFsIGRpdi5kdHItbW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMWVtO1xufVxuZGl2LmR0ci1tb2RhbCBkaXYuZHRyLW1vZGFsLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDZweDtcbiAgcmlnaHQ6IDZweDtcbiAgd2lkdGg6IDIycHg7XG4gIGhlaWdodDogMjJweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VhZWFlYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMTI7XG59XG5kaXYuZHRyLW1vZGFsIGRpdi5kdHItbW9kYWwtY2xvc2U6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhO1xufVxuZGl2LmR0ci1tb2RhbCBkaXYuZHRyLW1vZGFsLWJhY2tncm91bmQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTAxO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIGRpdi5kdHItbW9kYWwgZGl2LmR0ci1tb2RhbC1kaXNwbGF5IHtcbiAgICB3aWR0aDogOTUlO1xuICB9XG59XG50YWJsZS5kYXRhVGFibGUgPiB0Ym9keSA+IHRyLmNoaWxkIHVsIHtcbiAgZm9udC1zaXplOiAxZW07XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1ub3JtYWxpemUoKSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvLyBEb2N1bWVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG5cbiAgaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgfVxuXG4gIC8vIFNlY3Rpb25zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgLy8gYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8vIEdyb3VwaW5nIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAvLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgICBoZWlnaHQ6IDA7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAgLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLy8gMVxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvLyAyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBjb2RlLFxuICBrYmQsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgLy8gYWxsIGJyb3dzZXJzLlxuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLy8gRW1iZWRkZWQgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG5cbiAgaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyBGb3Jtc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvLyAxXG4gICAgZm9udC1zaXplOiAxMDAlOyAvLyAxXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICBtYXJnaW46IDA7IC8vIDJcbiAgfVxuXG4gIC8vIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAvLyAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQgeyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHsgLy8gMVxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cblxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gIC8vIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgbGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMVxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDNcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG4gIHByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAyXG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5cbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuXG4gIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG4gICAgZm9udDogaW5oZXJpdDsgLy8gMlxuICB9XG5cbiAgLy8gSW50ZXJhY3RpdmVcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuXG4gIGRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgfVxuXG4gIC8vIE1pc2NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG5cbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cblxuICBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGUgdGhhdCBjb250YWlucyB0aGUgZmxleCBqdXN0aWZ5aW5nIG9wdGlvbnNcbiQtemYtZmxleC1qdXN0aWZ5OiAtemYtZmxleC1qdXN0aWZ5KCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24pO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXHJcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vL1xyXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XHJcbi8vXHJcbi8vICAgMS4gR2xvYmFsXHJcbi8vICAgMi4gQnJlYWtwb2ludHNcclxuLy8gICAzLiBUaGUgR3JpZFxyXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxyXG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xyXG4vLyAgIDYuIEFiaWRlXHJcbi8vICAgNy4gQWNjb3JkaW9uXHJcbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcclxuLy8gICA5LiBCYWRnZVxyXG4vLyAgMTAuIEJyZWFkY3J1bWJzXHJcbi8vICAxMS4gQnV0dG9uXHJcbi8vICAxMi4gQnV0dG9uIEdyb3VwXHJcbi8vICAxMy4gQ2FsbG91dFxyXG4vLyAgMTQuIENhcmRcclxuLy8gIDE1LiBDbG9zZSBCdXR0b25cclxuLy8gIDE2LiBEcmlsbGRvd25cclxuLy8gIDE3LiBEcm9wZG93blxyXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcclxuLy8gIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xyXG4vLyAgMjAuIEZvcm1zXHJcbi8vICAyMS4gTGFiZWxcclxuLy8gIDIyLiBNZWRpYSBPYmplY3RcclxuLy8gIDIzLiBNZW51XHJcbi8vICAyNC4gTWV0ZXJcclxuLy8gIDI1LiBPZmYtY2FudmFzXHJcbi8vICAyNi4gT3JiaXRcclxuLy8gIDI3LiBQYWdpbmF0aW9uXHJcbi8vICAyOC4gUHJvZ3Jlc3MgQmFyXHJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XHJcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcclxuLy8gIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcclxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcclxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxyXG4vLyAgMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcclxuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXHJcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XHJcbi8vICAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXHJcbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcclxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXHJcbi8vICA0MC4gUHJvdG90eXBlIFNoYWRvd1xyXG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcclxuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xyXG4vLyAgNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cclxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxyXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xyXG4vLyAgNDYuIFJlc3BvbnNpdmUgRW1iZWRcclxuLy8gIDQ3LiBSZXZlYWxcclxuLy8gIDQ4LiBTbGlkZXJcclxuLy8gIDQ5LiBTd2l0Y2hcclxuLy8gIDUwLiBUYWJsZVxyXG4vLyAgNTEuIFRhYnNcclxuLy8gIDUyLiBUaHVtYm5haWxcclxuLy8gIDUzLiBUaXRsZSBCYXJcclxuLy8gIDU0LiBUb29sdGlwXHJcbi8vICA1NS4gVG9wIEJhclxyXG4vLyAgNTYuIFh5IEdyaWRcclxuXHJcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XHJcblxyXG4vLyBcdFRoaXMgdmFyaWFibGUgZGV0ZXJtaW5lcyB0aGUgbWFpbiBjb2xvcnMgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBvdGhlciBlbGVtZW50cy5cclxuLy8gIFx0LS0gdGVzdCBpcyB0aGUgQ1NTIGZvciB0aGUgSFJTVCBERU1PIHNpdGVzIFxyXG4vL1x0LS0gbG1zIGlzIHRoZSBDU1MgZm9yIHRoZSBMTVMgc2l0ZXMgXHJcblxyXG5cdCRzaXRlOiAncHJvZCc7XHJcbi8vXHQkc2l0ZTogJ3Rlc3QnO1xyXG5cclxuXHQkZ3JhZDE6ICMwMDFmM2E7XHJcblx0JGdyYWQyOiAjMDA2NWJmO1xyXG5cdCRmb3VuZGF0aW9uLXBhbGV0dGU6IChcclxuXHRcdHByaW1hcnk6IFx0IzAwNGE4ZixcclxuXHRcdHNlY29uZGFyeTogXHQjOGRjNjNmLFxyXG5cdFx0c3VjY2VzczogXHQjOGRjNjNmLFxyXG5cdFx0d2FybmluZzogXHQjRUZENDIzLFxyXG5cdFx0YWxlcnQ6IFx0XHQjZjA0MTI0LFxyXG5cdFx0aW5mbzpcdFx0I2EwZDNlOFxyXG5cdCk7XHJcbiAgXHJcblx0QGlmICRzaXRlID09ICd0ZXN0JyB7IFxyXG5cdFx0JGdyYWQxOiAjNDE2RTBEO1xyXG5cdFx0JGdyYWQyOiAjNzdiYzAwO1xyXG5cdFx0JGZvdW5kYXRpb24tcGFsZXR0ZTogKFxyXG5cdFx0XHRwcmltYXJ5OiBcdCM0NjZFMEYsXHJcblx0XHRcdHNlY29uZGFyeTogXHQjM0E1MzZGLFxyXG5cdFx0XHRzdWNjZXNzOiBcdCM4REE1OTAsXHJcblx0XHRcdHdhcm5pbmc6IFx0I0Y0QjQ1RixcclxuXHRcdFx0YWxlcnQ6IFx0XHQjOGY0ODJmLFxyXG5cdFx0XHRpbmZvOlx0XHQjQUVCRUQ5XHJcblx0XHQpO1xyXG5cdH1cclxuXHRAaWYgJHNpdGUgPT0gJ2xtcycgeyBcclxuXHRcdCRncmFkMTogIzc4ODE5NTtcclxuXHRcdCRncmFkMjogI2E5YjVkMTtcclxuXHRcdCRmb3VuZGF0aW9uLXBhbGV0dGU6IChcclxuXHRcdFx0cHJpbWFyeTogXHQjMjAzMTVGLFxyXG5cdFx0XHRzZWNvbmRhcnk6IFx0I0VGQjMzNSxcclxuXHRcdFx0c3VjY2VzczogXHQjQzFDNjRGLFxyXG5cdFx0XHR3YXJuaW5nOiBcdCNDQjgxMkEsXHJcblx0XHRcdGFsZXJ0OiBcdFx0I0M3NDIyNSxcclxuXHRcdFx0aW5mbzpcdFx0Izk4QUVBQVxyXG5cdFx0KTtcclxuXHR9XHJcblx0QGlmICRzaXRlID09ICdwY2QnIHsgXHJcblx0XHQkZ3JhZDE6ICM3ODgxOTU7XHJcblx0XHQkZ3JhZDI6ICNhOWI1ZDE7XHJcblx0XHQkZm91bmRhdGlvbi1wYWxldHRlOiAoXHJcblx0XHRcdHByaW1hcnk6IFx0IzVlOWQyMCxcclxuXHRcdFx0c2Vjb25kYXJ5OiBcdCM1ZTlkMjAsXHJcblx0XHRcdHN1Y2Nlc3M6IFx0IzlkZTQzMixcclxuXHRcdFx0d2FybmluZzogXHQjQ0I4MTJBLFxyXG5cdFx0XHRhbGVydDogXHRcdCNDNzQyMjUsXHJcblx0XHRcdGluZm86XHRcdCM5OEFFQUFcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuQGltcG9ydCAndXRpbC9jb2xvcic7XHJcblxyXG4vLyAxLiBHbG9iYWxcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XHJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xyXG4kbGlnaHQtZ3JheTogI2U2ZTZlNjtcclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhO1xyXG4kZGFyay1ncmF5OiAjOGE4YThhO1xyXG4kYmxhY2s6ICMwYTBhMGE7XHJcbiR3aGl0ZTogI2ZlZmVmZTtcclxuJG9pbCAgICAgICAgIDogIzMzMzMzMztcclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XHJcbiRib2R5LWZvbnQtZmFtaWx5OiAnQXJpbW8nLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XHJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XHJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW07XHJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xyXG4kZ2xvYmFsLXJhZGl1czogMDtcclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDFyZW0gMXJlbTtcclxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XHJcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcclxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xyXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XHJcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcclxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xyXG4kcHJpbnQtaHJlZnM6IHRydWU7XHJcblxyXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XHJcblxyXG4vLyAyLiBCcmVha3BvaW50c1xyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgc21hbGw6IDAsXHJcbiAgbWVkaXVtOiA2NDBweCxcclxuICBsYXJnZTogMTAyNHB4LFxyXG4gIHhsYXJnZTogMTIwMHB4LFxyXG4gIHh4bGFyZ2U6IDE0NDBweCxcclxuKTtcclxuJGJyZWFrcG9pbnRzLWhpZHBpOiAoXHJcbiAgaGlkcGktMTogMSxcclxuICBoaWRwaS0xLTU6IDEuNSxcclxuICBoaWRwaS0yOiAyLFxyXG4gIHJldGluYTogMixcclxuICBoaWRwaS0zOiAzXHJcbik7XHJcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcclxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSk7XHJcblxyXG4vLyAzLiBUaGUgR3JpZFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xyXG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXHJcbiAgc21hbGw6IDIwcHgsXHJcbiAgbWVkaXVtOiAzMHB4LFxyXG4pO1xyXG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcclxuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucyc7XHJcbiRibG9jay1ncmlkLW1heDogODtcclxuXHJcbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRoZWFkZXItZm9udC1mYW1pbHk6ICdQbGF5JywgQXJpYWwsIHNhbnMtc2VyaWY7IFxyXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xyXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcclxuJGhlYWRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRoZWFkZXItbGluZWhlaWdodDogMS40O1xyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuJGhlYWRlci1zdHlsZXM6IChcclxuICBzbWFsbDogKFxyXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXHJcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcclxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxyXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXHJcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcclxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxyXG4gICksXHJcbiAgbWVkaXVtOiAoXHJcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcclxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxyXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXHJcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcclxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxyXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXHJcbiAgKSxcclxuKTtcclxuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4kc21hbGwtZm9udC1zaXplOiA4MCU7XHJcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiRlbmFibGUtY29kZS1pbmxpbmU6IHRydWU7XHJcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XHJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcclxuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcclxuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XHJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XHJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XHJcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGVuYWJsZS1jaXRlLWJsb2NrOiB0cnVlO1xyXG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XHJcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XHJcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcclxuXHJcbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xyXG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XHJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xyXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XHJcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcclxuJGNvZGUtY29sb3I6ICRibGFjaztcclxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XHJcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcclxuJGNvZGUtYmxvY2stcGFkZGluZzogMXJlbTtcclxuJGNvZGUtYmxvY2stbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG5cclxuLy8gNi4gQWJpZGVcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRhYmlkZS1pbnB1dHM6IHRydWU7XHJcbiRhYmlkZS1sYWJlbHM6IHRydWU7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XHJcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XHJcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcblxyXG4vLyA3LiBBY2NvcmRpb25cclxuLy8gLS0tLS0tLS0tLS0tXHJcblxyXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XHJcbiRhY2NvcmRpb24tcGx1cy1jb250ZW50OiAnXFwwMDJCJztcclxuJGFjY29yZGlvbi1taW51cy1jb250ZW50OiAnXFwyMDEzJztcclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xyXG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XHJcblxyXG4vLyA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XHJcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGw7XHJcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcclxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHg7XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XHJcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcclxuXHJcbi8vIDkuIEJhZGdlXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xyXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XHJcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XHJcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XHJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcclxuXHJcbi8vIDEwLiBCcmVhZGNydW1ic1xyXG4vLyAtLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IC42ODc1cmVtO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogIzM5NTExODtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogIzc4YWIzMztcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICc+JztcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCc7XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogIzM5NTExODtcclxuXHJcbi8vIDExLiBCdXR0b25cclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdDtcclxuJGJ1dHRvbi1mb250LXdlaWdodDogbnVsbDtcclxuJGJ1dHRvbi1wYWRkaW5nOiAuMjVlbSAuMjVlbTtcclxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xyXG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xyXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4vLyAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XHJcbiRidXR0b24tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xyXG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XHJcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XHJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGJ1dHRvbi1ib3JkZXI6IDVweCBzb2xpZDtcclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiRidXR0b24tc2l6ZXM6IChcclxuICB0aW55OiAwLjhyZW0sXHJcbiAgc21hbGw6IDAuOXJlbSxcclxuICBkZWZhdWx0OiAxcmVtLFxyXG4gIGxhcmdlOiAxLjI1cmVtLFxyXG4pO1xyXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogMTAwJTtcclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xyXG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xyXG4kYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQ6IGZhbHNlO1xyXG5cclxuLy8gMTIuIEJ1dHRvbiBHcm91cFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xyXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XHJcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcclxuXHJcbi8vIDEzLiBDYWxsb3V0XHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xyXG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XHJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcclxuJGNhbGxvdXQtc2l6ZXM6IChcclxuICBzbWFsbDogMC41cmVtLFxyXG4gIGRlZmF1bHQ6IDFyZW0sXHJcbiAgbGFyZ2U6IDNyZW0sXHJcbik7XHJcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xyXG4kY2FsbG91dC1yYWRpdXM6IDNweDtcclxuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XHJcblxyXG4vLyAxNC4gQ2FyZFxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kY2FyZC1ib3JkZXI6IDJweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xyXG4kY2FyZC1zaGFkb3c6IC0xMHB4IDEwcHggMTBweCAjOTk5O1xyXG4kY2FyZC1ib3JkZXItcmFkaXVzOiA4cHg7XHJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcblxyXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xyXG4kY2xvc2VidXR0b24tei1pbmRleDogMTA7XHJcbiRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemU6IG1lZGl1bTtcclxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXHJcbiAgc21hbGw6IDAuNjZyZW0sXHJcbiAgbWVkaXVtOiAxcmVtLFxyXG4pO1xyXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXHJcbiAgc21hbGw6IDAuMzNlbSxcclxuICBtZWRpdW06IDAuNXJlbSxcclxuKTtcclxuJGNsb3NlYnV0dG9uLXNpemU6IChcclxuICBzbWFsbDogMS41ZW0sXHJcbiAgbWVkaXVtOiAyZW0sXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xyXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xyXG5cclxuLy8gMTYuIERyaWxsZG93blxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XHJcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xyXG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XHJcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xyXG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHg7XHJcblxyXG4vLyAxNy4gRHJvcGRvd25cclxuLy8gLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XHJcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XHJcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XHJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kZHJvcGRvd24tc2l6ZXM6IChcclxuICB0aW55OiAxMDBweCxcclxuICBzbWFsbDogMjAwcHgsXHJcbiAgbGFyZ2U6IDQwMHB4LFxyXG4pO1xyXG5cclxuLy8gMTguIERyb3Bkb3duIE1lbnVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xyXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuNCk7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xyXG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbTtcclxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xyXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6IG51bGw7XHJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcclxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDA7XHJcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XHJcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6ICRzZWNvbmRhcnktY29sb3I7XHJcblxyXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XHJcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XHJcblxyXG4vLyAyMC4gRm9ybXNcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xyXG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XHJcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XHJcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XHJcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xyXG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XHJcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcclxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xyXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyMS4gTGFiZWxcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xyXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XHJcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XHJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyMi4gTWVkaWEgT2JqZWN0XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcclxuXHJcbi8vIDIzLiBNZW51XHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kbWVudS1tYXJnaW46IDA7XHJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICRzZWNvbmRhcnktY29sb3I7XHJcbiRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZTogJGJsYWNrO1xyXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XHJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcclxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWU7XHJcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xyXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZTtcclxuXHJcbi8vIDI0LiBNZXRlclxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRtZXRlci1oZWlnaHQ6IDFyZW07XHJcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcclxuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcclxuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XHJcblxyXG4vLyAyNS4gT2ZmLWNhbnZhc1xyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJG9mZmNhbnZhcy1zaXplczogKFxyXG4gIHNtYWxsOiAyNTBweCxcclxuKTtcclxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxyXG4gIHNtYWxsOiAyNTBweCxcclxuKTtcclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XHJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xyXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcclxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcclxuXHJcbi8vIDI2LiBPcmJpdFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XHJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XHJcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xyXG5cclxuLy8gMjcuIFBhZ2luYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xyXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XHJcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XHJcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XHJcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xyXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XHJcbiRwYWdpbmF0aW9uLWFycm93LXByZXZpb3VzOiAnXFwwMEFCJztcclxuJHBhZ2luYXRpb24tYXJyb3ctbmV4dDogJ1xcMDBCQic7XHJcblxyXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XHJcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXHJcbiAgZG93bixcclxuICB1cCxcclxuICByaWdodCxcclxuICBsZWZ0XHJcbik7XHJcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xyXG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XHJcblxyXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG5cclxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuXHJcbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcclxuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XHJcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcblxyXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWRpc3BsYXk6IChcclxuICBpbmxpbmUsXHJcbiAgaW5saW5lLWJsb2NrLFxyXG4gIGJsb2NrLFxyXG4gIHRhYmxlLFxyXG4gIHRhYmxlLWNlbGxcclxuKTtcclxuXHJcbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xyXG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cclxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcclxuICBkaXNjLFxyXG4gIGNpcmNsZSxcclxuICBzcXVhcmVcclxuKTtcclxuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcclxuICBkZWNpbWFsLFxyXG4gIGxvd2VyLWFscGhhLFxyXG4gIGxvd2VyLWxhdGluLFxyXG4gIGxvd2VyLXJvbWFuLFxyXG4gIHVwcGVyLWFscGhhLFxyXG4gIHVwcGVyLWxhdGluLFxyXG4gIHVwcGVyLXJvbWFuXHJcbik7XHJcblxyXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXHJcbiAgdmlzaWJsZSxcclxuICBoaWRkZW4sXHJcbiAgc2Nyb2xsXHJcbik7XHJcblxyXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXHJcbiAgc3RhdGljLFxyXG4gIHJlbGF0aXZlLFxyXG4gIGFic29sdXRlLFxyXG4gIGZpeGVkXHJcbik7XHJcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xyXG5cclxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcclxuXHJcbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XHJcblxyXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpO1xyXG5cclxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1zaXppbmc6IChcclxuICB3aWR0aCxcclxuICBoZWlnaHRcclxuKTtcclxuJHByb3RvdHlwZS1zaXplczogKFxyXG4gIDI1OiAyNSUsXHJcbiAgNTA6IDUwJSxcclxuICA3NTogNzUlLFxyXG4gIDEwMDogMTAwJVxyXG4pO1xyXG5cclxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzO1xyXG5cclxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXHJcbiAgb3ZlcmxpbmUsXHJcbiAgdW5kZXJsaW5lLFxyXG4gIGxpbmUtdGhyb3VnaCxcclxuKTtcclxuXHJcbi8vIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcclxuICBsb3dlcmNhc2UsXHJcbiAgdXBwZXJjYXNlLFxyXG4gIGNhcGl0YWxpemVcclxuKTtcclxuXHJcbi8vIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cclxuLy8gNDYuIFJlc3BvbnNpdmUgRW1iZWRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcclxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXHJcbiAgZGVmYXVsdDogNCBieSAzLFxyXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXHJcbik7XHJcblxyXG4vLyA0Ny4gUmV2ZWFsXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kcmV2ZWFsLWJvcmRlcjogLjYyNXJlbSBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xyXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xyXG5cclxuLy8gNDguIFNsaWRlclxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XHJcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbiRzbGlkZXItaGVpZ2h0OiAwLjY1cmVtO1xyXG4kc2xpZGVyLWJhY2tncm91bmQ6ICNiYmI7XHJcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAjZGRkO1xyXG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNGVtO1xyXG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40ZW07XHJcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICNmNmY2ZjY7XHJcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcclxuJHNsaWRlci1yYWRpdXM6IDNweDtcclxuXHJcbi8vIDQ5LiBTd2l0Y2hcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xyXG4kc3dpdGNoLWhlaWdodDogMnJlbTtcclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XHJcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XHJcbiRzd2l0Y2gtb3BhY2l0eS1kaXNhYmxlZDogLjU7XHJcbiRzd2l0Y2gtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcclxuXHJcbi8vIDUwLiBUYWJsZVxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XHJcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xyXG4vLyR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDQgNSA1KTtcclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcclxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XHJcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XHJcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcclxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XHJcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XHJcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW07XHJcblxyXG4vLyA1MS4gVGFic1xyXG4vLyAtLS0tLS0tLVxyXG5cclxuJHRhYi1tYXJnaW46IDA7XHJcbiR0YWItYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcclxuJHRhYi1jb2xvcjogJHdoaXRlO1xyXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAjNmE5NzJkO1xyXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHdoaXRlO1xyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XHJcbiR0YWItaXRlbS1wYWRkaW5nOiAuNzVyZW0gMS41cmVtO1xyXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiR0YWItY29udGVudC1ib3JkZXI6IDA7XHJcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XHJcblxyXG4vLyA1Mi4gVGh1bWJuYWlsXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiR0aHVtYm5haWwtYm9yZGVyOiA0cHggc29saWQgJHdoaXRlO1xyXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xyXG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcclxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyA1My4gVGl0bGUgQmFyXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XHJcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xyXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xyXG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcclxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcclxuXHJcbi8vIDU0LiBUb29sdGlwXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XHJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XHJcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxNXJlbTtcclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XHJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gNTUuIFRvcCBCYXJcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiR0b3BiYXItcGFkZGluZzogMDtcclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAjMjAyMDIwO1xyXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcclxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcclxuXHJcbi8vIDU2LiBYeSBHcmlkXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4keHktZ3JpZDogdHJ1ZTtcclxuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xyXG4kZ3JpZC1jb2x1bW5zOiAxMjtcclxuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcclxuICBzbWFsbDogMjBweCxcclxuICBtZWRpdW06IDMwcHhcclxuKTtcclxuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcclxuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6ICRncmlkLXBhZGRpbmctZ3V0dGVycztcclxuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcclxuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xyXG5cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogMXB4ICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogMXB4ICN7JGltcG9ydGFudH07XG4gIHBhZGRpbmc6IDAgI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiByZWN0KDAsMCwwLDApICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgI3skaW1wb3J0YW50fTtcbiAgYm9yZGVyOiAwICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IHN0YXRpYyAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IHZpc2libGUgI3skaW1wb3J0YW50fTtcbiAgY2xpcDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoXG4gICRzbWFsbDogdHJ1ZSxcbiAgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbihhdXRvLCAtemYtYm9vbCgkc21hbGwpLCAtemYtYm9vbCgkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMpKSB7XG4gICAgQGNvbnRlbnRcbiAgfTtcbn1cblxuLy8vIEl0ZXJhdGVzIHdpdGggYEBjb250ZW50YCB0aHJvdWdoIHRoZSBnaXZlbiBsaXN0IG9mIGJyZWFrcG9pbnRzIGAkYnJlYWtwb2ludHNgLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJyZWFrcG9pbnRzIFthdXRvXSAtIEJyZWFrcG9pbnRzIHRvIGl0ZXJhdGVzIG9uLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufE51bGx9ICR6ZXJvLWJyZWFrcG9pbnQgW251bGxdIC0gV2hldGhlciB0aGUgemVyby1icmVha3BvaW50IChvZnRlbiBgc21hbGxgKSBtdXN0IGJlIGluY2x1ZGVkLiBJZiBgdHJ1ZWAsIGl0IHdpbGwgYWx3YXlzIGJlIGFkZGVkIHRvIHRoZSBsaXN0IGlmIG5vdCBhbHJlYWR5IHRoZXJlLiBJZiBgZmFsc2VgLCBpdCB3aWxsIGFsd2F5cyBiZSByZW1vdmVkLiBEb2VzIG5vdGhpbmcgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58S2V5d29yZH0gJG1lZGlhLXF1ZXJpZXMgW3RydWVdIC0gV2hldGhlciBtZWRpYS1xdWVyaWVzIG11c3QgYmUgZ2VuZXJhdGVkLiBJZiBgZm9yLWxpc3RzYCwgb25seSBnZW5lcmF0ZSBtZWRpYS1xdWVyaWVzIHdoZW4gYCRicmVha3BvaW50c2AgaXMgYSBsaXN0LlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oXG4gICRicmVha3BvaW50czogYXV0byxcbiAgJHplcm8tYnJlYWtwb2ludDogbnVsbCxcbiAgJG1lZGlhLXF1ZXJpZXM6IHRydWVcbikge1xuICAkLWxpc3Q6ICgpO1xuICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogdHJ1ZTtcblxuICAvLyBSZXRyaWV2ZSB0aGUgbGlzdCBvZiBicmVha3BvaW50KHMpIHRvIGl0ZXJhdGUgb24uXG4gIEBpZiAkYnJlYWtwb2ludHMgPT0gYXV0byB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnbGlzdCcge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnRzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnc3RyaW5nJyB7XG4gICAgJC1saXN0OiAoJGJyZWFrcG9pbnRzKTtcbiAgICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogZmFsc2U7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcIiRicmVha3BvaW50c1wiIGluIFwiLXpmLWVhY2gtYnJlYWtwb2ludC1pbigpXCIuIEdvdCBcIiN7JGJyZWFrcG9pbnRzfVwiICgje3R5cGUtb2YoJGJyZWFrcG9pbnRzKX0pLiBFeHBlY3RlZCBhIGJyZWFrcG9pbnQgbmFtZSwgYSBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIFwiYXV0b1wiJztcbiAgfVxuXG4gIC8vIEFkZCBvciByZW1vdmUgdGhlIHplcm8gYnJlYWtwb2ludCBhY2NvcmRpbmcgdG8gYCR6ZXJvLWJyZWFrcG9pbnRgXG4gIEBpZiAkemVyby1icmVha3BvaW50ID09IHRydWUge1xuICAgICQtbGlzdDogam9pbigoJC16Zi16ZXJvLWJyZWFrcG9pbnQpLCBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCkpO1xuICB9XG4gIEBlbHNlIGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gZmFsc2Uge1xuICAgICQtbGlzdDogc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gSXRlcmF0ZSBvbiBicmVha3BvaW50KHMpXG4gIEBlYWNoICRicCBpbiAkLWxpc3Qge1xuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogJGJwICFnbG9iYWw7XG5cbiAgICBAaWYgKCRtZWRpYS1xdWVyaWVzID09IHRydWVcbiAgICAgIG9yICgkbWVkaWEtcXVlcmllcyA9PSAnZm9yLWxpc3RzJyBhbmQgJC1icmVha3BvaW50cy1pcy1hLWxpc3QpKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkYnAtdmFsdWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICAgIEBpZiAkYnAtdmFsdWUgIT0gbnVsbCB7XG4gICAgICAgICRuYW1lOiAkYnAtdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkICFpbXBvcnRhbnQ7XG4gICAgIC8vIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gIDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXQncyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXIgdGhhbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiAkaW5wdXQtbGluZS1oZWlnaHQpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6IDEuODEyNXJlbTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gICY6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpO1xuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFVzZSB0aGUgYC5jb2RlLWlubGluZWAgY29tcG9uZW50IGFzIGRlZmF1bHQgZm9yIGA8Y29kZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRlbmFibGUtY29kZS1pbmxpbmU6IHRydWU7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gVXNlIHRoZSBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudCBhcyBkZWZhdWx0IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWU7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIElubGluZSBDaXRhdGlvbnNcbiAgQGlmICgkZW5hYmxlLWNpdGUtYmxvY2sgPT0gdHJ1ZSkge1xuICAgIGNpdGUge1xuICAgICAgLy8gRXh0ZW5kaW5nIGEgY2xhc3MgaXMgbm90IHJlY29tbWVuZGVkLlxuICAgICAgLy8gVE9ETzogQnJlYWsgdGhlIHR5cG9ncmFwaHktYmFzZS90eXBvZ3JhcGh5LWhlbHBlcnMgc2VwYXJhdGlvblxuICAgICAgQGV4dGVuZCAuY2l0ZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb2RlXG4gIEBpZiAoJGVuYWJsZS1jb2RlLWlubGluZSA9PSB0cnVlKSB7XG4gICAgY29kZSB7XG4gICAgICBAZXh0ZW5kIC5jb2RlLWlubGluZTtcbiAgICB9XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgdGhlIGAuY29kZS1pbmxpbmVgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1ibG9jay1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIHVuZGVyIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b206IDEuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGNpdGUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICRjaXRlLWNvbG9yO1xuICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZCBiYXNpYyBzdHlsZXMgZm9yIGEgY29kZSBoZWxwZXIuXG4vLy8gU2VlIGBjb2RlLWlubGluZWAgYW5kIGBjb2RlLWJsb2NrYCBtaXhpbnMuXG5AbWl4aW4gY29kZS1zdHlsZSB7XG4gIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG59XG5cbi8vLyBNYWtlIGNvZGUgaGVscGVyIGZyb20gdGhlIGBjb2RlLXN0eWxlYCBtaXhpbiBpbmxpbmUuXG4vLy8gVXNlZCB0byBnZW5lcmF0ZSBgLmNvZGUtaW5saW5lYFxuQG1peGluIGNvZGUtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xufVxuXG4vLy8gTWFrZSBjb2RlIGhlbHBlciBmcm9tIHRoZSBgY29kZS1zdHlsZWAgbWl4aW4gYSBibG9jay5cbi8vLyBVc2VkIHRvIGdlbmVyYXRlIGAuY29kZS1ibG9ja2BcbkBtaXhpbiBjb2RlLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuXG4gIHBhZGRpbmc6ICRjb2RlLWJsb2NrLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206ICRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b207XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5jaXRlLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBjaXRlLWJsb2NrO1xuICB9XG5cbiAgLmNvZGUtaW5saW5lIHtcbiAgICBAaW5jbHVkZSBjb2RlLXN0eWxlO1xuICAgIEBpbmNsdWRlIGNvZGUtaW5saW5lO1xuICB9XG5cbiAgLmNvZGUtYmxvY2sge1xuICAgIEBpbmNsdWRlIGNvZGUtc3R5bGU7XG4gICAgQGluY2x1ZGUgY29kZS1ibG9jaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheXMgbmV4dCB0byBhbGwgbGlua3MgdGhlaXIgXCJocmVmXCIgd2hlbiBwcmludGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgLy8gRW5zdXJlIGEgXCJibGFjay1vbi13aGl0ZVwiIHByaW50IGJ5IHJlbW92aW5nIGJhY2tncm91bmRzLFxuICAgICAgLy8gdXNpbmcgYmxhY2sgdGV4dCBldmVyeXdoZXJlIGFuZCBmb3JjaW5nIHRoZSBicm93c2VyIHRvIGVjb25vbWl6ZSBpbmsuXG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgICAgY29sb3ItYWRqdXN0OiBlY29ub215O1xuICAgICAgfVxuICAgICAgLy8gT3RoZXJ3aXNlLCBwcmV2ZW50IGFueSBlY29ub215IGJ5IHRoZSBicm93c2VyLlxuICAgICAgQGVsc2Uge1xuICAgICAgICBjb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmFzZS1ncmlkLWNsYXNzZXMge1xuXG4gIC8vIEdyaWQgQ29udGFpbmVyXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cbiAgICAmLmZsdWlkIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUpO1xuICAgIH1cblxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlLCAwKTtcbiAgICB9XG4gIH1cblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIC5ncmlkLXgge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICAuY2VsbCB7XG4gICAgQGluY2x1ZGUgeHktY2VsbChmdWxsLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgXCJzaHJpbmtcIiBtb2RpZmllclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHZlcnRpY2FsOiAkdmVydGljYWwsICRvdXRwdXQ6IChzaXplIGd1dHRlcnMpKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHZlcnRpY2FsOiAkdmVydGljYWwsICRvdXRwdXQ6IChzaXplIGd1dHRlcnMpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgYWxsIHByaW9yIGJyZWFrcG9pbnRzLlxuICAgICAgLy8gQXMgdGhlaXIgZ3V0dGVyIGlzIGRlZmluZWQgd2l0aCB0aGVpciB3aWR0aC9oZWlnaHQsIGV2ZW4gYnJlYWtwb2ludCB3aXRob3V0IGEgbmV3IG1hcmdpbiBtdXN0IGJlXG4gICAgICAvLyBnZW5lcmF0ZWQgdG8gbm90IGhhdmluZyB0aGVpciB3aWR0aC9oZWlnaHQgb3ZlcnJpZGVkIGJ5IHJlLWFkanVzdGVkIHNtYWxsZXIgYnJlYWtwb2ludHMuXG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJC16Zi1zaXplLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktcGFkZGluZy1ncmlkLWNsYXNzZXMge1xuICAuZ3JpZC1wYWRkaW5nLXgge1xuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcbiAgICAvLyBUaGlzIGFsbG93cyBtYXJnaW4gYW5kIHBhZGRpbmcgZ3JpZHMgdG8gbGluZSB1cCB3aXRoIGVhY2hvdGhlclxuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gJiB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogcGFkZGluZywgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBtYXJnaW4sICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBtYXJnaW4sICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgICAgLiN7JGJwfS1tYXJnaW4tY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JGJwfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzIGFuZCBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gUmVzcG9uc2l2ZSBcImF1dG9cIiBtb2RpZmllclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9O1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICAgID4gLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgfVxuXG59XG5cbkBtaXhpbiB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQ6IHRydWUsICRtYXJnaW4tZ3JpZDogdHJ1ZSkge1xuICAvLyBGcmFtZWQgZ3JpZCBzdHlsZXNcbiAgLmdyaWQtZnJhbWUge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gIH1cblxuICAuY2VsbCAuZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gIH1cblxuICAuY2VsbC1ibG9jayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICB9XG5cbiAgLmNlbGwtYmxvY2steSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgfVxuXG5cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICB9XG5cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG5cbiAgICAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgICB9XG5cbiAgICAuY2VsbCAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLXkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJHZlcnRpY2FsLWdyaWQge1xuICAgIC5ncmlkLXkge1xuICAgICAgJi5ncmlkLWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgJi4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICAgIC5jZWxsIHtcbiAgICAgIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgLmdyaWQteS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGluY2x1ZGUtYmFzZTogZmFsc2UpO1xuICAgIH1cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAuZ3JpZC1tYXJnaW4teS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRmluYWwgY2xhc3Nlc1xuQG1peGluIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzKFxuICAkYmFzZS1ncmlkOiB0cnVlLFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWUsXG4gICRibG9jay1ncmlkOiB0cnVlLFxuICAkY29sbGFwc2U6IHRydWUsXG4gICRvZmZzZXQ6IHRydWUsXG4gICR2ZXJ0aWNhbC1ncmlkOiB0cnVlLFxuICAkZnJhbWUtZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICBAaWYoJGJhc2UtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJhc2UtZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBNYXJnaW4gZ3JpZFxuICBAaWYoJG1hcmdpbi1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gUGFkZGluZyBncmlkXG4gIEBpZigkcGFkZGluZy1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktcGFkZGluZy1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWRcbiAgQGlmKCRibG9jay1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBDb2xsYXBzZSBndXR0ZXJzXG4gIEBpZigkY29sbGFwc2UpIHtcbiAgICBAaW5jbHVkZSB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIE9mZnNldCBndXR0ZXJzXG4gIEBpZigkb2Zmc2V0KSB7XG4gICAgQGluY2x1ZGUgeHktb2Zmc2V0LWNlbGwtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gVmVydGljYWwgZ3JpZFxuICBAaWYoJHZlcnRpY2FsLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIEBpZiAoJGZyYW1lLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQsICRtYXJnaW4tZ3JpZClcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskZ3JpZC1jb250YWluZXItcGFkZGluZ10gLSBwYWRkaW5ncyBvZiB0aGUgY29udGFpbmVyLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgZmxleCB2YWx1ZSBmb3IgYSBjZWxsIGJhc2UuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBUaGUgY2VsbCBmbGV4IHByb3BlcnR5IHZhbHVlLlxuQGZ1bmN0aW9uIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gMSAxIDBweDtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2dyb3cnKSB7XG4gICAgQHJldHVybiAxIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ3Nocmluaycgb3IgJHNpemUgPT0gJ2Z1bGwnIG9yIHpmLWlzLWZyYWN0aW9uKCRzaXplLCAkYWxsb3ctbm8tZGVub21pbmF0b3I6IHRydWUpKSB7XG4gICAgQHJldHVybiAwIDAgYXV0bztcbiAgfVxuICBAcmV0dXJuIG51bGw7XG59XG5cbi8vLyBDYWxjdWxhdGUgdGhlIHNpemUgb2YgYSBjZWxsIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBndXR0ZXJzIG1hcCBgJGd1dHRlcnNgLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfE1hcH0gVGhlIGNlbGwgZ3V0dGVyIHNpemUgb3IgdGhlIHJlc3BvbnNpdmUgZ3V0dGVycyBtYXAuXG5AZnVuY3Rpb24geHktY2VsbC1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgLy8gRm9yIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBtYXAgYCRndXR0ZXJzYC5cbiAgQGlmICgkYnJlYWtwb2ludCA9PSAnYXV0bycpIHtcbiAgICBAcmV0dXJuICRndXR0ZXJzO1xuICB9XG5cbiAgLy8gVXNlIHRoZSBjb250ZXh0dWFsIGJyZWFrcG9pbnQgYnkgZGVmYXVsdC5cbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpO1xuXG4gIEBpZiAoJGJyZWFrcG9pbnQpIHtcbiAgICBAcmV0dXJuIC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtemVyby1icmVha3BvaW50KSBvciAwO1xuICB9XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzNgLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gU2l6ZSBvZiB0aGUgY2VsbCAoaW4gcGVyY2VudCkuXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxuICAkc2l6ZTogJGdyaWQtY29sdW1uc1xuKSB7XG4gIEByZXR1cm4gZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgkc2l6ZSwgJGRlbm9taW5hdG9yOiAkZ3JpZC1jb2x1bW5zKTtcbn1cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyB2YWx1ZSBmb3IgYSBjZWxsIHNpemUuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2Agb3IgYW55IGZyYWN0aW9uIGxpa2UgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIHJldHVybnMgYSBtYXAgb2Ygc2l6ZXMgYWRhcHRlZCB0byByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfE1hcH0gVGhlIGNlbGwgc2l6aW5nIHByb3BlcnR5IHZhbHVlLCBvciBhIHJlc3BvbnNpdmUgbWFwIG9mIHRoZW0uXG5AZnVuY3Rpb24geHktY2VsbC1zaXplLWNzcyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgJG1hcmdpbi1ndXR0ZXI6IDA7XG5cbiAgQGlmICgkc2l6ZSA9PSAnYXV0bycgb3IgJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBAcmV0dXJuIGF1dG87XG4gIH1cblxuICAvLyBGb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycywgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgJG1hcmdpbi1ndXR0ZXI6IHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAgIEBpZiAoJG1hcmdpbi1ndXR0ZXIgPT0gbnVsbCkge1xuICAgICAgQGVycm9yICd4eS1jZWxsLXNpemU6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgICB9XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgdGhlIGNlbGwgc2l6ZSAobnVtYmVyKVxuICAkc2l6ZS1yYXc6IGlmKCRzaXplID09ICdmdWxsJywgMTAwJSwgeHktY2VsbC1zaXplKCRzaXplKSk7XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBjZWxsIENTUyBzaXplIGluY2x1ZGluZyBndXR0ZXJzIChzdHJpbmcpXG4gIC8vIElmIHRoZSBjZWxsIGhhcyByZXNwb25zaXZlIG1hcmdpbiBndXR0ZXJzLCByZXR1cm4gYSByZXNwb25zaXZlIG1hcCBvZiBzaXplcy5cbiAgQGlmIHR5cGUtb2YoJG1hcmdpbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM6ICgpO1xuXG4gICAgQGVhY2ggJGJwLCAkbWcgaW4gJG1hcmdpbi1ndXR0ZXIge1xuICAgICAgJHNpemUtY3NzOiBpZigkbWcgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7cmVtLWNhbGMoJG1nKX0pKTtcbiAgICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogbWFwLW1lcmdlKCRyZXNwb25zaXZlLWNzcy1zaXplcywgKCRicDogJHNpemUtY3NzKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gYSBzaW5nbGUgQ1NTIHNpemUuXG4gIEBlbHNlIHtcbiAgICAkY3NzLXNpemU6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICRzaXplLXJhdywgY2FsYygjeyRzaXplLXJhd30gLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICBAcmV0dXJuICRjc3Mtc2l6ZTtcbiAgfVxufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgJGJhc2U6IHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgZmxleDogI3skYmFzZX07XG5cbiAgLy8gU2V0IGJhc2Ugc3R5bGVzIGZvciBcImZ1bGxcIiBvbmx5XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICBtYXgtI3skZGlyZWN0aW9ufTogbm9uZTtcbn1cblxuLy8vIFNldHMgc2l6aW5nIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gR3V0dGVycy1yZWxhdGVkIGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQgZm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMgKGJ5IGRlZmF1bHQpIGFzIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgc2l6ZXMgYWRhcHRlZCBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemVzOiB4eS1jZWxsLXNpemUtY3NzKCRzaXplLCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcblxuICBAaWYgKHR5cGUtb2YoJHNpemVzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRzaXplcykge1xuICAgICAgI3skZGlyZWN0aW9ufTogJC16Zi1icC12YWx1ZTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICN7JGRpcmVjdGlvbn06ICRzaXplcztcbiAgfVxufVxuXG4vLy8gU2V0cyBndXR0ZXJzIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gRGlyZWN0aW9uIG9mIHRoZSBndXR0ZXJzIHRvIG91dHB1dC4gU2VlIGAkZ3V0dGVyLXBvc2l0aW9uYC5cbkBtaXhpbiB4eS1jZWxsLWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgLy8gR2V0IHRoZSBkZWZhdWx0IGd1dHRlciBwb3NpdGlvbiBhY2NvcmRpbmcgdG8gY2VsbCBkaXJlY3Rpb25cbiAgQGlmKCRndXR0ZXItcG9zaXRpb24gPT0gbnVsbCkge1xuICAgICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcbiAgfVxuXG4gIC8vIEdldCB0aGUgZ3V0dGVyIHdpZHRoIGZvciB0aGlzIGJyZWFrcG9pbnRcbiAgJGd1dHRlci13aWR0aDogeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIEBpZiAoJGd1dHRlci13aWR0aCA9PSBudWxsKSB7XG4gICAgQGVycm9yICd4eS1jZWxsLWd1dHRlcnM6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgfVxuXG4gIEBpZiAoJGd1dHRlci10eXBlIGFuZCAkZ3V0dGVyLXR5cGUgIT0gbm9uZSkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci13aWR0aCwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRvdXRwdXQgWyhiYXNlIHNpemUgZ3V0dGVycyldIC0gQ2VsbCBwYXJ0cyB0byBvdXRwdXQuIFlvdSB3aWxsIG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXJzIHBhcnRzIG9mIHRoZSBjZWxsIHNlcGVyYXRlbHksIGl0IG1heSBub3Qgd29yayBwcm9wZXJseSBvdGhlcndpc2UuXG5AbWl4aW4geHktY2VsbChcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiBudWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG91dHB1dDogKGJhc2Ugc2l6ZSBndXR0ZXJzKVxuKSB7XG4gIC8vIERlZmF1bHQgZm9yICRndXR0ZXItb3V0cHV0XG4gIEBpZiAoJGd1dHRlci1vdXRwdXQgIT0gbnVsbCkge1xuICAgIEB3YXJuICd4eS1jZWxsOiAkZ3V0dGVyLW91dHB1dCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG4gICAgQGlmICgkZ3V0dGVyLW91dHB1dCA9PSBmYWxzZSkge1xuICAgICAgJG91dHB1dDogc2wtcmVtb3ZlKCRvdXRwdXQsIGd1dHRlcnMpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgYmFzZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgc2l6ZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgZ3V0dGVycykpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCBzaXplZCBncmlkLiBVc2VkIHRvIGdlbmVyYXRlIG91ciBncmlkIGNsYXNzZXMuXG4vLy9cbi8vLyBgeHktY2VsbC1zdGF0aWMoKWAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLlxuLy8vIFVzZSBgeHktY2VsbCgpYCBpbnN0ZWFkIHdpdGggYCRvdXRwdXQ6IChzaXplIGd1dHRlcnMpYCB0byBub3QgZ2VuZXJhdGUgdGhlIGNlbGwgYmFzZS5cbi8vLyBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTBcbi8vL1xuLy8vIEBkZXByZWNhdGVkIHY2LjYuMFxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuIEFsd2F5cyBgdHJ1ZWAgZm9yIG1hcmdpbiBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zdGF0aWMoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQHdhcm4gJ3h5LWNlbGwtc3RhdGljKCkgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgXCJ4eS1jZWxsKClcIiBpbnN0ZWFkLiBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTAnO1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICAkLWd1dHRlci1vdXRwdXQ6IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgdHJ1ZSwgJGd1dHRlci1vdXRwdXQpO1xuICAkLWd1dHRlci1tYXJnaW46IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgJGd1dHRlciwgMCk7XG5cbiAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJC1ndXR0ZXItbWFyZ2luLCAkdmVydGljYWwpO1xuICBAaWYgKCQtZ3V0dGVyLW91dHB1dCkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCAkZXhwb25lbnQgLyAkZGVub21pbmF0b3IpLCAkcHJlYzIgLyAkZGVub21pbmF0b3IsICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IDEgLyAkbiAqICgoJG4gLSAxKSAqICR4ICsgKCRudW0gLyBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuXG4vLy8gUGFyc2UgdGhlIGdpdmVuIGAkZnJhY3Rpb25gIHRvIG51bWVyYXRvcnMgYW5kIGRlbnVtZXJhdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJGZyYWN0aW9uIC0gVmFsdWUgcmVwcmVzZW50aW5nIGEgZnJhY3Rpb24gdG8gcGFyc2UuIEl0IGNhbiBiZSBmb3JtYXR0ZWQgYXMgYDUwJWAsIGAxIG9mIDJgLCBgMS8yYCBvciBgNTBgIChubyBkZW5vbWluYXRvciB3b3VsZCBiZSByZXR1cm5lZCkuXG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBMaXN0IG9mIHBhcnNlZCB2YWx1ZXMgd2l0aCBudW1lcmF0b3IgYXQgZmlyc3QgcG9zaXRpb24gYW5kIGRlbnVtZXJhdG9yIGFzIHNlY29uZC4gVGhlc2UgdmFsdWVzIG1heSBiZSBudWxsLlxuQGZ1bmN0aW9uIHpmLXBhcnNlLWZyYWN0aW9uKCRmcmFjdGlvbikge1xuXG4gIEBpZiB0eXBlLW9mKCRmcmFjdGlvbikgPT0gJ251bWJlcicge1xuICAgIC8vIFwiNTAlXCJcbiAgICBAaWYgdW5pdCgkZnJhY3Rpb24pID09ICclJyB7XG4gICAgICBAcmV0dXJuIChzdHJpcC11bml0KCRmcmFjdGlvbiksIDEwMCk7XG4gICAgfVxuICAgIEBlbHNlIGlmICh1bml0KCRmcmFjdGlvbikgPT0gJycpIHtcbiAgICAgIC8vIFwiMC41XCJcbiAgICAgIEBpZiAkZnJhY3Rpb24gPCAxIHtcbiAgICAgICAgQHJldHVybiAoJGZyYWN0aW9uICogMTAwLCAxMDApO1xuICAgICAgfVxuICAgICAgLy8gXCI1MFwiXG4gICAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gKCRmcmFjdGlvbiwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgdHlwZS1vZigkZnJhY3Rpb24pID09ICdsaXN0JyB7XG4gICAgLy8gXCI1MCBvZiAxMDBcIiwgXCI1MC8xMDBcIi4uLlxuICAgIEBpZiBsZW5ndGgoJGZyYWN0aW9uKSA9PSAzXG4gICAgICBhbmQgdHlwZS1vZihudGgoJGZyYWN0aW9uLCAxKSA9PSAnbnVtYmVyJylcbiAgICAgIGFuZCB0eXBlLW9mKG50aCgkZnJhY3Rpb24sIDMpID09ICdudW1iZXInKSB7XG4gICAgICBAcmV0dXJuIChudGgoJGZyYWN0aW9uLCAxKSwgbnRoKCRmcmFjdGlvbiwgMykpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gKG51bGwsIG51bGwpO1xufVxuXG4vLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBnaXZlbiBgJHZhbHVlYCByZXByZXNlbnRzIGEgZnJhY3Rpb24uIFN1cHBvcnRzIGZvcm1hdHMgbGlrZSBgNTAlYCwgYDEgb2YgMmAsIGAxIHBlciAyYCBvciBgMS8yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlIC0gVmFsdWUgdG8gdGVzdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhbGxvdy1uby1kZW5vbWluYXRvciBbZmFsc2VdIC0gSWYgYHRydWVgLCBzaW1wbGUgbnVtYmVycyB3aXRob3V0IGRlbm9taW5hdG9ycyBsaWtlIGA1MGAgYXJlIHN1cHBvcnRlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IGB0cnVlYCBpZiBgJHZhbHVlYCByZXByZXNlbnRzIGEgZnJhY3Rpb24sIGBmYWxzZWAgb3RoZXJ3aXNlLlxuQGZ1bmN0aW9uIHpmLWlzLWZyYWN0aW9uKCR2YWx1ZSwgJGFsbG93LW5vLWRlbm9taW5hdG9yOiBmYWxzZSkge1xuICAkcGFyc2VkOiB6Zi1wYXJzZS1mcmFjdGlvbigkdmFsdWUpO1xuICBAcmV0dXJuIG5vdChudGgoJHBhcnNlZCwgMSkgPT0gbnVsbFxuICAgIG9yIChudGgoJHBhcnNlZCwgMikgPT0gbnVsbCBhbmQgJGFsbG93LW5vLWRlbm9taW5hdG9yID09IGZhbHNlKSk7XG59XG5cbi8vLyBDYWxjdWxhdGUgYSBwZXJjZW50YWdlIGZyb20gYSBnaXZlbiBmcmFjdGlvbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRmcmFjdGlvbiAtIFZhbHVlIHJlcHJlc2VudGluZyBhIGZyYWN0aW9uIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2UsIGZvcm1hdHRlZCBhcyBgNTBgIChyZWxhdGl2ZSB0byBgJGRlbm9taW5hdG9yYCksIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZGVub21pbmF0b3IgLSBEZWZhdWx0IHZhbHVlIHRvIHVzZSBhcyBkZW5vbWluYXRvciB3aGVuIGAkZnJhY3Rpb25gIHJlcHJlc2VudHMgYW4gYWJzb2x1dGUgdmFsdWUuXG5AZnVuY3Rpb24gZnJhY3Rpb24tdG8tcGVyY2VudGFnZShcbiAgJGZyYWN0aW9uLFxuICAkZGVub21pbmF0b3I6IG51bGxcbikge1xuICAkcGFyc2VkOiB6Zi1wYXJzZS1mcmFjdGlvbigkZnJhY3Rpb24pO1xuICAkcGFyc2VkLW5vbWluYXRvcjogbnRoKCRwYXJzZWQsIDEpO1xuICAkcGFyc2VkLWRlbm9taW5hdG9yOiBudGgoJHBhcnNlZCwgMik7XG5cbiAgQGlmICRwYXJzZWQtbm9taW5hdG9yID09IG51bGwge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcImZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoKVwiLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cbiAgQGlmICRwYXJzZWQtZGVub21pbmF0b3IgPT0gbnVsbCB7XG4gICAgQGlmIHR5cGUtb2YoJGRlbm9taW5hdG9yKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkcGFyc2VkLWRlbm9taW5hdG9yOiAkZGVub21pbmF0b3I7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciAnRXJyb3Igd2l0aCBcImZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoKVwiLiBBIGRlZmF1bHQgXCIkZGVub21pbmF0b3JcIiBpcyByZXF1aXJlZCB0byBzdXBwb3J0IGFic29sdXRlIHZhbHVlcyc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBwZXJjZW50YWdlKCRwYXJzZWQtbm9taW5hdG9yIC8gJHBhcnNlZC1kZW5vbWluYXRvcik7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY2VsbCddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgYnJlYWtwb2ludCB0byB1c2UgZm9yIHRoZSBjZWxsIGdlbmVyYXRpb24uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkb3V0cHV0IFsoYmFzZSBzaXplIGd1dHRlcnMpXSAtIENlbGwgcGFydHMgdG8gb3V0cHV0LiBZb3Ugd2lsbCBuZWVkIHRvIGdlbmVyYXRlIG90aGVycyBwYXJ0cyBvZiB0aGUgY2VsbCBzZXBlcmF0ZWx5LCBpdCBtYXkgbm90IHdvcmsgY29ycmVjdGx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwsICRvdXRwdXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbWluLWJyZWFrcG9pbnQgWyQtemYtemVyby1icmVha3BvaW50XSAtIE1pbmltdW0gYnJlYWtwb2ludCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgZm9yIHdoaWNoIHRvIGNvbGxhcHNlIHRoZSBndXR0ZXIuXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG1pbi1icmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZihzbC1jb250YWluKCRleGNsdWRlZC1icHMsICRicCkpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgdmFsdWUgdG8gb2Zmc2V0IGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfSBUaGUgY2VsbCBvZmZzZXQgcHJvcGVydHkgdmFsdWUuXG5AZnVuY3Rpb24geHktY2VsbC1vZmZzZXQoXG4gICRuLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50LCAkZGVmYXVsdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICAkc2l6ZTogeHktY2VsbC1zaXplKCRuKTtcblxuICAkb2Zmc2V0OiAkc2l6ZTtcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYyh4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KSAvIDIpO1xuICAgICRvZmZzZXQ6IGlmKCRndXR0ZXIgPT0gMCwgJHNpemUsIGNhbGMoI3skc2l6ZX0gKyAjeyRndXR0ZXJ9KSk7XG4gIH1cbiAgQHJldHVybiAkb2Zmc2V0O1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRicmVha3BvaW50IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGZvciBgJGd1dHRlcnNgLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuIElmIGEgbGlzdCBpcyBnaXZlbiwgbWVkaWEtcXVlcmllcyB3aWxsIGJlIGdlbmVyYXRlZC4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICRuLFxuICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAkYnJlYWtwb2ludDogbnVsbCxcbiAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQsICRkZWZhdWx0OiAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbigkYnJlYWtwb2ludCwgJG1lZGlhLXF1ZXJpZXM6ICdmb3ItbGlzdHMnKSB7XG4gICAgJG9mZnNldDogeHktY2VsbC1vZmZzZXQoJG4sICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUpO1xuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRvZmZzZXR9O1xuICB9XG59XG4iLCIvLy8gTW9kaWZpZXMgYSBncmlkIHRvIGdpdmUgaXQgXCJmcmFtZVwiIGJlaGF2aW9yIChubyBvdmVyZmxvdywgbm8gd3JhcCwgc3RyZXRjaCBiZWhhdmlvcilcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3RlZCBbZmFsc2VdIC0gSXMgZ3JpZCBuZXN0ZWQgb3Igbm90LiBJZiBuZXN0ZWQgaXMgdHJ1ZSB0aGlzIHNldHMgdGhlIGZyYW1lIHRvIDEwMCUgaGVpZ2h0LCBvdGhlcndpc2Ugd2lsbCBiZSAxMDB2aC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFtudWxsXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbmNsdWRlLWJhc2UgW3RydWVdIC0gSW5jbHVkZSB0aGUgYmFzZSBzdHlsZXMgdGhhdCBkb24ndCB2YXJ5IHBlciBicmVha3BvaW50LlxuQG1peGluIHh5LWdyaWQtZnJhbWUoXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRuZXN0ZWQ6IGZhbHNlLFxuICAkZ3V0dGVyczogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICRpbmNsdWRlLWJhc2U6IHRydWVcbikge1xuXG4gIEBpZiAkaW5jbHVkZS1iYXNlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuXG4gIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIGFuZCB0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJyB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUoJHZlcnRpY2FsLCAkbmVzdGVkLCAkZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBHZXQgb3VyIGd1dHRlcnMgaWYgYXBwbGljYWJsZVxuICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgICAvLyBJZiB3ZSBoYXZlIGEgZ3V0dGVyLCBhZGQgaXQgdG8gdGhlIHdpZHRoL2hlaWdodFxuICAgIEBpZiAkZ3V0dGVyIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIGhlaWdodDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgIGhlaWdodDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgd2lkdGg6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTW9kaWZpZXMgYSBjZWxsIHRvIGdpdmUgaXQgXCJibG9ja1wiIGJlaGF2aW9yIChvdmVyZmxvdyBhdXRvLCBpbmVydGlhbCBzY3JvbGxpbmcpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrKFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHByb3BlcnR5OiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgJ292ZXJmbG93LXknLCAnb3ZlcmZsb3cteCcpO1xuXG4gIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIH0gQGVsc2Uge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLy8vIENvbnRhaW5lciBmb3IgaW5zaWRlIGEgZ3JpZCBmcmFtZSBjb250YWluaW5nIG11bHRpcGxlIGJsb2Nrcy4gVHlwaWNhbGx5IHVzZWRcbi8vLyBhcyBhIG1vZGlmaWVyIGZvciBhIGAuY2VsbGAgdG8gYWxsb3cgdGhlIGNlbGwgdG8gcGFzcyBhbG9uZyBmbGV4IHNpemluZ1xuLy8vIGNvbnN0cmFpbnRzIC8gZnJvbSBwYXJlbnRzIHRvIGNoaWxkcmVuLlxuQG1peGluIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIE91dHB1dHMgQ1NTIGNsYXNzZXMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIGZvdW5kYXRpb24tZ3JpZChcbiAgJHJvdzogJ3JvdycsXG4gICRjb2x1bW46ICdjb2x1bW4nLFxuICAkY29sdW1uLXJvdzogJ2NvbHVtbi1yb3cnLFxuICAkZ3V0dGVyOiAnZ3V0dGVyJyxcbiAgJHB1c2g6ICdwdXNoJyxcbiAgJHB1bGw6ICdwdWxsJyxcbiAgJGNlbnRlcjogJ2NlbnRlcmVkJyxcbiAgJHVuY2VudGVyOiAndW5jZW50ZXJlZCcsXG4gICRjb2xsYXBzZTogJ2NvbGxhcHNlJyxcbiAgJHVuY29sbGFwc2U6ICd1bmNvbGxhcHNlJyxcbiAgJG9mZnNldDogJ29mZnNldCcsXG4gICRlbmQ6ICdlbmQnLFxuICAkZXhwYW5kZWQ6ICdleHBhbmRlZCcsXG4gICRibG9jazogJ2Jsb2NrJ1xuKSB7XG4gIC8vIFJvd1xuICAuI3skcm93fSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3c7XG5cbiAgICAvLyBDb2xsYXBzaW5nXG4gICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmIC4jeyRyb3d9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGdyaWQtY29sdW1uLWd1dHRlcik7XG5cbiAgICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCAoZnVsbC13aWR0aCkgcm93XG4gICAgJi4jeyRleHBhbmRlZH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLiN7JGV4cGFuZGVkfSkgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuICAgIH1cblxuICAgIEBpZiB0eXBlLW9mKCRncmlkLWNvbHVtbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAgIC8vIFN0YXRpYyAodW5yZXNwb25zaXZlKSByb3cgZ3V0dGVyc1xuICAgICAgLy9cbiAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGdyaWQtY29sdW1uLWd1dHRlciB7XG4gICAgICAgICYuI3skZ3V0dGVyfS0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLiN7JGNvbHVtbn0ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sO1xuXG4gICAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAgICYuI3skZW5kfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWVuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAuI3skcm93fSAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIENvbHVtbiB3aWR0aFxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXNpemUoJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgICAgIEBpZiAkaSA8ICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAgIEBpZiAkcHVzaCB7XG4gICAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRwdXNofS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkcHVsbCB7XG4gICAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoLSRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgQGlmICRvZmZzZXQge1xuICAgICAgICAuI3skLXpmLXNpemV9LSN7JG9mZnNldH0tI3skb30ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLW9mZigkbyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KCRpLCAnLiN7JGNvbHVtbn0nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICAuI3skLXpmLXNpemV9LSN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cblxuICAgICAgLiN7JHJvd30ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC4jeyRleHBhbmRlZH0uI3skcm93fSAuI3skLXpmLXNpemV9LSN7JGNvbGxhcHNlfS4jeyRyb3d9IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tI3skdW5jb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7IEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkLXpmLXNpemUpOyB9XG4gICAgfVxuXG4gICAgLy8gUG9zaXRpb25pbmdcbiAgICBAaWYgJGNlbnRlciB7XG4gICAgICAuI3skLXpmLXNpemV9LSN7JGNlbnRlcn0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBHdXR0ZXIgYWRqdXN0bWVudFxuICAgICQtZ3V0dGVyLXVucG9zLXNlbGVjdG9yOiAoXG4gICAgICBpZigkdW5jZW50ZXIsICcuI3skLXpmLXNpemV9LSN7JHVuY2VudGVyfScsIG51bGwpLFxuICAgICAgaWYoJHB1c2gsICcuI3skLXpmLXNpemV9LSN7JHB1c2h9LTAnLCBudWxsKSxcbiAgICAgIGlmKCRwdWxsLCAnLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0wJywgbnVsbCksXG4gICAgKTtcbiAgICBAaWYgKCR1bmNlbnRlciBvciAkcHVzaCBvciAkcHVsbCkge1xuICAgICAgI3skLWd1dHRlci11bnBvcy1zZWxlY3Rvcn0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC11bnBvcztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBCbG9jayBncmlkIGNvbHVtbnNcbiAgLiN7JGNvbHVtbn0tI3skYmxvY2t9IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1tYXJnaW47XG4gIH1cblxuICBAaWYgJGNvbHVtbiA9PSAnY29sdW1uJyBhbmQgaGFzLXZhbHVlKCRncmlkLWNvbHVtbi1hbGlhcykge1xuICAgIC4jeyRncmlkLWNvbHVtbi1hbGlhc30ge1xuICAgICAgLy8gc2Fzcy1saW50OmRpc2FibGUtYmxvY2sgcGxhY2Vob2xkZXItaW4tZXh0ZW5kXG4gICAgICBAZXh0ZW5kIC5jb2x1bW47XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQgIWdsb2JhbDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIENvbHVtbiBjb3VudCBmb3IgdGhpcyByb3cuIGBudWxsYCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjb2x1bW4gY291bnQuXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93KFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEludmVydHMgdGhlIG1hcmdpbnMgb2YgYSByb3cgdG8gbmVzdCBpdCBpbnNpZGUgb2YgYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93LW5lc3QoJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgJG1hcmdpbjogcmVtLWNhbGMoLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtc2l6ZSkpIC8gMiAqIC0xO1xuXG4gICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXQgYSBncmlkIHJvdyBzaXplXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG5AbWl4aW4gZ3JpZC1yb3ctc2l6ZSgkc2l6ZTogJGdyaWQtcm93LXdpZHRoKSB7XG4gIEBpZiAkc2l6ZSA9PSBleHBhbmQge1xuICAgICRzaXplOiBub25lO1xuICB9XG5cbiAgbWF4LXdpZHRoOiAkc2l6ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkZ3V0dGVyIFthdXRvXVxuLy8vICAgU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRndXR0ZXJzIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBndXR0ZXIgcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRndXR0ZXJzIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cbn1cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigwKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWd1dHRlcigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZ3V0dGVyXG5AbWl4aW4gZ3JpZC1jb2wtZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2V0cyBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucyB0byBtYXRjaCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG1hcmdpbiBbYXV0b11cbi8vLyAgIFRoZSBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJG1hcmdpbnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIG1hcmdpbiByZXNwb25zaXZlLCB1c2luZyB0aGUgJG1hcmdpbnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXJnaW5zIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLW1hcmdpbiAoXG4gICRtYXJnaW46IGF1dG8sXG4gICRtYXJnaW5zOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJG1hcmdpbiwgJG1hcmdpbnMpIHtcbiAgICAkbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIEl0IGNhbiBiZTpcbi8vLyAgICogQSBudW1iZXI6IFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50XG4vLy8gICAgIHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZVxuLy8vICAgICBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuXG4vLy8gICAqIGBjZW50ZXJgOiBDb2x1bW4gd2lsbCBiZSBjZW50ZXJlZFxuLy8vICAgKiBgYXV0b2A6IENvbHVtbiB3aWxsIGJlIHB1c2hlZCB0byB0aGUgbGVmdCAob3IgdG8gdGhlIHJpZ2h0IGZvciB0aGUgbGFzdCBjb2x1bW4pLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICAvLyBBdXRvIHBvc2l0aW9uaW5nXG4gIEBpZiAkcG9zaXRpb24gPT0gYXV0byB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHVzaC9wdWxsXG4gIEBlbHNlIGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgJG9mZnNldDogcGVyY2VudGFnZSgkcG9zaXRpb24gLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxuXG4gIC8vIENlbnRlciBwb3NpdGlvbmluZ1xuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBcImNlbnRlclwiIG9yIFwiYXV0b1wiLic7XG4gIH1cbn1cblxuLy8vIFJlc2V0IGEgcG9zaXRpb24gZGVmaW5pdGlvbi5cbkBtaXhpbiBncmlkLWNvbHVtbi11bnBvc2l0aW9uIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oYXV0byk7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodCBieSBgJG5gIGNvbHVtbnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBXaWR0aCB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1vZmZzZXQoJG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ3JpZC1jb2x1bW4oJG4pO1xufVxuXG4vLy8gRGlzYWJsZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgYWxpZ25pbmcgdG8gdGhlIG9wcG9zaXRlIGVkZ2UuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZW5kIHtcbiAgLy8gVGhpcyBleHRyYSBzcGVjaWZpY2l0eSBpcyByZXF1aXJlZCBmb3IgdGhlIHByb3BlcnR5IHRvIGJlIGFwcGxpZWRcbiAgJjpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXBvcygkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVucG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVucG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC11bnBvcyB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVucG9zaXRpb247XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1vZmZzZXQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLW9mZnNldFxuQG1peGluIGdyaWQtY29sLW9mZigkbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG4pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZW5kKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1lbmRcbkBtaXhpbiBncmlkLWNvbC1lbmQge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY29sdW1uJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRndXR0ZXJcbi8vLyAgIFRoZSBndXR0ZXIgdG8gYXBwbHkgdG8gY2hpbGQgZWxlbWVudHMuIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHdpbGwgdXNlIHRoZSB2YWx1ZXMgaW4gdGhlICRncmlkLWNvbHVtbi1ndXR0ZXIgbWFwLCBpbmNsdWRpbmcgYnJlYWtwb2ludCBzaXplcy5cbi8vLyAgIC0gQSBmaXhlZCBudW1lcmljIHZhbHVlIHdpbGwgYXBwbHkgdGhpcyBndXR0ZXIgdG8gYWxsIGJyZWFrcG9pbnRzLlxuQG1peGluIGdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbicsXG4gICRndXR0ZXI6IG51bGxcbikge1xuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICAgLy8gSWYgYSAkZ3V0dGVyIHZhbHVlIGlzIHBhc3NlZFxuICAgIEBpZigkZ3V0dGVyKSB7XG4gICAgICAvLyBHdXR0ZXJzXG4gICAgICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCR2YWx1ZSkgLyAyO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkZ3V0dGVyKSA+IDAge1xuICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKCN7JG59bisxKSB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXh0cmEgQ1NTIHRvIGJsb2NrIGdyaWQgY2hpbGRyZW4gc28gdGhlIGxhc3QgaXRlbXMgaW4gdGhlIHJvdyBjZW50ZXIgYXV0b21hdGljYWxseS4gQXBwbHkgdGhpcyB0byB0aGUgY29sdW1ucywgbm90IHRoZSByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgaXRlbXMgdGhhdCBhcHBlYXIgaW4gZWFjaCByb3cuXG5AbWl4aW4gZ3JpZC1sYXlvdXQtY2VudGVyLWxhc3QoJG4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdG8gJG4ge1xuICAgIEBpZiAkaSA9PSAxIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gQHR5cGUgRm9udFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gSWdub3JlZCBpZiBudWxsIChkZWZhdWx0KVxuLy8vIEB0eXBlIEZvbnQtV2VpZ2h0XG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGJ1dHRvbnMsIHRyYW5zcGFyZW50IGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuXHR0aW55OiAwLjZyZW0sXG5cdHNtYWxsOiAwLjc1cmVtLFxuXHRkZWZhdWx0OiAwLjlyZW0sXG5cdGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG5cdCRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkaXRpb25hbCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIC5leHBhbmRlZFxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG5cdEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuXG5cdEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG5cdFx0QGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG5cdFx0XHRcdHBhZGRpbmc6ICRwYWRkaW5nO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRAZWxzZSB7XG5cdFx0cGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuXHR9XG5cblx0Ym9yZGVyOiAkYnV0dG9uLWJvcmRlcjtcblx0Ym9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG5cdHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcblx0Zm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG5cdGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblx0Zm9udC13ZWlnaHQ6ICRidXR0b24tZm9udC13ZWlnaHQ7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcblx0bGluZS1oZWlnaHQ6IDE7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcblx0QGlmICRleHBhbmQge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0fVxuXHRAZWxzZSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG5cdH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgaG9sbG93IG9yIGNsZWFyIGJ1dHRvbiBmaWxsaW5nIGFjY29yZGluZyB0byBgJGZpbGxgLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWZpbGwtc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZmlsbCBbJGJ1dHRvbi1maWxsXSAtIFR5cGUgb2YgZmlsbGluZyBiZXR3ZWVuIGBob2xsb3dgIGFuZCBgY2xlYXJgLiBgc29saWRgIGhhcyBubyBlZmZlY3RzLlxuQG1peGluIGJ1dHRvbi1maWxsKFxuXHQkZmlsbDogJGJ1dHRvbi1maWxsXG4pIHtcblx0QGlmICRmaWxsID09IGhvbGxvdyB7XG5cdFx0QGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcblx0fVxuXHRAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG5cdFx0QGluY2x1ZGUgYnV0dG9uLWNsZWFyO1xuXHR9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGVzIG9mIGEgc29saWQvaG9sbG93L2NsZWFyIGJ1dHRvbiBmaWxsaW5nIGFjY29yZGluZyB0byBgJGZpbGxgLlxuLy8vIFNlZSBtaXhpbnMgYGJ1dHRvbi1zdHlsZWAsIGBidXR0b24taG9sbG93LXN0eWxlYCBhbmQgYGJ1dHRvbi1jbGVhci1zdHlsZWAgZm9yIGVmZmVjdHMgb2YgdmlzdWFsIHN0eWxpbmcgcGFyYW1ldGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSAtXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSAtXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIC1cbkBtaXhpbiBidXR0b24tZmlsbC1zdHlsZShcblx0JGZpbGw6ICRidXR0b24tZmlsbCxcblx0JGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcblx0JGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlcixcblx0JGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcblx0QGlmICRmaWxsID09IHNvbGlkIHtcblx0XHRAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuXHR9XG5cdEBlbHNlIGlmICRmaWxsID09IGhvbGxvdyB7XG5cdFx0QGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG5cdH1cblx0QGVsc2UgaWYgJGZpbGwgPT0gY2xlYXIge1xuXHRcdEBpbmNsdWRlIGJ1dHRvbi1jbGVhci1zdHlsZSgkYmFja2dyb3VuZCk7XG5cdH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuXHQkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuXHQkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuXHQkY29sb3I6ICRidXR0b24tY29sb3IsXG5cdCRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG5cdEBpZiAkY29sb3IgPT0gYXV0byB7XG5cdFx0JGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcblx0fVxuXG5cdEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcblx0XHQkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG5cdH1cblxuXHQvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcblx0Jixcblx0Ji5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG5cdCYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuXHQmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogLTVweCA1cHggMCAwIHJnYmEoMCwwLDAsLjI1KTtcblx0XHRib3JkZXI6IDVweCBzb2xpZCAkYmFja2dyb3VuZDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHR9XG5cblx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG5cdFx0Y29sb3I6ICRibGFja1xuXHR9XG59XG5cbi8vLyBTZXRzIHRoZSBiYXNlIHN0eWxlcyBvZiBhIGhvbGxvdyBidXR0b24uXG4vLy8gU2VlIG1peGluIGBidXR0b24taG9sbG93LXN0eWxlYCBmb3IgdGhlIGZpbGxpbmcgc3R5bGVzLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuXHQmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG5cdFx0JiwgJjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHR9XG5cdH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGhvbGxvdyBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWJhY2tncm91bmRdIC0gVGV4dCBhbmQgYm9yZGVyIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGhvdmVyLWxpZ2h0bmVzcyBbJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXSAtIENvbG9yIGxpZ2h0bmVzcyBvbiBob3Zlci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYm9yZGVyLXdpZHRoIFskYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhdIC0gQm9yZGVyIHdpZHRoIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcblx0JGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG5cdCRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzcyxcblx0JGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcblx0JGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG5cdC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuXHQmLFxuXHQmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcblx0Ji5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG5cdCYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcblx0XHRib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuXHRcdGNvbG9yOiAkY29sb3I7XG5cdH1cblxuXHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRib3JkZXItY29sb3I6ICRjb2xvci1ob3Zlcjtcblx0XHRjb2xvcjogJGNvbG9yLWhvdmVyO1xuXHR9XG59XG5cbi8vLyBTZXRzIHRoZSBiYXNlIHN0eWxlcyBvZiBhIGNsZWFyIGJ1dHRvbi5cbi8vLyBTZWUgbWl4aW4gYGJ1dHRvbi1jbGVhci1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbkBtaXhpbiBidXR0b24tY2xlYXIge1xuXHQmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG5cdFx0JiwgJjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXHR9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBjbGVhciBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWJhY2tncm91bmRdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRob3Zlci1saWdodG5lc3MgWyRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc10gLSBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIuXG5AbWl4aW4gYnV0dG9uLWNsZWFyLXN0eWxlKFxuXHQkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcblx0JGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXG4pIHtcblx0JGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG5cdC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuXHQmLFxuXHQmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcblx0Ji5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG5cdCYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcblx0XHRjb2xvcjogJGNvbG9yO1xuXHR9XG5cblx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0Y29sb3I6ICRjb2xvci1ob3Zlcjtcblx0fVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50IGFuZCByZXNldGluZyB0aGUgY3Vyc29yLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3BhY2l0eSBbJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkXSAtIE9wYWNpdHkgb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG5cdCRvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWRcbikge1xuXHRvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG5cdGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcblx0JHNpemU6IDAuNGVtLFxuXHQkY29sb3I6ICR3aGl0ZSxcblx0JG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuXHQmOjphZnRlciB7XG5cdFx0QGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuXHRcdG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG5cdH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcblx0JGV4cGFuZDogZmFsc2UsXG5cdCRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG5cdCRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG5cdCRjb2xvcjogJGJ1dHRvbi1jb2xvcixcblx0JHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuXHRAaW5jbHVkZSBidXR0b24tYmFzZTtcblx0QGluY2x1ZGUgYnV0dG9uLWZpbGwoJHN0eWxlKTtcblx0QGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJHN0eWxlLCAkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG5cblx0QGlmICRleHBhbmQge1xuXHRcdEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG5cdH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcblx0LmJ1dHRvbiB7XG5cdFx0QGluY2x1ZGUgYnV0dG9uKCRzdHlsZTogbm9uZSk7IFx0XG5cblx0XHQvLyBTaXplc1xuXHRcdEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG5cdFx0XHQmLiN7JHNpemV9IHtcblx0XHRcdFx0Zm9udC1zaXplOiAkdmFsdWU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuXHRcdEBpZiAkYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQge1xuXHRcdFx0QGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gb25seSkge1xuXHRcdFx0XHRcdCYuI3skc2l6ZX0tb25seS1leHBhbmRlZCB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gZG93bikge1xuXHRcdFx0XHRcdFx0Ji4jeyRzaXplfS1kb3duLWV4cGFuZGVkIHtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9KSB7XG5cdFx0XHRcdFx0XHQmLiN7JHNpemV9LWV4cGFuZGVkIHtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyBTb2xpZCwgaG9sbG93ICYgY2xlYXIgc3R5bGVzXG5cdFx0QGVhY2ggJGZpbGxpbmcgaW4gKHNvbGlkIGhvbGxvdyBjbGVhcikge1xuXHRcdFx0JHNlbGVjdG9yOiBpZigkYnV0dG9uLWZpbGwgPT0gJGZpbGxpbmcsIG51bGwsICcuI3skZmlsbGluZ30nKTtcblxuXHRcdFx0JiN7JHNlbGVjdG9yfSB7XG5cdFx0XHRcdEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRmaWxsaW5nKTtcblx0XHRcdFx0QGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcpO1xuXG5cdFx0XHRcdEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcblx0XHRcdFx0XHQmLiN7JG5hbWV9IHtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nLCAkY29sb3IsIGF1dG8sIGF1dG8pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8vIERpc2FibGVkIHN0YXRlXG5cdFx0Ji5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuXHRcdFx0QGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXHRcdH1cblxuXHRcdC8vIERyb3Bkb3duIGFycm93XG5cdFx0Ji5kcm9wZG93biB7XG5cdFx0XHRAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cblx0XHRcdEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcblx0XHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRcdGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmLmhvbGxvdywgJi5jbGVhciB7XG5cdFx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0XHRib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG5cdFx0XHRcdFx0Ji4jeyRuYW1lfSB7XG5cdFx0XHRcdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG5cdFx0Ji5hcnJvdy1vbmx5OjphZnRlciB7XG5cdFx0XHR0b3A6IC0wLjFlbTtcblx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0bWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcblx0XHR9XG5cdH1cblxuXHRhLmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uLWdyb3VwXG4vLy8vXG5cbi8vLyBNYXJnaW4gZm9yIGJ1dHRvbiBncm91cHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbicgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBidXR0b25zIHRoYXQgY2FuIGJlIGluIGFuIGV2ZW4td2lkdGggYnV0dG9uIGdyb3VwLiAoT25seSBuZWVkZWQgd2hlbiAkZ2xvYmFsLWZsZXhib3g6IGZhbHNlOylcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGV0ZXJtaW5lcyBpZiAkYnV0dG9uLXJhZGl1cyBpcyBhcHBsaWVkIHRvIGVhY2ggYnV0dG9uIG9yIHRoZSBidXR0b24gZ3JvdXAgYXMgYSB3aG9sZS4gVXNlICRnbG9iYWwtcmFkaXVzIGluIF9zZXR0aW5ncy5zY3NzIHRvIGNoYW5nZSByYWRpdXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgZmxleC1ncm93OiAxO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIERpc2FibGUgY2xlYXJmaXhcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxuXG4gICN7JGNoaWxkLXNlbGVjdG9yfSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICB9XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTWFrZSBidXR0b25zIGJvbmRlZCB3aXRob3V0IGdhcCBiZXR3ZWVuIHRoZW0uIEJvcmRlcnMgYmV0d2VlbiBidXR0b25zIGFyZSBtZXJnZWRcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtbm8tZ2FwcyhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IHJlbS1jYWxjKC0kYm9yZGVyLXdpZHRoKTtcblxuICAgICsgI3skc2VsZWN0b3J9IHtcbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nLFxuICAkY291bnQ6IG51bGxcbikge1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyAvLyBEaXNhYmxlIGNsZWFyZml4XG4gICAgfVxuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIE9uZSBjaGlsZFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBUd28gb3IgbW9yZSBjaGlsZHJlZW5cbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXgge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgJiwgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkgfiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEgLyAkaSl9IC0gI3skc3BhY2luZ30pO1xuICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmcgKiAtJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gVW4tc3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU29saWQsIGhvbGxvdyAmIGNsZWFyIHN0eWxlc1xuICAgIEBlYWNoICRmaWxsaW5nIGluIChzb2xpZCBob2xsb3cgY2xlYXIpIHtcbiAgICAgICRiYXNlLXNlbGVjdG9yOiBpZigkYnV0dG9uLWZpbGwgPT0gJGZpbGxpbmcsIG51bGwsICcuI3skZmlsbGluZ30nKTtcblxuICAgICAgJiN7JGJhc2Utc2VsZWN0b3J9IHtcbiAgICAgICAgLy8gRG8gbm90IGdlbmVyYXRlIGJ1dHRvbiBiYXNlIHN0eWxlcyBmb3IgdGhlIGRlZmF1bHQgZmlsbGluZ1xuICAgICAgICBAaWYoJGJ1dHRvbi1maWxsICE9ICRmaWxsaW5nKSB7XG4gICAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRmaWxsaW5nKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJGluZGl2aWR1YWwtc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJyAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0uI3skbmFtZX0nKTtcblxuICAgICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9LCAjeyRpbmRpdmlkdWFsLXNlbGVjdG9yfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZywgJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgICYubm8tZ2FwcyB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtbm8tZ2FwcztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG5cbiAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tei1pbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gc2l6ZSB0byB1c2UgYXMgZGVmYXVsdFxuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLXNpemVcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbFxuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbFxuJGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZTogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uIFVzZWQgdG8gZ2VuZXJhdGUgc2l6aW5nIG1vZGlmaWVycy5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkY2xvc2VidXR0b24tei1pbmRleDtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuXG4gICAgLy8gR2VuZXJhdGUgYSBwbGFjZWhvbGRlciBhbmQgYSBjbGFzcyBmb3IgZWFjaCBzaXplXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRjbG9zZWJ1dHRvbi1zaXplIHtcbiAgICAgIEBhdC1yb290IHtcbiAgICAgICAgJXpmLWNsb3NlLWJ1dHRvbi0tI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKCRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGV4dGVuZCAlemYtY2xvc2UtYnV0dG9uLS0jeyRuYW1lfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVc2UgYnkgZGVmYXVsdCB0aGUgcGxhY2Vob2xkZXIgb2YgdGhlIGRlZmF1bHQgc2l6ZVxuICAgIEBleHRlbmQgJXpmLWNsb3NlLWJ1dHRvbi0tI3skY2xvc2VidXR0b24tZGVmYXVsdC1zaXplfTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwcm9ncmVzcyBiYXIgY29udGFpbmVyLlxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBtZXRlciBvZiBhIHByb2dyZXNzIGJhci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRleHQgaW4gdGhlIHByb2dyZXNzIG1ldGVyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyLXRleHQge1xuICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb2dyZXNzLWJhciB7XG4gIC8vIFByb2dyZXNzIGJhclxuICAucHJvZ3Jlc3Mge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLWNvbnRhaW5lcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJbm5lciBtZXRlclxuICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyO1xuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXIgdGV4dFxuICAucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXItdGV4dDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcbi8vIFtUT0RPXSBDaGVjayBpZiB0cmFuc2l0aW9uOiBhbGw7IGlzIG5lY2Vzc2FyeVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBzbGlkZXIgd2lkdGggb2YgYSB2ZXJ0aWNhbCBzbGlkZXIuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydGllcyB0byBhcHBseSB0byB0aGUgc2xpZGVyIGhhbmRsZSBhbmQgZmlsbC4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIGFjdGl2ZSBmaWxsIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzMzM7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGhlIHNsaWRlciBoYW5kbGVzLlxuQG1peGluIHNsaWRlci1oYW5kbGUge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzMzM7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4gIH1cblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbkBtaXhpbiBzbGlkZXItZGlzYWJsZWQge1xuICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbkBtaXhpbiBzbGlkZXItdmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcblxuICAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMzM7XG4gIH1cblxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzMzO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XG4gIC8vIENvbnRhaW5lclxuICAuc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gRmlsbCBhcmVhXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gIH1cblxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItaGFuZGxlO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLnNsaWRlci5kaXNhYmxlZCxcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIHNsaWRlclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBSVEwgc3VwcG9ydFxuICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc3dpdGNoXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgYWN0aXZlIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAudGlueSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5zbWFsbCBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLmxhcmdlIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaFxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHN3aXRjaCBjb250YWluZXIgYW5kIHBhZGRsZS5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGEgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2ggcGFkZGxlXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gc3dpdGNoIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGEgZGlzYWJsZWQgc3dpdGNoLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkOiAuNSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciBmb3IgYSBkaXNhYmxlZCBzd2l0Y2guXG4vLy8gQHR5cGUgQ3Vyc29yXG4kc3dpdGNoLWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vIG1ha2UgdGhlbSB2YXJpYWJsZXNcbi8vIGFzayBhYm91dCBhY2Nlc3NpYmlsaXR5IG9uIGxhYmVsXG4vLyBjaGFuZ2UgY2xhc3MgbmFtZSBmb3IgdGV4dFxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGNvbnRhaW5lciBjbGFzcy5cbkBtaXhpbiBzd2l0Y2gtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAkc3dpdGNoLW1hcmdpbjtcbiAgb3V0bGluZTogMDtcblxuICAvLyBUaGVzZSBwcm9wZXJ0aWVzIGNhc2NhZGUgZG93biB0byB0aGUgc3dpdGNoIHRleHRcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGlucHV0LiBBcHBseSB0aGlzIHRvIGFuIGA8aW5wdXQ+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBwYWRkbGUgb2YgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gYSBgPGxhYmVsPmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1wYWRkbGUge1xuICAkc3dpdGNoLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAqIDI7XG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1yYWRpdXM7XG4gIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcblxuICAvLyBSZXNldHRpbmcgdGhlc2UgPGxhYmVsPiBwcmVzZXRzIHNvIHR5cGUgc3R5bGVzIGNhc2NhZGUgZG93blxuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIE5lZWRlZCB0byBvdmVycmlkZSBzcGVjaWZpY2l0eVxuICBpbnB1dCArICYge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIFRoZSBwYWRkbGUgaXRzZWxmXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXBhZGRsZS1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gQ2hhbmdlIHRoZSB2aXN1YWwgc3R5bGUgd2hlbiB0aGUgc3dpdGNoIGlzIGFjdGl2ZVxuICBpbnB1dDpjaGVja2VkIH4gJiB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICAgIH1cbiAgfVxuXG4gIC8vIGluZGljYXRlIGEgZGlzYWJsZWQgc3dpdGNoXG4gIGlucHV0OmRpc2FibGVkIH4gJiB7XG4gICAgY3Vyc29yOiAkc3dpdGNoLWN1cnNvci1kaXNhYmxlZDtcbiAgICBvcGFjaXR5OiAkc3dpdGNoLW9wYWNpdHktZGlzYWJsZWQ7XG4gIH1cblxuICBpbnB1dDpmb2N1cyB+ICYge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYWN0aXZlL2luYWN0aXZlIHRleHQgaW5zaWRlIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIHRleHQgZWxlbWVudHMgaW5zaWRlIHRoZSBzd2l0Y2ggYDxsYWJlbD5gLlxuQG1peGluIHN3aXRjaC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtYWN0aXZlIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiA4JTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1pbmFjdGl2ZSB7XG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzaXplIG9mIGEgc3dpdGNoIGJ5IG1vZGlmeWluZyB0aGUgc2l6ZSBvZiB0aGUgYm9keSBhbmQgcGFkZGxlLiBBcHBseSB0aGlzIHRvIGEgc3dpdGNoIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBbMXJlbV0gLSBGb250IHNpemUgb2YgbGFiZWwgdGV4dCB3aXRoaW4gdGhlIHN3aXRjaC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHN3aXRjaC1oZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXG5AbWl4aW4gc3dpdGNoLXNpemUoXG4gICRmb250LXNpemU6IDFyZW0sXG4gICRzd2l0Y2gtaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxuKSB7XG5cbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6ICRwYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1vZmZzZXQ7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgJHN3aXRjaC1oZWlnaHQtc21hbGwsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLmxhcmdlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxNiksICRzd2l0Y2gtaGVpZ2h0LWxhcmdlLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCB0YWJsZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgdGFibGUgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZSAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHN0cmlwZWQgdGFibGUgcm93cyBhbmQgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWJsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdHJpcGVkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgdGFibGVzIGFyZSBzdHJpcGVkIGJ5IGRlZmF1bHQgYW5kIGFuIC51bnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC4gSWYgYGZhbHNlYCwgYSAuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBzdHJpcGVkIHJvd3MuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgc3RyaXBlIG9uIHJvd3Mgb2YgdGhlIHRhYmxlcywgZXhjbHVkaW5nIHRoZSBoZWFkZXIgYW5kIGZvb3Rlci4gSWYgZXZlbiwgdGhlIGV2ZW4gcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBvZGQsIHRoZSBvZGQgcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBlbXB0eSwgb3IgYW55IG90aGVyIHZhbHVlLCB0aGUgdGFibGUgcm93cyB3aWxsIGhhdmUgbm8gc3RyaXBpbmcuXG4vLy8gQHR5cGUgS2V5d29yZFxuJHRhYmxlLXN0cmlwZTogZXZlbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlYWRlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBmb290ZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGhlYWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9vdGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgaGVhZGVyIHdoZW4gdXNpbmcgc3RhY2tlZCB0YWJsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggc3RhY2tlZCB0YWJsZSBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuQG1peGluIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xuICB0ciB7XG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS11bnN0cmlwZSgpIHtcbiAgdHIge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlOiAkdGFibGUtc3RyaXBlLCAkaXMtc3RyaXBlZDogJHRhYmxlLWlzLXN0cmlwZWQpIHtcbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2FwdGlvblxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWRcbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBmb290XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtZm9vdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtZm9vdC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxuICB0aGVhZCxcbiAgdGZvb3Qge1xuICAgIC8vIFJvd3Mgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBDZWxscyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiAjeyRnbG9iYWwtbGVmdH07XG4gICAgfVxuICB9XG5cbiAgLy8gVGFibGUgcm93c1xuICB0Ym9keSB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBzdHJpcGVkXG4gIEBpZiAkaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgIH1cblxuICAgICYudW5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgbm90IHN0cmlwZWRcbiAgQGVsc2UgaWYgJGlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgIH1cblxuICAgICYuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGFibGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0cmlwZSBbJHRhYmxlLXN0cmlwZV0gLSBVc2VzIGtleXdvcmRzIGV2ZW4sIG9kZCwgb3Igbm9uZSB0byBkYXJrZW4gcm93cyBvZiB0aGUgdGFibGUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGV2ZW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdCBbZmFsc2VdIC0gTmVlZGVkIGlmIHlvdSBvbmx5IHdhbnQgdG8gYXBwbHkgdGhpcyB0byBhIHNwZWNpZmljIHRhYmxlLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAuMzEyNXJlbTtcbiAgdGFibGUtbGF5b3V0OiBhdXRvO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2UgaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWAgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogIzE3NzliYSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogIzc2NzY3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6ICMzYWRiNzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICR3YXJuaW5nLWNvbG9yOiAjZmZhZTAwICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkYWxlcnQtY29sb3I6ICNjYzRiMzcgIWdsb2JhbDtcbiAgfVxuICAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGluZm8pIHtcbiAgICAkaW5mby1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBpbmZvKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkaW5mby1jb2xvcjogI2EwZDNlOCAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNlcGVyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2ggaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCkge1xuXHQkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoO1xufVxuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nICFkZWZhdWx0O1xuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvciBpbiBydGwgbW9kZS5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvciBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yKSB7XG5cdCRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3I7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxuQG1peGluIGJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XG5cdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRtYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFxuXHRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkc3VjY2Vzcy1jb2xvciwgJGxpZ2h0bmVzczogNDAlKTtcblx0Ym9yZGVyOiAxcHggc29saWQgc2NhbGUtY29sb3IoJHN1Y2Nlc3MtY29sb3IsICRsaWdodG5lc3M6IC0xMCUpO1xuXHRcblx0QGlmICRzaXRlID09ICdwcm9kJyB7IFxuXHRcdGJhY2tncm91bmQ6ICNjY2U1YTk7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2I5ZGM4YTtcblx0fVxuXHRcblx0cGFkZGluZzogLjVyZW07XG5cdHBhZGRpbmctbGVmdDogMXJlbTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcblxuXHQvLyBJdGVtIHdyYXBwZXJcblx0bGkge1xuXHRcdGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cblx0XHRmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcblx0XHRjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXG5cdFx0QGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdH1cblxuXHRcdEBpZiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3Ige1xuXHRcdFx0Ly8gTmVlZCB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaFxuXHRcdFx0JHNlcGFyYXRvcjogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAnbHRyJywgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0sICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bCk7XG5cblx0XHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0bWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRcdGNvbnRlbnQ6ICRzZXBhcmF0b3I7XG5cdFx0XHRcdFx0Y29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRAZWxzZSB7XG5cdFx0XHRtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuXHRcdH1cblx0fVx0XG5cblx0Ly8gUGFnZSBsaW5rc1xuXHRhIHtcblx0XHRjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdH1cblx0fVxuXHRcblx0bGkuY3VycmVudCB7XG5cdFx0Y29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ7XG5cdH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xuXHQuYnJlYWRjcnVtYnMge1xuXHRcdEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcblxuXHRcdC5kaXNhYmxlZCB7XG5cdFx0XHRjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG5cdFx0XHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHRcdH1cblx0fVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBDYWxsb3V0IHBhZGRpbmdzLlxuLy8vIEB0eXBlIE1hcFxuJGNhbGxvdXQtc2l6ZXM6IChcbiAgc21hbGw6IDAuNXJlbSxcbiAgZGVmYXVsdDogMXJlbSxcbiAgbGFyZ2U6IDNyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6IG1hcC1nZXQoJGNhbGxvdXQtc2l6ZXMsIGRlZmF1bHQpO1xuXG4gIGJvcmRlcjogJGNhbGxvdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkY2FsbG91dC1yYWRpdXM7XG5cbiAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dC1zdHlsZSgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkY2FsbG91dC1mb250LWNvbG9yLCAkY2FsbG91dC1mb250LWNvbG9yLWFsdCkpO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gbWFwLXJlbW92ZSgkY2FsbG91dC1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgkcGFkZGluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FyZFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhcmRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNhcmQgc2hhZG93LlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbi5cbi8vLyBAdHlwZSBudW1iZXJcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIGZvbnQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gLSBCb3R0b20gbWFyZ2luIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGJvcmRlciAtIEJvcmRlciBhcm91bmQgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmFkaXVzIC0gYm9yZGVyIHJhZGl1cyBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaGFkb3cgLSBib3ggc2hhZG93IG9mIHRoZSBjYXJkLlxuQG1peGluIGNhcmQtY29udGFpbmVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkY2FyZC1mb250LWNvbG9yLFxuICAkbWFyZ2luOiAkY2FyZC1tYXJnaW4tYm90dG9tLFxuICAkYm9yZGVyOiAkY2FyZC1ib3JkZXIsXG4gICRyYWRpdXM6ICRjYXJkLWJvcmRlci1yYWRpdXMsXG4gICRzaGFkb3c6ICRjYXJkLXNoYWRvd1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cblxuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBkaXZpZGVyLlxuQG1peGluIGNhcmQtZGl2aWRlcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWRpdmlkZXItYmFja2dyb3VuZCxcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBzZWN0aW9uLlxuQG1peGluIGNhcmQtc2VjdGlvbihcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhcmQge1xuICAuY2FyZCB7XG4gICAgQGluY2x1ZGUgY2FyZC1jb250YWluZXI7XG4gIH1cblxuICAuY2FyZC1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBjYXJkLWRpdmlkZXI7XG4gIH1cblxuICAuY2FyZC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjYXJkLXNlY3Rpb247XG4gIH1cblxuICAvLyBGb3IgSUUgMTEgLSBGbGV4YnVnXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MvaXNzdWVzLzc1XG4gIC5jYXJkLWltYWdlIHtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICBkaXNwbGF5OiBub25lO1xuXG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cblxuICAvLyBBbGxvdyBhbiBpbnRlcm1pdHRlbnQgc3RhdGUgdG8gZG8gcG9zaXRpb25pbmcgYmVmb3JlIG1ha2luZyB2aXNpYmxlLlxuICAmLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjdXJzb3Igb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4IHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6ICRoYXMtdGlwLWN1cnNvcjtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIHotaW5kZXg6IDEyMDA7XG5cbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJi5ib3R0b20ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi50b3Age1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmxlZnQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5yaWdodCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlO1xuICB9XG5cbiAgJi5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBwbHVzIGljb24gd2hlbiBgJGFjY29yZGlvbi1wbHVzbWludXNgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ6ICdcXDAwMkInICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIG1pbnVzIGljb24gd2hlbiBgJGFjY29yZGlvbi1wbHVzbWludXNgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJGFjY29yZGlvbi1taW51cy1jb250ZW50OiAnXFwyMDEzJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRhY2NvcmRpb24tcGx1cy1jb250ZW50O1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGFjY29yZGlvbi1taW51cy1jb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9ICYge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYubWFpbi1zZWN0aW9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAmLm1pZGRsZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgICYuYm90dG9tIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0YWJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBvZiB0aGUgdGFiIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgZm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhIHRhYiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG5cdCRtYXJnaW46ICR0YWItbWFyZ2luLFxuXHQkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuXHQkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcblx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cdG1hcmdpbjogJG1hcmdpbjtcblx0Ym9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcblx0PiBsaSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0d2lkdGg6IGF1dG87XG5cdH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG5cdCRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcblx0JGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcblx0JGNvbG9yOiAkdGFiLWNvbG9yLFxuXHQkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcblx0JGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuXHQkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuXHRmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XG5cdD4gYSB7XG5cdFx0QGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBhZGRpbmc6ICRwYWRkaW5nO1xuXHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRjb2xvcjogJGNvbG9yO1xuXHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEzcHg7XG5cdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEzcHg7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgIzQ3NjUxZTtcblx0XHRiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6ICNhMmUyNGE7XG5cdFx0fVxuXG5cdFx0Jjpmb2N1cyxcblx0XHQmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG5cdFx0XHRjb2xvcjogJGNvbG9yLWFjdGl2ZTtcblx0XHR9XG5cdH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcblx0JGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuXHQkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcblx0JGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG5cdGJvcmRlci10b3A6IDA7XG5cdGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXHRjb2xvcjogJGNvbG9yO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG5cdCRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuXHRib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuXHRib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG5cdCRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHBhZGRpbmc6ICRwYWRkaW5nO1xuXG5cdCYuaXMtYWN0aXZlIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcblx0LnRhYnMge1xuXHRcdEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuXHR9XG5cblx0Ly8gVmVydGljYWxcblx0LnRhYnMudmVydGljYWwge1xuXHRcdEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuXHR9XG5cblx0Ly8gU2ltcGxlXG5cdC50YWJzLnNpbXBsZSB7XG5cdFx0PiBsaSA+IGEge1xuXHRcdFx0cGFkZGluZzogMDtcblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIFByaW1hcnkgY29sb3Jcblx0LnRhYnMucHJpbWFyeSB7XG5cdFx0YmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cblx0XHQ+IGxpID4gYSB7XG5cdFx0XHRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0YmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC50YWJzLXRpdGxlIHtcblx0XHRAaW5jbHVkZSB0YWJzLXRpdGxlO1xuXHR9XG5cblx0LnRhYnMtY29udGVudCB7XG5cdFx0QGluY2x1ZGUgdGFicy1jb250ZW50O1xuXHR9XG5cblx0LnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG5cdFx0QGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuXHR9XG5cblx0LnRhYnMtcGFuZWwge1xuXHRcdEBpbmNsdWRlIHRhYnMtcGFuZWw7XG5cdH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsICRyZ2IgLyAxMi45MiwgcG93KCgkcmdiICsgMC4wNTUpIC8gMS4wNTUsIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogMSAvICRyYXRpbztcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYXNlIC0gQ29sb3IgdG8gY2hlY2sgbHVtaW5hbmNlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGNvbG9ycyBbKCR3aGl0ZSwgJGJsYWNrKV0gLSBDb2xvcnMgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHByaW1hcnktY29sb3I6ICMxNzc5YmEgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzZWNvbmRhcnktY29sb3I6ICM3Njc2NzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzdWNjZXNzLWNvbG9yOiAjM2FkYjc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkd2FybmluZy1jb2xvcjogI2ZmYWUwMCAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJGFsZXJ0LWNvbG9yOiAjY2M0YjM3ICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aHVtYm5haWxcbi8vLy9cblxuLy8vIEJvcmRlciBhcm91bmQgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBCb3JkZXJcbiR0aHVtYm5haWwtYm9yZGVyOiA0cHggc29saWQgJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGh1bWJuYWlsIHN0eWxlcyB0byBhbiBlbGVtZW50LlxuQG1peGluIHRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XG4gIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93O1xuXG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5AbWl4aW4gdGh1bWJuYWlsLWxpbmsge1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10aHVtYm5haWwge1xuICAudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gIH1cblxuICBhLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsLWxpbms7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gbWFyZ2luIGZvciBpdGVtcyBpbiBhIHNpbXBsZSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIHRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS4uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZTogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBhY3RpdmVgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgY2VudGVyZWQuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGAubWVudS1jZW50ZXJlZCA+IC5tZW51YCB3aXRoIGAubWVudS5hbGlnbi1jZW50ZXJgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgdXNpbmcgYGljb24tKmAgY2xhc3NlcyB3aXRob3V0IGAuaWNvbnNgIGNsYXNzZXNcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAaWYgJGdsb2JhbC1mbGV4Ym94IHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0fVxuXG5cdGxpIHtcblx0XHRAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzIwMjAyMDtcblx0XHRcblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMxMTE7XG5cdFx0XHRjb2xvcjogI2ZmZjtcblx0XHR9XG5cdH1cblxuXHRhLFxuXHQuYnV0dG9uIHtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cGFkZGluZzogJG1lbnUtaXRlbXMtcGFkZGluZztcblx0fVxuXG5cdC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuXHRpbnB1dCxcblx0c2VsZWN0LFxuXHRhLFxuXHRidXR0b24ge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XG5cdFx0Y29sb3I6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IDUwJSk7XG5cdFx0QGlmICRzaXRlID09ICdwcm9kJyB7XG5cdFx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcblx0XHR9IFxuXHRcdFxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzExMTtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdH1cblx0fVxuXG5cdGlucHV0IHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcblx0QGlmICRnbG9iYWwtZmxleGJveCB7XG5cdFx0bGkge1xuXHRcdFx0ZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcblx0XHR9XG5cdH1cblx0QGVsc2Uge1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0PiBsaSB7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHR9XG5cdH1cbn1cblxuLy8vIEFsaWduIG1lbnUgaXRlbXMuXG5AbWl4aW4gbWVudS1hbGlnbigkYWxpZ25tZW50KSB7XG5cdEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuXHRcdEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdH1cblx0XHRAZWxzZSB7XG5cdFx0XHR0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG5cdFx0fVxuXHR9XG5cdEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuXHRcdEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuXHRcdFx0bGkge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG5cdFx0XHRcdC5zdWJtZW51IGxpIHtcblx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji52ZXJ0aWNhbCBsaSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG5cdFx0XHRcdC5zdWJtZW51IGxpIHtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBlbHNlIHtcblx0XHRcdHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cblx0XHRcdC5zdWJtZW51IGxpIHtcblx0XHRcdFx0dGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuXHRcdFx0fVxuXG5cdFx0XHQmLnZlcnRpY2FsIHtcblx0XHRcdFx0LnN1Ym1lbnUgbGkge1xuXHRcdFx0XHRcdHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0QGVsc2UgaWYgJGFsaWdubWVudCA9PSBjZW50ZXIge1xuXHRcdEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuXHRcdFx0bGkge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHRcdFx0XHQuc3VibWVudSBsaSB7XG5cdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBlbHNlIHtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdFx0LnN1Ym1lbnUgbGkge1xuXHRcdFx0XHR0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG5cdEBpZiAkZGlyID09IGhvcml6b250YWwge1xuXHRcdEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHR9XG5cdFx0QGVsc2Uge1xuXHRcdFx0bGkge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuXHRcdEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuXHRcdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdH1cblx0XHRAZWxzZSB7XG5cdFx0XHRsaSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRAZWxzZSB7XG5cdFx0QHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcblx0fVx0XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gVGhpcyBlZmZlY3RzIHRoZSBzaWRlIG9mIHRoZSBgPGxpPmAgdGhhdCByZWNlaXZlcyB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIFskbWVudS1zaW1wbGUtbWFyZ2luXSAtIFRoZSBtYXJnaW4gdG8gYXBwbHkgdG8gZWFjaCBgPGxpPmAuXG5AbWl4aW4gbWVudS1zaW1wbGUoJGRpcjogJGdsb2JhbC1sZWZ0LCAkbWFyZ2luOiAkbWVudS1zaW1wbGUtbWFyZ2luKSB7XG5cdEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdH1cblxuXHRsaSArIGxpIHtcblx0XHRtYXJnaW4tI3skZGlyfTogJG1hcmdpbjtcblx0fVxuXG5cdGEge1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkbWFyZ2luIFskbWVudS1uZXN0ZWQtbWFyZ2luXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG5lc3RlZC1hbGlnbm1lbnQgW2xlZnRdIC0gQWxpZ25tZW50IG9mIHRoZSBuZXN0ZWQgY2xhc3NcbkBtaXhpbiBtZW51LW5lc3RlZChcblx0JG1hcmdpbjogJG1lbnUtbmVzdGVkLW1hcmdpbixcblx0JG5lc3RlZC1hbGlnbm1lbnQ6IGxlZnRcbikge1xuXHRAaWYgJG5lc3RlZC1hbGlnbm1lbnQgPT0gcmlnaHQge1xuXHRcdG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWFyZ2luO1xuXHRcdG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG5cdH1cblx0QGVsc2Uge1xuXHRcdG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuXHRcdG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG5cdH1cblxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGljb25zIGluIG1lbnVzLlxuQG1peGluIG1lbnUtaWNvbnMoKSB7XG5cdEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuXHRcdGEge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHR9XG5cdH1cblx0QGVsc2Uge1xuXHRcdGltZyxcblx0XHRpLFxuXHRcdHN2ZyB7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG5cdFx0XHQrIHNwYW4ge1xuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxuQG1peGluIG1lbnUtaWNvbi1wb3NpdGlvbigkcG9zaXRpb246IGxlZnQsICRzcGFjaW5nOiAkbWVudS1pY29uLXNwYWNpbmcpIHtcblx0QGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcblx0XHRsaSBhIHtcblx0XHRcdEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuXHRcdFx0XHRmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG5cdFx0XHR9XG5cblx0XHRcdGltZyxcblx0XHRcdGksXG5cdFx0XHRzdmcge1xuXHRcdFx0XHRtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cblx0XHRcdFx0QGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuXHRcdGxpIGEge1xuXHRcdFx0QGlmICRnbG9iYWwtZmxleGJveCB7XG5cdFx0XHRcdGZsZXgtZmxvdzogcm93IG5vd3JhcDtcblx0XHRcdH1cblxuXHRcdFx0aW1nLFxuXHRcdFx0aSxcblx0XHRcdHN2ZyB7XG5cdFx0XHRcdG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRzcGFjaW5nO1xuXG5cdFx0XHRcdEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0QGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG5cdFx0bGkgYSB7XG5cdFx0XHRAaWYgJGdsb2JhbC1mbGV4Ym94IHtcblx0XHRcdFx0ZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuXHRcdFx0fVxuXHRcdFx0QGVsc2Uge1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR9XG5cblx0XHRcdGltZyxcblx0XHRcdGksXG5cdFx0XHRzdmcge1xuXHRcdFx0XHRAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIGF1dG8gJHNwYWNpbmc7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGVsc2Uge1xuXHRcdFx0XHRcdGFsaWduLXNlbGY6IHN0cmV0Y2g7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuXHRcdGxpIGEge1xuXHRcdFx0QGlmICRnbG9iYWwtZmxleGJveCB7XG5cdFx0XHRcdGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcblx0XHRcdH1cblx0XHRcdEBlbHNlIHtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0fVxuXG5cdFx0XHRpbWcsXG5cdFx0XHRpLFxuXHRcdFx0c3ZnIHtcblx0XHRcdFx0QGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdG1hcmdpbjogJHNwYWNpbmcgYXV0byAwO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBlbHNlIHtcblx0XHRcdFx0XHRhbGlnbi1zZWxmOiBzdHJldGNoO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcblx0cGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG5cblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIG1lbnUtc3RhdGUtYWN0aXZlIHtcblx0YmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcblx0Y29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZSwgKCRtZW51LWl0ZW0tY29sb3ItYWN0aXZlLCAkbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmUpKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG5cdC5tZW51IHtcblx0XHRAaW5jbHVkZSBtZW51LWJhc2U7XG5cblx0XHQvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG5cdFx0JiwgJi5ob3Jpem9udGFsIHtcblx0XHRcdEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXHRcdH1cblxuXHRcdC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG5cdFx0Ji52ZXJ0aWNhbCB7XG5cdFx0XHRAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG5cdFx0fVxuXG5cdFx0Ly8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuXHRcdCYuZXhwYW5kZWQge1xuXHRcdFx0QGluY2x1ZGUgbWVudS1leHBhbmQ7XG5cdFx0fVxuXG5cdFx0Ly8gU2ltcGxlXG5cdFx0Ji5zaW1wbGUge1xuXHRcdFx0QGluY2x1ZGUgbWVudS1zaW1wbGU7XG5cdFx0fVxuXG5cdFx0Ly8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuXHRcdEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuXHRcdFx0Ji4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG5cdFx0XHRcdEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXHRcdFx0fVxuXG5cdFx0XHQmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG5cdFx0XHRcdEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcblx0XHRcdH1cblxuXHRcdFx0Ji4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuXHRcdFx0XHRAaW5jbHVkZSBtZW51LWV4cGFuZDtcblx0XHRcdH1cblxuXHRcdFx0Ji4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcblx0XHRcdFx0QGluY2x1ZGUgbWVudS1leHBhbmQ7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gTmVzdGluZ1xuXHRcdCYubmVzdGVkIHtcblx0XHRcdEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuXHRcdH1cblxuXHRcdC8vIEljb24gQmFzZSBTdHlsZXNcblx0XHQmLmljb25zIHtcblx0XHRcdEBpbmNsdWRlIG1lbnUtaWNvbnM7XG5cdFx0fVxuXG5cdFx0Ly8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG5cdFx0QGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcblx0XHRcdCYuaWNvbi10b3AsXG5cdFx0XHQmLmljb24tcmlnaHQsXG5cdFx0XHQmLmljb24tYm90dG9tLFxuXHRcdFx0Ji5pY29uLWxlZnQge1xuXHRcdFx0XHRAaW5jbHVkZSBtZW51LWljb25zO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8vIEljb24gTGVmdFxuXHRcdCYuaWNvbi1sZWZ0IHtcblx0XHRcdEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihsZWZ0KTtcblx0XHR9XG5cblx0XHQvLyBJY29uIFJpZ2h0XG5cdFx0Ji5pY29uLXJpZ2h0IHtcblx0XHRcdEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG5cdFx0fVxuXG5cdFx0Ly8gSWNvbiBUb3Bcblx0XHQmLmljb24tdG9wIHtcblx0XHRcdEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuXHRcdH1cblxuXHRcdC8vIEljb24gQm90dG9tXG5cdFx0Ji5pY29uLWJvdHRvbSB7XG5cdFx0XHRAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24oYm90dG9tKTtcblx0XHR9XG5cblx0XHQvLyBBY3RpdmUgc3RhdGVcblx0XHQuaXMtYWN0aXZlID4gYSB7XG5cdFx0XHRAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcblx0XHR9XG5cdFx0XG5cdFx0Ly8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG5cdFx0QGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcblx0XHRcdC5hY3RpdmUgPiBhIHtcblx0XHRcdFx0QGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gQWxpZ24gbGVmdFxuXHRcdCYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcblx0XHRcdEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG5cdFx0fVxuXG5cdFx0Ly8gQWxpZ24gcmlnaHRcblx0XHQmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuXHRcdFx0QGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG5cblx0XHRcdC5uZXN0ZWQge1xuXHRcdFx0XHRAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8vIEFsaWduIGNlbnRlclxuXHRcdCYuYWxpZ24tY2VudGVyIHtcblx0XHRcdEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcblx0XHR9XG5cblx0XHQubWVudS10ZXh0IHtcblx0XHRcdEBpbmNsdWRlIG1lbnUtdGV4dDtcblx0XHR9XG5cdH1cblxuXHRAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuXHRcdC5tZW51LWNlbnRlcmVkIHtcblx0XHRcdD4gLm1lbnUge1xuXHRcdFx0XHRAaWYgJGdsb2JhbC1mbGV4Ym94IHtcblx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0QGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG5cdC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgcGFkZGluZyBmb3IgYWxpZ25pbmcgdGhlIGFycm93IGNvcnJlY3RseS5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyb3Bkb3ducy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3Igc3ViLW1lbnUgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIEJvcmRlciB3aWR0aCBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8gVXNlZCB0byBhZGp1c3QgdG9wIG1hcmdpbiBvZiBhIHN1Yi1tZW51IGlmIGEgYm9yZGVyIGlzIHVzZWQuXG4vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoOiBudGgoJGRyb3Bkb3dubWVudS1ib3JkZXIsIDEpO1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuQGlmICRzaXRlID09ICd0ZXN0JyB7XG5cdCRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBzY2FsZS1jb2xvcihwcmltYXJ5LCAkbGlnaHRuZXNzOiA1MCUpICFkZWZhdWx0O1xufVxuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgPiBhOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMTRweDtcbiAgfVxuXG4gICYub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gIH1cblxuICAmLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxufVxuXG5AbWl4aW4gZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICA+IGxpLm9wZW5zLWxlZnQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nO1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIH1cblxuICAgIC8vIFRvcC1sZXZlbCBpdGVtXG4gICAgPiBsaSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuICAgICAgcGFkZGluZzogMTRweCAxNnB4O1xuICAgIH1cblxuICAgIC8vIFRvcC1sZXZlbCBpdGVtIGFjdGl2ZSBzdGF0ZVxuICAgID4gbGkuaXMtYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG5cdG1hcmdpbi10b3A6IC0xcHg7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmRyb3Bkb3duICYgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aXRsZS1iYXJcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBXZWlnaHRcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhciBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgbWVudSBpY29uIGFuZCB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XG4gIC50aXRsZS1iYXIge1xuICAgIHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGl0bGViYXItY29sb3I7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAubWVudS1pY29uIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudGl0bGUtYmFyLWxlZnQsXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIGlucHV0LmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICAgIC5tZW51LWljb24ge1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbG9hdFxuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzIHtcbiAgLmZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LWNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLmNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxufVxuIiwiQGZ1bmN0aW9uIC16Zi1mbGV4LWp1c3RpZnkoJHRleHQtZGlyZWN0aW9uKXtcbiAgJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgICAnbGVmdCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtZW5kLCBmbGV4LXN0YXJ0KSxcbiAgICAncmlnaHQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LXN0YXJ0LCBmbGV4LWVuZCksXG4gICAgJ2NlbnRlcic6IGNlbnRlcixcbiAgICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbiAgKTtcblxuICBAcmV0dXJuICQtemYtZmxleC1qdXN0aWZ5O1xufVxuXG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtanVzdGlmeSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgJi5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiBtaWRkbGUpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudCB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcbiAgQGluY2x1ZGUgZmxleC1oZWxwZXJzO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gLjAwMTI1O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gLjAwMTI1O1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBpbmNsdWRlIC1tb3Rpb24tdWktZGVmYXVsdHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIHNldHVwIGZvciB0cmFuc2l0aW9uLlxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gYWN0aXZhdGUgYSB0cmFuc2l0aW9uIG9uLlxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheS1hbW91bnQgLSBBbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyB0byBhZGQgYmV0d2VlbiBlYWNoIGl0ZW0ncyBhbmltYXRpb24uXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDA7IC8vIFByZXZlbnQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2Vcbn1cbiIsIi8vLyBGb3JtYXQgZm9yIENTUyBjbGFzc2VzIGNyZWF0ZWQgd2l0aCBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IGFwcGVuZCBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNlbGVjdG9ycyBhcmUgY2hhaW5lZCB0byB0aGUgc2VsZWN0b3IgKGAuY2xhc3MuZW50ZXJgKSwgb3IgYXBwZW5kZWQgYXMgYSBuZXcgY2xhc3MgKGAuY2xhc3MtZW50ZXJgKS5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWydtdWktJ10gLSBQcmVmaXggdG8gYWRkIGJlZm9yZSB0aGUgc3RhdGUgb2YgYSBjbGFzcy4gRW50ZXIgYW4gZW1wdHkgc3RyaW5nIHRvIHVzZSBubyBwcmVmaXguXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnLWFjdGl2ZSddIC0gU3VmZml4IHRvIGFkZCB0byB0aGUgYWN0aXZlIHN0YXRlIGNsYXNzLlxuJG1vdGlvbi11aS1jbGFzc2VzOiAoXG4gIGNoYWluOiB0cnVlLFxuICBwcmVmaXg6ICdtdWktJyxcbiAgYWN0aXZlOiAnLWFjdGl2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGUgbmFtZXMgdG8gcmVmZXJlbmNlIHdoZW4gd3JpdGluZyBtb3Rpb24gY2xhc3Nlcy4gVG8gdXNlIG11bHRpcGxlIGNsYXNzIG5hbWVzIGZvciBvbmUgc3RhdGUsIGVudGVyIGEgbGlzdCBvZiBzdHJpbmdzIGluc3RlYWQgb2Ygb25lIHN0cmluZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3RhdGVzOiAoXG4gIGluOiAnZW50ZXInLFxuICBvdXQ6ICdsZWF2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzcGVlZCB0aGF0IHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zIHBsYXkgYXQsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgc3BlZWQuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXNwZWVkczogKFxuICBkZWZhdWx0OiA1MDBtcyxcbiAgc2xvdzogNzUwbXMsXG4gIGZhc3Q6IDI1MG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGVsYXkgdG8gYWRkIGJlZm9yZSBtb3Rpb24sIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZGVsYXkuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWRlbGF5czogKFxuICBkZWZhdWx0OiAwLFxuICBzaG9ydDogMzAwbXMsXG4gIGxvbmc6IDcwMG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZWFzaW5nIGZvciB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucywgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBlYXNpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWVhc2luZ3M6IChcbiAgZGVmYXVsdDogbGluZWFyLFxuICBsaW5lYXI6IGxpbmVhcixcbiAgZWFzZTogZWFzZSxcbiAgZWFzZS1pbjogZWFzZS1pbixcbiAgZWFzZS1vdXQ6IGVhc2Utb3V0LFxuICBlYXNlLWluLW91dDogZWFzZS1pbi1vdXQsXG4gIGJvdW5jZS1pbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpLFxuICBib3VuY2Utb3V0OiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpLFxuICBib3VuY2UtaW4tb3V0OiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSksXG4pICFkZWZhdWx0O1xuXG4vLy8gTWlzY2VsbGFuZW91cyBzZXR0aW5ncyByZWxhdGVkIHRvIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW2ZhbHNlXSAtIERlZmluZXMgaWYgc2xpZGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBoaW5nZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNjYWxlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc3BpbiBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuJG1vdGlvbi11aS1zZXR0aW5nczogKFxuICBzbGlkZS1hbmQtZmFkZTogZmFsc2UsXG4gIGhpbmdlLWFuZC1mYWRlOiB0cnVlLFxuICBzY2FsZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc3Bpbi1hbmQtZmFkZTogdHJ1ZSxcbiAgcGF1c2UtcXVldWUtY2xhc3M6ICdpcy1wYXVzZWQnLFxuICBhY3RpdmF0ZS1xdWV1ZS1jbGFzczogJ2lzLWFuaW1hdGluZycsXG4pICFkZWZhdWx0O1xuIiwiLy8gSW50ZXJuYWwgY291bnRlciBmb3IgY3JlYXRpbmcgdW5pcXVlIGtleWZyYW1lIG5hbWVzXG4kLW11aS1jdXN0b206IDA7XG5cbi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zLiBVc2UgdGhpcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGBtdWktYW5pbWF0aW9uYCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBrZXlmcmFtZSBhbmltYXRpb24gKndpdGhvdXQqIGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGl0IHRvIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGtleWZyYW1lLlxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIFwiI3skb3V0cHV0fVwiO1xufVxuXG4vLy8gUHJpbnRzIHRoZSBDU1MgcHJvcGVydGllcyBmcm9tIGEgc3BlY2lmaWMga2V5IGluIGEga2V5ZnJhbWVzIG1hcC4gVXNlZCB0byBib3Jyb3cgQ1NTIGZyb20ga2V5ZnJhbWUgZnVuY3Rpb25zIGZvciB1c2UgaW4gdHJhbnNpdGlvbnMuXG4vLy8gQHBhcmFtIHtNYXB9ICRrZiAtIEtleWZyYW1lIG1hcCB0byBleHRyYWN0IGZyb20uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRrZXkgLSBLZXkgaW4gdGhlIG1hcCB0byBwcmludCB0aGUgQ1NTIG9mLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC1tdWkta2V5ZnJhbWUtZ2V0KCRrZiwgJGtleSkge1xuICAkbWFwOiBtYXAtZ2V0KCRrZiwgJGtleSk7XG5cbiAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkbWFwIG9yICgpIHtcbiAgICAvLyBTb21lIGtleWZyYW1lIG1hcHMgc3RvcmUgdHJhbnNmb3JtcyBhcyBxdW90ZWQgc3RyaW5nc1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycge1xuICAgICAgJHZhbHVlOiB1bnF1b3RlKCR2YWx1ZSk7XG4gICAgfVxuICAgICN7JHByb3B9OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8vIFJlZm9ybWF0cyBhIG1hcCBjb250YWluaW5nIGtleXMgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzLCBzbyB0aGF0IGVhY2gga2V5IGlzIGEgc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNwbGl0IHVwLlxuLy8vIEByZXR1cm4ge01hcH0gQSByZWZvcm1hdHRlZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBTcGxpdCBrZXlzIHdpdGggbXVsdGlwbGUgdmFsdWVzIGludG8gaW5kaXZpZHVhbCBrZXlzXG4gIEBlYWNoICRrZXksICRpdGVtIGluICRtYXAge1xuICAgICRrZXktdHlwZTogdHlwZS1vZigka2V5KTtcblxuICAgIEBpZiAka2V5LXR5cGUgPT0gJ251bWJlcicge1xuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRpdGVtKSk7XG4gICAgfSBAZWxzZSBpZiAka2V5LXR5cGUgPT0gJ2xpc3QnIHtcbiAgICAgIEBlYWNoICRrIGluICRrZXkge1xuICAgICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGs6ICRpdGVtKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIGEgc2VyaWVzIG9mIGtleWZyYW1lIG9iamVjdHMgaW50byBvbmUuXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkbWFwcy4uLiAtIEEgc2VyaWVzIG9mIG1hcHMgdG8gbWVyZ2UsIGFzIGluZGl2aWR1YWwgcGFyYW1ldGVycy5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQga2V5ZnJhbWUgb2JqZWN0LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtY29tYmluZSgkbWFwcy4uLikge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2ggbWFwIHBhc3NlZCBpblxuICBAZWFjaCAkbWFwIGluICRtYXBzIHtcbiAgICBAaWYgLW11aS1pcy1mdW5jdGlvbigkbWFwKSB7XG4gICAgICAkbWFwOiAtbXVpLXNhZmUtY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW251bGxdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuIEJ5IGRlZmF1bHQgYGxlZnRgIGFuZCBgcmlnaHRgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkYW1vdW50IFsxMDAlXSAtIExlbmd0aCBvZiB0aGUgc2xpZGUgYXMgYSBwZXJjZW50YWdlIHZhbHVlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNsaWRlIChcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogbnVsbCxcbiAgJGFtb3VudDogMTAwJSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2xpZGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gIT0gbnVsbCwgJGRpcmVjdGlvbiwgaWYoJHN0YXRlID09IGluLCBsZWZ0LCByaWdodCkpO1xuICAkc2xpZGU6IHNsaWRlKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgLy8gQ1NTIE91dHB1dFxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJbXBvcnRhbnRSdWxlLCBTcGFjZUFmdGVyQ29tbWEsIFNpbmdsZUxpbmVQZXJQcm9wZXJ0eVxuXG5AbWl4aW4gLW1vdGlvbi11aS1kZWZhdWx0cyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLWVhc2luZ3MsIGRlZmF1bHQpO1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktdHJhbnNpdGlvbnMge1xuICAvLyBTbGlkZVxuICAuc2xpZGUtaW4tZG93biAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGRvd24pOyB9XG4gIC5zbGlkZS1pbi1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgcmlnaHQpOyB9XG4gIC5zbGlkZS1pbi11cCAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgdXApOyB9XG4gIC5zbGlkZS1pbi1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgbGVmdCk7IH1cbiAgLnNsaWRlLW91dC1kb3duICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBkb3duKTsgfVxuICAuc2xpZGUtb3V0LXJpZ2h0ICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHJpZ2h0KTsgfVxuICAuc2xpZGUtb3V0LXVwICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHVwKTsgfVxuICAuc2xpZGUtb3V0LWxlZnQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGxlZnQpOyB9XG5cbiAgLy8gRmFkZVxuICAuZmFkZS1pbiAgeyBAaW5jbHVkZSBtdWktZmFkZShpbiwgIDAsIDEpOyB9XG4gIC5mYWRlLW91dCB7IEBpbmNsdWRlIG11aS1mYWRlKG91dCwgMSwgMCk7IH1cblxuICAvLyBIaW5nZVxuICAuaGluZ2UtaW4tZnJvbS10b3AgICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCk7IH1cbiAgLmhpbmdlLWluLWZyb20tcmlnaHQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCk7IH1cbiAgLmhpbmdlLWluLWZyb20tYm90dG9tICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBib3R0b20pOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWxlZnQgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgbGVmdCk7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXggIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXkgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQsIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXRvcCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3ApOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1ib3R0b20gIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgYm90dG9tKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGxlZnQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteCB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteSB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0LCBjZW50ZXIpOyB9XG5cbiAgLy8gU2NhbGVcbiAgLnNjYWxlLWluLXVwICAgIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAwLjUsIDEpOyB9XG4gIC5zY2FsZS1pbi1kb3duICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMS41LCAxKTsgfVxuICAuc2NhbGUtb3V0LXVwICAgeyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDEuNSk7IH1cbiAgLnNjYWxlLW91dC1kb3duIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAwLjUpOyB9XG5cbiAgLy8gU3BpblxuICAuc3Bpbi1pbiAgICAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGN3KTsgfVxuICAuc3Bpbi1vdXQgICAgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGN3KTsgfVxuICAuc3Bpbi1pbi1jY3cgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjY3cpOyB9XG4gIC5zcGluLW91dC1jY3cgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGNjdyk7IH1cblxuICAvLyBUcmFuc2l0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IHRyYW5zaXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFuaW1hdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLWFuaW1hdGlvbnMge1xuICAuc2hha2UgICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNoYWtlKTsgfVxuICAuc3Bpbi1jdyAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4pOyB9XG4gIC5zcGluLWNjdyB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3BpbihjY3cpKTsgfVxuICAud2lnZ2xlICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHdpZ2dsZSk7IH1cblxuICAuc2hha2UsXG4gIC5zcGluLWN3LFxuICAuc3Bpbi1jY3csXG4gIC53aWdnbGUge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIH1cblxuICAvLyBBbmltYXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4gIC5pbmZpbml0ZSB7IGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IGFuaW1hdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gW251bGxdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuIEJ5IGRlZmF1bHQgYDBgIGFuZCBgMWAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbbnVsbF0gLSBPcGFjaXR5IHRvIGVuZCBvbi4gQnkgZGVmYXVsdCBgMWAgYW5kIGAwYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbnVsbCxcbiAgJHRvOiBudWxsLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmcm9tOiBpZigkZnJvbSAhPSBudWxsLCAkZnJvbSwgaWYoJHN0YXRlID09IGluLCAwLCAxKSk7XG4gICR0bzogaWYoJHRvICE9IG51bGwsICR0bywgaWYoJHN0YXRlID09IGluLCAxLCAwKSk7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSBlZmZlY3QgYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW251bGxdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC4gQnkgZGVmYXVsdCBgZnJvbS1iYWNrYCBhbmQgYGZyb20tZnJvbnRgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuQGZ1bmN0aW9uIGhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBudWxsXG4pIHtcbiAgLy8gUm90YXRpb24gZGlyZWN0aW9ucyB3aGVuIGhpbmdpbmcgZnJvbSBiYWNrIHZzLiBmcm9udFxuICAkcm90YXRpb24tYW1vdW50OiA5MGRlZztcbiAgJHJvdGF0aW9ucy1iYWNrOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgKTtcbiAgJHJvdGF0aW9ucy1mcm9tOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgKTtcblxuICAvLyBSb3RhdGlvbiBvcmlnaW5cbiAgJHR1cm4tb3JpZ2luOiBpZigkdHVybi1vcmlnaW4gIT0gbnVsbCwgJHR1cm4tb3JpZ2luLCBpZigkc3RhdGUgPT0gaW4sIGZyb20tYmFjaywgZnJvbS1mcm9udCkpO1xuICAkcm90YXRpb246ICcnO1xuICBAaWYgJHR1cm4tb3JpZ2luID09IGZyb20tZnJvbnQge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWZyb20sICRmcm9tKTtcbiAgfSBAZWxzZSBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1iYWNrIHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1iYWNrLCAkZnJvbSk7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICckdHVybi1vcmlnaW4gbXVzdCBiZSBlaXRoZXIgXCJmcm9tLWJhY2tcIiBvciBcImZyb20tZnJvbnRcIic7XG4gIH1cblxuICAvLyBTdGFydCBhbmQgZW5kIHN0YXRlXG4gICRzdGFydDogJyc7XG4gICRlbmQ6ICcnO1xuICBAaWYgJHN0YXRlID09IGluIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICB9IEBlbHNlIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICB9XG5cbiAgLy8gVHVybiBheGlzXG4gICRvcmlnaW46ICcnO1xuICBAaWYgJGF4aXMgPT0gZWRnZSB7XG4gICAgJG9yaWdpbjogJGZyb207XG4gIH0gQGVsc2Uge1xuICAgICRvcmlnaW46IGNlbnRlcjtcbiAgfVxuXG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAtbXVpLXN0cmluZy1zYWZlKCdoaW5nZS0jeyRzdGF0ZX0tI3skZnJvbX0tI3skYXhpc30tI3skdHVybi1vcmlnaW59JyksXG4gICAgMDogKHRyYW5zZm9ybTogJHN0YXJ0LCB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06ICRlbmQpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbbnVsbF0gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLiBCeSBkZWZhdWx0IGBmcm9tLWJhY2tgIGFuZCBgZnJvbS1mcm9udGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1oaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogbnVsbCxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgaGluZ2UtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICR0dXJuLW9yaWdpbjogaWYoJHR1cm4tb3JpZ2luICE9IG51bGwsICR0dXJuLW9yaWdpbiwgaWYoJHN0YXRlID09IGluLCBmcm9tLWJhY2ssIGZyb20tZnJvbnQpKTtcbiAgJGhpbmdlOiBoaW5nZSgkc3RhdGUsICRmcm9tLCAkYXhpcywgJHBlcnNwZWN0aXZlLCAkdHVybi1vcmlnaW4pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2NhbGluZyB0cmFuc2l0aW9uLiBBIHNjYWxlIG9mIGAxYCBtZWFucyB0aGUgZWxlbWVudCBpcyB0aGUgc2FtZSBzaXplLiBMYXJnZXIgbnVtYmVycyBtYWtlIHRoZSBlbGVtZW50IGJpZ2dlciwgd2hpbGUgbnVtYmVycyBsZXNzIHRoYW4gMSBtYWtlIHRoZSBlbGVtZW50IHNtYWxsZXIuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFtudWxsXSAtIFNpemUgdG8gc3RhcnQgYXQuIEJ5IGRlZmF1bHQgYDBgIGFuZCBgMWAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbbnVsbF0gLSBTaXplIHRvIGVuZCBhdC4gQnkgZGVmYXVsdCBgMWAgYW5kIGAwYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBudWxsLFxuICAkdG86IG51bGwsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNjYWxlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZnJvbTogaWYoJGZyb20gIT0gbnVsbCwgJGZyb20sIGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSkpO1xuICAkdG86IGlmKCR0byAhPSBudWxsLCAkdG8sIGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCkpO1xuICAkc2NhbGU6IHpvb20oJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzcGlubmluZyB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LiBUaGUgYHR1cm5gIHVuaXQgaXMgdXNlZCB0byBzcGVjaWZ5IGhvdyBmYXIgdG8gcm90YXRlLiBgMXR1cm5gIGlzIGVxdWFsIHRvIGEgMzYwLWRlZ3JlZSBzcGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbnVsbF0gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLiBCeSBkZWZhdWx0IGBjd2AgYW5kIGBjY3dgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gIT0gbnVsbCwgJGRpcmVjdGlvbiwgaWYoJHN0YXRlID09IGluLCBjdywgY2N3KSk7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBlbGVtZW50IGJ5IGFkZGluZyB0aGUgYGFuaW1hdGlvbi1uYW1lYCBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWktYW5pbWF0aW9uKCRhcmdzLi4uKSB7XG4gICRuYW1lOiBtYXAtZ2V0KC1tdWktcHJvY2Vzcy1hcmdzKCRhcmdzLi4uKSwgbmFtZSk7XG4gIEBpbmNsdWRlIG11aS1rZXlmcmFtZXMoJG5hbWUsICRhcmdzLi4uKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVucXVvdGUoJG5hbWUpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1yb3VuZGVkXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciByb3VuZGVkIHV0aWxpdHkuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLXJhZGl1c2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMykgIWRlZmF1bHQ7XG5cbi8vLyBSb3VuZGVkIHV0aWxpdHkgKGFsbCBjb3JuZXJzKTogQWRkcyByYWRpdXMgY29ybmVycyAoYWxsIGNvcm5lcnMpIHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJhZGl1cyBbJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzXSBCb3JkZXIgcmFkaXVzIChhbGwgY29ybmVycylcbkBtaXhpbiBib3JkZXItcmFkaXVzKFxuICAkcmFkaXVzOiAkcHJvdG90eXBlLWJvcmRlci1yYWRpdXNcbikge1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xufVxuXG4vLy8gUm91bmRlZCBzcXVhcmUgdXRpbGl0eSBvciByZWN0YW5nbGUgdXRpbGl0eSAoYWxsIGNvcm5lcnMpOiBSb3VuZHMgYWxsIGNvcm5lcnMgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0IHRvIG1ha2UgYSBwaWxsIHNoYXBlLlxuQG1peGluIGJvcmRlci1yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogNTAwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1yb3VuZGVkIHtcbiAgLnJvdW5kZWQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yb3VuZGVkO1xuXG4gICAgLnN3aXRjaC1wYWRkbGUge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJvdW5kZWQ7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyAvLyBGb3Igc3dpdGNoZXNcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucmFkaXVzIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1yb3VuZGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yb3VuZGVkO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuI3skc2l6ZX0tcmFkaXVzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCAndXRmLTgnO1xyXG5cclxuQGltcG9ydCAnc2V0dGluZ3MnO1xyXG5AaW1wb3J0ICdmb3VuZGF0aW9uJztcclxuQGltcG9ydCAnbW90aW9uLXVpJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLmZvdW5kYXRpb24nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2pzdHJlZSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcclxuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2VsZWN0JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcclxuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcclxuQGltcG9ydCAnY29tcG9uZW50cy90ZXh0JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9kYXRhVGFibGVzJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9kYXRhVGFibGVzLmZvdW5kYXRpb24nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2RhdGFUYWJsZXMucmVzcG9uc2l2ZS5mb3VuZGF0aW9uJztcclxuXHJcbi8vIEdsb2JhbCBzdHlsZXNcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XHJcblxyXG4vLyBHcmlkcyAoY2hvb3NlIG9uZSlcclxuQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XHJcbiBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xyXG5cclxuLy8gR2VuZXJpYyBjb21wb25lbnRzXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XHJcbi8vIEJhc2ljIGNvbXBvbmVudHNcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcclxuXHJcbi8vIENvbnRhaW5lcnNcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcclxuLy8gTWVudS1iYXNlZCBjb250YWluZXJzXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XHJcblxyXG4vLyBMYXlvdXQgY29tcG9uZW50c1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xyXG5cclxuLy8gSGVscGVyc1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcztcclxuXHJcbi8vIE1vdGlvbiBVSVxyXG5AaW5jbHVkZSBtb3Rpb24tdWktdHJhbnNpdGlvbnM7XHJcbkBpbmNsdWRlIG1vdGlvbi11aS1hbmltYXRpb25zO1xyXG5cclxuLy8gTm93IGl0J3MgYSBoZWxwZXIgXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXJvdW5kZWQ7XHJcblxyXG4uZGF0YVRhYmxlc193cmFwcGVyIHtcclxuXHRwb3NpdGlvbjogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udG9wLWJhciB7XHJcblx0ei1pbmRleDogMjtcclxufVxyXG5cclxuLmJ1dHRvbi50aW55IHtcclxuXHRwYWRkaW5nOiAuMTI1cmVtIC4yNXJlbSAuMTg3NXJlbTtcclxuXHRmb250LXNpemU6IC42ODc1cmVtO1xyXG59XHJcbi5idXR0b24uc21hbGwge1xyXG5cdHBhZGRpbmc6IC42MjVyZW0gMS4yNXJlbSAuNjg3NXJlbTtcclxuXHRmb250LXNpemU6IC44MTI1cmVtO1xyXG59XHJcblxyXG4uZHJvcGRvd24ubWVudSA+IGxpIHtcclxuXHRtYXgtaGVpZ2h0OiA0NXB4O1xyXG59XHJcblxyXG4uZmMgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuXHQkc2l0ZTogJ3Byb2QnO1xyXG4vL1x0JHNpdGU6ICd0ZXN0JztcclxuXHRcclxuXHQkZ3JhZDE6ICMwMDFmM2E7XHJcblx0JGdyYWQyOiAjMDA2NWJmO1xyXG5cdFxyXG5cdEBpZiAkc2l0ZSA9PSAndGVzdCcge1xyXG5cdFx0JGdyYWQxOiAjNDE2RTBEO1xyXG5cdFx0JGdyYWQyOiAjNzdiYzAwO1xyXG5cdH1cclxuXHRAaWYgJHNpdGUgPT0gJ3Rlc3QzJyB7XHJcblx0XHQkZ3JhZDE6ICNCRTUyMzQ7XHJcblx0XHQkZ3JhZDI6ICNGOEFDNDA7XHJcblx0fVxyXG5cdEBpZiAkc2l0ZSA9PSAndGVzdDQnIHtcclxuXHRcdCRncmFkMTogIzYxN0M4OTtcclxuXHRcdCRncmFkMjogIzkzQTlBQztcclxuXHR9XHJcblx0QGlmICRzaXRlID09ICdsbXMnIHtcclxuXHRcdCRncmFkMTogIzc4ODE5NTtcclxuXHRcdCRncmFkMjogI2E5YjVkMTtcclxuXHR9XHJcblx0QGlmICRzaXRlID09ICdwY2QnIHtcclxuXHRcdCRncmFkMTogIzVlOWQyMDtcclxuXHRcdCRncmFkMjogIzlkZTQzMjtcclxuXHR9XHJcblxyXG5cclxuYm9keSB7IFxyXG5cdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICRncmFkMSwgJGdyYWQyLCAkZ3JhZDEpOyAvKiBGb3IgU2FmYXJpIDUuMSB0byA2LjAgKi9cclxuXHRiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQocmlnaHQsICRncmFkMSwgJGdyYWQyLCAkZ3JhZDEpOyAvKiBGb3IgT3BlcmEgMTEuMSB0byAxMi4wICovXHJcblx0YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQocmlnaHQsICRncmFkMSwgJGdyYWQyLCAkZ3JhZDEpOyAvKiBGb3IgRmlyZWZveCAzLjYgdG8gMTUgKi9cclxuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRncmFkMSwgJGdyYWQyLCAkZ3JhZDEpOyAvKiBTdGFuZGFyZCBzeW50YXggKi9cclxuXHRcclxuXHQtbXMtd29yZC1icmVhazogYnJlYWstYWxsO1xyXG5cdHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxuXHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG5cdC13ZWJraXQtaHlwaGVuczogYXV0bztcclxuXHQtbW96LWh5cGhlbnM6IGF1dG87XHJcblx0LW1zLWh5cGhlbnM6IGF1dG87XHJcblx0aHlwaGVuczogYXV0bztcclxufVxyXG5cclxudGFibGUsIC5kaXNwbGF5IHtcclxuXHQtbXMtd29yZC1icmVhazogbm9ybWFsO1xyXG5cdHdvcmQtYnJlYWs6IG5vcm1hbDtcclxuXHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG59XHJcblxyXG5wb2x5bGluZXtcclxuXHRvcGFjaXR5OiAuMztcclxuXHRzdHJva2U6IGJsYWNrO1xyXG5cdHN0cm9rZS13aWR0aDogMnB4O1xyXG5cdGZpbGw6IG5vbmU7XHJcbn1cclxuXHJcbi53YWl0X2RpdiB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0ei1pbmRleDogMTAxMDtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuNylcclxuXHRcdHVybCgnLi4vaW1hZ2VzL2dlYXJzLnN2ZycpXHJcblx0XHQ1MCUgNTAlXHJcblx0XHRuby1yZXBlYXQ7XHJcbn1cclxuXHJcbmJvZHkubG9hZGluZyB7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuYm9keS5sb2FkaW5nIC53YWl0X2RpdiB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi53YWl0X21lc3NhZ2Uge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAxNXB4O1xyXG5cdHdpZHRoOiAzMjVweDtcclxuXHRoZWlnaHQ6IDE0MHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogNTAlO1xyXG5cdGJvdHRvbTogNTAlO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0XHJcblx0bWFyZ2luOiBhdXRvO1xyXG5cdG1hcmdpbi10b3A6IDEwMHB4O1xyXG5cdGJvcmRlcjogOHB4IHNvbGlkICRzZWNvbmRhcnktY29sb3I7XHJcblx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0LW1vei1ib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xyXG59XHJcblxyXG4ubXktcm93cyB7XHJcblx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHRib3gtc2hhZG93OiAtMTBweCAxMHB4IDIwcHggIzAwMDtcclxufVxyXG5cclxuI21haW4td3JhcCAge1xyXG5cdGJveC1zaGFkb3c6IC0xMHB4IDMwcHggMjBweCAjMDAwO1xyXG59XHJcblxyXG4ubG9naW4ge1xyXG5cdGZsb2F0OiByaWdodDtcclxuXHRmb250LXNpemU6IC43NWVtO1xyXG5cdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRwYWRkaW5nLXRvcDogMTBweDtcclxufVxyXG5cclxuI3RvcF9oZWFkZXIge1xyXG5cdGJhY2tncm91bmQ6ICNmZmY7XHRcclxuXHQtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDhweDtcclxuXHQtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA4cHg7XHJcblx0LW1vei1ib3JkZXItcmFkaXVzLXRvcGxlZnQ6IDhweDtcclxuXHQtbW96LWJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6IDhweDtcclxuXHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA4cHg7XHJcblx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDhweDtcclxuXHRtYXJnaW4tdG9wOiA0NXB4O1xyXG59XHJcblxyXG5cclxuLmNsaWVudF9uYW1lIHtcclxuXHRmb250LXNpemU6IDEuMjVyZW07XHJcblx0Zm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XHJcblx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdG1hcmdpbi10b3A6IDI1cHg7XHJcbn1cclxuXHJcbi5jbGllbnRfbG9nbyB7XHJcblx0bWFyZ2luLXRvcDogMTVweDtcclxuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdG1hcmdpbi1yaWdodDogMjBweDtcclxufVxyXG5cclxuLnNxdWFyZWRUd28ge1xyXG5cdHdpZHRoOiAyOHB4O1xyXG5cdGhlaWdodDogMjhweDtcclxuXHRiYWNrZ3JvdW5kOiAjZmNmZmY0O1xyXG5cclxuXHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNmY2ZmZjQgMCUsICNkZmU1ZDcgNDAlLCAjYjNiZWFkIDEwMCUpO1xyXG5cdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZjZmZmNCAwJSwgI2RmZTVkNyA0MCUsICNiM2JlYWQgMTAwJSk7XHJcblx0YmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZjZmZmNCAwJSwgI2RmZTVkNyA0MCUsICNiM2JlYWQgMTAwJSk7XHJcblx0YmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICNmY2ZmZjQgMCUsICNkZmU1ZDcgNDAlLCAjYjNiZWFkIDEwMCUpO1xyXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0b3AsICNmY2ZmZjQgMCUsICNkZmU1ZDcgNDAlLCAjYjNiZWFkIDEwMCUpO1xyXG5cdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjZmNmZmY0JywgZW5kQ29sb3JzdHI9JyNiM2JlYWQnLEdyYWRpZW50VHlwZT0wICk7XHJcblx0bWFyZ2luOiAwO1xyXG5cclxuXHQtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDBweCAxcHggMXB4IHdoaXRlLCAwcHggMXB4IDNweCByZ2JhKDAsMCwwLDAuNSk7XHJcblx0LW1vei1ib3gtc2hhZG93OiBpbnNldCAwcHggMXB4IDFweCB3aGl0ZSwgMHB4IDFweCAzcHggcmdiYSgwLDAsMCwwLjUpO1xyXG5cdGJveC1zaGFkb3c6IGluc2V0IDBweCAxcHggMXB4IHdoaXRlLCAwcHggMXB4IDNweCByZ2JhKDAsMCwwLDAuNSk7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG5saSB7XHJcblx0Zm9udC1zaXplOiAuODc1cmVtO1xyXG59XHJcblxyXG4uZm9vdGVyIHtcclxuXHRtYXJnaW4tYm90dG9tOiA2MHB4O1xyXG5cdHBhZGRpbmctdG9wOiAyNXB4O1xyXG5cdHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG5cdGJhY2tncm91bmQ6ICMyMDIwMjA7XHJcblx0Y29sb3I6ICNiYmI7XHJcblx0Zm9udC1zaXplOiAuNzVlbTtcclxuXHRhIHtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiAjYmJiO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmZvb3Rlcl9saW5rcyB7XHJcblx0bWFyZ2luLXJpZ2h0OiAxMDBweDtcclxuXHR3aWR0aDogMTUwcHg7XHJcblx0ZmxvYXQ6IGxlZnQ7XHJcblx0bGkge1xyXG5cdFx0Zm9udC1zaXplOiAuNzVlbTtcclxuXHR9XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLnJldiB7XHJcblx0Zm9udC1zaXplOiAuNnJlbTtcclxuXHRjb2xvcjogIzk5OTtcclxufVxyXG5cclxuLm1vc3RfcmVjZW50IHtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0dG9wOiAxNTA7XHJcblx0bGVmdDogLTEyNXB4O1xyXG5cdHotaW5kZXg6IDI1MDA7XHJcblx0d2lkdGg6IDE1MHB4O1xyXG5cdGhlaWdodDogYXV0bztcclxuXHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdGJvcmRlci10b3A6IDJweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRzZWNvbmRhcnktY29sb3I7XHJcblx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRzZWNvbmRhcnktY29sb3I7XHJcblx0LXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogOHB4O1xyXG5cdC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDhweDtcclxuXHQtbW96LWJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6IDhweDtcclxuXHQtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tcmlnaHQ6IDhweDtcclxuXHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogOHB4O1xyXG5cdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA4cHg7XHJcblx0Ym94LXNoYWRvdzogLTEwcHggMTBweCAyMHB4ICMwMDA7XHJcblx0XHJcblx0bGkge1xyXG5cdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRzZWNvbmRhcnktY29sb3I7XHJcblx0XHRhIHtcclxuXHRcdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRjb2xvcjogJG9pbDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0YmFja2dyb3VuZDogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogODUlKTtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRvaWw7XHJcblx0XHR9XHJcblx0fVx0XHJcbn1cclxuLmFsZXJ0X3BhbmVsIHtcclxuXHRiYWNrZ3JvdW5kOiAjZmZjNmM2O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICNjOTAwMDA7XHJcbn1cclxuXHJcbi5iYW5uZXJfaGVhZGVyIHtcclxuXHRmb250LWZhbWlseTogQXJpYWw7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0Zm9udC1zaXplOiAxNnB4OyBcclxuXHRjb2xvcjogIzk5OTk5OTtcclxufVxyXG5cclxuLmFwcHJvdmVfc2VydmljZV9ub3RlIHtcclxuXHRtYXJnaW4tbGVmdDogMTBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2VuZF9tZXNzYWdlIHtcclxuXHRib3JkZXI6IHJlbS1jYWxjKDEwKSBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcclxufVxyXG5cclxuLmZyb20ge1xyXG5cdHdpZHRoOiA0MCU7XHJcblx0ZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbi5tZXNzYWdlX3RleHQge1xyXG5cdHdpZHRoOiA1MCU7XHJcblx0ZmxvYXQ6IHJpZ2h0O1xyXG59XHJcblxyXG4udGltZW91dF93YXJuaW5nIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRtYXJnaW46IGF1dG87XHJcblx0bWFyZ2luLXRvcDogLTE2MHB4O1xyXG5cdHBhZGRpbmc6IDEwcHg7XHJcblx0dG9wOiA1MCU7XHJcblx0cmlnaHQ6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0aGVpZ2h0OiAzMjVweDtcclxuXHR6LWluZGV4OiAyMDAwO1xyXG5cdFxyXG5cdHdpZHRoOiA0MCU7XHJcblx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHRib3JkZXI6IHJlbS1jYWxjKDEwKSBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogOHB4O1xyXG5cdC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDhweDtcclxuXHQtbW96LWJvcmRlci1yYWRpdXMtdG9wbGVmdDogOHB4O1xyXG5cdC1tb3otYm9yZGVyLXJhZGl1cy10b3ByaWdodDogOHB4O1xyXG5cdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDhweDtcclxuXHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogOHB4O1xyXG59XHJcblxyXG4ubGlnaHRlcl9ncmF5IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zdXBlcmZpbHRlciB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0YmFja2dyb3VuZDogc2NhbGUtY29sb3IoJG9pbCwgJGxpZ2h0bmVzczogODUlKTtcclxuXHRib3JkZXI6IDJweCBzb2xpZCBzY2FsZS1jb2xvcigkb2lsLCAkbGlnaHRuZXNzOiA1NSUpO1xyXG5cdC13ZWJraXQtYm9yZGVyLXJhZGl1czogOHB4O1xyXG5cdC1tb3otYm9yZGVyLXJhZGl1czogOHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDhweDtcclxuXHRwYWRkaW5nLXRvcDogLjhyZW07XHJcblx0cGFkZGluZy1sZWZ0OiAuOHJlbTtcclxuXHRwYWRkaW5nLXJpZ2h0OiAuOHJlbTtcclxuXHRwYWRkaW5nLWJvdHRvbTogMHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IC4yNXJlbTtcclxuXHRmb250LXNpemU6IC44cmVtO1xyXG59XHJcblxyXG4ubGlzdF9maWx0ZXIge1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG5cdG1hcmdpbi1yaWdodDogLjVyZW07XHJcblx0bWFyZ2luLWJvdHRvbTogMHB4O1xyXG5cdGZvbnQtc2l6ZTogLjhyZW07XHJcbn1cclxuXHJcbi5jbGVhcl9maWx0ZXJzIHtcclxuXHRmbG9hdDogcmlnaHQ7IFxyXG5cdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogLTVweDtcclxufVxyXG5cclxuLm5vX2JvdHRvbV9tYXJnaW4ge1xyXG5cdG1hcmdpbi1ib3R0b206IDBcclxufVxyXG5cclxuLnJhbmdlIHtcclxuXHRtYXJnaW4tdG9wOiA0cHg7XHJcblx0bWFyZ2luLWxlZnQ6IDVweDtcclxuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblx0d2lkdGg6IDEyNXB4O1xyXG59XHJcblxyXG4ucmFuZ2UgbGFiZWwge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR3aWR0aDogNXB4O1xyXG5cdG1hcmdpbi1sZWZ0OiAtNXB4O1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRtYXJnaW4tdG9wOiAxMHB4O1xyXG59XHJcblxyXG4ucmVhZG9ubHlfYm94IHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRwYWRkaW5nOiAuMjVyZW07XHJcblx0Ym9yZGVyOiAxcHggc29saWQgI2NjYztcclxuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdG1pbi1oZWlnaHQ6IDJlbTtcclxufVxyXG5cclxuLnNtYWxsZXJfdGV4dCB7XHJcblx0Zm9udC1zaXplOiAuOGVtOyBcclxuXHR3aWR0aDogMTAwJTtcclxuXHRiYWNrZ3JvdW5kOiAjZGRkO1xyXG59XHJcblxyXG4uRFRUVF9jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4ubWVkc19mbHlvdXQge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdGJhY2tncm91bmQ6ICNkZGQ7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgIzY2NjtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0YSB7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ua2VlcF9zaG9ydCB7XHJcblx0bGluZS1oZWlnaHQ6IDE1cHg7XHJcblx0d2lkdGg6IDE3MHB4O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHQmOmhvdmVyIHtcclxuXHRcdG1hcmdpbjogLTNweDtcclxuXHRcdG1hcmdpbi1sZWZ0OiAtNHB4O1xyXG5cdFx0bWFyZ2luLXRvcDogLTEycHg7XHJcblx0XHRvdmVyZmxvdzogdmlzaWJsZTtcclxuXHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHRcdC13ZWJraXQtYm9yZGVyLXRvcC1yYWRpdXM6IDRweDtcclxuXHRcdC1tb3otYm9yZGVyLXJhZGl1czogNHB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdFx0cGFkZGluZzogM3B4O1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJHByaW1hcnktY29sb3I7XHJcblx0XHR6LWluZGV4OiAxMTAwO1xyXG5cdH1cclxufVxyXG5cclxuLmtzNTAge1xyXG5cdHdpZHRoOiA1MHB4O1xyXG59XHJcblxyXG4ua3M3NSB7XHJcblx0d2lkdGg6IDc1cHg7XHJcbn1cclxuXHJcbi5rczEwMCB7XHJcblx0d2lkdGg6IDEwMHB4O1xyXG59XHJcblxyXG4ua3MxMjUge1xyXG5cdHdpZHRoOiAxMjVweDtcclxufVxyXG5cclxuLmtzMTUwIHtcclxuXHR3aWR0aDogMTUwcHg7XHJcbn1cclxuXHJcbi5rczIwMCB7XHJcblx0d2lkdGg6IDIwMHB4O1xyXG59XHJcblxyXG4ua3MyMjUge1xyXG5cdHdpZHRoOiAyMjVweDtcclxufVxyXG5cclxuLmtzMjUwIHtcclxuXHR3aWR0aDogMjUwcHg7XHJcbn1cclxuXHJcbi5ub2JvcmRlciB7XHJcblx0Ym9yZGVyOiAwcHg7XHJcbn1cclxuXHJcbi5tZWRfZGV0YWlscyB7XHJcblx0bWluLXdpZHRoOiAyNTBweDtcclxuXHRtYXJnaW4tcmlnaHQ6IDI1cHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHRmbG9hdDogbGVmdDtcclxuXHR0ZCB7XHJcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdH1cclxufVxyXG5cclxuLnNwYWNlZF9idXR0b25zIHtcclxuXHRtaW4td2lkdGg6IDUwcHg7XHJcblx0bWFyZ2luLWxlZnQ6IDEwcHg7XHJcbn1cclxuXHJcbi50bGVuIHtcclxuXHRoZWlnaHQ6IDQwcHg7XHJcbn1cclxuXHJcbi5nby10b3B7XHJcblx0ZGlzcGxheTpibG9jaztcclxuXHR3aWR0aDo0MHB4O1xyXG5cdGhlaWdodDo0MHB4O1xyXG5cdGxpbmUtaGVpZ2h0OjM1cHg7XHJcblx0dGV4dC1hbGlnbjpjZW50ZXI7XHJcblx0Zm9udC1zaXplOjMwcHg7XHJcblx0cG9zaXRpb246Zml4ZWQ7XHJcblx0Ym90dG9tOi00MHB4O1xyXG5cdHJpZ2h0OjIwcHg7XHJcblx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcclxuXHQtbW96LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xyXG5cdC1vLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xyXG5cdHRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IzQwNDA0MDtcclxuXHRjb2xvcjojRkZGRkZGO1xyXG5cdHRleHQtZGVjb3JhdGlvbjpub25lO1xyXG5cdC1tb3otYm9yZGVyLXJhZGl1czo1cHg7XHJcblx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOjVweDtcclxuXHRib3JkZXItcmFkaXVzOjVweDtcclxufVxyXG5cclxuLmdvLXRvcC5zaG93e1xyXG5cdGJvdHRvbToyMHB4O1xyXG59XHJcblxyXG4uZ28tdG9wOmhvdmVye1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcblx0Y29sb3I6I0ZGRkZGRjtcclxufVxyXG5cclxuLmNsb3NlX3BhbmVsIHtcclxuXHRmb250LXNpemU6IDIuNXJlbTtcclxuXHRsaW5lLWhlaWdodDogMTtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAuNXJlbTtcclxuXHRyaWdodDogMS41cmVtO1xyXG5cdGNvbG9yOiAjQUFBO1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uY2xvc2VfcGFuZWxfZmFfaWNvbiB7XHJcblx0Zm9udC1zaXplOiAxLjVyZW07XHJcblx0bGluZS1oZWlnaHQ6IDE7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogLjI1cmVtO1xyXG5cdHJpZ2h0OiAuNXJlbTtcclxuXHRjb2xvcjogI0FBQTtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmljb25fY29udHJvbCB7XHJcblx0bGluZS1oZWlnaHQ6IDE7XHJcblx0Y29sb3I6ICRvaWw7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2U7XHJcblx0LW1vei10cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2U7XHJcblx0LW8tdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlO1xyXG5cdHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZTtcclxuXHQmOmhvdmVyIHtcclxuXHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdH1cclxufVxyXG5cclxuLmljb25fZ29vZCB7XHJcblx0Y29sb3I6ICRzdWNjZXNzLWNvbG9yO1xyXG59XHJcblxyXG4uaW5hY3RpdmVfaWNvbiB7XHJcblx0Y29sb3I6ICM4ODggIWltcG9ydGFudDtcclxuXHQmOmhvdmVyIHtcclxuXHRcdGNvbG9yOiAjNzc3ICFpbXBvcnRhbnQ7XHJcblx0fVxyXG59XHJcblxyXG4uY2xlYXJfZGF0ZSB7XHJcblx0bWFyZ2luLWxlZnQ6IDIwcHg7XHJcbn1cclxuXHJcbi5kZWxfZWxlbWVudCB7XHJcblx0bWFyZ2luLWxlZnQ6IDEwcHg7XHJcblx0Y29sb3I6ICRhbGVydC1jb2xvcjtcclxuXHRsaW5lLWhlaWdodDogMTtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuNXMgZWFzZTtcclxuXHQtbW96LXRyYW5zaXRpb246IGFsbCAuNXMgZWFzZTtcclxuXHQtby10cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2U7XHJcblx0dHJhbnNpdGlvbjogYWxsIC41cyBlYXNlO1xyXG5cdCY6aG92ZXIge1xyXG5cdFx0Y29sb3I6ICRvaWw7XHJcblx0fVxyXG59XHJcblxyXG4ucmVtb3ZlX2ljb24ge1xyXG5cdGNvbG9yOiAkYWxlcnQtY29sb3I7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi50b3ByaWdodCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlOyBcclxuXHR0b3A6IDVweDsgXHJcblx0cmlnaHQ6IDVweDtcclxufVxyXG5cclxuLnN1YnNlY3Rpb24ge1xyXG5cdG1hcmdpbi10b3A6IDFyZW07XHJcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHRwYWRkaW5nOiAxcmVtO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XHJcblx0YmFja2dyb3VuZDogI2YzZjNmMztcclxuXHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDhweDtcclxuXHQtbW96LWJvcmRlci1yYWRpdXM6IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjE1cyBlYXNlO1xyXG5cdC1tb3otdHJhbnNpdGlvbjogYWxsIC4xNXMgZWFzZTtcclxuXHQtby10cmFuc2l0aW9uOiBhbGwgLjE1cyBlYXNlO1xyXG5cdHRyYW5zaXRpb246IGFsbCAuMTVzIGVhc2U7XHJcblx0Jjpob3ZlciB7XHJcblx0XHRiYWNrZ3JvdW5kOiAjZGZkZmRmO1xyXG5cdH1cclxufVxyXG5cclxuLmZ1IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0d2lkdGg6IDkwJTtcclxuXHQmOmFmdGVyIHtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHRjb250ZW50OiAnXFxmMDI0JztcclxuXHRcdGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgUHJvJztcclxuXHRcdGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuXHRcdGNvbG9yOiAkYWxlcnQtY29sb3I7XHJcblx0XHRtYXJnaW4tbGVmdDogMTBweDtcclxuXHRcdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDE1MDBtcztcclxuXHRcdHRyYW5zaXRpb246IGFsbCAxNTAwbXM7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR6LWluZGV4OiAyMDA7XHJcblx0XHR0b3A6IC01cHg7XHJcblx0fVxyXG5cdFxyXG5cdCY6aG92ZXI6YWZ0ZXIge1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHRcdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDI1MG1zO1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zO1xyXG5cdH1cclxufVxyXG5cclxuLmNoZWNrX2FsbCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdCY6YWZ0ZXIge1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHRcdGNvbnRlbnQ6ICdcXGY1NjAnO1xyXG5cdFx0Zm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBQcm8nO1xyXG5cdFx0Zm9udC1zaXplOiAxLjI1cmVtO1xyXG5cdFx0Y29sb3I6ICRpbmZvLWNvbG9yO1xyXG5cdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMTUwMG1zO1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDE1MDBtcztcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHotaW5kZXg6IDIwMDtcclxuXHRcdHRvcDogLTVweDtcclxuXHRcdHJpZ2h0OiAtMjBweDtcclxuXHR9XHJcblx0XHJcblx0Jjpob3ZlcjphZnRlciB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMjUwbXM7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXM7XHJcblx0fVxyXG59XHJcblxyXG4uY2xlYXJfZGF0ZXBpY2tlciB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdCY6YWZ0ZXIge1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHRcdGNvbnRlbnQ6ICdcXGYyNzMnO1xyXG5cdFx0Zm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBQcm8nO1xyXG5cdFx0Zm9udC1zaXplOiAxLjI1cmVtO1xyXG5cdFx0Y29sb3I6ICRhbGVydC1jb2xvcjtcclxuXHRcdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDE1MDBtcztcclxuXHRcdHRyYW5zaXRpb246IGFsbCAxNTAwbXM7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR6LWluZGV4OiAyMDA7XHJcblx0XHR0b3A6IC0xMXB4O1xyXG5cdFx0cmlnaHQ6IDhweDtcclxuXHR9XHJcblx0XHJcblx0Jjpob3ZlcjphZnRlciB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMjUwbXM7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXM7XHJcblx0fVxyXG59XHJcblxyXG4vKlxyXG4ubm9fdHgge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHQmOmJlZm9yZSB7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0Y29udGVudDogJ1xcZjA3NSc7XHJcblx0XHRmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XHJcblx0XHRmb250LXNpemU6IDEuMjVyZW07XHJcblx0XHRjb2xvcjogJHN1Y2Nlc3MtY29sb3I7XHJcblx0XHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxNTAwbXM7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMTUwMG1zO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0ei1pbmRleDogMjAwO1xyXG5cdFx0bGVmdDogLTIwcHg7XHJcblx0fVxyXG5cdFxyXG5cdCY6aG92ZXI6YmVmb3JlIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0XHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAyNTBtcztcclxuXHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcztcclxuXHR9XHJcbn1cclxuKi9cclxuXHJcbi51cGRhdGVfcmV2aWV3IHtcclxuXHRwYWRkaW5nOiAuMjVyZW07XHJcblx0Zm9udC1zaXplOiAuODVyZW07XHJcblx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0LW1vei1ib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xyXG5cdGJhY2tncm91bmQ6ICNmZmQ2ZDY7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgI2ZmYWFhYTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0bWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcclxufVxyXG5cclxuLnJldmlld2VkIHtcclxuXHRiYWNrZ3JvdW5kOiAjZWFmZmVhO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICNiNWZmYjU7XHJcblx0Y3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcblxyXG5sYWJlbC5yZXF1aXJlZCB7XHJcblx0Y29sb3I6ICRhbGVydC1jb2xvcjtcclxufVxyXG5cclxuLnJhdGluZ19tZW51X3dyYXBwZXIge1xyXG5cdHotaW5kZXg6IDU7XHJcblx0YmFja2dyb3VuZDogI2Y1ZjVmNTtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRmbG9hdDogbGVmdDtcclxuXHR3aWR0aDogMjAlO1xyXG5cdFxyXG5cdEBtZWRpYSAobWluLXdpZHRoOiAzNTBweCkge1xyXG5cdFx0Zm9udC1zaXplOiAuN3JlbTtcclxuXHRcdG1pbi13aWR0aDogMTYwcHg7XHJcblx0fVxyXG5cdFxyXG5cdEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xyXG5cdFx0Zm9udC1zaXplOiAuN3JlbTtcclxuXHRcdG1pbi13aWR0aDogMTcwcHg7XHJcblx0fVxyXG5cdFxyXG5cdEBtZWRpYSAobWluLXdpZHRoOiAxMDE1cHgpIHtcclxuXHRcdGZvbnQtc2l6ZTogLjc1cmVtO1xyXG5cdFx0bWluLXdpZHRoOiAxODVweDtcclxuXHR9XHJcbn1cclxuXHJcbi5yYXRpbmdfYXJlYV9oZWFkZXIge1xyXG5cdGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRvaWwsICRsaWdodG5lc3M6IDkwJSk7XHJcblx0Y29sb3I6ICRvaWw7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0cGFkZGluZy1sZWZ0OiA1cHg7XHJcblx0cGFkZGluZy1yaWdodDogNXB4O1xyXG5cdHBhZGRpbmctYm90dG9tOiAycHg7XHJcblx0cGFkZGluZy10b3A6IDJweDtcclxufVxyXG5cclxuLnJhdGluZ19hcmVhX2xhYmVsIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRcclxuXHRAbWVkaWEgKG1pbi13aWR0aDogMzUwcHgpIHtcclxuXHRcdHBhZGRpbmctbGVmdDogMnB4O1x0XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiAycHg7XHJcblx0fVxyXG5cdEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAxMHB4O1xyXG5cdFx0cGFkZGluZy1yaWdodDogMnB4O1xyXG5cdH1cclxuXHRAbWVkaWEgKG1pbi13aWR0aDogMTAxNXB4KSB7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDIwcHg7XHRcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDVweDtcclxuXHR9XHJcblx0XHJcblx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdHRyYW5zaXRpb246IGFsbCAuNHM7XHJcblx0Jjpob3ZlciB7XHJcblx0XHRiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdH1cclxufVxyXG5cclxuLnJhdGluZ19hcmVhX3RleHQge1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG5cdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblx0d2lkdGg6IDE1MHB4O1xyXG5cdCY6aG92ZXIge1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG5cdFx0b3ZlcmZsb3c6IHZpc2libGU7XHJcblx0XHRoZWlnaHQ6IGF1dG87XHJcblx0fVxyXG59XHJcblxyXG4ucmF0aW5nX3Njb3JlIHtcclxuXHRmbG9hdDogcmlnaHQ7XHRcclxufVxyXG5cclxuLmhpZ2hsaWdodGVke1xyXG5cdGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XHJcblx0YSB7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHR9XHJcbn1cclxuLmV4cGxhbmF0aW9ucyB7XHJcblx0ei1pbmRleDogMTA7XHJcblx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdEBtZWRpYSAobWluLXdpZHRoOiAzNTBweCkge1xyXG5cdFx0d2lkdGg6IDYwJTtcclxuXHRcdGZvbnQtc2l6ZTogLjdyZW07XHJcblx0fVxyXG5cdEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xyXG5cdFx0d2lkdGg6IDcwJTtcclxuXHRcdGZvbnQtc2l6ZTogLjg1cmVtO1xyXG5cdH1cclxuXHRAbWVkaWEgKG1pbi13aWR0aDogMTAxNXB4KSB7XHJcblx0XHR3aWR0aDogNzklO1xyXG5cdFx0Zm9udC1zaXplOiAxcmVtO1xyXG5cdH1cclxuXHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdHRhYmxlIHtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkICM2NjY7XHJcblx0fVxyXG5cdHRoIHtcclxuXHRcdGJhY2tncm91bmQ6ICNjY2M7XHJcblx0fVxyXG5cdHRkIHtcclxuXHRcdGZvbnQtc2l6ZTogLjhyZW07XHJcblx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdH1cclxufVxyXG5cclxuLnF1ZXN0aW9ucyB7XHJcblx0ei1pbmRleDogMTtcclxuXHRmbG9hdDogcmlnaHQ7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHJcblx0QG1lZGlhIChtaW4td2lkdGg6IDM1MHB4KSB7XHJcblx0XHR3aWR0aDogNjAlO1xyXG5cdFx0Zm9udC1zaXplOiAuN3JlbTtcclxuXHR9XHJcblx0QG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XHJcblx0XHR3aWR0aDogNzAlO1xyXG5cdFx0Zm9udC1zaXplOiAuODVyZW07XHJcblx0fVxyXG5cdEBtZWRpYSAobWluLXdpZHRoOiAxMDE1cHgpIHtcclxuXHRcdHdpZHRoOiA3OSU7XHJcblx0XHRmb250LXNpemU6IDFyZW07XHJcblx0fVxyXG5cdGJhY2tncm91bmQ6ICNmZmY7XHJcbn1cclxuXHJcbmxhYmVsIHtcclxuXHRmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xyXG5cdGN1cnNvcjogZGVmYXVsdDtcclxufVxyXG5cclxuLmNoYXJzIHtcclxuXHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdGZsb2F0OiByaWdodDtcclxuXHRjb2xvcjogJGFsZXJ0LWNvbG9yO1xyXG5cdG1hcmdpbi10b3A6IC0uNzVyZW07XHJcbn1cclxuXHJcbi5wb3NzaWJsZSB7XHJcblx0dGQge1xyXG5cdFx0YmFja2dyb3VuZDogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogNjAlKTtcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5pbXBvc3NpYmxlIHtcclxuXHR0ZCB7XHJcblx0XHRiYWNrZ3JvdW5kOiAjNjY2O1xyXG5cdFx0Y29sb3I6ICNlZWU7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmlubGluZS1idXR0b24ge1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG5cdGRpc3BsYXk6IGlubGluZTtcclxuXHRtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbn1cclxuXHJcbi5xdWVzdGlvbiB7XHJcblx0Ly8tbW96LWJvcmRlci1yYWRpdXM6NXB4O1xyXG5cdC8vLXdlYmtpdC1ib3JkZXItcmFkaXVzOjVweDtcclxuXHQvL2JvcmRlci1yYWRpdXM6NXB4O1xyXG5cdHBhZGRpbmc6IDIwcHg7XHJcblx0bWFyZ2luLXRvcDogMTVweDtcclxuXHRcclxuXHQtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XHJcblx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuXHQta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuXHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0dXNlci1zZWxlY3Q6IG5vbmU7XHJcbn1cclxuXHJcbi5xLXByZXZpb3VzIHtcclxuXHRiYWNrZ3JvdW5kOiAjZjVmNWY1O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICNlZWU7XHJcbn1cclxuXHJcbi5xLWN1cnJlbnQge1xyXG5cdGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IDg1JSk7XHJcblx0Ym9yZGVyOiAycHggc29saWQgc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogNDAlKTtcclxufVxyXG5cclxuLnEtcmFkaW8ge1xyXG5cdHBhZGRpbmc6IC41cmVtO1xyXG5cdGZvbnQtc2l6ZTogLjhyZW07XHJcblx0ZGlzcGxheTogaW5saW5lO1xyXG5cdGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdGNvbG9yOiAjZmZmO1xyXG5cdC1tb3otYm9yZGVyLXJhZGl1czogNHB4O1xyXG5cdC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHQmOmhvdmVyIHtcclxuXHRcdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0XHRib3JkZXI6IDVweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdHBhZGRpbmc6IC4yNXJlbTtcclxuXHR9XHJcbn1cclxuXHJcbi5yZWFkb25seS1sYWJlbCB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdG1hcmdpbi1yaWdodDogMS41cmVtO1xyXG5cdG1pbi13aWR0aDogMTUwcHg7XHJcbn1cclxuXHJcbi5pbmFjdGl2ZV9yZWNvcmQge1xyXG5cdGJhY2tncm91bmQ6ICNkZmRmZGY7XHRcclxufVxyXG5cclxuaW5wdXRbdHlwZT1yYWRpb10ge1xyXG5cdHdpZHRoOiAxcmVtO1xyXG5cdGhlaWdodDogMXJlbTtcclxuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdG1hcmdpbjogLTNweCAwcHggMHB4IDBweDtcclxufVxyXG5cclxuLm5vdGVzIHtcclxuXHRmbG9hdDogcmlnaHQ7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0d2lkdGg6IDc5JTtcclxufVxyXG5cclxuXHJcbiNzZWN0aW9uX2xhc3RfdXBkYXRlZCB7XHJcblx0Zm9udC1zaXplOiAuN3JlbTtcclxuXHRtYXJnaW4tdG9wOiAtOHB4O1xyXG59XHJcblxyXG4ucHJldiB7XHJcblx0ZmxvYXQ6IGxlZnQ7XHJcblx0Ym94LXNoYWRvdzogMCwwLDA7XHJcbn1cclxuXHJcbi5uZXh0IHtcclxuXHRmbG9hdDogcmlnaHQ7XHJcblx0Ym94LXNoYWRvdzogMCwwLDA7XHJcbn1cclxuXHJcbi5oaWdobGlnaHRlZC1yb3cge1xyXG5cdGJhY2tncm91bmQ6ICNGMkU2OTggIWltcG9ydGFudDtcclxufVxyXG5cclxuLmdvb2Qge1xyXG5cdGJhY2tncm91bmQ6ICNBM0QwMDA7XHJcblx0Y29sb3I6ICRvaWw7XHJcbn1cclxuXHJcbi53YXJuIHtcclxuXHRiYWNrZ3JvdW5kOiAjRjRDNDAwO1xyXG5cdGNvbG9yOiAkb2lsO1xyXG59XHJcblxyXG4uYmFkIHtcclxuXHRiYWNrZ3JvdW5kOiAjRjkwMDAwO1xyXG5cdGNvbG9yOiAkb2lsO1xyXG59XHJcblxyXG4udW5zY29yZWQge1xyXG5cdGJhY2tncm91bmQ6ICM5OTk7XHJcblx0Y29sb3I6ICRvaWw7XHJcbn1cclxuXHJcbi5qdW1wIHtcclxuXHRmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcclxuXHRmb250LXNpemU6IDEuMjVyZW07XHJcblx0XHJcbn1cclxuXHJcbi5zbWFsbF9ub3RlIHtcclxuXHRmb250LXNpemU6IC44cmVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjFyZW07XHJcbn1cclxuXHJcbi5hdXRvY29tcGxldGUge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6XHQtMTBweDtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiBhdXRvO1xyXG5cdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0ei1pbmRleDogOTk5O1xyXG5cdGJvcmRlcjogNHB4IHNvbGlkICRzZWNvbmRhcnktY29sb3I7XHJcblx0Ym94LXNoYWRvdzogLTVweCA1cHggMCAwIHJnYmEoMCwwLDAsLjI1KTtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG5cdG1heC1oZWlnaHQ6IDMwMHB4O1xyXG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcclxuXHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdHVsIHtcclxuXHRcdGZvbnQtc2l6ZTogLjhyZW07XHJcblx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdFx0cGFkZGluZzogMHB4O1xyXG5cdFx0bWFyZ2luOiAwcHg7XHJcblx0XHRsaSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRjb2xvcjogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTUwJSk7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogODUlKTtcclxuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5waG90b19wcmV2aWV3IHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOlx0MDtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiBhdXRvO1xyXG5cdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0Ym9yZGVyOiA0cHggc29saWQgJHNlY29uZGFyeS1jb2xvcjtcclxuXHRib3gtc2hhZG93OiAtNXB4IDVweCAwIDAgcmdiYSgwLDAsMCwuMjUpO1xyXG5cdHBhZGRpbmc6IDVweDtcclxufVxyXG5cclxuLml0ZW1fcHJldmlldyB7XHJcblx0Zm9udC1zaXplOiAuOXJlbTtcclxuXHRsaW5lLWhlaWdodDogMS4xcmVtO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6XHQwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IGF1dG87XHJcblx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHRib3JkZXI6IDRweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdGJveC1zaGFkb3c6IC01cHggNXB4IDAgMCByZ2JhKDAsMCwwLC4yNSk7XHJcblx0cGFkZGluZzogMWVtO1xyXG5cdC1tb3otYm9yZGVyLXJhZGl1czo1cHg7XHJcblx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOjVweDtcclxuXHRib3JkZXItcmFkaXVzOjVweDtcclxuXHRzdHJvbmcge1xyXG5cdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdFx0Zm9udC1zaXplOiAxLjJyZW07XHJcblx0XHRmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjI1ZW07XHJcblx0XHRtYXJnaW4tYm90dG9tOiAuNXJlbTtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHR9XHJcbn1cclxuXHJcbi8vIFNjb3JpbmcgYWxlcnRzIGJveGVzXHJcbi5zY29yaW5nX2FsZXJ0IHtcclxuXHQtbW96LWJvcmRlci1yYWRpdXM6NXB4O1xyXG5cdC13ZWJraXQtYm9yZGVyLXJhZGl1czo1cHg7XHJcblx0Ym9yZGVyLXJhZGl1czo1cHg7XHJcblx0cGFkZGluZzogMnJlbTtcclxuXHRtYXJnaW4tYm90dG9tOiAycmVtO1xyXG59XHJcblxyXG4uYWxlcnRfdW5saWtlbHkge1xyXG5cdGJhY2tncm91bmQ6ICNmNGM0MDA7XHJcblx0Ym9yZGVyOiAzcHggc29saWQgI2Y0YTEwMDtcclxufVxyXG5cclxuLmFsZXJ0X3ZlcnlfdW5saWtlbHkge1xyXG5cdGJhY2tncm91bmQ6ICNmZjgzMTQ7XHJcblx0Ym9yZGVyOiAzcHggc29saWQgI2Q0NjQwMDtcclxufVxyXG5cclxuLmFsZXJ0X2ltcG9zc2libGUge1xyXG5cdGJhY2tncm91bmQ6ICNlNTAwMDA7XHJcblx0Ym9yZGVyOiAzcHggc29saWQgI2FiMDAwMDtcclxuXHRjb2xvcjogI2ZmZjtcclxufVxyXG5cclxudGQ+cCB7XHJcblx0Zm9udC1zaXplOiAuODc1cmVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxcmVtO1xyXG5cdG1hcmdpbi1ib3R0b206IC41cmVtO1xyXG59XHJcblxyXG4uaW5hY3RpdmUsIC5pbmFjdGl2ZSBhIHtcclxuXHRjb2xvcjogI2RkZDtcclxufVxyXG5cclxuLnNwYWNlZCB7XHJcblx0bWluLXdpZHRoOiA1MHB4O1xyXG5cdG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59XHJcblxyXG4uaW5mb3JtYXRpb25hbCB7XHJcblx0YmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGluZm8tY29sb3IsICRsaWdodG5lc3M6IDY1JSk7XHJcblx0Zm9udC1zaXplOiAuOGVtO1xyXG5cdHBhZGRpbmc6IC4yZW07XHJcbn1cclxuXHJcbiNzZXJ2aWNlIHRoLCAjdHJhaW5pbmcgdGgge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA1MCUpO1xyXG59XHJcblxyXG4jcmVwX3RyZWUge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdGJvcmRlcjogNHB4IHNvbGlkICNjY2M7XHJcblx0ZmxvYXQ6IGxlZnQ7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbiNyZXBfb3B0aW9ucyB7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbmRpdi5yZXBfdGlwIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHdpZHRoOiAxNTBweDtcclxuXHRoZWlnaHQ6IGF1dG87XHJcblx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHRwYWRkaW5nOiA1cHg7XHJcblx0Zm9udC1zaXplOiAuOHJlbTtcclxuXHRjb2xvcjogIzAwMDtcclxuXHQtd2Via2l0LWJvcmRlci10b3AtcmFkaXVzOiA0cHg7XHJcblx0LW1vei1ib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGJvcmRlcjogNHB4IHNvbGlkICRzZWNvbmRhcnktY29sb3I7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0Ym94LXNoYWRvdzogLTVweCA1cHggMHB4IHJnYmEoMCwwLDAsIDAuMjUpO1xyXG5cdHotaW5kZXg6IDE1MDA7XHJcblx0b3V0bGluZTogMXB4IHNvbGlkICMwMDA7XHJcbn1cclxuXHJcbi8vIEFkZGl0aW9uYWwgY2xhc3NlcyBmb3IgdGhlIGRhdGF0YWJsZXNcclxudGQuZGV0YWlscy1jb250cm9sIHtcclxuXHRcdGJhY2tncm91bmQ6IHVybCgnLi4vLi4vbGlicmFyaWVzL2RhdGF0YWJsZXMvbWVkaWEvaW1hZ2VzL2RldGFpbHNfb3Blbi5wbmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG50ci5zaG93biB0ZC5kZXRhaWxzLWNvbnRyb2wge1xyXG5cdFx0YmFja2dyb3VuZDogdXJsKCcuLi8uLi9saWJyYXJpZXMvZGF0YXRhYmxlcy9tZWRpYS9pbWFnZXMvZGV0YWlsc19jbG9zZS5wbmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxufVxyXG5cclxubGluZSwgcmVjdFx0e1xyXG5cdHNoYXBlLXJlbmRlcmluZzogY3Jpc3BFZGdlcztcclxuXHRzdHJva2U6ICMwMDAwMDA7XHJcblx0ZmlsbDogJHByaW1hcnktY29sb3I7XHJcbn1cclxuXHJcbi5heGlzIHBhdGgsIC5heGlzIGxpbmUge1xyXG5cdGZpbGw6IG5vbmU7XHJcblx0c3Ryb2tlOiAjMDAwO1xyXG5cdHNoYXBlLXJlbmRlcmluZzogY3Jpc3BFZGdlcztcclxufVxyXG5cclxuLmJhciB7XHJcblx0ZmlsbDogJHByaW1hcnktY29sb3I7XHJcblx0dHJhbnNpdGlvbjogYWxsIC4wNnMgZWFzZTtcclxuXHQmOmhvdmVyIHtcclxuXHRcdGZpbGw6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAyNSUpO1xyXG5cdH1cclxufVxyXG5cclxuLmJhci5jb3JyZWN0IHtcclxuXHRmaWxsOiAkc3VjY2Vzcy1jb2xvcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgLjA2cyBlYXNlO1xyXG5cdCY6aG92ZXIge1xyXG5cdFx0ZmlsbDogc2NhbGUtY29sb3IoJHN1Y2Nlc3MtY29sb3IsICRsaWdodG5lc3M6IDI1JSk7XHJcblx0fVxyXG59XHJcblxyXG4uYmFyLmNvcnJlY3Quc3RheSB7XHJcblx0ZmlsbDogJHByaW1hcnktY29sb3I7XHJcblx0dHJhbnNpdGlvbjogYWxsIC4wNnMgZWFzZTtcclxuXHQmOmhvdmVyIHtcclxuXHRcdGZpbGw6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAyNSUpO1xyXG5cdH1cclxufVxyXG5cclxuLmJhci5pbmNvcnJlY3Qge1xyXG5cdGZpbGw6ICRhbGVydC1jb2xvcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgLjA2cyBlYXNlO1xyXG5cdCY6aG92ZXIge1xyXG5cdFx0ZmlsbDogc2NhbGUtY29sb3IoJGFsZXJ0LWNvbG9yLCAkbGlnaHRuZXNzOiAyNSUpO1xyXG5cdH1cclxufVxyXG5cclxuLmJhci5pbmNvcnJlY3Quc3RheSB7XHJcblx0ZmlsbDogJHByaW1hcnktY29sb3I7XHJcblx0dHJhbnNpdGlvbjogYWxsIC4wNnMgZWFzZTtcclxuXHQmOmhvdmVyIHtcclxuXHRcdGZpbGw6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAyNSUpO1xyXG5cdH1cclxufVxyXG5cclxuLmJhci5jYW50X3RlbGwge1xyXG5cdGZpbGw6ICR3YXJuaW5nLWNvbG9yO1xyXG5cdHRyYW5zaXRpb246IGFsbCAuMDZzIGVhc2U7XHJcblx0Jjpob3ZlciB7XHJcblx0XHRmaWxsOiBzY2FsZS1jb2xvcigkd2FybmluZy1jb2xvciwgJGxpZ2h0bmVzczogMjUlKTtcclxuXHR9XHJcbn1cclxuXHJcbi5iYXIuY2FudF90ZWxsLnN0YXkge1xyXG5cdGZpbGw6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdHRyYW5zaXRpb246IGFsbCAuMDZzIGVhc2U7XHJcblx0Jjpob3ZlciB7XHJcblx0XHRmaWxsOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogMjUlKTtcclxuXHR9XHJcbn1cclxuXHJcbi5zdGF5IHtcclxuXHRmaWxsOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdHRyYW5zaXRpb246IGFsbCAuMDZzIGVhc2U7XHJcblx0Jjpob3ZlciB7XHJcblx0XHRmaWxsOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAxMCUpO1xyXG5cdH1cclxufVxyXG5cclxuI3JlcF9hbGVydF9hcmVhIHtcclxuXHQtbW96LWJvcmRlci1yYWRpdXM6IDhweDtcclxuXHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDhweDtcclxuXHRib3JkZXItcmFkaXVzOiA4cHg7XHJcblx0Ym9yZGVyOiA0cHggc29saWQgJGFsZXJ0LWNvbG9yO1xyXG5cdHBhZGRpbmc6IDIwcHg7XHJcbn1cclxuXHJcbi5yZXBvcnRfYWxlcnQgaSB7XHJcblx0Y29sb3I6ICRhbGVydC1jb2xvcjtcclxuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi5yZXBvcnRfaW5mbyBpIHtcclxuXHRjb2xvcjogJGluZm8tY29sb3I7XHJcblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4udGFibGVfc2VjdGlvbiB7XHJcblx0Ym9yZGVyOiAycHggc29saWQgJHNlY29uZGFyeS1jb2xvcjtcclxuXHRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA2NSUpO1xyXG59XHJcblxyXG4udHJfaGlnaGxpZ2h0LCAudHJfd2FybmluZ3tcclxuXHRib3JkZXI6IDFweCBzb2xpZCAkd2FybmluZy1jb2xvciAhaW1wb3J0YW50O1xyXG5cdGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCR3YXJuaW5nLWNvbG9yLCAkbGlnaHRuZXNzOiA2NSUpICFpbXBvcnRhbnQ7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuNzVzIGVhc2U7XHJcbn1cclxuXHJcbi50cl9zdWNjZXNzIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAkc3VjY2Vzcy1jb2xvciAhaW1wb3J0YW50O1xyXG5cdGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRzdWNjZXNzLWNvbG9yLCAkbGlnaHRuZXNzOiA2NSUpICFpbXBvcnRhbnQ7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuNzVzIGVhc2U7XHJcbn1cclxuXHJcbi50cl9hbGVydCB7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgJGFsZXJ0LWNvbG9yICFpbXBvcnRhbnQ7XHJcblx0YmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGFsZXJ0LWNvbG9yLCAkbGlnaHRuZXNzOiA2NSUpICFpbXBvcnRhbnQ7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuNzVzIGVhc2U7XHJcbn1cclxuXHJcbi50cl9ibGFjayB7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgIzAwMCAhaW1wb3J0YW50O1xyXG5cdGJhY2tncm91bmQ6ICRvaWwgIWltcG9ydGFudDtcclxuXHRjb2xvcjogI2ZmZjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC43NXMgZWFzZTtcclxufVxyXG5cclxuXHJcbi5lbF93cmFwIHtcclxuXHRwYWRkaW5nOiAzcHg7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdCY6aG92ZXIge1xyXG5cdFx0LW1vei1ib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0XHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRcdGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdH1cclxufVxyXG5cclxuLm1vdGQge1xyXG5cdHBhZGRpbmc6IDJyZW07XHJcbn1cclxuLm1vdGRfZXhwaXJhdGlvbiB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdGNvbG9yOiAjOTk5O1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRmb250LXNpemU6IC44ZW07XHJcbn1cclxuXHJcblxyXG4uZWxldmF0ZSB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0Zm9udC1zaXplOiAxZW07XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMnB4O1xyXG5cdCY6aG92ZXIge1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0fVxyXG59XHJcblxyXG4uaGVscF9saW5rcyB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGJvcmRlci10b3A6IDJweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IDg1JSk7XHJcblx0bWFyZ2luLWJvdHRvbTogMnB4O1xyXG5cdHBhZGRpbmc6IDRweDtcclxufVxyXG5cclxuI2Fzc2lzdGFudF9jb250ZW50IHtcclxuXHRib3JkZXI6IDRweCBzb2xpZCAjY2NjO1xyXG5cdG1pbi1oZWlnaHQ6IDQwMHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XHRcclxufVxyXG5cclxuI3F1ZXN0aW9uX2hpc3Rvcnkge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0Ym9yZGVyOiAycHggc29saWQgI2FhYTtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG4ubGlua19idXR0b24ge1xyXG5cdGNvbG9yOiAjcHJpbWFyeS1jb2xvcjtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0Zm9udC1zaXplOiAuOHJlbTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdG1hcmdpbjogMnB4O1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHQmOmhvdmVyIHtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA5MCUpO1xyXG5cdH1cclxuXHRcclxuXHQmOmZvY3VzLCAmOmFjdGl2ZSB7XHJcblx0XHRjb2xvcjogJG9pbDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4uaW5zZXQge1xyXG5cdG1hcmdpbi1sZWZ0OiAyZW0gIWltcG9ydGFudDtcclxufVxyXG5cclxuLmluc3RydWN0aW9ucyB7XHJcblx0Zm9udC1zaXplOiAuOHJlbTtcclxuXHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IDk1JSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgJHByaW1hcnktY29sb3I7XHJcblx0cGFkZGluZzogLjZyZW07XHJcblx0bWFyZ2luOiAxcmVtO1xyXG5cdHdpZHRoOiA5NSU7XHJcblx0XHJcblx0cCB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwcHg7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLnN2Z2ljb24ge1xyXG5cdGhlaWdodDogMXJlbTtcclxuXHR3aWR0aDogMXJlbTtcclxuXHRiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDApO1xyXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbmgxPi5zdmdpY29uIHtcclxuXHRoZWlnaHQ6IDNyZW07XHJcblx0d2lkdGg6IDNyZW07XHJcbn1cclxuXHJcbmgyPi5zdmdpY29uIHtcclxuXHRoZWlnaHQ6IDIuNXJlbTtcclxuXHR3aWR0aDogMi41cmVtO1xyXG59XHJcblxyXG5oMz4uc3ZnaWNvbiB7XHJcblx0aGVpZ2h0OiAycmVtO1xyXG5cdHdpZHRoOiAycmVtO1xyXG59XHJcblxyXG5zeW1ib2wgcmVjdCB7XHJcblx0ZmlsbDogcmdiYSgwLCAwLCAwLCAwKTtcdFxyXG59XHJcblxyXG5zeW1ib2wgcGF0aHtcclxuXHRmaWxsOiAkcHJpbWFyeS1jb2xvcjtcclxufVxyXG5cclxuc3ltYm9sPmNpcmNsZSB7XHJcblx0ZmlsbDogJHByaW1hcnktY29sb3I7XHRcclxufVxyXG5cclxuLnRyYWluaW5nX2NvbnRlbnQge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0cGFkZGluZzogMS41cmVtO1xyXG5cdGJvcmRlcjogNHB4IHNvbGlkICRzZWNvbmRhcnktY29sb3I7XHRcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0bWFyZ2luOiBhdXRvO1xyXG5cdHRvcDogMCU7XHJcblx0cmlnaHQ6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG5cdGxlZnQ6IDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHR6LWluZGV4OiAzMDAwO1xyXG5cdC8vb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0LXdlYmtpdC1ib3gtc2hhZG93OiAtMTJweCAxN3B4IDQwcHggM3B4IHJnYmEoMCwwLDAsMC43NSk7XHJcblx0LW1vei1ib3gtc2hhZG93OiAtMTJweCAxN3B4IDQwcHggM3B4IHJnYmEoMCwwLDAsMC43NSk7XHJcblx0Ym94LXNoYWRvdzogLTEycHggMTdweCA0MHB4IDNweCByZ2JhKDAsMCwwLDAuNzUpO1xyXG59XHJcblxyXG5oci5zdGFycyB7XHJcblx0Ym9yZGVyOiAwO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRtYXJnaW4tdG9wOiAuMjVlbTtcclxuXHRtYXJnaW4tYm90dG9tOiAxLjI1ZW07XHJcblx0JjphZnRlciB7XHJcblx0XHRjb250ZW50OiBcIiogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKlwiO1xyXG5cdFx0Zm9udC1zaXplOiAxZW07XHJcblx0XHR0ZXh0LXNoYWRvdzogLTI0ZW0gMCwgLTEyZW0gMCwgMTJlbSAwLCAyNGVtIDA7XHJcblx0fVxyXG59XHJcblxyXG4uYm9yZGVyIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xyXG59XHJcblxyXG4uaGlnaGxpZ2h0ZWRfbGFiZWwge1xyXG5cdGNvbG9yOiAkYWxlcnQtY29sb3I7XHJcblx0Ym9yZGVyOiAycHggc29saWQgJGFsZXJ0LWNvbG9yO1xyXG5cdHBhZGRpbmc6IC4yNWVtO1xyXG59XHJcblxyXG4uYWx0ZXJuYXRlX3Jvd3Mge1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XHJcblx0XHJcblx0ZGl2IHtcclxuXHRcdHBhZGRpbmc6IC4yNXJlbSAuMzEyNXJlbTtcclxuXHR9XHJcblx0XHJcblx0JjpudGgtY2hpbGQoZXZlbikge1xyXG5cdFx0YmFja2dyb3VuZDogI2RkZDtcclxuXHR9XHJcbn1cclxuXHJcbi5hdXRvc2F2ZWQge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1hcmdpbi1ib3R0b206IDEycHg7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDQwMDtcclxuXHQmOmFmdGVyIHtcclxuXHRcdGNvbnRlbnQ6ICdcXGYwMGMgU2F2ZWQnO1xyXG5cdFx0Zm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBQcm8nO1xyXG5cdFx0Zm9udC1zaXplOiAuOXJlbTtcclxuXHRcdGNvbG9yOiAkc3VjY2Vzcy1jb2xvcjtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogLTI1cHg7XHJcblx0XHRyaWdodDogMHB4O1xyXG5cdH1cclxufVxyXG5cclxuLmF1dG9zYXZlZF9ub3Qge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1hcmdpbi1ib3R0b206IDEycHg7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDQwMDtcclxuXHQmOmFmdGVyIHtcclxuXHRcdGNvbnRlbnQ6ICdcXGYwMGQgTm90IFNhdmVkJztcclxuXHRcdGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgUHJvJztcclxuXHRcdGZvbnQtc2l6ZTogLjlyZW07XHJcblx0XHRjb2xvcjogJGFsZXJ0LWNvbG9yO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAtMjVweDtcclxuXHRcdHJpZ2h0OiAwcHg7XHJcblx0fVxyXG59XHJcblxyXG4ucnRjLXVzZXIsLmNoYXQtdXNlcntcclxuXHRjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0bWFyZ2luLWJvdHRvbTogLjNyZW07XHJcblx0cGFkZGluZy1sZWZ0OiAuNXJlbTtcclxuXHQmOmhvdmVyIHtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA5MCUpO1xyXG5cdH1cclxufVxyXG5cclxuLnJlY2lwaWVudCB7XHJcblx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRpbmZvLWNvbG9yLCAkbGlnaHRuZXNzOiA3NSUpO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHQmOmFmdGVyIHtcclxuXHRcdGNvbnRlbnQ6ICdcXGY0YjInO1xyXG5cdFx0Zm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBQcm8nO1xyXG5cdFx0Zm9udC1zaXplOiAuNzVyZW07XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDJweDtcclxuXHRcdHJpZ2h0OiA1cHg7XHJcblx0fVxyXG59XHJcblxyXG4uY2hhdF9zZW5kZXIge1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdGZvbnQtc2l6ZTogLjc1ZW07XHJcblx0YmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogNzUlKTtcclxuXHRib3JkZXI6ICRzZWNvbmRhcnktY29sb3I7XHJcblx0LW1vei1ib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdG1pbi13aWR0aDogMjAwcHg7XHJcblx0bWF4LXdpZHRoOiAzMDBweDtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRwYWRkaW5nLWxlZnQ6IDFlbTtcclxuXHRsaW5lLWhlaWdodDogMS41ZW07XHJcblx0bWFyZ2luLWxlZnQ6IDFlbTtcclxufVxyXG5cclxuLmNoYXRfc2VsZiB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJG9pbCwgJGxpZ2h0bmVzczogNzUlKTtcclxuXHRib3JkZXI6ICRvaWw7XHJcbn1cclxuXHJcbi5jaGF0X21lc3NhZ2Uge1xyXG5cdGZvbnQtc2l6ZTogLjc1ZW07XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0cGFkZGluZy1sZWZ0OiAzZW07XHJcblx0cGFkZGluZy1yaWdodDogLjVlbTtcclxufVxyXG5cclxuLm9wZW5fY2hhdCB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG52aWRlbyB7XHJcblx0aGVpZ2h0OiAyMDBweDtcclxuXHRtYXJnaW46IDAgMCAyMHB4IDA7XHJcblx0dmVydGljYWwtYWxpZ246IHRvcDtcclxuXHR3aWR0aDogY2FsYyg1MCUgLSAxMnB4KTtcclxufVxyXG5cclxuaW5wdXQ6Oi1tcy1jbGVhciB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uZm9vdG5vdGUge1xyXG5cdGZvbnQtc2l6ZTogLjZlbTsgXHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDsgXHJcblx0dmVydGljYWwtYWxpZ246IHRvcDtcclxufVxyXG5cclxuQGtleWZyYW1lcyBzbG93X2ZhZGUge1xyXG5cdDAlXHQgeyBvcGFjaXR5OjE7IH1cclxuXHQ1MCVcdHsgb3BhY2l0eTouMjU7IH1cclxuXHQxMDAlIHsgb3BhY2l0eToxOyB9XHJcbn1cclxuQC1vLWtleWZyYW1lcyBzbG93X2ZhZGV7XHJcblx0MCVcdCB7IG9wYWNpdHk6MTsgfVxyXG5cdDUwJVx0eyBvcGFjaXR5Oi4yNTsgfVxyXG5cdDEwMCUgeyBvcGFjaXR5OjE7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgc2xvd19mYWRle1xyXG5cdDAlXHQgeyBvcGFjaXR5OjE7IH1cclxuXHQ1MCVcdHsgb3BhY2l0eTouMjU7IH1cclxuXHQxMDAlIHsgb3BhY2l0eToxOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIHNsb3dfZmFkZXtcclxuXHQwJVx0IHsgb3BhY2l0eToxOyB9XHJcblx0NTAlXHR7IG9wYWNpdHk6LjI1OyB9XHJcblx0MTAwJSB7IG9wYWNpdHk6MTsgfVxyXG59XHJcbi5hbmltYXRlLXNsb3dfZmFkZSB7XHJcblx0IC13ZWJraXQtYW5pbWF0aW9uOiBzbG93X2ZhZGUgM3MgaW5maW5pdGU7XHJcblx0IC1tb3otYW5pbWF0aW9uOiBzbG93X2ZhZGUgM3MgaW5maW5pdGU7XHJcblx0IC1vLWFuaW1hdGlvbjogc2xvd19mYWRlIDNzIGluZmluaXRlO1xyXG5cdFx0YW5pbWF0aW9uOiBzbG93X2ZhZGUgM3MgaW5maW5pdGU7XHJcbn1cclxuXHJcbi5pbmNvcnJlY3RfaGlnaGxpZ2h0IHtcclxuXHRjb2xvcjogJGFsZXJ0LWNvbG9yO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICR3YXJuaW5nLWNvbG9yO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuLnBjZF9zbG90IHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0d2lkdGg6IDI1cHg7XHJcbn1cclxuXHJcbiNteV9wY2R7XHJcblx0OjpwbGFjZWhvbGRlciB7XHJcblx0XHRjb2xvcjogI2JiYjtcclxuXHRcdGZvbnQtc2l6ZTogMS41ZW07XHJcblx0fVxyXG59XHJcblxyXG4uZmxvYXRlciB7XHJcblx0cG9zaXRpb246IGFic29sdXRlOyBcclxuXHRiYWNrZ3JvdW5kOiAjZmZmOyBcclxuXHRib3JkZXI6IDRweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cdHBhZGRpbmc6IDFlbTtcclxuXHQtbW96LWJvcmRlci1yYWRpdXM6IDRweDtcclxuXHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0Ym94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssLjQpO1xyXG59XHJcblxyXG4uaGFyZF9yZXF1aXJlbWVudCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJGFsZXJ0LWNvbG9yLCAkbGlnaHRuZXNzOiA4NSUpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5oYXJkX3JlcXVpcmVtZW50X2xhYmVsIHtcclxuXHRjb2xvcjogJGFsZXJ0LWNvbG9yO1xyXG59XHJcblxyXG4uaWNvbi1iYXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGZvbnQtc2l6ZTogMDtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0YmFja2dyb3VuZDogIzMzMzMzMztcclxufVxyXG4uaWNvbi1iYXIgPiAqIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Zm9udC1zaXplOiAwLjhyZW07XHJcblx0d2lkdGg6IDI1JTtcclxuXHRtYXJnaW46IDAgYXV0bztcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRwYWRkaW5nOiAwLjFyZW07XHJcblx0ZmxvYXQ6IGxlZnQ7XHJcbn1cclxuLmljb24tYmFyID4gKiBpLCAuaWNvbi1iYXIgPiAqIGltZyB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcbn1cclxuLmljb24tYmFyID4gKiBpICsgbGFiZWwsIC5pY29uLWJhciA+ICogaW1nICsgbGFiZWwge1xyXG5cdG1hcmdpbi10b3A6IC4wNjI1cmVtO1xyXG59XHJcbi5pY29uLWJhciA+ICogaSB7XHJcblx0Zm9udC1zaXplOiAxLjI1cmVtO1xyXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuLmljb24tYmFyID4gKiBpbWcge1xyXG5cdHdpZHRoOiAxLjg3NXJlbTtcclxuXHRoZWlnaHQ6IDEuODc1cmVtO1xyXG59XHJcbi5pY29uLWJhci5sYWJlbC1yaWdodCA+ICogaSwgLmljb24tYmFyLmxhYmVsLXJpZ2h0ID4gKiBpbWcge1xyXG5cdG1hcmdpbjogMCAuMDYyNXJlbSAwIDA7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcbi5pY29uLWJhci5sYWJlbC1yaWdodCA+ICogaSArIGxhYmVsLCAuaWNvbi1iYXIubGFiZWwtcmlnaHQgPiAqIGltZyArIGxhYmVsIHtcclxuXHRtYXJnaW4tdG9wOiAwO1xyXG59XHJcbi5pY29uLWJhci5sYWJlbC1yaWdodCA+ICogbGFiZWwge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG4uaWNvbi1iYXIudmVydGljYWwubGFiZWwtcmlnaHQgPiAqIHtcclxuXHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcbi5pY29uLWJhci52ZXJ0aWNhbCwgLmljb24tYmFyLnNtYWxsLXZlcnRpY2FsIHtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0d2lkdGg6IGF1dG87XHJcbn1cclxuLmljb24tYmFyLnZlcnRpY2FsIC5pdGVtLCAuaWNvbi1iYXIuc21hbGwtdmVydGljYWwgLml0ZW0ge1xyXG5cdHdpZHRoOiBhdXRvO1xyXG5cdG1hcmdpbjogYXV0bztcclxuXHRmbG9hdDogbm9uZTtcclxufVxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2M2VtKSB7XHJcblx0Lmljb24tYmFyLm1lZGl1bS12ZXJ0aWNhbCB7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHR9XHJcblx0Lmljb24tYmFyLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHRcdG1hcmdpbjogYXV0bztcclxuXHRcdGZsb2F0OiBub25lO1xyXG5cdH1cclxufVxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2M2VtKSB7XHJcblx0Lmljb24tYmFyLmxhcmdlLXZlcnRpY2FsIHtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdHdpZHRoOiBhdXRvO1xyXG5cdH1cclxuXHQuaWNvbi1iYXIubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0XHRtYXJnaW46IGF1dG87XHJcblx0XHRmbG9hdDogbm9uZTtcclxuXHR9XHJcbn1cclxuLmljb24tYmFyID4gKiB7XHJcblx0Zm9udC1zaXplOiAwLjhyZW07XHJcblx0cGFkZGluZzogMC4xcmVtO1xyXG59XHJcbi5pY29uLWJhciA+ICogaSArIGxhYmVsLCAuaWNvbi1iYXIgPiAqIGltZyArIGxhYmVsIHtcclxuXHRtYXJnaW4tdG9wOiAuMDYyNXJlbTtcclxufVxyXG4uaWNvbi1iYXIgPiAqIGkge1xyXG5cdGZvbnQtc2l6ZTogMS4yNXJlbTtcclxufVxyXG4uaWNvbi1iYXIgPiAqIGltZyB7XHJcblx0d2lkdGg6IDEuODc1cmVtO1xyXG5cdGhlaWdodDogMS44NzVyZW07XHJcbn1cclxuLmljb24tYmFyID4gKjpob3ZlciB7XHJcblx0YmFja2dyb3VuZDogIzAwNGE4ZjtcclxufVxyXG4uaWNvbi1iYXIgPiAqIGxhYmVsIHtcclxuXHRjb2xvcjogI0ZGRkZGRjtcclxufVxyXG4uaWNvbi1iYXIgPiAqIGkge1xyXG5cdGNvbG9yOiAjYTNkM2ZmO1xyXG59XHJcblxyXG4uaWNvbi1iYXIudHdvLXVwIC5pdGVtIHtcclxuXHR3aWR0aDogNTAlO1xyXG59XHJcbi5pY29uLWJhci50d28tdXAudmVydGljYWwgLml0ZW0sIC5pY29uLWJhci50d28tdXAuc21hbGwtdmVydGljYWwgLml0ZW0ge1xyXG5cdHdpZHRoOiBhdXRvO1xyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYzZW0pIHtcclxuXHQuaWNvbi1iYXIudHdvLXVwLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHR9XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjNlbSkge1xyXG5cdC5pY29uLWJhci50d28tdXAubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0fVxyXG59XHJcbi5pY29uLWJhci50aHJlZS11cCAuaXRlbSB7XHJcblx0d2lkdGg6IDMzLjMzMzMlO1xyXG59XHJcbi5pY29uLWJhci50aHJlZS11cC52ZXJ0aWNhbCAuaXRlbSwgLmljb24tYmFyLnRocmVlLXVwLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHtcclxuXHR3aWR0aDogYXV0bztcclxufVxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2M2VtKSB7XHJcblx0Lmljb24tYmFyLnRocmVlLXVwLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHR9XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjNlbSkge1xyXG5cdC5pY29uLWJhci50aHJlZS11cC5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHR9XHJcbn1cclxuLmljb24tYmFyLmZvdXItdXAgLml0ZW0ge1xyXG5cdHdpZHRoOiAyNSU7XHJcbn1cclxuLmljb24tYmFyLmZvdXItdXAudmVydGljYWwgLml0ZW0sIC5pY29uLWJhci5mb3VyLXVwLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHtcclxuXHR3aWR0aDogYXV0bztcclxufVxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2M2VtKSB7XHJcblx0Lmljb24tYmFyLmZvdXItdXAubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcclxuXHRcdHdpZHRoOiBhdXRvO1xyXG5cdH1cclxufVxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2M2VtKSB7XHJcblx0Lmljb24tYmFyLmZvdXItdXAubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0fVxyXG59XHJcbi5pY29uLWJhci5maXZlLXVwIC5pdGVtIHtcclxuXHR3aWR0aDogMjAlO1xyXG59XHJcbi5pY29uLWJhci5maXZlLXVwLnZlcnRpY2FsIC5pdGVtLCAuaWNvbi1iYXIuZml2ZS11cC5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7XHJcblx0d2lkdGg6IGF1dG87XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjNlbSkge1xyXG5cdC5pY29uLWJhci5maXZlLXVwLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHR9XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjNlbSkge1xyXG5cdC5pY29uLWJhci5maXZlLXVwLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcclxuXHRcdHdpZHRoOiBhdXRvO1xyXG5cdH1cclxufVxyXG4uaWNvbi1iYXIuc2l4LXVwIC5pdGVtIHtcclxuXHR3aWR0aDogMTYuNjY2NjclO1xyXG59XHJcbi5pY29uLWJhci5zaXgtdXAudmVydGljYWwgLml0ZW0sIC5pY29uLWJhci5zaXgtdXAuc21hbGwtdmVydGljYWwgLml0ZW0ge1xyXG5cdHdpZHRoOiBhdXRvO1xyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYzZW0pIHtcclxuXHQuaWNvbi1iYXIuc2l4LXVwLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHR9XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjNlbSkge1xyXG5cdC5pY29uLWJhci5zaXgtdXAubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0fVxyXG59XHJcblxyXG4ucm91bmRfbGVmdCB7XHJcblx0YmFja2dyb3VuZDogI2VlZTtcclxuXHRoZWlnaHQ6IDI5cHg7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmctdG9wOiA1cHg7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XHJcblx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG5cdGJvcmRlci1yYWRpdXM6IDEwMHB4IDAgMCAxMDBweDtcclxuXHRmb250LXNpemU6IC43NXJlbTtcclxufVxyXG5cclxuLnJvdW5kX3JpZ2h0IGlucHV0IHtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcclxuXHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG5cdGJvcmRlci1yYWRpdXM6IDAgMTAwcHggMTAwcHggMDtcclxufVxyXG5cclxuLmhhcy10aXAge1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0Y29sb3I6ICNmNGExNDI7XHJcblx0Ym9yZGVyLWJvdHRvbTogMDtcclxufVxyXG5cclxuW3R5cGU9ZGF0ZV0sIFt0eXBlPW51bWJlcl0sIFt0eXBlPXBhc3N3b3JkXSwgW3R5cGU9dGV4dF0ge1xyXG5cdGhlaWdodDogMS44MTI1cmVtO1xyXG59Il19 */
