function bd(){this.op={};Zc.Y$(null,bd.d2,!1)}m("AdfProfiler",bd);bd.zg=0;bd.Xfa="___JSProfilerClassId";bd.e2="___JSProfilerInstumentation";bd.ADa="___JSProfilerCheckpoint";bd.f2="___JSProfilerInstrumentedMethod";bd.rtb="___JSProfilerMethodName";bd.Yfa="___JSProfilerObjectRef";bd.BDa="___JSProfilerObjectIsPresent";bd.qtb="___JSProfilerClassName";bd.d2="___JSProfilerGroup";bd.B4a=/function\s+([\S^]+)\s*\(/;bd.A4a=/function[\s\S]*?\{([\s\S]+)\}/m;bd.C4a=/.*?\/(.+)\/(.*)/;bd.D4a=/\$methodid\$/mgi;
bd.Oga=null;bd.$=function(){null==bd.Oga&&(bd.Oga=new bd);return bd.Oga};m("AdfProfiler.getInstance",bd.$);bd.lW=function(a){return a==window};bd.Sgb=function(a,b){return bd.lW(a)?!0:a.hasOwnProperty(b)};bd.jka=function(a){var b=null,d=typeof a;if(bd.lW(a))return"window";b="object"==d?a.constructor._typeName:a._typeName;if(null==b){var e=null;"object"==d?e=a.constructor.toString():"function"==d&&(e=a.toString());a=null;null!=e&&(a=bd.B4a.exec(e));null!=a&&(b=a[1])}null==b&&(b="[anonymous]");return b};
bd.kib=function(a,b){if(!bd.lW(a)&&(null==b&&(b=bd.jka(a)),"[anonymous]"!=b)){var d=window[b].prototype;return"object"==typeof a&&d==a}return!1};bd.heb=function(a){var b=bd.jka(a);if("function"==typeof a||bd.lW(a))return b;if(bd.kib(a,b))return b+".prototype";null==a[bd.Xfa]&&(a[bd.Xfa]="[INSTANCE"+bd.zg++ +"]");return b+"."+a[bd.Xfa]};bd.DKa=function(a,b){var d="";bd.lW(b)||(d=bd.heb(b)+".");return d+a};bd.I5=function(a){return null!=a[bd.e2]};
bd.Nhb=function(){var a=bd.$().op.$methodId$,b=a[bd.ADa],d=null,e=null;try{e=b.start(a,arguments),d=a[bd.f2].apply(this,arguments)}finally{b.stop(e)}return d};bd.Mhb=function(a,b,d,e){var f=bd.A4a.exec(bd.Nhb.toString())[1];b=new Function(f.replace(bd.D4a,b));f=d[a];b[bd.ADa]=e;b[bd.f2]=f;b[bd.Yfa]=d;b[bd.e2]=a;b[bd.BDa]=bd.Sgb(d,a);for(property in f)f.hasOwnProperty(property)&&(b[property]=f[property]);return d[a]=b};
bd.Epa=function(a){if(a[bd.BDa]){var b=a[bd.e2],d=a[bd.f2];for(property in a)"__JSProfiler"!=property.substring(0,12)&&(d[property]=a[property]);a[bd.Yfa][b]=a[bd.f2]}else delete a[a[bd.e2]]};bd.fib=function(a){var b=property;a=a[b];(b="function"==typeof a&&!bd.I5(a)&&"constructor"!=b)&&(b=null==bd.C4a.exec(a.toString()));return b};
bd.prototype.MZ=function(a,b){u.assert(null!=a,"You cannot run registerMethod with a null object");if(null==b)for(property in a)bd.fib(a)&&this.MZ(a,property);else if(u.assert(null!=a[b],"The method "+b+" does not exist in the object "+bd.jka(a)+"."),!bd.I5(a[b])){var d=bd.DKa(b,a),e=Zc.sm(d,bd.d2),e=bd.Mhb(b,d,a,e);this.op[d]=e}};r.a("AdfProfiler.prototype.registerMethod",{MZ:bd.prototype.MZ});
bd.prototype.rUa=function(a){u.assert(null!=a,"You cannot run registerFunction with a null functionName");this.MZ(window,a)};r.a("AdfProfiler.prototype.registerFunction",{rUa:bd.prototype.rUa});bd.prototype.register=function(a,b){this.MZ(a,b)};r.a("AdfProfiler.prototype.register",{register:bd.prototype.register});
bd.prototype.Saa=function(a,b){u.assert(null!=a,"Object cannot be null in the unregister method");if(null==b)for(e in this.op){var d=this.op[e];"function"==typeof d&&d[bd.Yfa]==a&&(bd.Epa(d),delete this.op[e])}else{var e=bd.DKa(b,a),d=this.op[e];null!=d&&(bd.Epa(d),delete this.op[e])}};r.a("AdfProfiler.prototype.unregisterMethod",{Saa:bd.prototype.Saa});bd.prototype.SVa=function(a){u.assert(null!=a,"functionName cannot be null in unregisterFunction");this.Saa(window,a)};
r.a("AdfProfiler.prototype.unregisterFunction",{SVa:bd.prototype.SVa});bd.prototype.unregister=function(a,b){this.Saa(a,b)};r.a("AdfProfiler.prototype.unregister",{unregister:bd.prototype.unregister});bd.prototype.RVa=function(){for(methodId in this.op){var a=this.op[methodId];"function"==typeof a&&bd.I5(a)&&bd.Epa(a)}this.op={}};r.a("AdfProfiler.prototype.unregisterAll",{RVa:bd.prototype.RVa});bd.prototype.ova=function(){Zc.Y$(null,bd.d2,!0)};r.a("AdfProfiler.prototype.startProfiling",{ova:bd.prototype.ova});
bd.prototype.qva=function(){Zc.Y$(null,bd.d2,!1)};r.a("AdfProfiler.prototype.stopProfiling",{qva:bd.prototype.qva});bd.prototype.aGa=function(){var a=[];for(methodId in this.op)bd.I5(this.op[methodId])&&a.push(methodId);return a.join(",")};r.a("AdfProfiler.prototype.__getRegisteredMethods",{aGa:bd.prototype.aGa});