Edit C:\Program Files (x86)\360\Total Security\Utils\cef\2623\natives_blob.bin
mirrors?t (function(a,b){ "use strict"; var c; var d=a.Array; var e=a.isNaN; var f=a.JSON.stringify; var g; var h; var i; var j=a.Math.min; var k=b.ImportNow("promise_status_symbol"); var l=b.ImportNow("promise_value_symbol"); var m; var n; var o; b.Import(function(p){ c=p.ErrorToString; g=p.MakeError; h=p.MapEntries; i=p.MapIteratorNext; m=p.SetIteratorNext; n=p.SetValues; o=p.SymbolToString; }); var q={ UNDEFINED_TYPE:'undefined', NULL_TYPE:'null', BOOLEAN_TYPE:'boolean', NUMBER_TYPE:'number', STRING_TYPE:'string', SYMBOL_TYPE:'symbol', OBJECT_TYPE:'object', FUNCTION_TYPE:'function', REGEXP_TYPE:'regexp', ERROR_TYPE:'error', PROPERTY_TYPE:'property', INTERNAL_PROPERTY_TYPE:'internalProperty', FRAME_TYPE:'frame', SCRIPT_TYPE:'script', CONTEXT_TYPE:'context', SCOPE_TYPE:'scope', PROMISE_TYPE:'promise', MAP_TYPE:'map', SET_TYPE:'set', ITERATOR_TYPE:'iterator', GENERATOR_TYPE:'generator', } var r=0; var s=-1; var t=[]; var u=true; function MirrorCacheIsEmpty(){ return r==0&&t.length==0; } function ToggleMirrorCache(v){ u=v; ClearMirrorCache(); } function ClearMirrorCache(v){ r=0; t=[]; } function ObjectIsPromise(v){ return(%_IsJSReceiver(v))&& !(%DebugGetProperty(v,k)===(void 0)); } function MakeMirror(v,w){ var x; if(!w&&u){ for(var y in t){ x=t[y]; if(x.value()===v){ return x; } if(x.isNumber()&&e(x.value())&& typeof v=='number'&&e(v)){ return x; } } } if((v===(void 0))){ x=new UndefinedMirror(); }else if((v===null)){ x=new NullMirror(); }else if((typeof(v)==='boolean')){ x=new BooleanMirror(v); }else if((typeof(v)==='number')){ x=new NumberMirror(v); }else if((typeof(v)==='string')){ x=new StringMirror(v); }else if((typeof(v)==='symbol')){ x=new SymbolMirror(v); }else if((%_IsArray(v))){ x=new ArrayMirror(v); }else if((%_IsDate(v))){ x=new DateMirror(v); }else if((%_IsFunction(v))){ x=new FunctionMirror(v); }else if((%_IsRegExp(v))){ x=new RegExpMirror(v); }else if((%_ClassOf(v)==='Error')){ x=new ErrorMirror(v); }else if((%_ClassOf(v)==='Script')){ x=new ScriptMirror(v); }else if((%_ClassOf(v)==='Map')||(%_ClassOf(v)==='WeakMap')){ x=new MapMirror(v); }else if((%_ClassOf(v)==='Set')||(%_ClassOf(v)==='WeakSet')){ x=new SetMirror(v); }else if((%_ClassOf(v)==='Map Iterator')||(%_ClassOf(v)==='Set Iterator')){ x=new IteratorMirror(v); }else if(ObjectIsPromise(v)){ x=new PromiseMirror(v); }else if((%_ClassOf(v)==='Generator')){ x=new GeneratorMirror(v); }else{ x=new ObjectMirror(v,q.OBJECT_TYPE,w); } if(u)t[x.handle()]=x; return x; } function LookupMirror(z){ if(!u){ throw g(2,"Mirror cache is disabled"); } return t[z]; } function GetUndefinedMirror(){ return MakeMirror((void 0)); } function inherits(A,B){ var C=function(){}; C.prototype=B.prototype; A.super_=B.prototype; A.prototype=new C(); A.prototype.constructor=A; } var D=80; var E={}; E.Data=0; E.DataConstant=2; E.AccessorConstant=3; var F={}; F.None=0; F.ReadOnly=1; F.DontEnum=2; F.DontDelete=4; var G={Global:0, Local:1, With:2, Closure:3, Catch:4, Block:5, Script:6}; function Mirror(H){ this.type_=H; } Mirror.prototype.type=function(){ return this.type_; }; Mirror.prototype.isValue=function(){ return this instanceof ValueMirror; }; Mirror.prototype.isUndefined=function(){ return this instanceof UndefinedMirror; }; Mirror.prototype.isNull=function(){ return this instanceof NullMirror; }; Mirror.prototype.isBoolean=function(){ return this instanceof BooleanMirror; }; Mirror.prototype.isNumber=function(){ return this instanceof NumberMirror; }; Mirror.prototype.isString=function(){ return this instanceof StringMirror; }; Mirror.prototype.isSymbol=function(){ return this instanceof SymbolMirror; }; Mirror.prototype.isObject=function(){ return this instanceof ObjectMirror; }; Mirror.prototype.isFunction=function(){ return this instanceof FunctionMirror; }; Mirror.prototype.isUnresolvedFunction=function(){ return this instanceof UnresolvedFunctionMirror; }; Mirror.prototype.isArray=function(){ return this instanceof ArrayMirror; }; Mirror.prototype.isDate=function(){ return this instanceof DateMirror; }; Mirror.prototype.isRegExp=function(){ return this instanceof RegExpMirror; }; Mirror.prototype.isError=function(){ return this instanceof ErrorMirror; }; Mirror.prototype.isPromise=function(){ return this instanceof PromiseMirror; }; Mirror.prototype.isGenerator=function(){ return this instanceof GeneratorMirror; }; Mirror.prototype.isProperty=function(){ return this instanceof PropertyMirror; }; Mirror.prototype.isInternalProperty=function(){ return this instanceof InternalPropertyMirror; }; Mirror.prototype.isFrame=function(){ return this instanceof FrameMirror; }; Mirror.prototype.isScript=function(){ return this instanceof ScriptMirror; }; Mirror.prototype.isContext=function(){ return this instanceof ContextMirror; }; Mirror.prototype.isScope=function(){ return this instanceof ScopeMirror; }; Mirror.prototype.isMap=function(){ return this instanceof MapMirror; }; Mirror.prototype.isSet=function(){ return this instanceof SetMirror; }; Mirror.prototype.isIterator=function(){ return this instanceof IteratorMirror; }; Mirror.prototype.allocateHandle_=function(){ if(u)this.handle_=r++; }; Mirror.prototype.allocateTransientHandle_=function(){ this.handle_=s--; }; Mirror.prototype.toText=function(){ return"#<"+this.constructor.name+">"; }; function ValueMirror(H,v,I){ %_Call(Mirror,this,H); this.value_=v; if(!I){ this.allocateHandle_(); }else{ this.allocateTransientHandle_(); } } inherits(ValueMirror,Mirror); Mirror.prototype.handle=function(){ return this.handle_; }; ValueMirror.prototype.isPrimitive=function(){ var H=this.type(); return H==='undefined'|| H==='null'|| H==='boolean'|| H==='number'|| H==='string'|| H==='symbol'; }; ValueMirror.prototype.value=function(){ return this.value_; }; function UndefinedMirror(){ %_Call(ValueMirror,this,q.UNDEFINED_TYPE,(void 0)); } inherits(UndefinedMirror,ValueMirror); UndefinedMirror.prototype.toText=function(){ return'undefined'; }; function NullMirror(){ %_Call(ValueMirror,this,q.NULL_TYPE,null); } inherits(NullMirror,ValueMirror); NullMirror.prototype.toText=function(){ return'null'; }; function BooleanMirror(v){ %_Call(ValueMirror,this,q.BOOLEAN_TYPE,v); } inherits(BooleanMirror,ValueMirror); BooleanMirror.prototype.toText=function(){ return this.value_?'true':'false'; }; function NumberMirror(v){ %_Call(ValueMirror,this,q.NUMBER_TYPE,v); } inherits(NumberMirror,ValueMirror); NumberMirror.prototype.toText=function(){ return %_NumberToString(this.value_); }; function StringMirror(v){ %_Call(ValueMirror,this,q.STRING_TYPE,v); } inherits(StringMirror,ValueMirror); StringMirror.prototype.length=function(){ return this.value_.length; }; StringMirror.prototype.getTruncatedValue=function(J){ if(J!=-1&&this.length()>J){ return this.value_.substring(0,J)+ '... (length: '+this.length()+')'; } return this.value_; }; StringMirror.prototype.toText=function(){ return this.getTruncatedValue(D); }; function SymbolMirror(v){ %_Call(ValueMirror,this,q.SYMBOL_TYPE,v); } inherits(SymbolMirror,ValueMirror); SymbolMirror.prototype.description=function(){ return %SymbolDescription(%_ValueOf(this.value_)); } SymbolMirror.prototype.toText=function(){ return %_Call(o,this.value_); } function ObjectMirror(v,H,I){ H=H||q.OBJECT_TYPE; %_Call(ValueMirror,this,H,v,I); } inherits(ObjectMirror,ValueMirror); ObjectMirror.prototype.className=function(){ return %_ClassOf(this.value_); }; ObjectMirror.prototype.constructorFunction=function(){ return MakeMirror(%DebugGetProperty(this.value_,'constructor')); }; ObjectMirror.prototype.prototypeObject=function(){ return MakeMirror(%DebugGetProperty(this.value_,'prototype')); }; ObjectMirror.prototype.protoObject=function(){ return MakeMirror(%DebugGetPrototype(this.value_)); }; ObjectMirror.prototype.hasNamedInterceptor=function(){ var K=%GetInterceptorInfo(this.value_); return(K&2)!=0; }; ObjectMirror.prototype.hasIndexedInterceptor=function(){ var K=%GetInterceptorInfo(this.value_); return(K&1)!=0; }; ObjectMirror.prototype.propertyNames=function(){ return %GetOwnPropertyKeys(this.value_,0); }; ObjectMirror.prototype.properties=function(){ var L=this.propertyNames(); var M=new d(L.length); for(var N=0;N<L.length;N++){ M[N]=this.property(L[N]); } return M; }; ObjectMirror.prototype.internalProperties=function(){ return ObjectMirror.GetInternalProperties(this.value_); } ObjectMirror.prototype.property=function(O){ var P=%DebugGetPropertyDetails(this.value_,(%_ToName(O))); if(P){ return new PropertyMirror(this,O,P); } return GetUndefinedMirror(); }; ObjectMirror.prototype.lookupProperty=function(v){ var M=this.properties(); for(var N=0;N<M.length;N++){ var Q=M[N]; if(Q.propertyType()!=E.AccessorConstant){ if(%_ObjectEquals(Q.value_,v.value_)){ return Q; } } } return GetUndefinedMirror(); }; ObjectMirror.prototype.referencedBy=function(R){ var S=%DebugReferencedBy(this.value_, Mirror.prototype,R||0); for(var N=0;N<S.length;N++){ S[N]=MakeMirror(S[N]); } return S; }; ObjectMirror.prototype.toText=function(){ var O; var A=this.constructorFunction(); if(!A.isFunction()){ O=this.className(); }else{ O=A.name(); if(!O){ O=this.className(); } } return'#<'+O+'>'; }; ObjectMirror.GetInternalProperties=function(v){ var M=%DebugGetInternalProperties(v); var S=[]; for(var N=0;N<M.length;N+=2){ S.push(new InternalPropertyMirror(M[N],M[N+1])); } return S; } function FunctionMirror(v){ %_Call(ObjectMirror,this,v,q.FUNCTION_TYPE); this.resolved_=true; } inherits(FunctionMirror,ObjectMirror); FunctionMirror.prototype.resolved=function(){ return this.resolved_; }; FunctionMirror.prototype.name=function(){ return %FunctionGetName(this.value_); }; FunctionMirror.prototype.debugName=function(){ return %FunctionGetDebugName(this.value_); } FunctionMirror.prototype.inferredName=function(){ return %FunctionGetInferredName(this.value_); }; FunctionMirror.prototype.source=function(){ if(this.resolved()){ return %FunctionToString(this.value_); } }; FunctionMirror.prototype.script=function(){ if(this.resolved()){ if(this.script_){ return this.script_; } var T=%FunctionGetScript(this.value_); if(T){ return this.script_=MakeMirror(T); } } }; FunctionMirror.prototype.sourcePosition_=function(){ if(this.resolved()){ return %FunctionGetScriptSourcePosition(this.value_); } }; FunctionMirror.prototype.sourceLocation=function(){ if(this.resolved()){ var T=this.script(); if(T){ return T.locationFromPosition(this.sourcePosition_(),true); } } }; FunctionMirror.prototype.constructedBy=function(U){ if(this.resolved()){ var S=%DebugConstructedBy(this.value_,U||0); for(var N=0;N<S.length;N++){ S[N]=MakeMirror(S[N]); } return S; }else{ return[]; } }; FunctionMirror.prototype.scopeCount=function(){ if(this.resolved()){ if((this.scopeCount_===(void 0))){ this.scopeCount_=%GetFunctionScopeCount(this.value()); } return this.scopeCount_; }else{ return 0; } }; FunctionMirror.prototype.scope=function(V){ if(this.resolved()){ return new ScopeMirror((void 0),this,V); } }; FunctionMirror.prototype.toText=function(){ return this.source(); }; function UnresolvedFunctionMirror(v){ %_Call(ValueMirror,this,q.FUNCTION_TYPE,v); this.propertyCount_=0; this.elementCount_=0; this.resolved_=false; } inherits(UnresolvedFunctionMirror,FunctionMirror); UnresolvedFunctionMirror.prototype.className=function(){ return'Function'; }; UnresolvedFunctionMirror.prototype.constructorFunction=function(){ return GetUndefinedMirror(); }; UnresolvedFunctionMirror.prototype.prototypeObject=function(){ return GetUndefinedMirror(); }; UnresolvedFunctionMirror.prototype.protoObject=function(){ return GetUndefinedMirror(); }; UnresolvedFunctionMirror.prototype.name=function(){ return this.value_; }; UnresolvedFunctionMirror.prototype.inferredName=function(){ return(void 0); }; UnresolvedFunctionMirror.prototype.propertyNames=function(W,X){ return[]; }; function ArrayMirror(v){ %_Call(ObjectMirror,this,v); } inherits(ArrayMirror,ObjectMirror); ArrayMirror.prototype.length=function(){ return this.value_.length; }; ArrayMirror.prototype.indexedPropertiesFromRange=function(opt_from_index, opt_to_index){ var Y=opt_from_index||0; var Z=opt_to_index||this.length()-1; if(Y>Z)return new d(); var aa=new d(Z-Y+1); for(var N=Y;N<=Z;N++){ var P=%DebugGetPropertyDetails(this.value_,(%_ToString(N))); var v; if(P){ v=new PropertyMirror(this,N,P); }else{ v=GetUndefinedMirror(); } aa[N-Y]=v; } return aa; }; function DateMirror(v){ %_Call(ObjectMirror,this,v); } inherits(DateMirror,ObjectMirror); DateMirror.prototype.toText=function(){ var ab=f(this.value_); return ab.substring(1,ab.length-1); }; function RegExpMirror(v){ %_Call(ObjectMirror,this,v,q.REGEXP_TYPE); } inherits(RegExpMirror,ObjectMirror); RegExpMirror.prototype.source=function(){ return this.value_.source; }; RegExpMirror.prototype.global=function(){ return this.value_.global; }; RegExpMirror.prototype.ignoreCase=function(){ return this.value_.ignoreCase; }; RegExpMirror.prototype.multiline=function(){ return this.value_.multiline; }; RegExpMirror.prototype.sticky=function(){ return this.value_.sticky; }; RegExpMirror.prototype.unicode=function(){ return this.value_.unicode; }; RegExpMirror.prototype.toText=function(){ return"/"+this.source()+"/"; }; function ErrorMirror(v){ %_Call(ObjectMirror,this,v,q.ERROR_TYPE); } inherits(ErrorMirror,ObjectMirror); ErrorMirror.prototype.message=function(){ return this.value_.message; }; ErrorMirror.prototype.toText=function(){ var ac; try{ ac=%_Call(c,this.value_); }catch(e){ ac='#<Error>'; } return ac; }; function PromiseMirror(v){ %_Call(ObjectMirror,this,v,q.PROMISE_TYPE); } inherits(PromiseMirror,ObjectMirror); function PromiseGetStatus_(v){ var ad=%DebugGetProperty(v,k); if(ad==0)return"pending"; if(ad==1)return"resolved"; return"rejected"; } function PromiseGetValue_(v){ return %DebugGetProperty(v,l); } PromiseMirror.prototype.status=function(){ return PromiseGetStatus_(this.value_); }; PromiseMirror.prototype.promiseValue=function(){ return MakeMirror(PromiseGetValue_(this.value_)); }; function MapMirror(v){ %_Call(ObjectMirror,this,v,q.MAP_TYPE); } inherits(MapMirror,ObjectMirror); MapMirror.prototype.entries=function(ae){ var S=[]; if((%_ClassOf(this.value_)==='WeakMap')){ var af=%GetWeakMapEntries(this.value_,ae||0); for(var N=0;N<af.length;N+=2){ S.push({ key:af[N], value:af[N+1] }); } return S; } var ag=%_Call(h,this.value_); var ah; while((!ae||S.length<ae)&& !(ah=ag.next()).done){ S.push({ key:ah.value[0], value:ah.value[1] }); } return S; }; function SetMirror(v){ %_Call(ObjectMirror,this,v,q.SET_TYPE); } inherits(SetMirror,ObjectMirror); function IteratorGetValues_(ag,ai,ae){ var S=[]; var ah; while((!ae||S.length<ae)&& !(ah=%_Call(ai,ag)).done){ S.push(ah.value); } return S; } SetMirror.prototype.values=function(ae){ if((%_ClassOf(this.value_)==='WeakSet')){ return %GetWeakSetValues(this.value_,ae||0); } var ag=%_Call(n,this.value_); return IteratorGetValues_(ag,m,ae); }; function IteratorMirror(v){ %_Call(ObjectMirror,this,v,q.ITERATOR_TYPE); } inherits(IteratorMirror,ObjectMirror); IteratorMirror.prototype.preview=function(ae){ if((%_ClassOf(this.value_)==='Map Iterator')){ return IteratorGetValues_(%MapIteratorClone(this.value_), i, ae); }else if((%_ClassOf(this.value_)==='Set Iterator')){ return IteratorGetValues_(%SetIteratorClone(this.value_), m, ae); } }; function GeneratorMirror(v){ %_Call(ObjectMirror,this,v,q.GENERATOR_TYPE); } inherits(GeneratorMirror,ObjectMirror); function GeneratorGetStatus_(v){ var aj=%GeneratorGetContinuation(v); if(aj<0)return"running"; if(aj==0)return"closed"; return"suspended"; } GeneratorMirror.prototype.status=function(){ return GeneratorGetStatus_(this.value_); }; GeneratorMirror.prototype.sourcePosition_=function(){ return %GeneratorGetSourcePosition(this.value_); }; GeneratorMirror.prototype.sourceLocation=function(){ var ak=this.sourcePosition_(); if(!(ak===(void 0))){ var T=this.func().script(); if(T){ return T.locationFromPosition(ak,true); } } }; GeneratorMirror.prototype.func=function(){ if(!this.func_){ this.func_=MakeMirror(%GeneratorGetFunction(this.value_)); } return this.func_; }; GeneratorMirror.prototype.context=function(){ if(!this.context_){ this.context_=new ContextMirror(%GeneratorGetContext(this.value_)); } return this.context_; }; GeneratorMirror.prototype.receiver=function(){ if(!this.receiver_){ this.receiver_=MakeMirror(%GeneratorGetReceiver(this.value_)); } return this.receiver_; }; function PropertyMirror(x,O,P){ %_Call(Mirror,this,q.PROPERTY_TYPE); this.mirror_=x; this.name_=O; this.value_=P[0]; this.details_=P[1]; this.is_interceptor_=P[2]; if(P.length>3){ this.exception_=P[3]; this.getter_=P[4]; this.setter_=P[5]; } } inherits(PropertyMirror,Mirror); PropertyMirror.prototype.isReadOnly=function(){ return(this.attributes()&F.ReadOnly)!=0; }; PropertyMirror.prototype.isEnum=function(){ return(this.attributes()&F.DontEnum)==0; }; PropertyMirror.prototype.canDelete=function(){ return(this.attributes()&F.DontDelete)==0; }; PropertyMirror.prototype.name=function(){ return this.name_; }; PropertyMirror.prototype.isIndexed=function(){ for(var N=0;N<this.name_.length;N++){ if(this.name_[N]<'0'||'9'<this.name_[N]){ return false; } } return true; }; PropertyMirror.prototype.value=function(){ return MakeMirror(this.value_,false); }; PropertyMirror.prototype.isException=function(){ return this.exception_?true:false; }; PropertyMirror.prototype.attributes=function(){ return %DebugPropertyAttributesFromDetails(this.details_); }; PropertyMirror.prototype.propertyType=function(){ return %DebugPropertyTypeFromDetails(this.details_); }; PropertyMirror.prototype.insertionIndex=function(){ return %DebugPropertyIndexFromDetails(this.details_); }; PropertyMirror.prototype.hasGetter=function(){ return this.getter_?true:false; }; PropertyMirror.prototype.hasSetter=function(){ return this.setter_?true:false; }; PropertyMirror.prototype.getter=function(){ if(this.hasGetter()){ return MakeMirror(this.getter_); }else{ return GetUndefinedMirror(); } }; PropertyMirror.prototype.setter=function(){ if(this.hasSetter()){ return MakeMirror(this.setter_); }else{ return GetUndefinedMirror(); } }; PropertyMirror.prototype.isNative=function(){ return this.is_interceptor_|| ((this.propertyType()==E.AccessorConstant)&& !this.hasGetter()&&!this.hasSetter()); }; function InternalPropertyMirror(O,v){ %_Call(Mirror,this,q.INTERNAL_PROPERTY_TYPE); this.name_=O; this.value_=v; } inherits(InternalPropertyMirror,Mirror); InternalPropertyMirror.prototype.name=function(){ return this.name_; }; InternalPropertyMirror.prototype.value=function(){ return MakeMirror(this.value_,false); }; var al=0; var am=1; var an=2; var ao=3; var ap=4; var aq=5; var ar=6; var as=7; var at=8; var au=9; var av=0; var aw=1; var ax=2; var ay=1<<0; var az=1<<1; var aA=7<<2; function FrameDetails(aB,V){ this.break_id_=aB; this.details_=%GetFrameDetails(aB,V); } FrameDetails.prototype.frameId=function(){ %CheckExecutionState(this.break_id_); return this.details_[al]; }; FrameDetails.prototype.receiver=function(){ %CheckExecutionState(this.break_id_); return this.details_[am]; }; FrameDetails.prototype.func=function(){ %CheckExecutionState(this.break_id_); return this.details_[an]; }; FrameDetails.prototype.isConstructCall=function(){ %CheckExecutionState(this.break_id_); return this.details_[ar]; }; FrameDetails.prototype.isAtReturn=function(){ %CheckExecutionState(this.break_id_); return this.details_[as]; }; FrameDetails.prototype.isDebuggerFrame=function(){ %CheckExecutionState(this.break_id_); var aC=ay; return(this.details_[at]&aC)==aC; }; FrameDetails.prototype.isOptimizedFrame=function(){ %CheckExecutionState(this.break_id_); var aC=az; return(this.details_[at]&aC)==aC; }; FrameDetails.prototype.isInlinedFrame=function(){ return this.inlinedFrameIndex()>0; }; FrameDetails.prototype.inlinedFrameIndex=function(){ %CheckExecutionState(this.break_id_); var aC=aA; return(this.details_[at]&aC)>>2; }; FrameDetails.prototype.argumentCount=function(){ %CheckExecutionState(this.break_id_); return this.details_[ao]; }; FrameDetails.prototype.argumentName=function(V){ %CheckExecutionState(this.break_id_); if(V>=0&&V<this.argumentCount()){ return this.details_[au+ V*ax+ av]; } }; FrameDetails.prototype.argumentValue=function(V){ %CheckExecutionState(this.break_id_); if(V>=0&&V<this.argumentCount()){ return this.details_[au+ V*ax+ aw]; } }; FrameDetails.prototype.localCount=function(){ %CheckExecutionState(this.break_id_); return this.details_[ap]; }; FrameDetails.prototype.sourcePosition=function(){ %CheckExecutionState(this.break_id_); return this.details_[aq]; }; FrameDetails.prototype.localName=function(V){ %CheckExecutionState(this.break_id_); if(V>=0&&V<this.localCount()){ var aD=au+ this.argumentCount()*ax; return this.details_[aD+ V*ax+ av]; } }; FrameDetails.prototype.localValue=function(V){ %CheckExecutionState(this.break_id_); if(V>=0&&V<this.localCount()){ var aD=au+ this.argumentCount()*ax; return this.details_[aD+ V*ax+ aw]; } }; FrameDetails.prototype.returnValue=function(){ %CheckExecutionState(this.break_id_); var aE= au+ (this.argumentCount()+this.localCount())*ax; if(this.details_[as]){ return this.details_[aE]; } }; FrameDetails.prototype.scopeCount=function(){ if((this.scopeCount_===(void 0))){ this.scopeCount_=%GetScopeCount(this.break_id_,this.frameId()); } return this.scopeCount_; }; FrameDetails.prototype.stepInPositionsImpl=function(){ return %GetStepInPositions(this.break_id_,this.frameId()); }; function FrameMirror(aB,V){ %_Call(Mirror,this,q.FRAME_TYPE); this.break_id_=aB; this.index_=V; this.details_=new FrameDetails(aB,V); } inherits(FrameMirror,Mirror); FrameMirror.prototype.details=function(){ return this.details_; }; FrameMirror.prototype.index=function(){ return this.index_; }; FrameMirror.prototype.func=function(){ if(this.func_){ return this.func_; } var aC=this.details_.func(); if((%_IsFunction(aC))){ return this.func_=MakeMirror(aC); }else{ return new UnresolvedFunctionMirror(aC); } }; FrameMirror.prototype.receiver=function(){ return MakeMirror(this.details_.receiver()); }; FrameMirror.prototype.isConstructCall=function(){ return this.details_.isConstructCall(); }; FrameMirror.prototype.isAtReturn=function(){ return this.details_.isAtReturn(); }; FrameMirror.prototype.isDebuggerFrame=function(){ return this.details_.isDebuggerFrame(); }; FrameMirror.prototype.isOptimizedFrame=function(){ return this.details_.isOptimizedFrame(); }; FrameMirror.prototype.isInlinedFrame=function(){ return this.details_.isInlinedFrame(); }; FrameMirror.prototype.inlinedFrameIndex=function(){ return this.details_.inlinedFrameIndex(); }; FrameMirror.prototype.argumentCount=function(){ return this.details_.argumentCount(); }; FrameMirror.prototype.argumentName=function(V){ return this.details_.argumentName(V); }; FrameMirror.prototype.argumentValue=function(V){ return MakeMirror(this.details_.argumentValue(V)); }; FrameMirror.prototype.localCount=function(){ return this.details_.localCount(); }; FrameMirror.prototype.localName=function(V){ return this.details_.localName(V); }; FrameMirror.prototype.localValue=function(V){ return MakeMirror(this.details_.localValue(V)); }; FrameMirror.prototype.returnValue=function(){ return MakeMirror(this.details_.returnValue()); }; FrameMirror.prototype.sourcePosition=function(){ return this.details_.sourcePosition(); }; FrameMirror.prototype.sourceLocation=function(){ var aF=this.func(); if(aF.resolved()){ var T=aF.script(); if(T){ return T.locationFromPosition(this.sourcePosition(),true); } } }; FrameMirror.prototype.sourceLine=function(){ var aG=this.sourceLocation(); if(aG){ return aG.line; } }; FrameMirror.prototype.sourceColumn=function(){ var aG=this.sourceLocation(); if(aG){ return aG.column; } }; FrameMirror.prototype.sourceLineText=function(){ var aG=this.sourceLocation(); if(aG){ return aG.sourceText(); } }; FrameMirror.prototype.scopeCount=function(){ return this.details_.scopeCount(); }; FrameMirror.prototype.scope=function(V){ return new ScopeMirror(this,(void 0),V); }; FrameMirror.prototype.allScopes=function(aH){ var aI=%GetAllScopesDetails(this.break_id_, this.details_.frameId(), this.details_.inlinedFrameIndex(), !!aH); var S=[]; for(var N=0;N<aI.length;++N){ S.push(new ScopeMirror(this,(void 0),N,aI[N])); } return S; }; FrameMirror.prototype.stepInPositions=function(){ var T=this.func().script(); var aJ=this.func().sourcePosition_(); var aK=this.details_.stepInPositionsImpl(); var S=[]; if(aK){ for(var N=0;N<aK.length;N++){ var aL={}; var aM=T.locationFromPosition(aJ+aK[N], true); serializeLocationFields(aM,aL); var aN={ position:aL }; S.push(aN); } } return S; }; FrameMirror.prototype.evaluate=function(source,disable_break, opt_context_object){ return MakeMirror(%DebugEvaluate(this.break_id_, this.details_.frameId(), this.details_.inlinedFrameIndex(), source, (!!(disable_break)), opt_context_object)); }; FrameMirror.prototype.invocationText=function(){ var S=''; var aF=this.func(); var aO=this.receiver(); if(this.isConstructCall()){ S+='new '; S+=aF.name()?aF.name():'[anonymous]'; }else if(this.isDebuggerFrame()){ S+='[debugger]'; }else{ var aP= !aO.className||(aO.className()!='global'); if(aP){ S+=aO.toText(); } var Q=GetUndefinedMirror(); if(aO.isObject()){ for(var aQ=aO; !aQ.isNull()&&Q.isUndefined(); aQ=aQ.protoObject()){ Q=aQ.lookupProperty(aF); } } if(!Q.isUndefined()){ if(!Q.isIndexed()){ if(aP){ S+='.'; } S+=Q.name(); }else{ S+='['; S+=Q.name(); S+=']'; } if(aF.name()&&aF.name()!=Q.name()){ S+='(aka '+aF.name()+')'; } }else{ if(aP){ S+='.'; } S+=aF.name()?aF.name():'[anonymous]'; } } if(!this.isDebuggerFrame()){ S+='('; for(var N=0;N<this.argumentCount();N++){ if(N!=0)S+=', '; if(this.argumentName(N)){ S+=this.argumentName(N); S+='='; } S+=this.argumentValue(N).toText(); } S+=')'; } if(this.isAtReturn()){ S+=' returning '; S+=this.returnValue().toText(); } return S; }; FrameMirror.prototype.sourceAndPositionText=function(){ var S=''; var aF=this.func(); if(aF.resolved()){ var T=aF.script(); if(T){ if(T.name()){ S+=T.name(); }else{ S+='[unnamed]'; } if(!this.isDebuggerFrame()){ var aG=this.sourceLocation(); S+=' line '; S+=!(aG===(void 0))?(aG.line+1):'?'; S+=' column '; S+=!(aG===(void 0))?(aG.column+1):'?'; if(!(this.sourcePosition()===(void 0))){ S+=' (position '+(this.sourcePosition()+1)+')'; } } }else{ S+='[no source]'; } }else{ S+='[unresolved]'; } return S; }; FrameMirror.prototype.localsText=function(){ var S=''; var aR=this.localCount(); if(aR>0){ for(var N=0;N<aR;++N){ S+=' var '; S+=this.localName(N); S+=' = '; S+=this.localValue(N).toText(); if(N<aR-1)S+='\n'; } } return S; }; FrameMirror.prototype.restart=function(){ var S=%LiveEditRestartFrame(this.break_id_,this.index_); if((S===(void 0))){ S="Failed to find requested frame"; } return S; }; FrameMirror.prototype.toText=function(aS){ var S=''; S+='#'+(this.index()<=9?'0':'')+this.index(); S+=' '; S+=this.invocationText(); S+=' '; S+=this.sourceAndPositionText(); if(aS){ S+='\n'; S+=this.localsText(); } return S; }; var aT=0; var aU=1; var aV=2; function ScopeDetails(aW,aX,V,aY){ if(aW){ this.break_id_=aW.break_id_; this.details_=aY|| %GetScopeDetails(aW.break_id_, aW.details_.frameId(), aW.details_.inlinedFrameIndex(), V); this.frame_id_=aW.details_.frameId(); this.inlined_frame_id_=aW.details_.inlinedFrameIndex(); }else{ this.details_=aY||%GetFunctionScopeDetails(aX.value(),V); this.fun_value_=aX.value(); this.break_id_=(void 0); } this.index_=V; } ScopeDetails.prototype.type=function(){ if(!(this.break_id_===(void 0))){ %CheckExecutionState(this.break_id_); } return this.details_[aT]; }; ScopeDetails.prototype.object=function(){ if(!(this.break_id_===(void 0))){ %CheckExecutionState(this.break_id_); } return this.details_[aU]; }; ScopeDetails.prototype.name=function(){ if(!(this.break_id_===(void 0))){ %CheckExecutionState(this.break_id_); } return this.details_[aV]; }; ScopeDetails.prototype.setVariableValueImpl=function(O,aZ){ var ba; if(!(this.break_id_===(void 0))){ %CheckExecutionState(this.break_id_); ba=%SetScopeVariableValue(this.break_id_,this.frame_id_, this.inlined_frame_id_,this.index_,O,aZ); }else{ ba=%SetScopeVariableValue(this.fun_value_,null,null,this.index_, O,aZ); } if(!ba)throw g(2,"Failed to set variable value"); }; function ScopeMirror(aW,aX,V,aY){ %_Call(Mirror,this,q.SCOPE_TYPE); if(aW){ this.frame_index_=aW.index_; }else{ this.frame_index_=(void 0); } this.scope_index_=V; this.details_=new ScopeDetails(aW,aX,V,aY); } inherits(ScopeMirror,Mirror); ScopeMirror.prototype.details=function(){ return this.details_; }; ScopeMirror.prototype.frameIndex=function(){ return this.frame_index_; }; ScopeMirror.prototype.scopeIndex=function(){ return this.scope_index_; }; ScopeMirror.prototype.scopeType=function(){ return this.details_.type(); }; ScopeMirror.prototype.scopeObject=function(){ var I=this.scopeType()==G.Local|| this.scopeType()==G.Closure|| this.scopeType()==G.Script; return MakeMirror(this.details_.object(),I); }; ScopeMirror.prototype.setVariableValue=function(O,aZ){ this.details_.setVariableValueImpl(O,aZ); }; function ScriptMirror(T){ %_Call(Mirror,this,q.SCRIPT_TYPE); this.script_=T; this.context_=new ContextMirror(T.context_data); this.allocateHandle_(); } inherits(ScriptMirror,Mirror); ScriptMirror.prototype.value=function(){ return this.script_; }; ScriptMirror.prototype.name=function(){ return this.script_.name||this.script_.nameOrSourceURL(); }; ScriptMirror.prototype.id=function(){ return this.script_.id; }; ScriptMirror.prototype.source=function(){ return this.script_.source; }; ScriptMirror.prototype.setSource=function(bb){ %DebugSetScriptSource(this.script_,bb); }; ScriptMirror.prototype.lineOffset=function(){ return this.script_.line_offset; }; ScriptMirror.prototype.columnOffset=function(){ return this.script_.column_offset; }; ScriptMirror.prototype.data=function(){ return this.script_.data; }; ScriptMirror.prototype.scriptType=function(){ return this.script_.type; }; ScriptMirror.prototype.compilationType=function(){ return this.script_.compilation_type; }; ScriptMirror.prototype.lineCount=function(){ return this.script_.lineCount(); }; ScriptMirror.prototype.locationFromPosition=function( position,include_resource_offset){ return this.script_.locationFromPosition(position,include_resource_offset); }; ScriptMirror.prototype.sourceSlice=function(bc,bd){ return this.script_.sourceSlice(bc,bd); }; ScriptMirror.prototype.context=function(){ return this.context_; }; ScriptMirror.prototype.evalFromScript=function(){ return MakeMirror(this.script_.eval_from_script); }; ScriptMirror.prototype.evalFromFunctionName=function(){ return MakeMirror(this.script_.eval_from_function_name); }; ScriptMirror.prototype.evalFromLocation=function(){ var be=this.evalFromScript(); if(!be.isUndefined()){ var bf=this.script_.eval_from_script_position; return be.locationFromPosition(bf,true); } }; ScriptMirror.prototype.toText=function(){ var S=''; S+=this.name(); S+=' (lines: '; if(this.lineOffset()>0){ S+=this.lineOffset(); S+='-'; S+=this.lineOffset()+this.lineCount()-1; }else{ S+=this.lineCount(); } S+=')'; return S; }; function ContextMirror(bg){ %_Call(Mirror,this,q.CONTEXT_TYPE); this.data_=bg; this.allocateHandle_(); } inherits(ContextMirror,Mirror); ContextMirror.prototype.data=function(){ return this.data_; }; function MakeMirrorSerializer(P,bh){ return new JSONProtocolSerializer(P,bh); } function JSONProtocolSerializer(P,bh){ this.details_=P; this.options_=bh; this.mirrors_=[]; } JSONProtocolSerializer.prototype.serializeReference=function(x){ return this.serialize_(x,true,true); }; JSONProtocolSerializer.prototype.serializeValue=function(x){ var bi=this.serialize_(x,false,true); return bi; }; JSONProtocolSerializer.prototype.serializeReferencedObjects=function(){ var bj=[]; var bk=this.mirrors_.length; for(var N=0;N<bk;N++){ bj.push(this.serialize_(this.mirrors_[N],false,false)); } return bj; }; JSONProtocolSerializer.prototype.includeSource_=function(){ return this.options_&&this.options_.includeSource; }; JSONProtocolSerializer.prototype.inlineRefs_=function(){ return this.options_&&this.options_.inlineRefs; }; JSONProtocolSerializer.prototype.maxStringLength_=function(){ if((this.options_===(void 0))|| (this.options_.maxStringLength===(void 0))){ return D; } return this.options_.maxStringLength; }; JSONProtocolSerializer.prototype.add_=function(x){ for(var N=0;N<this.mirrors_.length;N++){ if(this.mirrors_[N]===x){ return; } } this.mirrors_.push(x); }; JSONProtocolSerializer.prototype.serializeReferenceWithDisplayData_= function(x){ var bl={}; bl.ref=x.handle(); bl.type=x.type(); switch(x.type()){ case q.UNDEFINED_TYPE: case q.NULL_TYPE: case q.BOOLEAN_TYPE: case q.NUMBER_TYPE: bl.value=x.value(); break; case q.STRING_TYPE: bl.value=x.getTruncatedValue(this.maxStringLength_()); break; case q.SYMBOL_TYPE: bl.description=x.description(); break; case q.FUNCTION_TYPE: bl.name=x.name(); bl.inferredName=x.inferredName(); if(x.script()){ bl.scriptId=x.script().id(); } break; case q.ERROR_TYPE: case q.REGEXP_TYPE: bl.value=x.toText(); break; case q.OBJECT_TYPE: bl.className=x.className(); break; } return bl; }; JSONProtocolSerializer.prototype.serialize_=function(x,reference, P){ if(reference&& (x.isValue()||x.isScript()||x.isContext())){ if(this.inlineRefs_()&&x.isValue()){ return this.serializeReferenceWithDisplayData_(x); }else{ this.add_(x); return{'ref':x.handle()}; } } var bj={}; if(x.isValue()||x.isScript()||x.isContext()){ bj.handle=x.handle(); } bj.type=x.type(); switch(x.type()){ case q.UNDEFINED_TYPE: case q.NULL_TYPE: break; case q.BOOLEAN_TYPE: bj.value=x.value(); break; case q.NUMBER_TYPE: bj.value=NumberToJSON_(x.value()); break; case q.STRING_TYPE: if(this.maxStringLength_()!=-1&& x.length()>this.maxStringLength_()){ var bm=x.getTruncatedValue(this.maxStringLength_()); bj.value=bm; bj.fromIndex=0; bj.toIndex=this.maxStringLength_(); }else{ bj.value=x.value(); } bj.length=x.length(); break; case q.SYMBOL_TYPE: bj.description=x.description(); break; case q.OBJECT_TYPE: case q.FUNCTION_TYPE: case q.ERROR_TYPE: case q.REGEXP_TYPE: case q.PROMISE_TYPE: case q.GENERATOR_TYPE: this.serializeObject_(x,bj,P); break; case q.PROPERTY_TYPE: case q.INTERNAL_PROPERTY_TYPE: throw g(2, 'PropertyMirror cannot be serialized independently'); break; case q.FRAME_TYPE: this.serializeFrame_(x,bj); break; case q.SCOPE_TYPE: this.serializeScope_(x,bj); break; case q.SCRIPT_TYPE: if(x.name()){ bj.name=x.name(); } bj.id=x.id(); bj.lineOffset=x.lineOffset(); bj.columnOffset=x.columnOffset(); bj.lineCount=x.lineCount(); if(x.data()){ bj.data=x.data(); } if(this.includeSource_()){ bj.source=x.source(); }else{ var bn=x.source().substring(0,80); bj.sourceStart=bn; } bj.sourceLength=x.source().length; bj.scriptType=x.scriptType(); bj.compilationType=x.compilationType(); if(x.compilationType()==1&& x.evalFromScript()){ bj.evalFromScript= this.serializeReference(x.evalFromScript()); var bo=x.evalFromLocation(); if(bo){ bj.evalFromLocation={line:bo.line, column:bo.column}; } if(x.evalFromFunctionName()){ bj.evalFromFunctionName=x.evalFromFunctionName(); } } if(x.context()){ bj.context=this.serializeReference(x.context()); } break; case q.CONTEXT_TYPE: bj.data=x.data(); break; } bj.text=x.toText(); return bj; }; JSONProtocolSerializer.prototype.serializeObject_=function(x,bj, P){ bj.className=x.className(); bj.constructorFunction= this.serializeReference(x.constructorFunction()); bj.protoObject=this.serializeReference(x.protoObject()); bj.prototypeObject=this.serializeReference(x.prototypeObject()); if(x.hasNamedInterceptor()){ bj.namedInterceptor=true; } if(x.hasIndexedInterceptor()){ bj.indexedInterceptor=true; } if(x.isFunction()){ bj.name=x.name(); if(!(x.inferredName()===(void 0))){ bj.inferredName=x.inferredName(); } bj.resolved=x.resolved(); if(x.resolved()){ bj.source=x.source(); } if(x.script()){ bj.script=this.serializeReference(x.script()); bj.scriptId=x.script().id(); serializeLocationFields(x.sourceLocation(),bj); } bj.scopes=[]; for(var N=0;N<x.scopeCount();N++){ var bp=x.scope(N); bj.scopes.push({ type:bp.scopeType(), index:N }); } } if(x.isGenerator()){ bj.status=x.status(); bj.func=this.serializeReference(x.func()) bj.receiver=this.serializeReference(x.receiver()) serializeLocationFields(x.sourceLocation(),bj); } if(x.isDate()){ bj.value=x.value(); } if(x.isPromise()){ bj.status=x.status(); bj.promiseValue=this.serializeReference(x.promiseValue()); } var M=x.propertyNames(); for(var N=0;N<M.length;N++){ var bq=x.property(M[N]); M[N]=this.serializeProperty_(bq); if(P){ this.add_(bq.value()); } } bj.properties=M; var br=x.internalProperties(); if(br.length>0){ var bs=[]; for(var N=0;N<br.length;N++){ bs.push(this.serializeInternalProperty_(br[N])); } bj.internalProperties=bs; } }; function serializeLocationFields(aG,bj){ if(!aG){ return; } bj.position=aG.position; var bt=aG.line; if(!(bt===(void 0))){ bj.line=bt; } var bu=aG.column; if(!(bu===(void 0))){ bj.column=bu; } } JSONProtocolSerializer.prototype.serializeProperty_=function(bq){ var S={}; S.name=bq.name(); var bv=bq.value(); if(this.inlineRefs_()&&bv.isValue()){ S.value=this.serializeReferenceWithDisplayData_(bv); }else{ if(bq.attributes()!=F.None){ S.attributes=bq.attributes(); } S.propertyType=bq.propertyType(); S.ref=bv.handle(); } return S; }; JSONProtocolSerializer.prototype.serializeInternalProperty_= function(bq){ var S={}; S.name=bq.name(); var bv=bq.value(); if(this.inlineRefs_()&&bv.isValue()){ S.value=this.serializeReferenceWithDisplayData_(bv); }else{ S.ref=bv.handle(); } return S; }; JSONProtocolSerializer.prototype.serializeFrame_=function(x,bj){ bj.index=x.index(); bj.receiver=this.serializeReference(x.receiver()); var aF=x.func(); bj.func=this.serializeReference(aF); var T=aF.script(); if(T){ bj.script=this.serializeReference(T); } bj.constructCall=x.isConstructCall(); bj.atReturn=x.isAtReturn(); if(x.isAtReturn()){ bj.returnValue=this.serializeReference(x.returnValue()); } bj.debuggerFrame=x.isDebuggerFrame(); var K=new d(x.argumentCount()); for(var N=0;N<x.argumentCount();N++){ var bw={}; var bx=x.argumentName(N); if(bx){ bw.name=bx; } bw.value=this.serializeReference(x.argumentValue(N)); K[N]=bw; } bj.arguments=K; var K=new d(x.localCount()); for(var N=0;N<x.localCount();N++){ var by={}; by.name=x.localName(N); by.value=this.serializeReference(x.localValue(N)); K[N]=by; } bj.locals=K; serializeLocationFields(x.sourceLocation(),bj); var bz=x.sourceLineText(); if(!(bz===(void 0))){ bj.sourceLineText=bz; } bj.scopes=[]; for(var N=0;N<x.scopeCount();N++){ var bp=x.scope(N); bj.scopes.push({ type:bp.scopeType(), index:N }); } }; JSONProtocolSerializer.prototype.serializeScope_=function(x,bj){ bj.index=x.scopeIndex(); bj.frameIndex=x.frameIndex(); bj.type=x.scopeType(); bj.object=this.inlineRefs_()? this.serializeValue(x.scopeObject()): this.serializeReference(x.scopeObject()); }; function NumberToJSON_(v){ if(e(v)){ return'NaN'; } if(!(%_IsSmi(%IS_VAR(v))||((v==v)&&(v!=1/0)&&(v!=-1/0)))){ if(v>0){ return'Infinity'; }else{ return'-Infinity'; } } return v; } b.InstallFunctions(a,2,[ "MakeMirror",MakeMirror, "MakeMirrorSerializer",MakeMirrorSerializer, "LookupMirror",LookupMirror, "ToggleMirrorCache",ToggleMirrorCache, "MirrorCacheIsEmpty",MirrorCacheIsEmpty, ]); b.InstallConstants(a,[ "ScopeType",G, "PropertyType",E, "PropertyAttribute",F, "Mirror",Mirror, "ValueMirror",ValueMirror, "UndefinedMirror",UndefinedMirror, "NullMirror",NullMirror, "BooleanMirror",BooleanMirror, "NumberMirror",NumberMirror, "StringMirror",StringMirror, "SymbolMirror",SymbolMirror, "ObjectMirror",ObjectMirror, "FunctionMirror",FunctionMirror, "UnresolvedFunctionMirror",UnresolvedFunctionMirror, "ArrayMirror",ArrayMirror, "DateMirror",DateMirror, "RegExpMirror",RegExpMirror, "ErrorMirror",ErrorMirror, "PromiseMirror",PromiseMirror, "MapMirror",MapMirror, "SetMirror",SetMirror, "IteratorMirror",IteratorMirror, "GeneratorMirror",GeneratorMirror, "PropertyMirror",PropertyMirror, "InternalPropertyMirror",InternalPropertyMirror, "FrameMirror",FrameMirror, "ScriptMirror",ScriptMirror, "ScopeMirror",ScopeMirror, "FrameDetails",FrameDetails, ]); b.InstallFunctions(b,2,[ "ClearMirrorCache",ClearMirrorCache ]); b.Export(function(bA){ bA.MirrorType=q; }); }) debugN? (function(a,b){ "use strict"; var c=a.FrameMirror; var d=a.Array; var e=a.RegExp; var f=a.isNaN; var g=a.JSON.parse; var h=a.JSON.stringify; var i=a.LookupMirror; var j; var k; var l=a.MakeMirror; var m=a.MakeMirrorSerializer; var n=a.Math.min; var o=a.Mirror; var p; var q=a.parseInt; var r=a.ValueMirror; b.Import(function(s){ j=s.MakeError; k=s.MakeTypeError; p=s.MirrorType; }); var t=10; var u={}; var v=/^(?:\s*(?:\/\*.*?\*\/)*)*/; u.DebugEvent={Break:1, Exception:2, NewFunction:3, BeforeCompile:4, AfterCompile:5, CompileError:6, PromiseEvent:7, AsyncTaskEvent:8}; u.ExceptionBreak={Caught:0, Uncaught:1}; u.StepAction={StepOut:0, StepNext:1, StepIn:2, StepFrame:3}; u.ScriptType={Native:0, Extension:1, Normal:2}; u.ScriptCompilationType={Host:0, Eval:1, JSON:2}; u.ScriptBreakPointType={ScriptId:0, ScriptName:1, ScriptRegExp:2}; u.BreakPositionAlignment={ Statement:0, BreakPosition:1 }; function ScriptTypeFlag(w){ return(1<<w); } var x=0; var y=1; var z=[]; var A=[]; var B={ breakPointsActive:{ value:true, getValue:function(){return this.value;}, setValue:function(C){ this.value=!!C; %SetBreakPointsActive(this.value); } }, breakOnCaughtException:{ getValue:function(){return u.isBreakOnException();}, setValue:function(C){ if(C){ u.setBreakOnException(); }else{ u.clearBreakOnException(); } } }, breakOnUncaughtException:{ getValue:function(){return u.isBreakOnUncaughtException();}, setValue:function(C){ if(C){ u.setBreakOnUncaughtException(); }else{ u.clearBreakOnUncaughtException(); } } }, }; function MakeBreakPoint(D,E){ var F=new BreakPoint(D,E); z.push(F); return F; } function BreakPoint(D,E){ this.source_position_=D; if(E){ this.script_break_point_=E; }else{ this.number_=y++; } this.hit_count_=0; this.active_=true; this.condition_=null; this.ignoreCount_=0; } BreakPoint.prototype.number=function(){ return this.number_; }; BreakPoint.prototype.func=function(){ return this.func_; }; BreakPoint.prototype.source_position=function(){ return this.source_position_; }; BreakPoint.prototype.hit_count=function(){ return this.hit_count_; }; BreakPoint.prototype.active=function(){ if(this.script_break_point()){ return this.script_break_point().active(); } return this.active_; }; BreakPoint.prototype.condition=function(){ if(this.script_break_point()&&this.script_break_point().condition()){ return this.script_break_point().condition(); } return this.condition_; }; BreakPoint.prototype.ignoreCount=function(){ return this.ignoreCount_; }; BreakPoint.prototype.script_break_point=function(){ return this.script_break_point_; }; BreakPoint.prototype.enable=function(){ this.active_=true; }; BreakPoint.prototype.disable=function(){ this.active_=false; }; BreakPoint.prototype.setCondition=function(G){ this.condition_=G; }; BreakPoint.prototype.setIgnoreCount=function(H){ this.ignoreCount_=H; }; BreakPoint.prototype.isTriggered=function(I){ if(!this.active())return false; if(this.condition()){ try{ var J=I.frame(0).evaluate(this.condition()); if(!(J instanceof r)||!J.value_){ return false; } }catch(e){ return false; } } this.hit_count_++; if(this.script_break_point_){ this.script_break_point_.hit_count_++; } if(this.ignoreCount_>0){ this.ignoreCount_--; return false; } return true; }; function IsBreakPointTriggered(K,F){ return F.isTriggered(MakeExecutionState(K)); } function ScriptBreakPoint(w,script_id_or_name,opt_line,opt_column, opt_groupId,opt_position_alignment){ this.type_=w; if(w==u.ScriptBreakPointType.ScriptId){ this.script_id_=script_id_or_name; }else if(w==u.ScriptBreakPointType.ScriptName){ this.script_name_=script_id_or_name; }else if(w==u.ScriptBreakPointType.ScriptRegExp){ this.script_regexp_object_=new e(script_id_or_name); }else{ throw j(2,"Unexpected breakpoint type "+w); } this.line_=opt_line||0; this.column_=opt_column; this.groupId_=opt_groupId; this.position_alignment_=(opt_position_alignment===(void 0)) ?u.BreakPositionAlignment.Statement:opt_position_alignment; this.hit_count_=0; this.active_=true; this.condition_=null; this.ignoreCount_=0; this.break_points_=[]; } ScriptBreakPoint.prototype.cloneForOtherScript=function(L){ var M=new ScriptBreakPoint(u.ScriptBreakPointType.ScriptId, L.id,this.line_,this.column_,this.groupId_, this.position_alignment_); M.number_=y++; A.push(M); M.hit_count_=this.hit_count_; M.active_=this.active_; M.condition_=this.condition_; M.ignoreCount_=this.ignoreCount_; return M; }; ScriptBreakPoint.prototype.number=function(){ return this.number_; }; ScriptBreakPoint.prototype.groupId=function(){ return this.groupId_; }; ScriptBreakPoint.prototype.type=function(){ return this.type_; }; ScriptBreakPoint.prototype.script_id=function(){ return this.script_id_; }; ScriptBreakPoint.prototype.script_name=function(){ return this.script_name_; }; ScriptBreakPoint.prototype.script_regexp_object=function(){ return this.script_regexp_object_; }; ScriptBreakPoint.prototype.line=function(){ return this.line_; }; ScriptBreakPoint.prototype.column=function(){ return this.column_; }; ScriptBreakPoint.prototype.actual_locations=function(){ var N=[]; for(var O=0;O<this.break_points_.length;O++){ N.push(this.break_points_[O].actual_location); } return N; }; ScriptBreakPoint.prototype.update_positions=function(P,Q){ this.line_=P; this.column_=Q; }; ScriptBreakPoint.prototype.hit_count=function(){ return this.hit_count_; }; ScriptBreakPoint.prototype.active=function(){ return this.active_; }; ScriptBreakPoint.prototype.condition=function(){ return this.condition_; }; ScriptBreakPoint.prototype.ignoreCount=function(){ return this.ignoreCount_; }; ScriptBreakPoint.prototype.enable=function(){ this.active_=true; }; ScriptBreakPoint.prototype.disable=function(){ this.active_=false; }; ScriptBreakPoint.prototype.setCondition=function(G){ this.condition_=G; }; ScriptBreakPoint.prototype.setIgnoreCount=function(H){ this.ignoreCount_=H; for(var O=0;O<this.break_points_.length;O++){ this.break_points_[O].setIgnoreCount(H); } }; ScriptBreakPoint.prototype.matchesScript=function(R){ if(this.type_==u.ScriptBreakPointType.ScriptId){ return this.script_id_==R.id; }else{ if(!(R.line_offset<=this.line_&& this.line_<R.line_offset+R.lineCount())){ return false; } if(this.type_==u.ScriptBreakPointType.ScriptName){ return this.script_name_==R.nameOrSourceURL(); }else if(this.type_==u.ScriptBreakPointType.ScriptRegExp){ return this.script_regexp_object_.test(R.nameOrSourceURL()); }else{ throw j(2,"Unexpected breakpoint type "+this.type_); } } }; ScriptBreakPoint.prototype.set=function(R){ var Q=this.column(); var P=this.line(); if((Q===(void 0))){ var S=R.sourceLine(this.line()); if(!R.sourceColumnStart_){ R.sourceColumnStart_=new d(R.lineCount()); } if((R.sourceColumnStart_[P]===(void 0))){ R.sourceColumnStart_[P]= S.match(v)[0].length; } Q=R.sourceColumnStart_[P]; } var T=u.findScriptSourcePosition(R,this.line(),Q); if((T===null))return; var F=MakeBreakPoint(T,this); F.setIgnoreCount(this.ignoreCount()); var U=%SetScriptBreakPoint(R,T, this.position_alignment_, F); if((U===(void 0))){ U=T; } var V=R.locationFromPosition(U,true); F.actual_location={line:V.line, column:V.column, script_id:R.id}; this.break_points_.push(F); return F; }; ScriptBreakPoint.prototype.clear=function(){ var W=[]; for(var O=0;O<z.length;O++){ if(z[O].script_break_point()&& z[O].script_break_point()===this){ %ClearBreakPoint(z[O]); }else{ W.push(z[O]); } } z=W; this.break_points_=[]; }; function UpdateScriptBreakPoints(R){ for(var O=0;O<A.length;O++){ var F=A[O]; if((F.type()==u.ScriptBreakPointType.ScriptName|| F.type()==u.ScriptBreakPointType.ScriptRegExp)&& F.matchesScript(R)){ F.set(R); } } } function GetScriptBreakPoints(R){ var X=[]; for(var O=0;O<A.length;O++){ if(A[O].matchesScript(R)){ X.push(A[O]); } } return X; } u.setListener=function(Y,Z){ if(!(%_IsFunction(Y))&&!(Y===(void 0))&&!(Y===null)){ throw k(32); } %SetDebugEventListener(Y,Z); }; u.breakLocations=function(aa,ab){ if(!(%_IsFunction(aa)))throw k(32); var ac=(ab===(void 0)) ?u.BreakPositionAlignment.Statement:ab; return %GetBreakLocations(aa,ac); }; u.findScript=function(ad){ if((%_IsFunction(ad))){ return %FunctionGetScript(ad); }else if((%_IsRegExp(ad))){ var ae=u.scripts(); var af=null; var ag=0; for(var O in ae){ var R=ae[O]; if(ad.test(R.name)){ af=R; ag++; } } if(ag==1){ return af; }else{ return(void 0); } }else{ return %GetScript(ad); } }; u.scriptSource=function(ad){ return this.findScript(ad).source; }; u.source=function(aa){ if(!(%_IsFunction(aa)))throw k(32); return %FunctionGetSourceCode(aa); }; u.sourcePosition=function(aa){ if(!(%_IsFunction(aa)))throw k(32); return %FunctionGetScriptSourcePosition(aa); }; u.findFunctionSourceLocation=function(ah,ai,aj){ var R=%FunctionGetScript(ah); var ak=%FunctionGetScriptSourcePosition(ah); return R.locationFromLine(ai,aj,ak); }; u.findScriptSourcePosition=function(R,ai,aj){ var al=R.locationFromLine(ai,aj); return al?al.position:null; }; u.findBreakPoint=function(am,an){ var F; for(var O=0;O<z.length;O++){ if(z[O].number()==am){ F=z[O]; if(an){ z.splice(O,1); } break; } } if(F){ return F; }else{ return this.findScriptBreakPoint(am,an); } }; u.findBreakPointActualLocations=function(am){ for(var O=0;O<A.length;O++){ if(A[O].number()==am){ return A[O].actual_locations(); } } for(var O=0;O<z.length;O++){ if(z[O].number()==am){ return[z[O].actual_location]; } } return[]; }; u.setBreakPoint=function(ah,ai,aj,ao){ if(!(%_IsFunction(ah)))throw k(32); if(%FunctionIsAPIFunction(ah)){ throw j(2,'Cannot set break point in native code.'); } var ap= this.findFunctionSourceLocation(ah,ai,aj).position; var D=ap-this.sourcePosition(ah); var R=%FunctionGetScript(ah); if(R.type==u.ScriptType.Native){ throw j(2,'Cannot set break point in native code.'); } if(R&&R.id){ D+=%FunctionGetScriptSourcePosition(ah); var al=R.locationFromPosition(D,false); return this.setScriptBreakPointById(R.id, al.line,al.column, ao); }else{ var F=MakeBreakPoint(D); var U= %SetFunctionBreakPoint(ah,D,F); U+=this.sourcePosition(ah); var V=R.locationFromPosition(U,true); F.actual_location={line:V.line, column:V.column, script_id:R.id}; F.setCondition(ao); return F.number(); } }; u.setBreakPointByScriptIdAndPosition=function(script_id,T, G,enabled, opt_position_alignment) { var F=MakeBreakPoint(T); F.setCondition(G); if(!enabled){ F.disable(); } var ae=this.scripts(); var aq=(opt_position_alignment===(void 0)) ?u.BreakPositionAlignment.Statement:opt_position_alignment; for(var O=0;O<ae.length;O++){ if(script_id==ae[O].id){ F.actual_position=%SetScriptBreakPoint(ae[O],T, aq,F); break; } } return F; }; u.enableBreakPoint=function(am){ var F=this.findBreakPoint(am,false); if(F){ F.enable(); } }; u.disableBreakPoint=function(am){ var F=this.findBreakPoint(am,false); if(F){ F.disable(); } }; u.changeBreakPointCondition=function(am,G){ var F=this.findBreakPoint(am,false); F.setCondition(G); }; u.changeBreakPointIgnoreCount=function(am,H){ if(H<0)throw j(2,'Invalid argument'); var F=this.findBreakPoint(am,false); F.setIgnoreCount(H); }; u.clearBreakPoint=function(am){ var F=this.findBreakPoint(am,true); if(F){ return %ClearBreakPoint(F); }else{ F=this.findScriptBreakPoint(am,true); if(!F)throw j(2,'Invalid breakpoint'); } }; u.clearAllBreakPoints=function(){ for(var O=0;O<z.length;O++){ var F=z[O]; %ClearBreakPoint(F); } z=[]; }; u.disableAllBreakPoints=function(){ for(var O=1;O<y;O++){ u.disableBreakPoint(O); } %ChangeBreakOnException(u.ExceptionBreak.Caught,false); %ChangeBreakOnException(u.ExceptionBreak.Uncaught,false); }; u.findScriptBreakPoint=function(am,an){ var ar; for(var O=0;O<A.length;O++){ if(A[O].number()==am){ ar=A[O]; if(an){ ar.clear(); A.splice(O,1); } break; } } return ar; }; u.setScriptBreakPoint=function(w,script_id_or_name, ai,aj,ao, opt_groupId,opt_position_alignment){ var ar= new ScriptBreakPoint(w,script_id_or_name,ai,aj, opt_groupId,opt_position_alignment); ar.number_=y++; ar.setCondition(ao); A.push(ar); var ae=this.scripts(); for(var O=0;O<ae.length;O++){ if(ar.matchesScript(ae[O])){ ar.set(ae[O]); } } return ar.number(); }; u.setScriptBreakPointById=function(script_id, ai,aj, ao,opt_groupId, opt_position_alignment){ return this.setScriptBreakPoint(u.ScriptBreakPointType.ScriptId, script_id,ai,aj, ao,opt_groupId, opt_position_alignment); }; u.setScriptBreakPointByName=function(script_name, ai,aj, ao,opt_groupId){ return this.setScriptBreakPoint(u.ScriptBreakPointType.ScriptName, script_name,ai,aj, ao,opt_groupId); }; u.setScriptBreakPointByRegExp=function(script_regexp, ai,aj, ao,opt_groupId){ return this.setScriptBreakPoint(u.ScriptBreakPointType.ScriptRegExp, script_regexp,ai,aj, ao,opt_groupId); }; u.enableScriptBreakPoint=function(am){ var ar=this.findScriptBreakPoint(am,false); ar.enable(); }; u.disableScriptBreakPoint=function(am){ var ar=this.findScriptBreakPoint(am,false); ar.disable(); }; u.changeScriptBreakPointCondition=function( am,G){ var ar=this.findScriptBreakPoint(am,false); ar.setCondition(G); }; u.changeScriptBreakPointIgnoreCount=function( am,H){ if(H<0)throw j(2,'Invalid argument'); var ar=this.findScriptBreakPoint(am,false); ar.setIgnoreCount(H); }; u.scriptBreakPoints=function(){ return A; }; u.clearStepping=function(){ %ClearStepping(); }; u.setBreakOnException=function(){ return %ChangeBreakOnException(u.ExceptionBreak.Caught,true); }; u.clearBreakOnException=function(){ return %ChangeBreakOnException(u.ExceptionBreak.Caught,false); }; u.isBreakOnException=function(){ return!!%IsBreakOnException(u.ExceptionBreak.Caught); }; u.setBreakOnUncaughtException=function(){ return %ChangeBreakOnException(u.ExceptionBreak.Uncaught,true); }; u.clearBreakOnUncaughtException=function(){ return %ChangeBreakOnException(u.ExceptionBreak.Uncaught,false); }; u.isBreakOnUncaughtException=function(){ return!!%IsBreakOnException(u.ExceptionBreak.Uncaught); }; u.showBreakPoints=function(aa,as,at){ if(!(%_IsFunction(aa)))throw j(32); var au=as?this.scriptSource(aa):this.source(aa); var av=as?this.sourcePosition(aa):0; var N=this.breakLocations(aa,at); if(!N)return au; N.sort(function(aw,ax){return aw-ax;}); var X=""; var ay=0; var az; for(var O=0;O<N.length;O++){ az=N[O]-av; X+=au.slice(ay,az); X+="[B"+O+"]"; ay=az; } az=au.length; X+=au.substring(ay,az); return X; }; u.scripts=function(){ return %DebugGetLoadedScripts(); }; u.debuggerFlags=function(){ return B; }; u.MakeMirror=l; function MakeExecutionState(K){ return new ExecutionState(K); } function ExecutionState(K){ this.break_id=K; this.selected_frame=0; } ExecutionState.prototype.prepareStep=function(aA){ if(aA===u.StepAction.StepIn|| aA===u.StepAction.StepOut|| aA===u.StepAction.StepNext|| aA===u.StepAction.StepFrame){ return %PrepareStep(this.break_id,aA); } throw k(32); }; ExecutionState.prototype.evaluateGlobal=function(au,disable_break, opt_additional_context){ return l(%DebugEvaluateGlobal(this.break_id,au, (!!(disable_break)), opt_additional_context)); }; ExecutionState.prototype.frameCount=function(){ return %GetFrameCount(this.break_id); }; ExecutionState.prototype.threadCount=function(){ return %GetThreadCount(this.break_id); }; ExecutionState.prototype.frame=function(aB){ if(aB==null)aB=this.selected_frame; if(aB<0||aB>=this.frameCount()){ throw k(31); } return new c(this.break_id,aB); }; ExecutionState.prototype.setSelectedFrame=function(aC){ var O=(%_ToNumber(aC)); if(O<0||O>=this.frameCount()){ throw k(31); } this.selected_frame=O; }; ExecutionState.prototype.selectedFrame=function(){ return this.selected_frame; }; ExecutionState.prototype.debugCommandProcessor=function(aD){ return new DebugCommandProcessor(this,aD); }; function MakeBreakEvent(K,aE){ return new BreakEvent(K,aE); } function BreakEvent(K,aE){ this.frame_=new c(K,0); this.break_points_hit_=aE; } BreakEvent.prototype.eventType=function(){ return u.DebugEvent.Break; }; BreakEvent.prototype.func=function(){ return this.frame_.func(); }; BreakEvent.prototype.sourceLine=function(){ return this.frame_.sourceLine(); }; BreakEvent.prototype.sourceColumn=function(){ return this.frame_.sourceColumn(); }; BreakEvent.prototype.sourceLineText=function(){ return this.frame_.sourceLineText(); }; BreakEvent.prototype.breakPointsHit=function(){ return this.break_points_hit_; }; BreakEvent.prototype.toJSONProtocol=function(){ var aF={seq:x++, type:"event", event:"break", body:{invocationText:this.frame_.invocationText()} }; var R=this.func().script(); if(R){ aF.body.sourceLine=this.sourceLine(), aF.body.sourceColumn=this.sourceColumn(), aF.body.sourceLineText=this.sourceLineText(), aF.body.script=MakeScriptObject_(R,false); } if(this.breakPointsHit()){ aF.body.breakpoints=[]; for(var O=0;O<this.breakPointsHit().length;O++){ var aG=this.breakPointsHit()[O]; var ar=aG.script_break_point(); var aH; if(ar){ aH=ar.number(); }else{ aH=aG.number(); } aF.body.breakpoints.push(aH); } } return h(ObjectToProtocolObject_(aF)); }; function MakeExceptionEvent(K,aI,aJ,aK){ return new ExceptionEvent(K,aI,aJ,aK); } function ExceptionEvent(K,aI,aJ,aK){ this.exec_state_=new ExecutionState(K); this.exception_=aI; this.uncaught_=aJ; this.promise_=aK; } ExceptionEvent.prototype.eventType=function(){ return u.DebugEvent.Exception; }; ExceptionEvent.prototype.exception=function(){ return this.exception_; }; ExceptionEvent.prototype.uncaught=function(){ return this.uncaught_; }; ExceptionEvent.prototype.promise=function(){ return this.promise_; }; ExceptionEvent.prototype.func=function(){ return this.exec_state_.frame(0).func(); }; ExceptionEvent.prototype.sourceLine=function(){ return this.exec_state_.frame(0).sourceLine(); }; ExceptionEvent.prototype.sourceColumn=function(){ return this.exec_state_.frame(0).sourceColumn(); }; ExceptionEvent.prototype.sourceLineText=function(){ return this.exec_state_.frame(0).sourceLineText(); }; ExceptionEvent.prototype.toJSONProtocol=function(){ var aF=new ProtocolMessage(); aF.event="exception"; aF.body={uncaught:this.uncaught_, exception:l(this.exception_) }; if(this.exec_state_.frameCount()>0){ aF.body.sourceLine=this.sourceLine(); aF.body.sourceColumn=this.sourceColumn(); aF.body.sourceLineText=this.sourceLineText(); var R=this.func().script(); if(R){ aF.body.script=MakeScriptObject_(R,false); } }else{ aF.body.sourceLine=-1; } return aF.toJSONProtocol(); }; function MakeCompileEvent(R,w){ return new CompileEvent(R,w); } function CompileEvent(R,w){ this.script_=l(R); this.type_=w; } CompileEvent.prototype.eventType=function(){ return this.type_; }; CompileEvent.prototype.script=function(){ return this.script_; }; CompileEvent.prototype.toJSONProtocol=function(){ var aF=new ProtocolMessage(); aF.running=true; switch(this.type_){ case u.DebugEvent.BeforeCompile: aF.event="beforeCompile"; break; case u.DebugEvent.AfterCompile: aF.event="afterCompile"; break; case u.DebugEvent.CompileError: aF.event="compileError"; break; } aF.body={}; aF.body.script=this.script_; return aF.toJSONProtocol(); }; function MakeScriptObject_(R,aL){ var aF={id:R.id(), name:R.name(), lineOffset:R.lineOffset(), columnOffset:R.columnOffset(), lineCount:R.lineCount(), }; if(!(R.data()===(void 0))){ aF.data=R.data(); } if(aL){ aF.source=R.source(); } return aF; } function MakePromiseEvent(aM){ return new PromiseEvent(aM); } function PromiseEvent(aM){ this.promise_=aM.promise; this.parentPromise_=aM.parentPromise; this.status_=aM.status; this.value_=aM.value; } PromiseEvent.prototype.promise=function(){ return l(this.promise_); } PromiseEvent.prototype.parentPromise=function(){ return l(this.parentPromise_); } PromiseEvent.prototype.status=function(){ return this.status_; } PromiseEvent.prototype.value=function(){ return l(this.value_); } function MakeAsyncTaskEvent(aM){ return new AsyncTaskEvent(aM); } function AsyncTaskEvent(aM){ this.type_=aM.type; this.name_=aM.name; this.id_=aM.id; } AsyncTaskEvent.prototype.type=function(){ return this.type_; } AsyncTaskEvent.prototype.name=function(){ return this.name_; } AsyncTaskEvent.prototype.id=function(){ return this.id_; } function DebugCommandProcessor(I,aD){ this.exec_state_=I; this.running_=aD||false; } DebugCommandProcessor.prototype.processDebugRequest=function(aN){ return this.processDebugJSONRequest(aN); }; function ProtocolMessage(aN){ this.seq=x++; if(aN){ this.type='response'; this.request_seq=aN.seq; this.command=aN.command; }else{ this.type='event'; } this.success=true; this.running=(void 0); } ProtocolMessage.prototype.setOption=function(aO,C){ if(!this.options_){ this.options_={}; } this.options_[aO]=C; }; ProtocolMessage.prototype.failed=function(aP,aQ){ this.success=false; this.message=aP; if((typeof(aQ)==='object')){ this.error_details=aQ; } }; ProtocolMessage.prototype.toJSONProtocol=function(){ var aR={}; aR.seq=this.seq; if(this.request_seq){ aR.request_seq=this.request_seq; } aR.type=this.type; if(this.event){ aR.event=this.event; } if(this.command){ aR.command=this.command; } if(this.success){ aR.success=this.success; }else{ aR.success=false; } if(this.body){ var aS; var aT=m(true,this.options_); if(this.body instanceof o){ aS=aT.serializeValue(this.body); }else if(this.body instanceof d){ aS=[]; for(var O=0;O<this.body.length;O++){ if(this.body[O]instanceof o){ aS.push(aT.serializeValue(this.body[O])); }else{ aS.push(ObjectToProtocolObject_(this.body[O],aT)); } } }else{ aS=ObjectToProtocolObject_(this.body,aT); } aR.body=aS; aR.refs=aT.serializeReferencedObjects(); } if(this.message){ aR.message=this.message; } if(this.error_details){ aR.error_details=this.error_details; } aR.running=this.running; return h(aR); }; DebugCommandProcessor.prototype.createResponse=function(aN){ return new ProtocolMessage(aN); }; DebugCommandProcessor.prototype.processDebugJSONRequest=function( json_request){ var aN; var aU; try{ try{ aN=g(json_request); aU=this.createResponse(aN); if(!aN.type){ throw j(2,'Type not specified'); } if(aN.type!='request'){ throw j(2, "Illegal type '"+aN.type+"' in request"); } if(!aN.command){ throw j(2,'Command not specified'); } if(aN.arguments){ var aV=aN.arguments; if(aV.inlineRefs||aV.compactFormat){ aU.setOption('inlineRefs',true); } if(!(aV.maxStringLength===(void 0))){ aU.setOption('maxStringLength',aV.maxStringLength); } } var aW=aN.command.toLowerCase(); var aX=DebugCommandProcessor.prototype.dispatch_[aW]; if((%_IsFunction(aX))){ %_Call(aX,this,aN,aU); }else{ throw j(2, 'Unknown command "'+aN.command+'" in request'); } }catch(e){ if(!aU){ aU=this.createResponse(); } aU.success=false; aU.message=(%_ToString(e)); } try{ if(!(aU.running===(void 0))){ this.running_=aU.running; } aU.running=this.running_; return aU.toJSONProtocol(); }catch(e){ return'{"seq":'+aU.seq+','+ '"request_seq":'+aN.seq+','+ '"type":"response",'+ '"success":false,'+ '"message":"Internal error: '+(%_ToString(e))+'"}'; } }catch(e){ return'{"seq":0,"type":"response","success":false,"message":"Internal error"}'; } }; DebugCommandProcessor.prototype.continueRequest_=function(aN,aU){ if(aN.arguments){ var aA=u.StepAction.StepIn; var aY=aN.arguments.stepaction; if(aY){ if(aY=='in'){ aA=u.StepAction.StepIn; }else if(aY=='next'){ aA=u.StepAction.StepNext; }else if(aY=='out'){ aA=u.StepAction.StepOut; }else{ throw j(2, 'Invalid stepaction argument "'+aY+'".'); } } this.exec_state_.prepareStep(aA); } aU.running=true; }; DebugCommandProcessor.prototype.breakRequest_=function(aN,aU){ }; DebugCommandProcessor.prototype.setBreakPointRequest_= function(aN,aU){ if(!aN.arguments){ aU.failed('Missing arguments'); return; } var w=aN.arguments.type; var aZ=aN.arguments.target; var P=aN.arguments.line; var Q=aN.arguments.column; var ba=(aN.arguments.enabled===(void 0))? true:aN.arguments.enabled; var G=aN.arguments.condition; var H=aN.arguments.ignoreCount; var bb=aN.arguments.groupId; if(!w||(aZ===(void 0))){ aU.failed('Missing argument "type" or "target"'); return; } var am; if(w=='function'){ if(!(typeof(aZ)==='string')){ aU.failed('Argument "target" is not a string value'); return; } var aa; try{ aa=this.exec_state_.evaluateGlobal(aZ).value(); }catch(e){ aU.failed('Error: "'+(%_ToString(e))+ '" evaluating "'+aZ+'"'); return; } if(!(%_IsFunction(aa))){ aU.failed('"'+aZ+'" does not evaluate to a function'); return; } am=u.setBreakPoint(aa,P,Q,G); }else if(w=='handle'){ var bc=q(aZ,10); var J=i(bc); if(!J){ return aU.failed('Object #'+bc+'# not found'); } if(!J.isFunction()){ return aU.failed('Object #'+bc+'# is not a function'); } am=u.setBreakPoint(J.value(), P,Q,G); }else if(w=='script'){ am= u.setScriptBreakPointByName(aZ,P,Q,G, bb); }else if(w=='scriptId'){ am= u.setScriptBreakPointById(aZ,P,Q,G,bb); }else if(w=='scriptRegExp'){ am= u.setScriptBreakPointByRegExp(aZ,P,Q,G, bb); }else{ aU.failed('Illegal type "'+w+'"'); return; } var F=u.findBreakPoint(am); if(H){ u.changeBreakPointIgnoreCount(am,H); } if(!ba){ u.disableBreakPoint(am); } aU.body={type:w, breakpoint:am}; if(F instanceof ScriptBreakPoint){ if(F.type()==u.ScriptBreakPointType.ScriptId){ aU.body.type='scriptId'; aU.body.script_id=F.script_id(); }else if(F.type()==u.ScriptBreakPointType.ScriptName){ aU.body.type='scriptName'; aU.body.script_name=F.script_name(); }else if(F.type()==u.ScriptBreakPointType.ScriptRegExp){ aU.body.type='scriptRegExp'; aU.body.script_regexp=F.script_regexp_object().source; }else{ throw j(2, "Unexpected breakpoint type: "+F.type()); } aU.body.line=F.line(); aU.body.column=F.column(); aU.body.actual_locations=F.actual_locations(); }else{ aU.body.type='function'; aU.body.actual_locations=[F.actual_location]; } }; DebugCommandProcessor.prototype.changeBreakPointRequest_=function( aN,aU){ if(!aN.arguments){ aU.failed('Missing arguments'); return; } var F=(%_ToNumber(aN.arguments.breakpoint)); var ba=aN.arguments.enabled; var G=aN.arguments.condition; var H=aN.arguments.ignoreCount; if(!F){ aU.failed('Missing argument "breakpoint"'); return; } if(!(ba===(void 0))){ if(ba){ u.enableBreakPoint(F); }else{ u.disableBreakPoint(F); } } if(!(G===(void 0))){ u.changeBreakPointCondition(F,G); } if(!(H===(void 0))){ u.changeBreakPointIgnoreCount(F,H); } }; DebugCommandProcessor.prototype.clearBreakPointGroupRequest_=function( aN,aU){ if(!aN.arguments){ aU.failed('Missing arguments'); return; } var bd=aN.arguments.groupId; if(!bd){ aU.failed('Missing argument "groupId"'); return; } var be=[]; var bf=[]; for(var O=0;O<A.length;O++){ var bg=A[O]; if(bg.groupId()==bd){ be.push(bg.number()); bg.clear(); }else{ bf.push(bg); } } A=bf; aU.body={breakpoints:be}; }; DebugCommandProcessor.prototype.clearBreakPointRequest_=function( aN,aU){ if(!aN.arguments){ aU.failed('Missing arguments'); return; } var F=(%_ToNumber(aN.arguments.breakpoint)); if(!F){ aU.failed('Missing argument "breakpoint"'); return; } u.clearBreakPoint(F); aU.body={breakpoint:F}; }; DebugCommandProcessor.prototype.listBreakpointsRequest_=function( aN,aU){ var bh=[]; for(var O=0;O<A.length;O++){ var F=A[O]; var bi={ number:F.number(), line:F.line(), column:F.column(), groupId:F.groupId(), hit_count:F.hit_count(), active:F.active(), condition:F.condition(), ignoreCount:F.ignoreCount(), actual_locations:F.actual_locations() }; if(F.type()==u.ScriptBreakPointType.ScriptId){ bi.type='scriptId'; bi.script_id=F.script_id(); }else if(F.type()==u.ScriptBreakPointType.ScriptName){ bi.type='scriptName'; bi.script_name=F.script_name(); }else if(F.type()==u.ScriptBreakPointType.ScriptRegExp){ bi.type='scriptRegExp'; bi.script_regexp=F.script_regexp_object().source; }else{ throw j(2, "Unexpected breakpoint type: "+F.type()); } bh.push(bi); } aU.body={ breakpoints:bh, breakOnExceptions:u.isBreakOnException(), breakOnUncaughtExceptions:u.isBreakOnUncaughtException() }; }; DebugCommandProcessor.prototype.disconnectRequest_= function(aN,aU){ u.disableAllBreakPoints(); this.continueRequest_(aN,aU); }; DebugCommandProcessor.prototype.setExceptionBreakRequest_= function(aN,aU){ if(!aN.arguments){ aU.failed('Missing arguments'); return; } var w=aN.arguments.type; if(!w){ aU.failed('Missing argument "type"'); return; } var ba; if(w=='all'){ ba=!u.isBreakOnException(); }else if(w=='uncaught'){ ba=!u.isBreakOnUncaughtException(); } if(!(aN.arguments.enabled===(void 0))){ ba=aN.arguments.enabled; if((ba!=true)&&(ba!=false)){ aU.failed('Illegal value for "enabled":"'+ba+'"'); } } if(w=='all'){ %ChangeBreakOnException(u.ExceptionBreak.Caught,ba); }else if(w=='uncaught'){ %ChangeBreakOnException(u.ExceptionBreak.Uncaught,ba); }else{ aU.failed('Unknown "type":"'+w+'"'); } aU.body={'type':w,'enabled':ba}; }; DebugCommandProcessor.prototype.backtraceRequest_=function( aN,aU){ var bj=this.exec_state_.frameCount(); if(bj==0){ aU.body={ totalFrames:bj }; return; } var bk=0; var bl=t; if(aN.arguments){ if(aN.arguments.fromFrame){ bk=aN.arguments.fromFrame; } if(aN.arguments.toFrame){ bl=aN.arguments.toFrame; } if(aN.arguments.bottom){ var bm=bj-bk; bk=bj-bl; bl=bm; } if(bk<0||bl<0){ return aU.failed('Invalid frame number'); } } bl=n(bj,bl); if(bl<=bk){ var bn='Invalid frame range'; return aU.failed(bn); } var bo=[]; for(var O=bk;O<bl;O++){ bo.push(this.exec_state_.frame(O)); } aU.body={ fromFrame:bk, toFrame:bl, totalFrames:bj, frames:bo }; }; DebugCommandProcessor.prototype.frameRequest_=function(aN,aU){ if(this.exec_state_.frameCount()==0){ return aU.failed('No frames'); } if(aN.arguments){ var aC=aN.arguments.number; if(aC<0||this.exec_state_.frameCount()<=aC){ return aU.failed('Invalid frame number'); } this.exec_state_.setSelectedFrame(aN.arguments.number); } aU.body=this.exec_state_.frame(); }; DebugCommandProcessor.prototype.resolveFrameFromScopeDescription_= function(bp){ if(bp&&!(bp.frameNumber===(void 0))){ var bq=bp.frameNumber; if(bq<0||this.exec_state_.frameCount()<=bq){ throw k(31); } return this.exec_state_.frame(bq); }else{ return this.exec_state_.frame(); } }; DebugCommandProcessor.prototype.resolveScopeHolder_= function(bp){ if(bp&&"functionHandle"in bp){ if(!(typeof(bp.functionHandle)==='number')){ throw j(2,'Function handle must be a number'); } var br=i(bp.functionHandle); if(!br){ throw j(2,'Failed to find function object by handle'); } if(!br.isFunction()){ throw j(2, 'Value of non-function type is found by handle'); } return br; }else{ if(this.exec_state_.frameCount()==0){ throw j(2,'No scopes'); } var bs=this.resolveFrameFromScopeDescription_(bp); return bs; } } DebugCommandProcessor.prototype.scopesRequest_=function(aN,aU){ var bt=this.resolveScopeHolder_(aN.arguments); var bu=bt.scopeCount(); var bv=[]; for(var O=0;O<bu;O++){ bv.push(bt.scope(O)); } aU.body={ fromScope:0, toScope:bu, totalScopes:bu, scopes:bv }; }; DebugCommandProcessor.prototype.scopeRequest_=function(aN,aU){ var bt=this.resolveScopeHolder_(aN.arguments); var bw=0; if(aN.arguments&&!(aN.arguments.number===(void 0))){ bw=(%_ToNumber(aN.arguments.number)); if(bw<0||bt.scopeCount()<=bw){ return aU.failed('Invalid scope number'); } } aU.body=bt.scope(bw); }; DebugCommandProcessor.resolveValue_=function(bx){ if("handle"in bx){ var by=i(bx.handle); if(!by){ throw j(2,"Failed to resolve value by handle, ' #"+ bx.handle+"# not found"); } return by.value(); }else if("stringDescription"in bx){ if(bx.type==p.BOOLEAN_TYPE){ return(!!(bx.stringDescription)); }else if(bx.type==p.NUMBER_TYPE){ return(%_ToNumber(bx.stringDescription)); }if(bx.type==p.STRING_TYPE){ return(%_ToString(bx.stringDescription)); }else{ throw j(2,"Unknown type"); } }else if("value"in bx){ return bx.value; }else if(bx.type==p.UNDEFINED_TYPE){ return(void 0); }else if(bx.type==p.NULL_TYPE){ return null; }else{ throw j(2,"Failed to parse value description"); } }; DebugCommandProcessor.prototype.setVariableValueRequest_= function(aN,aU){ if(!aN.arguments){ aU.failed('Missing arguments'); return; } if((aN.arguments.name===(void 0))){ aU.failed('Missing variable name'); } var bz=aN.arguments.name; var bp=aN.arguments.scope; var bt=this.resolveScopeHolder_(bp); if((bp.number===(void 0))){ aU.failed('Missing scope number'); } var bw=(%_ToNumber(bp.number)); var bA=bt.scope(bw); var bB= DebugCommandProcessor.resolveValue_(aN.arguments.newValue); bA.setVariableValue(bz,bB); var bC=l(bB); aU.body={ newValue:bC }; }; DebugCommandProcessor.prototype.evaluateRequest_=function(aN,aU){ if(!aN.arguments){ return aU.failed('Missing arguments'); } var bD=aN.arguments.expression; var bs=aN.arguments.frame; var a=aN.arguments.global; var bE=aN.arguments.disable_break; var bF=aN.arguments.additional_context; try{ bD=(%_ToString(bD)); }catch(e){ return aU.failed('Failed to convert expression argument to string'); } if(!(bs===(void 0))&&a){ return aU.failed('Arguments "frame" and "global" are exclusive'); } var bG; if(bF){ bG={}; for(var O=0;O<bF.length;O++){ var bH=bF[O]; if(!(typeof(bH.name)==='string')){ return aU.failed("Context element #"+O+ " doesn't contain name:string property"); } var bI=DebugCommandProcessor.resolveValue_(bH); bG[bH.name]=bI; } } if(a){ aU.body=this.exec_state_.evaluateGlobal( bD,(!!(bE)),bG); return; } if((bE===(void 0))){ bE=true; } if(this.exec_state_.frameCount()==0){ return aU.failed('No frames'); } if(!(bs===(void 0))){ var bJ=(%_ToNumber(bs)); if(bJ<0||bJ>=this.exec_state_.frameCount()){ return aU.failed('Invalid frame "'+bs+'"'); } aU.body=this.exec_state_.frame(bJ).evaluate( bD,(!!(bE)),bG); return; }else{ aU.body=this.exec_state_.frame().evaluate( bD,(!!(bE)),bG); return; } }; DebugCommandProcessor.prototype.lookupRequest_=function(aN,aU){ if(!aN.arguments){ return aU.failed('Missing arguments'); } var bK=aN.arguments.handles; if((bK===(void 0))){ return aU.failed('Argument "handles" missing'); } if(!(aN.arguments.includeSource===(void 0))){ var bL=(!!(aN.arguments.includeSource)); aU.setOption('includeSource',bL); } var bM={}; for(var O=0;O<bK.length;O++){ var bc=bK[O]; var J=i(bc); if(!J){ return aU.failed('Object #'+bc+'# not found'); } bM[bc]=J; } aU.body=bM; }; DebugCommandProcessor.prototype.referencesRequest_= function(aN,aU){ if(!aN.arguments){ return aU.failed('Missing arguments'); } var w=aN.arguments.type; var bc=aN.arguments.handle; if((w===(void 0))){ return aU.failed('Argument "type" missing'); } if((bc===(void 0))){ return aU.failed('Argument "handle" missing'); } if(w!='referencedBy'&&w!='constructedBy'){ return aU.failed('Invalid type "'+w+'"'); } var J=i(bc); if(J){ if(w=='referencedBy'){ aU.body=J.referencedBy(); }else{ aU.body=J.constructedBy(); } }else{ return aU.failed('Object #'+bc+'# not found'); } }; DebugCommandProcessor.prototype.sourceRequest_=function(aN,aU){ if(this.exec_state_.frameCount()==0){ return aU.failed('No source'); } var bN; var bO; var bs=this.exec_state_.frame(); if(aN.arguments){ bN=aN.arguments.fromLine; bO=aN.arguments.toLine; if(!(aN.arguments.frame===(void 0))){ var bJ=(%_ToNumber(aN.arguments.frame)); if(bJ<0||bJ>=this.exec_state_.frameCount()){ return aU.failed('Invalid frame "'+bs+'"'); } bs=this.exec_state_.frame(bJ); } } var R=bs.func().script(); if(!R){ return aU.failed('No source'); } var bP=R.sourceSlice(bN,bO); if(!bP){ return aU.failed('Invalid line interval'); } aU.body={}; aU.body.source=bP.sourceText(); aU.body.fromLine=bP.from_line; aU.body.toLine=bP.to_line; aU.body.fromPosition=bP.from_position; aU.body.toPosition=bP.to_position; aU.body.totalLines=R.lineCount(); }; DebugCommandProcessor.prototype.scriptsRequest_=function(aN,aU){ var bQ=ScriptTypeFlag(u.ScriptType.Normal); var bL=false; var bR=null; if(aN.arguments){ if(!(aN.arguments.types===(void 0))){ bQ=(%_ToNumber(aN.arguments.types)); if(f(bQ)||bQ<0){ return aU.failed('Invalid types "'+ aN.arguments.types+'"'); } } if(!(aN.arguments.includeSource===(void 0))){ bL=(!!(aN.arguments.includeSource)); aU.setOption('includeSource',bL); } if((%_IsArray(aN.arguments.ids))){ bR={}; var bS=aN.arguments.ids; for(var O=0;O<bS.length;O++){ bR[bS[O]]=true; } } var bT=null; var bU=null; if(!(aN.arguments.filter===(void 0))){ var bV=(%_ToNumber(aN.arguments.filter)); if(!f(bV)){ bU=bV; } bT=aN.arguments.filter; } } var ae=%DebugGetLoadedScripts(); aU.body=[]; for(var O=0;O<ae.length;O++){ if(bR&&!bR[ae[O].id]){ continue; } if(bT||bU){ var R=ae[O]; var bW=false; if(bU&&!bW){ if(R.id&&R.id===bU){ bW=true; } } if(bT&&!bW){ if(R.name&&R.name.indexOf(bT)>=0){ bW=true; } } if(!bW)continue; } if(bQ&ScriptTypeFlag(ae[O].type)){ aU.body.push(l(ae[O])); } } }; DebugCommandProcessor.prototype.threadsRequest_=function(aN,aU){ var bX=this.exec_state_.threadCount(); var bY=[]; for(var O=0;O<bX;O++){ var bZ=%GetThreadDetails(this.exec_state_.break_id,O); var ca={current:bZ[0], id:bZ[1] }; bY.push(ca); } aU.body={ totalThreads:bX, threads:bY }; }; DebugCommandProcessor.prototype.suspendRequest_=function(aN,aU){ aU.running=false; }; DebugCommandProcessor.prototype.versionRequest_=function(aN,aU){ aU.body={ V8Version:%GetV8Version() }; }; DebugCommandProcessor.prototype.changeLiveRequest_=function( aN,aU){ if(!aN.arguments){ return aU.failed('Missing arguments'); } var cb=aN.arguments.script_id; var cc=!!aN.arguments.preview_only; var ae=%DebugGetLoadedScripts(); var cd=null; for(var O=0;O<ae.length;O++){ if(ae[O].id==cb){ cd=ae[O]; } } if(!cd){ aU.failed('Script not found'); return; } var ce=new d(); if(!(typeof(aN.arguments.new_source)==='string')){ throw"new_source argument expected"; } var cf=aN.arguments.new_source; var cg; try{ cg=u.LiveEdit.SetScriptSource(cd, cf,cc,ce); }catch(e){ if(e instanceof u.LiveEdit.Failure&&"details"in e){ aU.failed(e.message,e.details); return; } throw e; } aU.body={change_log:ce,result:cg}; if(!cc&&!this.running_&&cg.stack_modified){ aU.body.stepin_recommended=true; } }; DebugCommandProcessor.prototype.restartFrameRequest_=function( aN,aU){ if(!aN.arguments){ return aU.failed('Missing arguments'); } var bs=aN.arguments.frame; if(this.exec_state_.frameCount()==0){ return aU.failed('No frames'); } var ch; if(!(bs===(void 0))){ var bJ=(%_ToNumber(bs)); if(bJ<0||bJ>=this.exec_state_.frameCount()){ return aU.failed('Invalid frame "'+bs+'"'); } ch=this.exec_state_.frame(bJ); }else{ ch=this.exec_state_.frame(); } var cg=u.LiveEdit.RestartFrame(ch); aU.body={result:cg}; }; DebugCommandProcessor.prototype.debuggerFlagsRequest_=function(aN, aU){ if(!aN.arguments){ aU.failed('Missing arguments'); return; } var ci=aN.arguments.flags; aU.body={flags:[]}; if(!(ci===(void 0))){ for(var O=0;O<ci.length;O++){ var aO=ci[O].name; var cj=B[aO]; if(!cj){ continue; } if('value'in ci[O]){ cj.setValue(ci[O].value); } aU.body.flags.push({name:aO,value:cj.getValue()}); } }else{ for(var aO in B){ var C=B[aO].getValue(); aU.body.flags.push({name:aO,value:C}); } } }; DebugCommandProcessor.prototype.v8FlagsRequest_=function(aN,aU){ var ci=aN.arguments.flags; if(!ci)ci=''; %SetFlags(ci); }; DebugCommandProcessor.prototype.gcRequest_=function(aN,aU){ var w=aN.arguments.type; if(!w)w='all'; var ck=%GetHeapUsage(); %CollectGarbage(w); var cl=%GetHeapUsage(); aU.body={"before":ck,"after":cl}; }; DebugCommandProcessor.prototype.dispatch_=(function(){ var cm=DebugCommandProcessor.prototype; return{ "continue":cm.continueRequest_, "break":cm.breakRequest_, "setbreakpoint":cm.setBreakPointRequest_, "changebreakpoint":cm.changeBreakPointRequest_, "clearbreakpoint":cm.clearBreakPointRequest_, "clearbreakpointgroup":cm.clearBreakPointGroupRequest_, "disconnect":cm.disconnectRequest_, "setexceptionbreak":cm.setExceptionBreakRequest_, "listbreakpoints":cm.listBreakpointsRequest_, "backtrace":cm.backtraceRequest_, "frame":cm.frameRequest_, "scopes":cm.scopesRequest_, "scope":cm.scopeRequest_, "setvariablevalue":cm.setVariableValueRequest_, "evaluate":cm.evaluateRequest_, "lookup":cm.lookupRequest_, "references":cm.referencesRequest_, "source":cm.sourceRequest_, "scripts":cm.scriptsRequest_, "threads":cm.threadsRequest_, "suspend":cm.suspendRequest_, "version":cm.versionRequest_, "changelive":cm.changeLiveRequest_, "restartframe":cm.restartFrameRequest_, "flags":cm.debuggerFlagsRequest_, "v8flag":cm.v8FlagsRequest_, "gc":cm.gcRequest_, }; })(); DebugCommandProcessor.prototype.isRunning=function(){ return this.running_; }; DebugCommandProcessor.prototype.systemBreak=function(cn,aV){ return %SystemBreak(); }; function ObjectToProtocolObject_(co,cp){ var cq={}; for(var aW in co){ if(typeof aW=='string'){ var cr=ValueToProtocolValue_(co[aW], cp); if(!(cr===(void 0))){ cq[aW]=cr; } } } return cq; } function ArrayToProtocolArray_(bh,cp){ var aR=[]; for(var O=0;O<bh.length;O++){ aR.push(ValueToProtocolValue_(bh[O],cp)); } return aR; } function ValueToProtocolValue_(C,cp){ var aR; switch(typeof C){ case'object': if(C instanceof o){ aR=cp.serializeValue(C); }else if((%_IsArray(C))){ aR=ArrayToProtocolArray_(C,cp); }else{ aR=ObjectToProtocolObject_(C,cp); } break; case'boolean': case'string': case'number': aR=C; break; default: aR=null; } return aR; } b.InstallConstants(a,[ "Debug",u, "DebugCommandProcessor",DebugCommandProcessor, "BreakEvent",BreakEvent, "CompileEvent",CompileEvent, "BreakPoint",BreakPoint, ]); b.InstallFunctions(b,2,[ "MakeExecutionState",MakeExecutionState, "MakeExceptionEvent",MakeExceptionEvent, "MakeBreakEvent",MakeBreakEvent, "MakeCompileEvent",MakeCompileEvent, "MakePromiseEvent",MakePromiseEvent, "MakeAsyncTaskEvent",MakeAsyncTaskEvent, "IsBreakPointTriggered",IsBreakPointTriggered, "UpdateScriptBreakPoints",UpdateScriptBreakPoints, ]); b.Export(function(cs){ cs.GetScriptBreakPoints=GetScriptBreakPoints; }); }) liveedit%? (function(a,b){ "use strict"; var c=a.Debug.findScriptSourcePosition; var d; var e=a.Array; var f=a.Math.floor; var g=a.SyntaxError; b.Import(function(h){ d=h.GetScriptBreakPoints; }); var i; function ApplyPatchMultiChunk(script,diff_array,new_source,preview_only, change_log){ var j=script.source; var k=GatherCompileInfo(j,script); var l=BuildCodeInfoTree(k); var m=new PosTranslator(diff_array); MarkChangedFunctions(l,m.GetChunks()); FindLiveSharedInfos(l,script); var n; try{ n=GatherCompileInfo(new_source,script); }catch(e){ var o= new Failure("Failed to compile new version of script: "+e); if(e instanceof g){ var p={ type:"liveedit_compile_error", syntaxErrorMessage:e.message }; CopyErrorPositionToDetails(e,p); o.details=p; } throw o; } var q=BuildCodeInfoTree(n); FindCorrespondingFunctions(l,q); var r=new e(); var s=new e(); var t=new e(); var u=new e(); function HarvestTodo(v){ function CollectDamaged(w){ s.push(w); for(var x=0;x<w.children.length;x++){ CollectDamaged(w.children[x]); } } function CollectNew(y){ for(var x=0;x<y.length;x++){ t.push(y[x]); CollectNew(y[x].children); } } if(v.status==i.DAMAGED){ CollectDamaged(v); return; } if(v.status==i.UNCHANGED){ u.push(v); }else if(v.status==i.SOURCE_CHANGED){ u.push(v); }else if(v.status==i.CHANGED){ r.push(v); CollectNew(v.unmatched_new_nodes); } for(var x=0;x<v.children.length;x++){ HarvestTodo(v.children[x]); } } var z={ change_tree:DescribeChangeTree(l), textual_diff:{ old_len:j.length, new_len:new_source.length, chunks:diff_array }, updated:false }; if(preview_only){ return z; } HarvestTodo(l); var A=new e(); var B=new e(); for(var x=0;x<r.length;x++){ var C=r[x].live_shared_function_infos; var D= r[x].corresponding_node.info.shared_function_info; if(C){ for(var E=0;E<C.length;E++){ A.push(C[E]); B.push(D); } } } var F= CheckStackActivations(A, B, change_log); z.stack_modified=F!=0; var G=TemporaryRemoveBreakPoints(script,change_log); var H; if(s.length==0){ %LiveEditReplaceScript(script,new_source,null); H=(void 0); }else{ var I=CreateNameForOldScript(script); H=%LiveEditReplaceScript(script,new_source, I); var J=new e(); change_log.push({linked_to_old_script:J}); for(var x=0;x<s.length;x++){ LinkToOldScript(s[x],H, J); } z.created_script_name=I; } for(var x=0;x<t.length;x++){ %LiveEditFunctionSetScript( t[x].info.shared_function_info,script); } for(var x=0;x<r.length;x++){ PatchFunctionCode(r[x],change_log); } var K=new e(); change_log.push({position_patched:K}); for(var x=0;x<u.length;x++){ PatchPositions(u[x],diff_array, K); if(u[x].live_shared_function_infos){ u[x].live_shared_function_infos. forEach(function(L){ %LiveEditFunctionSourceUpdated(L.raw_array); }); } } G(m,H); z.updated=true; return z; } function GatherCompileInfo(M,N){ var O=%LiveEditGatherCompileInfo(N,M); var P=new e(); var Q=new e(); for(var x=0;x<O.length;x++){ var L=new FunctionCompileInfo(O[x]); %LiveEditFunctionSetScript(L.shared_function_info,(void 0)); P.push(L); Q.push(x); } for(var x=0;x<P.length;x++){ var R=x; for(var E=x+1;E<P.length;E++){ if(P[R].start_position>P[E].start_position){ R=E; } } if(R!=x){ var S=P[R]; var T=Q[R]; P[R]=P[x]; Q[R]=Q[x]; P[x]=S; Q[x]=T; } } var U=0; function ResetIndexes(V,W){ var X=-1; while(U<P.length&& P[U].outer_index==W){ var Y=U; P[Y].outer_index=V; if(X!=-1){ P[X].next_sibling_index=Y; } X=Y; U++; ResetIndexes(Y,Q[Y]); } if(X!=-1){ P[X].next_sibling_index=-1; } } ResetIndexes(-1,-1); Assert(U==P.length); return P; } function PatchFunctionCode(v,Z){ var D=v.corresponding_node.info; if(v.live_shared_function_infos){ v.live_shared_function_infos.forEach(function(aa){ %LiveEditReplaceFunctionCode(D.raw_array, aa.raw_array); for(var x=0;x<v.children.length;x++){ if(v.children[x].corresponding_node){ var ab= v.children[x].corresponding_node.info. shared_function_info; if(v.children[x].live_shared_function_infos){ v.children[x].live_shared_function_infos. forEach(function(ac){ %LiveEditReplaceRefToNestedFunction( aa.info, ab, ac.info); }); } } } }); Z.push({function_patched:D.function_name}); }else{ Z.push({function_patched:D.function_name, function_info_not_found:true}); } } function LinkToOldScript(ad,H,ae){ if(ad.live_shared_function_infos){ ad.live_shared_function_infos. forEach(function(L){ %LiveEditFunctionSetScript(L.info,H); }); ae.push({name:ad.info.function_name}); }else{ ae.push( {name:ad.info.function_name,not_found:true}); } } function TemporaryRemoveBreakPoints(af,Z){ var ag=d(af); var ah=[]; Z.push({break_points_update:ah}); var ai=[]; for(var x=0;x<ag.length;x++){ var aj=ag[x]; aj.clear(); var ak=c(af, aj.line(),aj.column()); var al={ position:ak, line:aj.line(), column:aj.column() }; ai.push(al); } return function(m,am){ for(var x=0;x<ag.length;x++){ var aj=ag[x]; if(am){ var an=aj.cloneForOtherScript(am); an.set(am); ah.push({ type:"copied_to_old", id:aj.number(), new_id:an.number(), positions:ai[x] }); } var ao=m.Translate( ai[x].position, PosTranslator.ShiftWithTopInsideChunkHandler); var ap= af.locationFromPosition(ao,false); aj.update_positions(ap.line,ap.column); var aq={ position:ao, line:ap.line, column:ap.column }; aj.set(af); ah.push({type:"position_changed", id:aj.number(), old_positions:ai[x], new_positions:aq }); } }; } function Assert(ar,as){ if(!ar){ if(as){ throw"Assert "+as; }else{ throw"Assert"; } } } function DiffChunk(at,au,av,aw){ this.pos1=at; this.pos2=au; this.len1=av; this.len2=aw; } function PosTranslator(ax){ var ay=new e(); var az=0; for(var x=0;x<ax.length;x+=3){ var aA=ax[x]; var aB=aA+az; var aC=ax[x+1]; var aD=ax[x+2]; ay.push(new DiffChunk(aA,aB,aC-aA, aD-aB)); az=aD-aC; } this.chunks=ay; } PosTranslator.prototype.GetChunks=function(){ return this.chunks; }; PosTranslator.prototype.Translate=function(aE,aF){ var aG=this.chunks; if(aG.length==0||aE<aG[0].pos1){ return aE; } var aH=0; var aI=aG.length-1; while(aH<aI){ var aJ=f((aH+aI)/2); if(aE<aG[aJ+1].pos1){ aI=aJ; }else{ aH=aJ+1; } } var aK=aG[aH]; if(aE>=aK.pos1+aK.len1){ return aE+aK.pos2+aK.len2-aK.pos1-aK.len1; } if(!aF){ aF=PosTranslator.DefaultInsideChunkHandler; } return aF(aE,aK); }; PosTranslator.DefaultInsideChunkHandler=function(aE,aL){ Assert(false,"Cannot translate position in changed area"); }; PosTranslator.ShiftWithTopInsideChunkHandler= function(aE,aL){ return aE-aL.pos1+aL.pos2; }; var i={ UNCHANGED:"unchanged", SOURCE_CHANGED:"source changed", CHANGED:"changed", DAMAGED:"damaged" }; function CodeInfoTreeNode(aM,aN,aO){ this.info=aM; this.children=aN; this.array_index=aO; this.parent=(void 0); this.status=i.UNCHANGED; this.status_explanation=(void 0); this.new_start_pos=(void 0); this.new_end_pos=(void 0); this.corresponding_node=(void 0); this.unmatched_new_nodes=(void 0); this.textual_corresponding_node=(void 0); this.textually_unmatched_new_nodes=(void 0); this.live_shared_function_infos=(void 0); } function BuildCodeInfoTree(aP){ var aQ=0; function BuildNode(){ var aR=aQ; aQ++; var aS=new e(); while(aQ<aP.length&& aP[aQ].outer_index==aR){ aS.push(BuildNode()); } var w=new CodeInfoTreeNode(aP[aR],aS, aR); for(var x=0;x<aS.length;x++){ aS[x].parent=w; } return w; } var aT=BuildNode(); Assert(aQ==aP.length); return aT; } function MarkChangedFunctions(aU,ay){ var aV=new function(){ var aW=0; var aX=0; this.current=function(){return ay[aW];}; this.next=function(){ var aK=ay[aW]; aX=aK.pos2+aK.len2-(aK.pos1+aK.len1); aW++; }; this.done=function(){return aW>=ay.length;}; this.TranslatePos=function(aE){return aE+aX;}; }; function ProcessInternals(aY){ aY.new_start_pos=aV.TranslatePos( aY.info.start_position); var aZ=0; var ba=false; var bb=false; while(!aV.done()&& aV.current().pos1<aY.info.end_position){ if(aZ<aY.children.length){ var bc=aY.children[aZ]; if(bc.info.end_position<=aV.current().pos1){ ProcessUnchangedChild(bc); aZ++; continue; }else if(bc.info.start_position>= aV.current().pos1+aV.current().len1){ ba=true; aV.next(); continue; }else if(bc.info.start_position<=aV.current().pos1&& bc.info.end_position>=aV.current().pos1+ aV.current().len1){ ProcessInternals(bc); bb=bb|| (bc.status!=i.UNCHANGED); ba=ba|| (bc.status==i.DAMAGED); aZ++; continue; }else{ ba=true; bc.status=i.DAMAGED; bc.status_explanation= "Text diff overlaps with function boundary"; aZ++; continue; } }else{ if(aV.current().pos1+aV.current().len1<= aY.info.end_position){ aY.status=i.CHANGED; aV.next(); continue; }else{ aY.status=i.DAMAGED; aY.status_explanation= "Text diff overlaps with function boundary"; return; } } Assert("Unreachable",false); } while(aZ<aY.children.length){ var bc=aY.children[aZ]; ProcessUnchangedChild(bc); aZ++; } if(ba){ aY.status=i.CHANGED; }else if(bb){ aY.status=i.SOURCE_CHANGED; } aY.new_end_pos= aV.TranslatePos(aY.info.end_position); } function ProcessUnchangedChild(w){ w.new_start_pos=aV.TranslatePos(w.info.start_position); w.new_end_pos=aV.TranslatePos(w.info.end_position); } ProcessInternals(aU); } function FindCorrespondingFunctions(bd,be){ function ProcessNode(v,bf){ var bg= IsFunctionContextLocalsChanged(v.info,bf.info); if(bg){ v.status=i.CHANGED; } var bh=v.children; var bi=bf.children; var bj=[]; var bk=[]; var bl=0; var bm=0; while(bl<bh.length){ if(bh[bl].status==i.DAMAGED){ bl++; }else if(bm<bi.length){ if(bi[bm].info.start_position< bh[bl].new_start_pos){ bj.push(bi[bm]); bk.push(bi[bm]); bm++; }else if(bi[bm].info.start_position== bh[bl].new_start_pos){ if(bi[bm].info.end_position== bh[bl].new_end_pos){ bh[bl].corresponding_node= bi[bm]; bh[bl].textual_corresponding_node= bi[bm]; if(bg){ bh[bl].status=i.DAMAGED; bh[bl].status_explanation= "Enclosing function is now incompatible. "+ bg; bh[bl].corresponding_node=(void 0); }else if(bh[bl].status!= i.UNCHANGED){ ProcessNode(bh[bl], bi[bm]); if(bh[bl].status==i.DAMAGED){ bj.push( bh[bl].corresponding_node); bh[bl].corresponding_node=(void 0); v.status=i.CHANGED; } } }else{ bh[bl].status=i.DAMAGED; bh[bl].status_explanation= "No corresponding function in new script found"; v.status=i.CHANGED; bj.push(bi[bm]); bk.push(bi[bm]); } bm++; bl++; }else{ bh[bl].status=i.DAMAGED; bh[bl].status_explanation= "No corresponding function in new script found"; v.status=i.CHANGED; bl++; } }else{ bh[bl].status=i.DAMAGED; bh[bl].status_explanation= "No corresponding function in new script found"; v.status=i.CHANGED; bl++; } } while(bm<bi.length){ bj.push(bi[bm]); bk.push(bi[bm]); bm++; } if(v.status==i.CHANGED){ if(v.info.param_num!=bf.info.param_num){ v.status=i.DAMAGED; v.status_explanation="Changed parameter number: "+ v.info.param_num+" and "+bf.info.param_num; } } v.unmatched_new_nodes=bj; v.textually_unmatched_new_nodes= bk; } ProcessNode(bd,be); bd.corresponding_node=be; bd.textual_corresponding_node=be; Assert(bd.status!=i.DAMAGED, "Script became damaged"); } function FindLiveSharedInfos(bd,N){ var bn=%LiveEditFindSharedFunctionInfosForScript(N); var bo=new e(); for(var x=0;x<bn.length;x++){ bo.push(new SharedInfoWrapper(bn[x])); } function FindFunctionInfos(P){ var bp=[]; for(var x=0;x<bo.length;x++){ var bq=bo[x]; if(bq.start_position==P.start_position&& bq.end_position==P.end_position){ bp.push(bq); } } if(bp.length>0){ return bp; } } function TraverseTree(w){ w.live_shared_function_infos=FindFunctionInfos(w.info); for(var x=0;x<w.children.length;x++){ TraverseTree(w.children[x]); } } TraverseTree(bd); } function FunctionCompileInfo(br){ this.function_name=br[0]; this.start_position=br[1]; this.end_position=br[2]; this.param_num=br[3]; this.code=br[4]; this.code_scope_info=br[5]; this.scope_info=br[6]; this.outer_index=br[7]; this.shared_function_info=br[8]; this.next_sibling_index=null; this.raw_array=br; } function SharedInfoWrapper(br){ this.function_name=br[0]; this.start_position=br[1]; this.end_position=br[2]; this.info=br[3]; this.raw_array=br; } function PatchPositions(ad,ax,ae){ if(ad.live_shared_function_infos){ ad.live_shared_function_infos.forEach(function(L){ %LiveEditPatchFunctionPositions(L.raw_array, ax); }); ae.push({name:ad.info.function_name}); }else{ ae.push( {name:ad.info.function_name,info_not_found:true}); } } function CreateNameForOldScript(N){ return N.name+" (old)"; } function IsFunctionContextLocalsChanged(bs,bt){ var bu=bs.scope_info; var bv=bt.scope_info; var bw; var bx; if(bu){ bw=bu.toString(); }else{ bw=""; } if(bv){ bx=bv.toString(); }else{ bx=""; } if(bw!=bx){ return"Variable map changed: ["+bw+ "] => ["+bx+"]"; } return; } var by; function CheckStackActivations(old_shared_wrapper_list, new_shared_list, Z){ var bz=new e(); for(var x=0;x<old_shared_wrapper_list.length;x++){ bz[x]=old_shared_wrapper_list[x].info; } var bA=%LiveEditCheckAndDropActivations( bz,new_shared_list,true); if(bA[old_shared_wrapper_list.length]){ throw new Failure(bA[old_shared_wrapper_list.length]); } var bB=new e(); var bC=new e(); for(var x=0;x<bz.length;x++){ var bD=old_shared_wrapper_list[x]; if(bA[x]==by.REPLACED_ON_ACTIVE_STACK){ bC.push({name:bD.function_name}); }else if(bA[x]!=by.AVAILABLE_FOR_PATCH){ var bE={ name:bD.function_name, start_pos:bD.start_position, end_pos:bD.end_position, replace_problem: by.SymbolName(bA[x]) }; bB.push(bE); } } if(bC.length>0){ Z.push({dropped_from_stack:bC}); } if(bB.length>0){ Z.push({functions_on_stack:bB}); throw new Failure("Blocked by functions on stack"); } return bC.length; } var by={ AVAILABLE_FOR_PATCH:1, BLOCKED_ON_ACTIVE_STACK:2, BLOCKED_ON_OTHER_STACK:3, BLOCKED_UNDER_NATIVE_CODE:4, REPLACED_ON_ACTIVE_STACK:5, BLOCKED_UNDER_GENERATOR:6, BLOCKED_ACTIVE_GENERATOR:7, BLOCKED_NO_NEW_TARGET_ON_RESTART:8 }; by.SymbolName=function(bF){ var bG=by; for(var bH in bG){ if(bG[bH]==bF){ return bH; } } }; function Failure(as){ this.message=as; } Failure.prototype.toString=function(){ return"LiveEdit Failure: "+this.message; }; function CopyErrorPositionToDetails(bI,p){ function createPositionStruct(N,bJ){ if(bJ==-1)return; var bK=N.locationFromPosition(bJ,true); if(bK==null)return; return{ line:bK.line+1, column:bK.column+1, position:bJ }; } if(!("scriptObject"in bI)||!("startPosition"in bI)){ return; } var N=bI.scriptObject; var bL={ start:createPositionStruct(N,bI.startPosition), end:createPositionStruct(N,bI.endPosition) }; p.position=bL; } function GetPcFromSourcePos(bM,bN){ return %GetFunctionCodePositionFromSource(bM,bN); } function SetScriptSource(N,bO,bP,Z){ var j=N.source; var bQ=CompareStrings(j,bO); return ApplyPatchMultiChunk(N,bQ,bO,bP, Z); } function CompareStrings(bR,bS){ return %LiveEditCompareStrings(bR,bS); } function ApplySingleChunkPatch(N,change_pos,change_len,new_str, Z){ var j=N.source; var bO=j.substring(0,change_pos)+ new_str+j.substring(change_pos+change_len); return ApplyPatchMultiChunk(N, [change_pos,change_pos+change_len,change_pos+new_str.length], bO,false,Z); } function DescribeChangeTree(bd){ function ProcessOldNode(w){ var bT=[]; for(var x=0;x<w.children.length;x++){ var bc=w.children[x]; if(bc.status!=i.UNCHANGED){ bT.push(ProcessOldNode(bc)); } } var bU=[]; if(w.textually_unmatched_new_nodes){ for(var x=0;x<w.textually_unmatched_new_nodes.length;x++){ var bc=w.textually_unmatched_new_nodes[x]; bU.push(ProcessNewNode(bc)); } } var bV={ name:w.info.function_name, positions:DescribePositions(w), status:w.status, children:bT, new_children:bU }; if(w.status_explanation){ bV.status_explanation=w.status_explanation; } if(w.textual_corresponding_node){ bV.new_positions=DescribePositions(w.textual_corresponding_node); } return bV; } function ProcessNewNode(w){ var bT=[]; if(false){ for(var x=0;x<w.children.length;x++){ bT.push(ProcessNewNode(w.children[x])); } } var bV={ name:w.info.function_name, positions:DescribePositions(w), children:bT, }; return bV; } function DescribePositions(w){ return{ start_position:w.info.start_position, end_position:w.info.end_position }; } return ProcessOldNode(bd); } var bW={}; bW.SetScriptSource=SetScriptSource; bW.ApplyPatchMultiChunk=ApplyPatchMultiChunk; bW.Failure=Failure; bW.GetPcFromSourcePos=GetPcFromSourcePos; bW.TestApi={ PosTranslator:PosTranslator, CompareStrings:CompareStrings, ApplySingleChunkPatch:ApplySingleChunkPatch }; a.Debug.LiveEdit=bW; }) h prologueK (function(a,b,c){ "use strict"; %CheckIsBootstrapping(); var d=(void 0); var e=(void 0); var f=%ExportFromRuntime({}); var g=(void 0); function SetupTypedArray(h){ h.next=g; g=h; } function Export(h){ h(f); } function Import(h){ h.next=d; d=h; } function ImportNow(i){ return f[i]; } function ImportFromExperimental(h){ h.next=e; e=h; } function SetFunctionName(h,i,j){ if((typeof(i)==='symbol')){ i="["+%SymbolDescription(i)+"]"; } if((j===(void 0))){ %FunctionSetName(h,i); }else{ %FunctionSetName(h,j+" "+i); } } function InstallConstants(k,l){ %CheckIsBootstrapping(); %OptimizeObjectForAddingMultipleProperties(k,l.length>>1); var m=2|4|1; for(var n=0;n<l.length;n+=2){ var i=l[n]; var o=l[n+1]; %AddNamedProperty(k,i,o,m); } %ToFastProperties(k); } function InstallFunctions(k,m,p){ %CheckIsBootstrapping(); %OptimizeObjectForAddingMultipleProperties(k,p.length>>1); for(var n=0;n<p.length;n+=2){ var q=p[n]; var h=p[n+1]; SetFunctionName(h,q); %FunctionRemovePrototype(h); %AddNamedProperty(k,q,h,m); %SetNativeFlag(h); } %ToFastProperties(k); } function InstallGetter(k,i,r,m,j){ %CheckIsBootstrapping(); if((m===(void 0)))m=2; SetFunctionName(r,i,(j===(void 0))?"get":j); %FunctionRemovePrototype(r); %DefineGetterPropertyUnchecked(k,i,r,m); %SetNativeFlag(r); } function InstallGetterSetter(k,i,r,s,m){ %CheckIsBootstrapping(); if((m===(void 0)))m=2; SetFunctionName(r,i,"get"); SetFunctionName(s,i,"set"); %FunctionRemovePrototype(r); %FunctionRemovePrototype(s); %DefineAccessorPropertyUnchecked(k,i,r,s,2); %SetNativeFlag(r); %SetNativeFlag(s); } function SetUpLockedPrototype( constructor,fields,methods){ %CheckIsBootstrapping(); var t=constructor.prototype; var u=(methods.length>>1)+(fields?fields.length:0); if(u>=4){ %OptimizeObjectForAddingMultipleProperties(t,u); } if(fields){ for(var n=0;n<fields.length;n++){ %AddNamedProperty(t,fields[n], (void 0),2|4); } } for(var n=0;n<methods.length;n+=2){ var q=methods[n]; var h=methods[n+1]; %AddNamedProperty(t,q,h,2|4|1); %SetNativeFlag(h); } %InternalSetPrototype(t,null); %ToFastProperties(t); } function PostNatives(b){ %CheckIsBootstrapping(); for(;!(d===(void 0));d=d.next){ d(f); } var v=[ "ArrayToString", "ErrorToString", "GetIterator", "GetMethod", "IsNaN", "MakeError", "MakeTypeError", "MapEntries", "MapIterator", "MapIteratorNext", "MathMax", "MathMin", "MaxSimple", "MinSimple", "ObjectDefineProperty", "ObserveArrayMethods", "ObserveObjectMethods", "PromiseChain", "PromiseDeferred", "PromiseResolved", "SameValueZero", "SetIterator", "SetIteratorNext", "SetValues", "SymbolToString", "ToPositiveInteger", "is_concat_spreadable_symbol", "iterator_symbol", "promise_status_symbol", "promise_value_symbol", "object_freeze", "object_is_frozen", "object_is_sealed", "reflect_apply", "reflect_construct", "regexp_flags_symbol", "to_string_tag_symbol", "object_to_string", "species_symbol", ]; var w={}; %OptimizeObjectForAddingMultipleProperties( w,v.length); for(var q of v){ w[q]=f[q]; } %ToFastProperties(w); f=w; b.PostNatives=(void 0); b.ImportFromExperimental=(void 0); } function PostExperimentals(b){ %CheckIsBootstrapping(); %ExportExperimentalFromRuntime(f); for(;!(d===(void 0));d=d.next){ d(f); } for(;!(e===(void 0)); e=e.next){ e(f); } b.CreateDoubleResultArray(); b.CreateDoubleResultArray=(void 0); b.Export=(void 0); b.PostDebug=(void 0); b.PostExperimentals=(void 0); g=(void 0); } function PostDebug(b){ for(;!(d===(void 0));d=d.next){ d(f); } b.CreateDoubleResultArray(); b.CreateDoubleResultArray=(void 0); f=(void 0); b.Export=(void 0); b.Import=(void 0); b.ImportNow=(void 0); b.PostDebug=(void 0); b.PostExperimentals=(void 0); g=(void 0); } function InitializeBuiltinTypedArrays(b,x,y){ var z=g; for(;!(z===(void 0));z=z.next){ z(x,y); } } %OptimizeObjectForAddingMultipleProperties(b,14); b.Import=Import; b.ImportNow=ImportNow; b.Export=Export; b.ImportFromExperimental=ImportFromExperimental; b.SetFunctionName=SetFunctionName; b.InstallConstants=InstallConstants; b.InstallFunctions=InstallFunctions; b.InstallGetter=InstallGetter; b.InstallGetterSetter=InstallGetterSetter; b.SetUpLockedPrototype=SetUpLockedPrototype; b.PostNatives=PostNatives; b.PostExperimentals=PostExperimentals; b.PostDebug=PostDebug; %ToFastProperties(b); %OptimizeObjectForAddingMultipleProperties(c,5); c.logStackTrace=function logStackTrace(){ %DebugTrace(); }; c.log=function log(){ let message=''; for(const arg of arguments){ message+=arg; } %GlobalPrint(message); }; c.createPrivateSymbol=function createPrivateSymbol(i){ return %CreatePrivateSymbol(i); }; c.simpleBind=function simpleBind(A,B){ return function(){ return %Apply(A,B,arguments,0,arguments.length); }; }; c.uncurryThis=function uncurryThis(A){ return function(B){ return %Apply(A,B,arguments,1,arguments.length-1); }; }; %ToFastProperties(c); }) runtime9" (function(a,b){ %CheckIsBootstrapping(); var c; var d=a.Array; var e=a.Boolean; var f=a.String; var g; var h; var i; b.Import(function(j){ g=j.MakeRangeError; h=j.MakeTypeError; i=j.species_symbol; }); b.ImportFromExperimental(function(j){ c=j.FLAG_harmony_species; }); function CONCAT_ITERABLE_TO_ARRAY(k){ return %concat_iterable_to_array(this,k); }; function SameValue(l,m){ if(typeof l!=typeof m)return false; if((typeof(l)==='number')){ if((!%_IsSmi(%IS_VAR(l))&&!(l==l))&&(!%_IsSmi(%IS_VAR(m))&&!(m==m)))return true; if(l===0&&m===0&&%_IsMinusZero(l)!=%_IsMinusZero(m)){ return false; } } if((%_IsSimdValue(l)))return %SimdSameValue(l,m); return l===m; } function SameValueZero(l,m){ if(typeof l!=typeof m)return false; if((typeof(l)==='number')){ if((!%_IsSmi(%IS_VAR(l))&&!(l==l))&&(!%_IsSmi(%IS_VAR(m))&&!(m==m)))return true; } if((%_IsSimdValue(l)))return %SimdSameValueZero(l,m); return l===m; } function ConcatIterableToArray(n,k){ var o=n.length; for(var p of k){ AddIndexedProperty(n,o++,p); } return n; } function AddIndexedProperty(q,o,r){ if(o===((o)>>>0)&&o!==4294967295){ %AddElement(q,o,r); }else{ %AddNamedProperty(q,(%_ToString(o)),r,0); } } %SetForceInlineFlag(AddIndexedProperty); function ToPositiveInteger(l,s){ var t=(%_IsSmi(%IS_VAR(l))?l:%NumberToIntegerMapMinusZero(l)); if(t<0)throw g(s); return t; } function MaxSimple(u,v){ return u>v?u:v; } function MinSimple(u,v){ return u>v?v:u; } %SetForceInlineFlag(MaxSimple); %SetForceInlineFlag(MinSimple); function SpeciesConstructor(w,x,y){ if(c){ var z=w.constructor; if((z===(void 0))){ return x; } if(!(%_IsJSReceiver(z))){ throw h(27); } var A=z[i]; if((A==null)){ return x; } if(%IsConstructor(A)){ return A; } throw h(235); }else{ return y?x:w.constructor; } } %FunctionSetPrototype(d,new d(0)); b.Export(function(B){ B.AddIndexedProperty=AddIndexedProperty; B.MaxSimple=MaxSimple; B.MinSimple=MinSimple; B.SameValue=SameValue; B.SameValueZero=SameValueZero; B.ToPositiveInteger=ToPositiveInteger; B.SpeciesConstructor=SpeciesConstructor; }); %InstallToContext([ "concat_iterable_to_array_builtin",CONCAT_ITERABLE_TO_ARRAY, ]); %InstallToContext([ "concat_iterable_to_array",ConcatIterableToArray, ]); }) $v8natives?# (function(a,b){ %CheckIsBootstrapping(); var c=a.Array; var d=a.Boolean; var e=a.Number; var f=a.Object; var g=b.InternalArray; var h=b.ImportNow("iterator_symbol"); var i; var j; var k; var l; var m=%GetRootNaN(); var n=b.ImportNow("object_to_string"); var o; var p; var q; var r=b.ImportNow("SameValue"); var s=b.ImportNow("to_string_tag_symbol"); b.Import(function(t){ i=t.MakeRangeError; j=t.MakeSyntaxError; k=t.MakeTypeError; l=t.MathAbs; o=t.ObserveBeginPerformSplice; p=t.ObserveEndPerformSplice; q=t.ObserveEnqueueSpliceRecord; }); function GlobalIsNaN(u){ u=(%_ToNumber(u)); return(!%_IsSmi(%IS_VAR(u))&&!(u==u)); } function GlobalIsFinite(u){ u=(%_ToNumber(u)); return(%_IsSmi(%IS_VAR(u))||((u==u)&&(u!=1/0)&&(u!=-1/0))); } function GlobalParseInt(v,w){ if((w===(void 0))||w===10||w===0){ if(%_IsSmi(v))return v; if((typeof(v)==='number')&& ((0.01<v&&v<1e9)|| (-1e9<v&&v<-0.01))){ return v|0; } v=(%_ToString(v)); w=w|0; }else{ v=(%_ToString(v)); w=((w)|0); if(!(w==0||(2<=w&&w<=36))){ return m; } } if(%_HasCachedArrayIndex(v)&& (w==0||w==10)){ return %_GetCachedArrayIndex(v); } return %StringParseInt(v,w); } function GlobalParseFloat(v){ v=(%_ToString(v)); if(%_HasCachedArrayIndex(v))return %_GetCachedArrayIndex(v); return %StringParseFloat(v); } var x=2|4|1; b.InstallConstants(a,[ "Infinity",(1/0), "NaN",m, "undefined",(void 0), ]); b.InstallFunctions(a,2,[ "isNaN",GlobalIsNaN, "isFinite",GlobalIsFinite, "parseInt",GlobalParseInt, "parseFloat",GlobalParseFloat, ]); function ObjectToLocaleString(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"Object.prototype.toLocaleString"); return this.toString(); } function ObjectValueOf(){ return(%_ToObject(this)); } function ObjectHasOwnProperty(y){ var z=(%_ToName(y)); var A=(%_ToObject(this)); return %HasOwnProperty(A,z); } function ObjectIsPrototypeOf(B){ if(!(%_IsJSReceiver(B)))return false; var C=(%_ToObject(this)); return %HasInPrototypeChain(B,C); } function ObjectPropertyIsEnumerable(B){ var D=(%_ToName(B)); return %PropertyIsEnumerable((%_ToObject(this)),D); } function ObjectDefineGetter(z,E){ var F=this; if((F===null)||(F===(void 0))){ F=%GlobalProxy(ObjectDefineGetter); } if(!(typeof(E)==='function')){ throw k(72); } var G=new PropertyDescriptor(); G.setGet(E); G.setEnumerable(true); G.setConfigurable(true); DefineOwnProperty((%_ToObject(F)),(%_ToName(z)),G,false); } function ObjectLookupGetter(z){ var F=this; if((F===null)||(F===(void 0))){ F=%GlobalProxy(ObjectLookupGetter); } return %LookupAccessor((%_ToObject(F)),(%_ToName(z)),0); } function ObjectDefineSetter(z,E){ var F=this; if((F===null)||(F===(void 0))){ F=%GlobalProxy(ObjectDefineSetter); } if(!(typeof(E)==='function')){ throw k(75); } var G=new PropertyDescriptor(); G.setSet(E); G.setEnumerable(true); G.setConfigurable(true); DefineOwnProperty((%_ToObject(F)),(%_ToName(z)),G,false); } function ObjectLookupSetter(z){ var F=this; if((F===null)||(F===(void 0))){ F=%GlobalProxy(ObjectLookupSetter); } return %LookupAccessor((%_ToObject(F)),(%_ToName(z)),1); } function IsAccessorDescriptor(G){ if((G===(void 0)))return false; return G.hasGetter()||G.hasSetter(); } function IsDataDescriptor(G){ if((G===(void 0)))return false; return G.hasValue()||G.hasWritable(); } function IsGenericDescriptor(G){ if((G===(void 0)))return false; return!(IsAccessorDescriptor(G)||IsDataDescriptor(G)); } function IsInconsistentDescriptor(G){ return IsAccessorDescriptor(G)&&IsDataDescriptor(G); } function FromGenericPropertyDescriptor(G){ if((G===(void 0)))return G; var H=new f(); if(G.hasValue()){ %AddNamedProperty(H,"value",G.getValue(),0); } if(G.hasWritable()){ %AddNamedProperty(H,"writable",G.isWritable(),0); } if(G.hasGetter()){ %AddNamedProperty(H,"get",G.getGet(),0); } if(G.hasSetter()){ %AddNamedProperty(H,"set",G.getSet(),0); } if(G.hasEnumerable()){ %AddNamedProperty(H,"enumerable",G.isEnumerable(),0); } if(G.hasConfigurable()){ %AddNamedProperty(H,"configurable",G.isConfigurable(),0); } return H; } function ToPropertyDescriptor(H){ if(!(%_IsJSReceiver(H)))throw k(90,H); var G=new PropertyDescriptor(); if("enumerable"in H){ G.setEnumerable((!!(H.enumerable))); } if("configurable"in H){ G.setConfigurable((!!(H.configurable))); } if("value"in H){ G.setValue(H.value); } if("writable"in H){ G.setWritable((!!(H.writable))); } if("get"in H){ var I=H.get; if(!(I===(void 0))&&!(typeof(I)==='function')){ throw k(73,I); } G.setGet(I); } if("set"in H){ var J=H.set; if(!(J===(void 0))&&!(typeof(J)==='function')){ throw k(76,J); } G.setSet(J); } if(IsInconsistentDescriptor(G)){ throw k(153,H); } return G; } function ToCompletePropertyDescriptor(H){ var G=ToPropertyDescriptor(H); if(IsGenericDescriptor(G)||IsDataDescriptor(G)){ if(!G.hasValue())G.setValue((void 0)); if(!G.hasWritable())G.setWritable(false); }else{ if(!G.hasGetter())G.setGet((void 0)); if(!G.hasSetter())G.setSet((void 0)); } if(!G.hasEnumerable())G.setEnumerable(false); if(!G.hasConfigurable())G.setConfigurable(false); return G; } function PropertyDescriptor(){ this.value_=(void 0); this.hasValue_=false; this.writable_=false; this.hasWritable_=false; this.enumerable_=false; this.hasEnumerable_=false; this.configurable_=false; this.hasConfigurable_=false; this.get_=(void 0); this.hasGetter_=false; this.set_=(void 0); this.hasSetter_=false; } b.SetUpLockedPrototype(PropertyDescriptor,[ "value_", "hasValue_", "writable_", "hasWritable_", "enumerable_", "hasEnumerable_", "configurable_", "hasConfigurable_", "get_", "hasGetter_", "set_", "hasSetter_" ],[ "toString",function PropertyDescriptor_ToString(){ return"[object PropertyDescriptor]"; }, "setValue",function PropertyDescriptor_SetValue(y){ this.value_=y; this.hasValue_=true; }, "getValue",function PropertyDescriptor_GetValue(){ return this.value_; }, "hasValue",function PropertyDescriptor_HasValue(){ return this.hasValue_; }, "setEnumerable",function PropertyDescriptor_SetEnumerable(K){ this.enumerable_=K; this.hasEnumerable_=true; }, "isEnumerable",function PropertyDescriptor_IsEnumerable(){ return this.enumerable_; }, "hasEnumerable",function PropertyDescriptor_HasEnumerable(){ return this.hasEnumerable_; }, "setWritable",function PropertyDescriptor_SetWritable(L){ this.writable_=L; this.hasWritable_=true; }, "isWritable",function PropertyDescriptor_IsWritable(){ return this.writable_; }, "hasWritable",function PropertyDescriptor_HasWritable(){ return this.hasWritable_; }, "setConfigurable", function PropertyDescriptor_SetConfigurable(M){ this.configurable_=M; this.hasConfigurable_=true; }, "hasConfigurable",function PropertyDescriptor_HasConfigurable(){ return this.hasConfigurable_; }, "isConfigurable",function PropertyDescriptor_IsConfigurable(){ return this.configurable_; }, "setGet",function PropertyDescriptor_SetGetter(I){ this.get_=I; this.hasGetter_=true; }, "getGet",function PropertyDescriptor_GetGetter(){ return this.get_; }, "hasGetter",function PropertyDescriptor_HasGetter(){ return this.hasGetter_; }, "setSet",function PropertyDescriptor_SetSetter(J){ this.set_=J; this.hasSetter_=true; }, "getSet",function PropertyDescriptor_GetSetter(){ return this.set_; }, "hasSetter",function PropertyDescriptor_HasSetter(){ return this.hasSetter_; } ]); function ConvertDescriptorArrayToDescriptor(N){ if((N===(void 0))){ return(void 0); } var G=new PropertyDescriptor(); if(N[0]){ G.setGet(N[2]); G.setSet(N[3]); }else{ G.setValue(N[1]); G.setWritable(N[4]); } G.setEnumerable(N[5]); G.setConfigurable(N[6]); return G; } function GetTrap(O,z,P){ var Q=O[z]; if((Q===(void 0))){ if((P===(void 0))){ throw k(41); } Q=P; }else if(!(typeof(Q)==='function')){ throw k(41); } return Q; } function CallTrap1(O,z,P,R){ return %_Call(GetTrap(O,z,P),O,R); } function CallTrap2(O,z,P,R,S){ return %_Call(GetTrap(O,z,P),O,R,S); } function GetOwnPropertyJS(H,T){ var U=(%_ToName(T)); if((%_IsJSProxy(H))){ if((typeof(T)==='symbol'))return(void 0); var O=%JSProxyGetHandler(H); var V=CallTrap1( O,"getOwnPropertyDescriptor",(void 0),U); if((V===(void 0)))return V; var G=ToCompletePropertyDescriptor(V); if(!G.isConfigurable()){ throw k(41); } return G; } var W=%GetOwnProperty_Legacy((%_ToObject(H)),U); return ConvertDescriptorArrayToDescriptor(W); } function GetMethod(H,U){ var X=H[U]; if((X==null))return(void 0); if((typeof(X)==='function'))return X; throw k(15,typeof X); } function DefineProxyProperty(H,U,x,Y){ if((typeof(U)==='symbol'))return false; var O=%JSProxyGetHandler(H); var Z=CallTrap2(O,"defineProperty",(void 0),U,x); if(!Z){ if(Y){ throw k(41); }else{ return false; } } return true; } function DefineObjectProperty(H,U,G,Y){ var aa=%GetOwnProperty_Legacy(H,(%_ToName(U))); var ab=ConvertDescriptorArrayToDescriptor(aa); var ac=%object_is_extensible(H); if((ab===(void 0))&&!ac){ if(Y){ throw k(34,U); }else{ return false; } } if(!(ab===(void 0))){ if((IsGenericDescriptor(G)|| IsDataDescriptor(G)==IsDataDescriptor(ab))&& (!G.hasEnumerable()|| r(G.isEnumerable(),ab.isEnumerable()))&& (!G.hasConfigurable()|| r(G.isConfigurable(),ab.isConfigurable()))&& (!G.hasWritable()|| r(G.isWritable(),ab.isWritable()))&& (!G.hasValue()|| r(G.getValue(),ab.getValue()))&& (!G.hasGetter()|| r(G.getGet(),ab.getGet()))&& (!G.hasSetter()|| r(G.getSet(),ab.getSet()))){ return true; } if(!ab.isConfigurable()){ if(G.isConfigurable()|| (G.hasEnumerable()&& G.isEnumerable()!=ab.isEnumerable())){ if(Y){ throw k(126,U); }else{ return false; } } if(!IsGenericDescriptor(G)){ if(IsDataDescriptor(ab)!=IsDataDescriptor(G)){ if(Y){ throw k(126,U); }else{ return false; } } if(IsDataDescriptor(ab)&&IsDataDescriptor(G)){ var ad=ab.isWritable(); if(ad!=G.isWritable()){ if(!ad||(%IsStrong(H))){ if(Y){ throw ad ?k(146,H,U) :k(126,U); }else{ return false; } } } if(!ad&&G.hasValue()&& !r(G.getValue(),ab.getValue())){ if(Y){ throw k(126,U); }else{ return false; } } } if(IsAccessorDescriptor(G)&&IsAccessorDescriptor(ab)){ if(G.hasSetter()&& !r(G.getSet(),ab.getSet())){ if(Y){ throw k(126,U); }else{ return false; } } if(G.hasGetter()&&!r(G.getGet(),ab.getGet())){ if(Y){ throw k(126,U); }else{ return false; } } } } } } var ae=0; if(G.hasEnumerable()){ ae|=G.isEnumerable()?0:2; }else if(!(ab===(void 0))){ ae|=ab.isEnumerable()?0:2; }else{ ae|=2; } if(G.hasConfigurable()){ ae|=G.isConfigurable()?0:4; }else if(!(ab===(void 0))){ ae|=ab.isConfigurable()?0:4; }else ae|=4; if(IsDataDescriptor(G)|| (IsGenericDescriptor(G)&& ((ab===(void 0))||IsDataDescriptor(ab)))){ if(G.hasWritable()){ ae|=G.isWritable()?0:1; }else if(!(ab===(void 0))){ ae|=ab.isWritable()?0:1; }else{ ae|=1; } var y=(void 0); if(G.hasValue()){ y=G.getValue(); }else if(!(ab===(void 0))&&IsDataDescriptor(ab)){ y=ab.getValue(); } %DefineDataPropertyUnchecked(H,U,y,ae); }else{ var af=null; if(G.hasGetter()){ af=G.getGet(); }else if(IsAccessorDescriptor(ab)&&ab.hasGetter()){ af=ab.getGet(); } var ag=null; if(G.hasSetter()){ ag=G.getSet(); }else if(IsAccessorDescriptor(ab)&&ab.hasSetter()){ ag=ab.getSet(); } %DefineAccessorPropertyUnchecked(H,U,af,ag,ae); } return true; } function DefineArrayProperty(H,U,G,Y){ if(!(typeof(U)==='symbol')){ var ah=((U)>>>0); var ai=false; if((%_ToString(ah))==U&&ah!=4294967295){ var aj=H.length; if(ah>=aj&&%IsObserved(H)){ ai=true; o(H); } var ak=GetOwnPropertyJS(H,"length"); if((ah>=aj&&!ak.isWritable())|| !DefineObjectProperty(H,U,G,true)){ if(ai) p(H); if(Y){ throw k(34,U); }else{ return false; } } if(ah>=aj){ H.length=ah+1; } if(ai){ p(H); q(H,aj,[],ah+1-aj); } return true; } } return DefineObjectProperty(H,U,G,Y); } function DefineOwnProperty(H,U,G,Y){ if((%_IsJSProxy(H))){ if((typeof(U)==='symbol'))return false; var x=FromGenericPropertyDescriptor(G); return DefineProxyProperty(H,U,x,Y); }else if((%_IsArray(H))){ return DefineArrayProperty(H,U,G,Y); }else{ return DefineObjectProperty(H,U,G,Y); } } function ObjectGetPrototypeOf(H){ return %_GetPrototype((%_ToObject(H))); } function ObjectSetPrototypeOf(H,al){ if((%IS_VAR(H)===null)||(H===(void 0)))throw k(17,"Object.setPrototypeOf"); if(al!==null&&!(%_IsJSReceiver(al))){ throw k(92,al); } if((%_IsJSReceiver(H))){ %SetPrototype(H,al); } return H; } function ObjectGetOwnPropertyDescriptor(H,U){ return %GetOwnProperty(H,U); } function ObjectGetOwnPropertyNames(H){ H=(%_ToObject(H)); return %GetOwnPropertyKeys(H,16); } function ObjectDefineProperty(H,U,x){ if(%IsObserved(H)){ if(!(%_IsJSReceiver(H))){ throw k(16,"Object.defineProperty"); } var z=(%_ToName(U)); var G=ToPropertyDescriptor(x); DefineOwnProperty(H,z,G,true); return H; } return %ObjectDefineProperty(H,U,x); } function GetOwnEnumerablePropertyNames(A){ return %GetOwnPropertyKeys(A,2); } function ObjectDefineProperties(H,am){ if(%IsObserved(H)){ if(!(%_IsJSReceiver(H))){ throw k(16,"Object.defineProperties"); } var W=(%_ToObject(am)); var an=GetOwnEnumerablePropertyNames(W); var ao=new g(); for(var ap=0;ap<an.length;ap++){ ao.push(ToPropertyDescriptor(W[an[ap]])); } for(var ap=0;ap<an.length;ap++){ DefineOwnProperty(H,an[ap],ao[ap],true); } return H; } return %ObjectDefineProperties(H,am); } function ObjectGetProto(){ return %_GetPrototype((%_ToObject(this))); } function ObjectSetProto(al){ if((%IS_VAR(this)===null)||(this===(void 0)))throw k(17,"Object.prototype.__proto__"); if(((%_IsJSReceiver(al))||(al===null))&&(%_IsJSReceiver(this))){ %SetPrototype(this,al); } } function ObjectConstructor(R){ if(f!=new.target&&!(new.target===(void 0))){ return this; } if((R===null)||(R===(void 0)))return{}; return(%_ToObject(R)); } %SetNativeFlag(f); %SetCode(f,ObjectConstructor); %AddNamedProperty(f.prototype,"constructor",f, 2); b.InstallFunctions(f.prototype,2,[ "toString",n, "toLocaleString",ObjectToLocaleString, "valueOf",ObjectValueOf, "hasOwnProperty",ObjectHasOwnProperty, "isPrototypeOf",ObjectIsPrototypeOf, "propertyIsEnumerable",ObjectPropertyIsEnumerable, "__defineGetter__",ObjectDefineGetter, "__lookupGetter__",ObjectLookupGetter, "__defineSetter__",ObjectDefineSetter, "__lookupSetter__",ObjectLookupSetter ]); b.InstallGetterSetter(f.prototype,"__proto__",ObjectGetProto, ObjectSetProto); b.InstallFunctions(f,2,[ "defineProperty",ObjectDefineProperty, "defineProperties",ObjectDefineProperties, "getPrototypeOf",ObjectGetPrototypeOf, "setPrototypeOf",ObjectSetPrototypeOf, "getOwnPropertyDescriptor",ObjectGetOwnPropertyDescriptor, "getOwnPropertyNames",ObjectGetOwnPropertyNames, "is",r, ]); function BooleanConstructor(R){ "use strict"; if(!(new.target===(void 0))){ %_SetValueOf(this,(!!(R))); }else{ return(!!(R)); } } function BooleanToString(){ var aq=this; if(!(typeof(aq)==='boolean')){ if(!(%_ClassOf(aq)==='Boolean')){ throw k(65,'Boolean.prototype.toString'); } aq=%_ValueOf(aq); } return aq?'true':'false'; } function BooleanValueOf(){ if(!(typeof(this)==='boolean')&&!(%_ClassOf(this)==='Boolean')){ throw k(65,'Boolean.prototype.valueOf'); } return %_ValueOf(this); } %SetCode(d,BooleanConstructor); %FunctionSetPrototype(d,new d(false)); %AddNamedProperty(d.prototype,"constructor",d, 2); b.InstallFunctions(d.prototype,2,[ "toString",BooleanToString, "valueOf",BooleanValueOf ]); function NumberToStringJS(w){ var u=this; if(!(typeof(this)==='number')){ if(!(%_ClassOf(this)==='Number')){ throw k(65,'Number.prototype.toString'); } u=%_ValueOf(this); } if((w===(void 0))||w===10){ return %_NumberToString(u); } w=(%_ToInteger(w)); if(w<2||w>36)throw i(189); return %NumberToRadixString(u,w); } function NumberToLocaleString(){ return %_Call(NumberToStringJS,this); } function NumberValueOf(){ if(!(typeof(this)==='number')&&!(%_ClassOf(this)==='Number')){ throw k(65,'Number.prototype.valueOf'); } return %_ValueOf(this); } function NumberToFixedJS(ar){ var R=this; if(!(typeof(this)==='number')){ if(!(%_ClassOf(this)==='Number')){ throw k(42, "Number.prototype.toFixed",this); } R=%_ValueOf(this); } var as=(%_ToInteger(ar)); if(as<0||as>20){ throw i(185,"toFixed() digits"); } if((!%_IsSmi(%IS_VAR(R))&&!(R==R)))return"NaN"; if(R==(1/0))return"Infinity"; if(R==-(1/0))return"-Infinity"; return %NumberToFixed(R,as); } function NumberToExponentialJS(ar){ var R=this; if(!(typeof(this)==='number')){ if(!(%_ClassOf(this)==='Number')){ throw k(42, "Number.prototype.toExponential",this); } R=%_ValueOf(this); } var as=(ar===(void 0))?(void 0):(%_ToInteger(ar)); if((!%_IsSmi(%IS_VAR(R))&&!(R==R)))return"NaN"; if(R==(1/0))return"Infinity"; if(R==-(1/0))return"-Infinity"; if((as===(void 0))){ as=-1; }else if(as<0||as>20){ throw i(185,"toExponential()"); } return %NumberToExponential(R,as); } function NumberToPrecisionJS(at){ var R=this; if(!(typeof(this)==='number')){ if(!(%_ClassOf(this)==='Number')){ throw k(42, "Number.prototype.toPrecision",this); } R=%_ValueOf(this); } if((at===(void 0)))return(%_ToString(R)); var U=(%_ToInteger(at)); if((!%_IsSmi(%IS_VAR(R))&&!(R==R)))return"NaN"; if(R==(1/0))return"Infinity"; if(R==-(1/0))return"-Infinity"; if(U<1||U>21){ throw i(188); } return %NumberToPrecision(R,U); } function NumberIsFinite(u){ return(typeof(u)==='number')&&(%_IsSmi(%IS_VAR(u))||((u==u)&&(u!=1/0)&&(u!=-1/0))); } function NumberIsInteger(u){ return NumberIsFinite(u)&&(%_ToInteger(u))==u; } function NumberIsNaN(u){ return(typeof(u)==='number')&&(!%_IsSmi(%IS_VAR(u))&&!(u==u)); } function NumberIsSafeInteger(u){ if(NumberIsFinite(u)){ var au=(%_ToInteger(u)); if(au==u){ return l(au)<=9007199254740991; } } return false; } %FunctionSetPrototype(e,new e(0)); %OptimizeObjectForAddingMultipleProperties(e.prototype,8); %AddNamedProperty(e.prototype,"constructor",e, 2); b.InstallConstants(e,[ "MAX_VALUE",1.7976931348623157e+308, "MIN_VALUE",5e-324, "NaN",m, "NEGATIVE_INFINITY",-(1/0), "POSITIVE_INFINITY",(1/0), "MAX_SAFE_INTEGER",%_MathPow(2,53)-1, "MIN_SAFE_INTEGER",-%_MathPow(2,53)+1, "EPSILON",%_MathPow(2,-52) ]); b.InstallFunctions(e.prototype,2,[ "toString",NumberToStringJS, "toLocaleString",NumberToLocaleString, "valueOf",NumberValueOf, "toFixed",NumberToFixedJS, "toExponential",NumberToExponentialJS, "toPrecision",NumberToPrecisionJS ]); b.InstallFunctions(e,2,[ "isFinite",NumberIsFinite, "isInteger",NumberIsInteger, "isNaN",NumberIsNaN, "isSafeInteger",NumberIsSafeInteger, "parseInt",GlobalParseInt, "parseFloat",GlobalParseFloat ]); %SetForceInlineFlag(NumberIsNaN); function GetIterator(H,av){ if((av===(void 0))){ av=H[h]; } if(!(typeof(av)==='function')){ throw k(66,H); } var aw=%_Call(av,H); if(!(%_IsJSReceiver(aw))){ throw k(60,aw); } return aw; } b.Export(function(ax){ ax.GetIterator=GetIterator; ax.GetMethod=GetMethod; ax.IsFinite=GlobalIsFinite; ax.IsNaN=GlobalIsNaN; ax.NumberIsNaN=NumberIsNaN; ax.ObjectDefineProperties=ObjectDefineProperties; ax.ObjectDefineProperty=ObjectDefineProperty; ax.ObjectHasOwnProperty=ObjectHasOwnProperty; }); %InstallToContext([ "object_value_of",ObjectValueOf, ]); }) symbol9 (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=a.Object; var d=a.Symbol; var e=b.ImportNow("has_instance_symbol"); var f= b.ImportNow("is_concat_spreadable_symbol"); var g=b.ImportNow("iterator_symbol"); var h; var i=b.ImportNow("to_primitive_symbol"); var j=b.ImportNow("to_string_tag_symbol"); var k=b.ImportNow("unscopables_symbol"); b.Import(function(l){ h=l.MakeTypeError; }); function SymbolToPrimitive(m){ if(!((typeof(this)==='symbol')||(%_ClassOf(this)==='Symbol'))){ throw h(42, "Symbol.prototype [ @@toPrimitive ]",this); } return %_ValueOf(this); } function SymbolToString(){ if(!((typeof(this)==='symbol')||(%_ClassOf(this)==='Symbol'))){ throw h(42, "Symbol.prototype.toString",this); } return %SymbolDescriptiveString(%_ValueOf(this)); } function SymbolValueOf(){ if(!((typeof(this)==='symbol')||(%_ClassOf(this)==='Symbol'))){ throw h(42, "Symbol.prototype.valueOf",this); } return %_ValueOf(this); } function SymbolFor(n){ n=(%_ToString(n)); var o=%SymbolRegistry(); if((o.for[n]===(void 0))){ var p=%CreateSymbol(n); o.for[n]=p; o.keyFor[p]=n; } return o.for[n]; } function SymbolKeyFor(p){ if(!(typeof(p)==='symbol'))throw h(148,p); return %SymbolRegistry().keyFor[p]; } function ObjectGetOwnPropertySymbols(q){ q=(%_ToObject(q)); return %GetOwnPropertyKeys(q,8); } %FunctionSetPrototype(d,new c()); b.InstallConstants(d,[ "iterator",g, "toPrimitive",i, "unscopables",k, ]); b.InstallFunctions(d,2,[ "for",SymbolFor, "keyFor",SymbolKeyFor ]); %AddNamedProperty( d.prototype,"constructor",d,2); %AddNamedProperty( d.prototype,j,"Symbol",2|1); b.InstallFunctions(d.prototype,2|1,[ i,SymbolToPrimitive ]); b.InstallFunctions(d.prototype,2,[ "toString",SymbolToString, "valueOf",SymbolValueOf ]); b.InstallFunctions(c,2,[ "getOwnPropertySymbols",ObjectGetOwnPropertySymbols ]); b.Export(function(r){ r.SymbolToString=SymbolToString; }) }) array?? (function(a,b,c){ "use strict"; %CheckIsBootstrapping(); var d; var e; var f; var g; var h; var i=a.Array; var j=b.InternalArray; var k=b.InternalPackedArray; var l; var m; var n; var o; var p; var q=b.ImportNow("object_to_string"); var r; var s; var t; var u; var v=b.ImportNow("iterator_symbol"); var w=b.ImportNow("unscopables_symbol"); b.Import(function(x){ d=x.AddIndexedProperty; g=x.GetIterator; h=x.GetMethod; l=x.MakeTypeError; m=x.MaxSimple; n=x.MinSimple; o=x.ObjectDefineProperty; p=x.ObjectHasOwnProperty; r=x.ObserveBeginPerformSplice; s=x.ObserveEndPerformSplice; t=x.ObserveEnqueueSpliceRecord; u=x.SameValueZero; }); b.ImportFromExperimental(function(x){ e=x.FLAG_harmony_tolength; f=x.FLAG_harmony_species; }); function ArraySpeciesCreate(y,z){ var A; if(f){ A=%ArraySpeciesConstructor(y); }else{ A=i; } return new A(z); } function DefineIndexedProperty(y,B,C){ if(f){ var D=o(y,B,{ value:C,writable:true,configurable:true,enumerable:true }); if(!D)throw l(137,B); }else{ d(y,B,C); } } var E=new j(); function GetSortedArrayKeys(y,F){ var G=new j(); if((typeof(F)==='number')){ var H=F; for(var B=0;B<H;++B){ var I=y[B]; if(!(I===(void 0))||B in y){ G.push(B); } } }else{ var z=F.length; for(var J=0;J<z;++J){ var K=F[J]; if(!(K===(void 0))){ var I=y[K]; if(!(I===(void 0))||K in y){ G.push(K); } } } G.sort(function(L,M){return L-M;}); } return G; } function SparseJoinWithSeparatorJS(y,N,O,P){ var G=GetSortedArrayKeys(y,%GetArrayKeys(y,N)); var Q=0; var R=new j(G.length*2); var S=-1; for(var B=0;B<G.length;B++){ var K=G[B]; if(K!=S){ var I=y[K]; if(!(typeof(I)==='string'))I=O(I); R[B*2]=K; R[B*2+1]=I; S=K; } } return %SparseJoinWithSeparator(R,N,P); } function SparseJoin(y,N,O){ var G=GetSortedArrayKeys(y,%GetArrayKeys(y,N)); var T=-1; var U=G.length; var R=new j(U); var V=0; for(var B=0;B<U;B++){ var K=G[B]; if(K!=T){ var I=y[K]; if(!(typeof(I)==='string'))I=O(I); R[V++]=I; T=K; } } return %StringBuilderConcat(R,V,''); } function UseSparseVariant(y,z,W,X){ if(!W||z<1000||%IsObserved(y)|| %HasComplexElements(y)){ return false; } if(!%_IsSmi(z)){ return true; } var Y=z>>2; var Z=%EstimateNumberOfElements(y); return(Z<Y)&& (X>Z*4); } function Join(y,z,P,O){ if(z==0)return''; var W=(%_IsArray(y)); if(W){ if(!%PushIfAbsent(E,y))return''; } try{ if(UseSparseVariant(y,z,W,z)){ %NormalizeElements(y); if(P.length==0){ return SparseJoin(y,z,O); }else{ return SparseJoinWithSeparatorJS(y,z,O,P); } } if(z==1){ var I=y[0]; if((typeof(I)==='string'))return I; return O(I); } var R=new j(z); if(P.length==0){ var V=0; for(var B=0;B<z;B++){ var I=y[B]; if(!(typeof(I)==='string'))I=O(I); R[V++]=I; } R.length=V; var D=%_FastOneByteArrayJoin(R,''); if(!(D===(void 0)))return D; return %StringBuilderConcat(R,V,''); } if(!(typeof(y[0])==='number')){ for(var B=0;B<z;B++){ var I=y[B]; if(!(typeof(I)==='string'))I=O(I); R[B]=I; } }else{ for(var B=0;B<z;B++){ var I=y[B]; if((typeof(I)==='number')){ I=%_NumberToString(I); }else if(!(typeof(I)==='string')){ I=O(I); } R[B]=I; } } var D=%_FastOneByteArrayJoin(R,P); if(!(D===(void 0)))return D; return %StringBuilderJoin(R,z,P); }finally{ if(W)E.length=E.length-1; } } function ConvertToString(aa){ if((aa==null)){ return''; }else{ return(%_ToString(aa)); } } function ConvertToLocaleString(I){ if((I==null)){ return''; }else{ return(%_ToString(I.toLocaleString())); } } function SparseSlice(y,ab,ac,N,ad){ var F=%GetArrayKeys(y,ab+ac); if((typeof(F)==='number')){ var H=F; for(var B=ab;B<H;++B){ var ae=y[B]; if(!(ae===(void 0))||B in y){ DefineIndexedProperty(ad,B-ab,ae); } } }else{ var z=F.length; for(var J=0;J<z;++J){ var K=F[J]; if(!(K===(void 0))){ if(K>=ab){ var ae=y[K]; if(!(ae===(void 0))||K in y){ DefineIndexedProperty(ad,K-ab,ae); } } } } } } function SparseMove(y,ab,ac,N,af){ if(af===ac)return; var ag=new j( n(N-ac+af,0xffffffff)); var ah; var F=%GetArrayKeys(y,N); if((typeof(F)==='number')){ var H=F; for(var B=0;B<ab&&B<H;++B){ var ae=y[B]; if(!(ae===(void 0))||B in y){ ag[B]=ae; } } for(var B=ab+ac;B<H;++B){ var ae=y[B]; if(!(ae===(void 0))||B in y){ ag[B-ac+af]=ae; } } }else{ var z=F.length; for(var J=0;J<z;++J){ var K=F[J]; if(!(K===(void 0))){ if(K<ab){ var ae=y[K]; if(!(ae===(void 0))||K in y){ ag[K]=ae; } }else if(K>=ab+ac){ var ae=y[K]; if(!(ae===(void 0))||K in y){ var ai=K-ac+af; ag[ai]=ae; if(ai>0xfffffffe){ ah=ah||new j(); ah.push(ai); } } } } } } %MoveArrayContents(ag,y); if(!(ah===(void 0))){ var z=ah.length; for(var B=0;B<z;++B){ var K=ah[B]; y[K]=ag[K]; } } } function SimpleSlice(y,ab,ac,N,ad){ var W=(%_IsArray(y)); for(var B=0;B<ac;B++){ var aj=ab+B; if(((W&&%_HasFastPackedElements(%IS_VAR(y)))?(aj<y.length):(aj in y))){ var ae=y[aj]; DefineIndexedProperty(ad,B,ae); } } } function SimpleMove(y,ab,ac,N,af){ var W=(%_IsArray(y)); if(af!==ac){ if(af>ac){ for(var B=N-ac;B>ab;B--){ var ak=B+ac-1; var al=B+af-1; if(((W&&%_HasFastPackedElements(%IS_VAR(y)))?(ak<y.length):(ak in y))){ y[al]=y[ak]; }else{ delete y[al]; } } }else{ for(var B=ab;B<N-ac;B++){ var ak=B+ac; var al=B+af; if(((W&&%_HasFastPackedElements(%IS_VAR(y)))?(ak<y.length):(ak in y))){ y[al]=y[ak]; }else{ delete y[al]; } } for(var B=N;B>N-ac+af;B--){ delete y[B-1]; } } } } function ArrayToString(){ var y; var am; if((%_IsArray(this))){ am=this.join; if(am===ArrayJoin){ return Join(this,this.length,',',ConvertToString); } y=this; }else{ y=(%_ToObject(this)); am=y.join; } if(!(typeof(am)==='function')){ return %_Call(q,y); } return %_Call(am,y); } function InnerArrayToLocaleString(y,z){ var N=(e?(%_ToLength(z)):((z)>>>0)); if(N===0)return""; return Join(y,N,',',ConvertToLocaleString); } function ArrayToLocaleString(){ var y=(%_ToObject(this)); var an=y.length; return InnerArrayToLocaleString(y,an); } function InnerArrayJoin(P,y,z){ if((P===(void 0))){ P=','; }else{ P=(%_ToString(P)); } var D=%_FastOneByteArrayJoin(y,P); if(!(D===(void 0)))return D; if(z===1){ var I=y[0]; if((I==null))return''; return(%_ToString(I)); } return Join(y,z,P,ConvertToString); } function ArrayJoin(P){ if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.join"); var y=(%_ToObject(this)); var z=(e?(%_ToLength(y.length)):((y.length)>>>0)); return InnerArrayJoin(P,y,z); } function ObservedArrayPop(ao){ ao--; var C=this[ao]; try{ r(this); delete this[ao]; this.length=ao; }finally{ s(this); t(this,ao,[C],0); } return C; } function ArrayPop(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.pop"); var y=(%_ToObject(this)); var ao=(e?(%_ToLength(y.length)):((y.length)>>>0)); if(ao==0){ y.length=ao; return; } if(%IsObserved(y)) return ObservedArrayPop.call(y,ao); ao--; var C=y[ao]; %DeleteProperty_Strict(y,ao); y.length=ao; return C; } function ObservedArrayPush(){ var ao=(e?(%_ToLength(this.length)):((this.length)>>>0)); var ap=%_ArgumentsLength(); try{ r(this); for(var B=0;B<ap;B++){ this[B+ao]=%_Arguments(B); } var aq=ao+ap; this.length=aq; }finally{ s(this); t(this,ao,[],ap); } return aq; } function ArrayPush(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.push"); if(%IsObserved(this)) return ObservedArrayPush.apply(this,arguments); var y=(%_ToObject(this)); var ao=(e?(%_ToLength(y.length)):((y.length)>>>0)); var ap=%_ArgumentsLength(); if(ap>(1<<30)||(ao-(1<<30))+ap>9007199254740991-(1<<30)){ throw l(228,ap,ao); } for(var B=0;B<ap;B++){ y[B+ao]=%_Arguments(B); } var aq=ao+ap; y.length=aq; return aq; } function SparseReverse(y,N){ var G=GetSortedArrayKeys(y,%GetArrayKeys(y,N)); var ar=G.length-1; var as=0; while(as<=ar){ var B=G[as]; var at=G[ar]; var au=N-at-1; var av,aw; if(au<=B){ aw=at; while(G[--ar]==at){} av=au; } if(au>=B){ av=B; while(G[++as]==B){} aw=N-B-1; } var ax=y[av]; if(!(ax===(void 0))||av in y){ var ay=y[aw]; if(!(ay===(void 0))||aw in y){ y[av]=ay; y[aw]=ax; }else{ y[aw]=ax; delete y[av]; } }else{ var ay=y[aw]; if(!(ay===(void 0))||aw in y){ y[av]=ay; delete y[aw]; } } } } function PackedArrayReverse(y,N){ var at=N-1; for(var B=0;B<at;B++,at--){ var ax=y[B]; var ay=y[at]; y[B]=ay; y[at]=ax; } return y; } function GenericArrayReverse(y,N){ var at=N-1; for(var B=0;B<at;B++,at--){ if(B in y){ var ax=y[B]; if(at in y){ var ay=y[at]; y[B]=ay; y[at]=ax; }else{ y[at]=ax; delete y[B]; } }else{ if(at in y){ var ay=y[at]; y[B]=ay; delete y[at]; } } } return y; } function ArrayReverse(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.reverse"); var y=(%_ToObject(this)); var N=(e?(%_ToLength(y.length)):((y.length)>>>0)); var az=(%_IsArray(y)); if(UseSparseVariant(y,N,az,N)){ %NormalizeElements(y); SparseReverse(y,N); return y; }else if(az&&%_HasFastPackedElements(y)){ return PackedArrayReverse(y,N); }else{ return GenericArrayReverse(y,N); } } function ObservedArrayShift(N){ var aA=this[0]; try{ r(this); SimpleMove(this,0,1,N,0); this.length=N-1; }finally{ s(this); t(this,0,[aA],0); } return aA; } function ArrayShift(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.shift"); var y=(%_ToObject(this)); var N=(e?(%_ToLength(y.length)):((y.length)>>>0)); if(N===0){ y.length=0; return; } if(%object_is_sealed(y))throw l(13); if(%IsObserved(y)) return ObservedArrayShift.call(y,N); var aA=y[0]; if(UseSparseVariant(y,N,(%_IsArray(y)),N)){ SparseMove(y,0,1,N,0); }else{ SimpleMove(y,0,1,N,0); } y.length=N-1; return aA; } function ObservedArrayUnshift(){ var N=(e?(%_ToLength(this.length)):((this.length)>>>0)); var aB=%_ArgumentsLength(); try{ r(this); SimpleMove(this,0,0,N,aB); for(var B=0;B<aB;B++){ this[B]=%_Arguments(B); } var aq=N+aB; this.length=aq; }finally{ s(this); t(this,0,[],aB); } return aq; } function ArrayUnshift(aC){ if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.unshift"); if(%IsObserved(this)) return ObservedArrayUnshift.apply(this,arguments); var y=(%_ToObject(this)); var N=(e?(%_ToLength(y.length)):((y.length)>>>0)); var aB=%_ArgumentsLength(); if(N>0&&UseSparseVariant(y,N,(%_IsArray(y)),N)&& !%object_is_sealed(y)){ SparseMove(y,0,0,N,aB); }else{ SimpleMove(y,0,0,N,aB); } for(var B=0;B<aB;B++){ y[B]=%_Arguments(B); } var aq=N+aB; y.length=aq; return aq; } function ArraySlice(aD,aE){ if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.slice"); var y=(%_ToObject(this)); var N=(e?(%_ToLength(y.length)):((y.length)>>>0)); var ab=(%_ToInteger(aD)); var aF=N; if(!(aE===(void 0)))aF=(%_ToInteger(aE)); if(ab<0){ ab+=N; if(ab<0)ab=0; }else{ if(ab>N)ab=N; } if(aF<0){ aF+=N; if(aF<0)aF=0; }else{ if(aF>N)aF=N; } var D=ArraySpeciesCreate(y,m(aF-ab,0)); if(aF<ab)return D; if(UseSparseVariant(y,N,(%_IsArray(y)),aF-ab)){ %NormalizeElements(y); %NormalizeElements(D); SparseSlice(y,ab,aF-ab,N,D); }else{ SimpleSlice(y,ab,aF-ab,N,D); } D.length=aF-ab; return D; } function ComputeSpliceStartIndex(ab,N){ if(ab<0){ ab+=N; return ab<0?0:ab; } return ab>N?N:ab; } function ComputeSpliceDeleteCount(aG,aB,N,ab){ var ac=0; if(aB==1) return N-ab; ac=(%_ToInteger(aG)); if(ac<0) return 0; if(ac>N-ab) return N-ab; return ac; } function ObservedArraySplice(aD,aG){ var aB=%_ArgumentsLength(); var N=(e?(%_ToLength(this.length)):((this.length)>>>0)); var ab=ComputeSpliceStartIndex((%_ToInteger(aD)),N); var ac=ComputeSpliceDeleteCount(aG,aB,N, ab); var ad=[]; ad.length=ac; var aH=aB>2?aB-2:0; try{ r(this); SimpleSlice(this,ab,ac,N,ad); SimpleMove(this,ab,ac,N,aH); var B=ab; var aI=2; var aJ=%_ArgumentsLength(); while(aI<aJ){ this[B++]=%_Arguments(aI++); } this.length=N-ac+aH; }finally{ s(this); if(ad.length||aH){ t(this, ab, ad.slice(), aH); } } return ad; } function ArraySplice(aD,aG){ if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.splice"); if(%IsObserved(this)) return ObservedArraySplice.apply(this,arguments); var aB=%_ArgumentsLength(); var y=(%_ToObject(this)); var N=(e?(%_ToLength(y.length)):((y.length)>>>0)); var ab=ComputeSpliceStartIndex((%_ToInteger(aD)),N); var ac=ComputeSpliceDeleteCount(aG,aB,N, ab); var ad=ArraySpeciesCreate(y,ac); ad.length=ac; var aH=aB>2?aB-2:0; if(ac!=aH&&%object_is_sealed(y)){ throw l(13); }else if(ac>0&&%object_is_frozen(y)){ throw l(12); } var aK=ac; if(aH!=ac){ aK+=N-ab-ac; } if(UseSparseVariant(y,N,(%_IsArray(y)),aK)){ %NormalizeElements(y); %NormalizeElements(ad); SparseSlice(y,ab,ac,N,ad); SparseMove(y,ab,ac,N,aH); }else{ SimpleSlice(y,ab,ac,N,ad); SimpleMove(y,ab,ac,N,aH); } var B=ab; var aI=2; var aJ=%_ArgumentsLength(); while(aI<aJ){ y[B++]=%_Arguments(aI++); } y.length=N-ac+aH; return ad; } function InnerArraySort(y,z,aL){ if(!(typeof(aL)==='function')){ aL=function(aa,aM){ if(aa===aM)return 0; if(%_IsSmi(aa)&&%_IsSmi(aM)){ return %SmiLexicographicCompare(aa,aM); } aa=(%_ToString(aa)); aM=(%_ToString(aM)); if(aa==aM)return 0; else return aa<aM?-1:1; }; } var aN=function InsertionSort(L,x,aO){ for(var B=x+1;B<aO;B++){ var aP=L[B]; for(var at=B-1;at>=x;at--){ var aQ=L[at]; var aR=aL(aQ,aP); if(aR>0){ L[at+1]=aQ; }else{ break; } } L[at+1]=aP; } }; var aS=function(L,x,aO){ var aT=new j(); var aU=200+((aO-x)&15); var at=0; x+=1; aO-=1; for(var B=x;B<aO;B+=aU){ aT[at]=[B,L[B]]; at++; } aT.sort(function(L,M){ return aL(L[1],M[1]); }); var aV=aT[aT.length>>1][0]; return aV; } var aW=function QuickSort(L,x,aO){ var aV=0; while(true){ if(aO-x<=10){ aN(L,x,aO); return; } if(aO-x>1000){ aV=aS(L,x,aO); }else{ aV=x+((aO-x)>>1); } var aX=L[x]; var aY=L[aO-1]; var aZ=L[aV]; var ba=aL(aX,aY); if(ba>0){ var aQ=aX; aX=aY; aY=aQ; } var bb=aL(aX,aZ); if(bb>=0){ var aQ=aX; aX=aZ; aZ=aY; aY=aQ; }else{ var bc=aL(aY,aZ); if(bc>0){ var aQ=aY; aY=aZ; aZ=aQ; } } L[x]=aX; L[aO-1]=aZ; var bd=aY; var be=x+1; var bf=aO-1; L[aV]=L[be]; L[be]=bd; partition:for(var B=be+1;B<bf;B++){ var aP=L[B]; var aR=aL(aP,bd); if(aR<0){ L[B]=L[be]; L[be]=aP; be++; }else if(aR>0){ do{ bf--; if(bf==B)break partition; var bg=L[bf]; aR=aL(bg,bd); }while(aR>0); L[B]=L[bf]; L[bf]=aP; if(aR<0){ aP=L[B]; L[B]=L[be]; L[be]=aP; be++; } } } if(aO-bf<be-x){ aW(L,bf,aO); aO=be; }else{ aW(L,x,be); x=bf; } } }; var bh=function CopyFromPrototype(bi,z){ var bj=0; for(var bk=%_GetPrototype(bi);bk;bk=%_GetPrototype(bk)){ var F=%GetArrayKeys(bk,z); if((typeof(F)==='number')){ var bl=F; for(var B=0;B<bl;B++){ if(!(%_Call(p,bi,B))&&(%_Call(p,bk,B))){ bi[B]=bk[B]; if(B>=bj){bj=B+1;} } } }else{ for(var B=0;B<F.length;B++){ var aj=F[B]; if(!(aj===(void 0))&&!(%_Call(p,bi,aj)) &&(%_Call(p,bk,aj))){ bi[aj]=bk[aj]; if(aj>=bj){bj=aj+1;} } } } } return bj; }; var bm=function(bi,x,aO){ for(var bk=%_GetPrototype(bi);bk;bk=%_GetPrototype(bk)){ var F=%GetArrayKeys(bk,aO); if((typeof(F)==='number')){ var bl=F; for(var B=x;B<bl;B++){ if((%_Call(p,bk,B))){ bi[B]=(void 0); } } }else{ for(var B=0;B<F.length;B++){ var aj=F[B]; if(!(aj===(void 0))&&x<=aj&& (%_Call(p,bk,aj))){ bi[aj]=(void 0); } } } } }; var bn=function SafeRemoveArrayHoles(bi){ var bo=0; var bp=z-1; var bq=0; while(bo<bp){ while(bo<bp&& !(bi[bo]===(void 0))){ bo++; } if(!(%_Call(p,bi,bo))){ bq++; } while(bo<bp&& (bi[bp]===(void 0))){ if(!(%_Call(p,bi,bp))){ bq++; } bp--; } if(bo<bp){ bi[bo]=bi[bp]; bi[bp]=(void 0); } } if(!(bi[bo]===(void 0)))bo++; var B; for(B=bo;B<z-bq;B++){ bi[B]=(void 0); } for(B=z-bq;B<z;B++){ if(B in %_GetPrototype(bi)){ bi[B]=(void 0); }else{ delete bi[B]; } } return bo; }; if(z<2)return y; var W=(%_IsArray(y)); var br; if(!W){ br=bh(y,z); } var bs=%RemoveArrayHoles(y,z); if(bs==-1){ bs=bn(y); } aW(y,0,bs); if(!W&&(bs+1<br)){ bm(y,bs,br); } return y; } function ArraySort(aL){ if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.sort"); var y=(%_ToObject(this)); var z=(e?(%_ToLength(y.length)):((y.length)>>>0)); return InnerArraySort(y,z,aL); } function InnerArrayFilter(bt,bu,y,z,D){ var bv=0; var W=(%_IsArray(y)); for(var B=0;B<z;B++){ if(((W&&%_HasFastPackedElements(%IS_VAR(y)))?(B<y.length):(B in y))){ var aP=y[B]; if(%_Call(bt,bu,aP,B,y)){ DefineIndexedProperty(D,bv,aP); bv++; } } } return D; } function ArrayFilter(bt,bu){ if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.filter"); var y=(%_ToObject(this)); var z=(e?(%_ToLength(y.length)):((y.length)>>>0)); if(!(typeof(bt)==='function'))throw l(15,bt); var D=ArraySpeciesCreate(y,0); return InnerArrayFilter(bt,bu,y,z,D); } function InnerArrayForEach(bt,bu,y,z){ if(!(typeof(bt)==='function'))throw l(15,bt); var W=(%_IsArray(y)); for(var B=0;B<z;B++){ if(((W&&%_HasFastPackedElements(%IS_VAR(y)))?(B<y.length):(B in y))){ var aP=y[B]; %_Call(bt,bu,aP,B,y); } } } function ArrayForEach(bt,bu){ if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.forEach"); var y=(%_ToObject(this)); var z=(e?(%_ToLength(y.length)):((y.length)>>>0)); InnerArrayForEach(bt,bu,y,z); } function InnerArraySome(bt,bu,y,z){ if(!(typeof(bt)==='function'))throw l(15,bt); var W=(%_IsArray(y)); for(var B=0;B<z;B++){ if(((W&&%_HasFastPackedElements(%IS_VAR(y)))?(B<y.length):(B in y))){ var aP=y[B]; if(%_Call(bt,bu,aP,B,y))return true; } } return false; } function ArraySome(bt,bu){ if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.some"); var y=(%_ToObject(this)); var z=(e?(%_ToLength(y.length)):((y.length)>>>0)); return InnerArraySome(bt,bu,y,z); } function InnerArrayEvery(bt,bu,y,z){ if(!(typeof(bt)==='function'))throw l(15,bt); var W=(%_IsArray(y)); for(var B=0;B<z;B++){ if(((W&&%_HasFastPackedElements(%IS_VAR(y)))?(B<y.length):(B in y))){ var aP=y[B]; if(!%_Call(bt,bu,aP,B,y))return false; } } return true; } function ArrayEvery(bt,bu){ if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.every"); var y=(%_ToObject(this)); var z=(e?(%_ToLength(y.length)):((y.length)>>>0)); return InnerArrayEvery(bt,bu,y,z); } function ArrayMap(bt,bu){ if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.map"); var y=(%_ToObject(this)); var z=(e?(%_ToLength(y.length)):((y.length)>>>0)); if(!(typeof(bt)==='function'))throw l(15,bt); var D=ArraySpeciesCreate(y,z); var W=(%_IsArray(y)); for(var B=0;B<z;B++){ if(((W&&%_HasFastPackedElements(%IS_VAR(y)))?(B<y.length):(B in y))){ var aP=y[B]; DefineIndexedProperty(D,B,%_Call(bt,bu,aP,B,y)); } } return D; } function InnerArrayIndexOf(y,aP,aj,z){ if(z==0)return-1; if((aj===(void 0))){ aj=0; }else{ aj=(%_ToInteger(aj)); if(aj<0){ aj=z+aj; if(aj<0)aj=0; } } var bw=aj; var bj=z; if(UseSparseVariant(y,z,(%_IsArray(y)),bj-bw)){ %NormalizeElements(y); var F=%GetArrayKeys(y,z); if((typeof(F)==='number')){ bj=F; }else{ if(F.length==0)return-1; var bx=GetSortedArrayKeys(y,F); var ao=bx.length; var B=0; while(B<ao&&bx[B]<aj)B++; while(B<ao){ var K=bx[B]; if(!(K===(void 0))&&y[K]===aP)return K; B++; } return-1; } } if(!(aP===(void 0))){ for(var B=bw;B<bj;B++){ if(y[B]===aP)return B; } return-1; } for(var B=bw;B<bj;B++){ if((y[B]===(void 0))&&B in y){ return B; } } return-1; } function ArrayIndexOf(aP,aj){ if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.indexOf"); var z=(e?(%_ToLength(this.length)):((this.length)>>>0)); return InnerArrayIndexOf(this,aP,aj,z); } function InnerArrayLastIndexOf(y,aP,aj,z,by){ if(z==0)return-1; if(by<2){ aj=z-1; }else{ aj=(%_ToInteger(aj)); if(aj<0)aj+=z; if(aj<0)return-1; else if(aj>=z)aj=z-1; } var bw=0; var bj=aj; if(UseSparseVariant(y,z,(%_IsArray(y)),aj)){ %NormalizeElements(y); var F=%GetArrayKeys(y,aj+1); if((typeof(F)==='number')){ bj=F; }else{ if(F.length==0)return-1; var bx=GetSortedArrayKeys(y,F); var B=bx.length-1; while(B>=0){ var K=bx[B]; if(!(K===(void 0))&&y[K]===aP)return K; B--; } return-1; } } if(!(aP===(void 0))){ for(var B=bj;B>=bw;B--){ if(y[B]===aP)return B; } return-1; } for(var B=bj;B>=bw;B--){ if((y[B]===(void 0))&&B in y){ return B; } } return-1; } function ArrayLastIndexOf(aP,aj){ if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.lastIndexOf"); var z=(e?(%_ToLength(this.length)):((this.length)>>>0)); return InnerArrayLastIndexOf(this,aP,aj,z, %_ArgumentsLength()); } function InnerArrayReduce(bz,ae,y,z,by){ if(!(typeof(bz)==='function')){ throw l(15,bz); } var W=(%_IsArray(y)); var B=0; find_initial:if(by<2){ for(;B<z;B++){ if(((W&&%_HasFastPackedElements(%IS_VAR(y)))?(B<y.length):(B in y))){ ae=y[B++]; break find_initial; } } throw l(128); } for(;B<z;B++){ if(((W&&%_HasFastPackedElements(%IS_VAR(y)))?(B<y.length):(B in y))){ var aP=y[B]; ae=bz(ae,aP,B,y); } } return ae; } function ArrayReduce(bz,ae){ if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.reduce"); var y=(%_ToObject(this)); var z=(e?(%_ToLength(y.length)):((y.length)>>>0)); return InnerArrayReduce(bz,ae,y,z, %_ArgumentsLength()); } function InnerArrayReduceRight(bz,ae,y,z, by){ if(!(typeof(bz)==='function')){ throw l(15,bz); } var W=(%_IsArray(y)); var B=z-1; find_initial:if(by<2){ for(;B>=0;B--){ if(((W&&%_HasFastPackedElements(%IS_VAR(y)))?(B<y.length):(B in y))){ ae=y[B--]; break find_initial; } } throw l(128); } for(;B>=0;B--){ if(((W&&%_HasFastPackedElements(%IS_VAR(y)))?(B<y.length):(B in y))){ var aP=y[B]; ae=bz(ae,aP,B,y); } } return ae; } function ArrayReduceRight(bz,ae){ if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.reduceRight"); var y=(%_ToObject(this)); var z=(e?(%_ToLength(y.length)):((y.length)>>>0)); return InnerArrayReduceRight(bz,ae,y,z, %_ArgumentsLength()); } function InnerArrayCopyWithin(bA,aD,aE,y,z){ bA=(%_ToInteger(bA)); var aO; if(bA<0){ aO=m(z+bA,0); }else{ aO=n(bA,z); } aD=(%_ToInteger(aD)); var x; if(aD<0){ x=m(z+aD,0); }else{ x=n(aD,z); } aE=(aE===(void 0))?z:(%_ToInteger(aE)); var bB; if(aE<0){ bB=m(z+aE,0); }else{ bB=n(aE,z); } var bC=n(bB-x,z-aO); var bD=1; if(x<aO&&aO<(x+bC)){ bD=-1; x=x+bC-1; aO=aO+bC-1; } while(bC>0){ if(x in y){ y[aO]=y[x]; }else{ delete y[aO]; } x=x+bD; aO=aO+bD; bC--; } return y; } function ArrayCopyWithin(bA,aD,aE){ if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.copyWithin"); var y=(%_ToObject(this)); var z=(%_ToLength(y.length)); return InnerArrayCopyWithin(bA,aD,aE,y,z); } function InnerArrayFind(bE,bF,y,z){ if(!(typeof(bE)==='function')){ throw l(15,bE); } for(var B=0;B<z;B++){ var aP=y[B]; if(%_Call(bE,bF,aP,B,y)){ return aP; } } return; } function ArrayFind(bE,bF){ if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.find"); var y=(%_ToObject(this)); var z=(%_ToInteger(y.length)); return InnerArrayFind(bE,bF,y,z); } function InnerArrayFindIndex(bE,bF,y,z){ if(!(typeof(bE)==='function')){ throw l(15,bE); } for(var B=0;B<z;B++){ var aP=y[B]; if(%_Call(bE,bF,aP,B,y)){ return B; } } return-1; } function ArrayFindIndex(bE,bF){ if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.findIndex"); var y=(%_ToObject(this)); var z=(%_ToInteger(y.length)); return InnerArrayFindIndex(bE,bF,y,z); } function InnerArrayFill(C,aD,aE,y,z){ var B=(aD===(void 0))?0:(%_ToInteger(aD)); var aE=(aE===(void 0))?z:(%_ToInteger(aE)); if(B<0){ B+=z; if(B<0)B=0; }else{ if(B>z)B=z; } if(aE<0){ aE+=z; if(aE<0)aE=0; }else{ if(aE>z)aE=z; } if((aE-B)>0&&%object_is_frozen(y)){ throw l(12); } for(;B<aE;B++) y[B]=C; return y; } function ArrayFill(C,aD,aE){ if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.fill"); var y=(%_ToObject(this)); var z=(e?(%_ToLength(y.length)):((y.length)>>>0)); return InnerArrayFill(C,aD,aE,y,z); } function InnerArrayIncludes(bG,bH,y,z){ if(z===0){ return false; } var ao=(%_ToInteger(bH)); var J; if(ao>=0){ J=ao; }else{ J=z+ao; if(J<0){ J=0; } } while(J<z){ var bI=y[J]; if(u(bG,bI)){ return true; } ++J; } return false; } function ArrayIncludes(bG,bH){ if((%IS_VAR(this)===null)||(this===(void 0)))throw l(17,"Array.prototype.includes"); var y=(%_ToObject(this)); var z=(%_ToLength(y.length)); return InnerArrayIncludes(bG,bH,y,z); } function AddArrayElement(A,y,B,C){ if(A===i){ d(y,B,C); }else{ o(y,B,{ value:C,writable:true,configurable:true,enumerable:true }); } } function ArrayFrom(bJ,bK,bu){ var bL=(%_ToObject(bJ)); var bM=!(bK===(void 0)); if(bM){ if(!(typeof(bK)==='function')){ throw l(15,bK); } } var bN=h(bL,v); var J; var D; var bO; var bP; if(!(bN===(void 0))){ D=%IsConstructor(this)?new this():[]; var bQ=g(bL,bN); J=0; while(true){ var bR=bQ.next(); if(!(%_IsJSReceiver(bR))){ throw l(48,bR); } if(bR.done){ D.length=J; return D; } bP=bR.value; if(bM){ bO=%_Call(bK,bu,bP,J); }else{ bO=bP; } AddArrayElement(this,D,J,bO); J++; } }else{ var N=(%_ToLength(bL.length)); D=%IsConstructor(this)?new this(N):new i(N); for(J=0;J<N;++J){ bP=bL[J]; if(bM){ bO=%_Call(bK,bu,bP,J); }else{ bO=bP; } AddArrayElement(this,D,J,bO); } D.length=J; return D; } } function ArrayOf(){ var z=%_ArgumentsLength(); var A=this; var y=%IsConstructor(A)?new A(z):[]; for(var B=0;B<z;B++){ AddArrayElement(A,y,B,%_Arguments(B)); } y.length=z; return y; } %AddNamedProperty(i.prototype,"constructor",i, 2); var bS={ __proto__:null, copyWithin:true, entries:true, fill:true, find:true, findIndex:true, keys:true, }; %AddNamedProperty(i.prototype,w,bS, 2|1); %FunctionSetLength(ArrayFrom,1); b.InstallFunctions(i,2,[ "from",ArrayFrom, "of",ArrayOf ]); var bT=%SpecialArrayFunctions(); var bU=function(bV,bW,N){ var bt=bW; if(bT.hasOwnProperty(bV)){ bt=bT[bV]; } if(!(N===(void 0))){ %FunctionSetLength(bt,N); } return bt; }; b.InstallFunctions(i.prototype,2,[ "toString",bU("toString",ArrayToString), "toLocaleString",bU("toLocaleString",ArrayToLocaleString), "join",bU("join",ArrayJoin), "pop",bU("pop",ArrayPop), "push",bU("push",ArrayPush,1), "reverse",bU("reverse",ArrayReverse), "shift",bU("shift",ArrayShift), "unshift",bU("unshift",ArrayUnshift,1), "slice",bU("slice",ArraySlice,2), "splice",bU("splice",ArraySplice,2), "sort",bU("sort",ArraySort), "filter",bU("filter",ArrayFilter,1), "forEach",bU("forEach",ArrayForEach,1), "some",bU("some",ArraySome,1), "every",bU("every",ArrayEvery,1), "map",bU("map",ArrayMap,1), "indexOf",bU("indexOf",ArrayIndexOf,1), "lastIndexOf",bU("lastIndexOf",ArrayLastIndexOf,1), "reduce",bU("reduce",ArrayReduce,1), "reduceRight",bU("reduceRight",ArrayReduceRight,1), "copyWithin",bU("copyWithin",ArrayCopyWithin,2), "find",bU("find",ArrayFind,1), "findIndex",bU("findIndex",ArrayFindIndex,1), "fill",bU("fill",ArrayFill,1), "includes",bU("includes",ArrayIncludes,1), ]); %FinishArrayPrototypeSetup(i.prototype); b.SetUpLockedPrototype(j,i(),[ "indexOf",bU("indexOf",ArrayIndexOf), "join",bU("join",ArrayJoin), "pop",bU("pop",ArrayPop), "push",bU("push",ArrayPush), "shift",bU("shift",ArrayShift), "sort",bU("sort",ArraySort), "splice",bU("splice",ArraySplice) ]); b.SetUpLockedPrototype(k,i(),[ "join",bU("join",ArrayJoin), "pop",bU("pop",ArrayPop), "push",bU("push",ArrayPush), "shift",bU("shift",ArrayShift) ]); b.SetUpLockedPrototype(c.InternalPackedArray,i(),[ "push",bU("push",ArrayPush), "pop",bU("pop",ArrayPop), "shift",bU("shift",ArrayShift), "unshift",bU("unshift",ArrayUnshift), "splice",bU("splice",ArraySplice), "slice",bU("slice",ArraySlice) ]); b.Export(function(aO){ aO.ArrayFrom=ArrayFrom; aO.ArrayIndexOf=ArrayIndexOf; aO.ArrayJoin=ArrayJoin; aO.ArrayPush=ArrayPush; aO.ArrayToString=ArrayToString; aO.InnerArrayCopyWithin=InnerArrayCopyWithin; aO.InnerArrayEvery=InnerArrayEvery; aO.InnerArrayFill=InnerArrayFill; aO.InnerArrayFilter=InnerArrayFilter; aO.InnerArrayFind=InnerArrayFind; aO.InnerArrayFindIndex=InnerArrayFindIndex; aO.InnerArrayForEach=InnerArrayForEach; aO.InnerArrayIncludes=InnerArrayIncludes; aO.InnerArrayIndexOf=InnerArrayIndexOf; aO.InnerArrayJoin=InnerArrayJoin; aO.InnerArrayLastIndexOf=InnerArrayLastIndexOf; aO.InnerArrayReduce=InnerArrayReduce; aO.InnerArrayReduceRight=InnerArrayReduceRight; aO.InnerArraySome=InnerArraySome; aO.InnerArraySort=InnerArraySort; aO.InnerArrayToLocaleString=InnerArrayToLocaleString; aO.PackedArrayReverse=PackedArrayReverse; }); %InstallToContext([ "array_pop",ArrayPop, "array_push",ArrayPush, "array_shift",ArrayShift, "array_splice",ArraySplice, "array_slice",ArraySlice, "array_unshift",ArrayUnshift, ]); }); string: (function(a,b){ %CheckIsBootstrapping(); var c; var d; var e=a.RegExp; var f=a.String; var g=b.InternalArray; var h=b.InternalPackedArray; var i; var j; var k; var l; var m=b.ImportNow("match_symbol"); var n; var o; var p; var q=b.ImportNow("search_symbol"); var r=b.ImportNow("split_symbol"); b.Import(function(s){ c=s.ArrayIndexOf; d=s.ArrayJoin; i=s.MakeRangeError; j=s.MakeTypeError; k=s.MathMax; l=s.MathMin; n=s.RegExpExec; o=s.RegExpExecNoTests; p=s.RegExpLastMatchInfo; }); function StringToString(){ if(!(typeof(this)==='string')&&!(%_ClassOf(this)==='String')){ throw j(65,'String.prototype.toString'); } return %_ValueOf(this); } function StringValueOf(){ if(!(typeof(this)==='string')&&!(%_ClassOf(this)==='String')){ throw j(65,'String.prototype.valueOf'); } return %_ValueOf(this); } function StringCharAtJS(t){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.charAt"); var u=%_StringCharAt(this,t); if(%_IsSmi(u)){ u=%_StringCharAt((%_ToString(this)),(%_ToInteger(t))); } return u; } function StringCharCodeAtJS(t){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.charCodeAt"); var u=%_StringCharCodeAt(this,t); if(!%_IsSmi(u)){ u=%_StringCharCodeAt((%_ToString(this)),(%_ToInteger(t))); } return u; } function StringConcat(v){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.concat"); var w=%_ArgumentsLength(); var x=(%_ToString(this)); if(w===1){ return x+(%_ToString(v)); } var y=new g(w+1); y[0]=x; for(var z=0;z<w;z++){ var A=%_Arguments(z); y[z+1]=(%_ToString(A)); } return %StringBuilderConcat(y,w+1,""); } function StringIndexOfJS(B){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.indexOf"); var C=(%_ToString(this)); B=(%_ToString(B)); var D=0; if(%_ArgumentsLength()>1){ D=%_Arguments(1); D=(%_ToInteger(D)); if(D<0)D=0; if(D>C.length)D=C.length; } return %StringIndexOf(C,B,D); } function StringLastIndexOfJS(E){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.lastIndexOf"); var F=(%_ToString(this)); var G=F.length; var E=(%_ToString(E)); var H=E.length; var D=G-H; if(%_ArgumentsLength()>1){ var I=(%_ToNumber(%_Arguments(1))); if(!(!%_IsSmi(%IS_VAR(I))&&!(I==I))){ I=(%_ToInteger(I)); if(I<0){ I=0; } if(I+H<G){ D=I; } } } if(D<0){ return-1; } return %StringLastIndexOf(F,E,D); } function StringLocaleCompareJS(v){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.localeCompare"); return %StringLocaleCompare((%_ToString(this)),(%_ToString(v))); } function StringMatchJS(B){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.match"); if(!(B==null)){ var J=B[m]; if(!(J===(void 0))){ return %_Call(J,B,this); } } var C=(%_ToString(this)); var K=new e(B); return o(K,C,0); } function StringNormalizeJS(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.normalize"); var L=(%_ToString(this)); var M=%_Arguments(0); var N=(M===(void 0))?'NFC':(%_ToString(M)); var O=['NFC','NFD','NFKC','NFKD']; var P=%_Call(c,O,N); if(P===-1){ throw i(184, %_Call(d,O,', ')); } return L; } var Q=[2,"","",-1,-1]; function StringReplace(R,S){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.replace"); var C=(%_ToString(this)); if((%_IsRegExp(R))){ if(!(typeof(S)==='function')){ S=(%_ToString(S)); if(!(%_RegExpFlags(R)&1)){ var T=n(R,C,0); if(T==null){ R.lastIndex=0 return C; } if(S.length==0){ return %_SubString(C,0,T[3])+ %_SubString(C,T[4],C.length) } return ExpandReplacement(S,C,p, %_SubString(C,0,T[3]))+ %_SubString(C,T[4],C.length); } R.lastIndex=0; return %StringReplaceGlobalRegExpWithString( C,R,S,p); } if((%_RegExpFlags(R)&1)){ return StringReplaceGlobalRegExpWithFunction(C,R,S); } return StringReplaceNonGlobalRegExpWithFunction(C,R,S); } R=(%_ToString(R)); if(R.length==1&& C.length>0xFF&& (typeof(S)==='string')&& %StringIndexOf(S,'$',0)<0){ return %StringReplaceOneCharWithString(C,R,S); } var U=%StringIndexOf(C,R,0); if(U<0)return C; var V=U+R.length; var u=%_SubString(C,0,U); if((typeof(S)==='function')){ u+=S(R,U,C); }else{ Q[3]=U; Q[4]=V; u=ExpandReplacement((%_ToString(S)), C, Q, u); } return u+%_SubString(C,V,C.length); } function ExpandReplacement(W,C,X,u){ var Y=W.length; var Z=%StringIndexOf(W,'$',0); if(Z<0){ if(Y>0)u+=W; return u; } if(Z>0)u+=%_SubString(W,0,Z); while(true){ var aa='$'; var I=Z+1; if(I<Y){ var ab=%_StringCharCodeAt(W,I); if(ab==36){ ++I; u+='$'; }else if(ab==38){ ++I; u+= %_SubString(C,X[3],X[4]); }else if(ab==96){ ++I; u+=%_SubString(C,0,X[3]); }else if(ab==39){ ++I; u+=%_SubString(C,X[4],C.length); }else if(ab>=48&&ab<=57){ var ac=(ab-48)<<1; var ad=1; var ae=((X)[0]); if(I+1<W.length){ var Z=%_StringCharCodeAt(W,I+1); if(Z>=48&&Z<=57){ var af=ac*10+((Z-48)<<1); if(af<ae){ ac=af; ad=2; } } } if(ac!=0&&ac<ae){ var U=X[(3+(ac))]; if(U>=0){ u+= %_SubString(C,U,X[(3+(ac+1))]); } I+=ad; }else{ u+='$'; } }else{ u+='$'; } }else{ u+='$'; } Z=%StringIndexOf(W,'$',I); if(Z<0){ if(I<Y){ u+=%_SubString(W,I,Y); } return u; } if(Z>I){ u+=%_SubString(W,I,Z); } } return u; } function CaptureString(W,ag,D){ var ah=D<<1; var U=ag[(3+(ah))]; if(U<0)return; var V=ag[(3+(ah+1))]; return %_SubString(W,U,V); } var ai=new g(4); function StringReplaceGlobalRegExpWithFunction(C,K,S){ var aj=ai; if(aj){ ai=null; }else{ aj=new g(16); } var ak=%RegExpExecMultiple(K, C, p, aj); K.lastIndex=0; if((ak===null)){ ai=aj; return C; } var w=ak.length; if(((p)[0])==2){ var al=0; for(var z=0;z<w;z++){ var am=ak[z]; if(%_IsSmi(am)){ if(am>0){ al=(am>>11)+(am&0x7ff); }else{ al=ak[++z]-am; } }else{ var an=S(am,al,C); ak[z]=(%_ToString(an)); al+=am.length; } } }else{ for(var z=0;z<w;z++){ var am=ak[z]; if(!%_IsSmi(am)){ var an=%Apply(S,(void 0),am,0,am.length); ak[z]=(%_ToString(an)); } } } var u=%StringBuilderConcat(ak,w,C); aj.length=0; ai=aj; return u; } function StringReplaceNonGlobalRegExpWithFunction(C,K,S){ var X=n(K,C,0); if((X===null)){ K.lastIndex=0; return C; } var D=X[3]; var u=%_SubString(C,0,D); var ao=X[4]; var ap=((X)[0])>>1; var aq; if(ap==1){ var L=%_SubString(C,D,ao); aq=S(L,D,C); }else{ var ar=new g(ap+2); for(var as=0;as<ap;as++){ ar[as]=CaptureString(C,X,as); } ar[as]=D; ar[as+1]=C; aq=%Apply(S,(void 0),ar,0,as+2); } u+=aq; return u+%_SubString(C,ao,C.length); } function StringSearch(B){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.search"); if(!(B==null)){ var at=B[q]; if(!(at===(void 0))){ return %_Call(at,B,this); } } var C=(%_ToString(this)); var K=new e(B); return %_Call(K[q],K,C); } function StringSlice(U,V){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.slice"); var L=(%_ToString(this)); var au=L.length; var av=(%_ToInteger(U)); var aw=au; if(!(V===(void 0))){ aw=(%_ToInteger(V)); } if(av<0){ av+=au; if(av<0){ av=0; } }else{ if(av>au){ return''; } } if(aw<0){ aw+=au; if(aw<0){ return''; } }else{ if(aw>au){ aw=au; } } if(aw<=av){ return''; } return %_SubString(L,av,aw); } function StringSplitJS(ax,ay){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.split"); if(!(ax==null)){ var az=ax[r]; if(!(az===(void 0))){ return %_Call(az,ax,this,ay); } } var C=(%_ToString(this)); ay=((ay===(void 0)))?4294967295:((ay)>>>0); var Y=C.length; var aA=(%_ToString(ax)); if(ay===0)return[]; if((ax===(void 0)))return[C]; var aB=aA.length; if(aB===0)return %StringToArray(C,ay); return %StringSplit(C,aA,ay); } function StringSubstring(U,V){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.subString"); var L=(%_ToString(this)); var au=L.length; var av=(%_ToInteger(U)); if(av<0){ av=0; }else if(av>au){ av=au; } var aw=au; if(!(V===(void 0))){ aw=(%_ToInteger(V)); if(aw>au){ aw=au; }else{ if(aw<0)aw=0; if(av>aw){ var aC=aw; aw=av; av=aC; } } } return %_SubString(L,av,aw); } function StringSubstr(U,aD){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.substr"); var L=(%_ToString(this)); var w; if((aD===(void 0))){ w=L.length; }else{ w=(%_ToInteger(aD)); if(w<=0)return''; } if((U===(void 0))){ U=0; }else{ U=(%_ToInteger(U)); if(U>=L.length)return''; if(U<0){ U+=L.length; if(U<0)U=0; } } var V=U+w; if(V>L.length)V=L.length; return %_SubString(L,U,V); } function StringToLowerCaseJS(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.toLowerCase"); return %StringToLowerCase((%_ToString(this))); } function StringToLocaleLowerCase(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.toLocaleLowerCase"); return %StringToLowerCase((%_ToString(this))); } function StringToUpperCaseJS(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.toUpperCase"); return %StringToUpperCase((%_ToString(this))); } function StringToLocaleUpperCase(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.toLocaleUpperCase"); return %StringToUpperCase((%_ToString(this))); } function StringTrimJS(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.trim"); return %StringTrim((%_ToString(this)),true,true); } function StringTrimLeft(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.trimLeft"); return %StringTrim((%_ToString(this)),true,false); } function StringTrimRight(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.trimRight"); return %StringTrim((%_ToString(this)),false,true); } function StringFromCharCode(aE){ var aD=%_ArgumentsLength(); if(aD==1)return %_StringCharFromCode(aE&0xffff); var aF=%NewString(aD,true); var z; for(z=0;z<aD;z++){ aE=%_Arguments(z)&0xffff; if(aE>0xff)break; %_OneByteSeqStringSetChar(z,aE,aF); } if(z==aD)return aF; aF=%TruncateString(aF,z); var aG=%NewString(aD-z,false); %_TwoByteSeqStringSetChar(0,aE,aG); z++; for(var as=1;z<aD;z++,as++){ aE=%_Arguments(z)&0xffff; %_TwoByteSeqStringSetChar(as,aE,aG); } return aF+aG; } function HtmlEscape(aH){ return %_Call(StringReplace,(%_ToString(aH)),/"/g,"""); } function StringAnchor(aI){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.anchor"); return"<a name=\""+HtmlEscape(aI)+"\">"+(%_ToString(this))+ "</a>"; } function StringBig(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.big"); return"<big>"+(%_ToString(this))+"</big>"; } function StringBlink(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.blink"); return"<blink>"+(%_ToString(this))+"</blink>"; } function StringBold(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.bold"); return"<b>"+(%_ToString(this))+"</b>"; } function StringFixed(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.fixed"); return"<tt>"+(%_ToString(this))+"</tt>"; } function StringFontcolor(aJ){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.fontcolor"); return"<font color=\""+HtmlEscape(aJ)+"\">"+(%_ToString(this))+ "</font>"; } function StringFontsize(aK){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.fontsize"); return"<font size=\""+HtmlEscape(aK)+"\">"+(%_ToString(this))+ "</font>"; } function StringItalics(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.italics"); return"<i>"+(%_ToString(this))+"</i>"; } function StringLink(L){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.link"); return"<a href=\""+HtmlEscape(L)+"\">"+(%_ToString(this))+"</a>"; } function StringSmall(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.small"); return"<small>"+(%_ToString(this))+"</small>"; } function StringStrike(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.strike"); return"<strike>"+(%_ToString(this))+"</strike>"; } function StringSub(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.sub"); return"<sub>"+(%_ToString(this))+"</sub>"; } function StringSup(){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.sup"); return"<sup>"+(%_ToString(this))+"</sup>"; } function StringRepeat(aL){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.repeat"); var L=(%_ToString(this)); var aD=(%_ToInteger(aL)); if(aD<0||aD===(1/0))throw i(168); if(L.length===0)return""; if(aD>%_MaxSmi())throw i(168); var aM=""; while(true){ if(aD&1)aM+=L; aD>>=1; if(aD===0)return aM; L+=L; } } function StringStartsWith(aN){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.startsWith"); var L=(%_ToString(this)); if((%_IsRegExp(aN))){ throw j(38,"String.prototype.startsWith"); } var aO=(%_ToString(aN)); var t=0; if(%_ArgumentsLength()>1){ var aP=%_Arguments(1); if(!(aP===(void 0))){ t=(%_ToInteger(aP)); } } var au=L.length; var U=l(k(t,0),au); var aQ=aO.length; if(aQ+U>au){ return false; } return %_SubString(L,U,U+aQ)===aO; } function StringEndsWith(aN){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.endsWith"); var L=(%_ToString(this)); if((%_IsRegExp(aN))){ throw j(38,"String.prototype.endsWith"); } var aO=(%_ToString(aN)); var au=L.length; var t=au; if(%_ArgumentsLength()>1){ var aP=%_Arguments(1); if(!(aP===(void 0))){ t=(%_ToInteger(aP)); } } var V=l(k(t,0),au); var aQ=aO.length; var U=V-aQ; if(U<0){ return false; } return %_SubString(L,U,U+aQ)===aO; } function StringIncludes(aN){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.includes"); var W=(%_ToString(this)); if((%_IsRegExp(aN))){ throw j(38,"String.prototype.includes"); } aN=(%_ToString(aN)); var t=0; if(%_ArgumentsLength()>1){ t=%_Arguments(1); t=(%_ToInteger(t)); } var aR=W.length; if(t<0)t=0; if(t>aR)t=aR; var aS=aN.length; if(aS+t>aR){ return false; } return %StringIndexOf(W,aN,t)!==-1; } function StringCodePointAt(t){ if((%IS_VAR(this)===null)||(this===(void 0)))throw j(17,"String.prototype.codePointAt"); var W=(%_ToString(this)); var aK=W.length; t=(%_ToInteger(t)); if(t<0||t>=aK){ return(void 0); } var aT=%_StringCharCodeAt(W,t); if(aT<0xD800||aT>0xDBFF||t+1==aK){ return aT; } var aU=%_StringCharCodeAt(W,t+1); if(aU<0xDC00||aU>0xDFFF){ return aT; } return(aT-0xD800)*0x400+aU+0x2400; } function StringFromCodePoint(aV){ var aE; var Y=%_ArgumentsLength(); var D; var u=""; for(D=0;D<Y;D++){ aE=%_Arguments(D); if(!%_IsSmi(aE)){ aE=(%_ToNumber(aE)); } if(aE<0||aE>0x10FFFF||aE!==(%_ToInteger(aE))){ throw i(167,aE); } if(aE<=0xFFFF){ u+=%_StringCharFromCode(aE); }else{ aE-=0x10000; u+=%_StringCharFromCode((aE>>>10)&0x3FF|0xD800); u+=%_StringCharFromCode(aE&0x3FF|0xDC00); } } return u; } function StringRaw(aW){ var aX=%_ArgumentsLength(); var aY=(%_ToObject(aW)); var aZ=(%_ToObject(aY.raw)); var ba=(%_ToLength(aZ.length)); if(ba<=0)return""; var u=(%_ToString(aZ[0])); for(var z=1;z<ba;++z){ if(z<aX){ u+=(%_ToString(%_Arguments(z))); } u+=(%_ToString(aZ[z])); } return u; } %FunctionSetPrototype(f,new f()); %AddNamedProperty( f.prototype,"constructor",f,2); b.InstallFunctions(f,2,[ "fromCharCode",StringFromCharCode, "fromCodePoint",StringFromCodePoint, "raw",StringRaw ]); b.InstallFunctions(f.prototype,2,[ "valueOf",StringValueOf, "toString",StringToString, "charAt",StringCharAtJS, "charCodeAt",StringCharCodeAtJS, "codePointAt",StringCodePointAt, "concat",StringConcat, "endsWith",StringEndsWith, "includes",StringIncludes, "indexOf",StringIndexOfJS, "lastIndexOf",StringLastIndexOfJS, "localeCompare",StringLocaleCompareJS, "match",StringMatchJS, "normalize",StringNormalizeJS, "repeat",StringRepeat, "replace",StringReplace, "search",StringSearch, "slice",StringSlice, "split",StringSplitJS, "substring",StringSubstring, "substr",StringSubstr, "startsWith",StringStartsWith, "toLowerCase",StringToLowerCaseJS, "toLocaleLowerCase",StringToLocaleLowerCase, "toUpperCase",StringToUpperCaseJS, "toLocaleUpperCase",StringToLocaleUpperCase, "trim",StringTrimJS, "trimLeft",StringTrimLeft, "trimRight",StringTrimRight, "link",StringLink, "anchor",StringAnchor, "fontcolor",StringFontcolor, "fontsize",StringFontsize, "big",StringBig, "blink",StringBlink, "bold",StringBold, "fixed",StringFixed, "italics",StringItalics, "small",StringSmall, "strike",StringStrike, "sub",StringSub, "sup",StringSup ]); b.Export(function(bb){ bb.StringCharAt=StringCharAtJS; bb.StringIndexOf=StringIndexOfJS; bb.StringLastIndexOf=StringLastIndexOfJS; bb.StringMatch=StringMatchJS; bb.StringReplace=StringReplace; bb.StringSlice=StringSlice; bb.StringSplit=StringSplitJS; bb.StringSubstr=StringSubstr; bb.StringSubstring=StringSubstring; }); }) uri1U (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=a.Object; var d=a.Array; var e=b.InternalArray; var f; b.Import(function(g){ f=g.MakeURIError; }); function HexValueOf(h){ if(h>=48&&h<=57)return h-48; if(h>=65&&h<=70)return h-55; if(h>=97&&h<=102)return h-87; return-1; } function isAlphaNumeric(i){ if(97<=i&&i<=122)return true; if(65<=i&&i<=90)return true; if(48<=i&&i<=57)return true; return false; } var j=0; function URIAddEncodedOctetToBuffer(k,l,m){ l[m++]=37; l[m++]=j[k>>4]; l[m++]=j[k&0x0F]; return m; } function URIEncodeOctets(n,l,m){ if(j===0){ j=[48,49,50,51,52,53,54,55,56,57, 65,66,67,68,69,70]; } m=URIAddEncodedOctetToBuffer(n[0],l,m); if(n[1])m=URIAddEncodedOctetToBuffer(n[1],l,m); if(n[2])m=URIAddEncodedOctetToBuffer(n[2],l,m); if(n[3])m=URIAddEncodedOctetToBuffer(n[3],l,m); return m; } function URIEncodeSingle(i,l,m){ var o=(i>>12)&0xF; var p=(i>>6)&63; var q=i&63; var n=new d(3); if(i<=0x007F){ n[0]=i; }else if(i<=0x07FF){ n[0]=p+192; n[1]=q+128; }else{ n[0]=o+224; n[1]=p+128; n[2]=q+128; } return URIEncodeOctets(n,l,m); } function URIEncodePair(r,s,l,m){ var t=((r>>6)&0xF)+1; var u=(r>>2)&0xF; var o=r&3; var p=(s>>6)&0xF; var q=s&63; var n=new d(4); n[0]=(t>>2)+240; n[1]=(((t&3)<<4)|u)+128; n[2]=((o<<4)|p)+128; n[3]=q+128; return URIEncodeOctets(n,l,m); } function URIHexCharsToCharCode(v,w){ var x=HexValueOf(v); var y=HexValueOf(w); if(x==-1||y==-1)throw f(); return(x<<4)|y; } function URIDecodeOctets(n,l,m){ var z; var A=n[0]; if(A<0x80){ z=A; }else if(A<0xc2){ throw f(); }else{ var B=n[1]; if(A<0xe0){ var C=A&0x1f; if((B<0x80)||(B>0xbf))throw f(); var D=B&0x3f; z=(C<<6)+D; if(z<0x80||z>0x7ff)throw f(); }else{ var E=n[2]; if(A<0xf0){ var C=A&0x0f; if((B<0x80)||(B>0xbf))throw f(); var D=B&0x3f; if((E<0x80)||(E>0xbf))throw f(); var F=E&0x3f; z=(C<<12)+(D<<6)+F; if((z<0x800)||(z>0xffff))throw f(); }else{ var G=n[3]; if(A<0xf8){ var C=(A&0x07); if((B<0x80)||(B>0xbf))throw f(); var D=(B&0x3f); if((E<0x80)||(E>0xbf)){ throw f(); } var F=(E&0x3f); if((G<0x80)||(G>0xbf))throw f(); var H=(G&0x3f); z=(C<<18)+(D<<12)+(F<<6)+H; if((z<0x10000)||(z>0x10ffff))throw f(); }else{ throw f(); } } } } if(0xD800<=z&&z<=0xDFFF)throw f(); if(z<0x10000){ %_TwoByteSeqStringSetChar(m++,z,l); }else{ %_TwoByteSeqStringSetChar(m++,(z>>10)+0xd7c0,l); %_TwoByteSeqStringSetChar(m++,(z&0x3ff)+0xdc00,l); } return m; } function Encode(I,J){ I=(%_ToString(I)); var K=I.length; var L=new e(K); var m=0; for(var M=0;M<K;M++){ var r=%_StringCharCodeAt(I,M); if(J(r)){ L[m++]=r; }else{ if(r>=0xDC00&&r<=0xDFFF)throw f(); if(r<0xD800||r>0xDBFF){ m=URIEncodeSingle(r,L,m); }else{ M++; if(M==K)throw f(); var s=%_StringCharCodeAt(I,M); if(s<0xDC00||s>0xDFFF)throw f(); m=URIEncodePair(r,s,L,m); } } } var l=%NewString(L.length,true); for(var N=0;N<L.length;N++){ %_OneByteSeqStringSetChar(N,L[N],l); } return l; } function Decode(I,O){ I=(%_ToString(I)); var K=I.length; var P=%NewString(K,true); var m=0; var M=0; for(;M<K;M++){ var h=%_StringCharCodeAt(I,M); if(h==37){ if(M+2>=K)throw f(); var i=URIHexCharsToCharCode(%_StringCharCodeAt(I,M+1), %_StringCharCodeAt(I,M+2)); if(i>>7)break; if(O(i)){ %_OneByteSeqStringSetChar(m++,37,P); %_OneByteSeqStringSetChar(m++,%_StringCharCodeAt(I,M+1), P); %_OneByteSeqStringSetChar(m++,%_StringCharCodeAt(I,M+2), P); }else{ %_OneByteSeqStringSetChar(m++,i,P); } M+=2; }else{ if(h>0x7f)break; %_OneByteSeqStringSetChar(m++,h,P); } } P=%TruncateString(P,m); if(M==K)return P; var Q=%NewString(K-M,false); m=0; for(;M<K;M++){ var h=%_StringCharCodeAt(I,M); if(h==37){ if(M+2>=K)throw f(); var i=URIHexCharsToCharCode(%_StringCharCodeAt(I,++M), %_StringCharCodeAt(I,++M)); if(i>>7){ var R=0; while(((i<<++R)&0x80)!=0){} if(R==1||R>4)throw f(); var n=new d(R); n[0]=i; if(M+3*(R-1)>=K)throw f(); for(var N=1;N<R;N++){ if(I[++M]!='%')throw f(); n[N]=URIHexCharsToCharCode(%_StringCharCodeAt(I,++M), %_StringCharCodeAt(I,++M)); } m=URIDecodeOctets(n,Q,m); }else if(O(i)){ %_TwoByteSeqStringSetChar(m++,37,Q); %_TwoByteSeqStringSetChar(m++,%_StringCharCodeAt(I,M-1), Q); %_TwoByteSeqStringSetChar(m++,%_StringCharCodeAt(I,M), Q); }else{ %_TwoByteSeqStringSetChar(m++,i,Q); } }else{ %_TwoByteSeqStringSetChar(m++,h,Q); } } Q=%TruncateString(Q,m); return P+Q; } function URIEscapeJS(S){ return %URIEscape(S); } function URIUnescapeJS(S){ return %URIUnescape(S); } function URIDecode(I){ var T=function(i){ if(35<=i&&i<=36)return true; if(i==38)return true; if(43<=i&&i<=44)return true; if(i==47)return true; if(58<=i&&i<=59)return true; if(i==61)return true; if(63<=i&&i<=64)return true; return false; }; return Decode(I,T); } function URIDecodeComponent(U){ var T=function(i){return false;}; return Decode(U,T); } function URIEncode(I){ var V=function(i){ if(isAlphaNumeric(i))return true; if(i==33)return true; if(35<=i&&i<=36)return true; if(38<=i&&i<=47)return true; if(58<=i&&i<=59)return true; if(i==61)return true; if(63<=i&&i<=64)return true; if(i==95)return true; if(i==126)return true; return false; }; return Encode(I,V); } function URIEncodeComponent(U){ var V=function(i){ if(isAlphaNumeric(i))return true; if(i==33)return true; if(39<=i&&i<=42)return true; if(45<=i&&i<=46)return true; if(i==95)return true; if(i==126)return true; return false; }; return Encode(U,V); } b.InstallFunctions(a,2,[ "escape",URIEscapeJS, "unescape",URIUnescapeJS, "decodeURI",URIDecode, "decodeURIComponent",URIDecodeComponent, "encodeURI",URIEncode, "encodeURIComponent",URIEncodeComponent ]); }) math?J (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=a.Float64Array; var d=a.Math; var e=a.Object; var f=b.InternalArray; var g=%GetRootNaN(); var h=64; var i=(void 0); var j=b.ImportNow("to_string_tag_symbol"); function MathAbs(k){ k=+k; return(k>0)?k:0-k; } function MathAcosJS(k){ return %_MathAcos(+k); } function MathAsinJS(k){ return %_MathAsin(+k); } function MathAtanJS(k){ return %_MathAtan(+k); } function MathAtan2JS(l,k){ l=+l; k=+k; return %_MathAtan2(l,k); } function MathCeil(k){ return-%_MathFloor(-k); } function MathExp(k){ return %MathExpRT((%_ToNumber(k))); } function MathFloorJS(k){ return %_MathFloor(+k); } function MathLog(k){ return %_MathLogRT((%_ToNumber(k))); } function MathMax(m,n){ var o=%_ArgumentsLength(); if(o==2){ m=(%_ToNumber(m)); n=(%_ToNumber(n)); if(n>m)return n; if(m>n)return m; if(m==n){ return(m===0&&%_IsMinusZero(m))?n:m; } return g; } var p=-(1/0); for(var q=0;q<o;q++){ var r=%_Arguments(q); r=(%_ToNumber(r)); if((!%_IsSmi(%IS_VAR(r))&&!(r==r))||r>p||(p===0&&r===0&&%_IsMinusZero(p))){ p=r; } } return p; } function MathMin(m,n){ var o=%_ArgumentsLength(); if(o==2){ m=(%_ToNumber(m)); n=(%_ToNumber(n)); if(n>m)return m; if(m>n)return n; if(m==n){ return(m===0&&%_IsMinusZero(m))?m:n; } return g; } var p=(1/0); for(var q=0;q<o;q++){ var r=%_Arguments(q); r=(%_ToNumber(r)); if((!%_IsSmi(%IS_VAR(r))&&!(r==r))||r<p||(p===0&&r===0&&%_IsMinusZero(r))){ p=r; } } return p; } function MathPowJS(k,l){ return %_MathPow((%_ToNumber(k)),(%_ToNumber(l))); } function MathRandom(){ if(h>=64){ i=%GenerateRandomNumbers(i); h=2; } return i[h++]; } function MathRandomRaw(){ if(h>=64){ i=%GenerateRandomNumbers(i); h=2; } return %_DoubleLo(i[h++])&0x3FFFFFFF; } function MathRound(k){ return %RoundNumber((%_ToNumber(k))); } function MathSqrtJS(k){ return %_MathSqrt(+k); } function MathImul(k,l){ return %NumberImul((%_ToNumber(k)),(%_ToNumber(l))); } function MathSign(k){ k=+k; if(k>0)return 1; if(k<0)return-1; return k; } function MathTrunc(k){ k=+k; if(k>0)return %_MathFloor(k); if(k<0)return-%_MathFloor(-k); return k; } function MathAsinh(k){ k=(%_ToNumber(k)); if(k===0||!(%_IsSmi(%IS_VAR(k))||((k==k)&&(k!=1/0)&&(k!=-1/0))))return k; if(k>0)return MathLog(k+%_MathSqrt(k*k+1)); return-MathLog(-k+%_MathSqrt(k*k+1)); } function MathAcosh(k){ k=(%_ToNumber(k)); if(k<1)return g; if(!(%_IsSmi(%IS_VAR(k))||((k==k)&&(k!=1/0)&&(k!=-1/0))))return k; return MathLog(k+%_MathSqrt(k+1)*%_MathSqrt(k-1)); } function MathAtanh(k){ k=(%_ToNumber(k)); if(k===0)return k; if(!(%_IsSmi(%IS_VAR(k))||((k==k)&&(k!=1/0)&&(k!=-1/0))))return g; return 0.5*MathLog((1+k)/(1-k)); } function MathHypot(k,l){ var o=%_ArgumentsLength(); var s=new f(o); var t=0; for(var q=0;q<o;q++){ var r=%_Arguments(q); r=(%_ToNumber(r)); if(r===(1/0)||r===-(1/0))return(1/0); r=MathAbs(r); if(r>t)t=r; s[q]=r; } if(t===0)t=1; var u=0; var v=0; for(var q=0;q<o;q++){ var r=s[q]/t; var w=r*r-v; var x=u+w; v=(x-u)-w; u=x; } return %_MathSqrt(u)*t; } function MathFroundJS(k){ return %MathFround((%_ToNumber(k))); } function MathClz32JS(k){ return %_MathClz32(k>>>0); } function MathCbrt(k){ k=(%_ToNumber(k)); if(k==0||!(%_IsSmi(%IS_VAR(k))||((k==k)&&(k!=1/0)&&(k!=-1/0))))return k; return k>=0?CubeRoot(k):-CubeRoot(-k); } function CubeRoot(k){ var y=MathFloorJS(%_DoubleHi(k)/3)+0x2A9F7893; var z=%_ConstructDouble(y|0,0); z=(1.0/3.0)*(k/(z*z)+2*z); ; z=(1.0/3.0)*(k/(z*z)+2*z); ; z=(1.0/3.0)*(k/(z*z)+2*z); ; return(1.0/3.0)*(k/(z*z)+2*z); ; } %AddNamedProperty(d,j,"Math",1|2); b.InstallConstants(d,[ "E",2.7182818284590452354, "LN10",2.302585092994046, "LN2",0.6931471805599453, "LOG2E",1.4426950408889634, "LOG10E",0.4342944819032518, "PI",3.1415926535897932, "SQRT1_2",0.7071067811865476, "SQRT2",1.4142135623730951 ]); b.InstallFunctions(d,2,[ "random",MathRandom, "abs",MathAbs, "acos",MathAcosJS, "asin",MathAsinJS, "atan",MathAtanJS, "ceil",MathCeil, "exp",MathExp, "floor",MathFloorJS, "log",MathLog, "round",MathRound, "sqrt",MathSqrtJS, "atan2",MathAtan2JS, "pow",MathPowJS, "max",MathMax, "min",MathMin, "imul",MathImul, "sign",MathSign, "trunc",MathTrunc, "asinh",MathAsinh, "acosh",MathAcosh, "atanh",MathAtanh, "hypot",MathHypot, "fround",MathFroundJS, "clz32",MathClz32JS, "cbrt",MathCbrt ]); %SetForceInlineFlag(MathAbs); %SetForceInlineFlag(MathAcosJS); %SetForceInlineFlag(MathAsinJS); %SetForceInlineFlag(MathAtanJS); %SetForceInlineFlag(MathAtan2JS); %SetForceInlineFlag(MathCeil); %SetForceInlineFlag(MathClz32JS); %SetForceInlineFlag(MathFloorJS); %SetForceInlineFlag(MathRandom); %SetForceInlineFlag(MathSign); %SetForceInlineFlag(MathSqrtJS); %SetForceInlineFlag(MathTrunc); b.Export(function(A){ A.MathAbs=MathAbs; A.MathExp=MathExp; A.MathFloor=MathFloorJS; A.IntRandom=MathRandomRaw; A.MathMax=MathMax; A.MathMin=MathMin; }); }) fdlibm?? (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=a.Float64Array; var d=a.Math; var e; var f; var g=%GetRootNaN(); var h; b.Import(function(i){ e=i.MathAbs; f=i.MathExp; }); b.CreateDoubleResultArray=function(a){ h=new c(2); }; function KernelTan(j,k,l){ var m; var n; var o=%_DoubleHi(j); var p=o&0x7fffffff; if(p<0x3e300000){ if(((p|%_DoubleLo(j))|(l+1))==0){ return 1/e(j); }else{ if(l==1){ return j; }else{ var n=j+k; var m=%_ConstructDouble(%_DoubleHi(n),0); var q=k-(m-j); var r=-1/n; var s=%_ConstructDouble(%_DoubleHi(r),0); var t=1+s*m; return s+r*(t+s*q); } } } if(p>=0x3fe59428){ if(j<0){ j=-j; k=-k; } m=7.85398163397448278999e-01-j; n=3.06161699786838301793e-17-k; j=m+n; k=0; } m=j*j; n=m*m; var u=1.33333333333201242699e-01+n*(2.18694882948595424599e-02+n*(3.59207910759131235356e-03+ n*(5.88041240820264096874e-04+n*(7.81794442939557092300e-05+n*-1.85586374855275456654e-05)))); var q=m*(5.39682539762260521377e-02+n*(8.86323982359930005737e-03+n*(1.45620945432529025516e-03+ n*(2.46463134818469906812e-04+n*(7.14072491382608190305e-05+n*2.59073051863633712884e-05))))); var t=m*j; u=k+m*(t*(u+q)+k); u=u+3.33333333333334091986e-01*t; n=j+u; if(p>=0x3fe59428){ return(1-((o>>30)&2))* (l-2.0*(j-(n*n/(n+l)-u))); } if(l==1){ return n; }else{ m=%_ConstructDouble(%_DoubleHi(n),0); q=u-(m-j); var r=-1/n; var s=%_ConstructDouble(%_DoubleHi(r),0); t=1+s*m; return s+r*(t+s*q); } } function MathSinSlow(j){ var v,w,x; var o=%_DoubleHi(j); var p=o&0x7fffffff; if(p<0x4002d97c){ if(o>0){ var m=j-1.57079632673412561417; if(p!=0x3ff921fb){ w=m-6.07710050650619224932e-11; x=(m-w)-6.07710050650619224932e-11; }else{ m-=6.07710050630396597660e-11; w=m-2.02226624879595063154e-21; x=(m-w)-2.02226624879595063154e-21; } v=1; }else{ var m=j+1.57079632673412561417; if(p!=0x3ff921fb){ w=m+6.07710050650619224932e-11; x=(m-w)+6.07710050650619224932e-11; }else{ m+=6.07710050630396597660e-11; w=m+2.02226624879595063154e-21; x=(m-w)+2.02226624879595063154e-21; } v=-1; } }else if(p<=0x413921fb){ var s=e(j); v=(s*6.36619772367581382433e-01+0.5)|0; var u=s-v*1.57079632673412561417; var n=v*6.07710050650619224932e-11; w=u-n; if(p-(%_DoubleHi(w)&0x7ff00000)>0x1000000){ s=u; n=v*6.07710050630396597660e-11; u=s-n; n=v*2.02226624879595063154e-21-((s-u)-n); w=u-n; if(p-(%_DoubleHi(w)&0x7ff00000)>0x3100000){ s=u; n=v*2.02226624871116645580e-21; u=s-n; n=v*8.47842766036889956997e-32-((s-u)-n); w=u-n; } } x=(u-w)-n; if(o<0){ v=-v; w=-w; x=-x; } }else{ v=%RemPiO2(j,h); w=h[0]; x=h[1]; } ; var y=1-(v&2); if(v&1){ var p=%_DoubleHi(w)&0x7fffffff; var m=w*w; var u=m*(4.16666666666666019037e-02+m*(-1.38888888888741095749e-03+m*(2.48015872894767294178e-05+m*(-2.75573143513906633035e-07+m*(2.08757232129817482790e-09+m*-1.13596475577881948265e-11))))); if(p<0x3fd33333){ return(1-(0.5*m-(m*u-w*x)))*y; }else{ var z; if(p>0x3fe90000){ z=0.28125; }else{ z=%_ConstructDouble(%_DoubleHi(0.25*w),0); } var A=0.5*m-z; return(1-z-(A-(m*u-w*x)))*y; } ; }else{ var m=w*w; var q=m*w; var u=8.33333333332248946124e-03+m*(-1.98412698298579493134e-04+m*(2.75573137070700676789e-06+m*(-2.50507602534068634195e-08+m*1.58969099521155010221e-10))); return(w-((m*(0.5*x-q*u)-x)-q*-1.66666666666666324348e-01))*y; ; } } function MathCosSlow(j){ var v,w,x; var o=%_DoubleHi(j); var p=o&0x7fffffff; if(p<0x4002d97c){ if(o>0){ var m=j-1.57079632673412561417; if(p!=0x3ff921fb){ w=m-6.07710050650619224932e-11; x=(m-w)-6.07710050650619224932e-11; }else{ m-=6.07710050630396597660e-11; w=m-2.02226624879595063154e-21; x=(m-w)-2.02226624879595063154e-21; } v=1; }else{ var m=j+1.57079632673412561417; if(p!=0x3ff921fb){ w=m+6.07710050650619224932e-11; x=(m-w)+6.07710050650619224932e-11; }else{ m+=6.07710050630396597660e-11; w=m+2.02226624879595063154e-21; x=(m-w)+2.02226624879595063154e-21; } v=-1; } }else if(p<=0x413921fb){ var s=e(j); v=(s*6.36619772367581382433e-01+0.5)|0; var u=s-v*1.57079632673412561417; var n=v*6.07710050650619224932e-11; w=u-n; if(p-(%_DoubleHi(w)&0x7ff00000)>0x1000000){ s=u; n=v*6.07710050630396597660e-11; u=s-n; n=v*2.02226624879595063154e-21-((s-u)-n); w=u-n; if(p-(%_DoubleHi(w)&0x7ff00000)>0x3100000){ s=u; n=v*2.02226624871116645580e-21; u=s-n; n=v*8.47842766036889956997e-32-((s-u)-n); w=u-n; } } x=(u-w)-n; if(o<0){ v=-v; w=-w; x=-x; } }else{ v=%RemPiO2(j,h); w=h[0]; x=h[1]; } ; if(v&1){ var y=(v&2)-1; var m=w*w; var q=m*w; var u=8.33333333332248946124e-03+m*(-1.98412698298579493134e-04+m*(2.75573137070700676789e-06+m*(-2.50507602534068634195e-08+m*1.58969099521155010221e-10))); return(w-((m*(0.5*x-q*u)-x)-q*-1.66666666666666324348e-01))*y; ; }else{ var y=1-(v&2); var p=%_DoubleHi(w)&0x7fffffff; var m=w*w; var u=m*(4.16666666666666019037e-02+m*(-1.38888888888741095749e-03+m*(2.48015872894767294178e-05+m*(-2.75573143513906633035e-07+m*(2.08757232129817482790e-09+m*-1.13596475577881948265e-11))))); if(p<0x3fd33333){ return(1-(0.5*m-(m*u-w*x)))*y; }else{ var z; if(p>0x3fe90000){ z=0.28125; }else{ z=%_ConstructDouble(%_DoubleHi(0.25*w),0); } var A=0.5*m-z; return(1-z-(A-(m*u-w*x)))*y; } ; } } function MathSin(j){ j=+j; if((%_DoubleHi(j)&0x7fffffff)<=0x3fe921fb){ var m=j*j; var q=m*j; var u=8.33333333332248946124e-03+m*(-1.98412698298579493134e-04+m*(2.75573137070700676789e-06+m*(-2.50507602534068634195e-08+m*1.58969099521155010221e-10))); return(j-((m*(0.5*0-q*u)-0)-q*-1.66666666666666324348e-01)); ; } return+MathSinSlow(j); } function MathCos(j){ j=+j; if((%_DoubleHi(j)&0x7fffffff)<=0x3fe921fb){ var p=%_DoubleHi(j)&0x7fffffff; var m=j*j; var u=m*(4.16666666666666019037e-02+m*(-1.38888888888741095749e-03+m*(2.48015872894767294178e-05+m*(-2.75573143513906633035e-07+m*(2.08757232129817482790e-09+m*-1.13596475577881948265e-11))))); if(p<0x3fd33333){ return(1-(0.5*m-(m*u-j*0))); }else{ var z; if(p>0x3fe90000){ z=0.28125; }else{ z=%_ConstructDouble(%_DoubleHi(0.25*j),0); } var A=0.5*m-z; return(1-z-(A-(m*u-j*0))); } ; } return+MathCosSlow(j); } function MathTan(j){ j=j*1; if((%_DoubleHi(j)&0x7fffffff)<=0x3fe921fb){ return KernelTan(j,0,1); } var v,w,x; var o=%_DoubleHi(j); var p=o&0x7fffffff; if(p<0x4002d97c){ if(o>0){ var m=j-1.57079632673412561417; if(p!=0x3ff921fb){ w=m-6.07710050650619224932e-11; x=(m-w)-6.07710050650619224932e-11; }else{ m-=6.07710050630396597660e-11; w=m-2.02226624879595063154e-21; x=(m-w)-2.02226624879595063154e-21; } v=1; }else{ var m=j+1.57079632673412561417; if(p!=0x3ff921fb){ w=m+6.07710050650619224932e-11; x=(m-w)+6.07710050650619224932e-11; }else{ m+=6.07710050630396597660e-11; w=m+2.02226624879595063154e-21; x=(m-w)+2.02226624879595063154e-21; } v=-1; } }else if(p<=0x413921fb){ var s=e(j); v=(s*6.36619772367581382433e-01+0.5)|0; var u=s-v*1.57079632673412561417; var n=v*6.07710050650619224932e-11; w=u-n; if(p-(%_DoubleHi(w)&0x7ff00000)>0x1000000){ s=u; n=v*6.07710050630396597660e-11; u=s-n; n=v*2.02226624879595063154e-21-((s-u)-n); w=u-n; if(p-(%_DoubleHi(w)&0x7ff00000)>0x3100000){ s=u; n=v*2.02226624871116645580e-21; u=s-n; n=v*8.47842766036889956997e-32-((s-u)-n); w=u-n; } } x=(u-w)-n; if(o<0){ v=-v; w=-w; x=-x; } }else{ v=%RemPiO2(j,h); w=h[0]; x=h[1]; } ; return KernelTan(w,x,(v&1)?-1:1); } function MathLog1p(j){ j=j*1; var o=%_DoubleHi(j); var B=o&0x7fffffff; var C=1; var D=j; var E=1; var F=0; var G=j; if(o<0x3fda827a){ if(B>=0x3ff00000){ if(j===-1){ return-(1/0); }else{ return g; } }else if(B<0x3c900000){ return j; }else if(B<0x3e200000){ return j-j*j*0.5; } if((o>0)||(o<=-0x402D413D)){ C=0; } } if(o>=0x7ff00000)return j; if(C!==0){ if(o<0x43400000){ G=1+j; E=%_DoubleHi(G); C=(E>>20)-1023; F=(C>0)?1-(G-j):j-(G-1); F=F/G; }else{ E=%_DoubleHi(G); C=(E>>20)-1023; } E=E&0xfffff; if(E<0x6a09e){ G=%_ConstructDouble(E|0x3ff00000,%_DoubleLo(G)); }else{ ++C; G=%_ConstructDouble(E|0x3fe00000,%_DoubleLo(G)); E=(0x00100000-E)>>2; } D=G-1; } var H=0.5*D*D; if(E===0){ if(D===0){ if(C===0){ return 0.0; }else{ return C*6.93147180369123816490e-01+(F+C*1.90821492927058770002e-10); } } var I=H*(1-6.666666666666666666e-01*D); if(C===0){ return D-I; }else{ return C*6.93147180369123816490e-01-((I-(C*1.90821492927058770002e-10+F))-D); } } var t=D/(2+D); var m=t*t; var I=m*(6.666666666666735130e-01+m*(3.999999999940941908e-01+m*(2.857142874366239149e-01+m*(2.222219843214978396e-01+ m*(1.818357216161805012e-01+m*(1.531383769920937332e-01+m*1.479819860511658591e-01)))))); if(C===0){ return D-(H-t*(H+I)); }else{ return C*6.93147180369123816490e-01-((H-(t*(H+I)+(C*1.90821492927058770002e-10+F)))-D); } } function MathExpm1(j){ j=j*1; var k; var J; var K; var C; var s; var F; var o=%_DoubleHi(j); var L=o&0x80000000; var k=(L===0)?j:-j; o&=0x7fffffff; if(o>=0x4043687a){ if(o>=0x40862e42){ if(o>=0x7ff00000){ return(j===-(1/0))?-1:j; } if(j>7.09782712893383973096e+02)return(1/0); } if(L!=0)return-1; } if(o>0x3fd62e42){ if(o<0x3ff0a2b2){ if(L===0){ J=j-6.93147180369123816490e-01; K=1.90821492927058770002e-10; C=1; }else{ J=j+6.93147180369123816490e-01; K=-1.90821492927058770002e-10; C=-1; } }else{ C=(1.44269504088896338700*j+((L===0)?0.5:-0.5))|0; s=C; J=j-s*6.93147180369123816490e-01; K=s*1.90821492927058770002e-10; } j=J-K; F=(J-j)-K; }else if(o<0x3c900000){ return j; }else{ C=0; } var M=0.5*j; var N=j*M; var O=1+N*(-3.33333333333331316428e-02+N*(1.58730158725481460165e-03+N* (-7.93650757867487942473e-05+N*(4.00821782732936239552e-06+N*-2.01099218183624371326e-07)))); s=3-O*M; var P=N*((O-s)/(6-j*s)); if(C===0){ return j-(j*P-N); }else{ P=(j*(P-F)-F); P-=N; if(C===-1)return 0.5*(j-P)-0.5; if(C===1){ if(j<-0.25)return-2*(P-(j+0.5)); return 1+2*(j-P); } if(C<=-2||C>56){ k=1-(P-j); k=%_ConstructDouble(%_DoubleHi(k)+(C<<20),%_DoubleLo(k)); return k-1; } if(C<20){ s=%_ConstructDouble(0x3ff00000-(0x200000>>C),0); k=s-(P-j); k=%_ConstructDouble(%_DoubleHi(k)+(C<<20),%_DoubleLo(k)); }else{ s=%_ConstructDouble((0x3ff-C)<<20,0); k=j-(P+s); k+=1; k=%_ConstructDouble(%_DoubleHi(k)+(C<<20),%_DoubleLo(k)); } } return k; } function MathSinh(j){ j=j*1; var Q=(j<0)?-0.5:0.5; var B=e(j); if(B<22){ if(B<3.725290298461914e-9)return j; var s=MathExpm1(B); if(B<1)return Q*(2*s-s*s/(s+1)); return Q*(s+s/(s+1)); } if(B<709.7822265625)return Q*f(B); if(B<=710.4758600739439){ var n=f(0.5*B); var s=Q*n; return s*n; } return j*(1/0); } function MathCosh(j){ j=j*1; var p=%_DoubleHi(j)&0x7fffffff; if(p<0x3fd62e43){ var s=MathExpm1(e(j)); var n=1+s; if(p<0x3c800000)return n; return 1+(s*s)/(n+n); } if(p<0x40360000){ var s=f(e(j)); return 0.5*s+0.5/s; } if(p<0x40862e42)return 0.5*f(e(j)); if(e(j)<=710.4758600739439){ var n=f(0.5*e(j)); var s=0.5*n; return s*n; } if((!%_IsSmi(%IS_VAR(j))&&!(j==j)))return j; return(1/0); } function MathTanh(j){ j=j*1; if(!(%_IsSmi(%IS_VAR(j))||((j==j)&&(j!=1/0)&&(j!=-1/0)))){ if(j>0)return 1; if(j<0)return-1; return j; } var B=e(j); var m; if(B<22){ if(B<2.77555756156289135105e-17){ return j; } if(B>=1){ var s=MathExpm1(2*B); m=1-2/(s+2); }else{ var s=MathExpm1(-2*B); m=-s/(s+2); } }else{ m=1; } return(j>=0)?m:-m; } function MathLog10(j){ j=j*1; var o=%_DoubleHi(j); var R=%_DoubleLo(j); var C=0; if(o<0x00100000){ if(((o&0x7fffffff)|R)===0)return-(1/0); if(o<0)return g; C-=54; j*=18014398509481984; o=%_DoubleHi(j); R=%_DoubleLo(j); } if(o>=0x7ff00000)return j; C+=(o>>20)-1023; var S=(C&0x80000000)>>>31; o=(o&0x000fffff)|((0x3ff-S)<<20); var k=C+S; j=%_ConstructDouble(o,R); var m=k*3.69423907715893078616e-13+4.34294481903251816668e-01*%_MathLogRT(j); return m+k*3.01029995663611771306e-01; } function MathLog2(j){ j=j*1; var B=e(j); var o=%_DoubleHi(j); var R=%_DoubleLo(j); var p=o&0x7fffffff; if((p|R)==0)return-(1/0); if(o<0)return g; if(p>=0x7ff00000)return j; var v=0; if(p<0x00100000){ B*=9007199254740992; v-=53; p=%_DoubleHi(B); } v+=(p>>20)-0x3ff; var T=p&0x000fffff; p=T|0x3ff00000; var U=1; var V=0; var W=0; if(T>0x3988e){ if(T<0xbb67a){ U=1.5; V=5.84962487220764160156e-01; W=1.35003920212974897128e-08; }else{ v+=1; p-=0x00100000; } } B=%_ConstructDouble(p,%_DoubleLo(B)); var G=B-U; var q=1/(B+U); var X=G*q; var Y=%_ConstructDouble(%_DoubleHi(X),0); var Z=%_ConstructDouble(%_DoubleHi(B+U),0) var aa=B-(Z-U); var ab=q*((G-Y*Z)-Y*aa); var ac=X*X; var u=ac*ac*(5.99999999999994648725e-01+ac*(4.28571428578550184252e-01+ac*(3.33333329818377432918e-01+ac*( 2.72728123808534006489e-01+ac*(2.30660745775561754067e-01+ac*2.06975017800338417784e-01))))); u+=ab*(Y+X); ac=Y*Y; Z=%_ConstructDouble(%_DoubleHi(3.0+ac+u),0); aa=u-((Z-3.0)-ac); G=Y*Z; q=ab*Z+aa*X; var ad=%_ConstructDouble(%_DoubleHi(G+q),0); var ae=q-(ad-G); var af=9.61796700954437255859e-01*ad; var ag=-7.02846165095275826516e-09*ad+ae*9.61796693925975554329e-01+W; var s=v; var ah=%_ConstructDouble(%_DoubleHi(((af+ag)+V)+s),0); var ai=ag-(((ah-s)-V)-af); return ah+ai; } b.InstallFunctions(d,2,[ "cos",MathCos, "sin",MathSin, "tan",MathTan, "sinh",MathSinh, "cosh",MathCosh, "tanh",MathTanh, "log10",MathLog10, "log2",MathLog2, "log1p",MathLog1p, "expm1",MathExpm1 ]); %SetForceInlineFlag(MathSin); %SetForceInlineFlag(MathCos); }) regexp? (function(a,b){ %CheckIsBootstrapping(); var c; var d=a.Object; var e=a.RegExp; var f; var g=b.InternalArray; var h=b.InternalPackedArray; var i; var j=b.ImportNow("match_symbol"); var k=b.ImportNow("search_symbol"); var l=b.ImportNow("split_symbol"); b.ImportFromExperimental(function(m){ c=m.FLAG_harmony_tolength; }); b.Import(function(m){ i=m.MakeTypeError; }); var n=new h( 2, "", (void 0), 0, 0 ); function IsRegExp(o){ if(!(%_IsJSReceiver(o)))return false; var p=o[j]; if(!(p===(void 0)))return(!!(p)); return(%_IsRegExp(o)); } function RegExpInitialize(q,r,s){ r=(r===(void 0))?'':(%_ToString(r)); s=(s===(void 0))?'':(%_ToString(s)); %RegExpInitializeAndCompile(q,r,s); return q; } function PatternFlags(r){ return((%_RegExpFlags(r)&1)?'g':'')+ ((%_RegExpFlags(r)&2)?'i':'')+ ((%_RegExpFlags(r)&4)?'m':'')+ ((%_RegExpFlags(r)&16)?'u':'')+ ((%_RegExpFlags(r)&8)?'y':''); } function RegExpConstructor(r,s){ var t=new.target; var u=IsRegExp(r); if((t===(void 0))){ t=e; if(u&&(s===(void 0))&& r.constructor===t){ return r; } } if((%_IsRegExp(r))){ if((s===(void 0)))s=PatternFlags(r); r=(%_RegExpSource(r)); }else if(u){ var v=r; r=r.source; if((s===(void 0)))s=v.flags; } var q=%NewObject(e,t); return RegExpInitialize(q,r,s); } function RegExpCompileJS(r,s){ if(!(%_IsRegExp(this))){ throw i(42, "RegExp.prototype.compile",this); } if((%_IsRegExp(r))){ if(!(s===(void 0)))throw i(129); s=PatternFlags(r); r=(%_RegExpSource(r)); } RegExpInitialize(this,r,s); } function DoRegExpExec(w,x,y){ return %_RegExpExec(w,x,y,n); } function RegExpExecNoTests(w,x,z){ var A=%_RegExpExec(w,x,z,n); if(A!==null){ if((%_RegExpFlags(w)&8))w.lastIndex=A[4]; var B=((A)[0])>>1; var z=A[3]; var C=A[4]; var D=%_SubString(x,z,C); var E=%_RegExpConstructResult(B,z,x); E[0]=D; if(B==1)return E; var F=3+2; for(var G=1;G<B;G++){ z=A[F++]; if(z!=-1){ C=A[F]; E[G]=%_SubString(x,z,C); } F++; } return E; ; } w.lastIndex=0; return null; } function RegExpExecJS(x){ if(!(%_IsRegExp(this))){ throw i(42, 'RegExp.prototype.exec',this); } x=(%_ToString(x)); var H=this.lastIndex; var G=(c?(%_ToLength(H)):(%_ToInteger(H))); var I=(%_RegExpFlags(this)&1)||(%_RegExpFlags(this)&8); if(I){ if(G<0||G>x.length){ this.lastIndex=0; return null; } }else{ G=0; } var J=%_RegExpExec(this,x,G,n); if((J===null)){ this.lastIndex=0; return null; } if(I){ this.lastIndex=n[4]; } var B=((J)[0])>>1; var z=J[3]; var C=J[4]; var D=%_SubString(x,z,C); var E=%_RegExpConstructResult(B,z,x); E[0]=D; if(B==1)return E; var F=3+2; for(var G=1;G<B;G++){ z=J[F++]; if(z!=-1){ C=J[F]; E[G]=%_SubString(x,z,C); } F++; } return E; ; } var K; var L; function RegExpTest(x){ if(!(%_IsRegExp(this))){ throw i(42, 'RegExp.prototype.test',this); } x=(%_ToString(x)); var H=this.lastIndex; var G=(c?(%_ToLength(H)):(%_ToInteger(H))); if((%_RegExpFlags(this)&1)||(%_RegExpFlags(this)&8)){ if(G<0||G>x.length){ this.lastIndex=0; return false; } var J=%_RegExpExec(this,x,G,n); if((J===null)){ this.lastIndex=0; return false; } this.lastIndex=n[4]; return true; }else{ var w=this; var M=(%_RegExpSource(w)); if(w.length>=3&& %_StringCharCodeAt(w,0)==46&& %_StringCharCodeAt(w,1)==42&& %_StringCharCodeAt(w,2)!=63){ w=TrimRegExp(w); } var J=%_RegExpExec(w,x,0,n); if((J===null)){ this.lastIndex=0; return false; } return true; } } function TrimRegExp(w){ if(!%_ObjectEquals(K,w)){ K=w; L= new e( %_SubString((%_RegExpSource(w)),2,(%_RegExpSource(w)).length), ((%_RegExpFlags(w)&2)?(%_RegExpFlags(w)&4)?"im":"i" :(%_RegExpFlags(w)&4)?"m":"")); } return L; } function RegExpToString(){ if(!(%_IsRegExp(this))){ if(this===f){ %IncrementUseCounter(12); return'/(?:)/'; } throw i(42, 'RegExp.prototype.toString',this); } var E='/'+(%_RegExpSource(this))+'/'; if((%_RegExpFlags(this)&1))E+='g'; if((%_RegExpFlags(this)&2))E+='i'; if((%_RegExpFlags(this)&4))E+='m'; if((%_RegExpFlags(this)&16))E+='u'; if((%_RegExpFlags(this)&8))E+='y'; return E; } function RegExpSplit(x,N){ if(!(%_IsRegExp(this))){ throw i(42, "RegExp.prototype.@@split",this); } var O=this; var P=(%_ToString(x)); N=((N===(void 0)))?4294967295:((N)>>>0); var Q=P.length; if(N===0)return[]; if(Q===0){ if(DoRegExpExec(O,P,0,0)!==null)return[]; return[P]; } var R=0; var S=0; var T=0; var E=new g(); outer_loop: while(true){ if(S===Q){ E[E.length]=%_SubString(P,R,Q); break; } var A=DoRegExpExec(O,P,S); if(A===null||Q===(T=A[3])){ E[E.length]=%_SubString(P,R,Q); break; } var U=A[4]; if(S===U&&U===R){ S++; continue; } E[E.length]=%_SubString(P,R,T); if(E.length===N)break; var V=((A)[0])+3; for(var G=3+2;G<V;){ var z=A[G++]; var C=A[G++]; if(C!=-1){ E[E.length]=%_SubString(P,z,C); }else{ E[E.length]=(void 0); } if(E.length===N)break outer_loop; } S=R=U; } var W=[]; %MoveArrayContents(E,W); return W; } function RegExpMatch(x){ if(!(%_IsRegExp(this))){ throw i(42, "RegExp.prototype.@@match",this); } var P=(%_ToString(x)); if(!(%_RegExpFlags(this)&1))return RegExpExecNoTests(this,P,0); this.lastIndex=0; var E=%StringMatch(P,this,n); return E; } function RegExpSearch(x){ if(!(%_IsRegExp(this))){ throw i(42, "RegExp.prototype.@@search",this); } var X=DoRegExpExec(this,(%_ToString(x)),0); if(X)return X[3]; return-1; } function RegExpGetLastMatch(){ var Y=((n)[1]); return %_SubString(Y, n[3], n[4]); } function RegExpGetLastParen(){ var Q=((n)[0]); if(Q<=2)return''; var Y=((n)[1]); var z=n[(3+(Q-2))]; var C=n[(3+(Q-1))]; if(z!=-1&&C!=-1){ return %_SubString(Y,z,C); } return""; } function RegExpGetLeftContext(){ var Z; var P; Z=n[3]; P=((n)[1]); return %_SubString(P,0,Z); } function RegExpGetRightContext(){ var Z; var P; Z=n[4]; P=((n)[1]); return %_SubString(P,Z,P.length); } function RegExpMakeCaptureGetter(aa){ return function foo(){ var y=aa*2; if(y>=((n)[0]))return''; var ab=n[(3+(y))]; var ac=n[(3+(y+1))]; if(ab==-1||ac==-1)return''; return %_SubString(((n)[1]),ab,ac); }; } function RegExpGetGlobal(){ if(!(%_IsRegExp(this))){ if(this===f){ return(void 0); } throw i(131,"RegExp.prototype.global"); } return!!(%_RegExpFlags(this)&1); } %FunctionSetName(RegExpGetGlobal,"RegExp.prototype.global"); %SetNativeFlag(RegExpGetGlobal); function RegExpGetIgnoreCase(){ if(!(%_IsRegExp(this))){ if(this===f){ return(void 0); } throw i(131,"RegExp.prototype.ignoreCase"); } return!!(%_RegExpFlags(this)&2); } %FunctionSetName(RegExpGetIgnoreCase,"RegExp.prototype.ignoreCase"); %SetNativeFlag(RegExpGetIgnoreCase); function RegExpGetMultiline(){ if(!(%_IsRegExp(this))){ if(this===f){ return(void 0); } throw i(131,"RegExp.prototype.multiline"); } return!!(%_RegExpFlags(this)&4); } %FunctionSetName(RegExpGetMultiline,"RegExp.prototype.multiline"); %SetNativeFlag(RegExpGetMultiline); function RegExpGetSource(){ if(!(%_IsRegExp(this))){ if(this===f){ return(void 0); } throw i(131,"RegExp.prototype.source"); } return(%_RegExpSource(this)); } %FunctionSetName(RegExpGetSource,"RegExp.prototype.source"); %SetNativeFlag(RegExpGetSource); %FunctionSetInstanceClassName(e,'RegExp'); f=new d(); %FunctionSetPrototype(e,f); %AddNamedProperty( e.prototype,'constructor',e,2); %SetCode(e,RegExpConstructor); b.InstallFunctions(e.prototype,2,[ "exec",RegExpExecJS, "test",RegExpTest, "toString",RegExpToString, "compile",RegExpCompileJS, j,RegExpMatch, k,RegExpSearch, l,RegExpSplit, ]); b.InstallGetter(e.prototype,'global',RegExpGetGlobal); b.InstallGetter(e.prototype,'ignoreCase',RegExpGetIgnoreCase); b.InstallGetter(e.prototype,'multiline',RegExpGetMultiline); b.InstallGetter(e.prototype,'source',RegExpGetSource); %FunctionSetLength(e.prototype.compile,1); var ad=function(){ var ae=((n)[2]); return(ae===(void 0))?"":ae; }; var af=function(x){ ((n)[2])=(%_ToString(x)); }; %OptimizeObjectForAddingMultipleProperties(e,22); b.InstallGetterSetter(e,'input',ad,af, 4); b.InstallGetterSetter(e,'$_',ad,af, 2|4); var ag=function(ah){}; b.InstallGetterSetter(e,'lastMatch',RegExpGetLastMatch, ag,4); b.InstallGetterSetter(e,'$&',RegExpGetLastMatch,ag, 2|4); b.InstallGetterSetter(e,'lastParen',RegExpGetLastParen, ag,4); b.InstallGetterSetter(e,'$+',RegExpGetLastParen,ag, 2|4); b.InstallGetterSetter(e,'leftContext',RegExpGetLeftContext, ag,4); b.InstallGetterSetter(e,'$`',RegExpGetLeftContext,ag, 2|4); b.InstallGetterSetter(e,'rightContext',RegExpGetRightContext, ag,4); b.InstallGetterSetter(e,"$'",RegExpGetRightContext,ag, 2|4); for(var G=1;G<10;++G){ b.InstallGetterSetter(e,'$'+G,RegExpMakeCaptureGetter(G), ag,4); } %ToFastProperties(e); b.Export(function(ai){ ai.RegExpExec=DoRegExpExec; ai.RegExpExecNoTests=RegExpExecNoTests; ai.RegExpLastMatchInfo=n; ai.RegExpTest=RegExpTest; }); }) ,arraybuffer? (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=a.ArrayBuffer; var d; var e; var f; var g; b.Import(function(h){ d=h.MakeTypeError; e=h.MaxSimple; f=h.MinSimple; g=h.SpeciesConstructor; }); function ArrayBufferGetByteLen(){ if(!(%_ClassOf(this)==='ArrayBuffer')){ throw d(42, 'ArrayBuffer.prototype.byteLength',this); } return %_ArrayBufferGetByteLength(this); } function ArrayBufferSlice(i,j){ if(!(%_ClassOf(this)==='ArrayBuffer')){ throw d(42, 'ArrayBuffer.prototype.slice',this); } var k=(%_ToInteger(i)); if(!(j===(void 0))){ j=(%_ToInteger(j)); } var l; var m=%_ArrayBufferGetByteLength(this); if(k<0){ l=e(m+k,0); }else{ l=f(k,m); } var n=(j===(void 0))?m:j; var o; if(n<0){ o=e(m+n,0); }else{ o=f(n,m); } if(o<l){ o=l; } var p=o-l; var q=g(this,c,true); var r=new q(p); if(!(%_ClassOf(r)==='ArrayBuffer')){ throw d(42, 'ArrayBuffer.prototype.slice',r); } if(r===this){ throw d(11); } if(%_ArrayBufferGetByteLength(r)<p){ throw d(10); } %ArrayBufferSliceImpl(this,r,l,p); return r; } b.InstallGetter(c.prototype,"byteLength", ArrayBufferGetByteLen); b.InstallFunctions(c.prototype,2,[ "slice",ArrayBufferSlice ]); }) (typedarrayz? (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c; var d; var e; var f=a.Array; var g=a.ArrayBuffer; var h=a.DataView; var i=a.Object; var j=b.InternalArray; var k; var l; var m; var n; var o; var p; var q; var r; var s; var t; var u; var v; var w; var x; var y; var z; var j=b.InternalArray; var A; var B; var C; var D; var E; var F; var G; var H; var I=b.ImportNow("iterator_symbol"); var J=b.ImportNow("to_string_tag_symbol"); var K=a.Uint8Array; var L=a.Int8Array; var M=a.Uint16Array; var N=a.Int16Array; var O=a.Uint32Array; var P=a.Int32Array; var Q=a.Float32Array; var R=a.Float64Array; var S=a.Uint8ClampedArray; b.Import(function(T){ c=T.ArrayFrom; d=T.ArrayToString; e=T.ArrayValues; k=T.InnerArrayCopyWithin; l=T.InnerArrayEvery; m=T.InnerArrayFill; n=T.InnerArrayFilter; o=T.InnerArrayFind; p=T.InnerArrayFindIndex; q=T.InnerArrayForEach; r=T.InnerArrayIncludes; s=T.InnerArrayIndexOf; t=T.InnerArrayJoin; u=T.InnerArrayLastIndexOf; v=T.InnerArrayReduce; w=T.InnerArrayReduceRight; x=T.InnerArraySome; y=T.InnerArraySort; z=T.InnerArrayToLocaleString; A=T.IsNaN; B=T.MakeRangeError; C=T.MakeTypeError; D=T.MaxSimple; E=T.MinSimple; F=T.PackedArrayReverse; G=T.SpeciesConstructor; H=T.ToPositiveInteger; }); function TypedArrayDefaultConstructor(U){ switch(%_ClassOf(U)){ case"Uint8Array": return K; case"Int8Array": return L; case"Uint16Array": return M; case"Int16Array": return N; case"Uint32Array": return O; case"Int32Array": return P; case"Float32Array": return Q; case"Float64Array": return R; case"Uint8ClampedArray": return S; } throw C(42, "TypedArrayDefaultConstructor",this); } function TypedArrayCreate(V,W,X,Y){ if((X===(void 0))){ var Z=new V(W); }else{ var Z=new V(W,X,Y); } if(!%_IsTypedArray(Z))throw C(68); if((typeof(W)==='number')&&%_TypedArrayGetLength(Z)<W){ throw C(265); } return Z; } function TypedArraySpeciesCreate(aa,W,X,Y,ab){ var ac=TypedArrayDefaultConstructor(aa); var V=G(aa,ac, ab); return TypedArrayCreate(V,W,X,Y); } function Uint8ArrayConstructByArrayBuffer(ad,ae,af,ag){ if(!(af===(void 0))){ af=H(af,180); } if(!(ag===(void 0))){ ag=H(ag,180); } var ah=%_ArrayBufferGetByteLength(ae); var ai; if((af===(void 0))){ ai=0; }else{ ai=af; if(ai % 1!==0){ throw B(179, "start offset","Uint8Array",1); } if(ai>ah){ throw B(181); } } var aj; var ak; if((ag===(void 0))){ if(ah % 1!==0){ throw B(179, "byte length","Uint8Array",1); } aj=ah-ai; ak=aj/1; }else{ var ak=ag; aj=ak*1; } if((ai+aj>ah) ||(ak>%_MaxSmi())){ throw B(180); } %_TypedArrayInitialize(ad,1,ae,ai,aj,true); } function Uint8ArrayConstructByLength(ad,ag){ var al=(ag===(void 0))? 0:H(ag,180); if(al>%_MaxSmi()){ throw B(180); } var am=al*1; if(am>%_TypedArrayMaxSizeInHeap()){ var ae=new g(am); %_TypedArrayInitialize(ad,1,ae,0,am,true); }else{ %_TypedArrayInitialize(ad,1,null,0,am,true); } } function Uint8ArrayConstructByArrayLike(ad,an){ var ag=an.length; var al=H(ag,180); if(al>%_MaxSmi()){ throw B(180); } var ao=false; var am=al*1; if(am<=%_TypedArrayMaxSizeInHeap()){ %_TypedArrayInitialize(ad,1,null,0,am,false); }else{ ao= %TypedArrayInitializeFromArrayLike(ad,1,an,al); } if(!ao){ for(var ap=0;ap<al;ap++){ ad[ap]=an[ap]; } } } function Uint8ArrayConstructByIterable(ad,aq,ar){ var as=new j(); var at=%_Call(ar,aq); var au={ __proto__:null }; au[I]=function(){return at;} for(var av of au){ as.push(av); } Uint8ArrayConstructByArrayLike(ad,as); } function Uint8ArrayConstructor(X,Y,aw){ if(!(new.target===(void 0))){ if((%_ClassOf(X)==='ArrayBuffer')||(%_ClassOf(X)==='SharedArrayBuffer')){ Uint8ArrayConstructByArrayBuffer(this,X,Y,aw); }else if((typeof(X)==='number')||(typeof(X)==='string')|| (typeof(X)==='boolean')||(X===(void 0))){ Uint8ArrayConstructByLength(this,X); }else{ var ar=X[I]; if((ar===(void 0))||ar===e){ Uint8ArrayConstructByArrayLike(this,X); }else{ Uint8ArrayConstructByIterable(this,X,ar); } } }else{ throw C(26,"Uint8Array") } } function Uint8Array_GetLength(){ if(!(%_ClassOf(this)==='Uint8Array')){ throw C(42,"Uint8Array.length",this); } return %_TypedArrayGetLength(this); } function Uint8ArraySubArray(ax,ay){ var az=(%_ToInteger(ax)); if(!(ay===(void 0))){ var aA=(%_ToInteger(ay)); var aB=%_TypedArrayGetLength(this); }else{ var aB=%_TypedArrayGetLength(this); var aA=aB; } if(az<0){ az=D(0,aB+az); }else{ az=E(az,aB); } if(aA<0){ aA=D(0,aB+aA); }else{ aA=E(aA,aB); } if(aA<az){ aA=az; } var ak=aA-az; var aC= %_ArrayBufferViewGetByteOffset(this)+az*1; return TypedArraySpeciesCreate(this,%TypedArrayGetBuffer(this), aC,ak,true); } function Int8ArrayConstructByArrayBuffer(ad,ae,af,ag){ if(!(af===(void 0))){ af=H(af,180); } if(!(ag===(void 0))){ ag=H(ag,180); } var ah=%_ArrayBufferGetByteLength(ae); var ai; if((af===(void 0))){ ai=0; }else{ ai=af; if(ai % 1!==0){ throw B(179, "start offset","Int8Array",1); } if(ai>ah){ throw B(181); } } var aj; var ak; if((ag===(void 0))){ if(ah % 1!==0){ throw B(179, "byte length","Int8Array",1); } aj=ah-ai; ak=aj/1; }else{ var ak=ag; aj=ak*1; } if((ai+aj>ah) ||(ak>%_MaxSmi())){ throw B(180); } %_TypedArrayInitialize(ad,2,ae,ai,aj,true); } function Int8ArrayConstructByLength(ad,ag){ var al=(ag===(void 0))? 0:H(ag,180); if(al>%_MaxSmi()){ throw B(180); } var am=al*1; if(am>%_TypedArrayMaxSizeInHeap()){ var ae=new g(am); %_TypedArrayInitialize(ad,2,ae,0,am,true); }else{ %_TypedArrayInitialize(ad,2,null,0,am,true); } } function Int8ArrayConstructByArrayLike(ad,an){ var ag=an.length; var al=H(ag,180); if(al>%_MaxSmi()){ throw B(180); } var ao=false; var am=al*1; if(am<=%_TypedArrayMaxSizeInHeap()){ %_TypedArrayInitialize(ad,2,null,0,am,false); }else{ ao= %TypedArrayInitializeFromArrayLike(ad,2,an,al); } if(!ao){ for(var ap=0;ap<al;ap++){ ad[ap]=an[ap]; } } } function Int8ArrayConstructByIterable(ad,aq,ar){ var as=new j(); var at=%_Call(ar,aq); var au={ __proto__:null }; au[I]=function(){return at;} for(var av of au){ as.push(av); } Int8ArrayConstructByArrayLike(ad,as); } function Int8ArrayConstructor(X,Y,aw){ if(!(new.target===(void 0))){ if((%_ClassOf(X)==='ArrayBuffer')||(%_ClassOf(X)==='SharedArrayBuffer')){ Int8ArrayConstructByArrayBuffer(this,X,Y,aw); }else if((typeof(X)==='number')||(typeof(X)==='string')|| (typeof(X)==='boolean')||(X===(void 0))){ Int8ArrayConstructByLength(this,X); }else{ var ar=X[I]; if((ar===(void 0))||ar===e){ Int8ArrayConstructByArrayLike(this,X); }else{ Int8ArrayConstructByIterable(this,X,ar); } } }else{ throw C(26,"Int8Array") } } function Int8Array_GetLength(){ if(!(%_ClassOf(this)==='Int8Array')){ throw C(42,"Int8Array.length",this); } return %_TypedArrayGetLength(this); } function Int8ArraySubArray(ax,ay){ var az=(%_ToInteger(ax)); if(!(ay===(void 0))){ var aA=(%_ToInteger(ay)); var aB=%_TypedArrayGetLength(this); }else{ var aB=%_TypedArrayGetLength(this); var aA=aB; } if(az<0){ az=D(0,aB+az); }else{ az=E(az,aB); } if(aA<0){ aA=D(0,aB+aA); }else{ aA=E(aA,aB); } if(aA<az){ aA=az; } var ak=aA-az; var aC= %_ArrayBufferViewGetByteOffset(this)+az*1; return TypedArraySpeciesCreate(this,%TypedArrayGetBuffer(this), aC,ak,true); } function Uint16ArrayConstructByArrayBuffer(ad,ae,af,ag){ if(!(af===(void 0))){ af=H(af,180); } if(!(ag===(void 0))){ ag=H(ag,180); } var ah=%_ArrayBufferGetByteLength(ae); var ai; if((af===(void 0))){ ai=0; }else{ ai=af; if(ai % 2!==0){ throw B(179, "start offset","Uint16Array",2); } if(ai>ah){ throw B(181); } } var aj; var ak; if((ag===(void 0))){ if(ah % 2!==0){ throw B(179, "byte length","Uint16Array",2); } aj=ah-ai; ak=aj/2; }else{ var ak=ag; aj=ak*2; } if((ai+aj>ah) ||(ak>%_MaxSmi())){ throw B(180); } %_TypedArrayInitialize(ad,3,ae,ai,aj,true); } function Uint16ArrayConstructByLength(ad,ag){ var al=(ag===(void 0))? 0:H(ag,180); if(al>%_MaxSmi()){ throw B(180); } var am=al*2; if(am>%_TypedArrayMaxSizeInHeap()){ var ae=new g(am); %_TypedArrayInitialize(ad,3,ae,0,am,true); }else{ %_TypedArrayInitialize(ad,3,null,0,am,true); } } function Uint16ArrayConstructByArrayLike(ad,an){ var ag=an.length; var al=H(ag,180); if(al>%_MaxSmi()){ throw B(180); } var ao=false; var am=al*2; if(am<=%_TypedArrayMaxSizeInHeap()){ %_TypedArrayInitialize(ad,3,null,0,am,false); }else{ ao= %TypedArrayInitializeFromArrayLike(ad,3,an,al); } if(!ao){ for(var ap=0;ap<al;ap++){ ad[ap]=an[ap]; } } } function Uint16ArrayConstructByIterable(ad,aq,ar){ var as=new j(); var at=%_Call(ar,aq); var au={ __proto__:null }; au[I]=function(){return at;} for(var av of au){ as.push(av); } Uint16ArrayConstructByArrayLike(ad,as); } function Uint16ArrayConstructor(X,Y,aw){ if(!(new.target===(void 0))){ if((%_ClassOf(X)==='ArrayBuffer')||(%_ClassOf(X)==='SharedArrayBuffer')){ Uint16ArrayConstructByArrayBuffer(this,X,Y,aw); }else if((typeof(X)==='number')||(typeof(X)==='string')|| (typeof(X)==='boolean')||(X===(void 0))){ Uint16ArrayConstructByLength(this,X); }else{ var ar=X[I]; if((ar===(void 0))||ar===e){ Uint16ArrayConstructByArrayLike(this,X); }else{ Uint16ArrayConstructByIterable(this,X,ar); } } }else{ throw C(26,"Uint16Array") } } function Uint16Array_GetLength(){ if(!(%_ClassOf(this)==='Uint16Array')){ throw C(42,"Uint16Array.length",this); } return %_TypedArrayGetLength(this); } function Uint16ArraySubArray(ax,ay){ var az=(%_ToInteger(ax)); if(!(ay===(void 0))){ var aA=(%_ToInteger(ay)); var aB=%_TypedArrayGetLength(this); }else{ var aB=%_TypedArrayGetLength(this); var aA=aB; } if(az<0){ az=D(0,aB+az); }else{ az=E(az,aB); } if(aA<0){ aA=D(0,aB+aA); }else{ aA=E(aA,aB); } if(aA<az){ aA=az; } var ak=aA-az; var aC= %_ArrayBufferViewGetByteOffset(this)+az*2; return TypedArraySpeciesCreate(this,%TypedArrayGetBuffer(this), aC,ak,true); } function Int16ArrayConstructByArrayBuffer(ad,ae,af,ag){ if(!(af===(void 0))){ af=H(af,180); } if(!(ag===(void 0))){ ag=H(ag,180); } var ah=%_ArrayBufferGetByteLength(ae); var ai; if((af===(void 0))){ ai=0; }else{ ai=af; if(ai % 2!==0){ throw B(179, "start offset","Int16Array",2); } if(ai>ah){ throw B(181); } } var aj; var ak; if((ag===(void 0))){ if(ah % 2!==0){ throw B(179, "byte length","Int16Array",2); } aj=ah-ai; ak=aj/2; }else{ var ak=ag; aj=ak*2; } if((ai+aj>ah) ||(ak>%_MaxSmi())){ throw B(180); } %_TypedArrayInitialize(ad,4,ae,ai,aj,true); } function Int16ArrayConstructByLength(ad,ag){ var al=(ag===(void 0))? 0:H(ag,180); if(al>%_MaxSmi()){ throw B(180); } var am=al*2; if(am>%_TypedArrayMaxSizeInHeap()){ var ae=new g(am); %_TypedArrayInitialize(ad,4,ae,0,am,true); }else{ %_TypedArrayInitialize(ad,4,null,0,am,true); } } function Int16ArrayConstructByArrayLike(ad,an){ var ag=an.length; var al=H(ag,180); if(al>%_MaxSmi()){ throw B(180); } var ao=false; var am=al*2; if(am<=%_TypedArrayMaxSizeInHeap()){ %_TypedArrayInitialize(ad,4,null,0,am,false); }else{ ao= %TypedArrayInitializeFromArrayLike(ad,4,an,al); } if(!ao){ for(var ap=0;ap<al;ap++){ ad[ap]=an[ap]; } } } function Int16ArrayConstructByIterable(ad,aq,ar){ var as=new j(); var at=%_Call(ar,aq); var au={ __proto__:null }; au[I]=function(){return at;} for(var av of au){ as.push(av); } Int16ArrayConstructByArrayLike(ad,as); } function Int16ArrayConstructor(X,Y,aw){ if(!(new.target===(void 0))){ if((%_ClassOf(X)==='ArrayBuffer')||(%_ClassOf(X)==='SharedArrayBuffer')){ Int16ArrayConstructByArrayBuffer(this,X,Y,aw); }else if((typeof(X)==='number')||(typeof(X)==='string')|| (typeof(X)==='boolean')||(X===(void 0))){ Int16ArrayConstructByLength(this,X); }else{ var ar=X[I]; if((ar===(void 0))||ar===e){ Int16ArrayConstructByArrayLike(this,X); }else{ Int16ArrayConstructByIterable(this,X,ar); } } }else{ throw C(26,"Int16Array") } } function Int16Array_GetLength(){ if(!(%_ClassOf(this)==='Int16Array')){ throw C(42,"Int16Array.length",this); } return %_TypedArrayGetLength(this); } function Int16ArraySubArray(ax,ay){ var az=(%_ToInteger(ax)); if(!(ay===(void 0))){ var aA=(%_ToInteger(ay)); var aB=%_TypedArrayGetLength(this); }else{ var aB=%_TypedArrayGetLength(this); var aA=aB; } if(az<0){ az=D(0,aB+az); }else{ az=E(az,aB); } if(aA<0){ aA=D(0,aB+aA); }else{ aA=E(aA,aB); } if(aA<az){ aA=az; } var ak=aA-az; var aC= %_ArrayBufferViewGetByteOffset(this)+az*2; return TypedArraySpeciesCreate(this,%TypedArrayGetBuffer(this), aC,ak,true); } function Uint32ArrayConstructByArrayBuffer(ad,ae,af,ag){ if(!(af===(void 0))){ af=H(af,180); } if(!(ag===(void 0))){ ag=H(ag,180); } var ah=%_ArrayBufferGetByteLength(ae); var ai; if((af===(void 0))){ ai=0; }else{ ai=af; if(ai % 4!==0){ throw B(179, "start offset","Uint32Array",4); } if(ai>ah){ throw B(181); } } var aj; var ak; if((ag===(void 0))){ if(ah % 4!==0){ throw B(179, "byte length","Uint32Array",4); } aj=ah-ai; ak=aj/4; }else{ var ak=ag; aj=ak*4; } if((ai+aj>ah) ||(ak>%_MaxSmi())){ throw B(180); } %_TypedArrayInitialize(ad,5,ae,ai,aj,true); } function Uint32ArrayConstructByLength(ad,ag){ var al=(ag===(void 0))? 0:H(ag,180); if(al>%_MaxSmi()){ throw B(180); } var am=al*4; if(am>%_TypedArrayMaxSizeInHeap()){ var ae=new g(am); %_TypedArrayInitialize(ad,5,ae,0,am,true); }else{ %_TypedArrayInitialize(ad,5,null,0,am,true); } } function Uint32ArrayConstructByArrayLike(ad,an){ var ag=an.length; var al=H(ag,180); if(al>%_MaxSmi()){ throw B(180); } var ao=false; var am=al*4; if(am<=%_TypedArrayMaxSizeInHeap()){ %_TypedArrayInitialize(ad,5,null,0,am,false); }else{ ao= %TypedArrayInitializeFromArrayLike(ad,5,an,al); } if(!ao){ for(var ap=0;ap<al;ap++){ ad[ap]=an[ap]; } } } function Uint32ArrayConstructByIterable(ad,aq,ar){ var as=new j(); var at=%_Call(ar,aq); var au={ __proto__:null }; au[I]=function(){return at;} for(var av of au){ as.push(av); } Uint32ArrayConstructByArrayLike(ad,as); } function Uint32ArrayConstructor(X,Y,aw){ if(!(new.target===(void 0))){ if((%_ClassOf(X)==='ArrayBuffer')||(%_ClassOf(X)==='SharedArrayBuffer')){ Uint32ArrayConstructByArrayBuffer(this,X,Y,aw); }else if((typeof(X)==='number')||(typeof(X)==='string')|| (typeof(X)==='boolean')||(X===(void 0))){ Uint32ArrayConstructByLength(this,X); }else{ var ar=X[I]; if((ar===(void 0))||ar===e){ Uint32ArrayConstructByArrayLike(this,X); }else{ Uint32ArrayConstructByIterable(this,X,ar); } } }else{ throw C(26,"Uint32Array") } } function Uint32Array_GetLength(){ if(!(%_ClassOf(this)==='Uint32Array')){ throw C(42,"Uint32Array.length",this); } return %_TypedArrayGetLength(this); } function Uint32ArraySubArray(ax,ay){ var az=(%_ToInteger(ax)); if(!(ay===(void 0))){ var aA=(%_ToInteger(ay)); var aB=%_TypedArrayGetLength(this); }else{ var aB=%_TypedArrayGetLength(this); var aA=aB; } if(az<0){ az=D(0,aB+az); }else{ az=E(az,aB); } if(aA<0){ aA=D(0,aB+aA); }else{ aA=E(aA,aB); } if(aA<az){ aA=az; } var ak=aA-az; var aC= %_ArrayBufferViewGetByteOffset(this)+az*4; return TypedArraySpeciesCreate(this,%TypedArrayGetBuffer(this), aC,ak,true); } function Int32ArrayConstructByArrayBuffer(ad,ae,af,ag){ if(!(af===(void 0))){ af=H(af,180); } if(!(ag===(void 0))){ ag=H(ag,180); } var ah=%_ArrayBufferGetByteLength(ae); var ai; if((af===(void 0))){ ai=0; }else{ ai=af; if(ai % 4!==0){ throw B(179, "start offset","Int32Array",4); } if(ai>ah){ throw B(181); } } var aj; var ak; if((ag===(void 0))){ if(ah % 4!==0){ throw B(179, "byte length","Int32Array",4); } aj=ah-ai; ak=aj/4; }else{ var ak=ag; aj=ak*4; } if((ai+aj>ah) ||(ak>%_MaxSmi())){ throw B(180); } %_TypedArrayInitialize(ad,6,ae,ai,aj,true); } function Int32ArrayConstructByLength(ad,ag){ var al=(ag===(void 0))? 0:H(ag,180); if(al>%_MaxSmi()){ throw B(180); } var am=al*4; if(am>%_TypedArrayMaxSizeInHeap()){ var ae=new g(am); %_TypedArrayInitialize(ad,6,ae,0,am,true); }else{ %_TypedArrayInitialize(ad,6,null,0,am,true); } } function Int32ArrayConstructByArrayLike(ad,an){ var ag=an.length; var al=H(ag,180); if(al>%_MaxSmi()){ throw B(180); } var ao=false; var am=al*4; if(am<=%_TypedArrayMaxSizeInHeap()){ %_TypedArrayInitialize(ad,6,null,0,am,false); }else{ ao= %TypedArrayInitializeFromArrayLike(ad,6,an,al); } if(!ao){ for(var ap=0;ap<al;ap++){ ad[ap]=an[ap]; } } } function Int32ArrayConstructByIterable(ad,aq,ar){ var as=new j(); var at=%_Call(ar,aq); var au={ __proto__:null }; au[I]=function(){return at;} for(var av of au){ as.push(av); } Int32ArrayConstructByArrayLike(ad,as); } function Int32ArrayConstructor(X,Y,aw){ if(!(new.target===(void 0))){ if((%_ClassOf(X)==='ArrayBuffer')||(%_ClassOf(X)==='SharedArrayBuffer')){ Int32ArrayConstructByArrayBuffer(this,X,Y,aw); }else if((typeof(X)==='number')||(typeof(X)==='string')|| (typeof(X)==='boolean')||(X===(void 0))){ Int32ArrayConstructByLength(this,X); }else{ var ar=X[I]; if((ar===(void 0))||ar===e){ Int32ArrayConstructByArrayLike(this,X); }else{ Int32ArrayConstructByIterable(this,X,ar); } } }else{ throw C(26,"Int32Array") } } function Int32Array_GetLength(){ if(!(%_ClassOf(this)==='Int32Array')){ throw C(42,"Int32Array.length",this); } return %_TypedArrayGetLength(this); } function Int32ArraySubArray(ax,ay){ var az=(%_ToInteger(ax)); if(!(ay===(void 0))){ var aA=(%_ToInteger(ay)); var aB=%_TypedArrayGetLength(this); }else{ var aB=%_TypedArrayGetLength(this); var aA=aB; } if(az<0){ az=D(0,aB+az); }else{ az=E(az,aB); } if(aA<0){ aA=D(0,aB+aA); }else{ aA=E(aA,aB); } if(aA<az){ aA=az; } var ak=aA-az; var aC= %_ArrayBufferViewGetByteOffset(this)+az*4; return TypedArraySpeciesCreate(this,%TypedArrayGetBuffer(this), aC,ak,true); } function Float32ArrayConstructByArrayBuffer(ad,ae,af,ag){ if(!(af===(void 0))){ af=H(af,180); } if(!(ag===(void 0))){ ag=H(ag,180); } var ah=%_ArrayBufferGetByteLength(ae); var ai; if((af===(void 0))){ ai=0; }else{ ai=af; if(ai % 4!==0){ throw B(179, "start offset","Float32Array",4); } if(ai>ah){ throw B(181); } } var aj; var ak; if((ag===(void 0))){ if(ah % 4!==0){ throw B(179, "byte length","Float32Array",4); } aj=ah-ai; ak=aj/4; }else{ var ak=ag; aj=ak*4; } if((ai+aj>ah) ||(ak>%_MaxSmi())){ throw B(180); } %_TypedArrayInitialize(ad,7,ae,ai,aj,true); } function Float32ArrayConstructByLength(ad,ag){ var al=(ag===(void 0))? 0:H(ag,180); if(al>%_MaxSmi()){ throw B(180); } var am=al*4; if(am>%_TypedArrayMaxSizeInHeap()){ var ae=new g(am); %_TypedArrayInitialize(ad,7,ae,0,am,true); }else{ %_TypedArrayInitialize(ad,7,null,0,am,true); } } function Float32ArrayConstructByArrayLike(ad,an){ var ag=an.length; var al=H(ag,180); if(al>%_MaxSmi()){ throw B(180); } var ao=false; var am=al*4; if(am<=%_TypedArrayMaxSizeInHeap()){ %_TypedArrayInitialize(ad,7,null,0,am,false); }else{ ao= %TypedArrayInitializeFromArrayLike(ad,7,an,al); } if(!ao){ for(var ap=0;ap<al;ap++){ ad[ap]=an[ap]; } } } function Float32ArrayConstructByIterable(ad,aq,ar){ var as=new j(); var at=%_Call(ar,aq); var au={ __proto__:null }; au[I]=function(){return at;} for(var av of au){ as.push(av); } Float32ArrayConstructByArrayLike(ad,as); } function Float32ArrayConstructor(X,Y,aw){ if(!(new.target===(void 0))){ if((%_ClassOf(X)==='ArrayBuffer')||(%_ClassOf(X)==='SharedArrayBuffer')){ Float32ArrayConstructByArrayBuffer(this,X,Y,aw); }else if((typeof(X)==='number')||(typeof(X)==='string')|| (typeof(X)==='boolean')||(X===(void 0))){ Float32ArrayConstructByLength(this,X); }else{ var ar=X[I]; if((ar===(void 0))||ar===e){ Float32ArrayConstructByArrayLike(this,X); }else{ Float32ArrayConstructByIterable(this,X,ar); } } }else{ throw C(26,"Float32Array") } } function Float32Array_GetLength(){ if(!(%_ClassOf(this)==='Float32Array')){ throw C(42,"Float32Array.length",this); } return %_TypedArrayGetLength(this); } function Float32ArraySubArray(ax,ay){ var az=(%_ToInteger(ax)); if(!(ay===(void 0))){ var aA=(%_ToInteger(ay)); var aB=%_TypedArrayGetLength(this); }else{ var aB=%_TypedArrayGetLength(this); var aA=aB; } if(az<0){ az=D(0,aB+az); }else{ az=E(az,aB); } if(aA<0){ aA=D(0,aB+aA); }else{ aA=E(aA,aB); } if(aA<az){ aA=az; } var ak=aA-az; var aC= %_ArrayBufferViewGetByteOffset(this)+az*4; return TypedArraySpeciesCreate(this,%TypedArrayGetBuffer(this), aC,ak,true); } function Float64ArrayConstructByArrayBuffer(ad,ae,af,ag){ if(!(af===(void 0))){ af=H(af,180); } if(!(ag===(void 0))){ ag=H(ag,180); } var ah=%_ArrayBufferGetByteLength(ae); var ai; if((af===(void 0))){ ai=0; }else{ ai=af; if(ai % 8!==0){ throw B(179, "start offset","Float64Array",8); } if(ai>ah){ throw B(181); } } var aj; var ak; if((ag===(void 0))){ if(ah % 8!==0){ throw B(179, "byte length","Float64Array",8); } aj=ah-ai; ak=aj/8; }else{ var ak=ag; aj=ak*8; } if((ai+aj>ah) ||(ak>%_MaxSmi())){ throw B(180); } %_TypedArrayInitialize(ad,8,ae,ai,aj,true); } function Float64ArrayConstructByLength(ad,ag){ var al=(ag===(void 0))? 0:H(ag,180); if(al>%_MaxSmi()){ throw B(180); } var am=al*8; if(am>%_TypedArrayMaxSizeInHeap()){ var ae=new g(am); %_TypedArrayInitialize(ad,8,ae,0,am,true); }else{ %_TypedArrayInitialize(ad,8,null,0,am,true); } } function Float64ArrayConstructByArrayLike(ad,an){ var ag=an.length; var al=H(ag,180); if(al>%_MaxSmi()){ throw B(180); } var ao=false; var am=al*8; if(am<=%_TypedArrayMaxSizeInHeap()){ %_TypedArrayInitialize(ad,8,null,0,am,false); }else{ ao= %TypedArrayInitializeFromArrayLike(ad,8,an,al); } if(!ao){ for(var ap=0;ap<al;ap++){ ad[ap]=an[ap]; } } } function Float64ArrayConstructByIterable(ad,aq,ar){ var as=new j(); var at=%_Call(ar,aq); var au={ __proto__:null }; au[I]=function(){return at;} for(var av of au){ as.push(av); } Float64ArrayConstructByArrayLike(ad,as); } function Float64ArrayConstructor(X,Y,aw){ if(!(new.target===(void 0))){ if((%_ClassOf(X)==='ArrayBuffer')||(%_ClassOf(X)==='SharedArrayBuffer')){ Float64ArrayConstructByArrayBuffer(this,X,Y,aw); }else if((typeof(X)==='number')||(typeof(X)==='string')|| (typeof(X)==='boolean')||(X===(void 0))){ Float64ArrayConstructByLength(this,X); }else{ var ar=X[I]; if((ar===(void 0))||ar===e){ Float64ArrayConstructByArrayLike(this,X); }else{ Float64ArrayConstructByIterable(this,X,ar); } } }else{ throw C(26,"Float64Array") } } function Float64Array_GetLength(){ if(!(%_ClassOf(this)==='Float64Array')){ throw C(42,"Float64Array.length",this); } return %_TypedArrayGetLength(this); } function Float64ArraySubArray(ax,ay){ var az=(%_ToInteger(ax)); if(!(ay===(void 0))){ var aA=(%_ToInteger(ay)); var aB=%_TypedArrayGetLength(this); }else{ var aB=%_TypedArrayGetLength(this); var aA=aB; } if(az<0){ az=D(0,aB+az); }else{ az=E(az,aB); } if(aA<0){ aA=D(0,aB+aA); }else{ aA=E(aA,aB); } if(aA<az){ aA=az; } var ak=aA-az; var aC= %_ArrayBufferViewGetByteOffset(this)+az*8; return TypedArraySpeciesCreate(this,%TypedArrayGetBuffer(this), aC,ak,true); } function Uint8ClampedArrayConstructByArrayBuffer(ad,ae,af,ag){ if(!(af===(void 0))){ af=H(af,180); } if(!(ag===(void 0))){ ag=H(ag,180); } var ah=%_ArrayBufferGetByteLength(ae); var ai; if((af===(void 0))){ ai=0; }else{ ai=af; if(ai % 1!==0){ throw B(179, "start offset","Uint8ClampedArray",1); } if(ai>ah){ throw B(181); } } var aj; var ak; if((ag===(void 0))){ if(ah % 1!==0){ throw B(179, "byte length","Uint8ClampedArray",1); } aj=ah-ai; ak=aj/1; }else{ var ak=ag; aj=ak*1; } if((ai+aj>ah) ||(ak>%_MaxSmi())){ throw B(180); } %_TypedArrayInitialize(ad,9,ae,ai,aj,true); } function Uint8ClampedArrayConstructByLength(ad,ag){ var al=(ag===(void 0))? 0:H(ag,180); if(al>%_MaxSmi()){ throw B(180); } var am=al*1; if(am>%_TypedArrayMaxSizeInHeap()){ var ae=new g(am); %_TypedArrayInitialize(ad,9,ae,0,am,true); }else{ %_TypedArrayInitialize(ad,9,null,0,am,true); } } function Uint8ClampedArrayConstructByArrayLike(ad,an){ var ag=an.length; var al=H(ag,180); if(al>%_MaxSmi()){ throw B(180); } var ao=false; var am=al*1; if(am<=%_TypedArrayMaxSizeInHeap()){ %_TypedArrayInitialize(ad,9,null,0,am,false); }else{ ao= %TypedArrayInitializeFromArrayLike(ad,9,an,al); } if(!ao){ for(var ap=0;ap<al;ap++){ ad[ap]=an[ap]; } } } function Uint8ClampedArrayConstructByIterable(ad,aq,ar){ var as=new j(); var at=%_Call(ar,aq); var au={ __proto__:null }; au[I]=function(){return at;} for(var av of au){ as.push(av); } Uint8ClampedArrayConstructByArrayLike(ad,as); } function Uint8ClampedArrayConstructor(X,Y,aw){ if(!(new.target===(void 0))){ if((%_ClassOf(X)==='ArrayBuffer')||(%_ClassOf(X)==='SharedArrayBuffer')){ Uint8ClampedArrayConstructByArrayBuffer(this,X,Y,aw); }else if((typeof(X)==='number')||(typeof(X)==='string')|| (typeof(X)==='boolean')||(X===(void 0))){ Uint8ClampedArrayConstructByLength(this,X); }else{ var ar=X[I]; if((ar===(void 0))||ar===e){ Uint8ClampedArrayConstructByArrayLike(this,X); }else{ Uint8ClampedArrayConstructByIterable(this,X,ar); } } }else{ throw C(26,"Uint8ClampedArray") } } function Uint8ClampedArray_GetLength(){ if(!(%_ClassOf(this)==='Uint8ClampedArray')){ throw C(42,"Uint8ClampedArray.length",this); } return %_TypedArrayGetLength(this); } function Uint8ClampedArraySubArray(ax,ay){ var az=(%_ToInteger(ax)); if(!(ay===(void 0))){ var aA=(%_ToInteger(ay)); var aB=%_TypedArrayGetLength(this); }else{ var aB=%_TypedArrayGetLength(this); var aA=aB; } if(az<0){ az=D(0,aB+az); }else{ az=E(az,aB); } if(aA<0){ aA=D(0,aB+aA); }else{ aA=E(aA,aB); } if(aA<az){ aA=az; } var ak=aA-az; var aC= %_ArrayBufferViewGetByteOffset(this)+az*1; return TypedArraySpeciesCreate(this,%TypedArrayGetBuffer(this), aC,ak,true); } function TypedArraySubArray(ax,ay){ switch(%_ClassOf(this)){ case"Uint8Array": return %_Call(Uint8ArraySubArray,this,ax,ay); case"Int8Array": return %_Call(Int8ArraySubArray,this,ax,ay); case"Uint16Array": return %_Call(Uint16ArraySubArray,this,ax,ay); case"Int16Array": return %_Call(Int16ArraySubArray,this,ax,ay); case"Uint32Array": return %_Call(Uint32ArraySubArray,this,ax,ay); case"Int32Array": return %_Call(Int32ArraySubArray,this,ax,ay); case"Float32Array": return %_Call(Float32ArraySubArray,this,ax,ay); case"Float64Array": return %_Call(Float64ArraySubArray,this,ax,ay); case"Uint8ClampedArray": return %_Call(Uint8ClampedArraySubArray,this,ax,ay); } throw C(42, "get TypedArray.prototype.subarray",this); } %SetForceInlineFlag(TypedArraySubArray); function TypedArrayGetBuffer(){ if(!%_IsTypedArray(this)){ throw C(42, "get TypedArray.prototype.buffer",this); } return %TypedArrayGetBuffer(this); } %SetForceInlineFlag(TypedArrayGetBuffer); function TypedArrayGetByteLength(){ if(!%_IsTypedArray(this)){ throw C(42, "get TypedArray.prototype.byteLength",this); } return %_ArrayBufferViewGetByteLength(this); } %SetForceInlineFlag(TypedArrayGetByteLength); function TypedArrayGetByteOffset(){ if(!%_IsTypedArray(this)){ throw C(42, "get TypedArray.prototype.byteOffset",this); } return %_ArrayBufferViewGetByteOffset(this); } %SetForceInlineFlag(TypedArrayGetByteOffset); function TypedArrayGetLength(){ if(!%_IsTypedArray(this)){ throw C(42, "get TypedArray.prototype.length",this); } return %_TypedArrayGetLength(this); } %SetForceInlineFlag(TypedArrayGetLength); function TypedArraySetFromArrayLike(aD,aE,aF,ai){ if(ai>0){ for(var ap=0;ap<aF;ap++){ aD[ai+ap]=aE[ap]; } } else{ for(var ap=0;ap<aF;ap++){ aD[ap]=aE[ap]; } } } function TypedArraySetFromOverlappingTypedArray(aD,aE,ai){ var aG=aE.BYTES_PER_ELEMENT; var aH=aD.BYTES_PER_ELEMENT; var aF=aE.length; function CopyLeftPart(){ var aI=aD.byteOffset+(ai+1)*aH; var aJ=aE.byteOffset; for(var aK=0; aK<aF&&aI<=aJ; aK++){ aD[ai+aK]=aE[aK]; aI+=aH; aJ+=aG; } return aK; } var aK=CopyLeftPart(); function CopyRightPart(){ var aI= aD.byteOffset+(ai+aF-1)*aH; var aJ= aE.byteOffset+aF*aG; for(var aL=aF-1; aL>=aK&&aI>=aJ; aL--){ aD[ai+aL]=aE[aL]; aI-=aH; aJ-=aG; } return aL; } var aL=CopyRightPart(); var aM=new f(aL+1-aK); for(var ap=aK;ap<=aL;ap++){ aM[ap-aK]=aE[ap]; } for(ap=aK;ap<=aL;ap++){ aD[ai+ap]=aM[ap-aK]; } } function TypedArraySet(ad,ai){ var aN=(ai===(void 0))?0:(%_ToInteger(ai)); if(aN<0)throw C(190); if(aN>%_MaxSmi()){ throw B(191); } switch(%TypedArraySetFastCases(this,ad,aN)){ case 0: return; case 1: TypedArraySetFromOverlappingTypedArray(this,ad,aN); return; case 2: TypedArraySetFromArrayLike(this,ad,ad.length,aN); return; case 3: var al=ad.length; if((al===(void 0))){ if((typeof(ad)==='number')){ throw C(45); } return; } al=(%_ToLength(al)); if(aN+al>this.length){ throw B(191); } TypedArraySetFromArrayLike(this,ad,al,aN); return; } } function TypedArrayGetToStringTag(){ if(!%_IsTypedArray(this))return; var aO=%_ClassOf(this); if((aO===(void 0)))return; return aO; } function TypedArrayCopyWithin(aD,aP,ay){ if(!%_IsTypedArray(this))throw C(68); var ag=%_TypedArrayGetLength(this); return k(aD,aP,ay,this,ag); } %FunctionSetLength(TypedArrayCopyWithin,2); function TypedArrayEvery(aQ,aR){ if(!%_IsTypedArray(this))throw C(68); var ag=%_TypedArrayGetLength(this); return l(aQ,aR,this,ag); } %FunctionSetLength(TypedArrayEvery,1); function TypedArrayForEach(aQ,aR){ if(!%_IsTypedArray(this))throw C(68); var ag=%_TypedArrayGetLength(this); q(aQ,aR,this,ag); } %FunctionSetLength(TypedArrayForEach,1); function TypedArrayFill(av,aP,ay){ if(!%_IsTypedArray(this))throw C(68); var ag=%_TypedArrayGetLength(this); return m(av,aP,ay,this,ag); } %FunctionSetLength(TypedArrayFill,1); function TypedArrayFilter(aQ,aS){ if(!%_IsTypedArray(this))throw C(68); var ag=%_TypedArrayGetLength(this); if(!(typeof(aQ)==='function'))throw C(15,aQ); var aT=new j(); n(aQ,aS,this,ag,aT); var aU=aT.length; var aV=TypedArraySpeciesCreate(this,aU); for(var ap=0;ap<aU;ap++){ aV[ap]=aT[ap]; } return aV; } %FunctionSetLength(TypedArrayFilter,1); function TypedArrayFind(aW,aS){ if(!%_IsTypedArray(this))throw C(68); var ag=%_TypedArrayGetLength(this); return o(aW,aS,this,ag); } %FunctionSetLength(TypedArrayFind,1); function TypedArrayFindIndex(aW,aS){ if(!%_IsTypedArray(this))throw C(68); var ag=%_TypedArrayGetLength(this); return p(aW,aS,this,ag); } %FunctionSetLength(TypedArrayFindIndex,1); function TypedArrayReverse(){ if(!%_IsTypedArray(this))throw C(68); var ag=%_TypedArrayGetLength(this); return F(this,ag); } function TypedArrayComparefn(aX,aY){ if(A(aX)&&A(aY)){ return A(aY)?0:1; } if(A(aX)){ return 1; } if(aX===0&&aX===aY){ if(%_IsMinusZero(aX)){ if(!%_IsMinusZero(aY)){ return-1; } }else if(%_IsMinusZero(aY)){ return 1; } } return aX-aY; } function TypedArraySort(aZ){ if(!%_IsTypedArray(this))throw C(68); var ag=%_TypedArrayGetLength(this); if((aZ===(void 0))){ aZ=TypedArrayComparefn; } return y(this,ag,aZ); } function TypedArrayIndexOf(ba,bb){ if(!%_IsTypedArray(this))throw C(68); var ag=%_TypedArrayGetLength(this); return s(this,ba,bb,ag); } %FunctionSetLength(TypedArrayIndexOf,1); function TypedArrayLastIndexOf(ba,bb){ if(!%_IsTypedArray(this))throw C(68); var ag=%_TypedArrayGetLength(this); return u(this,ba,bb,ag, %_ArgumentsLength()); } %FunctionSetLength(TypedArrayLastIndexOf,1); function TypedArrayMap(aQ,aS){ if(!%_IsTypedArray(this))throw C(68); var ag=%_TypedArrayGetLength(this); var aT=TypedArraySpeciesCreate(this,ag); if(!(typeof(aQ)==='function'))throw C(15,aQ); for(var ap=0;ap<ag;ap++){ var ba=this[ap]; aT[ap]=%_Call(aQ,aS,ba,ap,this); } return aT; } %FunctionSetLength(TypedArrayMap,1); function TypedArraySome(aQ,aR){ if(!%_IsTypedArray(this))throw C(68); var ag=%_TypedArrayGetLength(this); return x(aQ,aR,this,ag); } %FunctionSetLength(TypedArraySome,1); function TypedArrayToLocaleString(){ if(!%_IsTypedArray(this))throw C(68); var ag=%_TypedArrayGetLength(this); return z(this,ag); } function TypedArrayToString(){ return %_Call(d,this); } function TypedArrayJoin(bc){ if(!%_IsTypedArray(this))throw C(68); var ag=%_TypedArrayGetLength(this); return t(bc,this,ag); } function TypedArrayReduce(bd,be){ if(!%_IsTypedArray(this))throw C(68); var ag=%_TypedArrayGetLength(this); return v(bd,be,this,ag, %_ArgumentsLength()); } %FunctionSetLength(TypedArrayReduce,1); function TypedArrayReduceRight(bd,be){ if(!%_IsTypedArray(this))throw C(68); var ag=%_TypedArrayGetLength(this); return w(bd,be,this,ag, %_ArgumentsLength()); } %FunctionSetLength(TypedArrayReduceRight,1); function TypedArraySlice(aP,ay){ if(!%_IsTypedArray(this))throw C(68); var bf=%_TypedArrayGetLength(this); var bg=(%_ToInteger(aP)); var bh; if(bg<0){ bh=D(bf+bg,0); }else{ bh=E(bg,bf); } var bi; if((ay===(void 0))){ bi=bf; }else{ bi=(%_ToInteger(ay)); } var bj; if(bi<0){ bj=D(bf+bi,0); }else{ bj=E(bi,bf); } var bk=D(bj-bh,0); var bl=TypedArraySpeciesCreate(this,bk); var bm=0; while(bh<bj){ var bn=this[bh]; bl[bm]=bn; bh++; bm++; } return bl; } function TypedArrayIncludes(bo,bp){ if(!%_IsTypedArray(this))throw C(68); var ag=%_TypedArrayGetLength(this); return r(bo,bp,this,ag); } %FunctionSetLength(TypedArrayIncludes,1); function TypedArrayOf(){ var ag=%_ArgumentsLength(); var bl=TypedArrayCreate(this,ag); for(var ap=0;ap<ag;ap++){ bl[ap]=%_Arguments(ap); } return bl; } function TypedArrayFrom(aE,bq,aS){ var bl=%_Call(c,f,aE,bq,aS); return TypedArrayCreate(this,bl); } %FunctionSetLength(TypedArrayFrom,1); function TypedArray(){ if((new.target===(void 0))){ throw C(25,"TypedArray"); } if(new.target===TypedArray){ throw C(23,"TypedArray"); } } %FunctionSetPrototype(TypedArray,new i()); %AddNamedProperty(TypedArray.prototype, "constructor",TypedArray,2); b.InstallFunctions(TypedArray,2|4|1,[ "from",TypedArrayFrom, "of",TypedArrayOf ]); b.InstallGetter(TypedArray.prototype,"buffer",TypedArrayGetBuffer); b.InstallGetter(TypedArray.prototype,"byteOffset",TypedArrayGetByteOffset, 2|4); b.InstallGetter(TypedArray.prototype,"byteLength", TypedArrayGetByteLength,2|4); b.InstallGetter(TypedArray.prototype,"length",TypedArrayGetLength, 2|4); b.InstallGetter(TypedArray.prototype,J, TypedArrayGetToStringTag); b.InstallFunctions(TypedArray.prototype,2,[ "subarray",TypedArraySubArray, "set",TypedArraySet, "copyWithin",TypedArrayCopyWithin, "every",TypedArrayEvery, "fill",TypedArrayFill, "filter",TypedArrayFilter, "find",TypedArrayFind, "findIndex",TypedArrayFindIndex, "includes",TypedArrayIncludes, "indexOf",TypedArrayIndexOf, "join",TypedArrayJoin, "lastIndexOf",TypedArrayLastIndexOf, "forEach",TypedArrayForEach, "map",TypedArrayMap, "reduce",TypedArrayReduce, "reduceRight",TypedArrayReduceRight, "reverse",TypedArrayReverse, "slice",TypedArraySlice, "some",TypedArraySome, "sort",TypedArraySort, "toString",TypedArrayToString, "toLocaleString",TypedArrayToLocaleString ]); %SetCode(K,Uint8ArrayConstructor); %FunctionSetPrototype(K,new i()); %InternalSetPrototype(K,TypedArray); %InternalSetPrototype(K.prototype,TypedArray.prototype); %AddNamedProperty(K,"BYTES_PER_ELEMENT",1, 1|2|4); %AddNamedProperty(K.prototype, "constructor",a.Uint8Array,2); %AddNamedProperty(K.prototype, "BYTES_PER_ELEMENT",1, 1|2|4); b.InstallGetter(K.prototype,"length",Uint8Array_GetLength, 2|4); %SetCode(L,Int8ArrayConstructor); %FunctionSetPrototype(L,new i()); %InternalSetPrototype(L,TypedArray); %InternalSetPrototype(L.prototype,TypedArray.prototype); %AddNamedProperty(L,"BYTES_PER_ELEMENT",1, 1|2|4); %AddNamedProperty(L.prototype, "constructor",a.Int8Array,2); %AddNamedProperty(L.prototype, "BYTES_PER_ELEMENT",1, 1|2|4); b.InstallGetter(L.prototype,"length",Int8Array_GetLength, 2|4); %SetCode(M,Uint16ArrayConstructor); %FunctionSetPrototype(M,new i()); %InternalSetPrototype(M,TypedArray); %InternalSetPrototype(M.prototype,TypedArray.prototype); %AddNamedProperty(M,"BYTES_PER_ELEMENT",2, 1|2|4); %AddNamedProperty(M.prototype, "constructor",a.Uint16Array,2); %AddNamedProperty(M.prototype, "BYTES_PER_ELEMENT",2, 1|2|4); b.InstallGetter(M.prototype,"length",Uint16Array_GetLength, 2|4); %SetCode(N,Int16ArrayConstructor); %FunctionSetPrototype(N,new i()); %InternalSetPrototype(N,TypedArray); %InternalSetPrototype(N.prototype,TypedArray.prototype); %AddNamedProperty(N,"BYTES_PER_ELEMENT",2, 1|2|4); %AddNamedProperty(N.prototype, "constructor",a.Int16Array,2); %AddNamedProperty(N.prototype, "BYTES_PER_ELEMENT",2, 1|2|4); b.InstallGetter(N.prototype,"length",Int16Array_GetLength, 2|4); %SetCode(O,Uint32ArrayConstructor); %FunctionSetPrototype(O,new i()); %InternalSetPrototype(O,TypedArray); %InternalSetPrototype(O.prototype,TypedArray.prototype); %AddNamedProperty(O,"BYTES_PER_ELEMENT",4, 1|2|4); %AddNamedProperty(O.prototype, "constructor",a.Uint32Array,2); %AddNamedProperty(O.prototype, "BYTES_PER_ELEMENT",4, 1|2|4); b.InstallGetter(O.prototype,"length",Uint32Array_GetLength, 2|4); %SetCode(P,Int32ArrayConstructor); %FunctionSetPrototype(P,new i()); %InternalSetPrototype(P,TypedArray); %InternalSetPrototype(P.prototype,TypedArray.prototype); %AddNamedProperty(P,"BYTES_PER_ELEMENT",4, 1|2|4); %AddNamedProperty(P.prototype, "constructor",a.Int32Array,2); %AddNamedProperty(P.prototype, "BYTES_PER_ELEMENT",4, 1|2|4); b.InstallGetter(P.prototype,"length",Int32Array_GetLength, 2|4); %SetCode(Q,Float32ArrayConstructor); %FunctionSetPrototype(Q,new i()); %InternalSetPrototype(Q,TypedArray); %InternalSetPrototype(Q.prototype,TypedArray.prototype); %AddNamedProperty(Q,"BYTES_PER_ELEMENT",4, 1|2|4); %AddNamedProperty(Q.prototype, "constructor",a.Float32Array,2); %AddNamedProperty(Q.prototype, "BYTES_PER_ELEMENT",4, 1|2|4); b.InstallGetter(Q.prototype,"length",Float32Array_GetLength, 2|4); %SetCode(R,Float64ArrayConstructor); %FunctionSetPrototype(R,new i()); %InternalSetPrototype(R,TypedArray); %InternalSetPrototype(R.prototype,TypedArray.prototype); %AddNamedProperty(R,"BYTES_PER_ELEMENT",8, 1|2|4); %AddNamedProperty(R.prototype, "constructor",a.Float64Array,2); %AddNamedProperty(R.prototype, "BYTES_PER_ELEMENT",8, 1|2|4); b.InstallGetter(R.prototype,"length",Float64Array_GetLength, 2|4); %SetCode(S,Uint8ClampedArrayConstructor); %FunctionSetPrototype(S,new i()); %InternalSetPrototype(S,TypedArray); %InternalSetPrototype(S.prototype,TypedArray.prototype); %AddNamedProperty(S,"BYTES_PER_ELEMENT",1, 1|2|4); %AddNamedProperty(S.prototype, "constructor",a.Uint8ClampedArray,2); %AddNamedProperty(S.prototype, "BYTES_PER_ELEMENT",1, 1|2|4); b.InstallGetter(S.prototype,"length",Uint8ClampedArray_GetLength, 2|4); function DataViewConstructor(ae,af,am){ if((new.target===(void 0))){ throw C(26,"DataView"); } if(!(%_ClassOf(ae)==='ArrayBuffer'))throw C(29); if(!(af===(void 0))){ af=H(af,172); } if(!(am===(void 0))){ am=(%_ToInteger(am)); } var ah=%_ArrayBufferGetByteLength(ae); var ai=(af===(void 0))?0:af; if(ai>ah)throw B(172); var ag=(am===(void 0)) ?ah-ai :am; if(ag<0||ai+ag>ah){ throw new B(171); } var aT=%NewObject(h,new.target); %_DataViewInitialize(aT,ae,ai,ag); return aT; } function DataViewGetBufferJS(){ if(!(%_ClassOf(this)==='DataView')){ throw C(42,'DataView.buffer',this); } return %DataViewGetBuffer(this); } function DataViewGetByteOffset(){ if(!(%_ClassOf(this)==='DataView')){ throw C(42, 'DataView.byteOffset',this); } return %_ArrayBufferViewGetByteOffset(this); } function DataViewGetByteLength(){ if(!(%_ClassOf(this)==='DataView')){ throw C(42, 'DataView.byteLength',this); } return %_ArrayBufferViewGetByteLength(this); } function DataViewGetInt8JS(ai,br){ if(!(%_ClassOf(this)==='DataView')){ throw C(42, 'DataView.getInt8',this); } if(%_ArgumentsLength()<1)throw C(45); ai=H(ai,170); return %DataViewGetInt8(this,ai,!!br); } function DataViewSetInt8JS(ai,av,br){ if(!(%_ClassOf(this)==='DataView')){ throw C(42, 'DataView.setInt8',this); } if(%_ArgumentsLength()<2)throw C(45); ai=H(ai,170); %DataViewSetInt8(this,ai,(%_ToNumber(av)),!!br); } function DataViewGetUint8JS(ai,br){ if(!(%_ClassOf(this)==='DataView')){ throw C(42, 'DataView.getUint8',this); } if(%_ArgumentsLength()<1)throw C(45); ai=H(ai,170); return %DataViewGetUint8(this,ai,!!br); } function DataViewSetUint8JS(ai,av,br){ if(!(%_ClassOf(this)==='DataView')){ throw C(42, 'DataView.setUint8',this); } if(%_ArgumentsLength()<2)throw C(45); ai=H(ai,170); %DataViewSetUint8(this,ai,(%_ToNumber(av)),!!br); } function DataViewGetInt16JS(ai,br){ if(!(%_ClassOf(this)==='DataView')){ throw C(42, 'DataView.getInt16',this); } if(%_ArgumentsLength()<1)throw C(45); ai=H(ai,170); return %DataViewGetInt16(this,ai,!!br); } function DataViewSetInt16JS(ai,av,br){ if(!(%_ClassOf(this)==='DataView')){ throw C(42, 'DataView.setInt16',this); } if(%_ArgumentsLength()<2)throw C(45); ai=H(ai,170); %DataViewSetInt16(this,ai,(%_ToNumber(av)),!!br); } function DataViewGetUint16JS(ai,br){ if(!(%_ClassOf(this)==='DataView')){ throw C(42, 'DataView.getUint16',this); } if(%_ArgumentsLength()<1)throw C(45); ai=H(ai,170); return %DataViewGetUint16(this,ai,!!br); } function DataViewSetUint16JS(ai,av,br){ if(!(%_ClassOf(this)==='DataView')){ throw C(42, 'DataView.setUint16',this); } if(%_ArgumentsLength()<2)throw C(45); ai=H(ai,170); %DataViewSetUint16(this,ai,(%_ToNumber(av)),!!br); } function DataViewGetInt32JS(ai,br){ if(!(%_ClassOf(this)==='DataView')){ throw C(42, 'DataView.getInt32',this); } if(%_ArgumentsLength()<1)throw C(45); ai=H(ai,170); return %DataViewGetInt32(this,ai,!!br); } function DataViewSetInt32JS(ai,av,br){ if(!(%_ClassOf(this)==='DataView')){ throw C(42, 'DataView.setInt32',this); } if(%_ArgumentsLength()<2)throw C(45); ai=H(ai,170); %DataViewSetInt32(this,ai,(%_ToNumber(av)),!!br); } function DataViewGetUint32JS(ai,br){ if(!(%_ClassOf(this)==='DataView')){ throw C(42, 'DataView.getUint32',this); } if(%_ArgumentsLength()<1)throw C(45); ai=H(ai,170); return %DataViewGetUint32(this,ai,!!br); } function DataViewSetUint32JS(ai,av,br){ if(!(%_ClassOf(this)==='DataView')){ throw C(42, 'DataView.setUint32',this); } if(%_ArgumentsLength()<2)throw C(45); ai=H(ai,170); %DataViewSetUint32(this,ai,(%_ToNumber(av)),!!br); } function DataViewGetFloat32JS(ai,br){ if(!(%_ClassOf(this)==='DataView')){ throw C(42, 'DataView.getFloat32',this); } if(%_ArgumentsLength()<1)throw C(45); ai=H(ai,170); return %DataViewGetFloat32(this,ai,!!br); } function DataViewSetFloat32JS(ai,av,br){ if(!(%_ClassOf(this)==='DataView')){ throw C(42, 'DataView.setFloat32',this); } if(%_ArgumentsLength()<2)throw C(45); ai=H(ai,170); %DataViewSetFloat32(this,ai,(%_ToNumber(av)),!!br); } function DataViewGetFloat64JS(ai,br){ if(!(%_ClassOf(this)==='DataView')){ throw C(42, 'DataView.getFloat64',this); } if(%_ArgumentsLength()<1)throw C(45); ai=H(ai,170); return %DataViewGetFloat64(this,ai,!!br); } function DataViewSetFloat64JS(ai,av,br){ if(!(%_ClassOf(this)==='DataView')){ throw C(42, 'DataView.setFloat64',this); } if(%_ArgumentsLength()<2)throw C(45); ai=H(ai,170); %DataViewSetFloat64(this,ai,(%_ToNumber(av)),!!br); } %SetCode(h,DataViewConstructor); %FunctionSetPrototype(h,new i); %AddNamedProperty(h.prototype,"constructor",h, 2); %AddNamedProperty(h.prototype,J,"DataView", 1|2); b.InstallGetter(h.prototype,"buffer",DataViewGetBufferJS); b.InstallGetter(h.prototype,"byteOffset", DataViewGetByteOffset); b.InstallGetter(h.prototype,"byteLength", DataViewGetByteLength); b.InstallFunctions(h.prototype,2,[ "getInt8",DataViewGetInt8JS, "setInt8",DataViewSetInt8JS, "getUint8",DataViewGetUint8JS, "setUint8",DataViewSetUint8JS, "getInt16",DataViewGetInt16JS, "setInt16",DataViewSetInt16JS, "getUint16",DataViewGetUint16JS, "setUint16",DataViewSetUint16JS, "getInt32",DataViewGetInt32JS, "setInt32",DataViewSetInt32JS, "getUint32",DataViewGetUint32JS, "setUint32",DataViewSetUint32JS, "getFloat32",DataViewGetFloat32JS, "setFloat32",DataViewSetFloat32JS, "getFloat64",DataViewGetFloat64JS, "setFloat64",DataViewSetFloat64JS ]); }) Hiterator-prototype? (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=a.Object; var d=b.ImportNow("IteratorPrototype"); var e=b.ImportNow("iterator_symbol"); function IteratorPrototypeIterator(){ return this; } b.SetFunctionName(IteratorPrototypeIterator,e); %AddNamedProperty(d,e, IteratorPrototypeIterator,2); }) $generator? (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=b.ImportNow("GeneratorFunctionPrototype"); var d=b.ImportNow("GeneratorFunction"); var e=a.Function; var f; var g=b.ImportNow("to_string_tag_symbol"); b.Import(function(h){ f=h.MakeTypeError; }); function GeneratorObjectNext(i){ if(!(%_ClassOf(this)==='Generator')){ throw f(42, '[Generator].prototype.next',this); } var j=%GeneratorGetContinuation(this); if(j>0){ if(%_DebugIsActive()!=0)%DebugPrepareStepInIfStepping(this); try{ return %_GeneratorNext(this,i); }catch(e){ %GeneratorClose(this); throw e; } }else if(j==0){ return{value:void 0,done:true}; }else{ throw f(40); } } function GeneratorObjectThrow(k){ if(!(%_ClassOf(this)==='Generator')){ throw f(42, '[Generator].prototype.throw',this); } var j=%GeneratorGetContinuation(this); if(j>0){ try{ return %_GeneratorThrow(this,k); }catch(e){ %GeneratorClose(this); throw e; } }else if(j==0){ throw k; }else{ throw f(40); } } %NeverOptimizeFunction(GeneratorObjectNext); %NeverOptimizeFunction(GeneratorObjectThrow); var l=c.prototype; b.InstallFunctions(l, 2, ["next",GeneratorObjectNext, "throw",GeneratorObjectThrow]); %AddNamedProperty(l,"constructor", c,2|1); %AddNamedProperty(l, g,"Generator",2|1); %InternalSetPrototype(c,e.prototype); %AddNamedProperty(c, g,"GeneratorFunction",2|1); %AddNamedProperty(c,"constructor", d,2|1); %InternalSetPrototype(d,e); }) 8object-observe? (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c; var d=a.Array; var e=a.Object; var f=b.InternalArray; var g; b.Import(function(h){ c=h.GetHash; g=h.MakeTypeError; }); var i; var j={}; function GetObservationStateJS(){ if((i===(void 0))){ i=%GetObservationState(); } if((i.callbackInfoMap===(void 0))){ i.callbackInfoMap=%ObservationWeakMapCreate(); i.objectInfoMap=%ObservationWeakMapCreate(); i.notifierObjectInfoMap=%ObservationWeakMapCreate(); i.pendingObservers=null; i.nextCallbackPriority=0; i.lastMicrotaskId=0; } return i; } function GetPendingObservers(){ return GetObservationStateJS().pendingObservers; } function SetPendingObservers(k){ GetObservationStateJS().pendingObservers=k; } function GetNextCallbackPriority(){ return GetObservationStateJS().nextCallbackPriority++; } function nullProtoObject(){ return{__proto__:null}; } function TypeMapCreate(){ return nullProtoObject(); } function TypeMapAddType(l,m,n){ l[m]=n?1:(l[m]||0)+1; } function TypeMapRemoveType(l,m){ l[m]--; } function TypeMapCreateFromList(o,p){ var l=TypeMapCreate(); for(var q=0;q<p;q++){ TypeMapAddType(l,o[q],true); } return l; } function TypeMapHasType(l,m){ return!!l[m]; } function TypeMapIsDisjointFrom(r,s){ if(!r||!s) return true; for(var m in r){ if(TypeMapHasType(r,m)&&TypeMapHasType(s,m)) return false; } return true; } var t=(function(){ var u=[ 'add', 'update', 'delete', 'setPrototype', 'reconfigure', 'preventExtensions' ]; return TypeMapCreateFromList(u,u.length); })(); function ObserverCreate(v,w){ if((w===(void 0))) return v; var x=nullProtoObject(); x.callback=v; x.accept=w; return x; } function ObserverGetCallback(x){ return(typeof(x)==='function')?x:x.callback; } function ObserverGetAcceptTypes(x){ return(typeof(x)==='function')?t:x.accept; } function ObserverIsActive(x,y){ return TypeMapIsDisjointFrom(ObjectInfoGetPerformingTypes(y), ObserverGetAcceptTypes(x)); } function ObjectInfoGetOrCreate(z){ var y=ObjectInfoGet(z); if((y===(void 0))){ if(!(%_IsJSProxy(z))){ %SetIsObserved(z); } y={ object:z, changeObservers:null, notifier:null, performing:null, performingCount:0, }; %WeakCollectionSet(GetObservationStateJS().objectInfoMap, z,y,c(z)); } return y; } function ObjectInfoGet(z){ return %WeakCollectionGet(GetObservationStateJS().objectInfoMap,z, c(z)); } function ObjectInfoGetFromNotifier(A){ return %WeakCollectionGet(GetObservationStateJS().notifierObjectInfoMap, A,c(A)); } function ObjectInfoGetNotifier(y){ if((y.notifier===null)){ var A={__proto__:j}; y.notifier=A; %WeakCollectionSet(GetObservationStateJS().notifierObjectInfoMap, A,y,c(A)); } return y.notifier; } function ChangeObserversIsOptimized(B){ return(typeof(B)==='function')|| (typeof(B.callback)==='function'); } function ObjectInfoNormalizeChangeObservers(y){ if(ChangeObserversIsOptimized(y.changeObservers)){ var x=y.changeObservers; var v=ObserverGetCallback(x); var C=CallbackInfoGet(v); var D=CallbackInfoGetPriority(C); y.changeObservers=nullProtoObject(); y.changeObservers[D]=x; } } function ObjectInfoAddObserver(y,v,w){ var C=CallbackInfoGetOrCreate(v); var x=ObserverCreate(v,w); if(!y.changeObservers){ y.changeObservers=x; return; } ObjectInfoNormalizeChangeObservers(y); var D=CallbackInfoGetPriority(C); y.changeObservers[D]=x; } function ObjectInfoRemoveObserver(y,v){ if(!y.changeObservers) return; if(ChangeObserversIsOptimized(y.changeObservers)){ if(v===ObserverGetCallback(y.changeObservers)) y.changeObservers=null; return; } var C=CallbackInfoGet(v); var D=CallbackInfoGetPriority(C); y.changeObservers[D]=null; } function ObjectInfoHasActiveObservers(y){ if((y===(void 0))||!y.changeObservers) return false; if(ChangeObserversIsOptimized(y.changeObservers)) return ObserverIsActive(y.changeObservers,y); for(var D in y.changeObservers){ var x=y.changeObservers[D]; if(!(x===null)&&ObserverIsActive(x,y)) return true; } return false; } function ObjectInfoAddPerformingType(y,m){ y.performing=y.performing||TypeMapCreate(); TypeMapAddType(y.performing,m); y.performingCount++; } function ObjectInfoRemovePerformingType(y,m){ y.performingCount--; TypeMapRemoveType(y.performing,m); } function ObjectInfoGetPerformingTypes(y){ return y.performingCount>0?y.performing:null; } function ConvertAcceptListToTypeMap(E){ if((E===(void 0))) return E; if(!(%_IsJSReceiver(E)))throw g(80); var F=(%_ToInteger(E.length)); if(F<0)F=0; return TypeMapCreateFromList(E,F); } function CallbackInfoGet(v){ return %WeakCollectionGet(GetObservationStateJS().callbackInfoMap,v, c(v)); } function CallbackInfoSet(v,C){ %WeakCollectionSet(GetObservationStateJS().callbackInfoMap, v,C,c(v)); } function CallbackInfoGetOrCreate(v){ var C=CallbackInfoGet(v); if(!(C===(void 0))) return C; var D=GetNextCallbackPriority(); CallbackInfoSet(v,D); return D; } function CallbackInfoGetPriority(C){ if((typeof(C)==='number')) return C; else return C.priority; } function CallbackInfoNormalize(v){ var C=CallbackInfoGet(v); if((typeof(C)==='number')){ var D=C; C=new f; C.priority=D; CallbackInfoSet(v,C); } return C; } function ObjectObserve(z,v,w){ if(!(%_IsJSReceiver(z))) throw g(82,"observe","observe"); if(%IsJSGlobalProxy(z)) throw g(78,"observe"); if(%IsAccessCheckNeeded(z)) throw g(79,"observe"); if(!(typeof(v)==='function')) throw g(81,"observe"); if(%object_is_frozen(v)) throw g(77); var G=%GetObjectContextObjectObserve(z); return G(z,v,w); } function NativeObjectObserve(z,v,w){ var y=ObjectInfoGetOrCreate(z); var o=ConvertAcceptListToTypeMap(w); ObjectInfoAddObserver(y,v,o); return z; } function ObjectUnobserve(z,v){ if(!(%_IsJSReceiver(z))) throw g(82,"unobserve","unobserve"); if(%IsJSGlobalProxy(z)) throw g(78,"unobserve"); if(!(typeof(v)==='function')) throw g(81,"unobserve"); var y=ObjectInfoGet(z); if((y===(void 0))) return z; ObjectInfoRemoveObserver(y,v); return z; } function ArrayObserve(z,v){ return ObjectObserve(z,v,['add', 'update', 'delete', 'splice']); } function ArrayUnobserve(z,v){ return ObjectUnobserve(z,v); } function ObserverEnqueueIfActive(x,y,H){ if(!ObserverIsActive(x,y)|| !TypeMapHasType(ObserverGetAcceptTypes(x),H.type)){ return; } var v=ObserverGetCallback(x); if(!%ObserverObjectAndRecordHaveSameOrigin(v,H.object, H)){ return; } var C=CallbackInfoNormalize(v); if((GetPendingObservers()===null)){ SetPendingObservers(nullProtoObject()); if((%_DebugIsActive()!=0)){ var I=++GetObservationStateJS().lastMicrotaskId; var J="Object.observe"; %EnqueueMicrotask(function(){ %DebugAsyncTaskEvent({type:"willHandle",id:I,name:J}); ObserveMicrotaskRunner(); %DebugAsyncTaskEvent({type:"didHandle",id:I,name:J}); }); %DebugAsyncTaskEvent({type:"enqueue",id:I,name:J}); }else{ %EnqueueMicrotask(ObserveMicrotaskRunner); } } GetPendingObservers()[C.priority]=v; C.push(H); } function ObjectInfoEnqueueExternalChangeRecord(y,H,m){ if(!ObjectInfoHasActiveObservers(y)) return; var K=!(m===(void 0)); var L=K? {object:y.object,type:m}: {object:y.object}; for(var M in H){ if(M==='object'||(K&&M==='type'))continue; %DefineDataPropertyUnchecked( L,M,H[M],1+4); } %object_freeze(L); ObjectInfoEnqueueInternalChangeRecord(y,L); } function ObjectInfoEnqueueInternalChangeRecord(y,H){ if((typeof(H.name)==='symbol'))return; if(ChangeObserversIsOptimized(y.changeObservers)){ var x=y.changeObservers; ObserverEnqueueIfActive(x,y,H); return; } for(var D in y.changeObservers){ var x=y.changeObservers[D]; if((x===null)) continue; ObserverEnqueueIfActive(x,y,H); } } function BeginPerformSplice(N){ var y=ObjectInfoGet(N); if(!(y===(void 0))) ObjectInfoAddPerformingType(y,'splice'); } function EndPerformSplice(N){ var y=ObjectInfoGet(N); if(!(y===(void 0))) ObjectInfoRemovePerformingType(y,'splice'); } function EnqueueSpliceRecord(N,O,P,Q){ var y=ObjectInfoGet(N); if(!ObjectInfoHasActiveObservers(y)) return; var H={ type:'splice', object:N, index:O, removed:P, addedCount:Q }; %object_freeze(H); %object_freeze(H.removed); ObjectInfoEnqueueInternalChangeRecord(y,H); } function NotifyChange(m,z,J,R){ var y=ObjectInfoGet(z); if(!ObjectInfoHasActiveObservers(y)) return; var H; if(arguments.length==2){ H={type:m,object:z}; }else if(arguments.length==3){ H={type:m,object:z,name:J}; }else{ H={ type:m, object:z, name:J, oldValue:R }; } %object_freeze(H); ObjectInfoEnqueueInternalChangeRecord(y,H); } function ObjectNotifierNotify(H){ if(!(%_IsJSReceiver(this))) throw g(16,"notify"); var y=ObjectInfoGetFromNotifier(this); if((y===(void 0))) throw g(83); if(!(typeof(H.type)==='string')) throw g(86); ObjectInfoEnqueueExternalChangeRecord(y,H); } function ObjectNotifierPerformChange(S,T){ if(!(%_IsJSReceiver(this))) throw g(16,"performChange"); var y=ObjectInfoGetFromNotifier(this); if((y===(void 0))) throw g(83); if(!(typeof(S)==='string')) throw g(85); if(!(typeof(T)==='function')) throw g(84); var U=%GetObjectContextNotifierPerformChange(y); U(y,S,T); } function NativeObjectNotifierPerformChange(y,S,T){ ObjectInfoAddPerformingType(y,S); var H; try{ H=T(); }finally{ ObjectInfoRemovePerformingType(y,S); } if((%_IsJSReceiver(H))) ObjectInfoEnqueueExternalChangeRecord(y,H,S); } function ObjectGetNotifier(z){ if(!(%_IsJSReceiver(z))) throw g(82,"getNotifier","getNotifier"); if(%IsJSGlobalProxy(z)) throw g(78,"getNotifier"); if(%IsAccessCheckNeeded(z)) throw g(79,"getNotifier"); if(%object_is_frozen(z))return null; if(!%ObjectWasCreatedInCurrentOrigin(z))return null; var V=%GetObjectContextObjectGetNotifier(z); return V(z); } function NativeObjectGetNotifier(z){ var y=ObjectInfoGetOrCreate(z); return ObjectInfoGetNotifier(y); } function CallbackDeliverPending(v){ var C=CallbackInfoGet(v); if((C===(void 0))||(typeof(C)==='number')) return false; var D=C.priority; CallbackInfoSet(v,D); var k=GetPendingObservers(); if(!(k===null)) delete k[D]; var W=[]; %MoveArrayContents(C,W); %DeliverObservationChangeRecords(v,W); return true; } function ObjectDeliverChangeRecords(v){ if(!(typeof(v)==='function')) throw g(81,"deliverChangeRecords"); while(CallbackDeliverPending(v)){} } function ObserveMicrotaskRunner(){ var k=GetPendingObservers(); if(!(k===null)){ SetPendingObservers(null); for(var q in k){ CallbackDeliverPending(k[q]); } } } b.InstallFunctions(j,2,[ "notify",ObjectNotifierNotify, "performChange",ObjectNotifierPerformChange ]); var X=[ "deliverChangeRecords",ObjectDeliverChangeRecords, "getNotifier",ObjectGetNotifier, "observe",ObjectObserve, "unobserve",ObjectUnobserve ]; var Y=[ "observe",ArrayObserve, "unobserve",ArrayUnobserve ]; var Z=function(aa,q){ if(q % 2===1)%FunctionRemovePrototype(aa); }; X.forEach(Z); Y.forEach(Z); %InstallToContext([ "native_object_get_notifier",NativeObjectGetNotifier, "native_object_notifier_perform_change",NativeObjectNotifierPerformChange, "native_object_observe",NativeObjectObserve, "observers_begin_perform_splice",BeginPerformSplice, "observers_end_perform_splice",EndPerformSplice, "observers_enqueue_splice",EnqueueSpliceRecord, "observers_notify_change",NotifyChange, ]); b.Export(function(ab){ ab.ObserveArrayMethods=Y; ab.ObserveBeginPerformSplice=BeginPerformSplice; ab.ObserveEndPerformSplice=EndPerformSplice; ab.ObserveEnqueueSpliceRecord=EnqueueSpliceRecord; ab.ObserveObjectMethods=X; }); }) (collectionE} (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=a.Map; var d=a.Object; var e=a.Set; var f=b.ImportNow("hash_code_symbol"); var g; var h; var i; var j; var k; var l=b.ImportNow("to_string_tag_symbol"); b.Import(function(m){ g=m.IntRandom; h=m.MakeTypeError; i=m.MapIterator; j=m.NumberIsNaN; k=m.SetIterator; }); function HashToEntry(n,o,p){ var q=(o&((p)-1)); return((%_FixedArrayGet(n,(3+(q))|0))); } %SetForceInlineFlag(HashToEntry); function SetFindEntry(n,p,r,o){ var s=HashToEntry(n,o,p); if(s===-1)return s; var t=((%_FixedArrayGet(n,((3+(p)+((s)<<1)))|0))); if(r===t)return s; var u=j(r); while(true){ if(u&&j(t)){ return s; } s=((%_FixedArrayGet(n,((3+(p)+((s)<<1))+1)|0))); if(s===-1)return s; t=((%_FixedArrayGet(n,((3+(p)+((s)<<1)))|0))); if(r===t)return s; } return-1; } %SetForceInlineFlag(SetFindEntry); function MapFindEntry(n,p,r,o){ var s=HashToEntry(n,o,p); if(s===-1)return s; var t=((%_FixedArrayGet(n,((3+(p)+((s)*3)))|0))); if(r===t)return s; var u=j(r); while(true){ if(u&&j(t)){ return s; } s=((%_FixedArrayGet(n,((3+(p)+((s)*3))+2)|0))); if(s===-1)return s; t=((%_FixedArrayGet(n,((3+(p)+((s)*3)))|0))); if(r===t)return s; } return-1; } %SetForceInlineFlag(MapFindEntry); function ComputeIntegerHash(r,v){ var o=r; o=o^v; o=~o+(o<<15); o=o^(o>>>12); o=o+(o<<2); o=o^(o>>>4); o=(o*2057)|0; o=o^(o>>>16); return o&0x3fffffff; } %SetForceInlineFlag(ComputeIntegerHash); function GetExistingHash(r){ if(%_IsSmi(r)){ return ComputeIntegerHash(r,0); } if((typeof(r)==='string')){ var w=%_StringGetRawHashField(r); if((w&1)===0){ return w>>>2; } }else if((%_IsJSReceiver(r))&&!(%_IsJSProxy(r))&&!(%_ClassOf(r)==='global')){ var o=(r[f]); return o; } return %GenericHash(r); } %SetForceInlineFlag(GetExistingHash); function GetHash(r){ var o=GetExistingHash(r); if((o===(void 0))){ o=g()|0; if(o===0)o=1; (r[f]=o); } return o; } %SetForceInlineFlag(GetHash); function SetConstructor(x){ if((new.target===(void 0))){ throw h(26,"Set"); } %_SetInitialize(this); if(!(x==null)){ var y=this.add; if(!(typeof(y)==='function')){ throw h(91,y,'add',this); } for(var z of x){ %_Call(y,this,z); } } } function SetAdd(r){ if(!(%_ClassOf(this)==='Set')){ throw h(42,'Set.prototype.add',this); } if(r===0){ r=0; } var n=%_JSCollectionGetTable(this); var p=((%_FixedArrayGet(n,(0)|0))); var o=GetHash(r); if(SetFindEntry(n,p,r,o)!==-1)return this; var A=((%_FixedArrayGet(n,(1)|0))); var B=((%_FixedArrayGet(n,(2)|0))); var C=p<<1; if((A+B)>=C){ %SetGrow(this); n=%_JSCollectionGetTable(this); p=((%_FixedArrayGet(n,(0)|0))); A=((%_FixedArrayGet(n,(1)|0))); B=((%_FixedArrayGet(n,(2)|0))); } var s=A+B; var D=(3+(p)+((s)<<1)); var q=(o&((p)-1)); var E=((%_FixedArrayGet(n,(3+(q))|0))); ((%_FixedArraySet(n,(3+(q))|0,s))); (((%_FixedArraySet(n,(1)|0,(A+1)|0)))); (%_FixedArraySet(n,(D)|0,r)); ((%_FixedArraySet(n,(D+1)|0,(E)|0))); return this; } function SetHas(r){ if(!(%_ClassOf(this)==='Set')){ throw h(42,'Set.prototype.has',this); } var n=%_JSCollectionGetTable(this); var p=((%_FixedArrayGet(n,(0)|0))); var o=GetExistingHash(r); if((o===(void 0)))return false; return SetFindEntry(n,p,r,o)!==-1; } function SetDelete(r){ if(!(%_ClassOf(this)==='Set')){ throw h(42, 'Set.prototype.delete',this); } var n=%_JSCollectionGetTable(this); var p=((%_FixedArrayGet(n,(0)|0))); var o=GetExistingHash(r); if((o===(void 0)))return false; var s=SetFindEntry(n,p,r,o); if(s===-1)return false; var A=((%_FixedArrayGet(n,(1)|0)))-1; var B=((%_FixedArrayGet(n,(2)|0)))+1; var D=(3+(p)+((s)<<1)); (%_FixedArraySet(n,(D)|0,%_TheHole())); (((%_FixedArraySet(n,(1)|0,(A)|0)))); (((%_FixedArraySet(n,(2)|0,(B)|0)))); if(A<(p>>>1))%SetShrink(this); return true; } function SetGetSize(){ if(!(%_ClassOf(this)==='Set')){ throw h(42, 'Set.prototype.size',this); } var n=%_JSCollectionGetTable(this); return((%_FixedArrayGet(n,(1)|0))); } function SetClearJS(){ if(!(%_ClassOf(this)==='Set')){ throw h(42, 'Set.prototype.clear',this); } %_SetClear(this); } function SetForEach(F,G){ if(!(%_ClassOf(this)==='Set')){ throw h(42, 'Set.prototype.forEach',this); } if(!(typeof(F)==='function'))throw h(15,F); var H=new k(this,2); var r; var I=[(void 0)]; while(%SetIteratorNext(H,I)){ r=I[0]; %_Call(F,G,r,r,this); } } %SetCode(e,SetConstructor); %FunctionSetLength(e,0); %FunctionSetPrototype(e,new d()); %AddNamedProperty(e.prototype,"constructor",e,2); %AddNamedProperty(e.prototype,l,"Set", 2|1); %FunctionSetLength(SetForEach,1); b.InstallGetter(e.prototype,"size",SetGetSize); b.InstallFunctions(e.prototype,2,[ "add",SetAdd, "has",SetHas, "delete",SetDelete, "clear",SetClearJS, "forEach",SetForEach ]); function MapConstructor(x){ if((new.target===(void 0))){ throw h(26,"Map"); } %_MapInitialize(this); if(!(x==null)){ var y=this.set; if(!(typeof(y)==='function')){ throw h(91,y,'set',this); } for(var J of x){ if(!(%_IsJSReceiver(J))){ throw h(49,J); } %_Call(y,this,J[0],J[1]); } } } function MapGet(r){ if(!(%_ClassOf(this)==='Map')){ throw h(42, 'Map.prototype.get',this); } var n=%_JSCollectionGetTable(this); var p=((%_FixedArrayGet(n,(0)|0))); var o=GetExistingHash(r); if((o===(void 0)))return(void 0); var s=MapFindEntry(n,p,r,o); if(s===-1)return(void 0); return((%_FixedArrayGet(n,((3+(p)+((s)*3))+1)|0))); } function MapSet(r,z){ if(!(%_ClassOf(this)==='Map')){ throw h(42, 'Map.prototype.set',this); } if(r===0){ r=0; } var n=%_JSCollectionGetTable(this); var p=((%_FixedArrayGet(n,(0)|0))); var o=GetHash(r); var s=MapFindEntry(n,p,r,o); if(s!==-1){ var K=(3+(p)+((s)*3)); (%_FixedArraySet(n,(K+1)|0,z)); return this; } var A=((%_FixedArrayGet(n,(1)|0))); var B=((%_FixedArrayGet(n,(2)|0))); var C=p<<1; if((A+B)>=C){ %MapGrow(this); n=%_JSCollectionGetTable(this); p=((%_FixedArrayGet(n,(0)|0))); A=((%_FixedArrayGet(n,(1)|0))); B=((%_FixedArrayGet(n,(2)|0))); } s=A+B; var D=(3+(p)+((s)*3)); var q=(o&((p)-1)); var E=((%_FixedArrayGet(n,(3+(q))|0))); ((%_FixedArraySet(n,(3+(q))|0,s))); (((%_FixedArraySet(n,(1)|0,(A+1)|0)))); (%_FixedArraySet(n,(D)|0,r)); (%_FixedArraySet(n,(D+1)|0,z)); (%_FixedArraySet(n,(D+2)|0,E)); return this; } function MapHas(r){ if(!(%_ClassOf(this)==='Map')){ throw h(42, 'Map.prototype.has',this); } var n=%_JSCollectionGetTable(this); var p=((%_FixedArrayGet(n,(0)|0))); var o=GetHash(r); return MapFindEntry(n,p,r,o)!==-1; } function MapDelete(r){ if(!(%_ClassOf(this)==='Map')){ throw h(42, 'Map.prototype.delete',this); } var n=%_JSCollectionGetTable(this); var p=((%_FixedArrayGet(n,(0)|0))); var o=GetHash(r); var s=MapFindEntry(n,p,r,o); if(s===-1)return false; var A=((%_FixedArrayGet(n,(1)|0)))-1; var B=((%_FixedArrayGet(n,(2)|0)))+1; var D=(3+(p)+((s)*3)); (%_FixedArraySet(n,(D)|0,%_TheHole())); (%_FixedArraySet(n,(D+1)|0,%_TheHole())); (((%_FixedArraySet(n,(1)|0,(A)|0)))); (((%_FixedArraySet(n,(2)|0,(B)|0)))); if(A<(p>>>1))%MapShrink(this); return true; } function MapGetSize(){ if(!(%_ClassOf(this)==='Map')){ throw h(42, 'Map.prototype.size',this); } var n=%_JSCollectionGetTable(this); return((%_FixedArrayGet(n,(1)|0))); } function MapClearJS(){ if(!(%_ClassOf(this)==='Map')){ throw h(42, 'Map.prototype.clear',this); } %_MapClear(this); } function MapForEach(F,G){ if(!(%_ClassOf(this)==='Map')){ throw h(42, 'Map.prototype.forEach',this); } if(!(typeof(F)==='function'))throw h(15,F); var H=new i(this,3); var I=[(void 0),(void 0)]; while(%MapIteratorNext(H,I)){ %_Call(F,G,I[1],I[0],this); } } %SetCode(c,MapConstructor); %FunctionSetLength(c,0); %FunctionSetPrototype(c,new d()); %AddNamedProperty(c.prototype,"constructor",c,2); %AddNamedProperty( c.prototype,l,"Map",2|1); %FunctionSetLength(MapForEach,1); b.InstallGetter(c.prototype,"size",MapGetSize); b.InstallFunctions(c.prototype,2,[ "get",MapGet, "set",MapSet, "has",MapHas, "delete",MapDelete, "clear",MapClearJS, "forEach",MapForEach ]); %InstallToContext([ "map_get",MapGet, "map_set",MapSet, "map_has",MapHas, "map_delete",MapDelete, "set_add",SetAdd, "set_has",SetHas, "set_delete",SetDelete, ]); b.Export(function(L){ L.GetExistingHash=GetExistingHash; L.GetHash=GetHash; }); }) <weak-collection?- (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c; var d; var e=a.Object; var f=a.WeakMap; var g=a.WeakSet; var h; var i=b.ImportNow("to_string_tag_symbol"); b.Import(function(j){ c=j.GetExistingHash; d=j.GetHash; h=j.MakeTypeError; }); function WeakMapConstructor(k){ if((new.target===(void 0))){ throw h(26,"WeakMap"); } %WeakCollectionInitialize(this); if(!(k==null)){ var l=this.set; if(!(typeof(l)==='function')){ throw h(91,l,'set',this); } for(var m of k){ if(!(%_IsJSReceiver(m))){ throw h(49,m); } %_Call(l,this,m[0],m[1]); } } } function WeakMapGet(n){ if(!(%_ClassOf(this)==='WeakMap')){ throw h(42, 'WeakMap.prototype.get',this); } if(!(%_IsJSReceiver(n)))return(void 0); var o=c(n); if((o===(void 0)))return(void 0); return %WeakCollectionGet(this,n,o); } function WeakMapSet(n,p){ if(!(%_ClassOf(this)==='WeakMap')){ throw h(42, 'WeakMap.prototype.set',this); } if(!(%_IsJSReceiver(n)))throw h(175); return %WeakCollectionSet(this,n,p,d(n)); } function WeakMapHas(n){ if(!(%_ClassOf(this)==='WeakMap')){ throw h(42, 'WeakMap.prototype.has',this); } if(!(%_IsJSReceiver(n)))return false; var o=c(n); if((o===(void 0)))return false; return %WeakCollectionHas(this,n,o); } function WeakMapDelete(n){ if(!(%_ClassOf(this)==='WeakMap')){ throw h(42, 'WeakMap.prototype.delete',this); } if(!(%_IsJSReceiver(n)))return false; var o=c(n); if((o===(void 0)))return false; return %WeakCollectionDelete(this,n,o); } %SetCode(f,WeakMapConstructor); %FunctionSetLength(f,0); %FunctionSetPrototype(f,new e()); %AddNamedProperty(f.prototype,"constructor",f, 2); %AddNamedProperty(f.prototype,i,"WeakMap", 2|1); b.InstallFunctions(f.prototype,2,[ "get",WeakMapGet, "set",WeakMapSet, "has",WeakMapHas, "delete",WeakMapDelete ]); function WeakSetConstructor(k){ if((new.target===(void 0))){ throw h(26,"WeakSet"); } %WeakCollectionInitialize(this); if(!(k==null)){ var l=this.add; if(!(typeof(l)==='function')){ throw h(91,l,'add',this); } for(var p of k){ %_Call(l,this,p); } } } function WeakSetAdd(p){ if(!(%_ClassOf(this)==='WeakSet')){ throw h(42, 'WeakSet.prototype.add',this); } if(!(%_IsJSReceiver(p)))throw h(176); return %WeakCollectionSet(this,p,true,d(p)); } function WeakSetHas(p){ if(!(%_ClassOf(this)==='WeakSet')){ throw h(42, 'WeakSet.prototype.has',this); } if(!(%_IsJSReceiver(p)))return false; var o=c(p); if((o===(void 0)))return false; return %WeakCollectionHas(this,p,o); } function WeakSetDelete(p){ if(!(%_ClassOf(this)==='WeakSet')){ throw h(42, 'WeakSet.prototype.delete',this); } if(!(%_IsJSReceiver(p)))return false; var o=c(p); if((o===(void 0)))return false; return %WeakCollectionDelete(this,p,o); } %SetCode(g,WeakSetConstructor); %FunctionSetLength(g,0); %FunctionSetPrototype(g,new e()); %AddNamedProperty(g.prototype,"constructor",g, 2); %AddNamedProperty(g.prototype,i,"WeakSet", 2|1); b.InstallFunctions(g.prototype,2,[ "add",WeakSetAdd, "has",WeakSetHas, "delete",WeakSetDelete ]); }) Lcollection-iterator( (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=a.Map; var d=a.Set; var e=b.ImportNow("iterator_symbol"); var f; var g=b.ImportNow("MapIterator"); var h=b.ImportNow("to_string_tag_symbol"); var i=b.ImportNow("SetIterator"); b.Import(function(j){ f=j.MakeTypeError; }); function SetIteratorConstructor(k,l){ %SetIteratorInitialize(this,k,l); } function SetIteratorNextJS(){ if(!(%_ClassOf(this)==='Set Iterator')){ throw f(42, 'Set Iterator.prototype.next',this); } var m=[(void 0),(void 0)]; var n=%_CreateIterResultObject(m,false); switch(%SetIteratorNext(this,m)){ case 0: n.value=(void 0); n.done=true; break; case 2: n.value=m[0]; break; case 3: m[1]=m[0]; break; } return n; } function SetEntries(){ if(!(%_ClassOf(this)==='Set')){ throw f(42, 'Set.prototype.entries',this); } return new i(this,3); } function SetValues(){ if(!(%_ClassOf(this)==='Set')){ throw f(42, 'Set.prototype.values',this); } return new i(this,2); } %SetCode(i,SetIteratorConstructor); %FunctionSetInstanceClassName(i,'Set Iterator'); b.InstallFunctions(i.prototype,2,[ 'next',SetIteratorNextJS ]); %AddNamedProperty(i.prototype,h, "Set Iterator",1|2); b.InstallFunctions(d.prototype,2,[ 'entries',SetEntries, 'keys',SetValues, 'values',SetValues ]); %AddNamedProperty(d.prototype,e,SetValues,2); function MapIteratorConstructor(o,l){ %MapIteratorInitialize(this,o,l); } function MapIteratorNextJS(){ if(!(%_ClassOf(this)==='Map Iterator')){ throw f(42, 'Map Iterator.prototype.next',this); } var m=[(void 0),(void 0)]; var n=%_CreateIterResultObject(m,false); switch(%MapIteratorNext(this,m)){ case 0: n.value=(void 0); n.done=true; break; case 1: n.value=m[0]; break; case 2: n.value=m[1]; break; } return n; } function MapEntries(){ if(!(%_ClassOf(this)==='Map')){ throw f(42, 'Map.prototype.entries',this); } return new g(this,3); } function MapKeys(){ if(!(%_ClassOf(this)==='Map')){ throw f(42, 'Map.prototype.keys',this); } return new g(this,1); } function MapValues(){ if(!(%_ClassOf(this)==='Map')){ throw f(42, 'Map.prototype.values',this); } return new g(this,2); } %SetCode(g,MapIteratorConstructor); %FunctionSetInstanceClassName(g,'Map Iterator'); b.InstallFunctions(g.prototype,2,[ 'next',MapIteratorNextJS ]); %AddNamedProperty(g.prototype,h, "Map Iterator",1|2); b.InstallFunctions(c.prototype,2,[ 'entries',MapEntries, 'keys',MapKeys, 'values',MapValues ]); %AddNamedProperty(c.prototype,e,MapEntries,2); b.Export(function(p){ p.MapEntries=MapEntries; p.MapIteratorNext=MapIteratorNextJS; p.SetIteratorNext=SetIteratorNextJS; p.SetValues=SetValues; }); }) promiseQs (function(a,b,c){ "use strict"; %CheckIsBootstrapping(); var d=b.InternalArray; var e; var f= b.ImportNow("promise_combined_deferred_symbol"); var g= b.ImportNow("promise_has_handler_symbol"); var h=b.ImportNow("promise_on_reject_symbol"); var i= b.ImportNow("promise_on_resolve_symbol"); var j=b.ImportNow("promise_raw_symbol"); var k=b.ImportNow("promise_status_symbol"); var l=b.ImportNow("promise_value_symbol"); var m; var n=b.ImportNow("to_string_tag_symbol"); b.Import(function(o){ e=o.MakeTypeError; m=o.SpeciesConstructor; }); var p=0; function CreateResolvingFunctions(q){ var r=false; var s=value=>{ if(r===true)return; r=true; PromiseResolve(q,value); }; var t=reason=>{ if(r===true)return; r=true; PromiseReject(q,reason); }; return{ __proto__:null, resolve:s, reject:t }; } var u=function Promise(v){ if(v===j){ return %NewObject(u,new.target); } if((new.target===(void 0)))throw e(61,this); if(!(typeof(v)==='function')) throw e(134,v); var q=PromiseInit(%NewObject(u,new.target)); var w=CreateResolvingFunctions(q); try{ %DebugPushPromise(q,Promise); v(w.resolve,w.reject); }catch(e){ %_Call(w.reject,(void 0),e); }finally{ %DebugPopPromise(); } return q; } function PromiseSet(q,x,y,z,A){ (q[k]=x); (q[l]=y); (q[i]=z); (q[h]=A); if((%_DebugIsActive()!=0)){ %DebugPromiseEvent({promise:q,status:x,value:y}); } return q; } function PromiseCreateAndSet(x,y){ var q=new u(j); if((%_DebugIsActive()!=0))PromiseSet(q,0,(void 0)); return PromiseSet(q,x,y); } function PromiseInit(q){ return PromiseSet( q,0,(void 0),new d,new d) } function PromiseDone(q,x,y,B){ if((q[k])===0){ var C=(q[B]); if(C.length)PromiseEnqueue(y,C,x); PromiseSet(q,x,y); } } function PromiseHandle(y,D,E){ try{ %DebugPushPromise(E.promise,PromiseHandle); var F=D(y); E.resolve(F); }catch(exception){ try{E.reject(exception);}catch(e){} }finally{ %DebugPopPromise(); } } function PromiseEnqueue(y,C,x){ var G,H,I=(%_DebugIsActive()!=0); %EnqueueMicrotask(function(){ if(I){ %DebugAsyncTaskEvent({type:"willHandle",id:G,name:H}); } for(var J=0;J<C.length;J+=2){ PromiseHandle(y,C[J],C[J+1]) } if(I){ %DebugAsyncTaskEvent({type:"didHandle",id:G,name:H}); } }); if(I){ G=++p; H=x>0?"Promise.resolve":"Promise.reject"; %DebugAsyncTaskEvent({type:"enqueue",id:G,name:H}); } } function PromiseIdResolveHandler(K){return K} function PromiseIdRejectHandler(L){throw L} function PromiseNopResolver(){} function IsPromise(K){ return(%_IsJSReceiver(K))&&(!(K[k]===(void 0))); } function PromiseCreate(){ return new u(PromiseNopResolver) } function PromiseResolve(q,K){ if(K===q){ return PromiseReject(q,e(88,K)); } if((%_IsJSReceiver(K))){ try{ var M=K.then; }catch(e){ return PromiseReject(q,e); } if((typeof(M)==='function')){ var G,H,I=(%_DebugIsActive()!=0); %EnqueueMicrotask(function(){ if(I){ %DebugAsyncTaskEvent({type:"willHandle",id:G,name:H}); } var w=CreateResolvingFunctions(q); try{ %_Call(M,K,w.resolve,w.reject); }catch(e){ %_Call(w.reject,(void 0),e); } if(I){ %DebugAsyncTaskEvent({type:"didHandle",id:G,name:H}); } }); if(I){ G=++p; H="PromseResolveThenableJob"; %DebugAsyncTaskEvent({type:"enqueue",id:G,name:H}); } return; } } PromiseDone(q,+1,K,i); } function PromiseReject(q,L){ if((q[k])==0){ var N=(%_DebugIsActive()!=0); if(N|| !(!(q[g]===(void 0)))){ %PromiseRejectEvent(q,L,N); } } PromiseDone(q,-1,L,h) } function NewPromiseCapability(O){ if(O===u){ var q=PromiseInit(new u(j)); var w=CreateResolvingFunctions(q); return{ promise:q, resolve:w.resolve, reject:w.reject }; } var F={promise:(void 0),resolve:(void 0),reject:(void 0)}; F.promise=new O((s,t)=>{ if(!(F.resolve===(void 0))||!(F.reject===(void 0))) throw e(89); F.resolve=s; F.reject=t; }); return F; } function PromiseDeferred(){ %IncrementUseCounter(19); return NewPromiseCapability(this); } function PromiseResolved(K){ %IncrementUseCounter(18); return %_Call(PromiseCast,this,K); } function PromiseRejected(L){ if(!(%_IsJSReceiver(this))){ throw e(16,PromiseRejected); } if(this===u){ var q=PromiseCreateAndSet(-1,L); %PromiseRejectEvent(q,L,false); return q; }else{ var P=NewPromiseCapability(this); %_Call(P.reject,(void 0),L); return P.promise; } } function PromiseThen(z,A){ var x=(this[k]); if((x===(void 0))){ throw e(61,this); } var Q=m(this,u); z=(typeof(z)==='function')?z:PromiseIdResolveHandler; A=(typeof(A)==='function')?A:PromiseIdRejectHandler; var E=NewPromiseCapability(Q); switch(x){ case 0: (this[i]).push(z,E); (this[h]).push(A,E); break; case+1: PromiseEnqueue((this[l]), [z,E], +1); break; case-1: if(!(!(this[g]===(void 0)))){ %PromiseRevokeReject(this); } PromiseEnqueue((this[l]), [A,E], -1); break; } (this[g]=true); if((%_DebugIsActive()!=0)){ %DebugPromiseEvent({promise:E.promise,parentPromise:this}); } return E.promise; } function PromiseChain(z,A){ %IncrementUseCounter(17); return %_Call(PromiseThen,this,z,A); } function PromiseCatch(A){ return this.then((void 0),A); } function PromiseCast(K){ if(!(%_IsJSReceiver(this))){ throw e(16,PromiseCast); } if(IsPromise(K)&&K.constructor===this)return K; var P=NewPromiseCapability(this); var R=%_Call(P.resolve,(void 0),K); return P.promise; } function PromiseAll(S){ if(!(%_IsJSReceiver(this))){ throw e(16,"Promise.all"); } var E=NewPromiseCapability(this); var T=new d(); var U; function CreateResolveElementFunction(V,W,P){ var X=false; return(K)=>{ if(X===true)return; X=true; W[V]=K; if(--U===0){ var Y=[]; %MoveArrayContents(W,Y); %_Call(P.resolve,(void 0),Y); } }; } try{ var J=0; U=1; for(var y of S){ var Z=this.resolve(y); ++U; Z.then( CreateResolveElementFunction(J,T,E), E.reject); (E.reject[f]=E); ++J; } if(--U===0){ var Y=[]; %MoveArrayContents(T,Y); %_Call(E.resolve,(void 0),Y); } }catch(e){ %_Call(E.reject,(void 0),e); } return E.promise; } function PromiseRace(S){ if(!(%_IsJSReceiver(this))){ throw e(16,PromiseRace); } var E=NewPromiseCapability(this); try{ for(var y of S){ this.resolve(y).then(E.resolve,E.reject); (E.reject[f]=E); } }catch(e){ E.reject(e) } return E.promise; } function PromiseHasUserDefinedRejectHandlerRecursive(q){ var aa=(q[h]); if((aa===(void 0)))return false; for(var J=0;J<aa.length;J+=2){ var D=aa[J]; if(D!==PromiseIdRejectHandler){ var E=(D[f]); if((E===(void 0)))return true; if(PromiseHasUserDefinedRejectHandlerRecursive(E.promise)){ return true; } }else if(PromiseHasUserDefinedRejectHandlerRecursive( aa[J+1].promise)){ return true; } } return false; } function PromiseHasUserDefinedRejectHandler(){ return PromiseHasUserDefinedRejectHandlerRecursive(this); }; %AddNamedProperty(a,'Promise',u,2); %AddNamedProperty(u.prototype,n,"Promise", 2|1); b.InstallFunctions(u,2,[ "reject",PromiseRejected, "all",PromiseAll, "race",PromiseRace, "resolve",PromiseCast ]); b.InstallFunctions(u.prototype,2,[ "then",PromiseThen, "catch",PromiseCatch ]); %InstallToContext([ "promise_catch",PromiseCatch, "promise_chain",PromiseChain, "promise_create",PromiseCreate, "promise_has_user_defined_reject_handler",PromiseHasUserDefinedRejectHandler, "promise_reject",PromiseReject, "promise_resolve",PromiseResolve, "promise_then",PromiseThen, ]); b.InstallFunctions(c,0,[ "createPromise",PromiseCreate, "resolvePromise",PromiseResolve, "rejectPromise",PromiseReject ]); [PromiseChain,PromiseDeferred,PromiseResolved].forEach( fn=>%FunctionRemovePrototype(fn)); b.Export(function(ab){ ab.PromiseChain=PromiseChain; ab.PromiseDeferred=PromiseDeferred; ab.PromiseResolved=PromiseResolved; }); }) messages?? (function(a,b){ %CheckIsBootstrapping(); var c; var d; var e; var f; var g= b.ImportNow("call_site_receiver_symbol"); var h= b.ImportNow("call_site_function_symbol"); var i= b.ImportNow("call_site_position_symbol"); var j= b.ImportNow("call_site_strict_symbol"); var k; var l; var m= b.ImportNow("formatted_stack_trace_symbol"); var n=a.Object; var o; var p; var q; var r=b.InternalArray; var s=b.ImportNow("internal_error_symbol"); var t; var u=b.ImportNow("object_to_string"); var v=b.ImportNow("Script"); var w=b.ImportNow("stack_trace_symbol"); var x; var y; var z; var A; var B=b.ImportNow("to_string_tag_symbol"); var C; var D; var E; b.Import(function(F){ c=F.ArrayJoin; d=F.Bool16x8ToString; e=F.Bool32x4ToString; f=F.Bool8x16ToString; l=F.Float32x4ToString; o=F.Int16x8ToString; p=F.Int32x4ToString; q=F.Int8x16ToString; t=F.ObjectDefineProperty; x=F.StringCharAt; y=F.StringIndexOf; z=F.StringSubstring; A=F.SymbolToString; C=F.Uint16x8ToString; D=F.Uint32x4ToString; E=F.Uint8x16ToString; }); b.ImportFromExperimental(function(F){ k=F.FLAG_harmony_tostring; }); var G; var H; var I; var J; var K; var L; var M; function NoSideEffectsObjectToString(){ if((this===(void 0)))return"[object Undefined]"; if((this===null))return"[object Null]"; var N=(%_ToObject(this)); var O=%_ClassOf(N); var P; if(k){ P=%GetDataProperty(N,B); if(!(typeof(P)==='string')){ P=O; } }else{ P=O; } return`[object ${P}]`; } function IsErrorObject(Q){ return(%HasOwnProperty(Q,w)); } function NoSideEffectsErrorToString(){ var R=%GetDataProperty(this,"name"); var S=%GetDataProperty(this,"message"); R=(R===(void 0))?"Error":NoSideEffectsToString(R); S=(S===(void 0))?"":NoSideEffectsToString(S); if(R=="")return S; if(S=="")return R; return`${R}: ${S}`; } function NoSideEffectsToString(Q){ if((typeof(Q)==='string'))return Q; if((typeof(Q)==='number'))return %_NumberToString(Q); if((typeof(Q)==='boolean'))return Q?'true':'false'; if((Q===(void 0)))return'undefined'; if((Q===null))return'null'; if((%_IsFunction(Q))){ var T=%FunctionToString(Q); if(T.length>128){ T=%_SubString(T,0,111)+"...<omitted>..."+ %_SubString(T,T.length-2,T.length); } return T; } if((typeof(Q)==='symbol'))return %_Call(A,Q); if((%_IsSimdValue(Q))){ switch(typeof(Q)){ case'float32x4':return %_Call(l,Q); case'int32x4':return %_Call(p,Q); case'int16x8':return %_Call(o,Q); case'int8x16':return %_Call(q,Q); case'uint32x4':return %_Call(D,Q); case'uint16x8':return %_Call(C,Q); case'uint8x16':return %_Call(E,Q); case'bool32x4':return %_Call(e,Q); case'bool16x8':return %_Call(d,Q); case'bool8x16':return %_Call(f,Q); } } if((%_IsJSReceiver(Q))){ if(IsErrorObject(Q)|| %GetDataProperty(Q,"toString")===ErrorToString){ return %_Call(NoSideEffectsErrorToString,Q); } if(%GetDataProperty(Q,"toString")===u){ var U=%GetDataProperty(Q,"constructor"); if((%_IsFunction(U))){ var V=%FunctionGetName(U); if(V!="")return`#<${V}>`; } } } return %_Call(NoSideEffectsObjectToString,Q); } function MakeGenericError(U,W,X,Y,Z){ var aa=new U(FormatMessage(W,X,Y,Z)); aa[s]=true; return aa; } %FunctionSetInstanceClassName(v,'Script'); %AddNamedProperty(v.prototype,'constructor',v, 2|4|1); %SetCode(v,function(ab){ throw MakeError(6); }); function FormatMessage(W,X,Y,Z){ var X=NoSideEffectsToString(X); var Y=NoSideEffectsToString(Y); var Z=NoSideEffectsToString(Z); try{ return %FormatMessageString(W,X,Y,Z); }catch(e){ return"<error>"; } } function GetLineNumber(S){ var ac=%MessageGetStartPosition(S); if(ac==-1)return 0; var ad=%MessageGetScript(S); var ae=ad.locationFromPosition(ac,true); if(ae==null)return 0; return ae.line+1; } function GetColumnNumber(S){ var ad=%MessageGetScript(S); var ac=%MessageGetStartPosition(S); var ae=ad.locationFromPosition(ac,true); if(ae==null)return-1; return ae.column; } function GetSourceLine(S){ var ad=%MessageGetScript(S); var ac=%MessageGetStartPosition(S); var ae=ad.locationFromPosition(ac,true); if(ae==null)return""; return ae.sourceText(); } function ScriptLineFromPosition(af){ var ag=0; var ah=this.lineCount()-1; var ai=this.line_ends; if(af>ai[ah]){ return-1; } if(af<=ai[0]){ return 0; } while(ah>=1){ var aj=(ag+ah)>>1; if(af>ai[aj]){ ag=aj+1; }else if(af<=ai[aj-1]){ ah=aj-1; }else{ return aj; } } return-1; } function ScriptLocationFromPosition(af, include_resource_offset){ var ak=this.lineFromPosition(af); if(ak==-1)return null; var ai=this.line_ends; var al=ak==0?0:ai[ak-1]+1; var am=ai[ak]; if(am>0&&%_Call(x,this.source,am-1)=='\r'){ am--; } var an=af-al; if(include_resource_offset){ ak+=this.line_offset; if(ak==this.line_offset){ an+=this.column_offset; } } return new SourceLocation(this,af,ak,an,al,am); } function ScriptLocationFromLine(ao,ap,aq){ var ak=0; if(!(ao===(void 0))){ ak=ao-this.line_offset; } var an=ap||0; if(ak==0){ an-=this.column_offset; } var ar=aq||0; if(ak<0||an<0||ar<0)return null; if(ak==0){ return this.locationFromPosition(ar+an,false); }else{ var as=this.lineFromPosition(ar); if(as==-1||as+ak>=this.lineCount()){ return null; } return this.locationFromPosition( this.line_ends[as+ak-1]+1+an); } } function ScriptSourceSlice(at,au){ var av=(at===(void 0))?this.line_offset :at; var aw=(au===(void 0))?this.line_offset+this.lineCount() :au; av-=this.line_offset; aw-=this.line_offset; if(av<0)av=0; if(aw>this.lineCount())aw=this.lineCount(); if(av>=this.lineCount()|| aw<0|| av>aw){ return null; } var ai=this.line_ends; var ax=av==0?0:ai[av-1]+1; var ay=aw==0?0:ai[aw-1]+1; return new SourceSlice(this, av+this.line_offset, aw+this.line_offset, ax,ay); } function ScriptSourceLine(ao){ var ak=0; if(!(ao===(void 0))){ ak=ao-this.line_offset; } if(ak<0||this.lineCount()<=ak){ return null; } var ai=this.line_ends; var al=ak==0?0:ai[ak-1]+1; var am=ai[ak]; return %_Call(z,this.source,al,am); } function ScriptLineCount(){ return this.line_ends.length; } function ScriptLineEnd(az){ return this.line_ends[az]; } function ScriptNameOrSourceURL(){ if(this.source_url)return this.source_url; return this.name; } b.SetUpLockedPrototype(v,[ "source", "name", "source_url", "source_mapping_url", "line_ends", "line_offset", "column_offset" ],[ "lineFromPosition",ScriptLineFromPosition, "locationFromPosition",ScriptLocationFromPosition, "locationFromLine",ScriptLocationFromLine, "sourceSlice",ScriptSourceSlice, "sourceLine",ScriptSourceLine, "lineCount",ScriptLineCount, "nameOrSourceURL",ScriptNameOrSourceURL, "lineEnd",ScriptLineEnd ] ); function SourceLocation(ad,af,ak,an,al,am){ this.script=ad; this.position=af; this.line=ak; this.column=an; this.start=al; this.end=am; } function SourceLocationSourceText(){ return %_Call(z,this.script.source,this.start,this.end); } b.SetUpLockedPrototype(SourceLocation, ["script","position","line","column","start","end"], ["sourceText",SourceLocationSourceText] ); function SourceSlice(ad,av,aw,ax,ay){ this.script=ad; this.from_line=av; this.to_line=aw; this.from_position=ax; this.to_position=ay; } function SourceSliceSourceText(){ return %_Call(z, this.script.source, this.from_position, this.to_position); } b.SetUpLockedPrototype(SourceSlice, ["script","from_line","to_line","from_position","to_position"], ["sourceText",SourceSliceSourceText] ); function GetStackTraceLine(aA,aB,aC,aD){ return new CallSite(aA,aB,aC,false).toString(); } function CallSite(aE,aB,aC,aF){ if(!(%_IsFunction(aB))){ throw MakeTypeError(18,typeof aB); } if((new.target===(void 0))){ return new CallSite(aE,aB,aC,aF); } (this[g]=aE); (this[h]=aB); (this[i]=((aC)|0)); (this[j]=(!!(aF))); } function CallSiteGetThis(){ return(this[j]) ?(void 0):(this[g]); } function CallSiteGetFunction(){ return(this[j]) ?(void 0):(this[h]); } function CallSiteGetPosition(){ return(this[i]); } function CallSiteGetTypeName(){ return GetTypeName((this[g]),false); } function CallSiteIsToplevel(){ return %CallSiteIsToplevelRT(this); } function CallSiteIsEval(){ return %CallSiteIsEvalRT(this); } function CallSiteGetEvalOrigin(){ var ad=%FunctionGetScript((this[h])); return FormatEvalOrigin(ad); } function CallSiteGetScriptNameOrSourceURL(){ return %CallSiteGetScriptNameOrSourceUrlRT(this); } function CallSiteGetFunctionName(){ return %CallSiteGetFunctionNameRT(this); } function CallSiteGetMethodName(){ return %CallSiteGetMethodNameRT(this); } function CallSiteGetFileName(){ return %CallSiteGetFileNameRT(this); } function CallSiteGetLineNumber(){ return %CallSiteGetLineNumberRT(this); } function CallSiteGetColumnNumber(){ return %CallSiteGetColumnNumberRT(this); } function CallSiteIsNative(){ return %CallSiteIsNativeRT(this); } function CallSiteIsConstructor(){ return %CallSiteIsConstructorRT(this); } function CallSiteToString(){ var aG; var aH=""; if(this.isNative()){ aH="native"; }else{ aG=this.getScriptNameOrSourceURL(); if(!aG&&this.isEval()){ aH=this.getEvalOrigin(); aH+=", "; } if(aG){ aH+=aG; }else{ aH+="<anonymous>"; } var aI=this.getLineNumber(); if(aI!=null){ aH+=":"+aI; var aJ=this.getColumnNumber(); if(aJ){ aH+=":"+aJ; } } } var ak=""; var aK=this.getFunctionName(); var aL=true; var aM=this.isConstructor(); var aN=!(this.isToplevel()||aM); if(aN){ var aO=GetTypeName((this[g]),true); var aP=this.getMethodName(); if(aK){ if(aO&&%_Call(y,aK,aO)!=0){ ak+=aO+"."; } ak+=aK; if(aP&& (%_Call(y,aK,"."+aP)!= aK.length-aP.length-1)){ ak+=" [as "+aP+"]"; } }else{ ak+=aO+"."+(aP||"<anonymous>"); } }else if(aM){ ak+="new "+(aK||"<anonymous>"); }else if(aK){ ak+=aK; }else{ ak+=aH; aL=false; } if(aL){ ak+=" ("+aH+")"; } return ak; } b.SetUpLockedPrototype(CallSite,["receiver","fun","pos"],[ "getThis",CallSiteGetThis, "getTypeName",CallSiteGetTypeName, "isToplevel",CallSiteIsToplevel, "isEval",CallSiteIsEval, "getEvalOrigin",CallSiteGetEvalOrigin, "getScriptNameOrSourceURL",CallSiteGetScriptNameOrSourceURL, "getFunction",CallSiteGetFunction, "getFunctionName",CallSiteGetFunctionName, "getMethodName",CallSiteGetMethodName, "getFileName",CallSiteGetFileName, "getLineNumber",CallSiteGetLineNumber, "getColumnNumber",CallSiteGetColumnNumber, "isNative",CallSiteIsNative, "getPosition",CallSiteGetPosition, "isConstructor",CallSiteIsConstructor, "toString",CallSiteToString ]); function FormatEvalOrigin(ad){ var aQ=ad.nameOrSourceURL(); if(aQ){ return aQ; } var aR="eval at "; if(ad.eval_from_function_name){ aR+=ad.eval_from_function_name; }else{ aR+="<anonymous>"; } var aS=ad.eval_from_script; if(aS){ if(aS.compilation_type==1){ aR+=" ("+FormatEvalOrigin(aS)+")"; }else{ if(aS.name){ aR+=" ("+aS.name; var ae=aS.locationFromPosition( ad.eval_from_script_position,true); if(ae){ aR+=":"+(ae.line+1); aR+=":"+(ae.column+1); } aR+=")"; }else{ aR+=" (unknown source)"; } } } return aR; } function FormatErrorString(aa){ try{ return %_Call(ErrorToString,aa); }catch(e){ try{ return"<error: "+e+">"; }catch(ee){ return"<error>"; } } } function GetStackFrames(aT){ var aU=new r(); var aV=aT[0]; for(var aj=1;aj<aT.length;aj+=4){ var aA=aT[aj]; var aB=aT[aj+1]; var aW=aT[aj+2]; var aX=aT[aj+3]; var aC=%_IsSmi(aW)?aW:%FunctionGetPositionForOffset(aW,aX); aV--; aU.push(new CallSite(aA,aB,aC,(aV<0))); } return aU; } var aY=false; function FormatStackTrace(Q,aT){ var aU=GetStackFrames(aT); if((%_IsFunction(G.prepareStackTrace))&& !aY){ var aZ=[]; %MoveArrayContents(aU,aZ); aY=true; var ba=(void 0); try{ ba=G.prepareStackTrace(Q,aZ); }catch(e){ throw e; }finally{ aY=false; } return ba; } var bb=new r(); bb.push(FormatErrorString(Q)); for(var aj=0;aj<aU.length;aj++){ var bc=aU[aj]; var ak; try{ ak=bc.toString(); }catch(e){ try{ ak="<error: "+e+">"; }catch(ee){ ak="<error>"; } } bb.push(" at "+ak); } return %_Call(c,bb,"\n"); } function GetTypeName(aE,bd){ if((aE==null))return null; if((%_IsJSProxy(aE)))return"Proxy"; var U=%GetDataProperty((%_ToObject(aE)),"constructor"); if(!(%_IsFunction(U))){ return bd?null:%_Call(NoSideEffectsToString,aE); } return %FunctionGetName(U); } var be=function(){ var bf=(void 0); var bg=this; while(bg){ var bf= (bg[m]); if((bf===(void 0))){ var ba=(bg[w]); if((ba===(void 0))){ bg=%_GetPrototype(bg); continue; } bf=FormatStackTrace(bg,ba); (bg[w]=(void 0)); (bg[m]=bf); } return bf; } return(void 0); }; var bh=function(bi){ if(IsErrorObject(this)){ (this[w]=(void 0)); (this[m]=bi); } }; var bj=function(){}; function SetUpError(bk){ %FunctionSetInstanceClassName(bk,'Error'); var R=bk.name; var bl=new n(); if(R!=='Error'){ %InternalSetPrototype(bk,G); %InternalSetPrototype(bl,G.prototype); } %FunctionSetPrototype(bk,bl); %AddNamedProperty(bk.prototype,'name',R,2); %AddNamedProperty(bk.prototype,'message','',2); %AddNamedProperty( bk.prototype,'constructor',bk,2); %SetCode(bk,function(bm){ if((new.target===(void 0)))return new bk(bm); try{bj(this,bk);}catch(e){} if(!(bm===(void 0))){ %AddNamedProperty(this,'message',(%_ToString(bm)),2); } }); %SetNativeFlag(bk); return bk; }; G=SetUpError(a.Error); M=SetUpError(a.EvalError); I=SetUpError(a.RangeError); L=SetUpError(a.ReferenceError); K=SetUpError(a.SyntaxError); H=SetUpError(a.TypeError); J=SetUpError(a.URIError); b.InstallFunctions(G.prototype,2, ['toString',ErrorToString]); function ErrorToString(){ if(!(%_IsJSReceiver(this))){ throw MakeTypeError(16,"Error.prototype.toString"); } var R=this.name; R=(R===(void 0))?"Error":(%_ToString(R)); var S=this.message; S=(S===(void 0))?"":(%_ToString(S)); if(R=="")return S; if(S=="")return R; return`${R}: ${S}` } function MakeError(W,X,Y,Z){ return MakeGenericError(G,W,X,Y,Z); } function MakeRangeError(W,X,Y,Z){ return MakeGenericError(I,W,X,Y,Z); } function MakeSyntaxError(W,X,Y,Z){ return MakeGenericError(K,W,X,Y,Z); } function MakeTypeError(W,X,Y,Z){ return MakeGenericError(H,W,X,Y,Z); } function MakeURIError(){ return MakeGenericError(J,283); } var bn=MakeRangeError(187); b.InstallGetterSetter(bn,'stack', be,bh) bj=function captureStackTrace(Q,bo){ t(Q,'stack',{get:be, set:bh, configurable:true}); %CollectStackTrace(Q,bo?bo:bj); }; G.captureStackTrace=bj; %InstallToContext([ "get_stack_trace_line_fun",GetStackTraceLine, "make_error_function",MakeGenericError, "make_range_error",MakeRangeError, "make_type_error",MakeTypeError, "message_get_column_number",GetColumnNumber, "message_get_line_number",GetLineNumber, "message_get_source_line",GetSourceLine, "no_side_effects_to_string_fun",NoSideEffectsToString, "stack_overflow_boilerplate",bn, ]); b.Export(function(bp){ bp.ErrorToString=ErrorToString; bp.MakeError=MakeError; bp.MakeRangeError=MakeRangeError; bp.MakeSyntaxError=MakeSyntaxError; bp.MakeTypeError=MakeTypeError; bp.MakeURIError=MakeURIError; }); }); jsonE (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=a.Date; var d=a.JSON; var e=a.Set; var f=b.InternalArray; var g; var h; var i; var j; var k=b.ImportNow("to_string_tag_symbol"); b.Import(function(l){ g=l.MakeTypeError; h=l.MaxSimple; i=l.MinSimple; j=l.ObjectHasOwnProperty; }); function CreateDataProperty(m,n,o){ var p={value:o,enumerable:true,writable:true,configurable:true}; return %reflect_define_property(m,n,p); } function InternalizeJSONProperty(q,r,s){ var t=q[r]; if((%_IsJSReceiver(t))){ if(%is_arraylike(t)){ var u=(%_ToLength(t.length)); for(var v=0;v<u;v++){ var w= InternalizeJSONProperty(t,%_NumberToString(v),s); if((w===(void 0))){ %reflect_delete_property(t,v); }else{ CreateDataProperty(t,v,w); } } }else{ for(var n of %object_keys(t)){ var w=InternalizeJSONProperty(t,n,s); if((w===(void 0))){ %reflect_delete_property(t,n); }else{ CreateDataProperty(t,n,w); } } } } return %_Call(s,q,r,t); } function JSONParse(x,s){ var y=%ParseJson(x); if((typeof(s)==='function')){ return InternalizeJSONProperty({'':y},'',s); }else{ return y; } } function SerializeArray(z,A,B,C,D){ if(!%PushIfAbsent(B,z))throw g(22); var E=C; C+=D; var F=new f(); var G=(%_ToLength(z.length)); for(var v=0;v<G;v++){ var H=JSONSerialize(%_NumberToString(v),z,A,B, C,D); if((H===(void 0))){ H="null"; } F.push(H); } var I; if(D==""){ I="["+F.join(",")+"]"; }else if(F.length>0){ var J=",\n"+C; I="[\n"+C+F.join(J)+"\n"+ E+"]"; }else{ I="[]"; } B.pop(); return I; } function SerializeObject(z,A,B,C,D){ if(!%PushIfAbsent(B,z))throw g(22); var E=C; C+=D; var F=new f(); if((%_IsArray(A))){ var u=A.length; for(var v=0;v<u;v++){ var n=A[v]; var H=JSONSerialize(n,z,A,B,C,D); if(!(H===(void 0))){ var K=%QuoteJSONString(n)+":"; if(D!="")K+=" "; K+=H; F.push(K); } } }else{ for(var n of %object_keys(z)){ var H=JSONSerialize(n,z,A,B,C,D); if(!(H===(void 0))){ var K=%QuoteJSONString(n)+":"; if(D!="")K+=" "; K+=H; F.push(K); } } } var I; if(D==""){ I="{"+F.join(",")+"}"; }else if(F.length>0){ var J=",\n"+C; I="{\n"+C+F.join(J)+"\n"+ E+"}"; }else{ I="{}"; } B.pop(); return I; } function JSONSerialize(L,q,A,B,C,D){ var z=q[L]; if((%_IsJSReceiver(z))){ var M=z.toJSON; if((typeof(M)==='function')){ z=%_Call(M,z,L); } } if((typeof(A)==='function')){ z=%_Call(A,q,L,z); } if((typeof(z)==='string')){ return %QuoteJSONString(z); }else if((typeof(z)==='number')){ return((%_IsSmi(%IS_VAR(z))||z-z==0)?%_NumberToString(z):"null"); }else if((typeof(z)==='boolean')){ return z?"true":"false"; }else if((z===null)){ return"null"; }else if((%_IsJSReceiver(z))&&!(typeof(z)==='function')){ if(%is_arraylike(z)){ return SerializeArray(z,A,B,C,D); }else if((%_ClassOf(z)==='Number')){ z=(%_ToNumber(z)); return((%_IsSmi(%IS_VAR(z))||z-z==0)?%_NumberToString(z):"null"); }else if((%_ClassOf(z)==='String')){ return %QuoteJSONString((%_ToString(z))); }else if((%_ClassOf(z)==='Boolean')){ return %_ValueOf(z)?"true":"false"; }else{ return SerializeObject(z,A,B,C,D); } } return(void 0); } function JSONStringify(z,A,N){ if(%_ArgumentsLength()==1&&!(%_IsJSProxy(z))){ return %BasicJSONStringify(z); } if(!(typeof(A)==='function')&&%is_arraylike(A)){ var O=new f(); var P=new e(); var u=(%_ToLength(A.length)); for(var v=0;v<u;v++){ var o=A[v]; var Q; if((typeof(o)==='string')){ Q=o; }else if((typeof(o)==='number')){ Q=%_NumberToString(o); }else if((%_ClassOf(o)==='String')||(%_ClassOf(o)==='Number')){ Q=(%_ToString(o)); }else{ continue; } if(!P.has(Q)){ O.push(Q); P.add(Q); } } A=O; } if((typeof(N)==='object')){ if((%_ClassOf(N)==='Number')){ N=(%_ToNumber(N)); }else if((%_ClassOf(N)==='String')){ N=(%_ToString(N)); } } var D; if((typeof(N)==='number')){ N=h(0,i((%_ToInteger(N)),10)); D=%_SubString(" ",0,N); }else if((typeof(N)==='string')){ if(N.length>10){ D=%_SubString(N,0,10); }else{ D=N; } }else{ D=""; } return JSONSerialize('',{'':z},A,new f(),"",D); } %AddNamedProperty(d,k,"JSON",1|2); b.InstallFunctions(d,2,[ "parse",JSONParse, "stringify",JSONStringify ]); function DateToJSON(L){ var m=(%_ToObject(this)); var R=(%_ToPrimitive_Number(m)); if((typeof(R)==='number')&&!(%_IsSmi(%IS_VAR(R))||((R==R)&&(R!=1/0)&&(R!=-1/0)))){ return null; } return m.toISOString(); } b.InstallFunctions(c.prototype,2,[ "toJSON",DateToJSON ]); function JsonSerializeAdapter(L,S){ var q={}; q[L]=S; return JSONSerialize(L,q,(void 0),new f(),"",""); } %InstallToContext(["json_serialize_adapter",JsonSerializeAdapter]); }) 8array-iterator? (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c= b.ImportNow("array_iteration_kind_symbol"); var d= b.ImportNow("array_iterator_next_symbol"); var e= b.ImportNow("array_iterator_object_symbol"); var f=a.Array; var g=b.ImportNow("IteratorPrototype"); var h=b.ImportNow("iterator_symbol"); var i; var j=b.ImportNow("to_string_tag_symbol"); var k=a.Uint8Array.__proto__; b.Import(function(l){ i=l.MakeTypeError; }) function ArrayIterator(){} function CreateArrayIterator(m,n){ var o=(%_ToObject(m)); var p=new ArrayIterator; (p[e]=o); (p[d]=0); (p[c]=n); return p; } function ArrayIteratorIterator(){ return this; } function ArrayIteratorNext(){ var p=this; var q=(void 0); var r=true; if(!(%_IsJSReceiver(p))|| !(!(p[d]===(void 0)))){ throw i(42, 'Array Iterator.prototype.next',this); } var m=(p[e]); if(!(m===(void 0))){ var s=(p[d]); var t=(p[c]); var u=((m.length)>>>0); if(s>=u){ (p[e]=(void 0)); }else{ (p[d]=s+1); if(t==2){ q=m[s]; }else if(t==3){ q=[s,m[s]]; }else{ q=s; } r=false; } } return %_CreateIterResultObject(q,r); } function ArrayEntries(){ return CreateArrayIterator(this,3); } function ArrayValues(){ return CreateArrayIterator(this,2); } function ArrayKeys(){ return CreateArrayIterator(this,1); } %FunctionSetPrototype(ArrayIterator,{__proto__:g}); %FunctionSetInstanceClassName(ArrayIterator,'Array Iterator'); b.InstallFunctions(ArrayIterator.prototype,2,[ 'next',ArrayIteratorNext ]); b.SetFunctionName(ArrayIteratorIterator,h); %AddNamedProperty(ArrayIterator.prototype,h, ArrayIteratorIterator,2); %AddNamedProperty(ArrayIterator.prototype,j, "Array Iterator",1|2); b.InstallFunctions(f.prototype,2,[ 'entries',ArrayEntries, 'keys',ArrayKeys ]); b.SetFunctionName(ArrayValues,'values'); %AddNamedProperty(f.prototype,h,ArrayValues, 2); %AddNamedProperty(k.prototype, 'entries',ArrayEntries,2); %AddNamedProperty(k.prototype,'values',ArrayValues,2); %AddNamedProperty(k.prototype,'keys',ArrayKeys,2); %AddNamedProperty(k.prototype, h,ArrayValues,2); b.Export(function(v){ v.ArrayValues=ArrayValues; }); %InstallToContext(["array_values_iterator",ArrayValues]); }) <string-iterator5 (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=a.String; var d=b.ImportNow("IteratorPrototype"); var e=b.ImportNow("iterator_symbol"); var f; var g= b.ImportNow("string_iterator_iterated_string_symbol"); var h= b.ImportNow("string_iterator_next_index_symbol"); var i=b.ImportNow("to_string_tag_symbol"); b.Import(function(j){ f=j.MakeTypeError; }); function StringIterator(){} function CreateStringIterator(k){ var l=(%_ToString(k)); var m=new StringIterator; (m[g]=l); (m[h]=0); return m; } function StringIteratorNext(){ var m=this; var n=(void 0); var o=true; if(!(%_IsJSReceiver(m))|| !(!(m[h]===(void 0)))){ throw f(42, 'String Iterator.prototype.next'); } var l=(m[g]); if(!(l===(void 0))){ var p=(m[h]); var q=((l.length)>>>0); if(p>=q){ (m[g]=(void 0)); }else{ var r=%_StringCharCodeAt(l,p); n=%_StringCharFromCode(r); o=false; p++; if(r>=0xD800&&r<=0xDBFF&&p<q){ var s=%_StringCharCodeAt(l,p); if(s>=0xDC00&&s<=0xDFFF){ n+=%_StringCharFromCode(s); p++; } } (m[h]=p); } } return %_CreateIterResultObject(n,o); } function StringPrototypeIterator(){ return CreateStringIterator(this); } %FunctionSetPrototype(StringIterator,{__proto__:d}); %FunctionSetInstanceClassName(StringIterator,'String Iterator'); b.InstallFunctions(StringIterator.prototype,2,[ 'next',StringIteratorNext ]); %AddNamedProperty(StringIterator.prototype,i, "String Iterator",1|2); b.SetFunctionName(StringPrototypeIterator,e); %AddNamedProperty(c.prototype,e, StringPrototypeIterator,2); }) $templates (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=a.Map; var d=b.InternalArray; var e=new c; var f=c.prototype.get; var g=c.prototype.set; function SameCallSiteElements(h,i){ var j=h.length; var i=i.raw; if(j!==i.length)return false; for(var k=0;k<j;++k){ if(h[k]!==i[k])return false; } return true; } function GetCachedCallSite(l,m){ var n=%_Call(f,e,m); if((n===(void 0)))return; var j=n.length; for(var k=0;k<j;++k){ if(SameCallSiteElements(l,n[k]))return n[k]; } } function SetCachedCallSite(l,m){ var n=%_Call(f,e,m); var o; if((n===(void 0))){ o=new d(1); o[0]=l; %_Call(g,e,m,o); }else{ n.push(l); } return l; } function GetTemplateCallSite(l,h,m){ var p=GetCachedCallSite(h,m); if(!(p===(void 0)))return p; %AddNamedProperty(l,"raw",%object_freeze(h), 1|2|4); return SetCachedCallSite(%object_freeze(l),m); } %InstallToContext(["get_template_call_site",GetTemplateCallSite]); }) spread? (function(a,b){ 'use strict'; var c=b.InternalArray; var d; b.Import(function(e){ d=e.MakeTypeError; }); function SpreadArguments(){ var f=%_ArgumentsLength(); var g=new c(); for(var h=0;h<f;++h){ var i=%_Arguments(h); var j=i.length; for(var k=0;k<j;++k){ g.push(i[k]); } } return g; } function SpreadIterable(l){ if((l==null)){ throw d(66,l); } var g=new c(); for(var m of l){ g.push(m); } return g; } %InstallToContext([ "spread_arguments",SpreadArguments, "spread_iterable",SpreadIterable, ]); }) i18nF? (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c; var d; var e; var f; var g; var h=a.Boolean; var i=a.Date; var j=a.Number; var k=a.RegExp; var l=a.String; var m; var n; var o; var p; var q=b.ImportNow("ObjectDefineProperties"); var r=b.ImportNow("ObjectDefineProperty"); var s=b.ImportNow("intl_pattern_symbol"); var t; var u=b.ImportNow("intl_resolved_symbol"); var v; var w; var x; var y; var z; var A; var B; b.Import(function(C){ c=C.ArrayIndexOf; d=C.ArrayJoin; e=C.ArrayPush; f=C.IsFinite; g=C.IsNaN; m=C.MakeError; n=C.MakeRangeError; o=C.MakeTypeError; p=C.MathFloor; t=C.RegExpTest; v=C.StringIndexOf; w=C.StringLastIndexOf; x=C.StringMatch; y=C.StringReplace; z=C.StringSplit; A=C.StringSubstr; B=C.StringSubstring; }); var D={}; %AddNamedProperty(a,"Intl",D,2); var E={ 'collator':(void 0), 'numberformat':(void 0), 'dateformat':(void 0), 'breakiterator':(void 0) }; var F=(void 0); var G=(void 0); function GetUnicodeExtensionRE(){ if(((void 0)===(void 0))){ G=new k('-u(-[a-z0-9]{2,8})+','g'); } return G; } var H=(void 0); function GetAnyExtensionRE(){ if((H===(void 0))){ H=new k('-[a-z0-9]{1}-.*','g'); } return H; } var I=(void 0); function GetQuotedStringRE(){ if((I===(void 0))){ I=new k("'[^']+'",'g'); } return I; } var J=(void 0); function GetServiceRE(){ if((J===(void 0))){ J= new k('^(collator|numberformat|dateformat|breakiterator)$'); } return J; } var K=(void 0); function GetLanguageTagRE(){ if((K===(void 0))){ BuildLanguageTagREs(); } return K; } var L=(void 0); function GetLanguageVariantRE(){ if((L===(void 0))){ BuildLanguageTagREs(); } return L; } var M=(void 0); function GetLanguageSingletonRE(){ if((M===(void 0))){ BuildLanguageTagREs(); } return M; } var N=(void 0); function GetTimezoneNameCheckRE(){ if((N===(void 0))){ N=new k( '^([A-Za-z]+)/([A-Za-z_-]+)((?:\/[A-Za-z_-]+)+)*$'); } return N; } var O=(void 0); function GetTimezoneNameLocationPartRE(){ if((O===(void 0))){ O= new k('^([A-Za-z]+)((?:[_-][A-Za-z]+)+)*$'); } return O; } function addBoundMethod(P,Q,R,S){ %CheckIsBootstrapping(); function getter(){ if(!%IsInitializedIntlObject(this)){ throw o(51,Q); } var T='__bound'+Q+'__'; if((this[T]===(void 0))){ var U=this; var V; if((S===(void 0))||S===2){ V=function(W,X){ if(!(new.target===(void 0))){ throw o(87); } return R(U,W,X); } }else if(S===1){ V=function(W){ if(!(new.target===(void 0))){ throw o(87); } return R(U,W); } }else{ V=function(){ if(!(new.target===(void 0))){ throw o(87); } if(%_ArgumentsLength()>0){ return R(U,%_Arguments(0)); }else{ return R(U); } } } %FunctionSetName(V,T); %FunctionRemovePrototype(V); %SetNativeFlag(V); this[T]=V; } return this[T]; } %FunctionSetName(getter,Q); %FunctionRemovePrototype(getter); %SetNativeFlag(getter); r(P.prototype,Q,{ get:getter, enumerable:false, configurable:true }); } function supportedLocalesOf(Y,Z,aa){ if((%_Call(x,Y,GetServiceRE())===null)){ throw m(7,Y); } if((aa===(void 0))){ aa={}; }else{ aa=(%_ToObject(aa)); } var ab=aa.localeMatcher; if(!(ab===(void 0))){ ab=l(ab); if(ab!=='lookup'&&ab!=='best fit'){ throw n(183,ab); } }else{ ab='best fit'; } var ac=initializeLocaleList(Z); if((E[Y]===(void 0))){ E[Y]=getAvailableLocalesOf(Y); } if(ab==='best fit'){ return initializeLocaleList(bestFitSupportedLocalesOf( ac,E[Y])); } return initializeLocaleList(lookupSupportedLocalesOf( ac,E[Y])); } function lookupSupportedLocalesOf(ac,ad){ var ae=[]; for(var af=0;af<ac.length;++af){ var ag=%_Call(y, ac[af], GetUnicodeExtensionRE(), ''); do{ if(!(ad[ag]===(void 0))){ %_Call(e,ae,ac[af]); break; } var ah=%_Call(w,ag,'-'); if(ah===-1){ break; } ag=%_Call(B,ag,0,ah); }while(true); } return ae; } function bestFitSupportedLocalesOf(ac,ad){ return lookupSupportedLocalesOf(ac,ad); } function getGetOption(aa,ai){ if((aa===(void 0)))throw m(4,ai); var aj=function getOption(ak,al,am,an){ if(!(aa[ak]===(void 0))){ var ao=aa[ak]; switch(al){ case'boolean': ao=h(ao); break; case'string': ao=l(ao); break; case'number': ao=j(ao); break; default: throw m(8); } if(!(am===(void 0))&&%_Call(c,am,ao)===-1){ throw n(193,ao,ai,ak); } return ao; } return an; } return aj; } function resolveLocale(Y,ac,aa){ ac=initializeLocaleList(ac); var aj=getGetOption(aa,Y); var ab=aj('localeMatcher','string', ['lookup','best fit'],'best fit'); var ap; if(ab==='lookup'){ ap=lookupMatcher(Y,ac); }else{ ap=bestFitMatcher(Y,ac); } return ap; } function lookupMatcher(Y,ac){ if((%_Call(x,Y,GetServiceRE())===null)){ throw m(7,Y); } if((E[Y]===(void 0))){ E[Y]=getAvailableLocalesOf(Y); } for(var af=0;af<ac.length;++af){ var ag=%_Call(y,ac[af], GetAnyExtensionRE(),''); do{ if(!(E[Y][ag]===(void 0))){ var aq= %_Call(x,ac[af],GetUnicodeExtensionRE()); var ar=(aq===null)?'':aq[0]; return{'locale':ag,'extension':ar,'position':af}; } var ah=%_Call(w,ag,'-'); if(ah===-1){ break; } ag=%_Call(B,ag,0,ah); }while(true); } if((F===(void 0))){ F=%GetDefaultICULocale(); } return{'locale':F,'extension':'','position':-1}; } function bestFitMatcher(Y,ac){ return lookupMatcher(Y,ac); } function parseExtension(ar){ var as=%_Call(z,ar,'-'); if(as.length<=2|| (as[0]!==''&&as[1]!=='u')){ return{}; } var at={}; var au=(void 0); for(var af=2;af<as.length;++af){ var S=as[af].length; var av=as[af]; if(S===2){ at[av]=(void 0); au=av; }else if(S>=3&&S<=8&&!(au===(void 0))){ at[au]=av; au=(void 0); }else{ return{}; } } return at; } function setOptions(aw,at,ax,aj,ay){ var ar=''; var az=function updateExtension(aA,ao){ return'-'+aA+'-'+l(ao); } var aB=function updateProperty(ak,al,ao){ if(al==='boolean'&&(typeof ao==='string')){ ao=(ao==='true')?true:false; } if(!(ak===(void 0))){ defineWEProperty(ay,ak,ao); } } for(var aA in ax){ if(%HasOwnProperty(ax,aA)){ var ao=(void 0); var aC=ax[aA]; if(!(aC.property===(void 0))){ ao=aj(aC.property,aC.type,aC.values); } if(!(ao===(void 0))){ aB(aC.property,aC.type,ao); ar+=az(aA,ao); continue; } if(%HasOwnProperty(at,aA)){ ao=at[aA]; if(!(ao===(void 0))){ aB(aC.property,aC.type,ao); ar+=az(aA,ao); }else if(aC.type==='boolean'){ aB(aC.property,aC.type,true); ar+=az(aA,true); } } } } return ar===''?'':'-u'+ar; } function freezeArray(aD){ var aE=aD.length; for(var af=0;af<aE;af++){ if(af in aD){ r(aD,af,{value:aD[af], configurable:false, writable:false, enumerable:true}); } } r(aD,'length',{value:aE,writable:false}); return aD; } function getOptimalLanguageTag(aF,ap){ if(aF===ap){ return aF; } var Z=%GetLanguageTagVariants([aF,ap]); if(Z[0].maximized!==Z[1].maximized){ return ap; } var aG=new k('^'+Z[1].base); return %_Call(y,ap,aG,Z[0].base); } function getAvailableLocalesOf(Y){ var aH=%AvailableLocalesOf(Y); for(var af in aH){ if(%HasOwnProperty(aH,af)){ var aI= %_Call(x,af,/^([a-z]{2,3})-([A-Z][a-z]{3})-([A-Z]{2})$/); if(aI!==null){ aH[aI[1]+'-'+aI[3]]=null; } } } return aH; } function defineWEProperty(aJ,ak,ao){ r(aJ,ak, {value:ao,writable:true,enumerable:true}); } function addWEPropertyIfDefined(aJ,ak,ao){ if(!(ao===(void 0))){ defineWEProperty(aJ,ak,ao); } } function defineWECProperty(aJ,ak,ao){ r(aJ,ak,{value:ao, writable:true, enumerable:true, configurable:true}); } function addWECPropertyIfDefined(aJ,ak,ao){ if(!(ao===(void 0))){ defineWECProperty(aJ,ak,ao); } } function toTitleCaseWord(aK){ return %StringToUpperCase(%_Call(A,aK,0,1))+ %StringToLowerCase(%_Call(A,aK,1)); } function toTitleCaseTimezoneLocation(aL){ var aM=%_Call(x,aL,GetTimezoneNameLocationPartRE()); if((aM===null))throw n(163,aL); var aN=toTitleCaseWord(aM[1]); if(!(aM[2]===(void 0))&&2<aM.length){ var aO=%_Call(B,aM[2],0,1); var aI=%_Call(z,aM[2],aO); for(var af=1;af<aI.length;af++){ var aP=aI[af] var aQ=%StringToLowerCase(aP); aN=aN+aO+ ((aQ!=='es'&& aQ!=='of'&&aQ!=='au')? toTitleCaseWord(aP):aQ); } } return aN; } function canonicalizeLanguageTag(aR){ if(typeof aR!=='string'&&typeof aR!=='object'|| (aR===null)){ throw o(50); } var aS=l(aR); if(isValidLanguageTag(aS)===false){ throw n(174,aS); } var aT=%CanonicalizeLanguageTag(aS); if(aT==='invalid-tag'){ throw n(174,aS); } return aT; } function initializeLocaleList(Z){ var aU=[]; if((Z===(void 0))){ aU=[]; }else{ if(typeof Z==='string'){ %_Call(e,aU,canonicalizeLanguageTag(Z)); return freezeArray(aU); } var aV=(%_ToObject(Z)); var aW=((aV.length)>>>0); for(var aX=0;aX<aW;aX++){ if(aX in aV){ var ao=aV[aX]; var aT=canonicalizeLanguageTag(ao); if(%_Call(c,aU,aT)===-1){ %_Call(e,aU,aT); } } } } return freezeArray(aU); } function isValidLanguageTag(ag){ if(!%_Call(t,GetLanguageTagRE(),ag)){ return false; } if(%_Call(v,ag,'x-')===0){ return true; } ag=%_Call(z,ag,/-x-/)[0]; var aY=[]; var aZ=[]; var aI=%_Call(z,ag,/-/); for(var af=1;af<aI.length;af++){ var ao=aI[af]; if(%_Call(t,GetLanguageVariantRE(),ao)&& aZ.length===0){ if(%_Call(c,aY,ao)===-1){ %_Call(e,aY,ao); }else{ return false; } } if(%_Call(t,GetLanguageSingletonRE(),ao)){ if(%_Call(c,aZ,ao)===-1){ %_Call(e,aZ,ao); }else{ return false; } } } return true; } function BuildLanguageTagREs(){ var ba='[a-zA-Z]'; var bb='[0-9]'; var bc='('+ba+'|'+bb+')'; var bd='(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|'+ 'zh-min|zh-min-nan|zh-xiang)'; var be='(en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|'+ 'i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|'+ 'i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)'; var bf='('+be+'|'+bd+')'; var bg='(x(-'+bc+'{1,8})+)'; var bh='('+bb+'|[A-WY-Za-wy-z])'; M=new k('^'+bh+'$','i'); var ar='('+bh+'(-'+bc+'{2,8})+)'; var bi='('+bc+'{5,8}|('+bb+bc+'{3}))'; L=new k('^'+bi+'$','i'); var bj='('+ba+'{2}|'+bb+'{3})'; var bk='('+ba+'{4})'; var bl='('+ba+'{3}(-'+ba+'{3}){0,2})'; var bm='('+ba+'{2,3}(-'+bl+')?|'+ba+'{4}|'+ ba+'{5,8})'; var bn=bm+'(-'+bk+')?(-'+bj+')?(-'+ bi+')*(-'+ar+')*(-'+bg+')?'; var bo= '^('+bn+'|'+bg+'|'+bf+')$'; K=new k(bo,'i'); } var bp={ get(){ %IncrementUseCounter(16); return this[u]; }, set(ao){ this[u]=ao; } }; function initializeCollator(bq,Z,aa){ if(%IsInitializedIntlObject(bq)){ throw o(132,"Collator"); } if((aa===(void 0))){ aa={}; } var aj=getGetOption(aa,'collator'); var br={}; defineWEProperty(br,'usage',aj( 'usage','string',['sort','search'],'sort')); var bs=aj('sensitivity','string', ['base','accent','case','variant']); if((bs===(void 0))&&br.usage==='sort'){ bs='variant'; } defineWEProperty(br,'sensitivity',bs); defineWEProperty(br,'ignorePunctuation',aj( 'ignorePunctuation','boolean',(void 0),false)); var ag=resolveLocale('collator',Z,aa); var at=parseExtension(ag.extension); var bt={ 'kn':{'property':'numeric','type':'boolean'}, 'kf':{'property':'caseFirst','type':'string', 'values':['false','lower','upper']} }; setOptions( aa,at,bt,aj,br); var bu='default'; var ar=''; if(%HasOwnProperty(at,'co')&&br.usage==='sort'){ var bv=[ 'big5han','dict','direct','ducet','gb2312','phonebk','phonetic', 'pinyin','reformed','searchjl','stroke','trad','unihan','zhuyin' ]; if(%_Call(c,bv,at.co)!==-1){ ar='-u-co-'+at.co; bu=at.co; } }else if(br.usage==='search'){ ar='-u-co-search'; } defineWEProperty(br,'collation',bu); var bw=ag.locale+ar; var ap=q({},{ caseFirst:{writable:true}, collation:{value:br.collation,writable:true}, ignorePunctuation:{writable:true}, locale:{writable:true}, numeric:{writable:true}, requestedLocale:{value:bw,writable:true}, sensitivity:{writable:true}, strength:{writable:true}, usage:{value:br.usage,writable:true} }); var bx=%CreateCollator(bw, br, ap); %MarkAsInitializedIntlObjectOfType(bq,'collator',bx); bq[u]=ap; r(bq,'resolved',bp); return bq; } %AddNamedProperty(D,'Collator',function(){ var Z=%_Arguments(0); var aa=%_Arguments(1); if(!this||this===D){ return new D.Collator(Z,aa); } return initializeCollator((%_ToObject(this)),Z,aa); }, 2 ); %AddNamedProperty(D.Collator.prototype,'resolvedOptions',function(){ if(!(new.target===(void 0))){ throw o(87); } if(!%IsInitializedIntlObjectOfType(this,'collator')){ throw o(133,"Collator"); } var by=this; var ag=getOptimalLanguageTag(by[u].requestedLocale, by[u].locale); return{ locale:ag, usage:by[u].usage, sensitivity:by[u].sensitivity, ignorePunctuation:by[u].ignorePunctuation, numeric:by[u].numeric, caseFirst:by[u].caseFirst, collation:by[u].collation }; }, 2 ); %FunctionSetName(D.Collator.prototype.resolvedOptions,'resolvedOptions'); %FunctionRemovePrototype(D.Collator.prototype.resolvedOptions); %SetNativeFlag(D.Collator.prototype.resolvedOptions); %AddNamedProperty(D.Collator,'supportedLocalesOf',function(Z){ if(!(new.target===(void 0))){ throw o(87); } return supportedLocalesOf('collator',Z,%_Arguments(1)); }, 2 ); %FunctionSetName(D.Collator.supportedLocalesOf,'supportedLocalesOf'); %FunctionRemovePrototype(D.Collator.supportedLocalesOf); %SetNativeFlag(D.Collator.supportedLocalesOf); function compare(bq,W,X){ return %InternalCompare(%GetImplFromInitializedIntlObject(bq), l(W),l(X)); }; addBoundMethod(D.Collator,'compare',compare,2); function isWellFormedCurrencyCode(bz){ return typeof bz=="string"&& bz.length==3&& %_Call(x,bz,/[^A-Za-z]/)==null; } function getNumberOption(aa,ak,bA,bB,bC){ var ao=aa[ak]; if(!(ao===(void 0))){ ao=j(ao); if(g(ao)||ao<bA||ao>bB){ throw n(186,ak); } return p(ao); } return bC; } var bD={ get(){ %IncrementUseCounter(15); return this[s]; }, set(ao){ this[s]=ao; } }; function initializeNumberFormat(bE,Z,aa){ if(%IsInitializedIntlObject(bE)){ throw o(132,"NumberFormat"); } if((aa===(void 0))){ aa={}; } var aj=getGetOption(aa,'numberformat'); var ag=resolveLocale('numberformat',Z,aa); var br={}; defineWEProperty(br,'style',aj( 'style','string',['decimal','percent','currency'],'decimal')); var bz=aj('currency','string'); if(!(bz===(void 0))&&!isWellFormedCurrencyCode(bz)){ throw n(169,bz); } if(br.style==='currency'&&(bz===(void 0))){ throw o(28); } var bF=aj( 'currencyDisplay','string',['code','symbol','name'],'symbol'); if(br.style==='currency'){ defineWEProperty(br,'currency',%StringToUpperCase(bz)); defineWEProperty(br,'currencyDisplay',bF); } var bG=getNumberOption(aa,'minimumIntegerDigits',1,21,1); defineWEProperty(br,'minimumIntegerDigits',bG); var bH=aa['minimumFractionDigits']; var bI=aa['maximumFractionDigits']; if(!(bH===(void 0))||br.style!=='currency'){ bH=getNumberOption(aa,'minimumFractionDigits',0,20,0); defineWEProperty(br,'minimumFractionDigits',bH); } if(!(bI===(void 0))||br.style!=='currency'){ var bJ=br.style==='percent'?0:3; bH=(bH===(void 0))?0:bH; var bK=(bH>bJ)?bH:bJ; bI=getNumberOption(aa,'maximumFractionDigits',bH,20,bK); defineWEProperty(br,'maximumFractionDigits',bI); } var bL=aa['minimumSignificantDigits']; var bM=aa['maximumSignificantDigits']; if(!(bL===(void 0))||!(bM===(void 0))){ bL=getNumberOption(aa,'minimumSignificantDigits',1,21,0); defineWEProperty(br,'minimumSignificantDigits',bL); bM=getNumberOption(aa,'maximumSignificantDigits',bL,21,21); defineWEProperty(br,'maximumSignificantDigits',bM); } defineWEProperty(br,'useGrouping',aj( 'useGrouping','boolean',(void 0),true)); var at=parseExtension(ag.extension); var bN={ 'nu':{'property':(void 0),'type':'string'} }; var ar=setOptions(aa,at,bN, aj,br); var bw=ag.locale+ar; var ap=q({},{ currency:{writable:true}, currencyDisplay:{writable:true}, locale:{writable:true}, maximumFractionDigits:{writable:true}, minimumFractionDigits:{writable:true}, minimumIntegerDigits:{writable:true}, numberingSystem:{writable:true}, pattern:bD, requestedLocale:{value:bw,writable:true}, style:{value:br.style,writable:true}, useGrouping:{writable:true} }); if(%HasOwnProperty(br,'minimumSignificantDigits')){ defineWEProperty(ap,'minimumSignificantDigits',(void 0)); } if(%HasOwnProperty(br,'maximumSignificantDigits')){ defineWEProperty(ap,'maximumSignificantDigits',(void 0)); } var bO=%CreateNumberFormat(bw, br, ap); if(br.style==='currency'){ r(ap,'currencyDisplay',{value:bF, writable:true}); } %MarkAsInitializedIntlObjectOfType(bE,'numberformat',bO); bE[u]=ap; r(bE,'resolved',bp); return bE; } %AddNamedProperty(D,'NumberFormat',function(){ var Z=%_Arguments(0); var aa=%_Arguments(1); if(!this||this===D){ return new D.NumberFormat(Z,aa); } return initializeNumberFormat((%_ToObject(this)),Z,aa); }, 2 ); %AddNamedProperty(D.NumberFormat.prototype,'resolvedOptions',function(){ if(!(new.target===(void 0))){ throw o(87); } if(!%IsInitializedIntlObjectOfType(this,'numberformat')){ throw o(133,"NumberFormat"); } var bP=this; var ag=getOptimalLanguageTag(bP[u].requestedLocale, bP[u].locale); var aN={ locale:ag, numberingSystem:bP[u].numberingSystem, style:bP[u].style, useGrouping:bP[u].useGrouping, minimumIntegerDigits:bP[u].minimumIntegerDigits, minimumFractionDigits:bP[u].minimumFractionDigits, maximumFractionDigits:bP[u].maximumFractionDigits, }; if(aN.style==='currency'){ defineWECProperty(aN,'currency',bP[u].currency); defineWECProperty(aN,'currencyDisplay', bP[u].currencyDisplay); } if(%HasOwnProperty(bP[u],'minimumSignificantDigits')){ defineWECProperty(aN,'minimumSignificantDigits', bP[u].minimumSignificantDigits); } if(%HasOwnProperty(bP[u],'maximumSignificantDigits')){ defineWECProperty(aN,'maximumSignificantDigits', bP[u].maximumSignificantDigits); } return aN; }, 2 ); %FunctionSetName(D.NumberFormat.prototype.resolvedOptions, 'resolvedOptions'); %FunctionRemovePrototype(D.NumberFormat.prototype.resolvedOptions); %SetNativeFlag(D.NumberFormat.prototype.resolvedOptions); %AddNamedProperty(D.NumberFormat,'supportedLocalesOf',function(Z){ if(!(new.target===(void 0))){ throw o(87); } return supportedLocalesOf('numberformat',Z,%_Arguments(1)); }, 2 ); %FunctionSetName(D.NumberFormat.supportedLocalesOf,'supportedLocalesOf'); %FunctionRemovePrototype(D.NumberFormat.supportedLocalesOf); %SetNativeFlag(D.NumberFormat.supportedLocalesOf); function formatNumber(bO,ao){ var bQ=(%_ToNumber(ao))+0; return %InternalNumberFormat(%GetImplFromInitializedIntlObject(bO), bQ); } function parseNumber(bO,ao){ return %InternalNumberParse(%GetImplFromInitializedIntlObject(bO), l(ao)); } addBoundMethod(D.NumberFormat,'format',formatNumber,1); addBoundMethod(D.NumberFormat,'v8Parse',parseNumber,1); function toLDMLString(aa){ var aj=getGetOption(aa,'dateformat'); var bR=''; var bS=aj('weekday','string',['narrow','short','long']); bR+=appendToLDMLString( bS,{narrow:'EEEEE',short:'EEE',long:'EEEE'}); bS=aj('era','string',['narrow','short','long']); bR+=appendToLDMLString( bS,{narrow:'GGGGG',short:'GGG',long:'GGGG'}); bS=aj('year','string',['2-digit','numeric']); bR+=appendToLDMLString(bS,{'2-digit':'yy','numeric':'y'}); bS=aj('month','string', ['2-digit','numeric','narrow','short','long']); bR+=appendToLDMLString(bS,{'2-digit':'MM','numeric':'M', 'narrow':'MMMMM','short':'MMM','long':'MMMM'}); bS=aj('day','string',['2-digit','numeric']); bR+=appendToLDMLString( bS,{'2-digit':'dd','numeric':'d'}); var bT=aj('hour12','boolean'); bS=aj('hour','string',['2-digit','numeric']); if((bT===(void 0))){ bR+=appendToLDMLString(bS,{'2-digit':'jj','numeric':'j'}); }else if(bT===true){ bR+=appendToLDMLString(bS,{'2-digit':'hh','numeric':'h'}); }else{ bR+=appendToLDMLString(bS,{'2-digit':'HH','numeric':'H'}); } bS=aj('minute','string',['2-digit','numeric']); bR+=appendToLDMLString(bS,{'2-digit':'mm','numeric':'m'}); bS=aj('second','string',['2-digit','numeric']); bR+=appendToLDMLString(bS,{'2-digit':'ss','numeric':'s'}); bS=aj('timeZoneName','string',['short','long']); bR+=appendToLDMLString(bS,{short:'z',long:'zzzz'}); return bR; } function appendToLDMLString(bS,bU){ if(!(bS===(void 0))){ return bU[bS]; }else{ return''; } } function fromLDMLString(bR){ bR=%_Call(y,bR,GetQuotedStringRE(),''); var aa={}; var aM=%_Call(x,bR,/E{3,5}/g); aa=appendToDateTimeObject( aa,'weekday',aM,{EEEEE:'narrow',EEE:'short',EEEE:'long'}); aM=%_Call(x,bR,/G{3,5}/g); aa=appendToDateTimeObject( aa,'era',aM,{GGGGG:'narrow',GGG:'short',GGGG:'long'}); aM=%_Call(x,bR,/y{1,2}/g); aa=appendToDateTimeObject( aa,'year',aM,{y:'numeric',yy:'2-digit'}); aM=%_Call(x,bR,/M{1,5}/g); aa=appendToDateTimeObject(aa,'month',aM,{MM:'2-digit', M:'numeric',MMMMM:'narrow',MMM:'short',MMMM:'long'}); aM=%_Call(x,bR,/L{1,5}/g); aa=appendToDateTimeObject(aa,'month',aM,{LL:'2-digit', L:'numeric',LLLLL:'narrow',LLL:'short',LLLL:'long'}); aM=%_Call(x,bR,/d{1,2}/g); aa=appendToDateTimeObject( aa,'day',aM,{d:'numeric',dd:'2-digit'}); aM=%_Call(x,bR,/h{1,2}/g); if(aM!==null){ aa['hour12']=true; } aa=appendToDateTimeObject( aa,'hour',aM,{h:'numeric',hh:'2-digit'}); aM=%_Call(x,bR,/H{1,2}/g); if(aM!==null){ aa['hour12']=false; } aa=appendToDateTimeObject( aa,'hour',aM,{H:'numeric',HH:'2-digit'}); aM=%_Call(x,bR,/m{1,2}/g); aa=appendToDateTimeObject( aa,'minute',aM,{m:'numeric',mm:'2-digit'}); aM=%_Call(x,bR,/s{1,2}/g); aa=appendToDateTimeObject( aa,'second',aM,{s:'numeric',ss:'2-digit'}); aM=%_Call(x,bR,/z|zzzz/g); aa=appendToDateTimeObject( aa,'timeZoneName',aM,{z:'short',zzzz:'long'}); return aa; } function appendToDateTimeObject(aa,bS,aM,bU){ if((aM===null)){ if(!%HasOwnProperty(aa,bS)){ defineWEProperty(aa,bS,(void 0)); } return aa; } var ak=aM[0]; defineWEProperty(aa,bS,bU[ak]); return aa; } function toDateTimeOptions(aa,bV,bW){ if((aa===(void 0))){ aa={}; }else{ aa=(%_ToObject(aa)); } var bX=true; if((bV==='date'||bV==='any')&& (!(aa.weekday===(void 0))||!(aa.year===(void 0))|| !(aa.month===(void 0))||!(aa.day===(void 0)))){ bX=false; } if((bV==='time'||bV==='any')&& (!(aa.hour===(void 0))||!(aa.minute===(void 0))|| !(aa.second===(void 0)))){ bX=false; } if(bX&&(bW==='date'||bW==='all')){ r(aa,'year',{value:'numeric', writable:true, enumerable:true, configurable:true}); r(aa,'month',{value:'numeric', writable:true, enumerable:true, configurable:true}); r(aa,'day',{value:'numeric', writable:true, enumerable:true, configurable:true}); } if(bX&&(bW==='time'||bW==='all')){ r(aa,'hour',{value:'numeric', writable:true, enumerable:true, configurable:true}); r(aa,'minute',{value:'numeric', writable:true, enumerable:true, configurable:true}); r(aa,'second',{value:'numeric', writable:true, enumerable:true, configurable:true}); } return aa; } function initializeDateTimeFormat(bY,Z,aa){ if(%IsInitializedIntlObject(bY)){ throw o(132,"DateTimeFormat"); } if((aa===(void 0))){ aa={}; } var ag=resolveLocale('dateformat',Z,aa); aa=toDateTimeOptions(aa,'any','date'); var aj=getGetOption(aa,'dateformat'); var ab=aj('formatMatcher','string', ['basic','best fit'],'best fit'); var bR=toLDMLString(aa); var bZ=canonicalizeTimeZoneID(aa.timeZone); var br={}; var at=parseExtension(ag.extension); var ca={ 'ca':{'property':(void 0),'type':'string'}, 'nu':{'property':(void 0),'type':'string'} }; var ar=setOptions(aa,at,ca, aj,br); var bw=ag.locale+ar; var ap=q({},{ calendar:{writable:true}, day:{writable:true}, era:{writable:true}, hour12:{writable:true}, hour:{writable:true}, locale:{writable:true}, minute:{writable:true}, month:{writable:true}, numberingSystem:{writable:true}, [s]:{writable:true}, pattern:bD, requestedLocale:{value:bw,writable:true}, second:{writable:true}, timeZone:{writable:true}, timeZoneName:{writable:true}, tz:{value:bZ,writable:true}, weekday:{writable:true}, year:{writable:true} }); var bO=%CreateDateTimeFormat( bw,{skeleton:bR,timeZone:bZ},ap); if(ap.timeZone==="Etc/Unknown"){ throw n(192,bZ); } %MarkAsInitializedIntlObjectOfType(bY,'dateformat',bO); bY[u]=ap; r(bY,'resolved',bp); return bY; } %AddNamedProperty(D,'DateTimeFormat',function(){ var Z=%_Arguments(0); var aa=%_Arguments(1); if(!this||this===D){ return new D.DateTimeFormat(Z,aa); } return initializeDateTimeFormat((%_ToObject(this)),Z,aa); }, 2 ); %AddNamedProperty(D.DateTimeFormat.prototype,'resolvedOptions',function(){ if(!(new.target===(void 0))){ throw o(87); } if(!%IsInitializedIntlObjectOfType(this,'dateformat')){ throw o(133,"DateTimeFormat"); } var cb={ 'gregorian':'gregory', 'japanese':'japanese', 'buddhist':'buddhist', 'roc':'roc', 'persian':'persian', 'islamic-civil':'islamicc', 'islamic':'islamic', 'hebrew':'hebrew', 'chinese':'chinese', 'indian':'indian', 'coptic':'coptic', 'ethiopic':'ethiopic', 'ethiopic-amete-alem':'ethioaa' }; var bP=this; var cc=fromLDMLString(bP[u][s]); var cd=cb[bP[u].calendar]; if((cd===(void 0))){ cd=bP[u].calendar; } var ag=getOptimalLanguageTag(bP[u].requestedLocale, bP[u].locale); var aN={ locale:ag, numberingSystem:bP[u].numberingSystem, calendar:cd, timeZone:bP[u].timeZone }; addWECPropertyIfDefined(aN,'timeZoneName',cc.timeZoneName); addWECPropertyIfDefined(aN,'era',cc.era); addWECPropertyIfDefined(aN,'year',cc.year); addWECPropertyIfDefined(aN,'month',cc.month); addWECPropertyIfDefined(aN,'day',cc.day); addWECPropertyIfDefined(aN,'weekday',cc.weekday); addWECPropertyIfDefined(aN,'hour12',cc.hour12); addWECPropertyIfDefined(aN,'hour',cc.hour); addWECPropertyIfDefined(aN,'minute',cc.minute); addWECPropertyIfDefined(aN,'second',cc.second); return aN; }, 2 ); %FunctionSetName(D.DateTimeFormat.prototype.resolvedOptions, 'resolvedOptions'); %FunctionRemovePrototype(D.DateTimeFormat.prototype.resolvedOptions); %SetNativeFlag(D.DateTimeFormat.prototype.resolvedOptions); %AddNamedProperty(D.DateTimeFormat,'supportedLocalesOf',function(Z){ if(!(new.target===(void 0))){ throw o(87); } return supportedLocalesOf('dateformat',Z,%_Arguments(1)); }, 2 ); %FunctionSetName(D.DateTimeFormat.supportedLocalesOf,'supportedLocalesOf'); %FunctionRemovePrototype(D.DateTimeFormat.supportedLocalesOf); %SetNativeFlag(D.DateTimeFormat.supportedLocalesOf); function formatDate(bO,ce){ var cf; if((ce===(void 0))){ cf=%DateCurrentTime(); }else{ cf=(%_ToNumber(ce)); } if(!f(cf))throw n(161); return %InternalDateFormat(%GetImplFromInitializedIntlObject(bO), new i(cf)); } function parseDate(bO,ao){ return %InternalDateParse(%GetImplFromInitializedIntlObject(bO), l(ao)); } addBoundMethod(D.DateTimeFormat,'format',formatDate,0); addBoundMethod(D.DateTimeFormat,'v8Parse',parseDate,1); function canonicalizeTimeZoneID(cg){ if((cg===(void 0))){ return cg; } var ch=%StringToUpperCase(cg); if(ch==='UTC'||ch==='GMT'|| ch==='ETC/UTC'||ch==='ETC/GMT'){ return'UTC'; } var aM=%_Call(x,cg,GetTimezoneNameCheckRE()); if((aM===null))throw n(162,cg); var aN=toTitleCaseTimezoneLocation(aM[1])+'/'+ toTitleCaseTimezoneLocation(aM[2]); if(!(aM[3]===(void 0))&&3<aM.length){ var ci=%_Call(z,aM[3],'/'); for(var af=1;af<ci.length;af++){ aN=aN+'/'+toTitleCaseTimezoneLocation(ci[af]); } } return aN; } function initializeBreakIterator(cj,Z,aa){ if(%IsInitializedIntlObject(cj)){ throw o(132,"v8BreakIterator"); } if((aa===(void 0))){ aa={}; } var aj=getGetOption(aa,'breakiterator'); var br={}; defineWEProperty(br,'type',aj( 'type','string',['character','word','sentence','line'],'word')); var ag=resolveLocale('breakiterator',Z,aa); var ap=q({},{ requestedLocale:{value:ag.locale,writable:true}, type:{value:br.type,writable:true}, locale:{writable:true} }); var ck=%CreateBreakIterator(ag.locale, br, ap); %MarkAsInitializedIntlObjectOfType(cj,'breakiterator', ck); cj[u]=ap; r(cj,'resolved',bp); return cj; } %AddNamedProperty(D,'v8BreakIterator',function(){ var Z=%_Arguments(0); var aa=%_Arguments(1); if(!this||this===D){ return new D.v8BreakIterator(Z,aa); } return initializeBreakIterator((%_ToObject(this)),Z,aa); }, 2 ); %AddNamedProperty(D.v8BreakIterator.prototype,'resolvedOptions', function(){ if(!(new.target===(void 0))){ throw o(87); } if(!%IsInitializedIntlObjectOfType(this,'breakiterator')){ throw o(133,"v8BreakIterator"); } var cl=this; var ag= getOptimalLanguageTag(cl[u].requestedLocale, cl[u].locale); return{ locale:ag, type:cl[u].type }; }, 2 ); %FunctionSetName(D.v8BreakIterator.prototype.resolvedOptions, 'resolvedOptions'); %FunctionRemovePrototype(D.v8BreakIterator.prototype.resolvedOptions); %SetNativeFlag(D.v8BreakIterator.prototype.resolvedOptions); %AddNamedProperty(D.v8BreakIterator,'supportedLocalesOf', function(Z){ if(!(new.target===(void 0))){ throw o(87); } return supportedLocalesOf('breakiterator',Z,%_Arguments(1)); }, 2 ); %FunctionSetName(D.v8BreakIterator.supportedLocalesOf,'supportedLocalesOf'); %FunctionRemovePrototype(D.v8BreakIterator.supportedLocalesOf); %SetNativeFlag(D.v8BreakIterator.supportedLocalesOf); function adoptText(cj,cm){ %BreakIteratorAdoptText(%GetImplFromInitializedIntlObject(cj), l(cm)); } function first(cj){ return %BreakIteratorFirst(%GetImplFromInitializedIntlObject(cj)); } function next(cj){ return %BreakIteratorNext(%GetImplFromInitializedIntlObject(cj)); } function current(cj){ return %BreakIteratorCurrent(%GetImplFromInitializedIntlObject(cj)); } function breakType(cj){ return %BreakIteratorBreakType(%GetImplFromInitializedIntlObject(cj)); } addBoundMethod(D.v8BreakIterator,'adoptText',adoptText,1); addBoundMethod(D.v8BreakIterator,'first',first,0); addBoundMethod(D.v8BreakIterator,'next',next,0); addBoundMethod(D.v8BreakIterator,'current',current,0); addBoundMethod(D.v8BreakIterator,'breakType',breakType,0); var cn={ 'collator':D.Collator, 'numberformat':D.NumberFormat, 'dateformatall':D.DateTimeFormat, 'dateformatdate':D.DateTimeFormat, 'dateformattime':D.DateTimeFormat }; var co={ 'collator':(void 0), 'numberformat':(void 0), 'dateformatall':(void 0), 'dateformatdate':(void 0), 'dateformattime':(void 0), }; function cachedOrNewService(Y,Z,aa,bW){ var cp=((bW===(void 0)))?aa:bW; if((Z===(void 0))&&(aa===(void 0))){ if((co[Y]===(void 0))){ co[Y]=new cn[Y](Z,cp); } return co[Y]; } return new cn[Y](Z,cp); } function OverrideFunction(aJ,cq,cr){ %CheckIsBootstrapping(); r(aJ,cq,{value:cr, writeable:true, configurable:true, enumerable:false}); %FunctionSetName(cr,cq); %FunctionRemovePrototype(cr); %SetNativeFlag(cr); } OverrideFunction(l.prototype,'localeCompare',function(U){ if(!(new.target===(void 0))){ throw o(87); } if((this==null)){ throw o(52); } var Z=%_Arguments(1); var aa=%_Arguments(2); var bq=cachedOrNewService('collator',Z,aa); return compare(bq,this,U); } ); OverrideFunction(l.prototype,'normalize',function(){ if(!(new.target===(void 0))){ throw o(87); } if((%IS_VAR(this)===null)||(this===(void 0)))throw o(17,"String.prototype.normalize"); var cs=(%_ToString(this)); var ct=%_Arguments(0); var cu=(ct===(void 0))?'NFC':(%_ToString(ct)); var cv=['NFC','NFD','NFKC','NFKD']; var cw=%_Call(c,cv,cu); if(cw===-1){ throw n(184, %_Call(d,cv,', ')); } return %StringNormalize(cs,cw); } ); OverrideFunction(j.prototype,'toLocaleString',function(){ if(!(new.target===(void 0))){ throw o(87); } if(!(this instanceof j)&&typeof(this)!=='number'){ throw o(53,"Number"); } var Z=%_Arguments(0); var aa=%_Arguments(1); var bE=cachedOrNewService('numberformat',Z,aa); return formatNumber(bE,this); } ); function toLocaleDateTime(cx,Z,aa,bV,bW,Y){ if(!(cx instanceof i)){ throw o(53,"Date"); } if(g(cx))return'Invalid Date'; var br=toDateTimeOptions(aa,bV,bW); var bY= cachedOrNewService(Y,Z,aa,br); return formatDate(bY,cx); } OverrideFunction(i.prototype,'toLocaleString',function(){ if(!(new.target===(void 0))){ throw o(87); } var Z=%_Arguments(0); var aa=%_Arguments(1); return toLocaleDateTime( this,Z,aa,'any','all','dateformatall'); } ); OverrideFunction(i.prototype,'toLocaleDateString',function(){ if(!(new.target===(void 0))){ throw o(87); } var Z=%_Arguments(0); var aa=%_Arguments(1); return toLocaleDateTime( this,Z,aa,'date','date','dateformatdate'); } ); OverrideFunction(i.prototype,'toLocaleTimeString',function(){ if(!(new.target===(void 0))){ throw o(87); } var Z=%_Arguments(0); var aa=%_Arguments(1); return toLocaleDateTime( this,Z,aa,'time','time','dateformattime'); } ); }) ,proxy (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=a.Proxy; var d; b.Import(function(e){ d=e.MakeTypeError; }); function ProxyCreateRevocable(f,g){ var h=new c(f,g); return{proxy:h,revoke:()=>%JSProxyRevoke(h)}; } function ProxyEnumerate(i,g,f){ var j=%_Call(i,g,f); if(!(%_IsJSReceiver(j))){ throw d(99); } var k=[]; for(var l=j.next();!l.done;l=j.next()){ var m=l.value; if(!(typeof(m)==='string')){ throw d(100); } k.push(m); } return k; } b.InstallFunctions(c,2,[ "revocable",ProxyCreateRevocable ]); %InstallToContext([ "proxy_enumerate",ProxyEnumerate, ]); }) $generator? (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=b.ImportNow("GeneratorFunctionPrototype"); var d=b.ImportNow("GeneratorFunction"); var e=a.Function; var f; var g=b.ImportNow("to_string_tag_symbol"); b.Import(function(h){ f=h.MakeTypeError; }); function GeneratorObjectNext(i){ if(!(%_ClassOf(this)==='Generator')){ throw f(42, '[Generator].prototype.next',this); } var j=%GeneratorGetContinuation(this); if(j>0){ if(%_DebugIsActive()!=0)%DebugPrepareStepInIfStepping(this); try{ return %_GeneratorNext(this,i); }catch(e){ %GeneratorClose(this); throw e; } }else if(j==0){ return{value:void 0,done:true}; }else{ throw f(40); } } function GeneratorObjectThrow(k){ if(!(%_ClassOf(this)==='Generator')){ throw f(42, '[Generator].prototype.throw',this); } var j=%GeneratorGetContinuation(this); if(j>0){ try{ return %_GeneratorThrow(this,k); }catch(e){ %GeneratorClose(this); throw e; } }else if(j==0){ throw k; }else{ throw f(40); } } %NeverOptimizeFunction(GeneratorObjectNext); %NeverOptimizeFunction(GeneratorObjectThrow); var l=c.prototype; b.InstallFunctions(l, 2, ["next",GeneratorObjectNext, "throw",GeneratorObjectThrow]); %AddNamedProperty(l,"constructor", c,2|1); %AddNamedProperty(l, g,"Generator",2|1); %InternalSetPrototype(c,e.prototype); %AddNamedProperty(c, g,"GeneratorFunction",2|1); %AddNamedProperty(c,"constructor", d,2|1); %InternalSetPrototype(d,e); }) <harmony-atomicsM: (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=a.Object; var d; var e; var f=b.ImportNow("to_string_tag_symbol"); b.Import(function(g){ d=g.MakeTypeError; e=g.MaxSimple; }); function CheckSharedIntegerTypedArray(h){ if(!%IsSharedIntegerTypedArray(h)){ throw d(70,h); } } function CheckSharedInteger32TypedArray(h){ CheckSharedIntegerTypedArray(h); if(!%IsSharedInteger32TypedArray(h)){ throw d(71,h); } } function AtomicsCompareExchangeJS(i,j,k,l){ CheckSharedIntegerTypedArray(i); j=(%_ToInteger(j)); if(j<0||j>=%_TypedArrayGetLength(i)){ return(void 0); } k=(%_ToNumber(k)); l=(%_ToNumber(l)); return %_AtomicsCompareExchange(i,j,k,l); } function AtomicsLoadJS(i,j){ CheckSharedIntegerTypedArray(i); j=(%_ToInteger(j)); if(j<0||j>=%_TypedArrayGetLength(i)){ return(void 0); } return %_AtomicsLoad(i,j); } function AtomicsStoreJS(i,j,m){ CheckSharedIntegerTypedArray(i); j=(%_ToInteger(j)); if(j<0||j>=%_TypedArrayGetLength(i)){ return(void 0); } m=(%_ToNumber(m)); return %_AtomicsStore(i,j,m); } function AtomicsAddJS(h,j,m){ CheckSharedIntegerTypedArray(h); j=(%_ToInteger(j)); if(j<0||j>=%_TypedArrayGetLength(h)){ return(void 0); } m=(%_ToNumber(m)); return %_AtomicsAdd(h,j,m); } function AtomicsSubJS(h,j,m){ CheckSharedIntegerTypedArray(h); j=(%_ToInteger(j)); if(j<0||j>=%_TypedArrayGetLength(h)){ return(void 0); } m=(%_ToNumber(m)); return %_AtomicsSub(h,j,m); } function AtomicsAndJS(h,j,m){ CheckSharedIntegerTypedArray(h); j=(%_ToInteger(j)); if(j<0||j>=%_TypedArrayGetLength(h)){ return(void 0); } m=(%_ToNumber(m)); return %_AtomicsAnd(h,j,m); } function AtomicsOrJS(h,j,m){ CheckSharedIntegerTypedArray(h); j=(%_ToInteger(j)); if(j<0||j>=%_TypedArrayGetLength(h)){ return(void 0); } m=(%_ToNumber(m)); return %_AtomicsOr(h,j,m); } function AtomicsXorJS(h,j,m){ CheckSharedIntegerTypedArray(h); j=(%_ToInteger(j)); if(j<0||j>=%_TypedArrayGetLength(h)){ return(void 0); } m=(%_ToNumber(m)); return %_AtomicsXor(h,j,m); } function AtomicsExchangeJS(h,j,m){ CheckSharedIntegerTypedArray(h); j=(%_ToInteger(j)); if(j<0||j>=%_TypedArrayGetLength(h)){ return(void 0); } m=(%_ToNumber(m)); return %_AtomicsExchange(h,j,m); } function AtomicsIsLockFreeJS(n){ return %_AtomicsIsLockFree(n); } function AtomicsFutexWaitJS(h,j,m,o){ CheckSharedInteger32TypedArray(h); j=(%_ToInteger(j)); if(j<0||j>=%_TypedArrayGetLength(h)){ return(void 0); } if((o===(void 0))){ o=(1/0); }else{ o=(%_ToNumber(o)); if((!%_IsSmi(%IS_VAR(o))&&!(o==o))){ o=(1/0); }else{ o=e(0,o); } } return %AtomicsFutexWait(h,j,m,o); } function AtomicsFutexWakeJS(h,j,p){ CheckSharedInteger32TypedArray(h); j=(%_ToInteger(j)); if(j<0||j>=%_TypedArrayGetLength(h)){ return(void 0); } p=e(0,(%_ToInteger(p))); return %AtomicsFutexWake(h,j,p); } function AtomicsFutexWakeOrRequeueJS(h,q,p,m,r){ CheckSharedInteger32TypedArray(h); q=(%_ToInteger(q)); p=e(0,(%_ToInteger(p))); m=((m)|0); r=(%_ToInteger(r)); if(q<0||q>=%_TypedArrayGetLength(h)|| r<0||r>=%_TypedArrayGetLength(h)){ return(void 0); } return %AtomicsFutexWakeOrRequeue(h,q,p,m,r); } function AtomicsConstructor(){} var s=new AtomicsConstructor(); %InternalSetPrototype(s,c.prototype); %AddNamedProperty(a,"Atomics",s,2); %FunctionSetInstanceClassName(AtomicsConstructor,'Atomics'); %AddNamedProperty(s,f,"Atomics",1|2); b.InstallConstants(s,[ "OK",0, "NOTEQUAL",-1, "TIMEDOUT",-2, ]); b.InstallFunctions(s,2,[ "compareExchange",AtomicsCompareExchangeJS, "load",AtomicsLoadJS, "store",AtomicsStoreJS, "add",AtomicsAddJS, "sub",AtomicsSubJS, "and",AtomicsAndJS, "or",AtomicsOrJS, "xor",AtomicsXorJS, "exchange",AtomicsExchangeJS, "isLockFree",AtomicsIsLockFreeJS, "futexWait",AtomicsFutexWaitJS, "futexWake",AtomicsFutexWakeJS, "futexWakeOrRequeue",AtomicsFutexWakeOrRequeueJS, ]); }) 8harmony-regexp% (function(a,b){ 'use strict'; %CheckIsBootstrapping(); var c=a.RegExp; var d=c.prototype; var e; var f=b.ImportNow("regexp_flags_symbol"); b.Import(function(g){ e=g.MakeTypeError; }); function RegExpGetFlags(){ if(!(%_IsJSReceiver(this))){ throw e( 130,"RegExp.prototype.flags",(%_ToString(this))); } var h=''; if(this.global)h+='g'; if(this.ignoreCase)h+='i'; if(this.multiline)h+='m'; if(this.unicode)h+='u'; if(this.sticky)h+='y'; return h; } function RegExpGetSticky(){ if(!(%_IsRegExp(this))){ if(this===d){ %IncrementUseCounter(11); return(void 0); } throw e(131,"RegExp.prototype.sticky"); } return!!(%_RegExpFlags(this)&8); } %FunctionSetName(RegExpGetSticky,"RegExp.prototype.sticky"); %SetNativeFlag(RegExpGetSticky); b.InstallGetter(c.prototype,'flags',RegExpGetFlags); b.InstallGetter(c.prototype,'sticky',RegExpGetSticky); }) <harmony-reflect? (function(a,b){ 'use strict'; %CheckIsBootstrapping(); var c=a.Reflect; var d; var e=b.ImportNow("reflect_apply"); var f=b.ImportNow("reflect_construct"); b.Import(function(g){ d=g.MakeTypeError; }); function ReflectEnumerate(h){ if(!(%_IsJSReceiver(h))) throw d(16,"Reflect.enumerate") return(function*(){for(var i in h)yield i})(); } b.InstallFunctions(c,2,[ "apply",e, "construct",f, "enumerate",ReflectEnumerate ]); }) Xharmony-object-observeU (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=b.ImportNow("ObserveArrayMethods"); var d=b.ImportNow("ObserveObjectMethods");; b.InstallFunctions(a.Object,2,d); b.InstallFunctions(a.Array,2,c); }) dharmony-sharedarraybufferE (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=a.SharedArrayBuffer; var d; b.Import(function(e){ d=e.MakeTypeError; }) function SharedArrayBufferGetByteLen(){ if(!(%_ClassOf(this)==='SharedArrayBuffer')){ throw d(42, 'SharedArrayBuffer.prototype.byteLength',this); } return %_ArrayBufferGetByteLength(this); } b.InstallGetter(c.prototype,"byteLength", SharedArrayBufferGetByteLen); }) 0harmony-simd?? (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=a.SIMD; var d; var e=b.ImportNow("to_string_tag_symbol"); b.Import(function(f){ d=f.MakeTypeError; }); var g=c.Float32x4; var h=c.Int32x4; var i=c.Int16x8; var j=c.Int8x16; var k=c.Uint32x4; var l=c.Uint16x8; var m=c.Uint8x16; var n=c.Bool32x4; var o=c.Bool16x8; var p=c.Bool8x16; function Float32x4CheckJS(q){ return %Float32x4Check(q); } function Float32x4ToString(){ var r=%_ValueOf(this); if(typeof(r)!=='float32x4'){ throw d(42, "Float32x4.prototype.toString",this); } var s="SIMD.Float32x4("; s+=%Float32x4ExtractLane(r,0); for(var t=1;t<4;t++){ s+=", "+%Float32x4ExtractLane(r,t); } return s+")"; } function Float32x4ToLocaleString(){ var r=%_ValueOf(this); if(typeof(r)!=='float32x4'){ throw d(42, "Float32x4.prototype.toLocaleString",this); } var s="SIMD.Float32x4("; s+=%Float32x4ExtractLane(r,0).toLocaleString(); for(var t=1;t<4;t++){ s+=", "+%Float32x4ExtractLane(r,t).toLocaleString(); } return s+")"; } function Float32x4ValueOf(){ var r=%_ValueOf(this); if(typeof(r)!=='float32x4'){ throw d(42, "Float32x4.prototype.valueOf",this); } return r; } function Float32x4ExtractLaneJS(u,v){ return %Float32x4ExtractLane(u,v); } function Int32x4CheckJS(q){ return %Int32x4Check(q); } function Int32x4ToString(){ var r=%_ValueOf(this); if(typeof(r)!=='int32x4'){ throw d(42, "Int32x4.prototype.toString",this); } var s="SIMD.Int32x4("; s+=%Int32x4ExtractLane(r,0); for(var t=1;t<4;t++){ s+=", "+%Int32x4ExtractLane(r,t); } return s+")"; } function Int32x4ToLocaleString(){ var r=%_ValueOf(this); if(typeof(r)!=='int32x4'){ throw d(42, "Int32x4.prototype.toLocaleString",this); } var s="SIMD.Int32x4("; s+=%Int32x4ExtractLane(r,0).toLocaleString(); for(var t=1;t<4;t++){ s+=", "+%Int32x4ExtractLane(r,t).toLocaleString(); } return s+")"; } function Int32x4ValueOf(){ var r=%_ValueOf(this); if(typeof(r)!=='int32x4'){ throw d(42, "Int32x4.prototype.valueOf",this); } return r; } function Int32x4ExtractLaneJS(u,v){ return %Int32x4ExtractLane(u,v); } function Int16x8CheckJS(q){ return %Int16x8Check(q); } function Int16x8ToString(){ var r=%_ValueOf(this); if(typeof(r)!=='int16x8'){ throw d(42, "Int16x8.prototype.toString",this); } var s="SIMD.Int16x8("; s+=%Int16x8ExtractLane(r,0); for(var t=1;t<8;t++){ s+=", "+%Int16x8ExtractLane(r,t); } return s+")"; } function Int16x8ToLocaleString(){ var r=%_ValueOf(this); if(typeof(r)!=='int16x8'){ throw d(42, "Int16x8.prototype.toLocaleString",this); } var s="SIMD.Int16x8("; s+=%Int16x8ExtractLane(r,0).toLocaleString(); for(var t=1;t<8;t++){ s+=", "+%Int16x8ExtractLane(r,t).toLocaleString(); } return s+")"; } function Int16x8ValueOf(){ var r=%_ValueOf(this); if(typeof(r)!=='int16x8'){ throw d(42, "Int16x8.prototype.valueOf",this); } return r; } function Int16x8ExtractLaneJS(u,v){ return %Int16x8ExtractLane(u,v); } function Int8x16CheckJS(q){ return %Int8x16Check(q); } function Int8x16ToString(){ var r=%_ValueOf(this); if(typeof(r)!=='int8x16'){ throw d(42, "Int8x16.prototype.toString",this); } var s="SIMD.Int8x16("; s+=%Int8x16ExtractLane(r,0); for(var t=1;t<16;t++){ s+=", "+%Int8x16ExtractLane(r,t); } return s+")"; } function Int8x16ToLocaleString(){ var r=%_ValueOf(this); if(typeof(r)!=='int8x16'){ throw d(42, "Int8x16.prototype.toLocaleString",this); } var s="SIMD.Int8x16("; s+=%Int8x16ExtractLane(r,0).toLocaleString(); for(var t=1;t<16;t++){ s+=", "+%Int8x16ExtractLane(r,t).toLocaleString(); } return s+")"; } function Int8x16ValueOf(){ var r=%_ValueOf(this); if(typeof(r)!=='int8x16'){ throw d(42, "Int8x16.prototype.valueOf",this); } return r; } function Int8x16ExtractLaneJS(u,v){ return %Int8x16ExtractLane(u,v); } function Uint32x4CheckJS(q){ return %Uint32x4Check(q); } function Uint32x4ToString(){ var r=%_ValueOf(this); if(typeof(r)!=='uint32x4'){ throw d(42, "Uint32x4.prototype.toString",this); } var s="SIMD.Uint32x4("; s+=%Uint32x4ExtractLane(r,0); for(var t=1;t<4;t++){ s+=", "+%Uint32x4ExtractLane(r,t); } return s+")"; } function Uint32x4ToLocaleString(){ var r=%_ValueOf(this); if(typeof(r)!=='uint32x4'){ throw d(42, "Uint32x4.prototype.toLocaleString",this); } var s="SIMD.Uint32x4("; s+=%Uint32x4ExtractLane(r,0).toLocaleString(); for(var t=1;t<4;t++){ s+=", "+%Uint32x4ExtractLane(r,t).toLocaleString(); } return s+")"; } function Uint32x4ValueOf(){ var r=%_ValueOf(this); if(typeof(r)!=='uint32x4'){ throw d(42, "Uint32x4.prototype.valueOf",this); } return r; } function Uint32x4ExtractLaneJS(u,v){ return %Uint32x4ExtractLane(u,v); } function Uint16x8CheckJS(q){ return %Uint16x8Check(q); } function Uint16x8ToString(){ var r=%_ValueOf(this); if(typeof(r)!=='uint16x8'){ throw d(42, "Uint16x8.prototype.toString",this); } var s="SIMD.Uint16x8("; s+=%Uint16x8ExtractLane(r,0); for(var t=1;t<8;t++){ s+=", "+%Uint16x8ExtractLane(r,t); } return s+")"; } function Uint16x8ToLocaleString(){ var r=%_ValueOf(this); if(typeof(r)!=='uint16x8'){ throw d(42, "Uint16x8.prototype.toLocaleString",this); } var s="SIMD.Uint16x8("; s+=%Uint16x8ExtractLane(r,0).toLocaleString(); for(var t=1;t<8;t++){ s+=", "+%Uint16x8ExtractLane(r,t).toLocaleString(); } return s+")"; } function Uint16x8ValueOf(){ var r=%_ValueOf(this); if(typeof(r)!=='uint16x8'){ throw d(42, "Uint16x8.prototype.valueOf",this); } return r; } function Uint16x8ExtractLaneJS(u,v){ return %Uint16x8ExtractLane(u,v); } function Uint8x16CheckJS(q){ return %Uint8x16Check(q); } function Uint8x16ToString(){ var r=%_ValueOf(this); if(typeof(r)!=='uint8x16'){ throw d(42, "Uint8x16.prototype.toString",this); } var s="SIMD.Uint8x16("; s+=%Uint8x16ExtractLane(r,0); for(var t=1;t<16;t++){ s+=", "+%Uint8x16ExtractLane(r,t); } return s+")"; } function Uint8x16ToLocaleString(){ var r=%_ValueOf(this); if(typeof(r)!=='uint8x16'){ throw d(42, "Uint8x16.prototype.toLocaleString",this); } var s="SIMD.Uint8x16("; s+=%Uint8x16ExtractLane(r,0).toLocaleString(); for(var t=1;t<16;t++){ s+=", "+%Uint8x16ExtractLane(r,t).toLocaleString(); } return s+")"; } function Uint8x16ValueOf(){ var r=%_ValueOf(this); if(typeof(r)!=='uint8x16'){ throw d(42, "Uint8x16.prototype.valueOf",this); } return r; } function Uint8x16ExtractLaneJS(u,v){ return %Uint8x16ExtractLane(u,v); } function Bool32x4CheckJS(q){ return %Bool32x4Check(q); } function Bool32x4ToString(){ var r=%_ValueOf(this); if(typeof(r)!=='bool32x4'){ throw d(42, "Bool32x4.prototype.toString",this); } var s="SIMD.Bool32x4("; s+=%Bool32x4ExtractLane(r,0); for(var t=1;t<4;t++){ s+=", "+%Bool32x4ExtractLane(r,t); } return s+")"; } function Bool32x4ToLocaleString(){ var r=%_ValueOf(this); if(typeof(r)!=='bool32x4'){ throw d(42, "Bool32x4.prototype.toLocaleString",this); } var s="SIMD.Bool32x4("; s+=%Bool32x4ExtractLane(r,0).toLocaleString(); for(var t=1;t<4;t++){ s+=", "+%Bool32x4ExtractLane(r,t).toLocaleString(); } return s+")"; } function Bool32x4ValueOf(){ var r=%_ValueOf(this); if(typeof(r)!=='bool32x4'){ throw d(42, "Bool32x4.prototype.valueOf",this); } return r; } function Bool32x4ExtractLaneJS(u,v){ return %Bool32x4ExtractLane(u,v); } function Bool16x8CheckJS(q){ return %Bool16x8Check(q); } function Bool16x8ToString(){ var r=%_ValueOf(this); if(typeof(r)!=='bool16x8'){ throw d(42, "Bool16x8.prototype.toString",this); } var s="SIMD.Bool16x8("; s+=%Bool16x8ExtractLane(r,0); for(var t=1;t<8;t++){ s+=", "+%Bool16x8ExtractLane(r,t); } return s+")"; } function Bool16x8ToLocaleString(){ var r=%_ValueOf(this); if(typeof(r)!=='bool16x8'){ throw d(42, "Bool16x8.prototype.toLocaleString",this); } var s="SIMD.Bool16x8("; s+=%Bool16x8ExtractLane(r,0).toLocaleString(); for(var t=1;t<8;t++){ s+=", "+%Bool16x8ExtractLane(r,t).toLocaleString(); } return s+")"; } function Bool16x8ValueOf(){ var r=%_ValueOf(this); if(typeof(r)!=='bool16x8'){ throw d(42, "Bool16x8.prototype.valueOf",this); } return r; } function Bool16x8ExtractLaneJS(u,v){ return %Bool16x8ExtractLane(u,v); } function Bool8x16CheckJS(q){ return %Bool8x16Check(q); } function Bool8x16ToString(){ var r=%_ValueOf(this); if(typeof(r)!=='bool8x16'){ throw d(42, "Bool8x16.prototype.toString",this); } var s="SIMD.Bool8x16("; s+=%Bool8x16ExtractLane(r,0); for(var t=1;t<16;t++){ s+=", "+%Bool8x16ExtractLane(r,t); } return s+")"; } function Bool8x16ToLocaleString(){ var r=%_ValueOf(this); if(typeof(r)!=='bool8x16'){ throw d(42, "Bool8x16.prototype.toLocaleString",this); } var s="SIMD.Bool8x16("; s+=%Bool8x16ExtractLane(r,0).toLocaleString(); for(var t=1;t<16;t++){ s+=", "+%Bool8x16ExtractLane(r,t).toLocaleString(); } return s+")"; } function Bool8x16ValueOf(){ var r=%_ValueOf(this); if(typeof(r)!=='bool8x16'){ throw d(42, "Bool8x16.prototype.valueOf",this); } return r; } function Bool8x16ExtractLaneJS(u,v){ return %Bool8x16ExtractLane(u,v); } function Int32x4ShiftLeftByScalarJS(u,w){ return %Int32x4ShiftLeftByScalar(u,w); } function Int32x4ShiftRightByScalarJS(u,w){ return %Int32x4ShiftRightByScalar(u,w); } function Int16x8ShiftLeftByScalarJS(u,w){ return %Int16x8ShiftLeftByScalar(u,w); } function Int16x8ShiftRightByScalarJS(u,w){ return %Int16x8ShiftRightByScalar(u,w); } function Int8x16ShiftLeftByScalarJS(u,w){ return %Int8x16ShiftLeftByScalar(u,w); } function Int8x16ShiftRightByScalarJS(u,w){ return %Int8x16ShiftRightByScalar(u,w); } function Uint32x4ShiftLeftByScalarJS(u,w){ return %Uint32x4ShiftLeftByScalar(u,w); } function Uint32x4ShiftRightByScalarJS(u,w){ return %Uint32x4ShiftRightByScalar(u,w); } function Uint16x8ShiftLeftByScalarJS(u,w){ return %Uint16x8ShiftLeftByScalar(u,w); } function Uint16x8ShiftRightByScalarJS(u,w){ return %Uint16x8ShiftRightByScalar(u,w); } function Uint8x16ShiftLeftByScalarJS(u,w){ return %Uint8x16ShiftLeftByScalar(u,w); } function Uint8x16ShiftRightByScalarJS(u,w){ return %Uint8x16ShiftRightByScalar(u,w); } function Int16x8AddSaturateJS(q,x){ return %Int16x8AddSaturate(q,x); } function Int16x8SubSaturateJS(q,x){ return %Int16x8SubSaturate(q,x); } function Int8x16AddSaturateJS(q,x){ return %Int8x16AddSaturate(q,x); } function Int8x16SubSaturateJS(q,x){ return %Int8x16SubSaturate(q,x); } function Uint8x16AddSaturateJS(q,x){ return %Uint8x16AddSaturate(q,x); } function Uint8x16SubSaturateJS(q,x){ return %Uint8x16SubSaturate(q,x); } function Uint16x8AddSaturateJS(q,x){ return %Uint16x8AddSaturate(q,x); } function Uint16x8SubSaturateJS(q,x){ return %Uint16x8SubSaturate(q,x); } function Float32x4NegJS(q){ return %Float32x4Neg(q); } function Int32x4NegJS(q){ return %Int32x4Neg(q); } function Int16x8NegJS(q){ return %Int16x8Neg(q); } function Int8x16NegJS(q){ return %Int8x16Neg(q); } function Bool32x4ReplaceLaneJS(u,v,r){ return %Bool32x4ReplaceLane(u,v,r); } function Bool32x4AnyTrueJS(y){ return %Bool32x4AnyTrue(y); } function Bool32x4AllTrueJS(y){ return %Bool32x4AllTrue(y); } function Bool16x8ReplaceLaneJS(u,v,r){ return %Bool16x8ReplaceLane(u,v,r); } function Bool16x8AnyTrueJS(y){ return %Bool16x8AnyTrue(y); } function Bool16x8AllTrueJS(y){ return %Bool16x8AllTrue(y); } function Bool8x16ReplaceLaneJS(u,v,r){ return %Bool8x16ReplaceLane(u,v,r); } function Bool8x16AnyTrueJS(y){ return %Bool8x16AnyTrue(y); } function Bool8x16AllTrueJS(y){ return %Bool8x16AllTrue(y); } function Float32x4ReplaceLaneJS(u,v,r){ return %Float32x4ReplaceLane(u,v,(%_ToNumber(r))); } function Float32x4SelectJS(z,q,x){ return %Float32x4Select(z,q,x); } function Float32x4AddJS(q,x){ return %Float32x4Add(q,x); } function Float32x4SubJS(q,x){ return %Float32x4Sub(q,x); } function Float32x4MulJS(q,x){ return %Float32x4Mul(q,x); } function Float32x4MinJS(q,x){ return %Float32x4Min(q,x); } function Float32x4MaxJS(q,x){ return %Float32x4Max(q,x); } function Float32x4EqualJS(q,x){ return %Float32x4Equal(q,x); } function Float32x4NotEqualJS(q,x){ return %Float32x4NotEqual(q,x); } function Float32x4LessThanJS(q,x){ return %Float32x4LessThan(q,x); } function Float32x4LessThanOrEqualJS(q,x){ return %Float32x4LessThanOrEqual(q,x); } function Float32x4GreaterThanJS(q,x){ return %Float32x4GreaterThan(q,x); } function Float32x4GreaterThanOrEqualJS(q,x){ return %Float32x4GreaterThanOrEqual(q,x); } function Float32x4LoadJS(A,B){ return %Float32x4Load(A,B); } function Float32x4StoreJS(A,B,q){ return %Float32x4Store(A,B,q); } function Int32x4ReplaceLaneJS(u,v,r){ return %Int32x4ReplaceLane(u,v,(%_ToNumber(r))); } function Int32x4SelectJS(z,q,x){ return %Int32x4Select(z,q,x); } function Int32x4AddJS(q,x){ return %Int32x4Add(q,x); } function Int32x4SubJS(q,x){ return %Int32x4Sub(q,x); } function Int32x4MulJS(q,x){ return %Int32x4Mul(q,x); } function Int32x4MinJS(q,x){ return %Int32x4Min(q,x); } function Int32x4MaxJS(q,x){ return %Int32x4Max(q,x); } function Int32x4EqualJS(q,x){ return %Int32x4Equal(q,x); } function Int32x4NotEqualJS(q,x){ return %Int32x4NotEqual(q,x); } function Int32x4LessThanJS(q,x){ return %Int32x4LessThan(q,x); } function Int32x4LessThanOrEqualJS(q,x){ return %Int32x4LessThanOrEqual(q,x); } function Int32x4GreaterThanJS(q,x){ return %Int32x4GreaterThan(q,x); } function Int32x4GreaterThanOrEqualJS(q,x){ return %Int32x4GreaterThanOrEqual(q,x); } function Int32x4LoadJS(A,B){ return %Int32x4Load(A,B); } function Int32x4StoreJS(A,B,q){ return %Int32x4Store(A,B,q); } function Int16x8ReplaceLaneJS(u,v,r){ return %Int16x8ReplaceLane(u,v,(%_ToNumber(r))); } function Int16x8SelectJS(z,q,x){ return %Int16x8Select(z,q,x); } function Int16x8AddJS(q,x){ return %Int16x8Add(q,x); } function Int16x8SubJS(q,x){ return %Int16x8Sub(q,x); } function Int16x8MulJS(q,x){ return %Int16x8Mul(q,x); } function Int16x8MinJS(q,x){ return %Int16x8Min(q,x); } function Int16x8MaxJS(q,x){ return %Int16x8Max(q,x); } function Int16x8EqualJS(q,x){ return %Int16x8Equal(q,x); } function Int16x8NotEqualJS(q,x){ return %Int16x8NotEqual(q,x); } function Int16x8LessThanJS(q,x){ return %Int16x8LessThan(q,x); } function Int16x8LessThanOrEqualJS(q,x){ return %Int16x8LessThanOrEqual(q,x); } function Int16x8GreaterThanJS(q,x){ return %Int16x8GreaterThan(q,x); } function Int16x8GreaterThanOrEqualJS(q,x){ return %Int16x8GreaterThanOrEqual(q,x); } function Int16x8LoadJS(A,B){ return %Int16x8Load(A,B); } function Int16x8StoreJS(A,B,q){ return %Int16x8Store(A,B,q); } function Int8x16ReplaceLaneJS(u,v,r){ return %Int8x16ReplaceLane(u,v,(%_ToNumber(r))); } function Int8x16SelectJS(z,q,x){ return %Int8x16Select(z,q,x); } function Int8x16AddJS(q,x){ return %Int8x16Add(q,x); } function Int8x16SubJS(q,x){ return %Int8x16Sub(q,x); } function Int8x16MulJS(q,x){ return %Int8x16Mul(q,x); } function Int8x16MinJS(q,x){ return %Int8x16Min(q,x); } function Int8x16MaxJS(q,x){ return %Int8x16Max(q,x); } function Int8x16EqualJS(q,x){ return %Int8x16Equal(q,x); } function Int8x16NotEqualJS(q,x){ return %Int8x16NotEqual(q,x); } function Int8x16LessThanJS(q,x){ return %Int8x16LessThan(q,x); } function Int8x16LessThanOrEqualJS(q,x){ return %Int8x16LessThanOrEqual(q,x); } function Int8x16GreaterThanJS(q,x){ return %Int8x16GreaterThan(q,x); } function Int8x16GreaterThanOrEqualJS(q,x){ return %Int8x16GreaterThanOrEqual(q,x); } function Int8x16LoadJS(A,B){ return %Int8x16Load(A,B); } function Int8x16StoreJS(A,B,q){ return %Int8x16Store(A,B,q); } function Uint32x4ReplaceLaneJS(u,v,r){ return %Uint32x4ReplaceLane(u,v,(%_ToNumber(r))); } function Uint32x4SelectJS(z,q,x){ return %Uint32x4Select(z,q,x); } function Uint32x4AddJS(q,x){ return %Uint32x4Add(q,x); } function Uint32x4SubJS(q,x){ return %Uint32x4Sub(q,x); } function Uint32x4MulJS(q,x){ return %Uint32x4Mul(q,x); } function Uint32x4MinJS(q,x){ return %Uint32x4Min(q,x); } function Uint32x4MaxJS(q,x){ return %Uint32x4Max(q,x); } function Uint32x4EqualJS(q,x){ return %Uint32x4Equal(q,x); } function Uint32x4NotEqualJS(q,x){ return %Uint32x4NotEqual(q,x); } function Uint32x4LessThanJS(q,x){ return %Uint32x4LessThan(q,x); } function Uint32x4LessThanOrEqualJS(q,x){ return %Uint32x4LessThanOrEqual(q,x); } function Uint32x4GreaterThanJS(q,x){ return %Uint32x4GreaterThan(q,x); } function Uint32x4GreaterThanOrEqualJS(q,x){ return %Uint32x4GreaterThanOrEqual(q,x); } function Uint32x4LoadJS(A,B){ return %Uint32x4Load(A,B); } function Uint32x4StoreJS(A,B,q){ return %Uint32x4Store(A,B,q); } function Uint16x8ReplaceLaneJS(u,v,r){ return %Uint16x8ReplaceLane(u,v,(%_ToNumber(r))); } function Uint16x8SelectJS(z,q,x){ return %Uint16x8Select(z,q,x); } function Uint16x8AddJS(q,x){ return %Uint16x8Add(q,x); } function Uint16x8SubJS(q,x){ return %Uint16x8Sub(q,x); } function Uint16x8MulJS(q,x){ return %Uint16x8Mul(q,x); } function Uint16x8MinJS(q,x){ return %Uint16x8Min(q,x); } function Uint16x8MaxJS(q,x){ return %Uint16x8Max(q,x); } function Uint16x8EqualJS(q,x){ return %Uint16x8Equal(q,x); } function Uint16x8NotEqualJS(q,x){ return %Uint16x8NotEqual(q,x); } function Uint16x8LessThanJS(q,x){ return %Uint16x8LessThan(q,x); } function Uint16x8LessThanOrEqualJS(q,x){ return %Uint16x8LessThanOrEqual(q,x); } function Uint16x8GreaterThanJS(q,x){ return %Uint16x8GreaterThan(q,x); } function Uint16x8GreaterThanOrEqualJS(q,x){ return %Uint16x8GreaterThanOrEqual(q,x); } function Uint16x8LoadJS(A,B){ return %Uint16x8Load(A,B); } function Uint16x8StoreJS(A,B,q){ return %Uint16x8Store(A,B,q); } function Uint8x16ReplaceLaneJS(u,v,r){ return %Uint8x16ReplaceLane(u,v,(%_ToNumber(r))); } function Uint8x16SelectJS(z,q,x){ return %Uint8x16Select(z,q,x); } function Uint8x16AddJS(q,x){ return %Uint8x16Add(q,x); } function Uint8x16SubJS(q,x){ return %Uint8x16Sub(q,x); } function Uint8x16MulJS(q,x){ return %Uint8x16Mul(q,x); } function Uint8x16MinJS(q,x){ return %Uint8x16Min(q,x); } function Uint8x16MaxJS(q,x){ return %Uint8x16Max(q,x); } function Uint8x16EqualJS(q,x){ return %Uint8x16Equal(q,x); } function Uint8x16NotEqualJS(q,x){ return %Uint8x16NotEqual(q,x); } function Uint8x16LessThanJS(q,x){ return %Uint8x16LessThan(q,x); } function Uint8x16LessThanOrEqualJS(q,x){ return %Uint8x16LessThanOrEqual(q,x); } function Uint8x16GreaterThanJS(q,x){ return %Uint8x16GreaterThan(q,x); } function Uint8x16GreaterThanOrEqualJS(q,x){ return %Uint8x16GreaterThanOrEqual(q,x); } function Uint8x16LoadJS(A,B){ return %Uint8x16Load(A,B); } function Uint8x16StoreJS(A,B,q){ return %Uint8x16Store(A,B,q); } function Int32x4AndJS(q,x){ return %Int32x4And(q,x); } function Int32x4OrJS(q,x){ return %Int32x4Or(q,x); } function Int32x4XorJS(q,x){ return %Int32x4Xor(q,x); } function Int32x4NotJS(q){ return %Int32x4Not(q); } function Int16x8AndJS(q,x){ return %Int16x8And(q,x); } function Int16x8OrJS(q,x){ return %Int16x8Or(q,x); } function Int16x8XorJS(q,x){ return %Int16x8Xor(q,x); } function Int16x8NotJS(q){ return %Int16x8Not(q); } function Int8x16AndJS(q,x){ return %Int8x16And(q,x); } function Int8x16OrJS(q,x){ return %Int8x16Or(q,x); } function Int8x16XorJS(q,x){ return %Int8x16Xor(q,x); } function Int8x16NotJS(q){ return %Int8x16Not(q); } function Uint32x4AndJS(q,x){ return %Uint32x4And(q,x); } function Uint32x4OrJS(q,x){ return %Uint32x4Or(q,x); } function Uint32x4XorJS(q,x){ return %Uint32x4Xor(q,x); } function Uint32x4NotJS(q){ return %Uint32x4Not(q); } function Uint16x8AndJS(q,x){ return %Uint16x8And(q,x); } function Uint16x8OrJS(q,x){ return %Uint16x8Or(q,x); } function Uint16x8XorJS(q,x){ return %Uint16x8Xor(q,x); } function Uint16x8NotJS(q){ return %Uint16x8Not(q); } function Uint8x16AndJS(q,x){ return %Uint8x16And(q,x); } function Uint8x16OrJS(q,x){ return %Uint8x16Or(q,x); } function Uint8x16XorJS(q,x){ return %Uint8x16Xor(q,x); } function Uint8x16NotJS(q){ return %Uint8x16Not(q); } function Bool32x4AndJS(q,x){ return %Bool32x4And(q,x); } function Bool32x4OrJS(q,x){ return %Bool32x4Or(q,x); } function Bool32x4XorJS(q,x){ return %Bool32x4Xor(q,x); } function Bool32x4NotJS(q){ return %Bool32x4Not(q); } function Bool16x8AndJS(q,x){ return %Bool16x8And(q,x); } function Bool16x8OrJS(q,x){ return %Bool16x8Or(q,x); } function Bool16x8XorJS(q,x){ return %Bool16x8Xor(q,x); } function Bool16x8NotJS(q){ return %Bool16x8Not(q); } function Bool8x16AndJS(q,x){ return %Bool8x16And(q,x); } function Bool8x16OrJS(q,x){ return %Bool8x16Or(q,x); } function Bool8x16XorJS(q,x){ return %Bool8x16Xor(q,x); } function Bool8x16NotJS(q){ return %Bool8x16Not(q); } function Float32x4FromInt32x4JS(q){ return %Float32x4FromInt32x4(q); } function Float32x4FromUint32x4JS(q){ return %Float32x4FromUint32x4(q); } function Int32x4FromFloat32x4JS(q){ return %Int32x4FromFloat32x4(q); } function Int32x4FromUint32x4JS(q){ return %Int32x4FromUint32x4(q); } function Uint32x4FromFloat32x4JS(q){ return %Uint32x4FromFloat32x4(q); } function Uint32x4FromInt32x4JS(q){ return %Uint32x4FromInt32x4(q); } function Int16x8FromUint16x8JS(q){ return %Int16x8FromUint16x8(q); } function Uint16x8FromInt16x8JS(q){ return %Uint16x8FromInt16x8(q); } function Int8x16FromUint8x16JS(q){ return %Int8x16FromUint8x16(q); } function Uint8x16FromInt8x16JS(q){ return %Uint8x16FromInt8x16(q); } function Float32x4FromInt32x4BitsJS(q){ return %Float32x4FromInt32x4Bits(q); } function Float32x4FromUint32x4BitsJS(q){ return %Float32x4FromUint32x4Bits(q); } function Float32x4FromInt16x8BitsJS(q){ return %Float32x4FromInt16x8Bits(q); } function Float32x4FromUint16x8BitsJS(q){ return %Float32x4FromUint16x8Bits(q); } function Float32x4FromInt8x16BitsJS(q){ return %Float32x4FromInt8x16Bits(q); } function Float32x4FromUint8x16BitsJS(q){ return %Float32x4FromUint8x16Bits(q); } function Int32x4FromFloat32x4BitsJS(q){ return %Int32x4FromFloat32x4Bits(q); } function Int32x4FromUint32x4BitsJS(q){ return %Int32x4FromUint32x4Bits(q); } function Int32x4FromInt16x8BitsJS(q){ return %Int32x4FromInt16x8Bits(q); } function Int32x4FromUint16x8BitsJS(q){ return %Int32x4FromUint16x8Bits(q); } function Int32x4FromInt8x16BitsJS(q){ return %Int32x4FromInt8x16Bits(q); } function Int32x4FromUint8x16BitsJS(q){ return %Int32x4FromUint8x16Bits(q); } function Uint32x4FromFloat32x4BitsJS(q){ return %Uint32x4FromFloat32x4Bits(q); } function Uint32x4FromInt32x4BitsJS(q){ return %Uint32x4FromInt32x4Bits(q); } function Uint32x4FromInt16x8BitsJS(q){ return %Uint32x4FromInt16x8Bits(q); } function Uint32x4FromUint16x8BitsJS(q){ return %Uint32x4FromUint16x8Bits(q); } function Uint32x4FromInt8x16BitsJS(q){ return %Uint32x4FromInt8x16Bits(q); } function Uint32x4FromUint8x16BitsJS(q){ return %Uint32x4FromUint8x16Bits(q); } function Int16x8FromFloat32x4BitsJS(q){ return %Int16x8FromFloat32x4Bits(q); } function Int16x8FromInt32x4BitsJS(q){ return %Int16x8FromInt32x4Bits(q); } function Int16x8FromUint32x4BitsJS(q){ return %Int16x8FromUint32x4Bits(q); } function Int16x8FromUint16x8BitsJS(q){ return %Int16x8FromUint16x8Bits(q); } function Int16x8FromInt8x16BitsJS(q){ return %Int16x8FromInt8x16Bits(q); } function Int16x8FromUint8x16BitsJS(q){ return %Int16x8FromUint8x16Bits(q); } function Uint16x8FromFloat32x4BitsJS(q){ return %Uint16x8FromFloat32x4Bits(q); } function Uint16x8FromInt32x4BitsJS(q){ return %Uint16x8FromInt32x4Bits(q); } function Uint16x8FromUint32x4BitsJS(q){ return %Uint16x8FromUint32x4Bits(q); } function Uint16x8FromInt16x8BitsJS(q){ return %Uint16x8FromInt16x8Bits(q); } function Uint16x8FromInt8x16BitsJS(q){ return %Uint16x8FromInt8x16Bits(q); } function Uint16x8FromUint8x16BitsJS(q){ return %Uint16x8FromUint8x16Bits(q); } function Int8x16FromFloat32x4BitsJS(q){ return %Int8x16FromFloat32x4Bits(q); } function Int8x16FromInt32x4BitsJS(q){ return %Int8x16FromInt32x4Bits(q); } function Int8x16FromUint32x4BitsJS(q){ return %Int8x16FromUint32x4Bits(q); } function Int8x16FromInt16x8BitsJS(q){ return %Int8x16FromInt16x8Bits(q); } function Int8x16FromUint16x8BitsJS(q){ return %Int8x16FromUint16x8Bits(q); } function Int8x16FromUint8x16BitsJS(q){ return %Int8x16FromUint8x16Bits(q); } function Uint8x16FromFloat32x4BitsJS(q){ return %Uint8x16FromFloat32x4Bits(q); } function Uint8x16FromInt32x4BitsJS(q){ return %Uint8x16FromInt32x4Bits(q); } function Uint8x16FromUint32x4BitsJS(q){ return %Uint8x16FromUint32x4Bits(q); } function Uint8x16FromInt16x8BitsJS(q){ return %Uint8x16FromInt16x8Bits(q); } function Uint8x16FromUint16x8BitsJS(q){ return %Uint8x16FromUint16x8Bits(q); } function Uint8x16FromInt8x16BitsJS(q){ return %Uint8x16FromInt8x16Bits(q); } function Float32x4Load1JS(A,B){ return %Float32x4Load1(A,B); } function Float32x4Store1JS(A,B,q){ return %Float32x4Store1(A,B,q); } function Float32x4Load2JS(A,B){ return %Float32x4Load2(A,B); } function Float32x4Store2JS(A,B,q){ return %Float32x4Store2(A,B,q); } function Float32x4Load3JS(A,B){ return %Float32x4Load3(A,B); } function Float32x4Store3JS(A,B,q){ return %Float32x4Store3(A,B,q); } function Int32x4Load1JS(A,B){ return %Int32x4Load1(A,B); } function Int32x4Store1JS(A,B,q){ return %Int32x4Store1(A,B,q); } function Int32x4Load2JS(A,B){ return %Int32x4Load2(A,B); } function Int32x4Store2JS(A,B,q){ return %Int32x4Store2(A,B,q); } function Int32x4Load3JS(A,B){ return %Int32x4Load3(A,B); } function Int32x4Store3JS(A,B,q){ return %Int32x4Store3(A,B,q); } function Uint32x4Load1JS(A,B){ return %Uint32x4Load1(A,B); } function Uint32x4Store1JS(A,B,q){ return %Uint32x4Store1(A,B,q); } function Uint32x4Load2JS(A,B){ return %Uint32x4Load2(A,B); } function Uint32x4Store2JS(A,B,q){ return %Uint32x4Store2(A,B,q); } function Uint32x4Load3JS(A,B){ return %Uint32x4Load3(A,B); } function Uint32x4Store3JS(A,B,q){ return %Uint32x4Store3(A,B,q); } function Float32x4Splat(y){ return %CreateFloat32x4(y,y,y,y); } function Float32x4SwizzleJS(q,C,D,E,F){ return %Float32x4Swizzle(q,C,D,E,F); } function Float32x4ShuffleJS(q,x,C,D,E,F){ return %Float32x4Shuffle(q,x,C,D,E,F); } function Int32x4Splat(y){ return %CreateInt32x4(y,y,y,y); } function Int32x4SwizzleJS(q,C,D,E,F){ return %Int32x4Swizzle(q,C,D,E,F); } function Int32x4ShuffleJS(q,x,C,D,E,F){ return %Int32x4Shuffle(q,x,C,D,E,F); } function Uint32x4Splat(y){ return %CreateUint32x4(y,y,y,y); } function Uint32x4SwizzleJS(q,C,D,E,F){ return %Uint32x4Swizzle(q,C,D,E,F); } function Uint32x4ShuffleJS(q,x,C,D,E,F){ return %Uint32x4Shuffle(q,x,C,D,E,F); } function Bool32x4Splat(y){ return %CreateBool32x4(y,y,y,y); } function Bool32x4SwizzleJS(q,C,D,E,F){ return %Bool32x4Swizzle(q,C,D,E,F); } function Bool32x4ShuffleJS(q,x,C,D,E,F){ return %Bool32x4Shuffle(q,x,C,D,E,F); } function Int16x8Splat(y){ return %CreateInt16x8(y,y,y,y,y,y,y,y); } function Int16x8SwizzleJS(q,C,D,E,F,G,H,I,J){ return %Int16x8Swizzle(q,C,D,E,F,G,H,I,J); } function Int16x8ShuffleJS(q,x,C,D,E,F,G,H,I,J){ return %Int16x8Shuffle(q,x,C,D,E,F,G,H,I,J); } function Uint16x8Splat(y){ return %CreateUint16x8(y,y,y,y,y,y,y,y); } function Uint16x8SwizzleJS(q,C,D,E,F,G,H,I,J){ return %Uint16x8Swizzle(q,C,D,E,F,G,H,I,J); } function Uint16x8ShuffleJS(q,x,C,D,E,F,G,H,I,J){ return %Uint16x8Shuffle(q,x,C,D,E,F,G,H,I,J); } function Bool16x8Splat(y){ return %CreateBool16x8(y,y,y,y,y,y,y,y); } function Bool16x8SwizzleJS(q,C,D,E,F,G,H,I,J){ return %Bool16x8Swizzle(q,C,D,E,F,G,H,I,J); } function Bool16x8ShuffleJS(q,x,C,D,E,F,G,H,I,J){ return %Bool16x8Shuffle(q,x,C,D,E,F,G,H,I,J); } function Int8x16Splat(y){ return %CreateInt8x16(y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y); } function Int8x16SwizzleJS(q,C,D,E,F,G,H,I,J,c8,c9,c10,c11, c12,c13,c14,c15){ return %Int8x16Swizzle(q,C,D,E,F,G,H,I,J,c8,c9,c10,c11, c12,c13,c14,c15); } function Int8x16ShuffleJS(q,x,C,D,E,F,G,H,I,J,c8,c9,c10, c11,c12,c13,c14,c15){ return %Int8x16Shuffle(q,x,C,D,E,F,G,H,I,J,c8,c9,c10, c11,c12,c13,c14,c15); } function Uint8x16Splat(y){ return %CreateUint8x16(y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y); } function Uint8x16SwizzleJS(q,C,D,E,F,G,H,I,J,c8,c9,c10,c11, c12,c13,c14,c15){ return %Uint8x16Swizzle(q,C,D,E,F,G,H,I,J,c8,c9,c10,c11, c12,c13,c14,c15); } function Uint8x16ShuffleJS(q,x,C,D,E,F,G,H,I,J,c8,c9,c10, c11,c12,c13,c14,c15){ return %Uint8x16Shuffle(q,x,C,D,E,F,G,H,I,J,c8,c9,c10, c11,c12,c13,c14,c15); } function Bool8x16Splat(y){ return %CreateBool8x16(y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y); } function Bool8x16SwizzleJS(q,C,D,E,F,G,H,I,J,c8,c9,c10,c11, c12,c13,c14,c15){ return %Bool8x16Swizzle(q,C,D,E,F,G,H,I,J,c8,c9,c10,c11, c12,c13,c14,c15); } function Bool8x16ShuffleJS(q,x,C,D,E,F,G,H,I,J,c8,c9,c10, c11,c12,c13,c14,c15){ return %Bool8x16Shuffle(q,x,C,D,E,F,G,H,I,J,c8,c9,c10, c11,c12,c13,c14,c15); } function Float32x4Constructor(C,D,E,F){ if(!(new.target===(void 0))){ throw d(62,"Float32x4"); } return %CreateFloat32x4((%_ToNumber(C)),(%_ToNumber(D)), (%_ToNumber(E)),(%_ToNumber(F))); } function Int32x4Constructor(C,D,E,F){ if(!(new.target===(void 0))){ throw d(62,"Int32x4"); } return %CreateInt32x4((%_ToNumber(C)),(%_ToNumber(D)), (%_ToNumber(E)),(%_ToNumber(F))); } function Uint32x4Constructor(C,D,E,F){ if(!(new.target===(void 0))){ throw d(62,"Uint32x4"); } return %CreateUint32x4((%_ToNumber(C)),(%_ToNumber(D)), (%_ToNumber(E)),(%_ToNumber(F))); } function Bool32x4Constructor(C,D,E,F){ if(!(new.target===(void 0))){ throw d(62,"Bool32x4"); } return %CreateBool32x4(C,D,E,F); } function Int16x8Constructor(C,D,E,F,G,H,I,J){ if(!(new.target===(void 0))){ throw d(62,"Int16x8"); } return %CreateInt16x8((%_ToNumber(C)),(%_ToNumber(D)), (%_ToNumber(E)),(%_ToNumber(F)), (%_ToNumber(G)),(%_ToNumber(H)), (%_ToNumber(I)),(%_ToNumber(J))); } function Uint16x8Constructor(C,D,E,F,G,H,I,J){ if(!(new.target===(void 0))){ throw d(62,"Uint16x8"); } return %CreateUint16x8((%_ToNumber(C)),(%_ToNumber(D)), (%_ToNumber(E)),(%_ToNumber(F)), (%_ToNumber(G)),(%_ToNumber(H)), (%_ToNumber(I)),(%_ToNumber(J))); } function Bool16x8Constructor(C,D,E,F,G,H,I,J){ if(!(new.target===(void 0))){ throw d(62,"Bool16x8"); } return %CreateBool16x8(C,D,E,F,G,H,I,J); } function Int8x16Constructor(C,D,E,F,G,H,I,J,c8,c9,c10,c11, c12,c13,c14,c15){ if(!(new.target===(void 0))){ throw d(62,"Int8x16"); } return %CreateInt8x16((%_ToNumber(C)),(%_ToNumber(D)), (%_ToNumber(E)),(%_ToNumber(F)), (%_ToNumber(G)),(%_ToNumber(H)), (%_ToNumber(I)),(%_ToNumber(J)), (%_ToNumber(c8)),(%_ToNumber(c9)), (%_ToNumber(c10)),(%_ToNumber(c11)), (%_ToNumber(c12)),(%_ToNumber(c13)), (%_ToNumber(c14)),(%_ToNumber(c15))); } function Uint8x16Constructor(C,D,E,F,G,H,I,J,c8,c9,c10,c11, c12,c13,c14,c15){ if(!(new.target===(void 0))){ throw d(62,"Uint8x16"); } return %CreateUint8x16((%_ToNumber(C)),(%_ToNumber(D)), (%_ToNumber(E)),(%_ToNumber(F)), (%_ToNumber(G)),(%_ToNumber(H)), (%_ToNumber(I)),(%_ToNumber(J)), (%_ToNumber(c8)),(%_ToNumber(c9)), (%_ToNumber(c10)),(%_ToNumber(c11)), (%_ToNumber(c12)),(%_ToNumber(c13)), (%_ToNumber(c14)),(%_ToNumber(c15))); } function Bool8x16Constructor(C,D,E,F,G,H,I,J,c8,c9,c10,c11, c12,c13,c14,c15){ if(!(new.target===(void 0))){ throw d(62,"Bool8x16"); } return %CreateBool8x16(C,D,E,F,G,H,I,J,c8,c9,c10,c11,c12, c13,c14,c15); } function Float32x4AbsJS(q){ return %Float32x4Abs(q); } function Float32x4SqrtJS(q){ return %Float32x4Sqrt(q); } function Float32x4RecipApproxJS(q){ return %Float32x4RecipApprox(q); } function Float32x4RecipSqrtApproxJS(q){ return %Float32x4RecipSqrtApprox(q); } function Float32x4DivJS(q,x){ return %Float32x4Div(q,x); } function Float32x4MinNumJS(q,x){ return %Float32x4MinNum(q,x); } function Float32x4MaxNumJS(q,x){ return %Float32x4MaxNum(q,x); } %AddNamedProperty(c,e,'SIMD',1|2); %SetCode(g,Float32x4Constructor); %FunctionSetPrototype(g,{}); %AddNamedProperty(g.prototype,'constructor',g, 2); %AddNamedProperty(g.prototype,e,'Float32x4', 2|1); b.InstallFunctions(g.prototype,2,[ 'toLocaleString',Float32x4ToLocaleString, 'toString',Float32x4ToString, 'valueOf',Float32x4ValueOf, ]); %SetCode(h,Int32x4Constructor); %FunctionSetPrototype(h,{}); %AddNamedProperty(h.prototype,'constructor',h, 2); %AddNamedProperty(h.prototype,e,'Int32x4', 2|1); b.InstallFunctions(h.prototype,2,[ 'toLocaleString',Int32x4ToLocaleString, 'toString',Int32x4ToString, 'valueOf',Int32x4ValueOf, ]); %SetCode(i,Int16x8Constructor); %FunctionSetPrototype(i,{}); %AddNamedProperty(i.prototype,'constructor',i, 2); %AddNamedProperty(i.prototype,e,'Int16x8', 2|1); b.InstallFunctions(i.prototype,2,[ 'toLocaleString',Int16x8ToLocaleString, 'toString',Int16x8ToString, 'valueOf',Int16x8ValueOf, ]); %SetCode(j,Int8x16Constructor); %FunctionSetPrototype(j,{}); %AddNamedProperty(j.prototype,'constructor',j, 2); %AddNamedProperty(j.prototype,e,'Int8x16', 2|1); b.InstallFunctions(j.prototype,2,[ 'toLocaleString',Int8x16ToLocaleString, 'toString',Int8x16ToString, 'valueOf',Int8x16ValueOf, ]); %SetCode(k,Uint32x4Constructor); %FunctionSetPrototype(k,{}); %AddNamedProperty(k.prototype,'constructor',k, 2); %AddNamedProperty(k.prototype,e,'Uint32x4', 2|1); b.InstallFunctions(k.prototype,2,[ 'toLocaleString',Uint32x4ToLocaleString, 'toString',Uint32x4ToString, 'valueOf',Uint32x4ValueOf, ]); %SetCode(l,Uint16x8Constructor); %FunctionSetPrototype(l,{}); %AddNamedProperty(l.prototype,'constructor',l, 2); %AddNamedProperty(l.prototype,e,'Uint16x8', 2|1); b.InstallFunctions(l.prototype,2,[ 'toLocaleString',Uint16x8ToLocaleString, 'toString',Uint16x8ToString, 'valueOf',Uint16x8ValueOf, ]); %SetCode(m,Uint8x16Constructor); %FunctionSetPrototype(m,{}); %AddNamedProperty(m.prototype,'constructor',m, 2); %AddNamedProperty(m.prototype,e,'Uint8x16', 2|1); b.InstallFunctions(m.prototype,2,[ 'toLocaleString',Uint8x16ToLocaleString, 'toString',Uint8x16ToString, 'valueOf',Uint8x16ValueOf, ]); %SetCode(n,Bool32x4Constructor); %FunctionSetPrototype(n,{}); %AddNamedProperty(n.prototype,'constructor',n, 2); %AddNamedProperty(n.prototype,e,'Bool32x4', 2|1); b.InstallFunctions(n.prototype,2,[ 'toLocaleString',Bool32x4ToLocaleString, 'toString',Bool32x4ToString, 'valueOf',Bool32x4ValueOf, ]); %SetCode(o,Bool16x8Constructor); %FunctionSetPrototype(o,{}); %AddNamedProperty(o.prototype,'constructor',o, 2); %AddNamedProperty(o.prototype,e,'Bool16x8', 2|1); b.InstallFunctions(o.prototype,2,[ 'toLocaleString',Bool16x8ToLocaleString, 'toString',Bool16x8ToString, 'valueOf',Bool16x8ValueOf, ]); %SetCode(p,Bool8x16Constructor); %FunctionSetPrototype(p,{}); %AddNamedProperty(p.prototype,'constructor',p, 2); %AddNamedProperty(p.prototype,e,'Bool8x16', 2|1); b.InstallFunctions(p.prototype,2,[ 'toLocaleString',Bool8x16ToLocaleString, 'toString',Bool8x16ToString, 'valueOf',Bool8x16ValueOf, ]); b.InstallFunctions(g,2,[ 'splat',Float32x4Splat, 'check',Float32x4CheckJS, 'extractLane',Float32x4ExtractLaneJS, 'replaceLane',Float32x4ReplaceLaneJS, 'neg',Float32x4NegJS, 'abs',Float32x4AbsJS, 'sqrt',Float32x4SqrtJS, 'reciprocalApproximation',Float32x4RecipApproxJS, 'reciprocalSqrtApproximation',Float32x4RecipSqrtApproxJS, 'add',Float32x4AddJS, 'sub',Float32x4SubJS, 'mul',Float32x4MulJS, 'div',Float32x4DivJS, 'min',Float32x4MinJS, 'max',Float32x4MaxJS, 'minNum',Float32x4MinNumJS, 'maxNum',Float32x4MaxNumJS, 'lessThan',Float32x4LessThanJS, 'lessThanOrEqual',Float32x4LessThanOrEqualJS, 'greaterThan',Float32x4GreaterThanJS, 'greaterThanOrEqual',Float32x4GreaterThanOrEqualJS, 'equal',Float32x4EqualJS, 'notEqual',Float32x4NotEqualJS, 'select',Float32x4SelectJS, 'swizzle',Float32x4SwizzleJS, 'shuffle',Float32x4ShuffleJS, 'fromInt32x4',Float32x4FromInt32x4JS, 'fromUint32x4',Float32x4FromUint32x4JS, 'fromInt32x4Bits',Float32x4FromInt32x4BitsJS, 'fromUint32x4Bits',Float32x4FromUint32x4BitsJS, 'fromInt16x8Bits',Float32x4FromInt16x8BitsJS, 'fromUint16x8Bits',Float32x4FromUint16x8BitsJS, 'fromInt8x16Bits',Float32x4FromInt8x16BitsJS, 'fromUint8x16Bits',Float32x4FromUint8x16BitsJS, 'load',Float32x4LoadJS, 'load1',Float32x4Load1JS, 'load2',Float32x4Load2JS, 'load3',Float32x4Load3JS, 'store',Float32x4StoreJS, 'store1',Float32x4Store1JS, 'store2',Float32x4Store2JS, 'store3',Float32x4Store3JS, ]); b.InstallFunctions(h,2,[ 'splat',Int32x4Splat, 'check',Int32x4CheckJS, 'extractLane',Int32x4ExtractLaneJS, 'replaceLane',Int32x4ReplaceLaneJS, 'neg',Int32x4NegJS, 'add',Int32x4AddJS, 'sub',Int32x4SubJS, 'mul',Int32x4MulJS, 'min',Int32x4MinJS, 'max',Int32x4MaxJS, 'and',Int32x4AndJS, 'or',Int32x4OrJS, 'xor',Int32x4XorJS, 'not',Int32x4NotJS, 'shiftLeftByScalar',Int32x4ShiftLeftByScalarJS, 'shiftRightByScalar',Int32x4ShiftRightByScalarJS, 'lessThan',Int32x4LessThanJS, 'lessThanOrEqual',Int32x4LessThanOrEqualJS, 'greaterThan',Int32x4GreaterThanJS, 'greaterThanOrEqual',Int32x4GreaterThanOrEqualJS, 'equal',Int32x4EqualJS, 'notEqual',Int32x4NotEqualJS, 'select',Int32x4SelectJS, 'swizzle',Int32x4SwizzleJS, 'shuffle',Int32x4ShuffleJS, 'fromFloat32x4',Int32x4FromFloat32x4JS, 'fromUint32x4',Int32x4FromUint32x4JS, 'fromFloat32x4Bits',Int32x4FromFloat32x4BitsJS, 'fromUint32x4Bits',Int32x4FromUint32x4BitsJS, 'fromInt16x8Bits',Int32x4FromInt16x8BitsJS, 'fromUint16x8Bits',Int32x4FromUint16x8BitsJS, 'fromInt8x16Bits',Int32x4FromInt8x16BitsJS, 'fromUint8x16Bits',Int32x4FromUint8x16BitsJS, 'load',Int32x4LoadJS, 'load1',Int32x4Load1JS, 'load2',Int32x4Load2JS, 'load3',Int32x4Load3JS, 'store',Int32x4StoreJS, 'store1',Int32x4Store1JS, 'store2',Int32x4Store2JS, 'store3',Int32x4Store3JS, ]); b.InstallFunctions(k,2,[ 'splat',Uint32x4Splat, 'check',Uint32x4CheckJS, 'extractLane',Uint32x4ExtractLaneJS, 'replaceLane',Uint32x4ReplaceLaneJS, 'add',Uint32x4AddJS, 'sub',Uint32x4SubJS, 'mul',Uint32x4MulJS, 'min',Uint32x4MinJS, 'max',Uint32x4MaxJS, 'and',Uint32x4AndJS, 'or',Uint32x4OrJS, 'xor',Uint32x4XorJS, 'not',Uint32x4NotJS, 'shiftLeftByScalar',Uint32x4ShiftLeftByScalarJS, 'shiftRightByScalar',Uint32x4ShiftRightByScalarJS, 'lessThan',Uint32x4LessThanJS, 'lessThanOrEqual',Uint32x4LessThanOrEqualJS, 'greaterThan',Uint32x4GreaterThanJS, 'greaterThanOrEqual',Uint32x4GreaterThanOrEqualJS, 'equal',Uint32x4EqualJS, 'notEqual',Uint32x4NotEqualJS, 'select',Uint32x4SelectJS, 'swizzle',Uint32x4SwizzleJS, 'shuffle',Uint32x4ShuffleJS, 'fromFloat32x4',Uint32x4FromFloat32x4JS, 'fromInt32x4',Uint32x4FromInt32x4JS, 'fromFloat32x4Bits',Uint32x4FromFloat32x4BitsJS, 'fromInt32x4Bits',Uint32x4FromInt32x4BitsJS, 'fromInt16x8Bits',Uint32x4FromInt16x8BitsJS, 'fromUint16x8Bits',Uint32x4FromUint16x8BitsJS, 'fromInt8x16Bits',Uint32x4FromInt8x16BitsJS, 'fromUint8x16Bits',Uint32x4FromUint8x16BitsJS, 'load',Uint32x4LoadJS, 'load1',Uint32x4Load1JS, 'load2',Uint32x4Load2JS, 'load3',Uint32x4Load3JS, 'store',Uint32x4StoreJS, 'store1',Uint32x4Store1JS, 'store2',Uint32x4Store2JS, 'store3',Uint32x4Store3JS, ]); b.InstallFunctions(n,2,[ 'splat',Bool32x4Splat, 'check',Bool32x4CheckJS, 'extractLane',Bool32x4ExtractLaneJS, 'replaceLane',Bool32x4ReplaceLaneJS, 'and',Bool32x4AndJS, 'or',Bool32x4OrJS, 'xor',Bool32x4XorJS, 'not',Bool32x4NotJS, 'anyTrue',Bool32x4AnyTrueJS, 'allTrue',Bool32x4AllTrueJS, 'swizzle',Bool32x4SwizzleJS, 'shuffle',Bool32x4ShuffleJS, ]); b.InstallFunctions(i,2,[ 'splat',Int16x8Splat, 'check',Int16x8CheckJS, 'extractLane',Int16x8ExtractLaneJS, 'replaceLane',Int16x8ReplaceLaneJS, 'neg',Int16x8NegJS, 'add',Int16x8AddJS, 'sub',Int16x8SubJS, 'addSaturate',Int16x8AddSaturateJS, 'subSaturate',Int16x8SubSaturateJS, 'mul',Int16x8MulJS, 'min',Int16x8MinJS, 'max',Int16x8MaxJS, 'and',Int16x8AndJS, 'or',Int16x8OrJS, 'xor',Int16x8XorJS, 'not',Int16x8NotJS, 'shiftLeftByScalar',Int16x8ShiftLeftByScalarJS, 'shiftRightByScalar',Int16x8ShiftRightByScalarJS, 'lessThan',Int16x8LessThanJS, 'lessThanOrEqual',Int16x8LessThanOrEqualJS, 'greaterThan',Int16x8GreaterThanJS, 'greaterThanOrEqual',Int16x8GreaterThanOrEqualJS, 'equal',Int16x8EqualJS, 'notEqual',Int16x8NotEqualJS, 'select',Int16x8SelectJS, 'swizzle',Int16x8SwizzleJS, 'shuffle',Int16x8ShuffleJS, 'fromUint16x8',Int16x8FromUint16x8JS, 'fromFloat32x4Bits',Int16x8FromFloat32x4BitsJS, 'fromInt32x4Bits',Int16x8FromInt32x4BitsJS, 'fromUint32x4Bits',Int16x8FromUint32x4BitsJS, 'fromUint16x8Bits',Int16x8FromUint16x8BitsJS, 'fromInt8x16Bits',Int16x8FromInt8x16BitsJS, 'fromUint8x16Bits',Int16x8FromUint8x16BitsJS, 'load',Int16x8LoadJS, 'store',Int16x8StoreJS, ]); b.InstallFunctions(l,2,[ 'splat',Uint16x8Splat, 'check',Uint16x8CheckJS, 'extractLane',Uint16x8ExtractLaneJS, 'replaceLane',Uint16x8ReplaceLaneJS, 'add',Uint16x8AddJS, 'sub',Uint16x8SubJS, 'addSaturate',Uint16x8AddSaturateJS, 'subSaturate',Uint16x8SubSaturateJS, 'mul',Uint16x8MulJS, 'min',Uint16x8MinJS, 'max',Uint16x8MaxJS, 'and',Uint16x8AndJS, 'or',Uint16x8OrJS, 'xor',Uint16x8XorJS, 'not',Uint16x8NotJS, 'shiftLeftByScalar',Uint16x8ShiftLeftByScalarJS, 'shiftRightByScalar',Uint16x8ShiftRightByScalarJS, 'lessThan',Uint16x8LessThanJS, 'lessThanOrEqual',Uint16x8LessThanOrEqualJS, 'greaterThan',Uint16x8GreaterThanJS, 'greaterThanOrEqual',Uint16x8GreaterThanOrEqualJS, 'equal',Uint16x8EqualJS, 'notEqual',Uint16x8NotEqualJS, 'select',Uint16x8SelectJS, 'swizzle',Uint16x8SwizzleJS, 'shuffle',Uint16x8ShuffleJS, 'fromInt16x8',Uint16x8FromInt16x8JS, 'fromFloat32x4Bits',Uint16x8FromFloat32x4BitsJS, 'fromInt32x4Bits',Uint16x8FromInt32x4BitsJS, 'fromUint32x4Bits',Uint16x8FromUint32x4BitsJS, 'fromInt16x8Bits',Uint16x8FromInt16x8BitsJS, 'fromInt8x16Bits',Uint16x8FromInt8x16BitsJS, 'fromUint8x16Bits',Uint16x8FromUint8x16BitsJS, 'load',Uint16x8LoadJS, 'store',Uint16x8StoreJS, ]); b.InstallFunctions(o,2,[ 'splat',Bool16x8Splat, 'check',Bool16x8CheckJS, 'extractLane',Bool16x8ExtractLaneJS, 'replaceLane',Bool16x8ReplaceLaneJS, 'and',Bool16x8AndJS, 'or',Bool16x8OrJS, 'xor',Bool16x8XorJS, 'not',Bool16x8NotJS, 'anyTrue',Bool16x8AnyTrueJS, 'allTrue',Bool16x8AllTrueJS, 'swizzle',Bool16x8SwizzleJS, 'shuffle',Bool16x8ShuffleJS, ]); b.InstallFunctions(j,2,[ 'splat',Int8x16Splat, 'check',Int8x16CheckJS, 'extractLane',Int8x16ExtractLaneJS, 'replaceLane',Int8x16ReplaceLaneJS, 'neg',Int8x16NegJS, 'add',Int8x16AddJS, 'sub',Int8x16SubJS, 'addSaturate',Int8x16AddSaturateJS, 'subSaturate',Int8x16SubSaturateJS, 'mul',Int8x16MulJS, 'min',Int8x16MinJS, 'max',Int8x16MaxJS, 'and',Int8x16AndJS, 'or',Int8x16OrJS, 'xor',Int8x16XorJS, 'not',Int8x16NotJS, 'shiftLeftByScalar',Int8x16ShiftLeftByScalarJS, 'shiftRightByScalar',Int8x16ShiftRightByScalarJS, 'lessThan',Int8x16LessThanJS, 'lessThanOrEqual',Int8x16LessThanOrEqualJS, 'greaterThan',Int8x16GreaterThanJS, 'greaterThanOrEqual',Int8x16GreaterThanOrEqualJS, 'equal',Int8x16EqualJS, 'notEqual',Int8x16NotEqualJS, 'select',Int8x16SelectJS, 'swizzle',Int8x16SwizzleJS, 'shuffle',Int8x16ShuffleJS, 'fromUint8x16',Int8x16FromUint8x16JS, 'fromFloat32x4Bits',Int8x16FromFloat32x4BitsJS, 'fromInt32x4Bits',Int8x16FromInt32x4BitsJS, 'fromUint32x4Bits',Int8x16FromUint32x4BitsJS, 'fromInt16x8Bits',Int8x16FromInt16x8BitsJS, 'fromUint16x8Bits',Int8x16FromUint16x8BitsJS, 'fromUint8x16Bits',Int8x16FromUint8x16BitsJS, 'load',Int8x16LoadJS, 'store',Int8x16StoreJS, ]); b.InstallFunctions(m,2,[ 'splat',Uint8x16Splat, 'check',Uint8x16CheckJS, 'extractLane',Uint8x16ExtractLaneJS, 'replaceLane',Uint8x16ReplaceLaneJS, 'add',Uint8x16AddJS, 'sub',Uint8x16SubJS, 'addSaturate',Uint8x16AddSaturateJS, 'subSaturate',Uint8x16SubSaturateJS, 'mul',Uint8x16MulJS, 'min',Uint8x16MinJS, 'max',Uint8x16MaxJS, 'and',Uint8x16AndJS, 'or',Uint8x16OrJS, 'xor',Uint8x16XorJS, 'not',Uint8x16NotJS, 'shiftLeftByScalar',Uint8x16ShiftLeftByScalarJS, 'shiftRightByScalar',Uint8x16ShiftRightByScalarJS, 'lessThan',Uint8x16LessThanJS, 'lessThanOrEqual',Uint8x16LessThanOrEqualJS, 'greaterThan',Uint8x16GreaterThanJS, 'greaterThanOrEqual',Uint8x16GreaterThanOrEqualJS, 'equal',Uint8x16EqualJS, 'notEqual',Uint8x16NotEqualJS, 'select',Uint8x16SelectJS, 'swizzle',Uint8x16SwizzleJS, 'shuffle',Uint8x16ShuffleJS, 'fromInt8x16',Uint8x16FromInt8x16JS, 'fromFloat32x4Bits',Uint8x16FromFloat32x4BitsJS, 'fromInt32x4Bits',Uint8x16FromInt32x4BitsJS, 'fromUint32x4Bits',Uint8x16FromUint32x4BitsJS, 'fromInt16x8Bits',Uint8x16FromInt16x8BitsJS, 'fromUint16x8Bits',Uint8x16FromUint16x8BitsJS, 'fromInt8x16Bits',Uint8x16FromInt8x16BitsJS, 'load',Uint8x16LoadJS, 'store',Uint8x16StoreJS, ]); b.InstallFunctions(p,2,[ 'splat',Bool8x16Splat, 'check',Bool8x16CheckJS, 'extractLane',Bool8x16ExtractLaneJS, 'replaceLane',Bool8x16ReplaceLaneJS, 'and',Bool8x16AndJS, 'or',Bool8x16OrJS, 'xor',Bool8x16XorJS, 'not',Bool8x16NotJS, 'anyTrue',Bool8x16AnyTrueJS, 'allTrue',Bool8x16AllTrueJS, 'swizzle',Bool8x16SwizzleJS, 'shuffle',Bool8x16ShuffleJS, ]); b.Export(function(K){ K.Float32x4ToString=Float32x4ToString; K.Int32x4ToString=Int32x4ToString; K.Uint32x4ToString=Uint32x4ToString; K.Bool32x4ToString=Bool32x4ToString; K.Int16x8ToString=Int16x8ToString; K.Uint16x8ToString=Uint16x8ToString; K.Bool16x8ToString=Bool16x8ToString; K.Int8x16ToString=Int8x16ToString; K.Uint8x16ToString=Uint8x16ToString; K.Bool8x16ToString=Bool8x16ToString; }); }) <harmony-speciesE (function(a,b,c){ "use strict"; %CheckIsBootstrapping(); var d=a.Array; var e=a.Uint8Array.__proto__; var f=a.Map; var g=a.Set; var h=a.ArrayBuffer; var i=a.Promise; var j=a.RegExp; var k=b.ImportNow("species_symbol"); function ArraySpecies(){ return this; } function TypedArraySpecies(){ return this; } function MapSpecies(){ return this; } function SetSpecies(){ return this; } function ArrayBufferSpecies(){ return this; } function PromiseSpecies(){ return this; } function RegExpSpecies(){ return this; } b.InstallGetter(d,k,ArraySpecies,2); b.InstallGetter(e,k,TypedArraySpecies,2); b.InstallGetter(f,k,MapSpecies,2); b.InstallGetter(g,k,SetSpecies,2); b.InstallGetter(h,k,ArrayBufferSpecies, 2); b.InstallGetter(i,k,PromiseSpecies,2); b.InstallGetter(j,k,RegExpSpecies,2); }); \harmony-unicode-regexps? (function(a,b){ 'use strict'; %CheckIsBootstrapping(); var c=a.RegExp; var d=c.prototype; var e; b.Import(function(f){ e=f.MakeTypeError; }); function RegExpGetUnicode(){ if(!(%_IsRegExp(this))){ if(this===d){ %IncrementUseCounter(13); return(void 0); } throw e(131,"RegExp.prototype.unicode"); } return!!(%_RegExpFlags(this)&16); } %FunctionSetName(RegExpGetUnicode,"RegExp.prototype.unicode"); %SetNativeFlag(RegExpGetUnicode); b.InstallGetter(c.prototype,'unicode',RegExpGetUnicode); }) 4promise-extra? (function(a,b){ "use strict"; %CheckIsBootstrapping(); var c=a.Promise; var d=b.ImportNow("PromiseChain"); var e=b.ImportNow("PromiseDeferred"); var f=b.ImportNow("PromiseResolved"); b.InstallFunctions(c.prototype,2,[ "chain",d, ]); b.InstallFunctions(c,2,[ "defer",e, "accept",f, ]); }) XReadableStreamTempStubm (function(global, binding, v8) { 'use strict'; const TypeError = global.TypeError; const defineProperty = global.Object.defineProperty; class ReadableStream { constructor() { throw new TypeError('Illegal constructor'); } getReader() { throw new TypeError('Illegal invocation'); } cancel() { throw new TypeError('Illegal invocation'); } } defineProperty(global, 'ReadableStream', { value: ReadableStream, enumerable: false, configurable: true, writable: true }); }); dByteLengthQueuingStrategy? (function(global, binding, v8) { 'use strict'; const defineProperty = global.Object.defineProperty; class ByteLengthQueuingStrategy { constructor(options) { defineProperty(this, 'highWaterMark', { value: options.highWaterMark, enumerable: true, configurable: true, writable: true }); } size(chunk) { return chunk.byteLength; } } defineProperty(global, 'ByteLengthQueuingStrategy', { value: ByteLengthQueuingStrategy, enumerable: false, configurable: true, writable: true }); }); PCountQueuingStrategyY (function(global, binding, v8) { 'use strict'; const defineProperty = global.Object.defineProperty; class CountQueuingStrategy { constructor(options) { defineProperty(this, 'highWaterMark', { value: options.highWaterMark, enumerable: true, configurable: true, writable: true }); } size(chunk) { return 1; } } defineProperty(global, 'CountQueuingStrategy', { value: CountQueuingStrategy, enumerable: false, configurable: true, writable: true }); }); 8ReadableStreamVg (function(global, binding, v8) { 'use strict'; const readableStreamController = v8.createPrivateSymbol('[[controller]]'); const readableStreamQueue = v8.createPrivateSymbol('[[queue]]'); const readableStreamQueueSize = v8.createPrivateSymbol('[[queue]] total size'); const readableStreamReader = v8.createPrivateSymbol('[[reader]]'); const readableStreamState = v8.createPrivateSymbol('[[state]]'); const readableStreamStoredError = v8.createPrivateSymbol('[[storedError]]'); const readableStreamStrategySize = v8.createPrivateSymbol('[[strategySize]]'); const readableStreamStrategyHWM = v8.createPrivateSymbol('[[strategyHWM]]'); const readableStreamUnderlyingSource = v8.createPrivateSymbol('[[underlyingSource]]'); const readableStreamControllerControlledReadableStream = v8.createPrivateSymbol('[[controlledReadableStream]]'); const readableStreamReaderClosedPromise = v8.createPrivateSymbol('[[closedPromise]]'); const readableStreamReaderOwnerReadableStream = v8.createPrivateSymbol('[[ownerReadableStream]]'); const readableStreamReaderReadRequests = v8.createPrivateSymbol('[[readRequests]]'); const STATE_READABLE = 0; const STATE_CLOSED = 1; const STATE_ERRORED = 2; const readableStreamBits = v8.createPrivateSymbol( 'bit field for [[started]], [[closeRequested]], [[pulling]], [[pullAgain]], [[disturbed]]'); const STARTED = 0b1; const CLOSE_REQUESTED = 0b10; const PULLING = 0b100; const PULL_AGAIN = 0b1000; const DISTURBED = 0b10000; const undefined = global.undefined; const Infinity = global.Infinity; const defineProperty = global.Object.defineProperty; const hasOwnProperty = v8.uncurryThis(global.Object.hasOwnProperty); const callFunction = v8.uncurryThis(global.Function.prototype.call); const TypeError = global.TypeError; const RangeError = global.RangeError; const Number = global.Number; const Number_isNaN = Number.isNaN; const Number_isFinite = Number.isFinite; const Promise = global.Promise; const thenPromise = v8.uncurryThis(Promise.prototype.then); const Promise_resolve = v8.simpleBind(Promise.resolve, Promise); const Promise_reject = v8.simpleBind(Promise.reject, Promise); const errIllegalInvocation = 'Illegal invocation'; const errIllegalConstructor = 'Illegal constructor'; const errCancelLockedStream = 'Cannot cancel a readable stream that is locked to a reader'; const errEnqueueInCloseRequestedStream = 'Cannot enqueue a chunk into a readable stream that is closed or has been requested to be closed'; const errCancelReleasedReader = 'This readable stream reader has been released and cannot be used to cancel its previous owner stream'; const errReadReleasedReader = 'This readable stream reader has been released and cannot be used to read from its previous owner stream'; const errCloseCloseRequestedStream = 'Cannot close a readable stream that has already been requested to be closed'; const errCloseErroredStream = 'Cannot close an errored readable stream'; const errErrorClosedStream = 'Cannot error a close readable stream'; const errErrorErroredStream = 'Cannot error a readable stream that is already errored'; const errReaderConstructorBadArgument = 'ReadableStreamReader constructor argument is not a readable stream'; const errReaderConstructorStreamAlreadyLocked = 'ReadableStreamReader constructor can only accept readable streams that are not yet locked to a reader'; const errReleaseReaderWithPendingRead = 'Cannot release a readable stream reader when it still has outstanding read() calls that have not yet settled'; const errReleasedReaderClosedPromise = 'This readable stream reader has been released and cannot be used to monitor the stream\'s state'; const errInvalidSize = 'The return value of a queuing strategy\'s size function must be a finite, non-NaN, non-negative number'; const errSizeNotAFunction = 'A queuing strategy\'s size property must be a function'; const errInvalidHWM = 'A queueing strategy\'s highWaterMark property must be a nonnegative, non-NaN number'; const errTmplMustBeFunctionOrUndefined = name => `${name} must be a function or undefined`; class ReadableStream { constructor() { const underlyingSource = arguments[0] === undefined ? {} : arguments[0]; const strategy = arguments[1] === undefined ? {} : arguments[1]; const size = strategy.size; let highWaterMark = strategy.highWaterMark; if (highWaterMark === undefined) { highWaterMark = 1; } const normalizedStrategy = ValidateAndNormalizeQueuingStrategy(size, highWaterMark); this[readableStreamUnderlyingSource] = underlyingSource; this[readableStreamQueue] = new v8.InternalPackedArray(); this[readableStreamQueueSize] = 0; this[readableStreamState] = STATE_READABLE; this[readableStreamBits] = 0b0; this[readableStreamReader] = undefined; this[readableStreamStoredError] = undefined; this[readableStreamStrategySize] = normalizedStrategy.size; this[readableStreamStrategyHWM] = normalizedStrategy.highWaterMark; const controller = new ReadableStreamController(this); this[readableStreamController] = controller; const startResult = CallOrNoop( underlyingSource, 'start', controller, 'underlyingSource.start'); thenPromise(Promise_resolve(startResult), () => { this[readableStreamBits] |= STARTED; RequestReadableStreamPull(this); }, r => { if (this[readableStreamState] === STATE_READABLE) { return ErrorReadableStream(this, r); } }); } get locked() { if (IsReadableStream(this) === false) { throw new TypeError(errIllegalInvocation); } return IsReadableStreamLocked(this); } cancel(reason) { if (IsReadableStream(this) === false) { return Promise_reject(new TypeError(errIllegalInvocation)); } if (IsReadableStreamLocked(this) === true) { return Promise_reject(new TypeError(errCancelLockedStream)); } return CancelReadableStream(this, reason); } getReader() { if (IsReadableStream(this) === false) { throw new TypeError(errIllegalInvocation); } return AcquireReadableStreamReader(this); } tee() { if (IsReadableStream(this) === false) { throw new TypeError(errIllegalInvocation); } return TeeReadableStream(this); } } class ReadableStreamController { constructor(stream) { if (IsReadableStream(stream) === false) { throw new TypeError(errIllegalConstructor); } if (stream[readableStreamController] !== undefined) { throw new TypeError(errIllegalConstructor); } this[readableStreamControllerControlledReadableStream] = stream; } get desiredSize() { if (IsReadableStreamController(this) === false) { throw new TypeError(errIllegalInvocation); } return GetReadableStreamDesiredSize( this[readableStreamControllerControlledReadableStream]); } close() { if (IsReadableStreamController(this) === false) { throw new TypeError(errIllegalInvocation); } const stream = this[readableStreamControllerControlledReadableStream]; if (stream[readableStreamBits] & CLOSE_REQUESTED) { throw new TypeError(errCloseCloseRequestedStream); } if (stream[readableStreamState] === STATE_ERRORED) { throw new TypeError(errCloseErroredStream); } return CloseReadableStream(stream); } enqueue(chunk) { if (IsReadableStreamController(this) === false) { throw new TypeError(errIllegalInvocation); } const stream = this[readableStreamControllerControlledReadableStream]; if (stream[readableStreamState] === STATE_ERRORED) { throw stream[readableStreamStoredError]; } if (stream[readableStreamBits] & CLOSE_REQUESTED) { throw new TypeError(errEnqueueInCloseRequestedStream); } return EnqueueInReadableStream(stream, chunk); } error(e) { if (IsReadableStreamController(this) === false) { throw new TypeError(errIllegalInvocation); } const stream = this[readableStreamControllerControlledReadableStream]; const state = stream[readableStreamState]; if (state !== STATE_READABLE) { if (state === STATE_ERRORED) { throw new TypeError(errErrorErroredStream); } if (state === STATE_CLOSED) { throw new TypeError(errErrorClosedStream); } } return ErrorReadableStream(stream, e); } } class ReadableStreamReader { constructor(stream) { if (IsReadableStream(stream) === false) { throw new TypeError(errReaderConstructorBadArgument); } if (IsReadableStreamLocked(stream) === true) { throw new TypeError(errReaderConstructorStreamAlreadyLocked); } this[readableStreamReaderOwnerReadableStream] = stream; stream[readableStreamReader] = this; this[readableStreamReaderReadRequests] = new v8.InternalPackedArray(); switch (stream[readableStreamState]) { case STATE_READABLE: this[readableStreamReaderClosedPromise] = v8.createPromise(); break; case STATE_CLOSED: this[readableStreamReaderClosedPromise] = Promise_resolve(undefined); break; case STATE_ERRORED: this[readableStreamReaderClosedPromise] = Promise_reject(stream[readableStreamStoredError]); break; } } get closed() { if (IsReadableStreamReader(this) === false) { return Promise_reject(new TypeError(errIllegalInvocation)); } return this[readableStreamReaderClosedPromise]; } cancel(reason) { if (IsReadableStreamReader(this) === false) { return Promise_reject(new TypeError(errIllegalInvocation)); } const stream = this[readableStreamReaderOwnerReadableStream]; if (stream === undefined) { return Promise_reject(new TypeError(errCancelReleasedReader)); } return CancelReadableStream(stream, reason); } read() { if (IsReadableStreamReader(this) === false) { return Promise_reject(new TypeError(errIllegalInvocation)); } if (this[readableStreamReaderOwnerReadableStream] === undefined) { return Promise_reject(new TypeError(errReadReleasedReader)); } return ReadFromReadableStreamReader(this); } releaseLock() { if (IsReadableStreamReader(this) === false) { throw new TypeError(errIllegalInvocation); } const stream = this[readableStreamReaderOwnerReadableStream]; if (stream === undefined) { return undefined; } if (this[readableStreamReaderReadRequests].length > 0) { throw new TypeError(errReleaseReaderWithPendingRead); } if (stream[readableStreamState] === STATE_READABLE) { v8.rejectPromise(this[readableStreamReaderClosedPromise], new TypeError(errReleasedReaderClosedPromise)); } else { this[readableStreamReaderClosedPromise] = Promise_reject(new TypeError( errReleasedReaderClosedPromise)); } this[readableStreamReaderOwnerReadableStream][readableStreamReader] = undefined; this[readableStreamReaderOwnerReadableStream] = undefined; } } function AcquireReadableStreamReader(stream) { return new ReadableStreamReader(stream); } function CancelReadableStream(stream, reason) { stream[readableStreamBits] |= DISTURBED; const state = stream[readableStreamState]; if (state === STATE_CLOSED) { return Promise_resolve(undefined); } if (state === STATE_ERRORED) { return Promise_reject(stream[readableStreamStoredError]); } stream[readableStreamQueue] = new v8.InternalPackedArray(); FinishClosingReadableStream(stream); const underlyingSource = stream[readableStreamUnderlyingSource]; const sourceCancelPromise = PromiseCallOrNoop( underlyingSource, 'cancel', reason, 'underlyingSource.cancel'); return thenPromise(sourceCancelPromise, () => undefined); } function CloseReadableStream(stream) { if (stream[readableStreamState] === STATE_CLOSED) { return undefined; } stream[readableStreamBits] |= CLOSE_REQUESTED; if (stream[readableStreamQueue].length === 0) { return FinishClosingReadableStream(stream); } } function EnqueueInReadableStream(stream, chunk) { if (stream[readableStreamState] === STATE_CLOSED) { return undefined; } if (IsReadableStreamLocked(stream) === true && stream[readableStreamReader][readableStreamReaderReadRequests].length > 0) { const readRequest = stream[readableStreamReader][readableStreamReaderReadRequests] .shift(); v8.resolvePromise(readRequest, CreateIterResultObject(chunk, false)); } else { let chunkSize = 1; const strategySize = stream[readableStreamStrategySize]; if (strategySize !== undefined) { try { chunkSize = strategySize(chunk); } catch (chunkSizeE) { if (stream[readableStreamState] === STATE_READABLE) { ErrorReadableStream(stream, chunkSizeE); } throw chunkSizeE; } } try { EnqueueValueWithSize(stream, chunk, chunkSize); } catch (enqueueE) { if (stream[readableStreamState] === STATE_READABLE) { ErrorReadableStream(stream, enqueueE); } throw enqueueE; } } RequestReadableStreamPull(stream); } function ErrorReadableStream(stream, e) { stream[readableStreamQueue] = new v8.InternalPackedArray(); stream[readableStreamStoredError] = e; stream[readableStreamState] = STATE_ERRORED; const reader = stream[readableStreamReader]; if (reader === undefined) { return undefined; } const readRequests = reader[readableStreamReaderReadRequests]; for (let i = 0; i < readRequests.length; ++i) { v8.rejectPromise(readRequests[i], e); } reader[readableStreamReaderReadRequests] = new v8.InternalPackedArray(); v8.rejectPromise(reader[readableStreamReaderClosedPromise], e); } function FinishClosingReadableStream(stream) { stream[readableStreamState] = STATE_CLOSED; const reader = stream[readableStreamReader]; if (reader === undefined) { return undefined; } const readRequests = reader[readableStreamReaderReadRequests]; for (let i = 0; i < readRequests.length; ++i) { v8.resolvePromise( readRequests[i], CreateIterResultObject(undefined, true)); } reader[readableStreamReaderReadRequests] = new v8.InternalPackedArray(); v8.resolvePromise(reader[readableStreamReaderClosedPromise], undefined); } function GetReadableStreamDesiredSize(stream) { const queueSize = GetTotalQueueSize(stream); return stream[readableStreamStrategyHWM] - queueSize; } function IsReadableStream(x) { return hasOwnProperty(x, readableStreamUnderlyingSource); } function IsReadableStreamDisturbed(stream) { return stream[readableStreamBits] & DISTURBED; } function IsReadableStreamLocked(stream) { return stream[readableStreamReader] !== undefined; } function IsReadableStreamController(x) { return hasOwnProperty(x, readableStreamControllerControlledReadableStream); } function IsReadableStreamReader(x) { return hasOwnProperty(x, readableStreamReaderOwnerReadableStream); } function ReadFromReadableStreamReader(reader) { const stream = reader[readableStreamReaderOwnerReadableStream]; stream[readableStreamBits] |= DISTURBED; if (stream[readableStreamState] === STATE_CLOSED) { return Promise_resolve(CreateIterResultObject(undefined, true)); } if (stream[readableStreamState] === STATE_ERRORED) { return Promise_reject(stream[readableStreamStoredError]); } const queue = stream[readableStreamQueue]; if (queue.length > 0) { const chunk = DequeueValue(stream); if (stream[readableStreamBits] & CLOSE_REQUESTED && queue.length === 0) { FinishClosingReadableStream(stream); } else { RequestReadableStreamPull(stream); } return Promise_resolve(CreateIterResultObject(chunk, false)); } else { const readRequest = v8.createPromise(); reader[readableStreamReaderReadRequests].push(readRequest); RequestReadableStreamPull(stream); return readRequest; } } function RequestReadableStreamPull(stream) { const shouldPull = ShouldReadableStreamPull(stream); if (shouldPull === false) { return undefined; } if (stream[readableStreamBits] & PULLING) { stream[readableStreamBits] |= PULL_AGAIN; return undefined; } stream[readableStreamBits] |= PULLING; const underlyingSource = stream[readableStreamUnderlyingSource]; const controller = stream[readableStreamController]; const pullPromise = PromiseCallOrNoop( underlyingSource, 'pull', controller, 'underlyingSource.pull'); thenPromise(pullPromise, () => { stream[readableStreamBits] &= ~PULLING; if (stream[readableStreamBits] & PULL_AGAIN) { stream[readableStreamBits] &= ~PULL_AGAIN; return RequestReadableStreamPull(stream); } }, e => { if (stream[readableStreamState] === STATE_READABLE) { return ErrorReadableStream(stream, e); } }); } function ShouldReadableStreamPull(stream) { const state = stream[readableStreamState]; if (state === STATE_CLOSED || state === STATE_ERRORED) { return false; } if (stream[readableStreamBits] & CLOSE_REQUESTED) { return false; } if (!(stream[readableStreamBits] & STARTED)) { return false; } if (IsReadableStreamLocked(stream) === true) { const reader = stream[readableStreamReader]; const readRequests = reader[readableStreamReaderReadRequests]; if (readRequests.length > 0) { return true; } } const desiredSize = GetReadableStreamDesiredSize(stream); if (desiredSize > 0) { return true; } return false; } function TeeReadableStream(stream) { const reader = AcquireReadableStreamReader(stream); let closedOrErrored = false; let canceled1 = false; let canceled2 = false; let reason1; let reason2; let promise = v8.createPromise(); const branch1 = new ReadableStream({pull, cancel: cancel1}); const branch2 = new ReadableStream({pull, cancel: cancel2}); thenPromise( reader[readableStreamReaderClosedPromise], undefined, function(r) { if (closedOrErrored === true) { return; } ErrorReadableStream(branch1, r); ErrorReadableStream(branch2, r); closedOrErrored = true; }); return [branch1, branch2]; function pull() { return thenPromise( ReadFromReadableStreamReader(reader), function(result) { const value = result.value; const done = result.done; if (done === true && closedOrErrored === false) { CloseReadableStream(branch1); CloseReadableStream(branch2); closedOrErrored = true; } if (closedOrErrored === true) { return; } if (canceled1 === false) { EnqueueInReadableStream(branch1, value); } if (canceled2 === false) { EnqueueInReadableStream(branch2, value); } }); } function cancel1(reason) { canceled1 = true; reason1 = reason; if (canceled2 === true) { const compositeReason = [reason1, reason2]; const cancelResult = CancelReadableStream(stream, compositeReason); v8.resolvePromise(promise, cancelResult); } return promise; } function cancel2(reason) { canceled2 = true; reason2 = reason; if (canceled1 === true) { const compositeReason = [reason1, reason2]; const cancelResult = CancelReadableStream(stream, compositeReason); v8.resolvePromise(promise, cancelResult); } return promise; } } function DequeueValue(stream) { const result = stream[readableStreamQueue].shift(); stream[readableStreamQueueSize] -= result.size; return result.value; } function EnqueueValueWithSize(stream, value, size) { size = Number(size); if (Number_isNaN(size) || size === +Infinity || size < 0) { throw new RangeError(errInvalidSize); } stream[readableStreamQueueSize] += size; stream[readableStreamQueue].push({value, size}); } function GetTotalQueueSize(stream) { return stream[readableStreamQueueSize]; } function ValidateAndNormalizeQueuingStrategy(size, highWaterMark) { if (size !== undefined && typeof size !== 'function') { throw new TypeError(errSizeNotAFunction); } highWaterMark = Number(highWaterMark); if (Number_isNaN(highWaterMark)) { throw new TypeError(errInvalidHWM); } if (highWaterMark < 0) { throw new RangeError(errInvalidHWM); } return {size, highWaterMark}; } function CallOrNoop(O, P, arg, nameForError) { const method = O[P]; if (method === undefined) { return undefined; } if (typeof method !== 'function') { throw new TypeError(errTmplMustBeFunctionOrUndefined(nameForError)); } return callFunction(method, O, arg); } function PromiseCallOrNoop(O, P, arg, nameForError) { let method; try { method = O[P]; } catch (methodE) { return Promise_reject(methodE); } if (method === undefined) { return Promise_resolve(undefined); } if (typeof method !== 'function') { return Promise_reject(errTmplMustBeFunctionOrUndefined(nameForError)); } try { return Promise_resolve(callFunction(method, O, arg)); } catch (e) { return Promise_reject(e); } } function CreateIterResultObject(value, done) { return {value, done}; } defineProperty(global, 'ReadableStream', { value: ReadableStream, enumerable: false, configurable: true, writable: true }); binding.AcquireReadableStreamReader = AcquireReadableStreamReader; binding.IsReadableStream = IsReadableStream; binding.IsReadableStreamDisturbed = IsReadableStreamDisturbed; binding.IsReadableStreamLocked = IsReadableStreamLocked; binding.IsReadableStreamReader = IsReadableStreamReader; binding.ReadFromReadableStreamReader = ReadFromReadableStreamReader; });
Ms-Dos/Windows
Unix
Write backup
jsp File Browser version 1.2 by
www.vonloesch.de