function ad(a,b){this.ana=0;this.lna={};null!=a&&(u.assert(null!=a,"id cannot be null"),this.Pj=a,this.Bfb=b,this.nma=ad.jM(a,b))}m("AdfCheckpoint",ad);ad.VS="___nullId";ad.PHa=!1;ad.x6={};ad.eob=0;ad.X3={};ad.Prb=function(a){u.assert(null!=a,"Enabled cannot be null");ad.PHa=a};m("AdfCheckpoint.setCheckpointsEnabled",ad.Prb);ad.$$=function(a,b,d){u.assert(null!=d,"Override cannot be null");null==a&&(a=ad.VS);ad.x6[ad.jM(a,b)]=d};m("AdfCheckpoint.setCheckpointOverride",ad.$$);
ad.zrb=function(a,b){null==a&&(a=ad.VS);delete ad.x6[ad.jM(a,b)]};m("AdfCheckpoint.removeCheckpointOverride",ad.zrb);ad.sm=function(a,b){u.assert(null!=a,"Id cannot be null for a checkpoint");var d=ad.jM(a,b),e=ad.X3[d];null==e&&(e=new ad(a,b),ad.X3[d]=e);return e};m("AdfCheckpoint.getCheckpoint",ad.sm);ad.Xpb=function(a){u.assert(null!=a,"Group is null");var b=[];for(chkptId in ad.X3)chkptId.split("|")[1]==a&&b.push(ad.X3[chkptId]);return b};m("AdfCheckpoint.getGroupCheckpoints",ad.Xpb);
ad.jM=function(a,b){return[a,b].join("|")};ad.bib=function(a,b){u.assert(null!=a,"Id is null");var d=ad.x6[ad.jM(a,b)];if(null!=d)return d;d=ad.x6[ad.jM(ad.VS,b)];return null!=d?d:ad.PHa};ad.prototype.start=function(a,b){this.ana++;if(this.isEnabled()){var d=""+ad.eob++;this.lna[d]=new bd(a,b);return d}return ad.VS};r.a("AdfCheckpoint.prototype.start",{start:ad.prototype.start});
ad.prototype.stop=function(a){var b=(new Date).getTime();u.assert(null!=a,"UID cannot be null");this.ana--;if(a!=ad.VS){var d=this.lna[a];u.assert(null!=d,"AdfCheckpoint does not exist");this.isEnabled()&&(b-=d.Cnb,cd.w8a(this).Eha(b,this.ana,d.Lia,d.lu));delete this.lna[a]}};r.a("AdfCheckpoint.prototype.stop",{stop:ad.prototype.stop});ad.prototype.getId=function(){u.assert(null!=this.Pj,"AdfCheckpoint is not initialized");return this.Pj};r.a("AdfCheckpoint.prototype.getId",{getId:ad.prototype.getId});
ad.prototype.getGroup=function(){u.assert(null!=this.Pj,"AdfCheckpoint is not initialized");return this.Bfb};r.a("AdfCheckpoint.prototype.getGroup",{getGroup:ad.prototype.getGroup});ad.prototype.setDescription=function(a){this.gcb=a};r.a("AdfCheckpoint.prototype.setDescription",{setDescription:ad.prototype.setDescription});ad.prototype.getDescription=function(){return this.gcb};r.a("AdfCheckpoint.prototype.getDescription",{getDescription:ad.prototype.getDescription});ad.prototype.toString=function(){return this.nma};
r.a("AdfCheckpoint.prototype.toString",{toString:ad.prototype.toString});ad.prototype.isEnabled=function(){return ad.bib(this.getId(),this.getGroup())};r.a("AdfCheckpoint.prototype.isEnabled",{isEnabled:ad.prototype.isEnabled});function bd(a,b){this.lu=b;this.Lia=a;this.Cnb=(new Date).getTime()}m("_OpenCheckpoint",bd);