/*Obfuscated by JCE Pro, http://www.syntropy.se*/


var icodeon;
if(!icodeon){icodeon={};}
else if(typeof icodeon!="object"){throw new Error("namepsace icodeon exists");}
if(icodeon.DefinitionType){throw new Error("namepsace icodeon.DefinitionType exists");}
if(icodeon.HashTable){throw new Error("namepsace icodeon.HashTable exists");}
if(icodeon.AGa){throw new Error("namepsace icodeon.Element exists");}
function doErrorHandler(ilf,Nae){
var Rxj="An application error has occured:\n\n";
Rxj+="Name: "+ilf.name+"\n";
Rxj+="Message: "+ilf.message+"\n";
Rxj+="Description: "+ilf.description+"\n";
Rxj+="String: "+ilf.toString()+"\n";
Rxj+="Comment: "+Nae+"\n";
alert(Rxj);
}
function doTestHandler(ilf,Nae,prA,VwR){
var Rxj="An application error has occured:\n\n";
Rxj+="Name: "+ilf.name+"\n";
Rxj+="Message: "+ilf.message+"\n";
Rxj+="Description: "+ilf.description+"\n";
Rxj+="String: "+ilf.toString()+"\n";
Rxj+="Comment: "+Nae+"\n";
Rxj+="Expected: "+prA+"\n";
Rxj+="Actual: "+VwR+"\n";
alert(Rxj);
}
function isUndefined(pFh){
if(typeof(pFh)==buM){return true;}
return false;
}
function browserType(){
if(document.layers){return "NS";}
if(document.all){
var rAP=navigator.userAgent.toLowerCase();
var veX=(rAP.indexOf("opera")!=-1);
var PFu=(rAP.indexOf("konqueror")!=-1);
if(veX){
return "OPR";
}else{
return(PFu)?"KONQ":"IE";
}
}
if(document.getElementById){
var gpU=navigator.userAgent.toLowerCase();
return(gpU.indexOf("safari")!=-1)?"SFR":"MOZ";
}
return "OTHER";
}
function doCreateNewDocument(mvq,bAg){
if(mvq&&bAg){
return Sarissa.getDomDocument(bAg,mvq);
}
else if(mvq){
return Sarissa.getDomDocument("",mvq);
}
else{
return Sarissa.getDomDocument();
}
}
function doCreateNewDocumentFromString(VPL){
if(!isUndefined(VPL)&&VPL!==null){
var EPl=doCreateNewDocument();
EPl=(new DOMParser()).parseFromString(VPL,"text/xml");
return EPl;
}
}
function doSerialize(arJ){
if(!isUndefined(arJ)&&arJ!==null){
return new XMLSerializer().serializeToString(arJ);
}
}
function doCreateNewElement(mvq,bAg,RHZ){
var tPW=null;
var rpL=browserType();
if(rpL=="IE"){
if(bAg){
tPW=RHZ.createNode(1,mvq,bAg);
}else{
tPW=RHZ.createNode(1,mvq,"");
}
}else{
if(bAg){
tPW=RHZ.createElementNS(bAg,mvq);
}else{
tPW=RHZ.createElementNS("",mvq);
}
}
return tPW;
}
function doSetAttribute(tPW,wWj,dSQ){
if(tPW){
if(wWj){
if(dSQ){
tPW.setAttribute(wWj,dSQ);
}else{
}
}
}
}
icodeon.AGa=function(mam,DbR){
this.key=mam;
this.value=DbR;
};
icodeon.HashTable=function(){
this.ajH=[];
var Ywq="icn_";
var pHX=function(YlE){
if(isUndefined(YlE)){return Ywq.concat("undefined");}
if(YlE==null){return Ywq.concat("null");}
var waP=parseInt(YlE);
if(isNaN(waP)){return YlE;}
else{return Ywq.concat(waP);}
var TYf=parseFloat(YlE);
if(isNaN(TYf)){return YlE;}
else{return Ywq.concat(TYf);}
};
var dtx=function(mam){
return mam.substring(Ywq.length,mam.length);
};
this.get=function(mam){
mam=pHX(mam);
var AVx=this.ajH[mam];
if(AVx){
return AVx.value;
}
};
this.remove=function(mam){
mam=pHX(mam);
var Lap;
var VVF=this.ajH.length;
if(VVF==0){return;}
for(var oXU=0;oXU<VVF;oXU++){
if(this.ajH[oXU].key==mam){
Lap=oXU;
break;
}
}
if(!isUndefined(Lap)){
this.ajH[mam]=undefined;
var nak=this.ajH.splice(Lap,1);
return nak[0].value;
}
};
this.contains=function(mam){
mam=pHX(mam);
var VVF=this.ajH.length;
if(VVF==0){return false;}
for(var oXU=0;oXU<VVF;oXU++){
if(this.ajH[oXU].key==mam){
return true;
}
}
return false;
}
this.put=function(mam,DbR){
mam=pHX(mam);
this.remove(mam);
this.ajH.push(new icodeon.AGa(mam,DbR));
var VVF=this.ajH.length;
for(var oXU=0;oXU<VVF;oXU++){
this.ajH[this.ajH[oXU].key]=this.ajH[oXU];
}
return VVF-1;
};
this.size=function(){
return this.ajH.length;
};
this.mon=function(Lap){
return this.elements()[Lap];
}
this.elements=function(){
var JiO=[];
var VVF=this.ajH.length;
for(var oXU=0;oXU<VVF;oXU++){
JiO.push(this.ajH[oXU].value);
}
return JiO;
};
this.keySet=function(){
var FWO=[];
var VVF=this.ajH.length;
var mam=undefined;
for(var oXU=0;oXU<VVF;oXU++){
mam=this.ajH[oXU].key
if(mam.indexOf(Ywq)!=-1){
mam=dtx(mam);
}
FWO.push(mam);
}
return FWO;
};
this.toString=function(){
var Uol="Type: "+typeof(this)+"\n";
Uol+="length: "+this.ajH.length+"\n";
return Uol;
};
};
var buM="undefined";
var Yxa="string";
var wcT="boolean";
var JHX="number";
var PIC="object";
var nen="true";
var olr="false";
icodeon.DefinitionType=function(xUn){
this.lCo=":";
this.toString=function(){
var Uol="Type: "+typeof(this)+"\n";
Uol+="node name: "+xUn.nodeName+"\n";
Uol+="node type: "+xUn.nodeType+"\n";
return Uol;
};
this.getElement=function(){
return xUn;
};
this.FtW=function(){
return xUn.ownerDocument;
};
this.FGQ=function(rFj){
var Lap=rFj.indexOf(this.lCo);
if(Lap<0){return rFj;}
return rFj.substring(Lap+1,rFj.length);
};
this.VNp=function(arJ,fmN){
if(!arJ){return;}
var YYb=undefined;
this.leT=undefined;
if(arJ.hasChildNodes()){
var VVF=arJ.childNodes.length
for(var oXU=0;oXU<VVF;oXU++){
YYb=arJ.childNodes[oXU];
if(YYb.nodeType==1){
if(this.FGQ(YYb.nodeName)==fmN){
this.leT=YYb;
break;
}
else if(YYb.hasChildNodes()){
this.VNp(YYb,fmN);
}
}
}
}
return this.leT;
};
this.Bkl=function(fmN,mDm,LHl){
if(!xUn){return;}
var NdH=xUn.childNodes;
var QBM=NdH.length;
if(NdH.length!=0){
var oXU=QBM-1;
var YYb=undefined;
var uZc=undefined;
do{
YYb=NdH[oXU];
if(YYb.nodeType==1){
if(this.FGQ(YYb.nodeName)==fmN){
if(isUndefined(mDm)){
return YYb;
}
else{
uZc=YYb.getAttribute(mDm);
if(!isUndefined(uZc)){
if(uZc==LHl){
return YYb;
}
}
}
}
}--oXU;
}
while(oXU>=0);
}
};
this.Xkp=function(fmN){
if(!xUn){return;}
var dGN=[];
var NdH=xUn.childNodes;
var QBM=NdH.length;
if(NdH.length!=0){
var YYb=undefined;
for(var oXU=0;oXU<QBM;oXU++){
YYb=NdH[oXU];
if(YYb.nodeType==1){
if(this.FGQ(YYb.nodeName)==fmN){
dGN.push(YYb);
}
}
}
}
if(dGN.length===0){
return;
}
return dGN;
};
this.getElementText=function(xFi){
if(xFi&&xFi.firstChild&&xFi.firstChild.nodeType==3){
return xFi.firstChild.nodeValue;
}
};
this.getAttribute=function(xFi,mDm){
if(xFi&&xFi.nodeType==Node.ELEMENT_NODE){
if(xFi.hasAttribute(mDm)){
var qWu=xFi.getAttributeNode(mDm);
if(!isUndefined(qWu)){
return qWu;
}
}
}
};
this.eop=function(xFi,DbR){
if(!isUndefined(xFi)){
if(xFi&&xFi.nodeType==1){
var uZc=undefined;
switch(typeof(DbR)){
case wcT:
if(DbR){
uZc="true";
}
else{
uZc="false";
}
break;
default:

uZc=DbR.toString();
}
if(xFi.firstChild&&xFi.firstChild.nodeType==3){
xFi.firstChild.nodeValue=uZc;
}
else{
var CSM=xFi.ownerDocument.createTextNode(uZc);
xFi.appendChild(CSM);
}
}
}
};
this.Wdb=function(xFi,mDm,DbR){
mDm.toLowerCase();
if(!isUndefined(xFi)){
if(xFi&&xFi.nodeType==1){
switch(typeof(DbR)){
case wcT:
if(DbR){
xFi.setAttribute(mDm,"true");
}
else{
xFi.setAttribute(mDm,"false");
}
break;
default:

xFi.setAttribute(mDm,DbR.toString());
}
}
}
};
this.getValue=function(mDm,Vdd){
var uZc=undefined;
if(xUn&&xUn.nodeType==1){
var qWu=xUn.getAttributeNode(mDm);
if(qWu){uZc=qWu.value;}
}
if(isUndefined(uZc)){return Vdd;}
try{
switch(typeof(Vdd)){
case PIC:
return uZc;
case buM:
return uZc;
case Yxa:
return uZc;
case JHX:
if(uZc.indexOf(".")!=-1){
var LXB=parseFloat(uZc);
if(isNaN(LXB)){
return Vdd;
}
else{
return LXB;
}
}
else{
var LBh=parseInt(uZc,10);
if(isNaN(LBh)){
return Vdd;
}
else{
return LBh;
}
}
break;
case wcT:
if(uZc.toLowerCase()==nen){
return true;
}
return false;
default:
return Vdd;
}
}
catch(ilf){
return Vdd;
}
};
};
var icodeon;
if(!icodeon){icodeon={};}
else if(typeof icodeon!="object"){throw new Error("namepsace icodeon exists");}
if(icodeon.pCx){throw new Error("namepsace icodeon.BehaviourType exists");}
icodeon.pCx=function(){
var pwE=new icodeon.pwE();
var OJT=new icodeon.OJT();
this.jpg=1;
this.vkC=2;
this.kZG=undefined;
this.rwQ=false;
this.AEv=function(kZG){
this.kZG=kZG;
};
this.qOA=function(xQC){
this.rwQ=xQC;
};
this.LmS=function(ZFc,ckw,jfS,dgA,eeH,pif,dXP){
var DAM=ZFc.getActivityProgressInfo();
var gXq=ZFc.getAttemptProgressInfo();
var vQX=ZFc.hxc().bWP();
var TnJ=ZFc.hxc().bul();
var pIi=ckw.ZSU();
var xbl=ckw.IjO();
var UOp=pwE.xJG;
var vfx=[];
var VVF=pIi.length;
var bLx=undefined;
var jxY=undefined;
for(var oXU=0;oXU<VVF;oXU++){
bLx=pIi[oXU];
jxY=
this.wee(vQX,bLx,jfS);
var Aqd=
bLx.evaluate(ZFc,jxY,dgA,eeH,pif,dXP);
if(bLx.owp()==OJT.Bwq){
if(Aqd==pwE.csj){
Aqd=pwE.LYM;
}
else if(Aqd==pwE.LYM){
Aqd=pwE.csj;
}
}
vfx.push(Aqd);
}
if(vfx.length===0){
return pwE.xJG;
}
if(xbl==pwE.EFi){
UOp=this.eFt(vfx);
}else if(xbl==pwE.jek){
UOp=this.qxJ(vfx);
}
return UOp;
};
this.eFt=function(vfx){
var YtI=vfx[0];
var opa=vfx.length;
for(var oXU=1;oXU<opa;oXU++){
var Eho=vfx[oXU];
YtI=this.bYA(YtI,Eho);
}
return YtI;
};
this.qxJ=function(vfx){
var YtI=vfx[0];
var opa=vfx.length;
for(var oXU=1;oXU<opa;oXU++){
var Eho=vfx[oXU];
YtI=this.KCn(YtI,Eho);
}
return YtI;
};
this.bYA=function(YtI,Eho){
var xPG=pwE.xJG;
switch(YtI){
case pwE.csj:
xPG=Eho;
break;
case pwE.LYM:
xPG=pwE.LYM;
break;
case pwE.xJG:
if(Eho==pwE.csj){
xPG=pwE.xJG;}
else if(Eho==pwE.LYM){
xPG=pwE.LYM;}
else if(Eho==pwE.xJG){
xPG=pwE.xJG;}
break;
default:
xPG=pwE.xJG;
}
return xPG;
};
this.KCn=function(YtI,Eho){
var xPG=pwE.xJG;
switch(YtI){
case pwE.csj:
xPG=pwE.csj;
break;
case pwE.LYM:
xPG=Eho;
break;
case pwE.xJG:
if(Eho==pwE.csj){
xPG=pwE.csj;}
else if(Eho==pwE.LYM){
xPG=pwE.xJG;}
else if(Eho==pwE.xJG){
xPG=pwE.xJG;}
break;
default:
xPG=pwE.xJG;
}
return xPG;
};
this.wee=function(vQX,bLx,jfS){
var jxY;
switch(jfS){
case this.jpg:
var HCh=bLx.tEe();
if(!isUndefined(HCh)&&HCh!==""){
jxY=vQX.wee(HCh);
}
break;
case this.vkC:
jxY=vQX.mVk();
break;
default:
throw new icodeon.ApplicationError("Unrecognised behaviour type");
}
if(isUndefined(jxY)||jxY===null){
jxY=vQX.hKC();
}
return jxY;
};
this.add=function(QvY,bno){
var ato=QvY+bno;
return ato;
};
this.Dpr=function(QvY,bno){
var ato=QvY-bno;
return ato;
};
this.nuC=function(QvY,bno){
var ato=QvY*bno;
return ato;
};
this.DID=function(QvY,bno){
var ato=QvY/bno;
return ato;
};
this.HUv=function(vZh){
if(vZh>0){
return true;
}
return false;
};
this.bUX=function(vZh,MCD){
if(vZh>=MCD){
return true;
}
return false;
};
};
var icodeon;
if(!icodeon){icodeon={};}
else if(typeof icodeon!="object"){throw new Error("namepsace icodeon exists");}
if(icodeon.ukx){throw new Error("namespace icodeon.SequencingCollection exists");}
if(icodeon.MvC){throw new Error("namepsace icodeon.Sequencing exists");}
if(icodeon.ugQ){throw new Error("namepsace icodeon.ControlMode exists");}
if(icodeon.lIf){throw new Error("namepsace icodeon.DeliveryControls exists");}
if(icodeon.JHE){throw new Error("namepsace icodeon.ConstrainedChoiceConsiderations exists");}
if(icodeon.hcc){throw new Error("namepsace icodeon.RollupConsiderations exists");}
if(icodeon.pwE){throw new Error("namepsace icodeon.Rule exists");}
if(icodeon.ART){throw new Error("namepsace icodeon.Rules exists");}
if(icodeon.ZmB){throw new Error("namepsace icodeon.RollupRules exists");}
if(icodeon.lUG){throw new Error("namepsace icodeon.SequencingRules exists");}
if(icodeon.oUp){throw new Error("namepsace icodeon.SequencingRule exists");}
if(icodeon.UrS){throw new Error("namepsace icodeon.RollupRule exists");}
if(icodeon.OJT){throw new Error("namepsace icodeon.Condition exists");}
icodeon.ukx=function(xUn){
icodeon.DefinitionType.call(this,xUn);
this.aPP="sequencing";
var fiu=undefined;
this.kPi=function(){
if(isUndefined(fiu)){
fiu=new icodeon.HashTable();
var mNp;
var PSP=this.Xkp(this.aPP);
if(!isUndefined(PSP)){
var VVF=PSP.length;
for(var oXU=0;oXU<VVF;oXU++){
mNp=new icodeon.MvC(PSP[oXU]);
fiu.put(mNp.getID(),mNp);
}
}
}
return fiu;
};
this.hxc=function(YGC){
return this.kPi().get(YGC);
}
this.size=function(){
return this.kPi().size();
}
this.elements=function(){
return this.kPi().elements();
}
this.toString=function(){
var Uol="Type: "+typeof(this)+"\n";
Uol+="size: "+this.kPi().size()+"\n";
return Uol;
};
};
icodeon.ukx.prototype=new icodeon.DefinitionType();
delete icodeon.ukx.prototype.xUn;
icodeon.ukx.prototype.constructor=icodeon.ukx;
icodeon.MvC=function(xUn,ZFc){
var pwE=new icodeon.pwE();
var UrS=new icodeon.UrS();
var oUp=new icodeon.oUp();
var OJT=new icodeon.OJT();
this.vbu="controlMode";
this.gir="deliveryControls";
this.PDn="objectives";
this.ZqM="sequencingRules";
this.Vxo="rollupRules";
this.UQW="rollupConsiderations";
this.wui="limitConditions";
this.kai="randomizationControls";
this.jTF="auxiliaryResources";
this.FLK="constrainedChoiceConsiderations";
icodeon.DefinitionType.call(this,xUn);
var PCL=undefined;
var Rmm=undefined;
var UgO=undefined;
var vQX=undefined;
var TnJ=undefined;
var PHs=undefined;
var xvp=undefined;
var iDq;
this.getID=function(){
return this.getValue("ID",undefined);
};
this.HrB=function(){
return this.getValue("IDRef",undefined);
};
this.Rkw=function(oLW,qve){
var iiF=this.Bkl(qve);
var YDg=undefined;
var VZa=false;
var feR=false;
if(isUndefined(iiF)||iiF==null){
var Hix=this.HrB();
if(Hix!=null&&!isUndefined(icodeon.jOB)){
var mNp=icodeon.jOB.hxc(Hix);
YDg=mNp.Bkl(qve);
if(!isUndefined(YDg)&&YDg!=null){
feR=true;
}
}
}
else{VZa=true;}
if(VZa){
return oLW.factory(iiF);
}
else if(!VZa&&feR){
return oLW.factory(YDg);
}
return oLW.factory();
};
this.ngr=function(){
if(isUndefined(PCL)){
PCL=this.Rkw(icodeon.ugQ,this.vbu);
}
return PCL;
};
this.LnR=function(){
if(isUndefined(UgO)){
UgO=this.Rkw(icodeon.lIf,this.gir);
}
return UgO;
};
this.jKC=function(){
if(isUndefined(iDq)){
iDq=this.Rkw(icodeon.hcc,this.UQW);
}
return iDq;
};
this.xwe=function(){
if(isUndefined(xvp)){
xvp=this.Rkw(icodeon.ZmB,this.Vxo);
}
return xvp;
};
this.EHt=function(){
if(isUndefined(PHs)){
PHs=this.Rkw(icodeon.lUG,this.ZqM);
}
return PHs;
};
this.rum=function(){
if(isUndefined(Rmm)){
Rmm=this.Rkw(icodeon.JHE,this.FLK);
}
return Rmm;
};
this.bWP=function(){
var Ykg=false;
var pif=this.LnR().FKk();
var JiR=
this.jKC().Lie();
if(isUndefined(vQX)){
var iiF=this.Bkl(this.PDn);
var YDg=undefined;
var VZa=false;
var feR=false;
if(isUndefined(iiF)||iiF==null){
var Hix=this.HrB();
if(Hix!=null&&!isUndefined(icodeon.jOB)){
var mNp=icodeon.jOB.hxc(Hix);
YDg=mNp.Bkl(this.PDn);
if(!isUndefined(YDg)&&YDg!=null){
feR=true;
}
}
}
else{VZa=true;}
if(VZa){
vQX=new icodeon.Ofm(iiF,Ykg,undefined,pif,ZFc);
}
else if(!VZa&&feR){
vQX=new icodeon.Ofm(YDg,Ykg,undefined,pif,ZFc);
}
else{
vQX=new icodeon.Ofm(undefined,Ykg,undefined,pif,ZFc);
}
}
return vQX;
};
this.bul=function(){
if(isUndefined(TnJ)){
TnJ=this.Rkw(icodeon.wLH,this.wui);
}
return TnJ;
};
this.toString=function(){
var Uol="Type: "+typeof(this)+"\n";
Uol+="ID: "+this.getID()+"\n";
Uol+="IDRef: "+this.HrB()+"\n";
return Uol;
};
};
icodeon.MvC.prototype=new icodeon.DefinitionType();
delete icodeon.MvC.prototype.xUn;
icodeon.MvC.prototype.constructor=icodeon.MvC;
icodeon.ugQ=function(xUn){
icodeon.DefinitionType.call(this,xUn);
this.iOm=true;
this.WYj=true;
this.CZC=false;
this.NUH=false;
this.fXO=true;
this.BeA=true;
var IYM=undefined;
var Pap=undefined;
var IUA=undefined;
var dpi=undefined;
var Opc=undefined;
var lbl=undefined;
this.OwQ=function(){
if(isUndefined(IYM)){
IYM=this.getValue("choice",this.iOm);
}
return IYM;
};
this.xZS=function(){
if(isUndefined(Pap)){
Pap=this.getValue("choiceExit",this.WYj);
}
return Pap;
};
this.SXD=function(){
if(isUndefined(IUA)){
IUA=this.getValue("flow",this.CZC);
}
return IUA;
};
this.uGL=function(){
if(isUndefined(dpi)){
dpi=this.getValue("forwardOnly",this.NUH);
}
return dpi;
};
this.Smf=function(){
if(isUndefined(Opc)){
Opc=
this.getValue("useCurrentAttemptObjectiveInfo",this.fXO);
}
return Opc;
};
this.Wop=function(){
if(isUndefined(lbl)){
lbl=
this.getValue("useCurrentAttemptProgressInfo",this.BeA);
}
return lbl;
};
this.toString=function(){
var Uol="Type: "+typeof(this)+"\n";
Uol+="choice: "+this.OwQ()+"\n";
Uol+="choiceExit: "+this.xZS()+"\n";
Uol+="flow: "+this.SXD()+"\n";
Uol+="forwardOnly: "+this.uGL()+"\n";
return Uol;
};
};
icodeon.ugQ.prototype=new icodeon.DefinitionType();
delete icodeon.ugQ.prototype.xUn;
icodeon.ugQ.prototype.constructor=icodeon.ugQ;
icodeon.ugQ.factory=function(arJ){return new icodeon.ugQ(arJ);};
icodeon.lIf=function(xUn){
icodeon.DefinitionType.call(this,xUn);
this.Ojh=true;
this.tsC=false;
this.GLK=false;
var pif=undefined;
var VKW=undefined;
var sQR=undefined;
this.FKk=function(){
if(isUndefined(pif)){
pif=this.getValue("tracked",this.Ojh);
}
return pif;
};
this.DEA=function(){
if(isUndefined(VKW)){
VKW=
this.getValue("completionSetByContent",this.tsC);
}
return VKW;
};
this.Kib=function(){
if(isUndefined(sQR)){
sQR=
this.getValue("objectiveSetByContent",this.GLK);
}
return sQR;
};
};
icodeon.lIf.prototype=new icodeon.DefinitionType();
delete icodeon.lIf.prototype.xUn;
icodeon.lIf.prototype.constructor=icodeon.lIf;
icodeon.lIf.factory=function(arJ){return new icodeon.lIf(arJ);};
icodeon.JHE=function(xUn){
icodeon.DefinitionType.call(this,xUn);
this.Pfd=false;
this.iNo=false;
var VsY=undefined;
var DwS=undefined;
this.jLb=function(){
if(!VsY){
VsY=
this.getValue("constrainChoice",this.Pfd);
}
return VsY;
};
this.Nce=function(){
if(!DwS){
DwS=
this.getValue("preventActivation",this.iNo);
}
return DwS;
};
};
icodeon.JHE.prototype=new icodeon.DefinitionType();
delete icodeon.JHE.prototype.xUn;
icodeon.JHE.prototype.constructor=icodeon.JHE;
icodeon.JHE.factory=function(arJ){return new icodeon.JHE(arJ);};
icodeon.hcc=function(xUn){
icodeon.DefinitionType.call(this,xUn);
this.YJe="measureSatisfactionIfActive";
this.Uto="requiredForSatisfied";
this.qCh="requiredForNotSatisfied";
this.rLb="requiredForCompleted";
this.IuA="requiredForIncomplete";
this.CUY="always";
this.tNh="ifNotSuspended";
this.Fkq="ifAttempted";
this.IBM="ifNotSkipped";
this.XoU=true;
this.FYN=this.CUY;
this.iwf=this.CUY;
this.gsv=this.CUY;
this.hJU=this.CUY;
var JiR=undefined;
var xBN=undefined;
var YLn=undefined;
var pwH=undefined;
var jPW=undefined;
this.Lie=function(){
if(isUndefined(JiR)){
JiR=
this.getValue(this.YJe,this.XoU);
}
return JiR;
};
this.wJL=function(){
return this.getValue(this.Uto,this.FYN);
};
this.crD=function(){
return this.getValue(this.qCh,this.iwf);
};
this.KMB=function(){
return this.getValue(this.rLb,this.gsv);
};
this.dpp=function(){
return this.getValue(this.IuA,this.hJU);
};
};
icodeon.hcc.prototype=new icodeon.DefinitionType();
delete icodeon.hcc.prototype.xUn;
icodeon.hcc.prototype.constructor=icodeon.hcc;
icodeon.hcc.factory=function(arJ){return new icodeon.hcc(arJ);};
icodeon.pwE=function(xUn){
this.xJG=2;
this.LYM=3;
this.csj=4;
this.Igi=5;
this.BjF=6;
this.vWV="preConditionRule";
this.Wun="postConditionRule";
this.hPx="exitConditionRule";
this.uuO=[
this.vWV,this.Wun,this.hPx];
this.uFp="rollupRule";
this.EFi="all";
this.jek="any";
this.vhH=this.EFi;
this.BdU=this.jek;
icodeon.DefinitionType.call(this,xUn);
this.getType=function(){
throw new ApplicationError("Not Implemented");
};
this.WKM=function(){
return this.FGQ(xUn.nodeName);
};
this.RQL=function(){
throw new ApplicationError("Not Implemented");
};
this.IjO=function(){
throw new ApplicationError("Not Implemented");
};
this.ZSU=function(){
throw new ApplicationError("Not Implemented");
};
this.fZS=function(){
throw new ApplicationError("Not Implemented");
};
this.fMc=function(){
throw new ApplicationError("Not Implemented");
};
this.Mqx=function(){
throw new ApplicationError("Not Implemented");
};
this.toString=function(){
var Uol="Type: "+typeof(this)+"\n";
Uol+="rule type: "+this.getType()+"\n";
Uol+="conditions: "+this.ZSU()+"\n";
Uol+="action: "+this.RQL()+"\n";
return Uol;
};
};
icodeon.pwE.prototype=new icodeon.DefinitionType();
delete icodeon.pwE.prototype.xUn;
icodeon.pwE.prototype.constructor=icodeon.pwE;
icodeon.oUp=function(xUn){
this.COn=3;
this.CDd=4;
this.CRi=5;
this.WUo="skip";
this.Ura="disabled";
this.KWN="hiddenFromChoice";
this.Tjb="stopForwardTraversal";
this.ZwF="ignore";
this.waO=[
this.WUo,this.Ura,this.KWN,this.Tjb,this.ZwF];
this.bxd=[this.KWN];
this.PPF=[this.WUo];
this.xAl=[this.Tjb];
this.hgj="exitParent";
this.dpr="exitAll";
this.bpV="retry";
this.MRL="retryAll";
this.uuM="continue";
this.kZd="previous";
this.gDM=[
this.hgj,this.dpr,this.bpV,this.MRL,this.uuM,this.kZd,this.ZwF];
this.kxB="exit";
this.kmw=[
this.kxB,this.ZwF];
this.jpd=this.ZwF;
icodeon.pwE.call(this,xUn);
this.getType=function(){
return this.Igi;
};
this.RQL=function(){
var rFj="ruleAction";
var mDm="action";
var YYb=this.Bkl(rFj);
var qWu=YYb.getAttributeNode(mDm);
if(qWu){
return qWu.value;
}
return this.jpd;
};
this.IjO=function(){
var rFj="ruleConditions";
var mDm="conditionCombination";
var YYb=this.Bkl(rFj);
var qWu=YYb.getAttributeNode(mDm);
if(qWu){
return qWu.value;
}
return this.vhH;
};
this.ZSU=function(){
var pIi=[];
var rFj="ruleConditions";
var MoG=this.Bkl(rFj);
if(MoG){
var PSP=MoG.childNodes;
if(PSP.length!=0){
rFj="ruleCondition";
var VVF=PSP.length;
var bLx=undefined;
var arJ=undefined;
var IpL=this.getType();
for(var oXU=0;oXU<VVF;oXU++){
arJ=PSP[oXU];
if(arJ.nodeName.indexOf(rFj)!=-1){
bLx=new icodeon.OJT(arJ,IpL);
pIi.push(bLx);
}
}
}
}
return pIi;
};
};
icodeon.oUp.prototype=new icodeon.pwE();
delete icodeon.oUp.prototype.xUn;
icodeon.oUp.prototype.constructor=icodeon.oUp;
icodeon.UrS=function(xUn){
this.Ycw="rollupAction";
this.tlZ="action";
this.IOb="satisfied";
this.bLN="notSatisfied";
this.xhR="completed";
this.hQP="incomplete";
this.osF=this.IOb;
this.QLs="childActivitySet";
this.Bwd="minimumCount";
this.eDM="minimumPercent";
this.EFi="all";
this.jek="any";
this.fFX="none";
this.BHG="atLeastCount";
this.RMg="atLeastPercent";
this.Lgv=this.EFi;
this.CXw=0;
this.Bga=0.0000;
icodeon.pwE.call(this,xUn);
this.getType=function(){
return this.BjF;
};
this.fZS=function(){
return this.getValue(this.QLs,this.Lgv);
};
this.fMc=function(){
return this.getValue(this.Bwd,this.CXw);
};
this.Mqx=function(){
return this.getValue(this.eDM,this.Bga);
};
this.RQL=function(){
var rFj="rollupAction";
var mDm="action";
var YYb=this.Bkl(rFj);
var qWu=YYb.getAttributeNode(mDm);
if(qWu){
return qWu.value;
}
return this.osF;
};
this.IjO=function(){
var rFj="rollupConditions";
var mDm="conditionCombination";
var YYb=this.Bkl(rFj);
var qWu=YYb.getAttributeNode(mDm);
if(qWu){
return qWu.value;
}
return this.BdU;
};
this.ZSU=function(){
var pIi=[];
var rFj="rollupConditions";
var MoG=this.Bkl(rFj);
if(MoG){
var PSP=MoG.childNodes;
if(PSP.length!=0){
rFj="rollupCondition";
var VVF=PSP.length;
var bLx=undefined;
var arJ=undefined;
var IpL=this.getType();
for(var oXU=0;oXU<VVF;oXU++){
arJ=PSP[oXU];
if(arJ.nodeName.indexOf(rFj)!=-1){
bLx=new icodeon.OJT(arJ,IpL);
pIi.push(bLx);
}
}
}
}
return pIi;
};
};
icodeon.UrS.prototype=new icodeon.pwE();
delete icodeon.UrS.prototype.xUn;
icodeon.UrS.prototype.constructor=icodeon.UrS;
icodeon.OJT=function(xUn,LIm){
var pwE=new icodeon.pwE();
this.cjU="ruleConditions";
this.PoU="rollupConditions";
this.SjO="ruleCondition";
this.wvk="rollupCondition";
this.SXg="conditionCombination";
this.EFi="all";
this.jek="any";
this.vhH=this.EFi;
this.BdU=this.jek;
this.Ujm="referencedObjective";
this.BHQ="measureThreshold";
this.kRF="operator";
this.mcQ="condition";
this.Txf="noOp";
this.Bwq="not";
this.IOb="satisfied";
this.Hvr="objectiveStatusKnown";
this.oTG="objectiveMeasureKnown";
this.LcG="objectiveMeasureGreaterThan";
this.XTe="objectiveMeasureLessThan";
this.xhR="completed";
this.Wvl="activityProgressKnown";
this.iRV="attempted";
this.FEA="attemptLimitExceeded";
this.rfF="timeLimitExceeded";
this.VtB="outsideAvailableTimeRange";
this.SQQ="never";
this.CUY="always";
this.iRV="attempted";
this.Xkc=undefined;
this.nwG=0.0000;
this.Amj=this.Txf;
this.bVX=this.SQQ;
this.lul=this.CUY;
icodeon.DefinitionType.call(this,xUn);
var asM=function(Bgh,ZFc,raD){
if(raD){
var hcI=ZFc.isActive();
var iDq=ZFc.hxc().jKC();
var JiR=iDq.Lie();
if(ZFc.isActive()&!JiR){
return pwE.xJG;
}
}
var eYX=pwE.xJG;
if(Bgh.getProgressStatus()){
eYX=pwE.LYM;
if(Bgh.getSatisfiedStatus()){
eYX=pwE.csj;
}
}
return eYX;
};
var NkG=function(Bgh,ZFc,raD){
if(raD){
var hcI=ZFc.isActive();
var iDq=ZFc.hxc().jKC();
var JiR=iDq.Lie();
if(ZFc.isActive()&!JiR){
return pwE.LYM;
}
}
if(Bgh.getProgressStatus()){
return pwE.csj;
}
else{
return pwE.LYM;
}
};
var DCn=function(Bgh){
if(Bgh.getMeasureStatus()){
return pwE.csj;
}
else{
return pwE.LYM;
}
};
var gOB=function(Bgh,hnw){
var eYX=pwE.xJG;
if(Bgh.getMeasureStatus()){
eYX=pwE.LYM;
if(Bgh.getNormalizedMeasure()>hnw){
eYX=pwE.csj;
}
}
return eYX;
};
var mWe=function(Bgh,hnw){
var eYX=pwE.xJG;
if(Bgh.getMeasureStatus()){
eYX=pwE.LYM;
if(Bgh.getNormalizedMeasure()<hnw){
eYX=pwE.csj;
}
}
return eYX;
};
var wFL=function(gXq){
var eYX=pwE.xJG;
if(gXq.getProgressStatus()){
eYX=pwE.LYM;
if(gXq.getCompletionStatus()){
eYX=pwE.csj;
}
}
return eYX;
};
var TWX=function(DAM,gXq){
if(DAM.getProgressStatus()&&gXq.getProgressStatus()){
return pwE.csj;
}
else{
return pwE.LYM;
}
};
var urP=function(DAM){
if(DAM.getProgressStatus()&&DAM.getAttemptCount()>0){
return pwE.csj;
}
else{
return pwE.LYM;
}
};
var Drs=function(DAM,TnJ){
if(DAM.getProgressStatus()&&TnJ.YKk()&&DAM.getAttemptCount()>=
TnJ.GYp()){
return pwE.csj;
}
else{
return pwE.LYM;
}
};
this.evaluate=function(ZFc,jxY,dgA,eeH,pif,dXP){
var Aqd=pwE.xJG;
var DAM=ZFc.getActivityProgressInfo();
var gXq=ZFc.getAttemptProgressInfo();
var Bgh=jxY.getObjectiveProgressInfo();
var TnJ=ZFc.hxc().bul();
var raD=jxY.FXu();
if(!pif&&dXP>=2004.31){
Bgh=
new icodeon.ObjectiveProgressInfo();
gXq=
new icodeon.AttemptProgressInfo();
}
if(!dgA){
Bgh=
new icodeon.ObjectiveProgressInfo();
}
if(!eeH){
gXq=
new icodeon.AttemptProgressInfo();
}
switch(this.KVT()){
case this.IOb:
return asM(Bgh,ZFc,raD);
case this.Hvr:
return NkG(Bgh,ZFc,raD);
case this.oTG:
return DCn(Bgh);
case this.LcG:
return gOB(Bgh,this.chf());
case this.XTe:
return mWe(Bgh,this.chf());
case this.xhR:
return wFL(gXq);
case this.Wvl:
return TWX(DAM,gXq);
case this.iRV:
return urP(DAM);
case this.FEA:
return Drs(DAM,TnJ);
case this.CUY:
return pwE.csj;
default:
return pwE.xJG;
}
};
this.KVT=function(){
if(LIm==pwE.BjF){
return this.getValue("condition",this.bVX);
}
else{
return this.getValue("condition",this.lul);
}
};
this.owp=function(){
return this.getValue("operator",this.Amj);
};
this.tEe=function(){
return this.getValue("referencedObjective",this.Xkc);
};
this.chf=function(){
return this.getValue("measureThreshold",this.nwG);
};
this.toString=function(){
var Uol="Type: "+typeof(this)+"\n";
Uol+="condition: "+this.KVT()+"\n";
Uol+="operator: "+this.owp()+"\n";
Uol+="referencedObjectiveID: "+this.tEe()+"\n";
Uol+="measureThreshold: "+this.chf()+"\n";
return Uol;
};
};
icodeon.OJT.prototype=new icodeon.DefinitionType();
delete icodeon.OJT.prototype.xUn;
icodeon.OJT.prototype.constructor=icodeon.OJT;
icodeon.ART=function(xUn){
icodeon.DefinitionType.call(this,xUn);
var pwE=new icodeon.pwE();
var oUp=new icodeon.oUp();
var UrS=new icodeon.UrS();
var OJT=new icodeon.OJT();
this.OIE=function(aUc,rvC,YOM){
var RAB=[];
var vQj=true;
var Pqo=true;
if(!isUndefined(YOM)){
if(YOM&&YOM.hasChildNodes()){
var VVF=YOM.childNodes.length;
var YYb;
for(var oXU=0;oXU<VVF;oXU++){
var ckw=undefined;
YYb=YOM.childNodes[oXU];
if(YYb.nodeType==Node.ELEMENT_NODE){
var Twf=this.FGQ(YYb.nodeName);
if(Twf==pwE.uFp){
if(aUc==pwE.BjF){
ckw=new icodeon.UrS(YYb,aUc);
}
}
else{
for(var bkQ=0;bkQ<oUp.uuO.length;bkQ++){
if(Twf==oUp.uuO[bkQ]){
if(aUc==pwE.Igi){
ckw=new icodeon.oUp(YYb,aUc);
}
break;
}
}
}
}
if(isUndefined(ckw)){
continue;
}
RAB.push(ckw);
}
var ZXV=RAB.length;
var jqR=null;
var unt=null;
for(var WWI=0;WWI<ZXV;WWI++){
jqR=RAB[WWI];
if(jqR.getType()==pwE.BjF){
unt=jqR.RQL();
if((unt==UrS.IOb)||(unt==UrS.bLN)){
vQj=false;
break;
}
}
}
for(var WWI=0;WWI<ZXV;WWI++){
jqR=RAB[WWI];
if(jqR.getType()==pwE.BjF){
unt=jqR.RQL();
if((unt==UrS.xhR)||(unt==UrS.hQP)){
Pqo=false;
break;
}
}
}
}
}
if(aUc==pwE.BjF){
if(vQj){
this.ICR(RAB,rvC);
}
if(Pqo){
this.wDn(RAB,rvC);
}
}
var qLo=[];
if(isUndefined(rvC)||rvC===null||(rvC instanceof Array)===false){
qLo=RAB;
}
else{
var UZG=rvC.length;
var kYZ;
var UKt=RAB.length;
for(var IMs=0;IMs<UZG;IMs++){
kYZ=rvC[IMs];
for(var bkQ=0;bkQ<UKt;bkQ++){
if(kYZ==RAB[bkQ].RQL()){
qLo.push(RAB[bkQ]);
}
}
}
}
if(aUc==pwE.Igi){
if(qLo.length!==0){
return qLo;
}
}
else if(aUc==pwE.BjF){
return qLo;
}
};
var iAE=function(rvC,sGY){
if(isUndefined(rvC)||rvC===null||(rvC instanceof Array)===false){
return true;
}
var UZG=rvC.length;
var kYZ;
for(var IMs=0;IMs<UZG;IMs++){
kYZ=rvC[IMs];
if(kYZ==sGY){
return true;
}
}
return false;
}
this.ICR=function(RAB,rvC){
if(iAE(rvC,UrS.bLN)){
RAB.push(this.BZf(new Array(OJT.iRV,OJT.IOb),new Array(OJT.Txf,OJT.Bwq),UrS.bLN,UrS.EFi));
}
if(iAE(rvC,UrS.IOb)){
RAB.push(this.BZf(new Array(OJT.IOb),new Array(OJT.Txf),UrS.IOb,UrS.EFi));
}
};
this.wDn=function(RAB,rvC){
if(iAE(rvC,UrS.hQP)){
RAB.push(this.BZf([OJT.iRV,OJT.xhR],[OJT.Txf,OJT.Bwq],UrS.hQP,UrS.EFi));
}
if(iAE(rvC,UrS.xhR)){
RAB.push(this.BZf([OJT.xhR],[OJT.Txf],UrS.xhR,UrS.EFi));
}
};
this.BZf=function(pIi,QXY,unt,VNn){
var DVg="";
var EPl=doCreateNewDocument(pwE.uFp,DVg);
var Rbk=EPl.documentElement;
var NKw=doCreateNewElement(OJT.PoU,DVg,EPl);
doSetAttribute(NKw,OJT.SXg,OJT.BdU);
for(var oXU=0;oXU<pIi.length;oXU++){
var Afw=doCreateNewElement(OJT.wvk,DVg,EPl);
doSetAttribute(Afw,OJT.kRF,QXY[oXU]);
doSetAttribute(Afw,OJT.mcQ,pIi[oXU]);
NKw.appendChild(Afw);
}
var gON=doCreateNewElement(UrS.Ycw,DVg,EPl);
doSetAttribute(gON,UrS.tlZ,unt);
doSetAttribute(Rbk,UrS.QLs,VNn);
Rbk.appendChild(NKw);
Rbk.appendChild(gON);
return new icodeon.UrS(Rbk);
};
};
icodeon.ART.prototype=new icodeon.DefinitionType();
delete icodeon.ART.prototype.xUn;
icodeon.ART.prototype.constructor=icodeon.ART;
icodeon.ZmB=function(xUn){
icodeon.ART.call(this,xUn);
var pwE=new icodeon.pwE();
this.HFI="rollupObjectiveSatisfied";
this.AGk="rollupProgressCompletion";
this.FKL="objectiveMeasureWeight";
this.lqE=true;
this.MUg=true;
this.NiO=1.0000;
var GiB=undefined;
var nxE=undefined;
var vsD=undefined;
this.XQZ=function(){
if(isUndefined(GiB)){
GiB=this.getValue(this.HFI,this.lqE);
}
return GiB;
};
this.lDF=function(){
if(isUndefined(nxE)){
nxE=this.getValue(this.AGk,this.MUg);
}
return nxE;
};
this.cJJ=function(){
if(isUndefined(vsD)){
vsD=this.getValue(this.FKL,this.NiO);
}
return vsD;
};
this.Knb=function(rvC){
return this.OIE(pwE.BjF,rvC,xUn);
};
};
icodeon.ZmB.prototype=new icodeon.ART();
delete icodeon.ZmB.prototype.xUn;
icodeon.ZmB.prototype.constructor=icodeon.ZmB;
icodeon.ZmB.factory=function(arJ){return new icodeon.ZmB(arJ);};
icodeon.lUG=function(xUn){
icodeon.ART.call(this,xUn);
var pwE=new icodeon.pwE();
var oUp=new icodeon.oUp();
this.Knb=function(rvC){
return this.OIE(pwE.Igi,rvC,xUn);
};
this.ZiJ=function(xJE,rvC){
var RAB=this.OIE(pwE.Igi,rvC,xUn);
var WgV=[];
if(!isUndefined(RAB)&&RAB.length&&RAB.length>0){
var VVF=RAB.length;
var ckw;
var iml;
switch(xJE){
case oUp.COn:
iml=oUp.vWV;
break;
case oUp.CDd:
iml=oUp.Wun;
break;
case oUp.CRi:
iml=oUp.hPx;
break;
default:
throw new icodeon.ApplicationError("Unrecognised sequencing rule type");
}
for(var oXU=0;oXU<VVF;oXU++){
ckw=RAB[oXU];
if(ckw.WKM()==iml){
WgV.push(ckw);
}
}
}
if(WgV.length!==0){
return WgV;
}
};
};
icodeon.lUG.prototype=new icodeon.ART();
delete icodeon.lUG.prototype.xUn;
icodeon.lUG.prototype.constructor=icodeon.lUG;
icodeon.lUG.factory=function(arJ){return new icodeon.lUG(arJ);};
var icodeon;
if(!icodeon){icodeon={};}
else if(typeof icodeon!="object"){throw new Error("namepsace icodeon exists");}


if(!icodeon.mAu){icodeon.mAu={};}
else if(typeof icodeon.mAu!="object"){
throw new Error("namepsace icodeon.DeliveryBehaviour exists");}
icodeon.mAu.invoke=function(kZG,Rhu,Knm){
icodeon.mAu.NAZ(kZG,Rhu,Knm);
icodeon.mAu.iQX(kZG,Rhu,Knm);
};
icodeon.mAu.NAZ=function(kZG,ZFc,rwQ){
if(!ZFc.isLeaf()){
throw icodeon.SequencingBehaviourError.Ffo;
}
var jSH=kZG.getDescendingActivityPath(kZG.getRoot(),ZFc);
if(isUndefined(jSH)||!jSH.length||jSH.length===0){
throw icodeon.SequencingBehaviourError.PAJ;
}
var VVF=jSH.length;
var UOi=new icodeon.pfn();
UOi.AEv(kZG);
UOi.qOA(rwQ);
var AsK=false;
for(var oXU=0;oXU<VVF;oXU++){
AsK=UOi.aqZ(jSH[oXU]);
if(AsK){
throw icodeon.SequencingBehaviourError.rJP;
}
}
};
icodeon.mAu.iQX=function(kZG,ZFc,rwQ){
if(ZFc.isActive()){
throw icodeon.SequencingBehaviourError.iTa;
}
var hxU=kZG.getSuspendedActivity();
if(!ZFc.BSj(hxU)){

icodeon.mAu.nJa(kZG,ZFc,rwQ);
}
var MvC=new icodeon.MvC();
var UOi=new icodeon.pfn();
UOi.AEv(kZG);
UOi.HmA(ZFc);
var kAT=kZG.getDescendingActivityPath(kZG.getRoot(),ZFc);
var VVF=kAT.length;
var YCq;
var DAM;
var gXq;
var Bgh;
var PCL;
for(var oXU=0;oXU<VVF;oXU++){
YCq=kAT[oXU];
if(!YCq.isActive()){
var pif=YCq.hxc().LnR().FKk();
if(pif){
if(YCq.sep()){
YCq.csO(false);
}
else{

DAM=
YCq.getActivityProgressInfo();
var Src=
DAM.ZAx();
if(Src==1){
DAM.CWC(true);
}
log.debug("DB.2.5.1.1.2.1");
log.debug("Deliver activity="+YCq.getIdentifier()+", attempt count="+Src);
if(!YCq.isLeaf()){
PCL=YCq.hxc().ngr();
if(PCL.Smf()){
UOi.OTZ(YCq);
}
if(PCL.Wop()){
UOi.iGe(YCq);
}
}

Bgh=
YCq.getObjectiveProgressInfo();
Bgh.init();
gXq=
YCq.getAttemptProgressInfo();
gXq.init();
}
}
YCq.setActive(true);
}
}
kZG.setCurrentActivity(ZFc);
kZG.wvR(undefined);
var pif=ZFc.hxc().LnR().FKk();
if(!pif){
}
};
icodeon.mAu.nJa=function(kZG,ZFc,rwQ){
var VRm=kZG.getSuspendedActivity();
if(!isUndefined(VRm)&&VRm!==null){
var wNx=kZG.MMW(ZFc,VRm);

var EIW=kZG.getDescendingActivityPath(wNx,VRm);
var VVF=EIW.length;
var ZCg;
var Sil;
var NgW;
for(var oXU=0;oXU<VVF;oXU++){
if(EIW[oXU].isLeaf()){
EIW[oXU].csO(false);
}
else{
NgW=false;
Sil=EIW[oXU].getAvailableChildren();
ZCg=Sil.length;
for(var bkQ=0;bkQ<ZCg;bkQ++){
if(Sil[bkQ].sep()){
NgW=true;
break;
}
}
if(!NgW){
EIW[oXU].csO(false);
}
}
}
kZG.wvR(undefined);
}
};
var icodeon;
if(!icodeon){icodeon={};}
else if(typeof icodeon!="object"){throw new Error("namepsace icodeon exists");}
if(!icodeon.EngineFactory){icodeon.EngineFactory={};}
else if(typeof icodeon.EngineFactory!="object"){throw new Error("namepsace icodeon.EngineFactory exists");}
if(icodeon.SequencingEngine){throw new Error("namepsace icodeon.SequencingEngine exists");}
icodeon.EngineFactory.instance=function(kZG,GCN){
return new icodeon.SequencingEngine(kZG,false);
};
icodeon.SequencingEngine=function(kZG,GCN){
var hEd;
var ATU;
this.kZG=kZG;
this.setNavType=function(FYF,MLc,rwQ){
var awi=this.qUs(FYF,MLc,rwQ);
};
this.getActivityTree=function(){
return this.kZG;
}
this.sNh=function(){
return hEd;
};
this.qUs=function(FYF,MLc,rwQ){
if(!isUndefined(FYF)){
icodeon.NavigationBehaviour.invoke(this.kZG,FYF,MLc,GCN);
}
var dkG=
icodeon.NavigationBehaviour.terminationRequest;
var kQR=
icodeon.NavigationBehaviour.sequencingRequest;
if(!isUndefined(dkG)){
icodeon.TerminationBehaviour.invoke(this.kZG,dkG);
if(!isUndefined(icodeon.TerminationBehaviour.sequencingRequest)){
kQR=
icodeon.TerminationBehaviour.sequencingRequest;
}
}
if(!isUndefined(kQR)){
if(kQR!=icodeon.SequencingEngine.GqE){
if(dkG==icodeon.SequencingEngine.EXIT_ALL||dkG==icodeon.SequencingEngine.SUSPEND_ALL||dkG==icodeon.SequencingEngine.ABANDON_ALL){
this.kZG.setCurrentActivity(undefined);
return undefined;
}
}
icodeon.SequencingBehaviour.invoke(this.kZG,kQR,MLc,GCN);
}
if(icodeon.SequencingBehaviour.isSequencingFinished){
this.kZG.setCurrentActivity(undefined);
return undefined;
}
if(!isUndefined(icodeon.SequencingBehaviour.deliveryRequest)){
icodeon.mAu.invoke(this.kZG,icodeon.SequencingBehaviour.deliveryRequest,rwQ);
return this.kZG.getCurrentActivity();
}
};
};
icodeon.SequencingEngine.INIT="init";
icodeon.SequencingEngine.START="start";
icodeon.SequencingEngine.RESUME_ALL="resumeAll";
icodeon.SequencingEngine.CONTINUE="continue";
icodeon.SequencingEngine.PREVIOUS="previous";
icodeon.SequencingEngine.wja="forward";
icodeon.SequencingEngine.TNn="backward";
icodeon.SequencingEngine.CHOICE="choice";
icodeon.SequencingEngine.GqE="retry";
icodeon.SequencingEngine.EXIT="exit";
icodeon.SequencingEngine.EXIT_ALL="exitAll";
icodeon.SequencingEngine.EXPIRE_ALL="expireAll";
icodeon.SequencingEngine.ABANDON="abandon";
icodeon.SequencingEngine.ABANDON_ALL="abandonAll";
icodeon.SequencingEngine.SUSPEND="suspend";
icodeon.SequencingEngine.SUSPEND_ALL="suspendAll";
icodeon.SequencingEngine.NONE="_none_";
icodeon.SequencingEngine.UNDEFINED="_undefined_";
var icodeon;
if(!icodeon){icodeon={};}
else if(typeof icodeon!="object"){throw new Error("namepsace icodeon exists");}
if(icodeon.ApplicationError){throw new Error("namepsace icodeon.ApplicationError exists");}
if(icodeon.SequencingBehaviourError){throw new Error("namepsace icodeon.SequencingBehaviourError exists");}
if(icodeon.OML){throw new Error("namepsace icodeon.SequencingExceptions exists");}
icodeon.ApplicationError=function(iIQ,aSb,ODP){
Error.call(this,aSb);
this.description=iIQ;
this.name=ODP;
this.message=aSb;
this.toString=function(){
var Uol="Type: "+typeof(this)+"\n";
Uol+="description: "+this.description+"\n";
Uol+="message: "+this.message+"\n";
Uol+="name: "+this.name+"\n";
return Uol;
};
};
icodeon.ApplicationError.prototype=new Error();
icodeon.ApplicationError.prototype.constructor=icodeon.ApplicationError;
icodeon.ApplicationError.SmX=
new icodeon.ApplicationError("Not implemented");
icodeon.SequencingBehaviourError=function(Lap,mBo,hJW,aSb){
Error.call(this,aSb);
this.name="SequencingBehaviourError";
this.index=Lap;
this.code=mBo;
this.CJA=hJW;
this.message=aSb;
this.description="Type="+"icodeon.SequencingBehaviourError"+" \n";
this.description+="Index="+Lap+" \n";
this.description+="Code="+mBo+" \n";
this.description+="Message="+aSb+" \n";
this.toString=function(){
return this.description;
};
};
icodeon.OML=[];
icodeon.SequencingBehaviourError.prototype=new icodeon.ApplicationError();
delete icodeon.SequencingBehaviourError.prototype.message;
icodeon.SequencingBehaviourError.prototype.constructor=icodeon.SequencingBehaviourError;
icodeon.SequencingBehaviourError.ttg=
new icodeon.SequencingBehaviourError(1,"NB.2.1-1","","Current activity is already defined / Sequencing session has already begun");
icodeon.OML[icodeon.SequencingBehaviourError.ttg.index]=
icodeon.SequencingBehaviourError.ttg;
icodeon.SequencingBehaviourError.ksM=
new icodeon.SequencingBehaviourError(2,"NB.2.1-2","","Current activity is not defined / Sequencing session has not begun");
icodeon.OML[icodeon.SequencingBehaviourError.ksM.index]=
icodeon.SequencingBehaviourError.ksM;
icodeon.SequencingBehaviourError.bZW=
new icodeon.SequencingBehaviourError(3,"NB.2.1-3","","Suspended activity is not defined");
icodeon.OML[icodeon.SequencingBehaviourError.bZW.index]=
icodeon.SequencingBehaviourError.bZW;
icodeon.SequencingBehaviourError.Ght=
new icodeon.SequencingBehaviourError(4,"NB.2.1-4","","Flow sequencing control mode violation");
icodeon.OML[icodeon.SequencingBehaviourError.Ght.index]=
icodeon.SequencingBehaviourError.Ght;
icodeon.SequencingBehaviourError.ETL=
new icodeon.SequencingBehaviourError(5,"NB.2.1-5","","Flow or forward only sequencing control mode violation");
icodeon.OML[icodeon.SequencingBehaviourError.ETL.index]=
icodeon.SequencingBehaviourError.ETL;
icodeon.SequencingBehaviourError.rAr=
new icodeon.SequencingBehaviourError(6,"NB.2.1-6","","No activity is previous to the root");
icodeon.SequencingBehaviourError.WIX=
new icodeon.SequencingBehaviourError(7,"NB.2.1-7","","Unsupported navigation request");
icodeon.OML[icodeon.SequencingBehaviourError.WIX.index]=
icodeon.SequencingBehaviourError.WIX;
icodeon.SequencingBehaviourError.Djn=
new icodeon.SequencingBehaviourError(8,"NB.2.1-8","","Choice exit sequencing control mode violation");
icodeon.OML[icodeon.SequencingBehaviourError.Djn.index]=
icodeon.SequencingBehaviourError.Djn;
icodeon.SequencingBehaviourError.hSs=
new icodeon.SequencingBehaviourError(9,"NB.2.1-9","","No activities to consider");
icodeon.OML[icodeon.SequencingBehaviourError.hSs.index]=
icodeon.SequencingBehaviourError.hSs;
icodeon.SequencingBehaviourError.brJ=
new icodeon.SequencingBehaviourError(10,"NB.2.1-10","","Choice sequencing control mode violation");
icodeon.OML[icodeon.SequencingBehaviourError.brJ.index]=
icodeon.SequencingBehaviourError.brJ;
icodeon.SequencingBehaviourError.IBv=
new icodeon.SequencingBehaviourError(11,"NB.2.1-11","","Target activity does not exist");
icodeon.OML[icodeon.SequencingBehaviourError.IBv.index]=
icodeon.SequencingBehaviourError.IBv;
icodeon.SequencingBehaviourError.smX=
new icodeon.SequencingBehaviourError(12,"NB.2.1-12","","Current activity already terminated");
icodeon.SequencingBehaviourError.AUd=
new icodeon.SequencingBehaviourError(13,"NB.2.1-13","","Undefined navigation request");
icodeon.OML[icodeon.SequencingBehaviourError.AUd.index]=
icodeon.SequencingBehaviourError.AUd;
icodeon.SequencingBehaviourError.KER=
new icodeon.SequencingBehaviourError(14,"TB.2.3-1","","Current activity is not defined / Sequencing session has not begun");
icodeon.OML[icodeon.SequencingBehaviourError.KER.index]=
icodeon.SequencingBehaviourError.KER;
icodeon.SequencingBehaviourError.gmd=
new icodeon.SequencingBehaviourError(15,"TB.2.3-2","","Current activity already terminated");
icodeon.OML[icodeon.SequencingBehaviourError.gmd.index]=
icodeon.SequencingBehaviourError.gmd;
icodeon.SequencingBehaviourError.EMf=
new icodeon.SequencingBehaviourError(16,"TB.2.3-3","","Cannot suspend an inactive root");
icodeon.OML[icodeon.SequencingBehaviourError.EMf.index]=
icodeon.SequencingBehaviourError.EMf;
icodeon.SequencingBehaviourError.WII=
new icodeon.SequencingBehaviourError(17,"TB.2.3-4","","Activity tree root has no parent");
icodeon.OML[icodeon.SequencingBehaviourError.WII.index]=
icodeon.SequencingBehaviourError.WII;
icodeon.SequencingBehaviourError.Kad=
new icodeon.SequencingBehaviourError(18,"TB.2.3-5","","Nothing to suspend; no active activities");
icodeon.OML[icodeon.SequencingBehaviourError.Kad.index]=
icodeon.SequencingBehaviourError.Kad;
icodeon.SequencingBehaviourError.VAA=
new icodeon.SequencingBehaviourError(19,"TB.2.3-6","","Nothing to abandon; no active activities");
icodeon.OML[icodeon.SequencingBehaviourError.VAA.index]=
icodeon.SequencingBehaviourError.VAA;
icodeon.SequencingBehaviourError.onJ=
new icodeon.SequencingBehaviourError(20,"TB.2.3-7","","Undefined termination request");
icodeon.OML[icodeon.SequencingBehaviourError.onJ.index]=
icodeon.SequencingBehaviourError.onJ;
icodeon.SequencingBehaviourError.HMH=
new icodeon.SequencingBehaviourError(21,"SB.2.1-1","","Last activity in the tree");
icodeon.OML[icodeon.SequencingBehaviourError.HMH.index]=
icodeon.SequencingBehaviourError.HMH;
icodeon.SequencingBehaviourError.vnJ=
new icodeon.SequencingBehaviourError(22,"SB.2.1-2","","Cluster has no available children");
icodeon.OML[icodeon.SequencingBehaviourError.vnJ.index]=
icodeon.SequencingBehaviourError.vnJ;
icodeon.SequencingBehaviourError.erJ=
new icodeon.SequencingBehaviourError(23,"SB.2.1-3","","No activity is previous to the root");
icodeon.OML[icodeon.SequencingBehaviourError.erJ.index]=
icodeon.SequencingBehaviourError.erJ;
icodeon.SequencingBehaviourError.Rwc=
new icodeon.SequencingBehaviourError(24,"SB.2.1-4","","Forward only sequencing control mode violation");
icodeon.OML[icodeon.SequencingBehaviourError.Rwc.index]=
icodeon.SequencingBehaviourError.Rwc;
icodeon.SequencingBehaviourError.QdR=
new icodeon.SequencingBehaviourError(25,"SB.2.2-1","","Flow sequencing control mode violation");
icodeon.OML[icodeon.SequencingBehaviourError.QdR.index]=
icodeon.SequencingBehaviourError.QdR;
icodeon.SequencingBehaviourError.LFJ=
new icodeon.SequencingBehaviourError(26,"SB.2.2-2","","Target activity unavailable");
icodeon.OML[icodeon.SequencingBehaviourError.LFJ.index]=
icodeon.SequencingBehaviourError.LFJ;
icodeon.SequencingBehaviourError.UCE=
new icodeon.SequencingBehaviourError(27,"SB.2.4-1","","Forward traversal blocked");
icodeon.OML[icodeon.SequencingBehaviourError.UCE.index]=
icodeon.SequencingBehaviourError.UCE;
icodeon.SequencingBehaviourError.vLC=
new icodeon.SequencingBehaviourError(28,"SB.2.4-2","","Forward only sequencing control mode violation");
icodeon.OML[icodeon.SequencingBehaviourError.vLC.index]=
icodeon.SequencingBehaviourError.vLC;
icodeon.SequencingBehaviourError.uiH=
new icodeon.SequencingBehaviourError(29,"SB.2.4-3","","No activity is previous to the root");
icodeon.OML[icodeon.SequencingBehaviourError.uiH.index]=
icodeon.SequencingBehaviourError.uiH;
icodeon.SequencingBehaviourError.mrK=
new icodeon.SequencingBehaviourError(30,"SB.2.5-1","","Current activity is defined / Sequencing session already begun");
icodeon.OML[icodeon.SequencingBehaviourError.mrK.index]=
icodeon.SequencingBehaviourError.mrK;
icodeon.SequencingBehaviourError.Ebw=
new icodeon.SequencingBehaviourError(31,"SB.2.6-1","","Current activity is defined / Sequencing session already begun");
icodeon.OML[icodeon.SequencingBehaviourError.Ebw.index]=
icodeon.SequencingBehaviourError.Ebw;
icodeon.SequencingBehaviourError.AEN=
new icodeon.SequencingBehaviourError(32,"SB.2.6-2","","No suspended activity defined");
icodeon.OML[icodeon.SequencingBehaviourError.AEN.index]=
icodeon.SequencingBehaviourError.AEN;
icodeon.SequencingBehaviourError.bWo=
new icodeon.SequencingBehaviourError(33,"SB.2.7-1","","Current activity is not defined / Sequencing session has not begun");
icodeon.OML[icodeon.SequencingBehaviourError.bWo.index]=
icodeon.SequencingBehaviourError.bWo;
icodeon.SequencingBehaviourError.CTu=
new icodeon.SequencingBehaviourError(34,"SB.2.7-2","","Flow sequencing control mode violation");
icodeon.OML[icodeon.SequencingBehaviourError.CTu.index]=
icodeon.SequencingBehaviourError.CTu;
icodeon.SequencingBehaviourError.OiN=
new icodeon.SequencingBehaviourError(35,"SB.2.8-1","","Current activity is not defined / Sequencing session has not begun");
icodeon.OML[icodeon.SequencingBehaviourError.OiN.index]=
icodeon.SequencingBehaviourError.OiN;
icodeon.SequencingBehaviourError.TIu=
new icodeon.SequencingBehaviourError(36,"SB.2.8-2","","Flow sequencing control mode violation");
icodeon.OML[icodeon.SequencingBehaviourError.TIu.index]=
icodeon.SequencingBehaviourError.TIu;
icodeon.SequencingBehaviourError.YKf=
new icodeon.SequencingBehaviourError(37,"SB.2.9-1","","No target for choice");
icodeon.OML[icodeon.SequencingBehaviourError.YKf.index]=
icodeon.SequencingBehaviourError.YKf;
icodeon.SequencingBehaviourError.cTn=
new icodeon.SequencingBehaviourError(38,"SB.2.9-2","","Target activity does not exist or is unavailable");
icodeon.OML[icodeon.SequencingBehaviourError.cTn.index]=
icodeon.SequencingBehaviourError.cTn;
icodeon.SequencingBehaviourError.nqg=
new icodeon.SequencingBehaviourError(39,"SB.2.9-3","","Target activity hidden from choice");
icodeon.OML[icodeon.SequencingBehaviourError.nqg.index]=
icodeon.SequencingBehaviourError.nqg;
icodeon.SequencingBehaviourError.UsZ=
new icodeon.SequencingBehaviourError(40,"SB.2.9-4","","Choice sequencing control mode violation");
icodeon.OML[icodeon.SequencingBehaviourError.UsZ.index]=
icodeon.SequencingBehaviourError.UsZ;
icodeon.SequencingBehaviourError.xoO=
new icodeon.SequencingBehaviourError(41,"SB.2.9-5","","No activities to consider");
icodeon.OML[icodeon.SequencingBehaviourError.xoO.index]=
icodeon.SequencingBehaviourError.xoO;
icodeon.SequencingBehaviourError.tEh=
new icodeon.SequencingBehaviourError(42,"SB.2.9-6","","Unable to choose target activity; target is not a child of the current activity");
icodeon.OML[icodeon.SequencingBehaviourError.tEh.index]=
icodeon.SequencingBehaviourError.tEh;
icodeon.SequencingBehaviourError.HWW=
new icodeon.SequencingBehaviourError(43,"SB.2.9-7","","Choice exit sequencing control mode violation");
icodeon.OML[icodeon.SequencingBehaviourError.HWW.index]=
icodeon.SequencingBehaviourError.HWW;
icodeon.SequencingBehaviourError.fcq=
new icodeon.SequencingBehaviourError(44,"SB.2.9-8","","Unable to choose target activity - constrained choice");
icodeon.OML[icodeon.SequencingBehaviourError.fcq.index]=
icodeon.SequencingBehaviourError.fcq;
icodeon.SequencingBehaviourError.vcO=
new icodeon.SequencingBehaviourError(45,"SB.2.9-9","","Choice request prevented by flow-only activity");
icodeon.OML[icodeon.SequencingBehaviourError.vcO.index]=
icodeon.SequencingBehaviourError.vcO;
icodeon.SequencingBehaviourError.jHq=
new icodeon.SequencingBehaviourError(46,"SB.2.10-1","","Current activity is not defined/Sequencing session has not begun");
icodeon.OML[icodeon.SequencingBehaviourError.jHq.index]=
icodeon.SequencingBehaviourError.jHq;
icodeon.SequencingBehaviourError.qUh=
new icodeon.SequencingBehaviourError(47,"SB.2.10-2","","Current activity is active or suspended");
icodeon.OML[icodeon.SequencingBehaviourError.qUh.index]=
icodeon.SequencingBehaviourError.qUh;
icodeon.SequencingBehaviourError.qTA=
new icodeon.SequencingBehaviourError(48,"SB.2.10-3","","Flow sequencing control mode violation");
icodeon.OML[icodeon.SequencingBehaviourError.qTA.index]=
icodeon.SequencingBehaviourError.qTA;
icodeon.SequencingBehaviourError.xDE=
new icodeon.SequencingBehaviourError(49,"SB.2.11-1","","Current activity is not defined / Sequencing session has not begun");
icodeon.OML[icodeon.SequencingBehaviourError.xDE.index]=
icodeon.SequencingBehaviourError.xDE;
icodeon.SequencingBehaviourError.kXe=
new icodeon.SequencingBehaviourError(50,"SB.2.11-2","","Current activity has not been terminated");
icodeon.OML[icodeon.SequencingBehaviourError.kXe.index]=
icodeon.SequencingBehaviourError.kXe;
icodeon.SequencingBehaviourError.DFQ=
new icodeon.SequencingBehaviourError(51,"SB.2.12-1","","Undefined sequencing request");
icodeon.OML[icodeon.SequencingBehaviourError.DFQ.index]=
icodeon.SequencingBehaviourError.DFQ;
icodeon.SequencingBehaviourError.Ffo=
new icodeon.SequencingBehaviourError(52,"DB.1.1-1","","Cannot deliver a non-leaf activity");
icodeon.OML[icodeon.SequencingBehaviourError.Ffo.index]=
icodeon.SequencingBehaviourError.Ffo;
icodeon.SequencingBehaviourError.PAJ=
new icodeon.SequencingBehaviourError(53,"DB.1.1-2","","Nothing to deliver");
icodeon.OML[icodeon.SequencingBehaviourError.PAJ.index]=
icodeon.SequencingBehaviourError.PAJ;
icodeon.SequencingBehaviourError.rJP=
new icodeon.SequencingBehaviourError(54,"DB.1.1-3","","Target activity unavailable");
icodeon.OML[icodeon.SequencingBehaviourError.rJP.index]=
icodeon.SequencingBehaviourError.rJP;
icodeon.SequencingBehaviourError.iTa=
new icodeon.SequencingBehaviourError(55,"DB.2-1","","Identified activity is already active");
icodeon.OML[icodeon.SequencingBehaviourError.iTa.index]=
icodeon.SequencingBehaviourError.iTa;
var icodeon;
if(!icodeon){icodeon={};}
else if(typeof icodeon!="object"){throw new Error("namepsace icodeon exists");}
if(icodeon.wLH){throw new Error("namepsace icodeon.LimitConditions exists");}
icodeon.wLH=function(xUn){
this.Ygp="attemptLimit";
this.ptZ="attemptAbsoluteDurationLimit";
this.GEf="attemptExperiencedDurationLimit";
this.cwa="activityAbsoluteDurationLimit";
this.inL="activityExperiencedDurationLimit";
this.YDm="beginTimeLimit";
this.sNP="endTimeLimit";
icodeon.DefinitionType.call(this,xUn);
var dCg=undefined;
var qdt=undefined;
var CZc=undefined;
this.YKk=function(){
if(isUndefined(dCg)){
if(!xUn){
dCg=false;
}
else{
var qWu=xUn.getAttributeNode(this.Ygp);
if(qWu){dCg=true;}
else{dCg=false;}
}
}
return dCg;
};
this.GYp=function(){
if(!this.YKk()){return;}
if(isUndefined(qdt)){
qdt=this.getValue(this.Ygp,0);
}
return qdt;
};
this.Pjq=function(){
if(isUndefined(CZc)){
CZc=
this.getValue(this.ptZ,"");
}
return CZc;
}
this.evaluate=function(DAM,gXq,Bgh){
var qdt=this.GYp();
if(!isUndefined(qdt)){
if(DAM.getProgressStatus()&&(DAM.getAttemptCount()>=qdt)){
return true;
}
}







return false;
};
this.toString=function(){
var Uol="Type: "+typeof(this)+"\n";
Uol+="attemptLimit: "+this.GYp()+"\n";
return Uol;
};
};
icodeon.wLH.prototype=new icodeon.DefinitionType();
delete icodeon.wLH.prototype.xUn;
icodeon.wLH.prototype.constructor=icodeon.wLH;
icodeon.wLH.factory=function(arJ){return new icodeon.wLH(arJ);};
var icodeon;
if(!icodeon){icodeon={};}
else if(typeof icodeon!="object"){throw new Error("namepsace icodeon exists");}
if(!icodeon.NavigationBehaviour){icodeon.NavigationBehaviour={};}
else if(typeof icodeon.NavigationBehaviour!="object"){throw new Error("namepsace icodeon.NavigationBehaviour exists");}
icodeon.NavigationBehaviour.terminationRequest=undefined;
icodeon.NavigationBehaviour.sequencingRequest=undefined;
icodeon.NavigationBehaviour.lastRequestTimestamp=undefined;
icodeon.NavigationBehaviour.invoke=
function(kZG,FYF,MLc,GCN){
icodeon.NavigationBehaviour.terminationRequest=undefined;
icodeon.NavigationBehaviour.sequencingRequest=undefined;
var DBQ=kZG.getCurrentActivity();
var XNQ=false;
if(DBQ){XNQ=true;}
var hxU=kZG.getSuspendedActivity();
var iqH=false;
if(hxU){iqH=true;}
switch(FYF){
case icodeon.SequencingEngine.NONE:
return;
break;
case icodeon.SequencingEngine.START:
if(!XNQ){
icodeon.NavigationBehaviour.sequencingRequest=
icodeon.SequencingEngine.START;
return;
}
else{
throw icodeon.SequencingBehaviourError.ttg;
}
break;
case icodeon.SequencingEngine.RESUME_ALL:
if(!XNQ){
if(iqH){
icodeon.NavigationBehaviour.sequencingRequest=
icodeon.SequencingEngine.RESUME_ALL;
return;
}
else{
throw icodeon.SequencingBehaviourError.bZW;
}
}
else{
throw icodeon.SequencingBehaviourError.ttg;
}
break;
case icodeon.SequencingEngine.CONTINUE:
if(!XNQ){
throw icodeon.SequencingBehaviourError.ksM;
}
if(!DBQ.isRoot()&&DBQ.getParent().hxc().ngr().SXD()){
if(DBQ.isActive()){
log.debug("NB.2.1.3.2.1.1");
icodeon.NavigationBehaviour.terminationRequest=
icodeon.SequencingEngine.EXIT;
icodeon.NavigationBehaviour.sequencingRequest=
icodeon.SequencingEngine.CONTINUE;
return;
}
else{
icodeon.NavigationBehaviour.sequencingRequest=
icodeon.SequencingEngine.CONTINUE;
return;
}
}
else{
throw icodeon.SequencingBehaviourError.Ght;
}
break;
case icodeon.SequencingEngine.PREVIOUS:
if(!XNQ){
throw icodeon.SequencingBehaviourError.ksM;
}
if(!DBQ.isRoot()){
var jvp=DBQ.getParent();
var IUA=jvp.hxc().ngr().SXD();
var WtP=jvp.hxc().ngr().uGL();
if(IUA&&!WtP){
if(DBQ.isActive()){
icodeon.NavigationBehaviour.terminationRequest=
icodeon.SequencingEngine.EXIT;
icodeon.NavigationBehaviour.sequencingRequest=
icodeon.SequencingEngine.PREVIOUS;
return;
}
else{
icodeon.NavigationBehaviour.sequencingRequest=
icodeon.SequencingEngine.PREVIOUS;
return;
}
}
else{
throw icodeon.SequencingBehaviourError.ETL;
}
}
else{
throw icodeon.SequencingBehaviourError.rAr;
}
break;
case icodeon.SequencingEngine.wja:
throw icodeon.SequencingBehaviourError.WIX;
case icodeon.SequencingEngine.TNn:
throw icodeon.SequencingBehaviourError.WIX;
case icodeon.SequencingEngine.CHOICE:
var cEw=kZG.findByName(MLc);
if(cEw){
if(cEw.isRoot()||cEw.getParent().hxc().ngr().OwQ()){
log.debug("NB.2.1.7.1.1");
if(!XNQ){
log.debug("NB.2.1.7.1.1.1");
icodeon.NavigationBehaviour.sequencingRequest=
icodeon.SequencingEngine.CHOICE;
return;
}
log.debug("NB.2.1.7.1.2");
if(!cEw.ncc(DBQ)){
var wNx=
kZG.MMW(DBQ,cEw);
var kAT=
kZG.CDA(DBQ,wNx);
var opa=kAT.length;
if(opa>1){
opa=opa-1;
}
if(opa!=0){
var YCq;
for(var oXU=0;oXU<opa;oXU++){
YCq=kAT[oXU];
if(YCq.isActive()&&!YCq.hxc().ngr().xZS()){
throw icodeon.SequencingBehaviourError.Djn;
}
}
}
else{
throw icodeon.SequencingBehaviourError.hSs;
}
}


log.debug("NB.2.1.7.1.3");
if(DBQ.isActive()&&!DBQ.hxc().ngr().xZS()){
throw icodeon.SequencingBehaviourError.Djn;
}
log.debug("NB.2.1.7.1.4");
if(DBQ.isActive()){
icodeon.NavigationBehaviour.terminationRequest=
icodeon.SequencingEngine.EXIT;
icodeon.NavigationBehaviour.sequencingRequest=
icodeon.SequencingEngine.CHOICE;
return;
}
else{
icodeon.NavigationBehaviour.sequencingRequest=
icodeon.SequencingEngine.CHOICE;
return;
}
}
else{
throw icodeon.SequencingBehaviourError.brJ;
}
}
else{
throw icodeon.SequencingBehaviourError.IBv;
}
break;
case icodeon.SequencingEngine.EXIT:
if(XNQ){
if(DBQ.isActive()){
icodeon.NavigationBehaviour.terminationRequest=
icodeon.SequencingEngine.EXIT;
icodeon.NavigationBehaviour.sequencingRequest=
icodeon.SequencingEngine.EXIT;
return;
}
else{
throw icodeon.SequencingBehaviourError.smX;
}
}
break;
case icodeon.SequencingEngine.ABANDON:
if(XNQ){
if(DBQ.isActive()){
icodeon.NavigationBehaviour.terminationRequest=
icodeon.SequencingEngine.ABANDON;
icodeon.NavigationBehaviour.sequencingRequest=
icodeon.SequencingEngine.EXIT;
return;
}
else{
throw icodeon.SequencingBehaviourError.smX;
}
}
else{
throw icodeon.SequencingBehaviourError.ksM;
}
break;
case icodeon.SequencingEngine.EXIT_ALL:
if(XNQ){
icodeon.NavigationBehaviour.terminationRequest=
icodeon.SequencingEngine.EXIT_ALL;
icodeon.NavigationBehaviour.sequencingRequest=
icodeon.SequencingEngine.EXIT;
return;
}
else{
throw icodeon.SequencingBehaviourError.ksM;
}
break;
case icodeon.SequencingEngine.SUSPEND_ALL:
if(XNQ){
icodeon.NavigationBehaviour.terminationRequest=
icodeon.SequencingEngine.SUSPEND_ALL;
icodeon.NavigationBehaviour.sequencingRequest=
icodeon.SequencingEngine.EXIT;
return;
}
else{
throw icodeon.SequencingBehaviourError.ksM;
}
break;
case icodeon.SequencingEngine.ABANDON_ALL:
if(XNQ){
icodeon.NavigationBehaviour.terminationRequest=
icodeon.SequencingEngine.ABANDON_ALL;
icodeon.NavigationBehaviour.sequencingRequest=
icodeon.SequencingEngine.EXIT;
return;
}
else{
throw icodeon.SequencingBehaviourError.ksM;
}
break;
default:
throw new icodeon.ApplicationError("Unrecognised ADL navigation request type: "+FYF);
}
};
var icodeon;
if(!icodeon){icodeon={};}
else if(typeof icodeon!="object"){throw new Error("namepsace icodeon exists");}
if(icodeon.SXF){throw new Error("namepsace icodeon.RollupBehaviour exists");}
icodeon.SXF=function(){
var MvC=new icodeon.MvC();
var pwE=new icodeon.pwE();
var UrS=new icodeon.UrS();
var hcc=new icodeon.hcc();
var oUp=new icodeon.oUp();
var lIf=new icodeon.lIf();
this.csj=pwE.csj;
this.LYM=pwE.LYM;
this.xJG=pwE.xJG;





this.Ycw=UrS.Ycw;
this.tlZ=UrS.tlZ;
this.IOb=UrS.IOb;
this.bLN=UrS.bLN;
this.xhR=UrS.xhR;
this.hQP=UrS.hQP;
this.osF=this.IOb;
this.WUo=oUp.WUo;
this.Ycw=UrS.Ycw;
this.tlZ=UrS.tlZ;
this.IOb=UrS.IOb;
this.bLN=UrS.bLN;
this.xhR=UrS.xhR;
this.hQP=UrS.hQP;
icodeon.pCx.call(this);
this.Xhp=function(ZFc){
var pYf=0.0;
var dDu=0.0;
var Bgh=undefined;
var Ggr=undefined;
var xWG=false;
var wkk=this.lov(ZFc);
if(!isUndefined(wkk)&&wkk){
var CVc=null;
var ZCg=0;
var dGN=ZFc.getAvailableChildren();
var SNS=ZFc.hasAvailableChildren();
if(SNS){ZCg=dGN.length;}
for(var oXU=0;oXU<ZCg;oXU++){
CVc=dGN[oXU];
var pif=CVc.hxc().LnR().FKk();
var GiB=
CVc.hxc().xwe().XQZ();
if(pif&&GiB){
var jBU=this.lov(CVc);
if(!isUndefined(jBU)&&jBU){
var QHL=
CVc.hxc().xwe().cJJ();
dDu=this.add(dDu,QHL);
Bgh=jBU.getObjectiveProgressInfo();
if(Bgh.getMeasureStatus()){
Ggr=Bgh.getNormalizedMeasure();
var Sdt=this.nuC(Ggr,QHL);
pYf=this.add(pYf,Sdt);
xWG=true;
}
}else{
return;
}
}
}
Bgh=wkk.getObjectiveProgressInfo();
if(xWG===false){
Bgh.krQ(false);
}
else{
if(this.HUv(dDu)){
Ggr=this.DID(pYf,dDu);
Bgh.krQ(true);
Bgh.qNc(Ggr);
}
else{
Bgh.krQ(false);
}
}
}
};
this.qvC=function(ZFc){
var wkk=this.lov(ZFc);
if(!isUndefined(wkk)&&wkk){
if(wkk.FXu()){
var Bgh=
wkk.getObjectiveProgressInfo();
if(!Bgh.getMeasureStatus()){
Bgh.CWC(false);
}
else{
var hcI=ZFc.isActive();
var iDq=ZFc.hxc().jKC();
var JiR=iDq.Lie();
if((hcI===false)||(hcI===true&&JiR===true)){
var Ggr=Bgh.getNormalizedMeasure();
var DtF=wkk.vjl();
var Euj=this.bUX(Ggr,DtF);
if(Euj){
Bgh.CWC(true);
Bgh.RsA(true);
}
else{
Bgh.CWC(true);
Bgh.RsA(false);
}
}
else{
Bgh.CWC(false);
}
}
}
return;
}else{
return;
}
};
this.hZV=function(ZFc){
var wkk=this.lov(ZFc);
if(!isUndefined(wkk)&&wkk){
var DKg=this.bLV(ZFc,this.bLN);
if(DKg){
var Bgh=
wkk.getObjectiveProgressInfo();
Bgh.CWC(true);
Bgh.RsA(false);
}
DKg=this.bLV(ZFc,this.IOb);
if(DKg){
var Bgh=
wkk.getObjectiveProgressInfo();
Bgh.CWC(true);
Bgh.RsA(true);
}
}
};
this.jYW=function(ZFc){
var gXq=undefined;
var DKg=this.bLV(ZFc,this.hQP);
if(DKg){
gXq=ZFc.getAttemptProgressInfo();
gXq.CWC(true);
gXq.Dgp(false);
}
DKg=this.bLV(ZFc,this.xhR);
if(DKg){
gXq=ZFc.getAttemptProgressInfo();
gXq.CWC(true);
gXq.Dgp(true);
}
};
this.bLV=function(ZFc,unt){
var mNp=ZFc.hxc();
var rvC=[];
rvC[0]=unt;
var RAB=mNp.xwe().Knb(rvC);
if(!isUndefined(RAB)&&RAB&&RAB.length>0){
var Upb=null;
var sZI=RAB.length;
var rPd=[];
var CVc=null;
var ZCg=0;
var dGN=ZFc.getAvailableChildren();
var SNS=ZFc.hasAvailableChildren();
if(SNS){ZCg=dGN.length;}
var Opc=
mNp.ngr().Smf();
var Bgh;
var oPo=true;
var lbl=
mNp.ngr().Wop();
var gXq;
var MJG=true;
for(var oXU=0;oXU<sZI;oXU++){
if(SNS){
Upb=RAB[oXU];
rPd=new Array();
for(var bkQ=0;bkQ<ZCg;bkQ++){
CVc=dGN[bkQ];
oPo=true;
MJG=true;
var pif=CVc.hxc().LnR().FKk();
if(pif){
var gjm=
this.wSk(CVc,unt);
if(gjm){
Bgh=CVc.getObjectiveProgressInfo();
if(Bgh.BOm()&&Opc){
oPo=false;
}
gXq=CVc.getAttemptProgressInfo();
if(gXq.BOm()&&lbl){
MJG=false;
}
var Aqd=
this.iSq(CVc,Upb,oPo,MJG,pif);
switch(Aqd){
case pwE.xJG:
rPd.push(pwE.xJG);
break;
case pwE.csj:
rPd.push(pwE.csj);
break;
case pwE.LYM:
rPd.push(pwE.LYM);
break;
default:
rPd.push(pwE.xJG);
}
}
}
else{
var dXP=this.kZG.getScormVersion();
if(dXP>=2004.31){
var Aqd=this.iSq(CVc,Upb,oPo,MJG,pif);
switch(Aqd){
case pwE.xJG:
rPd.push(pwE.xJG);
break;
case pwE.csj:
rPd.push(pwE.csj);
break;
case pwE.LYM:
rPd.push(pwE.LYM);
break;
default:
rPd.push(pwE.xJG);
}
}
}
}
}
var DKg=this.njn(rPd,Upb);
if(DKg){return true;}
}
}
return false;
};
this.njn=function(rPd,Upb){
var VVF=rPd.length;
if(VVF==0){return false;}
var cBW=false;
var hsA=0;
var Sfp=Upb.fZS();
switch(Sfp){
case UrS.EFi:
var YpS=false;
for(var oXU=0;oXU<VVF;oXU++){
var value=rPd[oXU];
if(value==pwE.LYM||value==pwE.xJG){
YpS=true;
break;
}
}
if(!YpS){
cBW=true;
}
break;
case UrS.jek:
var KvQ=false;
for(var oXU=0;oXU<VVF;oXU++){
var value=rPd[oXU];
if(value==pwE.csj){
KvQ=true;
break;
}
}
if(KvQ){cBW=true;}
break;
case UrS.fFX:
var nxN=false;
for(var oXU=0;oXU<VVF;oXU++){
var value=rPd[oXU];
if(value==pwE.csj||value==pwE.xJG){
nxN=true;
break;
}
}
if(!nxN){cBW=true;}
break;
case UrS.BHG:
for(var oXU=0;oXU<VVF;oXU++){
var value=rPd[oXU];
if(value==pwE.csj){
hsA++;
}
}
var NTx=Upb.fMc();
if(hsA>=NTx){
cBW=true;
}
break;
case UrS.RMg:
for(var oXU=0;oXU<VVF;oXU++){
var value=rPd[oXU];
if(value==pwE.csj){
hsA++;
}
}
var buw=parseFloat(hsA);
var nAF=parseFloat(VVF);
var xDT=this.DID(buw,nAF);
var wmI=Upb.Mqx();
if(this.bUX(xDT,wmI)){
cBW=true;
}
break;
}
return cBW;
};
this.lov=function(ZFc){
var vQX=ZFc.hxc().bWP();
return vQX.mVk();
};
this.iSq=function(ZFc,Upb,dgA,eeH,pif){
var Aqd=this.LmS(ZFc,Upb,this.vkC,dgA,eeH,pif,this.kZG.getScormVersion());
return Aqd;
};
this.wSk=function(ZFc,frP){
var gjm=false;

var DAM=ZFc.getActivityProgressInfo();
var MLq=DAM.getProgressStatus();
var Src=DAM.getAttemptCount();
var mNp=ZFc.hxc();
if(frP==this.IOb||frP==this.bLN)
{
var fYo=mNp.xwe().XQZ();
if(fYo){
gjm=true;
var SoR=
mNp.jKC().wJL();
var Rbj=
mNp.jKC().crD();
if((frP==this.IOb&&SoR==hcc.tNh)||(frP==this.bLN&&Rbj==hcc.tNh)){
if(MLq===false||(Src>0&&ZFc.getSuspended())){
gjm=false;
}
}
else{
if((frP==this.IOb&&SoR==hcc.Fkq)||(frP==this.bLN&&Rbj==hcc.Fkq)){
if(MLq===false||Src===0){
gjm=false;
}
}
else{
if((frP==this.IOb&&SoR==hcc.IBM)||(frP==this.bLN&&Rbj==hcc.IBM)){
var UOi=new icodeon.pfn();
UOi.AEv(this.kZG);
var DCr=[this.WUo];
var unt=UOi.eEq(ZFc,DCr);
if(!isUndefined(unt)){
gjm=false;
}
}
}
}
}
}
if(frP==this.xhR||frP==this.hQP)
{
log.debug("RB.1.4.2.3");
var nxE=mNp.xwe().lDF();
if(nxE){
log.debug("RB.1.4.2.3.1");
gjm=true;
var Men=
mNp.jKC().KMB();
var lTG=
mNp.jKC().dpp();
if((frP==this.xhR&&Men==hcc.tNh)||(frP==this.hQP&&lTG==hcc.tNh)){
if(MLq===false||(Src>0&&ZFc.getSuspended())){
log.debug("RB.1.4.2.3.1.2.1.1");
gjm=false;
}
}
else{
if((frP==this.xhR&&Men==hcc.Fkq)||(frP==this.hQP&&lTG==hcc.Fkq)){
if(MLq===false||Src===0){
log.debug("RB.1.4.2.3.1.3.1.1.1");
gjm=false;
}
}
else{
if((frP==this.xhR&&Men==hcc.IBM)||(frP==this.hQP&&Rbj==hcc.IBM)){
log.debug("RB.1.4.2.2.1.3.2.1.1");
var DCr=[this.WUo];
var UOi=new icodeon.pfn();
UOi.AEv(this.kZG);
var unt=UOi.eEq(ZFc,DCr);
if(!isUndefined(unt)){
log.debug("RB.1.4.2.3.1.3.2.1.2.1");
gjm=false;
}
}
}
}
}
}
return gjm;
};
this.FqY=function(ZFc){
if(isUndefined(this.kZG)||this.kZG===null){
throw new icodeon.ApplicationError("Activity tree not defined for rollup.");
}
var jSH=this.kZG.CDA(ZFc,this.kZG.getRoot());
var VVF=jSH.length;
if(VVF===0){
return;
}
for(var oXU=0;oXU<VVF;oXU++){
var YCq=jSH[oXU];

if(YCq.hasAvailableChildren()){
this.Xhp(YCq);
}
var dXP=this.kZG.getScormVersion();
if(dXP<2004){
var vCg=YCq.uqA();
if(!isUndefined(vCg)){
var wkk=this.lov(ZFc);
if(!isUndefined(wkk)&&wkk){
var Bgh=
wkk.getObjectiveProgressInfo();
if(!Bgh.getMeasureStatus()){
Bgh.CWC(false);
}
}
}
}
var jBU=YCq.hKC();
if(jBU.FXu()){
this.qvC(YCq);
}
else{
this.hZV(YCq);
}
this.jYW(YCq);
}
};
this.toString=function(){
var Uol="Type: "+typeof(this)+"\n";
return Uol;
};
};
icodeon.SXF.prototype=new icodeon.pCx();
icodeon.SXF.prototype.constructor=icodeon.SXF;
var icodeon;
if(!icodeon){icodeon={};}
else if(typeof icodeon!="object"){throw new Error("namepsace icodeon exists");}
if(!icodeon.SequencingBehaviour){icodeon.SequencingBehaviour={};}
else if(typeof icodeon.SequencingBehaviour!="object"){throw new Error("namepsace icodeon.SequencingBehaviour exists");}
icodeon.SequencingBehaviour.jfB=1;
icodeon.SequencingBehaviour.rOc=-1;
icodeon.SequencingBehaviour.vqi=undefined;

icodeon.SequencingBehaviour.isSequencingFinished=false;
icodeon.SequencingBehaviour.deliveryRequest=undefined;
icodeon.kpp=function(Nqr,TJA,vut){
this.pmn=function(){return Nqr;};
this.ITN=function(){return TJA;};
this.isSequencingFinished=function(){return vut;};
};
icodeon.FFO=function(Nqr,Tjg,vut){
this.pmn=function(){return Nqr;};
this.KgC=function(){return Tjg;};
this.isSequencingFinished=function(){return vut;};
};
icodeon.SequencingBehaviour.invoke=
function(kZG,FYF,MLc,GCN){
icodeon.SequencingBehaviour.isSequencingFinished=false;
icodeon.SequencingBehaviour.deliveryRequest=undefined;
switch(FYF){
case icodeon.SequencingEngine.START:
icodeon.SequencingBehaviour.deliveryRequest=
icodeon.SequencingBehaviour.VUp(kZG,GCN);
return;
case icodeon.SequencingEngine.RESUME_ALL:
icodeon.SequencingBehaviour.deliveryRequest=
icodeon.SequencingBehaviour.iOv(kZG,GCN);
return;
case icodeon.SequencingEngine.EXIT:
icodeon.SequencingBehaviour.isSequencingFinished=
icodeon.SequencingBehaviour.dNe(kZG,GCN);
return;
case icodeon.SequencingEngine.GqE:
icodeon.SequencingBehaviour.deliveryRequest=
icodeon.SequencingBehaviour.oZM(kZG,GCN);
return;
case icodeon.SequencingEngine.CONTINUE:
icodeon.SequencingBehaviour.deliveryRequest=
icodeon.SequencingBehaviour.XJc(kZG,GCN);
return;
case icodeon.SequencingEngine.PREVIOUS:
icodeon.SequencingBehaviour.deliveryRequest=
icodeon.SequencingBehaviour.hRf(kZG,GCN);
return;
case icodeon.SequencingEngine.CHOICE:
var jkv=kZG.findByName(MLc);
icodeon.SequencingBehaviour.deliveryRequest=
icodeon.SequencingBehaviour.Fut(kZG,jkv,GCN);
return;
default:
throw icodeon.SequencingBehaviourError.DFQ;
}
};
icodeon.SequencingBehaviour.wYk=function(kZG,ZFc,GCk,OWd,aAY){
icodeon.SequencingBehaviour.vqi=false;
if((!isUndefined(aAY)&&aAY==icodeon.SequencingBehaviour.rOc)&&ZFc.fef()){
log.debug("SB.2.1.2");
GCk=icodeon.SequencingBehaviour.rOc;
ZFc=ZFc.getParent().UFA();
icodeon.SequencingBehaviour.vqi=true;
}
if(GCk==icodeon.SequencingBehaviour.jfB){
log.debug("SB.2.1.3");
var wYU=kZG.getAvailableActivityList();
var oGW=wYU[wYU.length-1];
if(ZFc.BSj(oGW)||(ZFc.isRoot()&&OWd===false)){
log.debug("SB.2.1.3.1");
var UOi=new icodeon.pfn();
UOi.AEv(kZG);
UOi.HmA(kZG.getRoot());
UOi.KqS(kZG.getRoot());
log.debug("SB.2.1.3.1.2");
var vut=true;
return new icodeon.kpp(undefined,GCk,vut);
}
else if(ZFc.isLeaf()||OWd===false){
log.debug("SB.2.1.3.2");
if(ZFc.fef()){
log.debug("SB.2.1.3.2.1.2");
return icodeon.SequencingBehaviour.wYk(kZG,ZFc.getParent(),icodeon.SequencingBehaviour.jfB,false,undefined);
}
else{
var dGN=ZFc.getParent().getAvailableChildren();
var VVF=dGN.length;
var bjP;
var Bbi;
for(var oXU=0;oXU<VVF;oXU++){
bjP=dGN[oXU];
if(bjP.BSj(ZFc)){
Bbi=dGN[oXU+1];
break;
}
}
log.debug("SB.2.1.3.2.2.2");
return new icodeon.kpp(Bbi,GCk,false);
}
}
else{
log.debug("SB.2.1.3.3");
var dGN=ZFc.getAvailableChildren();
if(!isUndefined(dGN)&&dGN.length!==0){
log.debug("SB.2.1.3.3.1");
return new icodeon.kpp(dGN[0],GCk,false);
}
else{
log.debug("SB.2.1.3.3.2");
throw icodeon.SequencingBehaviourError.vnJ;
}
}
}

else if(GCk==icodeon.SequencingBehaviour.rOc){
log.debug("SB.2.1.4");
if(ZFc.isRoot()){
throw icodeon.SequencingBehaviourError.erJ;
}
if(ZFc.isLeaf()||OWd===false){
log.debug("SB.2.1.4.2");
if(!icodeon.SequencingBehaviour.vqi){
var WtP=ZFc.getParent().hxc().ngr().uGL();
if(WtP){
throw icodeon.SequencingBehaviourError.Rwc;
}
}
if(ZFc.cqo()){
log.debug("SB.2.1.4.2.2.2");
return icodeon.SequencingBehaviour.wYk(kZG,ZFc.getParent(),icodeon.SequencingBehaviour.rOc,false,undefined);
}
else{
log.debug("SB.2.1.4.2.3.1");
var dGN=ZFc.getParent().getAvailableChildren();
var oXU=dGN.length-1;
var bjP;
var ORc;
do{
bjP=dGN[oXU];
if(bjP.BSj(ZFc)){
ORc=dGN[oXU-1];
break;
}--oXU;
}
while(oXU>=0);
log.debug("SB.2.1.4.3.2");
return new icodeon.kpp(ORc,GCk,false);
}
}
else{
if(ZFc.hasAvailableChildren()){
var dGN=ZFc.getAvailableChildren();
var WtP=ZFc.hxc().ngr().uGL();
if(WtP){
log.debug("SB.2.1.4.3.1.1.1");
return new icodeon.kpp(dGN[0],icodeon.SequencingBehaviour.jfB,false);
}
else{
log.debug("SB.2.1.4.3.1.2.1");
return new icodeon.kpp(dGN[dGN.length-1],icodeon.SequencingBehaviour.rOc,false);
}
}
else{
}
}
}
};
icodeon.SequencingBehaviour.OLx=function(kZG,ZFc,GCk,aAY){
var oUp=new icodeon.oUp();
var mNp=ZFc.getParent().hxc();
var IUA=mNp.ngr().SXD();
if(!IUA){
throw icodeon.SequencingBehaviourError.QdR;
}
var UOi=new icodeon.pfn();
UOi.AEv(kZG);
log.debug("SB.2.2.2");
var unt=UOi.eEq(ZFc,oUp.PPF);
if(!isUndefined(unt)){
log.debug("SB.2.2.3.1");
var rgl=
icodeon.SequencingBehaviour.wYk(kZG,ZFc,GCk,false,aAY);
var Nqr=rgl.pmn();
var TJA=rgl.ITN();
var vut=rgl.isSequencingFinished();
if(isUndefined(Nqr)){
log.debug("SB.2.2.3.2.1");
return new icodeon.FFO(ZFc,false,vut);
}
else{
if(aAY==icodeon.SequencingBehaviour.rOc&&TJA==icodeon.SequencingBehaviour.rOc){
log.debug("SB.2.2.3.1.1");
return icodeon.SequencingBehaviour.OLx(kZG,Nqr,TJA,undefined);
}
else{
log.debug("SB.2.2.3.2.1");
return icodeon.SequencingBehaviour.OLx(kZG,Nqr,GCk,aAY);
}
}
}
log.debug("SB.2.2.4");
var duQ=UOi.aqZ(ZFc);
if(duQ){
throw icodeon.SequencingBehaviourError.LFJ;
}
if(!ZFc.isLeaf()){
log.debug("SB.2.2.6.1");
var rgl=
icodeon.SequencingBehaviour.wYk(kZG,ZFc,GCk,true,undefined);
var Nqr=rgl.pmn();
var TJA=rgl.ITN();
var vut=rgl.isSequencingFinished();
if(isUndefined(Nqr)){
log.debug("SB.2.2.6.2.1");
return new icodeon.FFO(ZFc,false,vut);
}
else{
if(GCk==icodeon.SequencingBehaviour.rOc&&TJA==icodeon.SequencingBehaviour.jfB){
log.debug("SB.2.2.6.3.1.1");
return icodeon.SequencingBehaviour.OLx(kZG,Nqr,icodeon.SequencingBehaviour.jfB,icodeon.SequencingBehaviour.rOc);
}
else{
log.debug("SB.2.2.6.3.2.1");
return icodeon.SequencingBehaviour.OLx(kZG,Nqr,GCk,undefined);
}
}
}

log.debug("SB.2.2.7");
return new icodeon.FFO(ZFc,true,false);
};
icodeon.SequencingBehaviour.iGs=function(kZG,ZFc,GCk,OWd){
var aAY=undefined;
var rgl=
icodeon.SequencingBehaviour.wYk(kZG,ZFc,GCk,OWd,aAY);
var Nqr=rgl.pmn();
var TJA=rgl.ITN();
var vut=rgl.isSequencingFinished();
if(isUndefined(Nqr)){
return new icodeon.FFO(ZFc,false,vut);
}
var JNV=
icodeon.SequencingBehaviour.OLx(kZG,Nqr,GCk,aAY);
log.debug("SB.2.3.4.3");
return JNV;
};
icodeon.SequencingBehaviour.MET=function(kZG,ZFc,GCk){
var oUp=new icodeon.oUp();
if(GCk==icodeon.SequencingBehaviour.jfB){
var UOi=new icodeon.pfn();
UOi.AEv(kZG);
log.debug("SB.2.4.1.1");
var unt=UOi.eEq(ZFc,oUp.xAl);
if(!isUndefined(unt)){
log.debug("SB.2.4.1.2.1");
throw icodeon.SequencingBehaviourError.UCE;
}
return true;
}
if(GCk==icodeon.SequencingBehaviour.rOc){
if(!ZFc.isRoot()){
log.debug("SB.2.4.2.1");
var WtP=ZFc.getParent().hxc().ngr().uGL();
log.debug("SB.2.4.2.1.1");
if(WtP){
throw icodeon.SequencingBehaviourError.vLC;
}
}
else{
throw icodeon.SequencingBehaviourError.uiH;
}
return true;
}
};
icodeon.SequencingBehaviour.VUp=
function(kZG,GCN){
var DBQ=kZG.getCurrentActivity();
if(!isUndefined(DBQ)){
throw icodeon.SequencingBehaviourError.mrK;
}
var mNi=kZG.getRoot();
if(mNi.isLeaf()){return;}
var OWd=true;
var JNV=icodeon.SequencingBehaviour.iGs(kZG,mNi,icodeon.SequencingBehaviour.jfB,OWd);
var Nqr=JNV.pmn();
var Tjg=JNV.KgC();
var vut=JNV.isSequencingFinished();
return Nqr;
};
icodeon.SequencingBehaviour.iOv=
function(kZG,GCN){
var DBQ=kZG.getCurrentActivity();
if(!isUndefined(DBQ)){
log.debug("SB.2.6.1.1");
throw icodeon.SequencingBehaviourError.Ebw;
}
var FpE=kZG.getSuspendedActivity();
if(isUndefined(FpE)){
log.debug("SB.2.6.2.1");
throw icodeon.SequencingBehaviourError.AEN;
}

FpE.IAQ(false);
kZG.wvR(undefined);
return FpE;
};
icodeon.SequencingBehaviour.XJc=
function(kZG,GCN){
var DBQ=kZG.getCurrentActivity();
if(isUndefined(DBQ)){
throw icodeon.SequencingBehaviourError.bWo;
}
if(!DBQ.isRoot()){
var mNp=DBQ.getParent().hxc();
var IUA=mNp.ngr().SXD();
if(!IUA){
throw icodeon.SequencingBehaviourError.CTu;
}
}
log.debug("SB.2.7.3");
var JNV=icodeon.SequencingBehaviour.iGs(kZG,DBQ,icodeon.SequencingBehaviour.jfB,false);
var Nqr=JNV.pmn();
var Tjg=JNV.KgC();
var vut=JNV.isSequencingFinished();
log.debug("SB.2.7.4");
if(!Tjg||isUndefined(Nqr)){
icodeon.SequencingBehaviour.isSequencingFinished=
vut;
log.debug("SB.2.7.4.1");
return;
}
else{
log.debug("SB.2.7.5.1");
return Nqr;
}
};
icodeon.SequencingBehaviour.hRf=
function(kZG,GCN){
var DBQ=kZG.getCurrentActivity();
if(isUndefined(DBQ)){
throw icodeon.SequencingBehaviourError.OiN;
}
if(!DBQ.isRoot()){
var mNp=DBQ.getParent().hxc();
var IUA=mNp.ngr().SXD();
if(!IUA){
throw icodeon.SequencingBehaviourError.TIu;
}
}
log.debug("SB.2.8.3");
var JNV=icodeon.SequencingBehaviour.iGs(kZG,DBQ,icodeon.SequencingBehaviour.rOc,false);
var Nqr=JNV.pmn();
var Tjg=JNV.KgC();
var vut=JNV.isSequencingFinished();
if(!Tjg||isUndefined(Nqr)){
icodeon.SequencingBehaviour.isSequencingFinished=
vut;
log.debug("SB.2.8.4.1");
return;
}
else{
log.debug("SB.2.8.5.1");
return Nqr;
}
};
icodeon.SequencingBehaviour.wEF=
function(kZG,jkv){
var oUp=new icodeon.oUp();
var UOi=new icodeon.pfn();
UOi.AEv(kZG);
var EIW=
kZG.getDescendingActivityPath(kZG.getRoot(),jkv);
var VVF=EIW.length;
var YCq;
var unt;
log.debug("SB.2.9.2");
for(var oXU=0;oXU<VVF;oXU++){
YCq=EIW[oXU];
if(!YCq.isRoot()){
if(!YCq.BPA()){
throw icodeon.SequencingBehaviourError.cTn;
}
}

log.debug("SB.2.9.3.2");
unt=UOi.eEq(YCq,oUp.bxd);
if(unt){
log.debug("SB.2.4.1.2.1");
throw icodeon.SequencingBehaviourError.nqg;
}
}
};
icodeon.SequencingBehaviour.Fut=
function(kZG,jkv,GCN){
if(isUndefined(jkv)||jkv===null){
throw icodeon.SequencingBehaviourError.YKf;
}
icodeon.SequencingBehaviour.wEF(kZG,jkv);

if(!jkv.isRoot()){
var mNp=jkv.getParent().hxc();
var IYM=mNp.ngr().OwQ();
if(!IYM){
throw icodeon.SequencingBehaviourError.UsZ;
}
}
var EEO;
var DBQ=kZG.getCurrentActivity();
if(!isUndefined(DBQ)){
EEO=kZG.MMW(DBQ,jkv);
}
else{
EEO=kZG.getRoot();
}
var OBG=0;
if(jkv.BSj(DBQ)){OBG=1;}
else if(jkv.ncc(DBQ)){OBG=2;}
else if(EEO.BSj(DBQ)||isUndefined(DBQ)){OBG=3;}
else if(EEO.BSj(jkv)){OBG=4;}
else if(jkv.MiO(EEO)){OBG=5;}
switch(OBG){
case 1:
icodeon.SequencingBehaviour.mhu();
break;
case 2:
icodeon.SequencingBehaviour.ebO(kZG,DBQ,jkv)
break;
case 3:
icodeon.SequencingBehaviour.Zpu(kZG,EEO,jkv);
break;
case 4:
icodeon.SequencingBehaviour.UjW(kZG,EEO,DBQ);
break;
case 5:
icodeon.SequencingBehaviour.bxM(kZG,EEO,DBQ,jkv);
break;
default:
throw new icodeon.ApplicationError("Undefined choice type request process");
}
if(jkv.isLeaf()){
return jkv;
}
log.debug("SB.2.9.13");
var JNV=icodeon.SequencingBehaviour.iGs(kZG,jkv,icodeon.SequencingBehaviour.jfB,true);
var Nqr=JNV.pmn();
var Tjg=JNV.KgC();
if(!Tjg){
UOi.HmA(EEO);
UOi.KqS(EEO);
kZG.setCurrentActivity(Nqr);
throw icodeon.SequencingBehaviourError.vcO;
}
else{
log.debug("SB.2.9.15");
return Nqr;
}
};
icodeon.SequencingBehaviour.mhu=function(){
return;
};
icodeon.SequencingBehaviour.ebO=function(kZG,DBQ,jkv){
var gVZ=DBQ.getParent().getAvailableChildren();
var VVF=gVZ.length;
var OCm;
var CxC;
var GCk;
var kAT=[];
for(var oXU=0;oXU<VVF;oXU++){
if(gVZ[oXU].BSj(DBQ)){
OCm=oXU;
}
else if(gVZ[oXU].BSj(jkv)){
CxC=oXU;
}
}
if(CxC>OCm){
kAT=gVZ.slice(OCm,CxC);
GCk=icodeon.SequencingBehaviour.jfB;
}
else{
kAT=gVZ.slice(CxC+1,OCm+1);
GCk=icodeon.SequencingBehaviour.rOc;
}
VVF=kAT.length;
if(VVF===0){
throw icodeon.SequencingBehaviourError.xoO;
}
var Wkq=false;
for(var oXU=0;oXU<VVF;oXU++){
Wkq=icodeon.SequencingBehaviour.MET(kZG,kAT[oXU],GCk);
}
};
icodeon.SequencingBehaviour.Zpu=function(kZG,EEO,jkv){
var kAT=kZG.getDescendingActivityPath(EEO,jkv);
if(EEO.isRoot()&&jkv.isRoot()){
}
else{
kAT.pop();
}
var VVF=kAT.length;
if(VVF===0){
throw icodeon.SequencingBehaviourError.xoO;
}
var Wkq=false;
for(var oXU=0;oXU<VVF;oXU++){
Wkq=icodeon.SequencingBehaviour.MET(kZG,kAT[oXU],icodeon.SequencingBehaviour.jfB);
if(!kAT[oXU].isActive()&&(!kAT[oXU].BSj(EEO)&&kAT[oXU].hxc().rum().Nce())){
throw icodeon.SequencingBehaviourError.tEh;
}
}
};
icodeon.SequencingBehaviour.UjW=function(kZG,EEO,DBQ){
var kAT=kZG.CDA(DBQ,EEO);
if(kAT.length===0){
throw icodeon.SequencingBehaviourError.xoO;
}
var VVF=kAT.length;
var AVs=VVF-1;
for(var oXU=0;oXU<VVF;oXU++){
if(oXU!=AVs){
if(!kAT[oXU].hxc().ngr().xZS()){
throw icodeon.SequencingBehaviourError.HWW;
}
}
}
};
icodeon.SequencingBehaviour.bxM=function(kZG,EEO,DBQ,jkv){
var kAT=kZG.CDA(DBQ,EEO);
kAT.pop();
var VVF=kAT.length;
if(VVF===0){
throw icodeon.SequencingBehaviourError.xoO;
}
var iJM;
for(var oXU=0;oXU<VVF;oXU++){
if(!kAT[oXU].hxc().ngr().xZS()){
throw icodeon.SequencingBehaviourError.HWW;
}
if(isUndefined(iJM)){
if(kAT[oXU].isCurrent()){
continue;
}
if(kAT[oXU].hxc().rum().jLb()){
log.debug("SB.2.9.11.4.2.1");
iJM=kAT[oXU];
break;
}
}
}
var aou=false;
if(!isUndefined(iJM)){
var GCk=undefined;
aou=kZG.cbN(jkv,iJM);
if(aou){
GCk=icodeon.SequencingBehaviour.jfB;
}
else{
GCk=icodeon.SequencingBehaviour.rOc;
}
var VKa=
icodeon.SequencingBehaviour.mQR(kZG,iJM,GCk);
var jiE=jkv.MiO(VKa);
var ACm=jkv.BSj(VKa);
var iGl=jkv.BSj(iJM);
if(!jiE&&!ACm&&!iGl){
throw icodeon.SequencingBehaviourError.fcq;
}
}
kAT=kZG.getDescendingActivityPath(EEO,jkv);
kAT.pop();
VVF=kAT.length;
if(VVF===0){
throw icodeon.SequencingBehaviourError.xoO;
}
aou=kZG.cbN(jkv,DBQ);
if(aou){
var Wkq=false;
for(var oXU=0;oXU<VVF;oXU++){
Wkq=icodeon.SequencingBehaviour.MET(kZG,kAT[oXU],icodeon.SequencingBehaviour.jfB);
if(!kAT[oXU].isActive()&&(!kAT[oXU].BSj(EEO)&&kAT[oXU].hxc().rum().Nce())){
throw icodeon.SequencingBehaviourError.tEh;
}
}
}
};
icodeon.SequencingBehaviour.mQR=function(kZG,ZFc,GCk){
var XxS=icodeon.SequencingBehaviour.sfc(kZG,ZFc,GCk);
if(isUndefined(XxS)){
return ZFc;
}
return XxS;
};
icodeon.SequencingBehaviour.sfc=function(kZG,ZFc,GCk){
if(GCk==icodeon.SequencingBehaviour.jfB)
{
if(kZG.Qpj().BSj(ZFc)||kZG.getRoot().BSj(ZFc)){
log.debug("SB.2.9.2.1.1");
return undefined;
}
if(ZFc.fef()){
log.debug("SB.2.9.2.1.2");
return icodeon.SequencingBehaviour.sfc(ZFc.getParent(),icodeon.SequencingBehaviour.jfB);
}
else{
var dGN=ZFc.getParent().getAvailableChildren();
var VVF=dGN.length;
var SQY=undefined;
for(var oXU=0;oXU<VVF;oXU++){
if(dGN[oXU].BSj(ZFc)){
SQY=oXU+1;
break;
}
}
log.debug("SB.2.9.2.1.3");
return dGN[SQY];
}
}
else if(GCk==icodeon.SequencingBehaviour.rOc)
{
if(kZG.getRoot().BSj(ZFc)){
log.debug("SB.2.9.2.2.1");
return undefined;
}
if(ZFc.cqo()){
log.debug("SB.2.9.2.2.2");
return icodeon.SequencingBehaviour.sfc(ZFc.getParent(),icodeon.SequencingBehaviour.rOc);
}
else{
var dGN=ZFc.getParent().getAvailableChildren();
var VVF=dGN.length;
var SQY=undefined;
for(var oXU=0;oXU<VVF;oXU++){
if(dGN[oXU].BSj(ZFc)){
SQY=oXU-1;
break;
}
}
log.debug("SB.2.9.2.2.3");
return dGN[SQY];
}
}
};
icodeon.SequencingBehaviour.oZM=function(kZG,GCN){
var DBQ=kZG.getCurrentActivity();
if(isUndefined(DBQ)){
throw icodeon.SequencingBehaviourError.jHq;
}
if(DBQ.isActive()||DBQ.sep()){
throw icodeon.SequencingBehaviourError.qUh;
}
if(!DBQ.isLeaf()){
log.debug("SB.2.10.3.1");
var JNV=icodeon.SequencingBehaviour.iGs(kZG,DBQ,icodeon.SequencingBehaviour.jfB,true);
var Nqr=JNV.pmn();
var Tjg=JNV.KgC();
if(!Tjg){
log.debug("SB.2.10.3.2");
throw icodeon.SequencingBehaviourError.qTA;
}
else{
log.debug("SB.2.10.3.3");
return Nqr;
}
}
else{
log.debug("SB.2.10.4");
return DBQ;
}
};
icodeon.SequencingBehaviour.dNe=
function(kZG,GCN){
var DBQ=kZG.getCurrentActivity();
if(isUndefined(DBQ)){
log.debug("SB.2.11.1");
return true;
}
if(DBQ.isActive()){
log.debug("SB.2.11.2");
throw icodeon.SequencingBehaviourError.kXe;
}
if(DBQ.isRoot()){
log.debug("SB.2.11.3");
return true;
}
log.debug("SB.2.11.4");
return false;
};
var icodeon;
if(!icodeon){icodeon={};}
else if(typeof icodeon!="object"){throw new Error("namepsace icodeon exists");}
if(icodeon.RunTimeDataModel){throw new Error("namespace icodeon.RunTimeDataModel exists");}
if(icodeon.Activity){throw new Error("namespace icodeon.Activity exists");}
if(icodeon.vZx){throw new Error("namespace icodeon.Presentation exists");}
if(icodeon.EhK){throw new Error("namespace icodeon.NavigationInterface exists");}
if(icodeon.ActivityTree){throw new Error("namespace icodeon.ActivityTree exists");}
if(icodeon.Resource){throw new Error("namespace icodeon.Resource exists");}
if(icodeon.Organizations){throw new Error("namespace icodeon.Organizations exists");}
if(icodeon.jOB){throw new Error("namespace icodeon.GlobalSequencing exists");}
if(icodeon.GlobalObjectives){throw new Error("namespace icodeon.GlobalObjectives exists");}
icodeon.vZx=function(xUn){
icodeon.DefinitionType.call(this,xUn);
this.xHa="navigationInterface";
var bwo=undefined;
this.hJS=function(){
if(!bwo){
var arJ=this.Bkl(this.xHa);
bwo=new icodeon.EhK(arJ);
}
return bwo;
};
};
icodeon.vZx.prototype=new icodeon.DefinitionType();
delete icodeon.vZx.prototype.xUn;
icodeon.vZx.prototype.constructor=icodeon.vZx;
icodeon.EhK=function(xUn){
icodeon.DefinitionType.call(this,xUn);
this.FUD="hideLMSUI";
var KRc=undefined;
this.UBK=function(){
if(!KRc){
KRc=[];
var PSP=this.Xkp(this.FUD);
if(PSP){
var VVF=PSP.length;
for(var oXU=0;oXU<VVF;oXU++){
jkm=this.getElementText(PSP[oXU]);
KRc[jkm]=true;
}
}
}
return KRc;
};
};
icodeon.EhK.prototype=new icodeon.DefinitionType();
delete icodeon.EhK.prototype.xUn;
icodeon.EhK.prototype.constructor=icodeon.EhK;
icodeon.RunTimeDataModel=function(xUn,cRX){
icodeon.DefinitionType.call(this,xUn);
this.JoM=function(){
var EZV=
this.getElementText(this.Bkl("exit"));
return EZV;
};
this.pjT=function(ZFc){
var Jtp=
this.getElementText(this.Bkl("successStatus"));

var OKU=
new com.icodeon.SuccessStatusSupport(ZFc.getScaledPassingScore(),this.nsu(),Jtp);
return OKU.evaluate();
};
this.mYZ=function(ZFc){
var Bkj=
this.getElementText(this.Bkl("completionStatus"));
if(Bkj=="not_attempted"){
Bkj="not attempted";
}

var KnT=
new com.icodeon.CompletionStatusSupport(ZFc.getCompletionThreshold(),this.Wxd(),Bkj);
return KnT.evaluate();
};
this.nsu=function(){
var hZY=this.Bkl("score");
if(!isUndefined(hZY)){
var tEl=new icodeon.DefinitionType(hZY);
var YVK=undefined;
if(cRX<2004){

var heM=tEl.getElementText(tEl.Bkl("raw"));
var gJv=parseFloat(heM);
if(isNaN(gJv)){
YVK=undefined;
}
else{
var oPM=tEl.getElementText(tEl.Bkl("min"));
var hTj=parseFloat(oPM);
if(isNaN(hTj)||hTj<0){
hTj=0;
}
var fIK=tEl.getElementText(tEl.Bkl("max"));
var hSt=parseFloat(fIK);
if(isNaN(hSt)||hSt>100){
hSt=100;
}
YVK=gJv/(hSt-hTj);
}
}
else{
var XWh=tEl.getElementText(tEl.Bkl("scaled"));
YVK=parseFloat(XWh);
}
if(isNaN(YVK)){
return undefined;
}
return YVK;
}
return undefined;
};
this.Wxd=function(){
return this.getElementText(this.Bkl("progressMeasure"));
}
this.OrF=function(){
var rRQ=this.Bkl("objectives");
if(!isUndefined(rRQ)&&rRQ.hasChildNodes&&rRQ.hasChildNodes()){
return rRQ.childNodes.length;
}
return 0;
};
this.getObjectiveID=function(klq){
var rRQ=this.Bkl("objectives");
if(!isUndefined(rRQ)&&rRQ.hasChildNodes&&rRQ.hasChildNodes()){
var wvL=new icodeon.DefinitionType(rRQ.childNodes[klq]);
return wvL.getElementText(wvL.Bkl("identifier"));
}
};
this.maS=function(klq){
var rRQ=this.Bkl("objectives");
var wvL=new icodeon.DefinitionType(rRQ.childNodes[klq]);
return wvL.getElementText(wvL.Bkl("successStatus"));
}
this.GhJ=function(klq){
var rRQ=this.Bkl("objectives");
var wvL=new icodeon.DefinitionType(rRQ.childNodes[klq]);
var hZY=wvL.Bkl("score");
if(!isUndefined(hZY)&&hZY!=null){
var tEl=new icodeon.DefinitionType(hZY);
var pqG=tEl.Bkl("scaled");
if(!isUndefined(pqG)&&pqG!=null){
var XWh=tEl.getElementText(pqG);
var YVK=parseFloat(XWh);
if(isNaN(YVK)){
return undefined;
}
return YVK;
}
}
return undefined;
};
this.Mms=function(ZFc,kZG){
log.debug("icodeon.RunTimeDataModel.updateActivityState with Activity ID="+ZFc.getIdentifier());
var VVF=this.OrF();
var hqJ=undefined;
var Jtp=undefined;
var Bkj=undefined;
var jxY=undefined;
var FlI=undefined;
var mAK=ZFc.hxc().bWP().hKC();
var CPp=mAK.getObjectiveID();
var OJY="unknown";
var nBO=undefined;
for(var klq=0;klq<VVF;klq++){
hqJ=this.getObjectiveID(klq);
Jtp=this.maS(klq);
jxY=
ZFc.hxc().bWP().wee(hqJ);
if(!isUndefined(jxY)){
switch(Jtp){
case "unknown":
jxY.getObjectiveProgressInfo().CWC(false);
jxY.getObjectiveProgressInfo().RsA(false);
break;
case "failed":
jxY.getObjectiveProgressInfo().CWC(true);
jxY.getObjectiveProgressInfo().RsA(false);
break;
case "passed":
jxY.getObjectiveProgressInfo().CWC(true);
jxY.getObjectiveProgressInfo().RsA(true);
break;
}
log.debug("#1 cmi.objectives."+klq+".success_status="+Jtp);
if(hqJ==CPp){
OJY=Jtp;
}
}
}
for(var klq=0;klq<VVF;klq++){
hqJ=this.getObjectiveID(klq);
FlI=this.GhJ(klq);
jxY=
ZFc.hxc().bWP().wee(hqJ);
if(!isUndefined(jxY)){
if(isUndefined(FlI)){
jxY.getObjectiveProgressInfo().krQ(false);
jxY.getObjectiveProgressInfo().qNc(0.0);
}
else{
if(FlI>=-1.0&&FlI<=1.0){
jxY.getObjectiveProgressInfo().krQ(true);
jxY.getObjectiveProgressInfo().qNc(FlI);
}
}
log.debug("#2 cmi.objectives."+klq+".score.scaled="+FlI);
if(hqJ==CPp){
nBO=FlI;
}
}
}
Jtp=this.pjT(ZFc);
if(Jtp=="unknown"){
Jtp=OJY;
}
switch(Jtp){
case "unknown":
ZFc.getObjectiveProgressInfo().CWC(false);
ZFc.getObjectiveProgressInfo().RsA(false);
break;
case "failed":
ZFc.getObjectiveProgressInfo().CWC(true);
ZFc.getObjectiveProgressInfo().RsA(false);
break;
case "passed":
ZFc.getObjectiveProgressInfo().CWC(true);
ZFc.getObjectiveProgressInfo().RsA(true);
break;
}
log.debug("#3 cmi.success_status="+Jtp);
FlI=this.nsu();
if(isUndefined(FlI)){
FlI=nBO
}
if(isUndefined(FlI)){
ZFc.getObjectiveProgressInfo().krQ(false);
ZFc.getObjectiveProgressInfo().qNc(0.0);
}
else{
if(FlI>=-1.0&&FlI<=1.0){
ZFc.getObjectiveProgressInfo().krQ(true);
ZFc.getObjectiveProgressInfo().qNc(FlI);
}
}
log.debug("#4 cmi.score.scaled="+FlI);
Bkj=this.mYZ(ZFc);
switch(Bkj){
case "unknown":
ZFc.getAttemptProgressInfo().CWC(false);
ZFc.getAttemptProgressInfo().Dgp(false);
break;
case "incomplete":
ZFc.getAttemptProgressInfo().CWC(true);
ZFc.getAttemptProgressInfo().Dgp(false);
break;
case "completed":
ZFc.getAttemptProgressInfo().CWC(true);
ZFc.getAttemptProgressInfo().Dgp(true);
break;
case "not attempted":
ZFc.getAttemptProgressInfo().CWC(true);
ZFc.getAttemptProgressInfo().Dgp(false);
break;
}
log.debug("#5 cmi.completion_status="+Bkj);
var EZV=this.JoM();
if(EZV=="suspend"){
ZFc.csO(true);
kZG.wvR(ZFc);
}
log.debug("#6 cmi.exit="+EZV);
};
this.toString=function(){
var Uol="Type: "+typeof(this)+"\n";
Uol+="Name: icodeon.RunTimeDataModel"+"\n";
return Uol;
};
};
icodeon.RunTimeDataModel.prototype=new icodeon.DefinitionType();
delete icodeon.RunTimeDataModel.prototype.xUn;
icodeon.RunTimeDataModel.prototype.constructor=icodeon.RunTimeDataModel;
icodeon.fhR=function(xUn){
icodeon.DefinitionType.call(this,xUn);
this.identifier;
this.title;
this.rgG=true;


var AZp;
this.getIdentifier=function(){
if(!this.identifier){
this.identifier=this.getValue("identifier",undefined);
if(typeof(this.identifier)!="string"){
this.identifier=String(this.identifier);
}
}
return this.identifier;
};
this.getObjectivesGlobalToSystem=function(){
if(isUndefined(AZp)){
AZp=this.getValue("objectivesGlobalToSystem",this.rgG);
}
return AZp;
};
this.getTitle=function(){
if(!this.title){
var NLD=this.Bkl("title");
this.title=this.getElementText(NLD);
if(isUndefined(this.title)||this.title==null){
this.title=new String("");
}
this.title=NCI(this.title);
}
return this.title;
};
var Lav=function(SYi){
var TUH=undefined;
try{
TUH=escape(encodeURIComponent(SYi));
}
catch(xKU){
try{
TUH=escape(SYi);
}
catch(gYI){
TUH=SYi;
}
}
return TUH;
}
var NCI=function(SYi){
var rfV=SYi;
try{
rfV=decodeURIComponent(unescape(SYi));
}
catch(xKU){
try{
rfV=unescape(SYi);
}
catch(gYI){
rfV=SYi;
}
}
return rfV;
}
this.toString=function(){
var Uol="Type: "+typeof(this)+"\n";
Uol+="title: "+this.getTitle()+"\n";
Uol+="identifier: "+this.getIdentifier()+"\n";
return Uol;
};
}
icodeon.fhR.prototype=new icodeon.DefinitionType();
delete icodeon.fhR.prototype.xUn;
icodeon.fhR.prototype.constructor=icodeon.fhR;
icodeon.Activity=function(xUn,dme,gfu,tZY,VpG){
var eJH=undefined;
var DAM=undefined;
var gXq=undefined;
var Kqq=undefined;
var Unn=undefined;
var VLi=undefined;
var PMe=undefined;
var Krc=undefined;
var mNp=undefined;
var KRc=undefined;
var TQE=undefined;
var Pft=undefined;
var QUc=undefined;
var hcI;
var XNQ;
var iqH;
var Giw;
var inl;
icodeon.fhR.call(this,xUn);
this.FGd=undefined;
this.lgg=[];
this.getDepth=function(){
return gfu;
};
this.fYm=function(){
return VpG;
}

this.setRunTimeDataModel=function(bRE){
this.FGd=bRE;
};
this.FPT=function(kZG){
if(!isUndefined(this.FGd)){
this.FGd.Mms(this,kZG);
this.FGd=undefined;
}
};
this.Exc=function(){
var mNp=this.hxc();
var PHs=mNp.Bkl("sequencingRules");
if(PHs){
return true;
}
return false;
}
this.EvG=function(xQC){
if(typeof(xQC)=="boolean"){
this.Wdb(xUn,"updated",xQC);
}
};
this.CDA=function(){
var bYc=
tZY.CDA(this,tZY.getRoot());
return bYc;
};
this.ked=function(){
var wYU=this.CDA();
var oXU=wYU.length-1;
do{
wYU[oXU].EvG(true);--oXU;
}
while(oXU>=0)
}
this.isCurrent=function(){
if(isUndefined(XNQ)){
XNQ=this.getValue("current",false);
}
return XNQ;
};
this.jGt=function(xQC){
if(typeof(xQC)=="boolean"){
this.Wdb(xUn,"current",xQC);
this.ked();
XNQ=xQC;
}
};
this.tVP=function(){
if(isUndefined(Giw)){
Giw=this.getValue("resumable",false);
}
return Giw;
};
this.IAQ=function(xQC){
if(typeof(xQC)=="boolean"){
this.Wdb(xUn,"resumable",xQC);
this.ked();
Giw=xQC;
}
};
this.sep=function(){
if(isUndefined(iqH)){
iqH=this.getValue("suspended",false);
}
return iqH;
};
this.csO=function(xQC){
if(typeof(xQC)=="boolean"){
this.Wdb(xUn,"suspended",xQC);
this.ked();
iqH=xQC;
}
};
this.isActive=function(){
if(isUndefined(hcI)){
hcI=this.getValue("active",false);
}
return hcI;
};
this.setActive=function(xQC){
if(typeof(xQC)=="boolean"){
this.Wdb(xUn,"active",xQC);
this.ked();
hcI=xQC;
}
};
this.isTracked=function(){
return this.hxc().LnR().FKk();
};
this.isVisible=function(){
if(isUndefined(QUc)){
QUc=this.getValue("isvisible",true);
}
return QUc;
};
this.GSa=function(){
if(!TQE){
var xHd=this.Bkl("presentation");
TQE=new icodeon.vZx(xHd);
}
return TQE;
};
this.getActivityProgressInfo=function(){
if(isUndefined(DAM)){
var Obj=this.Bkl("activityProgressInfo");
var pif=this.hxc().LnR().FKk();
DAM=
new icodeon.ActivityProgressInfo(Obj,pif,this);
}
return DAM;
};
this.getAttemptProgressInfo=function(){
if(isUndefined(gXq)){
var Ylp=this.Bkl("attemptProgressInfo");
var pif=this.hxc().LnR().FKk();
gXq=
new icodeon.AttemptProgressInfo(Ylp,pif,this);
}
return gXq;
};
this.getObjectiveSet=function(){
return this.hxc().bWP().getObjectiveSet();
};
this.hKC=function(){
return this.hxc().bWP().hKC();
};
this.getObjectiveProgressInfo=function(){
return this.hxc().bWP().hKC().getObjectiveProgressInfo();
};
this.tpc=function(){
if(isUndefined(eJH)){
eJH=this.getValue("parameters","");
}
return eJH;
};
this.getLaunchData=function(){
if(isUndefined(Kqq)){
var HeF=this.Bkl("dataFromLMS");
Kqq=this.getElementText(HeF);
}
return Kqq;
};
this.getCompletionThreshold=function(){
if(isUndefined(Unn)){
var HeF=this.Bkl("completionThreshold");
var uZc=this.getElementText(HeF);
Unn=parseFloat(uZc);
}
if(isNaN(Unn)){
return undefined;
}
return Unn;
};
this.getTimeLimitAction=function(){
if(isUndefined(Krc)){
var HeF=this.Bkl("timeLimitAction");
Krc=this.getElementText(HeF);
if(isUndefined(Krc)||Krc.length===0){
Krc="continue,no message";
}
}
return Krc;
};
this.getMaxTimeAllowed=function(dXP){
if(isUndefined(VLi)){
if(dXP<2004){
var HeF=this.Bkl("maxtimeallowed");
VLi=this.getElementText(HeF);
}
else{
VLi=this.hxc().bul().Pjq();
}
}
return VLi;
};
this.uqA=function(){
var HeF=this.Bkl("masteryscore");
var uZc=this.getElementText(HeF);
var vZh=parseFloat(uZc);
if(isNaN(vZh)){
return undefined;
}
else{
return vZh/100;
}
};
this.setScaledPassingScore=function(GwF,dXP){
if(dXP>1.2){
var mAK=this.hxc().bWP().hKC();
var raD=mAK.FXu();
mAK.setSatisfiedByMeasure(true);
mAK.setMinNormalizedMeasure(GwF);
}
PMe=GwF;
};
this.getScaledPassingScore=function(dXP){
if(isUndefined(PMe)){
if(dXP<2004){
PMe=this.uqA();
}
else{
var mAK=this.hxc().bWP().hKC();
var raD=mAK.FXu();
var GwF=mAK.vjl();
if(raD){
if(isUndefined(GwF)){
PMe=1.0;
}
else{
PMe=GwF;
}
}
else{
PMe=undefined;
}
}
}
return PMe;
};
this.getResource=function(){
var ZiY=this.Bkl("resource");
var jsx=this.tpc();
var dXP=undefined
if(tZY){
dXP=tZY.getScormVersion();
}
return new icodeon.Resource(ZiY,jsx,dXP);
};
this.hxc=function(){
if(isUndefined(mNp)){
var Ndd=this.Bkl("sequencing");
if(isUndefined(Ndd)){
mNp=new icodeon.MvC(undefined,this);
}
else{
mNp=new icodeon.MvC(Ndd,this);
}
}
return mNp;
};
this.isLeaf=function(){
var NdH=this.Xkp("item");
if(isUndefined(NdH)||NdH.length===0){
return true;
}
return false;
};
this.isSco=function(){
if(this.getResource()&&this.getResource().getScormType().toLowerCase()=="sco"){
return true;
}
return false;
};
this.isRoot=function(){
if(isUndefined(this.getParent())){
return true;
}
return false;
};
this.XUU=function(ZFc){
this.lgg.push(ZFc);
};
this.MiO=function(ZFc){
var MRD=ZFc.VHf(this.getIdentifier());
if(this.BSj(MRD)){
return true;
}
return false;
};
this.XpF=function(ZFc){
if(!ZFc){return false;}
if(this.fYm()>ZFc.fYm()){
return true;
}
return false;
};
this.xsZ=function(ZFc){
if(!ZFc){return false;}
if(this.fYm()<ZFc.fYm()){
return true;
}
return false;
};
this.ncc=function(ZFc){
if(isUndefined(ZFc)){
return false;
}
if(ZFc.isRoot()){
return false;
}
var gVZ=ZFc.getParent().getAvailableChildren();
var oXU=gVZ.length-1;
var DAJ;
do{
DAJ=gVZ [oXU];
if(DAJ.BSj(this)){
return true;
}--oXU;
}
while(oXU>=0);
return false;
};
this.BPA=function(){
if(this.isRoot()){return false;}
var jvp=this.getParent();
if(jvp.hasAvailableChildren()){
var dGN=jvp.getAvailableChildren();
var VVF=dGN.length;
for(var oXU=0;oXU<VVF;oXU++){
if(this.BSj(dGN[oXU])){
return true;
}
}
}
return false;
};
this.cqo=function(){
if(this.isRoot()){return false;}
var jvp=this.getParent();
if(jvp.hasAvailableChildren()){
var dGN=jvp.getAvailableChildren();
if(this.BSj(dGN[0])){
return true;
}
}
return false;
};
this.fef=function(){
if(this.isRoot()){return false;}
var jvp=this.getParent();
if(jvp.hasAvailableChildren()){
var dGN=jvp.getAvailableChildren();
if(this.BSj(dGN[dGN.length-1])){
return true;
}
}
return false;
};
this.getParent=function(){
return dme;
};
this.hasAvailableChildren=function(){
var dGN=this.getAvailableChildren();
if(!isUndefined(dGN)&&dGN&&dGN.length>0){
return true;
}
return false;
};
this.UFA=function(){
if(this.hasAvailableChildren()){
var dGN=this.getAvailableChildren();
return dGN[0];
}
};
this.getAvailableChildren=function(){
if(this.lgg.length===0){
return;
}
return this.lgg;
};
var TgU;
this.Tht=function(){
if(!TgU){
TgU=[];
this.Koq(this,undefined,TgU);
}
return TgU;
}
this.VHf=function(vPu){
return this.Koq(this,vPu);
};
this.Koq=function(ZFc,vPu,wYU){
if(typeof(wYU)!="undefined"){
wYU.push(ZFc);
}
if(ZFc.getIdentifier()==vPu){
return ZFc;
}
var dGN=ZFc.getAvailableChildren();
if(!isUndefined(dGN)){
var klq=dGN.length;
for(var oXU=0;oXU<klq;oXU++){
var cEw=this.Koq(dGN[oXU],vPu,wYU);
if(!isUndefined(cEw)){
return cEw;
}
}
}
};
this.BSj=function(ZFc){
if(isUndefined(ZFc)){return false;}
if(ZFc===null){return false;}
if(typeof(ZFc)=="object"){
return this.getIdentifier()==ZFc.getIdentifier();
}
return false;
};
this.YQZ=function(ZFc){
while(!ZFc.isRoot()){
ZFc=ZFc.getParent();
}
return ZFc;
};
this.isDisabledForPrevious=function(){
if(!this.isRoot()){
var jvp=this.getParent();
if(!jvp.hxc().ngr().SXD()){
return true;
}
if(jvp.hxc().ngr().uGL()){
return true;
}
}
else{
return true;
}
var fQS=this.canSequence(icodeon.SequencingEngine.PREVIOUS);
if(!fQS){
return true;
}
return false;
};
this.isDisabledForContinue=function(){

if(!this.isRoot()){
var jvp=this.getParent();
if(!jvp.hxc().ngr().SXD()){
return true;
}
}

var fQS=this.canSequence(icodeon.SequencingEngine.CONTINUE);
if(!fQS){
return true;
}
return false;
};
this.isDisabledForChoice=function(){
var wYU=this.CDA();
var oXU=wYU.length-1;
var mNp=undefined;
var JuT=false;
var Pod=false;
var Jkl=false;
do{
mNp=wYU[oXU].hxc();
if(!isUndefined(mNp.EHt())){
JuT=true;
break;
}
if(!isUndefined(mNp.bul())){
Pod=true;
break;
}
if(mNp.ngr().OwQ()==false){
Jkl=true;
break;
}--oXU;
}
while(oXU>=0);
if(JuT==false&&Pod==false&&Jkl==false){
return false;
}
if(this.isLeaf()){
if(!this.getParent().hxc().ngr().OwQ()){
return true;
}
if(this.Qjc()){
return true;
}
return false;
}
else{
if(!this.isRoot()){
if(!this.getParent().hxc().ngr().OwQ()){
return true;
}
}
if(this.Qjc()){
return true;
}
}
return false;
};
this.Qjc=function(){

var UOi=new icodeon.pfn();
UOi.AEv(tZY);
var MBG=false;
try{
MBG=
UOi.aqZ(this);
if(MBG){
return true;
}
}
catch(xKU){
return true;
}
var DBQ=tZY.getCurrentActivity();
if(this.xsZ(DBQ)){
if(this.ncc(DBQ)){
if(this.getParent().hxc().ngr().uGL()){
return true;
}
}
}
var RAB=new icodeon.oUp().xAl;
if(this.XpF(DBQ)){
if(this.ncc(DBQ)){
var unt=UOi.eEq(this,RAB);
if(unt){
return true;
}
}
}
try{
icodeon.NavigationBehaviour.invoke(tZY,icodeon.SequencingEngine.CHOICE,this.getIdentifier(),false);
}
catch(xKU){
if(xKU.code){
if(xKU.code=="NB.2.1-8"){
return true;
}
}
}
if(DBQ){
var EEO=
tZY.MMW(DBQ,this);
var jkv=this;
try{
var OBG=0;
if(jkv.BSj(DBQ)){OBG=1;}
else if(jkv.ncc(DBQ)){OBG=2;}
else if(EEO.BSj(DBQ)||isUndefined(DBQ)){OBG=3;}
else if(EEO.BSj(jkv)){OBG=4;}
else if(jkv.MiO(EEO)){OBG=5;}
switch(OBG){
case 1:
icodeon.SequencingBehaviour.mhu();
break;
case 2:
icodeon.SequencingBehaviour.ebO(tZY,DBQ,jkv)
break;
case 3:
icodeon.SequencingBehaviour.Zpu(tZY,EEO,jkv);
break;
case 4:
icodeon.SequencingBehaviour.UjW(tZY,EEO,DBQ);
break;
case 5:
icodeon.SequencingBehaviour.bxM(tZY,EEO,DBQ,jkv);
break;
}
}
catch(xKU){
if(xKU.code){
if(xKU.code=="SB.2.2-1"){
return true;
}
if(xKU.code=="SB.2.9-7"){
return true;
}
if(xKU.code=="SB.2.9-8"){
return true;
}
if(xKU.code=="SB.2.4-1"){
return true;
}
if(xKU.code=="SB.2.4-2"){
return true;
}
}
}
}
try{
var Nqr;
if(this.isLeaf()){
Nqr=this;
}
else{
var JNV=icodeon.SequencingBehaviour.iGs(tZY,this,icodeon.SequencingBehaviour.jfB,true);
Nqr=JNV.pmn();
}
icodeon.mAu.NAZ(tZY,Nqr,false);
}
catch(xKU){
if(xKU.code){
if(xKU.code=="SB.2.2-1"){
return true;
}
if(xKU.code=="SB.2.2-2"){
return true;
}
if(xKU.code=="DB.1.1-3"){
return true;
}
}
}
return false;
};

this.ETl=function(){
if(this.isLeaf()){
var jvp=this.getParent();
var WQV=jvp.isActive();
var DwS=
jvp.hxc().rum().Nce();
if(!WQV&&DwS){
return true;
}
}
else{
if(!this.isActive()&&this.hxc().rum().Nce()){
return true;
}
}

if(!this.isActive()){
try{
icodeon.NavigationBehaviour.invoke(tZY,icodeon.SequencingEngine.CHOICE,this.getIdentifier(),false);
}
catch(xKU){
if(xKU.code&&xKU.code=="NB.2.1-8"){
return true;
}
}
}
if(!tZY.Exc()){
return false;
}
try{
icodeon.SequencingBehaviour.wEF(tZY,this);
}
catch(xKU){
return true;
}
return false;
};
this.canSequence=function(vTS){
var Lih=tZY.tUe();
var AJd=
icodeon.EngineFactory.instance(Lih,false);
if(isUndefined(Lih.getCurrentActivity())){
return false;
}
try{
icodeon.NavigationBehaviour.invoke(Lih,vTS,undefined,false);
if(vTS==icodeon.SequencingEngine.PREVIOUS){
icodeon.SequencingBehaviour.hRf(Lih,false);
}
}
catch(xKU){
return false;
}
return true;
};
this.isHiddenForPrevious=function(){
return this.ZNC("previous");
};
this.isHiddenForContinue=function(){
return this.ZNC("continue");
};
this.isHiddenForExit=function(){
return this.ZNC("exit");
};
this.isHiddenForChoice=function(){
if(!this.isVisible()){
return true;
}
if(this.ETl()){
return true;
}
return false;
};
this.ZNC=function(utR){
var TQE=this.GSa();
if(!KRc){
KRc=TQE.hJS().UBK();
}
if(KRc[utR]){
return true;
}
return false;
};
this.rJA=function(){
if(isUndefined(Pft)){
Pft=[];
var OZU=this.hxc().bWP().getObjectiveSet();
var VVF=OZU.length;
var Eel=undefined;
var YjQ=0;
var qGw=[];
for(var oXU=0;oXU<VVF;oXU++){
qGw=OZU[oXU].bSC();
YjQ=qGw.length;
for(var bkQ=0;bkQ<YjQ;bkQ++){
Eel=qGw[bkQ];
Pft.push(Eel.Psq());
}
}
}
return Pft;
};
this.kVw=function(CwZ){
var OZU=this.hxc().bWP().getObjectiveSet();
var VVF=OZU.length;
var Eel=undefined;
var YjQ=0;
var tjX=[];
for(var oXU=0;oXU<VVF;oXU++){
tjX=OZU[oXU].icn();
YjQ=tjX.length;
for(var bkQ=0;bkQ<YjQ;bkQ++){
Eel=tjX[bkQ];
if(Eel.Psq()==CwZ){
return true;
}
}
}
return false;
};
this.toString=function(){
var Uol="Type: "+typeof(this)+"\n";
Uol+="title: "+this.getTitle()+"\n";
Uol+="identifier: "+this.getIdentifier()+"\n";
Uol+="isvisible: "+this.isVisible()+"\n";
Uol+="leaf: "+this.isLeaf()+"\n";
Uol+="active: "+this.isActive()+"\n";
Uol+="root: "+this.isRoot()+"\n";
return Uol;
};
};
icodeon.Activity.prototype=new icodeon.fhR();
delete icodeon.Activity.prototype.xUn;
icodeon.Activity.prototype.constructor=icodeon.Activity;
icodeon.ActivityTree=function(DRZ,JbI,QHZ){
this.JbI=JbI;
var mNi;
var AVx;
var MMs;
var xUn;
var pom;
var AZp=true;
var ntd=false;
var CUd="sequencingCollection";
var FPj="globalObjectives";
var MZh="organizations";
var JHd="identifiers";
var jBn="organization";
var WcF="orgID";
var Lmo="schemaVersion";
var lUt="objectivesGlobalToSystem";
var SwK="1.1";
var sqf="1.2";
var HvP="CAM 1.3";
var rQe="2004 3rd Edition";
var fnr=sqf;
var rgG=true;
var HAJ=true;
if(DRZ.nodeType==9){

AVx=DRZ.documentElement;
}
else if(DRZ.nodeType==1){

AVx=DRZ;
}
else{
throw new Error("Unsupported object type in activity tree constructor: "+DRZ);
}
if(AVx.tagName.indexOf("Envelope")!=-1){
var oJm=new icodeon.DefinitionType(AVx);
var pAH=oJm.Bkl("Body");
var xsW=new icodeon.DefinitionType(pAH);
var FOB=xsW.VNp(pAH,"manifest");
MMs=new icodeon.DefinitionType(FOB);
}
else if(AVx.tagName.indexOf("manifest")!=-1){
MMs=new icodeon.DefinitionType(AVx);
}
else if(AVx.tagName.indexOf("organization")!=-1){
xUn=AVx;
}
else{
throw new Error("Unsupported element in activity tree constructor: "+AVx.tagName);
}
var XTr=undefined;
var fBZ=undefined;
if(!isUndefined(MMs)){
var XTr=MMs.Bkl(MZh);
var fBZ=new icodeon.DefinitionType(XTr);
if(isUndefined(this.JbI)){
var RRs=fBZ.Bkl(JHd);
var qWu=RRs.getAttributeNode(WcF);
if(qWu){
this.JbI=qWu.value;
}
}
}
if(isUndefined(xUn)){
var MHB=fBZ.Xkp(jBn);
if(isUndefined(MHB)||!MHB.length||MHB.length==0){
HAJ=false;
}
if(HAJ){
var VVF=MHB.length;
icodeon.Organizations=[VVF];
var bei;
var xUn;
for(var oXU=0;oXU<VVF;oXU++){
bei=new icodeon.fhR(MHB[oXU]);
icodeon.Organizations[oXU]=bei;
if(bei.getIdentifier()==this.JbI){
xUn=MHB[oXU];
AZp=bei.getObjectivesGlobalToSystem();
}
}
if(isUndefined(bei)){
HAJ=false;
}
else{
if(isUndefined(QHZ)||!QHZ){

var oFK=MMs.Bkl(FPj);
var Ykg=true;
icodeon.GlobalObjectives=new icodeon.Ofm(oFK,Ykg,this);

var KuN=MMs.Bkl(CUd);
if(!KuN){
icodeon.jOB=new icodeon.ukx();
}
else{
icodeon.jOB=new icodeon.ukx(KuN);
}
}
}
}
}
icodeon.DefinitionType.call(this,xUn);
var VpG=0;
var dpw=function(ZFc,naD,kZG){
if(!ntd){
if(ZFc.Exc()){
ntd=true;
}
}
pom.push(ZFc);
var NdH=ZFc.Xkp("item");
if(!NdH||NdH.length===0){
return;
}
naD=naD+1;
var VVF=NdH.length;
var CVc;
for(var oXU=0;oXU<VVF;oXU++){
VpG++;
CVc=new icodeon.Activity(NdH[oXU],ZFc,naD,kZG,VpG);
ZFc.XUU(CVc);
dpw(CVc,naD,kZG);
}
};
if(HAJ){


mNi=new icodeon.Activity(xUn,undefined,0,this,0);
pom=[];
dpw(mNi,0,this);
}
this.getOrgID=function(){
return this.JbI;
}
this.tUe=function(){
return new icodeon.ActivityTree(xUn.cloneNode(true),this.getRoot().getIdentifier(),true);
};
this.Exc=function(){
return ntd;
}
this.setNavigationRequestType=function(Rqo){
if(isUndefined(MMs)){
throw new Error("No manifest element defined");
}
var MPA=MMs.Bkl("navRequest");
if(MPA){
while(MPA.hasChildNodes()){
MPA.removeChild(MPA.firstChild);
}
if(DRZ.nodeType==9){
var lVO=DRZ.createTextNode(Rqo)
MPA.appendChild(lVO);
}
}
}
this.pIu=function(Cci){
if(isUndefined(MMs)){
throw new Error("No manifest element defined");
}
var hQR=MMs.Bkl("syncClientServer");
if(hQR){
while(hQR.hasChildNodes()){
hQR.removeChild(hQR.firstChild);
}
if(DRZ.nodeType==9){
var lVO=DRZ.createTextNode(Cci)
hQR.appendChild(lVO);
}
}
}
this.setCurrentActivity=function(ZFc){
var wYU=this.getAvailableActivityList();
var oXU=wYU.length-1;
do{
if(wYU[oXU].isCurrent()){
wYU[oXU].jGt(false);
break;
}--oXU;
}
while(oXU>=0);
if(ZFc&&ZFc!==null){
ZFc.jGt(true);
}
};
this.getCurrentActivity=function(){
var DBQ;
var wYU=this.getAvailableActivityList();
var oXU=wYU.length-1;
do{
if(wYU[oXU].isCurrent()){
DBQ=wYU[oXU];
break;
}--oXU;
}
while(oXU>=0);
if(!isUndefined(DBQ)&&DBQ!==null){
return DBQ;
}
return undefined;
};
this.wvR=function(ZFc){
var wYU=this.getAvailableActivityList();
var oXU=wYU.length-1;
do{
if(wYU[oXU].tVP()){
wYU[oXU].IAQ(false);
break;
}--oXU;
}
while(oXU>=0);
if(isUndefined(ZFc)||ZFc===null){
return;
}
ZFc.IAQ(true);
ZFc.csO(true);
};
this.getSuspendedActivity=function(){
var FpE;
var wYU=this.getAvailableActivityList();
var oXU=wYU.length-1;
do{
if(wYU[oXU].tVP()){
FpE=wYU[oXU];
break;
}--oXU;
}
while(oXU>=0);
return FpE;
};
this.Qpj=function(){
var ApN=this.getAvailableActivityList().length;
return this.getAvailableActivityList()[ApN-1];
};
this.getSchemaVersion=function(){
return this.getValue(Lmo,fnr);
};
this.getScormVersion=function(){
var NvA=this.getSchemaVersion();
if(NvA==SwK){
return 1.1;
}
else if(NvA==HvP){
return 2004.2;
}
else if(NvA==rQe){
return 2004.310;
}
return 1.2;
};
this.getObjectivesGlobalToSystem=function(){
return AZp;
};
this.getGlobalObjectives=function(){
if(icodeon.GlobalObjectives){
return icodeon.GlobalObjectives;
}
};
this.getID=function(){
return this.getValue("pk",undefined);
};
this.getRoot=function(){
return mNi;
};
this.getAvailableActivityList=function(){
return pom;
};
this.CDA=function(MRD,wNx){
var THh=[];
if((isUndefined(MRD))||(isUndefined(wNx))){
return THh;
}
if((null===MRD)||(null===MRD)){
return THh;
}
if(MRD.BSj(wNx)){
THh.push(MRD);
return THh;
}
THh.push(MRD);
while(!isUndefined(MRD.getParent())){
MRD=MRD.getParent();
THh.push(MRD);
if(MRD.BSj(wNx)){
break;
}
}
return THh;
};
this.getDescendingActivityPath=function(wNx,MRD){
var THh=this.CDA(MRD,wNx);
return THh.reverse();
};
this.MMW=function(fVD,euQ){
if(isUndefined(fVD)||isUndefined(euQ)){return;}
if(null===fVD||null===euQ){return;}
if(fVD.isRoot()||euQ.isRoot()){return this.getRoot();}
if(fVD.BSj(euQ)){return fVD.getParent();}
var UUv=this.getDescendingActivityPath(this.getRoot(),fVD);
var VVF=UUv.length;
var GcU=this.getDescendingActivityPath(this.getRoot(),euQ);
var sHu=UUv.length;
if(sHu<VVF){
VVF=sHu;
}
for(var oXU=0;oXU<VVF;oXU++){
if(!UUv[oXU].BSj(GcU[oXU])){
return UUv[oXU].getParent();
}
}
if(VVF==sHu){
return euQ.getParent();
}
return fVD.getParent();
};
this.cbN=function(fVD,euQ){
if(isUndefined(fVD)||isUndefined(euQ)){return false;}
if(null===fVD||null===euQ){return false;}
if(fVD.BSj(euQ)){return false;}
var wYU=this.getAvailableActivityList();
var VVF=wYU.length;
var TDt=undefined;
var RFM=undefined;
for(var oXU=0;oXU<VVF;oXU++){
if(wYU[oXU].BSj(fVD)){
TDt=oXU;
}
else if(wYU[oXU].BSj(euQ)){
RFM=oXU;
}
if(!isUndefined(TDt)&&!isUndefined(RFM)){
break;
}
}
if(TDt>RFM){
return true;
}
return false;
};
this.findByName=function(MLc){

var ggc=this.getAvailableActivityList();
var oXU=ggc.length-1;
do{
if(ggc[oXU].getIdentifier()==MLc){
return ggc[oXU];
}--oXU;
}
while(oXU>=0);
};
this.getSourceDocumentElement=function(){
return DRZ;
};
this.YLu=function(){
return new String(doSerialize(DRZ));
};
this.ZCB=function(){
var VNi=new icodeon.HashTable();
var DBQ=this.getCurrentActivity();
if(isUndefined(DBQ)){
return VNi;
}
VNi.put(DBQ.getIdentifier(),DBQ);
var ENc=DBQ.rJA();
var oXU=ENc.length-1;
var CwZ=undefined;
var HKS=this.getAvailableActivityList();
var ctH=HKS.length;
var HwV=undefined;
var MLc=undefined;
do{
CwZ=ENc[oXU];
for(var bkQ=0;bkQ<ctH;bkQ++){
if(HKS[bkQ].kVw(CwZ)){
if(!HKS[bkQ].isRoot()){
HwV=HKS[bkQ].getParent();
MLc=HwV.getIdentifier();
if(!VNi.contains(MLc)){
VNi.put(MLc,HwV);
}
}
}
}--oXU;
}
while(oXU>=0);
return VNi;
};
this.BkR=false;
this.jAw=function(){
this.BkR=true;
var RRH=this.ZCB();
var NJa=new icodeon.SXF();
NJa.AEv(this);
var AOP=undefined;
while(RRH.size()!=0){
AOP=IxF(RRH,this);
NJa.FqY(AOP);
RRH.remove(AOP.getIdentifier());
break;
}
this.BkR=false;
};
var IxF=function(ZUR,kZG){
var vAa=ZUR.elements();
var oXU=vAa.length-1;
var ZFc=undefined;
var CwZ=undefined;
var HKS=kZG.getAvailableActivityList();
var ctH=HKS.length;
var AOP=vAa[oXU];
do{
ZFc=vAa[oXU];
if(ZFc.getDepth()>AOP.getDepth()){
AOP=ZFc;
}--oXU;
}
while(oXU>=0);
return AOP;
};
this.toString=function(){
var Uol="Type: "+typeof(this)+"\n";
Uol+="title: "+this.getRoot().getTitle()+"\n";
Uol+="identifier: "+this.getRoot().getIdentifier()+"\n";
Uol+="objectivesGlobalToSystem: "+this.getObjectivesGlobalToSystem()+"\n";
Uol+="schemaVersion: "+this.getSchemaVersion()+"\n";
return Uol;
};
};
icodeon.ActivityTree.prototype=new icodeon.DefinitionType();
delete icodeon.ActivityTree.prototype.xUn;
icodeon.ActivityTree.prototype.constructor=icodeon.ActivityTree;

icodeon.Resource=function(xUn,eJH,dXP){
icodeon.DefinitionType.call(this,xUn);
var Aae=function(jJW,jsx){
if(isUndefined(jsx)||jsx===null||jsx.length===0){
return jJW;
}
var lSf=jsx.substring(0,1);
if(dXP&&dXP<2004){
if(lSf=="?"||lSf=="#"){
jJW+=jsx;
}
return jJW;
}
var lSf=jsx.substring(0,1);
while(lSf=="?"||lSf=="&"){
jsx=jsx.substring(1,jsx.length);
lSf=jsx.substring(0,1);
}
if(jsx.substring(0,1)=="#"){
if(jJW.indexOf("#")!==0){
jsx=undefined;
}
else{
jJW+=jsx;
}
return jJW;
}
if(jJW.indexOf("?")!=-1){
jJW+="&";
}
else{
jJW+="?";
}
jJW+=jsx;
return jJW;
};
this.getURI=function(){
var jJW=this.WPa();
jJW=Aae(jJW,eJH);
var Ibs=this.BFp();
if(isUndefined(Ibs)){
return jJW;
}
return Ibs.concat(jJW);
};
this.getType=function(){
return this.getValue("type",undefined);
};
this.WPa=function(){
return this.getValue("href","");
};
this.tpc=function(){
return eJH;
};
this.getScormType=function(){
return this.getValue("scormType","asset");
};
this.BFp=function(){
return this.getValue("xmlBase","");
};
this.toString=function(){
var Uol="Type: "+typeof(this)+"\n";
Uol+="href: "+this.WPa()+"\n";
Uol+="type: "+this.getType()+"\n";
Uol+="scormType: "+this.getScormType()+"\n";
Uol+="xmlBase: "+this.BFp()+"\n";
Uol+="parameters: "+this.tpc()+"\n";
Uol+="URI: "+this.getURI()+"\n";
return Uol;
};
};
icodeon.Resource.prototype=new icodeon.DefinitionType();
delete icodeon.Resource.prototype.xUn;
icodeon.Resource.prototype.constructor=icodeon.Resource;
var icodeon;
if(!icodeon){icodeon={};}
else if(typeof icodeon!="object"){throw new Error("namepsace icodeon exists");}
if(!icodeon.TerminationBehaviour){icodeon.TerminationBehaviour={};}
else if(typeof icodeon.TerminationBehaviour!="object"){
throw new Error("namepsace icodeon.TerminationBehaviour exists");}
icodeon.TerminationBehaviour.terminationRequest=undefined;
icodeon.TerminationBehaviour.sequencingRequest=undefined;
icodeon.TerminationBehaviour.invoke=
function(kZG,FYF){
icodeon.TerminationBehaviour.terminationRequest=undefined;
icodeon.TerminationBehaviour.sequencingRequest=undefined;
icodeon.TerminationBehaviour.qcT(kZG,FYF);
};
icodeon.TerminationBehaviour.ZWe=
function(kZG,DBQ){
var oUp=new icodeon.oUp();
var wNx=kZG.getRoot();
var JTD=DBQ.getParent();
var xpK=undefined;
var UOi=new icodeon.pfn();
UOi.AEv(kZG);
var EIW=kZG.getDescendingActivityPath(wNx,JTD);
var VVF=EIW.length;
var unt=undefined;
for(var oXU=0;oXU<VVF;oXU++){
unt=UOi.eEq(EIW[oXU],oUp.kmw);
if(!isUndefined(unt)){
xpK=EIW[oXU];
break;
}
}
if(!isUndefined(xpK)){
UOi.HmA(xpK);
UOi.KqS(xpK);
kZG.setCurrentActivity(xpK);
}
};
icodeon.TerminationBehaviour.Ujp=
function(kZG,DBQ){
var oUp=new icodeon.oUp();
icodeon.TerminationBehaviour.terminationRequest=undefined;
if(DBQ.sep()){return;}
var UOi=new icodeon.pfn();
UOi.AEv(kZG);
log.debug("TB.2.2.2");
var unt=UOi.eEq(DBQ,oUp.gDM);
if(!isUndefined(unt)){
log.debug("TB.2.2.3");
if(unt==oUp.bpV||unt==oUp.uuM||unt==oUp.kZd){
if(unt==oUp.bpV){
icodeon.TerminationBehaviour.cbu(DBQ,UOi);
}
icodeon.TerminationBehaviour.sequencingRequest=unt;
return;
}
if(unt==oUp.hgj||unt==oUp.dpr){
icodeon.TerminationBehaviour.terminationRequest=unt;
return;
}
if(unt==oUp.MRL){
icodeon.TerminationBehaviour.terminationRequest=
oUp.dpr;
icodeon.TerminationBehaviour.sequencingRequest=
oUp.bpV;
return;
}
}
};
icodeon.TerminationBehaviour.cbu=function(ZFc,UOi){
var PCL=ZFc.hxc().ngr();
if(PCL.Smf()){
UOi.OTZ(ZFc);
}
if(PCL.Wop()){
UOi.iGe(ZFc);
}
}
icodeon.TerminationBehaviour.qcT=
function(kZG,FYF){
var DBQ=kZG.getCurrentActivity();
var XNQ=false;
if(!isUndefined(DBQ)){XNQ=true;}
var hxU=kZG.getSuspendedActivity();
var iqH=false;
if(!isUndefined(hxU)){iqH=true;}
if(!XNQ){
throw icodeon.SequencingBehaviourError.KER;
}
var fWY=false;
if(FYF==icodeon.SequencingEngine.EXIT||FYF==icodeon.SequencingEngine.ABANDON){
fWY=true;
}
if(fWY&&(!DBQ.isActive())){
throw icodeon.SequencingBehaviourError.gmd;
}
switch(FYF){
case icodeon.SequencingEngine.EXIT:
icodeon.TerminationBehaviour.vKa(kZG,DBQ);
break;
case icodeon.SequencingEngine.ABANDON:
icodeon.TerminationBehaviour.Wrd(kZG,DBQ);
break;
case icodeon.SequencingEngine.EXIT_ALL:
icodeon.TerminationBehaviour.hZI(kZG,DBQ);
break;
case icodeon.SequencingEngine.SUSPEND_ALL:
icodeon.TerminationBehaviour.sSe(kZG,DBQ);
break;
case icodeon.SequencingEngine.ABANDON_ALL:
icodeon.TerminationBehaviour.eqk(kZG,DBQ);
break;
default:
throw icodeon.SequencingBehaviourError.onJ;
}
if(FYF==icodeon.SequencingEngine.EXIT_ALL||FYF==icodeon.SequencingEngine.SUSPEND_ALL||FYF==icodeon.SequencingEngine.ABANDON_ALL){
if(icodeon.TerminationBehaviour.sequencingRequest==icodeon.SequencingEngine.EXIT){
kZG.setCurrentActivity(undefined);
}
}
};
icodeon.TerminationBehaviour.vKa=
function(kZG,DBQ){
var oUp=new icodeon.oUp();
var UOi=new icodeon.pfn();
UOi.AEv(kZG);
log.debug("TB.2.3.3.1");
UOi.KqS(DBQ);
log.debug("TB.2.3.3.2");
icodeon.TerminationBehaviour.ZWe(kZG,DBQ);
DBQ=kZG.getCurrentActivity();
var DdO=false;
do{
DdO=false;
icodeon.TerminationBehaviour.Ujp(kZG,DBQ);
if(icodeon.TerminationBehaviour.terminationRequest==
oUp.dpr){
icodeon.TerminationBehaviour.hZI(kZG,DBQ);
break;
}
if(icodeon.TerminationBehaviour.terminationRequest==
oUp.hgj){
if(!DBQ.isRoot()){
DBQ=DBQ.getParent();
kZG.setCurrentActivity(DBQ);
UOi.KqS(DBQ);
DdO=true;
}
else{
throw icodeon.SequencingBehaviourError.WII;
}
}
else{
if(DBQ.isRoot()&&(icodeon.TerminationBehaviour.sequencingRequest!=
oUp.bpV)){
log.debug("TB.2.3.3.3.5.1.1");
icodeon.TerminationBehaviour.sequencingRequest=
icodeon.SequencingEngine.EXIT;

icodeon.SequencingBehaviour.isSequencingFinished=true;
kZG.setCurrentActivity(undefined);
}
}
}
while(DdO);
};
icodeon.TerminationBehaviour.Wrd=
function(kZG,DBQ){
DBQ.setActive(false);
return;
};
icodeon.TerminationBehaviour.hZI=
function(kZG,DBQ){
var UOi=new icodeon.pfn();
UOi.AEv(kZG);
if(DBQ.isActive()){
UOi.KqS(DBQ);
}
var mNi=kZG.getRoot();
UOi.HmA(mNi);
UOi.KqS(mNi);
kZG.setCurrentActivity(mNi);
if(isUndefined(icodeon.TerminationBehaviour.sequencingRequest)){
icodeon.TerminationBehaviour.sequencingRequest=
icodeon.SequencingEngine.EXIT;
}
};
icodeon.TerminationBehaviour.sSe=
function(kZG,DBQ){
if(DBQ.isActive()||DBQ.sep()){
var NJa=new icodeon.SXF();
NJa.AEv(kZG);
NJa.FqY(DBQ);


}
else{
if(!DBQ.isRoot()){
DBQ.getParent().csO(true);
kZG.wvR(DBQ.getParent());
}
else{
throw icodeon.SequencingBehaviourError.EMf;
}
}

DBQ.csO(true);
kZG.wvR(DBQ);
var JTD=kZG.getSuspendedActivity();
var wNx=kZG.getRoot();
var kAT=
kZG.CDA(JTD,wNx);
var VVF=kAT.length;
if(VVF===0){
throw icodeon.SequencingBehaviourError.Kad;
}
for(var oXU=0;oXU<VVF;oXU++){
kAT[oXU].setActive(false);
kAT[oXU].csO(true);
}
kZG.setCurrentActivity(kZG.getRoot());
icodeon.TerminationBehaviour.sequencingRequest=icodeon.SequencingEngine.EXIT;
};
icodeon.TerminationBehaviour.eqk=
function(kZG,DBQ){
var mNi=kZG.getRoot();
var kAT=kZG.CDA(DBQ,mNi);
var VVF=kAT.length;
if(VVF===0){
throw icodeon.SequencingBehaviourError.VAA;
}
for(var oXU=0;oXU<VVF;oXU++){
kAT[oXU].setActive(false);
}
kZG.setCurrentActivity(mNi);
icodeon.TerminationBehaviour.sequencingRequest=
icodeon.SequencingEngine.EXIT;
};
var icodeon;
if(!icodeon){icodeon={};}
else if(typeof icodeon!="object"){throw new Error("namepsace icodeon exists");}
if(icodeon.Ofm){throw new Error("namespace icodeon.Objectives");}
if(icodeon.Objective){throw new Error("namespace icodeon.Objective");}
if(icodeon.VQI){throw new Error("namespace icodeon.MapInfo");}
if(icodeon.ActivityProgressInfo){throw new Error("namespace icodeon.ActivityProgressInfo exists");}
if(icodeon.AttemptProgressInfo){throw new Error("namespace icodeon.AttemptProgressInfo exists");}
if(icodeon.ObjectiveProgressInfo){throw new Error("namespace icodeon.ObjectiveProgressInfo exists");}
if(icodeon.RRW){throw new Error("namespace icodeon.GlobalObjectiveProgressInfo");}
icodeon.Ofm=function(xUn,Ykg,kZG,pif,ZFc){
this.WaK="primaryObjective";
this.sLM="objective";
var mAK=undefined;
icodeon.DefinitionType.call(this,xUn);
this.YLu=function(){
return doSerialize(xUn);
};
this.qFP=function(){
var fiu=new icodeon.HashTable();
var jxY=undefined;
var PSP=this.Xkp(this.sLM);
if(!isUndefined(PSP)){
var VVF=PSP.length;
for(var oXU=0;oXU<VVF;oXU++){
jxY=new icodeon.Objective(PSP[oXU],false,Ykg,pif,ZFc);
fiu.put(jxY.getObjectiveID(),jxY);
}
}
var xXQ=this.hKC();
if(!isUndefined(xXQ)){
fiu.put(xXQ.getObjectiveID(),xXQ);
}
return fiu;
};
this.jAw=function(){
if(!isUndefined(kZG)&!kZG.BkR){
kZG.jAw();
}
};
this.wee=function(hqJ){
return this.qFP().get(hqJ);
};
this.getObjectiveSet=function(){
return this.qFP().elements();
};
this.mVk=function(){
return this.hKC();
};
this.hKC=function(){
if(isUndefined(mAK)){
var YYb=this.Bkl(this.WaK);
if(!isUndefined(YYb)&&YYb!==null){
mAK=
new icodeon.Objective(YYb,true,false,pif,ZFc);
}
}
return mAK;
};
this.getObjectiveIfWrittenToBySuspendedActivity=function(CwZ)
{
var jxY=this.wee(CwZ);
if(isUndefined(jxY)){return undefined;}
if(!jxY.TYC()){return undefined;}
var wYU=kZG.getAvailableActivityList();
var VVF=wYU.length;
var GqW=0;
var GIq=undefined;
var EDX=0;
var ENS=undefined;
var rPT=undefined;
for(var oXU=0;oXU<VVF;oXU++)
{
if(!wYU[oXU].sep()){
continue;
}
GIq=
wYU[oXU].hxc().bWP().getObjectiveSet();
GqW=GIq.length;
for(var bkQ=0;bkQ<GqW;bkQ++)
{
ENS=GIq[bkQ].bSC();
EDX=ENS.length;
for(var IMs=0;IMs<EDX;IMs++)
{
rPT=ENS[IMs].Psq();
if(rPT==CwZ){
return jxY;
}
}
}
}
return undefined;
};
this.toString=function(){
var Uol="Type: "+typeof(this)+"\n";
return Uol;
};
};
icodeon.Ofm.prototype=new icodeon.DefinitionType();
delete icodeon.Ofm.prototype.xUn;
icodeon.Ofm.prototype.constructor=icodeon.Ofm;
icodeon.Ofm.factory=function(arJ){return new icodeon.Ofm(arJ);};
icodeon.Objective=function(xUn,wSM,Ykg,pif,ZFc){
this.otK="objectiveID";
this.ssq="objectiveProgressInfo";
this.Sxl="mapInfo";
this.hww=undefined;
this.cca=false;
var ZBR=false;
var hqJ=undefined;
var raD=undefined;
var GwF=undefined;
var Bgh=undefined;
var vTD=undefined;
var xRo=undefined;
var wlL=undefined;
var VFa=undefined;
var tHE=undefined;
var jes=[];
var jVt=[];
icodeon.DefinitionType.call(this,xUn);
this.getObjectiveID=function(){
if(!hqJ&&!ZBR){
hqJ=this.getValue(this.otK,this.hww);
ZBR=true;
}
return hqJ;
};
this.TSN=function(){
return wSM;
};
this.TYC=function(){
return Ykg;
};
this.FXu=function(){
if(isUndefined(raD)){
raD=this.getValue("satisfiedByMeasure",this.cca);
}
return raD;
};


this.xvq=function(){
return wSM;
};
this.getObjectiveProgressInfo=function(){
if(!Bgh){
var YYb=this.Bkl(this.ssq);
if(Ykg){
Bgh=
new icodeon.RRW(YYb);
}
else{
this.jBj(false);
Bgh=new icodeon.ObjectiveProgressInfo(YYb,VFa,tHE,jes,jVt,this.vjl(),this.FXu(),pif,ZFc);
}
}
return Bgh;
};
this.jBj=function(){
if(!vTD){
vTD=[];
var Eel=undefined;
var BNI=undefined;
var PSP=this.Xkp(this.Sxl);
if(!isUndefined(PSP)&&PSP.length!==0){
var VVF=PSP.length;
for(var oXU=0;oXU<VVF;oXU++){
Eel=new icodeon.VQI(PSP[oXU]);
BNI=GLi(Eel);
if(Eel.aUV()){
VFa=BNI;
}
if(Eel.acF()){
tHE=BNI;
}
if(Eel.fhM()){
jes.push(BNI);
}
if(Eel.Vcf()){
jVt.push(BNI);
}
vTD.push(Eel);
}
}
}
return vTD;
};
this.bSC=function(){
if(!xRo){
xRo=[];
var DnM=this.jBj();
var VVF=DnM.length;
for(var oXU=0;oXU<VVF;oXU++){
if(DnM[oXU].fhM()||DnM[oXU].Vcf()){
xRo.push(DnM[oXU]);
}
}
}
return xRo;
};
this.icn=function(){
if(!wlL){
wlL=[];
var DnM=this.jBj();
var VVF=DnM.length;
for(var oXU=0;oXU<VVF;oXU++){
if(DnM[oXU].aUV()||DnM[oXU].acF()){
wlL.push(DnM[oXU]);
}
}
}
return wlL;
};
this.hasSatisfiedStatusReadMap=function(){
var DZb=this.icn();
var VVF=DZb.length
if(VVF==0){
return false;
}
else{
for(var oXU=0;oXU<VVF;oXU++){
if(DZb[oXU].aUV()){
return true;
}
}
}
return false;
};
this.hasNormalizedMeasureReadMap=function(){
var DZb=this.icn();
var VVF=DZb.length
if(VVF==0){
return false;
}
else{
for(var oXU=0;oXU<VVF;oXU++){
if(DZb[oXU].acF()){
return true;
}
}
}
return false;
};
var GLi=function(Eel){
var rPT=Eel.Psq();
var jxY=icodeon.GlobalObjectives.wee(rPT);
if(!jxY){
var EPl=Eel.FtW();
var Ifl=doCreateNewElement("objective","http://www.icodeon.com/services/ss",EPl);
doSetAttribute(Ifl,"objectiveID",rPT);
var drK=doCreateNewElement("objectiveProgressInfo","http://www.icodeon.com/services/ss",EPl);
doSetAttribute(drK,"progressStatus","false");
doSetAttribute(drK,"satisfiedStatus","false");
doSetAttribute(drK,"measureStatus","false");
doSetAttribute(drK,"normalizedMeasure","0.0");
Ifl.appendChild(drK);
icodeon.GlobalObjectives.getElement().appendChild(Ifl);
jxY=icodeon.GlobalObjectives.wee(rPT);
}
return jxY;
};
this.vjl=function(){
if(isUndefined(GwF)){
var evS=this.Bkl("minNormalizedMeasure");
var uZc=this.getElementText(evS);
GwF=parseFloat(uZc);
}
if(isNaN(GwF)){
return undefined;
}
return GwF;
};

this.toString=function(){
var Uol="Type: "+typeof(this)+"\n";
Uol+="objectiveID: "+this.getObjectiveID()+"\n";
Uol+="primary objective: "+wSM+"\n";
Uol+="global objective: "+Ykg+"\n";
return Uol;
};
};
icodeon.Objective.prototype=new icodeon.DefinitionType();
delete icodeon.Objective.prototype.xUn;
icodeon.Objective.prototype.constructor=icodeon.Objective;
icodeon.VQI=function(xUn){
this.Wiq="targetObjectiveID";
this.Bnb="readSatisfiedStatus";
this.Zug="readNormalizedMeasure";
this.gMt="writeSatisfiedStatus";
this.bBG="writeNormalizedMeasure";
this.daW=undefined;
this.Fno=true;
this.ZCQ=true;
this.Zdd=false;
this.bPX=false;
var rPT=undefined;
var oHG=undefined;
var ZSt=undefined;
var PgB=undefined;
var QXf=undefined;
icodeon.DefinitionType.call(this,xUn);
this.Psq=function(){
if(!rPT){
rPT=this.getValue(this.Wiq,this.daW);
}
return rPT;
};
this.aUV=function(){
if(isUndefined(oHG)){
oHG=this.getValue(this.Bnb,this.Fno);
}
return oHG;
};
this.acF=function(){
if(isUndefined(ZSt)){
ZSt=this.getValue(this.Zug,this.ZCQ);
}
return ZSt;
};
this.fhM=function(){
if(isUndefined(PgB)){
PgB=this.getValue(this.gMt,this.Zdd);
}
return PgB;
};
this.Vcf=function(){
if(isUndefined(QXf)){
QXf=this.getValue(this.bBG,this.bPX);
}
return QXf;
};
this.toString=function(){
var Uol="Type: "+typeof(this)+"\n";
Uol+="targetObjectiveID: "+this.Psq()+"\n";
Uol+="readSatisfiedStatus: "+this.aUV()+"\n";
Uol+="readNormalizedMeasure: "+this.acF()+"\n";
Uol+="writeSatisfiedStatus: "+this.fhM()+"\n";
Uol+="writeNormalizedMeasure: "+this.Vcf()+"\n";
return Uol;
};
};
icodeon.VQI.prototype=new icodeon.DefinitionType();
delete icodeon.VQI.prototype.xUn;
icodeon.VQI.prototype.constructor=icodeon.VQI;
icodeon.RRW=function(xUn){
icodeon.DefinitionType.call(this,xUn);
this.init=function(){
this.CWC(false);
this.RsA(false);
this.krQ(false);
this.qNc(0.0000);
}
this.cca=false;
this.Fkd=false;
this.Ybx=false;
this.lQG=false;
this.gBd=0.0;
this.nYQ="progressStatus";
this.OnG="satisfiedStatus";
this.xDB="measureStatus";
this.Aud="normalizedMeasure";
this.getProgressStatus=function(){
if(!xUn){return this.Fkd;}
return this.getValue(this.nYQ,this.Fkd);
};
this.CWC=function(nTr){
if(!xUn){return;}
if(typeof(nTr)=="boolean"){
this.Wdb(xUn,this.nYQ,nTr);
}
};
this.getSatisfiedStatus=function(){
if(!xUn){return this.Ybx;}
return this.getValue(this.OnG,this.Ybx);
};
this.RsA=function(nTr){
if(!xUn){return;}
if(typeof(nTr)=="boolean"){
this.Wdb(xUn,this.OnG,nTr);
}
};
this.getMeasureStatus=function(){
if(!xUn){return this.lQG;}
return this.getValue(this.xDB,this.lQG);
};
this.krQ=function(nTr){
if(!xUn){return;}
if(typeof(nTr)=="boolean"){
this.Wdb(xUn,this.xDB,nTr);
}
};
this.getNormalizedMeasure=function(){
if(!xUn){return this.gBd;}
var x=this.getValue(this.Aud,this.gBd);
return x;
};
this.qNc=function(YVK){
if(!xUn){return;}
if(isNaN(YVK)){return;}
this.Wdb(xUn,this.Aud,YVK);
};
this.toString=function(){
var Uol="Type: "+typeof(this)+"\n";
Uol+="progressStatus: "+this.getProgressStatus()+"\n";
Uol+="satisfiedStatus: "+this.getSatisfiedStatus()+"\n";
Uol+="measureStatus: "+this.getMeasureStatus()+"\n";
Uol+="normalizedMeasure: "+this.getNormalizedMeasure()+"\n";
return Uol;
};
};
icodeon.RRW.prototype=new icodeon.DefinitionType();
delete icodeon.RRW.prototype.xUn;
icodeon.RRW.prototype.constructor=icodeon.RRW;
icodeon.ObjectiveProgressInfo=function(xUn,VFa,tHE,jes,jVt,GwF,raD,pif,ZFc){
icodeon.DefinitionType.call(this,xUn);
this.Fkd=false;
this.Ybx=false;
this.lQG=false;
this.gBd=0.0;
this.nYQ="progressStatus";
this.OnG="satisfiedStatus";
this.xDB="measureStatus";
this.Aud="normalizedMeasure";
this.pVO="boolean";
this.fJi=4;
this.init=function(){
this.pEh(this.Fkd);
this.Cfl(this.Ybx);
this.HFH(this.lQG);
this.iNf(this.gBd);
this.hZv(false);
}
this.AfY=function(){
return this.getValue(this.nYQ,this.Fkd);
};
this.KVA=function(){
return this.getValue(this.OnG,this.Ybx);
};
this.IBw=function(){
return this.getValue(this.xDB,this.lQG);
};
this.LON=function(){
return this.getValue(this.Aud,this.gBd);
};
this.pEh=function(nTr){
if(typeof(nTr)==this.pVO){
this.Wdb(xUn,this.nYQ,nTr);
}
};
this.Cfl=function(nTr){
if(typeof(nTr)==this.pVO){
this.Wdb(xUn,this.OnG,nTr);
}
};
this.HFH=function(nTr){
if(typeof(nTr)==this.pVO){
this.Wdb(xUn,this.xDB,nTr);
}
};
this.iNf=function(Zdl){
if(!isNaN(Zdl)){

this.Wdb(xUn,this.Aud,Zdl);
}
};
this.getProgressStatus=function(){
var dxN=false;
if(raD){
var ePD=this.getMeasureStatus();
var Zdl=this.getNormalizedMeasure();
var Iwa=false;
if(Zdl>=GwF){
Iwa=true;
}
if(ePD&&Iwa){
dxN=true;
}
else if(ePD&&!Iwa){
dxN=true;
}
else if(!ePD){
dxN=false;
}
}
else{
dxN=this.AfY();
if(!dxN){
if(!isUndefined(VFa)){
dxN=
VFa.getObjectiveProgressInfo().getProgressStatus();
}
}
}
return dxN;
};
this.CWC=function(nTr){
if(!pif){return;}
if(typeof(nTr)==this.pVO){
this.pEh(nTr);
if(raD){
var ePD=this.IBw();
var Zdl=this.LON();
var Iwa=false;
if(Zdl>=GwF){
Iwa=true;
}
if(ePD&&Iwa){
nTr=true;
}
else if(!ePD&&Iwa){
nTr=true;
}
else if(!ePD){
nTr=false;
}
if(ePD){
var Qev=jes.length;
var Bgh=undefined;
for(var oXU=0;oXU<Qev;oXU++){
Bgh=jes[oXU].getObjectiveProgressInfo();
Bgh.CWC(nTr);
}
}
}
else{
if(nTr){
var Qev=jes.length;
var Bgh=undefined;
for(var oXU=0;oXU<Qev;oXU++){
Bgh=jes[oXU].getObjectiveProgressInfo();
Bgh.CWC(nTr);
}
}
}
}
};
this.getSatisfiedStatus=function(){
var dxN=false;
if(raD){
var ePD=this.getMeasureStatus();
var Zdl=this.getNormalizedMeasure();
var Iwa=false;
if(Zdl>=GwF){
Iwa=true;
}
if(ePD&&Iwa){
dxN=true;
}
else if(!ePD&&Iwa){
dxN=false;
}
else if(!ePD){
dxN=false;
}
}
else{
if(!isUndefined(VFa)){
var Bgh=VFa.getObjectiveProgressInfo();
var GgA=Bgh.getProgressStatus();
if(GgA){
dxN=Bgh.getSatisfiedStatus();
}
else{
dxN=this.KVA();
}
}
else{
dxN=this.KVA();
}
}
return dxN;
};
this.RsA=function(nTr){
if(!pif){return;}
if(typeof(nTr)==this.pVO){
this.Cfl(nTr);
if(raD){
var ePD=this.getMeasureStatus();
var Zdl=this.getNormalizedMeasure();

var Iwa=false;
if(Zdl>=GwF){
Iwa=true;
}
if(ePD&&Iwa){
nTr=true;
}
else if(!ePD&&Iwa){
nTr=false;
}
else if(!ePD){
nTr=false;
}
if(ePD){
var Qev=jes.length;
var Bgh=undefined;
for(var oXU=0;oXU<Qev;oXU++){
Bgh=jes[oXU].getObjectiveProgressInfo();
Bgh.RsA(nTr);
}
}
}
else{
var eGC=this.AfY();
if(eGC){
var Qev=jes.length;
var Bgh=undefined;
for(var oXU=0;oXU<Qev;oXU++){
Bgh=jes[oXU].getObjectiveProgressInfo();
Bgh.RsA(nTr);
}
}
}
}
};
this.getMeasureStatus=function(){
var dxN=this.IBw();
if(!dxN){
if(!isUndefined(tHE)){
dxN=
tHE.getObjectiveProgressInfo().getMeasureStatus();
}
}
return dxN;
};
this.krQ=function(nTr){
if(!pif){return;}
if(typeof(nTr)==this.pVO){
this.HFH(nTr);
if(nTr){
var DMi=jVt.length;
for(var oXU=0;oXU<DMi;oXU++){
Bgh=jVt[oXU].getObjectiveProgressInfo();
Bgh.krQ(nTr);
}
}
}
};
this.getNormalizedMeasure=function(){
var Zdl=0.0;
if(!isUndefined(tHE)){
var Bgh=
tHE.getObjectiveProgressInfo();
var rlR=Bgh.getMeasureStatus();
if(rlR){
Zdl=Bgh.getNormalizedMeasure();
}
else{
Zdl=this.LON();
}
}
else{
Zdl=this.LON();
}
Zdl=parseFloat(Zdl);
return Zdl;
};
this.qNc=function(Zdl){
if(!pif){return;}
if(!isNaN(Zdl)){
this.iNf(Zdl);
var ePD=this.IBw();
if(ePD){
var DMi=jVt.length;
for(var oXU=0;oXU<DMi;oXU++){
Bgh=jVt[oXU].getObjectiveProgressInfo();
Bgh.qNc(Zdl);
}
}

var Iwa=false;
if(Zdl>=GwF){
Iwa=true;
}
if(raD){
if(ePD&&Iwa){
this.CWC(true);
this.RsA(true);
}
else if(ePD&&!Iwa){
this.CWC(true);
this.RsA(false);
}
else if(!ePD){
this.CWC(false);
this.RsA(false);
}
}
}
};
this.BFr=function(){
var eGC=this.AfY();
var Ypl=this.KVA();
var gYm=this.IBw();
var oAi=this.LON();
var igc=false;
if(raD){
var Iwa=false;
if(oAi>=GwF){
Iwa=true;
}
if(gYm&&Iwa){
eGC=true;
Ypl=true;
}
else if(gYm&&!Iwa){
eGC=true;
Ypl=false;
}
else if(!gYm){
eGC=false;
Ypl=false;
}
}
if(eGC){
var Qev=jes.length;
var Bgh=undefined;
for(var oXU=0;oXU<Qev;oXU++){
Bgh=jes[oXU].getObjectiveProgressInfo();
Bgh.CWC(eGC);
Bgh.RsA(Ypl);
}
if(Qev>0){
igc=true;
}
}
if(gYm){
var DMi=jVt.length;
for(var oXU=0;oXU<DMi;oXU++){
Bgh=jVt[oXU].getObjectiveProgressInfo();
Bgh.krQ(gYm);
Bgh.qNc(oAi);
}
if(DMi>0){
igc=true;
}
}
if(igc){
icodeon.GlobalObjectives.jAw();
}
};
this.hZv=function(nTr){
if(isUndefined(xUn)){return;}
if(typeof(nTr)=="boolean"){
this.Wdb(xUn,"recordedInPriorAttempt",nTr);
}
}
this.BOm=function(){
if(isUndefined(xUn)){return false;}
return this.getValue("recordedInPriorAttempt",false);
}
this.toString=function(){
var Uol="Type: "+typeof(this)+"\n";
Uol+="progressStatus: "+this.getProgressStatus()+"\n";
Uol+="satisfiedStatus: "+this.getSatisfiedStatus()+"\n";
Uol+="measureStatus: "+this.getMeasureStatus()+"\n";
Uol+="normalizedMeasure: "+this.getNormalizedMeasure()+"\n";
return Uol;
};
};
icodeon.ObjectiveProgressInfo.prototype=new icodeon.DefinitionType();
delete icodeon.ObjectiveProgressInfo.prototype.xUn;
icodeon.ObjectiveProgressInfo.prototype.constructor=icodeon.ObjectiveProgressInfo;
icodeon.ActivityProgressInfo=function(xUn,pif,ZFc){
icodeon.DefinitionType.call(this,xUn);
this.getProgressStatus=function(){
return this.getValue("progressStatus",false);
};
this.CWC=function(nTr){
if(!pif){return;}
if(typeof(nTr)=="boolean"){
this.Wdb(xUn,"progressStatus",nTr);
}
};
this.getAttemptCount=function(){
return this.getValue("attemptCount",0);
};
this.ZAx=function(){
if(!pif){return;}
var VVF=this.getAttemptCount();
if(isNaN(VVF)){
throw new ApplicationException("Current attempt count is undefined");
}
VVF=VVF+1;
this.Wdb(xUn,"attemptCount",VVF);
ZFc.ked();
return VVF;
};
this.QaQ=function(){
return "";
};
this.UvK=function(){
return "";
};
this.toString=function(){
var Uol="Type: "+typeof(this)+"\n";
Uol+="progressStatus: "+this.getProgressStatus()+"\n";
Uol+="attemptCount: "+this.getAttemptCount()+"\n";
Uol+="experiencedDuration: "+this.QaQ()+"\n";
Uol+="absoluteDuration: "+this.UvK()+"\n";
return Uol;
};
};
icodeon.ActivityProgressInfo.prototype=new icodeon.DefinitionType();
delete icodeon.ActivityProgressInfo.prototype.xUn;
icodeon.ActivityProgressInfo.prototype.constructor=icodeon.ActivityProgressInfo;
icodeon.AttemptProgressInfo=function(xUn,pif,ZFc){
icodeon.DefinitionType.call(this,xUn);
this.init=function(){
this.CWC(false);
this.Dgp(false);
this.mVB(0.0);
this.hZv(false);
};
this.getProgressStatus=function(){
if(!xUn){return false;}
return this.getValue("progressStatus",false);
};
this.CWC=function(nTr){
if(!pif){return;}
if(!xUn){return;}
if(typeof(nTr)=="boolean"){
this.Wdb(xUn,"progressStatus",nTr);
}
};
this.getCompletionStatus=function(){
if(!xUn){return false;}
return this.getValue("completionStatus",false);
};
this.Dgp=function(nTr){
if(!pif){return;}
if(!xUn){return;}
if(typeof(nTr)=="boolean"){
this.Wdb(xUn,"completionStatus",nTr);
}
};
this.QHG=function(){
if(!xUn){return 0.0;}
return this.getValue("completionAmount",0.0);
};
this.mVB=function(YVK){
if(!pif){return;}
if(!xUn){return;}
if(isNaN(YVK)){return;}
this.Wdb(xUn,"completionAmount",YVK);
};
this.hZv=function(nTr){
if(!xUn){return;}
if(typeof(nTr)=="boolean"){
this.Wdb(xUn,"recordedInPriorAttempt",nTr);
}
}
this.BOm=function(){
if(!xUn){return false;}
return this.getValue("recordedInPriorAttempt",false);
}
this.toString=function(){
var Uol="Type: "+typeof(this)+"\n";
Uol+="progressStatus: "+this.getProgressStatus()+"\n";
Uol+="completionStatus: "+this.getCompletionStatus()+"\n";
Uol+="completionAmount: "+this.QHG()+"\n";
return Uol;
};
};
icodeon.AttemptProgressInfo.prototype=new icodeon.DefinitionType();
delete icodeon.AttemptProgressInfo.prototype.xUn;
icodeon.AttemptProgressInfo.prototype.constructor=icodeon.AttemptProgressInfo;
var icodeon;
if(!icodeon){icodeon={};}
else if(typeof icodeon!="object"){throw new Error("namepsace icodeon exists");}
if(icodeon.pfn){throw new Error("namepsace icodeon.UtilityBehaviour exists");}
icodeon.pfn=function(){
var MvC=new icodeon.MvC();
var pCx=new icodeon.pCx();
var pwE=new icodeon.pwE();
var oUp=new icodeon.oUp();
icodeon.pCx.call(this);
this.chw=function(ZFc){
if(isUndefined(this.kZG)||this.kZG===null){
throw new ApplicationException("Activity tree not defined for limit conditions check.");
}
log.debug("UP.1.1");
var pif=ZFc.hxc().LnR().FKk();
if(!pif){
log.debug("UP.1.1.1");
return false;
}
if(ZFc.isActive()||ZFc.sep()){
log.debug("UP.1.2.1");
return false;
}
var DAM=ZFc.getActivityProgressInfo();
var gXq=ZFc.getAttemptProgressInfo();
var mAK=ZFc.hxc().bWP().hKC();
var Bgh=mAK.getObjectiveProgressInfo();
var TnJ=ZFc.hxc().bul();
log.debug("UP.1.3.1.1");
var AsK=TnJ.evaluate(DAM,gXq,Bgh);
return AsK;
};
this.eEq=function(ZFc,YXT){
if(this.rwQ){return;}
var unt;
var RAB=
ZFc.hxc().EHt().Knb(YXT);
if(!isUndefined(RAB)&&RAB.length&&RAB.length>0){
log.debug("UP.2.1.1");
var kXR=undefined;
var VVF=RAB.length;
for(var oXU=0;oXU<VVF;oXU++){
kXR=this.TUU(ZFc,RAB[oXU]);
if(kXR==oUp.csj){
unt=RAB[oXU].RQL();
break;
}
}
}
log.debug("UP.2.2");
return unt;
};
this.TUU=
function(ZFc,lbV){
var dgA=true;
var eeH=true;
var mNp=ZFc.hxc();
var pif=mNp.LnR().FKk();
return this.LmS(ZFc,lbV,pCx.jpg,dgA,eeH,pif,this.kZG.getScormVersion());
};
this.HmA=function(ZFc){
if(isUndefined(this.kZG)||this.kZG===null){
throw new ApplicationException("Activity tree not defined for terminate descendent attempts.");
}
var DBQ=this.kZG.getCurrentActivity();
var wNx=this.kZG.MMW(DBQ,ZFc);
var jSH=this.kZG.CDA(DBQ,wNx);
if(!isUndefined(jSH)&&jSH.length&&jSH.length>0){
if(jSH.length>0){
jSH.shift();
}
if(jSH.length>0){
jSH.pop();
}
var VVF=jSH.length;
if(VVF>0){
for(var oXU=0;oXU<VVF;oXU++){
this.KqS(jSH[oXU]);
}
}
}
};
this.KqS=function(ZFc){
var mNp=ZFc.hxc();
var pif=mNp.LnR().FKk();
if(ZFc.isSco()){
if(pif){
ZFc.FPT(this.kZG);
}
}
if(ZFc.isLeaf()){
log.debug("UP.4.1.1");
if(pif){
if(!ZFc.sep()){
var iPb=
mNp.LnR().DEA();
if(!iPb){
log.debug("UP.4.1.1.1.1");
var gXq=
ZFc.getAttemptProgressInfo();
if(!gXq.getProgressStatus()){
gXq.CWC(true);
gXq.Dgp(true);
}
}

var NEX=
mNp.LnR().Kib();
if(!NEX){
log.debug("UP.4.1.1.1.2");
var vQX=mNp.bWP();
var OZU=vQX.getObjectiveSet();
var oXU=OZU.length-1;
var jxY;
var Bgh;
do{
jxY=OZU[oXU];
if(jxY.xvq()){
Bgh=
jxY.getObjectiveProgressInfo();
if(!Bgh.getProgressStatus()){
Bgh.CWC(true);
Bgh.RsA(true);
}
}--oXU;
}
while(oXU>=0);
}
}
}
}
else{
var OSb=false;
var Sil=ZFc.getAvailableChildren();
var oXU=Sil.length-1;
var CVc;
do{
CVc=Sil[oXU];
if(CVc.sep()){
OSb=true;
break;
}--oXU;
}
while(oXU>=0);
ZFc.csO(OSb);
}
ZFc.setActive(false);
log.debug("UP.4.4");
if(pif){
var OZU=mNp.bWP().getObjectiveSet();
var VVF=OZU.length;
var Bgh=undefined;
for(var oXU=0;oXU<VVF;oXU++){
var wdM=undefined;
Bgh=OZU[oXU].getObjectiveProgressInfo();
Bgh.BFr(wdM);
}
}
var NJa=new icodeon.SXF();
NJa.AEv(this.kZG);
NJa.FqY(ZFc);
};
this.aqZ=function(ZFc){
var YXT=[oUp.Ura];
log.debug("UP.5.1");
var OOZ=this.eEq(ZFc,YXT,this.rwQ);
if(!isUndefined(OOZ)){
log.debug("UP.5.2.1");
return true;
}
log.debug("UP.5.3");
var AsK=this.chw(ZFc);
if(AsK){
log.debug("UP.5.4.1");
return true;
}
log.debug("UP.5.5");
return false;
};
this.OTZ=function(ZFc){
if(ZFc.hasAvailableChildren()){
var dGN=ZFc.getAvailableChildren();
var VVF=dGN.length;
var Bgh;
for(var oXU=0;oXU<VVF;oXU++){
Bgh=dGN[oXU].getObjectiveProgressInfo();
Bgh.hZv(true);
}
}
}
this.iGe=function(ZFc){
if(ZFc.hasAvailableChildren()){
var dGN=ZFc.getAvailableChildren();
var VVF=dGN.length;
var Ucn;
for(var oXU=0;oXU<VVF;oXU++){
Ucn=dGN[oXU].getAttemptProgressInfo();
Ucn.hZv(true);
}
}
}
this.toString=function(){
var Uol="Type: "+typeof(this)+"\n";
return Uol;
};
};
icodeon.pfn.prototype=new icodeon.pCx();
icodeon.pfn.prototype.constructor=icodeon.pfn;
