文件操作 - style.css
返回文件管理
返回主菜单
删除本文件
文件: /root/Desktop/OLD/plugin-wordpress/advanced-cron-manager/assets/dist/css/style.css
编辑文件内容
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes pulsate{0%{background-color:#ccc}50%{background-color:#ddd}100%{background-color:#ccc}}.tools_page_advanced-cron-manager #poststuff{padding-top:25px}@media (max-width: 460px){.tools_page_advanced-cron-manager #poststuff{padding-top:10px}}.tools_page_advanced-cron-manager #poststuff #post-body{margin-right:470px}@media (max-width: 1200px){.tools_page_advanced-cron-manager #poststuff #post-body{margin-right:320px}}.tools_page_advanced-cron-manager #poststuff #postbox-container-1{float:right;margin-right:-470px;width:450px}@media (max-width: 1200px){.tools_page_advanced-cron-manager #poststuff #postbox-container-1{margin-right:-320px;width:300px}}@media (max-width: 460px){.tools_page_advanced-cron-manager .wrap>.page-title-action{display:none}}.tile{background-color:#fff;border:1px solid #ddd}.tile .tile-header{padding:10px 15px;font-size:1.1em;margin:0;border-bottom:1px solid #ddd}.tile .tile-content{padding:10px 15px}.tile img{max-width:100%;height:auto}#notification-promo{margin-top:40px}#toast-container{display:block;position:fixed;z-index:999999}@media (max-width: 600px){#toast-container{min-width:100%;bottom:0%}}@media (min-width: 601px) and (max-width: 1200px){#toast-container{right:5%;bottom:7%;max-width:90%}}@media (min-width: 1201px){#toast-container{top:10%;right:7%;max-width:86%}}.toast{box-sizing:border-box;border-radius:2px;top:35px;width:auto;clear:both;margin-top:10px;position:relative;max-width:100%;height:auto;min-height:48px;line-height:1.5em;word-break:break-all;background-color:#222;padding:10px 25px 10px 15px;font-size:1.1rem;font-weight:300;color:#fff;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.toast .btn{margin:0;margin-left:2rem;padding:5px 10px;border-radius:5px;background:#444;color:white;text-decoration:none;font-weight:500;font-size:1rem}.toast .dashicons{margin-right:10px}.toast .dashicons.dashicons-yes{color:#00b300}.toast .dashicons.dashicons-warning{color:#ff2626}@media (max-width: 600px){.toast{width:100%;border-radius:0}}@media (min-width: 601px) and (max-width: 1200px){.toast{float:left}}@media (min-width: 1201px){.toast{float:right}}.slidebar{box-sizing:border-box;position:fixed;height:100%;height:100vh;right:0;top:0;background:#f7f7f7;border-left:1px solid #d2d2d2;box-shadow:0 -3px 9px #cacaca;width:380px;z-index:9999;padding:20px 30px;margin-top:32px;overflow:auto;margin-right:-385px;max-width:95%}@media (max-width: 600px){.slidebar{z-index:99999;margin-top:0}}.slidebar .close{float:right;margin:0 0 16px 16px;cursor:pointer;font-size:1.8rem}.slidebar .content h3{margin-top:6px;margin-bottom:40px}.slidebar .content form label{font-weight:500}.slidebar .content form input,.slidebar .content form select{margin-top:6px;margin-bottom:15px}.slidebar .content form input.spinbox,.slidebar .content form select.spinbox{margin-bottom:5px;float:right;width:60px;display:inline-block}.slidebar .content form input.event-argument,.slidebar .content form select.event-argument{margin-bottom:5px}.slidebar .content form .submit-row{float:right}.slidebar .content form .submit-row .button{float:right;margin-bottom:20px}.slidebar .content form .submit-row .spinner{margin-top:10px;float:left}.slidebar .content .form-placeholder{display:none}.slidebar .content .form-placeholder .header{animation-duration:1s;animation-iteration-count:infinite;animation-name:pulsate;animation-timing-function:linear;background:#e2e2e2;height:30px;width:75%;margin-bottom:3em}.slidebar .content .form-placeholder .input{animation-duration:1s;animation-iteration-count:infinite;animation-name:pulsate;animation-timing-function:linear;background:#e2e2e2;height:30px;width:100%;margin-bottom:1.5em}.slidebar .content .form-placeholder .send{animation-duration:1s;animation-iteration-count:infinite;animation-name:pulsate;animation-timing-function:linear;background:#e2e2e2;height:30px;width:30%;float:right}.slidebar .content.loading .form-placeholder{display:block}.slidebar-overlay{display:none;position:fixed;width:100%;height:100%;top:0;left:0;z-index:999;background-color:rgba(0,0,0,0.1)}.searchbox{margin-bottom:20px}.searchbox #search{padding:10px 15px;font-size:1.2em}@media (max-width: 850px){#schedules{margin-top:30px}}#schedules.loading{opacity:0.7}#schedules .schedules .single-schedule{display:-ms-flexbox;display:flex;margin:10px 0}#schedules .schedules .single-schedule.header{font-weight:500}#schedules .schedules .single-schedule.header:hover{background:transparent}#schedules .schedules .single-schedule .column{padding:2px;overflow:hidden}#schedules .schedules .single-schedule .column.label{-ms-flex-positive:100;flex-grow:100}#schedules .schedules .single-schedule .column.slug{width:30%}#schedules .schedules .single-schedule .column.interval{width:15%}#schedules .schedules .single-schedule .column.actions{width:15%;text-align:right}#schedules .schedules .single-schedule .column.actions .dashicons.dashicons-trash{color:#a00}#schedules .schedules .single-schedule .column.actions .dashicons.dashicons-trash:hover{color:red}#schedules .schedules .single-schedule .column.actions .dashicons.dashicons-trash.working{color:inherit;animation-name:spin;animation-duration:4000ms;animation-iteration-count:infinite;animation-timing-function:linear}#schedules .schedules .single-schedule .column.actions .dashicons.dashicons-trash.working:before{content:"\f111"}#schedules .schedules .single-schedule .column.actions .dashicons.disabled,#schedules .schedules .single-schedule .column.actions .dashicons.disabled:hover{cursor:not-allowed;color:#ccc}#schedules .schedules .single-schedule .column.actions .dashicons span{display:none}#schedules .page-title-action{top:15px;margin-left:0}#events.loading{opacity:0.7}#events .tablenav.bottom{overflow:auto;margin-bottom:-15px}@media (min-width: 784px){#events .tablenav.bottom{display:none}}#events .events{overflow:hidden;width:100%}#events .events .single-event{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}#events .events .single-event:hover .row-actions{position:static}@media (max-width: 1200px){#events .events .single-event .row-actions{position:static}}#events .events .single-event.header{border-bottom:1px solid #e1e1e1;font-weight:500}#events .events .single-event.header:last-of-type{border-bottom:none}#events .events .single-event.header .columns{border-bottom:none;box-shadow:none}#events .events .single-event.header .columns .column.is-sortable{cursor:pointer}#events .events .single-event.header .columns .column.asc::after{content:'\25B2';font-size:0.9em;padding-left:5px}#events .events .single-event.header .columns .column.desc::after{content:'\25BC';font-size:0.9em;padding-left:5px}#events .events .single-event.header .columns .column:not(.asc):not(.desc):not(.arguments):not(.cb):hover::after{content:'\25B2';font-size:0.9em;padding-left:5px}#events .events .single-event.unfolded .columns{box-shadow:0 1px 6px rgba(0,0,0,0.1)}#events .events .single-event.unfolded>.details{display:-ms-flexbox;display:flex}#events .events .single-event.paused{background-color:#fcfcfc}#events .events .single-event.running{background-color:#e0fbe7}#events .events .single-event.running .columns .column.cb input{display:none}#events .events .single-event.running .columns .column.cb .dashicons{display:block;color:green}#events .events .single-event.removing .columns .column.cb input{display:none}#events .events .single-event.removing .columns .column.cb .dashicons{display:block}#events .events .single-event .columns{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;border-bottom:1px solid #e1e1e1;z-index:1}#events .events .single-event .columns .column{padding:12px}#events .events .single-event .columns .column.cb{width:18px}#events .events .single-event .columns .column.cb input{margin-right:0}#events .events .single-event .columns .column.cb .dashicons{display:none;animation-name:spin;animation-duration:4000ms;animation-iteration-count:infinite;animation-timing-function:linear}#events .events .single-event .columns .column.event{-ms-flex-positive:100;flex-grow:100}#events .events .single-event .columns .column.event .event-name{text-decoration:none;color:inherit}#events .events .single-event .columns .column.event .event-name .dashicons{color:#555}#events .events .single-event .columns .column.event .row-actions a{text-decoration:none}#events .events .single-event .columns .column.schedule{width:15%}@media (max-width: 1200px){#events .events .single-event .columns .column.schedule{display:none}}#events .events .single-event .columns .column.arguments{width:15%}@media (max-width: 1200px){#events .events .single-event .columns .column.arguments{display:none}}#events .events .single-event .columns .column.arguments span{margin:0 4px 4px 0;padding:3px 5px;background:#f5f5f5;border-radius:3px;border:1px solid #dbdbdb}#events .events .single-event .columns .column.next-execution{width:15%;text-align:right}@media (max-width: 1200px){#events .events .single-event .columns .column.next-execution{width:25%}}#events .events .single-event>.details{display:none;-ms-flex-positive:100;flex-grow:100;background-color:#f3f3f3;border-bottom:1px solid #dbdbdb}@media (max-width: 1200px){#events .events .single-event>.details{-ms-flex-direction:column;flex-direction:column}}#events .events .single-event>.details .tabs{min-width:220px;max-width:220px;margin:0}@media (max-width: 1200px){#events .events .single-event>.details .tabs{min-width:100%;max-width:100%;border-bottom:1px solid #e8e8e8}}#events .events .single-event>.details .tabs li{margin:0}@media (max-width: 1200px){#events .events .single-event>.details .tabs li{width:50%;float:left}}#events .events .single-event>.details .tabs li:last-child{margin-bottom:20px}@media (max-width: 1200px){#events .events .single-event>.details .tabs li:last-child{margin-bottom:0}}#events .events .single-event>.details .tabs li.active{border-top:1px solid #d8d8d8;border-bottom:1px solid #d8d8d8}#events .events .single-event>.details .tabs li.active:first-child{border-top-color:#fbfbfb}@media (max-width: 1200px){#events .events .single-event>.details .tabs li.active{border:none;font-weight:500}}#events .events .single-event>.details .tabs li.active a{position:relative;left:1px;padding-left:53px;background-color:#fbfbfb}@media (max-width: 1200px){#events .events .single-event>.details .tabs li.active a{padding-left:20px;background-color:transparent}}#events .events .single-event>.details .tabs li.arguments,#events .events .single-event>.details .tabs li.schedule{display:none}@media (max-width: 1200px){#events .events .single-event>.details .tabs li.arguments,#events .events .single-event>.details .tabs li.schedule{display:block}}#events .events .single-event>.details .tabs li a{display:block;padding:10px 20px 10px 54px;text-decoration:none;color:#444}@media (max-width: 1200px){#events .events .single-event>.details .tabs li a{padding-left:20px}}#events .events .single-event>.details .tabs li a:focus{box-shadow:none}#events .events .single-event>.details .content{padding:20px;border-left:1px solid #d8d8d8;display:none;background-color:#fbfbfb;-ms-flex-positive:1;flex-grow:1}@media (max-width: 1200px){#events .events .single-event>.details .content{border:none}}#events .events .single-event>.details .content.active{display:block}#events .events .single-event>.details .content.logs p:first-child{margin-top:0}#events .events .single-event>.details .content.logs ul{list-style:disc;padding-left:20px}#events .events .single-event>.details .content.arguments span{margin:0 4px 4px 0;padding:3px 5px;background:#f5f5f5;border-radius:3px;border:1px solid #dbdbdb;white-space:pre;display:inline-block}#events .events .single-event>.details .content.implementation code{display:block;padding:15px;background-color:#f7f7f7;border:1px solid #e8e8e8}#events .page-title-action{top:15px;margin-left:0;clear:both}#server-scheduler-settings{margin-top:40px}#server-scheduler-settings #server-settings-form label{display:block;margin-bottom:15px} /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9hbmltYXRpb25zLnNjc3MiLCJjb21wb25lbnRzL193cmFwcGVyLnNjc3MiLCJ2ZW5kb3IvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImNvbXBvbmVudHMvX3RpbGUuc2NzcyIsImNvbXBvbmVudHMvX3RvYXN0LnNjc3MiLCJjb21wb25lbnRzL19zbGlkZWJhci5zY3NzIiwicGFydHMvX3NlYXJjaGJveC5zY3NzIiwicGFydHMvX3NjaGVkdWxlcy5zY3NzIiwicGFydHMvX2V2ZW50cy5zY3NzIiwibWl4aW5zL19taXhpbnMuc2NzcyIsInBhcnRzL19zZXJ2ZXItc2V0dGluZ3Muc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFDSSxLQUFPLHNCQUF3QixDQUMvQixHQUFLLHdCQUEwQixDQUFBLENBR25DLG1CQUNJLEdBQUsscUJBQXNCLENBQzNCLElBQU0scUJBQXNCLENBQzVCLEtBQU8scUJBQXNCLENBQUEsQ0NSakMsNkNBR0ssZ0JBQWlCLENDNGlCbEIsMEJEL2lCSiw2Q0FNRyxnQkFBaUIsQ0F3QmxCLENBOUJGLHdEQVVNLGtCQUFtQixDQ3FpQnJCLDJCRC9pQkosd0RBYUksa0JBQW1CLENBR3BCLENBaEJILGtFQW1CTSxZQUNBLG9CQUNBLFdBQVksQ0MwaEJkLDJCRC9pQkosa0VBd0JJLG9CQUNBLFdBQVksQ0FHYixDQ21oQkMsMEJEL2lCSiwyREFrQ0csWUFBYSxDQUNiLENFbkNILE1BQ0Msc0JBQ0cscUJBQXNCLENBRjFCLG1CQUtLLGtCQUNBLGdCQUNBLFNBQ0EsNEJBQTZCLENBUmxDLG9CQVlLLGlCQUFrQixDQVp2QixVQWdCSyxlQUNBLFdBQVksQ0FDWixvQkFLSixlQUFnQixDQUNoQixpQkN2QkEsY0FDQSxlQUNBLGNBQWUsQ0Y0aUJaLDBCRS9pQkosaUJBTUUsZUFDQSxTQUFVLENBZVgsQ0Z5aEJHLGtERS9pQkosaUJBV0UsU0FDQSxVQUNBLGFBQWMsQ0FTZixDRnloQkcsMkJFL2lCSixpQkFpQkUsUUFDQSxTQUNBLGFBQWMs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Q0EsVUFBVyxDQWlFWixDQTlTTiwyREFpUE8sa0JBQW1CLENOOFR0QiwyQk0vaUJKLDJEQW9QUSxlQUFnQixDQUdqQixDQXZQUCx1REEwUE8sNkJBQ0EsK0JBQWdDLENBM1B2QyxtRUE4UFEsd0JBQXlCLENOaVQ3QiwyQk0vaUJKLHVEQWtRUSxZQUNBLGVBQWdCLENBZ0JqQixDQW5SUCx5REF1UVEsa0JBQ0csU0FDSCxrQkFDQSx3QkFBeUIsQ05xUzdCLDJCTS9pQkoseURBNlFTLGtCQUNBLDRCQUE2QixDQUc5QixDQWpSUixtSEF1Uk8sWUFBYSxDTndSaEIsMkJNL2lCSixtSEEwUlEsYUFBYyxDQUVmLENBNVJQLGtEQStSTyxjQUNBLDRCQUNBLHFCQUNBLFVBQVcsQ042UWQsMkJNL2lCSixrREFxU1EsaUJBQWtCLENBT25CLENBNVNQLHdEQXlTUSxlQUFnQixDQXpTeEIsZ0RBbVRLLGFBQ0EsOEJBQ0EsYUFDQSx5QkFDQSxvQkFBQSxBQUFZLFdBQUEsQ053UGIsMkJNL2lCSixnREEwVE0sV0FBWSxDQTZDYixDQXZXTCx1REE4VE0sYUFBYyxDQTlUcEIsbUVBb1VPLFlBQWEsQ0FwVXBCLHdEQXdVVSxnQkFDRyxpQkFBa0IsQ0F6VS9CLCtEQWlWTyxtQkFDQSxnQkFDQSxtQkFDQSxrQkFDQSx5QkFDQSxnQkFDQSxvQkFBcUIsQ0F2VjVCLG9FQStWTyxjQUNBLGFBQ0EseUJBQ0Esd0JBQXlCLENBbFdoQywyQkFnWEUsU0FDQSxjQUNBLFVBQVcsQ0FDWCwyQkVsWEQsZUFBZ0IsQ0FEakIsdURBTUcsY0FDQSxrQkFBbUIsQ0FDbkIiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGtleWZyYW1lcyBzcGluIHtcclxuICAgIGZyb20geyB0cmFuc2Zvcm06cm90YXRlKCAwZGVnICk7IH1cclxuICAgIHRvIHsgdHJhbnNmb3JtOnJvdGF0ZSggMzYwZGVnICk7IH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBwdWxzYXRlIHtcclxuICAgIDAlIHsgYmFja2dyb3VuZC1jb2xvcjogI2NjYzsgfVxyXG4gICAgNTAlIHsgYmFja2dyb3VuZC1jb2xvcjogI2RkZDsgfVxyXG4gICAgMTAwJSB7IGJhY2tncm91bmQtY29sb3I6ICNjY2M7IH1cclxufVxyXG4iLCIudG9vbHNfcGFnZV9hZHZhbmNlZC1jcm9uLW1hbmFnZXIge1xyXG5cclxuXHQjcG9zdHN0dWZmIHtcclxuXHQgICAgcGFkZGluZy10b3A6IDI1cHg7XHJcblxyXG5cdCAgICBAaW5jbHVkZSBtZWRpYSggJzw9eHNtYWxsJyApIHtcclxuXHRcdFx0cGFkZGluZy10b3A6IDEwcHg7XHJcblx0XHR9XHJcblxyXG5cdCAgICAjcG9zdC1ib2R5IHtcclxuXHRcdCAgICBtYXJnaW4tcmlnaHQ6IDQ3MHB4O1xyXG5cclxuXHRcdCAgICBAaW5jbHVkZSBtZWRpYSggJzw9eGxhcmdlJyApIHtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDMyMHB4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0fVxyXG5cclxuXHQgICAgI3Bvc3Rib3gtY29udGFpbmVyLTEge1xyXG5cdFx0ICAgIGZsb2F0OiByaWdodDtcclxuXHRcdCAgICBtYXJnaW4tcmlnaHQ6IC00NzBweDtcclxuXHRcdCAgICB3aWR0aDogNDUwcHg7XHJcblxyXG5cdFx0ICAgIEBpbmNsdWRlIG1lZGlhKCAnPD14bGFyZ2UnICkge1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogLTMyMHB4O1xyXG5cdFx0XHRcdHdpZHRoOiAzMDBweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdH1cclxuXHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBtZWRpYSggJzw9eHNtYWxsJyApIHtcclxuXHRcdC53cmFwID4gLnBhZ2UtdGl0bGUtYWN0aW9uIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xyXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXHJcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xyXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxyXG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XHJcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XHJcbi8vXHJcbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXHJcbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjEuNC45XHJcbi8vXHJcbi8vICAgICAgICAgICAgICAgIGh0dHA6Ly9pbmNsdWRlLW1lZGlhLmNvbVxyXG4vL1xyXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcclxuLy8gICAgICAgICAgICAgICAgICBIdWdvIEdpcmF1ZGVsIChAaHVnb2dpcmF1ZGVsKVxyXG4vL1xyXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXHJcblxyXG5cclxuLy8vL1xyXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXHJcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcclxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XHJcbi8vL1xyXG4kYnJlYWtwb2ludHM6IChcclxuICAncGhvbmUnOiAzMjBweCxcclxuICAndGFibGV0JzogNzY4cHgsXHJcbiAgJ2Rlc2t0b3AnOiAxMDI0cHhcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLy9cclxuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcclxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcclxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcclxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xyXG4vLy8gICk7XHJcbi8vL1xyXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcclxuICAnc2NyZWVuJzogJ3NjcmVlbicsXHJcbiAgJ3ByaW50JzogJ3ByaW50JyxcclxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxyXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcclxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxyXG4gICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXHJcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cclxuLy8vXHJcbiR1bml0LWludGVydmFsczogKFxyXG4gICdweCc6IDEsXHJcbiAgJ2VtJzogMC4wMSxcclxuICAncmVtJzogMC4xLFxyXG4gICcnOiAwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xyXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIC5mb28ge1xyXG4vLy8gICAgY29sb3I6IHRvbWF0bztcclxuLy8vICB9XHJcbi8vL1xyXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3JcclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAuZm9vIHtcclxuLy8vICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogTm8gb3V0cHV0ICovXHJcbi8vL1xyXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXHJcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gICAuZm9vIHtcclxuLy8vICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBObyBvdXRwdXQgKi9cclxuLy8vXHJcbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XHJcblxyXG4vLy8vXHJcbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXHJcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxyXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcclxuLy8vXHJcbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcclxuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xyXG4gICAgQGVycm9yICRtZXNzYWdlO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHdhcm4gJG1lc3NhZ2U7XHJcbiAgICAkXzogbm9vcCgpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkbWVzc2FnZTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxyXG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXHJcbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXHJcbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXHJcbi8vL1xyXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XHJcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge31cclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xyXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cclxuLy8vXHJcbkBmdW5jdGlvbiBub29wKCkge31cclxuXHJcbi8vL1xyXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcclxuLy8vXHJcbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XHJcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XHJcblxyXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xyXG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XHJcbiAgfVxyXG5cclxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcclxuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XHJcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XHJcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xyXG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XHJcblxyXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcclxuICAgICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xyXG4gICAgICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xyXG4gICAgICBAcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiB0cnVlO1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBQYXJzaW5nIGVuZ2luZVxyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XHJcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XHJcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcclxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cclxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cclxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xyXG4gICRkaW1lbnNpb246ICd3aWR0aCc7XHJcblxyXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xyXG4gICAgJGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRkaW1lbnNpb247XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xyXG4gIEByZXR1cm4gaWYoaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcclxuXHJcbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XHJcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcclxuICB9XHJcblxyXG4gICRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XHJcblxyXG4gIEBpZiBub3QgJGludGVydmFsIHtcclxuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cclxuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXHJcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cclxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXHJcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXHJcbiAgICAkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7dW5pdCgkdmFsdWUpfWAuJyk7XHJcbiAgfVxyXG5cclxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XHJcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcclxuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xyXG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR2YWx1ZTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxyXG4vLy9cclxuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcclxuICAvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXHJcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcclxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xyXG4gIH1cclxuXHJcbiAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XHJcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xyXG4gICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcblxyXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcclxuLy8vXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3RcclxuLy8vXHJcbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XHJcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xyXG4gICAgQHJldHVybiAoKTtcclxuICB9XHJcblxyXG4gICRyZXN1bHQ6ICgpO1xyXG5cclxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XHJcbiAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcmVzdWx0O1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XHJcbi8vL1xyXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xyXG4gICAgQHJldHVybiAkdmFsdWU7XHJcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xyXG4gICAgJF86IGltLWxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcclxuICB9XHJcblxyXG4gICRmaXJzdC1jaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsIDEsIDEpO1xyXG4gICRyZXN1bHQ6IDA7XHJcbiAgJGRpZ2l0czogMDtcclxuICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XHJcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xyXG5cclxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XHJcbiAgICAkdmFsdWU6IHN0ci1zbGljZSgkdmFsdWUsIDIpO1xyXG4gIH1cclxuXHJcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xyXG4gICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgJGksICRpKTtcclxuXHJcbiAgICBAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XHJcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHItc2xpY2UoJHZhbHVlLCAkaSkpXHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcclxuICAgICAgJGRpZ2l0czogMTtcclxuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcclxuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xyXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3RlcikgLyAkZGlnaXRzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxyXG4vLy9cclxuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XHJcbiAgJHVuaXRzOiAoJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dywgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcclxuXHJcbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xyXG4gICAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXHJcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXHJcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcclxuLy8vIGZvciBpbnN0YW5jZS5cclxuLy8vXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vXHJcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2BcclxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcclxuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xyXG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcclxuXHJcbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XHJcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XHJcblxyXG4gIEBjb250ZW50O1xyXG5cclxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XHJcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXHJcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cclxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XHJcbi8vL1xyXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcclxuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXHJcbiAgICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKSB7XHJcbiAgICBAY29udGVudDtcclxuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcclxuICAgIEBtZWRpYSAje3VucXVvdGUocGFyc2UtZXhwcmVzc2lvbihudGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcclxuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLnRpbGUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xyXG5cclxuICAgIC50aWxlLWhlYWRlciB7XHJcbiAgICBcdHBhZGRpbmc6IDEwcHggMTVweDtcclxuICAgIFx0Zm9udC1zaXplOiAxLjFlbTtcclxuXHQgICAgbWFyZ2luOiAwO1xyXG5cdCAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcclxuICAgIH1cclxuXHJcbiAgICAudGlsZS1jb250ZW50IHtcclxuICAgIFx0cGFkZGluZzogMTBweCAxNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICBcdG1heC13aWR0aDogMTAwJTtcclxuICAgIFx0aGVpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuI25vdGlmaWNhdGlvbi1wcm9tbyB7XHJcblx0bWFyZ2luLXRvcDogNDBweDtcclxufVxyXG4iLCIjdG9hc3QtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0ei1pbmRleDogOTk5OTk5O1xyXG5cclxuXHRAaW5jbHVkZSBtZWRpYSggJzw9c21hbGwnICkge1xyXG5cdFx0bWluLXdpZHRoOiAxMDAlO1xyXG5cdFx0Ym90dG9tOiAwJTtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIG1lZGlhKCAnPnNtYWxsJywgJzw9eGxhcmdlJyApIHtcclxuXHRcdHJpZ2h0OiA1JTtcclxuXHRcdGJvdHRvbTogNyU7XHJcblx0XHRtYXgtd2lkdGg6IDkwJTtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIG1lZGlhKCAnPnhsYXJnZScgKSB7XHJcblx0XHR0b3A6IDEwJTtcclxuXHRcdHJpZ2h0OiA3JTtcclxuXHRcdG1heC13aWR0aDogODYlO1xyXG5cdH1cclxuXHJcbn1cclxuXHJcbi50b2FzdCB7XHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRib3JkZXItcmFkaXVzOiAycHg7XHJcblx0dG9wOiAzNXB4O1xyXG5cdHdpZHRoOiBhdXRvO1xyXG5cdGNsZWFyOiBib3RoO1xyXG5cdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1heC13aWR0aDoxMDAlO1xyXG5cdGhlaWdodDogYXV0bztcclxuXHRtaW4taGVpZ2h0OiA0OHB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjVlbTtcclxuXHR3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogIzIyMjtcclxuXHRwYWRkaW5nOiAxMHB4IDI1cHggMTBweCAxNXB4O1xyXG5cdGZvbnQtc2l6ZTogMS4xcmVtO1xyXG5cdGZvbnQtd2VpZ2h0OiAzMDA7XHJcblx0Y29sb3I6ICNmZmY7XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG5cdC5idG4ge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDJyZW07XHJcblx0XHRwYWRkaW5nOiA1cHggMTBweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHRcdGJhY2tncm91bmQ6ICM0NDQ7XHJcblx0XHRjb2xvcjogd2hpdGU7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0Zm9udC1zaXplOiAxcmVtO1xyXG5cdH1cclxuXHJcblx0LmRhc2hpY29ucyB7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblxyXG5cdFx0Ji5kYXNoaWNvbnMteWVzIHtcclxuXHRcdFx0Y29sb3I6ICMwMGIzMDA7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5kYXNoaWNvbnMtd2FybmluZyB7XHJcblx0XHRcdGNvbG9yOiAjZmYyNjI2O1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIG1lZGlhKCAnPD1zbWFsbCcgKSB7XHJcblx0XHR3aWR0aDoxMDAlO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIG1lZGlhKCAnPnNtYWxsJywgJzw9eGxhcmdlJyApIHtcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgbWVkaWEoICc+eGxhcmdlJyApIHtcclxuXHRcdGZsb2F0OiByaWdodDtcclxuXHR9XHJcblxyXG59XHJcbiIsIi5zbGlkZWJhciB7XHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGhlaWdodDogMTAwdmg7XHJcblx0cmlnaHQ6IDA7XHJcblx0dG9wOiAwO1xyXG5cdGJhY2tncm91bmQ6ICNmN2Y3Zjc7XHJcblx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZDJkMmQyO1xyXG5cdGJveC1zaGFkb3c6IDAgLTNweCA5cHggI2NhY2FjYTtcclxuXHR3aWR0aDogMzgwcHg7XHJcblx0ei1pbmRleDogOTk5OTtcclxuXHRwYWRkaW5nOiAyMHB4IDMwcHg7XHJcblx0bWFyZ2luLXRvcDogMzJweDtcclxuXHRvdmVyZmxvdzogYXV0bztcclxuXHRtYXJnaW4tcmlnaHQ6IC0zODVweDtcclxuXHRtYXgtd2lkdGg6IDk1JTtcclxuXHJcblx0QGluY2x1ZGUgbWVkaWEoICc8PXNtYWxsJyApIHtcclxuXHRcdHotaW5kZXg6IDk5OTk5O1xyXG5cdFx0bWFyZ2luLXRvcDogMDtcclxuXHR9XHJcblxyXG5cdC5jbG9zZSB7XHJcblx0ICAgIGZsb2F0OiByaWdodDtcclxuXHQgICAgbWFyZ2luOiAwIDAgMTZweCAxNnB4O1xyXG5cdCAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblx0ICAgIGZvbnQtc2l6ZTogMS44cmVtO1xyXG5cdH1cclxuXHJcblx0LmNvbnRlbnQge1xyXG5cclxuXHRcdGgzIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogNnB4O1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdGZvcm0ge1xyXG5cclxuXHRcdFx0bGFiZWwge1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGlucHV0LFxyXG5cdFx0XHRzZWxlY3Qge1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDZweDtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cclxuXHRcdFx0XHQmLnNwaW5ib3gge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cdFx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRcdFx0d2lkdGg6IDYwcHg7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmLmV2ZW50LWFyZ3VtZW50IHtcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDVweDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuc3VibWl0LXJvdyB7XHJcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cclxuXHRcdFx0XHQuYnV0dG9uIHtcclxuXHRcdFx0XHRcdGZsb2F0OiByaWdodDtcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuc3Bpbm5lciB7XHJcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0fVxyXG5cclxuXHRcdH1cclxuXHJcblx0XHRAbWl4aW4gcGxhY2Vob2xkZXItYW5pbWF0aW9uKCkge1xyXG5cdFx0XHRhbmltYXRpb24tZHVyYXRpb246IDFzO1xyXG5cdFx0ICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG5cdFx0ICAgIGFuaW1hdGlvbi1uYW1lOiBwdWxzYXRlO1xyXG5cdFx0ICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuXHRcdCAgICBiYWNrZ3JvdW5kOiAjZTJlMmUyO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5mb3JtLXBsYWNlaG9sZGVyIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHJcblx0XHRcdC5oZWFkZXIge1xyXG5cdFx0XHRcdEBpbmNsdWRlIHBsYWNlaG9sZGVyLWFuaW1hdGlvbigpO1xyXG5cdFx0XHRcdGhlaWdodDogMzBweDtcclxuXHRcdFx0XHR3aWR0aDogNzUlO1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDNlbTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmlucHV0IHtcclxuXHRcdFx0XHRAaW5jbHVkZSBwbGFjZWhvbGRlci1hbmltYXRpb24oKTtcclxuXHRcdFx0XHRoZWlnaHQ6IDMwcHg7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMS41ZW07XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5zZW5kIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBwbGFjZWhvbGRlci1hbmltYXRpb24oKTtcclxuXHRcdFx0XHRoZWlnaHQ6IDMwcHg7XHJcblx0XHRcdFx0d2lkdGg6IDMwJTtcclxuXHRcdFx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRcdH1cclxuXHJcblx0XHR9XHJcblxyXG5cdFx0Ji5sb2FkaW5nIC5mb3JtLXBsYWNlaG9sZGVyIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHJcbn1cclxuXHJcbi5zbGlkZWJhci1vdmVybGF5IHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHotaW5kZXg6IDk5OTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxufVxyXG4iLCIuc2VhcmNoYm94IHtcclxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cclxuXHQjc2VhcmNoIHtcclxuXHRcdHBhZGRpbmc6IDEwcHggMTVweDtcclxuXHQgICAgZm9udC1zaXplOiAxLjJlbTtcclxuXHR9XHJcblxyXG59XHJcbiIsIiNzY2hlZHVsZXMge1xyXG5cclxuXHRAaW5jbHVkZSBtZWRpYSggJzw9ODUwcHgnICkge1xyXG5cdFx0bWFyZ2luLXRvcDogMzBweDtcclxuXHR9XHJcblxyXG5cdCYubG9hZGluZyB7XHJcblx0XHRvcGFjaXR5OiAwLjc7XHJcblx0fVxyXG5cclxuXHQuc2NoZWR1bGVzIHtcclxuXHJcblx0XHQuc2luZ2xlLXNjaGVkdWxlIHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0bWFyZ2luOiAxMHB4IDA7XHJcblxyXG5cdFx0XHQmLmhlYWRlciB7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHJcblx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuY29sdW1uIHtcclxuXHRcdFx0XHRwYWRkaW5nOiAycHg7XHJcblx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcblx0XHRcdFx0Ji5sYWJlbCB7XHJcblx0XHRcdFx0XHRmbGV4LWdyb3c6IDEwMDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCYuc2x1ZyB7XHJcblx0XHRcdFx0XHR3aWR0aDogMzAlO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Ji5pbnRlcnZhbCB7XHJcblx0XHRcdFx0XHR3aWR0aDogMTUlO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Ji5hY3Rpb25zIHtcclxuXHRcdFx0XHRcdHdpZHRoOiAxNSU7XHJcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHJcblx0XHRcdFx0XHQuZGFzaGljb25zIHtcclxuXHJcblx0XHRcdFx0XHRcdCYuZGFzaGljb25zLXRyYXNoIHtcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogI2EwMDtcclxuXHJcblx0XHRcdFx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogcmVkO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdFx0Ji53b3JraW5nIHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiBpbmhlcml0O1xyXG5cdFx0XHRcdFx0XHRcdFx0YW5pbWF0aW9uLW5hbWU6IHNwaW47XHJcblx0XHRcdFx0XHRcdFx0XHRhbmltYXRpb24tZHVyYXRpb246IDQwMDBtcztcclxuXHRcdFx0XHRcdFx0XHRcdGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG5cdFx0XHRcdFx0XHRcdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG5cclxuXHRcdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29udGVudDogXCJcXGYxMTFcIjtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0Ji5kaXNhYmxlZCxcclxuXHRcdFx0XHRcdFx0Ji5kaXNhYmxlZDpob3ZlciB7XHJcblx0XHRcdFx0XHRcdFx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogI2NjYztcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0c3BhbiB7XHJcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0fVxyXG5cclxuXHRcdH1cclxuXHJcblx0fVxyXG5cclxuXHQucGFnZS10aXRsZS1hY3Rpb24ge1xyXG5cdFx0dG9wOiAxNXB4O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0fVxyXG5cclxufVxyXG4iLCIjZXZlbnRzIHtcclxuXHJcblx0Ji5sb2FkaW5nIHtcclxuXHRcdG9wYWNpdHk6IDAuNztcclxuXHR9XHJcblxyXG5cdC50YWJsZW5hdi5ib3R0b20ge1xyXG5cdFx0b3ZlcmZsb3c6IGF1dG87XHJcblx0XHRtYXJnaW4tYm90dG9tOiAtMTVweDtcclxuXHJcblx0XHRAaW5jbHVkZSBtZWRpYSggJz5tZWRpdW0nICkge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcblxyXG5cdC5ldmVudHMge1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHQgICAgd2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0LnNpbmdsZS1ldmVudCB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHJcblx0XHRcdFx0LnJvdy1hY3Rpb25zIHtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBzdGF0aWM7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoICc8PXhsYXJnZScgKSB7XHJcblx0XHRcdFx0LnJvdy1hY3Rpb25zIHtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBzdGF0aWM7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLmhlYWRlciB7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMWUxZTE7XHJcblx0XHRcdCAgICBmb250LXdlaWdodDogNTAwO1xyXG5cclxuXHRcdFx0ICAgICY6bGFzdC1vZi10eXBlIHtcclxuXHRcdFx0ICAgIFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcclxuXHRcdFx0ICAgIH1cclxuXHJcblx0XHRcdCAgICAuY29sdW1ucyB7XHJcblx0XHRcdCAgICBcdGJvcmRlci1ib3R0b206IG5vbmU7XHJcblx0XHRcdCAgICBcdGJveC1zaGFkb3c6IG5vbmU7XHJcblxyXG5cdFx0XHRcdFx0LmNvbHVtbiB7XHJcblxyXG5cdFx0XHRcdFx0XHQmLmlzLXNvcnRhYmxlIHtcclxuXHRcdFx0XHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdCYuYXNjOjphZnRlciB7XHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgdXAtcG9pbnRpbmctdHJpYW5nbGU7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdCYuZGVzYzo6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGRvd24tcG9pbnRpbmctdHJpYW5nbGU7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdC8vIHNlbGVjdCBvbmx5IHNvcnRhYmxlIGNvbHVtbnMgd2hpY2ggYXJlIG5vdCBzb3J0ZWRcclxuXHRcdFx0XHRcdFx0Jjpub3QoLmFzYyk6bm90KC5kZXNjKTpub3QoLmFyZ3VtZW50cyk6bm90KC5jYik6aG92ZXI6OmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSB1cC1wb2ludGluZy10cmlhbmdsZTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji51bmZvbGRlZCB7XHJcblxyXG5cdFx0XHRcdC5jb2x1bW5zIHtcclxuXHRcdFx0XHRcdGJveC1zaGFkb3c6IDAgMXB4IDZweCByZ2JhKDAsMCwwLDAuMSk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQ+IC5kZXRhaWxzIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5wYXVzZWQge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmM7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCYucnVubmluZyB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2UwZmJlNztcclxuXHJcblx0XHRcdFx0LmNvbHVtbnMgLmNvbHVtbi5jYiB7XHJcblxyXG5cdFx0XHRcdFx0aW5wdXQge1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC5kYXNoaWNvbnMge1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdFx0Y29sb3I6IGdyZWVuO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLnJlbW92aW5nIHtcclxuXHJcblx0XHRcdFx0LmNvbHVtbnMgLmNvbHVtbi5jYiB7XHJcblxyXG5cdFx0XHRcdFx0aW5wdXQge1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC5kYXNoaWNvbnMge1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmNvbHVtbnMge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UxZTFlMTtcclxuXHRcdFx0ICAgIHotaW5kZXg6IDE7XHJcblxyXG5cdFx0XHRcdC5jb2x1bW4ge1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMTJweDtcclxuXHJcblx0XHRcdFx0XHQmLmNiIHtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDE4cHg7XHJcblxyXG5cdFx0XHRcdFx0XHRpbnB1dCB7XHJcblx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHQuZGFzaGljb25zIHtcclxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdFx0XHRcdGFuaW1hdGlvbi1uYW1lOiBzcGluO1xyXG5cdFx0XHRcdFx0XHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogNDAwMG1zO1xyXG5cdFx0XHRcdFx0XHRcdGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG5cdFx0XHRcdFx0XHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQmLmV2ZW50IHtcclxuXHRcdFx0XHRcdFx0ZmxleC1ncm93OiAxMDA7XHJcblxyXG5cdFx0XHRcdFx0XHQuZXZlbnQtbmFtZSB7XHJcblx0XHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0XHRcdFx0XHRcdGNvbG9yOiBpbmhlcml0O1xyXG5cclxuXHRcdFx0XHRcdFx0XHQuZGFzaGljb25zIHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAjNTU1O1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdC5yb3ctYWN0aW9ucyB7XHJcblxyXG5cdFx0XHRcdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0Ji5zY2hlZHVsZSB7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiAxNSU7XHJcblxyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSggJzw9eGxhcmdlJyApIHtcclxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdCYuYXJndW1lbnRzIHtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDE1JTtcclxuXHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCAnPD14bGFyZ2UnICkge1xyXG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdHNwYW4ge1xyXG5cdFx0XHRcdFx0XHRcdG1hcmdpbjogMCA0cHggNHB4IDA7XHJcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogM3B4IDVweDtcclxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjZjVmNWY1O1xyXG5cdFx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRcdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjZGJkYmRiO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdCYubmV4dC1leGVjdXRpb24ge1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogMTUlO1xyXG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCAnPD14bGFyZ2UnICkge1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAyNSU7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH1cclxuXHJcblx0XHRcdD4gLmRldGFpbHMge1xyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0ZmxleC1ncm93OiAxMDA7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcclxuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RiZGJkYjtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoICc8PXhsYXJnZScgKSB7XHJcblx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LnRhYnMge1xyXG5cdFx0XHRcdFx0bWluLXdpZHRoOiAyMjBweDtcclxuXHRcdFx0XHRcdG1heC13aWR0aDogMjIwcHg7XHJcblx0XHRcdFx0XHRtYXJnaW46IDA7XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoICc8PXhsYXJnZScgKSB7XHJcblx0XHRcdFx0XHRcdG1pbi13aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U4ZThlODtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRsaSB7XHJcblx0XHRcdFx0XHRcdG1hcmdpbjogMDtcclxuXHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCAnPD14bGFyZ2UnICkge1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiA1MCU7XHJcblx0XHRcdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoICc8PXhsYXJnZScgKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdCYuYWN0aXZlIHtcclxuXHRcdFx0XHRcdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2Q4ZDhkODtcclxuXHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q4ZDhkODtcclxuXHJcblx0XHRcdFx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XHJcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItdG9wLWNvbG9yOiAjZmJmYmZiO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoICc8PXhsYXJnZScgKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XHJcblx0XHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHRcdFx0ICAgIGxlZnQ6IDFweDtcclxuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogNTNweDtcclxuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmYmZiZmI7XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoICc8PXhsYXJnZScgKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMjBweDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdCYuYXJndW1lbnRzLFxyXG5cdFx0XHRcdFx0XHQmLnNjaGVkdWxlIHtcclxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSggJzw9eGxhcmdlJyApIHtcclxuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMTBweCAyMHB4IDEwcHggNTRweDtcclxuXHRcdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICM0NDQ7XHJcblxyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCAnPD14bGFyZ2UnICkge1xyXG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAyMHB4O1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdFx0Jjpmb2N1cyB7XHJcblx0XHRcdFx0XHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LmNvbnRlbnQge1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMjBweDtcclxuXHRcdFx0XHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2Q4ZDhkODtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmJmYmZiO1xyXG5cdFx0XHRcdFx0ZmxleC1ncm93OiAxO1xyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCAnPD14bGFyZ2UnICkge1xyXG5cdFx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0Ji5hY3RpdmUge1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQmLmxvZ3Mge1xyXG5cclxuXHRcdFx0XHRcdFx0cDpmaXJzdC1jaGlsZCB7XHJcblx0XHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0dWwge1xyXG5cdFx0XHRcdFx0XHQgICAgbGlzdC1zdHlsZTogZGlzYztcclxuXHRcdFx0XHRcdCAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdCYuYXJndW1lbnRzIHtcclxuXHJcblx0XHRcdFx0XHRcdHNwYW4ge1xyXG5cdFx0XHRcdFx0XHRcdG1hcmdpbjogMCA0cHggNHB4IDA7XHJcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogM3B4IDVweDtcclxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjZjVmNWY1O1xyXG5cdFx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHRcdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjZGJkYmRiO1xyXG5cdFx0XHRcdFx0XHRcdHdoaXRlLXNwYWNlOiBwcmU7XHJcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdCYuaW1wbGVtZW50YXRpb24ge1xyXG5cclxuXHRcdFx0XHRcdFx0Y29kZSB7XHJcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMTVweDtcclxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xyXG5cdFx0XHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNlOGU4ZTg7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH1cclxuXHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHJcblx0LnBhZ2UtdGl0bGUtYWN0aW9uIHtcclxuXHRcdHRvcDogMTVweDtcclxuXHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0Y2xlYXI6IGJvdGg7XHJcblx0fVxyXG5cclxufVxyXG4iLCIvLyBFdmVudHMgdGFibGVcclxuQG1peGluIGRvd24tcG9pbnRpbmctdHJpYW5nbGUge1xyXG5cdGNvbnRlbnQ6ICdcXDI1QkMnO1xyXG5cdGZvbnQtc2l6ZTogMC45ZW07XHJcblx0cGFkZGluZy1sZWZ0OiA1cHg7XHJcbn1cclxuXHJcbkBtaXhpbiB1cC1wb2ludGluZy10cmlhbmdsZSB7XHJcblx0Y29udGVudDogJ1xcMjVCMic7XHJcblx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRwYWRkaW5nLWxlZnQ6IDVweDtcclxufVxyXG4iLCIjc2VydmVyLXNjaGVkdWxlci1zZXR0aW5ncyB7XHJcblx0bWFyZ2luLXRvcDogNDBweDtcclxuXHJcblx0I3NlcnZlci1zZXR0aW5ncy1mb3JtIHtcclxuXHJcblx0XHRsYWJlbCB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcblxyXG59XHJcbiJdfQ== */
修改文件时间
将文件时间修改为当前时间的前一年
删除文件