(function() {
var c=1;
var x = document.getElementById("Sureview176");
var sureview_logo_container=document.createElement("div");
var vdo = document.createElement("div");
var vi_maindiv = document.createElement("div");
var teads = document.createElement("script");
teads.id="sureview_2";
var third_party = document.createElement("script");
var adipolo = document.createElement("div");
var teads_main_div = document.createElement("div");
var vdo_id="";
var is_active_adipolo=0;
var is_active_teads=0;
var is_active_aniview=0;
var is_active_vdo=0;
var is_active_valueImpression=0;
var ad_displaying=0;
var running_ads=0;
var by_tag_name="";
var placement_salector="";
var no_of_tag="";
var placed_by="";
var priority1="2";
var priority2="1";
var priority3="4";
var refreshIntervalId;
var iframe="iframe";
var is_added_smc_header=0;
var vdo_player;
var teads_player;
var teads_ads_duration=10000;
var vdo_ads_duration=10000;
var setlogo_intval;
var setlogoTeads_intval;
var dailyMotionStyle = document.createElement('style');
dailyMotionStyle.innerHTML="#dailymotion-pip-large-viewport{ --dm--pip-left: 0px;} #dailymotion-pip-large-viewport{ --dm--pip-left: 0; --dm--pip-right: auto; } #dailymotion-pip-small-viewport {--dm--pip-size-width: 200px !important; --dm--pip-size-height: 110px !important;} .dm-player.dm-player-close-show #dailymotion-pip-large-viewport .dm__close-button, .dm-player.dm-player-close-show #dailymotion-pip-small-viewport .dm__close-button { visibility: visible !important;} .dm-player.dm-player-close-show .dm__close-button { visibility: visible !important; } .dm__close-button { position: absolute !important; top: var(--dm-close-top, -28px) !important; right: unset !important; width: var(--dm-close-width, 25px) !important; height: var(--dm-close-height, 25px) !important; background: var(--dm-close-bg, #000) !important; opacity: var(--dm-close-opacity, 0.45) !important; border-radius: 50% !important; padding: var(--dm-close-padding, 7px) !important; border: var(--dm-close-border, 0) !important; cursor: pointer; visibility: hidden; } .dailymotion-player-wrapper#dailymotion-pip-small-viewport .dm__close-button { left: 0px !important; right: unset !important; }";
top.document.getElementsByTagName('head')[0].appendChild(dailyMotionStyle);
var dailyMotionStyle = document.createElement('style');
dailyMotionStyle.innerHTML="#dailymotion-pip-small-viewport, #dailymotion-pip-large-viewport { width: var(--dm--pip-size-width, 410px) !important; left: var(--dm--pip-left, 0) !important; height: var(--dm--pip-size-height, 231px) !important; transition: right .5s ease !important; right: var(--dm--pip-right, initial) !important;} .dailymotion-player-wrapper#dailymotion-pip-small-viewport .dm__close-button { left: 0px !important; right: unset !important; }";
var reduce_size_for_big_screen= document.createElement('style');
reduce_size_for_big_screen.innerHTML="@media screen and (min-width: 640px) {.dm-player { padding-left: 20% !important; padding-right: 20% !important; }} #dailymotion-pip-small-viewport .dailymotion-player, #dailymotion-pip-small-viewport .dm__pip-new-controls{ border-radius: 10px; }";
top.document.getElementsByTagName('head')[0].appendChild(reduce_size_for_big_screen);
placement_salector=0;
setTimeout(function(){
by_tag_name="p";
placed_by="1";
no_of_tag="3";
var teads_container = document.createElement("div");
var teads_placement=is_avail_selector(by_tag_name,placed_by);
is_active_teads=1;
teads_main_div.className="sureview-content";
teads.type="text/javascript";
teads.className="teads";
teads.async="true";
teads.src="//a.teads.tv/page/173962/tag";
teads_main_div.appendChild(teads);
running_ads=2;
if(teads_placement!=0){
ad_displaying=1;
teads_container.appendChild(teads_main_div);
try {
teads_placement[no_of_tag].appendChild(teads_container);
new_logo(2);
}
catch (exception_var) {
}
}else{
x.appendChild(teads_main_div);
new_logo(2);
}
if(c==1){
}
c++;
by_tag_name="p";
placed_by="1";
no_of_tag="3";
var daily_motion_ads=document.createElement("div");
daily_motion_ads.className="dm-player sureview-ads";
daily_motion_ads.id="daily_motion_ads_div";
daily_motion_ads.style.cssText="padding-top: 10px; padding-bottom: 10px;";
var script_daily_motion=document.createElement("script");
script_daily_motion.src="https://statics.dmcdn.net/c/dm-ce.min.js";
script_daily_motion.type="text/javascript";
var ani_placement=is_avail_selector(by_tag_name,placed_by);
if(ani_placement!=0){
try{
if(placed_by!="3"){
ani_placement[no_of_tag].appendChild(daily_motion_ads);
ani_placement[no_of_tag].appendChild(script_daily_motion);
}else{
ani_placement.appendChild(daily_motion_ads);
ani_placement.appendChild(script_daily_motion);
}
top.document.getElementById("daily_motion_ads_div").setAttribute("owners", "sureview");
top.document.getElementById("daily_motion_ads_div").setAttribute("sort", "recent");
top.document.getElementById("daily_motion_ads_div").setAttribute("playerId", "x918a");
top.document.getElementById("daily_motion_ads_div").setAttribute("mute", "true");
top.document.getElementById("daily_motion_ads_div").setAttribute("loop", "true");
top.document.getElementById("daily_motion_ads_div").setAttribute("closeButton", "true");
top.document.getElementById("daily_motion_ads_div").setAttribute("hideButton", "false");
top.document.getElementById("daily_motion_ads_div").setAttribute("playlistId", "x7ib3p");
top.document.getElementById("daily_motion_ads_div").setAttribute("referrerPolicy", "no-referrer-when-downgrade");
top.document.getElementById("daily_motion_ads_div").setAttribute("enable_google_policy_ui", "true");
top.document.getElementById("daily_motion_ads_div").setAttribute("showAdOnly", "5");
new_logo(9);
}catch (exception_var) {
}
}
var widget_code="PGRpdiBpZD0ic3VyZXZpZXctc3RpY2t5MDAxLWJhbm5lciIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjYwMDsgcG9zaXRpb246IGZpeGVkOyBib3R0b206IC01MHB4OyBsZWZ0OjA7IG92ZXJmbG93OiBoaWRkZW47IGRpcmVjdGlvbjogbHRyICFpbXBvcnRhbnQ7IHRyYW5zZm9ybTogc2NhbGUoMC41Nik7IG1heC13aWR0aDogMzAwcHg7IGxlZnQ6IC01MHB4OyBtYXJnaW46IGF1dG87IHotaW5kZXg6IDk5OTk5OTk5OSAhaW1wb3J0YW50OyBkaXNwbGF5OiBub25lOyI+DQoJPGRpdiBjbGFzcz0iY3Jvc3Mtc3Ytc3RpY2t5MDAxLWJhbm5lciIgaWQ9ImNyb3NzLXN2LXN0aWNreTAwMS1iYW5uZXIiIHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBiYWNrZ3JvdW5kOiAjMDAwMDAwOyBkaXJlY3Rpb246IGx0ciAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiA1cHggNXB4IDBweCAwcHg7IG1heC1oZWlnaHQ6IDM1cHg7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyI+DQoJCTxpbWcgaWQ9InN1cmV2aWV3LXN0aWNreTAwMS1iYW5uZXItcmVtb3ZlIiBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBREFBQUFBd0NBWUFBQUJYQXZtSEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFCSUVsRVFWUjRuTzJaM1E0Qk1SQkd5N3NMRjBLNDRBYnZLSDV1anpTN1Fsald0cDNwU09ZOHdQUTczZjVNc3lFNGp1TTRVZ0FUNEFTc2dMSGl1R05nRFp5QmFVNmhJdy8yR2hJMDRlTllkNDQ1eGVaUGhjUWxlQThmbWVjVUhBR2JsNElIQ1FtYXNiYkZKMHhEQXFud0doSkloNWVVUUN1OGhJUjYrSklTMWNLWGtLZ2VQa2ZDVFBnVUNYUGhoMGlZRGYrTGhQbndkOXF3dTQ2Z3I3M056bHo0bmk5aGUrWUhTTmdQSC9tdzV0ODI5citGdHk5QjkyT2theFBiVzBwOE9TbzFIMFZKL0hMT201Vmd3Q1ZsVG9LRUc5YU1CQm50UVhVSkN2UTIxU1FvMkppcFN5RFFWYUlsSWRrU0l5MmgwYzhqSmFINUdFRkNBbGhxaE8vcHB4WWhGZUNxRmY2THhDV2tBc3hpZ1RnTEZYNXdMTnF4MDM5d09JN2pPS0dIRy9Ia0NRb3kxaHJvQUFBQUFFbEZUa1N1UW1DQyIgc3R5bGU9ImhlaWdodDogMjBweDsgY3Vyc29yOiBwb2ludGVyOyBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luOiB1bnNldDsgcGFkZGluZy1sZWZ0OiAycHg7Ii8+DQoJCTxzcGFuIHN0eWxlPSJmbGV4OiAwIDEgYXV0bzsgbWFyZ2luLWxlZnQ6IGF1dG87IGNvbG9yOndoaXRlOyBmb250LXNpemU6IDEycHg7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyI+PGEgaHJlZj0iaHR0cHM6Ly93d3cuc3VyZXZpZXcudHYvIiB0YXJnZXQ9Il9CTEFOSyIgc3R5bGU9ImNvbG9yOndoaXRlOyBwYWRkaW5nLWxlZnQ6IDJweDsgcGFkZGluZy1yaWdodDogNHB4OyI+IDxpbWcgc3JjPSJodHRwczovL2FwcC5zdXJldmlldy50di9sb2dvL3N1cmV2aWV3X2Jhbm5lcl9sb2dvLnN2ZyIgc3R5bGU9ImhlaWdodDogMjJweDsgcGFkZGluZy10b3A6IDJweDsgcGFkZGluZy1ib3R0b206IDJweDsiPjwvYT48L3NwYW4+DQoJPC9kaXY+DQoJPGRpdiBpZD0ic3VyZXZpZXctc3RpY2t5MDAxLWJhbm5lckFkcyIgY2xhc3M9InN1cmV2aWV3LXN0aWNreTAwMS1iYW5uZXJBZHMiIHN0eWxlPSJtYXgtd2lkdGg6IDMwMHB4OyBtYXgtaGVpZ2h0OiAyNTBweDsgbWFyZ2luLWxlZnQ6IDBweCAhaW1wb3J0YW50O21hcmdpbi10b3A6IDBweDsiPjwvZGl2Pg0KCTxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL3NlY3VyZXB1YmFkcy5nLmRvdWJsZWNsaWNrLm5ldC90YWcvanMvZ3B0LmpzIj48L3NjcmlwdD4NCgk8c2NyaXB0Pg0KCQkoZnVuY3Rpb24oKSB7DQoJCQlmdW5jdGlvbiByZWZyZXNoU1ZTbG90KHN2X3N0aWNreTAwMV9zbG90KXsNCgkJCQlpZighZG9jdW1lbnQuaGlkZGVuKXsNCgkJCQkJdG9wLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdXJldmlldy1zdGlja3kwMDEtYmFubmVyIikuc3R5bGUuZGlzcGxheSA9ICJub25lIjsNCgkJCQkJaXNGaXJzdFJlbmRlciA9IGZhbHNlOw0KCQkJCQlnb29nbGV0YWdTVi5wdWJhZHMoKS5yZWZyZXNoKFtzdl9zdGlja3kwMDFfc2xvdF0pOw0KCQkJCX0NCgkJCX0NCgkJCXZhciBTVmluaXRJbnRlcnZhbCwgc3Zfc3RpY2t5MDAxX3Nsb3QsIGlzRmlyc3RSZW5kZXI7DQoJCQl3aW5kb3cuZ29vZ2xldGFnU1YgPSB3aW5kb3cuZ29vZ2xldGFnIHx8IHtjbWQ6IFtdfTsNCgkJCWdvb2dsZXRhZ1NWLmNtZC5wdXNoKGZ1bmN0aW9uICgpIHsNCgkJCQlzdl9zdGlja3kwMDFfc2xvdCA9IGdvb2dsZXRhZ1NWLmRlZmluZVNsb3QoJy8yMjcyOTMxNTU3NCwyMzAwNDY2MjE4NC9KdWJuYV9EaXNwbGF5L0p1Ym5hX0Rpc3BsYXlfa3V3YWl0cGVkaWEuY29tJywgWzMwMCwgMjUwXSwgJ3N1cmV2aWV3LXN0aWNreTAwMS1iYW5uZXJBZHMnKS5hZGRTZXJ2aWNlKGdvb2dsZXRhZ1NWLnB1YmFkcygpKTsNCgkJCQlnb29nbGV0YWdTVi5wdWJhZHMoKS5zZXQoJ3BhZ2VfdXJsJywgJ2FsLW1hcnNkLmNvbScpOw0KCQkJCWdvb2dsZXRhZ1NWLmVuYWJsZVNlcnZpY2VzKCk7DQoJCQkJZ29vZ2xldGFnU1YuZGlzcGxheSgnc3VyZXZpZXctc3RpY2t5MDAxLWJhbm5lckFkcycpOw0KCQkJCWlzRmlyc3RSZW5kZXIgPSB0cnVlOw0KCQkJCXZhciBpc0FkRGlzcGxheWVkID0gZmFsc2U7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoU1Zpbml0SW50ZXJ2YWwpOw0KCQkJCVNWaW5pdEludGVydmFsID0gc2V0SW50ZXJ2YWwocmVmcmVzaFNWU2xvdCwgMjIwMDAsIHN2X3N0aWNreTAwMV9zbG90KTsNCgkJCQlnb29nbGV0YWdTVi5wdWJhZHMoKS5hZGRFdmVudExpc3RlbmVyKCdzbG90UmVuZGVyRW5kZWQnLCBmdW5jdGlvbiAoZXZlbnQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzdl9zbG90X2lkPWV2ZW50LnNsb3QuZ2V0U2xvdElkKCkuZ2V0SWQoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHN2X3Nsb3RfaWQ9PSIvMjI3MjkzMTU1NzQsMjMwMDQ2NjIxODQvSnVibmFfRGlzcGxheS9KdWJuYV9EaXNwbGF5X2t1d2FpdHBlZGlhLmNvbV8wIil7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZighZXZlbnQuaXNFbXB0eSl7DQoJCQkJCQlpc0FkRGlzcGxheWVkID0gdHJ1ZTsNCgkJCQkJCXNldFRpbWVvdXQoZnVuY3Rpb24oKXsNCgkJCQkJCQl0b3AuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN1cmV2aWV3LXN0aWNreTAwMS1iYW5uZXIiKS5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIjsNCgkJCQkJCX0sMzAwMCk7DQoJCQkJCX0gIGVsc2UgaWYoZXZlbnQuaXNFbXB0eSAmJiAhaXNGaXJzdFJlbmRlciAmJiBpc0FkRGlzcGxheWVkKXsNCgkJCQkJCQl0b3AuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN1cmV2aWV3LXN0aWNreTAwMS1iYW5uZXIiKS5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIjsNCgkJCQkJCX0gZWxzZSBpZihldmVudC5pc0VtcHR5ICYmICFpc0FkRGlzcGxheWVkKXsNCgkJCQkJCQljbGVhckludGVydmFsKFNWaW5pdEludGVydmFsKTsNCgkJCQkJCQlyZWZyZXNoU1ZTbG90KHN2X3N0aWNreTAwMV9zbG90KTsNCgkJCQkJCQlTVmluaXRJbnRlcnZhbCA9IHNldEludGVydmFsKHJlZnJlc2hTVlNsb3QsIDIyMDAwLCBzdl9zdGlja3kwMDFfc2xvdCk7DQoJCQkJCQl9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoJCQkJfSk7DQoJCQl9KTsNCgkJCXRvcC5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3VyZXZpZXctc3RpY2t5MDAxLWJhbm5lci1yZW1vdmUnKS5vbmNsaWNrID0gZnVuY3Rpb24gKGV2dCkgew0KCQkJCXRvcC5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3VyZXZpZXctc3RpY2t5MDAxLWJhbm5lciIpLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoU1Zpbml0SW50ZXJ2YWwpOw0KCQkJCVNWaW5pdEludGVydmFsID0gc2V0SW50ZXJ2YWwocmVmcmVzaFNWU2xvdCwgMjIwMDAsIHN2X3N0aWNreTAwMV9zbG90KTsNCgkJCX07DQoJCX0pKCk7DQoJPC9zY3JpcHQ+DQo8L2Rpdj4=";
var googleBs64Code=widget_code;
top.svJQInj_1 = {};
by_tag_name="p";
placed_by="1";
no_of_tag="0";
if (!top.window.jQuery) {
var dJqDynamic = document.createElement("script");
dJqDynamic.src = atob("aHR0cHM6Ly9hamF4Lmdvb2dsZWFwaXMuY29tL2FqYXgvbGlicy9qcXVlcnkvMy43LjAvanF1ZXJ5Lm1pbi5qcw==");
top.document.getElementsByTagName("head")[0].append(dJqDynamic);
dJqDynamic.onload = function(){
top.svJQInj_1 = jQuery.noConflict(true);
if(placed_by=='1'){
top.svJQInj_1(by_tag_name).eq(no_of_tag).append(atob(googleBs64Code));
}else if(placed_by=='2'){
top.svJQInj_1("."+by_tag_name).eq(no_of_tag).append(atob(googleBs64Code));
}else if(placed_by=='3'){
top.svJQInj_1("#"+by_tag_name).append(atob(googleBs64Code));
}
}
}else{
if(placed_by=='1'){
top.jQuery(by_tag_name).eq(no_of_tag).append(atob(googleBs64Code));
}else if(placed_by=='2'){
top.jQuery("."+by_tag_name).eq(no_of_tag).append(atob(googleBs64Code));
}else if(placed_by=='3'){
top.jQuery("#"+by_tag_name).append(atob(googleBs64Code));
}
}
var widget_code="ICAgPGRpdiBpZD0idGVzdC1zdXJldmlldyI+DQogICAgICAgIDxzY3JpcHQ+DQogICAgICAgIHZhciBtYWluID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7DQogICAgICAgICAgICAgICAgICAgIHZhciBtYWluX2NvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOw0KICAgICAgICAgICAgICAgICAgICBtYWluX2NvbnRhaW5lci5pZCA9ICJzdi1naW1hLWNvbnN0LWNvbnRuciI7DQogICAgICAgICAgICAgICAgICAgIG1haW5fY29udGFpbmVyLmNsYXNzTmFtZSA9ICJzdi1jb250ZW50LXBhcmVudCBzdmlld19mbG9hdF9wbGF5ZXJfb3V0c3RyZWFtIGNvbGxhcHNlIjsNCg0KDQogICAgICAgICAgICAgICAgICAgIHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpOw0KICAgICAgICAgICAgICAgICAgICBsaW5rLnR5cGUgPSAidGV4dC9jc3MiOw0KICAgICAgICAgICAgICAgICAgICBsaW5rLnJlbCA9ICJzdHlsZXNoZWV0IjsNCiAgICAgICAgICAgICAgICAgICAgbGluay5ocmVmID0gImh0dHBzOi8vYXBwLnN1cmV2aWV3LnR2L2Fzc2V0cy9vdXRzdHJlYW1fcGxheWVyL3N0eWxlLmNzcyI7DQogICAgICAgICAgICAgICAgICAgIG1haW4uYXBwZW5kQ2hpbGQobGluayk7DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICB2YXIgc3R5bGVFbGVtZW50PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpOw0KICAgICAgICAgICAgICAgICAgICBzdHlsZUVsZW1lbnQuaW5uZXJIVE1MPSIuc3ZpZXdfZmxvYXRfcGxheWVyX291dHN0cmVhbXsgdG9wOiA2cmVtICFpbXBvcnRhbnQ7fSI7DQogICAgICAgICAgICAgICAgICAgIG1haW4uYXBwZW5kQ2hpbGQoc3R5bGVFbGVtZW50KTsNCg0KICAgICAgICAgICAgICAgICAgICB2YXIgY3JlZGl0X2NvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOw0KICAgICAgICAgICAgICAgICAgICBjcmVkaXRfY29udGFpbmVyLmNsYXNzTmFtZT0iY3JlZGl0LWNvbnRhaW5lciI7DQogICAgICAgICAgICAgICAgICAgIHZhciBzcGFuX2FkdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsNCiAgICAgICAgICAgICAgICAgICAgc3Bhbl9hZHYuaW5uZXJIVE1MPSItLSI7DQogICAgICAgICAgICAgICAgICAgIGNyZWRpdF9jb250YWluZXIuYXBwZW5kQ2hpbGQoc3Bhbl9hZHYpOw0KICAgICAgICAgICAgICAgICAgICBtYWluX2NvbnRhaW5lci5hcHBlbmRDaGlsZChjcmVkaXRfY29udGFpbmVyKTsNCg0KICAgICAgICAgICAgICAgICAgICB2YXIgY2xvc2VfY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7DQogICAgICAgICAgICAgICAgICAgIGNsb3NlX2NvbnRhaW5lci5jbGFzc05hbWU9ImNsb3NlX2J0bl9zZWMiOw0KICAgICAgICAgICAgICAgICAgICBjbG9zZV9jb250YWluZXIuaWQ9InN2aWV3LWNsb3NlLXNlY3Rpb24iOw0KDQogICAgICAgICAgICAgICAgICAgIHZhciBjbG9zZV9zdWJfY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7DQogICAgICAgICAgICAgICAgICAgIGNsb3NlX3N1Yl9jb250YWluZXIuc3R5bGUuY3NzVGV4dD0iYmFja2dyb3VuZDogdW5zZXQhaW1wb3J0YW50O2JveC1zaXppbmc6IHVuc2V0IWltcG9ydGFudDtwYWRkaW5nOiAycHg7cG9zaXRpb246YWJzb2x1dGU7IGJvdHRvbTogMDsgbGVmdDogMDsiOw0KICAgICAgICAgICAgICAgICAgICB2YXIgY2xvc2Vfc3ViX3N1Yl9jb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsNCiAgICAgICAgICAgICAgICAgICAgY2xvc2Vfc3ViX3N1Yl9jb250YWluZXIuaWQ9ImhpZGVTdmlld1NtYXJ0QmFubmVyIjsNCiAgICAgICAgICAgICAgICAgICAgY2xvc2Vfc3ViX3N1Yl9jb250YWluZXIuc3R5bGUuY3NzVGV4dD0iYmFja2dyb3VuZDogdW5zZXQhaW1wb3J0YW50O2JveC1zaXppbmc6IHVuc2V0IWltcG9ydGFudDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OiBibG9jazsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxMHB4OyBoZWlnaHQ6IDEwcHg7IG1hcmdpbjogM3B4OyBmb250LXNpemU6IDE4cHg7IGJveC1zaXppbmc6IHVuc2V0ICFpbXBvcnRhbnQ7IGxpbmUtaGVpZ2h0OiAwOyI7DQoNCiAgICAgICAgICAgICAgICAgICAgdmFyIGNyb3NzX2ltYWdlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7DQogICAgICAgICAgICAgICAgICAgIGNyb3NzX2ltYWdlLnNyYz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFEQUFBQUF3Q0FZQUFBQlhBdm1IQUFBQUNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQUJJRWxFUVZSNG5PMlozUTRCTVJCR3k3c0xGMEs0NEFidktINXVqelM3UWxqV3RwM3BTT1k4d1BRNzNmNU1zeUU0anVNNFVnQVQ0QVNzZ0xIaXVHTmdEWnlCYVU2aEl3LzJHaEkwNGVOWWQ0NDV4ZVpQaGNRbGVBOGZtZWNVSEFHYmw0SUhDUW1hc2JiRkoweERBcW53R2hKSWg1ZVVRQ3U4aElSNitKSVMxY0tYa0tnZVBrZkNUUGdVQ1hQaGgwaVlEZitMaFBud2Q5cXd1NDZncjczTnpsejRuaTloZStZSFNOZ1BIL213NXQ4MjlyK0Z0eTlCOTJPa2F4UGJXMHA4T1NvMUgwVkovSExPbTVWZ3dDVmxUb0tFRzlhTUJCbnRRWFVKQ3ZRMjFTUW8ySmlwU3lEUVZhSWxJZGtTSXkyaDBjOGpKYUg1R0VGQ0FsaHFoTy9wcHhZaEZlQ3FGZjZMeENXa0FzeGlnVGdMRlg1d0xOcXgwMzl3T0k3ak9LR0hHL0hrQ1FveTFocm9BQUFBQUVsRlRrU3VRbUNDIjsNCiAgICAgICAgICAgICAgICAgICAgY3Jvc3NfaW1hZ2Uuc3R5bGUuY3NzVGV4dD0iaGVpZ2h0OiAxNXB4OyBjdXJzb3I6IHBvaW50ZXI7IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW46IHVuc2V0OyB2ZXJ0aWNhbC1hbGlnbjogdW5zZXQ7IGJvcmRlci1zdHlsZTogdW5zZXQ7IG1hcmdpbi1sZWZ0OiAtNHB4OyI7DQogICAgICAgICAgICAgICAgICAgIGNsb3NlX3N1Yl9zdWJfY29udGFpbmVyLmFwcGVuZENoaWxkKGNyb3NzX2ltYWdlKTsNCiAgICAgICAgICAgICAgICAgICAgY2xvc2Vfc3ViX2NvbnRhaW5lci5hcHBlbmRDaGlsZChjbG9zZV9zdWJfc3ViX2NvbnRhaW5lcik7DQogICAgICAgICAgICAgICAgICAgIGNsb3NlX2NvbnRhaW5lci5hcHBlbmRDaGlsZChjbG9zZV9zdWJfY29udGFpbmVyKTsNCiAgICAgICAgICAgICAgICAgICAgbWFpbl9jb250YWluZXIuYXBwZW5kQ2hpbGQoY2xvc2VfY29udGFpbmVyKTsNCg0KICAgICAgICAgICAgICAgICAgICB2YXIgaW1hZnJhbWVfY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7DQogICAgICAgICAgICAgICAgICAgIGltYWZyYW1lX2NvbnRhaW5lci5jbGFzc05hbWU9InN2LWltYWZyYW1lLWNvbnRhaW5lciBzdi1pbWFmcmFtZS1jb250YWluZXItbW9iaWxlIjsNCiAgICAgICAgICAgICAgICAgICAgdmFyIHBsYXllcl9jb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsNCiAgICAgICAgICAgICAgICAgICAgcGxheWVyX2NvbnRhaW5lci5pZD0idmlkZW8tcGxheWVyLWNvbnRhaW5lciI7DQogICAgICAgICAgICAgICAgICAgIGltYWZyYW1lX2NvbnRhaW5lci5hcHBlbmRDaGlsZChwbGF5ZXJfY29udGFpbmVyKTsNCg0KICAgICAgICAgICAgICAgICAgICB2YXIgc3ZfbG9nb19jb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsNCiAgICAgICAgICAgICAgICAgICAgc3ZfbG9nb19jb250YWluZXIuY2xhc3NOYW1lPSJzdi1sb2dvIjsNCiAgICAgICAgICAgICAgICAgICAgc3ZfbG9nb19jb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbigpew0KICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93Lm9wZW4oJ2h0dHBzOi8vc3VyZXZpZXcudHYnLCAnX2JsYW5rJyk7DQogICAgICAgICAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICAgICAgICAgIHZhciBzdl9sb2dvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7DQogICAgICAgICAgICAgICAgICAgIHN2X2xvZ28uc3JjID0iaHR0cHM6Ly9hcHAuc3VyZXZpZXcudHYvY29udHJvbHMvc3VyZXZpZXctaWNvbi5zdmciOw0KICAgICAgICAgICAgICAgICAgICBzdl9sb2dvX2NvbnRhaW5lci5hcHBlbmRDaGlsZChzdl9sb2dvKTsNCiAgICAgICAgICAgICAgICAgICAgaW1hZnJhbWVfY29udGFpbmVyLmFwcGVuZENoaWxkKHN2X2xvZ29fY29udGFpbmVyKTsNCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgIHZhciBicm5fcGxhY2VtZW50X2Zvb3Rlcl9jb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsNCiAgICAgICAgICAgICAgICAgICAgYnJuX3BsYWNlbWVudF9mb290ZXJfY29udGFpbmVyLmNsYXNzTmFtZT0iYnRuLXBsYWNlbWVudC1mb290ZXIiOw0KICAgICAgICAgICAgICAgICAgICBpbWFmcmFtZV9jb250YWluZXIuYXBwZW5kQ2hpbGQoYnJuX3BsYWNlbWVudF9mb290ZXJfY29udGFpbmVyKTsNCg0KICAgICAgICAgICAgICAgICAgICB2YXIgcGxheWVyX3RvZ2dlcl9jb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsNCiAgICAgICAgICAgICAgICAgICAgcGxheWVyX3RvZ2dlcl9jb250YWluZXIuY2xhc3NOYW1lPSJwbGF5ZXItdG9nZ2xlLWNvbnRhaW5lciI7DQogICAgICAgICAgICAgICAgICAgIHZhciBwbGF5X3BhdXNlX2J0biA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpOw0KICAgICAgICAgICAgICAgICAgICBwbGF5X3BhdXNlX2J0bi5pZD0icGxheWVyLXRvZ2dsZSI7DQogICAgICAgICAgICAgICAgICAgIHBsYXlfcGF1c2VfYnRuLmNsYXNzTmFtZT0idmlkZW8tYnRuLXBhdXNlIjsNCiAgICAgICAgICAgICAgICAgICAgdmFyIHBsYXlwYXVzZV9pY29uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7DQogICAgICAgICAgICAgICAgICAgIHBsYXlfcGF1c2VfYnRuLmFwcGVuZENoaWxkKHBsYXlwYXVzZV9pY29uKTsNCiAgICAgICAgICAgICAgICAgICAgcGxheWVyX3RvZ2dlcl9jb250YWluZXIuYXBwZW5kQ2hpbGQocGxheV9wYXVzZV9idG4pOw0KICAgICAgICAgICAgICAgICAgICBpbWFmcmFtZV9jb250YWluZXIuYXBwZW5kQ2hpbGQocGxheWVyX3RvZ2dlcl9jb250YWluZXIpOw0KDQogICAgICAgICAgICAgICAgICAgIHZhciBzb3VuZF90b2dnZXJfY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7DQogICAgICAgICAgICAgICAgICAgIHNvdW5kX3RvZ2dlcl9jb250YWluZXIuY2xhc3NOYW1lPSJzb3VuZC10b2dnbGUtY29udGFpbmVyIjsNCiAgICAgICAgICAgICAgICAgICAgdmFyIHNvdW5kX3BhdXNlX2J0biA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpOw0KICAgICAgICAgICAgICAgICAgICBzb3VuZF9wYXVzZV9idG4uaWQ9InNvdW5kLXRvZ2dsZSI7DQogICAgICAgICAgICAgICAgICAgIHNvdW5kX3BhdXNlX2J0bi5jbGFzc05hbWU9InNvdW5kLWJ0bi1wYXVzZSI7DQogICAgICAgICAgICAgICAgICAgIHZhciBzb3VuZF9pY29uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7DQogICAgICAgICAgICAgICAgICAgIHNvdW5kX3BhdXNlX2J0bi5hcHBlbmRDaGlsZChzb3VuZF9pY29uKTsNCiAgICAgICAgICAgICAgICAgICAgc291bmRfdG9nZ2VyX2NvbnRhaW5lci5hcHBlbmRDaGlsZChzb3VuZF9wYXVzZV9idG4pOw0KICAgICAgICAgICAgICAgICAgICBpbWFmcmFtZV9jb250YWluZXIuYXBwZW5kQ2hpbGQoc291bmRfdG9nZ2VyX2NvbnRhaW5lcik7DQoNCiAgICAgICAgICAgICAgICAgICAgbWFpbl9jb250YWluZXIuYXBwZW5kQ2hpbGQoaW1hZnJhbWVfY29udGFpbmVyKTsNCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgIA0KDQogICAgICAgICAgICAgICAgICAgIG1haW4uYXBwZW5kQ2hpbGQobWFpbl9jb250YWluZXIpOw0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgdmFyIHh5eiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0LXN1cmV2aWV3Iik7DQogICAgICAgICAgICAgICAgICAgIHh5ei5hcHBlbmRDaGlsZChtYWluKTsNCiAgICAgICAgICAgICAgICAgICAgPC9zY3JpcHQ+DQogICAgICAgICAgICAgICAgICAgIDxzY3JpcHQ+DQogICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuY3VyclBsYXllcj0iIjsNCiAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5zdl9wZ19yZXE9MDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgY29uc3RydWN0QWRDb250YWluZXIgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5zdl9wZ19yZXE9d2luZG93LnN2X3BnX3JlcSsxOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZih3aW5kb3cuc3ZfcGdfcmVxPD0xMCl7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgYXZhaWxhYmxlQWRDb250YWluZXJJZHMgPSBbInN2LWdpbWEtMSIsICJzdi1naW1hLTIiLCAic3YtZ2ltYS0zIiwgInN2LWdpbWEtNCIsICJzdi1naW1hLTUiLCAic3YtZ2ltYS02IiwgInN2LWdpbWEtNyIsICJzdi1naW1hLTgiLCAic3YtZ2ltYS05Iiwic3YtZ2ltYS0xMCJdOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHN2UGFyZW50U2xvdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidmlkZW8tcGxheWVyLWNvbnRhaW5lciIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGF2YWlsYWJsZVBsYXllcnMgPSBzdlBhcmVudFNsb3RzLmNoaWxkcmVuOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRpc3RhbnRQbGF5ZXJJRHMgPSBbXTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhdmFpbGFibGVQbGF5ZXJzLmxlbmd0aCA+IDApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGF2YWlsYWJsZVBsYXllcnMubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGVhY2hQbGF5ZXJJZCA9IGF2YWlsYWJsZVBsYXllcnNbaV0uaWQ7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gYXZhaWxhYmxlQWRDb250YWluZXJJZHMuaW5kZXhPZihlYWNoUGxheWVySWQpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5kZXggPiAtMSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXZhaWxhYmxlQWRDb250YWluZXJJZHMuc3BsaWNlKGluZGV4LCAxKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhdmFpbGFibGVBZENvbnRhaW5lcklkcy5sZW5ndGggPiAwKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGFkQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGFkQ29udGFpbmVySWQgPSBhdmFpbGFibGVBZENvbnRhaW5lcklkcy5wb3AoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZENvbnRhaW5lci5pZCA9IGFkQ29udGFpbmVySWQ7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZpZGVvLXBsYXllci1jb250YWluZXIiKS5hcHBlbmRDaGlsZChhZENvbnRhaW5lcik7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFkQ29udGFpbmVySWQ7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gbG9hZEdJTUEocGxheWVyQ29udGFpbmVySUQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRhcmdldFBsYXllckNvbnRhaW5lcklkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocGxheWVyQ29udGFpbmVySUQpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgYWREaXNwbGF5Q29udGFpbmVyID0gbmV3IGdvb2dsZS5pbWEuQWREaXNwbGF5Q29udGFpbmVyKHRhcmdldFBsYXllckNvbnRhaW5lcklkKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWREaXNwbGF5Q29udGFpbmVyLmluaXRpYWxpemUoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0UGxheWVyQ29udGFpbmVySWQuc2V0QXR0cmlidXRlKCJkYXRhLWdpbWEtcC1pZCIsIGFkRGlzcGxheUNvbnRhaW5lci5aKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGdJTUFMb2FkZXIgPSBuZXcgZ29vZ2xlLmltYS5BZHNMb2FkZXIoYWREaXNwbGF5Q29udGFpbmVyKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ0lNQUxvYWRlci5hZGRFdmVudExpc3RlbmVyKGdvb2dsZS5pbWEuQWRzTWFuYWdlckxvYWRlZEV2ZW50LlR5cGUuQURTX01BTkFHRVJfTE9BREVELCBvbkFkc01hbmFnZXJMb2FkZWQsIGZhbHNlKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ0lNQUxvYWRlci5nZXRTZXR0aW5ncygpLnNldEZlYXR1cmVGbGFncyh7J2Rpc2FibGVDbGlja0FkUGF1c2UnOiB0cnVlfSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdJTUFMb2FkZXIuYWRkRXZlbnRMaXN0ZW5lcihnb29nbGUuaW1hLkFkRXJyb3JFdmVudC5UeXBlLkFEX0VSUk9SLCBvbkFkc0Vycm9yLCBmYWxzZSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBnSU1BTG9hZGVyOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNvbmZpZ3VyZUdJTUEoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBnSU1BQ29uZiA9IG5ldyBnb29nbGUuaW1hLkFkc1JlcXVlc3QoKTsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnSU1BQ29uZi5hZFRhZ1VybCA9Imh0dHBzOi8vcHViYWRzLmcuZG91YmxlY2xpY2submV0L2dhbXBhZC9hZHM/aXU9LzIyNzI5MzE1NTc0LDIzMDA0NjYyMTg0L0p1Ym5hL0p1Ym5hX2t1d2FpdHBlZGlhX1ZBU1QmZGVzY3JpcHRpb25fdXJsPWh0dHBzJTNBJTJGJTJGa3V3YWl0cGVkaWEuY29tJTJGJnRmY2Q9MCZucGE9MCZzej00MDB4MjI1JTdDNDAweDMwMCU3QzY0MHg0ODAmZ2RmcF9yZXE9MSZ1bnZpZXdlZF9wb3NpdGlvbl9zdGFydD0xJm91dHB1dD12YXN0JmVudj12cCZpbXBsPXMmdnBtdXRlPTEmY29ycmVsYXRvcj0iOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ0lNQUNvbmYubGluZWFyQWRTbG90V2lkdGggPSA0NDA7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdJTUFDb25mLmxpbmVhckFkU2xvdEhlaWdodCA9IDI0MDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ0lNQUNvbmYubm9uTGluZWFyQWRTbG90V2lkdGggPSAyNDA7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdJTUFDb25mLm5vbkxpbmVhckFkU2xvdEhlaWdodCA9IDE1MDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdJTUFDb25mOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBvbkFkc01hbmFnZXJMb2FkZWQgPSBmdW5jdGlvbiAoYWRzTWFuYWdlckxvYWRlZEV2ZW50KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkc01hbmFnZXIgPSBhZHNNYW5hZ2VyTG9hZGVkRXZlbnQuZ2V0QWRzTWFuYWdlcihkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycpKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRzTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvb2dsZS5pbWEuQWRFdmVudC5UeXBlLlNUQVJURUQsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25BZFN0YXJ0ZWQpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZHNNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ29vZ2xlLmltYS5BZEV2ZW50LlR5cGUuUkVTVU1FRCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZHNSZXN1bWUpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZHNNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ29vZ2xlLmltYS5BZEV2ZW50LlR5cGUuUEFVU0VELA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkc1BhdXNlKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRzTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvb2dsZS5pbWEuQWRFdmVudC5UeXBlLlZPTFVNRV9NVVRFRCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZHNNdXRlKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRzTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvb2dsZS5pbWEuQWRFdmVudC5UeXBlLlZPTFVNRV9DSEFOR0VELA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkc1VuTXV0ZSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkc01hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcigNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb29nbGUuaW1hLkFkRXZlbnQuVHlwZS5DTElDSywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkFkc0NsaWNrKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRzTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvb2dsZS5pbWEuQWRFdmVudC5UeXBlLkNPTVBMRVRFLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQWRzQ29tcGxldGUpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZHNNYW5hZ2VyLnNldFZvbHVtZSgwKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkc01hbmFnZXIuaW5pdCgxNzksIDEwMSwgZ29vZ2xlLmltYS5WaWV3TW9kZS5OT1JNQUwpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRzTWFuYWdlci5zdGFydCgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChhZEVycm9yKSB7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpc19wbGF5aW5nID0gMDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaXNfbXV0ZWQgPSAxOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBhZHNNYW5hZ2VyOw0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRlc3Ryb3lQbGF5ZXIgPSBmdW5jdGlvbiAocGxheWVySWQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2RpdltkYXRhLWdpbWEtcC1pZD0iJyArIHBsYXllcklkICsgJyJdJyk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQucmVtb3ZlKCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gaW5pdEFkcygpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHBsYXllckNvbnRhaW5lcklEID0gY29uc3RydWN0QWRDb250YWluZXIoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGdJTUFMb2FkZXIgPSBsb2FkR0lNQShwbGF5ZXJDb250YWluZXJJRCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBnSU1BQ29uZiA9IGNvbmZpZ3VyZUdJTUEoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ0lNQUxvYWRlci5yZXF1ZXN0QWRzKGdJTUFDb25mKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gb25BZHNDb21wbGV0ZShlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdmlldy1jbG9zZS1zZWN0aW9uIikuY2xhc3NMaXN0LnJlbW92ZSgiY2xvc2VfYnRuX3NlY19hZnRlcl8xMCIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZHNNYW5hZ2VyLnNldFZvbHVtZSgwKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfbXV0ZWQ9MTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHBsYXllcklkID0gZS50YXJnZXQuZy5aOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdkdpbWFDb25zdENvbnRuciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdi1naW1hLWNvbnN0LWNvbnRuciIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdkdpbWFDb25zdENvbnRuci5jbGFzc0xpc3QuYWRkKCJjb2xsYXBzZSIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3Ryb3lQbGF5ZXIocGxheWVySWQpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdEFkcygpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAyMDAwKTsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBvbkFkU3RhcnRlZChlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN2R2ltYUNvbnN0Q29udG5yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN2LWdpbWEtY29uc3QtY29udG5yIik7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN2R2ltYUNvbnN0Q29udG5yLmNsYXNzTGlzdC5yZW1vdmUoImNvbGxhcHNlIik7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzX3BsYXlpbmcgPSAxOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZnRlcl8xMF9zZWMoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gYWRzUGF1c2UoZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc19wbGF5aW5nID0gMDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gYWRzUmVzdW1lKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfcGxheWluZyA9IDE7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGFkc011dGUoZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc19tdXRlZCA9IDE7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGFkc1VuTXV0ZShlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzX211dGVkID0gMDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gb25BZHNDbGljayhlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIG9uQWRzRXJyb3IoZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0cm95UGxheWVyKGUuY3VycmVudFRhcmdldC5nLlopOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0QWRzKCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvZ2dsZVZpZGVvUGxheWVyKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNfcGxheWluZykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRzTWFuYWdlci5wYXVzZSgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfcGxheWluZyA9IDA7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGxheWVyLXRvZ2dsZSIpLmNsYXNzTmFtZSA9ICJ2aWRlby1idG4tcGxheSI7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZHNNYW5hZ2VyLnJlc3VtZSgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfcGxheWluZyA9IDE7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGxheWVyLXRvZ2dsZSIpLmNsYXNzTmFtZSA9ICJ2aWRlby1idG4tcGF1c2UiOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvZ2dsZVNvdW5kQnV0dG9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNfbXV0ZWQgPT09IDEpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzX211dGVkPTA7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZHNNYW5hZ2VyLnNldFZvbHVtZSgxKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzb3VuZC10b2dnbGUiKS5jbGFzc05hbWUgPSAic291bmQtYnRuLXBsYXkiOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfbXV0ZWQ9MTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkc01hbmFnZXIuc2V0Vm9sdW1lKDApOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNvdW5kLXRvZ2dsZSIpLmNsYXNzTmFtZSA9ICJzb3VuZC1idG4tcGF1c2UiOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwbGF5UGF1c2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGxheWVyLXRvZ2dsZScpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYXlQYXVzZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRvZ2dsZVZpZGVvUGxheWVyKTsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzb3VuZFVubXV0ZWJ0biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzb3VuZC10b2dnbGUnKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VuZFVubXV0ZWJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRvZ2dsZVNvdW5kQnV0dG9uKTsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBHSU1BU2RrU2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgR0lNQVNka1NjcmlwdC50eXBlID0gInRleHQvamF2YXNjcmlwdCI7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgR0lNQVNka1NjcmlwdC5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0QWRzKCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBHSU1BU2RrU2NyaXB0LnNyYyA9ICIvL2ltYXNkay5nb29nbGVhcGlzLmNvbS9qcy9zZGtsb2FkZXIvaW1hMy5qcyI7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXS5hcHBlbmRDaGlsZChHSU1BU2RrU2NyaXB0KTsNCg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdoaWRlU3ZpZXdTbWFydEJhbm5lcicpLm9uY2xpY2sgPSBmdW5jdGlvbiAoZXZ0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN2R2ltYUNvbnN0Q29udG5yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN2LWdpbWEtY29uc3QtY29udG5yIik7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkc01hbmFnZXIucGF1c2UoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ZHaW1hQ29uc3RDb250bnIuY2xhc3NMaXN0LmFkZCgiY29sbGFwc2UiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ow0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIiwgZnVuY3Rpb24gKGV2ZW50KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkb2N1bWVudC5oaWRkZW4pIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZVZpZGVvUGxheWVyKCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlVmlkZW9QbGF5ZXIoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gaXNJblZpZXdwb3J0KGVsKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY3QudG9wID49IDAgJiYNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWN0LmxlZnQgPj0gMCAmJg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY3QuYm90dG9tIDw9ICh3aW5kb3cuaW5uZXJIZWlnaHQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCkgJiYNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWN0LnJpZ2h0IDw9ICh3aW5kb3cuaW5uZXJXaWR0aCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgpDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBib3ggPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuc3YtY29udGVudC1wYXJlbnQnKTsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlVGV4dCA9IGlzSW5WaWV3cG9ydChib3gpOw0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihtZXNzYWdlVGV4dCl7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNlew0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNzaXZlOiB0cnVlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBhZnRlcl8xMF9zZWMoKXsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3ZpZXctY2xvc2Utc2VjdGlvbiIpLmNsYXNzTGlzdC5hZGQoImNsb3NlX2J0bl9zZWNfYWZ0ZXJfMTAiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDUwMDApOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIG9wZW5JTkhvdXNlKCl7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5vcGVuKCdodHRwczovL3N1cmV2aWV3LnR2JywgJ19ibGFuaycpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICA8L3NjcmlwdD4NCiAgICA8L2Rpdj4=";
var googleBs64Code=widget_code;
top.svJQInj_1 = {};
by_tag_name="p";
placed_by="1";
no_of_tag="0";
if (!top.window.jQuery) {
var dJqDynamic = document.createElement("script");
dJqDynamic.src = atob("aHR0cHM6Ly9hamF4Lmdvb2dsZWFwaXMuY29tL2FqYXgvbGlicy9qcXVlcnkvMy43LjAvanF1ZXJ5Lm1pbi5qcw==");
top.document.getElementsByTagName("head")[0].append(dJqDynamic);
dJqDynamic.onload = function(){
top.svJQInj_1 = jQuery.noConflict(true);
if(placed_by=='1'){
top.svJQInj_1(by_tag_name).eq(no_of_tag).append(atob(googleBs64Code));
}else if(placed_by=='2'){
top.svJQInj_1("."+by_tag_name).eq(no_of_tag).append(atob(googleBs64Code));
}else if(placed_by=='3'){
top.svJQInj_1("#"+by_tag_name).append(atob(googleBs64Code));
}
}
}else{
if(placed_by=='1'){
top.jQuery(by_tag_name).eq(no_of_tag).append(atob(googleBs64Code));
}else if(placed_by=='2'){
top.jQuery("."+by_tag_name).eq(no_of_tag).append(atob(googleBs64Code));
}else if(placed_by=='3'){
top.jQuery("#"+by_tag_name).append(atob(googleBs64Code));
}
}
setTimeout(function(){
try{
var s3 = document.createElement("style");
s3.append(".sureviewlogonew { margin-right: 0px !important; } @media (max-width: 767px) { .sureviewlogonew { margin-top: -10px; }} #dailymotion-pip-small-viewport, #dailymotion-pip-large-viewport { width: var(--dm--pip-size-width, 410px) !important; bottom: var(--dm--pip-bottom, 200) !important; left: var(--dm--pip-left, 0) !important; top: var(--dm--pip-top, 105px) !important; height: var(--dm--pip-size-height, 231px) !important; transition: right .5s ease !important;right: var(--dm--pip-right, initial) !important;} #dailymotion-pip-small-viewport, #dailymotion-pip-large-viewport {display: block !important;} .dm-player.dm--has-close-button { margin-top: 38px; padding-left: 10px !important; padding-right: 10px !important; }");
top.document.head.appendChild(s3);
}catch{
}
if(document.getElementsByClassName('teads-inread').length>0){
var teadsMarginStyle = document.createElement('style');
teadsMarginStyle.innerHTML=".teads-inread {padding-bottom:10px !important;}";
document.getElementsByClassName('teads-inread')[0].appendChild(teadsMarginStyle);
}
},8000);
},800);
function set_aniview_after15sec(){
setlogoTeads_intval=setInterval(function(){
try{
document.querySelector(".teads-inread").remove();
}catch{
}
},15000);
}
function new_logo(company_id){
var isLogoTriggered = false;
var isLogoTriggeredTeads = false;
if(company_id==2){
var test_id=176;
setlogoTeads_intval=setInterval(function(){
teads_primary_div=document.getElementById('teads0');
if(test_id==64 && !isLogoTriggeredTeads){
isLogoTriggeredTeads = true;
clearInterval(setlogoTeads_intval);
var bottom_div = document.createElement("div");
bottom_div.id="sureview_branding_2";
bottom_div.style.cssText="line-height:0px;";
bottom_div.className="sureviewBottomDiv sureviewtv";
var anchor1=document.createElement("a");
anchor1.href="http://sureview.tv/";
anchor1.target="_BLANK";
var bottom_logo_img = document.createElement("img");
bottom_logo_img.id="sureview_logo_bottom_2";
bottom_logo_img.src="https://app.sureview.tv/logo/sureview_logo.svg";
bottom_logo_img.style.cssText="height: 18px !important; margin: 0 !important; margin-top: 2px !important; width: 70px !important;";
anchor1.appendChild(bottom_logo_img);
bottom_div.appendChild(anchor1);
teads_primary_div.appendChild(bottom_div);
}else{
}
},1000);
}else{
daily_motion_ads=document.getElementById('daily_motion_ads_div');
setlogo_intval=setInterval(function(){
if(document.getElementsByClassName('dm-player-wrapper').length > 0 && !isLogoTriggered){
isLogoTriggered = true;
clearInterval(setlogo_intval);
var bottom_div = document.createElement("div");
bottom_div.id="sureview_branding";
bottom_div.style.cssText="line-height:0px;";
bottom_div.className="sureviewBottomDiv sureviewtv";
var anchor1=document.createElement("a");
anchor1.href="http://sureview.tv/";
anchor1.target="_BLANK";
var bottom_logo_img = document.createElement("img");
bottom_logo_img.id="sureview_logo_bottom";
bottom_logo_img.src="https://app.sureview.tv/logo/sureview_logo.svg";
bottom_logo_img.style.cssText="height: 18px !important; margin: 0 !important; margin-top: 2px !important; width: 70px !important;";
anchor1.appendChild(bottom_logo_img);
bottom_div.appendChild(anchor1);
daily_motion_ads.appendChild(bottom_div);
is_dm_ready();
}
},1000);
}
}
function is_dm_ready(){
var is_dm_sv_ready = setInterval(function(){
if(top.document.querySelectorAll(".dailymotion-player-wrapper .dm__close-button").length > 0){
clearInterval(is_dm_sv_ready);
document.querySelector(".dailymotion-player-wrapper .dm__close-button").innerHTML += '';
}
},500);
}
function is_avail_selector(name, by){
if(by==1){
placement_salector=document.getElementsByTagName(name);
if(placement_salector.length>0){
return placement_salector;
}else{
return 0;
}
}else if(by==2){
placement_salector=document.getElementsByClassName(name);
if(placement_salector.length>0){
return placement_salector;
}else{
return 0;
}
}else if(by==3){
placement_salector=top.document.getElementById(name);
if(placement_salector===null){
return 0;
}else{
return placement_salector;
}
}else if(by==4){
placement_salector=document.querySelectorAll(name);
if(placement_salector===null){
return 0;
}else{
return placement_salector;
}
}else{
placement_salector=document.getElementById(name);
if(placement_salector===null){
return 0;
}else{
return placement_salector;
}
}
}
function set_bottom_logo(company){
var counter=1;
setlogo_intval=setInterval(function(){
counter++;
try{
document.getElementById("sureview_branding").remove();
}catch(error){
}
var sureview_div=document.getElementById('Sureview176').clientWidth;
try{
if(company==1){
var video_div=document.getElementsByClassName('ima-ad-container')[0].clientWidth;
}else if(company==2){
var video_div=document.getElementsByClassName('teads-player')[0].clientWidth;
}else if(company==4){
var video_div=document.getElementById('ifr_PHNjcmlwdCBhc3luYyBzcmM9Imh0dHBzOi8vc2VjdXJlcHViYWRzLmcuZG91YmxlY2xpY2submV0L3RhZy9qcy9ncHQuanMiPjwvc2NyaXB0Pgo8c3R5bGU+I2dvb2dsZS1hZHMtc2xvdHMtMzAwMjUwe2Rpc3BsYXk6IGZsZXggIWltcG9ydGFudDsganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgaGVpZ2h0OiAyODBweDt9PC9zdHlsZT4KPGRpdiBpZD0iZ29vZ2xlLWFkcy1zbG90cy0zMDAyNTAiPgogIDxzY3JpcHQ+CiAgICB3aW5kb3cuZ29vZ2xldGFnID0gd2luZG93Lmdvb2dsZXRhZyB8fCB7Y21kOiBbXX07CiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7CiAgICBnb29nbGV0YWcuZGVmaW5lU2xvdCgnLzIyOTQ1NTg2ODk2L3VuZmlsbGVkLXNsb3RzLTMwMFgyNTAnLCBbMzAwLCAyNTBdLCAnZ29vZ2xlLWFkcy1zbG90cy0zMDAyNTAnKS5hZGRTZXJ2aWNlKGdvb2dsZXRhZy5wdWJhZHMoKSk7CiAgICBnb29nbGV0YWcuZW5hYmxlU2VydmljZXMoKTsKICAgIGdvb2dsZXRhZy5kaXNwbGF5KCdnb29nbGUtYWRzLXNsb3RzLTMwMDI1MCcpOwogICAgfSk7CiAgPC9zY3JpcHQ+CjwvZGl2Pg==').clientWidth;
}else if(company==9){
var video_div=document.getElementsByClassName("dm-player")[0].clientWidth;
}else{
video_div=sureview_div;
}
var diff=(sureview_div)-(video_div);
var padd='0px';
if(diff>10){
padd=diff/2+"px";
}
var bottom_div = document.createElement("div");
bottom_div.id="sureview_branding";
bottom_div.className="sureviewBottomDiv sureviewtv";
var anchor1=document.createElement("a");
anchor1.href="http://sureview.tv/";
anchor1.target="_BLANK";
var bottom_logo_img = document.createElement("img");
bottom_logo_img.id="sureview_logo_bottom";
bottom_logo_img.src="https://app.sureview.tv/logo/sureview_logo.svg";
anchor1.appendChild(bottom_logo_img);
bottom_div.appendChild(anchor1);
if(company==1){
try{
vdo_player= document.getElementsByClassName("vdo_content")[0].getElementsByTagName("video-js")[0].getElementsByClassName('ima-ad-container')[0].getElementsByTagName('div')[1].getElementsByTagName('video')[0];
if(vdo_player.duration>5){
x.appendChild(bottom_div);
document.getElementById("sureview_logo_bottom").style.padding = "0px "+padd+" 0px 0px";
if(video_div>0){
clearInterval(setlogo_intval);
}
}else{
if(counter==2){
clearInterval(setlogo_intval);
}
}
}catch(error){
if(counter==2){
clearInterval(setlogo_intval);
}
}
}else if(company==2){
try{
teads_player=document.getElementsByClassName("teads-inread")[0].getElementsByTagName("iframe")[0].contentDocument.getElementsByTagName("iframe")[0].contentDocument.getElementsByTagName('video')[0];
if(teads_player.duration>5){
x.appendChild(bottom_div);
document.getElementById("sureview_logo_bottom").style.padding = "0px "+padd+" 0px 0px";
if(video_div>0){
clearInterval(setlogo_intval);
}
}else{
}
}catch(error){
}
}else if(company==9){
}
}catch(Error){
if(counter==10){
clearInterval(setlogo_intval);
}
}
},1000);
}
function get_video_duration(){
refreshIntervalId=setInterval(function(){
try{
vdo_player= document.getElementsByClassName("vdo_content")[0].getElementsByTagName("video-js")[0].getElementsByClassName('ima-ad-container')[0].getElementsByTagName('div')[1].getElementsByTagName('video')[0];
if(isNaN(vdo_player.duration) || vdo_player.duration==0){
setTimeout(function(){
clearInterval(refreshIntervalId);
change_ads(2);
},1000);
}else{
}
}catch(error){
try{
teads_player=document.getElementsByClassName("teads-inread")[0].getElementsByTagName("iframe")[0].contentDocument.getElementsByTagName("iframe")[0].contentDocument.getElementsByTagName('video')[0];
setTimeout(function(){
if(teads_player.currentTime===0){
change_ads(1);
clearInterval(refreshIntervalId);
}else{
}
},10000);
if(isNaN(teads_player.duration)){
setTimeout(function(){
change_ads(1);
},10000);
}else{
if(teads_player.duration==teads_player.currentTime){
setTimeout(function(){
change_ads(1);
},10000);
}
}
}catch(error){
clearInterval(refreshIntervalId);
try{
teads_player=document.getElementsByClassName("teads-inread")[0].getElementsByTagName("iframe")[0].children;
}catch(error){
change_ads(1);
}
}
}
}, 10000);
}
function change_ads(ads_id){
clearInterval(refreshIntervalId);
if(ads_id==1){
add_vdo();
}else if(ads_id==2){
add_teads();
}
}
function add_vdo(){
if(is_active_vdo==1){
set_bottom_logo(1);
try{
document.querySelector('script[src*="vdo.ai"]').remove();
}catch(error){
console.log("VDO ERROR",error);
}
document.getElementsByClassName("sureview-content")[0].innerHTML = "";
running_ads=1;
if(placement_salector!=0){
try {
placement_salector[no_of_tag].appendChild(x);
}
catch (exception_var) {
}
ad_displaying=1;
x.appendChild(vdo);
(function(v,d,o,ai)
{ai=d.createElement('script');ai.defer=true;ai.async=true;ai.src=v.location.protocol+o;d.head.appendChild(ai);})(window, document, '//a.vdo.ai/core/'+vdo_id+'/vdo.ai.js');
}else{
x.appendChild(vdo);
(function(v,d,o,ai)
{ai=d.createElement('script');ai.defer=true;ai.async=true;ai.src=v.location.protocol+o;d.head.appendChild(ai);})(window, document, '//a.vdo.ai/core/'+vdo_id+'/vdo.ai.js');
}
}
}
function add_teads(){
if(is_active_teads==1){
set_bottom_logo(2);
clearInterval(setlogo_intval);
document.getElementsByClassName("sureview-content")[0].innerHTML = "";
running_ads=2;
if(placement_salector!=0){
ad_displaying=1;
x.appendChild(teads_main_div);
try {
placement_salector[no_of_tag].appendChild(x);
}catch (exception_var) {
}
}else{
x.appendChild(teads_main_div);
}
}
}
function remove_logo_2(){
try{
document.getElementById("sureview_branding").remove();
}catch(error){
}
}
const box = document.getElementById('Sureview176');
document.addEventListener('scroll', function () {
var inVpPartial = isElementPartiallyInViewport(box);
if(inVpPartial==true){
}else{
}
}, {
passive: true
});
function isElementPartiallyInViewport(el)
{
if (typeof jQuery !== 'undefined' && el instanceof jQuery)
el = el[0];
var rect = el.getBoundingClientRect();
var windowHeight = (window.innerHeight || document.documentElement.clientHeight);
var windowWidth = (window.innerWidth || document.documentElement.clientWidth);
var vertInView = (rect.top <= windowHeight) && ((rect.top + rect.height) >= 0);
var horInView = (rect.left <= windowWidth) && ((rect.left + rect.width) >= 0);
return (vertInView && horInView);
}
})();