{"id":16061,"date":"2026-07-10T14:08:35","date_gmt":"2026-07-10T12:08:35","guid":{"rendered":"https:\/\/migflug.com\/?page_id=16061"},"modified":"2026-07-23T17:11:23","modified_gmt":"2026-07-23T15:11:23","slug":"fighter-aircraft-combat-statistics","status":"publish","type":"page","link":"https:\/\/migflug.com\/ru\/fighter-aircraft-combat-statistics\/","title":{"rendered":"Fighter Aircraft Combat Statistics \u2013 Every Fighter Era"},"content":{"rendered":"<div id=\"mfcs\">\n<style> #mfcs{ --ink:#0a0a0a; --txt:#141414; --muted:#6a7078; --faint:#9aa0a8; --line:#e3e3e6; --line2:#ededf0; --bg:#ffffff; --bg2:#fafafa; --card:#ffffff; --green:#127a3f;--blue:#2f6fdb; --greenbg:#e7f4ec; --grey:#eeeeef; --greytx:#5a6069; } #mfcs *{box-sizing:border-box;margin:0;padding:0} #mfcs{font-family:'Gilroy regular',system-ui,sans-serif;background:var(--bg);color:var(--txt);line-height:1.5;-webkit-font-smoothing:antialiased} #mfcs a{color:var(--ink);text-decoration:none} #mfcs .wrap{max-width:1180px;margin:0 auto;padding:0 20px} #mfcs .hero{background:#fff;border-bottom:2px solid var(--ink);padding:44px 0 28px;position:relative} #mfcs .kicker{color:var(--muted);font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:12px;margin-bottom:12px} #mfcs .hero h1{font-size:clamp(28px,5vw,46px);font-weight:900;line-height:1.03;letter-spacing:-.6px;max-width:820px;color:var(--ink)} #mfcs .hero p.sub{color:var(--greytx);max-width:660px;margin-top:16px;font-size:16px} #mfcs .hero .meta{margin-top:22px;display:flex;gap:26px;flex-wrap:wrap;font-size:13px;color:var(--muted)} #mfcs .hero .meta b{color:var(--ink);font-weight:800} #mfcs .conceptnav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--ink)} #mfcs .conceptnav .wrap{display:flex;gap:0;overflow-x:auto;padding:0 20px} #mfcs .cbtn{flex:0 0 auto;background:none;border:none;color:var(--muted);font-family:inherit;font-weight:700;font-size:14px;padding:15px 18px 12px;border-bottom:3px solid transparent;cursor:pointer;white-space:nowrap;transition:.15s} #mfcs .cbtn:hover{color:var(--ink)} #mfcs .cbtn.active{color:var(--ink);border-bottom-color:var(--ink)} #mfcs .cbtn .n{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--grey);font-size:11px;margin-right:7px;color:var(--greytx)} #mfcs .cbtn.active .n{background:var(--ink);color:#fff} #mfcs section.concept{display:none;padding:34px 0 60px;animation:fade .3s ease} #mfcs section.concept.active{display:block} @keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}} #mfcs .chead{margin-bottom:22px} #mfcs .chead .tag{display:inline-block;background:var(--ink);color:#fff;font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:5px 11px;margin-bottom:12px} #mfcs .chead h2{font-size:26px;font-weight:800;letter-spacing:-.3px;color:var(--ink)} #mfcs .chead p{color:var(--greytx);max-width:730px;margin-top:8px;font-size:15px} #mfcs .controls{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:18px} #mfcs .controls input[type=text],#mfcs .controls select{background:#fff;border:1px solid var(--ink);color:var(--txt);font-family:inherit;font-size:14px;padding:9px 12px;outline:none} #mfcs .controls input[type=text]{min-width:210px} #mfcs .controls input:focus,#mfcs .controls select:focus{outline:2px solid var(--ink);outline-offset:-1px} #mfcs .chip{background:#fff;border:1px solid var(--line);color:var(--greytx);font-family:inherit;font-size:13px;font-weight:600;padding:8px 13px;cursor:pointer;transition:.12s} #mfcs .chip:hover{border-color:var(--ink);color:var(--ink)} #mfcs .chip.on{background:var(--ink);border-color:var(--ink);color:#fff} #mfcs .tablewrap{background:#fff;border:1px solid var(--ink);overflow:hidden} #mfcs .scroll{overflow-x:auto} #mfcs table{width:auto;border-collapse:collapse;font-size:14px;min-width:0} #mfcs thead th{background:var(--ink);color:#fff;text-align:left;font-weight:700;font-size:13.8px;letter-spacing:.03em;text-transform:uppercase;padding:8px 8px;cursor:pointer;user-select:none;white-space:nowrap} #mfcs thead th:hover{background:#222} #mfcs thead th.nosort{cursor:default}#mfcs thead th.nosort:hover{background:var(--ink)} #mfcs thead th .ar{opacity:.45;font-size:10px;margin-left:4px} #mfcs thead th.sorted .ar{opacity:1} #mfcs tbody td{padding:7px 8px;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:middle;font-size:16.8px} #mfcs tbody tr:last-child td{border-bottom:none} #mfcs tbody tr:hover{background:var(--bg2)} #mfcs .tthumb{width:188px;height:116px;object-fit:cover;object-position:center;display:block;max-width:none} #mfcs .jetname{font-weight:700;color:var(--ink);white-space:normal;line-height:1.2;margin-bottom:7px} #mfcs .jetsub{color:var(--muted);font-size:14.4px;font-weight:500;white-space:normal;line-height:1.25} #mfcs .num{font-variant-numeric:tabular-nums;font-weight:700} #mfcs .k{color:var(--ink);font-weight:800} #mfcs .l{color:var(--faint)} #mfcs .badge{display:inline-block;font-size:13.2px;font-weight:700;padding:3px 9px;border:1px solid} #mfcs .b-proven{background:#fff;color:var(--ink);border-color:var(--ink)} #mfcs .b-strike{background:#fff;color:var(--greytx);border-color:var(--line)} #mfcs .b-untested{background:var(--grey);color:var(--faint);border-color:var(--grey)}#mfcs .b-no{background:#fff;color:var(--faint);border-color:var(--line)}#mfcs .estar{color:var(--muted);font-weight:700;font-size:13.2px;margin-left:1px} #mfcs .gen{font-weight:800;font-size:16.8px;color:var(--ink)} #mfcs .flag{font-size:15px;margin-right:6px} #mfcs .av{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:13.2px;font-weight:800;padding:4px 9px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;width:142px;box-sizing:border-box;text-align:center} #mfcs .av-go{background:var(--blue);color:#fff} #mfcs .av-go:hover{background:#1f56b8} #mfcs .av-soon{background:#fff;color:var(--blue);border:1px solid var(--blue)} #mfcs .av-past{background:var(--grey);color:var(--greytx)} #mfcs .av-na{color:var(--faint);font-weight:600} #mfcs .chartgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px} #mfcs .chartcard{background:#fff;border:1px solid var(--ink);padding:18px 18px 10px} #mfcs .chartcard h3{font-size:15px;font-weight:800;margin-bottom:4px;color:var(--ink)} #mfcs .chartcard p{color:var(--muted);font-size:12.5px;margin-bottom:14px} #mfcs .chartcard.full{grid-column:1\/-1} #mfcs .canvas-holder{position:relative;height:300px} #mfcs .canvas-holder.tall{height:440px} #mfcs .cardgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px} #mfcs .jetcard{background:#fff;border:1px solid var(--ink);overflow:hidden;cursor:pointer;transition:.14s;position:relative;display:flex;flex-direction:column} #mfcs .jetcard:hover{transform:translateY(-3px);box-shadow:6px 6px 0 var(--ink)} #mfcs .photo{position:relative;aspect-ratio:16\/10;background:#f0f0f2;overflow:hidden;border-bottom:1px solid var(--ink)} #mfcs .photo img{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:2} #mfcs .photo .silbg{position:absolute;inset:0;margin:auto;width:60%;opacity:.16;z-index:1} #mfcs .photo .gtag{position:absolute;left:0;bottom:0;z-index:3;background:var(--ink);color:#fff;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px} #mfcs .cbody{padding:13px 15px 14px;display:flex;flex-direction:column;flex:1} #mfcs .cbody h3{font-size:18px;font-weight:800;margin:0 0 2px;color:var(--ink)} #mfcs .cbody .org{font-size:12px;color:var(--muted)} #mfcs .jetcard .stats{display:flex;margin:12px -15px 0;border-top:1px solid var(--line)} #mfcs .jetcard .stat{flex:1;text-align:center;border-right:1px solid var(--line);padding:9px 0 2px} #mfcs .jetcard .stat:last-child{border-right:none} #mfcs .jetcard .stat .v{font-size:19px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink)} #mfcs .jetcard .stat .lb{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:1px} #mfcs .cavail{margin-top:12px;display:flex;align-items:center;gap:8px;font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700} #mfcs .modal{position:fixed;inset:0;background:rgba(10,10,10,.55);z-index:100;display:none;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto} #mfcs .modal.open{display:flex} #mfcs .mbox{background:#fff;border:2px solid var(--ink);max-width:640px;width:100%;overflow:hidden;animation:pop .22s ease} @keyframes pop{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}} #mfcs .mphoto{position:relative;aspect-ratio:16\/8;background:#f0f0f2;overflow:hidden;border-bottom:2px solid var(--ink)} #mfcs .mphoto img{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:2} #mfcs .mphoto .silbg{position:absolute;inset:0;margin:auto;width:44%;opacity:.16;z-index:1} #mfcs .mhead{padding:18px 24px;border-bottom:1px solid var(--line);position:relative} #mfcs .mhead .gtag{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--muted);text-transform:uppercase} #mfcs .mhead h3{font-size:24px;font-weight:900;margin:4px 0 3px;color:var(--ink)} #mfcs .mhead .org{color:var(--muted);font-size:13px} #mfcs .mclose{position:absolute;top:14px;right:16px;z-index:5;background:#fff;border:1px solid var(--ink);color:var(--ink);width:34px;height:34px;font-size:18px;cursor:pointer;line-height:1} #mfcs .mclose:hover{background:var(--ink);color:#fff} #mfcs .mavail{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 24px;background:var(--bg2);border-bottom:1px solid var(--line)} #mfcs .mavail-l{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--greytx)} #mfcs .mstats{display:flex;padding:16px 24px;gap:8px;border-bottom:1px solid var(--line)} #mfcs .mstats .s{flex:1;background:var(--bg2);border:1px solid var(--line);padding:11px 8px;text-align:center} #mfcs .mstats .s .v{font-size:23px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink)} #mfcs .mstats .s .lb{font-size:10px;color:var(--muted);text-transform:uppercase;margin-top:3px;letter-spacing:.04em} #mfcs .mbody{padding:20px 24px 26px} #mfcs .mbody .note{background:var(--bg2);border-left:3px solid var(--ink);padding:11px 14px;font-size:13.5px;color:var(--txt);margin-bottom:18px;font-weight:600} #mfcs .mbody h4{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px} #mfcs .conflict{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)} #mfcs .conflict:last-child{border-bottom:none} #mfcs .conflict .yr{flex:0 0 84px;font-size:12px;color:var(--greytx);font-weight:800} #mfcs .conflict .cw{flex:1} #mfcs .conflict .cn{font-weight:700;font-size:14px;color:var(--ink)} #mfcs .conflict .cd{font-size:12.5px;color:var(--muted);margin-top:2px} #mfcs .conflict .ck{flex:0 0 auto;text-align:right;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums} #mfcs .cmp-pick{display:grid;grid-template-columns:1fr 44px 1fr;gap:12px;align-items:center;margin-bottom:24px} #mfcs .cmp-pick select{width:100%;background:#fff;border:1px solid var(--ink);color:var(--ink);font-family:inherit;font-weight:700;font-size:15px;padding:13px}#mfcs .cmp-pick p{display:contents} #mfcs .cmp-vs{text-align:center;font-weight:900;color:var(--ink);font-size:15px} #mfcs .cmp-board{background:#fff;border:1px solid var(--ink);overflow:hidden} #mfcs .cmp-top{display:grid;grid-template-columns:1fr 1fr} #mfcs .cmp-side{padding:0 0 18px;text-align:center} #mfcs .cmp-side:first-child{border-right:1px solid var(--line)} #mfcs .cmp-photo{aspect-ratio:16\/9;background:#f0f0f2;overflow:hidden;border-bottom:1px solid var(--ink);position:relative;margin-bottom:14px} #mfcs .cmp-photo img{width:100%;height:100%;object-fit:cover;position:relative;z-index:2} #mfcs .cmp-photo .silbg{position:absolute;inset:0;margin:auto;width:46%;opacity:.16;z-index:1} #mfcs .cmp-side .gtag{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.06em} #mfcs .cmp-side h3{font-size:20px;font-weight:800;margin:4px 0 2px;color:var(--ink)} #mfcs .cmp-side .org{font-size:12px;color:var(--muted)} #mfcs .cmp-side .cav{margin-top:9px} #mfcs .cmp-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:13px 20px;border-top:1px solid var(--line)} #mfcs .cmp-bar{height:26px;display:flex;align-items:center;position:relative;background:var(--line2)} #mfcs .cmp-bar.left{justify-content:flex-end} #mfcs .cmp-bar .fill{height:100%;position:absolute;top:0;background:var(--ink)} #mfcs .cmp-bar.left .fill{right:0} #mfcs .cmp-bar.right .fill{left:0} #mfcs .cmp-bar .bv{position:relative;z-index:2;font-size:13px;font-weight:800;padding:0 10px;font-variant-numeric:tabular-nums;color:var(--ink)} #mfcs .cmp-bar .bv.inbar{color:#fff} #mfcs .cmp-lb{text-align:center;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700;min-width:80px} #mfcs .win{color:var(--green)!important} #mfcs .engage{border-top:2px solid var(--ink);background:var(--bg2);padding:20px 20px 22px} #mfcs .engage .eh{display:flex;align-items:center;gap:9px;justify-content:center;font-size:15.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin-bottom:6px} #mfcs .engage .ec{text-align:center;font-size:17.5px;color:var(--muted);margin-bottom:16px} #mfcs .engage .disp{display:inline-block;background:var(--ink);color:#fff;font-size:10px;font-weight:800;letter-spacing:.05em;padding:2px 8px;margin-left:6px;vertical-align:middle} #mfcs .score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;max-width:440px;margin:0 auto 14px} #mfcs .score .sv{font-size:30px;font-weight:900;font-variant-numeric:tabular-nums;text-align:center;color:var(--ink)} #mfcs .score .sv.sL{text-align:right}#mfcs .score .sv.sR{text-align:left} #mfcs .score .dash{color:var(--faint);font-weight:700;font-size:20px} #mfcs .score .win2{color:var(--green)} #mfcs .engage .esum{text-align:center;font-size:18.5px;color:var(--txt);max-width:600px;margin:0 auto;line-height:1.5} #mfcs .engage.none{background:var(--bg2);padding:22px 20px} #mfcs .engage.none .em{text-align:center;color:var(--muted);font-size:18.5px} #mfcs .disclaimer{background:var(--bg2);border:1px solid var(--line);padding:16px 18px;margin-top:26px;font-size:12.5px;color:var(--greytx)} #mfcs .disclaimer b{color:var(--ink)} #mfcs .legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;font-size:12.5px;color:var(--muted)} #mfcs .legend span{display:inline-flex;align-items:center;gap:6px} #mfcs .dot{width:11px;height:11px;display:inline-block;border:1px solid var(--ink)} #mfcs footer{border-top:1px solid var(--line);padding:30px 0 50px;color:var(--muted);font-size:13px;text-align:center} #mfcs .count{color:var(--muted);font-size:13px;margin-left:auto;font-weight:600} @media(max-width:720px){ #mfcs .chartgrid{grid-template-columns:1fr} #mfcs .cmp-pick{grid-template-columns:1fr;gap:8px} #mfcs .cmp-vs{padding:2px} #mfcs .controls .count{width:100%;margin:4px 0 0} } #mfcs h1,#mfcs h2,#mfcs h3,#mfcs h4,#mfcs th,#mfcs .jetname,#mfcs .num,#mfcs .cbtn,#mfcs .gen,#mfcs .badge,#mfcs .av,#mfcs .kicker,#mfcs .chead .tag,#mfcs .score .sv,#mfcs .bv,#mfcs .cmp-side h3,#mfcs .cbody h3,#mfcs .mhead h3,#mfcs strong,#mfcs b{font-family:'Gilroy semiBold',sans-serif} html{overflow-x:hidden} body.page-id-16061{overflow-x:hidden} body.page-id-16061 h1.entry-title.main_title{display:none} body.page-id-16061 #sidebar{display:none} body.page-id-16061 #left-area{width:100%!important;float:none;padding:0} body.page-id-16061 #main-content .container::before{display:none!important;background:none!important} body.page-id-16061 #main-content .container{padding-top:0} #mfcs{width:100vw;margin-left:calc(50% - 50vw);overflow:hidden} #mfcs .modal{z-index:999999} #mfcs .conceptnav{z-index:9999}#mfcs .namecell{white-space:normal}#mfcs .namecell{max-width:210px}#mfcs .jetname{white-space:normal;line-height:1.2;margin-bottom:7px}#mfcs .mfr{font-size:15.8px;color:var(--muted);font-weight:600;line-height:1.2;white-space:normal;max-width:190px;margin-bottom:7px}#mfcs .photocell{width:189px;padding:6px 0 6px 8px;vertical-align:middle}#mfcs .tthumb{cursor:zoom-in;transition:opacity .12s}#mfcs .tthumb:hover{opacity:.82}#mfcs #jtable th:nth-child(4),#mfcs #jtable td:nth-child(4),#mfcs #jtable th:nth-child(6),#mfcs #jtable td:nth-child(6),#mfcs #jtable th:nth-child(7),#mfcs #jtable td:nth-child(7),#mfcs #jtable th:nth-child(8),#mfcs #jtable td:nth-child(8){width:72px;white-space:normal} #mfcs .rng{font-size:.82em;white-space:nowrap} #mfcs .stats .v .rng,#mfcs .mstats .v .rng{font-size:.6em;line-height:1.15;display:inline-block;padding-top:.3em} #mfcs td.k,#mfcs td.l,#mfcs td.rt{cursor:help} #mfcs td .rng{border-bottom:1px dotted var(--faint)} #mfcs #jtable tbody td{font-size:13.8px;vertical-align:top} #mfcs #jtable tbody td.namecell .jetname{font-size:16.8px} #mfcs #jtable tbody td.namecell .jetsub{font-size:14.4px} #mfcs #jtable tbody td .rng{font-size:1em} #mfcs #jtable tbody .mfr{font-size:1em} #mfcs #jtable tbody .gen{font-size:1em} #mfcs #jtable tbody .badge{font-size:1em} #mfcs #jtable tbody td:last-child *{font-size:13.8px} #mfcs #jtable tbody td.rt{white-space:nowrap} #mfcs #jtable th:last-child,#mfcs #jtable tbody td:last-child{width:1%;white-space:nowrap}#mfcs .swipehint{display:none;font-size:13px;color:#454e5e;margin:0 0 10px;font-family:'Gilroy semiBold',sans-serif}\/*mobfix1*\/@media(max-width:767px){#mfcs .conceptnav .wrap{flex-wrap:wrap;padding:0 12px}#mfcs .conceptnav .cbtn{flex:1 1 40%;padding:12px 8px 10px;font-size:13px}#mfcs .photocell{width:96px;padding:6px 0 6px 6px}#mfcs .photocell img{width:92px!important;height:auto!important}#mfcs .namecell{max-width:150px}#mfcs .jetname{font-size:15px}#mfcs .mfr{font-size:13px;max-width:150px}#mfcs .swipehint{display:block}#mfcs .scroll{background:linear-gradient(to left,rgba(13,17,23,.12),rgba(13,17,23,0) 28px) right\/28px 100% no-repeat local}}#mfcs .jetcard.aclhl{outline:3px solid #5C91FF;outline-offset:2px}#mfcs .jetname a,#mfcs .cmp-side h3 a{color:inherit;text-decoration:none;border-bottom:1px dotted #5C91FF}#mfcs .jetname a:hover,#mfcs .cmp-side h3 a:hover{color:#5C91FF}#mfcs .mrec{display:inline-block;margin-top:16px;background:#5C91FF;color:#fff;padding:10px 16px;font-family:'Gilroy semiBold',Helvetica,Arial,sans-serif;font-size:13px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none}#mfcs .mrec:hover{background:#4a7de6;color:#fff}#mfcs .mfcs-faq{background:#fff;max-width:980px;margin:46px auto 8px;padding:0 20px}#mfcs .mfcs-faq>h2{font-size:30px;font-weight:700;color:#0d1117;margin:0 0 16px;text-align:left;line-height:1.2}#mfcs .mfcs-faq details{border:1px solid #e2e7ee;background:#fff;margin-bottom:10px}#mfcs .mfcs-faq details[open]{border-color:#5C91FF}#mfcs .mfcs-faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;font-size:17px;font-weight:600;color:#0d1117;cursor:pointer;line-height:1.45}#mfcs .mfcs-faq summary::-webkit-details-marker{display:none}#mfcs .mfcs-faq summary::after{content:\"+\";color:#3568e0;font-size:24px;line-height:1;flex:0 0 auto;font-weight:400}#mfcs .mfcs-faq details[open] summary::after{content:\"\u2212\"}#mfcs .mfcs-faq .a{padding:0 24px 22px;color:#454e5e;font-size:16px;line-height:1.7}#mfcs .mfcs-faq .a a{color:#3568e0}<\/style>\n<div class=\"hero\">\n<div class=\"wrap\">\n<div class=\"kicker\">MiGFlug \u00b7 Fighter Aircraft Combat Records<\/div>\n<h1>Combat Statistics for Every Fighter Aircraft in History<\/h1>\n<p class=\"sub\">The air-to-air record of 90 fighter aircraft across every era \u2014 from the Fokker Eindecker and the Sopwith Camel through the Bf 109 and the Mustang to the F-35 and Su-57. Every credited kill and loss, cross-checked, sourced, and shown as honest ranges where the records genuinely disagree. Sort the full table, explore the charts, open a detail card for any aircraft, or put two aircraft head to head. And for each one: whether you can still fly it with MiGFlug. Only interested in the jet age? See the <a href=\"https:\/\/migflug.com\/fighter-jet-combat-statistics\/\" style=\"color:var(--ink);font-weight:700\">fighter jet combat statistics<\/a>.<\/p>\n<div class=\"meta\">\n<div><b>90<\/b> aircraft<\/div>\n<div><b>Sort<\/b> \u00b7 chart \u00b7 compare<\/div>\n<div><b>Confirmed<\/b> air-to-air data only<\/div>\n<div>Updated <b>July 2026<\/b><\/div>\n<\/div>\n<\/div>\n<\/div>\n<nav class=\"conceptnav\">\n<div class=\"wrap\"><button class=\"cbtn active\" data-c=\"table\"><span class=\"n\">1<\/span>Sortable Table<\/button><button class=\"cbtn\" data-c=\"charts\"><span class=\"n\">2<\/span>Visual Charts<\/button><button class=\"cbtn\" data-c=\"cards\"><span class=\"n\">3<\/span>Aircraft Cards<\/button><button class=\"cbtn\" data-c=\"compare\"><span class=\"n\">4<\/span>Head-to-Head<\/button><\/div>\n<\/nav>\n<p><!-- CONCEPT 1: TABLE --><\/p>\n<section class=\"concept active\" id=\"c-table\">\n<div class=\"wrap\">\n<div class=\"chead\">\n<h2>Every fighter, sorted your way<\/h2>\n<p>All 90 aircraft \u2014 WWI to today \u2014 in one place. Sort by air-to-air kills, losses, kill ratio or first-flight year, filter by country of origin and combat status, or search for any aircraft by name.<\/p>\n<\/div>\n<div class=\"controls\"><input type=\"text\" id=\"tsearch\" placeholder=\"Search a jet\"><select id=\"torigin\"><option value=\"\">All origins<\/option><\/select><button class=\"chip on\" data-status=\"all\">All<\/button><button class=\"chip\" data-status=\"proven\">Combat-proven<\/button><button class=\"chip\" data-status=\"strike\">Strike \/ no A2A kill<\/button><button class=\"chip\" data-status=\"untested\">A2A-untested<\/button><span class=\"count\" id=\"tcount\"><\/span><\/div>\n<div class=\"swipehint\">Swipe the table sideways for kills, losses and kill ratio<\/div>\n<div class=\"tablewrap\">\n<div class=\"scroll\">\n<table id=\"jtable\">\n<thead>\n<tr>\n<th class=\"nosort\"><\/th>\n<th data-k=\"name\">Aircraft \/<br \/>Role <span class=\"ar\">\u25b2\u25bc<\/span><\/th>\n<th data-k=\"origin\">Manufacturer \/<br \/>Origin <span class=\"ar\">\u25b2\u25bc<\/span><\/th>\n<th data-k=\"firstFlight\">First flight <span class=\"ar\">\u25b2\u25bc<\/span><\/th>\n<th data-k=\"gen\">Gen <span class=\"ar\">\u25b2\u25bc<\/span><\/th>\n<th data-k=\"kills\">A2A kills <span class=\"ar\">\u25b2\u25bc<\/span><\/th>\n<th data-k=\"losses\">A2A losses <span class=\"ar\">\u25b2\u25bc<\/span><\/th>\n<th data-k=\"ratio\">Kill ratio <span class=\"ar\">\u25b2\u25bc<\/span><\/th>\n<th data-k=\"status\">Combat-<br \/>proven <span class=\"ar\">\u25b2\u25bc<\/span><\/th>\n<th class=\"nosort\">Fly it with<br \/>MiGFlug<\/th>\n<\/tr>\n<\/thead>\n<tbody id=\"tbody\"><\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div class=\"legend\"><span><span class=\"dot\" style=\"background:var(--green)\"><\/span>Combat-proven (air-to-air kills)<\/span><span><span class=\"dot\" style=\"background:var(--amber)\"><\/span>Combat-proven strike \/ no confirmed A2A kill<\/span><span><span class=\"dot\" style=\"background:var(--grey)\"><\/span>Air-to-air untested<\/span><\/div>\n<\/div>\n<\/section>\n<p><!-- CONCEPT 2: CHARTS --><\/p>\n<section class=\"concept\" id=\"c-charts\">\n<div class=\"wrap\">\n<div class=\"chead\">\n<h2>The combat record in charts<\/h2>\n<p>Which fighters scored the most air-to-air kills, which stayed undefeated, and how the whole fleet stacks up on a single kills-versus-losses chart.<\/p>\n<\/div>\n<div class=\"chartgrid\">\n<div class=\"chartcard\">\n<h3>Most air-to-air kills<\/h3>\n<p>Confirmed manned-aircraft victories, all operators combined.<\/p>\n<div class=\"canvas-holder\"><canvas id=\"chKills\"><\/canvas><\/div>\n<\/div>\n<div class=\"chartcard\">\n<h3>Highest kill-to-loss ratio<\/h3>\n<p>Undefeated types shown at the top; only aircraft with 5+ kills.<\/p>\n<div class=\"canvas-holder\"><canvas id=\"chRatio\"><\/canvas><\/div>\n<\/div>\n<div class=\"chartcard full\">\n<h3>Kills vs. losses \u2014 the whole fleet at a glance<\/h3>\n<p>Up and to the left is elite (many kills, few losses). Bubble size = total combat engagements. Hover any dot.<\/p>\n<div class=\"canvas-holder tall\"><canvas id=\"chScatter\"><\/canvas><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<p><!-- CONCEPT 3: CARDS --><\/p>\n<section class=\"concept\" id=\"c-cards\">\n<div class=\"wrap\">\n<div class=\"chead\">\n<h2>Explore each aircraft in detail<\/h2>\n<p>Tap any aircraft for its full combat history \u2014 a conflict-by-conflict breakdown, its most famous engagement, the caveats behind the numbers, and whether you can fly it with MiGFlug.<\/p>\n<\/div>\n<div class=\"controls\"><input type=\"text\" id=\"csearch\" placeholder=\"Filter cards\u2026\"><select id=\"corigin\"><option value=\"\">All origins<\/option><\/select><span class=\"count\" id=\"ccount\"><\/span><\/div>\n<div class=\"cardgrid\" id=\"cardgrid\"><\/div>\n<\/div>\n<\/section>\n<p><!-- CONCEPT 4: COMPARE --><\/p>\n<section class=\"concept\" id=\"c-compare\">\n<div class=\"wrap\">\n<div class=\"chead\">\n<h2>Head-to-head<\/h2>\n<p>Pick any two fighters and put their combat records side by side \u2014 including what happened on the occasions they actually met in the air.<\/p>\n<\/div>\n<div class=\"cmp-pick\"><select id=\"cmpA\"><\/select><\/p>\n<div class=\"cmp-vs\">VS<\/div>\n<p><select id=\"cmpB\"><\/select><\/div>\n<div class=\"cmp-board\" id=\"cmpBoard\"><\/div>\n<\/div>\n<\/section>\n<div class=\"wrap\">\n<div class=\"disclaimer\" id=\"disclaimer\"><b>On the numbers.<\/b> Air-to-air figures count confirmed victories against manned aircraft, credited by the operating air force and cross-checked across sources. An asterisk (*) marks figures that are best-available estimates \u2014 older wartime tallies from Korea, Vietnam and the Arab\u2013Israeli and Indo-Pakistani wars that sources dispute by wide margins, plus recent 2022\u20132025 results from Ukraine and the India\u2013Pakistan clash that are credited but not independently confirmed. The higher contested claims are explained in each aircraft&#8217;s detail card. Drone and cruise-missile intercepts are noted but not counted as kills. Where serious sources genuinely disagree \u2014 Korea, Vietnam, the Middle East and Indo-Pakistani wars \u2014 the kills and losses columns show the credible range instead of a single number; each aircraft\u2019s detail card explains who counts what. For WWI and WWII types the columns are aggregate credited victories per type, not verified enemy losses: no air arm kept type-level ledgers, overclaiming ran roughly 2x on every side (worse in the Pacific and on the Eastern Front), and the ranges span documented credits to serious historians\u2019 reconstructions \u2014 or simply hover over a kills, losses or ratio figure to see the story behind the numbers. The combat-proven column distinguishes aircraft with a real air-to-air record from those blooded only in strike or reconnaissance operations. Ground\/SAM losses are tracked separately from air-to-air losses. <\/div>\n<\/div>\n<footer>\n<div class=\"wrap\">MiGFlug \u00b7 Combat statistics updated <span id=\"fdate\"><\/span> \u00b7 Air-to-air figures are confirmed victories against manned aircraft, cross-checked across sources. Spotted an error? Let us know in the comments.<\/div>\n<\/footer>\n<p><!-- MODAL --><\/p>\n<div class=\"modal\" id=\"modal\">\n<div class=\"mbox\" id=\"mbox\"><\/div>\n<\/div>\n<p><script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/Chart.js\/4.4.1\/chart.umd.min.js\"><\/script><div id=\"mfcs-data\" data-js=\"Ci8qIC0tLS0tLS0tLS0gREFUQVNFVCAoMzggYWlyY3JhZnQsIGNvbmZpcm1lZCBBMkEgZGF0YSkgLS0tLS0tLS0tLSAqLwpjb25zdCBGTEFHPXsiVW5pdGVkIFN0YXRlcyI6IvCfh7rwn4e4IiwiRnJhbmNlIjoi8J+Hq\/Cfh7ciLCJVbml0ZWQgS2luZ2RvbSI6IvCfh6zwn4enIiwiSXNyYWVsIjoi8J+HrvCfh7EiLCJTd2VkZW4iOiLwn4e48J+HqiIsIlVTU1IiOiLwn4e38J+HuiIsIlVTU1IgLyBSdXNzaWEiOiLwn4e38J+HuiIsIlJ1c3NpYSI6IvCfh7fwn4e6IiwiQ2hpbmEiOiLwn4eo8J+HsyIsIlBha2lzdGFuIC8gQ2hpbmEiOiLwn4e18J+HsCIsIk11bHRpbmF0aW9uYWwiOiLwn4eq8J+HuiIsIkdlcm1hbnkiOiLwn4ep8J+HqiIsIkphcGFuIjoi8J+Hr\/Cfh7UiLCJJdGFseSI6IvCfh67wn4e5In07CmNvbnN0IEQ9W3tuYW1lOiJGb2trZXIgRWluZGVja2VyIixmdWxsOiJGb2trZXIgRS5J4oCTRS5JSUkgRWluZGVja2VyIixvcmlnaW46Ikdlcm1hbnkiLGdlbjoiV1dJIixmaXJzdEZsaWdodDoxOTE1LHJvbGU6IkZpcnN0IHN5bmNocm9uaXplZC1ndW4gZmlnaHRlciIsa2lsbHM6MjUwLGtyOiIxNTDigJMzNTAiLGxvc3Nlczo0MCxscjoiMjDigJM3NSIsZ3JvdW5kOm51bGwsc3RhdHVzOiJwcm92ZW4iLHJldGlyZWQ6dHJ1ZSxub3RlOiJUaGUgdHlwZSB0aGF0IGludmVudGVkIGFpci10by1haXIgZmlnaHRpbmcuIEl0cyB2aWN0b3J5IHRvdGFsIGlzIGZhciBzbWFsbGVyIHRoYW4gdGhlIGxlZ2VuZDogb2ZmaWNpYWwgR2VybWFuIGNsYWltIGxpc3RzIGZvciB0aGUgd2hvbGUgRm9ra2VyIFNjb3VyZ2UgcnVuIHRvIGEgZmV3IGh1bmRyZWQsIG1vc3Qgc2NvcmVkIGJ5IGEgaGFuZGZ1bCBvZiBwaWxvdHMgbGlrZSBCb2VsY2tlIGFuZCBJbW1lbG1hbm4uIExvc3MgcmVjb3JkcyB3ZXJlIG5ldmVyIGNvbXBpbGVkIGJ5IHR5cGUsIHNvIHRoZSBsb3NzIGZpZ3VyZSBpcyBhIGhpc3RvcmlhbnMnIGVzdGltYXRlLiIsY29uZmxpY3RzOlt7eXI6IjE5MTXigJMxNiIsbjoiRm9ra2VyIFNjb3VyZ2UgKFdlc3Rlcm4gRnJvbnQpIixuYXRpb246Ikdlcm1hbnkiLGs6In4yMzAiLGw6In4zNSIsZDoiRG9taW5hdGVkIHRoZSBmcm9udCB1bnRpbCB0aGUgTmlldXBvcnQgMTEgYW5kIERILjIgYXJyaXZlZDsgQnJpdGlzaCBhaXJjcmV3IGNhbGxlZCB0aGVtc2VsdmVzIEZva2tlciBmb2RkZXIuIn0se3lyOiIxOTE14oCTMTYiLG46IkVhc3Rlcm4gRnJvbnQgLyBQYWxlc3RpbmUiLG5hdGlvbjoiR2VybWFueSAvIE90dG9tYW4gRW1waXJlIixrOiJ+MjAiLGw6In41IixkOiJTbWFsbCBkZXRhY2htZW50cyBmYXIgZnJvbSB0aGUgbWFpbiBhaXIgd2FyLiJ9XSxmYW1vdXM6IlRoZSBFaW5kZWNrZXIgbWFkZSB0aGUgd29yZCBmaWdodGVyIG1lYW4gc29tZXRoaW5nIOKAlCB0aGUgZmlyc3QgYWlyY3JhZnQgYnVpbHQgdG8gc2hvb3Qgb3RoZXIgYWlyY3JhZnQgZG93biB0aHJvdWdoIGl0cyBvd24gcHJvcGVsbGVyLiJ9LAp7bmFtZToiQWxiYXRyb3MgRC5JSUkiLGZ1bGw6IkFsYmF0cm9zIEQuSUlJIChpbmNsLiBPZWZmYWcpIixvcmlnaW46Ikdlcm1hbnkiLGdlbjoiV1dJIixmaXJzdEZsaWdodDoxOTE2LHJvbGU6IlNlc3F1aXBsYW5lIGZpZ2h0ZXIiLGtpbGxzOjE1MDAsa3I6IjEsMDAw4oCTMiwwMDAiLGxvc3NlczozNTAsbHI6IjIwMOKAkzUwMCIsZ3JvdW5kOm51bGwsc3RhdHVzOiJwcm92ZW4iLHJldGlyZWQ6dHJ1ZSxub3RlOiJUaGUgcHJlZW1pbmVudCBmaWdodGVyIG9mIEJsb29keSBBcHJpbCAxOTE3LCB3aGVuIHRoZSBSRkMgbG9zdCBhYm91dCAyNDUgYWlyY3JhZnQgdG8gR2VybWFueSdzIDY2LiBOZWl0aGVyIHNpZGUga2VwdCB2aWN0b3J5IGxlZGdlcnMgYnkgYWlyY3JhZnQgdHlwZSwgc28gdGhlIHRvdGFsIGlzIGFuIGFwcG9ydGlvbm1lbnQgb2YgR2VybWFuIDE5MTcgY3JlZGl0cyDigJQgSmFzdGEgMTEgYWxvbmUgc2NvcmVkIDg5IGNvbmZpcm1lZCB2aWN0b3JpZXMgaW4gQXByaWwgMTkxNyBvbiBELklJSXMuIixjb25mbGljdHM6W3t5cjoiMTkxN+KAkzE4IixuOiJXZXN0ZXJuIEZyb250IChCbG9vZHkgQXByaWwpIixuYXRpb246Ikdlcm1hbnkiLGs6In4xLDMwMCIsbDoifjMwMCIsZDoiU3BlYXJoZWFkZWQgR2VybWFueSdzIGdyZWF0ZXN0IHBlcmlvZCBvZiBhaXIgc3VwZXJpb3JpdHk7IDQ0NiBhdCB0aGUgZnJvbnQgaW4gTm92ZW1iZXIgMTkxNy4ifSx7eXI6IjE5MTfigJMxOCIsbjoiSXRhbGlhbiAvIEVhc3Rlcm4gRnJvbnRzIixuYXRpb246IkF1c3RyaWEtSHVuZ2FyeSIsazoifjIwMCIsbDoifjUwIixkOiJTdHVyZGllciBPZWZmYWctYnVpbHQgdmVyc2lvbiBmbG93biBieSBCcnVtb3dza2kgYW5kIHRoZSBBdXN0cm8tSHVuZ2FyaWFuIGFjZXMuIn1dLGZhbW91czoiVGhpcyDigJQgbm90IHRoZSB0cmlwbGFuZSDigJQgd2FzIHRoZSBSZWQgQmFyb24ncyB0cnVlIHdvcmtob3JzZTogbW9zdCBvZiBSaWNodGhvZmVuJ3MgODAgdmljdG9yaWVzIGNhbWUgaW4gQWxiYXRyb3MgZmlnaHRlcnMuIn0sCntuYW1lOiJBbGJhdHJvcyBELlYiLGZ1bGw6IkFsYmF0cm9zIEQuViAvIEQuVmEiLG9yaWdpbjoiR2VybWFueSIsZ2VuOiJXV0kiLGZpcnN0RmxpZ2h0OjE5MTcscm9sZToiTWFpbnN0YXkgZmlnaHRlciIsa2lsbHM6MTgwMCxrcjoiMSwyMDDigJMyLDgwMCIsbG9zc2VzOjYwMCxscjoiNDAw4oCTOTAwIixncm91bmQ6bnVsbCxzdGF0dXM6InByb3ZlbiIscmV0aXJlZDp0cnVlLG5vdGU6Ikdlcm1hbnkncyBtb3N0IG51bWVyb3VzIGZpZ2h0ZXIgZnJvbSBsYXRlIDE5MTcgdG8gbWlkLTE5MTgg4oCUIG92ZXIgMSwwMDAgYXQgdGhlIGZyb250IGF0IHBlYWsg4oCUIHlldCBuZWl0aGVyIHZpY3RvcmllcyBub3IgbG9zc2VzIHdlcmUgZXZlciB0YWxsaWVkIGJ5IHR5cGUsIG1ha2luZyB0aGVzZSB0aGUgc29mdGVzdCBmaWd1cmVzIG9mIGFueSBHZXJtYW4gV1dJIGZpZ2h0ZXIuIEl0IGJvcmUgdGhlIGJydW50IG9mIHRoZSBBbGxpZWQgMTkxOCByZXN1cmdlbmNlIHdoaWxlIGFscmVhZHkgb3V0Y2xhc3NlZC4iLGNvbmZsaWN0czpbe3lyOiIxOTE34oCTMTgiLG46Ildlc3Rlcm4gRnJvbnQiLG5hdGlvbjoiR2VybWFueSIsazoifjEsNzAwIixsOiJ+NTUwIixkOiJNYWluc3RheSB0aHJvdWdoIENhbWJyYWkgYW5kIHRoZSAxOTE4IFNwcmluZyBPZmZlbnNpdmUgdW50aWwgdGhlIEQuVklJIHJlcGxhY2VkIGl0LiJ9LHt5cjoiMTkxN+KAkzE4IixuOiJQYWxlc3RpbmUgLyBNYWNlZG9uaWEiLG5hdGlvbjoiR2VybWFueSAvIE90dG9tYW4gRW1waXJlIixrOiJ+MTAwIixsOiJ+NTAiLGQ6IlNlY29uZGFyeSB0aGVhdHJlcy4ifV0sZmFtb3VzOiJUaGUgZmlnaHRlciB0aGUgUmVkIEJhcm9uIGhpbXNlbGYgcHVibGljbHkgZGVzcGlzZWQgYXMgcmlkaWN1bG91c2x5IGluZmVyaW9yIOKAlCBhbmQgc3RpbGwgaGFkIHRvIGZseS4ifSwKe25hbWU6IkZva2tlciBEci5JIixmdWxsOiJGb2trZXIgRHIuSSBEcmVpZGVja2VyIixvcmlnaW46Ikdlcm1hbnkiLGdlbjoiV1dJIixmaXJzdEZsaWdodDoxOTE3LHJvbGU6IlRyaXBsYW5lIGRvZ2ZpZ2h0ZXIiLGtpbGxzOjQ1MCxrcjoiMjUw4oCTNzAwIixsb3NzZXM6MTAwLGxyOiI2MOKAkzE4MCIsZ3JvdW5kOm51bGwsc3RhdHVzOiJwcm92ZW4iLHJldGlyZWQ6dHJ1ZSxub3RlOiJJdHMgZmFtZSB3aWxkbHkgZXhjZWVkcyBpdHMgc3RhdGlzdGljYWwgZm9vdHByaW50OiBvbmx5IDMyMCB3ZXJlIGJ1aWx0LCBwZWFrIHN0cmVuZ3RoIHdhcyBhYm91dCAxNzEsIGFuZCBpdCBzZXJ2ZWQganVzdCBuaW5lIG1vbnRocyBpbiBmcm9udC1saW5lIHVzZS4gVGhlIHNjb3JlIGlzIHJlY29uc3RydWN0ZWQgZnJvbSBKYXN0YSByZWNvcmRzOyBhIG5vdGFibGUgc2hhcmUgb2YgaXRzIGxvc3NlcyB3ZXJlIHN0cnVjdHVyYWwgZmFpbHVyZXMgcmF0aGVyIHRoYW4gZW5lbXkgZmlyZS4iLGNvbmZsaWN0czpbe3lyOiIxOTE34oCTMTgiLG46Ildlc3Rlcm4gRnJvbnQiLG5hdGlvbjoiR2VybWFueSAoSkcgSSkiLGs6In40NTAiLGw6In4xMDAiLGQ6IkVsaXRlLXVuaXQgZG9nZmlnaHRlciBvZiB0aGUgd2ludGVyIDE5MTcgYW5kIHNwcmluZyAxOTE4IGJhdHRsZXM7IEpvc2VmIEphY29icyBzY29yZWQgMzAgb24gdGhlIHR5cGUuIn1dLGZhbW91czoiTWFuZnJlZCB2b24gUmljaHRob2ZlbiBzY29yZWQgaGlzIGZpbmFsIDE5IHZpY3RvcmllcyBvbiBGb2trZXIgdHJpcGxhbmVzIGFuZCBkaWVkIGluIGhpcyBhbGwtcmVkIERyLkkgb24gMjEgQXByaWwgMTkxOC4ifSwKe25hbWU6IkZva2tlciBELlZJSSIsZnVsbDoiRm9ra2VyIEQuVklJIixvcmlnaW46Ikdlcm1hbnkiLGdlbjoiV1dJIixmaXJzdEZsaWdodDoxOTE4LHJvbGU6IkJlc3QgR2VybWFuIGZpZ2h0ZXIgb2YgV1dJIixraWxsczoxNjAwLGtyOiIxLDAwMOKAkzIsMDAwIixsb3NzZXM6MzUwLGxyOiIyMDDigJM1NTAiLGdyb3VuZDpudWxsLHN0YXR1czoicHJvdmVuIixyZXRpcmVkOnRydWUsbm90ZToiRC5WSUkgdW5pdHMgd2VyZSBjcmVkaXRlZCB3aXRoIDU2NSB2aWN0b3JpZXMgYnkgQXVndXN0IDE5MTgg4oCUIHRoZSBvbmUgaGFyZCBkb2N1bWVudGVkIG51bWJlcjsgdGhlIGNhcmVlciB0b3RhbCBpcyBhbiBleHRyYXBvbGF0aW9uIGFjcm9zcyBpdHMgZmluYWwgZml2ZSBtb250aHMgb2Ygd2FyLiBDb250ZW1wb3JhcmllcyBvbiBib3RoIHNpZGVzIHJhdGVkIGl0IHRoZSBoYXJkZXN0IEdlcm1hbiBmaWdodGVyIHRvIGJyaW5nIGRvd24uIixjb25mbGljdHM6W3t5cjoiMTkxOCIsbjoiV2VzdGVybiBGcm9udCIsbmF0aW9uOiJHZXJtYW55IixrOiJ+MSw1NTAiLGw6In4zMzAiLGQ6IlJlLWVxdWlwcGVkIHRoZSBKYWdkc3RhZmZlbG4gZnJvbSBNYXkgMTkxOCBhbmQgcmVzdG9yZWQgR2VybWFuIGZpZ2h0ZXIgcXVhbGl0eSBhdCB0aGUgd2FyJ3MgZW5kLiJ9LHt5cjoiMTkxOeKAkzIwcyIsbjoiUG9zdC13YXIgc2VydmljZSIsbmF0aW9uOiJWYXJpb3VzIixrOiJ+MjAiLGw6In4yMCIsZDoiU3VycmVuZGVyZWQgYW5kIGV4cG9ydGVkIGFpcmZyYW1lcyBzb2xkaWVyZWQgb24sIGluY2x1ZGluZyBpbiB0aGUgUG9saXNo4oCTU292aWV0IFdhci4ifV0sZmFtb3VzOiJUaGUgb25seSBhaXJjcmFmdCBzaW5nbGVkIG91dCBieSBuYW1lIGluIHRoZSBXV0kgQXJtaXN0aWNlIHRlcm1zIOKAlCB0aGUgQWxsaWVzIGRlbWFuZGVkIGZpcnN0bHkgYWxsIEQuN3MgYmUgaGFuZGVkIG92ZXIuIn0sCntuYW1lOiJTb3B3aXRoIENhbWVsIixmdWxsOiJTb3B3aXRoIENhbWVsIEYuMSIsb3JpZ2luOiJVbml0ZWQgS2luZ2RvbSIsZ2VuOiJXV0kiLGZpcnN0RmxpZ2h0OjE5MTYscm9sZToiUm90YXJ5LWVuZ2luZSBkb2dmaWdodGVyIixraWxsczoxMjk0LGtyOiIxLDI5NOKAkzMsMzE4Iixsb3NzZXM6NjAwLGxyOiI0NTDigJM4NTAiLGdyb3VuZDpudWxsLHN0YXR1czoicHJvdmVuIixyZXRpcmVkOnRydWUsbm90ZToiVGhlIGNsYXNzaWMgMSwyOTQgY291bnRzIGVuZW15IGFpcmNyYWZ0IGNyZWRpdGVkIGFzIGRlc3Ryb3llZCB0byBDYW1lbCBwaWxvdHMgaW4gUkZDL1JBRi9STkFTIHJlY29yZHMg4oCUIHRoZSBtb3N0IG9mIGFueSBBbGxpZWQgZmlnaHRlcjsgY291bnRpbmcgYWxsIGNsYWltIGNhdGVnb3JpZXMgdGhlIHRhbGx5IHJlYWNoZXMgYWJvdXQgMywzMTgsIGFuZCByZWFsIEdlcm1hbiBsb3NzZXMgd2VyZSBsb3dlciBzdGlsbC4gVGhlIENhbWVsIGtpbGxlZCBhbG1vc3QgYXMgbWFueSBvZiBpdHMgb3duIHBpbG90cyBpbiBhY2NpZGVudHMgKH4zODXigJM0MDcpIGFzIGRpZWQgaW4gY29tYmF0ICh+NDEz4oCTNDI0KS4iLGNvbmZsaWN0czpbe3lyOiIxOTE34oCTMTgiLG46Ildlc3Rlcm4gRnJvbnQiLG5hdGlvbjoiVUsgLyBBdXN0cmFsaWEgLyBCZWxnaXVtIC8gVVNBIixrOiJ+MSwyMDAiLGw6In41NTAiLGQ6IlByZW1pZXIgQWxsaWVkIGRvZ2ZpZ2h0ZXIgZnJvbSBKdWx5IDE5MTc7IGFsc28gcGlvbmVlcmVkIGdyb3VuZCBhdHRhY2suIn0se3lyOiIxOTE4IixuOiJIb21lIERlZmVuY2UgLyBJdGFseSAvIEFlZ2VhbiIsbmF0aW9uOiJVbml0ZWQgS2luZ2RvbSIsazoifjkwIixsOiJ+NTAiLGQ6Ik5pZ2h0LWZpZ2h0ZXIgYW5kIHNlY29uZGFyeS10aGVhdHJlIHdvcmsuIn1dLGZhbW91czoiQ3JlZGl0ZWQgd2l0aCBtb3JlIHZpY3RvcmllcyB0aGFuIGFueSBvdGhlciBBbGxpZWQgZmlnaHRlciBvZiBXV0kg4oCUIGFuZCBpbW1vcnRhbGl6ZWQgZmlmdHkgeWVhcnMgbGF0ZXIgYXMgU25vb3B5J3MgbW91bnQgYWdhaW5zdCB0aGUgUmVkIEJhcm9uLiJ9LAp7bmFtZToiUy5FLjVhIixmdWxsOiJSb3lhbCBBaXJjcmFmdCBGYWN0b3J5IFMuRS41YSIsb3JpZ2luOiJVbml0ZWQgS2luZ2RvbSIsZ2VuOiJXV0kiLGZpcnN0RmxpZ2h0OjE5MTYscm9sZToiRmFzdCBzdGFibGUgZ3VuIHBsYXRmb3JtIixraWxsczoxMzUwLGtyOiIxLDMwMOKAkzIsNzAwIixsb3NzZXM6MzAwLGxyOiIyMjDigJM0MDAiLGdyb3VuZDpudWxsLHN0YXR1czoicHJvdmVuIixyZXRpcmVkOnRydWUsbm90ZToiQWJvdXQgMiw3MDAgZW5lbXkgYWlyY3JhZnQgd2VyZSBjbGFpbWVkIGluIGFsbCBSRkMvUkFGIGNyZWRpdCBjYXRlZ29yaWVzOyB0aGUgZGVzdHJveWVkLW9ubHkgZXF1aXZhbGVudCBvZiB0aGUgQ2FtZWwncyBmYW1vdXMgZmlndXJlIHdvdWxkIGJlIHJvdWdobHkgaGFsZiB0aGF0LCBoZW5jZSB0aGUgcmFuZ2UuIFdoYXQgaXMgd2VsbCBzdXBwb3J0ZWQgaXMgaXRzIGVmZmljaWVuY3k6IGl0IHNjb3JlZCBuZWFybHkgYXMgaGVhdmlseSBhcyB0aGUgQ2FtZWwgd2hpbGUgbG9zaW5nIG9uZSBwaWxvdCBwZXIgc2l4IHZpY3RvcmllcyBhZ2FpbnN0IHRoZSBDYW1lbCdzIG9uZSBwZXIgZm91ci4iLGNvbmZsaWN0czpbe3lyOiIxOTE34oCTMTgiLG46Ildlc3Rlcm4gRnJvbnQiLG5hdGlvbjoiVUsgLyBBdXN0cmFsaWEgLyBVU0EiLGs6In4yLDYwMCBjbGFpbXMiLGw6In4yODAiLGQ6IkVxdWlwcGVkIHRoZSBjcmFjayBzcXVhZHJvbnMg4oCUIDU2LCA3NCBhbmQgODUg4oCUIGZyb20gQXByaWwgMTkxNyB0byB0aGUgQXJtaXN0aWNlLiJ9LHt5cjoiMTkxN+KAkzE4IixuOiJQYWxlc3RpbmUgLyBNYWNlZG9uaWEiLG5hdGlvbjoiVW5pdGVkIEtpbmdkb20iLGs6In4xMDAiLGw6In4yMCIsZDoiU2Vjb25kYXJ5IHRoZWF0cmVzIGFuZCBIb21lIERlZmVuY2UuIn1dLGZhbW91czoiVGhlIG1vdW50IG9mIEJyaXRhaW4ncyB0b3AgYWNlcyDigJQgTWFubm9jayAoNjEpLCBNY0N1ZGRlbiAoNTcpIGFuZCBCaXNob3Ag4oCUIGFuZCBieSBwaWxvdHMgbG9zdCBwZXIgdmljdG9yeSB0aGUgYmVzdCBiYXJnYWluIGluIHRoZSBSRkMncyBzdGFibGUuIn0sCntuYW1lOiJTUEFEIFMuWElJSSIsZnVsbDoiU1BBRCBTLlhJSUkiLG9yaWdpbjoiRnJhbmNlIixnZW46IldXSSIsZmlyc3RGbGlnaHQ6MTkxNyxyb2xlOiJEaXZlLWFuZC16b29tIGZpZ2h0ZXIiLGtpbGxzOjE1MDAsa3I6IjEsMDAw4oCTMiwyMDAiLGxvc3Nlczo2MDAsbHI6IjQwMOKAkzkwMCIsZ3JvdW5kOm51bGwsc3RhdHVzOiJwcm92ZW4iLHJldGlyZWQ6dHJ1ZSxub3RlOiJUaGUgbW9zdC1wcm9kdWNlZCBmaWdodGVyIG9mIFdXSSAoOCw0NzIgYnVpbHQpIGVxdWlwcGVkIHZpcnR1YWxseSBldmVyeSBGcmVuY2ggZXNjYWRyaWxsZSBhbmQgMTUgb2YgMTYgVVMgcHVyc3VpdCBzcXVhZHJvbnMgYnkgdGhlIEFybWlzdGljZS4gRnJhbmNlIGNvbmZpcm1lZCB2aWN0b3JpZXMgb25seSB3aGVuIGluZGVwZW5kZW50bHkgd2l0bmVzc2VkLCBzbyBTUEFEIGNyZWRpdHMgYXJlIGNvbnNlcnZhdGl2ZSDigJQgYnV0IHRoZXkgd2VyZSBuZXZlciB0b3RhbGxlZCBieSB0eXBlLCBzbyB0aGUgZmlndXJlIGlzIGJ1aWx0IGZyb20gbmF0aW9uYWwgYW5kIHVuaXQgcmVjb3Jkcy4iLGNvbmZsaWN0czpbe3lyOiIxOTE34oCTMTgiLG46Ildlc3Rlcm4gRnJvbnQiLG5hdGlvbjoiRnJhbmNlIixrOiJ+OTAwIixsOiJ+NDAwIixkOiJTdGFuZGFyZCBGcmVuY2ggZmlnaHRlciBvZiB0aGUgZmluYWwgeWVhcjsgRm9uY2sgc2NvcmVkIG1vc3Qgb2YgaGlzIDc1IG9uIFNQQURzLiJ9LHt5cjoiMTkxOCIsbjoiV2VzdGVybiBGcm9udCIsbmF0aW9uOiJVU0EiLGs6In41NTAiLGw6In4yMDAiLGQ6IlRoZSBVUyBBaXIgU2VydmljZSB3YXMgY3JlZGl0ZWQgd2l0aCA3NTYgYWlyY3JhZnQgcGx1cyA3NiBiYWxsb29ucywgb3ZlcndoZWxtaW5nbHkgb24gU1BBRHMuIn0se3lyOiIxOTE34oCTMTgiLG46Ikl0YWxpYW4gRnJvbnQiLG5hdGlvbjoiSXRhbHkiLGs6In41MCIsbDoifjIwIixkOiJGbG93biBieSBGcmFuY2VzY28gQmFyYWNjYSBhbW9uZyBvdGhlcnMuIn1dLGZhbW91czoiVGhlIG1vdW50IG9mIGJvdGggdGhlIHRvcCBBbGxpZWQgYWNlIG9mIHRoZSB3YXIg4oCUIFJlbsOpIEZvbmNrLCA3NSB2aWN0b3JpZXMg4oCUIGFuZCBBbWVyaWNhJ3MgYWNlIG9mIGFjZXMsIEVkZGllIFJpY2tlbmJhY2tlci4ifSwKe25hbWU6Ik5pZXVwb3J0IDE3IixmdWxsOiJOaWV1cG9ydCAxNyIsb3JpZ2luOiJGcmFuY2UiLGdlbjoiV1dJIixmaXJzdEZsaWdodDoxOTE2LHJvbGU6IkFnaWxlIHNlc3F1aXBsYW5lIGZpZ2h0ZXIiLGtpbGxzOjcwMCxrcjoiNDAw4oCTMSwwMDAiLGxvc3NlczozNTAsbHI6IjIwMOKAkzYwMCIsZ3JvdW5kOm51bGwsc3RhdHVzOiJwcm92ZW4iLHJldGlyZWQ6dHJ1ZSxub3RlOiJJdCBzZXJ2ZWQgd2l0aCBuZWFybHkgZXZlcnkgQWxsaWVkIGFpciBhcm0g4oCUIHdoaWNoIGlzIHByZWNpc2VseSB3aHkgbm8gY29tYmluZWQgdmljdG9yeSBsZWRnZXIgd2FzIGV2ZXIgcHJvZHVjZWQ7IHRoZSBmaWd1cmUgYWdncmVnYXRlcyBhY2UgY3JlZGl0cyBhbmQgc3F1YWRyb24gcmVjb3JkcyBhY3Jvc3MgRnJhbmNlLCBCcml0YWluLCBSdXNzaWEsIEl0YWx5IGFuZCBCZWxnaXVtLiBCeSBtaWQtMTkxNyB0aGUgdHdpbi1ndW4gQWxiYXRyb3Mgc2NvdXRzIGhhZCBvdXRjbGFzc2VkIGl0LiIsY29uZmxpY3RzOlt7eXI6IjE5MTbigJMxNyIsbjoiV2VzdGVybiBGcm9udCIsbmF0aW9uOiJGcmFuY2UgLyBVSyAvIEJlbGdpdW0iLGs6In41NTAiLGw6In4yODAiLGQ6IlRoZSBwcmVtaWVyIEFsbGllZCBmaWdodGVyIG9mIG1pZC0xOTE2OyBtb3VudCBvZiBCYWxsLCBCaXNob3AsIEd1eW5lbWVyIGFuZCBOdW5nZXNzZXIuIn0se3lyOiIxOTE24oCTMTciLG46IkVhc3Rlcm4gRnJvbnQiLG5hdGlvbjoiUnVzc2lhIixrOiJ+MTAwIixsOiJ+NTAiLGQ6IlN0YW5kYXJkIFJ1c3NpYW4gZmlnaHRlciwgcGx1cyBsaWNlbmNlLWJ1aWx0IGNvcGllcy4ifV0sZmFtb3VzOiJCaWxseSBCaXNob3Agd29uIGhpcyBWaWN0b3JpYSBDcm9zcyBpbiBhIE5pZXVwb3J0IDE3LCBhdHRhY2tpbmcgYSBHZXJtYW4gYWlyZmllbGQgYWxvbmUgYXQgZGF3biBpbiBKdW5lIDE5MTcuIn0sCntuYW1lOiJQb2xpa2FycG92IEktMTYiLGZ1bGw6IlBvbGlrYXJwb3YgSS0xNiIsb3JpZ2luOiJVU1NSIixnZW46IjE5MzBzIixmaXJzdEZsaWdodDoxOTMzLHJvbGU6IkZpcnN0IG1vZGVybiBtb25vcGxhbmUgZmlnaHRlciIsa2lsbHM6MjAwMCxrcjoiNzAw4oCTMywwMDAiLGxvc3NlczoxNTAwLGxyOiIxLDAwMOKAkzIsNTAwIixncm91bmQ6bnVsbCxzdGF0dXM6InByb3ZlbiIscmV0aXJlZDp0cnVlLG5vdGU6IlRoZSB3b3JsZCdzIGZpcnN0IG1vZGVybiBtb25vcGxhbmUgZmlnaHRlciBkb21pbmF0ZWQgZWFybHkgU3BhaW4sIGJ1dCBpdHMgYWdncmVnYXRlIHJlY29yZCBpcyBidXJpZWQgdW5kZXIgU292aWV0LWVyYSBjbGFpbSBpbmZsYXRpb24gb2YgM+KAkzR4IOKAlCBhdCBLaGFsa2hpbiBHb2wgdGhlIFNvdmlldHMgY2xhaW1lZCA2NDYgSmFwYW5lc2UgYWlyY3JhZnQgYWdhaW5zdCBhYm91dCAxNjAgYWRtaXR0ZWQgYnkgSmFwYW4uIEJ5IDE5NDEgaXQgd2FzIG9ic29sZXRlIGFuZCB3YXMgZGVzdHJveWVkIGVuIG1hc3NlLiIsY29uZmxpY3RzOlt7eXI6IjE5MzbigJMzOSIsbjoiU3BhbmlzaCBDaXZpbCBXYXIiLG5hdGlvbjoiVVNTUiAvIFJlcHVibGljIixrOiJ+MjAwIixsOiIxMTIiLGQ6IlRoZSBSYXRhIHJ1bGVkIFNwYW5pc2ggc2tpZXMgdW50aWwgdGhlIEJmIDEwOSBhcnJpdmVkLiJ9LHt5cjoiMTkzN+KAkzQxIixuOiJDaGluYSAvIEtoYWxraGluIEdvbCIsbmF0aW9uOiJDaGluYSAvIFVTU1IiLGs6In41MDAgY2xhaW1zIixsOiJ+MjAwIixkOiJDbGFpbWVkIDY0NiBKYXBhbmVzZSBhdCBLaGFsa2hpbiBHb2w7IEphcGFuIGFkbWl0dGVkIGFib3V0IDE2MC4ifSx7eXI6IjE5NDHigJM0MyIsbjoiRWFzdGVybiBGcm9udCIsbmF0aW9uOiJVU1NSIixrOiJ+MSwwMDAgY2xhaW1zIixsOiIxLDAwMCsiLGQ6IlRoZSBtb3N0IG51bWVyb3VzIFNvdmlldCBmaWdodGVyIG9uIDIyIEp1bmUgMTk0MSDigJQgYW5kIHRoZSBtb3N0IGRlc3Ryb3llZC4ifV0sZmFtb3VzOiJUaGUgc3R1YmJ5IFJhdGEgd2FzIHRoZSBtb3N0IGFkdmFuY2VkIGZpZ2h0ZXIgb24gRWFydGggaW4gMTkzNSDigJQgYW5kIGNhbm5vbiBmb2RkZXIgYnkgMTk0MS4ifSwKe25hbWU6IkZpYXQgQ1IuMzIiLGZ1bGw6IkZpYXQgQ1IuMzIiLG9yaWdpbjoiSXRhbHkiLGdlbjoiMTkzMHMiLGZpcnN0RmxpZ2h0OjE5MzMscm9sZToiQmlwbGFuZSBmaWdodGVyIixraWxsczo2NTAsa3I6IjI1MOKAkzcwMCIsbG9zc2VzOjEwMCxscjoiNzXigJMxMjAiLGdyb3VuZDpudWxsLHN0YXR1czoicHJvdmVuIixyZXRpcmVkOnRydWUsbm90ZToiVGhlIGRvbWluYW50IGZpZ2h0ZXIgb2YgdGhlIFNwYW5pc2ggQ2l2aWwgV2FyOiB0aGUgQXZpYXppb25lIExlZ2lvbmFyaWEgY3JlZGl0ZWQgaXQgd2l0aCBhYm91dCA1MzAgY29uZmlybWVkIHZpY3RvcmllcywgdGhvdWdoIFJlcHVibGljYW4gbG9zcyByZWNvcmRzIGRlZmxhdGUgSXRhbGlhbiBjbGFpbXMgcm91Z2hseSAyLjXigJMzeC4gRXZlbiB2ZXJpZmllZCwgaXRzIGV4Y2hhbmdlIHJhdGlvIHN0YXllZCBjbGVhcmx5IHBvc2l0aXZlIOKAlCB0aGVuIGl0IHdlbnQgdG8gV1dJSSBhIGdlbmVyYXRpb24gdG9vIGxhdGUuIixjb25mbGljdHM6W3t5cjoiMTkzNuKAkzM5IixuOiJTcGFuaXNoIENpdmlsIFdhciIsbmF0aW9uOiJJdGFseSAvIE5hdGlvbmFsaXN0IFNwYWluIixrOiJ+NjAwIGNsYWltcyIsbDoifjkwIixkOiJCZXN0IGRvZ2ZpZ2h0ZXIgb2YgdGhlIHdhcjsgR2FyY8OtYSBNb3JhdG8gc2NvcmVkIDM2IG9mIGhpcyA0MCBraWxscyBvbiBpdC4ifSx7eXI6IjE5NDDigJM0MSIsbjoiRWFzdCBBZnJpY2EgLyBHcmVlY2UiLG5hdGlvbjoiSXRhbHkiLGs6In4yMCIsbDoifjEwIixkOiJBIGJpcGxhbmUgYXQgd2FyIGEgZ2VuZXJhdGlvbiB0b28gbGF0ZS4ifV0sZmFtb3VzOiJUaGUgU3BhbmlzaCBDaXZpbCBXYXIncyB0b3AgZ3VuIOKAlCBKb2FxdcOtbiBHYXJjw61hIE1vcmF0byBzY29yZWQgMzYgb2YgaGlzIDQwIHZpY3RvcmllcyBpbiBvbmUuIn0sCntuYW1lOiJHbG9zdGVyIEdsYWRpYXRvciIsZnVsbDoiR2xvc3RlciBHbGFkaWF0b3IiLG9yaWdpbjoiVW5pdGVkIEtpbmdkb20iLGdlbjoiMTkzMHMiLGZpcnN0RmxpZ2h0OjE5MzQscm9sZToiTGFzdCBSQUYgYmlwbGFuZSBmaWdodGVyIixraWxsczoyNTAsa3I6IjIwMOKAkzMwMCIsbG9zc2VzOjExMCxscjoiODDigJMxNTAiLGdyb3VuZDpudWxsLHN0YXR1czoicHJvdmVuIixyZXRpcmVkOnRydWUsbm90ZToiVGhlIFJBRidzIGxhc3QgYmlwbGFuZSBmaWdodGVyIHB1bmNoZWQgZmFyIGFib3ZlIGl0cyB3ZWlnaHQgZnJvbSBGaW5sYW5kIHRvIE1hbHRhLCB0aG91Z2ggY2xhaW1zIGZyb20gR3JlZWNlIGFuZCBOb3J3YXkgZGVmbGF0ZSByb3VnaGx5IGJ5IGhhbGYgYWdhaW5zdCBBeGlzIGxvc3MgcmVjb3Jkcy4gVGhlIE1hbHRhIEZhaXRoLCBIb3BlIGFuZCBDaGFyaXR5IGxlZ2VuZCBpcyBtb3JlIG15dGggdGhhbiBtdXN0ZXIg4oCUIHRoZXJlIHdlcmUgbW9yZSB0aGFuIHRocmVlLiIsY29uZmxpY3RzOlt7eXI6IjE5MznigJM0MCIsbjoiV2ludGVyIFdhciIsbmF0aW9uOiJGaW5sYW5kIC8gU3dlZGVuIixrOiI0NSIsbDoifjE1IixkOiJTd2VkaXNoIHZvbHVudGVlcnMgYW5kIEZpbm5zIHNjb3JlZCA0NSBraWxscyBpbiB0aGUgQXJjdGljLiJ9LHt5cjoiMTk0MCIsbjoiTm9yd2F5IixuYXRpb246IlVuaXRlZCBLaW5nZG9tIixrOiIyNiIsbDoifjE1IixkOiJOby4gMjYzIFNxdWFkcm9uIGZsZXcgb2ZmIGZyb3plbiBsYWtlcyBhZ2FpbnN0IHRoZSBMdWZ0d2FmZmUuIn0se3lyOiIxOTQw4oCTNDEiLG46Ik1hbHRhIC8gR3JlZWNlIC8gRGVzZXJ0IixuYXRpb246IlVLIC8gQ29tbW9ud2VhbHRoIixrOiJ+MTUwIGNsYWltcyIsbDoifjcwIixkOiJQYXQgUGF0dGxlIGJlY2FtZSB0aGUgdG9wIGJpcGxhbmUgYWNlIG9mIFdXSUkgb24gaXQuIn1dLGZhbW91czoiRmFpdGgsIEhvcGUgYW5kIENoYXJpdHkg4oCUIHRoZSBiaXBsYW5lIHRoYXQgaGVsZCBNYWx0YSB3aGlsZSB0aGUgd29ybGQgd2VudCBtb25vcGxhbmUuIn0sCntuYW1lOiJNZXNzZXJzY2htaXR0IEJmIDEwOSIsZnVsbDoiTWVzc2Vyc2NobWl0dCBCZiAxMDkgKGFsbCB2YXJpYW50cykiLG9yaWdpbjoiR2VybWFueSIsZ2VuOiJXV0lJIixmaXJzdEZsaWdodDoxOTM1LHJvbGU6Ik1vc3QtcHJvZHVjZWQgZmlnaHRlciBldmVyIixraWxsczoxNTAwMCxrcjoiMTIsMDAw4oCTMjAsMDAwIixsb3NzZXM6ODAwMCxscjoiNiwwMDDigJMxMiwwMDAiLGdyb3VuZDpudWxsLHN0YXR1czoicHJvdmVuIixyZXRpcmVkOnRydWUsbm90ZToiTW9yZSBhZXJpYWwgdmljdG9yaWVzIHdlcmUgY3JlZGl0ZWQgdG8gdGhlIEJmIDEwOSB0aGFuIGFueSBvdGhlciBhaXJjcmFmdCBpbiBoaXN0b3J5IOKAlCBidXQgZXZlcnkgaGVhZGxpbmUgbnVtYmVyIGlzIGEgY2xhaW1zIGZpZ3VyZSBmcm9tIGEgc3lzdGVtIHRoYXQgY29uZmlybWVkIH45MCUgb2Ygc3VibWlzc2lvbnMgYW5kIGNvbGxhcHNlZCBpbiAxOTQ1OyBhZ2FpbnN0IFNvdmlldCByZWNvcmRzLCBFYXN0ZXJuIEZyb250IGNsYWltcyBkZWZsYXRlIHJvdWdobHkgMjoxLiBDbGFpbXMgZm9yIHRoZSB0eXBlIHJ1biBmYXIgYmV5b25kIHRoZSB2ZXJpZmllZCBiYW5kIHNob3duLiBJdCB3YXMgYWxzbywgYnkgdm9sdW1lLCBvbmUgb2YgdGhlIGJpZ2dlc3QgbG9zZXJzIG9mIGFpcmNyYWZ0IGV2ZXI6IGRvbWluYW5jZSBhbmQgYXR0cml0aW9uIGluIG9uZSBhaXJmcmFtZS4iLGNvbmZsaWN0czpbe3lyOiIxOTM54oCTNDEiLG46IlBvbGFuZCAvIEZyYW5jZSAvIEJyaXRhaW4iLG5hdGlvbjoiR2VybWFueSIsazoifjMsNTAwIixsOiJ+MSwyMDAiLGQ6IldvbiBldmVyeXdoZXJlIHVudGlsIHRoZSBDaGFubmVsIGltcG9zZWQgdHdlbnR5IG1pbnV0ZXMgb2YgZnVlbCBvdmVyIExvbmRvbi4ifSx7eXI6IjE5NDHigJM0NSIsbjoiRWFzdGVybiBGcm9udCIsbmF0aW9uOiJHZXJtYW55ICsgYWxsaWVzIixrOiJ+MzAsMDAwIGNsYWltcyIsbDoifjQsMDAwIixkOiJXaGVyZSB0aGUgMTAwLSBhbmQgMzAwLWtpbGwgYWNlcyB3ZXJlIG1hZGUg4oCUIGFuZCB3aGVyZSBvdmVyY2xhaW1pbmcgcmFuIGFib3V0IDI6MS4ifSx7eXI6IjE5NDPigJM0NSIsbjoiRGVmZW5zZSBvZiB0aGUgUmVpY2giLG5hdGlvbjoiR2VybWFueSIsazoifjUsMDAwIixsOiJ+NCwwMDAiLGQ6IkJsZWQgd2hpdGUgYWdhaW5zdCB0aGUgTXVzdGFuZyBlc2NvcnRzLiJ9XSxmYW1vdXM6IlRoZSBoaWdoZXN0LXNjb3JpbmcgZmlnaHRlciBpbiBoaXN0b3J5IOKAlCBFcmljaCBIYXJ0bWFubidzIDM1MiBraWxscywgZXZlcnkgb25lIG9mIHRoZW0gb24gdGhlIDEwOS4ifSwKe25hbWU6Ik1lc3NlcnNjaG1pdHQgQmYgMTEwIixmdWxsOiJNZXNzZXJzY2htaXR0IEJmIDExMCBaZXJzdMO2cmVyIixvcmlnaW46Ikdlcm1hbnkiLGdlbjoiV1dJSSIsZmlyc3RGbGlnaHQ6MTkzNixyb2xlOiJIZWF2eSBmaWdodGVyIC8gbmlnaHQgZmlnaHRlciIsa2lsbHM6NjAwMCxrcjoiNCwwMDDigJM4LDAwMCIsbG9zc2VzOjE4MDAsbHI6IjEsMjAw4oCTMiw1MDAiLGdyb3VuZDpudWxsLHN0YXR1czoicHJvdmVuIixyZXRpcmVkOnRydWUsbm90ZToiR8O2cmluZydzIHByZXN0aWdlIFplcnN0w7ZyZXIgZmFpbGVkIGNhdGFzdHJvcGhpY2FsbHkgYnkgZGF5IOKAlCB0aGUgZXNjb3J0IGZpZ2h0ZXIgdGhhdCBuZWVkZWQgaXRzIG93biBlc2NvcnQgb3ZlciBCcml0YWluIOKAlCB0aGVuIGJlY2FtZSB0aGUgZGVhZGxpZXN0IG5pZ2h0IGZpZ2h0ZXIgb2YgdGhlIHdhci4gSXRzIG5pZ2h0LWZpZ2h0ZXIgY3JlZGl0cyBhcmUgYW1vbmcgdGhlIGJlc3QtdmVyaWZpZWQgR2VybWFuIGNsYWltcyBvZiBXV0lJLCBtYXRjaGluZyBSQUYgQm9tYmVyIENvbW1hbmQgbG9zcyByZWNvcmRzIGNsb3NlbHkuIixjb25mbGljdHM6W3t5cjoiMTkzOeKAkzQwIixuOiJQb2xhbmQgLyBGcmFuY2UgLyBCcml0YWluIixuYXRpb246Ikdlcm1hbnkiLGs6In4zNTAiLGw6In4zMDAiLGQ6IjIyMyBsb3N0IG92ZXIgQnJpdGFpbiDigJQgdGhlIFplcnN0w7ZyZXIgbXl0aCBkaWVkIGluIDE5NDAuIn0se3lyOiIxOTQw4oCTNDUiLG46Ik5pZ2h0IGRlZmVuc2Ugb2YgdGhlIFJlaWNoIixuYXRpb246Ikdlcm1hbnkiLGs6In40LDAwMCIsbDoifjgwMCIsZDoiQmFja2JvbmUgb2YgdGhlIE5hY2h0amFnZCBhZ2FpbnN0IEJvbWJlciBDb21tYW5kJ3MgfjgsMzAwIG5pZ2h0IGxvc3Nlcy4ifSx7eXI6IjE5NDHigJM0NCIsbjoiRWFzdGVybiBGcm9udCAvIFJlaWNoIGRheSIsbmF0aW9uOiJHZXJtYW55IixrOiJ+MSwyMDAiLGw6In43MDAiLGQ6IlVzZWZ1bCBib21iZXItZGVzdHJveWVyIHVudGlsIHRoZSBNdXN0YW5ncyBjYW1lLiJ9XSxmYW1vdXM6IkEgZmFpbHVyZSBieSBkYXksIHRoZSBSZWljaCdzIGV4ZWN1dGlvbmVyIGJ5IG5pZ2h0IOKAlCBTY2huYXVmZXIncyAxMjEgbmlnaHQga2lsbHMsIHRoZSBoaWdoZXN0IGV2ZXIsIGFsbCBjYW1lIG9uIHRoZSBCZiAxMTAuIn0sCntuYW1lOiJGb2NrZS1XdWxmIEZ3IDE5MCIsZnVsbDoiRm9ja2UtV3VsZiBGdyAxOTAiLG9yaWdpbjoiR2VybWFueSIsZ2VuOiJXV0lJIixmaXJzdEZsaWdodDoxOTM5LHJvbGU6IkZpZ2h0ZXIgLyBmaWdodGVyLWJvbWJlciIsa2lsbHM6MTAwMDAsa3I6IjYsMDAw4oCTMTYsMDAwIixsb3NzZXM6NjAwMCxscjoiNCwwMDDigJM4LDAwMCIsZ3JvdW5kOm51bGwsc3RhdHVzOiJwcm92ZW4iLHJldGlyZWQ6dHJ1ZSxub3RlOiJUaGUgQnV0Y2hlciBCaXJkIG91dGNsYXNzZWQgdGhlIFNwaXRmaXJlIFYgYXQgaXRzIDE5NDEgZGVidXQgYW5kIHJhY2tlZCB1cCBlbm9ybW91cyBFYXN0ZXJuIEZyb250IHNjb3JlcyBzdWJqZWN0IHRvIHRoZSBzYW1lIH4yOjEgb3ZlcmNsYWltIGRlZmxhdGlvbiBhcyB0aGUgQmYgMTA5J3MuIE5vIGFyY2hpdmFsIHR5cGUgdG90YWwgZXhpc3RzOyBpdCBpcyB3aWRlbHkgcmF0ZWQgdGhlIHNlY29uZC1oaWdoZXN0LXNjb3JpbmcgZmlnaHRlciBpbiBoaXN0b3J5LiBOZWFybHkgaGFsZiBpdHMgY2FyZWVyIGxvc3NlcyBjYW1lIGluIHRoZSBmaW5hbCB5ZWFyIG9mIHRoZSB3YXIuIixjb25mbGljdHM6W3t5cjoiMTk0MeKAkzQzIixuOiJDaGFubmVsIEZyb250IixuYXRpb246Ikdlcm1hbnkgKEpHIDIgLyBKRyAyNikiLGs6In4xLDAwMCIsbDoifjQwMCIsZDoiTWFkZSB0aGUgU3BpdGZpcmUgViBvYnNvbGV0ZSBvdmVybmlnaHQuIn0se3lyOiIxOTQy4oCTNDUiLG46IkVhc3Rlcm4gRnJvbnQiLG5hdGlvbjoiR2VybWFueSAoSkcgNTEgLyA1NCkiLGs6In44LDAwMCBjbGFpbXMiLGw6In4yLDUwMCIsZDoiT3R0byBLaXR0ZWwgc2NvcmVkIDIyOCBvZiBoaXMgMjY3IGluIGl0LiJ9LHt5cjoiMTk0M+KAkzQ1IixuOiJSZWljaCAvIE5vcm1hbmR5IixuYXRpb246Ikdlcm1hbnkiLGs6In4zLDAwMCIsbDoifjMsMDAwIixkOiIxNDQgbG9zdCBpbiBvbmUgbW9ybmluZyBkdXJpbmcgT3BlcmF0aW9uIEJvZGVucGxhdHRlLiJ9XSxmYW1vdXM6IlRoZSBCdXRjaGVyIEJpcmQg4oCUIGhpc3RvcnkncyBzZWNvbmQtaGlnaGVzdC1zY29yaW5nIGZpZ2h0ZXIuIn0sCntuYW1lOiJNYWNjaGkgQy4yMDIiLGZ1bGw6Ik1hY2NoaSBDLjIwMiBGb2xnb3JlIixvcmlnaW46Ikl0YWx5IixnZW46IldXSUkiLGZpcnN0RmxpZ2h0OjE5NDAscm9sZToiSXRhbHkncyBiZXN0IG1hc3MtcHJvZHVjZWQgZmlnaHRlciIsa2lsbHM6NjAwLGtyOiIzMDDigJMxLDEwMCIsbG9zc2VzOjM1MCxscjoiMjUw4oCTNTAwIixncm91bmQ6bnVsbCxzdGF0dXM6InByb3ZlbiIscmV0aXJlZDp0cnVlLG5vdGU6Ikl0YWx5J3MgZmluZXN0IHdhcnRpbWUgZmlnaHRlciBmaW5hbGx5IG1hcnJpZWQgYW4gSXRhbGlhbiBhaXJmcmFtZSB0byBhIEdlcm1hbiBEQiA2MDEgZW5naW5lLiBJdHMgZ2xvd2luZyB1bml0IHJhdGlvcyDigJQgNTHCsCBTdG9ybW8gY2xhaW1lZCA5NyBmb3IgMTcgb3ZlciBNYWx0YSDigJQgc2hyaW5rIGJ5IGhhbGYgb3IgbW9yZSBhZ2FpbnN0IFJBRiBhbmQgVVNBQUYgbG9zcyByZWNvcmRzOyBNZWRpdGVycmFuZWFuIG92ZXJjbGFpbWluZyB3YXMgY2hyb25pYyBvbiBhbGwgc2lkZXMuIEFuIGFybWFtZW50IG9mIGp1c3QgdHdvIHRvIGZvdXIgbWFjaGluZSBndW5zIGNhcHBlZCBpdHMgbGV0aGFsaXR5LiIsY29uZmxpY3RzOlt7eXI6IjE5NDHigJM0MiIsbjoiTWFsdGEiLG5hdGlvbjoiSXRhbHkiLGs6In4yNTAgY2xhaW1zIixsOiJ+ODAiLGQ6IjUxwrAgU3Rvcm1vIGNsYWltZWQgOTcgZm9yIDE3IG92ZXIgdGhlIGJlc2llZ2VkIGlzbGFuZC4ifSx7eXI6IjE5NDHigJM0MyIsbjoiTm9ydGggQWZyaWNhIixuYXRpb246Ikl0YWx5IixrOiJ+NTAwIGNsYWltcyIsbDoifjIwMCIsZDoiT3V0ZmxldyB0aGUgS2l0dHloYXdrIGF0IEJpciBIYWtlaW0sIDIyIHRvIDUuIn0se3lyOiIxOTQy4oCTNDMiLG46IkVhc3Rlcm4gRnJvbnQgLyBTaWNpbHkiLG5hdGlvbjoiSXRhbHkiLGs6In4xMDAiLGw6In43MCIsZDoiQSBmcm96ZW4gZm9vdG5vdGUgaW4gUnVzc2lhLCBhIGxhc3Qgc3RhbmQgb3ZlciBTaWNpbHkuIn1dLGZhbW91czoiVGhlIEZvbGdvcmUg4oCUIEl0YWx5J3MgZmluZXN0IGZpZ2h0ZXIgb2YgdGhlIHdhciwgYWx3YXlzIG91dG51bWJlcmVkLCByYXJlbHkgb3V0Zmxvd24uIn0sCntuYW1lOiJEZXdvaXRpbmUgRC41MjAiLGZ1bGw6IkRld29pdGluZSBELjUyMCIsb3JpZ2luOiJGcmFuY2UiLGdlbjoiV1dJSSIsZmlyc3RGbGlnaHQ6MTkzOCxyb2xlOiJGcmFuY2UncyBiZXN0IDE5NDAgZmlnaHRlciIsa2lsbHM6MTUwLGtyOiI4NeKAkzE4MCIsbG9zc2VzOjEwNSxscjoiODDigJMxMzAiLGdyb3VuZDpudWxsLHN0YXR1czoicHJvdmVuIixyZXRpcmVkOnRydWUsbm90ZToiVGhlIG9ubHkgRnJlbmNoIGZpZ2h0ZXIgdGhhdCBjb3VsZCBtZWV0IHRoZSBCZiAxMDlFIG9uIG5lYXItZXF1YWwgdGVybXMg4oCUIGJ1dCBvbmx5IGFib3V0IDc1IHdlcmUgYXQgdGhlIGZyb250IG9uIDEwIE1heSAxOTQwLiBJdHMgY2VsZWJyYXRlZCAxMTQtdmljdG9yeSBCYXR0bGUgb2YgRnJhbmNlIHJlY29yZCBjb21wYXJlcyBjbGFpbXMgYWdhaW5zdCBsb3NzZXMgZnJvbSBhbGwgY2F1c2VzOyBtYXRjaGVkIGNsYWltLXZlcnN1cy1sb3NzIHJlc2VhcmNoIHRyaW1zIHRoZSByYXRpbyB0byByb3VnaGx5IGV2ZW4uIFVuZGVyIFZpY2h5IGNvbG9ycyBpdCB0aGVuIGZvdWdodCBpdHMgZm9ybWVyIGFsbGllcy4iLGNvbmZsaWN0czpbe3lyOiIxOTQwIixuOiJCYXR0bGUgb2YgRnJhbmNlIixuYXRpb246IkZyYW5jZSIsazoiMTE0IGNsYWltcyIsbDoiODUiLGQ6IkZyYW5jZSdzIGJlc3QgZmlnaHRlciBhcnJpdmVkIGZpdmUgd2Vla3MgYmVmb3JlIHRoZSBhcm1pc3RpY2UuIn0se3lyOiIxOTQxIixuOiJTeXJpYeKAk0xlYmFub24iLG5hdGlvbjoiVmljaHkgRnJhbmNlIixrOiJ+MzAiLGw6In4xNSIsZDoiRnJlbmNobWVuIGFuZCBBdXN0cmFsaWFucyBraWxsZWQgZWFjaCBvdGhlciBvdmVyIERhbWFzY3VzLiJ9LHt5cjoiMTk0MiIsbjoiT3BlcmF0aW9uIFRvcmNoIixuYXRpb246IlZpY2h5IEZyYW5jZSIsazoifjUiLGw6In4zMCIsZDoiV2lsZGNhdHMgZW5kZWQgaXRzIHdhciBpbiB0aHJlZSBkYXlzLiJ9XSxmYW1vdXM6IkZyYW5jZSdzIGFuc3dlciB0byB0aGUgQmYgMTA5IOKAlCBpdCBqdXN0IG5lZWRlZCBhbm90aGVyIHNpeCBtb250aHMuIn0sCntuYW1lOiJNZXNzZXJzY2htaXR0IE1lIDI2MiIsZnVsbDoiTWVzc2Vyc2NobWl0dCBNZSAyNjIgU2Nod2FsYmUiLG9yaWdpbjoiR2VybWFueSIsZ2VuOiJXV0lJIGpldCIsZmlyc3RGbGlnaHQ6MTk0Mixyb2xlOiJGaXJzdCBvcGVyYXRpb25hbCBqZXQgZmlnaHRlciIsa2lsbHM6NDUwLGtyOiIzMDDigJM1NDIiLGxvc3NlczoxMDAsbHI6Ijkw4oCTMTIwIixncm91bmQ6bnVsbCxzdGF0dXM6InByb3ZlbiIscmV0aXJlZDp0cnVlLG5vdGU6IlRoZSB3b3JsZCdzIGZpcnN0IG9wZXJhdGlvbmFsIGpldCBmaWdodGVyIHNjb3JlZCByb3VnaGx5IHRocmVlIHRvIGZpdmUga2lsbHMgcGVyIGFpci1jb21iYXQgbG9zcyDigJQgdGhlIGJlc3QtdmVyaWZpZWQgcmF0aW8gb2YgdGhlIGxhdGUgd2FyLCBiZWNhdXNlIEFsbGllZCBsb3NzIHJlY29yZHMgYXJlIGNvbXBsZXRlLiBBbGxpZWQgZmlnaHRlcnMgbGVhcm5lZCB0byBhbWJ1c2ggaXQgaW4gdGhlIGxhbmRpbmcgcGF0dGVybiwgYW5kIGl0cyBKdW1vIDAwNCBlbmdpbmVzIGxhc3RlZCBhYm91dCAyNSBob3Vycy4iLGNvbmZsaWN0czpbe3lyOiIxOTQ04oCTNDUiLG46IkRlZmVuc2Ugb2YgdGhlIFJlaWNoIixuYXRpb246Ikdlcm1hbnkgKEpHIDcsIEpWIDQ0KSIsazoifjQ1MCBjbGFpbXMiLGw6In4xMDAiLGQ6IkdhbGxhbmQncyBKViA0NCDigJQgYSBzcXVhZHJvbiBvZiBleHBlcnRzIGZseWluZyB0aGUgZnV0dXJlLiJ9XSxmYW1vdXM6IlRoZSBmaXJzdCBvcGVyYXRpb25hbCBqZXQgZmlnaHRlciDigJQgMTAwIG1waCBmYXN0ZXIgdGhhbiBhbnl0aGluZyB0aGUgQWxsaWVzIGZsZXcuIn0sCntuYW1lOiJTdXBlcm1hcmluZSBTcGl0ZmlyZSIsZnVsbDoiU3VwZXJtYXJpbmUgU3BpdGZpcmUiLG9yaWdpbjoiVW5pdGVkIEtpbmdkb20iLGdlbjoiV1dJSSIsZmlyc3RGbGlnaHQ6MTkzNixyb2xlOiJJbnRlcmNlcHRvciAvIGFpciBzdXBlcmlvcml0eSIsa2lsbHM6NjMwMCxrcjoiNSwwMDDigJM3LDAwMCIsbG9zc2VzOjE4MDAsbHI6IjEsMjAw4oCTMiw1MDAiLGdyb3VuZDpudWxsLHN0YXR1czoicHJvdmVuIixyZXRpcmVkOnRydWUsbm90ZToiTm8gb2ZmaWNpYWwgY2FyZWVyIHRvdGFsIGV4aXN0czsgdGhlIGJlc3Qgc2VyaW91cyByZWNvbnN0cnVjdGlvbiAoUmlwcGV0aCAyMDIxLCBidWlsdCBvbiBTaG9yZXMnIEFjZXMgSGlnaCBkYXRhKSBnaXZlcyBhYm91dCA2LDMzOCBjcmVkaXRlZCB2aWN0b3JpZXMg4oCUIG1ha2luZyBpdCB0aGUgdG9wLXNjb3JpbmcgQWxsaWVkIGZpZ2h0ZXIgb2YgdGhlIHdhci4gT25seSBjYW1wYWlnbi1sZXZlbCBsb3NzIGRhdGEgc3Vydml2ZXMsIHNvIHRoZSBsb3NzIGNvbHVtbiBpcyBhbiBlc3RpbWF0ZS4gVGhlIG9ubHkgQWxsaWVkIGZpZ2h0ZXIgaW4gcHJvZHVjdGlvbiBmb3IgdGhlIGVudGlyZSB3YXIuIixjb25mbGljdHM6W3t5cjoiMTkzOeKAkzQ1IixuOiJOb3J0aC1XZXN0IEV1cm9wZSIsbmF0aW9uOiJVSyAvIENvbW1vbndlYWx0aCIsazoifjQsNzUwIGNsYWltcyIsbDoifjEsNTAwIixkOiJGcm9tIER1bmtpcmsgdG8gQmVybGluIOKAlCB0aGUgUkFGJ3MgcmFwaWVyLCB+NDIlIG9mIEZpZ2h0ZXIgQ29tbWFuZCdzIEJhdHRsZSBvZiBCcml0YWluIGNsYWltcy4ifSx7eXI6IjE5NDLigJM0NSIsbjoiTWVkaXRlcnJhbmVhbiAvIE1hbHRhIixuYXRpb246IlVLIC8gVVNBQUYgLyBDb21tb253ZWFsdGgiLGs6In4xLDAwMCsiLGw6InNldmVyYWwgaHVuZHJlZCIsZDoiTWFsdGEncyBzYXZpb3I7IFVTQUFGIFNwaXRmaXJlcyBhZGRlZCB+MzUwIGNyZWRpdHMuIn0se3lyOiIxOTQ44oCTNDkiLG46Ik1pZGRsZSBFYXN0IixuYXRpb246IklzcmFlbCAvIEVneXB0IC8gUkFGIixrOiJ+MTIiLGw6In4xMiIsZDoiU3BpdGZpcmUtdmVyc3VzLVNwaXRmaXJlIGRvZ2ZpZ2h0cyBvdmVyIFBhbGVzdGluZS4ifV0sZmFtb3VzOiJHYWxsYW5kLCBhc2tlZCBieSBHw7ZyaW5nIHdoYXQgaGUgbmVlZGVkIHRvIHdpbiB0aGUgQmF0dGxlIG9mIEJyaXRhaW46IEdpdmUgbWUgYSBzcXVhZHJvbiBvZiBTcGl0ZmlyZXMuIn0sCntuYW1lOiJIYXdrZXIgSHVycmljYW5lIixmdWxsOiJIYXdrZXIgSHVycmljYW5lIixvcmlnaW46IlVuaXRlZCBLaW5nZG9tIixnZW46IldXSUkiLGZpcnN0RmxpZ2h0OjE5MzUscm9sZToiRmlnaHRlciAvIGZpZ2h0ZXItYm9tYmVyIixraWxsczo0ODUwLGtyOiI0LDAwMOKAkzYsMzAwIixsb3NzZXM6MjAwMCxscjoiMSw1MDDigJMzLDAwMCIsZ3JvdW5kOm51bGwsc3RhdHVzOiJwcm92ZW4iLHJldGlyZWQ6dHJ1ZSxub3RlOiJDcmVkaXRlZCB3aXRoIGFib3V0IDU1JSBvZiBGaWdodGVyIENvbW1hbmQncyAyLDczOSBCYXR0bGUgb2YgQnJpdGFpbiBjbGFpbXMgKH4xLDUwMCkg4oCUIG1vcmUgdGhhbiBTcGl0ZmlyZXMgYW5kIGdyb3VuZCBkZWZlbmNlcyBjb21iaW5lZDsgYWN0dWFsIEdlcm1hbiBsb3NzZXMgd2VyZSB+MSw4ODcgaW4gdG90YWwsIHNvIHJlYWwgSHVycmljYW5lIEJvQiBraWxscyB3ZXJlIG5lYXJlciA5MDDigJMxLDAwMC4gQ2FyZWVyIHRvdGFscyBhcmUgaGlzdG9yaWFuIHJlY29uc3RydWN0aW9uczsgaXQgc2VydmVkIG9uIGV2ZXJ5IEJyaXRpc2ggZnJvbnQuIixjb25mbGljdHM6W3t5cjoiMTkzOeKAkzQxIixuOiJGcmFuY2UgLyBCYXR0bGUgb2YgQnJpdGFpbiIsbmF0aW9uOiJVbml0ZWQgS2luZ2RvbSIsazoifjEsOTAwIGNsYWltcyIsbDoifjEsMDAwIixkOiJUaGUgd29ya2hvcnNlIHRoYXQgd29uIHRoZSBCYXR0bGUgb2YgQnJpdGFpbi4ifSx7eXI6IjE5NDDigJM0MyIsbjoiTWVkaXRlcnJhbmVhbiAvIE5vcnRoIEFmcmljYSIsbmF0aW9uOiJVSyAvIENvbW1vbndlYWx0aCIsazoifjEsNTAwIGNsYWltcyIsbDoifjgwMCIsZDoiSGVsZCB0aGUgbGluZSBmcm9tIE1hbHRhIHRvIHRoZSBkZXNlcnQuIn0se3lyOiIxOTQx4oCTNDUiLG46IkVhc3Rlcm4gRnJvbnQgLyBGYXIgRWFzdCIsbmF0aW9uOiJVU1NSIC8gVUsiLGs6InNldmVyYWwgaHVuZHJlZCIsbDoiaGVhdnkiLGQ6IjIsOTUyIHNlbnQgdG8gdGhlIFVTU1I7IG91dGNsYXNzZWQgYnV0IGV2ZXJ5d2hlcmUuIn1dLGZhbW91czoiVGhlIEh1cnJpY2FuZSBzaG90IGRvd24gbW9yZSBlbmVteSBhaXJjcmFmdCBpbiB0aGUgQmF0dGxlIG9mIEJyaXRhaW4gdGhhbiBhbGwgb3RoZXIgZGVmZW5jZXMg4oCUIGFpciBhbmQgZ3JvdW5kIOKAlCBjb21iaW5lZC4ifSwKe25hbWU6Ikhhd2tlciBUZW1wZXN0IixmdWxsOiJIYXdrZXIgVGVtcGVzdCBWIixvcmlnaW46IlVuaXRlZCBLaW5nZG9tIixnZW46IldXSUkiLGZpcnN0RmxpZ2h0OjE5NDIscm9sZToiTG93LWFsdGl0dWRlIGFpciBzdXBlcmlvcml0eSIsa2lsbHM6MjM5LGxvc3NlczozMSxscjoiMjXigJM0MCIsZ3JvdW5kOm51bGwsc3RhdHVzOiJwcm92ZW4iLHJldGlyZWQ6dHJ1ZSxub3RlOiJUaGUgYmVzdC1kb2N1bWVudGVkIGZpZ3VyZXMgb2YgYW55IFdXSUkgZmlnaHRlciBoZXJlOiAyMzkgY29uZmlybWVkIG1hbm5lZC1haXJjcmFmdCBraWxscyBmb3IgMzEgYWlyLWNvbWJhdCBsb3NzZXMsIHJvdWdobHkgODoxIOKAlCBwbHVzIDYzOCBWLTEgZmx5aW5nIGJvbWJzLCBjb3VudGVkIHNlcGFyYXRlbHkgYXMgdW5tYW5uZWQuIE9uZSBvZiB0aGUgZmV3IHR5cGVzIHRoYXQgcmVndWxhcmx5IGtpbGxlZCBNZSAyNjIgamV0cy4iLGNvbmZsaWN0czpbe3lyOiIxOTQ0IixuOiJWLTEgY2FtcGFpZ24gKFVLKSIsbmF0aW9uOiJVbml0ZWQgS2luZ2RvbSIsazoiNjM4IFYtMXMiLGw6Im1pbmltYWwiLGQ6IlRvcCBzY29yZXIgYWdhaW5zdCB0aGUgZmx5aW5nIGJvbWJzIOKAlCBub3QgY291bnRlZCBhcyBraWxscy4ifSx7eXI6IjE5NDTigJM0NSIsbjoiTm9ydGgtV2VzdCBFdXJvcGUgKDJuZCBUQUYpIixuYXRpb246IlVLIC8gTmV3IFplYWxhbmQiLGs6IjIzOSIsbDoiMzEiLGQ6Ikh1bnRlZCBNZSAyNjJzIG92ZXIgdGhlaXIgb3duIGFpcmZpZWxkcyBhdCA4OjEuIn1dLGZhbW91czoiTWUgMjYyIHBpbG90IEh1YmVydCBMYW5nZSBjYWxsZWQgdGhlIFRlbXBlc3QgdGhlIE1lc3NlcnNjaG1pdHQncyBtb3N0IGRhbmdlcm91cyBvcHBvbmVudC4ifSwKe25hbWU6ImRlIEhhdmlsbGFuZCBNb3NxdWl0byIsZnVsbDoiZGUgSGF2aWxsYW5kIE1vc3F1aXRvIChmaWdodGVyIHZhcmlhbnRzKSIsb3JpZ2luOiJVbml0ZWQgS2luZ2RvbSIsZ2VuOiJXV0lJIixmaXJzdEZsaWdodDoxOTQwLHJvbGU6Ik5pZ2h0IGZpZ2h0ZXIgLyBmaWdodGVyLWJvbWJlciIsa2lsbHM6NjAwLGtyOiI1MDDigJM5MDAiLGxvc3NlczoxMDAsbHI6Ijcw4oCTMTUwIixncm91bmQ6bnVsbCxzdGF0dXM6InByb3ZlbiIscmV0aXJlZDp0cnVlLG5vdGU6IkFzIGEgbmlnaHQgZmlnaHRlciB0aGUgV29vZGVuIFdvbmRlciBkb21pbmF0ZWQgYm90aCBvdmVyIEJyaXRhaW4gYW5kIG92ZXIgR2VybWFueSwgd2hlcmUgMTAwIEdyb3VwIGludHJ1ZGVycyBjcmVhdGVkIGdlbnVpbmUgTW9za2l0b3BhbmlrIGFtb25nIEx1ZnR3YWZmZSBuaWdodC1maWdodGVyIGNyZXdzIOKAlCAyNTggY2xhaW1zIGZvciBhYm91dCA3MCBsb3NzZXMuIE5pZ2h0IGNsYWltcyBhcmUgdGhlIGxlYXN0IHZlcmlmaWFibGUgUkFGIGNhdGVnb3J5OyBubyBhaXItdG8tYWlyIGxvc3MgbGVkZ2VyIGV4aXN0cywgaXRzIHNwZWVkIHNpbXBseSBtYWRlIGludGVyY2VwdGlvbiByYXJlLiIsY29uZmxpY3RzOlt7eXI6IjE5NDLigJM0NSIsbjoiVUsgbmlnaHQgZGVmZW5jZSIsbmF0aW9uOiJVbml0ZWQgS2luZ2RvbSIsazoifjM1MCArIH42MDAgVi0xcyIsbDoibG93IixkOiJLaWxsZWQgdGhlIEx1ZnR3YWZmZSdzIG5pZ2h0IHJhaWRlcnMgb3ZlciBCcml0YWluLiJ9LHt5cjoiMTk0M+KAkzQ1IixuOiJCb21iZXIgc3VwcG9ydCBvdmVyIEdlcm1hbnkiLG5hdGlvbjoiVUsgKDEwMCBHcm91cCkiLGs6IjI1OCBjbGFpbXMiLGw6In43MCIsZDoiSHVudGVkIHRoZSBodW50ZXJzIG92ZXIgdGhlaXIgb3duIHJhZGlvIGJlYWNvbnMuIn0se3lyOiIxOTQz4oCTNDUiLG46IkJpc2NheSAvIE5vcndheSIsbmF0aW9uOiJVSyBDb2FzdGFsIENvbW1hbmQiLGs6In43NSIsbDoibG93IixkOiJUc2V0c2UgYW5kIEZCLlZJIHN0cmlrZSB3aW5ncyBhZ2FpbnN0IEp1IDg4cy4ifV0sZmFtb3VzOiJHw7ZyaW5nLCAxOTQzOiBJdCBtYWtlcyBtZSBmdXJpb3VzIHdoZW4gSSBzZWUgdGhlIE1vc3F1aXRvIOKAlCBJIHR1cm4gZ3JlZW4gYW5kIHllbGxvdyB3aXRoIGVudnkuIn0sCntuYW1lOiJQLTUxIE11c3RhbmciLGZ1bGw6Ik5vcnRoIEFtZXJpY2FuIFAtNTEgTXVzdGFuZyIsb3JpZ2luOiJVbml0ZWQgU3RhdGVzIixnZW46IldXSUkiLGZpcnN0RmxpZ2h0OjE5NDAscm9sZToiTG9uZy1yYW5nZSBlc2NvcnQgZmlnaHRlciIsa2lsbHM6NTk1NCxrcjoiNCw5NTDigJM1LDk1NCIsbG9zc2VzOjQ1MCxscjoiMzg04oCTNTUwIixncm91bmQ6bnVsbCxzdGF0dXM6InByb3ZlbiIscmV0aXJlZDp0cnVlLG5vdGU6IlRoZSBoaWdoZXN0LXNjb3JpbmcgVVNBQUYgZmlnaHRlciBvZiB0aGUgd2FyOiA1LDk1NCBvZmZpY2lhbCBjcmVkaXRzIGFjcm9zcyBhbGwgdGhlYXRyZXMgKDQsOTUwIG9mIHRoZW0gaW4gRXVyb3BlIGFuZCB0aGUgTWVkaXRlcnJhbmVhbiksIGFnYWluc3Qgcm91Z2hseSA0NTAgYWlyLWNvbWJhdCBsb3NzZXMg4oCUIG1vc3QgTXVzdGFuZ3MgbG9zdCBmZWxsIHRvIGZsYWsgd2hpbGUgc3RyYWZpbmcsIG5vdCBpbiBkb2dmaWdodHMuIFVTIGNyZWRpdHMgYXJlIGNsYWltcywgYnV0IGxhdGUtd2FyIEFtZXJpY2FuIGNsYWltaW5nIHdhcyBjb21wYXJhdGl2ZWx5IGFjY3VyYXRlLiIsY29uZmxpY3RzOlt7eXI6IjE5NDPigJM0NSIsbjoiRXVyb3BlYW4gVGhlYXRyZSIsbmF0aW9uOiJVU0EgKDh0aC85dGggQUYpIC8gUkFGIixrOiI0LDIzOSIsbDoifjM4NCIsZDoiRXNjb3J0ZWQgdGhlIGJvbWJlcnMgdG8gQmVybGluIGFuZCBicm9rZSB0aGUgTHVmdHdhZmZlIGluIHNwcmluZyAxOTQ0LiJ9LHt5cjoiMTk0NOKAkzQ1IixuOiJNZWRpdGVycmFuZWFuIixuYXRpb246IlVTQSAoMTV0aCBBRikiLGs6IjEsMDYzIixsOiJ+MTAwIixkOiJUaGUgUmVkIFRhaWxzIGFuZCB0aGUgMTV0aCBvdmVyIHRoZSBSZWljaCdzIHNvdXRoZXJuIGZsYW5rLiJ9LHt5cjoiMTk0NOKAkzQ1IixuOiJQYWNpZmljIC8gQ0JJIixuYXRpb246IlVTQSIsazoiNjQyIixsOiJsb3ciLGQ6IlZlcnktbG9uZy1yYW5nZSBlc2NvcnQgdG8gSmFwYW4gZnJvbSBJd28gSmltYS4ifV0sZmFtb3VzOiJHw7ZyaW5nLCBhdHRyaWJ1dGVkOiBXaGVuIEkgc2F3IE11c3RhbmdzIG92ZXIgQmVybGluLCBJIGtuZXcgdGhlIGppZyB3YXMgdXAuIn0sCntuYW1lOiJQLTQ3IFRodW5kZXJib2x0IixmdWxsOiJSZXB1YmxpYyBQLTQ3IFRodW5kZXJib2x0IixvcmlnaW46IlVuaXRlZCBTdGF0ZXMiLGdlbjoiV1dJSSIsZmlyc3RGbGlnaHQ6MTk0MSxyb2xlOiJFc2NvcnQgZmlnaHRlciAvIGZpZ2h0ZXItYm9tYmVyIixraWxsczozNjYxLGtyOiIyLDY4NuKAkzMsNzUyIixsb3NzZXM6NjAwLGxyOiIyMTTigJM4MjAiLGdyb3VuZDpudWxsLHN0YXR1czoicHJvdmVuIixyZXRpcmVkOnRydWUsbm90ZToiVGhlIDh0aCBBaXIgRm9yY2UncyBhaXItc3VwZXJpb3JpdHkgd2VhcG9uIGJlZm9yZSB0aGUgTXVzdGFuZzogYm90aCB0b3AgVVMgYWNlcyBpbiBFdXJvcGUg4oCUIEdhYnJlc2tpICgyOCkgYW5kIEpvaG5zb24gKDI3KSDigJQgc2NvcmVkIGV2ZXJ5dGhpbmcgb24gdGhlIEp1ZywgYW5kIFplbWtlJ3MgV29sZnBhY2sgc3RheWVkIG9uIGl0IGJ5IGNob2ljZS4gSXRzIDMsNDk5IGNvbWJhdCBsb3NzZXMgd2VyZSBvdmVyd2hlbG1pbmdseSB0byBmbGFrIG9uIDU0NiwwMDAgZ3JvdW5kLWF0dGFjayBzb3J0aWVzOyBvbmx5IH4yMTQgRVRPIGxvc3NlcyBhcmUgcG9zaXRpdmVseSBhdHRyaWJ1dGVkIHRvIGVuZW15IGFpcmNyYWZ0LiIsY29uZmxpY3RzOlt7eXI6IjE5NDPigJM0NSIsbjoiRXVyb3BlYW4gVGhlYXRyZSIsbmF0aW9uOiJVU0EgKDh0aC85dGggQUYpIixrOiIyLDY4NiIsbDoifjIxNOKAkzQ1MCIsZDoiV29sZnBhY2sgY291bnRyeSDigJQgdGhlIGVzY29ydCB0aGF0IGNvdWxkIG91dC1kaXZlIGFueXRoaW5nLiJ9LHt5cjoiMTk0M+KAkzQ1IixuOiJNZWRpdGVycmFuZWFuIixuYXRpb246IlVTQSAvIEJyYXppbCIsazoiMjYzIixsOiJsb3ciLGQ6Ikdyb3VuZCBhdHRhY2sgb3ZlciBJdGFseSBhbmQgc291dGhlcm4gRnJhbmNlLiJ9LHt5cjoiMTk0NOKAkzQ1IixuOiJQYWNpZmljIC8gQ0JJIixuYXRpb246IlVTQSIsazoifjcxMyIsbDoibG93IixkOiJMb25nLXJhbmdlIHN3ZWVwcyBmcm9tIFNhaXBhbiBhbmQgQnVybWEuIn1dLGZhbW91czoiQW1lcmljYSdzIHR3byB0b3AgYWNlcyBpbiBFdXJvcGUgcmVmdXNlZCB0byBmbHkgYW55dGhpbmcgZWxzZSDigJQgYW5kIGl0IGJyb3VnaHQgdGhlbSBob21lIGV2ZXJ5IHRpbWUuIn0sCntuYW1lOiJQLTM4IExpZ2h0bmluZyIsZnVsbDoiTG9ja2hlZWQgUC0zOCBMaWdodG5pbmciLG9yaWdpbjoiVW5pdGVkIFN0YXRlcyIsZ2VuOiJXV0lJIixmaXJzdEZsaWdodDoxOTM5LHJvbGU6IlR3aW4tZW5naW5lIGxvbmctcmFuZ2UgZmlnaHRlciIsa2lsbHM6Mzc4NSxrcjoiMyw2MDDigJMzLDgwMCIsbG9zc2VzOjQ1MCxscjoiMzAw4oCTNjAwIixncm91bmQ6bnVsbCxzdGF0dXM6InByb3ZlbiIscmV0aXJlZDp0cnVlLG5vdGU6IlRvcC1zY29yaW5nIFVTQUFGIGZpZ2h0ZXIgYWdhaW5zdCBKYXBhbiAofjEsODUwIGNyZWRpdHMpIGFuZCB0aGUgbW91bnQgb2YgQW1lcmljYSdzIHR3byB0b3AgYWNlcyBvZiB0aGUgd2FyLCBCb25nICg0MCkgYW5kIE1jR3VpcmUgKDM4KTsgaXQgYWxzbyBraWxsZWQgQWRtaXJhbCBZYW1hbW90byBpbiBBcHJpbCAxOTQzLiBJbiBFdXJvcGUgY29sZC13ZWF0aGVyIGVuZ2luZSBmYWlsdXJlcyBhbmQgY29tcHJlc3NpYmlsaXR5IGxpbWl0ZWQgaXQgdW50aWwgdGhlIE11c3RhbmdzIHRvb2sgb3Zlci4iLGNvbmZsaWN0czpbe3lyOiIxOTQy4oCTNDUiLG46IlBhY2lmaWMgLyBTVyBQYWNpZmljIixuYXRpb246IlVTQSAoNXRoLzEzdGggQUYpIixrOiIxLDcwMCIsbDoifjI1MCIsZDoiQm9uZyBhbmQgTWNHdWlyZSDigJQgQW1lcmljYSdzIHRvcCB0d28gYWNlcyBmbGV3IHRoZSBmb3JrLXRhaWxlZCBkZXZpbC4ifSx7eXI6IjE5NDLigJM0NSIsbjoiTWVkaXRlcnJhbmVhbiIsbmF0aW9uOiJVU0EgKDEydGgvMTV0aCBBRikiLGs6IjEsNDMxIixsOiJ+MjAwIixkOiJFc2NvcnQgYW5kIHN3ZWVwIGZyb20gVHVuaXNpYSB0byBQbG9lc3RpLiJ9LHt5cjoiMTk0M+KAkzQ1IixuOiJFdXJvcGVhbiBUaGVhdHJlIixuYXRpb246IlVTQSAoOHRoIEFGKSIsazoiNDk3IixsOiJ+MTAwIixkOiJGaXJzdCBmaWdodGVycyBvdmVyIEJlcmxpbi4ifV0sZmFtb3VzOiJMdWZ0d2FmZmUgcGlsb3RzIGNhbGxlZCBpdCBkZXIgR2FiZWxzY2h3YW56LVRldWZlbCDigJQgdGhlIGZvcmstdGFpbGVkIGRldmlsLiJ9LAp7bmFtZToiUC00MCBXYXJoYXdrIixmdWxsOiJDdXJ0aXNzIFAtNDAgV2FyaGF3ayAvIEtpdHR5aGF3ayIsb3JpZ2luOiJVbml0ZWQgU3RhdGVzIixnZW46IldXSUkiLGZpcnN0RmxpZ2h0OjE5Mzgscm9sZToiRmlnaHRlciAvIGZpZ2h0ZXItYm9tYmVyIixraWxsczozMDAwLGtyOiIyLDIyNuKAkzMsNzAwIixsb3NzZXM6MTAwMCxscjoiNzAw4oCTMSw1MDAiLGdyb3VuZDpudWxsLHN0YXR1czoicHJvdmVuIixyZXRpcmVkOnRydWUsbm90ZToiVGhlIEFsbGllcycgZXZlcnl3aGVyZS1maWdodGVyIG9mIHRoZSBkZXNwZXJhdGUgeWVhcnMg4oCUIFVTQUFGIGNyZWRpdHMgYWxvbmUgdG90YWwgMiwyMjUuNSwgd2l0aCBDb21tb253ZWFsdGgsIFNvdmlldCBhbmQgRmx5aW5nIFRpZ2VycyBjbGFpbXMgb24gdG9wLiBUaGUgQVZHJ3MgZmFtb3VzIDI5NyBjcmVkaXRzIHNocmluayB0byBhYm91dCAxMTUgdmVyaWZpZWQgYWdhaW5zdCBKYXBhbmVzZSByZWNvcmRzIOKAlCB0aGUgc2hhcnBlc3Qgb3ZlcmNsYWltIGV4YW1wbGUgaW4gdGhpcyBkYXRhYmFzZS4gTWVkaW9jcmUgdXAgaGlnaCwgcnVnZ2VkIGFuZCBsZXRoYWwgbG93IGRvd24uIixjb25mbGljdHM6W3t5cjoiMTk0MeKAkzQzIixuOiJOb3J0aCBBZnJpY2EiLG5hdGlvbjoiVUsgLyBDb21tb253ZWFsdGggKERBRikiLGs6In42MDDigJMxLDAwMCBjbGFpbXMiLGw6In40MDAiLGQ6IlRoZSBLaXR0eWhhd2sgY2FycmllZCB0aGUgRGVzZXJ0IEFpciBGb3JjZS4ifSx7eXI6IjE5NDHigJM0NSIsbjoiQ2hpbmEtQnVybWEtSW5kaWEiLG5hdGlvbjoiVVNBIC8gQVZHIixrOiI5NzMgKyAyOTcgQVZHIGNsYWltcyIsbDoibW9kZXJhdGUiLGQ6IlRoZSBzaGFya21vdXRoZWQgRmx5aW5nIFRpZ2VycyBsZWdlbmQuIn0se3lyOiIxOTQy4oCTNDQiLG46IlBhY2lmaWMgLyBFYXN0ZXJuIEZyb250IixuYXRpb246IlVTQSAvIE5aIC8gVVNTUiIsazoifjEsMTAwIGNsYWltcyIsbDoibW9kZXJhdGUiLGQ6IkhlbGQgUG9ydCBNb3Jlc2J5LCBEYXJ3aW4gYW5kIHRoZSBLdWJhbi4ifV0sZmFtb3VzOiJUaGUgc2hhcmttb3V0aCBvbiBhIFAtNDAgaXMgc3RpbGwgdGhlIG1vc3QgZmFtb3VzIHBhaW50IGpvYiBpbiBhdmlhdGlvbiBoaXN0b3J5LiJ9LAp7bmFtZToiUC0zOSBBaXJhY29icmEiLGZ1bGw6IkJlbGwgUC0zOSBBaXJhY29icmEiLG9yaWdpbjoiVW5pdGVkIFN0YXRlcyIsZ2VuOiJXV0lJIixmaXJzdEZsaWdodDoxOTM4LHJvbGU6Ikxvdy1hbHRpdHVkZSBmaWdodGVyIixraWxsczoyODAwLGtyOiIyLDUwMOKAkzQsMDAwIixsb3NzZXM6NzAwLGxyOiI1MDDigJMxLDEwMCIsZ3JvdW5kOm51bGwsc3RhdHVzOiJwcm92ZW4iLHJldGlyZWQ6dHJ1ZSxub3RlOiJSZWplY3RlZCBieSB0aGUgUkFGIGFuZCBvdXRjbGFzc2VkIGluIHRoZSBQYWNpZmljLCB0aGUgQWlyYWNvYnJhIHdhcyByZWJvcm4gb3ZlciB0aGUgS3ViYW4gaW4gMTk0MyBhcyBhIFNvdmlldCBhaXItdG8tYWlyIGZpZ2h0ZXIg4oCUIG5vdCB0aGUgdGFuay1idXN0ZXIgb2YgbGVnZW5kLiBObyBhZ2dyZWdhdGUgVlZTIGNyZWRpdCBsaXN0IHdhcyBldmVyIHB1Ymxpc2hlZDsgdGhlIHRvdGFsIGlzIGFuIGVzdGltYXRlIGJ1aWx0IGZyb20gdW5pdCByZWNvcmRzLCBhbmQgU292aWV0IGNsYWltcyBjYXJyaWVkIH4yeCBpbmZsYXRpb24uIEl0cyBkb2N1bWVudGVkIFNvdmlldCBjb21iYXQgd2FzdGFnZSB3YXMgMSwwMzAgYWlyY3JhZnQuIixjb25mbGljdHM6W3t5cjoiMTk0MuKAkzQzIixuOiJOZXcgR3VpbmVhIC8gR3VhZGFsY2FuYWwiLG5hdGlvbjoiVVNBIixrOiJ+MzIwIixsOiJ+MTAwIixkOiJIZWxkIHRoZSBsaW5lIGF0IFBvcnQgTW9yZXNieSB3aGVuIG5vdGhpbmcgZWxzZSB3YXMgdGhlcmUuIn0se3lyOiIxOTQz4oCTNDUiLG46IkVhc3Rlcm4gRnJvbnQiLG5hdGlvbjoiVVNTUiIsazoifjIsNTAwIGNsYWltcyIsbDoifjY1MCIsZDoiUG9rcnlzaGtpbidzIENvYnJhIHJ1bGVkIHRoZSBLdWJhbi4ifV0sZmFtb3VzOiJQb2tyeXNoa2luIHNjb3JlZCA0OCBvZiBoaXMgNTkgdmljdG9yaWVzIGluIHRoZSBBaXJhY29icmEg4oCUIHRoZSBoaWdoZXN0IHRhbGx5IGV2ZXIgYWNoaWV2ZWQgb24gYW4gQW1lcmljYW4tYnVpbHQgZmlnaHRlci4ifSwKe25hbWU6IkE2TSBaZXJvIixmdWxsOiJNaXRzdWJpc2hpIEE2TSBaZXJvIixvcmlnaW46IkphcGFuIixnZW46IldXSUkiLGZpcnN0RmxpZ2h0OjE5Mzkscm9sZToiQ2FycmllciBmaWdodGVyIixraWxsczoxNTUwLGtyOiIxLDIwMOKAkzIsNTAwIixsb3NzZXM6MzAwMCxscjoiMiwwMDDigJM0LDUwMCIsZ3JvdW5kOm51bGwsc3RhdHVzOiJwcm92ZW4iLHJldGlyZWQ6dHJ1ZSxub3RlOiJUaGUgd2FyJ3MgbW9zdCBleHRyZW1lIGJvb20tYW5kLWJ1c3QgcmVjb3JkOiBuZWFyLXRvdGFsIGRvbWluYW5jZSBmcm9tIDE5NDAgdG8gMTk0MiwgdGhlbiBzbGF1Z2h0ZXIgZnJvbSAxOTQzIGFzIEFsbGllZCB0YWN0aWNzLCBwaWxvdHMgYW5kIHRoZSBIZWxsY2F0IGNhdWdodCB1cCDigJQgaXQgZW5kZWQgYXMgdGhlIG1haW4ga2FtaWthemUgYWlyZnJhbWUuIEphcGFuZXNlIHJlY29yZHMgd2VyZSBsYXJnZWx5IGRlc3Ryb3llZCBpbiAxOTQ1LCBzbyBib3RoIGNvbHVtbnMgYXJlIHJlY29uc3RydWN0aW9ucyBmcm9tIEFsbGllZCBsb3NzIHJlY29yZHMgYW5kIGRlZmxhdGVkIGNsYWltcy4iLGNvbmZsaWN0czpbe3lyOiIxOTQw4oCTNDEiLG46IkNoaW5hIixuYXRpb246IkphcGFuIChJSk4pIixrOiJ+MTAwIGNsYWltcyIsbDoifjIiLGQ6IlRoaXJ0ZWVuIFplcm9zIG9uY2UgY2xhaW1lZCAyNyBDaGluZXNlIGZpZ2h0ZXJzIGZvciBubyBsb3NzLiJ9LHt5cjoiMTk0MeKAkzQyIixuOiJQYWNpZmljIixuYXRpb246IkphcGFuIChJSk4pIixrOiJ+MSwwMDAgY2xhaW1zIixsOiJsb3cgaHVuZHJlZHMiLGQ6IkEgY2xhaW1lZCAxMjoxIHJhdGlvIOKAlCB0aG91Z2ggTHVuZHN0cm9tIHNob3dzIH4xOjEgYWdhaW5zdCB0aGUgRjRGIGluIHRoZSBjYXJyaWVyIGJhdHRsZXMuIn0se3lyOiIxOTQz4oCTNDUiLG46IlBhY2lmaWMiLG5hdGlvbjoiSmFwYW4gKElKTikiLGs6ImxvdyBodW5kcmVkcyIsbDoidGhvdXNhbmRzIixkOiJUaGUgSGVsbGNhdCBhbG9uZSB3YXMgY3JlZGl0ZWQgMTM6MSBhZ2FpbnN0IGl0LiJ9XSxmYW1vdXM6Ik5ldmVyIGRvZ2ZpZ2h0IGEgWmVybyDigJQgdGhlIHN0YW5kaW5nIEFsbGllZCBvcmRlciBvZiAxOTQyLiJ9LAp7bmFtZToiS2ktNDMgSGF5YWJ1c2EiLGZ1bGw6Ik5ha2FqaW1hIEtpLTQzIEhheWFidXNhIChPc2NhcikiLG9yaWdpbjoiSmFwYW4iLGdlbjoiV1dJSSIsZmlyc3RGbGlnaHQ6MTkzOSxyb2xlOiJBcm15IGZpZ2h0ZXIiLGtpbGxzOjc1MCxrcjoiNTAw4oCTMSwwMDAiLGxvc3NlczoyMDAwLGxyOiIxLDUwMOKAkzIsNTAwIixncm91bmQ6bnVsbCxzdGF0dXM6InByb3ZlbiIscmV0aXJlZDp0cnVlLG5vdGU6IlRoZSBKYXBhbmVzZSBBcm15J3Mgd29ya2hvcnNlIGFuZCBpdHMgdG9wIGtpbGxlciBieSB0eXBlIOKAlCBtb3JlIEpBQUYgYWNlcyBzY29yZWQgb24gdGhlIEtpLTQzIHRoYW4gb24gYW55dGhpbmcgZWxzZSDigJQgYnV0IGZyYWdpbGUsIHVuZGVyLWd1bm5lZCBhbmQsIGZyb20gMTk0MywgYSB0YXJnZXQuIE5vIHR5cGUtbGV2ZWwgdG90YWxzIGV4aXN0IG9uIGVpdGhlciBzaWRlIG9mIGl0cyBsZWRnZXI7IGJvdGggY29sdW1ucyBhcmUgaGlzdG9yaWFuIGVzdGltYXRlcy4iLGNvbmZsaWN0czpbe3lyOiIxOTQx4oCTNDIiLG46Ik1hbGF5YSAvIEJ1cm1hIC8gRWFzdCBJbmRpZXMiLG5hdGlvbjoiSmFwYW4gKEpBQUYpIixrOiJoaWdoIGNsYWltcyIsbDoibG93IixkOiJNaXN0YWtlbiBmb3IgdGhlIFplcm8sIGl0IHJhbiB0aGUgdGFibGUgb3ZlciBNYWxheWEgYW5kIEJ1cm1hLiJ9LHt5cjoiMTk0M+KAkzQ1IixuOiJCdXJtYSAvIFBhY2lmaWMgLyBDaGluYSIsbmF0aW9uOiJKYXBhbiAoSkFBRikiLGs6Imh1bmRyZWRzIixsOiJ0aG91c2FuZHMiLGQ6IktlcHQgZmlnaHRpbmcgbG9uZyBhZnRlciBpdCB3YXMgb2Jzb2xldGU7IGVuZGVkIGFzIGEga2FtaWthemUuIn1dLGZhbW91czoiVGhlIGZpZ2h0ZXIgaW4gd2hpY2ggYWxtb3N0IGV2ZXJ5IEphcGFuZXNlIEFybXkgYWNlIHNjb3JlZCDigJQgYW5kIHRoZSBvbmUgbW9zdCBvZiB0aGVtIGRpZWQgaW4uIn0sCntuYW1lOiJLaS04NCBIYXlhdGUiLGZ1bGw6Ik5ha2FqaW1hIEtpLTg0IEhheWF0ZSAoRnJhbmspIixvcmlnaW46IkphcGFuIixnZW46IldXSUkiLGZpcnN0RmxpZ2h0OjE5NDMscm9sZToiQXJteSBmaWdodGVyIixraWxsczoyNTAsa3I6IjEwMOKAkzQwMCIsbG9zc2VzOjUwMCxscjoiMzAw4oCTODAwIixncm91bmQ6bnVsbCxzdGF0dXM6InByb3ZlbiIscmV0aXJlZDp0cnVlLG5vdGU6IldpZGVseSByYXRlZCB0aGUgYmVzdCBtYXNzLXByb2R1Y2VkIEphcGFuZXNlIGZpZ2h0ZXIgb2YgdGhlIHdhciDigJQgb24gcGFwZXIgYSBtYXRjaCBmb3IgYW55IEFsbGllZCBzaW5nbGUuIEluIHByYWN0aWNlIGNvbGxhcHNpbmcgZnVlbCBxdWFsaXR5LCBxdWFsaXR5IGNvbnRyb2wgYW5kIHBpbG90IHRyYWluaW5nIG1lYW50IGl0cyByZWNvcmQgbmV2ZXIgYXBwcm9hY2hlZCBpdHMgcG90ZW50aWFsOyBubyByZWxpYWJsZSB2aWN0b3J5IHRhbGx5IGV4aXN0cy4iLGNvbmZsaWN0czpbe3lyOiIxOTQ0IixuOiJDaGluYSIsbmF0aW9uOiJKYXBhbiAoSkFBRikiLGs6In5kb3plbnMiLGw6In5kb3plbnMiLGQ6IlRoZSAyMm5kIFNlbnRhaSBnYXZlIFAtNDdzIGFuZCBQLTUxcyB0aGVpciBmaXJzdCByZWFsIGZyaWdodC4ifSx7eXI6IjE5NDTigJM0NSIsbjoiUGhpbGlwcGluZXMgLyBPa2luYXdhIC8gSmFwYW4iLG5hdGlvbjoiSmFwYW4gKEpBQUYpIixrOiJ+MjAwIixsOiJ+NDAwIixkOiJTZXJ2aWNlYWJpbGl0eSwgbm90IGRvZ2ZpZ2h0cywga2lsbGVkIHRoZSBIYXlhdGUgZm9yY2UuIn1dLGZhbW91czoiSmFwYW4ncyBiZXN0IGZpZ2h0ZXIgb2YgdGhlIHdhciDigJQgZGVsaXZlcmVkIGEgeWVhciBhZnRlciB0aGUgd2FyIHdhcyBkZWNpZGVkLiJ9LAp7bmFtZToiTjFLIFNoaWRlbi1LYWkiLGZ1bGw6Ikthd2FuaXNoaSBOMUstSiBTaGlkZW4gLyBTaGlkZW4tS2FpIChHZW9yZ2UpIixvcmlnaW46IkphcGFuIixnZW46IldXSUkiLGZpcnN0RmxpZ2h0OjE5NDIscm9sZToiTGFuZC1iYXNlZCBuYXZhbCBmaWdodGVyIixraWxsczoxMDAsa3I6Ijcw4oCTMTUwIixsb3NzZXM6MTUwLGxyOiIxMDDigJMyNTAiLGdyb3VuZDpudWxsLHN0YXR1czoicHJvdmVuIixyZXRpcmVkOnRydWUsbm90ZToiVGhlIG9ubHkgbGF0ZS13YXIgSmFwYW5lc2UgZmlnaHRlciB0aGF0IGdhdmUgSGVsbGNhdCBhbmQgQ29yc2FpciBwaWxvdHMgYW4gZXZlbiBmaWdodCwgY29uY2VudHJhdGVkIGluIEdlbmRhJ3MgZWxpdGUgMzQzcmQgS29rdXRhaS4gSXRzIGxlZ2VuZCByZXN0cyBoZWF2aWx5IG9uIG92ZXJjbGFpbXM6IGluIHRoZSBmYW1vdXMgMTkgTWFyY2ggMTk0NSBiYXR0bGUgb3ZlciBLdXJlIHRoZSAzNDNyZCBjbGFpbWVkIDUyIGFnYWluc3QgYWN0dWFsIFVTIGxvc3NlcyBvZiBhYm91dCAyNSDigJQgYW5kIHRoZSBVUyBjbGFpbXMgdGhhdCBkYXkgcmFuIDIuNXggdG9vLiIsY29uZmxpY3RzOlt7eXI6IjE5NDTigJM0NSIsbjoiUGhpbGlwcGluZXMgLyBKYXBhbiIsbmF0aW9uOiJKYXBhbiAoSUpOKSIsazoifjQwIixsOiJ+NTAiLGQ6IlRoZSBTaGlkZW4ncyBhdXRvbWF0aWMgY29tYmF0IGZsYXBzIGltcHJlc3NlZCBldmVyeW9uZSB3aG8gbWV0IHRoZW0uIn0se3lyOiIxOTQ1IixuOiJIb21lIElzbGFuZHMiLG5hdGlvbjoiSmFwYW4gKDM0M3JkIEtva3V0YWkpIixrOiJ+NjAgKDE3MCBjbGFpbWVkKSIsbDoifjc0IixkOiJHZW5kYSdzIEJsYWRlIOKAlCB0aGUgbGFzdCB1bml0IHRoYXQgY291bGQgYmxvb2R5IGEgSGVsbGNhdCBzd2VlcC4ifV0sZmFtb3VzOiJHZW5kYSdzIEJsYWRlIOKAlCBKYXBhbidzIGxhc3QgZmlnaHRlciB0aGF0IG1hZGUgQW1lcmljYW4gcGlsb3RzIGNoZWNrIHRoZWlyIG1pcnJvcnMuIn0sCntuYW1lOiJGNEYgV2lsZGNhdCIsZnVsbDoiR3J1bW1hbiBGNEYgV2lsZGNhdCIsb3JpZ2luOiJVbml0ZWQgU3RhdGVzIixnZW46IldXSUkiLGZpcnN0RmxpZ2h0OjE5Mzcscm9sZToiQ2FycmllciBmaWdodGVyIixraWxsczoxMzI3LGtyOiI2MDDigJMxLDMyNyIsbG9zc2VzOjE3OCxncm91bmQ6bnVsbCxzdGF0dXM6InByb3ZlbiIscmV0aXJlZDp0cnVlLG5vdGU6IlRoZSBjcmVkaXRlZCA2Ljk6MSByYXRpbyBpcyBpbmZsYXRlZDsgTHVuZHN0cm9tJ3MgYWN0aW9uLWJ5LWFjdGlvbiByZWNvbnN0cnVjdGlvbiBzaG93cyB0aGUgMTk0MiBXaWxkY2F0LXZlcnN1cy1aZXJvIGNvbnRlc3Qgd2FzIGVzc2VudGlhbGx5IGV2ZW4uIFRoYXQgaXMgdGhlIGhvbmVzdCBzdG9yeSDigJQgYSBzbG93ZXIsIG91dGNsYXNzZWQgZmlnaHRlciB0aGF0IGZvdWdodCB0aGUgd29ybGQncyBiZXN0IHRvIGEgZHJhdyB3aXRoIGFybW9yLCB0ZWFtd29yayBhbmQgdGhlIFRoYWNoIFdlYXZlLiBUaGUgMTc4IGFpci1jb21iYXQgbG9zc2VzIGFyZSBmaXJtIFVTIE5hdnkgcmVjb3Jkcy4iLGNvbmZsaWN0czpbe3lyOiIxOTQyIixuOiJDb3JhbCBTZWEgLyBNaWR3YXkgLyBHdWFkYWxjYW5hbCIsbmF0aW9uOiJVU0EgKFVTTi9VU01DKSIsazoifjMwMCIsbDoifjEwMCIsZDoiVGhlIGNhcnJpZXIgZHVlbHMgcmFuIHJvdWdobHkgMToxIGFnYWluc3QgdGhlIFplcm8g4oCUIHBlciBMdW5kc3Ryb20uIn0se3lyOiIxOTQw4oCTNDUiLG46IkF0bGFudGljIC8gTWVkaXRlcnJhbmVhbiIsbmF0aW9uOiJVSyAoRkFBIE1hcnRsZXQpIixrOiJ+NTAiLGw6ImxvdyIsZDoiRmlyc3QgVVMtYnVpbHQgZmlnaHRlciB0byBkb3duIGEgR2VybWFuIGFpcmNyYWZ0IGluIEJyaXRpc2ggc2VydmljZS4ifSx7eXI6IjE5NDPigJM0NSIsbjoiRXNjb3J0IGNhcnJpZXJzLCBQYWNpZmljIixuYXRpb246IlVTQSAoRk0tMikiLGs6IjQyMiIsbDoibG93IGRvemVucyIsZDoiVGhlIFdpbGRlciBXaWxkY2F0IGtlcHQgc2NvcmluZyBvZmYgamVlcCBjYXJyaWVycyB0byBWSi1EYXkuIn1dLGZhbW91czoiT3V0Y2xhc3NlZCBvbiBwYXBlciwgZXZlbiBpbiB0aGUgYWlyIOKAlCB0aGUgZmlnaHRlciB0aGF0IGhlbGQgdGhlIGxpbmUgaW4gMTk0Mi4ifSwKe25hbWU6IkY2RiBIZWxsY2F0IixmdWxsOiJHcnVtbWFuIEY2RiBIZWxsY2F0IixvcmlnaW46IlVuaXRlZCBTdGF0ZXMiLGdlbjoiV1dJSSIsZmlyc3RGbGlnaHQ6MTk0Mixyb2xlOiJDYXJyaWVyIGZpZ2h0ZXIiLGtpbGxzOjUxNjMsa3I6IjIsNTAw4oCTNSwxNjMiLGxvc3NlczoyNzAsZ3JvdW5kOm51bGwsc3RhdHVzOiJwcm92ZW4iLHJldGlyZWQ6dHJ1ZSxub3RlOiI1LDE2MyBjcmVkaXRlZCB2aWN0b3JpZXMg4oCUIDU2JSBvZiBhbGwgVVMgTmF2eS9NYXJpbmUgYWlyLXRvLWFpciBjcmVkaXRzIG9mIHRoZSB3YXIg4oCUIGFnYWluc3QgMjcwIHJlY29yZGVkIGFpci1jb21iYXQgbG9zc2VzOiB0aGUgZmFtb3VzIDE5OjEuIFdoZXJlIEphcGFuZXNlIHJlY29yZHMgYWxsb3cgY3Jvc3MtY2hlY2tpbmcsIFVTIGNsYWltcyByYW4gYWJvdXQgMngsIHB1dHRpbmcgdGhlIHJlYWwgcmF0aW8gbmVhcmVyIDjigJMxMDoxIOKAlCBzdGlsbCB0aGUgbW9zdCBsb3BzaWRlZCByZWNvcmQgb2YgYW55IFdXSUkgZmlnaHRlciBmbG93biBpbiBudW1iZXJzLiBUaGUgbG9zcyBmaWd1cmUgaXMgZmlybTsgdGhlIGtpbGwgZmlndXJlIGlzIGNyZWRpdHMuIixjb25mbGljdHM6W3t5cjoiMTk0M+KAkzQ1IixuOiJQYWNpZmljIixuYXRpb246IlVTQSAoVVNOL1VTTUMpIixrOiI1LDE2MyBjcmVkaXRlZCIsbDoiMjcwIixkOiJNYWRlIDMwNSBhY2VzIOKAlCBtb3JlIHRoYW4gYW55IG90aGVyIEFsbGllZCBhaXJjcmFmdC4ifSx7eXI6IjE5NDQiLG46Ik1hcmlhbmFzIixuYXRpb246IlVTQSAoVVNOKSIsazoifjM3MCBpbiBkYXlzIixsOiJ+MzAiLGQ6IlRoZSBHcmVhdCBNYXJpYW5hcyBUdXJrZXkgU2hvb3QuIn0se3lyOiIxOTQ04oCTNDUiLG46IkV1cm9wZSAvIFBhY2lmaWMiLG5hdGlvbjoiVUsgKEZBQSkiLGs6IjUyIixsOiJsb3ciLGQ6IkV2ZW4gZG93bmVkIEJmIDEwOXMgb3ZlciBOb3J3YXkuIn1dLGZhbW91czoiVGhlIEFjZSBNYWtlciDigJQgYnVpbHQgc3BlY2lmaWNhbGx5IHRvIGtpbGwgdGhlIFplcm8sIGFuZCBpdCBkaWQsIDEzOjEgYXMgY3JlZGl0ZWQuIn0sCntuYW1lOiJGNFUgQ29yc2FpciIsZnVsbDoiVm91Z2h0IEY0VSBDb3JzYWlyIixvcmlnaW46IlVuaXRlZCBTdGF0ZXMiLGdlbjoiV1dJSSIsZmlyc3RGbGlnaHQ6MTk0MCxyb2xlOiJDYXJyaWVyIGZpZ2h0ZXItYm9tYmVyIixraWxsczoyMTQwLGtyOiIxLDEwMOKAkzIsMTQwIixsb3NzZXM6MTg5LGdyb3VuZDpudWxsLHN0YXR1czoicHJvdmVuIixyZXRpcmVkOnRydWUsbm90ZToiMiwxNDAgY3JlZGl0ZWQgdmljdG9yaWVzIGZvciAxODkgcmVjb3JkZWQgYWlyLWNvbWJhdCBsb3NzZXMg4oCUIDExOjEgYXMgY3JlZGl0ZWQsIGxpa2VseSA14oCTNzoxIGFmdGVyIG92ZXJjbGFpbSBkZWZsYXRpb24sIHN0aWxsIGVtcGhhdGljYWxseSBvbmUtc2lkZWQuIEluIEtvcmVhIGl0IGFkZGVkIGEgaGFuZGZ1bCBtb3JlLCBpbmNsdWRpbmcgQm9yZGVsb24ncyBmaXZlIG5pZ2h0IGtpbGxzIGFuZCBGb2xtYXIncyBwaXN0b24tdmVyc3VzLWpldCBNaUctMTUuIFRoZSBsb3NzIGZpZ3VyZSBpcyBmaXJtIFVTIE5hdnkgYWNjb3VudGluZy4iLGNvbmZsaWN0czpbe3lyOiIxOTQz4oCTNDUiLG46IlNvbG9tb25zIC8gUmFiYXVsIC8gT2tpbmF3YSIsbmF0aW9uOiJVU0EgKFVTTUMvVVNOKSIsazoiMiwxNDAgY3JlZGl0ZWQiLGw6IjE4OSIsZDoiQm95aW5ndG9uJ3MgQmxhY2sgU2hlZXAgbWFkZSBpdCBmYW1vdXMgb3ZlciBSYWJhdWwuIn0se3lyOiIxOTUw4oCTNTMiLG46IktvcmVhbiBXYXIiLG5hdGlvbjoiVVNBIChVU04vVVNNQykiLGs6In4xMCIsbDoiZmV3IixkOiJCb3JkZWxvbiDigJQgdGhlIE5hdnkncyBvbmx5IEtvcmVhIGFjZSwgaW4gYSBwaXN0b24gQ29yc2Fpci4ifV0sZmFtb3VzOiJXaGlzdGxpbmcgRGVhdGgg4oCUIHRoZSBKYXBhbmVzZSBoZWFyZCBpdCBiZWZvcmUgdGhleSBzYXcgaXQuIn0sCntuYW1lOiJZYWtvdmxldiBZYWstMyIsZnVsbDoiWWFrb3ZsZXYgWWFrLTMiLG9yaWdpbjoiVVNTUiIsZ2VuOiJXV0lJIixmaXJzdEZsaWdodDoxOTQzLHJvbGU6IkxpZ2h0IGRvZ2ZpZ2h0ZXIiLGtpbGxzOjYwMCxrcjoiMzAw4oCTMSwyMDAiLGxvc3NlczoyMDAsbHI6IjEwMOKAkzQwMCIsZ3JvdW5kOm51bGwsc3RhdHVzOiJwcm92ZW4iLHJldGlyZWQ6dHJ1ZSxub3RlOiJCZWxvdyA1LDAwMCBtZXRyZXMgYXJndWFibHkgdGhlIGJlc3QgcHVyZSBkb2dmaWdodGVyIG9mIHRoZSB3YXIg4oCUIEx1ZnR3YWZmZSBpbnN0cnVjdGlvbnMgcmVwb3J0ZWRseSB3YXJuZWQgcGlsb3RzIHRvIGF2b2lkIGl0IGxvdyBkb3duLiBJdCBhcnJpdmVkIGxhdGUgYWdhaW5zdCBhIGR5aW5nIEx1ZnR3YWZmZSwgYW5kIHRoZSBWVlMgbmV2ZXIgcHVibGlzaGVkIHBlci10eXBlIHZpY3RvcnkgdG90YWxzLCBzbyB0aGUgY2FyZWVyIGZpZ3VyZSBpcyBhbiBlc3RpbWF0ZSBmcm9tIHVuaXQgcmVjb3Jkcy4iLGNvbmZsaWN0czpbe3lyOiIxOTQ04oCTNDUiLG46IkVhc3Rlcm4gRnJvbnQiLG5hdGlvbjoiVVNTUiIsazoifjUwMCBjbGFpbXMiLGw6In4xNTAiLGQ6IjIzIGNsYWltZWQgZm9yIDIgbG9zdCBpbiBpdHMgY29tYmF0LXRyaWFsIG1vbnRoIG92ZXIgdGhlIFZpc3R1bGEuIn0se3lyOiIxOTQ04oCTNDUiLG46IkVhc3Rlcm4gRnJvbnQiLG5hdGlvbjoiRnJhbmNlIChOb3JtYW5kaWUtTmnDqW1lbikiLGs6Ijk5IixsOiJmZXciLGQ6IlN0YWxpbiBsZXQgdGhlIEZyZW5jaCBrZWVwIHRoZWlyIFlhay0zcyDigJQgdGhleSBmbGV3IHRoZW0gaG9tZSB0byBQYXJpcy4ifV0sZmFtb3VzOiJUaGUgZmlnaHRlciB0aGUgTHVmdHdhZmZlIHdhcyBvcmRlcmVkIG5vdCB0byBkb2dmaWdodCBiZWxvdyA1LDAwMCBtZXRyZXMuIn0sCntuYW1lOiJZYWtvdmxldiBZYWstOSIsZnVsbDoiWWFrb3ZsZXYgWWFrLTkgKFlhay0xLzcvOSBmYW1pbHkpIixvcmlnaW46IlVTU1IiLGdlbjoiV1dJSSIsZmlyc3RGbGlnaHQ6MTk0Mixyb2xlOiJGcm9udGxpbmUgZmlnaHRlciIsa2lsbHM6MzAwMCxrcjoiMiwwMDDigJM1LDAwMCIsbG9zc2VzOjE1MDAsbHI6IjEsMDAw4oCTMiw1MDAiLGdyb3VuZDpudWxsLHN0YXR1czoicHJvdmVuIixyZXRpcmVkOnRydWUsbm90ZToiVGhlIG1vc3QtcHJvZHVjZWQgU292aWV0IGZpZ2h0ZXIgKDE2LDc2OSBZYWstOXM7IG92ZXIgMzYsMDAwIFlha3MgaW4gYWxsKSBhbmQgdGhlIFZWUyB3b3JraG9yc2UgZnJvbSBTdGFsaW5ncmFkIHRvIEJlcmxpbi4gU292aWV0IHN0YXRpc3RpY3Mgd2VyZSBrZXB0IGJ5IHJlZ2ltZW50IGFuZCBjYW1wYWlnbiwgbm90IGFpcmZyYW1lIHR5cGUsIHNvIGJvdGggY29sdW1ucyBhcmUgcmVjb25zdHJ1Y3Rpb25zIOKAlCB0aGUgaG9uZXN0IGxhYmVsIGlzIHVua25vd24sIHZlcnkgbGFyZ2UuIixjb25mbGljdHM6W3t5cjoiMTk0MuKAkzQ1IixuOiJFYXN0ZXJuIEZyb250IixuYXRpb246IlVTU1IiLGs6InRob3VzYW5kcyBjbGFpbWVkIixsOiJ+MSw1MDAiLGQ6IkZyb20gU3RhbGluZ3JhZCdzIHJ1YmJsZSB0byB0aGUgQmVybGluIGZsYWsgdG93ZXJzLiJ9LHt5cjoiMTk0MyIsbjoiS3ViYW4gLyBLdXJzayIsbmF0aW9uOiJVU1NSIixrOiJoaWdoIixsOiJoaWdoIixkOiJXaGVyZSB0aGUgVlZTIGZpbmFsbHkgdG9vayBhaXIgc3VwZXJpb3JpdHkgYmFjay4ifSx7eXI6IjE5NTAiLG46IktvcmVhIixuYXRpb246Ik5vcnRoIEtvcmVhIixrOiJmZXciLGw6In5kb3plbnMiLGQ6IlNob3QgZG93biBieSBNdXN0YW5ncyBhbmQgU2hvb3RpbmcgU3RhcnMgaW4gd2Vla3MuIn1dLGZhbW91czoiTm90IHRoZSBiZXN0IGZpZ2h0ZXIgb2YgdGhlIEVhc3Rlcm4gRnJvbnQg4oCUIGp1c3QgdGhlIG9uZSB0aGF0IHdhcyBhbHdheXMgdGhlcmUsIGluIHRlbnMgb2YgdGhvdXNhbmRzLiJ9LAp7bmFtZToiTGF2b2Noa2luIExhLTUvNyIsZnVsbDoiTGF2b2Noa2luIExhLTUgLyBMYS03IixvcmlnaW46IlVTU1IiLGdlbjoiV1dJSSIsZmlyc3RGbGlnaHQ6MTk0Mixyb2xlOiJGcm9udGxpbmUgZmlnaHRlciIsa2lsbHM6NDAwMCxrcjoiMiw1MDDigJM2LDAwMCIsbG9zc2VzOjE1MDAsbHI6IjEsMjAw4oCTMiwwMDAiLGdyb3VuZDpudWxsLHN0YXR1czoicHJvdmVuIixyZXRpcmVkOnRydWUsbm90ZToiVGhlIFNvdmlldCBmaWdodGVyIEdlcm1hbiBhY2VzIHJlc3BlY3RlZCBtb3N0IGF0IGxvdyBhbHRpdHVkZS4gVW5pcXVlbHkgYW1vbmcgU292aWV0IHR5cGVzLCBkZWNlbnQgbG9zcyByZWNvcmRzIHN1cnZpdmUg4oCUIHRoZSBMYS03J3MgMTE1IGFpci1jb21iYXQgbG9zc2VzIGlzIHRoZSBjbGVhbmVzdCBTb3ZpZXQgdHlwZS1sZXZlbCBmaWd1cmUgb2YgdGhlIHdhciDigJQgd2hpbGUgdmljdG9yeSB0b3RhbHMgcmVtYWluIGNsYWltcyB3aXRoIHRoZSB1c3VhbCAy4oCTNHggaW5mbGF0aW9uLiIsY29uZmxpY3RzOlt7eXI6IjE5NDLigJM0NSIsbjoiRWFzdGVybiBGcm9udCAoTGEtNSkiLG5hdGlvbjoiVVNTUiIsazoifjMsMDAwIGNsYWltcyIsbDoiMiw1OTEgY29tYmF0IixkOiJCb3JuIGF0IFN0YWxpbmdyYWQsIHZpbmRpY2F0ZWQgYXQgS3Vyc2suIn0se3lyOiIxOTQ04oCTNDUiLG46IkVhc3Rlcm4gRnJvbnQgKExhLTcpIixuYXRpb246IlVTU1IiLGs6In4xLDAwMCBjbGFpbXMiLGw6IjExNSBpbiBhaXIgY29tYmF0IixkOiJLb3poZWR1YidzIExhLTcgZXZlbiBkb3duZWQgYW4gTWUgMjYyIGpldC4ifSx7eXI6IjE5NDUiLG46IkVhc3Rlcm4gRnJvbnQiLG5hdGlvbjoiQ3plY2hvc2xvdmFraWEiLGs6ImZldyIsbDoiZmV3IixkOiJDemVjaCBMYS01Rk5zIGZpbmlzaGVkIHRoZSB3YXIgb3ZlciB0aGVpciBvd24gY291bnRyeS4ifV0sZmFtb3VzOiJLb3poZWR1YidzIG1vdW50IOKAlCA2MiBraWxscywgZXZlcnkgb25lIGluIGEgTGF2b2Noa2luLCB0aGUgaGlnaGVzdCBBbGxpZWQgc2NvcmUgb2YgdGhlIHdhci4ifSwKe25hbWU6Ik1pRy0zIixmdWxsOiJNaWtveWFuLUd1cmV2aWNoIE1pRy0zIixvcmlnaW46IlVTU1IiLGdlbjoiV1dJSSIsZmlyc3RGbGlnaHQ6MTk0MCxyb2xlOiJIaWdoLWFsdGl0dWRlIGludGVyY2VwdG9yIixraWxsczo2MDAsa3I6IjMwMOKAkzEsMDAwIixsb3NzZXM6MTQzMixscjoiMSwyMDDigJMxLDcwMCIsZ3JvdW5kOm51bGwsc3RhdHVzOiJwcm92ZW4iLHJldGlyZWQ6dHJ1ZSxub3RlOiJPcHRpbWl6ZWQgZm9yIGEgaGlnaC1hbHRpdHVkZSB3YXIgdGhhdCBuZXZlciBjYW1lOiBvdmVyIHRoZSBFYXN0ZXJuIEZyb250IHRoZSBmaWdodGluZyB3YXMgYmVsb3cgNCwwMDAgbWV0cmVzLCB3aGVyZSB0aGUgTWlHLTMgd2FzIHNsdWdnaXNoIOKAlCBhbmQgaGFsZiBpdHMgcGlsb3RzIHdlcmUgdW50cmFpbmVkIG9uIHR5cGUgaW4gSnVuZSAxOTQxLiBJdHMgMSw0MzIgYWlyY3JhZnQgc2hvdCBkb3duIGlzIGFyY2hpdmFsIFNvdmlldCBhY2NvdW50aW5nLCB0aGUgd29yc3QgbG9zcyByZWNvcmQgb2YgYW55IFZWUyBmaWdodGVyLiIsY29uZmxpY3RzOlt7eXI6IjE5NDHigJM0MiIsbjoiRWFzdGVybiBGcm9udCIsbmF0aW9uOiJVU1NSIixrOiJ+NDAwIGNsYWltcyIsbDoifjEsMjAwIixkOiJNYXNzYWNyZWQgaW4gdGhlIGxvdy1hbHRpdHVkZSB3YXIgaXQgd2FzIG5ldmVyIGRlc2lnbmVkIGZvci4ifSx7eXI6IjE5NDHigJM0MyIsbjoiTW9zY293IGFpciBkZWZlbmNlIChQVk8pIixuYXRpb246IlVTU1IiLGs6In4xNTAiLGw6In4yMDAiLGQ6Ikl0cyB0cnVlIG5pY2hlOiBjaGFzaW5nIGhpZ2gtZmx5aW5nIHJlY29ubmFpc3NhbmNlIGFpcmNyYWZ0IG92ZXIgTW9zY293LiJ9XSxmYW1vdXM6IkEgaGlnaC1hbHRpdHVkZSB0aG9yb3VnaGJyZWQgc2VudCBpbnRvIGEgbG93LWFsdGl0dWRlIGtuaWZlIGZpZ2h0IOKAlCBQb2tyeXNoa2luIG9wZW5lZCBoaXMgYWNjb3VudCBpbiBvbmUuIn0sCntuYW1lOiJGLTg2IFNhYnJlIixmdWxsOiJOb3J0aCBBbWVyaWNhbiBGLTg2IFNhYnJlIixvcmlnaW46IlVuaXRlZCBTdGF0ZXMiLGdlbjoiMXN0IixmaXJzdEZsaWdodDoxOTQ3LHJvbGU6IkRheSBmaWdodGVyIixraWxsczo4NzAsa3I6IjI1MOKAkzkwMCIsbG9zc2VzOjEwMCxscjoiNzjigJMyNTAiLGdyb3VuZDpudWxsLHN0YXR1czoicHJvdmVuIixyZXRpcmVkOnRydWUsbm90ZToiVGhlIGRlZmluaXRpdmUgTWlHIEFsbGV5IGZpZ2h0ZXIuIFRoZSBVU0FGIGNyZWRpdGVkIDc5MiBNaUcga2lsbHMgZm9yIDc4IFNhYnJlcyBsb3N0IOKAlCB0aGUgZmFtb3VzIDEwOjEg4oCUIGJ1dCBhcmNoaXZhbCByZWNvbnN0cnVjdGlvbnMgKFJBTkQsIERvcnIpIHB1dCBhY3R1YWwgTWlHLTE1IGtpbGxzIG5lYXIgMjAwIGFuZCBTYWJyZSBhaXItY29tYmF0IGxvc3NlcyBhdCAxMDDigJMyMzAsIGFuIGhvbmVzdCBleGNoYW5nZSBvZiByb3VnaGx5IDEuM+KAkzEuODoxIGFnYWluc3QgU292aWV0LWZsb3duIE1pR3MuIFBha2lzdGFuaSBhbmQgVGFpd2FuZXNlIFNhYnJlcyBhZGRlZCBraWxscyBsYXRlciDigJQgaW5jbHVkaW5nIGhpc3RvcnkncyBmaXJzdCBhaXItdG8tYWlyIG1pc3NpbGUgdmljdG9yaWVzLiIsY29uZmxpY3RzOlt7eXI6IjE5NTDigJM1MyIsbjoiS29yZWFuIFdhciIsbmF0aW9uOiJVU0EiLGs6Ijc5MiBjcmVkaXRlZCAvIH4yMDAgdmVyaWZpZWQiLGw6Ijc4IG9mZmljaWFsIC8gfjEwMOKAkzIzMCIsZDoiTWlHIEFsbGV5IOKAlCB0aGUgamV0IGFnZSdzIGZpcnN0IGdyZWF0IGZpZ2h0ZXIgZHVlbC4ifSx7eXI6IjE5NTgiLG46IlRhaXdhbiBTdHJhaXQgQ3Jpc2lzIixuYXRpb246IlRhaXdhbiIsazoifjMxIGNsYWltZWQiLGw6IjIiLGQ6IlJPQ0FGIFNhYnJlcyBmaXJlZCB0aGUgZmlyc3QgQUlNLTkgU2lkZXdpbmRlcnMgaW4gaGlzdG9yeSDigJQgZm91ciBNaUctMTdzIGZlbGwgdG8gdGhlbSBpbiBvbmUgZGF5LiJ9LHt5cjoiMTk2NS8xOTcxIixuOiJJbmRvLVBha2lzdGFuaSBXYXJzIixuYXRpb246IlBha2lzdGFuIixrOiJ+NDYgY2xhaW1lZCIsbDoifjcrIixkOiJNLk0uIEFsYW0gY2xhaW1lZCBmaXZlIEh1bnRlcnMgaW4gdW5kZXIgYSBtaW51dGUg4oCUIGEgZmlndXJlIGV2ZW4gUEFGIGhpc3RvcmlhbnMgZGlzcHV0ZS4ifV0sZmFtb3VzOiJUaGUgamV0IHRoYXQgb3duZWQgTWlHIEFsbGV5IOKAlCBldmVuIHRoZSBob25lc3QgbWF0aCBzYXlzIGl0IHdvbi4ifSwKe25hbWU6Ik1pRy0xOSBGYXJtZXIiLGZ1bGw6Ik1pa295YW4tR3VyZXZpY2ggTWlHLTE5IC8gU2hlbnlhbmcgSi02IixvcmlnaW46IlVTU1IiLGdlbjoiMm5kIixmaXJzdEZsaWdodDoxOTU0LHJvbGU6IkZpcnN0IHN1cGVyc29uaWMgZmlnaHRlciIsa2lsbHM6MjAsa3I6IjEw4oCTMzUiLGxvc3NlczoxNSxscjoiMTDigJMzMCIsZ3JvdW5kOm51bGwsc3RhdHVzOiJwcm92ZW4iLHJldGlyZWQ6dHJ1ZSxub3RlOiJUaGUgd29ybGQncyBmaXJzdCBzdXBlcnNvbmljIGZpZ2h0ZXIgaW4gc2VydmljZSwgYW5kIGEgYnJ1dGFsIGtuaWZlLWZpZ2h0ZXIgdGhhbmtzIHRvIHRocmVlIDMwIG1tIGNhbm5vbiDigJQgVmlldG5hbWVzZSBKLTZzIHNjb3JlZCBhZ2FpbnN0IFBoYW50b21zIGFzIGxhdGUgYXMgMTk3Mi4gSXRzIGNhcmVlciBsZWRnZXIgaXMgcm91Z2hseSBldmVuLCB1bnVzdWFsIGZvciBhIFNvdmlldCB0eXBlIG9mIGl0cyBlcmEuIERyb25lIGtpbGxzIGJ5IENoaW5lc2UgSi02cyBhcmUgZXhjbHVkZWQuIixjb25mbGljdHM6W3t5cjoiMTk2MOKAkzY0IixuOiJDb2xkIFdhciBpbnRlcmNlcHRzIixuYXRpb246IlVTU1IgKFBWTykiLGs6MixsOjAsZDoiU2hvdCBkb3duIGEgVVNBRiBSQi00NyBvdmVyIHRoZSBCYXJlbnRzIFNlYSBpbiAxOTYwLiJ9LHt5cjoiMTk2OeKAkzcyIixuOiJWaWV0bmFtIFdhciIsbmF0aW9uOiJOb3J0aCBWaWV0bmFtICg5MjV0aCBGUikiLGs6IjcgY2xhaW1lZCIsbDoifjEwIixkOiJHdW4tZmlnaHRlciBhbWJ1c2hlcyBhZ2FpbnN0IFBoYW50b21zOyBVUyByZWNvcmRzIGNvbmZpcm0gZmV3ZXIuIn0se3lyOiIxOTcxIixuOiJJbmRvLVBha2lzdGFuaSBXYXIiLG5hdGlvbjoiUGFraXN0YW4gKEYtNikiLGs6In44IGNsYWltZWQiLGw6MSxkOiI2NTAgZGVmZW5jZSBzb3J0aWVzLCBraWxscyBhZ2FpbnN0IFN1LTdzIGFuZCBIdW50ZXJzLiJ9XSxmYW1vdXM6IlRoZSBmaXJzdCBzdXBlcnNvbmljIGZpZ2h0ZXIg4oCUIGEgZmx5aW5nIGNhbm5vbiBiYXR0ZXJ5IHRoYXQgbmV2ZXIgbGVhcm5lZCB0byBsb3NlIHBvbGl0ZWx5LiJ9LAp7bmFtZToiR2xvc3RlciBNZXRlb3IiLGZ1bGw6Ikdsb3N0ZXIgTWV0ZW9yIixvcmlnaW46IlVuaXRlZCBLaW5nZG9tIixnZW46IjFzdCIsZmlyc3RGbGlnaHQ6MTk0Myxyb2xlOiJGaXJzdCBBbGxpZWQgamV0IGZpZ2h0ZXIiLGtpbGxzOjYsa3I6IjXigJM5Iixsb3NzZXM6NSxscjoiNOKAkzEwIixncm91bmQ6bnVsbCxzdGF0dXM6InByb3ZlbiIscmV0aXJlZDp0cnVlLG5vdGU6IlRoZSBBbGxpZXMnIG9ubHkgb3BlcmF0aW9uYWwgamV0IG9mIFdXSUkg4oCUIGl0cyAxNCBWLTEgZmx5aW5nLWJvbWIga2lsbHMgYXJlIGV4Y2x1ZGVkIGFzIHVubWFubmVkLiBPdXRjbGFzc2VkIGJ5IHRoZSBNaUctMTUgb3ZlciBLb3JlYSBhbmQgbW92ZWQgdG8gZ3JvdW5kIGF0dGFjayBhZnRlciB0aGUgU3VuY2hvbiBhbWJ1c2gsIGl0IHdhcyByZWRlZW1lZCBpbiBJc3JhZWxpIGhhbmRzIHdpdGggdGhlIE1pZGRsZSBFYXN0J3MgZmlyc3QgamV0LXZlcnN1cy1qZXQga2lsbHMuIixjb25mbGljdHM6W3t5cjoiMTk1MeKAkzUzIixuOiJLb3JlYW4gV2FyIixuYXRpb246IkF1c3RyYWxpYSAoNzcgU3FuKSIsazoiM+KAkzYiLGw6In41IixkOiJUaGUgU3VuY2hvbiBhbWJ1c2ggYnkgTWlHLTE1cyBlbmRlZCBpdHMgZGF5LWZpZ2h0ZXIgY2FyZWVyOyBIYWxlJ3MgTWFyY2ggMTk1MyBNaUcgd2FzIHRoZSBSQUFGJ3MgbGFzdCBhaXItdG8tYWlyIGtpbGwgZXZlci4ifSx7eXI6IjE5NTXigJM1NiIsbjoiU2luYWkgLyBTdWV6IixuYXRpb246IklzcmFlbCIsazozLGw6MCxkOiJGaXJzdCBqZXQtdmVyc3VzLWpldCBraWxscyBpbiB0aGUgTWlkZGxlIEVhc3QsIGluY2x1ZGluZyB0d28gRWd5cHRpYW4gVmFtcGlyZXMgaW4gb25lIHBhc3MuIn1dLGZhbW91czoiVGhlIEFsbGllcycgZmlyc3QgamV0IGZpZ2h0ZXIg4oCUIGJlYXRlbiBieSB0aGUgTWlHIGluIEtvcmVhLCBhdmVuZ2VkIG92ZXIgdGhlIFNpbmFpLiJ9LAp7bmFtZToiRjlGIFBhbnRoZXIiLGZ1bGw6IkdydW1tYW4gRjlGIFBhbnRoZXIiLG9yaWdpbjoiVW5pdGVkIFN0YXRlcyIsZ2VuOiIxc3QiLGZpcnN0RmxpZ2h0OjE5NDcscm9sZToiQ2FycmllciBmaWdodGVyLWJvbWJlciIsa2lsbHM6OCxrcjoiN+KAkzExIixsb3NzZXM6Mixncm91bmQ6bnVsbCxzdGF0dXM6InByb3ZlbiIscmV0aXJlZDp0cnVlLG5vdGU6IlRoZSBVUyBOYXZ5J3MgS29yZWFuIFdhciB3b3JraG9yc2Ug4oCUIDc4LDAwMCBzb3J0aWVzIOKAlCBhbmQgYSBzdHJhaWdodC13aW5nIGpldCB0aGF0IHJlcGVhdGVkbHkgYmVhdCBzd2VwdC13aW5nIE1pR3MuIFJveWNlIFdpbGxpYW1zIGZvdWdodCBzZXZlbiBTb3ZpZXQgTWlHLTE1cyBhbG9uZSBpbiBhIDE5NTIgc25vd3N0b3JtIGFuZCBkb3duZWQgZm91cjsgU292aWV0IGFyY2hpdmVzIGNvbmZpcm0gaXQsIGJ1dCBpdCBzdGF5ZWQgY2xhc3NpZmllZCBmb3IgZmlmdHkgeWVhcnMgYW5kIG9ubHkgb25lIHdhcyBvZmZpY2lhbGx5IGNyZWRpdGVkLiIsY29uZmxpY3RzOlt7eXI6IjE5NTDigJM1MyIsbjoiS29yZWFuIFdhciIsbmF0aW9uOiJVU0EgKFVTTi9VU01DKSIsazoiN+KAkzExIixsOjIsZDoiQW1lbidzIE5vdmVtYmVyIDE5NTAgTWlHLTE1IOKAlCB0aGUgZmlyc3QgamV0LXZlcnN1cy1qZXQgdmljdG9yeSBpbiBoaXN0b3J5IGJ5IG9mZmljaWFsIHJlY2tvbmluZy4ifV0sZmFtb3VzOiJUaGUgc3RyYWlnaHQtd2luZyBQYW50aGVyIG91dC1mb3VnaHQgc3dlcHQtd2luZyBNaUdzIOKAlCBhbmQga2VwdCBpdHMgYmVzdCBmaWdodCBzZWNyZXQgZm9yIGZpZnR5IHllYXJzLiJ9LAp7bmFtZToiRi04NCBUaHVuZGVyamV0IixmdWxsOiJSZXB1YmxpYyBGLTg0IFRodW5kZXJqZXQiLG9yaWdpbjoiVW5pdGVkIFN0YXRlcyIsZ2VuOiIxc3QiLGZpcnN0RmxpZ2h0OjE5NDYscm9sZToiRmlnaHRlci1ib21iZXIiLGtpbGxzOjgsbG9zc2VzOjE4LGxyOiIxOOKAkzY0Iixncm91bmQ6bnVsbCxzdGF0dXM6InByb3ZlbiIscmV0aXJlZDp0cnVlLG5vdGU6IkhvcGVsZXNzbHkgb3V0bWF0Y2hlZCBieSB0aGUgTWlHLTE1IGluIGFpciBjb21iYXQsIGl0IGJlY2FtZSBLb3JlYSdzIHByZW1pZXIgZmlnaHRlci1ib21iZXIg4oCUIGNyZWRpdGVkIHdpdGggNjAlIG9mIGdyb3VuZCB0YXJnZXRzIGRlc3Ryb3llZCBpbiB0aGUgd2FyIOKAlCB3aGlsZSBzdGlsbCBiYWdnaW5nIGVpZ2h0IE1pR3MgaW4gc2VsZi1kZWZlbmNlLiBTb3ZpZXQgcGlsb3RzIGNsYWltZWQgNjQgVGh1bmRlcmpldHM7IHRoZSBVU0FGIGFja25vd2xlZGdlcyBhYm91dCAxOCBhaXItdG8tYWlyIGxvc3Nlcy4iLGNvbmZsaWN0czpbe3lyOiIxOTUw4oCTNTMiLG46IktvcmVhbiBXYXIiLG5hdGlvbjoiVVNBIixrOjgsbDoifjE4ICgyNDkgY29tYmF0IHRvdGFsKSIsZDoiVGhlIGNoYW1wIG9mIHRoZSBmaWdodGVyLWJvbWJlcnMsIHdpdGggYSBNaUcgc2NhbHAgb3IgZWlnaHQuIn1dLGZhbW91czoiQnVpbHQgdG8gZG9nZmlnaHQsIHJlbWVtYmVyZWQgZm9yIGJvbWJpbmcg4oCUIGJ1dCBpdCBzdGlsbCBzaG90IGRvd24gTWlHcy4ifSwKe25hbWU6IkYtOCBDcnVzYWRlciIsZnVsbDoiVm91Z2h0IEYtOCBDcnVzYWRlciIsb3JpZ2luOiJVbml0ZWQgU3RhdGVzIixnZW46IjJuZCIsZmlyc3RGbGlnaHQ6MTk1NSxyb2xlOiJDYXJyaWVyIGFpci1zdXBlcmlvcml0eSBmaWdodGVyIixraWxsczoxOSxrcjoiMTbigJMxOSIsbG9zc2VzOjMsZ3JvdW5kOm51bGwsc3RhdHVzOiJwcm92ZW4iLHJldGlyZWQ6dHJ1ZSxub3RlOiJUaGUgTWlHIE1hc3RlciBwb3N0ZWQgdGhlIGJlc3QgVVMga2lsbCByYXRpbyBvZiB0aGUgVmlldG5hbSBXYXIg4oCUIDE5IGNyZWRpdGVkIE1pR3MgYWdhaW5zdCAzIGFpci1jb21iYXQgbG9zc2VzLiBEZXNwaXRlIHRoZSBsYXN0LWd1bmZpZ2h0ZXIgbGVnZW5kLCBvbmx5IGZvdXIgb2YgaXRzIGtpbGxzIGZlbGwgdG8gY2Fubm9uOyBTaWRld2luZGVycyBkaWQgdGhlIHJlc3QuIEFsbCB0aHJlZSBsb3NzZXMgY2FtZSBpbiAxOTY2LCBhbGwgdG8gTWlHLTE3IGNhbm5vbiBmaXJlLiIsY29uZmxpY3RzOlt7eXI6IjE5NjXigJM2OCIsbjoiVmlldG5hbSBXYXIiLG5hdGlvbjoiVVNBIChVU04vVVNNQykiLGs6MTksbDozLGQ6IjE2IE1pRy0xN3MgYW5kIDMgTWlHLTIxcyDigJQgdGhlIGJlc3QgQW1lcmljYW4gZXhjaGFuZ2UgcmF0aW8gb2YgdGhlIHdhci4ifV0sZmFtb3VzOiJXaGVuIHlvdSdyZSBvdXQgb2YgRi04cywgeW91J3JlIG91dCBvZiBmaWdodGVycy4ifSwKe25hbWU6IkYtMTA1IFRodW5kZXJjaGllZiIsZnVsbDoiUmVwdWJsaWMgRi0xMDUgVGh1bmRlcmNoaWVmIixvcmlnaW46IlVuaXRlZCBTdGF0ZXMiLGdlbjoiMm5kIixmaXJzdEZsaWdodDoxOTU1LHJvbGU6IlN1cGVyc29uaWMgc3RyaWtlIGZpZ2h0ZXIiLGtpbGxzOjI3LjUsbG9zc2VzOjE3LGxyOiIxN+KAkzIyIixncm91bmQ6bnVsbCxzdGF0dXM6InByb3ZlbiIscmV0aXJlZDp0cnVlLG5vdGU6IkEgbnVjbGVhciBib21iZXIgcHJlc3NlZCBpbnRvIHRoZSBSb2xsaW5nIFRodW5kZXIgbWVhdC1ncmluZGVyLCB0aGUgVGh1ZCBzdGlsbCBvdXQtc2NvcmVkIHRoZSBNaUdzIHNlbnQgdG8ga2lsbCBpdDogMjcuNSBjcmVkaXRlZCBNaUctMTdzLCAyNC41IG9mIHRoZW0gd2l0aCBpdHMgVnVsY2FuIGNhbm5vbiwgd2hpbGUgaGF1bGluZyBib21icyB0byBIYW5vaS4gSXQgbG9zdCAxNyB0byBNaUdzIGFnYWluc3QgMzM0IGNvbWJhdCBsb3NzZXMgb3ZlcmFsbCDigJQgdGhlIFNBTXMgYW5kIGZsYWsgd2VyZSB0aGUgcmVhbCBraWxsZXJzLiIsY29uZmxpY3RzOlt7eXI6IjE5NjXigJM3MCIsbjoiVmlldG5hbSBXYXIiLG5hdGlvbjoiVVNBIixrOjI3LjUsbDoiMTfigJMyMiIsZDoiQSBzdHJpa2UgamV0IHRoYXQgb3V0LWd1bm5lZCB0aGUgaW50ZXJjZXB0b3JzIGh1bnRpbmcgaXQuIn1dLGZhbW91czoiVGhlIGJvbWIgdHJ1Y2sgdGhhdCBzaG90IGRvd24gMjcuNSBvZiB0aGUgZmlnaHRlcnMgaHVudGluZyBpdC4ifSwKe25hbWU6Ik15c3TDqHJlIElWQSIsZnVsbDoiRGFzc2F1bHQgTXlzdMOocmUgSVZBIixvcmlnaW46IkZyYW5jZSIsZ2VuOiIxc3QiLGZpcnN0RmxpZ2h0OjE5NTIscm9sZToiU3dlcHQtd2luZyBmaWdodGVyLWJvbWJlciIsa2lsbHM6MTEsa3I6IjjigJMxMyIsbG9zc2VzOjUsbHI6IjPigJM4Iixncm91bmQ6bnVsbCxzdGF0dXM6InByb3ZlbiIscmV0aXJlZDp0cnVlLG5vdGU6IkZyYW5jZSdzIGZpcnN0IHN3ZXB0LXdpbmcgZmlnaHRlciBlYXJuZWQgaXRzIHNwdXJzIGF0IFN1ZXogaW4gSXNyYWVsaSBoYW5kcywgd2hlcmUgdHdvIE15c3TDqHJlcyBib3VuY2VkIEVneXB0aWFuIFZhbXBpcmVzIGFuZCBjbGFpbWVkIGZvdXIgaW4gb25lIGVuZ2FnZW1lbnQuIEluIEluZGlhbiBzZXJ2aWNlIGl0IHRyYWRlZCBibG93cyB3aXRoIFNhYnJlcyBhbmQgU3RhcmZpZ2h0ZXJzIGluIDE5NjUg4oCUIGluY2x1ZGluZyBEZXZheXlhJ3MgZGlzcHV0ZWQgcG9zdGh1bW91cyBGLTEwNCBraWxsLiIsY29uZmxpY3RzOlt7eXI6IjE5NTYiLG46IlN1ZXogQ3Jpc2lzIixuYXRpb246IklzcmFlbCIsazo3LGw6MCxkOiJGb3VyIFZhbXBpcmVzIGRvd25lZCBpbiBhIHNpbmdsZSBlbmdhZ2VtZW50OyBmaXJzdCBEYXNzYXVsdCBqZXQga2lsbHMuIn0se3lyOiIxOTY1IixuOiJJbmRvLVBha2lzdGFuaSBXYXIiLG5hdGlvbjoiSW5kaWEiLGs6IjHigJMyIixsOiJ+MyIsZDoiRGV2YXl5YSdzIGZhdGFsIGR1ZWwgd2l0aCBhIFN0YXJmaWdodGVyIG92ZXIgU2FyZ29kaGEuIn0se3lyOiIxOTY3IixuOiJTaXgtRGF5IFdhciIsbmF0aW9uOiJJc3JhZWwiLGs6MyxsOjIsZDoiR3JvdW5kLWF0dGFjayB3b3JraG9yc2Ugd2l0aCBhIHN0aW5nLiJ9XSxmYW1vdXM6IkRhc3NhdWx0J3MgZmlyc3Qgc3dlcHQgd2luZyDigJQgYmxvb2RlZCBvdmVyIFN1ZXosIG1hcnR5cmVkIG92ZXIgU2FyZ29kaGEuIn0sCntuYW1lOiJIYXdrZXIgU2VhIEZ1cnkiLGZ1bGw6Ikhhd2tlciBTZWEgRnVyeSIsb3JpZ2luOiJVbml0ZWQgS2luZ2RvbSIsZ2VuOiJwcm9wIixmaXJzdEZsaWdodDoxOTQ1LHJvbGU6IkNhcnJpZXIgcGlzdG9uIGZpZ2h0ZXItYm9tYmVyIixraWxsczozLGtyOiIy4oCTNSIsbG9zc2VzOjEsZ3JvdW5kOm51bGwsc3RhdHVzOiJwcm92ZW4iLHJldGlyZWQ6dHJ1ZSxub3RlOiJPbmUgb2YgdGhlIGZhc3Rlc3QgcGlzdG9uIGZpZ2h0ZXJzIGV2ZXIgYnVpbHQsIGFuZCBvbmUgb2YgdGhlIHZlcnkgZmV3IHRvIGtpbGwgYSBqZXQ6IGEgUm95YWwgTmF2eSBTZWEgRnVyeSBmbGlnaHQgb3V0LXR1cm5lZCBNaUctMTVzIGluIEF1Z3VzdCAxOTUyIOKAlCB0aGUga2lsbCBpcyBjcmVkaXRlZCB0byBQZXRlciBDYXJtaWNoYWVsLCB0aG91Z2ggZmxpZ2h0LW1hdGUgQnJpYW4gRWxsaXMgaGFzIGEgc3Ryb25nIGNsYWltIHRvIHRoZSBhY3R1YWwgc2hvdHMuIE5pbmUgeWVhcnMgbGF0ZXIgQ2FzdHJvJ3MgU2VhIEZ1cmllcyBoZWxwZWQgYnJlYWsgdGhlIEJheSBvZiBQaWdzIGludmFzaW9uLiIsY29uZmxpY3RzOlt7eXI6IjE5NTDigJM1MyIsbjoiS29yZWFuIFdhciIsbmF0aW9uOiJVSyAoUm95YWwgTmF2eSBGQUEpIixrOjEsbDowLGQ6IlRoZSBwcm9wZWxsZXIgdGhhdCBraWxsZWQgYSBNaUctMTUuIn0se3lyOiIxOTYxIixuOiJCYXkgb2YgUGlncyIsbmF0aW9uOiJDdWJhIixrOjIsbDoxLGQ6IlNhbmsgdGhlIEhvdXN0b24sIGRvd25lZCBCLTI2cy4ifV0sZmFtb3VzOiJUaGUgcGlzdG9uIGZpZ2h0ZXIgdGhhdCBzaG90IGRvd24gYSBqZXQg4oCUIGFuZCBsYXRlciBoZWxwZWQgZGVmZWF0IGFuIGludmFzaW9uLiJ9LAp7bmFtZToiRi04MiBUd2luIE11c3RhbmciLGZ1bGw6Ik5vcnRoIEFtZXJpY2FuIEYtODIgVHdpbiBNdXN0YW5nIixvcmlnaW46IlVuaXRlZCBTdGF0ZXMiLGdlbjoicHJvcCIsZmlyc3RGbGlnaHQ6MTk0NSxyb2xlOiJMb25nLXJhbmdlIGVzY29ydCAvIG5pZ2h0IGZpZ2h0ZXIiLGtpbGxzOjQsa3I6IjPigJM0Iixsb3NzZXM6MCxncm91bmQ6bnVsbCxzdGF0dXM6InByb3ZlbiIscmV0aXJlZDp0cnVlLG5vdGU6IlR3byBNdXN0YW5nIGZ1c2VsYWdlcywgb25lIGNyZXcg4oCUIGFuZCB0aGUgZmlyc3QgQW1lcmljYW4ga2lsbHMgb2YgdGhlIEtvcmVhbiBXYXIsIGFsbCBzY29yZWQgaW4gYSBzaW5nbGUgbW9ybmluZyBvdmVyIEtpbXBvIG9uIDI3IEp1bmUgMTk1MCB3aGlsZSBjb3ZlcmluZyB0aGUgU2VvdWwgZXZhY3VhdGlvbi4gTm8gRi04MiB3YXMgZXZlciBsb3N0IGluIGFpciBjb21iYXQuIixjb25mbGljdHM6W3t5cjoiMTk1MCIsbjoiS29yZWFuIFdhciIsbmF0aW9uOiJVU0EiLGs6IjPigJM0IixsOjAsZDoiSHVkc29uIGFuZCBGcmFzZXIncyBZYWstMTEgd2FzIHRoZSBmaXJzdCBVUyBhZXJpYWwgdmljdG9yeSBvZiB0aGUgd2FyLiJ9XSxmYW1vdXM6IlR3byBmdXNlbGFnZXMsIG9uZSBraWxsZXIg4oCUIGl0IGRyZXcgZmlyc3QgYmxvb2QgaW4gS29yZWEgYW5kIHdhcyBuZXZlciBiZXN0ZWQgaW4gdGhlIGFpci4ifSwKe25hbWU6IkYtMTUgRWFnbGUiLGZ1bGw6Ik1jRG9ubmVsbCBEb3VnbGFzIC8gQm9laW5nIEYtMTUgKEEvQi9DL0QpIixvcmlnaW46IlVuaXRlZCBTdGF0ZXMiLGdlbjoiNHRoIixmaXJzdEZsaWdodDoxOTcyLHJvbGU6IkFpciBzdXBlcmlvcml0eSIsa2lsbHM6MTA0LGtyOiI5MOKAkzEwNiIsbG9zc2VzOjAsZ3JvdW5kOjAsc3RhdHVzOiJwcm92ZW4iLG5vdGU6IlRoZSBtb3N0LWNpdGVkIGFpci1jb21iYXQgcmVjb3JkIGluIHRoZSBqZXQgYWdlOiB+MTA0IGNyZWRpdGVkIHZpY3RvcmllcyBmb3IgemVybyBhaXItdG8tYWlyIGxvc3NlcyBhY3Jvc3MgYWxsIG9wZXJhdG9ycy4gU3RyaWN0IHBlci1vcGVyYXRvciBjb3VudHMgZ2l2ZSB+OTA7IGdlbmVyb3VzIElzcmFlbGkgMTk4MiB0YWxsaWVzIHJlYWNoIDEwNiDigJQgdGhlIGZhbW91cyAxMDQgZmlndXJlIG9yaWdpbmF0ZWQgd2l0aCB0aGUgbWFudWZhY3R1cmVyLiIsY29uZmxpY3RzOlt7eXI6IjE5NznigJM4MiIsbjoiSXNyYWVsaSBvcHMgKEJla2FhIFZhbGxleSkiLG5hdGlvbjoiSXNyYWVsIixrOjU2LGw6MCxkOiJPdmVyIGhhbGYgb2YgYWxsIEYtMTUga2lsbHMg4oCUIG1vc3RseSBTeXJpYW4gTWlHczsgcGVhayBkdXJpbmcgT3BlcmF0aW9uIE1vbGUgQ3JpY2tldCAxOSAoMTk4MikuIn0se3lyOiIxOTkxIixuOiJHdWxmIFdhciIsbmF0aW9uOiJVU0FGIixrOjM0LGw6MCxkOiJUaGUgYnVsayBvZiBjb2FsaXRpb24gYWlyLXRvLWFpciB2aWN0b3JpZXMgaW4gRGVzZXJ0IFN0b3JtLiJ9LHt5cjoiMTk4NOKAkzk5IixuOiJPdGhlciBVU0FGIC8gU2F1ZGkiLG5hdGlvbjoiVVNBIC8gU2F1ZGkiLGs6MTQsbDowLGQ6IkluY2x1ZGVzIFNhdWRpIEYtMTVzIGRvd25pbmcgMiBJcmFuaWFuIEYtNEVzICgxOTg0KSBhbmQgQmFsa2Fucy9uby1mbHktem9uZSBraWxscy4ifV0sZmFtb3VzOiJEdXJpbmcgT3BlcmF0aW9uIE1vbGUgQ3JpY2tldCAxOSAoSnVuZSAxOTgyKSwgSXNyYWVsaSBGLTE1cyBhbmQgRi0xNnMgZGVzdHJveWVkIGRvemVucyBvZiBTeXJpYW4gYWlyY3JhZnQgb3ZlciB0aGUgQmVrYWEgVmFsbGV5IHdpdGhvdXQgbG9zcy4ifSwKe25hbWU6IkYtNCBQaGFudG9tIElJIixmdWxsOiJNY0Rvbm5lbGwgRG91Z2xhcyBGLTQgUGhhbnRvbSBJSSIsb3JpZ2luOiJVbml0ZWQgU3RhdGVzIixnZW46IjNyZCIsZmlyc3RGbGlnaHQ6MTk1OCxyb2xlOiJJbnRlcmNlcHRvciAvIGZpZ2h0ZXItYm9tYmVyIixraWxsczoxNTAsbG9zc2VzOjQyLGdyb3VuZDo3MTksc3RhdHVzOiJwcm92ZW4iLG5vdGU6Ik92ZXIgVmlldG5hbSwgVVMgTmF2eSwgQWlyIEZvcmNlIGFuZCBNYXJpbmUgRi00cyB3ZXJlIGNyZWRpdGVkIHdpdGggYWJvdXQgMTUwIE1pRyBraWxscyBmb3IgNDIgUGhhbnRvbXMgbG9zdCBpbiBhaXIgY29tYmF0IOKAlCByb3VnaGx5IDMuNiB0byAxIHBlciBVUyByZWNvcmRzOyBOb3J0aCBWaWV0bmFtZXNlIGNsYWltcyBkaWZmZXIgb24gYm90aCBjb3VudHMuIENvdW50aW5nIGV2ZXJ5IG9wZXJhdG9yIHdvcmxkd2lkZSAoSXNyYWVsLCBJcmFuIGFuZCBvdGhlcnMpIHRoZSBraWxsIHRvdGFsIGlzIGZhciBoaWdoZXIsIGJ1dCB0aGVpciBhaXItdG8tYWlyIGxvc3NlcyBhcmUgbm90IGNvbnNpc3RlbnRseSByZWNvcmRlZCwgc28gYSBsaWtlLWZvci1saWtlIGdsb2JhbCByYXRpbyBpcyB1bnJlbGlhYmxlLiIsY29uZmxpY3RzOlt7eXI6IjE5NjXigJM3MyIsbjoiVmlldG5hbSBXYXIiLG5hdGlvbjoiVVNBIixrOjE1MCxsOjQyLGQ6IjE1MC41IE1pRyBraWxscyBmb3IgNDIgUGhhbnRvbXMgbG9zdCBpbiBhaXIgY29tYmF0OyB+NzE5IGxvc3QgdG8gYWxsIGNhdXNlcywgbW9zdGx5IGdyb3VuZCBmaXJlLiJ9LHt5cjoiMTk2OeKAkzgyIixuOiJBcmFi4oCTSXNyYWVsaSB3YXJzIixuYXRpb246IklzcmFlbCIsazoxMTYsbDowLGQ6IklzcmFlbGkgRi00RSAnS3VybmFzcycgc2NvcmVkIDExNi41IGFlcmlhbCB2aWN0b3JpZXM7IG1vc3QgbG9zc2VzIHdlcmUgdG8gU0FNcywgbm90IGFpcmNyYWZ0LiJ9LHt5cjoiMTk4MOKAkzg4IixuOiJJcmFu4oCTSXJhcSBXYXIiLG5hdGlvbjoiSXJhbiIsazowLGw6MCxkOiJJcmFuaWFuIFBoYW50b21zIGNsYWltZWQgZG96ZW5zIG1vcmUga2lsbHM7IHRvdGFscyBkaXNwdXRlZCBhbmQgZXhjbHVkZWQgZnJvbSB0aGUgaGVhZGxpbmUuIn1dLGZhbW91czoiRi00IGNyZXdzIGRlc3Ryb3llZCAxNTAuNSBNaUdzIG92ZXIgVmlldG5hbSDigJQgdGhlIGhpZ2hlc3QgYWlyLXRvLWFpciB0YWxseSBvZiBhbnkgV2VzdGVybiBmaWdodGVyIG9mIGl0cyBnZW5lcmF0aW9uLiJ9LAp7bmFtZToiRi0xNiBGaWdodGluZyBGYWxjb24iLGZ1bGw6IkdlbmVyYWwgRHluYW1pY3MgLyBMb2NraGVlZCBNYXJ0aW4gRi0xNiIsb3JpZ2luOiJVbml0ZWQgU3RhdGVzIixnZW46IjR0aCIsZmlyc3RGbGlnaHQ6MTk3NCxyb2xlOiJNdWx0aXJvbGUiLGtpbGxzOjc3LGtyOiI3M+KAkzgxIixsb3NzZXM6MSxscjoiMeKAkzIiLGdyb3VuZDo1LHN0YXR1czoicHJvdmVuIixub3RlOiJ+NzcgaXMgdGhlIGNvbW1vbmx5IGNpdGVkIGNyb3NzLW9wZXJhdG9yIHRvdGFsOyBpbmRlcGVuZGVudCBjb3VudHMgcnVuIDcz4oCTODEgYW5kIG5vIHNpbmdsZSBhdXRob3JpdHkgdGFsbGllcyBldmVyeSB2aWN0b3J5IGlkZW50aWNhbGx5LiBJbiBKdWx5IDIwMjYgYSBVa3JhaW5pYW4gRi0xNiBzY29yZWQgdGhlIHR5cGXigJlzIGZpcnN0IGFpci10by1haXIga2lsbCBvZiBhIFJ1c3NpYW4gZmlnaHRlciDigJQgYSBTdS0zNVMgZG93bmVkIHdpdGggYW4gQUlNLTEyMCwgY29uZmlybWVkIGJ5IFVTIGFuZCBSdXNzaWFuIHNvdXJjZXMuIFRoZSBzaW5nbGUgYWlyLWNvbWJhdCBsb3NzIGlzIHRoZSAxOTk2IEFlZ2VhbiBzaG9vdGRvd24gYnkgYSBHcmVlayBNaXJhZ2UgMjAwMCDigJQgYWRkaW5nIHRoZSAxOTg3IFBha2lzdGFuaSBmcmllbmRseS1maXJlIGxvc3Mgd291bGQgbWFrZSBpdCAyLiBUaGUgMjAxOSBQYWtpc3RhbuKAk0luZGlhIEYtMTYgY2xhaW1zIGFyZSBjb250ZXN0ZWQgYW5kIGV4Y2x1ZGVkLiIsY29uZmxpY3RzOlt7eXI6IjE5ODIiLG46IkxlYmFub24gV2FyIixuYXRpb246IklzcmFlbCIsazo0NCxsOjAsZDoiQnVsayBvZiBGLTE2IHZpY3RvcmllcyDigJQgbW9zdGx5IFN5cmlhbiBNaUctMjFzIGFuZCBNaUctMjNzIOKAlCBmb3IgemVybyBhaXItdG8tYWlyIGxvc3Nlcy4ifSx7eXI6IjE5OTHigJM5OSIsbjoiR3VsZiBXYXIgLyBCYWxrYW5zIixuYXRpb246IlVTQSAvIE5MIixrOjYsbDowLGQ6IlVTQUYga2lsbHMgb3ZlciBJcmFxOyBhIER1dGNoIEYtMTYgZG93bmVkIGEgWXVnb3NsYXYgTWlHLTI5IGluIDE5OTkuIn0se3lyOiIxOTky4oCTMjAxOSIsbjoiT3RoZXIgZW5nYWdlbWVudHMiLG5hdGlvbjoiVmFyaW91cyIsazoyNixsOjEsZDoiT25lIGRvY3VtZW50ZWQgQTJBIGxvc3M6IGEgVHVya2lzaCBGLTE2RCBkb3duZWQgYnkgYSBHcmVlayBNaXJhZ2UgMjAwMCAoMTk5NikuIn0se3lyOiIyMDI2IixuOiJSdXNzby1Va3JhaW5pYW4gV2FyIixuYXRpb246IlVrcmFpbmUiLGs6MSxsOjAsZDoiQSBVa3JhaW5pYW4gRi0xNiBkb3duZWQgYSBSdXNzaWFuIFN1LTM1UyB3aXRoIGFuIEFJTS0xMjAgb24gOCBKdWx5IDIwMjYg4oCUIHRoZSB0eXBl4oCZcyBmaXJzdCBhaXItdG8tYWlyIGtpbGwgb2YgYSBtYW5uZWQgUnVzc2lhbiBqZXQuIn1dLGZhbW91czoiSXNyYWVsaSBGLTE2cyBkb3duZWQgcm91Z2hseSA0NCBTeXJpYW4gYWlyY3JhZnQgZHVyaW5nIHRoZSAxOTgyIExlYmFub24gV2FyIHdpdGhvdXQgYW4gYWlyLXRvLWFpciBsb3NzLiJ9LAp7bmFtZToiRi0xNCBUb21jYXQiLGZ1bGw6IkdydW1tYW4gRi0xNCBUb21jYXQiLG9yaWdpbjoiVW5pdGVkIFN0YXRlcyIsZ2VuOiI0dGgiLGZpcnN0RmxpZ2h0OjE5NzAscm9sZToiRmxlZXQtZGVmZW5zZSBpbnRlcmNlcHRvciIsa2lsbHM6NSxsb3NzZXM6MCxncm91bmQ6MSxzdGF0dXM6InByb3ZlbiIsbm90ZToiT25seSB3ZWxsLWRvY3VtZW50ZWQgVVMgTmF2eSB2aWN0b3JpZXMgYXJlIGNvdW50ZWQ6IHR3byBMaWJ5YW4gU3UtMjJzICgxOTgxKSwgdHdvIExpYnlhbiBNaUctMjNzICgxOTg5KSBhbmQgYW4gSXJhcWkgTWktOCAoMTk5MSkuIElyYW4gY2xhaW1zIDM14oCTMTMwKyBUb21jYXQga2lsbHMgaW4gdGhlIElyYW7igJNJcmFxIFdhcjsgaW5kZXBlbmRlbnQgY29uZmlybWF0aW9uIGNvdmVycyBvbmx5IGEgZnJhY3Rpb24sIHNvIHRob3NlIGFyZSBleGNsdWRlZC4iLGNvbmZsaWN0czpbe3lyOiIxOTgxLzg5IixuOiJHdWxmIG9mIFNpZHJhIixuYXRpb246IlVTIE5hdnkiLGs6NCxsOjAsZDoiVHdvIExpYnlhbiBTdS0yMnMgKDE5ODEpIGFuZCB0d28gTWlHLTIzcyAoMTk4OSkuIn0se3lyOiIxOTkxIixuOiJHdWxmIFdhciIsbmF0aW9uOiJVUyBOYXZ5IixrOjEsbDoxLGQ6IkRvd25lZCBhbiBJcmFxaSBNaS04OyBvbmUgRi0xNCBsb3N0IHRvIGFuIFNBLTIgU0FNIChhIGdyb3VuZCBsb3NzLCBub3QgQTJBKS4ifSx7eXI6IjE5ODDigJM4OCIsbjoiSXJhbuKAk0lyYXEgV2FyIixuYXRpb246IklyYW4iLGs6MCxsOjAsZDoiQWNlIEphbGlsIFphbmRpIGNyZWRpdGVkIHdpdGggOCB2aWN0b3JpZXM7IElyYW5pYW4gdG90YWxzIHVudmVyaWZpYWJsZSBhbmQgZXhjbHVkZWQuIn1dLGZhbW91czoiT24gMTkgQXVndXN0IDE5ODEgdHdvIFZGLTQxIFRvbWNhdHMgZG93bmVkIHR3byBMaWJ5YW4gU3UtMjJzIG92ZXIgdGhlIEd1bGYgb2YgU2lkcmEg4oCUIHRoZSB0eXBlJ3MgZmlyc3Qga2lsbHMuIn0sCntuYW1lOiJGLTE1RSBTdHJpa2UgRWFnbGUiLGZ1bGw6Ik1jRG9ubmVsbCBEb3VnbGFzIC8gQm9laW5nIEYtMTVFIixvcmlnaW46IlVuaXRlZCBTdGF0ZXMiLGdlbjoiNC41IixmaXJzdEZsaWdodDoxOTg2LHJvbGU6IlN0cmlrZSAvIG11bHRpcm9sZSIsa2lsbHM6MSxsb3NzZXM6MCxncm91bmQ6MixzdGF0dXM6InByb3ZlbiIsbm90ZToiSXRzIG9ubHkgYWlyLXRvLWFpciBraWxsIHdhcyBzY29yZWQgd2l0aCBhIGJvbWIg4oCUIG9uIGEgaGVsaWNvcHRlciB3aG9zZSBleGFjdCB0eXBlIChNaS0yNCBvciBIdWdoZXMgNTAwKSBzb3VyY2VzIHN0aWxsIGRpc3B1dGUuIEluIDIwMjQgRi0xNUVzIHNob3QgZG93biBkb3plbnMgb2YgSXJhbmlhbiBkcm9uZXMg4oCUIGNvdW50ZWQgYXMgZHJvbmUgaW50ZXJjZXB0cywgbm90IGFpcmNyYWZ0IGtpbGxzLiIsY29uZmxpY3RzOlt7eXI6IjE5OTEiLG46Ikd1bGYgV2FyIixuYXRpb246IlVTQUYiLGs6MSxsOjAsZDoiRGVzdHJveWVkIGEgaG92ZXJpbmcgSXJhcWkgTWktMjQgd2l0aCBhIGxhc2VyLWd1aWRlZCBib21iOyAyIEYtMTVFcyBsb3N0IHRvIGdyb3VuZCBmaXJlLiJ9LHt5cjoiMjAyNCIsbjoiRGVmZW5zZSBvZiBJc3JhZWwiLG5hdGlvbjoiVVNBRiIsazowLGw6MCxkOiJEb3duZWQgZG96ZW5zIG9mIElyYW5pYW4gU2hhaGVkIGRyb25lcyDigJQgbm90IGNvdW50ZWQgYXMgYWlyY3JhZnQga2lsbHMuIn1dLGZhbW91czoiQW4gRi0xNUUgc2NvcmVkIHRoZSB0eXBlJ3Mgb25seSBhaXItdG8tYWlyIGtpbGwgYnkgZHJvcHBpbmcgYSBsYXNlci1ndWlkZWQgYm9tYiBvbiBhIGhvdmVyaW5nIElyYXFpIE1pLTI0IGluIDE5OTEuIn0sCntuYW1lOiJGL0EtMTggSG9ybmV0IixmdWxsOiJNY0Rvbm5lbGwgRG91Z2xhcyAvIEJvZWluZyBGL0EtMTggKEHigJNEKSIsb3JpZ2luOiJVbml0ZWQgU3RhdGVzIixnZW46IjR0aCIsZmlyc3RGbGlnaHQ6MTk3OCxyb2xlOiJDYXJyaWVyIG11bHRpcm9sZSIsa2lsbHM6Mixsb3NzZXM6MSxncm91bmQ6MCxzdGF0dXM6InByb3ZlbiIsbm90ZToiQm90aCBraWxscyBjYW1lIG9uIHRoZSBzYW1lIG5pZ2h0IG9mIHRoZSBHdWxmIFdhcjsgdGhlIHR5cGUncyBzb2xlIGFpci10by1haXIgbG9zcyAoU3BlaWNoZXIpIGlzIHdpZGVseSBhdHRyaWJ1dGVkIHRvIGFuIElyYXFpIE1pRy0yNS4iLGNvbmZsaWN0czpbe3lyOiIxOTkxIixuOiJHdWxmIFdhciIsbmF0aW9uOiJVUyBOYXZ5IixrOjIsbDoxLGQ6IlR3byBWRkEtODEgSG9ybmV0cyBlYWNoIGRvd25lZCBhIE1pRy0yMSBvbiAxNyBKYW4gMTk5MTsgb25lIEhvcm5ldCBsb3N0IHRoZSBzYW1lIG5pZ2h0LiJ9XSxmYW1vdXM6Ik9uIDE3IEphbnVhcnkgMTk5MSBhIFZGQS04MSBIb3JuZXQgc2hvdCBkb3duIGEgTWlHLTIxIGFuZCB0aGVuIGNvbnRpbnVlZCBpdHMgYm9tYmluZyBydW4gb24gdGhlIHNhbWUgbWlzc2lvbi4ifSwKe25hbWU6IkYvQS0xOEUvRiBTdXBlciBIb3JuZXQiLGZ1bGw6IkJvZWluZyBGL0EtMThFL0YgU3VwZXIgSG9ybmV0IixvcmlnaW46IlVuaXRlZCBTdGF0ZXMiLGdlbjoiNC41IixmaXJzdEZsaWdodDoxOTk1LHJvbGU6IkNhcnJpZXIgbXVsdGlyb2xlIixraWxsczoxLGxvc3NlczowLGdyb3VuZDowLHN0YXR1czoicHJvdmVuIixub3RlOiJJdHMgMjAxNyBTdS0yMiBraWxsIHdhcyB0aGUgZmlyc3QgVVMgYWlyLXRvLWFpciB2aWN0b3J5IGluIH4xOCB5ZWFycy4gQSAyMDI0IFN1cGVyIEhvcm5ldCBsb3NzIHdhcyBmcmllbmRseSBmaXJlLCBub3QgYW4gZW5lbXkga2lsbC4iLGNvbmZsaWN0czpbe3lyOiIyMDE3IixuOiJTeXJpYSAoYW50aS1JU0lTKSIsbmF0aW9uOiJVUyBOYXZ5IixrOjEsbDowLGQ6IkRvd25lZCBhIFN5cmlhbiBTdS0yMiBuZWFyIFJhcXFhIOKAlCBmaXJzdCBVUyBhaXItdG8tYWlyIGtpbGwgc2luY2UgMTk5OS4ifSx7eXI6IjIwMjPigJMyNCIsbjoiUmVkIFNlYSAvIEhvdXRoaSIsbmF0aW9uOiJVUyBOYXZ5IixrOjAsbDowLGQ6IlNob3QgZG93biBtYW55IGRyb25lcyBhbmQgbWlzc2lsZXMg4oCUIGNvdW50ZWQgYXMgbXVuaXRpb24gaW50ZXJjZXB0cywgbm90IGtpbGxzLiJ9XSxmYW1vdXM6Ik9uIDE4IEp1bmUgMjAxNyBhIFVTIE5hdnkgU3VwZXIgSG9ybmV0IHNob3QgZG93biBhIFN5cmlhbiBTdS0yMiwgdGhlIGZpcnN0IEFtZXJpY2FuIGFpci10by1haXIga2lsbCBzaW5jZSAxOTk5LiJ9LAp7bmFtZToiRi0yMiBSYXB0b3IiLGZ1bGw6IkxvY2toZWVkIE1hcnRpbiAvIEJvZWluZyBGLTIyIFJhcHRvciIsb3JpZ2luOiJVbml0ZWQgU3RhdGVzIixnZW46IjV0aCIsZmlyc3RGbGlnaHQ6MTk5Nyxyb2xlOiJTdGVhbHRoIGFpciBzdXBlcmlvcml0eSIsa2lsbHM6MCxsb3NzZXM6MCxncm91bmQ6MCxzdGF0dXM6InN0cmlrZSIsbm90ZToiTmV2ZXIgZW5nYWdlZCBhbiBlbmVteSBhaXJjcmFmdCwgdGhvdWdoIGl0IGhhcyBmbG93biBzdHJpa2UgbWlzc2lvbnMgb3ZlciBTeXJpYSBzaW5jZSAyMDE0LiBJdHMgb25seSBhaXItdG8tYWlyIHdlYXBvbiBlbXBsb3ltZW50cyB3ZXJlIGEgQ2hpbmVzZSBzcHkgYmFsbG9vbiBhbmQgdGhyZWUgdW5pZGVudGlmaWVkIG9iamVjdHMsIGFsbCBpbiAyMDIzLiIsY29uZmxpY3RzOlt7eXI6IjIwMjMiLG46Ik4uIEFtZXJpY2FuIGFpcnNwYWNlIixuYXRpb246IlVTQUYiLGs6MCxsOjAsZDoiRG93bmVkIGEgQ2hpbmVzZSBzdXJ2ZWlsbGFuY2UgYmFsbG9vbiBhbmQgdGhyZWUgdW5pZGVudGlmaWVkIG9iamVjdHMgd2l0aCBBSU0tOVgg4oCUIG5vIGFpcmNyYWZ0LiJ9XSxmYW1vdXM6Ik9uIDQgRmVicnVhcnkgMjAyMyBhbiBGLTIyIGRlc3Ryb3llZCBhIENoaW5lc2Ugc3B5IGJhbGxvb24gd2l0aCBhIHNpbmdsZSBBSU0tOVgg4oCUIHRoZSB0eXBlJ3MgZmlyc3QgYWlyLXRvLWFpciB3ZWFwb24gZW1wbG95bWVudC4ifSwKe25hbWU6IkYtMzUgTGlnaHRuaW5nIElJIixmdWxsOiJMb2NraGVlZCBNYXJ0aW4gRi0zNSBMaWdodG5pbmcgSUkiLG9yaWdpbjoiVW5pdGVkIFN0YXRlcyIsZ2VuOiI1dGgiLGZpcnN0RmxpZ2h0OjIwMDYscm9sZToiU3RlYWx0aCBtdWx0aXJvbGUiLGtpbGxzOjEsbG9zc2VzOjAsZ3JvdW5kOjAsc3RhdHVzOiJwcm92ZW4iLG5vdGU6IkZpcnN0IGtpbGwgb2YgYSBtYW5uZWQgYWlyY3JhZnQgY2FtZSBpbiAyMDI2LiBFYXJsaWVyIElzcmFlbGkgRi0zNSBraWxscyAoMjAyMSBkcm9uZXMsIDIwMjQgY3J1aXNlIG1pc3NpbGVzKSBhcmUgcmVhbCBidXQgbm90IG1hbm5lZC1haXJjcmFmdCBraWxscy4iLGNvbmZsaWN0czpbe3lyOiIyMDIx4oCTMjYiLG46IklzcmFlbGkgYWlyIGRlZmVuc2UiLG5hdGlvbjoiSXNyYWVsIixrOjEsbDowLGQ6IkRvd25lZCB0d28gSXJhbmlhbiBVQVZzICgyMDIxKSwgaW50ZXJjZXB0ZWQgbWlzc2lsZXMvZHJvbmVzICgyMDI0KSwgYW5kIHNob3QgZG93biBhbiBJcmFuaWFuIFlhay0xMzAgb24gNCBNYXIgMjAyNiDigJQgdGhlIGZpcnN0IEYtMzUga2lsbCBvZiBhIG1hbm5lZCBhaXJjcmFmdC4ifV0sZmFtb3VzOiJPbiA0IE1hcmNoIDIwMjYgYW4gSXNyYWVsaSBGLTM1SSBzaG90IGRvd24gYW4gSXJhbmlhbiBZYWstMTMwIOKAlCB0aGUgZmlyc3QgYWlyLXRvLWFpciBraWxsIG9mIGEgbWFubmVkIGFpcmNyYWZ0IGJ5IGFueSBGLTM1LiJ9LAp7bmFtZToiQS0xMCBUaHVuZGVyYm9sdCBJSSIsZnVsbDoiRmFpcmNoaWxkIFJlcHVibGljIEEtMTAgKFdhcnRob2cpIixvcmlnaW46IlVuaXRlZCBTdGF0ZXMiLGdlbjoiQ0FTIixmaXJzdEZsaWdodDoxOTcyLHJvbGU6IkNsb3NlIGFpciBzdXBwb3J0IixraWxsczoyLGxvc3NlczowLGdyb3VuZDo2LHN0YXR1czoicHJvdmVuIixub3RlOiJCb3RoIGtpbGxzIHdlcmUgaGVsaWNvcHRlcnMgZGVzdHJveWVkIHdpdGggdGhlIDMwIG1tIEdBVS04IGNhbm5vbi4gUm91Z2hseSBzaXggQS0xMHMgd2VyZSBsb3N0IHRvIElyYXFpIGdyb3VuZCBmaXJlIOKAlCBub25lIHRvIGVuZW15IGFpcmNyYWZ0LiIsY29uZmxpY3RzOlt7eXI6IjE5OTEiLG46Ikd1bGYgV2FyIixuYXRpb246IlVTQUYiLGs6MixsOjAsZDoiVHdvIElyYXFpIGhlbGljb3B0ZXJzIHNob3QgZG93biB3aXRoIHRoZSBndW47IH42IEEtMTBzIGxvc3QgdG8gU0FNcy9ncm91bmQgZmlyZS4ifV0sZmFtb3VzOiJPbiA2IEZlYnJ1YXJ5IDE5OTEgYW4gQS0xMCBiZWNhbWUgdGhlICdDaG9wcGVyIFBvcHBlcicsIGRvd25pbmcgYW4gSXJhcWkgaGVsaWNvcHRlciB3aXRoIGl0cyAzMCBtbSBndW4uIn0sCntuYW1lOiJGLTUgRnJlZWRvbSBGaWdodGVyIixmdWxsOiJOb3J0aHJvcCBGLTVBL0IgJiBGLTVFL0YgVGlnZXIgSUkiLG9yaWdpbjoiVW5pdGVkIFN0YXRlcyIsZ2VuOiIzcmQiLGZpcnN0RmxpZ2h0OjE5NTkscm9sZToiTGlnaHQgZmlnaHRlciIsa2lsbHM6MjUsa3I6IjE14oCTMzAiLGxvc3NlczoxNSxscjoiMTDigJMyNSIsZ3JvdW5kOjMsc3RhdHVzOiJwcm92ZW4iLG5vdGU6IktpbGxzOiB+MjUgaXMgRXRoaW9waWHigJlzIE9nYWRlbi13YXIgY3JlZGl0OyBkb2N1bWVudGVkIHJlY29uc3RydWN0aW9ucyBnaXZlIDE14oCTMzAgaW5jbHVkaW5nIGEgaGFuZGZ1bCBvZiBJcmFuaWFuIHZpY3Rvcmllcy4gTG9zc2VzIHdlcmUgbG9uZyB1bmRlci1yZXBvcnRlZDogSXJhbmlhbiBGLTVzIGxvc3Qgcm91Z2hseSAxMOKAkzI1IGluIGFpciBjb21iYXQgdG8gSXJhcWkgTWlHLTIxcywgTWlHLTIzcyBhbmQgTWlyYWdlIEYxcy4gQSBkaXNwdXRlZCBJcmFuaWFuIE1pRy0yNSBjbGFpbSAoMTk4MykgaXMgZXhjbHVkZWQuIixjb25mbGljdHM6W3t5cjoiMTk3N+KAkzc4IixuOiJPZ2FkZW4gV2FyIixuYXRpb246IkV0aGlvcGlhIixrOjIwLGw6MCxkOiJFdGhpb3BpYW4gRi01cyBjcmVkaXRlZCB3aXRoIH4yNSBTb21hbGkgTWlHLTE3cyBhbmQgTWlHLTIxcyAoYWJvdXQgMTHigJMyMSB2ZXJpZmlhYmxlKTsgYXQgbGVhc3QgMyBGLTVzIGxvc3QgdG8gZ3JvdW5kIGZpcmUuIn0se3lyOiIxOTgw4oCTODgiLG46IklyYW7igJNJcmFxIFdhciIsbmF0aW9uOiJJcmFuIixrOjUsbDoxNSxkOiJJUklBRiBGLTVFcyBzY29yZWQgfjTigJM2IGtpbGxzIGJ1dCBsb3N0IHJvdWdobHkgMTDigJMyNSB0byBJcmFxaSBmaWdodGVycyDigJQgdGhlIHR5cGXigJlzIGhlYXZpZXN0IGFpci1jb21iYXQgbG9zc2VzLiBBIGRpc3B1dGVkIE1pRy0yNSBjbGFpbSBpcyBleGNsdWRlZC4ifV0sZmFtb3VzOiJFdGhpb3BpYW4gRi01RXMgc2hvdCBkb3duIHJvdWdobHkgMjUgU29tYWxpIE1pRy0xN3MgYW5kIE1pRy0yMXMgZHVyaW5nIHRoZSAxOTc34oCTNzggT2dhZGVuIFdhci4ifSwKe25hbWU6IkYtMTA0IFN0YXJmaWdodGVyIixmdWxsOiJMb2NraGVlZCBGLTEwNCBTdGFyZmlnaHRlciIsb3JpZ2luOiJVbml0ZWQgU3RhdGVzIixnZW46IjJuZCIsZmlyc3RGbGlnaHQ6MTk1NCxyb2xlOiJJbnRlcmNlcHRvciIsa2lsbHM6Nixsb3NzZXM6NCxscjoiNOKAkzgiLGdyb3VuZDowLHN0YXR1czoicHJvdmVuIixyZXRpcmVkOnRydWUsbm90ZToiS2lsbHMgc3ByZWFkIGFjcm9zcyBQYWtpc3RhbmkgYW5kIFRhaXdhbmVzZSBzZXJ2aWNlOyBzZXZlcmFsIDE5NjUtd2FyIGNsYWltcyBhcmUgZGVuaWVkIGJ5IHRoZSBvdGhlciBzaWRlLiBBaXItY29tYmF0IGxvc3NlcyBydW4gNOKAkzggZGVwZW5kaW5nIG9uIHdob3NlIGNsYWltcyB5b3UgYWNjZXB0IOKAlCBpbmNsdWRpbmcgYSBVU0FGIEYtMTA0QyBkb3duZWQgYnkgYSBDaGluZXNlIE1pRy0xOSBuZWFyIEhhaW5hbiBpbiAxOTY1LiIsY29uZmxpY3RzOlt7eXI6IjE5NjUiLG46IkluZG8tUGFraXN0YW5pIFdhciIsbmF0aW9uOiJQYWtpc3RhbiIsazoyLGw6MCxkOiJDbGFpbWVkIGEgTXlzdMOocmUgSVYgYW5kIENhbmJlcnJhczsgc29tZSBjbGFpbXMgZGVuaWVkIGJ5IEluZGlhLiJ9LHt5cjoiMTk2NSIsbjoiVmlldG5hbSBXYXIgKEhhaW5hbikiLG5hdGlvbjoiVVNBIixrOjAsbDoxLGQ6IkEgVVNBRiBGLTEwNEMgc3RyYXllZCBvdmVyIENoaW5lc2UgSGFpbmFuIGFuZCB3YXMgZG93bmVkIGJ5IGEgUExBQUYgTWlHLTE5OyBDYXB0LiBQaGlsaXAgU21pdGggc3BlbnQgb3ZlciBzZXZlbiB5ZWFycyBhcyBhIFBPVy4ifSx7eXI6IjE5NjciLG46IlRhaXdhbiBTdHJhaXQgY2xhc2giLG5hdGlvbjoiVGFpd2FuIixrOjIsbDoxLGQ6IlR3byBST0NBRiBGLTEwNEdzIGVhY2ggZG93bmVkIGEgUExBQUYgTWlHLTE5OyBvbmUgRi0xMDQgcGlsb3QgbG9zdC4ifSx7eXI6IjE5NzEiLG46IkluZG8tUGFraXN0YW5pIFdhciIsbmF0aW9uOiJQYWtpc3RhbiIsazoyLGw6MixkOiJNaXhlZCBjbGFpbXM7IDIgRi0xMDRzIGxvc3QgdG8gSW5kaWFuIE1pRy0yMXMuIn1dLGZhbW91czoiVGFpd2FuZXNlIEYtMTA0R3MgZG93bmVkIHR3byBDaGluZXNlIE1pRy0xOXMgaW4gdGhlIEphbnVhcnkgMTk2NyBjbGFzaCBvdmVyIHRoZSBUYWl3YW4gU3RyYWl0LiJ9LAp7bmFtZToiTWlyYWdlIElJSSAvIDUiLGZ1bGw6IkRhc3NhdWx0IE1pcmFnZSBJSUkgLyBNaXJhZ2UgNSIsb3JpZ2luOiJGcmFuY2UiLGdlbjoiMm5kLzNyZCIsZmlyc3RGbGlnaHQ6MTk1Nixyb2xlOiJJbnRlcmNlcHRvciAvIG11bHRpcm9sZSIsa2lsbHM6MTAwLGtyOiIxMDDigJMyMjAiLGxvc3NlczoxNSxscjoiOOKAkzM1Iixncm91bmQ6MCxzdGF0dXM6InByb3ZlbiIscmV0aXJlZDp0cnVlLG5vdGU6In4xMDAgaXMgdGhlIGNvbnNlcnZhdGl2ZSBjb25zZW5zdXMgZm9yIHRoZSBJc3JhZWxpIE1pcmFnZSBJSUlDSiBhbG9uZTsgY29tcGlsZWQgSXNyYWVsaSBjcmVkaXQgbGlzdHMgcnVuIHRvIH4yMjAsIGJ1dCBtYW55IGtpbGxzIGNhbm5vdCBiZSBzcGxpdCBmcm9tIHRoZSBJc3JhZWxpLWJ1aWx0IE5lc2hlciBkZXJpdmF0aXZlLCB3aGljaCBpcyBjb3VudGVkIHNlcGFyYXRlbHkuIExvc3NlcyByYW5nZSBmcm9tIElzcmFlbCdzIG9mZmljaWFsIGFjY291bnRpbmcgKH444oCTMTIpIHRvIH4zNSBpbiBvcHBvc2luZyBjbGFpbXMuIixjb25mbGljdHM6W3t5cjoiMTk2NyIsbjoiU2l4LURheSBXYXIiLG5hdGlvbjoiSXNyYWVsIixrOjQ4LGw6MCxkOiJJc3JhZWxpIE1pcmFnZSBJSUlDSiBjbGFpbWVkIH40OCBvZiA1OCBBcmFiIGFpcmNyYWZ0IGRvd25lZCBpbiBhaXIgY29tYmF0LiJ9LHt5cjoiMTk3MSIsbjoiSW5kby1QYWtpc3RhbmkgV2FyIixuYXRpb246IlBha2lzdGFuIixrOjMsbDowLGQ6IlBBRiBNaXJhZ2VzIGNsYWltZWQgQ2FuYmVycmFzLCBhIFN1LTcgYW5kIGEgSHVudGVyIHdpdGggbm8gbG9zc2VzIHJlcG9ydGVkLiJ9LHt5cjoiMTk4MiIsbjoiRmFsa2xhbmRzIFdhciIsbmF0aW9uOiJBcmdlbnRpbmEiLGs6MCxsOjEyLGQ6IkFyZ2VudGluZSBNaXJhZ2UgSUlJIC8gRGFnZ2VyIGxvc3NlcywgbW9zdGx5IHRvIFNlYSBIYXJyaWVyIFNpZGV3aW5kZXJzLiJ9XSxmYW1vdXM6IklzcmFlbGkgTWlyYWdlIElJSUNKcyBjbGFpbWVkIHRoZSBidWxrIG9mIEFyYWIgYWlyY3JhZnQgZGVzdHJveWVkIGluIHRoZSAxOTY3IFNpeC1EYXkgV2FyLiJ9LAp7bmFtZToiTWlyYWdlIEYxIixmdWxsOiJEYXNzYXVsdCBNaXJhZ2UgRjEiLG9yaWdpbjoiRnJhbmNlIixnZW46IjNyZCIsZmlyc3RGbGlnaHQ6MTk2Nixyb2xlOiJJbnRlcmNlcHRvciAvIG11bHRpcm9sZSIsa2lsbHM6Mzksa3I6IjM14oCTNTgiLGxvc3NlczozNSxscjoiMjXigJM0NCIsZ3JvdW5kOjAsc3RhdHVzOiJwcm92ZW4iLHJldGlyZWQ6dHJ1ZSxub3RlOiJJcmFxaSBGMXMgd2VyZSBib3RoIHByb2xpZmljIGtpbGxlcnMgYW5kIGhlYXZ5IGxvc2VycyBpbiB0aGUgSXJhbuKAk0lyYXEgV2FyIOKAlCB0aGUgY2xvc2VzdCB0aGluZyB0byBhICdicmVhay1ldmVuJyByZWNvcmQgYW1vbmcgbWFqb3IgdHlwZXMuIENsYWltZWQtdnMtY29uZmlybWVkIGdhcHMgYXJlIHdpZGUgb24gYm90aCBzaWRlczogMzXigJM1OCBraWxscyBjbGFpbWVkICh3ZWxsIHVuZGVyIDMwIGluZGVwZW5kZW50bHkgY29uZmlybWVkKSBhZ2FpbnN0IDI14oCTNDQgbG9zc2VzLiIsY29uZmxpY3RzOlt7eXI6IjE5ODDigJM4OCIsbjoiSXJhbuKAk0lyYXEgV2FyIixuYXRpb246IklyYXEiLGs6MzUsbDozNSxkOiJDbGFpbWVkIH4zNSBJcmFuaWFuIGFpcmNyYWZ0IGluY2wuIEYtMTRzOyAzMyBJcmFxaSBGMXMgZG93bmVkIGJ5IElyYW5pYW4gRi0xNHMgKyAyIGJ5IEYtNHMuIn0se3lyOiIxOTgx4oCTODgiLG46IlMuIEFmcmljYW4gQm9yZGVyIFdhciIsbmF0aW9uOiJTLiBBZnJpY2EiLGs6MixsOjAsZDoiU0FBRiBNaXJhZ2UgRjFDWiBkb3duZWQgdHdvIEFuZ29sYW4gTWlHLTIxcy4ifSx7eXI6IjE5OTEiLG46Ikd1bGYgV2FyIixuYXRpb246IklyYXEiLGs6MCxsOjksZDoifjkgSXJhcWkgRjFzIGRvd25lZCBpbiBhaXIgY29tYmF0LCBtb3N0bHkgYnkgVVNBRiBGLTE1cy4ifV0sZmFtb3VzOiJJcmFxaSBNaXJhZ2UgRjFzIGRvd25lZCBzZXZlcmFsIElyYW5pYW4gRi0xNCBUb21jYXRzIGR1cmluZyB0aGUgbG93LWFsdGl0dWRlICdHaXJhZmZlJyBtaXNzaW9ucyBvZiB0aGUgSXJhbuKAk0lyYXEgV2FyLiJ9LAp7bmFtZToiTWlyYWdlIDIwMDAiLGZ1bGw6IkRhc3NhdWx0IE1pcmFnZSAyMDAwIixvcmlnaW46IkZyYW5jZSIsZ2VuOiI0dGgiLGZpcnN0RmxpZ2h0OjE5Nzgscm9sZToiTXVsdGlyb2xlIixraWxsczoxLGxvc3NlczowLGdyb3VuZDowLHN0YXR1czoicHJvdmVuIixub3RlOiJBIEdyZWVrIE1pcmFnZSAyMDAwIHNob3QgZG93biBhIFR1cmtpc2ggRi0xNiBvdmVyIHRoZSBBZWdlYW4gaW4gMTk5NiDigJQgdGhlIHR5cGUncyBmaXJzdCBhaXItdG8tYWlyIGtpbGwuIFR1cmtleSBjb25maXJtZWQgdGhlIGxvc3MgaW4gMjAxMjsgR3JlZWNlIGhhcyBuZXZlciBvZmZpY2lhbGx5IGFja25vd2xlZGdlZCBpdC4gSW5kaWFuIE1pcmFnZSAyMDAwcyBmbGV3IHN0cmlrZSBtaXNzaW9ucyBpbiB0aGUgTWF5IDIwMjUgY2xhc2ggd2l0aCBQYWtpc3RhbjsgYSBsb3NzIHdhcyBhbGxlZ2VkIGJ1dCBuZXZlciBjb25maXJtZWQuIixjb25mbGljdHM6W3t5cjoiMTk5OSIsbjoiS2FyZ2lsIFdhciIsbmF0aW9uOiJJbmRpYSIsazowLGw6MCxkOiJ+MjQwIHN0cmlrZSBzb3J0aWVzOyBubyBhaXItdG8tYWlyIGNvbWJhdC4ifSx7eXI6IjIwMjUiLG46IlJ1c3NvLVVrcmFpbmlhbiBXYXIiLG5hdGlvbjoiVWtyYWluZSIsazowLGw6MCxkOiJBIFVrcmFpbmlhbiBNaXJhZ2UgMjAwMCBkZXN0cm95ZWQgYSBLaC0xMDEgY3J1aXNlIG1pc3NpbGUgaW4gMjAyNSDigJQgbm90IGEgbWFubmVkIGFpcmNyYWZ0LiJ9XSxmYW1vdXM6Ik5vIGNvbmZpcm1lZCBhaXItdG8tYWlyIGtpbGwgYWdhaW5zdCBhIG1hbm5lZCBhaXJjcmFmdDsgYSAxOTk2IEdyZWVrIGNsYWltIG92ZXIgYSBUdXJraXNoIEYtMTYgcmVtYWlucyBkaXNwdXRlZC4ifSwKe25hbWU6IlJhZmFsZSIsZnVsbDoiRGFzc2F1bHQgUmFmYWxlIixvcmlnaW46IkZyYW5jZSIsZ2VuOiI0LjUiLGZpcnN0RmxpZ2h0OjE5ODYscm9sZToiT21uaXJvbGUiLGtpbGxzOjAsbG9zc2VzOjEsZ3JvdW5kOjAsc3RhdHVzOiJwcm92ZW4iLG5vdGU6IkluIE1heSAyMDI1IGF0IGxlYXN0IG9uZSBJbmRpYW4gUmFmYWxlIHdhcyBzaG90IGRvd24gZHVyaW5nIHRoZSBJbmRpYeKAk1Bha2lzdGFuIGFpciBiYXR0bGUsIGluZGVwZW5kZW50bHkgY29uZmlybWVkIGJ5IFVTIGFuZCBGcmVuY2ggb2ZmaWNpYWxzLiBQYWtpc3RhbiBjbGFpbWVkIHVwIHRvIHRocmVlOyBvbmx5IG9uZSBpcyB2ZXJpZmllZC4gVGhlIFJhZmFsZSBoYXMgeWV0IHRvIHNjb3JlIGFuIGFpci10by1haXIga2lsbC4iLGNvbmZsaWN0czpbe3lyOiIyMDEx4oCTMjUiLG46IkxpYnlhL01hbGkvSXJhcS9TeXJpYSIsbmF0aW9uOiJGcmFuY2UiLGs6MCxsOjAsZDoiRXh0ZW5zaXZlIGFpci10by1ncm91bmQgYW5kIHN0cmlrZSBvcGVyYXRpb25zOyBubyBjb25maXJtZWQgYWlyLXRvLWFpciB2aWN0b3J5LiJ9LHt5cjoiMjAyNSIsbjoiSW5kaWHigJNQYWtpc3RhbiAoU2luZG9vcikiLG5hdGlvbjoiSW5kaWEiLGs6MCxsOjAsZDoiUGFraXN0YW4gY2xhaW1lZCBSYWZhbGUgbG9zc2VzOyBjb250ZXN0ZWQsIG5vIG9mZmljaWFsIGNvbmZpcm1hdGlvbiDigJQgZXhjbHVkZWQuIn1dLGZhbW91czoiQ29tYmF0LXByb3ZlbiBpbiBzdHJpa2UgY2FtcGFpZ25zIHNpbmNlIExpYnlhIDIwMTE7IG5vIGFpci10by1haXIga2lsbCBjcmVkaXRlZCwgYW5kIHRoZSAyMDI1IGxvc3MgY2xhaW1zIHJlbWFpbiB1bnZlcmlmaWVkLiJ9LAp7bmFtZToiU2VhIEhhcnJpZXIiLGZ1bGw6IkJyaXRpc2ggQWVyb3NwYWNlIFNlYSBIYXJyaWVyIixvcmlnaW46IlVuaXRlZCBLaW5nZG9tIixnZW46IjNyZCIsZmlyc3RGbGlnaHQ6MTk3OCxyb2xlOiJWL1NUT0wgY2FycmllciBmaWdodGVyIixraWxsczoyMCxrcjoiMjDigJMyMyIsbG9zc2VzOjAsZ3JvdW5kOjIsc3RhdHVzOiJwcm92ZW4iLHJldGlyZWQ6dHJ1ZSxub3RlOiJBIDIwLXRvLTAgYWlyLWNvbWJhdCByZWNvcmQgaW4gdGhlIEZhbGtsYW5kcy4gMjAgY29uZmlybWVkIHBsdXMgMyBwcm9iYWJsZXMg4oCUIHdoaWNoIGlzIHdoZXJlIHRoZSAyM+KAkzI0IGluIHBvcHVsYXIgc291cmNlcyBjb21lcyBmcm9tOyAyMCBpcyB0aGUgY29uc2VydmF0aXZlLCBicm9hZGx5IGFncmVlZCBmaWd1cmUuIixjb25mbGljdHM6W3t5cjoiMTk4MiIsbjoiRmFsa2xhbmRzIFdhciIsbmF0aW9uOiJVSyIsazoyMCxsOjAsZDoiMjAgQXJnZW50aW5lIGFpcmNyYWZ0IGRvd25lZCB3aXRoIHplcm8gYWlyLXRvLWFpciBsb3NzZXM7IHRoZSBBSU0tOUwgU2lkZXdpbmRlciB3YXMgZGVjaXNpdmUuIDIgbG9zdCB0byBncm91bmQgZmlyZSwgNCB0byBhY2NpZGVudHMuIn1dLGZhbW91czoiSW4gdGhlIEZhbGtsYW5kcyB0aGUgU2VhIEhhcnJpZXIgYWNoaWV2ZWQgYSAyMC10by0wIGFpci1jb21iYXQgcmVjb3JkIGFnYWluc3QgdGhlIEFyZ2VudGluZSBBaXIgRm9yY2UgYW5kIE5hdnkuIn0sCntuYW1lOiJJQUkgS2ZpciIsZnVsbDoiSXNyYWVsIEFlcm9zcGFjZSBJbmR1c3RyaWVzIEtmaXIiLG9yaWdpbjoiSXNyYWVsIixnZW46IjNyZC80dGgiLGZpcnN0RmxpZ2h0OjE5NzMscm9sZToiTXVsdGlyb2xlIixraWxsczoyLGxvc3NlczowLGdyb3VuZDowLHN0YXR1czoicHJvdmVuIixub3RlOiJUd28ga2lsbHMgYXJlIGZpcm1seSBjb25maXJtYWJsZSDigJQgYSBTeXJpYW4gTWlHLTIxICgxOTc5KSBhbmQgYSBQZXJ1dmlhbiBBLTM3QiAoMTk5NSkg4oCUIGFuZCBubyBLZmlyIGhhcyBldmVyIGJlZW4gbG9zdCBpbiBhaXItdG8tYWlyIGNvbWJhdC4gVGhlIHR5cGUgc2hpZnRlZCBtb3N0bHkgdG8gZ3JvdW5kIGF0dGFjayBvbmNlIHRoZSBGLTE1IGFuZCBGLTE2IGFycml2ZWQuIixjb25mbGljdHM6W3t5cjoiMTk3OSIsbjoiRmlyc3QgS2ZpciBraWxsIixuYXRpb246IklzcmFlbCIsazoxLGw6MCxkOiJBIEtmaXIgQy4yIGRvd25lZCBhIFN5cmlhbiBNaUctMjEg4oCUIHRoZSB0eXBlJ3MgZmlyc3QgdmljdG9yeS4ifSx7eXI6IjE5OTUiLG46IkNlbmVwYSBXYXIiLG5hdGlvbjoiRWN1YWRvciIsazoxLGw6MCxkOiJBbiBFY3VhZG9yaWFuIEtmaXIgQy4yIGRvd25lZCBhIFBlcnV2aWFuIEEtMzdCIHdpdGggYSBTaGFmcmlyIDIgbWlzc2lsZSDigJQgdGhlIHR5cGXigJlzIG9ubHkga2lsbCBvdXRzaWRlIElzcmFlbGkgc2VydmljZS4gVGhlIG9mdGVuLWNpdGVkIDE5ODIgTGViYW5vbiBraWxsIGlzIHBvb3JseSBzb3VyY2VkIGFuZCBleGNsdWRlZC4ifV0sZmFtb3VzOiJBIEtmaXIgQy4yIHNjb3JlZCB0aGUgdHlwZSdzIGZpcnN0IGFpci10by1haXIga2lsbCBhZ2FpbnN0IGEgU3lyaWFuIE1pRy0yMSBvbiAyNyBKdW5lIDE5NzkuIn0sCntuYW1lOiJFdXJvZmlnaHRlciBUeXBob29uIixmdWxsOiJFdXJvZmlnaHRlciBUeXBob29uIixvcmlnaW46Ik11bHRpbmF0aW9uYWwiLGdlbjoiNC41IixmaXJzdEZsaWdodDoxOTk0LHJvbGU6Ik11bHRpcm9sZSAvIGFpciBzdXBlcmlvcml0eSIsa2lsbHM6MCxsb3NzZXM6MCxncm91bmQ6MCxzdGF0dXM6InN0cmlrZSIsbm90ZToiQ29tYmF0LXByb3ZlbiBhaXItdG8tZ3JvdW5kLCBidXQgaXRzIGFpci10by1haXIgcmVjb3JkIGlzIGxpbWl0ZWQgdG8gZHJvbmUvVUFWIGludGVyY2VwdHMgKGRlZmVuZGluZyBJc3JhZWwgMjAyNCwgTWlkZGxlIEVhc3QgMjAyNOKAkzI2KSDigJQgbm90IG1hbm5lZCBhaXJjcmFmdC4iLGNvbmZsaWN0czpbe3lyOiIyMDExIixuOiJMaWJ5YSIsbmF0aW9uOiJVSyAvIEl0YWx5IixrOjAsbDowLGQ6IkNvbWJhdCBkZWJ1dDsgYWlyLXRvLWdyb3VuZCBzdHJpa2UgYW5kIHJlY29ubmFpc3NhbmNlIG9ubHkuIn0se3lyOiIyMDE14oCTMTkiLG46IkFudGktSVNJUyAoU2hhZGVyKSIsbmF0aW9uOiJVSyIsazowLGw6MCxkOiJQcmVjaXNpb24gYWlyLXRvLWdyb3VuZCBzdHJpa2VzOyBubyBhaXItdG8tYWlyIGNvbWJhdC4ifSx7eXI6IjIwMjTigJMyNiIsbjoiRHJvbmUgZGVmZW5zZSIsbmF0aW9uOiJVSyIsazowLGw6MCxkOiJEZXN0cm95ZWQgc2V2ZXJhbCBJcmFuaWFuL0hvdXRoaSBkcm9uZXMg4oCUIGRyb25lIGtpbGxzLCBub3QgbWFubmVkLWFpcmNyYWZ0IGtpbGxzLiJ9XSxmYW1vdXM6Ik5vIGFpci10by1haXIgY29tYmF0IGFnYWluc3QgbWFubmVkIGFpcmNyYWZ0IHRvIGRhdGU7IGhhcyBzaG90IGRvd24gc2V2ZXJhbCBob3N0aWxlIGRyb25lcyAoMjAyNOKAkzI2KS4ifSwKe25hbWU6IlNhYWIgSkFTLTM5IEdyaXBlbiIsZnVsbDoiU2FhYiBKQVMgMzkgR3JpcGVuIixvcmlnaW46IlN3ZWRlbiIsZ2VuOiI0LjUiLGZpcnN0RmxpZ2h0OjE5ODgscm9sZToiTXVsdGlyb2xlIixraWxsczowLGxvc3NlczowLGdyb3VuZDowLHN0YXR1czoic3RyaWtlIixub3RlOiJGaXJzdCBsaXZlIGNvbWJhdDogUm95YWwgVGhhaSBBaXIgRm9yY2UgR3JpcGVucyBmbGV3IHByZWNpc2lvbiBzdHJpa2VzIGluIHRoZSBKdWx5IDIwMjUgYm9yZGVyIGNsYXNoIHdpdGggQ2FtYm9kaWEuIEVhcmxpZXIgdXNlIHdhcyByZWNvbm5haXNzYW5jZSAoU3dlZGVuIG92ZXIgTGlieWEsIDIwMTEpIGFuZCBOQVRPIEJhbHRpYyBhaXIgcG9saWNpbmcuIE5vIGFpci10by1haXIgY29tYmF0LiIsY29uZmxpY3RzOlt7eXI6IjIwMTEiLG46IkxpYnlhIixuYXRpb246IlN3ZWRlbiIsazowLGw6MCxkOiJ+NjUwIHJlY29ubmFpc3NhbmNlIGFuZCBhaXJzcGFjZS1tb25pdG9yaW5nIG1pc3Npb25zOyBubyB3ZWFwb25zIHJlbGVhc2VkLiJ9LHt5cjoiMjAyNSIsbjoiVGhhaeKAk0NhbWJvZGlhbiBjbGFzaGVzIixuYXRpb246IlRoYWlsYW5kIixrOjAsbDowLGQ6IlJlcG9ydGVkIGFpci10by1ncm91bmQgc3RyaWtlcyDigJQgcmVjZW50LCBsZXNzLXNldHRsZWQgcmVwb3J0aW5nLiJ9XSxmYW1vdXM6Ik5vIGFpci10by1haXIgY29tYmF0IHRvIGRhdGU7IGl0cyBjb21iYXQgdXNlIGlzIGxpbWl0ZWQgdG8gcmVjb25uYWlzc2FuY2UgYW5kIHJlcG9ydGVkIGFpci10by1ncm91bmQgc3RyaWtlcy4ifSwKe25hbWU6IlRvcm5hZG8gQURWIChGLjMpIixmdWxsOiJQYW5hdmlhIFRvcm5hZG8gQWlyIERlZmVuY2UgVmFyaWFudCIsb3JpZ2luOiJNdWx0aW5hdGlvbmFsIixnZW46IjR0aCIsZmlyc3RGbGlnaHQ6MTk3OSxyb2xlOiJMb25nLXJhbmdlIGludGVyY2VwdG9yIixraWxsczowLGxvc3NlczowLGdyb3VuZDowLHN0YXR1czoidW50ZXN0ZWQiLHJldGlyZWQ6dHJ1ZSxub3RlOiJEZXBsb3llZCByZXBlYXRlZGx5IChHdWxmIDE5OTEsIEJvc25pYSwgS29zb3ZvLCBJcmFxIDIwMDMpIGJ1dCBuZXZlciBlbmdhZ2VkIGFuIGVuZW15IGFpcmNyYWZ0LiBOb3cgcmV0aXJlZC4iLGNvbmZsaWN0czpbe3lyOiIxOTkxIixuOiJHdWxmIFdhciIsbmF0aW9uOiJVSyAvIFNhdWRpIixrOjAsbDowLGQ6IjIsMDAwKyBjb21iYXQgYWlyIHBhdHJvbCBzb3J0aWVzIGJ1dCBoZWxkIGJhY2sgZnJvbSBJcmFxaSBhaXJzcGFjZS4ifSx7eXI6IjE5OTPigJMyMDAzIixuOiJCYWxrYW5zIC8gSXJhcSIsbmF0aW9uOiJVSyIsazowLGw6MCxkOiJFc2NvcnQgYW5kIENBUCBkdXR5OyBubyBhaXItdG8tYWlyIGtpbGxzLCBubyBsb3NzZXMuIn1dLGZhbW91czoiVGhlIGludGVyY2VwdG9yIHZhcmlhbnQgbmV2ZXIgZW5nYWdlZCBhbiBlbmVteSBhaXJjcmFmdCBkZXNwaXRlIG11bHRpcGxlIGRlcGxveW1lbnRzIGJlZm9yZSByZXRpcmVtZW50LiJ9LAp7bmFtZToiVG9ybmFkbyBJRFMiLGZ1bGw6IlBhbmF2aWEgVG9ybmFkbyBJbnRlcmRpY3Rvci9TdHJpa2UiLG9yaWdpbjoiTXVsdGluYXRpb25hbCIsZ2VuOiI0dGgiLGZpcnN0RmxpZ2h0OjE5NzQscm9sZToiSW50ZXJkaWN0b3IgLyBzdHJpa2UiLGtpbGxzOjAsbG9zc2VzOjAsZ3JvdW5kOjgsc3RhdHVzOiJzdHJpa2UiLG5vdGU6IkhlYXZpbHkgY29tYmF0LXByb3ZlbiBpbiB0aGUgc3RyaWtlIHJvbGUuIEl0cyBtb3N0IHNpZ25pZmljYW50IGNvbWJhdCBsb3NzZXMg4oCUIH44IGFpcmZyYW1lcyDigJQgYWxsIGNhbWUgZnJvbSBJcmFxaSBncm91bmQgZmlyZSBpbiB0aGUgMTk5MSBHdWxmIFdhciwgbm9uZSB0byBhaXJjcmFmdC4iLGNvbmZsaWN0czpbe3lyOiIxOTkxIixuOiJHdWxmIFdhciIsbmF0aW9uOiJVSyAvIEl0YWx5IC8gU2F1ZGkiLGs6MCxsOjgsZDoifjggY29hbGl0aW9uIFRvcm5hZG8gSURTIGxvc3QgdG8gSXJhcWkgU0FNcyBhbmQgQUFBIGR1cmluZyBsb3ctbGV2ZWwgc3RyaWtlcy4ifSx7eXI6IjIwMTEiLG46IkxpYnlhIixuYXRpb246IlVLIC8gSXRhbHkiLGs6MCxsOjAsZDoiTG9uZy1yYW5nZSBwcmVjaXNpb24gc3RyaWtlczsgbm8gbG9zc2VzIHRvIGVuZW15IGFjdGlvbi4ifSx7eXI6IjIwMTTigJMxOSIsbjoiQW50aS1JU0lTIixuYXRpb246IlVLIixrOjAsbDowLGQ6IlN1c3RhaW5lZCBwcmVjaXNpb24gc3RyaWtlIGNhbXBhaWduOyBSQUYgR1I0IHJldGlyZWQgMjAxOS4ifV0sZmFtb3VzOiJObyBhaXItdG8tYWlyIGNvbWJhdDsgbG9zdCBhYm91dCBlaWdodCBhaXJmcmFtZXMgdG8gSXJhcWkgZ3JvdW5kIGZpcmUgaW4gdGhlIDE5OTEgR3VsZiBXYXIg4oCUIGl0cyBtb3N0IHNpZ25pZmljYW50IGxvc3Nlcy4ifSwKe25hbWU6Ik1pRy0yMSBGaXNoYmVkIixmdWxsOiJNaWtveWFuLUd1cmV2aWNoIE1pRy0yMSIsb3JpZ2luOiJVU1NSIixnZW46IjJuZCIsZmlyc3RGbGlnaHQ6MTk1NSxyb2xlOiJGaWdodGVyIC8gaW50ZXJjZXB0b3IiLGtpbGxzOjE1MCxrcjoiMTAw4oCTMTgwIixsb3NzZXM6MjUwLGxyOiIyMDDigJM1MDAiLGdyb3VuZDoyMDAsc3RhdHVzOiJwcm92ZW4iLG5vdGU6IlRoZSBzb2Z0ZXN0IG51bWJlcnMgb24gdGhlIHBhZ2U6IH4xMSw1MDAgYnVpbHQgYW5kIGNvbWJhdCBhY3Jvc3MgZm91ciBjb250aW5lbnRzLCB3aXRoIG5vIHJlY29uY2lsZWQgZ2xvYmFsIGxlZGdlci4gVG90YWxzIGFyZSByb3VuZGVkIGFnZ3JlZ2F0ZSBlc3RpbWF0ZXMgc2hvd24gYXMgcmFuZ2VzIOKAlCBjb25maXJtZWQga2lsbHMgfjEwMOKAkzE4MCAoY2xhaW1zIHJ1biBmYXIgaGlnaGVyKSBhZ2FpbnN0IH4yMDDigJM1MDAgYWlyLWNvbWJhdCBsb3NzZXMgZGVwZW5kaW5nIG9uIHdob3NlIGNyZWRpdHMgeW91IGFjY2VwdDsgdGhlIFZpZXRuYW0ga2lsbC1yYXRpbyByZW1haW5zIGEgZGVjYWRlcy1sb25nIGRpc3B1dGUuIixjb25mbGljdHM6W3t5cjoiMTk2NeKAkzczIixuOiJWaWV0bmFtIFdhciIsbmF0aW9uOiJOLiBWaWV0bmFtIixrOjY3LGw6NjUsZDoiVlBBRi1jcmVkaXRlZCBmaWd1cmVzOyBVUyBhY2NvdW50aW5nIGRpZmZlcnMgc2hhcnBseSDigJQgYW4gdW5yZXNvbHZlZCBkaXNwdXRlLiJ9LHt5cjoiMTk3MSIsbjoiSW5kby1QYWtpc3RhbmkgV2FyIixuYXRpb246IkluZGlhIixrOjgsbDo0LGQ6IkRvd25lZCBGLTEwNHMsIEYtNnMsIGEgU2FicmUgYW5kIGEgQy0xMzAg4oCUIHdlbGwgZG9jdW1lbnRlZC4ifSx7eXI6IjE5ODDigJM4OCIsbjoiSXJhbuKAk0lyYXEgV2FyIixuYXRpb246IklyYXEiLGs6NDMsbDo1MixkOiJCb3RoIHNpZGVzJyBjbGFpbXMgaW5mbGF0ZWQ7IGhlYXZ5IGxvc3NlcyB0byBJcmFuaWFuIEYtMTRzIGFuZCBGLTRzLiJ9LHt5cjoiMTk4MiIsbjoiTGViYW5vbiBXYXIiLG5hdGlvbjoiU3lyaWEiLGs6MCxsOjQwLGQ6In4zN+KAkzQ1IFN5cmlhbiBNaUctMjFzIGRvd25lZCBieSBJc3JhZWw7IG5vIGNvbmZpcm1lZCBTeXJpYW4ga2lsbHMuIn1dLGZhbW91czoiT25lIG9mIHRoZSBtb3N0LXByb2R1Y2VkIGFuZCBjb21iYXQtYWN0aXZlIGpldHMgZXZlciBidWlsdCDigJQgZmFzdCwgY2hlYXAgYW5kIGZsb3duIGJ5IGRvemVucyBvZiBhaXIgZm9yY2VzIGFjcm9zcyBmb3VyIGNvbnRpbmVudHMuIn0sCntuYW1lOiJNaUctMjMgRmxvZ2dlciIsZnVsbDoiTWlrb3lhbi1HdXJldmljaCBNaUctMjMiLG9yaWdpbjoiVVNTUiIsZ2VuOiIzcmQiLGZpcnN0RmxpZ2h0OjE5Njcscm9sZToiU3dpbmctd2luZyBmaWdodGVyIixraWxsczoxMixrcjoiOOKAkzIwIixsb3NzZXM6MzUsbHI6IjI14oCTNjAiLGdyb3VuZDo0MCxzdGF0dXM6InByb3ZlbiIsbm90ZToiQWJvdXQgMjAga2lsbHMgd2VyZSBjbGFpbWVkOyB+MTIgYXJlIGNvbmZpcm1hYmxlLiBMb3NzIHRhbGxpZXMgZGl2ZXJnZSBqdXN0IGFzIHdpZGVseTogfjI1IGNvbmZpcm1lZCwgNjArIGlmIElyYW5pYW4gYW5kIElzcmFlbGkgY2xhaW1zIGFyZSBjcmVkaXRlZC4gTm90YWJseSwgYW4gSXJhcWkgTWlHLTIzTUwgdHdpY2UgYmVzdGVkIHRoZSBmYXIgbW9yZSBjYXBhYmxlIEYtMTQgVG9tY2F0LiIsY29uZmxpY3RzOlt7eXI6IjE5ODDigJM4OCIsbjoiSXJhbuKAk0lyYXEgV2FyIixuYXRpb246IklyYXEiLGs6NyxsOjUsZDoiTWlHLTIzTUwgZG93bmVkIElyYW5pYW4gRi0xNCBUb21jYXRzIGluIDE5ODQgYW5kIDE5ODYuIn0se3lyOiIxOTgx4oCTODUiLG46IkxlYmFub24gLyBTeXJpYSIsbmF0aW9uOiJTeXJpYSIsazowLGw6MTIsZDoiMTHigJMxMyBTeXJpYW4gTWlHLTIzcyBsb3N0IGluIGFpciBjb21iYXQgd2l0aCBJc3JhZWwuIn0se3lyOiIxOTkxIixuOiJHdWxmIFdhciIsbmF0aW9uOiJJcmFxIixrOjAsbDo4LGQ6IlVTQUYgRi0xNXMgZG93bmVkIDggSXJhcWkgTWlHLTIzczsgbm8gTWlHLTIzIGtpbGxzLiJ9XSxmYW1vdXM6IkFuIElyYXFpIE1pRy0yM01MIHNob3QgZG93biBhbiBJcmFuaWFuIEYtMTQgVG9tY2F0IG9uIDExIEF1Z3VzdCAxOTg0IOKAlCBhIHJhcmUgb2NjYXNpb24gYSBGbG9nZ2VyIGJlc3RlZCB0aGUgVG9tY2F0LiJ9LAp7bmFtZToiTWlHLTI1IEZveGJhdCIsZnVsbDoiTWlrb3lhbi1HdXJldmljaCBNaUctMjUiLG9yaWdpbjoiVVNTUiIsZ2VuOiIzcmQiLGZpcnN0RmxpZ2h0OjE5NjQscm9sZToiSGlnaC1zcGVlZCBpbnRlcmNlcHRvciIsa2lsbHM6MTAsa3I6IjXigJMxNSIsbG9zc2VzOjcsbHI6IjbigJMxNiIsZ3JvdW5kOjEsc3RhdHVzOiJwcm92ZW4iLHJldGlyZWQ6dHJ1ZSxub3RlOiJDYXJlZXIgZmlndXJlcyBzcGFuIHRoZSBJcmFu4oCTSXJhcSBXYXIsIFN5cmlhbiBsb3NzZXMgb3ZlciBMZWJhbm9uLCBEZXNlcnQgU3Rvcm0gYW5kIHRoZSBuby1mbHkgem9uZXMg4oCUIHNvdXJjZXMgZGl2ZXJnZSB3aWRlbHksIHNvIHJhbmdlcyBhcmUgc2hvd24uIFNjb3JlZCB0aGUgb25seSBjb25maXJtZWQgSXJhcWkgYWlyLXRvLWFpciBraWxsIG9mIERlc2VydCBTdG9ybSwgYW5kIGxhdGVyIHRoZSBmaXJzdCBhaXJjcmFmdC12cy1kcm9uZSBraWxsIGluIGhpc3RvcnkgKDIwMDIsIG5vdCBjb3VudGVkIGluIHRoZSB0b3RhbCkuIixjb25mbGljdHM6W3t5cjoiMTk4MOKAkzg4IixuOiJJcmFu4oCTSXJhcSBXYXIiLG5hdGlvbjoiSXJhcSIsazo5LGw6MixkOiJJcmFxaSBGb3hiYXRzIOKAlCBDb2wuIE1vaGFtbWVkIFJheXlhbiBhbG9uZSB3YXMgY3JlZGl0ZWQgd2l0aCB+OCDigJQgZG93bmVkIElyYW5pYW4gRi00cywgRi01cywgYSBDLTEzMCwgYW4gRi0xNCBhbmQgdGhlIEZva2tlciBGLTI3IGFpcmxpbmVyIHNob290ZG93biBvZiAxOTg2LiBJcmFuIGNsYWltcyB1cCB0byAxMCBGb3hiYXRzIGluIHJldHVybjsgb25seSBhIGNvdXBsZSBhcmUgY29uZmlybWVkLiJ9LHt5cjoiMTk4MSIsbjoiTGViYW5vbiAvIFN5cmlhIixuYXRpb246IlN5cmlhIixrOjAsbDoyLGQ6IlR3byBTeXJpYW4gTWlHLTI1cyBmZWxsIHRvIElzcmFlbGkgRi0xNXMgaW4gMTk4MTsgYSByZWNvbm5haXNzYW5jZSBNaUctMjVSQiBsb3N0IGluIDE5ODIgaXMgc29tZXRpbWVzIGFkZGVkLiJ9LHt5cjoiMTk5MSIsbjoiR3VsZiBXYXIiLG5hdGlvbjoiSXJhcSIsazoxLGw6MixkOiJEb3duZWQgYSBVUyBOYXZ5IEYvQS0xOCAoU3BlaWNoZXIpIOKAlCBJcmFx4oCZcyBvbmx5IGNvbmZpcm1lZCBBMkEga2lsbCBvZiB0aGUgd2FyOyB0d28gTWlHLTI1cyBsb3N0IHRvIEYtMTVzLiJ9LHt5cjoiMTk5Mi8yMDAyIixuOiJOby1mbHkgem9uZXMiLG5hdGlvbjoiSXJhcSIsazowLGw6MSxkOiJPbmUgTWlHLTI1IGZlbGwgdG8gYSBVU0FGIEYtMTYgaW4gRGVjZW1iZXIgMTk5MiDigJQgdGhlIGZpcnN0IGNvbWJhdCBBTVJBQU0ga2lsbC4gSW4gMjAwMiBhIEZveGJhdCBkb3duZWQgYW4gTVEtMSBQcmVkYXRvcjogdGhlIGZpcnN0IGFpcmNyYWZ0LXZzLWRyb25lIGtpbGwsIG5vdGVkIGJ1dCBub3QgY291bnRlZC4ifV0sZmFtb3VzOiJPbiAxNyBKYW51YXJ5IDE5OTEgYW4gSXJhcWkgTWlHLTI1IGRvd25lZCBhIFVTIE5hdnkgRi9BLTE4IOKAlCB0aGUgc29sZSBjb25maXJtZWQgYWlyLXRvLWFpciBraWxsIHNjb3JlZCBieSBJcmFxIGR1cmluZyBEZXNlcnQgU3Rvcm0uIn0sCntuYW1lOiJNaUctMjkgRnVsY3J1bSIsZnVsbDoiTWlrb3lhbiBNaUctMjkiLG9yaWdpbjoiVVNTUiIsZ2VuOiI0dGgiLGZpcnN0RmxpZ2h0OjE5Nzcscm9sZToiQWlyIHN1cGVyaW9yaXR5IixraWxsczowLGxvc3NlczoxNSxncm91bmQ6MzAsc3RhdHVzOiJwcm92ZW4iLG5vdGU6IkRlc3BpdGUgaGVhdnkgY29tYmF0IGV4cG9zdXJlIHRoZXJlIGlzIG5vIGJyb2FkbHkgYWNjZXB0ZWQgTWlHLTI5IGtpbGwgYWdhaW5zdCBhIGZpeGVkLXdpbmcgbWFubmVkIGFpcmNyYWZ0IOKAlCBhbmQgYSBsb25nIGxpc3Qgb2YgbG9zc2VzIHRvIEYtMTVzLCBGLTE2cyBhbmQgZXZlbiB0aGUgU3UtMjcuIEl0cyBvbmx5IGNvbmZpcm1lZCBzaG9vdGRvd25zIOKAlCB0d28gdW5hcm1lZCBjaXZpbGlhbiBDZXNzbmFzIGRlc3Ryb3llZCBieSBhIEN1YmFuIE1pRy0yOSBpbiAxOTk2IOKAlCBmYWxsIG91dHNpZGUgdGhlIG1pbGl0YXJ5LWFpcmNyYWZ0IGNvbnZlbnRpb24gYW5kIGFyZSBub3QgY291bnRlZC4iLGNvbmZsaWN0czpbe3lyOiIxOTkxIixuOiJHdWxmIFdhciIsbmF0aW9uOiJJcmFxIixrOjAsbDo1LGQ6IkZpdmUgSXJhcWkgTWlHLTI5cyBkb3duZWQgYnkgRi0xNXMgKG9uZSB2aWEgZnJhdHJpY2lkZSk7IG5vIGtpbGxzLiJ9LHt5cjoiMTk5OSIsbjoiS29zb3ZvIFdhciIsbmF0aW9uOiJZdWdvc2xhdmlhIixrOjAsbDo2LGQ6IlNpeCBZdWdvc2xhdiBNaUctMjlzIGRvd25lZCBieSBOQVRPIEYtMTVzL0YtMTZzLiJ9LHt5cjoiMTk5OeKAkzIwMDAiLG46IkVyaXRyZWHigJNFdGhpb3BpYSIsbmF0aW9uOiJFcml0cmVhIixrOjAsbDoyLGQ6IlRoZSBvbmx5IE1pRy0yOS12cy1TdS0yNyBkdWVscyBldmVyIOKAlCB0d28gRXJpdHJlYW4gRnVsY3J1bXMgZG93bmVkIGJ5IEV0aGlvcGlhbiBGbGFua2Vycy4ifSx7eXI6IjIwMjLigJMyNSIsbjoiUnVzc28tVWtyYWluaWFuIFdhciIsbmF0aW9uOiJVa3JhaW5lIixrOjAsbDoyOSxkOiJ+MjkgVWtyYWluaWFuIE1pRy0yOXMgdmlzdWFsbHkgY29uZmlybWVkIGxvc3QgdG8gbWl4ZWQgY2F1c2VzOyB1c2VkIGZvciBIQVJNL0pEQU0gc3RyaWtlcy4ifV0sZmFtb3VzOiJJbiBGZWJydWFyeSAxOTk5IHRoZSBNaUctMjkgbWV0IGl0cyBzdGFibGVtYXRlIHRoZSBTdS0yNyBpbiBjb21iYXQgZm9yIHRoZSBvbmx5IHRpbWUgaW4gaGlzdG9yeSDigJQgYW5kIGxvc3QgZGVjaXNpdmVseS4ifSwKe25hbWU6Ik1pRy0zMSBGb3hob3VuZCIsZnVsbDoiTWlrb3lhbiBNaUctMzEiLG9yaWdpbjoiVVNTUiAvIFJ1c3NpYSIsZ2VuOiI0dGgiLGZpcnN0RmxpZ2h0OjE5NzUscm9sZToiTG9uZy1yYW5nZSBpbnRlcmNlcHRvciIsa2lsbHM6Mixsb3NzZXM6MCxncm91bmQ6MyxzdGF0dXM6InByb3ZlbiIsbm90ZToiUnVzc2lhJ3MgbG9uZy1yYW5nZSBpbnRlcmNlcHRvciBoYXMgYmVlbiBjcmVkaXRlZCB3aXRoIHNldmVyYWwga2lsbHMgb2YgVWtyYWluaWFuIGFpcmNyYWZ0IHVzaW5nIHRoZSBSLTM3TSBtaXNzaWxlIHNpbmNlIDIwMjIsIHRob3VnaCBjcmVkaXQgaXMgYmx1cnJlZCB3aXRoIHRoZSBTdS0zNSwgd2hpY2ggZmlyZXMgdGhlIHNhbWUgd2VhcG9uLiBObyBNaUctMzEgaGFzIGJlZW4gbG9zdCBpbiBhaXIgY29tYmF0LiIsY29uZmxpY3RzOlt7eXI6IjIwMjLigJMyNSIsbjoiUnVzc28tVWtyYWluaWFuIFdhciIsbmF0aW9uOiJSdXNzaWEiLGs6MCxsOjAsZDoiUmVwb3J0ZWQgUi0zN00ga2lsbHMgYXJlIHVudmVyaWZpZWQ7IE1pRy0zMUsgbGF1bmNoZXMgS2luemhhbCBtaXNzaWxlcy4gfjMgbG9zdCBvbiB0aGUgZ3JvdW5kIC8gdG8gYWNjaWRlbnRzLCBub25lIHRvIGVuZW15IGFpcmNyYWZ0LiJ9XSxmYW1vdXM6IlRoZSBNaUctMzEncyBjb21iYXQgY29udHJpYnV0aW9uIGhhcyBiZWVuIGFzIGEgc3RhbmQtb2ZmIG1pc3NpbGUgdHJ1Y2sg4oCUIGxhdW5jaGluZyBSLTM3TSBhbmQgS2luemhhbCBzaG90cyDigJQgcmF0aGVyIHRoYW4gYXMgYSBkb2dmaWdodGVyLiJ9LAp7bmFtZToiU3UtMjcgRmxhbmtlciIsZnVsbDoiU3VraG9pIFN1LTI3IixvcmlnaW46IlVTU1IgLyBSdXNzaWEiLGdlbjoiNHRoIixmaXJzdEZsaWdodDoxOTc3LHJvbGU6IkFpciBzdXBlcmlvcml0eSIsa2lsbHM6Myxsb3NzZXM6MSxncm91bmQ6MTksc3RhdHVzOiJwcm92ZW4iLG5vdGU6IlVuZGVmZWF0ZWQgaW4gYWlyLXRvLWFpciBjb21iYXQg4oCUIGl0cyBvbmx5IGFpci1jb21iYXQgYWN0aW9uIHdhcyBiZWF0aW5nIHRoZSBNaUctMjkgb3ZlciB0aGUgSG9ybiBvZiBBZnJpY2EuIEdyb3VuZCBsb3NzZXMgYXJlIGFsbW9zdCBhbGwgZnJvbSB0aGUgVWtyYWluZSB3YXIgKGJvdGggb3BlcmF0b3JzKS4iLGNvbmZsaWN0czpbe3lyOiIxOTk44oCTMjAwMCIsbjoiRXJpdHJlYeKAk0V0aGlvcGlhIixuYXRpb246IkV0aGlvcGlhIixrOjMsbDowLGQ6IkRvd25lZCAy4oCTMyBFcml0cmVhbiBNaUctMjlzICh1cCB0byA1IGNsYWltZWQpIGluIHRoZSBvbmx5IEZsYW5rZXItdnMtRnVsY3J1bSBjb21iYXQgaW4gaGlzdG9yeS4ifSx7eXI6IjIwMDAiLG46IkFuZ29sYW4gQ2l2aWwgV2FyIixuYXRpb246IkFuZ29sYSIsazowLGw6MCxkOiJPbmUgU3UtMjcgbG9zdCB0byBhIE1BTlBBRFMgb24gbGFuZGluZyDigJQgbm90IGFpci10by1haXIuIn0se3lyOiIyMDIy4oCTMjUiLG46IlJ1c3NvLVVrcmFpbmlhbiBXYXIiLG5hdGlvbjoiVWtyYWluZSAvIFJ1c3NpYSIsazowLGw6MCxkOiJ+MTkgVWtyYWluaWFuIFN1LTI3cyB2aXN1YWxseSBjb25maXJtZWQgbG9zdCB0byBTQU1zL2dyb3VuZCBzdHJpa2VzOyBubyBjb25maXJtZWQgQTJBIGtpbGxzIGVpdGhlciBzaWRlLiJ9XSxmYW1vdXM6Ik9uIDI14oCTMjYgRmVicnVhcnkgMTk5OSBhbiBFdGhpb3BpYW4gU3UtMjcgZG93bmVkIHR3byBFcml0cmVhbiBNaUctMjlzIGluIHRoZSBvbmx5IEZsYW5rZXItdnMtRnVsY3J1bSBkb2dmaWdodHMgZXZlciBmb3VnaHQuIn0sCntuYW1lOiJTdS0zMCIsZnVsbDoiU3VraG9pIFN1LTMwIChpbmNsLiBNS0kvU00pIixvcmlnaW46IlJ1c3NpYSIsZ2VuOiI0LjUiLGZpcnN0RmxpZ2h0OjE5ODkscm9sZToiU3VwZXJtYW5ldXZlcmFibGUgbXVsdGlyb2xlIixraWxsczoxLGxvc3NlczowLGdyb3VuZDoxNSxzdGF0dXM6InByb3ZlbiIsbm90ZToiQSBSdXNzaWFuIFN1LTMwIHNob3QgZG93biBhIFVrcmFpbmlhbiBNaUctMjkgaW4gQXVndXN0IDIwMjQuIFR3byBTdS0zMHMgd2VyZSBsYXRlciBkZXN0cm95ZWQgYnkgQUlNLTkgbWlzc2lsZXMgZmlyZWQgZnJvbSBVa3JhaW5pYW4gc2VhIGRyb25lcyDigJQgbmF2YWwtZHJvbmUga2lsbHMsIG5vdCBhaXItdG8tYWlyIGxvc3Nlcy4iLGNvbmZsaWN0czpbe3lyOiIyMDIy4oCTMjUiLG46IlJ1c3NvLVVrcmFpbmlhbiBXYXIiLG5hdGlvbjoiUnVzc2lhIixrOjAsbDowLGQ6In4xNSBTdS0zMHMgbG9zdCB0byBTQU1zLCBkcm9uZSByYWlkcyBhbmQgc2Fib3RhZ2Ug4oCUIG5vbmUgdG8gZW5lbXkgZmlnaHRlcnMuIFItMzdNIGtpbGwgY2xhaW1zIHVudmVyaWZpZWQuIn0se3lyOiIyMDE5LzIwMjUiLG46IkluZGlh4oCTUGFraXN0YW4iLG5hdGlvbjoiSW5kaWEiLGs6MCxsOjAsZDoiU3UtMzBNS0lzIGVuZ2FnZWQgaW4gMjAxOSBhbmQgcmVwb3J0ZWRseSBmaXJlZCBCcmFoTW9zIGluIDIwMjU7IFBha2lzdGFuaSBzaG9vdGRvd24gY2xhaW0gZXhjbHVkZWQuIn1dLGZhbW91czoiSW4gTWF5IDIwMjUncyBPcGVyYXRpb24gU2luZG9vciwgSUFGIFN1LTMwTUtJcyByZXBvcnRlZGx5IGZpcmVkIEJyYWhNb3MgY3J1aXNlIG1pc3NpbGVzIGF0IFBha2lzdGFuaSBhaXJiYXNlcy4ifSwKe25hbWU6IlN1LTMzIixmdWxsOiJTdWtob2kgU3UtMzMgKEZsYW5rZXItRCkiLG9yaWdpbjoiUnVzc2lhIixnZW46IjR0aCIsZmlyc3RGbGlnaHQ6MTk4Nyxyb2xlOiJDYXJyaWVyIGFpciBzdXBlcmlvcml0eSIsa2lsbHM6MCxsb3NzZXM6MCxncm91bmQ6MSxzdGF0dXM6InN0cmlrZSIsbm90ZToiSXRzIG9ubHkgY29tYmF0IGRlcGxveW1lbnQgKFN5cmlhIDIwMTbigJMxNykgd2FzIGdyb3VuZC1zdHJpa2Ugc29ydGllcyB3aXRoIG5vIGFpci10by1haXIgYWN0aW9uOyBsb3NzZXMgdG8gZGF0ZSBhcmUgY2Fycmllci1sYW5kaW5nIGFjY2lkZW50cy4iLGNvbmZsaWN0czpbe3lyOiIyMDE24oCTMTciLG46IlN5cmlhIChLdXpuZXRzb3YpIixuYXRpb246IlJ1c3NpYSIsazowLGw6MCxkOiJHcm91bmQtc3RyaWtlIHNvcnRpZXMgb25seTsgb25lIGFpcmNyYWZ0IGxvc3QgdG8gYW4gYXJyZXN0b3ItY2FibGUgZmFpbHVyZSwgbm90IGVuZW15IGFjdGlvbi4ifV0sZmFtb3VzOiJUaGUgU3UtMzMncyBzb2xlIGNvbWJhdCBkZXBsb3ltZW50IHByb2R1Y2VkIGdyb3VuZC1zdHJpa2Ugc29ydGllcyBhbmQgYSBjYXJyaWVyLWxhbmRpbmcgYWNjaWRlbnQsIGJ1dCBubyBhaXItdG8tYWlyIGVuZ2FnZW1lbnRzLiJ9LAp7bmFtZToiU3UtMzQgRnVsbGJhY2siLGZ1bGw6IlN1a2hvaSBTdS0zNCIsb3JpZ2luOiJSdXNzaWEiLGdlbjoiNC41IixmaXJzdEZsaWdodDoxOTkwLHJvbGU6IlRhY3RpY2FsIHN0cmlrZSIsa2lsbHM6MCxsb3NzZXM6MCxncm91bmQ6Mzcsc3RhdHVzOiJzdHJpa2UiLG5vdGU6IlJ1c3NpYSdzIHByaW1hcnkgdGFjdGljYWwgc3RyaWtlciBhbmQgaXRzIG1vc3QtbG9zdCBtb2Rlcm4gdHlwZTogfjM3IGRlc3Ryb3llZCBpbiBVa3JhaW5lLCBsYXJnZWx5IHRvIFNBTSBhbmQgUGF0cmlvdCBhbWJ1c2hlcyDigJQgbm9uZSB0byBlbmVteSBhaXJjcmFmdC4iLGNvbmZsaWN0czpbe3lyOiIyMDIy4oCTMjUiLG46IlJ1c3NvLVVrcmFpbmlhbiBXYXIiLG5hdGlvbjoiUnVzc2lhIixrOjAsbDowLGQ6In4zNyBkZXN0cm95ZWQgLyB+NSBkYW1hZ2VkICh2aXN1YWxseSBjb25maXJtZWQpIHRvIGdyb3VuZC1iYXNlZCBhaXIgZGVmZW5zZTsgaGVhdnkgZ2xpZGUtYm9tYiB1c2VyLiJ9LHt5cjoiMjAxNeKAkyIsbjoiU3lyaWFuIENpdmlsIFdhciIsbmF0aW9uOiJSdXNzaWEiLGs6MCxsOjAsZDoiUHJlY2lzaW9uIGFuZCBhcmVhIGJvbWJpbmc7IG5vIGxvc3NlcyB0byBlbmVteSBhY3Rpb24uIn1dLGZhbW91czoiVGhlIFN1LTM0IGhhcyBzdXN0YWluZWQgdGhlIGhpZ2hlc3QgY29uZmlybWVkIGNvbWJhdCBhdHRyaXRpb24gb2YgYW55IFJ1c3NpYW4gZml4ZWQtd2luZyB0eXBlIOKAlCBuZWFybHkgYWxsIHRvIGdyb3VuZC1iYXNlZCBhaXIgZGVmZW5zZS4ifSwKe25hbWU6IlN1LTM1IixmdWxsOiJTdWtob2kgU3UtMzVTIChGbGFua2VyLUUpIixvcmlnaW46IlJ1c3NpYSIsZ2VuOiI0LjUiLGZpcnN0RmxpZ2h0OjIwMDgscm9sZToiQWlyIHN1cGVyaW9yaXR5IixraWxsczo3LGxvc3NlczoxLGdyb3VuZDo4LHN0YXR1czoicHJvdmVuIixub3RlOiJSdXNzaWHigJlzIHByZW1pZXIgYWlyLXN1cGVyaW9yaXR5IGZpZ2h0ZXIgaGFzIGNsYWltZWQgcm91Z2hseSBzZXZlbiBhaXItdG8tYWlyIGtpbGxzIG92ZXIgVWtyYWluaWFuIGFpcmNyYWZ0IHNpbmNlIDIwMjIsIG1vc3RseSB3aXRoIGxvbmctcmFuZ2UgUi0zN00gbWlzc2lsZXMuIE9uIDggSnVseSAyMDI2IG9uZSB3YXMgc2hvdCBkb3duIGJ5IGEgVWtyYWluaWFuIEYtMTYgd2l0aCBhbiBBSU0tMTIwIOKAlCBpdHMgZmlyc3QgY29uZmlybWVkIGFpci10by1haXIgbG9zcywgd2l0aCB0aGUgcGlsb3QgZWplY3RpbmcgYW5kIGJlaW5nIHJlc2N1ZWQuIE90aGVyIFN1LTM1IGxvc3NlcyBoYXZlIGJlZW4gdG8gZ3JvdW5kLWJhc2VkIGFpciBkZWZlbmNlcy4iLGNvbmZsaWN0czpbe3lyOiIyMDIy4oCTMjYiLG46IlJ1c3NvLVVrcmFpbmlhbiBXYXIiLG5hdGlvbjoiUnVzc2lhIixrOjAsbDoxLGQ6IlJ1c3NpYSBjbGFpbWVkIDcrIHZpY3RvcmllcyAodW52ZXJpZmllZCkuIE9uIDggSnVseSAyMDI2IGEgU3UtMzVTIHdhcyBzaG90IGRvd24gYnkgYSBVa3JhaW5pYW4gRi0xNiB3aXRoIGFuIEFJTS0xMjAg4oCUIHRoZSB0eXBl4oCZcyBmaXJzdCBjb25maXJtZWQgYWlyLXRvLWFpciBsb3NzOyB0aGUgcGlsb3QgZWplY3RlZC4gQXJvdW5kIDggbG9zdCBvdmVyYWxsLCBtb3N0bHkgdG8gZnJpZW5kbHkgZmlyZSBvciBncm91bmQgZGVmZW5jZXMuIn1dLGZhbW91czoiTm8gY29uZmlybWVkIGFpci10by1haXIga2lsbHM7IG9uZSBTdS0zNSB3YXMgZG93bmVkIGJ5IGEgZnJpZW5kbHkgUnVzc2lhbiBTLTMwMCBuZWFyIEthZGlpdmthIGluIFNlcHRlbWJlciAyMDIzLiJ9LAp7bmFtZToiU3UtNTcgRmVsb24iLGZ1bGw6IlN1a2hvaSBTdS01NyAoUEFLIEZBKSIsb3JpZ2luOiJSdXNzaWEiLGdlbjoiNXRoIixmaXJzdEZsaWdodDoyMDEwLHJvbGU6IlN0ZWFsdGggbXVsdGlyb2xlIixraWxsczowLGxvc3NlczowLGdyb3VuZDoxLHN0YXR1czoic3RyaWtlIixub3RlOiJVc2VkIGNhdXRpb3VzbHkgYXMgYSBzdGFuZC1vZmYgY3J1aXNlLW1pc3NpbGUgc2hvb3RlciBmcm9tIFJ1c3NpYW4gYWlyc3BhY2UuIE9uZSBhaXJmcmFtZSB3YXMgZGFtYWdlZCBvbiB0aGUgZ3JvdW5kIOKAlCB0aGUgZmlyc3QgY29uZmlybWVkIGNvbWJhdCBkYW1hZ2UgdG8gYSBTdS01Ny4iLGNvbmZsaWN0czpbe3lyOiIyMDIy4oCTMjUiLG46IlJ1c3NvLVVrcmFpbmlhbiBXYXIiLG5hdGlvbjoiUnVzc2lhIixrOjAsbDowLGQ6IkxhdW5jaGVzIEtoLTU5L0toLTY5IGZyb20gc2FmZSBhaXJzcGFjZTsgbmV2ZXIgcGVuZXRyYXRlcyBVa3JhaW5pYW4gYWlyc3BhY2UuIE9uZSBkYW1hZ2VkIG9uIHRoZSBncm91bmQgYXQgQWtodHViaW5zayAoMjAyNCkuIn1dLGZhbW91czoiT24gOSBKdW5lIDIwMjQgVWtyYWluZSBzdHJ1Y2sgYSBTdS01NyBvbiB0aGUgZ3JvdW5kIGF0IEFraHR1Ymluc2sg4oCUIHRoZSBmaXJzdCBzYXRlbGxpdGUtY29uZmlybWVkIGRhbWFnZSB0byBSdXNzaWEncyBzdGVhbHRoIGZpZ2h0ZXIuIn0sCntuYW1lOiJDaGVuZ2R1IEotNyIsZnVsbDoiQ2hlbmdkdSBKLTcgLyBGLTcgKE1pRy0yMSBkZXJpdmF0aXZlKSIsb3JpZ2luOiJDaGluYSIsZ2VuOiIybmQiLGZpcnN0RmxpZ2h0OjE5NjYscm9sZToiTGlnaHR3ZWlnaHQgaW50ZXJjZXB0b3IiLGtpbGxzOjEsbG9zc2VzOjAsZ3JvdW5kOjAsc3RhdHVzOiJwcm92ZW4iLG5vdGU6IkEgc3RyaWtpbmdseSB0aGluIGFpci10by1haXIgcmVjb3JkIGZvciBzdWNoIGEgd2lkZWx5IGV4cG9ydGVkIHR5cGU6IG9uZSBjaXRlZCBraWxsLCBhbmQgdGhhdCBhZ2FpbnN0IGEgbGlnaHQgYWlyY3JhZnQuIixjb25mbGljdHM6W3t5cjoiMjAwOCIsbjoiU3JpIExhbmthbiBDaXZpbCBXYXIiLG5hdGlvbjoiU3JpIExhbmthIixrOjEsbDowLGQ6IkFuIFNMQUYgRi03RyBzaG90IGRvd24gYW4gTFRURSAnQWlyIFRpZ2VyJyBsaWdodCBhaXJjcmFmdCDigJQgdGhlIHR5cGUncyBzaW5nbGUgbW9zdC1jaXRlZCBraWxsLiJ9LHt5cjoiMjAyMeKAkyIsbjoiTXlhbm1hciBjaXZpbCB3YXIiLG5hdGlvbjoiTXlhbm1hciIsazowLGw6MCxkOiJHcm91bmQtYXR0YWNrIHVzZTsgb25lIEYtN00gcmVwb3J0ZWRseSBkb3duZWQgYnkgcmVzaXN0YW5jZSBncm91bmQgZmlyZSAoMjAyNSkuIn1dLGZhbW91czoiT24gOSBTZXB0ZW1iZXIgMjAwOCBhIFNyaSBMYW5rYW4gRi03RyBzaG90IGRvd24gYW4gTFRURSAnQWlyIFRpZ2VyJyBsaWdodCBhaXJjcmFmdCDigJQgdGhlIHR5cGUncyBzaW5nbGUgbW9zdC1jaXRlZCBraWxsLiJ9LAp7bmFtZToiQ2hlbmdkdSBKLTEwIixmdWxsOiJDaGVuZ2R1IEotMTAgKEZpcmViaXJkKSIsb3JpZ2luOiJDaGluYSIsZ2VuOiI0LjUiLGZpcnN0RmxpZ2h0OjE5OTgscm9sZToiTXVsdGlyb2xlIixraWxsczoxLGxvc3NlczowLGdyb3VuZDowLHN0YXR1czoicHJvdmVuIixub3RlOiJJbiBNYXkgMjAyNSBhIFBha2lzdGFuaSBKLTEwQyByZXBvcnRlZGx5IGRvd25lZCBhdCBsZWFzdCBvbmUgSW5kaWFuIFJhZmFsZSB3aXRoIGEgUEwtMTUgbWlzc2lsZSDigJQgdGhlIHR5cGUncyBjb21iYXQgZGVidXQgYW5kIGZpcnN0IGFpci10by1haXIga2lsbC4gVVMgb2ZmaWNpYWxzIGNvcnJvYm9yYXRlZCBhdCBsZWFzdCBvbmUga2lsbDsgUGFraXN0YW4ncyBoaWdoZXIgY2xhaW1zIGFyZSB1bmNvbmZpcm1lZC4iLGNvbmZsaWN0czpbe3lyOiIyMDI1IixuOiJJbmRpYeKAk1Bha2lzdGFuIChTaW5kb29yKSIsbmF0aW9uOiJQYWtpc3RhbiIsazowLGw6MCxkOiJDb21iYXQgZGVidXQ7IFBha2lzdGFuIGNsYWltZWQgbXVsdGlwbGUgSUFGIGtpbGxzIGluY2wuIFJhZmFsZXMgd2l0aCBQTC0xNSBCVlIgbWlzc2lsZXMg4oCUIGNvbnRlc3RlZCwgZXhjbHVkZWQuIn1dLGZhbW91czoiVGhlIE1heSAyMDI1IEluZGlh4oCTUGFraXN0YW4gYWlyIGJhdHRsZSB3YXMgdGhlIEotMTBDJ3MgY29tYmF0IGRlYnV0IGFuZCBwcm9kdWNlZCB3aWRlbHkgcHVibGljaXplZCBidXQgdW5jb25maXJtZWQga2lsbCBjbGFpbXMuIn0sCntuYW1lOiJTaGVueWFuZyBKLTExIixmdWxsOiJTaGVueWFuZyBKLTExIChTdS0yNyBkZXJpdmF0aXZlKSIsb3JpZ2luOiJDaGluYSIsZ2VuOiI0dGgiLGZpcnN0RmxpZ2h0OjE5OTgscm9sZToiQWlyIHN1cGVyaW9yaXR5IixraWxsczowLGxvc3NlczowLGdyb3VuZDowLHN0YXR1czoidW50ZXN0ZWQiLG5vdGU6Ik5vIGFpci10by1haXIgY29tYmF0IHJlY29yZDsga25vd24gbWFpbmx5IGZvciBhZ2dyZXNzaXZlIHBlYWNldGltZSBpbnRlcmNlcHRzIG9mIGZvcmVpZ24gYWlyY3JhZnQuIixjb25mbGljdHM6W3t5cjoiMjAxNCIsbjoiUy4gQ2hpbmEgU2VhIGludGVyY2VwdCIsbmF0aW9uOiJDaGluYSIsazowLGw6MCxkOiJBIFBMQU4gSi0xMUIgY29uZHVjdGVkIGEgZGFuZ2Vyb3VzbHkgY2xvc2UgYmFycmVsLXJvbGwgaW50ZXJjZXB0IG9mIGEgVVMgTmF2eSBQLTguIn1dLGZhbW91czoiQSBQTEFOIEotMTFCIGNvbmR1Y3RlZCBhIGRhbmdlcm91c2x5IGNsb3NlIGludGVyY2VwdCBvZiBhIFVTIE5hdnkgUC04IG92ZXIgdGhlIFNvdXRoIENoaW5hIFNlYSBpbiBBdWd1c3QgMjAxNC4ifSwKe25hbWU6IkNoZW5nZHUgSi0yMCIsZnVsbDoiQ2hlbmdkdSBKLTIwICdNaWdodHkgRHJhZ29uJyIsb3JpZ2luOiJDaGluYSIsZ2VuOiI1dGgiLGZpcnN0RmxpZ2h0OjIwMTEscm9sZToiU3RlYWx0aCBhaXIgc3VwZXJpb3JpdHkiLGtpbGxzOjAsbG9zc2VzOjAsZ3JvdW5kOjAsc3RhdHVzOiJ1bnRlc3RlZCIsbm90ZToiTm8gY29tYmF0IHJlY29yZDsgZGVwbG95ZWQgZm9yIGFpci1zdXBlcmlvcml0eSBwYXRyb2xzIGFuZCBkZXRlcnJlbmNlLCB3aXRoIDMwMCsgYWlyZnJhbWVzIG5vdyBpbiBzZXJ2aWNlLiIsY29uZmxpY3RzOlt7eXI6IuKAlCIsbjoiUGVhY2V0aW1lIGVuY291bnRlcnMiLG5hdGlvbjoiQ2hpbmEiLGs6MCxsOjAsZDoiTm9uLWNvbWJhdCBjbG9zZSBlbmNvdW50ZXJzIHdpdGggVVNBRi9VU01DIEYtMzVzIG92ZXIgdGhlIEVhc3QgQ2hpbmEgU2VhLiJ9XSxmYW1vdXM6IlBMQUFGIHBpbG90cyBkZXNjcmliZSBwcm9mZXNzaW9uYWwsIG5vbi1jb21iYXQgY2xvc2UgZW5jb3VudGVycyB3aXRoIFVTIEYtMzVzIG92ZXIgdGhlIEVhc3QgQ2hpbmEgU2VhLiJ9LAp7bmFtZToiSkYtMTcgVGh1bmRlciIsZnVsbDoiQ0FDL1BBQyBKRi0xNyBUaHVuZGVyIixvcmlnaW46IlBha2lzdGFuIC8gQ2hpbmEiLGdlbjoiNC41IixmaXJzdEZsaWdodDoyMDAzLHJvbGU6IkxpZ2h0d2VpZ2h0IG11bHRpcm9sZSIsa2lsbHM6MCxsb3NzZXM6MCxncm91bmQ6MCxzdGF0dXM6InByb3ZlbiIsbm90ZToiUGFraXN0YW4ncyBsaWdodHdlaWdodCBtdWx0aXJvbGUgZmlnaHRlciBmbGV3IGFpci10by1haXIgbWlzc2lvbnMgd2l0aCBQTC0xNSBtaXNzaWxlcyBpbiB0aGUgTWF5IDIwMjUgY2xhc2ggd2l0aCBJbmRpYS4gQm90aCBzaWRlcyBtYWRlIGNsYWltcywgYnV0IG5vIEpGLTE3IGtpbGwgb3IgbG9zcyBpcyBpbmRlcGVuZGVudGx5IGNvbmZpcm1lZC4iLGNvbmZsaWN0czpbe3lyOiIyMDE04oCTMTciLG46IkNvdW50ZXItdGVycm9yIG9wcyIsbmF0aW9uOiJQYWtpc3RhbiIsazowLGw6MCxkOiJHcm91bmQtYXR0YWNrIHN0cmlrZXMgb24gbWlsaXRhbnQgcG9zaXRpb25zIGluIE5vcnRoIFdhemlyaXN0YW4uIn0se3lyOiIyMDI1IixuOiJJbmRpYeKAk1Bha2lzdGFuIChTaW5kb29yKSIsbmF0aW9uOiJQYWtpc3RhbiIsazowLGw6MCxkOiJGbGV3IEEyQSBhbmQgc3RyaWtlIHNvcnRpZXM7IGNsYWltZWQgYW4gUy00MDAga2lsbCB3aXRoIGEgQ00tNDAwQUtHIG1pc3NpbGUg4oCUIGRpc3B1dGVkLCBleGNsdWRlZC4ifV0sZmFtb3VzOiJJbiBNYXkgMjAyNSBQYWtpc3RhbiBjbGFpbWVkIGEgSkYtMTcgZGVzdHJveWVkIGFuIEluZGlhbiBTLTQwMCBzeXN0ZW0gd2l0aCBhIHN0YW5kLW9mZiBtaXNzaWxlIOKAlCBhIGNsYWltIEluZGlhIGRpc3B1dGVzLiJ9LAp7bmFtZToiTWlHLTE1IEZhZ290IixmdWxsOiJNaWtveWFuLUd1cmV2aWNoIE1pRy0xNSIsb3JpZ2luOiJVU1NSIixnZW46IjFzdCIsZmlyc3RGbGlnaHQ6MTk0Nyxyb2xlOiJUcmFuc29uaWMgamV0IGZpZ2h0ZXIgLyBpbnRlcmNlcHRvciIsa2lsbHM6MTUwLGtyOiIxNTDigJMyNTAiLGxvc3Nlczo1NTAsbHI6IjIwMOKAkzc5MiIsZ3JvdW5kOjQwLHN0YXR1czoicHJvdmVuIixub3RlOiJLb3JlYW4gV2FyIHRhbGxpZXMgYXJlIHRoZSBzaW5nbGUgbW9zdCBkaXNwdXRlZCBmaWd1cmUgaW4gamV0LWFnZSBhaXIgY29tYmF0LiBTb3ZpZXQgZm9yY2VzIGNsYWltZWQgb3ZlciAxLDEwMCBraWxsczsgVU4tY29uZmlybWVkIGxvc3NlcyB0byBNaUdzIGFyZSB+MTUw4oCTMjUwLiBNaUcgbG9zc2VzIHNwYW4gUkFOROKAmXMgbWF0Y2hlZC1yZWNvcmRzIHJlYW5hbHlzaXMgKH4yMDAgYWN0dWFsbHkgc2hvdCBkb3duIGluIGFpciBjb21iYXQpIHRvIHRoZSBVU0FG4oCZcyA3OTIgY3JlZGl0ZWQsIHdpdGggfjY2MCBhZG1pdHRlZCBsb3N0IHRvIGFsbCBjYXVzZXMuIFRoYXQgc2FtZSBSQU5EIHdvcmsgcHV0cyB0aGUgcmVhbCBGLTg2IGV4Y2hhbmdlIHJhdGlvIG5lYXIgMS4z4oCTMS44OjEsIG5vdCB0aGUgcHJvcGFnYW5kYSAxMDoxLiBDaGluZXNlLSBhbmQgS29yZWFuLWZsb3duIE1pR3MgYXJlIGZvbGRlZCBpbi4iLGNvbmZsaWN0czpbe3lyOiIxOTUw4oCTNTMiLG46IktvcmVhbiBXYXIiLG5hdGlvbjoiVVNTUiAvIENoaW5hIC8gTi4gS29yZWEiLGs6MTQ4LGw6NTQ1LGQ6IkZvdWdodCBGLTg2IFNhYnJlcyBpbiAnTWlHIEFsbGV5JyBhbmQgbWF1bGVkIGRheWxpZ2h0IEItMjkgZm9ybWF0aW9ucywgZm9yY2luZyBVU0FGIGJvbWJlcnMgb250byBuaWdodCByYWlkcy4ifSx7eXI6IjE5NTYiLG46IlN1ZXogQ3Jpc2lzIixuYXRpb246IkVneXB0IixrOjIsbDo0LGQ6IkVneXB0aWFuIE1pRy0xNWJpcyBkb3duZWQgdHdvIElzcmFlbGkgYWlyY3JhZnQgYnV0IHdlcmUgbGFyZ2VseSBvdXRjbGFzc2VkIGFuZCBjYXVnaHQgb24gdGhlIGdyb3VuZC4ifV0sZmFtb3VzOiJPdmVyICdNaUcgQWxsZXknIHRoZSBzd2VwdC13aW5nIE1pRy0xNSBzaHJlZGRlZCBCLTI5IFN1cGVyZm9ydHJlc3MgZm9ybWF0aW9ucyBzbyBiYWRseSB0aGUgVVNBRiBhYmFuZG9uZWQgZGF5bGlnaHQgc3RyYXRlZ2ljIGJvbWJpbmcgb2YgTm9ydGggS29yZWEuIn0sCntuYW1lOiJNaUctMTcgRnJlc2NvIixmdWxsOiJNaWtveWFuLUd1cmV2aWNoIE1pRy0xNyIsb3JpZ2luOiJVU1NSIixnZW46IjFzdCIsZmlyc3RGbGlnaHQ6MTk1MCxyb2xlOiJUcmFuc29uaWMgZGF5IGZpZ2h0ZXIiLGtpbGxzOjcxLGxvc3Nlczo2MyxscjoiNjPigJMxMDAiLGdyb3VuZDo2MCxzdGF0dXM6InByb3ZlbiIsbm90ZToiVGhlIGJlc3QtZG9jdW1lbnRlZCBmaWd1cmVzIGNvbWUgZnJvbSBWaWV0bmFtOiBOb3J0aCBWaWV0bmFtZXNlIE1pRy0xN3MgYXJlIGNyZWRpdGVkIHdpdGggNzEgdmljdG9yaWVzIG92ZXIgVVMgYWlyY3JhZnQgKGFib3V0IDMyIEYtNHMsIDE2IEYtMTA1cywgMTEgRi04cykgZm9yIH42MyBjb21iYXQgbG9zc2VzIOKAlCB0aGUgVlBBRuKAmXMgb3duIGFkbWlzc2lvbjsgVVMgY3JlZGl0IGxpc3RzIGNvdW50IGNsb3NlciB0byAxMDAuIEVneXB0aWFuL1N5cmlhbiBNaUctMTdzIGFkZGVkIGEgZmV3IGtpbGxzIGJ1dCB3ZXJlIG1vc3RseSBkZXN0cm95ZWQgb24gdGhlIGdyb3VuZCBpbiAxOTY3IOKAlCB3aGljaCBkb21pbmF0ZXMgdGhlICdncm91bmQnIGZpZ3VyZS4iLGNvbmZsaWN0czpbe3lyOiIxOTY14oCTNzIiLG46IlZpZXRuYW0gV2FyIixuYXRpb246Ik5vcnRoIFZpZXRuYW0iLGs6NzEsbDo2MyxkOiJDYW5ub24tYXJtZWQgYW5kIGFnaWxlLCBNaUctMTdzIGRyYWdnZWQgc3VwZXJzb25pYyBGLTRzIGFuZCBGLTEwNXMgaW50byBsb3ctc3BlZWQgdHVybmluZyBmaWdodHMgYW5kIHNjb3JlZCBOb3J0aCBWaWV0bmFtJ3MgZmlyc3QgamV0IHZpY3Rvcmllcy4ifSx7eXI6IjE5NjciLG46IlNpeC1EYXkgV2FyIixuYXRpb246IkVneXB0IC8gU3lyaWEiLGs6MyxsOjgsZDoiRm9ybWVkIHRoZSBidWxrIG9mIEFyYWIgYWlyIHN0cmVuZ3RoIGJ1dCB3ZXJlIG92ZXJ3aGVsbWluZ2x5IGNhdWdodCBhbmQgZGVzdHJveWVkIG9uIHRoZSBncm91bmQgb24gdGhlIG9wZW5pbmcgbW9ybmluZy4ifV0sZmFtb3VzOiJJbiB0dXJuaW5nIGRvZ2ZpZ2h0cyBvdmVyIE5vcnRoIFZpZXRuYW0gdGhlIHN1YnNvbmljIE1pRy0xNyByZXBlYXRlZGx5IGh1bWJsZWQgdGhlIGZhciBtb3JlIGFkdmFuY2VkIEYtNCBQaGFudG9tLCBleHBvc2luZyB0aGUgZm9sbHkgb2YgYnVpbGRpbmcgZmlnaHRlcnMgd2l0aG91dCBhIGd1bi4ifSwKe25hbWU6Ikhhd2tlciBIdW50ZXIiLGZ1bGw6Ikhhd2tlciBBaXJjcmFmdCBIdW50ZXIiLG9yaWdpbjoiVW5pdGVkIEtpbmdkb20iLGdlbjoiMXN0IixmaXJzdEZsaWdodDoxOTUxLHJvbGU6IlRyYW5zb25pYyBmaWdodGVyIC8gZ3JvdW5kLWF0dGFjayIsa2lsbHM6NyxrcjoiN+KAkzIwIixsb3NzZXM6MTgsbHI6IjjigJMzMCIsZ3JvdW5kOjMwLHN0YXR1czoicHJvdmVuIixub3RlOiJUaGUgSHVudGVyIGhhcyBnZW51aW5lIGNvbmZpcm1lZCBraWxscyBhbmQgbG9zc2VzLCBidXQgcGVyLWNvbmZsaWN0IHRhbGxpZXMgYXJlIGNvbnRlc3RlZCBhbmQgbWl4ZWQgd2l0aCBncm91bmQgbG9zc2VzLCBzbyB0b3RhbHMgaGVyZSBhcmUgZGVsaWJlcmF0ZWx5IGNvbnNlcnZhdGl2ZS4gVGhlIGJlc3QtYXR0ZXN0ZWQga2lsbHMgYXJlIFBha2lzdGFuaSBhY2UgU2FpZnVsIEF6YW0ncyB0aHJlZSBJc3JhZWxpIGFpcmNyYWZ0IGluIEp1bmUgMTk2NyAoZmx5aW5nIEpvcmRhbmlhbiBhbmQgSXJhcWkgSHVudGVycyksIHBsdXMgSW5kaWFuIHZpY3RvcmllcyBpbiAxOTY1LzE5NzEg4oCUIEluZGlhbiBjcmVkaXRzIGFsb25lIHJlYWNoIH4xNiwgdGFraW5nIG9wZXJhdG9yIHRhbGxpZXMgdG8gfjIwLiBEb2N1bWVudGVkIGFpci1jb21iYXQgbG9zc2VzIHJ1biA44oCTMTA7IFBha2lzdGFuaSBjbGFpbXMgZ28gZmFyIGhpZ2hlci4gTS5NLiBBbGFtJ3MgZGlzcHV0ZWQgJ2ZpdmUgaW4gYSBtaW51dGUnICgxOTY1KSBpcyBleGNsdWRlZC4iLGNvbmZsaWN0czpbe3lyOiIxOTY1IixuOiJJbmRvLVBha2lzdGFuaSBXYXIiLG5hdGlvbjoiSW5kaWEiLGs6MixsOjcsZDoiSW5kaWEncyBmcm9udGxpbmUgZmlnaHRlciBkdWVsZWQgUEFGIFNhYnJlcyBhbmQgRi0xMDRzOyBib3RoIHNpZGVzJyBjbGFpbXMgYXJlIHdpbGRseSBpbmZsYXRlZC4ifSx7eXI6IjE5NzEiLG46IkluZG8tUGFraXN0YW5pIFdhciIsbmF0aW9uOiJJbmRpYSIsazoyLGw6OCxkOiJTaXggSUFGIEh1bnRlciBzcXVhZHJvbnMgZmxldyBncm91bmQtYXR0YWNrIGFuZCBpbnRlcmRpY3Rpb24sIHNjb3Jpbmcgc29tZSBhaXItdG8tYWlyIGtpbGxzIGFtaWQgY29udGVzdGVkIGxvc3MgY2xhaW1zLiJ9LHt5cjoiMTk2NyIsbjoiU2l4LURheSBXYXIiLG5hdGlvbjoiSXJhcSAvIEpvcmRhbiIsazozLGw6MyxkOiJJcmFxaSBhY2UgU2FpZnVsIEF6YW0gZG93bmVkIHRocmVlIElzcmFlbGkgamV0cyBpbiBhIEh1bnRlcjsgbW9zdCBKb3JkYW5pYW4gSHVudGVycyB3ZXJlIGRlc3Ryb3llZCBvbiB0aGUgZ3JvdW5kIG9uIGRheSBvbmUuIn1dLGZhbW91czoiRmx5aW5nIGFuIElyYXFpIEh1bnRlciBpbiB0aGUgMTk2NyBTaXgtRGF5IFdhciwgU2FpZnVsIEF6YW0gc2hvdCBkb3duIHRocmVlIElzcmFlbGkgYWlyY3JhZnQgaW4gdHdvIGRheXMg4oCUIG9uZSBvZiB0aGUgZmV3IHBpbG90cyB0byBtYWtlIGFjZSBhZ2FpbnN0IHRoZSBJc3JhZWxpIEFpciBGb3JjZS4ifSwKe25hbWU6IkVuZ2xpc2ggRWxlY3RyaWMgTGlnaHRuaW5nIixmdWxsOiJFbmdsaXNoIEVsZWN0cmljIChCQUMpIExpZ2h0bmluZyIsb3JpZ2luOiJVbml0ZWQgS2luZ2RvbSIsZ2VuOiIybmQiLGZpcnN0RmxpZ2h0OjE5NTcscm9sZToiU3VwZXJzb25pYyBpbnRlcmNlcHRvciIsa2lsbHM6MCxsb3NzZXM6MCxncm91bmQ6MSxzdGF0dXM6InN0cmlrZSIsbm90ZToiRGVzcGl0ZSBhIGxvbmcgUkFGLCBTYXVkaSBhbmQgS3V3YWl0aSBjYXJlZXIgdGhlIExpZ2h0bmluZyBpcyBjcmVkaXRlZCB3aXRoIE5PIGNvbmZpcm1lZCBhaXItdG8tYWlyIGtpbGxzIGJ5IGFueSBvcGVyYXRvci4gSXRzIG9ubHkgY29tYmF0IHVzZSB3YXMgUm95YWwgU2F1ZGkgZ3JvdW5kLWF0dGFjayBpbiB0aGUgMTk2OeKAkzcwIEFsLVdhZGlhaCBib3JkZXIgd2FyLCB3aGVyZSBvbmUgYWlyY3JhZnQgd2FzIGxvc3QgdG8gWWVtZW5pIGdyb3VuZCBmaXJlLiBCbGlzdGVyaW5nbHkgZmFzdCwgYnV0IGl0IG5ldmVyIGZpcmVkIGEgc2hvdCBpbiBhbmdlciBhaXItdG8tYWlyLiIsY29uZmxpY3RzOlt7eXI6IjE5NjnigJM3MCIsbjoiQWwtV2FkaWFoIFdhciIsbmF0aW9uOiJTYXVkaSBBcmFiaWEiLGs6MCxsOjEsZDoiUlNBRiBMaWdodG5pbmdzIGZsZXcgcm9ja2V0LWFuZC1ib21iIHN0cmlrZXMgb24gWWVtZW5pIGZvcmNlcywgbG9zaW5nIG9uZSBhaXJjcmFmdCB0byBncm91bmQgZmlyZSBhbmQgc2NvcmluZyBubyBhaXItdG8tYWlyIGtpbGxzLiJ9XSxmYW1vdXM6IlRoZSBMaWdodG5pbmcgbmV2ZXIgZG93bmVkIGFuIGVuZW15IGFpcmNyYWZ0IGluIGFuZ2VyIOKAlCBpdHMgbW9zdCBzdG9yaWVkIG1vbWVudCB3YXMgYW4gdW5hcm1lZCAxOTY2IGdyb3VuZC1ydW4gdGhhdCBhY2NpZGVudGFsbHkgYmVjYW1lIGEgZnVsbCBzdXBlcnNvbmljIGZsaWdodCBieSBhbiBlbmdpbmVlciB3aXRoIG5vIGZseWluZyB0cmFpbmluZy4ifQpdOwovKiBQaG90b3MgKFdpa2ltZWRpYSBDb21tb25zLCB+NTAwcHgsIFBEL0NDKSAqLwpjb25zdCBJTUc9eyJGb2trZXIgRWluZGVja2VyIjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi82LzZjL0Zva2tlcl9FLklJSV8lMjJFaW5kZWNrZXIlMjJfJTI4NDI0MzIyMTA5OTElMjkuanBnLzUwMHB4LUZva2tlcl9FLklJSV8lMjJFaW5kZWNrZXIlMjJfJTI4NDI0MzIyMTA5OTElMjkuanBnIiwiQWxiYXRyb3MgRC5JSUkiOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iL2EvYTEvQWxiYXRyb3NfRElJSV9PZWZmYWdfbXklQzUlOUJsaXdza2lfYXVzdHIuanBnLzUwMHB4LUFsYmF0cm9zX0RJSUlfT2VmZmFnX215JUM1JTlCbGl3c2tpX2F1c3RyLmpwZyIsIkFsYmF0cm9zIEQuViI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvdGh1bWIvYS9hMy9BbGJhdHJvc19ELlZhX3JlcGxpY2ElMkNfUkFGX011c2V1bV9Mb25kb25fMjAyNi0wNS0xOV8lMjgyJTI5LmpwZy81MDBweC1BbGJhdHJvc19ELlZhX3JlcGxpY2ElMkNfUkFGX011c2V1bV9Mb25kb25fMjAyNi0wNS0xOV8lMjgyJTI5LmpwZyIsIkZva2tlciBEci5JIjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi8wLzBiL0Zva2tlcl9EUi4xX1RyaXBsYW5lXy1fT0stVEFWXzU4Xy1fMjAxODA1MTlfOTg1MV9EeE8uanBnLzUwMHB4LUZva2tlcl9EUi4xX1RyaXBsYW5lXy1fT0stVEFWXzU4Xy1fMjAxODA1MTlfOTg1MV9EeE8uanBnIiwiRm9ra2VyIEQuVklJIjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi82LzY0L0NhdmFuYXVnaF9GbGlnaHRfTXVzZXVtX0RlY2VtYmVyXzIwMTlfMDNfJTI4Rm9ra2VyX0QuVklJX3JlcGxpY2ElMjkuanBnLzUwMHB4LUNhdmFuYXVnaF9GbGlnaHRfTXVzZXVtX0RlY2VtYmVyXzIwMTlfMDNfJTI4Rm9ra2VyX0QuVklJX3JlcGxpY2ElMjkuanBnIiwiU29wd2l0aCBDYW1lbCI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvdGh1bWIvYy9jMS9DYXZhbmF1Z2hfRmxpZ2h0X011c2V1bV9EZWNlbWJlcl8yMDE5XzA3XyUyOFNvcHdpdGhfQ2FtZWxfcmVwbGljYSUyOS5qcGcvNTAwcHgtQ2F2YW5hdWdoX0ZsaWdodF9NdXNldW1fRGVjZW1iZXJfMjAxOV8wN18lMjhTb3B3aXRoX0NhbWVsX3JlcGxpY2ElMjkuanBnIiwiUy5FLjVhIjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi9lL2UxL1JveWFsX0FpcmNyYWZ0X0ZhY3RvcnlfU0U1YV9mbHlpbmdfcGFzdC5qcGcvNTAwcHgtUm95YWxfQWlyY3JhZnRfRmFjdG9yeV9TRTVhX2ZseWluZ19wYXN0LmpwZyIsIlNQQUQgUy5YSUlJIjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi82LzY5L1JlcGxpY2Ffb2ZfRnJhbmNlc2NvX0JhcmFjY2ElMjdzX1NwYWRfWElJSSUyQ19QaWFjZW56YS1TYW5fRGFtaWFub19BaXJwb3J0JTJDXzIwMjQuanBnLzUwMHB4LVJlcGxpY2Ffb2ZfRnJhbmNlc2NvX0JhcmFjY2ElMjdzX1NwYWRfWElJSSUyQ19QaWFjZW56YS1TYW5fRGFtaWFub19BaXJwb3J0JTJDXzIwMjQuanBnIiwiTmlldXBvcnQgMTciOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iL2IvYjMvRWFybHlfTmlldXBvcnRfMTdfYXRfTGVfQm91cmdldF9vbl8xOF9KdWx5XzE5MTZfbWFraW5nX2RlbW9uc3RyYXRpb25fZmxpZ2h0X2Zvcl9Ccml0aXNoX2RlbGVnYXRpb24uanBnLzUwMHB4LUVhcmx5X05pZXVwb3J0XzE3X2F0X0xlX0JvdXJnZXRfb25fMThfSnVseV8xOTE2X21ha2luZ19kZW1vbnN0cmF0aW9uX2ZsaWdodF9mb3JfQnJpdGlzaF9kZWxlZ2F0aW9uLmpwZyIsIlBvbGlrYXJwb3YgSS0xNiI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvdGh1bWIvOS85OC9Qb2xpa2FycG92X0ktMTZfcmVwdWJsaWNhbm8uanBnLzUwMHB4LVBvbGlrYXJwb3ZfSS0xNl9yZXB1YmxpY2Fuby5qcGciLCJGaWF0IENSLjMyIjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi82LzYzL0ZpYXRfQ1ItMzIuanBnLzUwMHB4LUZpYXRfQ1ItMzIuanBnIiwiR2xvc3RlciBHbGFkaWF0b3IiOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iL2IvYmMvR2xvc3Rlci1HbGFkaWF0b3Itb24tTWpvc2EtMS5qcGcvNTAwcHgtR2xvc3Rlci1HbGFkaWF0b3Itb24tTWpvc2EtMS5qcGciLCJNZXNzZXJzY2htaXR0IEJmIDEwOSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvdGh1bWIvMi8yMS9DYXZhbmF1Z2hfRmxpZ2h0X011c2V1bV9EZWNlbWJlcl8yMDE5XzI5XyUyOE1lc3NlcnNjaG1pdHRfQmZfMTA5JTI5LmpwZy81MDBweC1DYXZhbmF1Z2hfRmxpZ2h0X011c2V1bV9EZWNlbWJlcl8yMDE5XzI5XyUyOE1lc3NlcnNjaG1pdHRfQmZfMTA5JTI5LmpwZyIsIk1lc3NlcnNjaG1pdHQgQmYgMTEwIjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi85LzlkL01lc3NlcnNjaG1pdHRfQmYtMTEwXzJOJTJCTkglMkNfYWZ0ZXJfYW5fZW1lcmdlbmN5X2xhbmRpbmdfaW5fMTk0MC5fJTI4NDg3NDc5NDQ3NjglMjkuanBnLzUwMHB4LU1lc3NlcnNjaG1pdHRfQmYtMTEwXzJOJTJCTkglMkNfYWZ0ZXJfYW5fZW1lcmdlbmN5X2xhbmRpbmdfaW5fMTk0MC5fJTI4NDg3NDc5NDQ3NjglMjkuanBnIiwiRm9ja2UtV3VsZiBGdyAxOTAiOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iLzcvNzkvRm9ja2UtV3VsZl9Gd18xOTBfRi04XyUyOFNBLWt1dmFfMTU1MzkwJTI5LmpwZy81MDBweC1Gb2NrZS1XdWxmX0Z3XzE5MF9GLThfJTI4U0Eta3V2YV8xNTUzOTAlMjkuanBnIiwiTWFjY2hpIEMuMjAyIjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi80LzQ1L01hY2NoaV9DLjIwMl8lMjhBMTk2MDAzMzIwMDAlMjkuanBnLzUwMHB4LU1hY2NoaV9DLjIwMl8lMjhBMTk2MDAzMzIwMDAlMjkuanBnIiwiRGV3b2l0aW5lIEQuNTIwIjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi8xLzE1L0Rld29pdGluZV81MjBfT04wNzEuanBnLzUwMHB4LURld29pdGluZV81MjBfT04wNzEuanBnIiwiTWVzc2Vyc2NobWl0dCBNZSAyNjIiOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iL2EvYWYvTWVzc2Vyc2NobWl0dF9NZV8yNjJfcmVwbGljYV9ELUlNVFRfSUxBXzIwMTJfMDMuanBnLzUwMHB4LU1lc3NlcnNjaG1pdHRfTWVfMjYyX3JlcGxpY2FfRC1JTVRUX0lMQV8yMDEyXzAzLmpwZyIsIlN1cGVybWFyaW5lIFNwaXRmaXJlIjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi82LzY1L1N1cGVybWFyaW5lX1NwaXRmaXJlX0lhX04zMjAwX0R1eGZvcmRfRmx5aW5nX0V2ZW5pbmdfMjAyNF8wMS5qcGcvNTAwcHgtU3VwZXJtYXJpbmVfU3BpdGZpcmVfSWFfTjMyMDBfRHV4Zm9yZF9GbHlpbmdfRXZlbmluZ18yMDI0XzAxLmpwZyIsIkhhd2tlciBIdXJyaWNhbmUiOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iLzcvNzkvRmlubmlzaF9BaXJfRm9yY2VfSGF3a2VyX0h1cnJpY2FuZV93YXJiaXJkX2FuZF9VU19OYXZ5X1QtNl9UZXhhbl93YXJiaXJkX2luX2ZsaWdodF9vdmVyX0ZpbmxhbmQuanBnLzUwMHB4LUZpbm5pc2hfQWlyX0ZvcmNlX0hhd2tlcl9IdXJyaWNhbmVfd2FyYmlyZF9hbmRfVVNfTmF2eV9ULTZfVGV4YW5fd2FyYmlyZF9pbl9mbGlnaHRfb3Zlcl9GaW5sYW5kLmpwZyIsIkhhd2tlciBUZW1wZXN0IjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi8zLzNlL0xvbmRvbl9SQUZfTXVzZXVtX0hlbmRvbl9IYXdrZXJfVGVtcGVzdF9WXzA2LmpwZy81MDBweC1Mb25kb25fUkFGX011c2V1bV9IZW5kb25fSGF3a2VyX1RlbXBlc3RfVl8wNi5qcGciLCJkZSBIYXZpbGxhbmQgTW9zcXVpdG8iOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iLzAvMDMvRGVfSGF2aWxsYW5kX01vc3F1aXRvX2luX0ZsaWdodC5qcGcvNTAwcHgtRGVfSGF2aWxsYW5kX01vc3F1aXRvX2luX0ZsaWdodC5qcGciLCJQLTUxIE11c3RhbmciOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iLzkvOTgvRnJvbnRpZXJzX29mX0ZsaWdodF9NdXNldW1fRGVjZW1iZXJfMjAxNV8wNjFfJTI4Tm9ydGhfQW1lcmljYW5fUC01MV9NdXN0YW5nX21vZGVsJTI5LmpwZy81MDBweC1Gcm9udGllcnNfb2ZfRmxpZ2h0X011c2V1bV9EZWNlbWJlcl8yMDE1XzA2MV8lMjhOb3J0aF9BbWVyaWNhbl9QLTUxX011c3RhbmdfbW9kZWwlMjkuanBnIiwiUC00NyBUaHVuZGVyYm9sdCI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvdGh1bWIvNy83Yy9SZXB1YmxpY19QLTQ3Tl9UaHVuZGVyYm9sdF9pbl9mbGlnaHQuanBnLzUwMHB4LVJlcHVibGljX1AtNDdOX1RodW5kZXJib2x0X2luX2ZsaWdodC5qcGciLCJQLTM4IExpZ2h0bmluZyI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvdGh1bWIvOS85YS9Mb2NraGVlZF9QLTM4Sl9MaWdodG5pbmdfaW5fZmxpZ2h0X292ZXJfQ2FsaWZvcm5pYSUyQ19jaXJjYV9pbl8xOTQ0LmpwZy81MDBweC1Mb2NraGVlZF9QLTM4Sl9MaWdodG5pbmdfaW5fZmxpZ2h0X292ZXJfQ2FsaWZvcm5pYSUyQ19jaXJjYV9pbl8xOTQ0LmpwZyIsIlAtNDAgV2FyaGF3ayI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvdGh1bWIvMi8yNS9BaXJfWm9vX0RlY2VtYmVyXzIwMTlfMDI5XyUyOFN1ZV9QYXJpc2glMjdzX0N1cnRpc3NfUC00MF9XYXJoYXdrJTI5LmpwZy81MDBweC1BaXJfWm9vX0RlY2VtYmVyXzIwMTlfMDI5XyUyOFN1ZV9QYXJpc2glMjdzX0N1cnRpc3NfUC00MF9XYXJoYXdrJTI5LmpwZyIsIlAtMzkgQWlyYWNvYnJhIjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi9lL2ViL0JlbGxfUC0zOV9BaXJhY29icmFfaW5fZmxpZ2h0X2ZpcmluZ19hbGxfd2VhcG9uc19hdF9uaWdodC5qcGcvNTAwcHgtQmVsbF9QLTM5X0FpcmFjb2JyYV9pbl9mbGlnaHRfZmlyaW5nX2FsbF93ZWFwb25zX2F0X25pZ2h0LmpwZyIsIkE2TSBaZXJvIjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi9mL2YwL01pdHN1YmlzaGlfQTZNX1plcm9fWC0xMzNfcmVhci5KUEcvNTAwcHgtTWl0c3ViaXNoaV9BNk1fWmVyb19YLTEzM19yZWFyLkpQRyIsIktpLTQzIEhheWFidXNhIjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi81LzVlL05ha2FqaW1hX0tpLTQzX2F0X3RoZV9NdXNldW1fb2ZfRmxpZ2h0JTJDX1NlYXR0bGVfYmFja192aWV3LmpwZy81MDBweC1OYWthamltYV9LaS00M19hdF90aGVfTXVzZXVtX29mX0ZsaWdodCUyQ19TZWF0dGxlX2JhY2tfdmlldy5qcGciLCJLaS04NCBIYXlhdGUiOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iLzgvODAvTmFrYWppbWFfS2ktODRfJTI4QXJteV9UeXBlXzRfRmlnaHRlciUyOV9Nb2NrdXBfJTI4NjQxMDczMjIzMSUyOS5qcGcvNTAwcHgtTmFrYWppbWFfS2ktODRfJTI4QXJteV9UeXBlXzRfRmlnaHRlciUyOV9Nb2NrdXBfJTI4NjQxMDczMjIzMSUyOS5qcGciLCJOMUsgU2hpZGVuLUthaSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvdGh1bWIvOC84NC9LYXdhbmlzaGlfTjFLLUpfR2VvcmdlX1NoaWRlbl9LeW9rdWNoaV9TZW50JUM1JThEa2lfTW9kZWxfMjAyMDAxMjYuanBnLzUwMHB4LUthd2FuaXNoaV9OMUstSl9HZW9yZ2VfU2hpZGVuX0t5b2t1Y2hpX1NlbnQlQzUlOERraV9Nb2RlbF8yMDIwMDEyNi5qcGciLCJGNEYgV2lsZGNhdCI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvdGh1bWIvYi9iZS9HcnVtbWFuX0Y0Ri00X1dpbGRjYXRfb2ZfVkYtNDFfaW5fZmxpZ2h0JTJDX2luX2Vhcmx5XzE5NDJfJTI4ODAtRy03MDI2JTI5LmpwZy81MDBweC1HcnVtbWFuX0Y0Ri00X1dpbGRjYXRfb2ZfVkYtNDFfaW5fZmxpZ2h0JTJDX2luX2Vhcmx5XzE5NDJfJTI4ODAtRy03MDI2JTI5LmpwZyIsIkY2RiBIZWxsY2F0IjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi9kL2QxL0dydW1tYW5fRjZGX0hlbGxjYXQlMkNfYWJvdXRfdG9fbWFrZV9hX3dhdGVyX2xhbmRpbmclMkNfY2lyY2FfaW5fMTk0NC5qcGcvNTAwcHgtR3J1bW1hbl9GNkZfSGVsbGNhdCUyQ19hYm91dF90b19tYWtlX2Ffd2F0ZXJfbGFuZGluZyUyQ19jaXJjYV9pbl8xOTQ0LmpwZyIsIkY0VSBDb3JzYWlyIjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi82LzZhL0Y0VV9Db3JzYWlyX09UVDIwMTNfRDdOOTI4MV8wMDIuanBnLzUwMHB4LUY0VV9Db3JzYWlyX09UVDIwMTNfRDdOOTI4MV8wMDIuanBnIiwiWWFrb3ZsZXYgWWFrLTMiOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iLzEvMWUvQ2F2YW5hdWdoX0ZsaWdodF9NdXNldW1fRGVjZW1iZXJfMjAxOV8yN18lMjhZYWtvdmxldl9ZYWstM00lMjkuanBnLzUwMHB4LUNhdmFuYXVnaF9GbGlnaHRfTXVzZXVtX0RlY2VtYmVyXzIwMTlfMjdfJTI4WWFrb3ZsZXZfWWFrLTNNJTI5LmpwZyIsIllha292bGV2IFlhay05IjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi9lL2ViL1lha292bGV2X1lhay05VV9CYXJiYXJvc3NhX2F0X1BDRE1fMjAwOV8yLkpQRy81MDBweC1ZYWtvdmxldl9ZYWstOVVfQmFyYmFyb3NzYV9hdF9QQ0RNXzIwMDlfMi5KUEciLCJMYXZvY2hraW4gTGEtNS83IjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi9hL2E4L0xhLTVfTW9zY293LmpwZy81MDBweC1MYS01X01vc2Nvdy5qcGciLCJNaUctMyI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvdGh1bWIvMS8xOC9NaWtveWFuLUd1cmV2aWNoX01pRy0zJTJDXzEwMHRoX2Fubml2ZXJzYXJ5X29mX1J1c3NpYW5fQWlyX0ZvcmNlLmpwZy81MDBweC1NaWtveWFuLUd1cmV2aWNoX01pRy0zJTJDXzEwMHRoX2Fubml2ZXJzYXJ5X29mX1J1c3NpYW5fQWlyX0ZvcmNlLmpwZyIsIkYtODYgU2FicmUiOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iLzgvOGIvTm9ydGhfQW1lcmljYW5fRi04Nl9TYWJyZV9qZXRfZmlnaHRlcl8tXyVDRSU5MSVDRSVCNSVDRiU4MSVDRSVCOSVDRiU4OSVDRSVCOCVDRSVCRiVDRiU4RCVDRSVCQyVDRSVCNSVDRSVCRCVDRSVCRl8lQ0UlQkMlQ0UlQjElQ0YlODclQ0UlQjclQ0YlODQlQ0UlQjklQ0UlQkElQ0YlOENfJUNFJUIxJUNFJUI1JUNGJTgxJUNFJUJGJUNGJTgzJUNFJUJBJUNFJUFDJUNGJTg2JUNFJUJGJUNGJTgyXyUyODI2NzU5MDQzNTMwJTI5LmpwZy81MDBweC1Ob3J0aF9BbWVyaWNhbl9GLTg2X1NhYnJlX2pldF9maWdodGVyXy1fJUNFJTkxJUNFJUI1JUNGJTgxJUNFJUI5JUNGJTg5JUNFJUI4JUNFJUJGJUNGJThEJUNFJUJDJUNFJUI1JUNFJUJEJUNFJUJGXyVDRSVCQyVDRSVCMSVDRiU4NyVDRSVCNyVDRiU4NCVDRSVCOSVDRSVCQSVDRiU4Q18lQ0UlQjElQ0UlQjUlQ0YlODElQ0UlQkYlQ0YlODMlQ0UlQkElQ0UlQUMlQ0YlODYlQ0UlQkYlQ0YlODJfJTI4MjY3NTkwNDM1MzAlMjkuanBnIiwiTWlHLTE5IEZhcm1lciI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvdGh1bWIvZC9kMi9NaUctMTlfRmFybWVyLmpwZy81MDBweC1NaUctMTlfRmFybWVyLmpwZyIsIkdsb3N0ZXIgTWV0ZW9yIjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi80LzQxL0dsb3N0ZXJfTWV0ZW9yXyUyOGF0X0ZhbnRhc3lfb2ZfRmxpZ2h0JTI5LmpwZy81MDBweC1HbG9zdGVyX01ldGVvcl8lMjhhdF9GYW50YXN5X29mX0ZsaWdodCUyOS5qcGciLCJGOUYgUGFudGhlciI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvdGh1bWIvMS8xMS9HcnVtbWFuX0Y5Ri0yX1BhbnRoZXJfaW5fZmxpZ2h0X292ZXJfTmF2YWxfQWlyX1N0YXRpb25fUGF0dXhlbnRfUml2ZXIlMkNfaW5fdGhlXzE5NTBzXyUyOE5IXzEwMTgwNC1LTiUyOS5qcGcvNTAwcHgtR3J1bW1hbl9GOUYtMl9QYW50aGVyX2luX2ZsaWdodF9vdmVyX05hdmFsX0Fpcl9TdGF0aW9uX1BhdHV4ZW50X1JpdmVyJTJDX2luX3RoZV8xOTUwc18lMjhOSF8xMDE4MDQtS04lMjkuanBnIiwiRi04NCBUaHVuZGVyamV0IjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi81LzVjL1JveWFsX01pbGl0YXJ5X011c2V1bSUyQ19CcnVzc2Vsc18tX1JlcHVibGljX0YtODRfVGh1bmRlcmpldF8lMjgxMTQ0ODc5NzE3NiUyOS5qcGcvNTAwcHgtUm95YWxfTWlsaXRhcnlfTXVzZXVtJTJDX0JydXNzZWxzXy1fUmVwdWJsaWNfRi04NF9UaHVuZGVyamV0XyUyODExNDQ4Nzk3MTc2JTI5LmpwZyIsIkYtOCBDcnVzYWRlciI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvdGh1bWIvMy8zYi9Wb3VnaHRfRi04X0NydXNhZGVyX1VTU19NaWR3YXktMjAwNy0wMy0yNS5qcGcvNTAwcHgtVm91Z2h0X0YtOF9DcnVzYWRlcl9VU1NfTWlkd2F5LTIwMDctMDMtMjUuanBnIiwiRi0xMDUgVGh1bmRlcmNoaWVmIjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi83LzdhL1JlcHVibGljX0YtMTA1X1RodW5kZXJjaGllZl9VU0FGXzI0NDE3X3BpYzEuSlBHLzUwMHB4LVJlcHVibGljX0YtMTA1X1RodW5kZXJjaGllZl9VU0FGXzI0NDE3X3BpYzEuSlBHIiwiTXlzdMOocmUgSVZBIjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi82LzY1L0Rhc3NhdWx0X015c3QlQzMlQThyZV9JVl9sYW5kaW5nX2F0X1Npb25fMTk4Nl8wMS5qcGcvNTAwcHgtRGFzc2F1bHRfTXlzdCVDMyVBOHJlX0lWX2xhbmRpbmdfYXRfU2lvbl8xOTg2XzAxLmpwZyIsIkhhd2tlciBTZWEgRnVyeSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvdGh1bWIvNS81Ny9IYXdrZXJfU2VhX0Z1cnlfRkJfMTBfRi1BWlhKX09UVF8yMDEzXzA1LmpwZy81MDBweC1IYXdrZXJfU2VhX0Z1cnlfRkJfMTBfRi1BWlhKX09UVF8yMDEzXzA1LmpwZyIsIkYtODIgVHdpbiBNdXN0YW5nIjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi9lL2VjL05vcnRoX0FtZXJpY2FuX1hGLTgyX1R3aW5fTXVzdGFuZ19QcmVwYXJlc19mb3JfUmFtamV0X1Rlc3RfRmxpZ2h0XyUyOEdSQy0xOTQ5LUMtMjMzMzAlMjkuanBnLzUwMHB4LU5vcnRoX0FtZXJpY2FuX1hGLTgyX1R3aW5fTXVzdGFuZ19QcmVwYXJlc19mb3JfUmFtamV0X1Rlc3RfRmxpZ2h0XyUyOEdSQy0xOTQ5LUMtMjMzMzAlMjkuanBnIiwKIkYtMTUgRWFnbGUiOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iL2EvYTYvRi0xNUNfRWFnbGVfZnJvbV90aGVfNDR0aF9GaWdodGVyX1NxdWFkcm9uX2ZsaWVzX2R1cmluZ19hX3JvdXRpbmVfdHJhaW5pbmdfZXhlcmNpc2VfQXByaWxfMTUlMkNfMjAxOS5qcGcvNTAwcHgtRi0xNUNfRWFnbGVfZnJvbV90aGVfNDR0aF9GaWdodGVyX1NxdWFkcm9uX2ZsaWVzX2R1cmluZ19hX3JvdXRpbmVfdHJhaW5pbmdfZXhlcmNpc2VfQXByaWxfMTUlMkNfMjAxOS5qcGciLAoiRi00IFBoYW50b20gSUkiOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iLzIvMmIvUUYtNF9Ib2xsb21hbl9BRkIuanBnLzUwMHB4LVFGLTRfSG9sbG9tYW5fQUZCLmpwZyIsCiJGLTE2IEZpZ2h0aW5nIEZhbGNvbiI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvdGh1bWIvYy9jOS9GLTE2X0p1bmVfMjAwOC5qcGcvNTAwcHgtRi0xNl9KdW5lXzIwMDguanBnIiwKIkYtMTQgVG9tY2F0IjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi9mL2Y3L1VTX05hdnlfMDUxMTA1LUYtNTQ4MFQtMDA1X0FuX0YtMTREX1RvbWNhdF9jb25kdWN0c19hX21pc3Npb25fb3Zlcl90aGVfUGVyc2lhbl9HdWxmLXJlZ2lvbi5qcGcvNTAwcHgtVVNfTmF2eV8wNTExMDUtRi01NDgwVC0wMDVfQW5fRi0xNERfVG9tY2F0X2NvbmR1Y3RzX2FfbWlzc2lvbl9vdmVyX3RoZV9QZXJzaWFuX0d1bGYtcmVnaW9uLmpwZyIsCiJGLTE1RSBTdHJpa2UgRWFnbGUiOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iL2UvZTYvRi0xNUVfdGFrZXNfb25fZnVlbF9mcm9tX0tDLTEwLmpwZy81MDBweC1GLTE1RV90YWtlc19vbl9mdWVsX2Zyb21fS0MtMTAuanBnIiwKIkYvQS0xOCBIb3JuZXQiOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iLzQvNDQvRkEtMThDX2Rlc2VydF9yZWZ1ZWxpbmcuanBnLzUwMHB4LUZBLTE4Q19kZXNlcnRfcmVmdWVsaW5nLmpwZyIsCiJGL0EtMThFL0YgU3VwZXIgSG9ybmV0IjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi9kL2RlL1VTX05hdnlfMDcxMjAzLU4tODkyM00tMDc0X0FuX0YtQS0xOEZfU3VwZXJfSG9ybmV0JTJDX2Zyb21fdGhlX1JlZF9SaXBwZXJzX29mX1N0cmlrZV9GaWdodGVyX1NxdWFkcm9uXyUyOFZGQSUyOV8xMSUyQ19tYWtlc19hX3NoYXJwX3R1cm5fYWJvdmVfdGhlX2ZsaWdodF9kZWNrX2Fib2FyZF90aGVfTmltaXR6LWNsYXNzX251Y2xlYXItcG93ZXJlZF9haXJjcmFmdF9jYXJyaWVyX1VTU19IYXJyeV9TLl9UcnVtYW4uanBnLzUwMHB4LXRodW1ibmFpbC5qcGciLAoiRi0yMiBSYXB0b3IiOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iLzEvMWUvRi0yMl9SYXB0b3JfZWRpdDFfJTI4Y3JvcHBlZCUyOS5qcGcvNTAwcHgtRi0yMl9SYXB0b3JfZWRpdDFfJTI4Y3JvcHBlZCUyOS5qcGciLAoiRi0zNSBMaWdodG5pbmcgSUkiOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iLzYvNjEvRi0zNUFfZmxpZ2h0XyUyOGNyb3BwZWQlMjkuanBnLzUwMHB4LUYtMzVBX2ZsaWdodF8lMjhjcm9wcGVkJTI5LmpwZyIsCiJBLTEwIFRodW5kZXJib2x0IElJIjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi84LzgwL0ZhaXJjaGlsZF9SZXB1YmxpY19BLTEwX1RodW5kZXJib2x0X0lJXy1fMzIxNTYxNTkxNTEuanBnLzUwMHB4LUZhaXJjaGlsZF9SZXB1YmxpY19BLTEwX1RodW5kZXJib2x0X0lJXy1fMzIxNTYxNTkxNTEuanBnIiwKIkYtNSBGcmVlZG9tIEZpZ2h0ZXIiOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iLzgvOGQvSi0zMDA1LmpwZy81MDBweC1KLTMwMDUuanBnIiwKIkYtMTA0IFN0YXJmaWdodGVyIjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi84Lzg2L0xvY2toZWVkX0YtMTA0R19TdGFyZmlnaHRlcl9ELTgxMTRfJTI4OTE3OTU0MjU0MiUyOS5qcGcvNTAwcHgtTG9ja2hlZWRfRi0xMDRHX1N0YXJmaWdodGVyX0QtODExNF8lMjg5MTc5NTQyNTQyJTI5LmpwZyIsCiJNaXJhZ2UgSUlJIC8gNSI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvdGh1bWIvZS9lNi9Ud29fTWlyYWdlX0lJSV9vZl90aGVfUm95YWxfQXVzdHJhbGlhbl9BaXJfRm9yY2VfMS5KUEVHLzUwMHB4LVR3b19NaXJhZ2VfSUlJX29mX3RoZV9Sb3lhbF9BdXN0cmFsaWFuX0Fpcl9Gb3JjZV8xLkpQRUciLAoiTWlyYWdlIEYxIjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi83Lzc5L0ZyZW5jaF9BaXJfRm9yY2VfTWlyYWdlX0YxX3JldHVybnNfdG9faXQlMjdzX21pc3Npb25fYWZ0ZXJfcmVjZWl2aW5nX2Z1ZWxfZnJvbV9hX0tDLTEwX0V4dGVuZGVyLmpwZy81MDBweC1GcmVuY2hfQWlyX0ZvcmNlX01pcmFnZV9GMV9yZXR1cm5zX3RvX2l0JTI3c19taXNzaW9uX2FmdGVyX3JlY2VpdmluZ19mdWVsX2Zyb21fYV9LQy0xMF9FeHRlbmRlci5qcGciLAoiTWlyYWdlIDIwMDAiOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iL2MvYzUvTWlyYWdlXzIwMDBDX2luLWZsaWdodF8yXyUyOGNyb3BwZWQlMjkuanBnLzUwMHB4LU1pcmFnZV8yMDAwQ19pbi1mbGlnaHRfMl8lMjhjcm9wcGVkJTI5LmpwZyIsCiJSYWZhbGUiOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iLzYvNjQvUmFmYWxlXy1fUklBVF8yMDA5XyUyODM3NTE0MTY0MjElMjkuanBnLzUwMHB4LVJhZmFsZV8tX1JJQVRfMjAwOV8lMjgzNzUxNDE2NDIxJTI5LmpwZyIsCiJTZWEgSGFycmllciI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvdGh1bWIvOS85ZS9TZWFIYXJyaWVyXyUyOGNyb3BwZWQlMjkuanBnLzUwMHB4LVNlYUhhcnJpZXJfJTI4Y3JvcHBlZCUyOS5qcGciLAoiSUFJIEtmaXIiOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iLzMvMzAvQ29sb21iaWFuX0Fpcl9Gb3JjZV9LZmlyXyUyOGNyb3BwZWQlMjkuanBnLzUwMHB4LUNvbG9tYmlhbl9BaXJfRm9yY2VfS2Zpcl8lMjhjcm9wcGVkJTI5LmpwZyIsCiJFdXJvZmlnaHRlciBUeXBob29uIjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi8zLzNjL1JBRl9FdXJvZmlnaHRlcl9FRi0yMDAwX1R5cGhvb25fRjJfTG9mdGluZy0xLmpwZy81MDBweC1SQUZfRXVyb2ZpZ2h0ZXJfRUYtMjAwMF9UeXBob29uX0YyX0xvZnRpbmctMS5qcGciLAoiU2FhYiBKQVMtMzkgR3JpcGVuIjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi9lL2UzL1NhYWJfSkFTXzM5X0dyaXBlbl9hdF9LYWl2b3B1aXN0b19BaXJfU2hvdyUyQ19KdW5lXzIwMTdfJTI4YWx0ZXJlZCUyOV9jb3B5LmpwZy81MDBweC1TYWFiX0pBU18zOV9HcmlwZW5fYXRfS2Fpdm9wdWlzdG9fQWlyX1Nob3clMkNfSnVuZV8yMDE3XyUyOGFsdGVyZWQlMjlfY29weS5qcGciLAoiVG9ybmFkbyBBRFYgKEYuMykiOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iL2IvYjkvUm95YWxfQWlyX0ZvcmNlX1BhbmF2aWFfVG9ybmFkb19GM19Mb2Z0aW5nLTMuanBnLzUwMHB4LVJveWFsX0Fpcl9Gb3JjZV9QYW5hdmlhX1Rvcm5hZG9fRjNfTG9mdGluZy0zLmpwZyIsCiJUb3JuYWRvIElEUyI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvdGh1bWIvMi8yNS9SQUZfVG9ybmFkb19HUjRfTU9EXzQ1MTU1MjMzLmpwZy81MDBweC1SQUZfVG9ybmFkb19HUjRfTU9EXzQ1MTU1MjMzLmpwZyIsCiJNaUctMjEgRmlzaGJlZCI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvdGh1bWIvZi9mYS9Dcm9hdGlhbl9NaUctMjFfJTI4Y3JvcHBlZCUyOS5qcGcvNTAwcHgtQ3JvYXRpYW5fTWlHLTIxXyUyOGNyb3BwZWQlMjkuanBnIiwKIk1pRy0yMyBGbG9nZ2VyIjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi82LzZmL01pZy0yMy1ETlNUODkwODQzMV9KUEcuanBnLzUwMHB4LU1pZy0yMy1ETlNUODkwODQzMV9KUEcuanBnIiwKIk1pRy0yNSBGb3hiYXQiOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iL2EvYTQvUnVzc2lhbl9BaXJfRm9yY2VfTWlHLTI1LmpwZy81MDBweC1SdXNzaWFuX0Fpcl9Gb3JjZV9NaUctMjUuanBnIiwKIk1pRy0yOSBGdWxjcnVtIjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi9hL2FmL1ZWU18xMDB0aF9JTUdfMDY5MV8lMjg3NzI3NDY0MjkwJTI5XyUyOGNyb3BwZWQlMjkuanBnLzUwMHB4LVZWU18xMDB0aF9JTUdfMDY5MV8lMjg3NzI3NDY0MjkwJTI5XyUyOGNyb3BwZWQlMjkuanBnIiwKIk1pRy0zMSBGb3hob3VuZCI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvdGh1bWIvMy8zOC9SdXNzaWFuX0Fpcl9Gb3JjZV9NaWtveWFuLUd1cmV2aWNoX01pRy0zMVAuanBnLzUwMHB4LVJ1c3NpYW5fQWlyX0ZvcmNlX01pa295YW4tR3VyZXZpY2hfTWlHLTMxUC5qcGciLAoiU3UtMjcgRmxhbmtlciI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvdGh1bWIvMC8wNC9TdWtob2lfU3UtMjdTS01fYXRfTUFLUy0yMDA1X2FpcnNob3cuanBnLzUwMHB4LVN1a2hvaV9TdS0yN1NLTV9hdF9NQUtTLTIwMDVfYWlyc2hvdy5qcGciLAoiU3UtMzAiOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iLzcvNzYvU3VraG9pX1N1LTMwU01faW5fZmxpZ2h0XzIwMTQuanBnLzUwMHB4LVN1a2hvaV9TdS0zMFNNX2luX2ZsaWdodF8yMDE0LmpwZyIsCiJTdS0zMyI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvdGh1bWIvYy9jYi9TdWtob2lfU3UtMzNfNzdfUkVEXyUyODMwMjY4MTE3NDc2JTI5LmpwZy81MDBweC1TdWtob2lfU3UtMzNfNzdfUkVEXyUyODMwMjY4MTE3NDc2JTI5LmpwZyIsCiJTdS0zNCBGdWxsYmFjayI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvdGh1bWIvNy83Ni9NQUtTMjAxNXBhcnQxLTEwXyUyOGNyb3BwZWQlMjkuanBnLzUwMHB4LU1BS1MyMDE1cGFydDEtMTBfJTI4Y3JvcHBlZCUyOS5qcGciLAoiU3UtMzUiOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iL2UvZWMvUnVzc2lhbl9BaXJfRm9yY2UlMkNfUkYtODE3MTklMkNfU3VraG9pX1N1LTM1U18lMjg0OTU4MTc0MDE1NyUyOS5qcGcvNTAwcHgtUnVzc2lhbl9BaXJfRm9yY2UlMkNfUkYtODE3MTklMkNfU3VraG9pX1N1LTM1U18lMjg0OTU4MTc0MDE1NyUyOS5qcGciLAoiU3UtNTcgRmVsb24iOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iLzAvMGUvU3VraG9pX0Rlc2lnbl9CdXJlYXUlMkNfMDU0JTJDX1N1a2hvaV9ULTUwXyUyOFN1LTU3X3Byb3RvdHlwZSUyOV8lMjg0OTU4MTMwMzk3NyUyOS5qcGcvNTAwcHgtU3VraG9pX0Rlc2lnbl9CdXJlYXUlMkNfMDU0JTJDX1N1a2hvaV9ULTUwXyUyOFN1LTU3X3Byb3RvdHlwZSUyOV8lMjg0OTU4MTMwMzk3NyUyOS5qcGciLAoiQ2hlbmdkdSBKLTciOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iLzUvNTkvQmFuZ2xhZGVzaF9BaXJfRm9yY2VfRi03QkdJX2luZmxpZ2h0LnBuZy81MDBweC1CYW5nbGFkZXNoX0Fpcl9Gb3JjZV9GLTdCR0lfaW5mbGlnaHQucG5nIiwKIkNoZW5nZHUgSi0xMCI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvdGh1bWIvNy83Ny9KLTEwQl93aXRoX1BMLTEwX2FuZF9QTC0xMi5qcGcvNTAwcHgtSi0xMEJfd2l0aF9QTC0xMF9hbmRfUEwtMTIuanBnIiwKIlNoZW55YW5nIEotMTEiOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iLzEvMTIvSi0xMUJDaGVsLmpwZy81MDBweC1KLTExQkNoZWwuanBnIiwKIkNoZW5nZHUgSi0yMCI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvdGh1bWIvNy83My9KLTIwX2F0X0NDQVMyMDIyXyUyODIwMjIwODI3MTAzNDI0JTI5LmpwZy81MDBweC1KLTIwX2F0X0NDQVMyMDIyXyUyODIwMjIwODI3MTAzNDI0JTI5LmpwZyIsCiJKRi0xNyBUaHVuZGVyIjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi8xLzFiL1Bha2lzdGFuX0Fpcl9Gb3JjZV9DaGVuZ2R1X0pGLTE3X0d1LmpwZy81MDBweC1QYWtpc3Rhbl9BaXJfRm9yY2VfQ2hlbmdkdV9KRi0xN19HdS5qcGciLAoiTWlHLTE1IEZhZ290IjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi9jL2NmL01pRy0xNV8lMjg1MjU0NDA3NDM2NiUyOS5qcGcvNTAwcHgtTWlHLTE1XyUyODUyNTQ0MDc0MzY2JTI5LmpwZyIsCiJNaUctMTcgRnJlc2NvIjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi9kL2RmL01pRy0xN19UYWtlc190b190aGVfU2t5XyUyOGNyb3BwZWQlMjkuanBnLzUwMHB4LU1pRy0xN19UYWtlc190b190aGVfU2t5XyUyOGNyb3BwZWQlMjkuanBnIiwKIkhhd2tlciBIdW50ZXIiOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iLzgvODcvSHVudGVyXy1fU2h1dHRsZXdvcnRoX01pbGl0YXJ5X1BhZ2VhbnRfSnVuZV8yMDEzXyUyODkxODc3MTM1MTYlMjkuanBnLzUwMHB4LUh1bnRlcl8tX1NodXR0bGV3b3J0aF9NaWxpdGFyeV9QYWdlYW50X0p1bmVfMjAxM18lMjg5MTg3NzEzNTE2JTI5LmpwZyIsCiJFbmdsaXNoIEVsZWN0cmljIExpZ2h0bmluZyI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvdGh1bWIvYi9iMS9FbmdsaXNoX0VsZWN0cmljX0xpZ2h0bmluZ19GNiUyQ19VS18tX0Fpcl9Gb3JjZV9BTjIyNjAxOTIuanBnLzUwMHB4LUVuZ2xpc2hfRWxlY3RyaWNfTGlnaHRuaW5nX0Y2JTJDX1VLXy1fQWlyX0ZvcmNlX0FOMjI2MDE5Mi5qcGciCn07Ci8qIE1pR0ZsdWcgYXZhaWxhYmlsaXR5OiBzdGF0ZSA9IGF2YWlsYWJsZSB8IGNvbWluZyB8IHVudGlsIHwgbmEgKi8KY29uc3QgQVZBSUw9ewoiUC01MSBNdXN0YW5nIjp7c3RhdGU6InBhcnRuZXIiLGxhYmVsOiJHb0F2aWF0b3IiLHVybDoiaHR0cHM6Ly93d3cuZ29hdmlhdG9yLmNvbS8ifSwKIkYtMTA0IFN0YXJmaWdodGVyIjp7c3RhdGU6ImF2YWlsYWJsZSIsdXJsOiJodHRwczovL21pZ2ZsdWcuY29tL2ZsaWdodHMtcHJpY2VzL2YxMDQtc3RhcmZpZ2h0ZXItZmxpZ2h0LyJ9LAoiTWlHLTE1IEZhZ290Ijp7c3RhdGU6ImF2YWlsYWJsZSIsdXJsOiJodHRwczovL21pZ2ZsdWcuY29tL2ZsaWdodHMtcHJpY2VzL21pZy0xNS1mYWdvdC1jemVjaC1yZXB1YmxpYy8ifSwKIk1pRy0yMSBGaXNoYmVkIjp7c3RhdGU6ImF2YWlsYWJsZSIsdXJsOiJodHRwczovL21pZ2ZsdWcuY29tL21pZy0yMS1sYXVuY2gvIn0sCiJNaUctMTcgRnJlc2NvIjp7c3RhdGU6ImNvbWluZyJ9LAoiTWlyYWdlIElJSSAvIDUiOntzdGF0ZToidW50aWwiLHllYXI6MjAyM30sCiJNaUctMjMgRmxvZ2dlciI6e3N0YXRlOiJ1bnRpbCIseWVhcjoyMDA2fSwKIk1pRy0yNSBGb3hiYXQiOntzdGF0ZToidW50aWwiLHllYXI6MjAwNn0sCiJNaUctMjkgRnVsY3J1bSI6e3N0YXRlOiJ1bnRpbCIseWVhcjoyMDE3fSwKIk1pRy0zMSBGb3hob3VuZCI6e3N0YXRlOiJ1bnRpbCIseWVhcjoyMDEwfSwKIlN1LTI3IEZsYW5rZXIiOntzdGF0ZToidW50aWwiLHllYXI6MjAwNn0sCiJTdS0zMCI6e3N0YXRlOiJ1bnRpbCIseWVhcjoyMDA2fSwKIkhhd2tlciBIdW50ZXIiOntzdGF0ZToidW50aWwiLHllYXI6MjAyMn0sCiJFbmdsaXNoIEVsZWN0cmljIExpZ2h0bmluZyI6e3N0YXRlOiJ1bnRpbCIseWVhcjoyMDEwfQp9Owpjb25zdCBNRlI9eyJGb2trZXIgRWluZGVja2VyIjoiRm9ra2VyIiwiQWxiYXRyb3MgRC5JSUkiOiJBbGJhdHJvcyIsIkFsYmF0cm9zIEQuViI6IkFsYmF0cm9zIiwiRm9ra2VyIERyLkkiOiJGb2trZXIiLCJGb2trZXIgRC5WSUkiOiJGb2trZXIiLCJTb3B3aXRoIENhbWVsIjoiU29wd2l0aCIsIlMuRS41YSI6IlJveWFsIEFpcmNyYWZ0IEZhY3RvcnkiLCJTUEFEIFMuWElJSSI6IlNQQUQiLCJOaWV1cG9ydCAxNyI6Ik5pZXVwb3J0IiwiUG9saWthcnBvdiBJLTE2IjoiUG9saWthcnBvdiIsIkZpYXQgQ1IuMzIiOiJGaWF0IiwiR2xvc3RlciBHbGFkaWF0b3IiOiJHbG9zdGVyIiwiTWVzc2Vyc2NobWl0dCBCZiAxMDkiOiJNZXNzZXJzY2htaXR0IiwiTWVzc2Vyc2NobWl0dCBCZiAxMTAiOiJNZXNzZXJzY2htaXR0IiwiRm9ja2UtV3VsZiBGdyAxOTAiOiJGb2NrZS1XdWxmIiwiTWFjY2hpIEMuMjAyIjoiTWFjY2hpIiwiRGV3b2l0aW5lIEQuNTIwIjoiRGV3b2l0aW5lIiwiTWVzc2Vyc2NobWl0dCBNZSAyNjIiOiJNZXNzZXJzY2htaXR0IiwiU3VwZXJtYXJpbmUgU3BpdGZpcmUiOiJTdXBlcm1hcmluZSIsIkhhd2tlciBIdXJyaWNhbmUiOiJIYXdrZXIiLCJIYXdrZXIgVGVtcGVzdCI6Ikhhd2tlciIsImRlIEhhdmlsbGFuZCBNb3NxdWl0byI6ImRlIEhhdmlsbGFuZCIsIlAtNTEgTXVzdGFuZyI6Ik5vcnRoIEFtZXJpY2FuIiwiUC00NyBUaHVuZGVyYm9sdCI6IlJlcHVibGljIiwiUC0zOCBMaWdodG5pbmciOiJMb2NraGVlZCIsIlAtNDAgV2FyaGF3ayI6IkN1cnRpc3MiLCJQLTM5IEFpcmFjb2JyYSI6IkJlbGwiLCJBNk0gWmVybyI6Ik1pdHN1YmlzaGkiLCJLaS00MyBIYXlhYnVzYSI6Ik5ha2FqaW1hIiwiS2ktODQgSGF5YXRlIjoiTmFrYWppbWEiLCJOMUsgU2hpZGVuLUthaSI6Ikthd2FuaXNoaSIsIkY0RiBXaWxkY2F0IjoiR3J1bW1hbiIsIkY2RiBIZWxsY2F0IjoiR3J1bW1hbiIsIkY0VSBDb3JzYWlyIjoiVm91Z2h0IiwiWWFrb3ZsZXYgWWFrLTMiOiJZYWtvdmxldiIsIllha292bGV2IFlhay05IjoiWWFrb3ZsZXYiLCJMYXZvY2hraW4gTGEtNS83IjoiTGF2b2Noa2luIiwiTWlHLTMiOiJNaWtveWFuLUd1cmV2aWNoIiwiRi04NiBTYWJyZSI6Ik5vcnRoIEFtZXJpY2FuIiwiTWlHLTE5IEZhcm1lciI6Ik1pa295YW4tR3VyZXZpY2ggLyBTaGVueWFuZyIsIkdsb3N0ZXIgTWV0ZW9yIjoiR2xvc3RlciIsIkY5RiBQYW50aGVyIjoiR3J1bW1hbiIsIkYtODQgVGh1bmRlcmpldCI6IlJlcHVibGljIiwiRi04IENydXNhZGVyIjoiVm91Z2h0IiwiRi0xMDUgVGh1bmRlcmNoaWVmIjoiUmVwdWJsaWMiLCJNeXN0w6hyZSBJVkEiOiJEYXNzYXVsdCIsIkhhd2tlciBTZWEgRnVyeSI6Ikhhd2tlciIsIkYtODIgVHdpbiBNdXN0YW5nIjoiTm9ydGggQW1lcmljYW4iLCJGLTE1IEVhZ2xlIjoiTWNEb25uZWxsIERvdWdsYXMgLyBCb2VpbmciLCJGLTQgUGhhbnRvbSBJSSI6Ik1jRG9ubmVsbCBEb3VnbGFzIiwiRi0xNiBGaWdodGluZyBGYWxjb24iOiJHZW5lcmFsIER5bmFtaWNzIC8gTG9ja2hlZWQgTWFydGluIiwiRi0xNCBUb21jYXQiOiJHcnVtbWFuIiwiRi0xNUUgU3RyaWtlIEVhZ2xlIjoiTWNEb25uZWxsIERvdWdsYXMgLyBCb2VpbmciLCJGL0EtMTggSG9ybmV0IjoiTWNEb25uZWxsIERvdWdsYXMgLyBCb2VpbmciLCJGL0EtMThFL0YgU3VwZXIgSG9ybmV0IjoiQm9laW5nIiwiRi0yMiBSYXB0b3IiOiJMb2NraGVlZCBNYXJ0aW4gLyBCb2VpbmciLCJGLTM1IExpZ2h0bmluZyBJSSI6IkxvY2toZWVkIE1hcnRpbiIsIkEtMTAgVGh1bmRlcmJvbHQgSUkiOiJGYWlyY2hpbGQgUmVwdWJsaWMiLCJGLTUgRnJlZWRvbSBGaWdodGVyIjoiTm9ydGhyb3AiLCJGLTEwNCBTdGFyZmlnaHRlciI6IkxvY2toZWVkIiwiTWlyYWdlIElJSSAvIDUiOiJEYXNzYXVsdCIsIk1pcmFnZSBGMSI6IkRhc3NhdWx0IiwiTWlyYWdlIDIwMDAiOiJEYXNzYXVsdCIsIlJhZmFsZSI6IkRhc3NhdWx0IiwiU2VhIEhhcnJpZXIiOiJCcml0aXNoIEFlcm9zcGFjZSIsIklBSSBLZmlyIjoiSXNyYWVsIEFlcm9zcGFjZSBJbmR1c3RyaWVzIiwiRXVyb2ZpZ2h0ZXIgVHlwaG9vbiI6IkV1cm9maWdodGVyIiwiU2FhYiBKQVMtMzkgR3JpcGVuIjoiU2FhYiIsIlRvcm5hZG8gQURWIChGLjMpIjoiUGFuYXZpYSIsIlRvcm5hZG8gSURTIjoiUGFuYXZpYSIsIk1pRy0yMSBGaXNoYmVkIjoiTWlrb3lhbi1HdXJldmljaCIsIk1pRy0yMyBGbG9nZ2VyIjoiTWlrb3lhbi1HdXJldmljaCIsIk1pRy0yNSBGb3hiYXQiOiJNaWtveWFuLUd1cmV2aWNoIiwiTWlHLTI5IEZ1bGNydW0iOiJNaWtveWFuIiwiTWlHLTMxIEZveGhvdW5kIjoiTWlrb3lhbiIsIlN1LTI3IEZsYW5rZXIiOiJTdWtob2kiLCJTdS0zMCI6IlN1a2hvaSIsIlN1LTMzIjoiU3VraG9pIiwiU3UtMzQgRnVsbGJhY2siOiJTdWtob2kiLCJTdS0zNSI6IlN1a2hvaSIsIlN1LTU3IEZlbG9uIjoiU3VraG9pIiwiQ2hlbmdkdSBKLTciOiJDaGVuZ2R1IiwiQ2hlbmdkdSBKLTEwIjoiQ2hlbmdkdSIsIlNoZW55YW5nIEotMTEiOiJTaGVueWFuZyIsIkNoZW5nZHUgSi0yMCI6IkNoZW5nZHUiLCJKRi0xNyBUaHVuZGVyIjoiUEFDIC8gQ0FDIiwiTWlHLTE1IEZhZ290IjoiTWlrb3lhbi1HdXJldmljaCIsIk1pRy0xNyBGcmVzY28iOiJNaWtveWFuLUd1cmV2aWNoIiwiSGF3a2VyIEh1bnRlciI6Ikhhd2tlciIsIkVuZ2xpc2ggRWxlY3RyaWMgTGlnaHRuaW5nIjoiRW5nbGlzaCBFbGVjdHJpYyAvIEJBQyJ9O2NvbnN0IEVTVD1uZXcgU2V0KFsiRm9ra2VyIEVpbmRlY2tlciIsIkFsYmF0cm9zIEQuSUlJIiwiQWxiYXRyb3MgRC5WIiwiRm9ra2VyIERyLkkiLCJGb2trZXIgRC5WSUkiLCJTb3B3aXRoIENhbWVsIiwiUy5FLjVhIiwiU1BBRCBTLlhJSUkiLCJOaWV1cG9ydCAxNyIsIlBvbGlrYXJwb3YgSS0xNiIsIkZpYXQgQ1IuMzIiLCJHbG9zdGVyIEdsYWRpYXRvciIsIk1lc3NlcnNjaG1pdHQgQmYgMTA5IiwiTWVzc2Vyc2NobWl0dCBCZiAxMTAiLCJGb2NrZS1XdWxmIEZ3IDE5MCIsIk1hY2NoaSBDLjIwMiIsIkRld29pdGluZSBELjUyMCIsIk1lc3NlcnNjaG1pdHQgTWUgMjYyIiwiU3VwZXJtYXJpbmUgU3BpdGZpcmUiLCJIYXdrZXIgSHVycmljYW5lIiwiSGF3a2VyIFRlbXBlc3QiLCJkZSBIYXZpbGxhbmQgTW9zcXVpdG8iLCJQLTUxIE11c3RhbmciLCJQLTQ3IFRodW5kZXJib2x0IiwiUC0zOCBMaWdodG5pbmciLCJQLTQwIFdhcmhhd2siLCJQLTM5IEFpcmFjb2JyYSIsIkE2TSBaZXJvIiwiS2ktNDMgSGF5YWJ1c2EiLCJLaS04NCBIYXlhdGUiLCJOMUsgU2hpZGVuLUthaSIsIkY0RiBXaWxkY2F0IiwiRjZGIEhlbGxjYXQiLCJGNFUgQ29yc2FpciIsIllha292bGV2IFlhay0zIiwiWWFrb3ZsZXYgWWFrLTkiLCJMYXZvY2hraW4gTGEtNS83IiwiTWlHLTMiLCJGLTg2IFNhYnJlIiwiTWlHLTE5IEZhcm1lciIsIkdsb3N0ZXIgTWV0ZW9yIiwiRjlGIFBhbnRoZXIiLCJGLTg0IFRodW5kZXJqZXQiLCJGLTggQ3J1c2FkZXIiLCJGLTEwNSBUaHVuZGVyY2hpZWYiLCJNeXN0w6hyZSBJVkEiLCJIYXdrZXIgU2VhIEZ1cnkiLCJGLTgyIFR3aW4gTXVzdGFuZyIsIk1pRy0xNSBGYWdvdCIsIk1pRy0xNyBGcmVzY28iLCJNaUctMjEgRmlzaGJlZCIsIk1pRy0yMyBGbG9nZ2VyIiwiTWlyYWdlIElJSSAvIDUiLCJNaXJhZ2UgRjEiLCJGLTUgRnJlZWRvbSBGaWdodGVyIiwiRi0xMDQgU3RhcmZpZ2h0ZXIiLCJGLTQgUGhhbnRvbSBJSSIsIkhhd2tlciBIdW50ZXIiLCJNaUctMjUgRm94YmF0IiwiU3UtMzUiLCJNaUctMzEgRm94aG91bmQiLCJTdS0yNyBGbGFua2VyIiwiU3UtMzAiLCJDaGVuZ2R1IEotMTAiLCJSYWZhbGUiLCJNaXJhZ2UgMjAwMCIsIkpGLTE3IFRodW5kZXIiXSk7CkQuZm9yRWFjaCgoaixpKT0+e2ouaWQ9aTtqLnRvdGFsPWoua2lsbHMrai5sb3NzZXMrKGouZ3JvdW5kfHwwKTtqLnJhdGlvPWoubG9zc2VzPjA\/ai5raWxscy9qLmxvc3Nlczooai5raWxscz4wP0luZmluaXR5OjApO2ouaW1nPUlNR1tqLm5hbWVdfHwiIjtqLmF2YWlsPUFWQUlMW2oubmFtZV18fHtzdGF0ZToibmEifTtqLm1mcj1NRlJbai5uYW1lXXx8IiI7ai5lc3Q9RVNULmhhcyhqLm5hbWUpO30pOwoKLyogLS0tLS0tLS0tLSBESVJFQ1QgVFlQRS12cy1UWVBFIEVOR0FHRU1FTlRTIChkb2N1bWVudGVkKSAtLS0tLS0tLS0tCiAgIHggZG93bmVkIGB4U2NvcmVgIG9mIHR5cGUgeTsgeSBkb3duZWQgYHlTY29yZWAgb2YgdHlwZSB4LiBTY29yZXMga2VwdCBhcwogICBzdHJpbmdzIHRvIGF2b2lkIGZhbHNlIHByZWNpc2lvbi4gYGRpc3B1dGVkOnRydWVgIGZsYWdzIGNvbnRlc3RlZCB0YWxsaWVzLiAqLwpjb25zdCBNQVRDSFVQUz1be3g6IkYtMTYgRmlnaHRpbmcgRmFsY29uIix5OiJTdS0zNSIsY29uZmxpY3Q6IlJ1c3NvLVVrcmFpbmlhbiBXYXIiLHllYXJzOiIyMDI2Iix4U2NvcmU6IjEiLHlTY29yZToiMCIsZGlzcHV0ZWQ6ZmFsc2Usc3VtbWFyeToiT24gOCBKdWx5IDIwMjYgYSBVa3JhaW5pYW4gRi0xNiBzaG90IGRvd24gYSBSdXNzaWFuIFN1LTM1UyB3aXRoIGFuIEFJTS0xMjAg4oCUIHRoZSBGLTE24oCZcyBmaXJzdCBhaXItdG8tYWlyIGtpbGwgb2YgYSBtYW5uZWQgUnVzc2lhbiBqZXQsIGNvbmZpcm1lZCBieSBVUyBhbmQgUnVzc2lhbiBzb3VyY2VzOyB0aGUgU3UtMzUgcGlsb3QgZWplY3RlZCBhbmQgd2FzIHJlc2N1ZWQuIn0se3g6IkYtODYgU2FicmUiLHk6Ik1pRy0xNSBGYWdvdCIsY29uZmxpY3Q6IktvcmVhbiBXYXIgKE1pRyBBbGxleSkiLHllYXJzOiIxOTUw4oCTNTMiLHhTY29yZToiNzkyIGNyZWRpdGVkIC8gfjIwMCB2ZXJpZmllZCIseVNjb3JlOiI3OCBvZmZpY2lhbCAvIH4xMDDigJMyMzAgZXN0LiIsZGlzcHV0ZWQ6dHJ1ZSxzdW1tYXJ5OiJUaGUgamV0IGFnZSdzIGRlZmluaW5nIGR1ZWwuIFRoZSBVU0FGJ3MgMTA6MSBsZWdlbmQgY29sbGFwc2VzIHRvIHJvdWdobHkgMS4z4oCTMS44OjEgYWdhaW5zdCBTb3ZpZXQtZmxvd24gTWlHcyBpbiBhcmNoaXZhbCByZWNvbnN0cnVjdGlvbnMg4oCUIHN0aWxsIGEgd2luLCBqdXN0IGFuIGhvbmVzdCBvbmUuIn0sCnt4OiJGNkYgSGVsbGNhdCIseToiQTZNIFplcm8iLGNvbmZsaWN0OiJQYWNpZmljIFdhciIseWVhcnM6IjE5NDPigJM0NSIseFNjb3JlOiIxMzoxIGNyZWRpdGVkIix5U2NvcmU6IuKAlCIsZGlzcHV0ZWQ6ZmFsc2Usc3VtbWFyeToiVGhlIEhlbGxjYXQgd2FzIGRlc2lnbmVkIHNwZWNpZmljYWxseSB0byBiZWF0IHRoZSBaZXJvIGFuZCBkaWQgc28gb3ZlcndoZWxtaW5nbHk7IGV2ZW4gYWZ0ZXIgMnggY2xhaW0gZGVmbGF0aW9uIHRoZSByYXRpbyBzdGF5cyBuZWFyIDY6MS4ifSwKe3g6IkY0RiBXaWxkY2F0Iix5OiJBNk0gWmVybyIsY29uZmxpY3Q6IlBhY2lmaWMgV2FyIix5ZWFyczoiMTk0MiIseFNjb3JlOiJ+MToxIix5U2NvcmU6In4xOjEiLGRpc3B1dGVkOmZhbHNlLHN1bW1hcnk6IlRoZSBjcmVkaXRlZCA2Ljk6MSBoaWRlcyB0aGUgcmVhbCBzdG9yeTogTHVuZHN0cm9tJ3MgYWN0aW9uLWJ5LWFjdGlvbiByZXNlYXJjaCBzaG93cyB0aGUgb3V0Y2xhc3NlZCBXaWxkY2F0IGZvdWdodCB0aGUgWmVybyB0byBhIGRyYXcgd2l0aCBhcm1vciwgdGVhbXdvcmsgYW5kIHRoZSBUaGFjaCBXZWF2ZS4ifSwKe3g6IlAtNTEgTXVzdGFuZyIseToiTWVzc2Vyc2NobWl0dCBCZiAxMDkiLGNvbmZsaWN0OiJEZWZlbnNlIG9mIHRoZSBSZWljaCIseWVhcnM6IjE5NDTigJM0NSIseFNjb3JlOiJoZWF2aWx5IHBvc2l0aXZlIix5U2NvcmU6IuKAlCIsZGlzcHV0ZWQ6ZmFsc2Usc3VtbWFyeToiT25jZSBNdXN0YW5ncyByZWFjaGVkIEJlcmxpbiB0aGUgZXhjaGFuZ2UgdHVybmVkIGRlY2lzaXZlbHk6IHZldGVyYW4tZmxvd24gMTA5cyBjb3VsZCBzdGlsbCBiaXRlLCBidXQgdGhlIEx1ZnR3YWZmZSdzIHBpbG90IHBpcGVsaW5lIGhhZCBjb2xsYXBzZWQuIn0sCnt4OiJIYXdrZXIgVGVtcGVzdCIseToiTWVzc2Vyc2NobWl0dCBNZSAyNjIiLGNvbmZsaWN0OiJOVyBFdXJvcGUiLHllYXJzOiIxOTQ04oCTNDUiLHhTY29yZToic2V2ZXJhbCIseVNjb3JlOiJmZXciLGRpc3B1dGVkOmZhbHNlLHN1bW1hcnk6IlRoZSBUZW1wZXN0J3MgbG93LWFsdGl0dWRlIHNwZWVkIG1hZGUgaXQgb25lIG9mIHRoZSBvbmx5IHBpc3RvbnMgdGhhdCBjb3VsZCBjYXRjaCB0aGUgamV0IOKAlCBtb3N0bHkgYnkgYW1idXNoaW5nIGl0IG5lYXIgaXRzIGFpcmZpZWxkcy4ifSwKe3g6IlNvcHdpdGggQ2FtZWwiLHk6IkZva2tlciBELlZJSSIsY29uZmxpY3Q6IldXSSBXZXN0ZXJuIEZyb250Iix5ZWFyczoiMTkxOCIseFNjb3JlOiLigJQiLHlTY29yZToi4oCUIixkaXNwdXRlZDp0cnVlLHN1bW1hcnk6IlRoZSB3YXIncyB0d28gbW9zdCBjZWxlYnJhdGVkIGZpZ2h0ZXJzIG1ldCBjb25zdGFudGx5IGluIDE5MTg7IG5laXRoZXIgc2lkZSdzIHJlY29yZHMgYWxsb3cgYSBjbGVhbiB0eXBlLXZzLXR5cGUgc2NvcmUuIn0sCnt4OiJGLTE1IEVhZ2xlIix5OiJNaUctMjkgRnVsY3J1bSIsY29uZmxpY3Q6Ikd1bGYgV2FyICYgS29zb3ZvIix5ZWFyczoiMTk5MSAmIDE5OTkiLHhTY29yZToiNisiLHlTY29yZToiMCIsZGlzcHV0ZWQ6ZmFsc2Usc3VtbWFyeToiRi0xNXMgZG93bmVkIGF0IGxlYXN0IHNpeCBNaUctMjlzIGFjcm9zcyBEZXNlcnQgU3Rvcm0gYW5kIE9wZXJhdGlvbiBBbGxpZWQgRm9yY2Ugd2l0aG91dCBhIHNpbmdsZSBsb3NzIOKAlCB0aGUgRnVsY3J1bSdzIHRvdWdoZXN0IG1hdGNodXAuIn0sCnt4OiJGLTE2IEZpZ2h0aW5nIEZhbGNvbiIseToiTWlHLTI5IEZ1bGNydW0iLGNvbmZsaWN0OiJLb3Nvdm8gV2FyIChBbGxpZWQgRm9yY2UpIix5ZWFyczoiMTk5OSIseFNjb3JlOiIyIix5U2NvcmU6IjAiLGRpc3B1dGVkOmZhbHNlLHN1bW1hcnk6IkEgVVNBRiBhbmQgYSBSb3lhbCBOZXRoZXJsYW5kcyBBaXIgRm9yY2UgRi0xNiBlYWNoIGRvd25lZCBhIFl1Z29zbGF2IE1pRy0yOTsgbm8gRi0xNiB3YXMgbG9zdC4ifSwKe3g6IlN1LTI3IEZsYW5rZXIiLHk6Ik1pRy0yOSBGdWxjcnVtIixjb25mbGljdDoiRXJpdHJlYW7igJNFdGhpb3BpYW4gV2FyIix5ZWFyczoiMTk5OSIseFNjb3JlOiIy4oCTMyIseVNjb3JlOiIwIixkaXNwdXRlZDpmYWxzZSxzdW1tYXJ5OiJUaGUgb25seSBGbGFua2VyLXZzLUZ1bGNydW0gY29tYmF0IGluIGhpc3RvcnkuIEV0aGlvcGlhbiBTdS0yN3MgZG93bmVkIHR3byB0byB0aHJlZSBFcml0cmVhbiBNaUctMjlzIGFuZCBsb3N0IG5vbmUg4oCUIHRoZSBzaWJsaW5nIHJpdmFscnkgc2V0dGxlZCBkZWNpc2l2ZWx5LiJ9LAp7eDoiRi0xNSBFYWdsZSIseToiTWlHLTI1IEZveGJhdCIsY29uZmxpY3Q6Ikd1bGYgV2FyICYgSXNyYWVsaSBvcHMiLHllYXJzOiIxOTgx4oCTMTk5MSIseFNjb3JlOiIzKyIseVNjb3JlOiIwIixkaXNwdXRlZDpmYWxzZSxzdW1tYXJ5OiJGLTE1cyBkb3duZWQgbXVsdGlwbGUgRm94YmF0cyDigJQgaW5jbHVkaW5nIHR3byBpbiBhIHNpbmdsZSBEZXNlcnQgU3Rvcm0gZW5nYWdlbWVudCBvbiAxOSBKYW4gMTk5MSDigJQgZm9yIG5vIGxvc3MuIn0sCnt4OiJGLTE1IEVhZ2xlIix5OiJNaUctMjMgRmxvZ2dlciIsY29uZmxpY3Q6IkJla2FhIFZhbGxleSAmIEd1bGYgV2FyIix5ZWFyczoiMTk4MuKAkzE5OTEiLHhTY29yZToiOCsiLHlTY29yZToiMCIsZGlzcHV0ZWQ6ZmFsc2Usc3VtbWFyeToiVVNBRiBGLTE1cyBhbG9uZSBkb3duZWQgZWlnaHQgSXJhcWkgTWlHLTIzcyBpbiBEZXNlcnQgU3Rvcm0sIG9uIHRvcCBvZiBJc3JhZWxpIGtpbGxzIG92ZXIgTGViYW5vbjsgbm8gRi0xNSB3YXMgbG9zdCB0byBhIEZsb2dnZXIuIn0sCnt4OiJGLTE2IEZpZ2h0aW5nIEZhbGNvbiIseToiTWlHLTIzIEZsb2dnZXIiLGNvbmZsaWN0OiJMZWJhbm9uIFdhciAoQmVrYWEgVmFsbGV5KSIseWVhcnM6IjE5ODIiLHhTY29yZToic2V2ZXJhbCIseVNjb3JlOiIwIixkaXNwdXRlZDpmYWxzZSxzdW1tYXJ5OiJJc3JhZWxpIEYtMTZzIGRvd25lZCBTeXJpYW4gTWlHLTIzcyBkdXJpbmcgdGhlIG9uZS1zaWRlZCBCZWthYSBWYWxsZXkgYWlyIGJhdHRsZXMuIn0sCnt4OiJGLTE1IEVhZ2xlIix5OiJGLTQgUGhhbnRvbSBJSSIsY29uZmxpY3Q6IlNhdWRp4oCTSXJhbiBib3JkZXIgY2xhc2giLHllYXJzOiIxOTg0Iix4U2NvcmU6IjIiLHlTY29yZToiMCIsZGlzcHV0ZWQ6ZmFsc2Usc3VtbWFyeToiVHdvIFJveWFsIFNhdWRpIEYtMTVzIGRvd25lZCB0d28gSXJhbmlhbiBGLTRFIFBoYW50b21zIG5lYXIgdGhlIEd1bGYgaW4gSnVuZSAxOTg0IOKAlCBhIHJhcmUgRi0xNSBlbmdhZ2VtZW50IG91dHNpZGUgSXNyYWVsaSBhbmQgVVMgc2VydmljZS4ifSwKe3g6IkYvQS0xOCBIb3JuZXQiLHk6Ik1pRy0yMSBGaXNoYmVkIixjb25mbGljdDoiR3VsZiBXYXIiLHllYXJzOiIxOTkxIix4U2NvcmU6IjIiLHlTY29yZToiMCIsZGlzcHV0ZWQ6ZmFsc2Usc3VtbWFyeToiT24gdGhlIHdhcidzIG9wZW5pbmcgbmlnaHQgdHdvIFZGQS04MSBIb3JuZXRzIGVhY2ggZG93bmVkIGFuIElyYXFpIE1pRy0yMSDigJQgdGhlbiBjb21wbGV0ZWQgdGhlaXIgYm9tYmluZyBydW5zLiJ9LAp7eDoiRi9BLTE4IEhvcm5ldCIseToiTWlHLTI1IEZveGJhdCIsY29uZmxpY3Q6Ikd1bGYgV2FyIix5ZWFyczoiMTk5MSIseFNjb3JlOiIwIix5U2NvcmU6IjEiLGRpc3B1dGVkOmZhbHNlLHN1bW1hcnk6IlRoZSBIb3JuZXQncyBvbmx5IGFpci10by1haXIgbG9zcyDigJQgTHQgQ2RyIFNjb3R0IFNwZWljaGVyJ3MgamV0IG9uIDE3IEphbiAxOTkxIOKAlCBpcyB3aWRlbHkgYXR0cmlidXRlZCB0byBhbiBJcmFxaSBNaUctMjUuIn0sCnt4OiJTZWEgSGFycmllciIseToiTWlyYWdlIElJSSAvIDUiLGNvbmZsaWN0OiJGYWxrbGFuZHMgV2FyIix5ZWFyczoiMTk4MiIseFNjb3JlOiJzZXZlcmFsIix5U2NvcmU6IjAiLGRpc3B1dGVkOmZhbHNlLHN1bW1hcnk6IlNlYSBIYXJyaWVycyBkb3duZWQgQXJnZW50aW5lIE1pcmFnZXMgYW5kIERhZ2dlcnMgd2l0aCB0aGUgQUlNLTlMIFNpZGV3aW5kZXI7IG5vbmUgd2VyZSBsb3N0IGluIGFpciBjb21iYXQuIn0sCnt4OiJNaUctMjEgRmlzaGJlZCIseToiRi0xMDQgU3RhcmZpZ2h0ZXIiLGNvbmZsaWN0OiJJbmRvLVBha2lzdGFuaSBXYXIiLHllYXJzOiIxOTcxIix4U2NvcmU6IjIrIix5U2NvcmU6IjDigJMxIixkaXNwdXRlZDpmYWxzZSxzdW1tYXJ5OiJJbmRpYW4gTWlHLTIxcyBkb3duZWQgUGFraXN0YW5pIEYtMTA0cyBpbiBzb21lIG9mIHRoZSBmaXJzdCBzdXBlcnNvbmljLXZzLXN1cGVyc29uaWMga2lsbHMgb3ZlciB0aGUgc3ViY29udGluZW50LiJ9LAp7eDoiTWlyYWdlIElJSSAvIDUiLHk6Ik1pRy0yMSBGaXNoYmVkIixjb25mbGljdDoiU2l4LURheSBXYXIgJiBXYXIgb2YgQXR0cml0aW9uIix5ZWFyczoiMTk2N+KAkzE5NzAiLHhTY29yZToibWFueSIseVNjb3JlOiJzb21lIixkaXNwdXRlZDpmYWxzZSxzdW1tYXJ5OiJUaGUgZGVmaW5pbmcgZG9nZmlnaHQgcml2YWxyeSBvZiB0aGUgZWFybHkgQXJhYuKAk0lzcmFlbGkgd2FycyDigJQgSXNyYWVsaSBNaXJhZ2VzIGFnYWluc3QgRWd5cHRpYW4gYW5kIFN5cmlhbiBNaUctMjFzLCB3aXRoIHRoZSBNaXJhZ2UgZ2VuZXJhbGx5IG9uIHRvcC4ifSwKe3g6IkYtNSBGcmVlZG9tIEZpZ2h0ZXIiLHk6Ik1pRy0yMSBGaXNoYmVkIixjb25mbGljdDoiT2dhZGVuIFdhciIseWVhcnM6IjE5NzfigJMxOTc4Iix4U2NvcmU6In4xMiIseVNjb3JlOiIwIixkaXNwdXRlZDpmYWxzZSxzdW1tYXJ5OiJFdGhpb3BpYW4gRi01RXMgZG93bmVkIGFyb3VuZCBhIGRvemVuIFNvbWFsaSBNaUctMjFzIGR1cmluZyB0aGUgT2dhZGVuIFdhci4ifSwKe3g6Ik1pRy0yMSBGaXNoYmVkIix5OiJGLTQgUGhhbnRvbSBJSSIsY29uZmxpY3Q6IlZpZXRuYW0gV2FyIix5ZWFyczoiMTk2NeKAkzE5NzMiLHhTY29yZToiZG96ZW5zIix5U2NvcmU6ImRvemVucyIsZGlzcHV0ZWQ6dHJ1ZSxzdW1tYXJ5OiJUaGUgZGVmaW5pdGl2ZSBDb2xkIFdhciBkb2dmaWdodCByaXZhbHJ5LiBCb3RoIHNpZGVzIHNjb3JlZCBkb3plbnMgb2Yga2lsbHMsIGFuZCB0aGUgZXhhY3QgZXhjaGFuZ2UgcmF0aW8gaXMgZGlzcHV0ZWQgYmV0d2VlbiBVUyBhbmQgVmlldG5hbWVzZSBhY2NvdW50aW5nIHRvIHRoaXMgZGF5LiJ9LAp7eDoiRi0xNCBUb21jYXQiLHk6Ik1pcmFnZSBGMSIsY29uZmxpY3Q6IklyYW7igJNJcmFxIFdhciIseWVhcnM6IjE5ODDigJMxOTg4Iix4U2NvcmU6ImNsYWltZWQiLHlTY29yZToiY2xhaW1lZCIsZGlzcHV0ZWQ6dHJ1ZSxzdW1tYXJ5OiJJcmFuaWFuIEYtMTRzIGFuZCBJcmFxaSBNaXJhZ2UgRjFzIGNsYXNoZWQgcmVwZWF0ZWRseSBpbiB0aGUgbG93LWxldmVsICdHaXJhZmZlJyBtaXNzaW9ucy4gQm90aCBzaWRlcyBjbGFpbWVkIG11bHRpcGxlIGtpbGxzLCBidXQgSXJhbmlhbiBhbmQgSXJhcWkgdGFsbGllcyBkaXZlcmdlIHNoYXJwbHkgYW5kIHJlbWFpbiB1bnZlcmlmaWFibGUuIn0sCnt4OiJGLTE0IFRvbWNhdCIseToiTWlHLTIzIEZsb2dnZXIiLGNvbmZsaWN0OiJJcmFu4oCTSXJhcSBXYXIiLHllYXJzOiIxOTg0ICYgMTk4NiIseFNjb3JlOiIwIix5U2NvcmU6IjIgY2xhaW1lZCIsZGlzcHV0ZWQ6dHJ1ZSxzdW1tYXJ5OiJJcmFxaSBNaUctMjNNTHMgYXJlIGNyZWRpdGVkIHdpdGggZG93bmluZyBJcmFuaWFuIEYtMTRzIGluIDE5ODQgYW5kIDE5ODYg4oCUIHJhcmUgVG9tY2F0IGxvc3NlcywgdGhvdWdoIHRoZSBkZXRhaWxzIGFyZSBkaXNwdXRlZCBieSBJcmFuaWFuIHNvdXJjZXMuIn0sCnt4OiJNaUctMTcgRnJlc2NvIix5OiJGLTQgUGhhbnRvbSBJSSIsY29uZmxpY3Q6IlZpZXRuYW0gV2FyIix5ZWFyczoiMTk2NeKAkzE5NzIiLHhTY29yZToifjMyIix5U2NvcmU6Im1hbnkiLGRpc3B1dGVkOnRydWUsc3VtbWFyeToiVGhlIHN1YnNvbmljIE1pRy0xNyBpcyBjcmVkaXRlZCB3aXRoIGRvd25pbmcgYXJvdW5kIDMyIEYtNCBQaGFudG9tcyBpbiBsb3ctc3BlZWQga25pZmUtZmlnaHRzIG92ZXIgTm9ydGggVmlldG5hbSwgd2hpbGUgUGhhbnRvbXMgZG93bmVkIE1pRy0xN3MgaW4gcmV0dXJuIOKAlCBhIGxvcHNpZGVkLXRlY2hub2xvZ3kgbWF0Y2h1cCB0aGUgbGl0dGxlIGd1bmZpZ2h0ZXIgcmVmdXNlZCB0byBsb3NlIGNsZWFubHkuIn0KLHsieCI6Ik5pZXVwb3J0IDE3IiwieSI6IkFsYmF0cm9zIEQuSUlJIiwiY29uZmxpY3QiOiJCbG9vZHkgQXByaWwgLyBXZXN0ZXJuIEZyb250IiwieWVhcnMiOiIxOTE3IiwieFNjb3JlIjoib3V0bWF0Y2hlZCIsInlTY29yZSI6ImRvbWluYW50IiwiZGlzcHV0ZWQiOnRydWUsInN1bW1hcnkiOiJUaGUgTmlldXBvcnQgMTcgd2FzIGEgbWFpbnN0YXkgb2YgQWxsaWVkIHNxdWFkcm9ucyB3aGVuIHRoZSBBbGJhdHJvcyBELklJSSBzYXZhZ2VkIHRoZSBSRkMgZHVyaW5nIEJsb29keSBBcHJpbCAxOTE3OyB0aGUgRC5JSUkncyB0d2luIGd1bnMgYW5kIGRpdmUgZ2F2ZSBpdCB0aGUgZWRnZSwgdGhvdWdoIE5pZXVwb3J0IGFjZXMgc3RpbGwgc2NvcmVkLiBUeXBlLXZzLXR5cGUgdGFsbGllcyBhcmVuJ3QgY2xlYW5seSByZWNvcmRlZC4ifSx7IngiOiJTLkUuNWEiLCJ5IjoiQWxiYXRyb3MgRC5JSUkiLCJjb25mbGljdCI6Ildlc3Rlcm4gRnJvbnQgKEFycmFz4oCTWXByZXMpIiwieWVhcnMiOiIxOTE3IiwieFNjb3JlIjoiZWRnZSIsInlTY29yZSI6ImV2ZW4iLCJkaXNwdXRlZCI6dHJ1ZSwic3VtbWFyeSI6IkVudGVyaW5nIGNvbWJhdCBpbiBzcHJpbmcgMTkxNywgdGhlIFMuRS41YSBoZWxwZWQgdGhlIFJGQyBjbGF3IGJhY2sgdGhlIGluaXRpYXRpdmUgdGhlIEFsYmF0cm9zIEQuSUlJIGhhZCB3b24gZHVyaW5nIEJsb29keSBBcHJpbCwgd2l0aCBhY2VzIGxpa2UgQmFsbCBhbmQgTWNDdWRkZW4gb3Bwb3NpbmcgdGhlIEdlcm1hbiBKYXN0YXMuIn0seyJ4IjoiUy5FLjVhIiwieSI6IkFsYmF0cm9zIEQuViIsImNvbmZsaWN0IjoiV2VzdGVybiBGcm9udCIsInllYXJzIjoiMTkxN+KAkzE4IiwieFNjb3JlIjoiZXZlbiIsInlTY29yZSI6ImV2ZW4iLCJkaXNwdXRlZCI6dHJ1ZSwic3VtbWFyeSI6IkEgc2lnbmF0dXJlIDE5MTfigJMxOCByaXZhbHJ5IChPc3ByZXkncyAnU0UgNWEgdnMgQWxiYXRyb3MgRCBWJyk6IHRoZSBmYXN0LCBzdHVyZHkgUy5FLjVhIGZsb3duIGJ5IE1jQ3VkZGVuLCBNYW5ub2NrIGFuZCBCaXNob3AgcmVwZWF0ZWRseSBjbGFzaGVkIHdpdGggQWxiYXRyb3MgRC5WL0QuVmEgSmFzdGFzLiBCb3RoIHNpZGVzIGNsYWltZWQgaGVhdmlseS4ifSx7IngiOiJTUEFEIFMuWElJSSIsInkiOiJBbGJhdHJvcyBELklJSSIsImNvbmZsaWN0IjoiV2VzdGVybiBGcm9udCIsInllYXJzIjoiMTkxNyIsInhTY29yZSI6ImV2ZW4iLCJ5U2NvcmUiOiJlZGdlIiwiZGlzcHV0ZWQiOnRydWUsInN1bW1hcnkiOiJBcyB0aGUgU1BBRCBYSUlJIHJlYWNoZWQgRnJlbmNoIGVzY2FkcmlsbGVzIGluIGxhdGUgMTkxNyBpdCBlbmdhZ2VkIHRoZSBzdGlsbC1udW1lcm91cyBBbGJhdHJvcyBELklJSS4gRXhhY3QgdHlwZS12cy10eXBlIG91dGNvbWVzIGFyZSBub3QgcHJlY2lzZWx5IHJlY29yZGVkLiJ9LHsieCI6IlNQQUQgUy5YSUlJIiwieSI6IkFsYmF0cm9zIEQuViIsImNvbmZsaWN0IjoiV2VzdGVybiBGcm9udCIsInllYXJzIjoiMTkxN+KAkzE4IiwieFNjb3JlIjoiZXZlbiIsInlTY29yZSI6ImV2ZW4iLCJkaXNwdXRlZCI6dHJ1ZSwic3VtbWFyeSI6IlRoZSBmYXN0LCByb2J1c3QgU1BBRCBYSUlJIChGb25jaywgR3V5bmVtZXIsIFVTIHNxdWFkcm9ucykgd2FzIGEgcHJpbmNpcGFsIG9wcG9uZW50IG9mIHRoZSBBbGJhdHJvcyBELlYvRC5WYSB0aHJvdWdoIGxhdGUgMTkxNyBpbnRvIDE5MTguIENsYWltcyBvbiBib3RoIHNpZGVzIHdlcmUgc3Vic3RhbnRpYWwuIn0seyJ4IjoiU29wd2l0aCBDYW1lbCIsInkiOiJBbGJhdHJvcyBELklJSSIsImNvbmZsaWN0IjoiV2VzdGVybiBGcm9udCAoRmxhbmRlcnMpIiwieWVhcnMiOiIxOTE3IiwieFNjb3JlIjoiZXZlbiIsInlTY29yZSI6ImVkZ2UiLCJkaXNwdXRlZCI6dHJ1ZSwic3VtbWFyeSI6IlRoZSBDYW1lbCBlbnRlcmVkIHNlcnZpY2UgaW4gbWlkLTE5MTcgYW5kIG1ldCB0aGUgQWxiYXRyb3MgRC5JSUkgb3ZlciBGbGFuZGVycyBiZWZvcmUgdGhlIEQuViBwcmVkb21pbmF0ZWQ7IHRoZSBDYW1lbCdzIHR1cm4gYWdpbGl0eSBvZmZzZXQgdGhlIEFsYmF0cm9zJ3Mgc3BlZWQuIn0seyJ4IjoiU29wd2l0aCBDYW1lbCIsInkiOiJBbGJhdHJvcyBELlYiLCJjb25mbGljdCI6Ildlc3Rlcm4gRnJvbnQiLCJ5ZWFycyI6IjE5MTfigJMxOCIsInhTY29yZSI6ImV2ZW4iLCJ5U2NvcmUiOiJldmVuIiwiZGlzcHV0ZWQiOnRydWUsInN1bW1hcnkiOiJPbmUgb2YgdGhlIG1vc3QgZnJlcXVlbnQgMTkxN+KAkzE4IG1hdGNodXBzOiB0aGUgaGlnaGx5IG1hbm9ldXZyYWJsZSBDYW1lbCBhZ2FpbnN0IHRoZSBBbGJhdHJvcyBELlYvRC5WYSB0aGF0IGZvcm1lZCB0aGUgYmFja2JvbmUgb2YgdGhlIEdlcm1hbiBKYXN0YXMuIn0seyJ4IjoiUy5FLjVhIiwieSI6IkZva2tlciBEci5JIiwiY29uZmxpY3QiOiJXZXN0ZXJuIEZyb250IiwieWVhcnMiOiIxOTE34oCTMTgiLCJ4U2NvcmUiOiJlZGdlIiwieVNjb3JlIjoiY29udGVzdGVkIiwiZGlzcHV0ZWQiOnRydWUsInN1bW1hcnkiOiJUaGUgUy5FLjVhIHJlZ3VsYXJseSBvcHBvc2VkIHRoZSBGb2trZXIgRHIuSSBpbiBsYXRlIDE5MTfigJMxOTE4LCB1c2luZyBkaXZpbmcgc3BlZWQgYW5kIGZpcmVwb3dlciBhZ2FpbnN0IHRoZSBuaW1ibGUgYnV0IHNsb3cgdHJpcGxhbmUuIFNtYWxsIERyLkkgbnVtYmVycyBtYWtlIHRoZSB0YWxseSBjb250ZXN0ZWQuIn0seyJ4IjoiU1BBRCBTLlhJSUkiLCJ5IjoiRm9ra2VyIEQuVklJIiwiY29uZmxpY3QiOiJXZXN0ZXJuIEZyb250IiwieWVhcnMiOiIxOTE4IiwieFNjb3JlIjoiZXZlbiIsInlTY29yZSI6ImV2ZW4iLCJkaXNwdXRlZCI6dHJ1ZSwic3VtbWFyeSI6IkRvY3VtZW50ZWQgaW4gT3NwcmV5J3MgJ1NQQUQgWElJSSB2cyBGb2trZXIgRCBWSUknOiB0aGUgbWFpbnN0YXkgRnJlbmNoL0FtZXJpY2FuIFNQQUQgZmFjZWQgR2VybWFueSdzIGJlc3QgMTkxOCBmaWdodGVyIGluIHRoZSB3YXIncyBmaW5hbCBtb250aHMuIEJvdGggd2VyZSBmb3JtaWRhYmxlLiJ9LHsieCI6IlMuRS41YSIsInkiOiJGb2trZXIgRC5WSUkiLCJjb25mbGljdCI6Ildlc3Rlcm4gRnJvbnQiLCJ5ZWFycyI6IjE5MTgiLCJ4U2NvcmUiOiJldmVuIiwieVNjb3JlIjoiZXZlbiIsImRpc3B1dGVkIjp0cnVlLCJzdW1tYXJ5IjoiQSBrZXkgMTkxOCBjbGFzaCBhcyB0aGUgRm9ra2VyIEQuVklJIHJlYWNoZWQgdGhlIGZyb250IGZyb20gc3ByaW5nIDE5MTggYW5kIG1ldCB0aGUgUkFGJ3MgUy5FLjVhIHNxdWFkcm9ucy4gQm90aCB3ZXJlIGZyb250LWxpbmUgZmlnaHRlcnMgYW5kIGNsYWltZWQgaGVhdmlseS4ifSx7IngiOiJTdXBlcm1hcmluZSBTcGl0ZmlyZSIsInkiOiJNZXNzZXJzY2htaXR0IEJmIDEwOSIsImNvbmZsaWN0IjoiQmF0dGxlIG9mIEJyaXRhaW4gLyBDaGFubmVsIEZyb250IiwieWVhcnMiOiIxOTQwIiwieFNjb3JlIjoiZXZlbiIsInlTY29yZSI6ImV2ZW4iLCJkaXNwdXRlZCI6dHJ1ZSwic3VtbWFyeSI6IlRoZSBkZWZpbml0aXZlIGR1ZWwgb2YgMTk0MDogdGhlIFNwaXRmaXJlIE1rIEkvSUkgYW5kIEJmIDEwOUUgd2VyZSBjbG9zZWx5IG1hdGNoZWQg4oCUIHRoZSAxMDkgaG9sZGluZyBlZGdlcyBpbiBkaXZlIGFuZCBmdWVsLWluamVjdGVkIGhhbmRsaW5nLCB0aGUgU3BpdGZpcmUgaW4gdHVybiByYWRpdXMg4oCUIHdpdGggb3V0Y29tZXMgdXN1YWxseSBkZWNpZGVkIGJ5IHRhY3RpY3MgYW5kIGZ1ZWwgKEJ1bmdheTsgT3NwcmV5KS4ifSx7IngiOiJIYXdrZXIgSHVycmljYW5lIiwieSI6Ik1lc3NlcnNjaG1pdHQgQmYgMTA5IiwiY29uZmxpY3QiOiJCYXR0bGUgb2YgQnJpdGFpbiIsInllYXJzIjoiMTk0MCIsInhTY29yZSI6ImhhcmQtZm91Z2h0IiwieVNjb3JlIjoiZWRnZSIsImRpc3B1dGVkIjp0cnVlLCJzdW1tYXJ5IjoiVGhlIEh1cnJpY2FuZSBib3JlIHRoZSBidWxrIG9mIFJBRiBzb3J0aWVzIGFuZCBkb3duZWQgbW9yZSBhaXJjcmFmdCB0aGFuIGFueSBvdGhlciB0eXBlIGluIDE5NDAsIGJ1dCBhZ2FpbnN0IHRoZSBCZiAxMDlFIGl0IHdhcyBvdXRwZXJmb3JtZWQgaW4gc3BlZWQgYW5kIGNsaW1iOyBIdXJyaWNhbmVzIHdlcmUgbGFyZ2VseSBzZW50IGF0IHRoZSBib21iZXJzIHdoaWxlIFNwaXRmaXJlcyB0b29rIHRoZSBlc2NvcnRzLiJ9LHsieCI6IlN1cGVybWFyaW5lIFNwaXRmaXJlIiwieSI6IkZvY2tlLVd1bGYgRncgMTkwIiwiY29uZmxpY3QiOiJDaGFubmVsIEZyb250IC8gTlcgRXVyb3BlIiwieWVhcnMiOiIxOTQx4oCTNDIiLCJ4U2NvcmUiOiJoYXJkLWZvdWdodCIsInlTY29yZSI6ImVkZ2UiLCJkaXNwdXRlZCI6dHJ1ZSwic3VtbWFyeSI6IlRoZSBGdyAxOTBBJ3MgMTk0MSBkZWJ1dCB3YXMgYSBnZW51aW5lIHNob2NrLCBvdXRjbGFzc2luZyB0aGUgU3BpdGZpcmUgTWsgViBpbiBzcGVlZCwgcm9sbCBhbmQgZGl2ZSBhY3Jvc3MgdGhlICdDaXJjdXMnIG9mZmVuc2l2ZTsgdGhlIGJhbGFuY2Ugd2FzIG9ubHkgcmVzdG9yZWQgYnkgdGhlIFNwaXRmaXJlIE1rIElYIGluIG1pZC0xOTQyLiJ9LHsieCI6Ik1lc3NlcnNjaG1pdHQgQmYgMTEwIiwieSI6IlN1cGVybWFyaW5lIFNwaXRmaXJlIiwiY29uZmxpY3QiOiJCYXR0bGUgb2YgQnJpdGFpbiIsInllYXJzIjoiMTk0MCIsInhTY29yZSI6Im91dG1hdGNoZWQiLCJ5U2NvcmUiOiJkb21pbmFudCIsImRpc3B1dGVkIjp0cnVlLCJzdW1tYXJ5IjoiVGhlIGhlYXZ5IHR3aW4tZW5naW5lZCBCZiAxMTAgWmVyc3TDtnJlciBjb3VsZCBub3QgZG9nZmlnaHQgc2luZ2xlLXNlYXQgZmlnaHRlcnMgYW5kIHN1ZmZlcmVkIHNldmVyZWx5LCBhdCB0aW1lcyBmb3JtaW5nIGRlZmVuc2l2ZSBjaXJjbGVzIGFuZCBldmVuIG5lZWRpbmcgaXRzIG93biBCZiAxMDkgZXNjb3J0LiJ9LHsieCI6Ik1lc3NlcnNjaG1pdHQgQmYgMTEwIiwieSI6Ikhhd2tlciBIdXJyaWNhbmUiLCJjb25mbGljdCI6IkJhdHRsZSBvZiBCcml0YWluIiwieWVhcnMiOiIxOTQwIiwieFNjb3JlIjoiaGFyZC1mb3VnaHQiLCJ5U2NvcmUiOiJlZGdlIiwiZGlzcHV0ZWQiOnRydWUsInN1bW1hcnkiOiJUaG91Z2ggdGhlIEJmIDExMCdzIGhlYXZ5IG5vc2UgYXJtYW1lbnQgd2FzIGRhbmdlcm91cyBoZWFkLW9uLCBpdHMgcG9vciB0dXJuaW5nIGZpZ2h0IGxlZnQgaXQgdnVsbmVyYWJsZSB0byBIdXJyaWNhbmVzLCB3aGljaCBjbGFpbWVkIG51bWJlcnMgb2YgWmVyc3TDtnJlciBpbiB0aGUgZGF5bGlnaHQgYmF0dGxlcyBvZiAxOTQwLiJ9LHsieCI6IkZpYXQgQ1IuMzIiLCJ5IjoiUG9saWthcnBvdiBJLTE2IiwiY29uZmxpY3QiOiJTcGFuaXNoIENpdmlsIFdhciIsInllYXJzIjoiMTkzNuKAkzM5IiwieFNjb3JlIjoiZXZlbiIsInlTY29yZSI6ImV2ZW4iLCJkaXNwdXRlZCI6dHJ1ZSwic3VtbWFyeSI6IlRoZSBjbGFzc2ljIGJpcGxhbmUtdnMtbW9ub3BsYW5lIG1hdGNodXAgb2YgU3BhaW46IHRoZSBuaW1ibGUgQ1IuMzIgaGVsZCBpdHMgb3duIGFnYWluc3QgdGhlIGZhc3RlciwgdG91Z2hlciBSZXB1YmxpY2FuIEktMTYgJ01vc2NhJywgdGhlIGJpcGxhbmUncyBhZ2lsaXR5IG9mZnNldHRpbmcgdGhlIG1vbm9wbGFuZSdzIHNwZWVkLiJ9LHsieCI6IlBvbGlrYXJwb3YgSS0xNiIsInkiOiJNZXNzZXJzY2htaXR0IEJmIDEwOSIsImNvbmZsaWN0IjoiU3BhbmlzaCBDaXZpbCBXYXIgLyBFYXN0ZXJuIEZyb250IiwieWVhcnMiOiIxOTM34oCTNDEiLCJ4U2NvcmUiOiJvdXRtYXRjaGVkIiwieVNjb3JlIjoiZG9taW5hbnQiLCJkaXNwdXRlZCI6dHJ1ZSwic3VtbWFyeSI6IlRoZSBJLTE2IGRvbWluYXRlZCBOYXRpb25hbGlzdCBiaXBsYW5lcyBidXQgd2FzIG91dGNsYXNzZWQgb25jZSB0aGUgQmYgMTA5IGFycml2ZWQgaW4gU3BhaW4gaW4gMTkzNywgYW5kIGJ5IEJhcmJhcm9zc2EgaW4gMTk0MSB0aGUgb2Jzb2xlc2NlbnQgSS0xNiBzdWZmZXJlZCBoZWF2aWx5IGFnYWluc3QgdGhlIEJmIDEwOUYuIn0seyJ4IjoiR2xvc3RlciBHbGFkaWF0b3IiLCJ5IjoiRmlhdCBDUi4zMiIsImNvbmZsaWN0IjoiTWVkaXRlcnJhbmVhbiAvIEVhc3QgQWZyaWNhIC8gR3JlZWNlIiwieWVhcnMiOiIxOTQw4oCTNDEiLCJ4U2NvcmUiOiJldmVuIiwieVNjb3JlIjoiZXZlbiIsImRpc3B1dGVkIjp0cnVlLCJzdW1tYXJ5IjoiVHdvIGZyb250LWxpbmUgYmlwbGFuZXMgbWV0IG92ZXIgTWFsdGEsIEdyZWVjZSBhbmQgRWFzdCBBZnJpY2EgaW4gZXZlbmx5IG1hdGNoZWQgdHVybmluZyBmaWdodHMsIHRoZSBHbGFkaWF0b3IgaG9sZGluZyBhIHNsaWdodCBmaXJlcG93ZXIgYW5kIHNwZWVkIGVkZ2Ugb3ZlciB0aGUgb2xkZXIgQ1IuMzIuIn0seyJ4IjoiR2xvc3RlciBHbGFkaWF0b3IiLCJ5IjoiTWVzc2Vyc2NobWl0dCBCZiAxMDkiLCJjb25mbGljdCI6Ik5vcndheSAvIEdyZWVjZSIsInllYXJzIjoiMTk0MOKAkzQxIiwieFNjb3JlIjoib3V0bWF0Y2hlZCIsInlTY29yZSI6ImRvbWluYW50IiwiZGlzcHV0ZWQiOnRydWUsInN1bW1hcnkiOiJHbGFkaWF0b3IgYmlwbGFuZXMgd2VyZSBiYWRseSBvdmVybWF0Y2hlZCBieSB0aGUgQmYgMTA5IGluIE5vcndheSAoMTk0MCkgYW5kIEdyZWVjZSAoMTk0MSksIHN1cnZpdmluZyBvbmx5IHRocm91Z2ggc3VwZXJpb3IgdHVybmluZyBhbmQgc2hlZXIgZGV0ZXJtaW5hdGlvbjsgbG9zc2VzIHdlcmUgaGVhdnkuIn0seyJ4IjoiTWFjY2hpIEMuMjAyIiwieSI6IlN1cGVybWFyaW5lIFNwaXRmaXJlIiwiY29uZmxpY3QiOiJNYWx0YSAvIE5vcnRoIEFmcmljYSIsInllYXJzIjoiMTk0MuKAkzQzIiwieFNjb3JlIjoiZXZlbiIsInlTY29yZSI6ImV2ZW4iLCJkaXNwdXRlZCI6dHJ1ZSwic3VtbWFyeSI6IlRoZSBGb2xnb3JlIHdhcyBhZXJvZHluYW1pY2FsbHkgYSBtYXRjaCBmb3IgdGhlIFNwaXRmaXJlIE1rIFYgb3ZlciBNYWx0YSBhbmQgdGhlIGRlc2VydCDigJQgY29tcGV0aXRpdmUgaW4gc3BlZWQgYW5kIGNsaW1iIGJ1dCBoYW1wZXJlZCBieSB3ZWFrIHR3by1ndW4gYXJtYW1lbnQg4oCUIG1ha2luZyB0aGUgZHVlbHMgY2xvc2VseSBmb3VnaHQuIn0seyJ4IjoiRGV3b2l0aW5lIEQuNTIwIiwieSI6Ik1lc3NlcnNjaG1pdHQgQmYgMTA5IiwiY29uZmxpY3QiOiJCYXR0bGUgb2YgRnJhbmNlIiwieWVhcnMiOiIxOTQwIiwieFNjb3JlIjoiaGFyZC1mb3VnaHQiLCJ5U2NvcmUiOiJlZGdlIiwiZGlzcHV0ZWQiOnRydWUsInN1bW1hcnkiOiJUaGUgYmVzdCBGcmVuY2ggZmlnaHRlciBvZiAxOTQwIGNvdWxkIHR1cm4gd2l0aCBhbmQgb2NjYXNpb25hbGx5IGJlc3QgdGhlIEJmIDEwOUUsIGJ1dCBpdCB3YXMgc2xvd2VyLCBhdmFpbGFibGUgaW4gdG9vIGZldyBudW1iZXJzLCBhbmQgb3ZlcmFsbCBiZXR0ZXJlZCBieSB0aGUgTWVzc2Vyc2NobWl0dCBpbiB0aGUgYnJpZWYgY2FtcGFpZ24uIn0seyJ4IjoiTWVzc2Vyc2NobWl0dCBCZiAxMDkiLCJ5IjoiTWlHLTMiLCJjb25mbGljdCI6IkVhc3Rlcm4gRnJvbnQiLCJ5ZWFycyI6IjE5NDHigJM0MiIsInhTY29yZSI6ImVkZ2UiLCJ5U2NvcmUiOiJoYXJkLWZvdWdodCIsImRpc3B1dGVkIjp0cnVlLCJzdW1tYXJ5IjoiVGhlIGhpZ2gtYWx0aXR1ZGUtb3B0aW1pc2VkIE1pRy0zIHdhcyBmYXN0IHVwIGhpZ2ggYnV0IHNsdWdnaXNoIGFuZCBsaWdodGx5IGFybWVkIGluIHRoZSBsb3ctbGV2ZWwgZmlnaHRzIHRoYXQgZG9taW5hdGVkIDE5NDEsIHdoZXJlIGV4cGVyaWVuY2VkIEJmIDEwOUYgcGlsb3RzIGdlbmVyYWxseSBoZWxkIHRoZSBhZHZhbnRhZ2UuIn0seyJ4IjoiTWVzc2Vyc2NobWl0dCBCZiAxMDkiLCJ5IjoiTGF2b2Noa2luIExhLTUvNyIsImNvbmZsaWN0IjoiRWFzdGVybiBGcm9udCIsInllYXJzIjoiMTk0MuKAkzQ1IiwieFNjb3JlIjoiZXZlbiIsInlTY29yZSI6ImV2ZW4iLCJkaXNwdXRlZCI6dHJ1ZSwic3VtbWFyeSI6IlRoZSByYWRpYWwtZW5naW5lZCBMYS01Rk4gYW5kIExhLTcgZ2F2ZSB0aGUgVlZTIGEgZmlnaHRlciB0aGF0IGNvdWxkIG1hdGNoIHRoZSBCZiAxMDlHIGF0IGxvdyBhbmQgbWVkaXVtIGFsdGl0dWRlLCBwcm9kdWNpbmcgaGFyZC1mb3VnaHQgYW5kIHJvdWdobHkgZXZlbiBlbmdhZ2VtZW50cyBmcm9tIFN0YWxpbmdyYWQgdG8gQmVybGluLiJ9LHsieCI6Ik1lc3NlcnNjaG1pdHQgQmYgMTA5IiwieSI6Illha292bGV2IFlhay0zIiwiY29uZmxpY3QiOiJFYXN0ZXJuIEZyb250IiwieWVhcnMiOiIxOTQ04oCTNDUiLCJ4U2NvcmUiOiJldmVuIiwieVNjb3JlIjoiZXZlbiIsImRpc3B1dGVkIjp0cnVlLCJzdW1tYXJ5IjoiVGhlIGxpZ2h0LCBhZ2lsZSBZYWstMyBoZWxkIGEgY2xlYXIgdHVybi1hbmQtY2xpbWIgYWR2YW50YWdlIG92ZXIgdGhlIEJmIDEwOUcgYmVsb3cgfjUsMDAwIG0g4oCUIGZhbW91c2x5IHByb21wdGluZyBhIEx1ZnR3YWZmZSBhZHZpc29yeSB0byBhdm9pZCBsb3ctYWx0aXR1ZGUgY29tYmF0IHdpdGggaXQg4oCUIHRob3VnaCB0aGUgR2VybWFuIGZpZ2h0ZXIga2VwdCBlZGdlcyB1cCBoaWdoLiJ9LHsieCI6Ik1lc3NlcnNjaG1pdHQgQmYgMTA5IiwieSI6Illha292bGV2IFlhay05IiwiY29uZmxpY3QiOiJFYXN0ZXJuIEZyb250IiwieWVhcnMiOiIxOTQy4oCTNDUiLCJ4U2NvcmUiOiJldmVuIiwieVNjb3JlIjoiZXZlbiIsImRpc3B1dGVkIjp0cnVlLCJzdW1tYXJ5IjoiVGhlIG1vc3QgbnVtZXJvdXMgU292aWV0IGZpZ2h0ZXIgb2YgdGhlIHdhciBmb3VnaHQgdGhlIEJmIDEwOUcgb24gYnJvYWRseSBldmVuIHRlcm1zIGF0IHRoZSBsb3ctdG8tbWVkaXVtIGFsdGl0dWRlcyB0eXBpY2FsIG9mIHRoZSBFYXN0ZXJuIEZyb250LCBpdHMgdmFyaWFudHMgc3RlYWRpbHkgY2xvc2luZyBhbnkgZ2FwLiJ9LHsieCI6IkZvY2tlLVd1bGYgRncgMTkwIiwieSI6Ikxhdm9jaGtpbiBMYS01LzciLCJjb25mbGljdCI6IkVhc3Rlcm4gRnJvbnQiLCJ5ZWFycyI6IjE5NDPigJM0NSIsInhTY29yZSI6ImV2ZW4iLCJ5U2NvcmUiOiJldmVuIiwiZGlzcHV0ZWQiOnRydWUsInN1bW1hcnkiOiJCb3RoIHJhZGlhbC1lbmdpbmVkLCB0aGUgRncgMTkwQSBhbmQgTGEtNUZOL0xhLTcgd2VyZSBjbG9zZWx5IG1hdGNoZWQgaW4gdGhlIGxvdy1hbHRpdHVkZSBFYXN0ZXJuIEZyb250IGFyZW5hOyB0aGUgRncgMTkwIGhlbGQgZmlyZXBvd2VyIGFuZCByb2xsIGFkdmFudGFnZXMgd2hpbGUgdGhlIGxpZ2h0ZXIgTGF2b2Noa2lucyBjb3VsZCBvdXQtdHVybiBpdC4ifSx7IngiOiJGb2NrZS1XdWxmIEZ3IDE5MCIsInkiOiJZYWtvdmxldiBZYWstMyIsImNvbmZsaWN0IjoiRWFzdGVybiBGcm9udCIsInllYXJzIjoiMTk0NOKAkzQ1IiwieFNjb3JlIjoiZXZlbiIsInlTY29yZSI6ImV2ZW4iLCJkaXNwdXRlZCI6dHJ1ZSwic3VtbWFyeSI6IlNvdmlldCB1bml0cyBpbmNsdWRpbmcgdGhlIE5vcm1hbmRpZS1OacOpbWVuIHJlZ2ltZW50IGZvdWdodCBGdyAxOTBzIHdpdGggdGhlIFlhay0zLCB3aG9zZSBsb3ctYWx0aXR1ZGUgYWdpbGl0eSBvZmZzZXQgdGhlIGhlYXZpZXIgR2VybWFuIGZpZ2h0ZXIncyBmaXJlcG93ZXIgYW5kIGRpdmluZyBzdHJlbmd0aC4ifSx7IngiOiJQLTQ3IFRodW5kZXJib2x0IiwieSI6IkZvY2tlLVd1bGYgRncgMTkwIiwiY29uZmxpY3QiOiJOb3J0aHdlc3QgRXVyb3BlIChFVE8pIiwieWVhcnMiOiIxOTQz4oCTNDQiLCJ4U2NvcmUiOiJldmVuIiwieVNjb3JlIjoiZXZlbiIsImRpc3B1dGVkIjp0cnVlLCJzdW1tYXJ5IjoiRXNjb3J0aW5nIEVpZ2h0aCBBaXIgRm9yY2UgYm9tYmVycywgdGhlIGhlYXZ5IFAtNDcgY291bGQgb3V0LWRpdmUgYW5kIG91dGZpZ2h0IHRoZSBGdyAxOTBBIGF0IGhpZ2ggYWx0aXR1ZGUgd2hlcmUgdGhlIEdlcm1hbiBmaWdodGVyJ3MgcGVyZm9ybWFuY2UgZmVsbCBvZmYsIHdoaWxlIHRoZSBGdyAxOTAgd2FzIG1vcmUgZGFuZ2Vyb3VzIGRvd24gbG93LiJ9LHsieCI6IlAtMzggTGlnaHRuaW5nIiwieSI6Ik1lc3NlcnNjaG1pdHQgQmYgMTA5IiwiY29uZmxpY3QiOiJOb3J0aCBBZnJpY2EgLyBNZWRpdGVycmFuZWFuIiwieWVhcnMiOiIxOTQy4oCTNDQiLCJ4U2NvcmUiOiJoYXJkLWZvdWdodCIsInlTY29yZSI6ImVkZ2UiLCJkaXNwdXRlZCI6dHJ1ZSwic3VtbWFyeSI6IlRoZSB0d2luLWJvb20gUC0zOCBjbGFzaGVkIHJlcGVhdGVkbHkgd2l0aCBCZiAxMDlzIG92ZXIgVHVuaXNpYSwgU2ljaWx5IGFuZCBJdGFseTsgZWZmZWN0aXZlIGFzIGEgYm9tYmVyIGVzY29ydCwgaXQgd2FzIGF0IGEgbWFuZXV2ZXJpbmcgZGlzYWR2YW50YWdlIGFnYWluc3QgdGhlIG5pbWJsZSBNZXNzZXJzY2htaXR0IGFuZCB0b29rIG5vdGFibGUgbG9zc2VzIGRlc3BpdGUgcHJvZHVjaW5nIGFjZXMuIn0seyJ4IjoiTWVzc2Vyc2NobWl0dCBNZSAyNjIiLCJ5IjoiUC01MSBNdXN0YW5nIiwiY29uZmxpY3QiOiJEZWZlbmNlIG9mIHRoZSBSZWljaCIsInllYXJzIjoiMTk0NOKAkzQ1IiwieFNjb3JlIjoiZWRnZSIsInlTY29yZSI6ImhhcmQtZm91Z2h0IiwiZGlzcHV0ZWQiOnRydWUsInN1bW1hcnkiOiJUaGUgamV0IE1lIDI2MiBoZWxkIGEgZGVjaXNpdmUgfjEyMCBrbS9oIHNwZWVkIGFkdmFudGFnZSBhbmQgY291bGQgZGljdGF0ZSBlbmdhZ2VtZW50cywgYnV0IE11c3RhbmdzIGNvdW50ZXJlZCBieSBjYXRjaGluZyBpdCBzbG93IG5lYXIgaXRzIGFpcmZpZWxkcywgYW5kIHNldmVyYWwgTWUgMjYycyBmZWxsIHRvIFAtNTFzIGluIHRoZSB3YXIncyBmaW5hbCBtb250aHMuIn0seyJ4IjoiUC0zOSBBaXJhY29icmEiLCJ5IjoiTWVzc2Vyc2NobWl0dCBCZiAxMDkiLCJjb25mbGljdCI6IkVhc3Rlcm4gRnJvbnQiLCJ5ZWFycyI6IjE5NDLigJM0NCIsInhTY29yZSI6ImV2ZW4iLCJ5U2NvcmUiOiJldmVuIiwiZGlzcHV0ZWQiOnRydWUsInN1bW1hcnkiOiJSZWplY3RlZCBieSB0aGUgUkFGIGJ1dCBlbWJyYWNlZCBieSB0aGUgVlZTLCB0aGUgTGVuZC1MZWFzZSBQLTM5IGJlY2FtZSB0aGUgbW91bnQgb2YgdG9wIFNvdmlldCBhY2VzIHN1Y2ggYXMgUG9rcnlzaGtpbiBhbmQgZm91Z2h0IHRoZSBCZiAxMDkgY29tcGV0aXRpdmVseSBhdCB0aGUgbG93LXRvLW1lZGl1bSBhbHRpdHVkZXMgb2YgdGhlIEVhc3Rlcm4gRnJvbnQuIn0seyJ4IjoiSGF3a2VyIFRlbXBlc3QiLCJ5IjoiRm9ja2UtV3VsZiBGdyAxOTAiLCJjb25mbGljdCI6Ik5vcnRod2VzdCBFdXJvcGUiLCJ5ZWFycyI6IjE5NDTigJM0NSIsInhTY29yZSI6ImVkZ2UiLCJ5U2NvcmUiOiJoYXJkLWZvdWdodCIsImRpc3B1dGVkIjp0cnVlLCJzdW1tYXJ5IjoiT25lIG9mIHRoZSBmYXN0ZXN0IGxvdy1sZXZlbCBBbGxpZWQgZmlnaHRlcnMsIHRoZSBUZW1wZXN0IFYgaGVsZCBhIGNsZWFyIHNwZWVkIGFuZCBkaXZlIGFkdmFudGFnZSBvdmVyIHRoZSBGdyAxOTAgKGluY2x1ZGluZyB0aGUgRncgMTkwRCkgb3ZlciB0aGUgTG93IENvdW50cmllcyBhbmQgR2VybWFueSwgd2hlcmUgaXQgd2FzIGEgcHJvbGlmaWMga2lsbGVyIG9mIEdlcm1hbiBmaWdodGVycy4ifSx7IngiOiJBNk0gWmVybyIsInkiOiJGNFUgQ29yc2FpciIsImNvbmZsaWN0IjoiV29ybGQgV2FyIElJIChQYWNpZmljKSIsInllYXJzIjoiMTk0M+KAkzQ1IiwieFNjb3JlIjoib3V0bWF0Y2hlZCIsInlTY29yZSI6ImRvbWluYW50IiwiZGlzcHV0ZWQiOnRydWUsInN1bW1hcnkiOiJPdmVyIHRoZSBTb2xvbW9ucyBhbmQgUmFiYXVsIHRoZSBmYXN0ZXIsIGJldHRlci1kaXZpbmcgRjRVIHJldmVyc2VkIHRoZSBaZXJvJ3MgZWFybHkgYXNjZW5kYW5jeTsgQ29yc2FpciB1bml0cyBjbGFpbWVkIGEgbG9wc2lkZWQga2lsbCByYXRpbyAob2Z0ZW4gY2l0ZWQgbmVhciAxMToxIGZsZWV0LXdpZGUsIHR5cGUtdnMtdHlwZSBhcHByb3hpbWF0ZSkuIn0seyJ4IjoiQTZNIFplcm8iLCJ5IjoiUC0zOCBMaWdodG5pbmciLCJjb25mbGljdCI6IldvcmxkIFdhciBJSSAoUGFjaWZpYykiLCJ5ZWFycyI6IjE5NDLigJM0NCIsInhTY29yZSI6Im91dG1hdGNoZWQiLCJ5U2NvcmUiOiJkb21pbmFudCIsImRpc3B1dGVkIjp0cnVlLCJzdW1tYXJ5IjoiSW4gTmV3IEd1aW5lYSBhbmQgdGhlIFNvbG9tb25zIHRoZSB0d2luLWVuZ2luZSBQLTM4J3Mgc3BlZWQsIGNsaW1iIGFuZCBkaXZlIGxldCBwaWxvdHMgZGljdGF0ZSB0aGUgZmlnaHQgYW5kIGF2b2lkIHR1cm5pbmcgd2l0aCB0aGUgWmVybzsgUC0zOHMgZmxldyB0aGUgMTk0MyBZYW1hbW90byBpbnRlcmNlcHQuIn0seyJ4IjoiQTZNIFplcm8iLCJ5IjoiUC00MCBXYXJoYXdrIiwiY29uZmxpY3QiOiJXb3JsZCBXYXIgSUkgKFBhY2lmaWMvQ2hpbmEpIiwieWVhcnMiOiIxOTQy4oCTNDMiLCJ4U2NvcmUiOiJldmVuIiwieVNjb3JlIjoiZXZlbiIsImRpc3B1dGVkIjp0cnVlLCJzdW1tYXJ5IjoiT3ZlciBKYXZhLCBEYXJ3aW4sIEd1YWRhbGNhbmFsIGFuZCBDaGluYSB0aGUgcnVnZ2VkIFAtNDAgbG9zdCBhbnkgdHVybmluZyBmaWdodCBidXQgaGVsZCBpdHMgb3duIHdpdGggZGl2ZS1hbmQtem9vbSB0YWN0aWNzIGFuZCBhcm1vdXI7IG91dGNvbWVzIGhpbmdlZCBvbiB3aG8gc2V0IHRoZSB0ZXJtcy4ifSx7IngiOiJBNk0gWmVybyIsInkiOiJQLTM5IEFpcmFjb2JyYSIsImNvbmZsaWN0IjoiV29ybGQgV2FyIElJIChQYWNpZmljKSIsInllYXJzIjoiMTk0MuKAkzQzIiwieFNjb3JlIjoiZWRnZSIsInlTY29yZSI6ImhhcmQtZm91Z2h0IiwiZGlzcHV0ZWQiOnRydWUsInN1bW1hcnkiOiJBdCBOZXcgR3VpbmVhIGFuZCBHdWFkYWxjYW5hbCB0aGUgUC0zOSdzIHBvb3IgaGlnaC1hbHRpdHVkZSBwZXJmb3JtYW5jZSBsZWZ0IGl0IGF0IGEgZGlzYWR2YW50YWdlIGFnYWluc3QgWmVyb3MgdGhhdCBoZWxkIHRoZSBoZWlnaHQsIHRob3VnaCBpdCBmb3VnaHQgdXNlZnVsbHkgbG93IGRvd24uIn0seyJ4IjoiQTZNIFplcm8iLCJ5IjoiU3VwZXJtYXJpbmUgU3BpdGZpcmUiLCJjb25mbGljdCI6IkRlZmVuY2Ugb2YgRGFyd2luIiwieWVhcnMiOiIxOTQzIiwieFNjb3JlIjoiZXZlbiIsInlTY29yZSI6ImV2ZW4iLCJkaXNwdXRlZCI6dHJ1ZSwic3VtbWFyeSI6Ik92ZXIgRGFyd2luIGluIDE5NDMgU3BpdGZpcmUgTWsgVnMgb2YgTm8uIDEgV2luZyBSQUFGIHN1ZmZlcmVkIGhlYXZpZXItdGhhbi1leHBlY3RlZCBsb3NzZXMgdG8gZXNjb3J0aW5nIFplcm9zIOKAlCBwYXJ0bHkgdGFjdGljcywgZnVlbCBhbmQgVm9rZXMtZmlsdGVyIGRyYWcg4oCUIGFuZCBib3RoIHNpZGVzJyBjbGFpbXMgYXJlIGNvbnRlc3RlZC4ifSx7IngiOiJBNk0gWmVybyIsInkiOiJIYXdrZXIgSHVycmljYW5lIiwiY29uZmxpY3QiOiJEdXRjaCBFYXN0IEluZGllcyAvIEJ1cm1hIiwieWVhcnMiOiIxOTQyIiwieFNjb3JlIjoiZG9taW5hbnQiLCJ5U2NvcmUiOiJvdXRtYXRjaGVkIiwiZGlzcHV0ZWQiOnRydWUsInN1bW1hcnkiOiJJbiB0aGUgRHV0Y2ggRWFzdCBJbmRpZXMsIEJ1cm1hIGFuZCBvdmVyIENleWxvbiBpbiAxOTQyIHRoZSBaZXJvIGdlbmVyYWxseSBiZXN0ZWQgdGhlIEh1cnJpY2FuZSwgd2hpY2ggY291bGQgbm90IG1hdGNoIGl0cyBjbGltYiBhbmQgdHVybjsgSHVycmljYW5lcyBkaWQgYmV0dGVyIGluIHNsYXNoaW5nIGF0dGFja3MuIn0seyJ4IjoiQTZNIFplcm8iLCJ5IjoiUC00NyBUaHVuZGVyYm9sdCIsImNvbmZsaWN0IjoiTmV3IEd1aW5lYSIsInllYXJzIjoiMTk0M+KAkzQ0IiwieFNjb3JlIjoiZXZlbiIsInlTY29yZSI6ImV2ZW4iLCJkaXNwdXRlZCI6dHJ1ZSwic3VtbWFyeSI6IkluIE5ldyBHdWluZWEgdGhlIGhlYXZ5IFAtNDcgKDM0OHRoIEZHLCBOZWVsIEtlYXJieSkgdXNlZCBhbHRpdHVkZSwgc3BlZWQgYW5kIGRpdmluZyBmaXJlcG93ZXIgYWdhaW5zdCB0aGUgbmltYmxlciBaZXJvLCBkZWxpYmVyYXRlbHkgcmVmdXNpbmcgdG8gdHVybi1maWdodC4ifSx7IngiOiJLaS00MyBIYXlhYnVzYSIsInkiOiJQLTQwIFdhcmhhd2siLCJjb25mbGljdCI6IkZseWluZyBUaWdlcnMgLyBCdXJtYSIsInllYXJzIjoiMTk0MuKAkzQzIiwieFNjb3JlIjoiZXZlbiIsInlTY29yZSI6ImV2ZW4iLCJkaXNwdXRlZCI6dHJ1ZSwic3VtbWFyeSI6IlRoZSBkZWZpbml0aXZlIEZseWluZyBUaWdlcnMvQVZHIGFuZCBCdXJtYSBtYXRjaHVwOiB0aGUgdWx0cmEtYWdpbGUgJ09zY2FyJyBvdXQtdHVybmVkIGV2ZXJ5dGhpbmcsIHdoaWxlIFAtNDAgcGlsb3RzIGV4cGxvaXRlZCBkaXZpbmcgc3BlZWQgYW5kIGZpcmVwb3dlcjsgYm90aCBzaWRlcyBoZWF2aWx5IG92ZXItY2xhaW1lZC4ifSx7IngiOiJLaS00MyBIYXlhYnVzYSIsInkiOiJTdXBlcm1hcmluZSBTcGl0ZmlyZSIsImNvbmZsaWN0IjoiQnVybWEiLCJ5ZWFycyI6IjE5NDPigJM0NCIsInhTY29yZSI6ImV2ZW4iLCJ5U2NvcmUiOiJldmVuIiwiZGlzcHV0ZWQiOnRydWUsInN1bW1hcnkiOiJPdmVyIEJ1cm1hIHRoZSBTcGl0ZmlyZSBWSUlJL0lYIGJyb3VnaHQgc3BlZWQgYW5kIGNsaW1iIHRoZSBPc2NhciBsYWNrZWQsIGJ1dCBwaWxvdHMgd2VyZSB3YXJuZWQgbmV2ZXIgdG8gZG9nZmlnaHQgdGhlIGxpZ2h0ZXIgS2ktNDM7IHJlc3VsdHMgd2VyZSBtaXhlZCBhbmQgY2xhaW0taW5mbGF0ZWQuIn0seyJ4IjoiS2ktNDMgSGF5YWJ1c2EiLCJ5IjoiSGF3a2VyIEh1cnJpY2FuZSIsImNvbmZsaWN0IjoiQnVybWEiLCJ5ZWFycyI6IjE5NDLigJM0MyIsInhTY29yZSI6ImV2ZW4iLCJ5U2NvcmUiOiJldmVuIiwiZGlzcHV0ZWQiOnRydWUsInN1bW1hcnkiOiJJbiB0aGUgMTk0MuKAkzQzIEJ1cm1hIGZpZ2h0aW5nIHRoZSBPc2NhcidzIGFnaWxpdHkgdHJvdWJsZWQgdGhlIEh1cnJpY2FuZSBtdWNoIGFzIHRoZSBaZXJvIGRpZCwgdGhvdWdoIHRoZSBIdXJyaWNhbmUncyBydWdnZWRuZXNzIGFuZCBmaXJlcG93ZXIga2VwdCBleGNoYW5nZXMgY2xvc2VyIHRoYW4gaW4gZWFybHkgMTk0Mi4ifSx7IngiOiJLaS00MyBIYXlhYnVzYSIsInkiOiJQLTM4IExpZ2h0bmluZyIsImNvbmZsaWN0IjoiTmV3IEd1aW5lYSAvIENCSSIsInllYXJzIjoiMTk0M+KAkzQ0IiwieFNjb3JlIjoib3V0bWF0Y2hlZCIsInlTY29yZSI6ImRvbWluYW50IiwiZGlzcHV0ZWQiOnRydWUsInN1bW1hcnkiOiJJbiBOZXcgR3VpbmVhIGFuZCB0aGUgQ0JJIHRoZSBQLTM4IHVzZWQgc3BlZWQsIGNsaW1iIGFuZCBkaXZpbmcgem9vbSB0byBmaWdodCB0aGUgT3NjYXIgb24gaXRzIG93biB0ZXJtczsgdGhlIEtpLTQzJ3MgbGlnaHQgYXJtYW1lbnQgbWFkZSBpdCBoYXJkIGZvciBpdCB0byBkb3duIHRoZSBzdHVyZHkgTGlnaHRuaW5nLiJ9LHsieCI6IktpLTQzIEhheWFidXNhIiwieSI6IlAtNDcgVGh1bmRlcmJvbHQiLCJjb25mbGljdCI6IkJ1cm1hIC8gQ0JJIiwieWVhcnMiOiIxOTQ04oCTNDUiLCJ4U2NvcmUiOiJvdXRtYXRjaGVkIiwieVNjb3JlIjoiZG9taW5hbnQiLCJkaXNwdXRlZCI6dHJ1ZSwic3VtbWFyeSI6IkxhdGUtd2FyIG92ZXIgQnVybWEgYW5kIHRoZSBDQkkgdGhlIGZhc3QsIGhlYXZpbHkgYXJtZWQgUC00NyBoZWxkIGEgY2xlYXIgZW5lcmd5IGFkdmFudGFnZSBvdmVyIHRoZSBvYnNvbGVzY2VudCBPc2Nhciwgd2hpY2ggY291bGQgc3RpbGwgc3VycHJpc2UgYSBQLTQ3IHRoYXQgc2xvd2VkIGludG8gYSB0dXJuaW5nIGZpZ2h0LiJ9LHsieCI6IkY2RiBIZWxsY2F0IiwieSI6IktpLTg0IEhheWF0ZSIsImNvbmZsaWN0IjoiV29ybGQgV2FyIElJIChQYWNpZmljKSIsInllYXJzIjoiMTk0NOKAkzQ1IiwieFNjb3JlIjoiZWRnZSIsInlTY29yZSI6ImhhcmQtZm91Z2h0IiwiZGlzcHV0ZWQiOnRydWUsInN1bW1hcnkiOiJUaGUgS2ktODQgJ0ZyYW5rJyB3YXMgYSBnZW51aW5lbHkgY29tcGV0aXRpdmUgZmlnaHRlciwgYnV0IGJ5IDE5NDTigJM0NSBIZWxsY2F0IHBpbG90cyBlbmpveWVkIG51bWJlcnMsIGV4cGVyaWVuY2UgYW5kIHN1cGVyYiBhaXJjcmFmdDsgcG9vciBKYXBhbmVzZSBmdWVsIGFuZCBtYWludGVuYW5jZSBibHVudGVkIHRoZSBGcmFuaydzIGVkZ2UuIn0seyJ4IjoiRjRVIENvcnNhaXIiLCJ5IjoiS2ktODQgSGF5YXRlIiwiY29uZmxpY3QiOiJIb21lIElzbGFuZHMiLCJ5ZWFycyI6IjE5NDUiLCJ4U2NvcmUiOiJlZGdlIiwieVNjb3JlIjoiaGFyZC1mb3VnaHQiLCJkaXNwdXRlZCI6dHJ1ZSwic3VtbWFyeSI6Ik92ZXIgSmFwYW4gaW4gMTk0NSBDb3JzYWlycyBtZXQgdGhlIEhheWF0ZSwgb25lIG9mIHRoZSBmZXcgSUpBIGZpZ2h0ZXJzIGFibGUgdG8gbWF0Y2ggdGhlbSBvbiBzcGVlZDsgQWxsaWVkIHBpbG90IHF1YWxpdHkgYW5kIHRoZSBGcmFuaydzIHJlbGlhYmlsaXR5IHByb2JsZW1zIHVzdWFsbHkgdG9sZC4ifSx7IngiOiJGNFUgQ29yc2FpciIsInkiOiJOMUsgU2hpZGVuLUthaSIsImNvbmZsaWN0IjoiSG9tZSBJc2xhbmRzIiwieWVhcnMiOiIxOTQ1IiwieFNjb3JlIjoiZWRnZSIsInlTY29yZSI6ImhhcmQtZm91Z2h0IiwiZGlzcHV0ZWQiOnRydWUsInN1bW1hcnkiOiJUaGUgTjFLMi1KICdHZW9yZ2UnIHdhcyBhcmd1YWJseSBKYXBhbidzIGJlc3QgbGFuZC1iYXNlZCBmaWdodGVyIGFuZCBjb3VsZCBvdXQtdHVybiB0aGUgQ29yc2FpciB3aXRoIGl0cyBjb21iYXQgZmxhcHMsIGJ1dCBDb3JzYWlycyBzdGlsbCBoZWxkIHNwZWVkLCBkaXZlIGFuZCBudW1iZXJzIG92ZXIgSmFwYW4gaW4gMTk0NS4ifSx7IngiOiJGNkYgSGVsbGNhdCIsInkiOiJOMUsgU2hpZGVuLUthaSIsImNvbmZsaWN0IjoiSG9tZSBJc2xhbmRzIiwieWVhcnMiOiIxOTQ1IiwieFNjb3JlIjoiZWRnZSIsInlTY29yZSI6ImhhcmQtZm91Z2h0IiwiZGlzcHV0ZWQiOnRydWUsInN1bW1hcnkiOiJUaGUgU2hpZGVuLUthaSdzIHBvd2VyIGFuZCBtYW5vZXV2cmluZyBmbGFwcyBtYWRlIGl0IHRoZSB0b3VnaGVzdCBvcHBvbmVudCBsYXRlLXdhciBIZWxsY2F0IHBpbG90cyBmYWNlZCwgeWV0IGJ5IDE5NDUgb3ZlcndoZWxtaW5nIEhlbGxjYXQgbnVtYmVycyBhbmQgZXhwZXJpZW5jZSBjYXJyaWVkIHRoZSBleGNoYW5nZXMuIn0seyJ4IjoiTWlHLTE1IEZhZ290IiwieSI6Ikdsb3N0ZXIgTWV0ZW9yIiwiY29uZmxpY3QiOiJLb3JlYW4gV2FyIiwieWVhcnMiOiIxOTUx4oCTNTMiLCJ4U2NvcmUiOiJ+NSIsInlTY29yZSI6In4zIiwiZGlzcHV0ZWQiOnRydWUsInN1bW1hcnkiOiJSQUFGIE5vLiA3NyBTcXVhZHJvbidzIE1ldGVvciBGLjggd2FzIG91dGNsYXNzZWQgYnkgdGhlIHN3ZXB0LXdpbmcgTWlHLTE1IGFuZCBwdXNoZWQgaW50byBncm91bmQgYXR0YWNrIGJ5IG1pZC0xOTUxOyA3NyBTcW4gaXMgY3JlZGl0ZWQgd2l0aCByb3VnaGx5IDPigJM1IE1pRy0xNXMgd2hpbGUgbG9zaW5nIHNldmVyYWwgTWV0ZW9ycyBpbiBhaXIgY29tYmF0LiJ9LHsieCI6Ik1pRy0xNSBGYWdvdCIsInkiOiJGOUYgUGFudGhlciIsImNvbmZsaWN0IjoiS29yZWFuIFdhciIsInllYXJzIjoiMTk1MOKAkzUzIiwieFNjb3JlIjoiZmV3IiwieVNjb3JlIjoic2V2ZXJhbCIsImRpc3B1dGVkIjp0cnVlLCJzdW1tYXJ5IjoiVGhlIFBhbnRoZXIgc2NvcmVkIHRoZSBmaXJzdCBVUyBOYXZ5IGpldC12cy1qZXQga2lsbCAoTHQgQ2RyIFRvbSBBbWVuLCA5IE5vdiAxOTUwKSBhbmQgTHQgUm95Y2UgV2lsbGlhbXMnIGxvbmctY2xhc3NpZmllZCAxOTUyIGZpZ2h0IGNsYWltZWQgbXVsdGlwbGUgTWlHLTE1czsgc3RyYWlnaHQtd2luZyBQYW50aGVycyBoZWxkIHVwIHdlbGwgYWdhaW5zdCB0aGUgZmFzdGVyIE1pRy4ifSx7IngiOiJNaUctMTUgRmFnb3QiLCJ5IjoiRi04NCBUaHVuZGVyamV0IiwiY29uZmxpY3QiOiJLb3JlYW4gV2FyIiwieWVhcnMiOiIxOTUx4oCTNTMiLCJ4U2NvcmUiOiJ+MTgiLCJ5U2NvcmUiOiJ+OSIsImRpc3B1dGVkIjp0cnVlLCJzdW1tYXJ5IjoiVXNlZCBtYWlubHkgYXMgYSBmaWdodGVyLWJvbWJlciwgdGhlIHN0cmFpZ2h0LXdpbmcgRi04NCB3YXMgb3V0bWF0Y2hlZCBpbiBhaXIgY29tYmF0LCBjcmVkaXRlZCB3aXRoIHJvdWdobHkgOOKAkzEwIE1pRy0xNSBraWxscyB3aGlsZSBsb3NpbmcgbWFya2VkbHkgbW9yZSBUaHVuZGVyamV0cyB0byBNaUdzLiJ9LHsieCI6Ikhhd2tlciBTZWEgRnVyeSIsInkiOiJNaUctMTUgRmFnb3QiLCJjb25mbGljdCI6IktvcmVhbiBXYXIiLCJ5ZWFycyI6IjE5NTIiLCJ4U2NvcmUiOiIxIiwieVNjb3JlIjoiMCIsImRpc3B1dGVkIjp0cnVlLCJzdW1tYXJ5IjoiT24gOSBBdWcgMTk1MiBMdCBQZXRlciBDYXJtaWNoYWVsIG9mIDgwMiBOQVMgKEhNUyBPY2Vhbikgd2FzIGNyZWRpdGVkIHdpdGggZGVzdHJveWluZyBhIE1pRy0xNSDigJQgb25lIG9mIHRoZSB2ZXJ5IGZldyBqZXQga2lsbHMgYnkgYSBwaXN0b24tZW5naW5lZCBmaWdodGVyIOKAlCBpbiBhIGZhbW91cyBidXQgY29udGVzdGVkIGZvdXItc2hpcCBlbmdhZ2VtZW50LiJ9LHsieCI6IkYtODYgU2FicmUiLCJ5IjoiTWlHLTE3IEZyZXNjbyIsImNvbmZsaWN0IjoiU2Vjb25kIFRhaXdhbiBTdHJhaXQgQ3Jpc2lzIiwieWVhcnMiOiIxOTU4IiwieFNjb3JlIjoifjQiLCJ5U2NvcmUiOiJ+MiIsImRpc3B1dGVkIjp0cnVlLCJzdW1tYXJ5IjoiUk9DQUYgRi04NkYgU2FicmVzIGZpcmluZyBBSU0tOUIgU2lkZXdpbmRlcnMgYWdhaW5zdCBQTEFBRiBNaUctMTdzIHNjb3JlZCB0aGUgZmlyc3QgYWlyLXRvLWFpciBndWlkZWQtbWlzc2lsZSBraWxscyBpbiBoaXN0b3J5IG92ZXIgdGhlIFRhaXdhbiBTdHJhaXQ7IHByb3BhZ2FuZGEgaW5mbGF0ZWQgYm90aCBzaWRlcycgY2xhaW1zLiJ9LHsieCI6Ik15c3TDqHJlIElWQSIsInkiOiJNaUctMTUgRmFnb3QiLCJjb25mbGljdCI6IlN1ZXogQ3Jpc2lzIiwieWVhcnMiOiIxOTU2IiwieFNjb3JlIjoifjEiLCJ5U2NvcmUiOiIwIiwiZGlzcHV0ZWQiOnRydWUsInN1bW1hcnkiOiJJc3JhZWxpIE15c3TDqHJlIElWQXMgdGFuZ2xlZCB3aXRoIEVneXB0aWFuIE1pRy0xNXMgZHVyaW5nIE9wZXJhdGlvbiBLYWRlc2gsIGNsYWltaW5nIGEgc21hbGwgbnVtYmVyIGluIHN3aXJsaW5nIGxvdy1sZXZlbCBkb2dmaWdodHM7IGNvbmZpcm1lZCB0eXBlLXZzLXR5cGUgdG90YWxzIGFyZSBmZXcuIn0seyJ4IjoiTXlzdMOocmUgSVZBIiwieSI6Ik1pRy0xNyBGcmVzY28iLCJjb25mbGljdCI6IlN1ZXogLyBTaXgtRGF5IFdhciIsInllYXJzIjoiMTk1NuKAkzY3IiwieFNjb3JlIjoifjMiLCJ5U2NvcmUiOiJ+MSIsImRpc3B1dGVkIjp0cnVlLCJzdW1tYXJ5IjoiSUFGIE15c3TDqHJlIElWQXMgZW5nYWdlZCBFZ3lwdGlhbiBhbmQgU3lyaWFuIE1pRy0xN3MgZnJvbSBTdWV6IDE5NTYgdGhyb3VnaCB0aGUgU2l4LURheSBXYXIsIGRvd25pbmcgc2V2ZXJhbDsgYnkgMTk2NyB0aGUgYWdlaW5nIE15c3TDqHJlIHdhcyB1c2VkIGhlYXZpbHkgZm9yIGdyb3VuZCBhdHRhY2suIn0seyJ4IjoiSGF3a2VyIEh1bnRlciIsInkiOiJNaUctMTcgRnJlc2NvIiwiY29uZmxpY3QiOiJTaXgtRGF5IFdhciAvIFdhciBvZiBBdHRyaXRpb24iLCJ5ZWFycyI6IjE5NjfigJM3MCIsInhTY29yZSI6In4zIiwieVNjb3JlIjoifjMiLCJkaXNwdXRlZCI6dHJ1ZSwic3VtbWFyeSI6IkpvcmRhbmlhbiwgSXJhcWkgYW5kIExlYmFuZXNlIEh1bnRlcnMgZm91Z2h0IEVneXB0aWFuIGFuZCBTeXJpYW4gTWlHLTE3cyBpbiBhIGZhaXJseSBldmVuIGd1bi1maWdodGVyIG1hdGNodXAgd2hlcmUgYm90aCB0eXBlcyBzY29yZWQuIn0seyJ4IjoiRi04NiBTYWJyZSIsInkiOiJIYXdrZXIgSHVudGVyIiwiY29uZmxpY3QiOiJJbmRvLVBha2lzdGFuaSBXYXJzIiwieWVhcnMiOiIxOTY1LCAxOTcxIiwieFNjb3JlIjoifjQiLCJ5U2NvcmUiOiJ+NCIsImRpc3B1dGVkIjp0cnVlLCJzdW1tYXJ5IjoiUEFGIEYtODYgU2FicmVzIChpbmNsdWRpbmcgU2lkZXdpbmRlci1hcm1lZCBGLTg2RnMpIGZvdWdodCBJQUYgSHVudGVycyBhY3Jvc3MgdGhlIDE5NjUgYW5kIDE5NzEgd2FycyBpbiBhIGhhcmQtY29udGVzdGVkIGd1bi1hbmQtbWlzc2lsZSBtYXRjaHVwOyBJbmRpYW4gYW5kIFBha2lzdGFuaSB0YWxsaWVzIGRpZmZlciBzaGFycGx5LiJ9LHsieCI6Ikhhd2tlciBIdW50ZXIiLCJ5IjoiTWlHLTE5IEZhcm1lciIsImNvbmZsaWN0IjoiSW5kby1QYWtpc3RhbmkgV2FyIiwieWVhcnMiOiIxOTcxIiwieFNjb3JlIjoifjIiLCJ5U2NvcmUiOiJ+MiIsImRpc3B1dGVkIjp0cnVlLCJzdW1tYXJ5IjoiSUFGIEh1bnRlcnMgY2xhc2hlZCB3aXRoIFBBRiBTaGVueWFuZyBGLTYgKE1pRy0xOSkgZmlnaHRlcnMgaW4gMTk3MSwgYm90aCBjYW5ub24tYXJtZWQgdHlwZXMgY2xhaW1pbmcga2lsbHMgaW4gbG93LWxldmVsIGVuZ2FnZW1lbnRzOyB0aGUgZXhhY3Qgc2NvcmUgaXMgZGlzcHV0ZWQuIn0seyJ4IjoiRi04IENydXNhZGVyIiwieSI6Ik1pRy0xNyBGcmVzY28iLCJjb25mbGljdCI6IlZpZXRuYW0gV2FyIiwieWVhcnMiOiIxOTY24oCTNjgiLCJ4U2NvcmUiOiJ+MTYiLCJ5U2NvcmUiOiJmZXciLCJkaXNwdXRlZCI6ZmFsc2UsInN1bW1hcnkiOiJUaGUgQ3J1c2FkZXIgd2FzIHRoZSBVUyBOYXZ5J3MgdG9wIE1pRy1raWxsZXIgcGVyIGFpcmZyYW1lOiBGLThzIGRvd25lZCByb3VnaGx5IDE14oCTMTYgTWlHLTE3cyB3aXRoIFNpZGV3aW5kZXJzIGFuZCBjYW5ub24gd2hpbGUgbG9zaW5nIG9ubHkgYSBoYW5kZnVsIOKAlCB0aGUgbW9zdCBvbmUtc2lkZWQgVVMtdnMtTWlHLTE3IHBhaXJpbmcgb2YgdGhlIHdhci4ifSx7IngiOiJGLTggQ3J1c2FkZXIiLCJ5IjoiTWlHLTIxIEZpc2hiZWQiLCJjb25mbGljdCI6IlZpZXRuYW0gV2FyIiwieWVhcnMiOiIxOTY24oCTNjgiLCJ4U2NvcmUiOiJ+MiIsInlTY29yZSI6ImNvbnRlc3RlZCIsImRpc3B1dGVkIjp0cnVlLCJzdW1tYXJ5IjoiRi04cyBhbmQgTWlHLTIxcyBjbGFzaGVkIGZhciBsZXNzIG9mdGVuOyB0aGUgQ3J1c2FkZXIgaXMgY3JlZGl0ZWQgd2l0aCBhYm91dCB0d28gTWlHLTIxIGtpbGxzIGFuZCBsb3N0IHNldmVyYWwgdG8gdGhlIGZhc3RlciBGaXNoYmVkLCBzbyB0aGUgdGFsbHkgaXMgcm91Z2hseSBldmVuIGFuZCBjb250ZXN0ZWQuIn0seyJ4IjoiRi0xMDUgVGh1bmRlcmNoaWVmIiwieSI6Ik1pRy0xNyBGcmVzY28iLCJjb25mbGljdCI6IlZpZXRuYW0gV2FyIiwieWVhcnMiOiIxOTY14oCTNjgiLCJ4U2NvcmUiOiJ+MjciLCJ5U2NvcmUiOiJzZXZlcmFsIiwiZGlzcHV0ZWQiOmZhbHNlLCJzdW1tYXJ5IjoiVGh1ZCBjcmV3cyB0dXJuZWQgdGhlIDIwIG1tIGd1biBvbiBsb3ctYWx0aXR1ZGUgTWlHLTE3cywgc2NvcmluZyBhbG1vc3QgYWxsIG9mIHRoZSBGLTEwNSdzIH4yNy41IGNyZWRpdGVkIE1pRyBraWxscyB3aGlsZSBhbHNvIGxvc2luZyBzZXZlcmFsIFRodWRzIHRvIE1pRy0xNyBjYW5ub24gZmlyZS4ifSx7IngiOiJGLTEwNSBUaHVuZGVyY2hpZWYiLCJ5IjoiTWlHLTIxIEZpc2hiZWQiLCJjb25mbGljdCI6IlZpZXRuYW0gV2FyIiwieWVhcnMiOiIxOTY24oCTNjgiLCJ4U2NvcmUiOiIwIiwieVNjb3JlIjoiYWR2YW50YWdlIiwiZGlzcHV0ZWQiOmZhbHNlLCJzdW1tYXJ5IjoiTWlHLTIxcyB1c2VkIGhpdC1hbmQtcnVuIG1pc3NpbGUgcGFzc2VzIGFnYWluc3QgaGVhdmlseS1sYWRlbiBUaHVkIHN0cmlrZSBmb3JtYXRpb25zLCBkb3duaW5nIGEgbnVtYmVyIG9mIEYtMTA1cywgd2hpbGUgdGhlIEYtMTA1IHNjb3JlZCBlc3NlbnRpYWxseSBubyBjb25maXJtZWQgTWlHLTIxIGtpbGxzLiJ9LHsieCI6IkYtNCBQaGFudG9tIElJIiwieSI6Ik1pRy0xOSBGYXJtZXIiLCJjb25mbGljdCI6IlZpZXRuYW0gV2FyIiwieWVhcnMiOiIxOTcyIiwieFNjb3JlIjoifjciLCJ5U2NvcmUiOiJ+MiIsImRpc3B1dGVkIjp0cnVlLCJzdW1tYXJ5IjoiRHVyaW5nIHRoZSAxOTcyIExpbmViYWNrZXIgY2FtcGFpZ24gVVNBRiBGLTRzIG1ldCBWUEFGIE1pRy0xOXMgKENoaW5lc2UgSi02KSBvZiB0aGUgOTI1dGggUmVnaW1lbnQ7IFBoYW50b21zIGRvd25lZCByb3VnaGx5IHNldmVuIE1pRy0xOXMg4oCUIGluY2x1ZGluZyB0aGUgd2FyJ3Mgb25seSBzdXBlcnNvbmljIGd1biBraWxsIOKAlCBhZ2FpbnN0IGFib3V0IHR3byBGLTRzIGxvc3QuIn0seyJ4IjoiRi0xMDQgU3RhcmZpZ2h0ZXIiLCJ5IjoiTWlHLTE5IEZhcm1lciIsImNvbmZsaWN0IjoiSGFpbmFuIGluY2lkZW50IiwieWVhcnMiOiIxOTY1IiwieFNjb3JlIjoiMCIsInlTY29yZSI6IjEiLCJkaXNwdXRlZCI6ZmFsc2UsInN1bW1hcnkiOiJUaGUgb25seSBhaXItdG8tYWlyIHNob290ZG93biBvZiBhbiBGLTEwNCBpbiB0aGUgVmlldG5hbSBlcmE6IG9uIDIwIFNlcCAxOTY1IENhcHQgUGhpbGlwIFNtaXRoJ3MgRi0xMDRDIHN0cmF5ZWQgb3ZlciBIYWluYW4gYW5kIHdhcyBkb3duZWQgYnkgYSBDaGluZXNlIFBMQU5BRiBKLTYgKE1pRy0xOSkuIn0seyJ4IjoiQ2hlbmdkdSBKLTEwIiwieSI6IlJhZmFsZSIsImNvbmZsaWN0IjoiSW5kaWHigJNQYWtpc3RhbiAoT3AgU2luZG9vcikiLCJ5ZWFycyI6IjIwMjUiLCJ4U2NvcmUiOiIxKyAoY29uZmlybWVkKSIsInlTY29yZSI6IjAiLCJkaXNwdXRlZCI6dHJ1ZSwic3VtbWFyeSI6IkluIHRoZSBNYXkgMjAyNSBjbGFzaGVzIGEgUGFraXN0YW5pIEotMTBDIGZpcmluZyBhIFBMLTE1IGRvd25lZCBhdCBsZWFzdCBvbmUgSW5kaWFuIFJhZmFsZTsgdGhlIGxvc3Mgd2FzIGFja25vd2xlZGdlZCBieSB0aGUgRnJlbmNoIEFpciBGb3JjZSBjaGllZiBhbmQgY29uZmlybWVkIGJ5IEZyZW5jaCBhbmQgVVMgb2ZmaWNpYWxzLCB0aG91Z2ggUGFraXN0YW4ncyBjbGFpbSBvZiB1cCB0byB0aHJlZSBpcyB1bnZlcmlmaWVkLiJ9LHsieCI6IkpGLTE3IFRodW5kZXIiLCJ5IjoiUmFmYWxlIiwiY29uZmxpY3QiOiJJbmRpYeKAk1Bha2lzdGFuIChPcCBTaW5kb29yKSIsInllYXJzIjoiMjAyNSIsInhTY29yZSI6ImNsYWltZWQiLCJ5U2NvcmUiOiIwIiwiZGlzcHV0ZWQiOnRydWUsInN1bW1hcnkiOiJUaGUgUEFGIGNyZWRpdGVkIEpGLTE3cyBhbG9uZ3NpZGUgSi0xMENzIGluIHRoZSBuZXR3b3JrIHRoYXQgZW5nYWdlZCBJbmRpYW4gUmFmYWxlcyBpbiBNYXkgMjAyNSwgYnV0IGluZGVwZW5kZW50IHJlcG9ydGluZyBhdHRyaWJ1dGVzIHRoZSBvbmUgY29uZmlybWVkIFJhZmFsZSBsb3NzIHNwZWNpZmljYWxseSB0byBhIEotMTBDL1BMLTE1IHNob3QuIn0seyJ4IjoiSkYtMTcgVGh1bmRlciIsInkiOiJTdS0zMCIsImNvbmZsaWN0IjoiSW5kaWHigJNQYWtpc3RhbiAoT3AgU2luZG9vcikiLCJ5ZWFycyI6IjIwMjUiLCJ4U2NvcmUiOiJjbGFpbWVkIiwieVNjb3JlIjoiMCIsImRpc3B1dGVkIjp0cnVlLCJzdW1tYXJ5IjoiUGFraXN0YW4gY2xhaW1lZCBhIEpGLTE3IGRvd25lZCBhbiBJbmRpYW4gU3UtMzBNS0kgZHVyaW5nIHRoZSBNYXkgMjAyNSBmaWdodGluZzsgSW5kaWEgZGVuaWVkIGFueSBTdS0zMCBsb3NzIGFuZCBubyB3cmVja2FnZSBvciBpbmRlcGVuZGVudCBzb3VyY2UgaGFzIGNvbmZpcm1lZCBpdC4ifSx7IngiOiJNaUctMjEgRmlzaGJlZCIsInkiOiJGLTE2IEZpZ2h0aW5nIEZhbGNvbiIsImNvbmZsaWN0IjoiSW5kaWHigJNQYWtpc3RhbiAoQmFsYWtvdCkiLCJ5ZWFycyI6IjIwMTkiLCJ4U2NvcmUiOiIxIChjbGFpbWVkKSIsInlTY29yZSI6IjEiLCJkaXNwdXRlZCI6dHJ1ZSwic3VtbWFyeSI6IkluIHRoZSAyNyBGZWIgMjAxOSBkb2dmaWdodCBhIFBBRiBGLTE2IGRvd25lZCBhbiBJQUYgTWlHLTIxIEJpc29uIChwaWxvdCBBYmhpbmFuZGFuIGNhcHR1cmVkKTsgSW5kaWEgY2xhaW1zIEFiaGluYW5kYW4gZmlyc3QgZG93bmVkIGEgUEFGIEYtMTYsIGJ1dCBhIFVTIGNvdW50IG9mIFBha2lzdGFuJ3MgRi0xNnMgcmVwb3J0ZWQgbm9uZSBtaXNzaW5nLCBsZWF2aW5nIHRoYXQga2lsbCBjb250ZXN0ZWQuIn0seyJ4IjoiSUFJIEtmaXIiLCJ5IjoiTWlHLTIxIEZpc2hiZWQiLCJjb25mbGljdCI6IkxlYmFub24gKEFyYWLigJNJc3JhZWxpKSIsInllYXJzIjoiMTk3OSIsInhTY29yZSI6IjEiLCJ5U2NvcmUiOiIwIiwiZGlzcHV0ZWQiOmZhbHNlLCJzdW1tYXJ5IjoiT24gMjcgSnVuZSAxOTc5IGFuIElzcmFlbGkgQWlyIEZvcmNlIEtmaXIgQy4yIHNob3QgZG93biBhIFN5cmlhbiBNaUctMjEgb3ZlciBMZWJhbm9uIOKAlCB0aGUgS2ZpcidzIGZpcnN0LWV2ZXIgYWlyLXRvLWFpciBraWxsLiJ9LHsieCI6IkYtMTQgVG9tY2F0IiwieSI6Ik1pRy0yMSBGaXNoYmVkIiwiY29uZmxpY3QiOiJJcmFu4oCTSXJhcSBXYXIiLCJ5ZWFycyI6IjE5ODDigJM4OCIsInhTY29yZSI6Im11bHRpcGxlIiwieVNjb3JlIjoiZmV3IiwiZGlzcHV0ZWQiOmZhbHNlLCJzdW1tYXJ5IjoiSXJhbmlhbiBGLTE0QSBjcmV3cyBkb3duZWQgbnVtZXJvdXMgSXJhcWkgTWlHLTIxcywgb2Z0ZW4gd2l0aCBBSU0tNTQgUGhvZW5peCBhbmQgQUlNLTc7IHRoZSBUb21jYXQgaGVsZCBhIGNsZWFyIGVkZ2UsIHRob3VnaCBleGFjdCB0b3RhbHMgZGlmZmVyIGJldHdlZW4gSXJhbmlhbiBhbmQgSXJhcWkgcmVjb3Jkcy4ifSx7IngiOiJGLTE0IFRvbWNhdCIsInkiOiJNaUctMjUgRm94YmF0IiwiY29uZmxpY3QiOiJJcmFu4oCTSXJhcSBXYXIiLCJ5ZWFycyI6IjE5ODDigJM4OCIsInhTY29yZSI6InNldmVyYWwiLCJ5U2NvcmUiOiJ+MiIsImRpc3B1dGVkIjp0cnVlLCJzdW1tYXJ5IjoiSXJhbmlhbiBGLTE0cyBsZWFybmVkIHRvIGludGVyY2VwdCBJcmFxJ3MgaGlnaC1mbHlpbmcgTWlHLTI1cyBhbmQgYXJlIGNyZWRpdGVkIHdpdGggc2V2ZXJhbCBGb3hiYXQga2lsbHMsIHdoaWxlIElyYXFpIE1pRy0yNXMgY2xhaW1lZCBhIHNtYWxsIG51bWJlciBvZiBGLTE0czsgYm90aCB0YWxsaWVzIGFyZSBkaXNwdXRlZC4ifSx7IngiOiJGLTQgUGhhbnRvbSBJSSIsInkiOiJNaXJhZ2UgRjEiLCJjb25mbGljdCI6IklyYW7igJNJcmFxIFdhciIsInllYXJzIjoiMTk4MOKAkzg4IiwieFNjb3JlIjoic2V2ZXJhbCIsInlTY29yZSI6InNldmVyYWwiLCJkaXNwdXRlZCI6dHJ1ZSwic3VtbWFyeSI6IklyYXFpIE1pcmFnZSBGMUVRcyBhbmQgSXJhbmlhbiBGLTQgUGhhbnRvbXMgY2xhc2hlZCByZXBlYXRlZGx5LCBib3RoIHR5cGVzIGNsYWltaW5nIG11bHRpcGxlIGtpbGxzIG9mIHRoZSBvdGhlcjsgdGhlIGNvbXBldGluZyB0b3RhbHMgZGl2ZXJnZSBzaGFycGx5IGJldHdlZW4gdGhlIHNpZGVzLiJ9LHsieCI6IkYtNCBQaGFudG9tIElJIiwieSI6Ik1pRy0yMyBGbG9nZ2VyIiwiY29uZmxpY3QiOiJJcmFu4oCTSXJhcSBXYXIiLCJ5ZWFycyI6IjE5ODDigJM4OCIsInhTY29yZSI6InNldmVyYWwiLCJ5U2NvcmUiOiJzZXZlcmFsIiwiZGlzcHV0ZWQiOnRydWUsInN1bW1hcnkiOiJJcmFxaSBNaUctMjNzIGFuZCBJcmFuaWFuIEYtNHMgc2NvcmVkIGFnYWluc3QgZWFjaCBvdGhlciB0aHJvdWdob3V0IHRoZSB3YXI7IGJvdGggZmxlZXRzIGNsYWltZWQgbXVsdGlwbGUgdmljdG9yaWVzIGFuZCB0aGUgaG9uZXN0IHJlY29yZCBpcyBjb250ZXN0ZWQuIn0seyJ4IjoiTWlyYWdlIEYxIiwieSI6IkYtNSBGcmVlZG9tIEZpZ2h0ZXIiLCJjb25mbGljdCI6IklyYW7igJNJcmFxIFdhciIsInllYXJzIjoiMTk4MOKAkzg4IiwieFNjb3JlIjoic2V2ZXJhbCIsInlTY29yZSI6ImZldyIsImRpc3B1dGVkIjp0cnVlLCJzdW1tYXJ5IjoiSXJhcWkgTWlyYWdlIEYxRVFzIGVuZ2FnZWQgSXJhbmlhbiBGLTVFcyBvbiBudW1lcm91cyBvY2Nhc2lvbnMsIHRoZSBNaXJhZ2UgRjEgY3JlZGl0ZWQgd2l0aCB0aGUgbWFqb3JpdHkgb2YgZXhjaGFuZ2VzIHRob3VnaCB0aGUgRi01cyBzY29yZWQgaW4gcmV0dXJuOyB0b3RhbHMgYXJlIGRpc3B1dGVkLiJ9XTsKdmFyIENTTFVHPXsiTWVzc2Vyc2NobWl0dCBCZiAxMDkiOiJtZXNzZXJzY2htaXR0LWJmLTEwOSIsIkZva2tlciBFaW5kZWNrZXIiOiJmb2trZXItZWluZGVja2VyIiwiQWxiYXRyb3MgRC5JSUkiOiJhbGJhdHJvcy1kLWlpaSIsIkFsYmF0cm9zIEQuViI6ImFsYmF0cm9zLWQtdiIsIkZva2tlciBEci5JIjoiZm9ra2VyLWRyLWkiLCJGb2trZXIgRC5WSUkiOiJmb2trZXItZC12aWkiLCJTb3B3aXRoIENhbWVsIjoic29wd2l0aC1jYW1lbCIsIlMuRS41YSI6InMtZS01YSIsIlNQQUQgUy5YSUlJIjoic3BhZC1zLXhpaWkiLCJOaWV1cG9ydCAxNyI6Im5pZXVwb3J0LTE3IiwiUG9saWthcnBvdiBJLTE2IjoicG9saWthcnBvdi1pLTE2IiwiRmlhdCBDUi4zMiI6ImZpYXQtY3ItMzIiLCJHbG9zdGVyIEdsYWRpYXRvciI6Imdsb3N0ZXItZ2xhZGlhdG9yIiwiTWVzc2Vyc2NobWl0dCBCZiAxMTAiOiJtZXNzZXJzY2htaXR0LWJmLTExMCIsIkZvY2tlLVd1bGYgRncgMTkwIjoiZm9ja2Utd3VsZi1mdy0xOTAiLCJNYWNjaGkgQy4yMDIiOiJtYWNjaGktYy0yMDIiLCJEZXdvaXRpbmUgRC41MjAiOiJkZXdvaXRpbmUtZC01MjAiLCJNZXNzZXJzY2htaXR0IE1lIDI2MiI6Im1lc3NlcnNjaG1pdHQtbWUtMjYyIiwiU3VwZXJtYXJpbmUgU3BpdGZpcmUiOiJzdXBlcm1hcmluZS1zcGl0ZmlyZSIsIkhhd2tlciBIdXJyaWNhbmUiOiJoYXdrZXItaHVycmljYW5lIiwiSGF3a2VyIFRlbXBlc3QiOiJoYXdrZXItdGVtcGVzdCIsImRlIEhhdmlsbGFuZCBNb3NxdWl0byI6ImRlLWhhdmlsbGFuZC1tb3NxdWl0byIsIlAtNTEgTXVzdGFuZyI6InAtNTEtbXVzdGFuZyIsIlAtNDcgVGh1bmRlcmJvbHQiOiJwLTQ3LXRodW5kZXJib2x0IiwiUC0zOCBMaWdodG5pbmciOiJwLTM4LWxpZ2h0bmluZyIsIlAtNDAgV2FyaGF3ayI6InAtNDAtd2FyaGF3ayIsIlAtMzkgQWlyYWNvYnJhIjoicC0zOS1haXJhY29icmEiLCJBNk0gWmVybyI6ImE2bS16ZXJvIiwiS2ktNDMgSGF5YWJ1c2EiOiJraS00My1oYXlhYnVzYSIsIktpLTg0IEhheWF0ZSI6ImtpLTg0LWhheWF0ZSIsIk4xSyBTaGlkZW4tS2FpIjoibjFrLXNoaWRlbi1rYWkiLCJGNEYgV2lsZGNhdCI6ImY0Zi13aWxkY2F0IiwiRjZGIEhlbGxjYXQiOiJmNmYtaGVsbGNhdCIsIkY0VSBDb3JzYWlyIjoiZjR1LWNvcnNhaXIiLCJZYWtvdmxldiBZYWstMyI6Inlha292bGV2LXlhay0zIiwiWWFrb3ZsZXYgWWFrLTkiOiJ5YWtvdmxldi15YWstOSIsIkxhdm9jaGtpbiBMYS01LzciOiJsYXZvY2hraW4tbGEtNS03IiwiTWlHLTMiOiJtaWctMyIsIkYtODYgU2FicmUiOiJmLTg2LXNhYnJlIiwiTWlHLTE5IEZhcm1lciI6Im1pZy0xOS1mYXJtZXIiLCJHbG9zdGVyIE1ldGVvciI6Imdsb3N0ZXItbWV0ZW9yIiwiRjlGIFBhbnRoZXIiOiJmOWYtcGFudGhlciIsIkYtODQgVGh1bmRlcmpldCI6ImYtODQtdGh1bmRlcmpldCIsIkYtOCBDcnVzYWRlciI6ImYtOC1jcnVzYWRlciIsIkYtMTA1IFRodW5kZXJjaGllZiI6ImYtMTA1LXRodW5kZXJjaGllZiIsIk15c3TDqHJlIElWQSI6Im15c3RlcmUtaXZhIiwiSGF3a2VyIFNlYSBGdXJ5IjoiaGF3a2VyLXNlYS1mdXJ5IiwiRi04MiBUd2luIE11c3RhbmciOiJmLTgyLXR3aW4tbXVzdGFuZyIsIkYtMTUgRWFnbGUiOiJmLTE1LWVhZ2xlIiwiRi00IFBoYW50b20gSUkiOiJmLTQtcGhhbnRvbS1paSIsIkYtMTYgRmlnaHRpbmcgRmFsY29uIjoiZi0xNi1maWdodGluZy1mYWxjb24iLCJGLTE0IFRvbWNhdCI6ImYtMTQtdG9tY2F0IiwiRi0xNUUgU3RyaWtlIEVhZ2xlIjoiZi0xNWUtc3RyaWtlLWVhZ2xlIiwiRi9BLTE4IEhvcm5ldCI6ImYtYS0xOC1ob3JuZXQiLCJGL0EtMThFL0YgU3VwZXIgSG9ybmV0IjoiZi1hLTE4ZS1mLXN1cGVyLWhvcm5ldCIsIkYtMjIgUmFwdG9yIjoiZi0yMi1yYXB0b3IiLCJGLTM1IExpZ2h0bmluZyBJSSI6ImYtMzUtbGlnaHRuaW5nLWlpIiwiQS0xMCBUaHVuZGVyYm9sdCBJSSI6ImEtMTAtdGh1bmRlcmJvbHQtaWkiLCJGLTUgRnJlZWRvbSBGaWdodGVyIjoiZi01LWZyZWVkb20tZmlnaHRlciIsIkYtMTA0IFN0YXJmaWdodGVyIjoiZi0xMDQtc3RhcmZpZ2h0ZXIiLCJNaXJhZ2UgSUlJIC8gNSI6Im1pcmFnZS1paWktNSIsIk1pcmFnZSBGMSI6Im1pcmFnZS1mMSIsIk1pcmFnZSAyMDAwIjoibWlyYWdlLTIwMDAiLCJSYWZhbGUiOiJyYWZhbGUiLCJTZWEgSGFycmllciI6InNlYS1oYXJyaWVyIiwiSUFJIEtmaXIiOiJpYWkta2ZpciIsIkV1cm9maWdodGVyIFR5cGhvb24iOiJldXJvZmlnaHRlci10eXBob29uIiwiU2FhYiBKQVMtMzkgR3JpcGVuIjoic2FhYi1qYXMtMzktZ3JpcGVuIiwiVG9ybmFkbyBBRFYgKEYuMykiOiJ0b3JuYWRvLWFkdi1mLTMiLCJUb3JuYWRvIElEUyI6InRvcm5hZG8taWRzIiwiTWlHLTIxIEZpc2hiZWQiOiJtaWctMjEtZmlzaGJlZCIsIk1pRy0yMyBGbG9nZ2VyIjoibWlnLTIzLWZsb2dnZXIiLCJNaUctMjUgRm94YmF0IjoibWlnLTI1LWZveGJhdCIsIk1pRy0yOSBGdWxjcnVtIjoibWlnLTI5LWZ1bGNydW0iLCJNaUctMzEgRm94aG91bmQiOiJtaWctMzEtZm94aG91bmQiLCJTdS0yNyBGbGFua2VyIjoic3UtMjctZmxhbmtlciIsIlN1LTMwIjoic3UtMzAiLCJTdS0zMyI6InN1LTMzIiwiU3UtMzQgRnVsbGJhY2siOiJzdS0zNC1mdWxsYmFjayIsIlN1LTM1Ijoic3UtMzUiLCJTdS01NyBGZWxvbiI6InN1LTU3LWZlbG9uIiwiQ2hlbmdkdSBKLTciOiJjaGVuZ2R1LWotNyIsIkNoZW5nZHUgSi0xMCI6ImNoZW5nZHUtai0xMCIsIlNoZW55YW5nIEotMTEiOiJzaGVueWFuZy1qLTExIiwiQ2hlbmdkdSBKLTIwIjoiY2hlbmdkdS1qLTIwIiwiSkYtMTcgVGh1bmRlciI6ImpmLTE3LXRodW5kZXIiLCJNaUctMTUgRmFnb3QiOiJtaWctMTUtZmFnb3QiLCJNaUctMTcgRnJlc2NvIjoibWlnLTE3LWZyZXNjbyIsIkhhd2tlciBIdW50ZXIiOiJoYXdrZXItaHVudGVyIiwiRW5nbGlzaCBFbGVjdHJpYyBMaWdodG5pbmciOiJlbmdsaXNoLWVsZWN0cmljLWxpZ2h0bmluZyJ9O2Z1bmN0aW9uIENTVShuKXt2YXIgcz1DU0xVR1tuXTtyZXR1cm4gcz8oImh0dHBzOi8vbWlnZmx1Zy5jb20vZmlnaHRlci1haXJjcmFmdC1jb21iYXQtc3RhdGlzdGljcy8iK3MrIi8iKTpudWxsfWZ1bmN0aW9uIENTQShuKXt2YXIgdT1DU1Uobik7cmV0dXJuIHU\/KCc8YSBjbGFzcz0iY3NsbmsiIGhyZWY9IicrdSsnIj4nK24rJzwvYT4nKTpufWZ1bmN0aW9uIENTUkVDKG4pe3ZhciB1PUNTVShuKTtyZXR1cm4gdT8oJzxhIGNsYXNzPSJtcmVjIiBocmVmPSInK3UrJyI+RnVsbCBjb21iYXQgcmVjb3JkOiBjYW1wYWlnbnMsIHNvdXJjZXMgJmFtcDsgc3Rvcnk8L2E+Jyk6Jyd9CmZ1bmN0aW9uIG1zbHVnKHMpe3JldHVybiBzLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvW15hLXowLTldKy9nLCctJykucmVwbGFjZSgvXi0rfC0rJC9nLCcnKTt9ZnVuY3Rpb24gZmluZE1hdGNodXAoYSxiKXsKICBmb3IoY29uc3QgbSBvZiBNQVRDSFVQUyl7CiAgICBpZihtLng9PT1hLm5hbWUmJm0ueT09PWIubmFtZSlyZXR1cm57Y29uZmxpY3Q6bS5jb25mbGljdCx5ZWFyczptLnllYXJzLGFTY29yZTptLnhTY29yZSxiU2NvcmU6bS55U2NvcmUsZGlzcHV0ZWQ6bS5kaXNwdXRlZCxzdW1tYXJ5Om0uc3VtbWFyeSxteDptLngsbXk6bS55fTsKICAgIGlmKG0ueD09PWIubmFtZSYmbS55PT09YS5uYW1lKXJldHVybntjb25mbGljdDptLmNvbmZsaWN0LHllYXJzOm0ueWVhcnMsYVNjb3JlOm0ueVNjb3JlLGJTY29yZTptLnhTY29yZSxkaXNwdXRlZDptLmRpc3B1dGVkLHN1bW1hcnk6bS5zdW1tYXJ5LG14Om0ueCxteTptLnl9OwogIH0KICByZXR1cm4gbnVsbDsKfQoKOwoKLyogLS0tLS0tLS0tLSBTSEFSRUQgSEVMUEVSUyAtLS0tLS0tLS0tICovCmNvbnN0ICQ9cz0+ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzKSwgJCQ9cz0+Wy4uLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwocyldOwpjb25zdCBmbGFnPW89PkZMQUdbb118fCLwn4+z77iPIjsKY29uc3QgU1RMQUJFTD17cHJvdmVuOic8c3BhbiBjbGFzcz0iYmFkZ2UgYi1wcm92ZW4iPmFpci10by1haXI8L3NwYW4+JyxzdHJpa2U6JzxzcGFuIGNsYXNzPSJiYWRnZSBiLXN0cmlrZSI+c3RyaWtlcyBvbmx5PC9zcGFuPicsdW50ZXN0ZWQ6JzxzcGFuIGNsYXNzPSJiYWRnZSBiLXVudGVzdGVkIj5ubzwvc3Bhbj4nfTsKY29uc3QgcmF0aW9UeHQ9aj0+ai5yYXRpbz09PUluZmluaXR5Pyc8c3BhbiBzdHlsZT0iZm9udC1zaXplOjEuMzVlbTt2ZXJ0aWNhbC1hbGlnbjotMXB4Ij7iiJ48L3NwYW4+Jzooai5yYXRpbz09PTA\/J+KAlCc6ai5yYXRpby50b0ZpeGVkKDEpKycgOiAxJyk7CmNvbnN0IFNJTFA9YDxzdmcgY2xhc3M9InNpbGJnIiB2aWV3Qm94PSIwIDAgMTAwIDQwIj48cGF0aCBmaWxsPSIjN2E4MDhhIiBkPSJNMiAyMCBMNDAgMTcgTDQ1IDQgTDQ5IDQgTDQ4IDE2IEw3MCAxNCBMNzQgMyBMNzggMyBMNzcgMTMgTDk2IDEyIEM5OSAxMiA5OSAxNCA5NiAxNSBMNzcgMjAgTDc4IDM0IEw3NCAzNCBMNjkgMjEgTDQ4IDIyIEw0OSAzNyBMNDUgMzcgTDQwIDIyIEwyIDIyIFoiLz48L3N2Zz5gOwpmdW5jdGlvbiBwaG90b0Jsb2NrKGosY2xzLGV4dHJhKXtyZXR1cm4gYDxkaXYgY2xhc3M9IiR7Y2xzfSI+JHtTSUxQfSR7ai5pbWc\/YDxpbWcgc3JjPSIke2ouaW1nfSIgYWx0PSIke2oubmFtZX0iIGxvYWRpbmc9ImxhenkiIG9uZXJyb3I9InRoaXMucmVtb3ZlKCkiPmA6Jyd9JHtleHRyYXx8Jyd9PC9kaXY+YDt9CmZ1bmN0aW9uIGF2YWlsSFRNTChqKXsKICBjb25zdCBhPWouYXZhaWx8fHtzdGF0ZTonbmEnfTsKICBpZihhLnN0YXRlPT09J2F2YWlsYWJsZScpcmV0dXJuIGA8YSBjbGFzcz0iYXYgYXYtZ28iIGhyZWY9IiR7YS51cmx9IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+Rmx5ICR7KC9eRi0vaS50ZXN0KGoubmFtZSl8fC9eW0FFSU9VXS9pLnRlc3Qoai5uYW1lKSk\/J2FuJzonYSd9ICR7ai5uYW1lLnNwbGl0KCcgJylbMF19PC9hPmA7CiAgaWYoYS5zdGF0ZT09PSdwYXJ0bmVyJylyZXR1cm4gYDxhIGNsYXNzPSJhdiBhdi1nbyIgaHJlZj0iJHthLnVybH0iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj4ke2EubGFiZWx9PC9hPmA7CiAgaWYoYS5zdGF0ZT09PSdjb21pbmcnKXJldHVybiBhLnVybD9gPGEgY2xhc3M9ImF2IGF2LXNvb24iIGhyZWY9IiR7YS51cmx9IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+Q29taW5nIHNvb248L2E+YDpgPHNwYW4gY2xhc3M9ImF2IGF2LXNvb24iPkNvbWluZyBzb29uPC9zcGFuPmA7CiAgaWYoYS5zdGF0ZT09PSd1bnRpbCcpcmV0dXJuIGA8c3BhbiBjbGFzcz0iYXYgYXYtcGFzdCI+VW50aWwgJHthLnllYXJ9PC9zcGFuPmA7CiAgcmV0dXJuIGA8c3BhbiBjbGFzcz0iYXYgYXYtbmEiPk5vdCBvZmZlcmVkPC9zcGFuPmA7Cn0KY29uc3Qgb3JpZ2lucz1bLi4ubmV3IFNldChELm1hcChqPT5qLm9yaWdpbikpXS5zb3J0KCk7CmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmZGF0ZScpLnRleHRDb250ZW50PW5ldyBEYXRlKCkudG9Mb2NhbGVEYXRlU3RyaW5nKCdlbi1HQicse2RheTonbnVtZXJpYycsbW9udGg6J2xvbmcnLHllYXI6J251bWVyaWMnfSk7CgovKiBjb25jZXB0IHN3aXRjaGluZyAqLwokJCgnLmNidG4nKS5mb3JFYWNoKGI9PmIub25jbGljaz0oKT0+ewogICQkKCcuY2J0bicpLmZvckVhY2goeD0+eC5jbGFzc0xpc3QucmVtb3ZlKCdhY3RpdmUnKSk7Yi5jbGFzc0xpc3QuYWRkKCdhY3RpdmUnKTsKICAkJCgnLmNvbmNlcHQnKS5mb3JFYWNoKHM9PnMuY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJykpOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjLScrYi5kYXRhc2V0LmMpLmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpOwogIGlmKGIuZGF0YXNldC5jPT09J2NoYXJ0cycpc2V0VGltZW91dChkcmF3Q2hhcnRzLDYwKTsKICB3aW5kb3cuc2Nyb2xsVG8oe3RvcDowLGJlaGF2aW9yOidzbW9vdGgnfSk7Cn0pOwoKLyogLS0tLS0tLS0tLSBDT05DRVBUIDE6IFRBQkxFIC0tLS0tLS0tLS0gKi8KbGV0IHRTb3J0PXtrOidraWxscycsZGlyOi0xfSwgdFN0YXR1cz0nYWxsJywgdE9yaWdpbj0nJywgdFF1ZXJ5PScnOwpjb25zdCBvU2VsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b3JpZ2luJyk7Cm9yaWdpbnMuZm9yRWFjaChvPT5vU2VsLmluc2VydEFkamFjZW50SFRNTCgnYmVmb3JlZW5kJyxgPG9wdGlvbiB2YWx1ZT0iJHtvfSI+JHtvfTwvb3B0aW9uPmApKTsKZnVuY3Rpb24gdFJvd3MoKXsKICBsZXQgcj1ELmZpbHRlcihqPT4odFN0YXR1cz09PSdhbGwnfHxqLnN0YXR1cz09PXRTdGF0dXMpJiYoIXRPcmlnaW58fGoub3JpZ2luPT09dE9yaWdpbikmJighdFF1ZXJ5fHwoai5uYW1lK2ouZnVsbCkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0UXVlcnkpKSk7CiAgci5zb3J0KChhLGIpPT57bGV0IGs9dFNvcnQuayx2YT1hW2tdLHZiPWJba107aWYoaz09PSduYW1lJ3x8az09PSdvcmlnaW4nfHxrPT09J3N0YXR1cyd8fGs9PT0nZ2VuJyl7dmE9KCcnK3ZhKTt2Yj0oJycrdmIpO3JldHVybiB2YS5sb2NhbGVDb21wYXJlKHZiKSp0U29ydC5kaXI7fWlmKHZhPT09SW5maW5pdHkpdmE9OTk5OTk7aWYodmI9PT1JbmZpbml0eSl2Yj05OTk5OTtyZXR1cm4gKHZhLXZiKSp0U29ydC5kaXI7fSk7CiAgcmV0dXJuIHI7Cn0KZnVuY3Rpb24gcmVuZGVyVGFibGUoKXsKICBjb25zdCByPXRSb3dzKCk7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rib2R5JykuaW5uZXJIVE1MPXIubWFwKGo9PmA8dHIgZGF0YS1qaWQ9IiR7ai5pZH0iPgogICAgPHRkIGNsYXNzPSJwaG90b2NlbGwiPiR7ai5pbWc\/YDxpbWcgY2xhc3M9InR0aHVtYiIgc3JjPSIke2ouaW1nfSIgYWx0PSIiIGxvYWRpbmc9ImxhenkiIG9uZXJyb3I9InRoaXMuc3R5bGUudmlzaWJpbGl0eT0naGlkZGVuJyI+YDonPHNwYW4gY2xhc3M9InR0aHVtYiI+PC9zcGFuPid9PC90ZD48dGQgY2xhc3M9Im5hbWVjZWxsIj48ZGl2IGNsYXNzPSJqZXRuYW1lIj4ke0NTQShqLm5hbWUpfTwvZGl2PjxkaXYgY2xhc3M9ImpldHN1YiI+JHtqLnJvbGUucmVwbGFjZSgvIFwvIC9nLCcgLzxicj4nKX08L2Rpdj48L3RkPgogICAgPHRkPjxkaXYgY2xhc3M9Im1mciI+JHtqLm1mci5yZXBsYWNlKC8gXC8gL2csJyAvPGJyPicpfTwvZGl2PiR7ai5vcmlnaW59PC90ZD48dGQgY2xhc3M9Im51bSI+JHtqLmZpcnN0RmxpZ2h0fTwvdGQ+PHRkPjxzcGFuIGNsYXNzPSJnZW4iPiR7ai5nZW59PC9zcGFuPjwvdGQ+CiAgICA8dGQgY2xhc3M9Im51bSBrIj4ke2oua3I\/YDxzcGFuIGNsYXNzPSJybmciPiR7ai5rcn08L3NwYW4+YDpqLmtpbGxzfTwvdGQ+PHRkIGNsYXNzPSJudW0gbCI+JHtqLmxyP2A8c3BhbiBjbGFzcz0icm5nIj4ke2oubHJ9PC9zcGFuPmA6ai5sb3NzZXN9PC90ZD4KICAgIDx0ZCBjbGFzcz0ibnVtIHJ0Ij4ke3JhdGlvVHh0KGopfSR7ai5lc3Q\/JzxzdXAgY2xhc3M9ImVzdGFyIj4qPC9zdXA+JzonJ308L3RkPjx0ZD4ke1NUTEFCRUxbai5zdGF0dXNdfTwvdGQ+CiAgICA8dGQ+JHthdmFpbEhUTUwoail9PC90ZD48L3RyPmApLmpvaW4oJycpOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0Y291bnQnKS50ZXh0Q29udGVudD1yLmxlbmd0aCsnIG9mICcrRC5sZW5ndGgrJyBhaXJjcmFmdCc7c2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBpbXM9W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjdGJvZHkgLnR0aHVtYltsb2FkaW5nXScpKTtpbXMuZm9yRWFjaChmdW5jdGlvbihpbSxpeCl7c2V0VGltZW91dChmdW5jdGlvbigpe2ltLnNldEF0dHJpYnV0ZSgnbG9hZGluZycsJ2VhZ2VyJyk7fSxNYXRoLm1pbihpeCo1MCwzNTAwKSk7fSk7fSwzMDApOwogICQkKCcjanRhYmxlIHRoZWFkIHRoJykuZm9yRWFjaCh0aD0+e3RoLmNsYXNzTGlzdC50b2dnbGUoJ3NvcnRlZCcsdGguZGF0YXNldC5rJiZ0aC5kYXRhc2V0Lms9PT10U29ydC5rKTt9KTsKfQokJCgnI2p0YWJsZSB0aGVhZCB0aCcpLmZvckVhY2godGg9PnRoLm9uY2xpY2s9KCk9Pntjb25zdCBrPXRoLmRhdGFzZXQuaztpZighaylyZXR1cm47aWYodFNvcnQuaz09PWspdFNvcnQuZGlyKj0tMTtlbHNle3RTb3J0Lms9azt0U29ydC5kaXI9KGs9PT0nbmFtZSd8fGs9PT0nb3JpZ2luJyk\/MTotMTt9cmVuZGVyVGFibGUoKTt9KTsKZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RzZWFyY2gnKS5vbmlucHV0PWU9Pnt0UXVlcnk9ZS50YXJnZXQudmFsdWUudG9Mb3dlckNhc2UoKTtyZW5kZXJUYWJsZSgpO307Cm9TZWwub25jaGFuZ2U9ZT0+e3RPcmlnaW49ZS50YXJnZXQudmFsdWU7cmVuZGVyVGFibGUoKTt9OwokJCgnI2MtdGFibGUgLmNoaXAnKS5mb3JFYWNoKGM9PmMub25jbGljaz0oKT0+eyQkKCcjYy10YWJsZSAuY2hpcCcpLmZvckVhY2goeD0+eC5jbGFzc0xpc3QucmVtb3ZlKCdvbicpKTtjLmNsYXNzTGlzdC5hZGQoJ29uJyk7dFN0YXR1cz1jLmRhdGFzZXQuc3RhdHVzO3JlbmRlclRhYmxlKCk7fSk7CnJlbmRlclRhYmxlKCk7CgovKiAtLS0tLS0tLS0tIENPTkNFUFQgMjogQ0hBUlRTIC0tLS0tLS0tLS0gKi8KbGV0IGNoYXJ0RmlsdGVyPSdwcm92ZW4nLCBjaGFydHM9e30sIGNoYXJ0RGVmYXVsdHNTZXQ9ZmFsc2U7CmZ1bmN0aW9uIGNEYXRhKCl7cmV0dXJuIGNoYXJ0RmlsdGVyPT09J3Byb3Zlbic\/RC5maWx0ZXIoaj0+ai5raWxscz4wfHxqLmxvc3Nlcz4wKTpELnNsaWNlKCk7fQpmdW5jdGlvbiBkcmF3Q2hhcnRzKCl7CiAgaWYodHlwZW9mIENoYXJ0PT09J3VuZGVmaW5lZCcpewogICAgaWYoKGRyYXdDaGFydHMuX3Q9KGRyYXdDaGFydHMuX3R8fDApKzEpPDYwKXtzZXRUaW1lb3V0KGRyYXdDaGFydHMsMjAwKTtyZXR1cm47fQogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI2MtY2hhcnRzIC5jYW52YXMtaG9sZGVyJykuZm9yRWFjaChoPT57aWYoIWgucXVlcnlTZWxlY3RvcignLmNlcnInKSloLmluc2VydEFkamFjZW50SFRNTCgnYmVmb3JlZW5kJywnPGRpdiBjbGFzcz0iY2VyciIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6MTNweDt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjIwcHgiPkNoYXJ0IGxpYnJhcnkgc3RpbGwgbG9hZGluZyDigJQgY2hlY2sgeW91ciBjb25uZWN0aW9uIGFuZCByZW9wZW4gdGhpcyB0YWIuPC9kaXY+Jyk7fSk7CiAgICByZXR1cm47CiAgfQogIGRyYXdDaGFydHMuX3Q9MDsKICBpZighY2hhcnREZWZhdWx0c1NldCl7Q2hhcnQuZGVmYXVsdHMuY29sb3I9JyM1YTYwNjknO0NoYXJ0LmRlZmF1bHRzLmZvbnQuZmFtaWx5PSInR2lscm95IHJlZ3VsYXInLHNhbnMtc2VyaWYiO0NoYXJ0LmRlZmF1bHRzLmJvcmRlckNvbG9yPScjZWRlZGYwJztjaGFydERlZmF1bHRzU2V0PXRydWU7fQogIE9iamVjdC52YWx1ZXMoY2hhcnRzKS5mb3JFYWNoKGM9PmMmJmMuZGVzdHJveSgpKTsKICBjb25zdCBiYXNlPWNEYXRhKCk7CiAgLy8gS2lsbHMKICBjb25zdCBieUs9Wy4uLmJhc2VdLnNvcnQoKGEsYik9PmIua2lsbHMtYS5raWxscykuc2xpY2UoMCwxNSk7CiAgY2hhcnRzLms9bmV3IENoYXJ0KCQoJyNjaEtpbGxzJykse3R5cGU6J2JhcicsZGF0YTp7bGFiZWxzOmJ5Sy5tYXAoaj0+ai5uYW1lKSxkYXRhc2V0czpbe2RhdGE6YnlLLm1hcChqPT5qLmtpbGxzKSxiYWNrZ3JvdW5kQ29sb3I6JyMxNDE0MTQnLGJvcmRlclJhZGl1czowfV19LG9wdGlvbnM6e2luZGV4QXhpczoneScscGx1Z2luczp7bGVnZW5kOntkaXNwbGF5OmZhbHNlfX0sc2NhbGVzOnt4OntncmlkOntjb2xvcjonI2VkZWRmMCd9fSx5OntncmlkOntkaXNwbGF5OmZhbHNlfX19LG1haW50YWluQXNwZWN0UmF0aW86ZmFsc2V9fSk7CiAgLy8gUmF0aW8gKGtpbGxzPj01LCBsb3NzZXMgY29uc2lkZXJlZCkKICBjb25zdCBieVI9RC5maWx0ZXIoaj0+ai5raWxscz49NSkubWFwKGo9Pih7bjpqLm5hbWUscjpqLnJhdGlvPT09SW5maW5pdHk\/ai5raWxsczpqLnJhdGlvLGluZjpqLnJhdGlvPT09SW5maW5pdHl9KSkuc29ydCgoYSxiKT0+Yi5yLWEucikuc2xpY2UoMCwxMik7CiAgY2hhcnRzLnI9bmV3IENoYXJ0KCQoJyNjaFJhdGlvJykse3R5cGU6J2JhcicsZGF0YTp7bGFiZWxzOmJ5Ui5tYXAoeD0+eC5uKSxkYXRhc2V0czpbe2RhdGE6YnlSLm1hcCh4PT54LnIpLGJhY2tncm91bmRDb2xvcjpieVIubWFwKHg9PnguaW5mPycjMTI3YTNmJzonIzE0MTQxNCcpLGJvcmRlclJhZGl1czowfV19LG9wdGlvbnM6e2luZGV4QXhpczoneScscGx1Z2luczp7bGVnZW5kOntkaXNwbGF5OmZhbHNlfSx0b29sdGlwOntjYWxsYmFja3M6e2xhYmVsOmM9Pntjb25zdCB4PWJ5UltjLmRhdGFJbmRleF07cmV0dXJuIHguaW5mPydVbmRlZmVhdGVkICgnK3gucisnIGtpbGxzLCAwIGxvc3NlcyknOnguci50b0ZpeGVkKDEpKyc6MSc7fX19fSxzY2FsZXM6e3g6e2dyaWQ6e2NvbG9yOicjZWRlZGYwJ319LHk6e2dyaWQ6e2Rpc3BsYXk6ZmFsc2V9fX0sbWFpbnRhaW5Bc3BlY3RSYXRpbzpmYWxzZX19KTsKICAvLyBTY2F0dGVyCiAgY2hhcnRzLnM9bmV3IENoYXJ0KCQoJyNjaFNjYXR0ZXInKSx7dHlwZTonYnViYmxlJyxkYXRhOntkYXRhc2V0czpiYXNlLm1hcChqPT4oe2xhYmVsOmoubmFtZSxkYXRhOlt7eDpNYXRoLm1heChqLmtpbGxzLDAuNikseTpNYXRoLm1heChqLmxvc3NlcywwLjYpLHI6NCszLjIqTWF0aC5sb2cxMCgoai50b3RhbHx8MSkrMSl9XSxiYWNrZ3JvdW5kQ29sb3I6ai5zdGF0dXM9PT0ncHJvdmVuJz8ncmdiYSgyMCwyMCwyMCwuNzIpJzooai5zdGF0dXM9PT0nc3RyaWtlJz8ncmdiYSgxMjAsMTI2LDEzNCwuNiknOidyZ2JhKDE5MCwxOTQsMjAwLC43NSknKSxib3JkZXJDb2xvcjonI2ZmZid9KSl9LG9wdGlvbnM6e3BsdWdpbnM6e2xlZ2VuZDp7ZGlzcGxheTpmYWxzZX0sdG9vbHRpcDp7Y2FsbGJhY2tzOntsYWJlbDpjPT57Y29uc3Qgaj1iYXNlW2MuZGF0YXNldEluZGV4XTtyZXR1cm4gYCR7ai5uYW1lfTogJHtqLmtpbGxzfSBraWxscywgJHtqLmxvc3Nlc30gbG9zc2VzYDt9fX19LHNjYWxlczp7eDp7dHlwZTonbG9nYXJpdGhtaWMnLG1pbjowLjUsdGl0bGU6e2Rpc3BsYXk6dHJ1ZSx0ZXh0OidBaXItdG8tYWlyIGtpbGxzIChsb2cgc2NhbGUpJ30sZ3JpZDp7Y29sb3I6JyNlZGVkZjAnfSx0aWNrczp7Y2FsbGJhY2s6dj0+WzEsMTAsMTAwLDEwMDAsMTAwMDBdLmluZGV4T2Yodik+PTA\/di50b0xvY2FsZVN0cmluZygnZW4tVVMnKTpudWxsfX0seTp7dHlwZTonbG9nYXJpdGhtaWMnLG1pbjowLjUsdGl0bGU6e2Rpc3BsYXk6dHJ1ZSx0ZXh0OidBaXItdG8tYWlyIGxvc3NlcyAobG9nIHNjYWxlKSd9LGdyaWQ6e2NvbG9yOicjZWRlZGYwJ30sdGlja3M6e2NhbGxiYWNrOnY9PlsxLDEwLDEwMCwxMDAwLDEwMDAwXS5pbmRleE9mKHYpPj0wP3YudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJyk6bnVsbH19fSxtYWludGFpbkFzcGVjdFJhdGlvOmZhbHNlfX0pOwp9CiQkKCcjYy1jaGFydHMgLmNoaXAnKS5mb3JFYWNoKGM9PmMub25jbGljaz0oKT0+eyQkKCcjYy1jaGFydHMgLmNoaXAnKS5mb3JFYWNoKHg9PnguY2xhc3NMaXN0LnJlbW92ZSgnb24nKSk7Yy5jbGFzc0xpc3QuYWRkKCdvbicpO2NoYXJ0RmlsdGVyPWMuZGF0YXNldC5jZjtkcmF3Q2hhcnRzKCk7fSk7CgovKiAtLS0tLS0tLS0tIENPTkNFUFQgMzogQ0FSRFMgLS0tLS0tLS0tLSAqLwpjb25zdCBjT1NlbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29yaWdpbicpOwpvcmlnaW5zLmZvckVhY2gobz0+Y09TZWwuaW5zZXJ0QWRqYWNlbnRIVE1MKCdiZWZvcmVlbmQnLGA8b3B0aW9uIHZhbHVlPSIke299Ij4ke299PC9vcHRpb24+YCkpOwpsZXQgY1F1ZXJ5PScnLGNPcmlnaW49Jyc7CmZ1bmN0aW9uIHJlbmRlckNhcmRzKCl7CiAgY29uc3Qgcj1ELmZpbHRlcihqPT4oIWNPcmlnaW58fGoub3JpZ2luPT09Y09yaWdpbikmJighY1F1ZXJ5fHwoai5uYW1lK2ouZnVsbCkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhjUXVlcnkpKSkKICAgIC5zb3J0KChhLGIpPT5iLmtpbGxzLWEua2lsbHMpOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYXJkZ3JpZCcpLmlubmVySFRNTD1yLm1hcChqPT5gPGRpdiBjbGFzcz0iamV0Y2FyZCIgZGF0YS1pZD0iJHtqLmlkfSI+CiAgICAke3Bob3RvQmxvY2soaiwncGhvdG8nLGA8c3BhbiBjbGFzcz0iZ3RhZyI+JHtqLmdlbn0gZ2VuIMK3ICR7ZmxhZyhqLm9yaWdpbil9ICR7ai5vcmlnaW59PC9zcGFuPmApfQogICAgPGRpdiBjbGFzcz0iY2JvZHkiPgogICAgICA8aDM+JHtqLm5hbWV9PC9oMz48ZGl2IGNsYXNzPSJvcmciPiR7ai5yb2xlfTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzdGF0cyI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3RhdCI+PGRpdiBjbGFzcz0idiBrIj4ke2oua3I\/YDxzcGFuIGNsYXNzPSJybmciPiR7ai5rcn08L3NwYW4+YDpqLmtpbGxzfTwvZGl2PjxkaXYgY2xhc3M9ImxiIj5LaWxsczwvZGl2PjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InN0YXQiPjxkaXYgY2xhc3M9InYgbCI+JHtqLmxyP2A8c3BhbiBjbGFzcz0icm5nIj4ke2oubHJ9PC9zcGFuPmA6ai5sb3NzZXN9PC9kaXY+PGRpdiBjbGFzcz0ibGIiPkxvc3NlczwvZGl2PjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InN0YXQiPjxkaXYgY2xhc3M9InYiPiR7cmF0aW9UeHQoail9PC9kaXY+PGRpdiBjbGFzcz0ibGIiPlJhdGlvPC9kaXY+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjYXZhaWwiPjxzcGFuPk1pR0ZsdWc8L3NwYW4+JHthdmFpbEhUTUwoail9PC9kaXY+CiAgICA8L2Rpdj48L2Rpdj5gKS5qb2luKCcnKTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2NvdW50JykudGV4dENvbnRlbnQ9ci5sZW5ndGgrJyBhaXJjcmFmdCc7CiAgJCQoJy5qZXRjYXJkJykuZm9yRWFjaChjPT5jLm9uY2xpY2s9ZT0+e2lmKGUudGFyZ2V0LmNsb3Nlc3QoJy5hdicpKXJldHVybjtvcGVuTW9kYWwoK2MuZGF0YXNldC5pZCk7fSk7Cn0KZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NzZWFyY2gnKS5vbmlucHV0PWU9PntjUXVlcnk9ZS50YXJnZXQudmFsdWUudG9Mb3dlckNhc2UoKTtyZW5kZXJDYXJkcygpO307CmNPU2VsLm9uY2hhbmdlPWU9PntjT3JpZ2luPWUudGFyZ2V0LnZhbHVlO3JlbmRlckNhcmRzKCk7fTsKcmVuZGVyQ2FyZHMoKTsKCmZ1bmN0aW9uIG9wZW5Nb2RhbChpZCl7CiAgY29uc3Qgaj1EW2lkXTsKICAkKCcjbWJveCcpLmlubmVySFRNTD1gJHtwaG90b0Jsb2NrKGosJ21waG90bycsYDxidXR0b24gY2xhc3M9Im1jbG9zZSIgb25jbGljaz0iY2xvc2VNb2RhbCgpIj7DlzwvYnV0dG9uPmApfQogICAgPGRpdiBjbGFzcz0ibWhlYWQiPgogICAgPGRpdiBjbGFzcz0iZ3RhZyI+JHtqLmdlbn0gZ2VuIMK3ICR7ZmxhZyhqLm9yaWdpbil9ICR7ai5vcmlnaW59IMK3IGZpcnN0IGZsaWdodCAke2ouZmlyc3RGbGlnaHR9JHtqLnJldGlyZWQ\/JyDCtyByZXRpcmVkJzonJ308L2Rpdj4KICAgIDxoMz4ke2oubmFtZX08L2gzPjxkaXYgY2xhc3M9Im9yZyI+JHtqLmZ1bGx9IOKAlCAke2oucm9sZX08L2Rpdj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9Im1hdmFpbCI+PHNwYW4gY2xhc3M9Im1hdmFpbC1sIj5BdmFpbGFibGUgd2l0aCBNaUdGbHVnPC9zcGFuPiR7YXZhaWxIVE1MKGopfTwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXN0YXRzIj4KICAgICAgPGRpdiBjbGFzcz0icyI+PGRpdiBjbGFzcz0idiBrIj4ke2oua3I\/YDxzcGFuIGNsYXNzPSJybmciPiR7ai5rcn08L3NwYW4+YDpqLmtpbGxzfTwvZGl2PjxkaXYgY2xhc3M9ImxiIj5BMkEga2lsbHM8L2Rpdj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0icyI+PGRpdiBjbGFzcz0idiBsIj4ke2oubHI\/YDxzcGFuIGNsYXNzPSJybmciPiR7ai5scn08L3NwYW4+YDpqLmxvc3Nlc308L2Rpdj48ZGl2IGNsYXNzPSJsYiI+QTJBIGxvc3NlczwvZGl2PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzIj48ZGl2IGNsYXNzPSJ2Ij4ke3JhdGlvVHh0KGopfTwvZGl2PjxkaXYgY2xhc3M9ImxiIj5LaWxsIHJhdGlvPC9kaXY+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InMiPjxkaXYgY2xhc3M9InYiIHN0eWxlPSJjb2xvcjp2YXIoLS1ncmV5dHgpIj4ke2ouZ3JvdW5kPT1udWxsPyLigJQiOmouZ3JvdW5kfTwvZGl2PjxkaXYgY2xhc3M9ImxiIj5Hcm91bmQgbG9zc2VzPC9kaXY+PC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9Im1ib2R5Ij4KICAgICAgPGRpdiBjbGFzcz0ibm90ZSI+PGI+JHtqLmZhbW91c308L2I+PC9kaXY+CiAgICAgIDxwIHN0eWxlPSJmb250LXNpemU6MTMuNXB4O2NvbG9yOnZhcigtLW11dGVkKTttYXJnaW4tYm90dG9tOjE4cHgiPiR7ai5ub3RlfTwvcD4KICAgICAgPGg0PkNvbWJhdCBoaXN0b3J5IGJ5IGNvbmZsaWN0PC9oND4KICAgICAgJHtqLmNvbmZsaWN0cy5tYXAoYz0+YDxkaXYgY2xhc3M9ImNvbmZsaWN0Ij48ZGl2IGNsYXNzPSJ5ciI+JHtjLnlyfTwvZGl2PjxkaXYgY2xhc3M9ImN3Ij48ZGl2IGNsYXNzPSJjbiI+JHtjLm59IDxzcGFuIHN0eWxlPSJjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC13ZWlnaHQ6NTAwIj7CtyAke2MubmF0aW9ufTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJjZCI+JHtjLmR9PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iY2siPjxzcGFuIGNsYXNzPSJrIj4ke2Mua308L3NwYW4+IC8gPHNwYW4gY2xhc3M9ImwiPiR7Yy5sfTwvc3Bhbj48L2Rpdj48L2Rpdj5gKS5qb2luKCcnKX0KICAgICR7Q1NSRUMoai5uYW1lKX08L2Rpdj5gOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb2RhbCcpLmNsYXNzTGlzdC5hZGQoJ29wZW4nKTsKfQpmdW5jdGlvbiBjbG9zZU1vZGFsKCl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vZGFsJykuY2xhc3NMaXN0LnJlbW92ZSgnb3BlbicpO30KZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vZGFsJykub25jbGljaz1lPT57aWYoZS50YXJnZXQuaWQ9PT0nbW9kYWwnKWNsb3NlTW9kYWwoKTt9OwpmdW5jdGlvbiBvcGVuSW1nKHNyYyxuYW1lKXt2YXIgbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWZjcy1sYicpO2lmKCFvKXtvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO28uaWQ9J21mY3MtbGInO28uc3R5bGUuY3NzVGV4dD0ncG9zaXRpb246Zml4ZWQ7aW5zZXQ6MDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjkyKTtkaXNwbGF5Om5vbmU7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3otaW5kZXg6OTk5OTk7Y3Vyc29yOnpvb20tb3V0O3BhZGRpbmc6MjRweDtib3gtc2l6aW5nOmJvcmRlci1ib3gnO28ub25jbGljaz1jbG9zZUltZzt2YXIgaW09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7aW0uaWQ9J21mY3MtbGItaW1nJztpbS5zdHlsZS5jc3NUZXh0PSdtYXgtd2lkdGg6OTJ2dzttYXgtaGVpZ2h0Ojg0dmg7b2JqZWN0LWZpdDpjb250YWluO2Rpc3BsYXk6YmxvY2snO3ZhciBjcD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtjcC5pZD0nbWZjcy1sYi1jYXAnO2NwLnN0eWxlLmNzc1RleHQ9J2NvbG9yOiNmZmY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi4wMmVtO21hcmdpbi10b3A6MTZweDt0ZXh0LWFsaWduOmNlbnRlcic7by5hcHBlbmRDaGlsZChpbSk7by5hcHBlbmRDaGlsZChjcCk7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChvKTt9by5xdWVyeVNlbGVjdG9yKCcjbWZjcy1sYi1pbWcnKS5zcmM9c3JjO28ucXVlcnlTZWxlY3RvcignI21mY3MtbGItY2FwJykudGV4dENvbnRlbnQ9bmFtZTtvLnN0eWxlLmRpc3BsYXk9J2ZsZXgnO30KZnVuY3Rpb24gY2xvc2VJbWcoKXt2YXIgbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWZjcy1sYicpO2lmKG8pby5zdHlsZS5kaXNwbGF5PSdub25lJzt9CmZ1bmN0aW9uIGJpZ1NyYyh1KXt2YXIgaT11Lmxhc3RJbmRleE9mKCdweC0nKTtpZihpPDEpcmV0dXJuIHU7dmFyIHM9dS5sYXN0SW5kZXhPZignLycsaSk7aWYoczwwKXJldHVybiB1O3JldHVybiB1LnNsaWNlKDAscysxKSsnMTI4MCcrdS5zbGljZShpKTt9CmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0Ym9keScpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbihlKXt2YXIgdD1lLnRhcmdldC5jbG9zZXN0KCcudHRodW1iJyk7aWYoIXR8fCF0LmdldEF0dHJpYnV0ZSgnc3JjJykpcmV0dXJuO3ZhciB0cj10LmNsb3Nlc3QoJ3RyJyk7dmFyIG5tPXRyJiZ0ci5xdWVyeVNlbGVjdG9yKCcuamV0bmFtZScpO3ZhciBybD10ciYmdHIucXVlcnlTZWxlY3RvcignLmpldHN1YicpO29wZW5JbWcoYmlnU3JjKHQuc3JjKSwobm0\/bm0udGV4dENvbnRlbnQudHJpbSgpOicnKSsocmw\/JyDigJQgJytybC50ZXh0Q29udGVudC50cmltKCk6JycpKTt9KTsKZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsZT0+e2lmKGUua2V5PT09J0VzY2FwZScpe2Nsb3NlTW9kYWwoKTtjbG9zZUltZygpO319KTsKCi8qIC0tLS0tLS0tLS0gQ09OQ0VQVCA0OiBDT01QQVJFIC0tLS0tLS0tLS0gKi8KY29uc3Qgc2VsQT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY21wQScpLHNlbEI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NtcEInKTsKRC5zbGljZSgpLnNvcnQoKGEsYik9PmEubmFtZS5sb2NhbGVDb21wYXJlKGIubmFtZSkpLmZvckVhY2goaj0+ewogIHNlbEEuaW5zZXJ0QWRqYWNlbnRIVE1MKCdiZWZvcmVlbmQnLGA8b3B0aW9uIHZhbHVlPSIke2ouaWR9Ij4ke2ZsYWcoai5vcmlnaW4pfSAke2oubmFtZX08L29wdGlvbj5gKTsKICBzZWxCLmluc2VydEFkamFjZW50SFRNTCgnYmVmb3JlZW5kJyxgPG9wdGlvbiB2YWx1ZT0iJHtqLmlkfSI+JHtmbGFnKGoub3JpZ2luKX0gJHtqLm5hbWV9PC9vcHRpb24+YCk7Cn0pOwpzZWxBLnZhbHVlPUQuZmluZEluZGV4KGo9PmoubmFtZT09PSdGLTE1IEVhZ2xlJyk7CnNlbEIudmFsdWU9RC5maW5kSW5kZXgoaj0+ai5uYW1lPT09J01pRy0yOSBGdWxjcnVtJyk7CmZ1bmN0aW9uIGNtcFJvdyhsYWJlbCxhLGIsZm10LGxvd2VyQmV0dGVyKXsKICBjb25zdCBteD1NYXRoLm1heChhLGIsMSk7CiAgY29uc3QgZj1mbXR8fCh4PT54KTsKICBjb25zdCBhdz1sb3dlckJldHRlcj8oYTxiKTooYT5iKSwgYnc9bG93ZXJCZXR0ZXI\/KGI8YSk6KGI+YSk7CiAgcmV0dXJuIGA8ZGl2IGNsYXNzPSJjbXAtcm93Ij4KICAgIDxkaXYgY2xhc3M9ImNtcC1iYXIgbGVmdCI+PGRpdiBjbGFzcz0iZmlsbCIgc3R5bGU9IndpZHRoOiR7KGEvbXgqODYpfSUiPjwvZGl2PjxzcGFuIGNsYXNzPSJidiAke2F3Pyd3aW4nOicnfSIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2xlZnQ6MTBweCI+JHtmKGEpfTwvc3Bhbj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImNtcC1sYiI+JHtsYWJlbH08L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImNtcC1iYXIgcmlnaHQiPjxkaXYgY2xhc3M9ImZpbGwiIHN0eWxlPSJ3aWR0aDokeyhiL214Kjg2KX0lIj48L2Rpdj48c3BhbiBjbGFzcz0iYnYgJHtidz8nd2luJzonJ30iIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxMHB4Ij4ke2YoYil9PC9zcGFuPjwvZGl2PgogIDwvZGl2PmA7Cn0KZnVuY3Rpb24gcmVuZGVyQ29tcGFyZSgpewogIGNvbnN0IGE9RFsrc2VsQS52YWx1ZV0sYj1EWytzZWxCLnZhbHVlXTsKICBjb25zdCBycj1qPT5qLnJhdGlvPT09SW5maW5pdHk\/OTk6ai5yYXRpbzsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY21wQm9hcmQnKS5pbm5lckhUTUw9YAogICAgPGRpdiBjbGFzcz0iY21wLXRvcCI+CiAgICAgIDxkaXYgY2xhc3M9ImNtcC1zaWRlIj4ke3Bob3RvQmxvY2soYSwnY21wLXBob3RvJyl9PGRpdiBjbGFzcz0iZ3RhZyI+JHtmbGFnKGEub3JpZ2luKX0gJHthLm9yaWdpbn0gwrcgJHthLmdlbn0gZ2VuPC9kaXY+PGgzPiR7Q1NBKGEubmFtZSl9PC9oMz48ZGl2IGNsYXNzPSJvcmciPiR7YS5yb2xlfSDCtyBmaXJzdCBmbGlnaHQgJHthLmZpcnN0RmxpZ2h0fTwvZGl2PjxkaXYgY2xhc3M9ImNhdiI+JHthdmFpbEhUTUwoYSl9PC9kaXY+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNtcC1zaWRlIj4ke3Bob3RvQmxvY2soYiwnY21wLXBob3RvJyl9PGRpdiBjbGFzcz0iZ3RhZyI+JHtmbGFnKGIub3JpZ2luKX0gJHtiLm9yaWdpbn0gwrcgJHtiLmdlbn0gZ2VuPC9kaXY+PGgzPiR7Q1NBKGIubmFtZSl9PC9oMz48ZGl2IGNsYXNzPSJvcmciPiR7Yi5yb2xlfSDCtyBmaXJzdCBmbGlnaHQgJHtiLmZpcnN0RmxpZ2h0fTwvZGl2PjxkaXYgY2xhc3M9ImNhdiI+JHthdmFpbEhUTUwoYil9PC9kaXY+PC9kaXY+CiAgICA8L2Rpdj4KICAgICR7Y21wUm93KCdBMkEgS2lsbHMnLGEua2lsbHMsYi5raWxscyl9CiAgICAke2NtcFJvdygnQTJBIExvc3NlcycsYS5sb3NzZXMsYi5sb3NzZXMsbnVsbCx0cnVlKX0KICAgICR7Y21wUm93KCdLaWxsIHJhdGlvJyxycihhKSxycihiKSx4PT54PT09OTk\/J+KInic6KHg9PT0wPyfigJQnOngudG9GaXhlZCgxKSkpfQogICAgJHtjbXBSb3coJ0dyb3VuZCBsb3NzZXMnLGEuZ3JvdW5kLGIuZ3JvdW5kLG51bGwsdHJ1ZSl9CiAgICAke2NtcFJvdygnVG90YWwgZW5nYWdlbWVudHMnLGEudG90YWwsYi50b3RhbCl9CiAgICAke2VuZ2FnZUhUTUwoYSxiKX0KICAgIDxkaXYgY2xhc3M9ImNtcC1yb3ciIHN0eWxlPSJncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO3RleHQtYWxpZ246Y2VudGVyO2NvbG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6MTcuNXB4O2xpbmUtaGVpZ2h0OjEuNSI+CiAgICAgIDxkaXY+JHthLm5hbWV9OiAke2EuZmFtb3VzfTxicj48YnI+JHtiLm5hbWV9OiAke2IuZmFtb3VzfTwvZGl2PgogICAgPC9kaXY+YDsKfQpmdW5jdGlvbiBlbmdhZ2VIVE1MKGEsYil7CiAgaWYoYS5pZD09PWIuaWQpcmV0dXJuJyc7CiAgY29uc3QgbT1maW5kTWF0Y2h1cChhLGIpOwogIGlmKCFtKXJldHVybiBgPGRpdiBjbGFzcz0iZW5nYWdlIG5vbmUiPjxkaXYgY2xhc3M9ImVtIj5ObyBkb2N1bWVudGVkIGFpci10by1haXIgZW5nYWdlbWVudHMgYmV0d2VlbiB0aGUgPGI+JHthLm5hbWV9PC9iPiBhbmQgdGhlIDxiPiR7Yi5uYW1lfTwvYj4uPC9kaXY+PC9kaXY+YDsKICBjb25zdCBhdz0obS5hU2NvcmU9PT0nMCcmJm0uYlNjb3JlIT09JzAnKSwgYnc9KG0uYlNjb3JlPT09JzAnJiZtLmFTY29yZSE9PScwJyk7CiAgcmV0dXJuIGA8ZGl2IGNsYXNzPSJlbmdhZ2UiPgogICAgPGRpdiBjbGFzcz0iZWgiPuKalCBXaGVuIHRoZXkgYWN0dWFsbHkgbWV0ICR7bS5kaXNwdXRlZD8nPHNwYW4gY2xhc3M9ImRpc3AiPmNvbnRlc3RlZDwvc3Bhbj4nOicnfTwvZGl2PgogICAgPGRpdiBjbGFzcz0iZWMiPiR7bS5jb25mbGljdH0gwrcgJHttLnllYXJzfTwvZGl2PgogICAgPGRpdiBjbGFzcz0ic2NvcmUiPgogICAgICA8ZGl2IGNsYXNzPSJzdiBzTCAke2J3Pyd3aW4yJzonJ30iPiR7bS5hU2NvcmV9PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImRhc2giPuKAkzwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzdiBzUiAke2F3Pyd3aW4yJzonJ30iPiR7bS5iU2NvcmV9PC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImVzdW0iPiR7bS5zdW1tYXJ5fTwvZGl2PiR7bS5teD9gPGRpdiBzdHlsZT0ibWFyZ2luLXRvcDoxNHB4Ij48YSBocmVmPSIvZmlnaHRlci1haXJjcmFmdC1jb21iYXQtc3RhdGlzdGljcy8ke21zbHVnKG0ubXgpfS12cy0ke21zbHVnKG0ubXkpfS8iIHN0eWxlPSJjb2xvcjojNUM5MUZGO2ZvbnQtd2VpZ2h0OjgwMDt0ZXh0LWRlY29yYXRpb246bm9uZTtmb250LXNpemU6MTNweDtsZXR0ZXItc3BhY2luZzouMDRlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UiPk9wZW4gdGhlIGZ1bGwgJHttLm14fSB2cyAke20ubXl9IHBhZ2U8L2E+PC9kaXY+YDonJ30KICA8L2Rpdj5gOwp9CnNlbEEub25jaGFuZ2U9cmVuZGVyQ29tcGFyZTtzZWxCLm9uY2hhbmdlPXJlbmRlckNvbXBhcmU7CnJlbmRlckNvbXBhcmUoKTsKCi8qIC0tLS0tLS0tLS0gU1RBVCBUT09MVElQIChob3ZlciBzdG9yeSkgLS0tLS0tLS0tLSAqLwooZnVuY3Rpb24oKXsKICB2YXIgdGlwPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO3RpcC5pZD0nbWZjcy10aXAnOwogIHRpcC5zdHlsZS5jc3NUZXh0PSdwb3NpdGlvbjpmaXhlZDtkaXNwbGF5Om5vbmU7ei1pbmRleDo5OTk5ODtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzBkMTExNztib3JkZXI6MXB4IHNvbGlkICMwZDExMTc7cGFkZGluZzoxMHB4IDEycHg7bWF4LXdpZHRoOjM0MHB4O2ZvbnQtc2l6ZToxMy41cHg7bGluZS1oZWlnaHQ6MS40NTtib3gtc2hhZG93OjAgNHB4IDE4cHggcmdiYSgxMywxNywyMywuMTQpO3BvaW50ZXItZXZlbnRzOm5vbmU7Zm9udC1mYW1pbHk6aW5oZXJpdCc7CiAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aXApOwogIHZhciB0Yj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGJvZHknKTsKICBpZighdGIpcmV0dXJuOwogIGZ1bmN0aW9uIG1vdmUoZSl7dmFyIHg9TWF0aC5taW4oZS5jbGllbnRYKzE2LHdpbmRvdy5pbm5lcldpZHRoLTM2NCk7dmFyIHk9ZS5jbGllbnRZKzE4O2lmKHkrdGlwLm9mZnNldEhlaWdodD53aW5kb3cuaW5uZXJIZWlnaHQtMTApe3k9ZS5jbGllbnRZLXRpcC5vZmZzZXRIZWlnaHQtMTQ7fXRpcC5zdHlsZS5sZWZ0PU1hdGgubWF4KDgseCkrJ3B4Jzt0aXAuc3R5bGUudG9wPU1hdGgubWF4KDgseSkrJ3B4Jzt9CiAgdGIuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VvdmVyJyxmdW5jdGlvbihlKXsKICAgIHZhciB0ZD1lLnRhcmdldC5jbG9zZXN0KCd0ZC5rLHRkLmwsdGQucnQnKTsKICAgIGlmKCF0ZCl7dGlwLnN0eWxlLmRpc3BsYXk9J25vbmUnO3JldHVybjt9CiAgICB2YXIgdHI9ZS50YXJnZXQuY2xvc2VzdCgndHJbZGF0YS1qaWRdJyk7aWYoIXRyKXJldHVybjsKICAgIHZhciBqPURbK3RyLmdldEF0dHJpYnV0ZSgnZGF0YS1qaWQnKV07aWYoIWp8fCFqLm5vdGUpcmV0dXJuOwogICAgdGlwLmlubmVySFRNTD0nPGIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbTo0cHgiPicrai5uYW1lKycg4oCUIHRoZSBzdG9yeSBiZWhpbmQgdGhlIG51bWJlcnM8L2I+JytqLm5vdGU7CiAgICB0aXAuc3R5bGUuZGlzcGxheT0nYmxvY2snO21vdmUoZSk7CiAgfSk7CiAgdGIuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJyxmdW5jdGlvbihlKXtpZih0aXAuc3R5bGUuZGlzcGxheT09PSdibG9jaycpbW92ZShlKTt9KTsKICB0Yi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJyxmdW5jdGlvbigpe3RpcC5zdHlsZS5kaXNwbGF5PSdub25lJzt9KTsKfSkoKTs7KGZ1bmN0aW9uKCl7dHJ5e3ZhciBxPW5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uc2VhcmNoKS5nZXQoImFjIik7aWYoIXEpcmV0dXJuO3ZhciBjbGlja2VkPWZhbHNlO3ZhciB0cmllcz0wO3ZhciB0PXNldEludGVydmFsKGZ1bmN0aW9uKCl7dHJpZXMrKztpZighY2xpY2tlZCl7dmFyIGJ0bj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuY2J0biIpKS5maW5kKGZ1bmN0aW9uKGIpe3JldHVybiBiLmdldEF0dHJpYnV0ZSgiZGF0YS1jIik9PSJjYXJkcyJ9KTtpZihidG4pe2J0bi5jbGljaygpO2NsaWNrZWQ9dHJ1ZTt9fXZhciBqPSh0eXBlb2YgRCE9PSJ1bmRlZmluZWQiKT9ELmZpbmQoZnVuY3Rpb24oeCl7cmV0dXJuIHgubmFtZT09PXF8fHguZnVsbD09PXF9KTpudWxsO3ZhciBlbD1udWxsO2lmKGope2VsPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5qZXRjYXJkIikpLmZpbmQoZnVuY3Rpb24oYyl7cmV0dXJuIGMuZ2V0QXR0cmlidXRlKCJkYXRhLWlkIik9PVN0cmluZyhqLmlkKSYmYy5vZmZzZXRQYXJlbnR9KTt9aWYoZWwpe2NsZWFySW50ZXJ2YWwodCk7ZWwuY2xhc3NMaXN0LmFkZCgiYWNsaGwiKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZWwuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOiJhdXRvIixibG9jazoiY2VudGVyIn0pO30sMjUwKTt9ZWxzZSBpZih0cmllcz42MCl7Y2xlYXJJbnRlcnZhbCh0KTt9fSwyNTApO31jYXRjaChlKXt9fSkoKTsvKmFjbGluayov\"><\/div>\n<p><script>(function(){var el=document.getElementById(\"mfcs-data\");var js=decodeURIComponent(escape(atob(el.getAttribute(\"data-js\"))));var sc=document.createElement(\"script\");sc.text=\"(function(){\"+js+\";window.closeModal=closeModal;window.openModal=openModal;})();\";document.body.appendChild(sc);})();<\/script><section id=\"faq\" class=\"mfcs-faq\">\n<h2>Frequently asked questions<\/h2>\n<details open>\n<summary>How are air-to-air kills and losses counted in this database?<\/summary>\n<div class=\"a\">Every figure counts confirmed aerial victories against manned aircraft, credited by the operating air force and cross-checked across published sources. Where historians dispute a tally we show a visible range instead of a single number, and aircraft destroyed on the ground are tracked separately from air-to-air losses.<\/div>\n<\/details>\n<details>\n<summary>Which fighter has the best air-to-air kill ratio?<\/summary>\n<div class=\"a\">Among jet-age fighters the F-15 Eagle is the most-cited undefeated type \u2014 over 100 air-to-air victories for no confirmed air-to-air losses. Sort the kill-ratio column to compare every aircraft in the table yourself.<\/div>\n<\/details>\n<details>\n<summary>Which aircraft scored the most air-to-air victories?<\/summary>\n<div class=\"a\">By aggregate credited victories the World War II piston fighters lead: types like the Messerschmitt Bf 109 accumulated the highest totals of any fighter in history over years of mass air war. Among jets, the Korean-War MiG-15 and F-86 Sabre and the later F-15 Eagle rank highest. Sort the kills column to see the order.<\/div>\n<\/details>\n<details>\n<summary>Are these combat figures confirmed or estimated?<\/summary>\n<div class=\"a\">Most are confirmed and officially credited. Contested historical tallies are shown as ranges rather than a single number, a handful of estimated entries are marked with an asterisk, and recent 2022\u20132026 combat figures are credited but still firming up.<\/div>\n<\/details>\n<details>\n<summary>Can I compare two specific aircraft head-to-head?<\/summary>\n<div class=\"a\">Yes. Every documented type-vs-type engagement in this database has its own comparison page \u2014 confirmed kills, losses, kill ratio and the story of when the two aircraft actually met in combat. Open any aircraft to follow its head-to-head links.<\/div>\n<\/details>\n<details>\n<summary>What is the difference between this database and the jet-age one?<\/summary>\n<div class=\"a\">This page covers every fighter era, from World War I biplanes to fifth-generation jets \u2014 90 aircraft in all. The companion <a href=\"\/fighter-jet-combat-statistics\/\">Fighter Jet Combat Statistics<\/a> page focuses on the 42 jet-age fighters, from the MiG-15 to the Su-57.<\/div>\n<\/details>\n<details>\n<summary>Can I fly a fighter jet myself?<\/summary>\n<div class=\"a\">Yes \u2014 MiGFlug flies civilians in real fighter jets and warbirds. See the available aircraft, locations and prices at <a href=\"\/flights-prices\/\">migflug.com\/flights-prices<\/a>.<\/div>\n<\/details>\n<\/section>\n<p><script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"How are air-to-air kills and losses counted in this database?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Every figure counts confirmed aerial victories against manned aircraft, credited by the operating air force and cross-checked across published sources. Where historians dispute a tally we show a visible range instead of a single number, and aircraft destroyed on the ground are tracked separately from air-to-air losses.\"}},{\"@type\":\"Question\",\"name\":\"Which fighter has the best air-to-air kill ratio?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Among jet-age fighters the F-15 Eagle is the most-cited undefeated type \u2014 over 100 air-to-air victories for no confirmed air-to-air losses. Sort the kill-ratio column to compare every aircraft in the table yourself.\"}},{\"@type\":\"Question\",\"name\":\"Which aircraft scored the most air-to-air victories?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"By aggregate credited victories the World War II piston fighters lead: types like the Messerschmitt Bf 109 accumulated the highest totals of any fighter in history over years of mass air war. Among jets, the Korean-War MiG-15 and F-86 Sabre and the later F-15 Eagle rank highest. Sort the kills column to see the order.\"}},{\"@type\":\"Question\",\"name\":\"Are these combat figures confirmed or estimated?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Most are confirmed and officially credited. Contested historical tallies are shown as ranges rather than a single number, a handful of estimated entries are marked with an asterisk, and recent 2022\u20132026 combat figures are credited but still firming up.\"}},{\"@type\":\"Question\",\"name\":\"Can I compare two specific aircraft head-to-head?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. Every documented type-vs-type engagement in this database has its own comparison page \u2014 confirmed kills, losses, kill ratio and the story of when the two aircraft actually met in combat. Open any aircraft to follow its head-to-head links.\"}},{\"@type\":\"Question\",\"name\":\"What is the difference between this database and the jet-age one?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"This page covers every fighter era, from World War I biplanes to fifth-generation jets \u2014 90 aircraft in all. The companion Fighter Jet Combat Statistics page focuses on the 42 jet-age fighters, from the MiG-15 to the Su-57.\"}},{\"@type\":\"Question\",\"name\":\"Can I fly a fighter jet myself?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes \u2014 MiGFlug flies civilians in real fighter jets and warbirds. See the available aircraft, locations and prices at migflug.com\/flights-prices.\"}}]}<\/script><\/div>\n","protected":false},"excerpt":{"rendered":"<p>MiGFlug \u00b7 Fighter Aircraft Combat Records Combat Statistics for Every Fighter Aircraft in History The air-to-air record of 90 fighter aircraft across every era \u2014 from the Fokker Eindecker and the Sopwith Camel through the Bf 109 and the Mustang to the F-35 and Su-57. Every credited kill and loss, cross-checked, sourced, and shown as [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"editor_notices":[],"footnotes":""},"class_list":["post-16061","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Fighter Aircraft Combat Statistics \u2013 Every Fighter Era | MiGFlug<\/title>\n<meta name=\"description\" content=\"Air-to-air kills, losses and kill ratios for 90 fighter aircraft from WWI to today \u2014 sortable table, charts and honest source ranges, all cross-checked.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/migflug.com\/ru\/fighter-aircraft-combat-statistics\/\" \/>\n<meta property=\"og:locale\" content=\"ru_RU\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Fighter Aircraft Combat Statistics \u2013 Every Fighter Era | MiGFlug\" \/>\n<meta property=\"og:description\" content=\"Air-to-air kills, losses and kill ratios for 90 fighter aircraft from WWI to today \u2014 sortable table, charts and honest source ranges, all cross-checked.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/migflug.com\/ru\/fighter-aircraft-combat-statistics\/\" \/>\n<meta property=\"og:site_name\" content=\"MiGFlug\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/MiGFlug\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-23T15:11:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ml5psubhxdln.i.optimole.com\/cb:78--.b845\/w:auto\/h:auto\/q:96\/f:best\/https:\/\/migflug.com\/wp-content\/uploads\/2026\/06\/migflug-share-1200x630-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@migflug\" \/>\n<meta name=\"twitter:label1\" content=\"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 \u043c\u0438\u043d\u0443\u0442\u044b\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/migflug.com\\\/fighter-aircraft-combat-statistics\\\/\",\"url\":\"https:\\\/\\\/migflug.com\\\/fighter-aircraft-combat-statistics\\\/\",\"name\":\"Fighter Aircraft Combat Statistics \u2013 Every Fighter Era | MiGFlug\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/migflug.com\\\/#website\"},\"datePublished\":\"2026-07-10T12:08:35+00:00\",\"dateModified\":\"2026-07-23T15:11:23+00:00\",\"description\":\"Air-to-air kills, losses and kill ratios for 90 fighter aircraft from WWI to today \u2014 sortable table, charts and honest source ranges, all cross-checked.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/migflug.com\\\/fighter-aircraft-combat-statistics\\\/#breadcrumb\"},\"inLanguage\":\"ru-RU\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/migflug.com\\\/fighter-aircraft-combat-statistics\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/migflug.com\\\/fighter-aircraft-combat-statistics\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/migflug.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Fighter Aircraft Combat Statistics \u2013 Every Fighter Era\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/migflug.com\\\/#website\",\"url\":\"https:\\\/\\\/migflug.com\\\/\",\"name\":\"MiGFlug\",\"description\":\"Fly a Jet Fighter Yourself\",\"publisher\":{\"@id\":\"https:\\\/\\\/migflug.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/migflug.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ru-RU\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/migflug.com\\\/#organization\",\"name\":\"MiGFlug GmbH\",\"url\":\"https:\\\/\\\/migflug.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\\\/\\\/migflug.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\/\\/migflug.com\\/wp-content\\/uploads\\/2018\\/10\\/logo-migflug-blue.png\",\"contentUrl\":\"https:\\/\\/migflug.com\\/wp-content\\/uploads\\/2018\\/10\\/logo-migflug-blue.png\",\"width\":200,\"height\":100,\"caption\":\"MiGFlug GmbH\"},\"image\":{\"@id\":\"https:\\\/\\\/migflug.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/MiGFlug\\\/\",\"https:\\\/\\\/x.com\\\/migflug\",\"https:\\\/\\\/www.instagram.com\\\/migflug\\\/\",\"https:\\\/\\\/www.youtube.com\\\/user\\\/MiGFlug\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/migflug.com\\\/\",\"https:\\\/\\\/www.pinterest.ch\\\/migflug\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Fighter Aircraft Combat Statistics \u2013 Every Fighter Era | MiGFlug","description":"Air-to-air kills, losses and kill ratios for 90 fighter aircraft from WWI to today \u2014 sortable table, charts and honest source ranges, all cross-checked.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/migflug.com\/ru\/fighter-aircraft-combat-statistics\/","og_locale":"ru_RU","og_type":"article","og_title":"Fighter Aircraft Combat Statistics \u2013 Every Fighter Era | MiGFlug","og_description":"Air-to-air kills, losses and kill ratios for 90 fighter aircraft from WWI to today \u2014 sortable table, charts and honest source ranges, all cross-checked.","og_url":"https:\/\/migflug.com\/ru\/fighter-aircraft-combat-statistics\/","og_site_name":"MiGFlug","article_publisher":"https:\/\/www.facebook.com\/MiGFlug\/","article_modified_time":"2026-07-23T15:11:23+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/ml5psubhxdln.i.optimole.com\/cb:78--.b845\/w:auto\/h:auto\/q:96\/f:best\/https:\/\/migflug.com\/wp-content\/uploads\/2026\/06\/migflug-share-1200x630-1.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_site":"@migflug","twitter_misc":{"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f":"3 \u043c\u0438\u043d\u0443\u0442\u044b"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/migflug.com\/fighter-aircraft-combat-statistics\/","url":"https:\/\/migflug.com\/fighter-aircraft-combat-statistics\/","name":"Fighter Aircraft Combat Statistics \u2013 Every Fighter Era | MiGFlug","isPartOf":{"@id":"https:\/\/migflug.com\/#website"},"datePublished":"2026-07-10T12:08:35+00:00","dateModified":"2026-07-23T15:11:23+00:00","description":"Air-to-air kills, losses and kill ratios for 90 fighter aircraft from WWI to today \u2014 sortable table, charts and honest source ranges, all cross-checked.","breadcrumb":{"@id":"https:\/\/migflug.com\/fighter-aircraft-combat-statistics\/#breadcrumb"},"inLanguage":"ru-RU","potentialAction":[{"@type":"ReadAction","target":["https:\/\/migflug.com\/fighter-aircraft-combat-statistics\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/migflug.com\/fighter-aircraft-combat-statistics\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/migflug.com\/"},{"@type":"ListItem","position":2,"name":"Fighter Aircraft Combat Statistics \u2013 Every Fighter Era"}]},{"@type":"WebSite","@id":"https:\/\/migflug.com\/#website","url":"https:\/\/migflug.com\/","name":"\u041c\u0438\u0413\u0424\u043b\u0443\u0433","description":"\u0423\u043f\u0440\u0430\u0432\u043b\u044f\u0439\u0442\u0435 \u0438\u0441\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0435\u043c \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e","publisher":{"@id":"https:\/\/migflug.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/migflug.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ru-RU"},{"@type":"Organization","@id":"https:\/\/migflug.com\/#organization","name":"MiGFlug GmbH","url":"https:\/\/migflug.com\/","logo":{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/migflug.com\/#\/schema\/logo\/image\/","url":"https:\/\/migflug.com\/wp-content\/uploads\/2018\/10\/logo-migflug-blue.png","contentUrl":"https:\/\/migflug.com\/wp-content\/uploads\/2018\/10\/logo-migflug-blue.png","width":200,"height":100,"caption":"MiGFlug GmbH"},"image":{"@id":"https:\/\/migflug.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/MiGFlug\/","https:\/\/x.com\/migflug","https:\/\/www.instagram.com\/migflug\/","https:\/\/www.youtube.com\/user\/MiGFlug","https:\/\/www.linkedin.com\/company\/migflug.com\/","https:\/\/www.pinterest.ch\/migflug\/"]}]}},"_links":{"self":[{"href":"https:\/\/migflug.com\/ru\/wp-json\/wp\/v2\/pages\/16061","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/migflug.com\/ru\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/migflug.com\/ru\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/migflug.com\/ru\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/migflug.com\/ru\/wp-json\/wp\/v2\/comments?post=16061"}],"version-history":[{"count":16,"href":"https:\/\/migflug.com\/ru\/wp-json\/wp\/v2\/pages\/16061\/revisions"}],"predecessor-version":[{"id":18819,"href":"https:\/\/migflug.com\/ru\/wp-json\/wp\/v2\/pages\/16061\/revisions\/18819"}],"wp:attachment":[{"href":"https:\/\/migflug.com\/ru\/wp-json\/wp\/v2\/media?parent=16061"}],"curies":[{"name":"WP","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}